diff --git a/examples/apfel/assets/index-j3Xo2aFl.js b/examples/apfel/assets/index-7Ne-LQh2.js similarity index 71% rename from examples/apfel/assets/index-j3Xo2aFl.js rename to examples/apfel/assets/index-7Ne-LQh2.js index de95aea7..87620a3a 100644 --- a/examples/apfel/assets/index-j3Xo2aFl.js +++ b/examples/apfel/assets/index-7Ne-LQh2.js @@ -1,4 +1,4 @@ -(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 MC(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var W_={exports:{}},Rg={},Y_={exports:{}},Jt={};/** +(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 MC(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Y_={exports:{}},Rg={},J_={exports:{}},Jt={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Gh=Symbol.for("react.element"),pb=Symbol.for("react.portal"),gb=Symbol.for("react.fragment"),mb=Symbol.for("react.strict_mode"),Eb=Symbol.for("react.profiler"),Ib=Symbol.for("react.provider"),yb=Symbol.for("react.context"),Cb=Symbol.for("react.forward_ref"),vb=Symbol.for("react.suspense"),Bb=Symbol.for("react.memo"),xb=Symbol.for("react.lazy"),n1=Symbol.iterator;function Sb(n){return n===null||typeof n!="object"?null:(n=n1&&n[n1]||n["@@iterator"],typeof n=="function"?n:null)}var J_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},X_=Object.assign,K_={};function _u(n,e,t){this.props=n,this.context=e,this.refs=K_,this.updater=t||J_}_u.prototype.isReactComponent={};_u.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")};_u.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function j_(){}j_.prototype=_u.prototype;function RC(n,e,t){this.props=n,this.context=e,this.refs=K_,this.updater=t||J_}var DC=RC.prototype=new j_;DC.constructor=RC;X_(DC,_u.prototype);DC.isPureReactComponent=!0;var i1=Array.isArray,q_=Object.prototype.hasOwnProperty,TC={current:null},Z_={key:!0,ref:!0,__self:!0,__source:!0};function $_(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)q_.call(e,i)&&!Z_.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,_e=F[Ae];if(0>>1;Aer(z,ne))G<_e&&0>r(N,z)?(F[Ae]=N,F[G]=ne,Ae=G):(F[Ae]=z,F[W]=ne,Ae=W);else if(G<_e&&0>r(N,ne))F[Ae]=N,F[G]=ne,Ae=G;else break e}}return Z}function r(F,Z){var ne=F.sortIndex-Z.sortIndex;return ne!==0?ne:F.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,v=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(F){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=F)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(F){if(C=!1,y(F),!E)if(t(l)!==null)E=!0,se(M);else{var Z=t(A);Z!==null&&fe(S,Z.startTime-F)}}function M(F,Z){E=!1,C&&(C=!1,p(k),k=-1),g=!0;var ne=f;try{for(y(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||F&&!L());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),y(Z)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var W=t(A);W!==null&&fe(S,W.startTime-Z),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var R=!1,D=null,k=-1,X=5,_=-1;function L(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(C?(p(k),k=-1):C=!0,fe(S,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,se(M))),F},n.unstable_shouldYield=L,n.unstable_wrapCallback=function(F){var Z=f;return function(){var ne=f;f=Z;try{return F.apply(this,arguments)}finally{f=ne}}}})(iQ);nQ.exports=iQ;var Nb=nQ.exports;/** + */(function(n){function e(F,Z){var ne=F.length;F.push(Z);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))G<_e&&0>r(N,z)?(F[Ae]=N,F[G]=ne,Ae=G):(F[Ae]=z,F[W]=ne,Ae=W);else if(G<_e&&0>r(N,ne))F[Ae]=N,F[G]=ne,Ae=G;else break e}}return Z}function r(F,Z){var ne=F.sortIndex-Z.sortIndex;return ne!==0?ne:F.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(F){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=F)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(F){if(C=!1,v(F),!E)if(t(l)!==null)E=!0,re(M);else{var Z=t(A);Z!==null&&fe(S,Z.startTime-F)}}function M(F,Z){E=!1,C&&(C=!1,p(k),k=-1),g=!0;var ne=f;try{for(v(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||F&&!L());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),v(Z)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var W=t(A);W!==null&&fe(S,W.startTime-Z),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var R=!1,D=null,k=-1,X=5,_=-1;function L(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(C?(p(k),k=-1):C=!0,fe(S,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,re(M))),F},n.unstable_shouldYield=L,n.unstable_wrapCallback=function(F){var Z=f;return function(){var ne=f;f=Z;try{return F.apply(this,arguments)}finally{f=ne}}}})(rQ);iQ.exports=rQ;var Ub=iQ.exports;/** * @license React * react-dom.production.min.js * @@ -30,22 +30,22 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var rQ=$,Er=Nb;function Oe(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"),LI=Object.prototype.hasOwnProperty,Ub=/^[: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]*$/,s1={},o1={};function kb(n){return LI.call(o1,n)?!0:LI.call(s1,n)?!1:Ub.test(n)?o1[n]=!0:(s1[n]=!0,!1)}function Fb(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 Ob(n,e,t,i){if(e===null||typeof e>"u"||Fb(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 Yi(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 Ei={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Ei[n]=new Yi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Ei[e]=new Yi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Ei[n]=new Yi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Ei[n]=new Yi(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){Ei[n]=new Yi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Ei[n]=new Yi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Ei[n]=new Yi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Ei[n]=new Yi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Ei[n]=new Yi(n,5,!1,n.toLowerCase(),null,!1,!1)});var PC=/[\-:]([a-z])/g;function NC(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(PC,NC);Ei[e]=new Yi(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(PC,NC);Ei[e]=new Yi(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(PC,NC);Ei[e]=new Yi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Ei[n]=new Yi(n,1,!1,n.toLowerCase(),null,!1,!1)});Ei.xlinkHref=new Yi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Ei[n]=new Yi(n,1,!1,n.toLowerCase(),null,!0,!0)});function UC(n,e,t,i){var r=Ei.hasOwnProperty(e)?Ei[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),LI=Object.prototype.hasOwnProperty,kb=/^[: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]*$/,o1={},a1={};function Fb(n){return LI.call(a1,n)?!0:LI.call(o1,n)?!1:kb.test(n)?a1[n]=!0:(o1[n]=!0,!1)}function Ob(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 Gb(n,e,t,i){if(e===null||typeof e>"u"||Ob(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 Yi(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 Ei={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Ei[n]=new Yi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Ei[e]=new Yi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Ei[n]=new Yi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Ei[n]=new Yi(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){Ei[n]=new Yi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Ei[n]=new Yi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Ei[n]=new Yi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Ei[n]=new Yi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Ei[n]=new Yi(n,5,!1,n.toLowerCase(),null,!1,!1)});var PC=/[\-:]([a-z])/g;function NC(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(PC,NC);Ei[e]=new Yi(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(PC,NC);Ei[e]=new Yi(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(PC,NC);Ei[e]=new Yi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Ei[n]=new Yi(n,1,!1,n.toLowerCase(),null,!1,!1)});Ei.xlinkHref=new Yi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Ei[n]=new Yi(n,1,!1,n.toLowerCase(),null,!0,!0)});function UC(n,e,t,i){var r=Ei.hasOwnProperty(e)?Ei[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{z0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?TA(n):""}function Gb(n){switch(n.tag){case 5:return TA(n.type);case 16:return TA("Lazy");case 13:return TA("Suspense");case 19:return TA("SuspenseList");case 0:case 2:case 15:return n=V0(n.type,!1),n;case 11:return n=V0(n.type.render,!1),n;case 1:return n=V0(n.type,!0),n;default:return""}}function kI(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 Yc:return"Fragment";case Wc:return"Portal";case PI:return"Profiler";case kC:return"StrictMode";case NI:return"Suspense";case UI:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case aQ:return(n.displayName||"Context")+".Consumer";case oQ:return(n._context.displayName||"Context")+".Provider";case FC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case OC:return e=n.displayName||null,e!==null?e:kI(n.type)||"Memo";case ta:e=n._payload,n=n._init;try{return kI(n(e))}catch{}}return null}function Hb(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 kI(e);case 8:return e===kC?"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 Ba(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function cQ(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function zb(n){var e=cQ(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 nf(n){n._valueTracker||(n._valueTracker=zb(n))}function uQ(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=cQ(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function jp(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 FI(n,e){var t=e.checked;return Rn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function l1(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Ba(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 AQ(n,e){e=e.checked,e!=null&&UC(n,"checked",e,!1)}function OI(n,e){AQ(n,e);var t=Ba(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")?GI(n,e.type,t):e.hasOwnProperty("defaultValue")&&GI(n,e.type,Ba(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function c1(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 GI(n,e,t){(e!=="number"||jp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var bA=Array.isArray;function lu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=rf.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function eh(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var kA={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},Vb=["Webkit","ms","Moz","O"];Object.keys(kA).forEach(function(n){Vb.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),kA[e]=kA[n]})});function pQ(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||kA.hasOwnProperty(n)&&kA[n]?(""+e).trim():e+"px"}function gQ(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=pQ(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var Wb=Rn({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 VI(n,e){if(e){if(Wb[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function WI(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 YI=null;function GC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var JI=null,cu=null,uu=null;function h1(n){if(n=Vh(n)){if(typeof JI!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=Pg(e),JI(n.stateNode,n.type,e))}}function mQ(n){cu?uu?uu.push(n):uu=[n]:cu=n}function EQ(){if(cu){var n=cu,e=uu;if(uu=cu=null,h1(n),e)for(n=0;n>>=0,n===0?32:31-(nL(n)/iL|0)|0}var sf=64,of=4194304;function LA(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 eg(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=LA(a):(s&=o,s!==0&&(i=LA(s)))}else o=t&~r,o!==0?i=LA(o):s!==0&&(i=LA(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 Hh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-is(e),n[e]=t}function aL(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=OA),C1=" ",v1=!1;function kQ(n,e){switch(n){case"keyup":return PL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function FQ(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Jc=!1;function UL(n,e){switch(n){case"compositionend":return FQ(e);case"keypress":return e.which!==32?null:(v1=!0,C1);case"textInput":return n=e.data,n===C1&&v1?null:n;default:return null}}function kL(n,e){if(Jc)return n==="compositionend"||!KC&&kQ(n,e)?(n=NQ(),Rp=YC=oa=null,Jc=!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=w1(t)}}function zQ(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?zQ(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function VQ(){for(var n=window,e=jp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=jp(n.document)}return e}function jC(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 JL(n){var e=VQ(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&zQ(t.ownerDocument.documentElement,t)){if(i!==null&&jC(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=_1(t,s);var o=_1(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,Xc=null,$I=null,HA=null,ey=!1;function Q1(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;ey||Xc==null||Xc!==jp(i)||(i=Xc,"selectionStart"in i&&jC(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}),HA&&oh(HA,i)||(HA=i,i=ig($I,"onSelect"),0qc||(n.current=oy[qc],oy[qc]=null,qc--)}function gn(n,e){qc++,oy[qc]=n.current,n.current=e}var xa={},Ti=Qa(xa),tr=Qa(!1),Tl=xa;function Eu(n,e){var t=n.type.contextTypes;if(!t)return xa;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 nr(n){return n=n.childContextTypes,n!=null}function sg(){vn(tr),vn(Ti)}function P1(n,e,t){if(Ti.current!==xa)throw Error(Oe(168));gn(Ti,e),gn(tr,t)}function $Q(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(Oe(108,Hb(n)||"Unknown",r));return Rn({},t,i)}function og(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||xa,Tl=Ti.current,gn(Ti,n),gn(tr,tr.current),!0}function N1(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=$Q(n,e,Tl),i.__reactInternalMemoizedMergedChildContext=n,vn(tr),vn(Ti),gn(Ti,n)):vn(tr),gn(tr,t)}var no=null,Ng=!1,rE=!1;function eM(n){no===null?no=[n]:no.push(n)}function s3(n){Ng=!0,eM(n)}function Ma(){if(!rE&&no!==null){rE=!0;var n=0,e=hn;try{var t=no;for(hn=1;n>=o,r-=o,so=1<<32-is(e)+r|t<k?(X=D,D=null):X=D.sibling;var _=f(p,D,y[k],S);if(_===null){D===null&&(D=X);break}n&&D&&_.alternate===null&&e(p,D),v=s(_,v,k),R===null?M=_:R.sibling=_,R=_,D=X}if(k===y.length)return t(p,D),xn&&cl(p,k),M;if(D===null){for(;kk?(X=D,D=null):X=D.sibling;var L=f(p,D,_.value,S);if(L===null){D===null&&(D=X);break}n&&D&&L.alternate===null&&e(p,D),v=s(L,v,k),R===null?M=L:R.sibling=L,R=L,D=X}if(_.done)return t(p,D),xn&&cl(p,k),M;if(D===null){for(;!_.done;k++,_=y.next())_=d(p,_.value,S),_!==null&&(v=s(_,v,k),R===null?M=_:R.sibling=_,R=_);return xn&&cl(p,k),M}for(D=i(p,D);!_.done;k++,_=y.next())_=g(D,p,k,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?k:_.key),v=s(_,v,k),R===null?M=_:R.sibling=_,R=_);return n&&D.forEach(function(q){return e(p,q)}),xn&&cl(p,k),M}function I(p,v,y,S){if(typeof y=="object"&&y!==null&&y.type===Yc&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case tf:e:{for(var M=y.key,R=v;R!==null;){if(R.key===M){if(M=y.type,M===Yc){if(R.tag===7){t(p,R.sibling),v=r(R,y.props.children),v.return=p,p=v;break e}}else if(R.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===ta&&z1(M)===R.type){t(p,R.sibling),v=r(R,y.props),v.ref=dA(p,R,y),v.return=p,p=v;break e}t(p,R);break}else e(p,R);R=R.sibling}y.type===Yc?(v=xl(y.props.children,p.mode,S,y.key),v.return=p,p=v):(S=kp(y.type,y.key,y.props,null,p.mode,S),S.ref=dA(p,v,y),S.return=p,p=S)}return o(p);case Wc:e:{for(R=y.key;v!==null;){if(v.key===R)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){t(p,v.sibling),v=r(v,y.children||[]),v.return=p,p=v;break e}else{t(p,v);break}else e(p,v);v=v.sibling}v=hE(y,p.mode,S),v.return=p,p=v}return o(p);case ta:return R=y._init,I(p,v,R(y._payload),S)}if(bA(y))return E(p,v,y,S);if(lA(y))return C(p,v,y,S);df(p,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(t(p,v.sibling),v=r(v,y),v.return=p,p=v):(t(p,v),v=AE(y,p.mode,S),v.return=p,p=v),o(p)):t(p,v)}return I}var yu=lM(!0),cM=lM(!1),Wh={},Ds=Qa(Wh),uh=Qa(Wh),Ah=Qa(Wh);function ml(n){if(n===Wh)throw Error(Oe(174));return n}function sv(n,e){switch(gn(Ah,e),gn(uh,n),gn(Ds,Wh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:zI(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=zI(e,n)}vn(Ds),gn(Ds,e)}function Cu(){vn(Ds),vn(uh),vn(Ah)}function uM(n){ml(Ah.current);var e=ml(Ds.current),t=zI(e,n.type);e!==t&&(gn(uh,n),gn(Ds,t))}function ov(n){uh.current===n&&(vn(Ds),vn(uh))}var _n=Qa(0);function hg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var sE=[];function av(){for(var n=0;nt?t:4,n(!0);var i=oE.transition;oE.transition={};try{n(!1),e()}finally{hn=t,oE.transition=i}}function wM(){return Gr().memoizedState}function c3(n,e,t){var i=pa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},_M(n))QM(e,t);else if(t=rM(n,e,t,i),t!==null){var r=zi();rs(t,n,i,r),MM(t,e,i)}}function u3(n,e,t){var i=pa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(_M(n))QM(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,os(a,o)){var l=e.interleaved;l===null?(r.next=r,iv(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=rM(n,e,r,i),t!==null&&(r=zi(),rs(t,n,i,r),MM(t,e,i))}}function _M(n){var e=n.alternate;return n===Mn||e!==null&&e===Mn}function QM(n,e){zA=dg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function MM(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,zC(n,t)}}var fg={readContext:Or,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},A3={readContext:Or,useCallback:function(n,e){return vs().memoizedState=[n,e===void 0?null:e],n},useContext:Or,useEffect:W1,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Lp(4194308,4,CM.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Lp(4194308,4,n,e)},useInsertionEffect:function(n,e){return Lp(4,2,n,e)},useMemo:function(n,e){var t=vs();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=vs();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=c3.bind(null,Mn,n),[i.memoizedState,n]},useRef:function(n){var e=vs();return n={current:n},e.memoizedState=n},useState:V1,useDebugValue:hv,useDeferredValue:function(n){return vs().memoizedState=n},useTransition:function(){var n=V1(!1),e=n[0];return n=l3.bind(null,n[1]),vs().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Mn,r=vs();if(xn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),ui===null)throw Error(Oe(349));Ll&30||dM(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,W1(pM.bind(null,i,s,n),[n]),i.flags|=2048,fh(9,fM.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=vs(),e=ui.identifierPrefix;if(xn){var t=oo,i=so;t=(i&~(1<<32-is(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=hh++,0")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{z0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?TA(n):""}function Hb(n){switch(n.tag){case 5:return TA(n.type);case 16:return TA("Lazy");case 13:return TA("Suspense");case 19:return TA("SuspenseList");case 0:case 2:case 15:return n=V0(n.type,!1),n;case 11:return n=V0(n.type.render,!1),n;case 1:return n=V0(n.type,!0),n;default:return""}}function kI(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 Yc:return"Fragment";case Wc:return"Portal";case PI:return"Profiler";case kC:return"StrictMode";case NI:return"Suspense";case UI:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case lQ:return(n.displayName||"Context")+".Consumer";case aQ:return(n._context.displayName||"Context")+".Provider";case FC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case OC:return e=n.displayName||null,e!==null?e:kI(n.type)||"Memo";case ta:e=n._payload,n=n._init;try{return kI(n(e))}catch{}}return null}function zb(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 kI(e);case 8:return e===kC?"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 Ba(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function uQ(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Vb(n){var e=uQ(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 nf(n){n._valueTracker||(n._valueTracker=Vb(n))}function AQ(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=uQ(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function jp(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 FI(n,e){var t=e.checked;return Rn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function c1(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Ba(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 hQ(n,e){e=e.checked,e!=null&&UC(n,"checked",e,!1)}function OI(n,e){hQ(n,e);var t=Ba(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")?GI(n,e.type,t):e.hasOwnProperty("defaultValue")&&GI(n,e.type,Ba(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function u1(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 GI(n,e,t){(e!=="number"||jp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var bA=Array.isArray;function lu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=rf.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function eh(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var kA={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},Wb=["Webkit","ms","Moz","O"];Object.keys(kA).forEach(function(n){Wb.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),kA[e]=kA[n]})});function gQ(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||kA.hasOwnProperty(n)&&kA[n]?(""+e).trim():e+"px"}function mQ(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=gQ(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var Yb=Rn({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 VI(n,e){if(e){if(Yb[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function WI(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 YI=null;function GC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var JI=null,cu=null,uu=null;function d1(n){if(n=Vh(n)){if(typeof JI!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=Pg(e),JI(n.stateNode,n.type,e))}}function EQ(n){cu?uu?uu.push(n):uu=[n]:cu=n}function IQ(){if(cu){var n=cu,e=uu;if(uu=cu=null,d1(n),e)for(n=0;n>>=0,n===0?32:31-(iL(n)/rL|0)|0}var sf=64,of=4194304;function LA(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 eg(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=LA(a):(s&=o,s!==0&&(i=LA(s)))}else o=t&~r,o!==0?i=LA(o):s!==0&&(i=LA(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 Hh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-is(e),n[e]=t}function lL(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=OA),v1=" ",B1=!1;function FQ(n,e){switch(n){case"keyup":return NL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function OQ(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Jc=!1;function kL(n,e){switch(n){case"compositionend":return OQ(e);case"keypress":return e.which!==32?null:(B1=!0,v1);case"textInput":return n=e.data,n===v1&&B1?null:n;default:return null}}function FL(n,e){if(Jc)return n==="compositionend"||!KC&&FQ(n,e)?(n=UQ(),Rp=YC=oa=null,Jc=!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=_1(t)}}function VQ(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?VQ(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function WQ(){for(var n=window,e=jp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=jp(n.document)}return e}function jC(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 XL(n){var e=WQ(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&VQ(t.ownerDocument.documentElement,t)){if(i!==null&&jC(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=Q1(t,s);var o=Q1(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,Xc=null,$I=null,HA=null,ey=!1;function M1(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;ey||Xc==null||Xc!==jp(i)||(i=Xc,"selectionStart"in i&&jC(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}),HA&&oh(HA,i)||(HA=i,i=ig($I,"onSelect"),0qc||(n.current=oy[qc],oy[qc]=null,qc--)}function gn(n,e){qc++,oy[qc]=n.current,n.current=e}var xa={},Ti=Qa(xa),tr=Qa(!1),Tl=xa;function Eu(n,e){var t=n.type.contextTypes;if(!t)return xa;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 nr(n){return n=n.childContextTypes,n!=null}function sg(){vn(tr),vn(Ti)}function N1(n,e,t){if(Ti.current!==xa)throw Error(Oe(168));gn(Ti,e),gn(tr,t)}function eM(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(Oe(108,zb(n)||"Unknown",r));return Rn({},t,i)}function og(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||xa,Tl=Ti.current,gn(Ti,n),gn(tr,tr.current),!0}function U1(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=eM(n,e,Tl),i.__reactInternalMemoizedMergedChildContext=n,vn(tr),vn(Ti),gn(Ti,n)):vn(tr),gn(tr,t)}var no=null,Ng=!1,rE=!1;function tM(n){no===null?no=[n]:no.push(n)}function o3(n){Ng=!0,tM(n)}function Ma(){if(!rE&&no!==null){rE=!0;var n=0,e=hn;try{var t=no;for(hn=1;n>=o,r-=o,so=1<<32-is(e)+r|t<k?(X=D,D=null):X=D.sibling;var _=f(p,D,v[k],S);if(_===null){D===null&&(D=X);break}n&&D&&_.alternate===null&&e(p,D),y=s(_,y,k),R===null?M=_:R.sibling=_,R=_,D=X}if(k===v.length)return t(p,D),xn&&cl(p,k),M;if(D===null){for(;kk?(X=D,D=null):X=D.sibling;var L=f(p,D,_.value,S);if(L===null){D===null&&(D=X);break}n&&D&&L.alternate===null&&e(p,D),y=s(L,y,k),R===null?M=L:R.sibling=L,R=L,D=X}if(_.done)return t(p,D),xn&&cl(p,k),M;if(D===null){for(;!_.done;k++,_=v.next())_=d(p,_.value,S),_!==null&&(y=s(_,y,k),R===null?M=_:R.sibling=_,R=_);return xn&&cl(p,k),M}for(D=i(p,D);!_.done;k++,_=v.next())_=g(D,p,k,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?k:_.key),y=s(_,y,k),R===null?M=_:R.sibling=_,R=_);return n&&D.forEach(function(q){return e(p,q)}),xn&&cl(p,k),M}function I(p,y,v,S){if(typeof v=="object"&&v!==null&&v.type===Yc&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case tf:e:{for(var M=v.key,R=y;R!==null;){if(R.key===M){if(M=v.type,M===Yc){if(R.tag===7){t(p,R.sibling),y=r(R,v.props.children),y.return=p,p=y;break e}}else if(R.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===ta&&V1(M)===R.type){t(p,R.sibling),y=r(R,v.props),y.ref=dA(p,R,v),y.return=p,p=y;break e}t(p,R);break}else e(p,R);R=R.sibling}v.type===Yc?(y=xl(v.props.children,p.mode,S,v.key),y.return=p,p=y):(S=kp(v.type,v.key,v.props,null,p.mode,S),S.ref=dA(p,y,v),S.return=p,p=S)}return o(p);case Wc:e:{for(R=v.key;y!==null;){if(y.key===R)if(y.tag===4&&y.stateNode.containerInfo===v.containerInfo&&y.stateNode.implementation===v.implementation){t(p,y.sibling),y=r(y,v.children||[]),y.return=p,p=y;break e}else{t(p,y);break}else e(p,y);y=y.sibling}y=hE(v,p.mode,S),y.return=p,p=y}return o(p);case ta:return R=v._init,I(p,y,R(v._payload),S)}if(bA(v))return E(p,y,v,S);if(lA(v))return C(p,y,v,S);df(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,y!==null&&y.tag===6?(t(p,y.sibling),y=r(y,v),y.return=p,p=y):(t(p,y),y=AE(v,p.mode,S),y.return=p,p=y),o(p)):t(p,y)}return I}var yu=cM(!0),uM=cM(!1),Wh={},Ds=Qa(Wh),uh=Qa(Wh),Ah=Qa(Wh);function ml(n){if(n===Wh)throw Error(Oe(174));return n}function sv(n,e){switch(gn(Ah,e),gn(uh,n),gn(Ds,Wh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:zI(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=zI(e,n)}vn(Ds),gn(Ds,e)}function Cu(){vn(Ds),vn(uh),vn(Ah)}function AM(n){ml(Ah.current);var e=ml(Ds.current),t=zI(e,n.type);e!==t&&(gn(uh,n),gn(Ds,t))}function ov(n){uh.current===n&&(vn(Ds),vn(uh))}var _n=Qa(0);function hg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var sE=[];function av(){for(var n=0;nt?t:4,n(!0);var i=oE.transition;oE.transition={};try{n(!1),e()}finally{hn=t,oE.transition=i}}function _M(){return Gr().memoizedState}function u3(n,e,t){var i=pa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},QM(n))MM(e,t);else if(t=sM(n,e,t,i),t!==null){var r=zi();rs(t,n,i,r),RM(t,e,i)}}function A3(n,e,t){var i=pa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(QM(n))MM(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,os(a,o)){var l=e.interleaved;l===null?(r.next=r,iv(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=sM(n,e,r,i),t!==null&&(r=zi(),rs(t,n,i,r),RM(t,e,i))}}function QM(n){var e=n.alternate;return n===Mn||e!==null&&e===Mn}function MM(n,e){zA=dg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function RM(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,zC(n,t)}}var fg={readContext:Or,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},h3={readContext:Or,useCallback:function(n,e){return vs().memoizedState=[n,e===void 0?null:e],n},useContext:Or,useEffect:Y1,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Lp(4194308,4,vM.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Lp(4194308,4,n,e)},useInsertionEffect:function(n,e){return Lp(4,2,n,e)},useMemo:function(n,e){var t=vs();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=vs();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=u3.bind(null,Mn,n),[i.memoizedState,n]},useRef:function(n){var e=vs();return n={current:n},e.memoizedState=n},useState:W1,useDebugValue:hv,useDeferredValue:function(n){return vs().memoizedState=n},useTransition:function(){var n=W1(!1),e=n[0];return n=c3.bind(null,n[1]),vs().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Mn,r=vs();if(xn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),Ai===null)throw Error(Oe(349));Ll&30||fM(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,Y1(gM.bind(null,i,s,n),[n]),i.flags|=2048,fh(9,pM.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=vs(),e=Ai.identifierPrefix;if(xn){var t=oo,i=so;t=(i&~(1<<32-is(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=hh++,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[Ss]=e,n[ch]=i,kM(n,e,!1,!1),e.stateNode=n;e:{switch(o=WI(t,i),t){case"dialog":En("cancel",n),En("close",n),r=i;break;case"iframe":case"object":case"embed":En("load",n),r=i;break;case"video":case"audio":for(r=0;rBu&&(e.flags|=128,i=!0,fA(s,!1),e.lanes=4194304)}else{if(!i)if(n=hg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),fA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!xn)return Si(e),null}else 2*Gn()-s.renderingStartTime>Bu&&t!==1073741824&&(e.flags|=128,i=!0,fA(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=Gn(),e.sibling=null,t=_n.current,gn(_n,i?t&1|2:t&1),e):(Si(e),null);case 22:case 23:return Ev(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Ar&1073741824&&(Si(e),e.subtreeFlags&6&&(e.flags|=8192)):Si(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function I3(n,e){switch(ZC(e),e.tag){case 1:return nr(e.type)&&sg(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Cu(),vn(tr),vn(Ti),av(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return ov(e),null;case 13:if(vn(_n),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));Iu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return vn(_n),null;case 4:return Cu(),null;case 10:return nv(e.type._context),null;case 22:case 23:return Ev(),null;case 24:return null;default:return null}}var pf=!1,Mi=!1,y3=typeof WeakSet=="function"?WeakSet:Set,it=null;function tu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Pn(n,e,i)}else t.current=null}function Ey(n,e,t){try{t()}catch(i){Pn(n,e,i)}}var eS=!1;function C3(n,e){if(ty=tg,n=VQ(),jC(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,A=0,h=0,d=n,f=null;t:for(;;){for(var g;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),(g=d.firstChild)!==null;)f=d,d=g;for(;;){if(d===n)break t;if(f===t&&++A===r&&(a=o),f===s&&++h===i&&(l=o),(g=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(ny={focusedElem:n,selectionRange:t},tg=!1,it=e;it!==null;)if(e=it,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,it=n;else for(;it!==null;){e=it;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var C=E.memoizedProps,I=E.memoizedState,p=e.stateNode,v=p.getSnapshotBeforeUpdate(e.elementType===e.type?C:Zr(e.type,C),I);p.__reactInternalSnapshotBeforeUpdate=v}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(Oe(163))}}catch(S){Pn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,it=n;break}it=e.return}return E=eS,eS=!1,E}function VA(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&&Ey(e,t,s)}r=r.next}while(r!==i)}}function Fg(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 Iy(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 GM(n){var e=n.alternate;e!==null&&(n.alternate=null,GM(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Ss],delete e[ch],delete e[sy],delete e[i3],delete e[r3])),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 HM(n){return n.tag===5||n.tag===3||n.tag===4}function tS(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||HM(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 yy(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=rg));else if(i!==4&&(n=n.child,n!==null))for(yy(n,e,t),n=n.sibling;n!==null;)yy(n,e,t),n=n.sibling}function Cy(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(Cy(n,e,t),n=n.sibling;n!==null;)Cy(n,e,t),n=n.sibling}var pi=null,es=!1;function zo(n,e,t){for(t=t.child;t!==null;)zM(n,e,t),t=t.sibling}function zM(n,e,t){if(Rs&&typeof Rs.onCommitFiberUnmount=="function")try{Rs.onCommitFiberUnmount(Dg,t)}catch{}switch(t.tag){case 5:Mi||tu(t,e);case 6:var i=pi,r=es;pi=null,zo(n,e,t),pi=i,es=r,pi!==null&&(es?(n=pi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):pi.removeChild(t.stateNode));break;case 18:pi!==null&&(es?(n=pi,t=t.stateNode,n.nodeType===8?iE(n.parentNode,t):n.nodeType===1&&iE(n,t),rh(n)):iE(pi,t.stateNode));break;case 4:i=pi,r=es,pi=t.stateNode.containerInfo,es=!0,zo(n,e,t),pi=i,es=r;break;case 0:case 11:case 14:case 15:if(!Mi&&(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)&&Ey(t,e,o),r=r.next}while(r!==i)}zo(n,e,t);break;case 1:if(!Mi&&(tu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Pn(t,e,a)}zo(n,e,t);break;case 21:zo(n,e,t);break;case 22:t.mode&1?(Mi=(i=Mi)||t.memoizedState!==null,zo(n,e,t),Mi=i):zo(n,e,t);break;default:zo(n,e,t)}}function nS(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new y3),e.forEach(function(i){var r=R3.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Xr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=Gn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*B3(i/1960))-i,10n?16:n,aa===null)var i=!1;else{if(n=aa,aa=null,mg=0,Zt&6)throw Error(Oe(331));var r=Zt;for(Zt|=4,it=n.current;it!==null;){var s=it,o=s.child;if(it.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lGn()-gv?Bl(n,0):pv|=t),ir(n,e)}function qM(n,e){e===0&&(n.mode&1?(e=of,of<<=1,!(of&130023424)&&(of=4194304)):e=1);var t=zi();n=po(n,e),n!==null&&(Hh(n,e,t),ir(n,t))}function M3(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),qM(n,t)}function R3(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(Oe(314))}i!==null&&i.delete(e),qM(n,t)}var ZM;ZM=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||tr.current)er=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return er=!1,m3(n,e,t);er=!!(n.flags&131072)}else er=!1,xn&&e.flags&1048576&&tM(e,lg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Pp(n,e),n=e.pendingProps;var r=Eu(e,Ti.current);hu(e,t),r=cv(null,e,i,n,r,t);var s=uv();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,nr(i)?(s=!0,og(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,rv(e),r.updater=Ug,e.stateNode=r,r._reactInternals=e,Ay(e,i,n,t),e=fy(null,e,i,!0,s,t)):(e.tag=0,xn&&s&&qC(e),Oi(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Pp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=T3(i),n=Zr(i,n),r){case 0:e=dy(null,e,i,n,t);break e;case 1:e=q1(null,e,i,n,t);break e;case 11:e=K1(null,e,i,n,t);break e;case 14:e=j1(null,e,i,Zr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),dy(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),q1(n,e,i,r,t);case 3:e:{if(PM(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,sM(n,e),Ag(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=vu(Error(Oe(423)),e),e=Z1(n,e,i,t,r);break e}else if(i!==r){r=vu(Error(Oe(424)),e),e=Z1(n,e,i,t,r);break e}else for(fr=ha(e.stateNode.containerInfo.firstChild),gr=e,xn=!0,ts=null,t=cM(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Iu(),i===r){e=go(n,e,t);break e}Oi(n,e,i,t)}e=e.child}return e;case 5:return uM(e),n===null&&ly(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,iy(i,r)?o=null:s!==null&&iy(i,s)&&(e.flags|=32),LM(n,e),Oi(n,e,o,t),e.child;case 6:return n===null&&ly(e),null;case 13:return NM(n,e,t);case 4:return sv(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=yu(e,null,i,t):Oi(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),K1(n,e,i,r,t);case 7:return Oi(n,e,e.pendingProps,t),e.child;case 8:return Oi(n,e,e.pendingProps.children,t),e.child;case 12:return Oi(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,gn(cg,i._currentValue),i._currentValue=o,s!==null)if(os(s.value,o)){if(s.children===r.children&&!tr.current){e=go(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=uo(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),cy(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),cy(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}Oi(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,hu(e,t),r=Or(r),i=i(r),e.flags|=1,Oi(n,e,i,t),e.child;case 14:return i=e.type,r=Zr(i,e.pendingProps),r=Zr(i.type,r),j1(n,e,i,r,t);case 15:return TM(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),Pp(n,e),e.tag=1,nr(i)?(n=!0,og(e)):n=!1,hu(e,t),aM(e,i,r),Ay(e,i,r,t),fy(null,e,i,!0,n,t);case 19:return UM(n,e,t);case 22:return bM(n,e,t)}throw Error(Oe(156,e.tag))};function $M(n,e){return SQ(n,e)}function D3(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 Nr(n,e,t,i){return new D3(n,e,t,i)}function yv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function T3(n){if(typeof n=="function")return yv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===FC)return 11;if(n===OC)return 14}return 2}function ga(n,e){var t=n.alternate;return t===null?(t=Nr(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")yv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Yc:return xl(t.children,r,s,e);case kC:o=8,r|=8;break;case PI:return n=Nr(12,t,e,r|2),n.elementType=PI,n.lanes=s,n;case NI:return n=Nr(13,t,e,r),n.elementType=NI,n.lanes=s,n;case UI:return n=Nr(19,t,e,r),n.elementType=UI,n.lanes=s,n;case lQ:return Gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case oQ:o=10;break e;case aQ:o=9;break e;case FC:o=11;break e;case OC:o=14;break e;case ta:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Nr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function xl(n,e,t,i){return n=Nr(7,n,i,e),n.lanes=t,n}function Gg(n,e,t,i){return n=Nr(22,n,i,e),n.elementType=lQ,n.lanes=t,n.stateNode={isHidden:!1},n}function AE(n,e,t){return n=Nr(6,n,null,e),n.lanes=t,n}function hE(n,e,t){return e=Nr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function b3(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=Y0(0),this.expirationTimes=Y0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Y0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Cv(n,e,t,i,r,s,o,a,l){return n=new b3(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Nr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},rv(s),n}function L3(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(iR)}catch(n){console.error(n)}}iR(),tQ.exports=yr;var F3=tQ.exports,rR,uS=F3;rR=uS.createRoot,uS.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function cE(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function hy(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var p3=typeof WeakMap=="function"?WeakMap:Map;function DM(n,e,t){t=uo(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){gg||(gg=!0,vy=i),hy(n,e)},t}function TM(n,e,t){t=uo(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){hy(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){hy(n,e),typeof i!="function"&&(fa===null?fa=new Set([this]):fa.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function J1(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new p3;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=M3.bind(null,n,e,t),e.then(n,n))}function X1(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function K1(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=uo(-1,1),e.tag=2,da(t,e,1))),t.lanes|=1),n)}var g3=Eo.ReactCurrentOwner,er=!1;function Oi(n,e,t,i){e.child=n===null?uM(e,null,t,i):yu(e,n.child,t,i)}function j1(n,e,t,i,r){t=t.render;var s=e.ref;return hu(e,r),i=cv(n,e,t,i,s,r),t=uv(),n!==null&&!er?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,go(n,e,r)):(xn&&t&&qC(e),e.flags|=1,Oi(n,e,i,r),e.child)}function q1(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!yv(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,bM(n,e,s,i,r)):(n=kp(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:oh,t(o,i)&&n.ref===e.ref)return go(n,e,r)}return e.flags|=1,n=ga(s,i),n.ref=e.ref,n.return=e,e.child=n}function bM(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(oh(s,i)&&n.ref===e.ref)if(er=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&(er=!0);else return e.lanes=n.lanes,go(n,e,r)}return dy(n,e,t,i,r)}function LM(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},gn(nu,Ar),Ar|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,gn(nu,Ar),Ar|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,gn(nu,Ar),Ar|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,gn(nu,Ar),Ar|=i;return Oi(n,e,r,t),e.child}function PM(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function dy(n,e,t,i,r){var s=nr(t)?Tl:Ti.current;return s=Eu(e,s),hu(e,r),t=cv(n,e,t,i,s,r),i=uv(),n!==null&&!er?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,go(n,e,r)):(xn&&i&&qC(e),e.flags|=1,Oi(n,e,t,r),e.child)}function Z1(n,e,t,i,r){if(nr(t)){var s=!0;og(e)}else s=!1;if(hu(e,r),e.stateNode===null)Pp(n,e),lM(e,t,i),Ay(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,A=t.contextType;typeof A=="object"&&A!==null?A=Or(A):(A=nr(t)?Tl:Ti.current,A=Eu(e,A));var h=t.getDerivedStateFromProps,d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==A)&&z1(e,o,i,A),na=!1;var f=e.memoizedState;o.state=f,Ag(e,i,o,r),l=e.memoizedState,a!==i||f!==l||tr.current||na?(typeof h=="function"&&(uy(e,t,h,i),l=e.memoizedState),(a=na||H1(e,t,a,i,f,l,A))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=A,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,oM(n,e),a=e.memoizedProps,A=e.type===e.elementType?a:Zr(e.type,a),o.props=A,d=e.pendingProps,f=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=Or(l):(l=nr(t)?Tl:Ti.current,l=Eu(e,l));var g=t.getDerivedStateFromProps;(h=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||f!==l)&&z1(e,o,i,l),na=!1,f=e.memoizedState,o.state=f,Ag(e,i,o,r);var E=e.memoizedState;a!==d||f!==E||tr.current||na?(typeof g=="function"&&(uy(e,t,g,i),E=e.memoizedState),(A=na||H1(e,t,A,i,f,E,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,E,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,E,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=E),o.props=i,o.state=E,o.context=l,i=A):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),i=!1)}return fy(n,e,t,i,s,r)}function fy(n,e,t,i,r,s){PM(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&U1(e,t,!1),go(n,e,s);i=e.stateNode,g3.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=yu(e,n.child,null,s),e.child=yu(e,null,a,s)):Oi(n,e,a,s),e.memoizedState=i.state,r&&U1(e,t,!0),e.child}function NM(n){var e=n.stateNode;e.pendingContext?N1(n,e.pendingContext,e.pendingContext!==e.context):e.context&&N1(n,e.context,!1),sv(n,e.containerInfo)}function $1(n,e,t,i,r){return Iu(),$C(r),e.flags|=256,Oi(n,e,t,i),e.child}var py={dehydrated:null,treeContext:null,retryLane:0};function gy(n){return{baseLanes:n,cachePool:null,transitions:null}}function UM(n,e,t){var i=e.pendingProps,r=_n.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),gn(_n,r&1),n===null)return ly(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Gg(o,i,0,null),n=xl(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=gy(t),e.memoizedState=py,n):dv(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return m3(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=ga(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=ga(a,s):(s=xl(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?gy(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=py,i}return s=n.child,n=s.sibling,i=ga(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function dv(n,e){return e=Gg({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function ff(n,e,t,i){return i!==null&&$C(i),yu(e,n.child,null,t),n=dv(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function m3(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=cE(Error(Oe(422))),ff(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=Gg({mode:"visible",children:i.children},r,0,null),s=xl(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&yu(e,n.child,null,o),e.child.memoizedState=gy(o),e.memoizedState=py,s);if(!(e.mode&1))return ff(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Oe(419)),i=cE(s,i,void 0),ff(n,e,o,i)}if(a=(o&n.childLanes)!==0,er||a){if(i=Ai,i!==null){switch(o&-o){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}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,po(n,r),rs(i,n,r,-1))}return Iv(),i=cE(Error(Oe(421))),ff(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=R3.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,fr=ha(r.nextSibling),gr=e,xn=!0,ts=null,n!==null&&(br[Lr++]=so,br[Lr++]=oo,br[Lr++]=bl,so=n.id,oo=n.overflow,bl=e),e=dv(e,i.children),e.flags|=4096,e)}function eS(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),cy(n.return,e,t)}function uE(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function kM(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(Oi(n,e,i.children,t),i=_n.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&eS(n,t,e);else if(n.tag===19)eS(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(gn(_n,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&hg(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),uE(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&hg(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}uE(e,!0,t,null,s);break;case"together":uE(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Pp(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function go(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),Pl|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Oe(153));if(e.child!==null){for(n=e.child,t=ga(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=ga(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function E3(n,e,t){switch(e.tag){case 3:NM(e),Iu();break;case 5:AM(e);break;case 1:nr(e.type)&&og(e);break;case 4:sv(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;gn(cg,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(gn(_n,_n.current&1),e.flags|=128,null):t&e.child.childLanes?UM(n,e,t):(gn(_n,_n.current&1),n=go(n,e,t),n!==null?n.sibling:null);gn(_n,_n.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return kM(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),gn(_n,_n.current),i)break;return null;case 22:case 23:return e.lanes=0,LM(n,e,t)}return go(n,e,t)}var FM,my,OM,GM;FM=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};my=function(){};OM=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,ml(Ds.current);var s=null;switch(t){case"input":r=FI(n,r),i=FI(n,i),s=[];break;case"select":r=Rn({},r,{value:void 0}),i=Rn({},i,{value:void 0}),s=[];break;case"textarea":r=HI(n,r),i=HI(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=rg)}VI(t,i);var o;t=null;for(A in r)if(!i.hasOwnProperty(A)&&r.hasOwnProperty(A)&&r[A]!=null)if(A==="style"){var a=r[A];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else A!=="dangerouslySetInnerHTML"&&A!=="children"&&A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&A!=="autoFocus"&&($A.hasOwnProperty(A)?s||(s=[]):(s=s||[]).push(A,null));for(A in i){var l=i[A];if(a=r?.[A],i.hasOwnProperty(A)&&l!==a&&(l!=null||a!=null))if(A==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(A,t)),t=l;else A==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(A,l)):A==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(A,""+l):A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&($A.hasOwnProperty(A)?(l!=null&&A==="onScroll"&&En("scroll",n),s||a===l||(s=[])):(s=s||[]).push(A,l))}t&&(s=s||[]).push("style",t);var A=s;(e.updateQueue=A)&&(e.flags|=4)}};GM=function(n,e,t,i){t!==i&&(e.flags|=4)};function fA(n,e){if(!xn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function Si(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function I3(n,e,t){var i=e.pendingProps;switch(ZC(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Si(e),null;case 1:return nr(e.type)&&sg(),Si(e),null;case 3:return i=e.stateNode,Cu(),vn(tr),vn(Ti),av(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(hf(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,ts!==null&&(Sy(ts),ts=null))),my(n,e),Si(e),null;case 5:ov(e);var r=ml(Ah.current);if(t=e.type,n!==null&&e.stateNode!=null)OM(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Oe(166));return Si(e),null}if(n=ml(Ds.current),hf(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[Ss]=e,i[ch]=s,n=(e.mode&1)!==0,t){case"dialog":En("cancel",i),En("close",i);break;case"iframe":case"object":case"embed":En("load",i);break;case"video":case"audio":for(r=0;r<\/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[Ss]=e,n[ch]=i,FM(n,e,!1,!1),e.stateNode=n;e:{switch(o=WI(t,i),t){case"dialog":En("cancel",n),En("close",n),r=i;break;case"iframe":case"object":case"embed":En("load",n),r=i;break;case"video":case"audio":for(r=0;rBu&&(e.flags|=128,i=!0,fA(s,!1),e.lanes=4194304)}else{if(!i)if(n=hg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),fA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!xn)return Si(e),null}else 2*Gn()-s.renderingStartTime>Bu&&t!==1073741824&&(e.flags|=128,i=!0,fA(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=Gn(),e.sibling=null,t=_n.current,gn(_n,i?t&1|2:t&1),e):(Si(e),null);case 22:case 23:return Ev(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Ar&1073741824&&(Si(e),e.subtreeFlags&6&&(e.flags|=8192)):Si(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function y3(n,e){switch(ZC(e),e.tag){case 1:return nr(e.type)&&sg(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Cu(),vn(tr),vn(Ti),av(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return ov(e),null;case 13:if(vn(_n),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));Iu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return vn(_n),null;case 4:return Cu(),null;case 10:return nv(e.type._context),null;case 22:case 23:return Ev(),null;case 24:return null;default:return null}}var pf=!1,Mi=!1,C3=typeof WeakSet=="function"?WeakSet:Set,rt=null;function tu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Pn(n,e,i)}else t.current=null}function Ey(n,e,t){try{t()}catch(i){Pn(n,e,i)}}var tS=!1;function v3(n,e){if(ty=tg,n=WQ(),jC(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,A=0,h=0,d=n,f=null;t:for(;;){for(var g;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),(g=d.firstChild)!==null;)f=d,d=g;for(;;){if(d===n)break t;if(f===t&&++A===r&&(a=o),f===s&&++h===i&&(l=o),(g=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(ny={focusedElem:n,selectionRange:t},tg=!1,rt=e;rt!==null;)if(e=rt,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,rt=n;else for(;rt!==null;){e=rt;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var C=E.memoizedProps,I=E.memoizedState,p=e.stateNode,y=p.getSnapshotBeforeUpdate(e.elementType===e.type?C:Zr(e.type,C),I);p.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(S){Pn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,rt=n;break}rt=e.return}return E=tS,tS=!1,E}function VA(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&&Ey(e,t,s)}r=r.next}while(r!==i)}}function Fg(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 Iy(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 HM(n){var e=n.alternate;e!==null&&(n.alternate=null,HM(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Ss],delete e[ch],delete e[sy],delete e[r3],delete e[s3])),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 zM(n){return n.tag===5||n.tag===3||n.tag===4}function nS(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||zM(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 yy(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=rg));else if(i!==4&&(n=n.child,n!==null))for(yy(n,e,t),n=n.sibling;n!==null;)yy(n,e,t),n=n.sibling}function Cy(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(Cy(n,e,t),n=n.sibling;n!==null;)Cy(n,e,t),n=n.sibling}var pi=null,es=!1;function zo(n,e,t){for(t=t.child;t!==null;)VM(n,e,t),t=t.sibling}function VM(n,e,t){if(Rs&&typeof Rs.onCommitFiberUnmount=="function")try{Rs.onCommitFiberUnmount(Dg,t)}catch{}switch(t.tag){case 5:Mi||tu(t,e);case 6:var i=pi,r=es;pi=null,zo(n,e,t),pi=i,es=r,pi!==null&&(es?(n=pi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):pi.removeChild(t.stateNode));break;case 18:pi!==null&&(es?(n=pi,t=t.stateNode,n.nodeType===8?iE(n.parentNode,t):n.nodeType===1&&iE(n,t),rh(n)):iE(pi,t.stateNode));break;case 4:i=pi,r=es,pi=t.stateNode.containerInfo,es=!0,zo(n,e,t),pi=i,es=r;break;case 0:case 11:case 14:case 15:if(!Mi&&(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)&&Ey(t,e,o),r=r.next}while(r!==i)}zo(n,e,t);break;case 1:if(!Mi&&(tu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Pn(t,e,a)}zo(n,e,t);break;case 21:zo(n,e,t);break;case 22:t.mode&1?(Mi=(i=Mi)||t.memoizedState!==null,zo(n,e,t),Mi=i):zo(n,e,t);break;default:zo(n,e,t)}}function iS(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new C3),e.forEach(function(i){var r=D3.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Xr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=Gn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*x3(i/1960))-i,10n?16:n,aa===null)var i=!1;else{if(n=aa,aa=null,mg=0,Zt&6)throw Error(Oe(331));var r=Zt;for(Zt|=4,rt=n.current;rt!==null;){var s=rt,o=s.child;if(rt.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lGn()-gv?Bl(n,0):pv|=t),ir(n,e)}function ZM(n,e){e===0&&(n.mode&1?(e=of,of<<=1,!(of&130023424)&&(of=4194304)):e=1);var t=zi();n=po(n,e),n!==null&&(Hh(n,e,t),ir(n,t))}function R3(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),ZM(n,t)}function D3(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(Oe(314))}i!==null&&i.delete(e),ZM(n,t)}var $M;$M=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||tr.current)er=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return er=!1,E3(n,e,t);er=!!(n.flags&131072)}else er=!1,xn&&e.flags&1048576&&nM(e,lg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Pp(n,e),n=e.pendingProps;var r=Eu(e,Ti.current);hu(e,t),r=cv(null,e,i,n,r,t);var s=uv();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,nr(i)?(s=!0,og(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,rv(e),r.updater=Ug,e.stateNode=r,r._reactInternals=e,Ay(e,i,n,t),e=fy(null,e,i,!0,s,t)):(e.tag=0,xn&&s&&qC(e),Oi(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Pp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=b3(i),n=Zr(i,n),r){case 0:e=dy(null,e,i,n,t);break e;case 1:e=Z1(null,e,i,n,t);break e;case 11:e=j1(null,e,i,n,t);break e;case 14:e=q1(null,e,i,Zr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),dy(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),Z1(n,e,i,r,t);case 3:e:{if(NM(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,oM(n,e),Ag(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=vu(Error(Oe(423)),e),e=$1(n,e,i,t,r);break e}else if(i!==r){r=vu(Error(Oe(424)),e),e=$1(n,e,i,t,r);break e}else for(fr=ha(e.stateNode.containerInfo.firstChild),gr=e,xn=!0,ts=null,t=uM(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Iu(),i===r){e=go(n,e,t);break e}Oi(n,e,i,t)}e=e.child}return e;case 5:return AM(e),n===null&&ly(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,iy(i,r)?o=null:s!==null&&iy(i,s)&&(e.flags|=32),PM(n,e),Oi(n,e,o,t),e.child;case 6:return n===null&&ly(e),null;case 13:return UM(n,e,t);case 4:return sv(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=yu(e,null,i,t):Oi(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),j1(n,e,i,r,t);case 7:return Oi(n,e,e.pendingProps,t),e.child;case 8:return Oi(n,e,e.pendingProps.children,t),e.child;case 12:return Oi(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,gn(cg,i._currentValue),i._currentValue=o,s!==null)if(os(s.value,o)){if(s.children===r.children&&!tr.current){e=go(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=uo(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),cy(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),cy(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}Oi(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,hu(e,t),r=Or(r),i=i(r),e.flags|=1,Oi(n,e,i,t),e.child;case 14:return i=e.type,r=Zr(i,e.pendingProps),r=Zr(i.type,r),q1(n,e,i,r,t);case 15:return bM(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Zr(i,r),Pp(n,e),e.tag=1,nr(i)?(n=!0,og(e)):n=!1,hu(e,t),lM(e,i,r),Ay(e,i,r,t),fy(null,e,i,!0,n,t);case 19:return kM(n,e,t);case 22:return LM(n,e,t)}throw Error(Oe(156,e.tag))};function eR(n,e){return wQ(n,e)}function T3(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 Nr(n,e,t,i){return new T3(n,e,t,i)}function yv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function b3(n){if(typeof n=="function")return yv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===FC)return 11;if(n===OC)return 14}return 2}function ga(n,e){var t=n.alternate;return t===null?(t=Nr(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")yv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Yc:return xl(t.children,r,s,e);case kC:o=8,r|=8;break;case PI:return n=Nr(12,t,e,r|2),n.elementType=PI,n.lanes=s,n;case NI:return n=Nr(13,t,e,r),n.elementType=NI,n.lanes=s,n;case UI:return n=Nr(19,t,e,r),n.elementType=UI,n.lanes=s,n;case cQ:return Gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case aQ:o=10;break e;case lQ:o=9;break e;case FC:o=11;break e;case OC:o=14;break e;case ta:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Nr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function xl(n,e,t,i){return n=Nr(7,n,i,e),n.lanes=t,n}function Gg(n,e,t,i){return n=Nr(22,n,i,e),n.elementType=cQ,n.lanes=t,n.stateNode={isHidden:!1},n}function AE(n,e,t){return n=Nr(6,n,null,e),n.lanes=t,n}function hE(n,e,t){return e=Nr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function L3(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=Y0(0),this.expirationTimes=Y0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Y0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Cv(n,e,t,i,r,s,o,a,l){return n=new L3(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Nr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},rv(s),n}function P3(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(),nQ.exports=yr;var O3=nQ.exports,sR,AS=O3;sR=AS.createRoot,AS.hydrateRoot;/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const Yg="161",O3={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},G3={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},sR=0,wy=1,oR=2,H3=3,aR=0,Jg=1,JA=2,$r=3,Hr=0,Vi=1,ws=2,Ao=0,Sl=1,_y=2,Qy=3,My=4,lR=5,sa=100,cR=101,uR=102,Ry=103,Dy=104,AR=200,hR=201,dR=202,fR=203,yg=204,Cg=205,pR=206,gR=207,mR=208,ER=209,IR=210,yR=211,CR=212,vR=213,BR=214,xR=0,SR=1,wR=2,gh=3,_R=4,QR=5,MR=6,RR=7,Yh=0,DR=1,TR=2,Ts=0,bR=1,LR=2,PR=3,Sv=4,NR=5,UR=6,Ty="attached",kR="detached",Xg=300,mo=301,Sa=302,mh=303,Eh=304,Ru=306,Ih=1e3,Ri=1001,yh=1002,On=1003,vg=1004,z3=1004,dl=1005,V3=1005,Cn=1006,XA=1007,W3=1007,_s=1008,Y3=1008,bs=1009,FR=1010,OR=1011,Kg=1012,wv=1013,ao=1014,Pr=1015,Ul=1016,_v=1017,Qv=1018,ma=1020,GR=1021,Gi=1023,HR=1024,zR=1025,Ea=1026,kl=1027,VR=1028,Mv=1029,WR=1030,Rv=1031,Dv=1033,Fp=33776,Op=33777,Gp=33778,Hp=33779,by=35840,Ly=35841,Py=35842,Ny=35843,Tv=36196,Uy=37492,ky=37496,Fy=37808,Oy=37809,Gy=37810,Hy=37811,zy=37812,Vy=37813,Wy=37814,Yy=37815,Jy=37816,Xy=37817,Ky=37818,jy=37819,qy=37820,Zy=37821,zp=36492,$y=36494,eC=36495,YR=36283,tC=36284,nC=36285,iC=36286,JR=2200,XR=2201,KR=2202,Ch=2300,vh=2301,Vp=2302,El=2400,Il=2401,Bh=2402,jg=2500,bv=2501,J3=0,X3=1,K3=2,Lv=3e3,Ia=3001,jR=3200,Pv=3201,Ra=0,qR=1,hr="",Nn="srgb",Ls="srgb-linear",qg="display-p3",Jh="display-p3-linear",xh="linear",pn="srgb",Sh="rec709",wh="p3",j3=0,Al=7680,q3=7681,Z3=7682,$3=7683,eP=34055,tP=34056,nP=5386,iP=512,rP=513,sP=514,oP=515,aP=516,lP=517,cP=518,rC=519,ZR=512,$R=513,e2=514,Nv=515,t2=516,n2=517,i2=518,r2=519,_h=35044,la=35048,uP=35040,AP=35045,hP=35049,dP=35041,fP=35046,pP=35050,gP=35042,mP="100",sC="300 es",Bg=1035,Qs=2e3,Qh=2001;class Io{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]+wi[n>>16&255]+wi[n>>24&255]+"-"+wi[e&255]+wi[e>>8&255]+"-"+wi[e>>16&15|64]+wi[e>>24&255]+"-"+wi[t&63|128]+wi[t>>8&255]+"-"+wi[t>>16&255]+wi[t>>24&255]+wi[i&255]+wi[i>>8&255]+wi[i>>16&255]+wi[i>>24&255]).toLowerCase()}function Un(n,e,t){return Math.max(e,Math.min(t,n))}function Uv(n,e){return(n%e+e)%e}function EP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function IP(n,e,t){return n!==e?(t-n)/(e-n):0}function KA(n,e,t){return(1-t)*n+t*e}function yP(n,e,t,i){return KA(n,e,1-Math.exp(-t*i))}function CP(n,e=1){return e-Math.abs(Uv(n,e*2)-e)}function vP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function BP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function xP(n,e){return n+Math.floor(Math.random()*(e-n+1))}function SP(n,e){return n+Math.random()*(e-n)}function wP(n){return n*(.5-Math.random())}function _P(n){n!==void 0&&(AS=n);let e=AS+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function QP(n){return n*wl}function MP(n){return n*xu}function oC(n){return(n&n-1)===0&&n!==0}function RP(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function xg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function DP(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),f=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*f,a*A);break;case"YZY":n.set(l*f,a*h,l*d,a*A);break;case"ZXZ":n.set(l*d,l*f,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);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 Lt(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 TP={DEG2RAD:wl,RAD2DEG:xu,generateUUID:mr,clamp:Un,euclideanModulo:Uv,mapLinear:EP,inverseLerp:IP,lerp:KA,damp:yP,pingpong:CP,smoothstep:vP,smootherstep:BP,randInt:xP,randFloat:SP,randFloatSpread:wP,seededRandom:_P,degToRad:QP,radToDeg:MP,isPowerOfTwo:oC,ceilPowerOfTwo:RP,floorPowerOfTwo:xg,setQuaternionFromProperEuler:DP,normalize:Lt,denormalize:Hi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Un(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Mt{constructor(e,t,i,r,s,o,a,l,A){Mt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],d=i[7],f=i[2],g=i[5],E=i[8],C=r[0],I=r[3],p=r[6],v=r[1],y=r[4],S=r[7],M=r[2],R=r[5],D=r[8];return s[0]=o*C+a*v+l*M,s[3]=o*I+a*y+l*R,s[6]=o*p+a*S+l*D,s[1]=A*C+h*v+d*M,s[4]=A*I+h*y+d*R,s[7]=A*p+h*S+d*D,s[2]=f*C+g*v+E*M,s[5]=f*I+g*y+E*R,s[8]=f*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],d=h*o-a*A,f=a*l-h*s,g=A*s-o*l,E=t*d+i*f+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const C=1/E;return e[0]=d*C,e[1]=(r*A-h*i)*C,e[2]=(a*i-r*o)*C,e[3]=f*C,e[4]=(h*t-r*l)*C,e[5]=(r*s-a*t)*C,e[6]=g*C,e[7]=(i*l-A*t)*C,e[8]=(o*t-i*s)*C,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(dE.makeScale(e,t)),this}rotate(e){return this.premultiply(dE.makeRotation(-e)),this}translate(e,t){return this.premultiply(dE.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 dE=new Mt;function s2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const bP={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function iu(n,e){return new bP[n](e)}function Mh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function o2(){const n=Mh("canvas");return n.style.display="block",n}const hS={};function _l(n){n in hS||(hS[n]=!0,console.warn(n))}const dS=new Mt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),fS=new Mt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Ef={[Ls]:{transfer:xh,primaries:Sh,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:pn,primaries:Sh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Jh]:{transfer:xh,primaries:wh,toReference:n=>n.applyMatrix3(fS),fromReference:n=>n.applyMatrix3(dS)},[qg]:{transfer:pn,primaries:wh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(fS),fromReference:n=>n.applyMatrix3(dS).convertLinearToSRGB()}},LP=new Set([Ls,Jh]),un={enabled:!0,_workingColorSpace:Ls,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!LP.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=Ef[e].toReference,r=Ef[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 Ef[n].primaries},getTransfer:function(n){return n===hr?xh:Ef[n].transfer}};function fu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function fE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let dc;class kv{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{dc===void 0&&(dc=Mh("canvas")),dc.width=e.width,dc.height=e.height;const i=dc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=dc}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=Mh("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!==Xg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ih:e.x=e.x-Math.floor(e.x);break;case Ri:e.x=e.x<0?0:1;break;case yh: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 Ih:e.y=e.y-Math.floor(e.y);break;case Ri:e.y=e.y<0?0:1;break;case yh: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)}get encoding(){return _l("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?Ia:Lv}set encoding(e){_l("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Ia?Nn:hr}}Sn.DEFAULT_IMAGE=null;Sn.DEFAULT_MAPPING=Xg;Sn.DEFAULT_ANISOTROPY=1;class An{constructor(e=0,t=0,i=0,r=1){An.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,A=l[0],h=l[4],d=l[8],f=l[1],g=l[5],E=l[9],C=l[2],I=l[6],p=l[10];if(Math.abs(h-f)<.01&&Math.abs(d-C)<.01&&Math.abs(E-I)<.01){if(Math.abs(h+f)<.1&&Math.abs(d+C)<.1&&Math.abs(E+I)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const y=(A+1)/2,S=(g+1)/2,M=(p+1)/2,R=(h+f)/4,D=(d+C)/4,k=(E+I)/4;return y>S&&y>M?y<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(y),r=R/i,s=D/i):S>M?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=R/r,s=k/r):M<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(M),i=D/s,r=k/s),this.set(i,r,s,t),this}let v=Math.sqrt((I-E)*(I-E)+(d-C)*(d-C)+(f-h)*(f-h));return Math.abs(v)<.001&&(v=1),this.x=(I-E)/v,this.y=(d-C)/v,this.z=(f-h)/v,this.w=Math.acos((A+g+p-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 a2 extends Io{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new An(0,0,e,t),this.scissorTest=!1,this.viewport=new An(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(_l("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Ia?Nn:hr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new Sn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new yl(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class zr extends a2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Zg extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class UP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Zg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Fv extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class kP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Fv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class FP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,y=1-p*p;if(y>Number.EPSILON){const M=Math.sqrt(y),R=Math.atan2(M,p*v);I=Math.sin(I*R)/M,a=Math.sin(a*R)/M}const S=a*v;if(l=l*I+f*S,A=A*I+g*S,h=h*I+E*S,d=d*I+C*S,I===1-a){const M=1/Math.sqrt(l*l+A*A+h*h+d*d);l*=M,A*=M,h*=M,d*=M}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],d=s[o],f=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*d+l*g-A*f,e[t+1]=l*E+h*f+A*d-a*g,e[t+2]=A*E+h*g+a*f-l*d,e[t+3]=h*E-a*d-l*f-A*g,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,A=a(i/2),h=a(r/2),d=a(s/2),f=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"YXZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"ZXY":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"ZYX":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"YZX":this._x=f*h*d+A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d-f*g*E;break;case"XZY":this._x=f*h*d-A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d+f*g*E;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],A=t[2],h=t[6],d=t[10],f=i+a+d;if(f>0){const g=.5/Math.sqrt(f+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>d){const g=2*Math.sqrt(1+i-a-d);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>d){const g=2*Math.sqrt(1+a-i-d);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+d-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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(Un(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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),d=Math.sin((1-t)*h)/A,f=Math.sin(t*h)/A;return this._w=o*d+this._w*f,this._x=i*d+this._x*f,this._y=r*d+this._y*f,this._z=s*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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(pS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(pS.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,A=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*A+o*d-a*h,this.y=i+l*h+a*A-s*d,this.z=r+l*d+s*h-o*A,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 gE.copy(this).projectOnVector(e),this.sub(gE)}reflect(e){return this.sub(gE.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(Un(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const gE=new O,pS=new Hn;class $n{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,Kr),Kr.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(gA),yf.subVectors(this.max,gA),fc.subVectors(e.a,gA),pc.subVectors(e.b,gA),gc.subVectors(e.c,gA),Vo.subVectors(pc,fc),Wo.subVectors(gc,pc),ja.subVectors(fc,gc);let t=[0,-Vo.z,Vo.y,0,-Wo.z,Wo.y,0,-ja.z,ja.y,Vo.z,0,-Vo.x,Wo.z,0,-Wo.x,ja.z,0,-ja.x,-Vo.y,Vo.x,0,-Wo.y,Wo.x,0,-ja.y,ja.x,0];return!mE(t,fc,pc,gc,yf)||(t=[1,0,0,0,1,0,0,0,1],!mE(t,fc,pc,gc,yf))?!1:(Cf.crossVectors(Vo,Wo),t=[Cf.x,Cf.y,Cf.z],mE(t,fc,pc,gc,yf))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Kr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Kr).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:(Ys[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ys[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ys[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ys[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ys[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ys[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ys[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ys[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ys),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 Ys=[new O,new O,new O,new O,new O,new O,new O,new O],Kr=new O,If=new $n,fc=new O,pc=new O,gc=new O,Vo=new O,Wo=new O,ja=new O,gA=new O,yf=new O,Cf=new O,qa=new O;function mE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){qa.fromArray(n,s);const a=r.x*Math.abs(qa.x)+r.y*Math.abs(qa.y)+r.z*Math.abs(qa.z),l=e.dot(qa),A=t.dot(qa),h=i.dot(qa);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const OP=new $n,mA=new O,EE=new O;class Jn{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):OP.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;mA.subVectors(e,this.center);const t=mA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(mA,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):(EE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(mA.copy(e.center).add(EE)),this.expandByPoint(mA.copy(e.center).sub(EE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Js=new O,IE=new O,vf=new O,Yo=new O,yE=new O,Bf=new O,CE=new O;class Da{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,Js)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Js.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Js.copy(this.origin).addScaledVector(this.direction,t),Js.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){IE.copy(e).add(t).multiplyScalar(.5),vf.copy(t).sub(e).normalize(),Yo.copy(this.origin).sub(IE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(vf),a=Yo.dot(this.direction),l=-Yo.dot(vf),A=Yo.lengthSq(),h=Math.abs(1-o*o);let d,f,g,E;if(h>0)if(d=o*l-a,f=o*a-l,E=s*h,d>=0)if(f>=-E)if(f<=E){const C=1/h;d*=C,f*=C,g=d*(d+o*f+2*a)+f*(o*d+f+2*l)+A}else f=s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f=-s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f<=-E?(d=Math.max(0,-(-o*s+a)),f=d>0?-s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A):f<=E?(d=0,f=Math.min(Math.max(-s,-l),s),g=f*(f+2*l)+A):(d=Math.max(0,-(o*s+a)),f=d>0?s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A);else f=o>0?-s:s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(IE).addScaledVector(vf,f),g}intersectSphere(e,t){Js.subVectors(e.center,this.origin);const i=Js.dot(this.direction),r=Js.dot(Js)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const A=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,f=this.origin;return A>=0?(i=(e.min.x-f.x)*A,r=(e.max.x-f.x)*A):(i=(e.max.x-f.x)*A,r=(e.min.x-f.x)*A),h>=0?(s=(e.min.y-f.y)*h,o=(e.max.y-f.y)*h):(s=(e.max.y-f.y)*h,o=(e.min.y-f.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-f.z)*d,l=(e.max.z-f.z)*d):(a=(e.max.z-f.z)*d,l=(e.min.z-f.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Js)!==null}intersectTriangle(e,t,i,r,s){yE.subVectors(t,e),Bf.subVectors(i,e),CE.crossVectors(yE,Bf);let o=this.direction.dot(CE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Yo.subVectors(this.origin,e);const l=a*this.direction.dot(Bf.crossVectors(Yo,Bf));if(l<0)return null;const A=a*this.direction.dot(yE.cross(Yo));if(A<0||l+A>o)return null;const h=-a*Yo.dot(CE);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 ct{constructor(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){ct.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I)}set(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=d,p[14]=f,p[3]=g,p[7]=E,p[11]=C,p[15]=I,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ct().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/mc.setFromMatrixColumn(e,0).length(),s=1/mc.setFromMatrixColumn(e,1).length(),o=1/mc.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),A=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=-l*d,t[8]=A,t[1]=g+E*A,t[5]=f-C*A,t[9]=-a*l,t[2]=C-f*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f+C*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=C+f*a,t[10]=o*l}else if(e.order==="ZXY"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f-C*a,t[4]=-o*d,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=C-f*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=E*A-g,t[8]=f*A+C,t[1]=l*d,t[5]=C*A+f,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=C-f*d,t[8]=E*d+g,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*d+E,t[10]=f-C*d}else if(e.order==="XZY"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=-d,t[8]=A*h,t[1]=f*d+C,t[5]=o*h,t[9]=g*d-E,t[2]=E*d-g,t[6]=a*h,t[10]=C*d+f}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(GP,e,HP)}lookAt(e,t,i){const r=this.elements;return cr.subVectors(e,t),cr.lengthSq()===0&&(cr.z=1),cr.normalize(),Jo.crossVectors(i,cr),Jo.lengthSq()===0&&(Math.abs(i.z)===1?cr.x+=1e-4:cr.z+=1e-4,cr.normalize(),Jo.crossVectors(i,cr)),Jo.normalize(),xf.crossVectors(cr,Jo),r[0]=Jo.x,r[4]=xf.x,r[8]=cr.x,r[1]=Jo.y,r[5]=xf.y,r[9]=cr.y,r[2]=Jo.z,r[6]=xf.z,r[10]=cr.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],A=i[12],h=i[1],d=i[5],f=i[9],g=i[13],E=i[2],C=i[6],I=i[10],p=i[14],v=i[3],y=i[7],S=i[11],M=i[15],R=r[0],D=r[4],k=r[8],X=r[12],_=r[1],L=r[5],q=r[9],de=r[13],J=r[2],le=r[6],se=r[10],fe=r[14],F=r[3],Z=r[7],ne=r[11],Ae=r[15];return s[0]=o*R+a*_+l*J+A*F,s[4]=o*D+a*L+l*le+A*Z,s[8]=o*k+a*q+l*se+A*ne,s[12]=o*X+a*de+l*fe+A*Ae,s[1]=h*R+d*_+f*J+g*F,s[5]=h*D+d*L+f*le+g*Z,s[9]=h*k+d*q+f*se+g*ne,s[13]=h*X+d*de+f*fe+g*Ae,s[2]=E*R+C*_+I*J+p*F,s[6]=E*D+C*L+I*le+p*Z,s[10]=E*k+C*q+I*se+p*ne,s[14]=E*X+C*de+I*fe+p*Ae,s[3]=v*R+y*_+S*J+M*F,s[7]=v*D+y*L+S*le+M*Z,s[11]=v*k+y*q+S*se+M*ne,s[15]=v*X+y*de+S*fe+M*Ae,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],A=e[13],h=e[2],d=e[6],f=e[10],g=e[14],E=e[3],C=e[7],I=e[11],p=e[15];return E*(+s*l*d-r*A*d-s*a*f+i*A*f+r*a*g-i*l*g)+C*(+t*l*g-t*A*f+s*o*f-r*o*g+r*A*h-s*l*h)+I*(+t*A*d-t*a*g-s*o*d+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*d+t*a*f+r*o*d-i*o*f+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],A=e[7],h=e[8],d=e[9],f=e[10],g=e[11],E=e[12],C=e[13],I=e[14],p=e[15],v=d*I*A-C*f*A+C*l*g-a*I*g-d*l*p+a*f*p,y=E*f*A-h*I*A-E*l*g+o*I*g+h*l*p-o*f*p,S=h*C*A-E*d*A+E*a*g-o*C*g-h*a*p+o*d*p,M=E*d*l-h*C*l-E*a*f+o*C*f+h*a*I-o*d*I,R=t*v+i*y+r*S+s*M;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=v*D,e[1]=(C*f*s-d*I*s-C*r*g+i*I*g+d*r*p-i*f*p)*D,e[2]=(a*I*s-C*l*s+C*r*A-i*I*A-a*r*p+i*l*p)*D,e[3]=(d*l*s-a*f*s-d*r*A+i*f*A+a*r*g-i*l*g)*D,e[4]=y*D,e[5]=(h*I*s-E*f*s+E*r*g-t*I*g-h*r*p+t*f*p)*D,e[6]=(E*l*s-o*I*s-E*r*A+t*I*A+o*r*p-t*l*p)*D,e[7]=(o*f*s-h*l*s+h*r*A-t*f*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*d*s-h*C*s-E*i*g+t*C*g+h*i*p-t*d*p)*D,e[10]=(o*C*s-E*a*s+E*i*A-t*C*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*d*s-h*i*A+t*d*A+o*i*g-t*a*g)*D,e[12]=M*D,e[13]=(h*C*r-E*d*r+E*i*f-t*C*f-h*i*I+t*d*I)*D,e[14]=(E*a*r-o*C*r-E*i*l+t*C*l+o*i*I-t*a*I)*D,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*f+t*a*f)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,d=a+a,f=s*A,g=s*h,E=s*d,C=o*h,I=o*d,p=a*d,v=l*A,y=l*h,S=l*d,M=i.x,R=i.y,D=i.z;return r[0]=(1-(C+p))*M,r[1]=(g+S)*M,r[2]=(E-y)*M,r[3]=0,r[4]=(g-S)*R,r[5]=(1-(f+p))*R,r[6]=(I+v)*R,r[7]=0,r[8]=(E+y)*D,r[9]=(I-v)*D,r[10]=(1-(f+C))*D,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=mc.set(r[0],r[1],r[2]).length();const o=mc.set(r[4],r[5],r[6]).length(),a=mc.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],jr.copy(this);const A=1/s,h=1/o,d=1/a;return jr.elements[0]*=A,jr.elements[1]*=A,jr.elements[2]*=A,jr.elements[4]*=h,jr.elements[5]*=h,jr.elements[6]*=h,jr.elements[8]*=d,jr.elements[9]*=d,jr.elements[10]*=d,t.setFromRotationMatrix(jr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Qs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),f=(i+r)/(i-r);let g,E;if(a===Qs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Qh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Qs){const l=this.elements,A=1/(t-e),h=1/(i-r),d=1/(o-s),f=(t+e)*A,g=(i+r)*h;let E,C;if(a===Qs)E=(o+s)*d,C=-2*d;else if(a===Qh)E=s*d,C=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=C,l[14]=-E,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 mc=new O,jr=new ct,GP=new O(0,0,0),HP=new O(1,1,1),Jo=new O,xf=new O,cr=new O,gS=new ct,mS=new Hn;class Du{constructor(e=0,t=0,i=0,r=Du.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],A=r[5],h=r[9],d=r[2],f=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Un(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Un(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(Un(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Un(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Un(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Un(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 gS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(gS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return mS.setFromEuler(this),this.setFromQuaternion(mS,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}}Du.DEFAULT_ORDER="XYZ";class Ql{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),f.length>0&&(i.skeletons=f),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){qr.subVectors(r,t),Ks.subVectors(i,t),vE.subVectors(e,t);const o=qr.dot(qr),a=qr.dot(Ks),l=qr.dot(vE),A=Ks.dot(Ks),h=Ks.dot(vE),d=o*A-a*a;if(d===0)return s.set(0,0,0),null;const f=1/d,g=(A*l-a*h)*f,E=(o*h-a*l)*f;return s.set(1-g-E,E,g)}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 qr.subVectors(i,t),Ks.subVectors(e,t),qr.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 qr.subVectors(this.c,this.b),Ks.subVectors(this.a,this.b),qr.cross(Ks).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return dr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return dr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return dr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return dr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return dr.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;Ic.subVectors(r,i),yc.subVectors(s,i),BE.subVectors(e,i);const l=Ic.dot(BE),A=yc.dot(BE);if(l<=0&&A<=0)return t.copy(i);xE.subVectors(e,r);const h=Ic.dot(xE),d=yc.dot(xE);if(h>=0&&d<=h)return t.copy(r);const f=l*d-h*A;if(f<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(Ic,o);SE.subVectors(e,s);const g=Ic.dot(SE),E=yc.dot(SE);if(E>=0&&g<=E)return t.copy(s);const C=g*A-l*E;if(C<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(yc,a);const I=h*E-g*d;if(I<=0&&d-h>=0&&g-E>=0)return vS.subVectors(s,r),a=(d-h)/(d-h+(g-E)),t.copy(r).addScaledVector(vS,a);const p=1/(I+C+f);return o=C*p,a=f*p,t.copy(i).addScaledVector(Ic,o).addScaledVector(yc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const l2={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},Xo={h:0,s:0,l:0},wf={h:0,s:0,l:0};function wE(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 je{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,un.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=un.workingColorSpace){return this.r=e,this.g=t,this.b=i,un.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=un.workingColorSpace){if(e=Uv(e,1),t=Un(t,0,1),i=Un(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=wE(o,s,e+1/3),this.g=wE(o,s,e),this.b=wE(o,s,e-1/3)}return un.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=l2[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=fu(e.r),this.g=fu(e.g),this.b=fu(e.b),this}copyLinearToSRGB(e){return this.r=fE(e.r),this.g=fE(e.g),this.b=fE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return un.fromWorkingColorSpace(_i.copy(this),e),Math.round(Un(_i.r*255,0,255))*65536+Math.round(Un(_i.g*255,0,255))*256+Math.round(Un(_i.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=un.workingColorSpace){un.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,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const d=o-a;switch(A=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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Sl&&(i.blending=this.blending),this.side!==Hr&&(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!==yg&&(i.blendSrc=this.blendSrc),this.blendDst!==Cg&&(i.blendDst=this.blendDst),this.blendEquation!==sa&&(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!==gh&&(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!==rC&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Al&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Al&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Al&&(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 rr extends Ai{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const io=KP();function KP(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Zi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Un(n,-65504,65504),io.floatView[0]=n;const e=io.uint32View[0],t=e>>23&511;return io.baseTable[t]+((e&8388607)>>io.shiftTable[t])}function NA(n){const e=n>>10;return io.uint32View[0]=io.mantissaTable[io.offsetTable[e]+(n&1023)]+io.exponentTable[e],io.floatView[0]}const jP={toHalfFloat:Zi,fromHalfFloat:NA},Wn=new O,_f=new ve;class ln{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=_h,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Pr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return _l("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let d=0,f=A.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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],d=s[A];for(let f=0,g=d.length;f0){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))&&(BS.copy(s).invert(),Za.copy(e.ray).applyMatrix4(BS),!(i.boundingBox!==null&&Za.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Za)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,f=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,C=f.length;Et.far?null:{distance:A,point:Lf.clone(),object:n}}function Pf(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,vc),n.getVertexPosition(l,Bc),n.getVertexPosition(A,xc);const h=sN(n,e,t,i,vc,Bc,xc,bf);if(h){r&&(Rf.fromBufferAttribute(r,a),Df.fromBufferAttribute(r,l),Tf.fromBufferAttribute(r,A),h.uv=dr.getInterpolation(bf,vc,Bc,xc,Rf,Df,Tf,new ve)),s&&(Rf.fromBufferAttribute(s,a),Df.fromBufferAttribute(s,l),Tf.fromBufferAttribute(s,A),h.uv1=dr.getInterpolation(bf,vc,Bc,xc,Rf,Df,Tf,new ve),h.uv2=h.uv1),o&&(SS.fromBufferAttribute(o,a),wS.fromBufferAttribute(o,l),_S.fromBufferAttribute(o,A),h.normal=dr.getInterpolation(bf,vc,Bc,xc,SS,wS,_S,new O),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c:A,normal:new O,materialIndex:0};dr.getNormal(vc,Bc,xc,d.normal),h.face=d}return h}class zl extends Pt{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=[],A=[],h=[],d=[];let f=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new ot(A,3)),this.setAttribute("normal",new ot(h,3)),this.setAttribute("uv",new ot(d,2));function E(C,I,p,v,y,S,M,R,D,k,X){const _=S/D,L=M/k,q=S/2,de=M/2,J=R/2,le=D+1,se=k+1;let fe=0,F=0;const Z=new O;for(let ne=0;ne0?1:-1,h.push(Z.x,Z.y,Z.z),d.push(_e/D),d.push(1-ne/k),fe+=1}}for(let ne=0;ne>8&255]+wi[n>>16&255]+wi[n>>24&255]+"-"+wi[e&255]+wi[e>>8&255]+"-"+wi[e>>16&15|64]+wi[e>>24&255]+"-"+wi[t&63|128]+wi[t>>8&255]+"-"+wi[t>>16&255]+wi[t>>24&255]+wi[i&255]+wi[i>>8&255]+wi[i>>16&255]+wi[i>>24&255]).toLowerCase()}function Un(n,e,t){return Math.max(e,Math.min(t,n))}function Uv(n,e){return(n%e+e)%e}function IP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function yP(n,e,t){return n!==e?(t-n)/(e-n):0}function KA(n,e,t){return(1-t)*n+t*e}function CP(n,e,t,i){return KA(n,e,1-Math.exp(-t*i))}function vP(n,e=1){return e-Math.abs(Uv(n,e*2)-e)}function BP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function xP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function SP(n,e){return n+Math.floor(Math.random()*(e-n+1))}function wP(n,e){return n+Math.random()*(e-n)}function _P(n){return n*(.5-Math.random())}function QP(n){n!==void 0&&(hS=n);let e=hS+=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 MP(n){return n*wl}function RP(n){return n*xu}function oC(n){return(n&n-1)===0&&n!==0}function DP(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function xg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function TP(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),f=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*f,a*A);break;case"YZY":n.set(l*f,a*h,l*d,a*A);break;case"ZXZ":n.set(l*d,l*f,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);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 Lt(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 bP={DEG2RAD:wl,RAD2DEG:xu,generateUUID:mr,clamp:Un,euclideanModulo:Uv,mapLinear:IP,inverseLerp:yP,lerp:KA,damp:CP,pingpong:vP,smoothstep:BP,smootherstep:xP,randInt:SP,randFloat:wP,randFloatSpread:_P,seededRandom:QP,degToRad:MP,radToDeg:RP,isPowerOfTwo:oC,ceilPowerOfTwo:DP,floorPowerOfTwo:xg,setQuaternionFromProperEuler:TP,normalize:Lt,denormalize:Hi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Un(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Mt{constructor(e,t,i,r,s,o,a,l,A){Mt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],d=i[7],f=i[2],g=i[5],E=i[8],C=r[0],I=r[3],p=r[6],y=r[1],v=r[4],S=r[7],M=r[2],R=r[5],D=r[8];return s[0]=o*C+a*y+l*M,s[3]=o*I+a*v+l*R,s[6]=o*p+a*S+l*D,s[1]=A*C+h*y+d*M,s[4]=A*I+h*v+d*R,s[7]=A*p+h*S+d*D,s[2]=f*C+g*y+E*M,s[5]=f*I+g*v+E*R,s[8]=f*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],d=h*o-a*A,f=a*l-h*s,g=A*s-o*l,E=t*d+i*f+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const C=1/E;return e[0]=d*C,e[1]=(r*A-h*i)*C,e[2]=(a*i-r*o)*C,e[3]=f*C,e[4]=(h*t-r*l)*C,e[5]=(r*s-a*t)*C,e[6]=g*C,e[7]=(i*l-A*t)*C,e[8]=(o*t-i*s)*C,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(dE.makeScale(e,t)),this}rotate(e){return this.premultiply(dE.makeRotation(-e)),this}translate(e,t){return this.premultiply(dE.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 dE=new Mt;function o2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const LP={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function iu(n,e){return new LP[n](e)}function Mh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function a2(){const n=Mh("canvas");return n.style.display="block",n}const dS={};function _l(n){n in dS||(dS[n]=!0,console.warn(n))}const fS=new Mt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),pS=new Mt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Ef={[Ls]:{transfer:xh,primaries:Sh,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:pn,primaries:Sh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Jh]:{transfer:xh,primaries:wh,toReference:n=>n.applyMatrix3(pS),fromReference:n=>n.applyMatrix3(fS)},[qg]:{transfer:pn,primaries:wh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(pS),fromReference:n=>n.applyMatrix3(fS).convertLinearToSRGB()}},PP=new Set([Ls,Jh]),un={enabled:!0,_workingColorSpace:Ls,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!PP.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=Ef[e].toReference,r=Ef[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 Ef[n].primaries},getTransfer:function(n){return n===hr?xh:Ef[n].transfer}};function fu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function fE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let dc;class kv{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{dc===void 0&&(dc=Mh("canvas")),dc.width=e.width,dc.height=e.height;const i=dc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=dc}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=Mh("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!==Xg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ih:e.x=e.x-Math.floor(e.x);break;case Ri:e.x=e.x<0?0:1;break;case yh: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 Ih:e.y=e.y-Math.floor(e.y);break;case Ri:e.y=e.y<0?0:1;break;case yh: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)}get encoding(){return _l("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?Ia:Lv}set encoding(e){_l("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Ia?Nn:hr}}Sn.DEFAULT_IMAGE=null;Sn.DEFAULT_MAPPING=Xg;Sn.DEFAULT_ANISOTROPY=1;class An{constructor(e=0,t=0,i=0,r=1){An.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,A=l[0],h=l[4],d=l[8],f=l[1],g=l[5],E=l[9],C=l[2],I=l[6],p=l[10];if(Math.abs(h-f)<.01&&Math.abs(d-C)<.01&&Math.abs(E-I)<.01){if(Math.abs(h+f)<.1&&Math.abs(d+C)<.1&&Math.abs(E+I)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(A+1)/2,S=(g+1)/2,M=(p+1)/2,R=(h+f)/4,D=(d+C)/4,k=(E+I)/4;return v>S&&v>M?v<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(v),r=R/i,s=D/i):S>M?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=R/r,s=k/r):M<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(M),i=D/s,r=k/s),this.set(i,r,s,t),this}let y=Math.sqrt((I-E)*(I-E)+(d-C)*(d-C)+(f-h)*(f-h));return Math.abs(y)<.001&&(y=1),this.x=(I-E)/y,this.y=(d-C)/y,this.z=(f-h)/y,this.w=Math.acos((A+g+p-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 l2 extends Io{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new An(0,0,e,t),this.scissorTest=!1,this.viewport=new An(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(_l("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Ia?Nn:hr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new Sn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new yl(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class zr extends l2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Zg extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class kP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Zg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Fv extends Sn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class FP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Fv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class OP extends zr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,v=1-p*p;if(v>Number.EPSILON){const M=Math.sqrt(v),R=Math.atan2(M,p*y);I=Math.sin(I*R)/M,a=Math.sin(a*R)/M}const S=a*y;if(l=l*I+f*S,A=A*I+g*S,h=h*I+E*S,d=d*I+C*S,I===1-a){const M=1/Math.sqrt(l*l+A*A+h*h+d*d);l*=M,A*=M,h*=M,d*=M}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],d=s[o],f=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*d+l*g-A*f,e[t+1]=l*E+h*f+A*d-a*g,e[t+2]=A*E+h*g+a*f-l*d,e[t+3]=h*E-a*d-l*f-A*g,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,A=a(i/2),h=a(r/2),d=a(s/2),f=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"YXZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"ZXY":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"ZYX":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"YZX":this._x=f*h*d+A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d-f*g*E;break;case"XZY":this._x=f*h*d-A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d+f*g*E;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],A=t[2],h=t[6],d=t[10],f=i+a+d;if(f>0){const g=.5/Math.sqrt(f+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>d){const g=2*Math.sqrt(1+i-a-d);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>d){const g=2*Math.sqrt(1+a-i-d);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+d-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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(Un(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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),d=Math.sin((1-t)*h)/A,f=Math.sin(t*h)/A;return this._w=o*d+this._w*f,this._x=i*d+this._x*f,this._y=r*d+this._y*f,this._z=s*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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(gS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(gS.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,A=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*A+o*d-a*h,this.y=i+l*h+a*A-s*d,this.z=r+l*d+s*h-o*A,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 gE.copy(this).projectOnVector(e),this.sub(gE)}reflect(e){return this.sub(gE.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(Un(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const gE=new O,gS=new Hn;class $n{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,Kr),Kr.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(gA),yf.subVectors(this.max,gA),fc.subVectors(e.a,gA),pc.subVectors(e.b,gA),gc.subVectors(e.c,gA),Vo.subVectors(pc,fc),Wo.subVectors(gc,pc),ja.subVectors(fc,gc);let t=[0,-Vo.z,Vo.y,0,-Wo.z,Wo.y,0,-ja.z,ja.y,Vo.z,0,-Vo.x,Wo.z,0,-Wo.x,ja.z,0,-ja.x,-Vo.y,Vo.x,0,-Wo.y,Wo.x,0,-ja.y,ja.x,0];return!mE(t,fc,pc,gc,yf)||(t=[1,0,0,0,1,0,0,0,1],!mE(t,fc,pc,gc,yf))?!1:(Cf.crossVectors(Vo,Wo),t=[Cf.x,Cf.y,Cf.z],mE(t,fc,pc,gc,yf))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Kr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Kr).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:(Ys[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ys[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ys[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ys[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ys[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ys[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ys[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ys[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ys),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 Ys=[new O,new O,new O,new O,new O,new O,new O,new O],Kr=new O,If=new $n,fc=new O,pc=new O,gc=new O,Vo=new O,Wo=new O,ja=new O,gA=new O,yf=new O,Cf=new O,qa=new O;function mE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){qa.fromArray(n,s);const a=r.x*Math.abs(qa.x)+r.y*Math.abs(qa.y)+r.z*Math.abs(qa.z),l=e.dot(qa),A=t.dot(qa),h=i.dot(qa);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const GP=new $n,mA=new O,EE=new O;class Jn{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):GP.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;mA.subVectors(e,this.center);const t=mA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(mA,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):(EE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(mA.copy(e.center).add(EE)),this.expandByPoint(mA.copy(e.center).sub(EE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Js=new O,IE=new O,vf=new O,Yo=new O,yE=new O,Bf=new O,CE=new O;class Da{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,Js)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Js.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Js.copy(this.origin).addScaledVector(this.direction,t),Js.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){IE.copy(e).add(t).multiplyScalar(.5),vf.copy(t).sub(e).normalize(),Yo.copy(this.origin).sub(IE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(vf),a=Yo.dot(this.direction),l=-Yo.dot(vf),A=Yo.lengthSq(),h=Math.abs(1-o*o);let d,f,g,E;if(h>0)if(d=o*l-a,f=o*a-l,E=s*h,d>=0)if(f>=-E)if(f<=E){const C=1/h;d*=C,f*=C,g=d*(d+o*f+2*a)+f*(o*d+f+2*l)+A}else f=s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f=-s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f<=-E?(d=Math.max(0,-(-o*s+a)),f=d>0?-s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A):f<=E?(d=0,f=Math.min(Math.max(-s,-l),s),g=f*(f+2*l)+A):(d=Math.max(0,-(o*s+a)),f=d>0?s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A);else f=o>0?-s:s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(IE).addScaledVector(vf,f),g}intersectSphere(e,t){Js.subVectors(e.center,this.origin);const i=Js.dot(this.direction),r=Js.dot(Js)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const A=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,f=this.origin;return A>=0?(i=(e.min.x-f.x)*A,r=(e.max.x-f.x)*A):(i=(e.max.x-f.x)*A,r=(e.min.x-f.x)*A),h>=0?(s=(e.min.y-f.y)*h,o=(e.max.y-f.y)*h):(s=(e.max.y-f.y)*h,o=(e.min.y-f.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-f.z)*d,l=(e.max.z-f.z)*d):(a=(e.max.z-f.z)*d,l=(e.min.z-f.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Js)!==null}intersectTriangle(e,t,i,r,s){yE.subVectors(t,e),Bf.subVectors(i,e),CE.crossVectors(yE,Bf);let o=this.direction.dot(CE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Yo.subVectors(this.origin,e);const l=a*this.direction.dot(Bf.crossVectors(Yo,Bf));if(l<0)return null;const A=a*this.direction.dot(yE.cross(Yo));if(A<0||l+A>o)return null;const h=-a*Yo.dot(CE);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 ut{constructor(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){ut.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,A,h,d,f,g,E,C,I)}set(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=d,p[14]=f,p[3]=g,p[7]=E,p[11]=C,p[15]=I,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 ut().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/mc.setFromMatrixColumn(e,0).length(),s=1/mc.setFromMatrixColumn(e,1).length(),o=1/mc.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),A=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=-l*d,t[8]=A,t[1]=g+E*A,t[5]=f-C*A,t[9]=-a*l,t[2]=C-f*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f+C*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=C+f*a,t[10]=o*l}else if(e.order==="ZXY"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f-C*a,t[4]=-o*d,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=C-f*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=E*A-g,t[8]=f*A+C,t[1]=l*d,t[5]=C*A+f,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=C-f*d,t[8]=E*d+g,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*d+E,t[10]=f-C*d}else if(e.order==="XZY"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=-d,t[8]=A*h,t[1]=f*d+C,t[5]=o*h,t[9]=g*d-E,t[2]=E*d-g,t[6]=a*h,t[10]=C*d+f}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(HP,e,zP)}lookAt(e,t,i){const r=this.elements;return cr.subVectors(e,t),cr.lengthSq()===0&&(cr.z=1),cr.normalize(),Jo.crossVectors(i,cr),Jo.lengthSq()===0&&(Math.abs(i.z)===1?cr.x+=1e-4:cr.z+=1e-4,cr.normalize(),Jo.crossVectors(i,cr)),Jo.normalize(),xf.crossVectors(cr,Jo),r[0]=Jo.x,r[4]=xf.x,r[8]=cr.x,r[1]=Jo.y,r[5]=xf.y,r[9]=cr.y,r[2]=Jo.z,r[6]=xf.z,r[10]=cr.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],A=i[12],h=i[1],d=i[5],f=i[9],g=i[13],E=i[2],C=i[6],I=i[10],p=i[14],y=i[3],v=i[7],S=i[11],M=i[15],R=r[0],D=r[4],k=r[8],X=r[12],_=r[1],L=r[5],q=r[9],de=r[13],J=r[2],ae=r[6],re=r[10],fe=r[14],F=r[3],Z=r[7],ne=r[11],Ae=r[15];return s[0]=o*R+a*_+l*J+A*F,s[4]=o*D+a*L+l*ae+A*Z,s[8]=o*k+a*q+l*re+A*ne,s[12]=o*X+a*de+l*fe+A*Ae,s[1]=h*R+d*_+f*J+g*F,s[5]=h*D+d*L+f*ae+g*Z,s[9]=h*k+d*q+f*re+g*ne,s[13]=h*X+d*de+f*fe+g*Ae,s[2]=E*R+C*_+I*J+p*F,s[6]=E*D+C*L+I*ae+p*Z,s[10]=E*k+C*q+I*re+p*ne,s[14]=E*X+C*de+I*fe+p*Ae,s[3]=y*R+v*_+S*J+M*F,s[7]=y*D+v*L+S*ae+M*Z,s[11]=y*k+v*q+S*re+M*ne,s[15]=y*X+v*de+S*fe+M*Ae,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],A=e[13],h=e[2],d=e[6],f=e[10],g=e[14],E=e[3],C=e[7],I=e[11],p=e[15];return E*(+s*l*d-r*A*d-s*a*f+i*A*f+r*a*g-i*l*g)+C*(+t*l*g-t*A*f+s*o*f-r*o*g+r*A*h-s*l*h)+I*(+t*A*d-t*a*g-s*o*d+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*d+t*a*f+r*o*d-i*o*f+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],A=e[7],h=e[8],d=e[9],f=e[10],g=e[11],E=e[12],C=e[13],I=e[14],p=e[15],y=d*I*A-C*f*A+C*l*g-a*I*g-d*l*p+a*f*p,v=E*f*A-h*I*A-E*l*g+o*I*g+h*l*p-o*f*p,S=h*C*A-E*d*A+E*a*g-o*C*g-h*a*p+o*d*p,M=E*d*l-h*C*l-E*a*f+o*C*f+h*a*I-o*d*I,R=t*y+i*v+r*S+s*M;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=y*D,e[1]=(C*f*s-d*I*s-C*r*g+i*I*g+d*r*p-i*f*p)*D,e[2]=(a*I*s-C*l*s+C*r*A-i*I*A-a*r*p+i*l*p)*D,e[3]=(d*l*s-a*f*s-d*r*A+i*f*A+a*r*g-i*l*g)*D,e[4]=v*D,e[5]=(h*I*s-E*f*s+E*r*g-t*I*g-h*r*p+t*f*p)*D,e[6]=(E*l*s-o*I*s-E*r*A+t*I*A+o*r*p-t*l*p)*D,e[7]=(o*f*s-h*l*s+h*r*A-t*f*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*d*s-h*C*s-E*i*g+t*C*g+h*i*p-t*d*p)*D,e[10]=(o*C*s-E*a*s+E*i*A-t*C*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*d*s-h*i*A+t*d*A+o*i*g-t*a*g)*D,e[12]=M*D,e[13]=(h*C*r-E*d*r+E*i*f-t*C*f-h*i*I+t*d*I)*D,e[14]=(E*a*r-o*C*r-E*i*l+t*C*l+o*i*I-t*a*I)*D,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*f+t*a*f)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,d=a+a,f=s*A,g=s*h,E=s*d,C=o*h,I=o*d,p=a*d,y=l*A,v=l*h,S=l*d,M=i.x,R=i.y,D=i.z;return r[0]=(1-(C+p))*M,r[1]=(g+S)*M,r[2]=(E-v)*M,r[3]=0,r[4]=(g-S)*R,r[5]=(1-(f+p))*R,r[6]=(I+y)*R,r[7]=0,r[8]=(E+v)*D,r[9]=(I-y)*D,r[10]=(1-(f+C))*D,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=mc.set(r[0],r[1],r[2]).length();const o=mc.set(r[4],r[5],r[6]).length(),a=mc.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],jr.copy(this);const A=1/s,h=1/o,d=1/a;return jr.elements[0]*=A,jr.elements[1]*=A,jr.elements[2]*=A,jr.elements[4]*=h,jr.elements[5]*=h,jr.elements[6]*=h,jr.elements[8]*=d,jr.elements[9]*=d,jr.elements[10]*=d,t.setFromRotationMatrix(jr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Qs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),f=(i+r)/(i-r);let g,E;if(a===Qs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Qh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Qs){const l=this.elements,A=1/(t-e),h=1/(i-r),d=1/(o-s),f=(t+e)*A,g=(i+r)*h;let E,C;if(a===Qs)E=(o+s)*d,C=-2*d;else if(a===Qh)E=s*d,C=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=C,l[14]=-E,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 mc=new O,jr=new ut,HP=new O(0,0,0),zP=new O(1,1,1),Jo=new O,xf=new O,cr=new O,mS=new ut,ES=new Hn;class Du{constructor(e=0,t=0,i=0,r=Du.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],A=r[5],h=r[9],d=r[2],f=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Un(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Un(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(Un(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Un(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Un(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Un(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 mS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(mS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return ES.setFromEuler(this),this.setFromQuaternion(ES,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}}Du.DEFAULT_ORDER="XYZ";class Ql{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),f.length>0&&(i.skeletons=f),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){qr.subVectors(r,t),Ks.subVectors(i,t),vE.subVectors(e,t);const o=qr.dot(qr),a=qr.dot(Ks),l=qr.dot(vE),A=Ks.dot(Ks),h=Ks.dot(vE),d=o*A-a*a;if(d===0)return s.set(0,0,0),null;const f=1/d,g=(A*l-a*h)*f,E=(o*h-a*l)*f;return s.set(1-g-E,E,g)}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 qr.subVectors(i,t),Ks.subVectors(e,t),qr.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 qr.subVectors(this.c,this.b),Ks.subVectors(this.a,this.b),qr.cross(Ks).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return dr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return dr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return dr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return dr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return dr.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;Ic.subVectors(r,i),yc.subVectors(s,i),BE.subVectors(e,i);const l=Ic.dot(BE),A=yc.dot(BE);if(l<=0&&A<=0)return t.copy(i);xE.subVectors(e,r);const h=Ic.dot(xE),d=yc.dot(xE);if(h>=0&&d<=h)return t.copy(r);const f=l*d-h*A;if(f<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(Ic,o);SE.subVectors(e,s);const g=Ic.dot(SE),E=yc.dot(SE);if(E>=0&&g<=E)return t.copy(s);const C=g*A-l*E;if(C<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(yc,a);const I=h*E-g*d;if(I<=0&&d-h>=0&&g-E>=0)return BS.subVectors(s,r),a=(d-h)/(d-h+(g-E)),t.copy(r).addScaledVector(BS,a);const p=1/(I+C+f);return o=C*p,a=f*p,t.copy(i).addScaledVector(Ic,o).addScaledVector(yc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const c2={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},Xo={h:0,s:0,l:0},wf={h:0,s:0,l:0};function wE(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 je{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,un.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=un.workingColorSpace){return this.r=e,this.g=t,this.b=i,un.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=un.workingColorSpace){if(e=Uv(e,1),t=Un(t,0,1),i=Un(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=wE(o,s,e+1/3),this.g=wE(o,s,e),this.b=wE(o,s,e-1/3)}return un.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=c2[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=fu(e.r),this.g=fu(e.g),this.b=fu(e.b),this}copyLinearToSRGB(e){return this.r=fE(e.r),this.g=fE(e.g),this.b=fE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return un.fromWorkingColorSpace(_i.copy(this),e),Math.round(Un(_i.r*255,0,255))*65536+Math.round(Un(_i.g*255,0,255))*256+Math.round(Un(_i.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=un.workingColorSpace){un.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,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const d=o-a;switch(A=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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Sl&&(i.blending=this.blending),this.side!==Hr&&(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!==yg&&(i.blendSrc=this.blendSrc),this.blendDst!==Cg&&(i.blendDst=this.blendDst),this.blendEquation!==sa&&(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!==gh&&(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!==rC&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Al&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Al&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Al&&(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 rr extends ri{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const io=jP();function jP(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Zi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Un(n,-65504,65504),io.floatView[0]=n;const e=io.uint32View[0],t=e>>23&511;return io.baseTable[t]+((e&8388607)>>io.shiftTable[t])}function NA(n){const e=n>>10;return io.uint32View[0]=io.mantissaTable[io.offsetTable[e]+(n&1023)]+io.exponentTable[e],io.floatView[0]}const qP={toHalfFloat:Zi,fromHalfFloat:NA},Wn=new O,_f=new ve;class ln{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=_h,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Pr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return _l("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let d=0,f=A.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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],d=s[A];for(let f=0,g=d.length;f0){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))&&(xS.copy(s).invert(),Za.copy(e.ray).applyMatrix4(xS),!(i.boundingBox!==null&&Za.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Za)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,f=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,C=f.length;Et.far?null:{distance:A,point:Lf.clone(),object:n}}function Pf(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,vc),n.getVertexPosition(l,Bc),n.getVertexPosition(A,xc);const h=oN(n,e,t,i,vc,Bc,xc,bf);if(h){r&&(Rf.fromBufferAttribute(r,a),Df.fromBufferAttribute(r,l),Tf.fromBufferAttribute(r,A),h.uv=dr.getInterpolation(bf,vc,Bc,xc,Rf,Df,Tf,new ve)),s&&(Rf.fromBufferAttribute(s,a),Df.fromBufferAttribute(s,l),Tf.fromBufferAttribute(s,A),h.uv1=dr.getInterpolation(bf,vc,Bc,xc,Rf,Df,Tf,new ve),h.uv2=h.uv1),o&&(wS.fromBufferAttribute(o,a),_S.fromBufferAttribute(o,l),QS.fromBufferAttribute(o,A),h.normal=dr.getInterpolation(bf,vc,Bc,xc,wS,_S,QS,new O),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c:A,normal:new O,materialIndex:0};dr.getNormal(vc,Bc,xc,d.normal),h.face=d}return h}class zl extends Pt{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=[],A=[],h=[],d=[];let f=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new at(A,3)),this.setAttribute("normal",new at(h,3)),this.setAttribute("uv",new at(d,2));function E(C,I,p,y,v,S,M,R,D,k,X){const _=S/D,L=M/k,q=S/2,de=M/2,J=R/2,ae=D+1,re=k+1;let fe=0,F=0;const Z=new O;for(let ne=0;ne0?1:-1,h.push(Z.x,Z.y,Z.z),d.push(_e/D),d.push(1-ne/k),fe+=1}}for(let ne=0;ne0&&(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 Xh extends zt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ct,this.projectionMatrix=new ct,this.projectionMatrixInverse=new ct,this.coordinateSystem=Qs}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 Ko=new O,QS=new ve,MS=new ve;class qn extends Xh{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=xu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(wl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return xu*2*Math.atan(Math.tan(wl*.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){Ko.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Ko.x,Ko.y).multiplyScalar(-e/Ko.z),Ko.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Ko.x,Ko.y).multiplyScalar(-e/Ko.z)}getViewSize(e,t){return this.getViewBounds(e,QS,MS),t.subVectors(MS,QS)}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(wl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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,wc=1;class A2 extends zt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(Sc,wc,e,t);r.layers=this.layers,this.add(r);const s=new qn(Sc,wc,e,t);s.layers=this.layers,this.add(s);const o=new qn(Sc,wc,e,t);o.layers=this.layers,this.add(o);const a=new qn(Sc,wc,e,t);a.layers=this.layers,this.add(a);const l=new qn(Sc,wc,e,t);l.layers=this.layers,this.add(l);const A=new qn(Sc,wc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Qs)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===Qh)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 A of t)this.add(A),A.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,A,h]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const C=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,A),i.texture.generateMipmaps=C,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,f,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Kh extends Sn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:mo,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class h2 extends zr{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];t.encoding!==void 0&&(_l("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Ia?Nn:hr),this.texture=new Kh(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:Cn}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:` +}`;class as extends ri{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=lN,this.fragmentShader=cN,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Su(e.uniforms),this.uniformsGroups=aN(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Xh extends zt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ut,this.projectionMatrix=new ut,this.projectionMatrixInverse=new ut,this.coordinateSystem=Qs}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 Ko=new O,MS=new ve,RS=new ve;class qn extends Xh{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=xu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(wl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return xu*2*Math.atan(Math.tan(wl*.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){Ko.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Ko.x,Ko.y).multiplyScalar(-e/Ko.z),Ko.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Ko.x,Ko.y).multiplyScalar(-e/Ko.z)}getViewSize(e,t){return this.getViewBounds(e,MS,RS),t.subVectors(RS,MS)}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(wl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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,wc=1;class h2 extends zt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(Sc,wc,e,t);r.layers=this.layers,this.add(r);const s=new qn(Sc,wc,e,t);s.layers=this.layers,this.add(s);const o=new qn(Sc,wc,e,t);o.layers=this.layers,this.add(o);const a=new qn(Sc,wc,e,t);a.layers=this.layers,this.add(a);const l=new qn(Sc,wc,e,t);l.layers=this.layers,this.add(l);const A=new qn(Sc,wc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Qs)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===Qh)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 A of t)this.add(A),A.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,A,h]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const C=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,A),i.texture.generateMipmaps=C,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,f,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Kh extends Sn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:mo,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class d2 extends zr{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];t.encoding!==void 0&&(_l("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Ia?Nn:hr),this.texture=new Kh(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:Cn}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; @@ -80,9 +80,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new zl(5,5,5),s=new as({name:"CubemapFromEquirect",uniforms:Su(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Vi,blending:Ao});s.uniforms.tEquirect.value=t;const o=new nn(r,s),a=t.minFilter;return t.minFilter===_s&&(t.minFilter=Cn),new A2(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 ME=new O,cN=new O,uN=new Mt;class sn{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=ME.subVectors(i,t).cross(cN.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(ME),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||uN.getNormalMatrix(e),r=this.coplanarPoint(ME).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 $a=new Jn,Nf=new O;class jh{constructor(e=new sn,t=new sn,i=new sn,r=new sn,s=new sn,o=new sn){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=Qs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],d=r[6],f=r[7],g=r[8],E=r[9],C=r[10],I=r[11],p=r[12],v=r[13],y=r[14],S=r[15];if(i[0].setComponents(l-s,f-A,I-g,S-p).normalize(),i[1].setComponents(l+s,f+A,I+g,S+p).normalize(),i[2].setComponents(l+o,f+h,I+E,S+v).normalize(),i[3].setComponents(l-o,f-h,I-E,S-v).normalize(),i[4].setComponents(l-a,f-d,I-C,S-y).normalize(),t===Qs)i[5].setComponents(l+a,f+d,I+C,S+y).normalize();else if(t===Qh)i[5].setComponents(a,d,C,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(),$a.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),$a.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere($a)}intersectsSprite(e){return $a.center.set(0,0,0),$a.radius=.7071067811865476,$a.applyMatrix4(e.matrixWorld),this.intersectsSphere($a)}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,Nf.y=r.normal.y>0?e.max.y:e.min.y,Nf.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Nf)<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 d2(){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 AN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const d=A.array,f=A.usage,g=d.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,d,f),A.onUploadCallback();let C;if(d instanceof Float32Array)C=n.FLOAT;else if(d instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)C=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else C=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)C=n.SHORT;else if(d instanceof Uint32Array)C=n.UNSIGNED_INT;else if(d instanceof Int32Array)C=n.INT;else if(d instanceof Int8Array)C=n.BYTE;else if(d instanceof Uint8Array)C=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)C=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:E,type:C,bytesPerElement:d.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,d){const f=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(d,A),g.count===-1&&E.length===0&&n.bufferSubData(d,0,f),E.length!==0){for(let C=0,I=E.length;C1?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(ME).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 $a=new Jn,Nf=new O;class jh{constructor(e=new sn,t=new sn,i=new sn,r=new sn,s=new sn,o=new sn){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=Qs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],d=r[6],f=r[7],g=r[8],E=r[9],C=r[10],I=r[11],p=r[12],y=r[13],v=r[14],S=r[15];if(i[0].setComponents(l-s,f-A,I-g,S-p).normalize(),i[1].setComponents(l+s,f+A,I+g,S+p).normalize(),i[2].setComponents(l+o,f+h,I+E,S+y).normalize(),i[3].setComponents(l-o,f-h,I-E,S-y).normalize(),i[4].setComponents(l-a,f-d,I-C,S-v).normalize(),t===Qs)i[5].setComponents(l+a,f+d,I+C,S+v).normalize();else if(t===Qh)i[5].setComponents(a,d,C,v).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(),$a.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),$a.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere($a)}intersectsSprite(e){return $a.center.set(0,0,0),$a.radius=.7071067811865476,$a.applyMatrix4(e.matrixWorld),this.intersectsSphere($a)}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,Nf.y=r.normal.y>0?e.max.y:e.min.y,Nf.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Nf)<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 f2(){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 hN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const d=A.array,f=A.usage,g=d.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,d,f),A.onUploadCallback();let C;if(d instanceof Float32Array)C=n.FLOAT;else if(d instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)C=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else C=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)C=n.SHORT;else if(d instanceof Uint32Array)C=n.UNSIGNED_INT;else if(d instanceof Int32Array)C=n.INT;else if(d instanceof Int8Array)C=n.BYTE;else if(d instanceof Uint8Array)C=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)C=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:E,type:C,bytesPerElement:d.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,d){const f=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(d,A),g.count===-1&&E.length===0&&n.bufferSubData(d,0,f),E.length!==0){for(let C=0,I=E.length;C 0 +#endif`,QN=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -312,26 +312,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,QN=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,MN=`#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`,DN=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,DN=`#if defined( USE_COLOR_ALPHA ) +#endif`,TN=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,TN=`#if defined( USE_COLOR_ALPHA ) +#endif`,bN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,bN=`#if defined( USE_COLOR_ALPHA ) +#endif`,LN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,LN=`#if defined( USE_COLOR_ALPHA ) +#endif`,PN=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -341,7 +341,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,PN=`#define PI 3.141592653589793 +#endif`,NN=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -419,7 +419,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 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`,NN=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,UN=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -512,7 +512,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,UN=`vec3 transformedNormal = objectNormal; +#endif`,kN=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -541,18 +541,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,kN=`#ifdef USE_DISPLACEMENTMAP +#endif`,FN=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,FN=`#ifdef USE_DISPLACEMENTMAP +#endif`,ON=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,ON=`#ifdef USE_EMISSIVEMAP +#endif`,GN=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,GN=`#ifdef USE_EMISSIVEMAP +#endif`,HN=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,HN="gl_FragColor = linearToOutputTexel( gl_FragColor );",zN=` +#endif`,zN="gl_FragColor = linearToOutputTexel( gl_FragColor );",VN=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -580,7 +580,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,VN=`#ifdef USE_ENVMAP +}`,WN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -609,7 +609,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,WN=`#ifdef USE_ENVMAP +#endif`,YN=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -618,7 +618,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,YN=`#ifdef USE_ENVMAP +#endif`,JN=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -629,7 +629,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,JN=`#ifdef USE_ENVMAP +#endif`,XN=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -640,7 +640,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,XN=`#ifdef USE_ENVMAP +#endif`,KN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -657,18 +657,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,KN=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,jN=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,qN=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,ZN=`#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`,ZN=`#ifdef USE_FOG +#endif`,$N=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -677,7 +677,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,$N=`#ifdef USE_GRADIENTMAP +#endif`,eU=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -689,16 +689,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 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 -}`,eU=`#ifdef USE_LIGHTMAP +}`,tU=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,tU=`#ifdef USE_LIGHTMAP +#endif`,nU=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,nU=`LambertMaterial material; +#endif`,iU=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,iU=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,rU=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -712,7 +712,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,rU=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,sU=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -835,7 +835,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,sU=`#ifdef USE_ENVMAP +#endif`,oU=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -868,8 +868,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,oU=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,aU=`varying vec3 vViewPosition; +#endif`,aU=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,lU=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -881,11 +881,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,lU=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,cU=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,cU=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,uU=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -902,7 +902,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,uU=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,AU=`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 ); @@ -985,7 +985,7 @@ material.roughness = min( material.roughness, 1.0 ); 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`,AU=`struct PhysicalMaterial { +#endif`,hU=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1285,7 +1285,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #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 ); -}`,hU=` +}`,dU=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1400,7 +1400,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,dU=`#if defined( RE_IndirectDiffuse ) +#endif`,fU=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1419,25 +1419,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,fU=`#if defined( RE_IndirectDiffuse ) +#endif`,pU=`#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`,pU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,gU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,mU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,mU=`#ifdef USE_LOGDEPTHBUF +#endif`,EU=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,EU=`#ifdef USE_LOGDEPTHBUF +#endif`,IU=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1447,16 +1447,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,IU=`#ifdef USE_MAP +#endif`,yU=`#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`,yU=`#ifdef USE_MAP +#endif`,CU=`#ifdef USE_MAP uniform sampler2D map; -#endif`,CU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,vU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1468,7 +1468,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,vU=`#if defined( USE_POINTS_UV ) +#endif`,BU=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1480,13 +1480,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,BU=`float metalnessFactor = metalness; +#endif`,xU=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,xU=`#ifdef USE_METALNESSMAP +#endif`,SU=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,SU=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,wU=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1495,7 +1495,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,wU=`#ifdef USE_MORPHNORMALS +#endif`,_U=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1507,7 +1507,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,_U=`#ifdef USE_MORPHTARGETS +#endif`,QU=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1527,7 +1527,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,QU=`#ifdef USE_MORPHTARGETS +#endif`,MU=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1545,7 +1545,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,MU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,RU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1586,7 +1586,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,RU=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,DU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1601,25 +1601,25 @@ vec3 nonPerturbedNormal = normal;`,RU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,DU=`#ifndef FLAT_SHADED +#endif`,TU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,TU=`#ifndef FLAT_SHADED +#endif`,bU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,bU=`#ifndef FLAT_SHADED +#endif`,LU=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,LU=`#ifdef USE_NORMALMAP +#endif`,PU=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1641,13 +1641,13 @@ vec3 nonPerturbedNormal = normal;`,RU=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,PU=`#ifdef USE_CLEARCOAT +#endif`,NU=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,NU=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,UU=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,UU=`#ifdef USE_CLEARCOATMAP +#endif`,kU=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1656,18 +1656,18 @@ vec3 nonPerturbedNormal = normal;`,RU=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,kU=`#ifdef USE_IRIDESCENCEMAP +#endif`,FU=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,FU=`#ifdef OPAQUE +#endif`,OU=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,OU=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,GU=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1708,9 +1708,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } 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 +}`,HU=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,HU=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,zU=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1718,22 +1718,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,VU=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,VU=`#ifdef DITHERING +#endif`,WU=`#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`,WU=`float roughnessFactor = roughness; +#endif`,YU=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,YU=`#ifdef USE_ROUGHNESSMAP +#endif`,JU=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,JU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,XU=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1910,7 +1910,7 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,XU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,KU=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1948,7 +1948,7 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,KU=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,jU=`#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 @@ -1980,7 +1980,7 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,jU=`float getShadowMask() { +#endif`,qU=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2012,12 +2012,12 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING #endif #endif return shadow; -}`,qU=`#ifdef USE_SKINNING +}`,ZU=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,ZU=`#ifdef USE_SKINNING +#endif`,$U=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2032,7 +2032,7 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,$U=`#ifdef USE_SKINNING +#endif`,ek=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2040,7 +2040,7 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,ek=`#ifdef USE_SKINNING +#endif`,tk=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2051,17 +2051,17 @@ gl_Position = projectionMatrix * mvPosition;`,zU=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,tk=`float specularStrength; +#endif`,nk=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,nk=`#ifdef USE_SPECULARMAP +#endif`,ik=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,ik=`#if defined( TONE_MAPPING ) +#endif`,rk=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,rk=`#ifndef saturate +#endif`,sk=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,ok=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,ok=`#ifdef USE_TRANSMISSION +#endif`,ak=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,ak=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,lk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,lk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,ck=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,ck=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,uk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,uk=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Ak=`#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; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,sk=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const Ak=`varying vec2 vUv; +#endif`;const hk=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,hk=`uniform sampler2D t2D; +}`,dk=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,dk=`varying vec3 vWorldDirection; +}`,fk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,fk=`#ifdef ENVMAP_TYPE_CUBE +}`,pk=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,pk=`varying vec3 vWorldDirection; +}`,gk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,gk=`uniform samplerCube tCube; +}`,mk=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,mk=`#include +}`,Ek=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,Ek=`#if DEPTH_PACKING == 3200 +}`,Ik=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,Ik=`#define DISTANCE +}`,yk=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,yk=`#define DISTANCE +}`,Ck=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2683,13 +2683,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,Ck=`varying vec3 vWorldDirection; +}`,vk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,vk=`uniform sampler2D tEquirect; +}`,Bk=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,Bk=`uniform float scale; +}`,xk=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,xk=`uniform vec3 diffuse; +}`,Sk=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,Sk=`#include +}`,wk=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,wk=`uniform vec3 diffuse; +}`,_k=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,_k=`#define LAMBERT +}`,Qk=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,Qk=`#define LAMBERT +}`,Mk=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,Mk=`#define MATCAP +}`,Rk=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,Rk=`#define MATCAP +}`,Dk=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,Dk=`#define NORMAL +}`,Tk=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,Tk=`#define NORMAL +}`,bk=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3054,7 +3054,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,bk=`#define PHONG +}`,Lk=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3092,7 +3092,7 @@ void main() { #include #include #include -}`,Lk=`#define PHONG +}`,Pk=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3151,7 +3151,7 @@ void main() { #include #include #include -}`,Pk=`#define STANDARD +}`,Nk=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3193,7 +3193,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,Nk=`#define STANDARD +}`,Uk=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3315,7 +3315,7 @@ void main() { #include #include #include -}`,Uk=`#define TOON +}`,kk=`#define TOON varying vec3 vViewPosition; #include #include @@ -3351,7 +3351,7 @@ void main() { #include #include #include -}`,kk=`#define TOON +}`,Fk=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3404,7 +3404,7 @@ void main() { #include #include #include -}`,Fk=`uniform float size; +}`,Ok=`uniform float size; uniform float scale; #include #include @@ -3434,7 +3434,7 @@ void main() { #include #include #include -}`,Ok=`uniform vec3 diffuse; +}`,Gk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3459,7 +3459,7 @@ void main() { #include #include #include -}`,Gk=`#include +}`,Hk=`#include #include #include #include @@ -3481,7 +3481,7 @@ void main() { #include #include #include -}`,Hk=`uniform vec3 color; +}`,zk=`uniform vec3 color; uniform float opacity; #include #include @@ -3497,7 +3497,7 @@ void main() { #include #include #include -}`,zk=`uniform float rotation; +}`,Vk=`uniform float rotation; uniform vec2 center; #include #include @@ -3523,7 +3523,7 @@ void main() { #include #include #include -}`,Vk=`uniform vec3 diffuse; +}`,Wk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3548,7 +3548,7 @@ void main() { #include #include #include -}`,Ut={alphahash_fragment:hN,alphahash_pars_fragment:dN,alphamap_fragment:fN,alphamap_pars_fragment:pN,alphatest_fragment:gN,alphatest_pars_fragment:mN,aomap_fragment:EN,aomap_pars_fragment:IN,batching_pars_vertex:yN,batching_vertex:CN,begin_vertex:vN,beginnormal_vertex:BN,bsdfs:xN,iridescence_fragment:SN,bumpmap_pars_fragment:wN,clipping_planes_fragment:_N,clipping_planes_pars_fragment:QN,clipping_planes_pars_vertex:MN,clipping_planes_vertex:RN,color_fragment:DN,color_pars_fragment:TN,color_pars_vertex:bN,color_vertex:LN,common:PN,cube_uv_reflection_fragment:NN,defaultnormal_vertex:UN,displacementmap_pars_vertex:kN,displacementmap_vertex:FN,emissivemap_fragment:ON,emissivemap_pars_fragment:GN,colorspace_fragment:HN,colorspace_pars_fragment:zN,envmap_fragment:VN,envmap_common_pars_fragment:WN,envmap_pars_fragment:YN,envmap_pars_vertex:JN,envmap_physical_pars_fragment:sU,envmap_vertex:XN,fog_vertex:KN,fog_pars_vertex:jN,fog_fragment:qN,fog_pars_fragment:ZN,gradientmap_pars_fragment:$N,lightmap_fragment:eU,lightmap_pars_fragment:tU,lights_lambert_fragment:nU,lights_lambert_pars_fragment:iU,lights_pars_begin:rU,lights_toon_fragment:oU,lights_toon_pars_fragment:aU,lights_phong_fragment:lU,lights_phong_pars_fragment:cU,lights_physical_fragment:uU,lights_physical_pars_fragment:AU,lights_fragment_begin:hU,lights_fragment_maps:dU,lights_fragment_end:fU,logdepthbuf_fragment:pU,logdepthbuf_pars_fragment:gU,logdepthbuf_pars_vertex:mU,logdepthbuf_vertex:EU,map_fragment:IU,map_pars_fragment:yU,map_particle_fragment:CU,map_particle_pars_fragment:vU,metalnessmap_fragment:BU,metalnessmap_pars_fragment:xU,morphcolor_vertex:SU,morphnormal_vertex:wU,morphtarget_pars_vertex:_U,morphtarget_vertex:QU,normal_fragment_begin:MU,normal_fragment_maps:RU,normal_pars_fragment:DU,normal_pars_vertex:TU,normal_vertex:bU,normalmap_pars_fragment:LU,clearcoat_normal_fragment_begin:PU,clearcoat_normal_fragment_maps:NU,clearcoat_pars_fragment:UU,iridescence_pars_fragment:kU,opaque_fragment:FU,packing:OU,premultiplied_alpha_fragment:GU,project_vertex:HU,dithering_fragment:zU,dithering_pars_fragment:VU,roughnessmap_fragment:WU,roughnessmap_pars_fragment:YU,shadowmap_pars_fragment:JU,shadowmap_pars_vertex:XU,shadowmap_vertex:KU,shadowmask_pars_fragment:jU,skinbase_vertex:qU,skinning_pars_vertex:ZU,skinning_vertex:$U,skinnormal_vertex:ek,specularmap_fragment:tk,specularmap_pars_fragment:nk,tonemapping_fragment:ik,tonemapping_pars_fragment:rk,transmission_fragment:sk,transmission_pars_fragment:ok,uv_pars_fragment:ak,uv_pars_vertex:lk,uv_vertex:ck,worldpos_vertex:uk,background_vert:Ak,background_frag:hk,backgroundCube_vert:dk,backgroundCube_frag:fk,cube_vert:pk,cube_frag:gk,depth_vert:mk,depth_frag:Ek,distanceRGBA_vert:Ik,distanceRGBA_frag:yk,equirect_vert:Ck,equirect_frag:vk,linedashed_vert:Bk,linedashed_frag:xk,meshbasic_vert:Sk,meshbasic_frag:wk,meshlambert_vert:_k,meshlambert_frag:Qk,meshmatcap_vert:Mk,meshmatcap_frag:Rk,meshnormal_vert:Dk,meshnormal_frag:Tk,meshphong_vert:bk,meshphong_frag:Lk,meshphysical_vert:Pk,meshphysical_frag:Nk,meshtoon_vert:Uk,meshtoon_frag:kk,points_vert:Fk,points_frag:Ok,shadow_vert:Gk,shadow_frag:Hk,sprite_vert:zk,sprite_frag:Vk},Ye={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Mt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Mt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Mt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Mt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Mt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Mt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Mt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Mt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Mt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0},uvTransform:{value:new Mt}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}}},ns={basic:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Ut.meshbasic_vert,fragmentShader:Ut.meshbasic_frag},lambert:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)}}]),vertexShader:Ut.meshlambert_vert,fragmentShader:Ut.meshlambert_frag},phong:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30}}]),vertexShader:Ut.meshphong_vert,fragmentShader:Ut.meshphong_frag},standard:{uniforms:Fi([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ut.meshphysical_vert,fragmentShader:Ut.meshphysical_frag},toon:{uniforms:Fi([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)}}]),vertexShader:Ut.meshtoon_vert,fragmentShader:Ut.meshtoon_frag},matcap:{uniforms:Fi([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Ut.meshmatcap_vert,fragmentShader:Ut.meshmatcap_frag},points:{uniforms:Fi([Ye.points,Ye.fog]),vertexShader:Ut.points_vert,fragmentShader:Ut.points_frag},dashed:{uniforms:Fi([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ut.linedashed_vert,fragmentShader:Ut.linedashed_frag},depth:{uniforms:Fi([Ye.common,Ye.displacementmap]),vertexShader:Ut.depth_vert,fragmentShader:Ut.depth_frag},normal:{uniforms:Fi([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Ut.meshnormal_vert,fragmentShader:Ut.meshnormal_frag},sprite:{uniforms:Fi([Ye.sprite,Ye.fog]),vertexShader:Ut.sprite_vert,fragmentShader:Ut.sprite_frag},background:{uniforms:{uvTransform:{value:new Mt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ut.background_vert,fragmentShader:Ut.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ut.backgroundCube_vert,fragmentShader:Ut.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ut.cube_vert,fragmentShader:Ut.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ut.equirect_vert,fragmentShader:Ut.equirect_frag},distanceRGBA:{uniforms:Fi([Ye.common,Ye.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ut.distanceRGBA_vert,fragmentShader:Ut.distanceRGBA_frag},shadow:{uniforms:Fi([Ye.lights,Ye.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:Ut.shadow_vert,fragmentShader:Ut.shadow_frag}};ns.physical={uniforms:Fi([ns.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Mt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Mt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Mt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Mt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Mt},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Mt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Mt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Mt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Mt},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Mt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Mt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Mt}}]),vertexShader:Ut.meshphysical_vert,fragmentShader:Ut.meshphysical_frag};const Uf={r:0,b:0,g:0};function Wk(n,e,t,i,r,s,o){const a=new je(0);let l=s===!0?0:1,A,h,d=null,f=0,g=null;function E(I,p){let v=!1,y=p.isScene===!0?p.background:null;y&&y.isTexture&&(y=(p.backgroundBlurriness>0?t:e).get(y)),y===null?C(a,l):y&&y.isColor&&(C(y,1),v=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||v)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),y&&(y.isCubeTexture||y.mapping===Ru)?(h===void 0&&(h=new nn(new zl(1,1,1),new as({name:"BackgroundCubeMaterial",uniforms:Su(ns.backgroundCube.uniforms),vertexShader:ns.backgroundCube.vertexShader,fragmentShader:ns.backgroundCube.fragmentShader,side:Vi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(M,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=y,h.material.uniforms.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=un.getTransfer(y.colorSpace)!==pn,(d!==y||f!==y.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,d=y,f=y.version,g=n.toneMapping),h.layers.enableAll(),I.unshift(h,h.geometry,h.material,0,0,null)):y&&y.isTexture&&(A===void 0&&(A=new nn(new Ta(2,2),new as({name:"BackgroundMaterial",uniforms:Su(ns.background.uniforms),vertexShader:ns.background.vertexShader,fragmentShader:ns.background.fragmentShader,side:Hr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=y,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=un.getTransfer(y.colorSpace)!==pn,y.matrixAutoUpdate===!0&&y.updateMatrix(),A.material.uniforms.uvTransform.value.copy(y.matrix),(d!==y||f!==y.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,d=y,f=y.version,g=n.toneMapping),A.layers.enableAll(),I.unshift(A,A.geometry,A.material,0,0,null))}function C(I,p){I.getRGB(Uf,c2(n)),i.buffers.color.setClear(Uf.r,Uf.g,Uf.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(I,p=1){a.set(I),l=p,C(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(I){l=I,C(a,l)},render:E}}function Yk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=I(null);let A=l,h=!1;function d(J,le,se,fe,F){let Z=!1;if(o){const ne=C(fe,se,le);A!==ne&&(A=ne,g(A.object)),Z=p(J,fe,se,F),Z&&v(J,fe,se,F)}else{const ne=le.wireframe===!0;(A.geometry!==fe.id||A.program!==se.id||A.wireframe!==ne)&&(A.geometry=fe.id,A.program=se.id,A.wireframe=ne,Z=!0)}F!==null&&t.update(F,n.ELEMENT_ARRAY_BUFFER),(Z||h)&&(h=!1,k(J,le,se,fe),F!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(F).buffer))}function f(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(J){return i.isWebGL2?n.bindVertexArray(J):s.bindVertexArrayOES(J)}function E(J){return i.isWebGL2?n.deleteVertexArray(J):s.deleteVertexArrayOES(J)}function C(J,le,se){const fe=se.wireframe===!0;let F=a[J.id];F===void 0&&(F={},a[J.id]=F);let Z=F[le.id];Z===void 0&&(Z={},F[le.id]=Z);let ne=Z[fe];return ne===void 0&&(ne=I(f()),Z[fe]=ne),ne}function I(J){const le=[],se=[],fe=[];for(let F=0;F=0){const W=F[_e];let z=Z[_e];if(z===void 0&&(_e==="instanceMatrix"&&J.instanceMatrix&&(z=J.instanceMatrix),_e==="instanceColor"&&J.instanceColor&&(z=J.instanceColor)),W===void 0||W.attribute!==z||z&&W.data!==z.data)return!0;ne++}return A.attributesNum!==ne||A.index!==fe}function v(J,le,se,fe){const F={},Z=le.attributes;let ne=0;const Ae=se.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let W=Z[_e];W===void 0&&(_e==="instanceMatrix"&&J.instanceMatrix&&(W=J.instanceMatrix),_e==="instanceColor"&&J.instanceColor&&(W=J.instanceColor));const z={};z.attribute=W,W&&W.data&&(z.data=W.data),F[_e]=z,ne++}A.attributes=F,A.attributesNum=ne,A.index=fe}function y(){const J=A.newAttributes;for(let le=0,se=J.length;le=0){let ke=F[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&J.instanceMatrix&&(ke=J.instanceMatrix),Ae==="instanceColor"&&J.instanceColor&&(ke=J.instanceColor)),ke!==void 0){const W=ke.normalized,z=ke.itemSize,G=t.get(ke);if(G===void 0)continue;const N=G.buffer,Ee=G.type,Be=G.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===wv);if(ke.isInterleavedBufferAttribute){const Se=ke.data,H=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)M(_e.location+te,Se.meshPerAttribute);J.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let te=0;te<_e.locationSize;te++)S(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,N);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,z/_e.locationSize,Ee,W,H*Be,(me+z/_e.locationSize*te)*Be,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)M(_e.location+Se,ke.meshPerAttribute);J.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,N);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,z/_e.locationSize,Ee,W,z*Be,z/_e.locationSize*Se*Be,pe)}}else if(ne!==void 0){const W=ne[Ae];if(W!==void 0)switch(W.length){case 2:n.vertexAttrib2fv(_e.location,W);break;case 3:n.vertexAttrib3fv(_e.location,W);break;case 4:n.vertexAttrib4fv(_e.location,W);break;default:n.vertexAttrib1fv(_e.location,W)}}}}R()}function X(){q();for(const J in a){const le=a[J];for(const se in le){const fe=le[se];for(const F in fe)E(fe[F].object),delete fe[F];delete le[se]}delete a[J]}}function _(J){if(a[J.id]===void 0)return;const le=a[J.id];for(const se in le){const fe=le[se];for(const F in fe)E(fe[F].object),delete fe[F];delete le[se]}delete a[J.id]}function L(J){for(const le in a){const se=a[le];if(se[J.id]===void 0)continue;const fe=se[J.id];for(const F in fe)E(fe[F].object),delete fe[F];delete se[J.id]}}function q(){de(),h=!0,A!==l&&(A=l,g(A.object))}function de(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:q,resetDefaultState:de,dispose:X,releaseStatesOfGeometry:_,releaseStatesOfProgram:L,initAttributes:y,enableAttribute:S,disableUnusedAttributes:R}}function Jk(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,d){n.drawArrays(s,h,d),t.update(d,s,1)}function l(h,d,f){if(f===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,d,f),t.update(d,s,f)}function A(h,d,f){if(f===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),C=n.getParameter(n.MAX_VERTEX_ATTRIBS),I=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),v=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),y=f>0,S=o||e.has("OES_texture_float"),M=y&&S,R=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:f,maxTextureSize:g,maxCubemapSize:E,maxAttributes:C,maxVertexUniforms:I,maxVaryings:p,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:S,floatVertexTextures:M,maxSamples:R}}function Kk(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new sn,a=new Mt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,f){const g=d.length!==0||f||i!==0||r;return r=f,i=d.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,f){t=h(d,f,0)},this.setState=function(d,f,g){const E=d.clippingPlanes,C=d.clipIntersection,I=d.clipShadows,p=n.get(d);if(!r||E===null||E.length===0||s&&!I)s?h(null):A();else{const v=s?0:i,y=v*4;let S=p.clippingState||null;l.value=S,S=h(E,f,y,g);for(let M=0;M!==y;++M)S[M]=t[M];p.clippingState=S,this.numIntersection=C?this.numPlanes:0,this.numPlanes+=v}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,f,g,E){const C=d!==null?d.length:0;let I=null;if(C!==0){if(I=l.value,E!==!0||I===null){const p=g+C*4,v=f.matrixWorldInverse;a.getNormalMatrix(v),(I===null||I.length0){const A=new h2(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Tu extends Xh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 ru=4,RS=[.125,.215,.35,.446,.526,.582],fl=20,RE=new Tu,DS=new je;let DE=null,TE=0,bE=0;const hl=(1+Math.sqrt(5))/2,_c=1/hl,TS=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,hl,_c),new O(0,hl,-_c),new O(_c,0,hl),new O(-_c,0,hl),new O(hl,_c,0),new O(-hl,_c,0)];class aC{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){DE=this._renderer.getRenderTarget(),TE=this._renderer.getActiveCubeFace(),bE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=PS(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=LS(),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),h.setRenderTarget(r),C&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=f,h.autoClear=d,e.background=I}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===mo||e.mapping===Sa;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=PS()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=LS());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new nn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;kf(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,RE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rfl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${I} samples when the maximum is set to ${fl}`);const p=[];let v=0;for(let D=0;Dy-ru?r-y+ru:0),R=4*(this._cubeSize-S);kf(t,M,R,3*S,2*S),l.setRenderTarget(t),l.render(d,RE)}}function qk(n){const e=[],t=[],i=[];let r=n;const s=n-ru+1+RS.length;for(let o=0;on-ru?l=RS[o-n+ru-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,d=1+A,f=[h,h,d,h,d,d,h,h,d,d,h,d],g=6,E=6,C=3,I=2,p=1,v=new Float32Array(C*E*g),y=new Float32Array(I*E*g),S=new Float32Array(p*E*g);for(let R=0;R2?0:-1,X=[D,k,0,D+2/3,k,0,D+2/3,k+1,0,D,k,0,D+2/3,k+1,0,D,k+1,0];v.set(X,C*E*R),y.set(f,I*E*R);const _=[R,R,R,R,R,R];S.set(_,p*E*R)}const M=new Pt;M.setAttribute("position",new ln(v,C)),M.setAttribute("uv",new ln(y,I)),M.setAttribute("faceIndex",new ln(S,p)),e.push(M),r>ru&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function bS(n,e,t){const i=new zr(n,e,t);return i.texture.mapping=Ru,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function kf(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function Zk(n,e,t){const i=new Float32Array(fl),r=new O(0,1,0);return new as({name:"SphericalGaussianBlur",defines:{n:fl,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:Hv(),fragmentShader:` +}`,Ut={alphahash_fragment:dN,alphahash_pars_fragment:fN,alphamap_fragment:pN,alphamap_pars_fragment:gN,alphatest_fragment:mN,alphatest_pars_fragment:EN,aomap_fragment:IN,aomap_pars_fragment:yN,batching_pars_vertex:CN,batching_vertex:vN,begin_vertex:BN,beginnormal_vertex:xN,bsdfs:SN,iridescence_fragment:wN,bumpmap_pars_fragment:_N,clipping_planes_fragment:QN,clipping_planes_pars_fragment:MN,clipping_planes_pars_vertex:RN,clipping_planes_vertex:DN,color_fragment:TN,color_pars_fragment:bN,color_pars_vertex:LN,color_vertex:PN,common:NN,cube_uv_reflection_fragment:UN,defaultnormal_vertex:kN,displacementmap_pars_vertex:FN,displacementmap_vertex:ON,emissivemap_fragment:GN,emissivemap_pars_fragment:HN,colorspace_fragment:zN,colorspace_pars_fragment:VN,envmap_fragment:WN,envmap_common_pars_fragment:YN,envmap_pars_fragment:JN,envmap_pars_vertex:XN,envmap_physical_pars_fragment:oU,envmap_vertex:KN,fog_vertex:jN,fog_pars_vertex:qN,fog_fragment:ZN,fog_pars_fragment:$N,gradientmap_pars_fragment:eU,lightmap_fragment:tU,lightmap_pars_fragment:nU,lights_lambert_fragment:iU,lights_lambert_pars_fragment:rU,lights_pars_begin:sU,lights_toon_fragment:aU,lights_toon_pars_fragment:lU,lights_phong_fragment:cU,lights_phong_pars_fragment:uU,lights_physical_fragment:AU,lights_physical_pars_fragment:hU,lights_fragment_begin:dU,lights_fragment_maps:fU,lights_fragment_end:pU,logdepthbuf_fragment:gU,logdepthbuf_pars_fragment:mU,logdepthbuf_pars_vertex:EU,logdepthbuf_vertex:IU,map_fragment:yU,map_pars_fragment:CU,map_particle_fragment:vU,map_particle_pars_fragment:BU,metalnessmap_fragment:xU,metalnessmap_pars_fragment:SU,morphcolor_vertex:wU,morphnormal_vertex:_U,morphtarget_pars_vertex:QU,morphtarget_vertex:MU,normal_fragment_begin:RU,normal_fragment_maps:DU,normal_pars_fragment:TU,normal_pars_vertex:bU,normal_vertex:LU,normalmap_pars_fragment:PU,clearcoat_normal_fragment_begin:NU,clearcoat_normal_fragment_maps:UU,clearcoat_pars_fragment:kU,iridescence_pars_fragment:FU,opaque_fragment:OU,packing:GU,premultiplied_alpha_fragment:HU,project_vertex:zU,dithering_fragment:VU,dithering_pars_fragment:WU,roughnessmap_fragment:YU,roughnessmap_pars_fragment:JU,shadowmap_pars_fragment:XU,shadowmap_pars_vertex:KU,shadowmap_vertex:jU,shadowmask_pars_fragment:qU,skinbase_vertex:ZU,skinning_pars_vertex:$U,skinning_vertex:ek,skinnormal_vertex:tk,specularmap_fragment:nk,specularmap_pars_fragment:ik,tonemapping_fragment:rk,tonemapping_pars_fragment:sk,transmission_fragment:ok,transmission_pars_fragment:ak,uv_pars_fragment:lk,uv_pars_vertex:ck,uv_vertex:uk,worldpos_vertex:Ak,background_vert:hk,background_frag:dk,backgroundCube_vert:fk,backgroundCube_frag:pk,cube_vert:gk,cube_frag:mk,depth_vert:Ek,depth_frag:Ik,distanceRGBA_vert:yk,distanceRGBA_frag:Ck,equirect_vert:vk,equirect_frag:Bk,linedashed_vert:xk,linedashed_frag:Sk,meshbasic_vert:wk,meshbasic_frag:_k,meshlambert_vert:Qk,meshlambert_frag:Mk,meshmatcap_vert:Rk,meshmatcap_frag:Dk,meshnormal_vert:Tk,meshnormal_frag:bk,meshphong_vert:Lk,meshphong_frag:Pk,meshphysical_vert:Nk,meshphysical_frag:Uk,meshtoon_vert:kk,meshtoon_frag:Fk,points_vert:Ok,points_frag:Gk,shadow_vert:Hk,shadow_frag:zk,sprite_vert:Vk,sprite_frag:Wk},Ye={common:{diffuse:{value:new je(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Mt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Mt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Mt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Mt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Mt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Mt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Mt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Mt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Mt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new je(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0},uvTransform:{value:new Mt}},sprite:{diffuse:{value:new je(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Mt},alphaMap:{value:null},alphaMapTransform:{value:new Mt},alphaTest:{value:0}}},ns={basic:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Ut.meshbasic_vert,fragmentShader:Ut.meshbasic_frag},lambert:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)}}]),vertexShader:Ut.meshlambert_vert,fragmentShader:Ut.meshlambert_frag},phong:{uniforms:Fi([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)},specular:{value:new je(1118481)},shininess:{value:30}}]),vertexShader:Ut.meshphong_vert,fragmentShader:Ut.meshphong_frag},standard:{uniforms:Fi([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ut.meshphysical_vert,fragmentShader:Ut.meshphysical_frag},toon:{uniforms:Fi([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new je(0)}}]),vertexShader:Ut.meshtoon_vert,fragmentShader:Ut.meshtoon_frag},matcap:{uniforms:Fi([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Ut.meshmatcap_vert,fragmentShader:Ut.meshmatcap_frag},points:{uniforms:Fi([Ye.points,Ye.fog]),vertexShader:Ut.points_vert,fragmentShader:Ut.points_frag},dashed:{uniforms:Fi([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ut.linedashed_vert,fragmentShader:Ut.linedashed_frag},depth:{uniforms:Fi([Ye.common,Ye.displacementmap]),vertexShader:Ut.depth_vert,fragmentShader:Ut.depth_frag},normal:{uniforms:Fi([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Ut.meshnormal_vert,fragmentShader:Ut.meshnormal_frag},sprite:{uniforms:Fi([Ye.sprite,Ye.fog]),vertexShader:Ut.sprite_vert,fragmentShader:Ut.sprite_frag},background:{uniforms:{uvTransform:{value:new Mt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ut.background_vert,fragmentShader:Ut.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ut.backgroundCube_vert,fragmentShader:Ut.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ut.cube_vert,fragmentShader:Ut.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ut.equirect_vert,fragmentShader:Ut.equirect_frag},distanceRGBA:{uniforms:Fi([Ye.common,Ye.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ut.distanceRGBA_vert,fragmentShader:Ut.distanceRGBA_frag},shadow:{uniforms:Fi([Ye.lights,Ye.fog,{color:{value:new je(0)},opacity:{value:1}}]),vertexShader:Ut.shadow_vert,fragmentShader:Ut.shadow_frag}};ns.physical={uniforms:Fi([ns.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Mt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Mt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Mt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Mt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Mt},sheen:{value:0},sheenColor:{value:new je(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Mt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Mt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Mt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Mt},attenuationDistance:{value:0},attenuationColor:{value:new je(0)},specularColor:{value:new je(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Mt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Mt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Mt}}]),vertexShader:Ut.meshphysical_vert,fragmentShader:Ut.meshphysical_frag};const Uf={r:0,b:0,g:0};function Yk(n,e,t,i,r,s,o){const a=new je(0);let l=s===!0?0:1,A,h,d=null,f=0,g=null;function E(I,p){let y=!1,v=p.isScene===!0?p.background:null;v&&v.isTexture&&(v=(p.backgroundBlurriness>0?t:e).get(v)),v===null?C(a,l):v&&v.isColor&&(C(v,1),y=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),v&&(v.isCubeTexture||v.mapping===Ru)?(h===void 0&&(h=new $t(new zl(1,1,1),new as({name:"BackgroundCubeMaterial",uniforms:Su(ns.backgroundCube.uniforms),vertexShader:ns.backgroundCube.vertexShader,fragmentShader:ns.backgroundCube.fragmentShader,side:Vi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(M,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=un.getTransfer(v.colorSpace)!==pn,(d!==v||f!==v.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,d=v,f=v.version,g=n.toneMapping),h.layers.enableAll(),I.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(A===void 0&&(A=new $t(new Ta(2,2),new as({name:"BackgroundMaterial",uniforms:Su(ns.background.uniforms),vertexShader:ns.background.vertexShader,fragmentShader:ns.background.fragmentShader,side:Hr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=v,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=un.getTransfer(v.colorSpace)!==pn,v.matrixAutoUpdate===!0&&v.updateMatrix(),A.material.uniforms.uvTransform.value.copy(v.matrix),(d!==v||f!==v.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,d=v,f=v.version,g=n.toneMapping),A.layers.enableAll(),I.unshift(A,A.geometry,A.material,0,0,null))}function C(I,p){I.getRGB(Uf,u2(n)),i.buffers.color.setClear(Uf.r,Uf.g,Uf.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(I,p=1){a.set(I),l=p,C(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(I){l=I,C(a,l)},render:E}}function Jk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=I(null);let A=l,h=!1;function d(J,ae,re,fe,F){let Z=!1;if(o){const ne=C(fe,re,ae);A!==ne&&(A=ne,g(A.object)),Z=p(J,fe,re,F),Z&&y(J,fe,re,F)}else{const ne=ae.wireframe===!0;(A.geometry!==fe.id||A.program!==re.id||A.wireframe!==ne)&&(A.geometry=fe.id,A.program=re.id,A.wireframe=ne,Z=!0)}F!==null&&t.update(F,n.ELEMENT_ARRAY_BUFFER),(Z||h)&&(h=!1,k(J,ae,re,fe),F!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(F).buffer))}function f(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(J){return i.isWebGL2?n.bindVertexArray(J):s.bindVertexArrayOES(J)}function E(J){return i.isWebGL2?n.deleteVertexArray(J):s.deleteVertexArrayOES(J)}function C(J,ae,re){const fe=re.wireframe===!0;let F=a[J.id];F===void 0&&(F={},a[J.id]=F);let Z=F[ae.id];Z===void 0&&(Z={},F[ae.id]=Z);let ne=Z[fe];return ne===void 0&&(ne=I(f()),Z[fe]=ne),ne}function I(J){const ae=[],re=[],fe=[];for(let F=0;F=0){const W=F[_e];let z=Z[_e];if(z===void 0&&(_e==="instanceMatrix"&&J.instanceMatrix&&(z=J.instanceMatrix),_e==="instanceColor"&&J.instanceColor&&(z=J.instanceColor)),W===void 0||W.attribute!==z||z&&W.data!==z.data)return!0;ne++}return A.attributesNum!==ne||A.index!==fe}function y(J,ae,re,fe){const F={},Z=ae.attributes;let ne=0;const Ae=re.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let W=Z[_e];W===void 0&&(_e==="instanceMatrix"&&J.instanceMatrix&&(W=J.instanceMatrix),_e==="instanceColor"&&J.instanceColor&&(W=J.instanceColor));const z={};z.attribute=W,W&&W.data&&(z.data=W.data),F[_e]=z,ne++}A.attributes=F,A.attributesNum=ne,A.index=fe}function v(){const J=A.newAttributes;for(let ae=0,re=J.length;ae=0){let ke=F[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&J.instanceMatrix&&(ke=J.instanceMatrix),Ae==="instanceColor"&&J.instanceColor&&(ke=J.instanceColor)),ke!==void 0){const W=ke.normalized,z=ke.itemSize,G=t.get(ke);if(G===void 0)continue;const N=G.buffer,Ee=G.type,Be=G.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===wv);if(ke.isInterleavedBufferAttribute){const Se=ke.data,H=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)M(_e.location+te,Se.meshPerAttribute);J.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let te=0;te<_e.locationSize;te++)S(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,N);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,z/_e.locationSize,Ee,W,H*Be,(me+z/_e.locationSize*te)*Be,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)M(_e.location+Se,ke.meshPerAttribute);J.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,N);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,z/_e.locationSize,Ee,W,z*Be,z/_e.locationSize*Se*Be,pe)}}else if(ne!==void 0){const W=ne[Ae];if(W!==void 0)switch(W.length){case 2:n.vertexAttrib2fv(_e.location,W);break;case 3:n.vertexAttrib3fv(_e.location,W);break;case 4:n.vertexAttrib4fv(_e.location,W);break;default:n.vertexAttrib1fv(_e.location,W)}}}}R()}function X(){q();for(const J in a){const ae=a[J];for(const re in ae){const fe=ae[re];for(const F in fe)E(fe[F].object),delete fe[F];delete ae[re]}delete a[J]}}function _(J){if(a[J.id]===void 0)return;const ae=a[J.id];for(const re in ae){const fe=ae[re];for(const F in fe)E(fe[F].object),delete fe[F];delete ae[re]}delete a[J.id]}function L(J){for(const ae in a){const re=a[ae];if(re[J.id]===void 0)continue;const fe=re[J.id];for(const F in fe)E(fe[F].object),delete fe[F];delete re[J.id]}}function q(){de(),h=!0,A!==l&&(A=l,g(A.object))}function de(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:q,resetDefaultState:de,dispose:X,releaseStatesOfGeometry:_,releaseStatesOfProgram:L,initAttributes:v,enableAttribute:S,disableUnusedAttributes:R}}function Xk(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,d){n.drawArrays(s,h,d),t.update(d,s,1)}function l(h,d,f){if(f===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,d,f),t.update(d,s,f)}function A(h,d,f){if(f===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),C=n.getParameter(n.MAX_VERTEX_ATTRIBS),I=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||e.has("OES_texture_float"),M=v&&S,R=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:f,maxTextureSize:g,maxCubemapSize:E,maxAttributes:C,maxVertexUniforms:I,maxVaryings:p,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:M,maxSamples:R}}function jk(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new sn,a=new Mt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,f){const g=d.length!==0||f||i!==0||r;return r=f,i=d.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,f){t=h(d,f,0)},this.setState=function(d,f,g){const E=d.clippingPlanes,C=d.clipIntersection,I=d.clipShadows,p=n.get(d);if(!r||E===null||E.length===0||s&&!I)s?h(null):A();else{const y=s?0:i,v=y*4;let S=p.clippingState||null;l.value=S,S=h(E,f,v,g);for(let M=0;M!==v;++M)S[M]=t[M];p.clippingState=S,this.numIntersection=C?this.numPlanes:0,this.numPlanes+=y}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,f,g,E){const C=d!==null?d.length:0;let I=null;if(C!==0){if(I=l.value,E!==!0||I===null){const p=g+C*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(I===null||I.length0){const A=new d2(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Tu extends Xh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 ru=4,DS=[.125,.215,.35,.446,.526,.582],fl=20,RE=new Tu,TS=new je;let DE=null,TE=0,bE=0;const hl=(1+Math.sqrt(5))/2,_c=1/hl,bS=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,hl,_c),new O(0,hl,-_c),new O(_c,0,hl),new O(-_c,0,hl),new O(hl,_c,0),new O(-hl,_c,0)];class aC{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){DE=this._renderer.getRenderTarget(),TE=this._renderer.getActiveCubeFace(),bE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=NS(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=PS(),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?v:0,v,v),h.setRenderTarget(r),C&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=f,h.autoClear=d,e.background=I}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===mo||e.mapping===Sa;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=NS()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=PS());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new $t(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;kf(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,RE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rfl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${I} samples when the maximum is set to ${fl}`);const p=[];let y=0;for(let D=0;Dv-ru?r-v+ru:0),R=4*(this._cubeSize-S);kf(t,M,R,3*S,2*S),l.setRenderTarget(t),l.render(d,RE)}}function Zk(n){const e=[],t=[],i=[];let r=n;const s=n-ru+1+DS.length;for(let o=0;on-ru?l=DS[o-n+ru-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,d=1+A,f=[h,h,d,h,d,d,h,h,d,d,h,d],g=6,E=6,C=3,I=2,p=1,y=new Float32Array(C*E*g),v=new Float32Array(I*E*g),S=new Float32Array(p*E*g);for(let R=0;R2?0:-1,X=[D,k,0,D+2/3,k,0,D+2/3,k+1,0,D,k,0,D+2/3,k+1,0,D,k+1,0];y.set(X,C*E*R),v.set(f,I*E*R);const _=[R,R,R,R,R,R];S.set(_,p*E*R)}const M=new Pt;M.setAttribute("position",new ln(y,C)),M.setAttribute("uv",new ln(v,I)),M.setAttribute("faceIndex",new ln(S,p)),e.push(M),r>ru&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function LS(n,e,t){const i=new zr(n,e,t);return i.texture.mapping=Ru,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function kf(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function $k(n,e,t){const i=new Float32Array(fl),r=new O(0,1,0);return new as({name:"SphericalGaussianBlur",defines:{n:fl,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:Hv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3608,7 +3608,7 @@ void main() { } } - `,blending:Ao,depthTest:!1,depthWrite:!1})}function LS(){return new as({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Hv(),fragmentShader:` + `,blending:Ao,depthTest:!1,depthWrite:!1})}function PS(){return new as({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Hv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3627,7 +3627,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:Ao,depthTest:!1,depthWrite:!1})}function PS(){return new as({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Hv(),fragmentShader:` + `,blending:Ao,depthTest:!1,depthWrite:!1})}function NS(){return new as({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Hv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3698,16 +3698,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function $k(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,A=l===mh||l===Eh,h=l===mo||l===Sa;if(A||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let d=e.get(a);return t===null&&(t=new aC(n)),d=A?t.fromEquirectangular(a,d):t.fromCubemap(a,d),e.set(a,d),d.texture}else{if(e.has(a))return e.get(a).texture;{const d=a.image;if(A&&d&&d.height>0||h&&d&&r(d)){t===null&&(t=new aC(n));const f=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(X/e.maxTextureSize),X=e.maxTextureSize);const L=new Float32Array(X*_*4*E),q=new Zg(L,X,_,E);q.type=Pr,q.needsUpdate=!0;const de=k*4;for(let le=0;le0)return n;const r=e*t;let s=NS[r];if(s===void 0&&(s=new Float32Array(r),NS[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 ei(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||h&&d&&r(d)){t===null&&(t=new aC(n));const f=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(X/e.maxTextureSize),X=e.maxTextureSize);const L=new Float32Array(X*_*4*E),q=new Zg(L,X,_,E);q.type=Pr,q.needsUpdate=!0;const de=k*4;for(let ae=0;ae0)return n;const r=e*t;let s=US[r];if(s===void 0&&(s=new Float32Array(r),US[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 ei(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function tO(n){const e=un.getPrimaries(un.workingColorSpace),t=un.getPrimaries(n);let i;switch(e===t?i="":e===wh&&t===Sh?i="LinearDisplayP3ToLinearSRGB":e===Sh&&t===wh&&(i="LinearSRGBToLinearDisplayP3"),n){case Ls:case Jh:return[i,"LinearTransferOETF"];case Nn:case qg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function zS(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()+` +`)}function nO(n){const e=un.getPrimaries(un.workingColorSpace),t=un.getPrimaries(n);let i;switch(e===t?i="":e===wh&&t===Sh?i="LinearDisplayP3ToLinearSRGB":e===Sh&&t===wh&&(i="LinearSRGBToLinearDisplayP3"),n){case Ls:case Jh:return[i,"LinearTransferOETF"];case Nn:case qg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function VS(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+` -`+eO(n.getShaderSource(e),o)}else return r}function nO(n,e){const t=tO(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function iO(n,e){let t;switch(e){case bR:t="Linear";break;case LR:t="Reinhard";break;case PR:t="OptimizedCineon";break;case Sv:t="ACESFilmic";break;case UR:t="AgX";break;case NR:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function rO(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(su).join(` -`)}function sO(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(su).join(` -`)}function oO(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function aO(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function lC(n){return n.replace(lO,uO)}const cO=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function uO(n,e){let t=Ut[e];if(t===void 0){const i=cO.get(e);if(i!==void 0)t=Ut[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return lC(t)}const AO=/#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 YS(n){return n.replace(AO,hO)}function hO(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function lC(n){return n.replace(cO,AO)}const uO=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function AO(n,e){let t=Ut[e];if(t===void 0){const i=uO.get(e);if(i!==void 0)t=Ut[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return lC(t)}const hO=/#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 JS(n){return n.replace(hO,dO)}function dO(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(p+=` -`),v=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C].filter(su).join(` -`),v.length>0&&(v+=` -`)):(p=[JS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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",` +`),y=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C].filter(su).join(` +`),y.length>0&&(y+=` +`)):(p=[XS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(su).join(` -`),v=[g,JS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ts?"#define TONE_MAPPING":"",t.toneMapping!==Ts?Ut.tonemapping_pars_fragment:"",t.toneMapping!==Ts?iO("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Ut.colorspace_pars_fragment,nO("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),y=[g,XS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ts?"#define TONE_MAPPING":"",t.toneMapping!==Ts?Ut.tonemapping_pars_fragment:"",t.toneMapping!==Ts?rO("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Ut.colorspace_pars_fragment,iO("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(su).join(` -`)),o=lC(o),o=VS(o,t),o=WS(o,t),a=lC(a),a=VS(a,t),a=WS(a,t),o=YS(o),a=YS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(y=`#version 300 es +`)),o=lC(o),o=WS(o,t),o=YS(o,t),a=lC(a),a=WS(a,t),a=YS(a,t),o=JS(o),a=JS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(v=`#version 300 es `,p=[E,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` -`+p,v=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===sC?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===sC?"":"#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(` +`+p,y=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===sC?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===sC?"":"#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 S=y+p+o,M=y+v+a,R=HS(r,r.VERTEX_SHADER,S),D=HS(r,r.FRAGMENT_SHADER,M);r.attachShader(I,R),r.attachShader(I,D),t.index0AttributeName!==void 0?r.bindAttribLocation(I,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(I,0,"position"),r.linkProgram(I);function k(q){if(n.debug.checkShaderErrors){const de=r.getProgramInfoLog(I).trim(),J=r.getShaderInfoLog(R).trim(),le=r.getShaderInfoLog(D).trim();let se=!0,fe=!0;if(r.getProgramParameter(I,r.LINK_STATUS)===!1)if(se=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,I,R,D);else{const F=zS(r,R,"vertex"),Z=zS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(I,r.VALIDATE_STATUS)+` +`+y);const S=v+p+o,M=v+y+a,R=zS(r,r.VERTEX_SHADER,S),D=zS(r,r.FRAGMENT_SHADER,M);r.attachShader(I,R),r.attachShader(I,D),t.index0AttributeName!==void 0?r.bindAttribLocation(I,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(I,0,"position"),r.linkProgram(I);function k(q){if(n.debug.checkShaderErrors){const de=r.getProgramInfoLog(I).trim(),J=r.getShaderInfoLog(R).trim(),ae=r.getShaderInfoLog(D).trim();let re=!0,fe=!0;if(r.getProgramParameter(I,r.LINK_STATUS)===!1)if(re=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,I,R,D);else{const F=VS(r,R,"vertex"),Z=VS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(I,r.VALIDATE_STATUS)+` Material Name: `+q.name+` Material Type: `+q.type+` Program Info Log: `+de+` `+F+` -`+Z)}else de!==""?console.warn("THREE.WebGLProgram: Program Info Log:",de):(J===""||le==="")&&(fe=!1);fe&&(q.diagnostics={runnable:se,programLog:de,vertexShader:{log:J,prefix:p},fragmentShader:{log:le,prefix:v}})}r.deleteShader(R),r.deleteShader(D),X=new Wp(r,I),_=aO(r,I)}let X;this.getUniforms=function(){return X===void 0&&k(this),X};let _;this.getAttributes=function(){return _===void 0&&k(this),_};let L=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return L===!1&&(L=r.getProgramParameter(I,ZF)),L},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(I),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=$F++,this.cacheKey=e,this.usedTimes=1,this.program=I,this.vertexShader=R,this.fragmentShader=D,this}let IO=0;class yO{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 CO(e),t.set(e,i)),i}}class CO{constructor(e){this.id=IO++,this.code=e,this.usedTimes=0}}function vO(n,e,t,i,r,s,o){const a=new Ql,l=new yO,A=new Set,h=[],d=r.isWebGL2,f=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=r.precision;const C={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 I(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,L,q,de,J){const le=de.fog,se=J.geometry,fe=_.isMeshStandardMaterial?de.environment:null,F=(_.isMeshStandardMaterial?t:e).get(_.envMap||fe),Z=F&&F.mapping===Ru?F.image.height:null,ne=C[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=se.morphAttributes.position||se.morphAttributes.normal||se.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;se.morphAttributes.position!==void 0&&(ke=1),se.morphAttributes.normal!==void 0&&(ke=2),se.morphAttributes.color!==void 0&&(ke=3);let W,z,G,N;if(ne){const rn=ns[ne];W=rn.vertexShader,z=rn.fragmentShader}else W=_.vertexShader,z=_.fragmentShader,l.update(_),G=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=J.isInstancedMesh===!0,pe=J.isBatchedMesh===!0,Se=!!_.map,H=!!_.matcap,me=!!F,te=!!_.aoMap,ue=!!_.lightMap,ae=!!_.bumpMap,De=!!_.normalMap,j=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,be=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,qe=be&&!!_.anisotropyMap,lt=Te&&!!_.clearcoatMap,It=Te&&!!_.clearcoatNormalMap,Le=Te&&!!_.clearcoatRoughnessMap,Nt=Re&&!!_.iridescenceMap,Qt=Re&&!!_.iridescenceThicknessMap,mt=Je&&!!_.sheenColorMap,at=Je&&!!_.sheenRoughnessMap,et=!!_.specularMap,Bt=!!_.specularColorMap,Vt=!!_.specularIntensityMap,Gt=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Ot=!!_.gradientMap,K=!!_.alphaMap,He=_.alphaTest>0,ze=!!_.alphaHash,rt=!!_.extensions;let pt=Ts;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(pt=n.toneMapping);const jt={isWebGL2:d,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:W,fragmentShader:z,defines:_.defines,customVertexShaderID:G,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&J.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Ls,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:H,envMap:me,envMapMode:me&&F.mapping,envMapCubeUVHeight:Z,aoMap:te,lightMap:ue,bumpMap:ae,normalMap:De,displacementMap:g&&j,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===qR,normalMapTangentSpace:De&&_.normalMapType===Ra,metalnessMap:T,roughnessMap:ie,anisotropy:be,anisotropyMap:qe,clearcoat:Te,clearcoatMap:lt,clearcoatNormalMap:It,clearcoatRoughnessMap:Le,iridescence:Re,iridescenceMap:Nt,iridescenceThicknessMap:Qt,sheen:Je,sheenColorMap:mt,sheenRoughnessMap:at,specularMap:et,specularColorMap:Bt,specularIntensityMap:Vt,transmission:Ve,transmissionMap:Gt,thicknessMap:Tt,gradientMap:Ot,opaque:_.transparent===!1&&_.blending===Sl&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:He,alphaHash:ze,combine:_.combine,mapUv:Se&&I(_.map.channel),aoMapUv:te&&I(_.aoMap.channel),lightMapUv:ue&&I(_.lightMap.channel),bumpMapUv:ae&&I(_.bumpMap.channel),normalMapUv:De&&I(_.normalMap.channel),displacementMapUv:j&&I(_.displacementMap.channel),emissiveMapUv:w&&I(_.emissiveMap.channel),metalnessMapUv:T&&I(_.metalnessMap.channel),roughnessMapUv:ie&&I(_.roughnessMap.channel),anisotropyMapUv:qe&&I(_.anisotropyMap.channel),clearcoatMapUv:lt&&I(_.clearcoatMap.channel),clearcoatNormalMapUv:It&&I(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Le&&I(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Nt&&I(_.iridescenceMap.channel),iridescenceThicknessMapUv:Qt&&I(_.iridescenceThicknessMap.channel),sheenColorMapUv:mt&&I(_.sheenColorMap.channel),sheenRoughnessMapUv:at&&I(_.sheenRoughnessMap.channel),specularMapUv:et&&I(_.specularMap.channel),specularColorMapUv:Bt&&I(_.specularColorMap.channel),specularIntensityMapUv:Vt&&I(_.specularIntensityMap.channel),transmissionMapUv:Gt&&I(_.transmissionMap.channel),thicknessMapUv:Tt&&I(_.thicknessMap.channel),alphaMapUv:K&&I(_.alphaMap.channel),vertexTangents:!!se.attributes.tangent&&(De||be),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!se.attributes.color&&se.attributes.color.itemSize===4,pointsUvs:J.isPoints===!0&&!!se.attributes.uv&&(Se||K),fog:!!le,useFog:_.fog===!0,fogExp2:!!le&&le.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:J.isSkinnedMesh===!0,morphTargets:se.morphAttributes.position!==void 0,morphNormals:se.morphAttributes.normal!==void 0,morphColors:se.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:L.directional.length,numPointLights:L.point.length,numSpotLights:L.spot.length,numSpotLightMaps:L.spotLightMap.length,numRectAreaLights:L.rectArea.length,numHemiLights:L.hemi.length,numDirLightShadows:L.directionalShadowMap.length,numPointLightShadows:L.pointShadowMap.length,numSpotLightShadows:L.spotShadowMap.length,numSpotLightShadowsWithMaps:L.numSpotLightShadowsWithMaps,numLightProbes:L.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&q.length>0,shadowMapType:n.shadowMap.type,toneMapping:pt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&un.getTransfer(_.map.colorSpace)===pn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===ws,flipSided:_.side===Vi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:rt&&_.extensions.derivatives===!0,extensionFragDepth:rt&&_.extensions.fragDepth===!0,extensionDrawBuffers:rt&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:rt&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:rt&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:rt&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:d||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return jt.vertexUv1s=A.has(1),jt.vertexUv2s=A.has(2),jt.vertexUv3s=A.has(3),A.clear(),jt}function v(_){const L=[];if(_.shaderID?L.push(_.shaderID):(L.push(_.customVertexShaderID),L.push(_.customFragmentShaderID)),_.defines!==void 0)for(const q in _.defines)L.push(q),L.push(_.defines[q]);return _.isRawShaderMaterial===!1&&(y(L,_),S(L,_),L.push(n.outputColorSpace)),L.push(_.customProgramCacheKey),L.join()}function y(_,L){_.push(L.precision),_.push(L.outputColorSpace),_.push(L.envMapMode),_.push(L.envMapCubeUVHeight),_.push(L.mapUv),_.push(L.alphaMapUv),_.push(L.lightMapUv),_.push(L.aoMapUv),_.push(L.bumpMapUv),_.push(L.normalMapUv),_.push(L.displacementMapUv),_.push(L.emissiveMapUv),_.push(L.metalnessMapUv),_.push(L.roughnessMapUv),_.push(L.anisotropyMapUv),_.push(L.clearcoatMapUv),_.push(L.clearcoatNormalMapUv),_.push(L.clearcoatRoughnessMapUv),_.push(L.iridescenceMapUv),_.push(L.iridescenceThicknessMapUv),_.push(L.sheenColorMapUv),_.push(L.sheenRoughnessMapUv),_.push(L.specularMapUv),_.push(L.specularColorMapUv),_.push(L.specularIntensityMapUv),_.push(L.transmissionMapUv),_.push(L.thicknessMapUv),_.push(L.combine),_.push(L.fogExp2),_.push(L.sizeAttenuation),_.push(L.morphTargetsCount),_.push(L.morphAttributeCount),_.push(L.numDirLights),_.push(L.numPointLights),_.push(L.numSpotLights),_.push(L.numSpotLightMaps),_.push(L.numHemiLights),_.push(L.numRectAreaLights),_.push(L.numDirLightShadows),_.push(L.numPointLightShadows),_.push(L.numSpotLightShadows),_.push(L.numSpotLightShadowsWithMaps),_.push(L.numLightProbes),_.push(L.shadowMapType),_.push(L.toneMapping),_.push(L.numClippingPlanes),_.push(L.numClipIntersection),_.push(L.depthPacking)}function S(_,L){a.disableAll(),L.isWebGL2&&a.enable(0),L.supportsVertexTextures&&a.enable(1),L.instancing&&a.enable(2),L.instancingColor&&a.enable(3),L.matcap&&a.enable(4),L.envMap&&a.enable(5),L.normalMapObjectSpace&&a.enable(6),L.normalMapTangentSpace&&a.enable(7),L.clearcoat&&a.enable(8),L.iridescence&&a.enable(9),L.alphaTest&&a.enable(10),L.vertexColors&&a.enable(11),L.vertexAlphas&&a.enable(12),L.vertexUv1s&&a.enable(13),L.vertexUv2s&&a.enable(14),L.vertexUv3s&&a.enable(15),L.vertexTangents&&a.enable(16),L.anisotropy&&a.enable(17),L.alphaHash&&a.enable(18),L.batching&&a.enable(19),_.push(a.mask),a.disableAll(),L.fog&&a.enable(0),L.useFog&&a.enable(1),L.flatShading&&a.enable(2),L.logarithmicDepthBuffer&&a.enable(3),L.skinning&&a.enable(4),L.morphTargets&&a.enable(5),L.morphNormals&&a.enable(6),L.morphColors&&a.enable(7),L.premultipliedAlpha&&a.enable(8),L.shadowMapEnabled&&a.enable(9),L.useLegacyLights&&a.enable(10),L.doubleSided&&a.enable(11),L.flipSided&&a.enable(12),L.useDepthPacking&&a.enable(13),L.dithering&&a.enable(14),L.transmission&&a.enable(15),L.sheen&&a.enable(16),L.opaque&&a.enable(17),L.pointsUvs&&a.enable(18),L.decodeVideoTexture&&a.enable(19),L.alphaToCoverage&&a.enable(20),_.push(a.mask)}function M(_){const L=C[_.type];let q;if(L){const de=ns[L];q=u2.clone(de.uniforms)}else q=_.uniforms;return q}function R(_,L){let q;for(let de=0,J=h.length;de0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(d,f,g,E,C,I){const p=o(d,f,g,E,C,I);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(d,f){t.length>1&&t.sort(d||xO),i.length>1&&i.sort(f||XS),r.length>1&&r.sort(f||XS)}function h(){for(let d=e,f=n.length;d=s.length?(o=new KS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function wO(){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 je};break;case"SpotLight":t={position:new O,direction:new O,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new je,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new je,groundColor:new je};break;case"RectAreaLight":t={color:new je,position:new O,halfWidth:new O,halfHeight:new O};break}return n[e.id]=t,t}}}function _O(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let QO=0;function MO(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function RO(n,e){const t=new wO,i=_O(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new O);const s=new O,o=new ct,a=new ct;function l(h,d){let f=0,g=0,E=0;for(let q=0;q<9;q++)r.probe[q].set(0,0,0);let C=0,I=0,p=0,v=0,y=0,S=0,M=0,R=0,D=0,k=0,X=0;h.sort(MO);const _=d===!0?Math.PI:1;for(let q=0,de=h.length;q0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=g,r.ambient[2]=E;const L=r.hash;(L.directionalLength!==C||L.pointLength!==I||L.spotLength!==p||L.rectAreaLength!==v||L.hemiLength!==y||L.numDirectionalShadows!==S||L.numPointShadows!==M||L.numSpotShadows!==R||L.numSpotMaps!==D||L.numLightProbes!==X)&&(r.directional.length=C,r.spot.length=p,r.rectArea.length=v,r.point.length=I,r.hemi.length=y,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=M,r.pointShadowMap.length=M,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=M,r.spotLightMatrix.length=R+D-k,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=k,r.numLightProbes=X,L.directionalLength=C,L.pointLength=I,L.spotLength=p,L.rectAreaLength=v,L.hemiLength=y,L.numDirectionalShadows=S,L.numPointShadows=M,L.numSpotShadows=R,L.numSpotMaps=D,L.numLightProbes=X,r.version=QO++)}function A(h,d){let f=0,g=0,E=0,C=0,I=0;const p=d.matrixWorldInverse;for(let v=0,y=h.length;v=a.length?(l=new jS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class em extends Ai{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=jR,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 tm extends Ai{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 TO=`void main() { +`+Z)}else de!==""?console.warn("THREE.WebGLProgram: Program Info Log:",de):(J===""||ae==="")&&(fe=!1);fe&&(q.diagnostics={runnable:re,programLog:de,vertexShader:{log:J,prefix:p},fragmentShader:{log:ae,prefix:y}})}r.deleteShader(R),r.deleteShader(D),X=new Wp(r,I),_=lO(r,I)}let X;this.getUniforms=function(){return X===void 0&&k(this),X};let _;this.getAttributes=function(){return _===void 0&&k(this),_};let L=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return L===!1&&(L=r.getProgramParameter(I,$F)),L},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(I),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=eO++,this.cacheKey=e,this.usedTimes=1,this.program=I,this.vertexShader=R,this.fragmentShader=D,this}let yO=0;class CO{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=yO++,this.code=e,this.usedTimes=0}}function BO(n,e,t,i,r,s,o){const a=new Ql,l=new CO,A=new Set,h=[],d=r.isWebGL2,f=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=r.precision;const C={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 I(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,L,q,de,J){const ae=de.fog,re=J.geometry,fe=_.isMeshStandardMaterial?de.environment:null,F=(_.isMeshStandardMaterial?t:e).get(_.envMap||fe),Z=F&&F.mapping===Ru?F.image.height:null,ne=C[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=re.morphAttributes.position||re.morphAttributes.normal||re.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;re.morphAttributes.position!==void 0&&(ke=1),re.morphAttributes.normal!==void 0&&(ke=2),re.morphAttributes.color!==void 0&&(ke=3);let W,z,G,N;if(ne){const rn=ns[ne];W=rn.vertexShader,z=rn.fragmentShader}else W=_.vertexShader,z=_.fragmentShader,l.update(_),G=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=J.isInstancedMesh===!0,pe=J.isBatchedMesh===!0,Se=!!_.map,H=!!_.matcap,me=!!F,te=!!_.aoMap,ue=!!_.lightMap,le=!!_.bumpMap,De=!!_.normalMap,j=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,be=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,qe=be&&!!_.anisotropyMap,ct=Te&&!!_.clearcoatMap,It=Te&&!!_.clearcoatNormalMap,Le=Te&&!!_.clearcoatRoughnessMap,Nt=Re&&!!_.iridescenceMap,Qt=Re&&!!_.iridescenceThicknessMap,mt=Je&&!!_.sheenColorMap,lt=Je&&!!_.sheenRoughnessMap,tt=!!_.specularMap,Bt=!!_.specularColorMap,Vt=!!_.specularIntensityMap,Ht=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Gt=!!_.gradientMap,K=!!_.alphaMap,He=_.alphaTest>0,ze=!!_.alphaHash,st=!!_.extensions;let pt=Ts;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(pt=n.toneMapping);const jt={isWebGL2:d,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:W,fragmentShader:z,defines:_.defines,customVertexShaderID:G,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&J.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Ls,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:H,envMap:me,envMapMode:me&&F.mapping,envMapCubeUVHeight:Z,aoMap:te,lightMap:ue,bumpMap:le,normalMap:De,displacementMap:g&&j,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===ZR,normalMapTangentSpace:De&&_.normalMapType===Ra,metalnessMap:T,roughnessMap:ie,anisotropy:be,anisotropyMap:qe,clearcoat:Te,clearcoatMap:ct,clearcoatNormalMap:It,clearcoatRoughnessMap:Le,iridescence:Re,iridescenceMap:Nt,iridescenceThicknessMap:Qt,sheen:Je,sheenColorMap:mt,sheenRoughnessMap:lt,specularMap:tt,specularColorMap:Bt,specularIntensityMap:Vt,transmission:Ve,transmissionMap:Ht,thicknessMap:Tt,gradientMap:Gt,opaque:_.transparent===!1&&_.blending===Sl&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:He,alphaHash:ze,combine:_.combine,mapUv:Se&&I(_.map.channel),aoMapUv:te&&I(_.aoMap.channel),lightMapUv:ue&&I(_.lightMap.channel),bumpMapUv:le&&I(_.bumpMap.channel),normalMapUv:De&&I(_.normalMap.channel),displacementMapUv:j&&I(_.displacementMap.channel),emissiveMapUv:w&&I(_.emissiveMap.channel),metalnessMapUv:T&&I(_.metalnessMap.channel),roughnessMapUv:ie&&I(_.roughnessMap.channel),anisotropyMapUv:qe&&I(_.anisotropyMap.channel),clearcoatMapUv:ct&&I(_.clearcoatMap.channel),clearcoatNormalMapUv:It&&I(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Le&&I(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Nt&&I(_.iridescenceMap.channel),iridescenceThicknessMapUv:Qt&&I(_.iridescenceThicknessMap.channel),sheenColorMapUv:mt&&I(_.sheenColorMap.channel),sheenRoughnessMapUv:lt&&I(_.sheenRoughnessMap.channel),specularMapUv:tt&&I(_.specularMap.channel),specularColorMapUv:Bt&&I(_.specularColorMap.channel),specularIntensityMapUv:Vt&&I(_.specularIntensityMap.channel),transmissionMapUv:Ht&&I(_.transmissionMap.channel),thicknessMapUv:Tt&&I(_.thicknessMap.channel),alphaMapUv:K&&I(_.alphaMap.channel),vertexTangents:!!re.attributes.tangent&&(De||be),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!re.attributes.color&&re.attributes.color.itemSize===4,pointsUvs:J.isPoints===!0&&!!re.attributes.uv&&(Se||K),fog:!!ae,useFog:_.fog===!0,fogExp2:!!ae&&ae.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:J.isSkinnedMesh===!0,morphTargets:re.morphAttributes.position!==void 0,morphNormals:re.morphAttributes.normal!==void 0,morphColors:re.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:L.directional.length,numPointLights:L.point.length,numSpotLights:L.spot.length,numSpotLightMaps:L.spotLightMap.length,numRectAreaLights:L.rectArea.length,numHemiLights:L.hemi.length,numDirLightShadows:L.directionalShadowMap.length,numPointLightShadows:L.pointShadowMap.length,numSpotLightShadows:L.spotShadowMap.length,numSpotLightShadowsWithMaps:L.numSpotLightShadowsWithMaps,numLightProbes:L.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&q.length>0,shadowMapType:n.shadowMap.type,toneMapping:pt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&un.getTransfer(_.map.colorSpace)===pn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===ws,flipSided:_.side===Vi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:st&&_.extensions.derivatives===!0,extensionFragDepth:st&&_.extensions.fragDepth===!0,extensionDrawBuffers:st&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:st&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:st&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:st&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:d||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return jt.vertexUv1s=A.has(1),jt.vertexUv2s=A.has(2),jt.vertexUv3s=A.has(3),A.clear(),jt}function y(_){const L=[];if(_.shaderID?L.push(_.shaderID):(L.push(_.customVertexShaderID),L.push(_.customFragmentShaderID)),_.defines!==void 0)for(const q in _.defines)L.push(q),L.push(_.defines[q]);return _.isRawShaderMaterial===!1&&(v(L,_),S(L,_),L.push(n.outputColorSpace)),L.push(_.customProgramCacheKey),L.join()}function v(_,L){_.push(L.precision),_.push(L.outputColorSpace),_.push(L.envMapMode),_.push(L.envMapCubeUVHeight),_.push(L.mapUv),_.push(L.alphaMapUv),_.push(L.lightMapUv),_.push(L.aoMapUv),_.push(L.bumpMapUv),_.push(L.normalMapUv),_.push(L.displacementMapUv),_.push(L.emissiveMapUv),_.push(L.metalnessMapUv),_.push(L.roughnessMapUv),_.push(L.anisotropyMapUv),_.push(L.clearcoatMapUv),_.push(L.clearcoatNormalMapUv),_.push(L.clearcoatRoughnessMapUv),_.push(L.iridescenceMapUv),_.push(L.iridescenceThicknessMapUv),_.push(L.sheenColorMapUv),_.push(L.sheenRoughnessMapUv),_.push(L.specularMapUv),_.push(L.specularColorMapUv),_.push(L.specularIntensityMapUv),_.push(L.transmissionMapUv),_.push(L.thicknessMapUv),_.push(L.combine),_.push(L.fogExp2),_.push(L.sizeAttenuation),_.push(L.morphTargetsCount),_.push(L.morphAttributeCount),_.push(L.numDirLights),_.push(L.numPointLights),_.push(L.numSpotLights),_.push(L.numSpotLightMaps),_.push(L.numHemiLights),_.push(L.numRectAreaLights),_.push(L.numDirLightShadows),_.push(L.numPointLightShadows),_.push(L.numSpotLightShadows),_.push(L.numSpotLightShadowsWithMaps),_.push(L.numLightProbes),_.push(L.shadowMapType),_.push(L.toneMapping),_.push(L.numClippingPlanes),_.push(L.numClipIntersection),_.push(L.depthPacking)}function S(_,L){a.disableAll(),L.isWebGL2&&a.enable(0),L.supportsVertexTextures&&a.enable(1),L.instancing&&a.enable(2),L.instancingColor&&a.enable(3),L.matcap&&a.enable(4),L.envMap&&a.enable(5),L.normalMapObjectSpace&&a.enable(6),L.normalMapTangentSpace&&a.enable(7),L.clearcoat&&a.enable(8),L.iridescence&&a.enable(9),L.alphaTest&&a.enable(10),L.vertexColors&&a.enable(11),L.vertexAlphas&&a.enable(12),L.vertexUv1s&&a.enable(13),L.vertexUv2s&&a.enable(14),L.vertexUv3s&&a.enable(15),L.vertexTangents&&a.enable(16),L.anisotropy&&a.enable(17),L.alphaHash&&a.enable(18),L.batching&&a.enable(19),_.push(a.mask),a.disableAll(),L.fog&&a.enable(0),L.useFog&&a.enable(1),L.flatShading&&a.enable(2),L.logarithmicDepthBuffer&&a.enable(3),L.skinning&&a.enable(4),L.morphTargets&&a.enable(5),L.morphNormals&&a.enable(6),L.morphColors&&a.enable(7),L.premultipliedAlpha&&a.enable(8),L.shadowMapEnabled&&a.enable(9),L.useLegacyLights&&a.enable(10),L.doubleSided&&a.enable(11),L.flipSided&&a.enable(12),L.useDepthPacking&&a.enable(13),L.dithering&&a.enable(14),L.transmission&&a.enable(15),L.sheen&&a.enable(16),L.opaque&&a.enable(17),L.pointsUvs&&a.enable(18),L.decodeVideoTexture&&a.enable(19),L.alphaToCoverage&&a.enable(20),_.push(a.mask)}function M(_){const L=C[_.type];let q;if(L){const de=ns[L];q=A2.clone(de.uniforms)}else q=_.uniforms;return q}function R(_,L){let q;for(let de=0,J=h.length;de0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(d,f,g,E,C,I){const p=o(d,f,g,E,C,I);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(d,f){t.length>1&&t.sort(d||SO),i.length>1&&i.sort(f||KS),r.length>1&&r.sort(f||KS)}function h(){for(let d=e,f=n.length;d=s.length?(o=new jS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function _O(){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 je};break;case"SpotLight":t={position:new O,direction:new O,color:new je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new je,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new je,groundColor:new je};break;case"RectAreaLight":t={color:new je,position:new O,halfWidth:new O,halfHeight:new O};break}return n[e.id]=t,t}}}function QO(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let MO=0;function RO(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function DO(n,e){const t=new _O,i=QO(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new O);const s=new O,o=new ut,a=new ut;function l(h,d){let f=0,g=0,E=0;for(let q=0;q<9;q++)r.probe[q].set(0,0,0);let C=0,I=0,p=0,y=0,v=0,S=0,M=0,R=0,D=0,k=0,X=0;h.sort(RO);const _=d===!0?Math.PI:1;for(let q=0,de=h.length;q0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=g,r.ambient[2]=E;const L=r.hash;(L.directionalLength!==C||L.pointLength!==I||L.spotLength!==p||L.rectAreaLength!==y||L.hemiLength!==v||L.numDirectionalShadows!==S||L.numPointShadows!==M||L.numSpotShadows!==R||L.numSpotMaps!==D||L.numLightProbes!==X)&&(r.directional.length=C,r.spot.length=p,r.rectArea.length=y,r.point.length=I,r.hemi.length=v,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=M,r.pointShadowMap.length=M,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=M,r.spotLightMatrix.length=R+D-k,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=k,r.numLightProbes=X,L.directionalLength=C,L.pointLength=I,L.spotLength=p,L.rectAreaLength=y,L.hemiLength=v,L.numDirectionalShadows=S,L.numPointShadows=M,L.numSpotShadows=R,L.numSpotMaps=D,L.numLightProbes=X,r.version=MO++)}function A(h,d){let f=0,g=0,E=0,C=0,I=0;const p=d.matrixWorldInverse;for(let y=0,v=h.length;y=a.length?(l=new qS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class em extends ri{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=qR,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 tm extends ri{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const bO=`void main() { gl_Position = vec4( position, 1.0 ); -}`,bO=`uniform sampler2D shadow_pass; +}`,LO=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3776,12 +3776,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function LO(n,e,t){let i=new jh;const r=new ve,s=new ve,o=new An,a=new em({depthPacking:Pv}),l=new tm,A={},h=t.maxTextureSize,d={[Hr]:Vi,[Vi]:Hr,[ws]:ws},f=new as({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:TO,fragmentShader:bO}),g=f.clone();g.defines.HORIZONTAL_PASS=1;const E=new Pt;E.setAttribute("position",new ln(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const C=new nn(E,f),I=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Jg;let p=this.type;this.render=function(R,D,k){if(I.enabled===!1||I.autoUpdate===!1&&I.needsUpdate===!1||R.length===0)return;const X=n.getRenderTarget(),_=n.getActiveCubeFace(),L=n.getActiveMipmapLevel(),q=n.state;q.setBlending(Ao),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);const de=p!==$r&&this.type===$r,J=p===$r&&this.type!==$r;for(let le=0,se=R.length;leh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/Z.x),r.x=s.x*Z.x,F.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/Z.y),r.y=s.y*Z.y,F.mapSize.y=s.y)),F.map===null||de===!0||J===!0){const Ae=this.type!==$r?{minFilter:On,magFilter:On}:{};F.map!==null&&F.map.dispose(),F.map=new zr(r.x,r.y,Ae),F.map.texture.name=fe.name+".shadowMap",F.camera.updateProjectionMatrix()}n.setRenderTarget(F.map),n.clear();const ne=F.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const q=_.uuid,de=D.uuid;let J=A[q];J===void 0&&(J={},A[q]=J);let le=J[de];le===void 0&&(le=_.clone(),J[de]=le,D.addEventListener("dispose",M)),_=le}if(_.visible=D.visible,_.wireframe=D.wireframe,X===$r?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:d[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,k.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const q=n.properties.get(_);q.light=k}return _}function S(R,D,k,X,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===$r)&&(!R.frustumCulled||i.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(k.matrixWorldInverse,R.matrixWorld);const de=e.update(R),J=R.material;if(Array.isArray(J)){const le=de.groups;for(let se=0,fe=le.length;se=1):ne.indexOf("OpenGL ES")!==-1&&(Z=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),F=Z>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),W=n.getParameter(n.VIEWPORT),z=new An().fromArray(ke),G=new An().fromArray(W);function N(K,He,ze,rt){const pt=new Uint8Array(4),jt=n.createTexture();n.bindTexture(K,jt),n.texParameteri(K,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(K,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let rn=0;rn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let d;const f=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):Mh("canvas")}function C(w,T,ie,be){let Te=1;if((w.width>be||w.height>be)&&(Te=be/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?xg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);d===void 0&&(d=E(Je,Ve));const qe=ie?E(Je,Ve):d;return qe.width=Je,qe.height=Ve,qe.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),qe}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function I(w){return oC(w.width)&&oC(w.height)}function p(w){return a?!1:w.wrapS!==Ri||w.wrapT!==Ri||w.minFilter!==On&&w.minFilter!==Cn}function v(w,T){return w.generateMipmaps&&T&&w.minFilter!==On&&w.minFilter!==Cn}function y(w){n.generateMipmap(w)}function S(w,T,ie,be,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?xh:un.getTransfer(be);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Je===pn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function M(w,T,ie){return v(w,ie)===!0||w.isFramebufferTexture&&w.minFilter!==On&&w.minFilter!==Cn?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function R(w){return w===On||w===vg||w===dl?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),X(T),T.isVideoTexture&&h.delete(T)}function k(w){const T=w.target;T.removeEventListener("dispose",k),L(T)}function X(w){const T=i.get(w);if(T.__webglInit===void 0)return;const ie=w.source,be=f.get(ie);if(be){const Te=be[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(be).length===0&&f.delete(ie)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const ie=w.source,be=f.get(ie);delete be[T.__cacheKey],o.memory.textures--}function L(w){const T=w.texture,ie=i.get(w),be=i.get(T);if(be.__webglTexture!==void 0&&(n.deleteTexture(be.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),q+=1,w}function le(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function se(w,T){const ie=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&ie.__version!==w.version){const be=w.image;if(be===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(be.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(ie,w,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function fe(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){z(ie,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function F(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){z(ie,w,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function Z(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[Ih]:n.REPEAT,[Ri]:n.CLAMP_TO_EDGE,[yh]:n.MIRRORED_REPEAT},Ae={[On]:n.NEAREST,[vg]:n.NEAREST_MIPMAP_NEAREST,[dl]:n.NEAREST_MIPMAP_LINEAR,[Cn]:n.LINEAR,[XA]:n.LINEAR_MIPMAP_NEAREST,[_s]:n.LINEAR_MIPMAP_LINEAR},_e={[ZR]:n.NEVER,[r2]:n.ALWAYS,[$R]:n.LESS,[Nv]:n.LEQUAL,[e2]:n.EQUAL,[i2]:n.GEQUAL,[t2]:n.GREATER,[n2]:n.NOTEQUAL};function ke(w,T,ie){if(T.type===Pr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===Cn||T.magFilter===XA||T.magFilter===dl||T.magFilter===_s||T.minFilter===Cn||T.minFilter===XA||T.minFilter===dl||T.minFilter===_s)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(w,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ne[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Ri||T.wrapT!==Ri)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,R(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==On&&T.minFilter!==Cn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const be=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===On||T.minFilter!==dl&&T.minFilter!==_s||T.type===Pr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ul&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,be.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function W(w,T){let ie=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const be=T.source;let Te=f.get(be);Te===void 0&&(Te={},f.set(be,Te));const Re=le(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return ie}function z(w,T,ie){let be=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(be=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(be=n.TEXTURE_3D);const Te=W(w,T),Re=T.source;t.bindTexture(be,w.__webglTexture,n.TEXTURE0+ie);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=un.getPrimaries(un.workingColorSpace),qe=T.colorSpace===hr?null:un.getPrimaries(T.colorSpace),lt=T.colorSpace===hr||Ve===qe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,lt);const It=p(T)&&I(T.image)===!1;let Le=C(T.image,It,!1,r.maxTextureSize);Le=j(T,Le);const Nt=I(Le)||a,Qt=s.convert(T.format,T.colorSpace);let mt=s.convert(T.type),at=S(T.internalFormat,Qt,mt,T.colorSpace,T.isVideoTexture);ke(be,T,Nt);let et;const Bt=T.mipmaps,Vt=a&&T.isVideoTexture!==!0&&at!==Tv,Gt=Je.__version===void 0||Te===!0,Tt=Re.dataReady,Ot=M(T,Le,Nt);if(T.isDepthTexture)at=n.DEPTH_COMPONENT,a?T.type===Pr?at=n.DEPTH_COMPONENT32F:T.type===ao?at=n.DEPTH_COMPONENT24:T.type===ma?at=n.DEPTH24_STENCIL8:at=n.DEPTH_COMPONENT16:T.type===Pr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===Ea&&at===n.DEPTH_COMPONENT&&T.type!==Kg&&T.type!==ao&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=ao,mt=s.convert(T.type)),T.format===kl&&at===n.DEPTH_COMPONENT&&(at=n.DEPTH_STENCIL,T.type!==ma&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=ma,mt=s.convert(T.type))),Gt&&(Vt?t.texStorage2D(n.TEXTURE_2D,1,at,Le.width,Le.height):t.texImage2D(n.TEXTURE_2D,0,at,Le.width,Le.height,0,Qt,mt,null));else if(T.isDataTexture)if(Bt.length>0&&Nt){Vt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ot,at,Bt[0].width,Bt[0].height);for(let K=0,He=Bt.length;K>=1,He>>=1}}else if(Bt.length>0&&Nt){Vt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ot,at,Bt[0].width,Bt[0].height);for(let K=0,He=Bt.length;K0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,et,Le[0].width,Le[0].height));for(let K=0;K<6;K++)if(It){Bt?Gt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,Le[K].width,Le[K].height,mt,at,Le[K].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,et,Le[K].width,Le[K].height,0,mt,at,Le[K].data);for(let He=0;He>Re),Le=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,qe,It,Le,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,qe,It,Le,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),ae(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let be=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||ae(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Pr?be=n.DEPTH_COMPONENT32F:Te.type===ao&&(be=n.DEPTH_COMPONENT24));const Re=ue(T);ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,be,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,be,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,be,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const be=ue(T);ie&&ae(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const be=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let qe=0;qe0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&ae(w)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let qe=0;qe0)for(let qe=0;qe0)for(let qe=0;qe0&&ae(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],ie=w.width,be=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),qe=w.isWebGLMultipleRenderTargets===!0;if(qe)for(let lt=0;lt0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function j(w,T){const ie=w.colorSpace,be=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===Bg||ie!==Ls&&ie!==hr&&(un.getTransfer(ie)===pn?a===!1?e.has("EXT_sRGB")===!0&&be===Gi?(w.format=Bg,w.minFilter=Cn,w.generateMipmaps=!1):T=kv.sRGBToLinear(T):(be!==Gi||Te!==bs)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=J,this.resetTextureUnits=de,this.setTexture2D=se,this.setTexture2DArray=fe,this.setTexture3D=F,this.setTextureCube=Z,this.rebindTextures=Se,this.setupRenderTarget=H,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=ae}function I2(n,e,t){const i=t.isWebGL2;function r(s,o=hr){let a;const l=un.getTransfer(o);if(s===bs)return n.UNSIGNED_BYTE;if(s===_v)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Qv)return n.UNSIGNED_SHORT_5_5_5_1;if(s===FR)return n.BYTE;if(s===OR)return n.SHORT;if(s===Kg)return n.UNSIGNED_SHORT;if(s===wv)return n.INT;if(s===ao)return n.UNSIGNED_INT;if(s===Pr)return n.FLOAT;if(s===Ul)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===GR)return n.ALPHA;if(s===Gi)return n.RGBA;if(s===HR)return n.LUMINANCE;if(s===zR)return n.LUMINANCE_ALPHA;if(s===Ea)return n.DEPTH_COMPONENT;if(s===kl)return n.DEPTH_STENCIL;if(s===Bg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===VR)return n.RED;if(s===Mv)return n.RED_INTEGER;if(s===WR)return n.RG;if(s===Rv)return n.RG_INTEGER;if(s===Dv)return n.RGBA_INTEGER;if(s===Fp||s===Op||s===Gp||s===Hp)if(l===pn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Fp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Op)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Gp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Hp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Fp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Op)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Gp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Hp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===by||s===Ly||s===Py||s===Ny)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===by)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===Ly)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Py)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===Ny)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===Tv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===Uy||s===ky)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===Uy)return l===pn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===ky)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Fy||s===Oy||s===Gy||s===Hy||s===zy||s===Vy||s===Wy||s===Yy||s===Jy||s===Xy||s===Ky||s===jy||s===qy||s===Zy)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Fy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Oy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Gy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Hy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===zy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===Vy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Wy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Yy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Jy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Xy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Ky)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===jy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===qy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===Zy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===zp||s===$y||s===eC)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===zp)return l===pn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===$y)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===eC)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===YR||s===tC||s===nC||s===iC)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===zp)return a.COMPRESSED_RED_RGTC1_EXT;if(s===tC)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===nC)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===iC)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===ma?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class y2 extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class lo extends zt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const UO={type:"move"};class PE{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new lo,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 lo,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 lo,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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const C of e.hand.values()){const I=t.getJointPose(C,i),p=this._getHandJoint(A,C);I!==null&&(p.matrix.fromArray(I.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=I.radius),p.visible=I!==null}const h=A.joints["index-finger-tip"],d=A.joints["thumb-tip"],f=h.position.distanceTo(d.position),g=.02,E=.005;A.inputState.pinching&&f>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&f<=g-E&&(A.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(UO)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new lo;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const kO=` +}`;function PO(n,e,t){let i=new jh;const r=new ve,s=new ve,o=new An,a=new em({depthPacking:Pv}),l=new tm,A={},h=t.maxTextureSize,d={[Hr]:Vi,[Vi]:Hr,[ws]:ws},f=new as({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:bO,fragmentShader:LO}),g=f.clone();g.defines.HORIZONTAL_PASS=1;const E=new Pt;E.setAttribute("position",new ln(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const C=new $t(E,f),I=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Jg;let p=this.type;this.render=function(R,D,k){if(I.enabled===!1||I.autoUpdate===!1&&I.needsUpdate===!1||R.length===0)return;const X=n.getRenderTarget(),_=n.getActiveCubeFace(),L=n.getActiveMipmapLevel(),q=n.state;q.setBlending(Ao),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);const de=p!==$r&&this.type===$r,J=p===$r&&this.type!==$r;for(let ae=0,re=R.length;aeh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/Z.x),r.x=s.x*Z.x,F.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/Z.y),r.y=s.y*Z.y,F.mapSize.y=s.y)),F.map===null||de===!0||J===!0){const Ae=this.type!==$r?{minFilter:On,magFilter:On}:{};F.map!==null&&F.map.dispose(),F.map=new zr(r.x,r.y,Ae),F.map.texture.name=fe.name+".shadowMap",F.camera.updateProjectionMatrix()}n.setRenderTarget(F.map),n.clear();const ne=F.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const q=_.uuid,de=D.uuid;let J=A[q];J===void 0&&(J={},A[q]=J);let ae=J[de];ae===void 0&&(ae=_.clone(),J[de]=ae,D.addEventListener("dispose",M)),_=ae}if(_.visible=D.visible,_.wireframe=D.wireframe,X===$r?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:d[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,k.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const q=n.properties.get(_);q.light=k}return _}function S(R,D,k,X,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===$r)&&(!R.frustumCulled||i.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(k.matrixWorldInverse,R.matrixWorld);const de=e.update(R),J=R.material;if(Array.isArray(J)){const ae=de.groups;for(let re=0,fe=ae.length;re=1):ne.indexOf("OpenGL ES")!==-1&&(Z=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),F=Z>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),W=n.getParameter(n.VIEWPORT),z=new An().fromArray(ke),G=new An().fromArray(W);function N(K,He,ze,st){const pt=new Uint8Array(4),jt=n.createTexture();n.bindTexture(K,jt),n.texParameteri(K,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(K,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let rn=0;rn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let d;const f=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):Mh("canvas")}function C(w,T,ie,be){let Te=1;if((w.width>be||w.height>be)&&(Te=be/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?xg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);d===void 0&&(d=E(Je,Ve));const qe=ie?E(Je,Ve):d;return qe.width=Je,qe.height=Ve,qe.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),qe}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function I(w){return oC(w.width)&&oC(w.height)}function p(w){return a?!1:w.wrapS!==Ri||w.wrapT!==Ri||w.minFilter!==On&&w.minFilter!==Cn}function y(w,T){return w.generateMipmaps&&T&&w.minFilter!==On&&w.minFilter!==Cn}function v(w){n.generateMipmap(w)}function S(w,T,ie,be,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?xh:un.getTransfer(be);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Je===pn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function M(w,T,ie){return y(w,ie)===!0||w.isFramebufferTexture&&w.minFilter!==On&&w.minFilter!==Cn?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function R(w){return w===On||w===vg||w===dl?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),X(T),T.isVideoTexture&&h.delete(T)}function k(w){const T=w.target;T.removeEventListener("dispose",k),L(T)}function X(w){const T=i.get(w);if(T.__webglInit===void 0)return;const ie=w.source,be=f.get(ie);if(be){const Te=be[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(be).length===0&&f.delete(ie)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const ie=w.source,be=f.get(ie);delete be[T.__cacheKey],o.memory.textures--}function L(w){const T=w.texture,ie=i.get(w),be=i.get(T);if(be.__webglTexture!==void 0&&(n.deleteTexture(be.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),q+=1,w}function ae(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function re(w,T){const ie=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&ie.__version!==w.version){const be=w.image;if(be===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(be.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(ie,w,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function fe(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){z(ie,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function F(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){z(ie,w,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function Z(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[Ih]:n.REPEAT,[Ri]:n.CLAMP_TO_EDGE,[yh]:n.MIRRORED_REPEAT},Ae={[On]:n.NEAREST,[vg]:n.NEAREST_MIPMAP_NEAREST,[dl]:n.NEAREST_MIPMAP_LINEAR,[Cn]:n.LINEAR,[XA]:n.LINEAR_MIPMAP_NEAREST,[_s]:n.LINEAR_MIPMAP_LINEAR},_e={[$R]:n.NEVER,[s2]:n.ALWAYS,[e2]:n.LESS,[Nv]:n.LEQUAL,[t2]:n.EQUAL,[r2]:n.GEQUAL,[n2]:n.GREATER,[i2]:n.NOTEQUAL};function ke(w,T,ie){if(T.type===Pr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===Cn||T.magFilter===XA||T.magFilter===dl||T.magFilter===_s||T.minFilter===Cn||T.minFilter===XA||T.minFilter===dl||T.minFilter===_s)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(w,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ne[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Ri||T.wrapT!==Ri)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,R(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==On&&T.minFilter!==Cn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const be=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===On||T.minFilter!==dl&&T.minFilter!==_s||T.type===Pr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ul&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,be.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function W(w,T){let ie=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const be=T.source;let Te=f.get(be);Te===void 0&&(Te={},f.set(be,Te));const Re=ae(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return ie}function z(w,T,ie){let be=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(be=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(be=n.TEXTURE_3D);const Te=W(w,T),Re=T.source;t.bindTexture(be,w.__webglTexture,n.TEXTURE0+ie);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=un.getPrimaries(un.workingColorSpace),qe=T.colorSpace===hr?null:un.getPrimaries(T.colorSpace),ct=T.colorSpace===hr||Ve===qe?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,ct);const It=p(T)&&I(T.image)===!1;let Le=C(T.image,It,!1,r.maxTextureSize);Le=j(T,Le);const Nt=I(Le)||a,Qt=s.convert(T.format,T.colorSpace);let mt=s.convert(T.type),lt=S(T.internalFormat,Qt,mt,T.colorSpace,T.isVideoTexture);ke(be,T,Nt);let tt;const Bt=T.mipmaps,Vt=a&&T.isVideoTexture!==!0&<!==Tv,Ht=Je.__version===void 0||Te===!0,Tt=Re.dataReady,Gt=M(T,Le,Nt);if(T.isDepthTexture)lt=n.DEPTH_COMPONENT,a?T.type===Pr?lt=n.DEPTH_COMPONENT32F:T.type===ao?lt=n.DEPTH_COMPONENT24:T.type===ma?lt=n.DEPTH24_STENCIL8:lt=n.DEPTH_COMPONENT16:T.type===Pr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===Ea&<===n.DEPTH_COMPONENT&&T.type!==Kg&&T.type!==ao&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=ao,mt=s.convert(T.type)),T.format===kl&<===n.DEPTH_COMPONENT&&(lt=n.DEPTH_STENCIL,T.type!==ma&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=ma,mt=s.convert(T.type))),Ht&&(Vt?t.texStorage2D(n.TEXTURE_2D,1,lt,Le.width,Le.height):t.texImage2D(n.TEXTURE_2D,0,lt,Le.width,Le.height,0,Qt,mt,null));else if(T.isDataTexture)if(Bt.length>0&&Nt){Vt&&Ht&&t.texStorage2D(n.TEXTURE_2D,Gt,lt,Bt[0].width,Bt[0].height);for(let K=0,He=Bt.length;K>=1,He>>=1}}else if(Bt.length>0&&Nt){Vt&&Ht&&t.texStorage2D(n.TEXTURE_2D,Gt,lt,Bt[0].width,Bt[0].height);for(let K=0,He=Bt.length;K0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,tt,Le[0].width,Le[0].height));for(let K=0;K<6;K++)if(It){Bt?Ht&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,Le[K].width,Le[K].height,mt,lt,Le[K].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,tt,Le[K].width,Le[K].height,0,mt,lt,Le[K].data);for(let He=0;He>Re),Le=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,qe,It,Le,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,qe,It,Le,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),le(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let be=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||le(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Pr?be=n.DEPTH_COMPONENT32F:Te.type===ao&&(be=n.DEPTH_COMPONENT24));const Re=ue(T);le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,be,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,be,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,be,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const be=ue(T);ie&&le(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const be=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let qe=0;qe0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&le(w)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let qe=0;qe0)for(let qe=0;qe0)for(let qe=0;qe0&&le(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],ie=w.width,be=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),qe=w.isWebGLMultipleRenderTargets===!0;if(qe)for(let ct=0;ct0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function j(w,T){const ie=w.colorSpace,be=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===Bg||ie!==Ls&&ie!==hr&&(un.getTransfer(ie)===pn?a===!1?e.has("EXT_sRGB")===!0&&be===Gi?(w.format=Bg,w.minFilter=Cn,w.generateMipmaps=!1):T=kv.sRGBToLinear(T):(be!==Gi||Te!==bs)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=J,this.resetTextureUnits=de,this.setTexture2D=re,this.setTexture2DArray=fe,this.setTexture3D=F,this.setTextureCube=Z,this.rebindTextures=Se,this.setupRenderTarget=H,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=le}function y2(n,e,t){const i=t.isWebGL2;function r(s,o=hr){let a;const l=un.getTransfer(o);if(s===bs)return n.UNSIGNED_BYTE;if(s===_v)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Qv)return n.UNSIGNED_SHORT_5_5_5_1;if(s===OR)return n.BYTE;if(s===GR)return n.SHORT;if(s===Kg)return n.UNSIGNED_SHORT;if(s===wv)return n.INT;if(s===ao)return n.UNSIGNED_INT;if(s===Pr)return n.FLOAT;if(s===Ul)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===HR)return n.ALPHA;if(s===Gi)return n.RGBA;if(s===zR)return n.LUMINANCE;if(s===VR)return n.LUMINANCE_ALPHA;if(s===Ea)return n.DEPTH_COMPONENT;if(s===kl)return n.DEPTH_STENCIL;if(s===Bg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===WR)return n.RED;if(s===Mv)return n.RED_INTEGER;if(s===YR)return n.RG;if(s===Rv)return n.RG_INTEGER;if(s===Dv)return n.RGBA_INTEGER;if(s===Fp||s===Op||s===Gp||s===Hp)if(l===pn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Fp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Op)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Gp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Hp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Fp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Op)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Gp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Hp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===by||s===Ly||s===Py||s===Ny)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===by)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===Ly)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Py)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===Ny)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===Tv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===Uy||s===ky)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===Uy)return l===pn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===ky)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Fy||s===Oy||s===Gy||s===Hy||s===zy||s===Vy||s===Wy||s===Yy||s===Jy||s===Xy||s===Ky||s===jy||s===qy||s===Zy)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Fy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Oy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Gy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Hy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===zy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===Vy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Wy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Yy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Jy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===Xy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Ky)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===jy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===qy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===Zy)return l===pn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===zp||s===$y||s===eC)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===zp)return l===pn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===$y)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===eC)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===JR||s===tC||s===nC||s===iC)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===zp)return a.COMPRESSED_RED_RGTC1_EXT;if(s===tC)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===nC)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===iC)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===ma?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class C2 extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class lo extends zt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const kO={type:"move"};class PE{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new lo,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 lo,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 lo,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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const C of e.hand.values()){const I=t.getJointPose(C,i),p=this._getHandJoint(A,C);I!==null&&(p.matrix.fromArray(I.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=I.radius),p.visible=I!==null}const h=A.joints["index-finger-tip"],d=A.joints["thumb-tip"],f=h.position.distanceTo(d.position),g=.02,E=.005;A.inputState.pinching&&f>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&f<=g-E&&(A.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(kO)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new lo;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const FO=` void main() { gl_Position = vec4( position, 1.0 ); -}`,FO=` +}`,OO=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3800,7 +3800,7 @@ void main() { } -}`;class OO{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new Sn,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 as({extensions:{fragDepth:!0},vertexShader:kO,fragmentShader:FO,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new nn(new Ta(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class GO extends Io{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,A=null,h=null,d=null,f=null,g=null,E=null;const C=new OO,I=t.getContextAttributes();let p=null,v=null;const y=[],S=[],M=new ve;let R=null;const D=new qn;D.layers.enable(1),D.viewport=new An;const k=new qn;k.layers.enable(2),k.viewport=new An;const X=[D,k],_=new y2;_.layers.enable(1),_.layers.enable(2);let L=null,q=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(W){let z=y[W];return z===void 0&&(z=new PE,y[W]=z),z.getTargetRaySpace()},this.getControllerGrip=function(W){let z=y[W];return z===void 0&&(z=new PE,y[W]=z),z.getGripSpace()},this.getHand=function(W){let z=y[W];return z===void 0&&(z=new PE,y[W]=z),z.getHandSpace()};function de(W){const z=S.indexOf(W.inputSource);if(z===-1)return;const G=y[z];G!==void 0&&(G.update(W.inputSource,W.frame,A||o),G.dispatchEvent({type:W.type,data:W.inputSource}))}function J(){r.removeEventListener("select",de),r.removeEventListener("selectstart",de),r.removeEventListener("selectend",de),r.removeEventListener("squeeze",de),r.removeEventListener("squeezestart",de),r.removeEventListener("squeezeend",de),r.removeEventListener("end",J),r.removeEventListener("inputsourceschange",le);for(let W=0;W=0&&(S[N]=null,y[N].disconnect(G))}for(let z=0;z=S.length){S.push(G),N=Be;break}else if(S[Be]===null){S[Be]=G,N=Be;break}if(N===-1)break}const Ee=y[N];Ee&&Ee.connect(G)}}const se=new O,fe=new O;function F(W,z,G){se.setFromMatrixPosition(z.matrixWorld),fe.setFromMatrixPosition(G.matrixWorld);const N=se.distanceTo(fe),Ee=z.projectionMatrix.elements,Be=G.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),H=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],ae=pe*te,De=pe*ue,j=N/(-te+ue),w=j*-te;z.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(w),W.translateZ(j),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const T=pe+j,ie=Se+j,be=ae-w,Te=De+(N-w),Re=H*Se/ie*T,Je=me*Se/ie*T;W.projectionMatrix.makePerspective(be,Te,Re,Je,T,ie),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function Z(W,z){z===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(z.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(r===null)return;C.texture!==null&&(W.near=C.depthNear,W.far=C.depthFar),_.near=k.near=D.near=W.near,_.far=k.far=D.far=W.far,(L!==_.near||q!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),L=_.near,q=_.far,D.near=L,D.far=q,k.near=L,k.far=q,D.updateProjectionMatrix(),k.updateProjectionMatrix(),W.updateProjectionMatrix());const z=W.parent,G=_.cameras;Z(_,z);for(let N=0;N0&&(I.alphaTest.value=p.alphaTest);const v=e.get(p).envMap;if(v&&(I.envMap.value=v,I.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,I.reflectivity.value=p.reflectivity,I.ior.value=p.ior,I.refractionRatio.value=p.refractionRatio),p.lightMap){I.lightMap.value=p.lightMap;const y=n._useLegacyLights===!0?Math.PI:1;I.lightMapIntensity.value=p.lightMapIntensity*y,t(p.lightMap,I.lightMapTransform)}p.aoMap&&(I.aoMap.value=p.aoMap,I.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,I.aoMapTransform))}function o(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform))}function a(I,p){I.dashSize.value=p.dashSize,I.totalSize.value=p.dashSize+p.gapSize,I.scale.value=p.scale}function l(I,p,v,y){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.size.value=p.size*v,I.scale.value=y*.5,p.map&&(I.map.value=p.map,t(p.map,I.uvTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function A(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.rotation.value=p.rotation,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function h(I,p){I.specular.value.copy(p.specular),I.shininess.value=Math.max(p.shininess,1e-4)}function d(I,p){p.gradientMap&&(I.gradientMap.value=p.gradientMap)}function f(I,p){I.metalness.value=p.metalness,p.metalnessMap&&(I.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,I.metalnessMapTransform)),I.roughness.value=p.roughness,p.roughnessMap&&(I.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,I.roughnessMapTransform)),e.get(p).envMap&&(I.envMapIntensity.value=p.envMapIntensity)}function g(I,p,v){I.ior.value=p.ior,p.sheen>0&&(I.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),I.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(I.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,I.sheenColorMapTransform)),p.sheenRoughnessMap&&(I.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,I.sheenRoughnessMapTransform))),p.clearcoat>0&&(I.clearcoat.value=p.clearcoat,I.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(I.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,I.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(I.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,I.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(I.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,I.clearcoatNormalMapTransform),I.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Vi&&I.clearcoatNormalScale.value.negate())),p.iridescence>0&&(I.iridescence.value=p.iridescence,I.iridescenceIOR.value=p.iridescenceIOR,I.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],I.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(I.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,I.iridescenceMapTransform)),p.iridescenceThicknessMap&&(I.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,I.iridescenceThicknessMapTransform))),p.transmission>0&&(I.transmission.value=p.transmission,I.transmissionSamplerMap.value=v.texture,I.transmissionSamplerSize.value.set(v.width,v.height),p.transmissionMap&&(I.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,I.transmissionMapTransform)),I.thickness.value=p.thickness,p.thicknessMap&&(I.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,I.thicknessMapTransform)),I.attenuationDistance.value=p.attenuationDistance,I.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(I.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(I.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,I.anisotropyMapTransform))),I.specularIntensity.value=p.specularIntensity,I.specularColor.value.copy(p.specularColor),p.specularColorMap&&(I.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,I.specularColorMapTransform)),p.specularIntensityMap&&(I.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,I.specularIntensityMapTransform))}function E(I,p){p.matcap&&(I.matcap.value=p.matcap)}function C(I,p){const v=e.get(p).light;I.referencePosition.value.setFromMatrixPosition(v.matrixWorld),I.nearDistance.value=v.shadow.camera.near,I.farDistance.value=v.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function zO(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(v,y){const S=y.program;i.uniformBlockBinding(v,S)}function A(v,y){let S=r[v.id];S===void 0&&(E(v),S=h(v),r[v.id]=S,v.addEventListener("dispose",I));const M=y.program;i.updateUBOMapping(v,M);const R=e.render.frame;s[v.id]!==R&&(f(v),s[v.id]=R)}function h(v){const y=d();v.__bindingPointIndex=y;const S=n.createBuffer(),M=v.__size,R=v.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,M,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,y,S),S}function d(){for(let v=0;v0&&(S+=M-R),v.__size=S,v.__cache={},this}function C(v){const y={boundary:0,storage:0};return typeof v=="number"||typeof v=="boolean"?(y.boundary=4,y.storage=4):v.isVector2?(y.boundary=8,y.storage=8):v.isVector3||v.isColor?(y.boundary=16,y.storage=12):v.isVector4?(y.boundary=16,y.storage=16):v.isMatrix3?(y.boundary=48,y.storage=48):v.isMatrix4?(y.boundary=64,y.storage=64):v.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",v),y}function I(v){const y=v.target;y.removeEventListener("dispose",I);const S=o.indexOf(y.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[y.id]),delete r[y.id],delete s[y.id]}function p(){for(const v in r)n.deleteBuffer(r[v]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class Vv{constructor(e={}){const{canvas:t=o2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;const g=new Uint32Array(4),E=new Int32Array(4);let C=null,I=null;const p=[],v=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=Ts,this.toneMappingExposure=1;const y=this;let S=!1,M=0,R=0,D=null,k=-1,X=null;const _=new An,L=new An;let q=null;const de=new je(0);let J=0,le=t.width,se=t.height,fe=1,F=null,Z=null;const ne=new An(0,0,le,se),Ae=new An(0,0,le,se);let _e=!1;const ke=new jh;let W=!1,z=!1,G=null;const N=new ct,Ee=new ve,Be=new O,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?fe:1}let H=i;function me(V,ge){for(let Ce=0;Ce{function Xe(){if(we.forEach(function(ut){j.get(ut).currentProgram.isReady()&&we.delete(ut)}),we.size===0){ye(V);return}setTimeout(Xe,10)}te.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let rn=null;function on(V){rn&&rn(V)}function hi(){cn.stop()}function an(){cn.start()}const cn=new d2;cn.setAnimationLoop(on),typeof self<"u"&&cn.setContext(self),this.setAnimationLoop=function(V){rn=V,Tt.setAnimationLoop(V),V===null?cn.stop():cn.start()},Tt.addEventListener("sessionstart",hi),Tt.addEventListener("sessionend",an),this.render=function(V,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),V.isScene===!0&&V.onBeforeRender(y,V,ge,D),I=lt.get(V,v.length),I.init(),v.push(I),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(N),z=this.localClippingEnabled,W=It.init(this.clippingPlanes,z),C=qe.get(V,p.length),C.init(),p.push(C),bi(V,ge,0,y.sortObjects),C.finish(),y.sortObjects===!0&&C.sort(F,Z),this.info.render.frame++,W===!0&&It.beginShadows();const Ce=I.state.shadowsArray;if(Le.render(Ce,V,ge),W===!0&&It.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Nt.render(C,V),I.setupLights(y._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let ye=0,Xe=we.length;ye0?I=v[v.length-1]:I=null,p.pop(),p.length>0?C=p[p.length-1]:C=null};function bi(V,ge,Ce,we){if(V.visible===!1)return;if(V.layers.test(ge.layers)){if(V.isGroup)Ce=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(ge);else if(V.isLight)I.pushLight(V),V.castShadow&&I.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||ke.intersectsSprite(V)){we&&Be.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const ut=Re.update(V),yt=V.material;yt.visible&&C.push(V,ut,yt,Ce,Be.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||ke.intersectsObject(V))){const ut=Re.update(V),yt=V.material;if(we&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),Be.copy(V.boundingSphere.center)):(ut.boundingSphere===null&&ut.computeBoundingSphere(),Be.copy(ut.boundingSphere.center)),Be.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(yt)){const Ct=ut.groups;for(let _t=0,wt=Ct.length;_t0&&Fs(ye,Xe,ge,Ce),we&&ae.viewport(_.copy(we)),ye.length>0&&As(ye,ge,Ce),Xe.length>0&&As(Xe,ge,Ce),ut.length>0&&As(ut,ge,Ce),ae.buffers.depth.setTest(!0),ae.buffers.depth.setMask(!0),ae.buffers.color.setMask(!0),ae.setPolygonOffset(!1)}function Fs(V,ge,Ce,we){if((Ce.isScene===!0?Ce.overrideMaterial:null)!==null)return;const Xe=ue.isWebGL2;G===null&&(G=new zr(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ul:bs,minFilter:_s,samples:Xe?4:0})),y.getDrawingBufferSize(Ee),Xe?G.setSize(Ee.x,Ee.y):G.setSize(xg(Ee.x),xg(Ee.y));const ut=y.getRenderTarget();y.setRenderTarget(G),y.getClearColor(de),J=y.getClearAlpha(),J<1&&y.setClearColor(16777215,.5),y.clear();const yt=y.toneMapping;y.toneMapping=Ts,As(V,Ce,we),w.updateMultisampleRenderTarget(G),w.updateRenderTargetMipmap(G);let Ct=!1;for(let _t=0,wt=ge.length;_t0),St=!!Ce.morphAttributes.position,mn=!!Ce.morphAttributes.normal,Xn=!!Ce.morphAttributes.color;let dn=Ts;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(dn=y.toneMapping);const Dn=Ce.morphAttributes.position||Ce.morphAttributes.normal||Ce.morphAttributes.color,At=Dn!==void 0?Dn.length:0,$e=j.get(we),Li=I.state.lights;if(W===!0&&(z===!0||V!==X)){const Ue=V===X&&we.id===k;It.setState(we,V,Ue)}let b=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Li.state.version||$e.outputColorSpace!==yt||ye.isBatchedMesh&&$e.batching===!1||!ye.isBatchedMesh&&$e.batching===!0||ye.isInstancedMesh&&$e.instancing===!1||!ye.isInstancedMesh&&$e.instancing===!0||ye.isSkinnedMesh&&$e.skinning===!1||!ye.isSkinnedMesh&&$e.skinning===!0||ye.isInstancedMesh&&$e.instancingColor===!0&&ye.instanceColor===null||ye.isInstancedMesh&&$e.instancingColor===!1&&ye.instanceColor!==null||$e.envMap!==Ct||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==It.numPlanes||$e.numIntersection!==It.numIntersection)||$e.vertexAlphas!==_t||$e.vertexTangents!==wt||$e.morphTargets!==St||$e.morphNormals!==mn||$e.morphColors!==Xn||$e.toneMapping!==dn||ue.isWebGL2===!0&&$e.morphTargetsCount!==At)&&(b=!0):(b=!0,$e.__version=we.version);let U=$e.currentProgram;b===!0&&(U=hs(we,ge,ye));let ee=!1,re=!1,he=!1;const xe=U.getUniforms(),Pe=$e.uniforms;if(ae.useProgram(U.program)&&(ee=!0,re=!0,he=!0),we.id!==k&&(k=we.id,re=!0),ee||X!==V){xe.setValue(H,"projectionMatrix",V.projectionMatrix),xe.setValue(H,"viewMatrix",V.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(H,Be.setFromMatrixPosition(V.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(H,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(H,"isOrthographic",V.isOrthographicCamera===!0),X!==V&&(X=V,re=!0,he=!0)}if(ye.isSkinnedMesh){xe.setOptional(H,ye,"bindMatrix"),xe.setOptional(H,ye,"bindMatrixInverse");const Ue=ye.skeleton;Ue&&(ue.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(H,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ye.isBatchedMesh&&(xe.setOptional(H,ye,"batchingTexture"),xe.setValue(H,"batchingTexture",ye._matricesTexture,w));const Ne=Ce.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Qt.update(ye,Ce,U),(re||$e.receiveShadow!==ye.receiveShadow)&&($e.receiveShadow=ye.receiveShadow,xe.setValue(H,"receiveShadow",ye.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Pe.envMap.value=Ct,Pe.flipEnvMap.value=Ct.isCubeTexture&&Ct.isRenderTargetTexture===!1?-1:1),re&&(xe.setValue(H,"toneMappingExposure",y.toneMappingExposure),$e.needsLights&&Hu(Pe,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Pe,Xe),Ve.refreshMaterialUniforms(Pe,we,fe,se,G),Wp.upload(H,ql($e),Pe,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(Wp.upload(H,ql($e),Pe,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(H,"center",ye.center),xe.setValue(H,"modelViewMatrix",ye.modelViewMatrix),xe.setValue(H,"normalMatrix",ye.normalMatrix),xe.setValue(H,"modelMatrix",ye.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(V)===!1?ye=j.get(V).__webglMultisampledFramebuffer:Array.isArray(wt)?ye=wt[Ce]:ye=wt,_.copy(V.viewport),L.copy(V.scissor),q=V.scissorTest}else _.copy(ne).multiplyScalar(fe).floor(),L.copy(Ae).multiplyScalar(fe).floor(),q=_e;if(ae.bindFramebuffer(H.FRAMEBUFFER,ye)&&ue.drawBuffers&&we&&ae.drawBuffers(V,ye),ae.viewport(_),ae.scissor(L),ae.setScissorTest(q),Xe){const Ct=j.get(V.texture);H.framebufferTexture2D(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,H.TEXTURE_CUBE_MAP_POSITIVE_X+ge,Ct.__webglTexture,Ce)}else if(ut){const Ct=j.get(V.texture),_t=ge||0;H.framebufferTextureLayer(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,Ct.__webglTexture,Ce||0,_t)}k=-1},this.readRenderTargetPixels=function(V,ge,Ce,we,ye,Xe,ut){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let yt=j.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&ut!==void 0&&(yt=yt[ut]),yt){ae.bindFramebuffer(H.FRAMEBUFFER,yt);try{const Ct=V.texture,_t=Ct.format,wt=Ct.type;if(_t!==Gi&&et.convert(_t)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const St=wt===Ul&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(wt!==bs&&et.convert(wt)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_TYPE)&&!(wt===Pr&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!St){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=V.width-we&&Ce>=0&&Ce<=V.height-ye&&H.readPixels(ge,Ce,we,ye,et.convert(_t),et.convert(wt),Xe)}finally{const Ct=D!==null?j.get(D).__webglFramebuffer:null;ae.bindFramebuffer(H.FRAMEBUFFER,Ct)}}},this.copyFramebufferToTexture=function(V,ge,Ce=0){const we=Math.pow(2,-Ce),ye=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),H.copyTexSubImage2D(H.TEXTURE_2D,Ce,0,0,V.x,V.y,ye,Xe),ae.unbindTexture()},this.copyTextureToTexture=function(V,ge,Ce,we=0){const ye=ge.image.width,Xe=ge.image.height,ut=et.convert(Ce.format),yt=et.convert(Ce.type);w.setTexture2D(Ce,0),H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,Ce.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ce.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,Ce.unpackAlignment),ge.isDataTexture?H.texSubImage2D(H.TEXTURE_2D,we,V.x,V.y,ye,Xe,ut,yt,ge.image.data):ge.isCompressedTexture?H.compressedTexSubImage2D(H.TEXTURE_2D,we,V.x,V.y,ge.mipmaps[0].width,ge.mipmaps[0].height,ut,ge.mipmaps[0].data):H.texSubImage2D(H.TEXTURE_2D,we,V.x,V.y,ut,yt,ge.image),we===0&&Ce.generateMipmaps&&H.generateMipmap(H.TEXTURE_2D),ae.unbindTexture()},this.copyTextureToTexture3D=function(V,ge,Ce,we,ye=0){if(y.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=V.max.x-V.min.x+1,ut=V.max.y-V.min.y+1,yt=V.max.z-V.min.z+1,Ct=et.convert(we.format),_t=et.convert(we.type);let wt;if(we.isData3DTexture)w.setTexture3D(we,0),wt=H.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),wt=H.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,we.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,we.unpackAlignment);const St=H.getParameter(H.UNPACK_ROW_LENGTH),mn=H.getParameter(H.UNPACK_IMAGE_HEIGHT),Xn=H.getParameter(H.UNPACK_SKIP_PIXELS),dn=H.getParameter(H.UNPACK_SKIP_ROWS),Dn=H.getParameter(H.UNPACK_SKIP_IMAGES),At=Ce.isCompressedTexture?Ce.mipmaps[ye]:Ce.image;H.pixelStorei(H.UNPACK_ROW_LENGTH,At.width),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,At.height),H.pixelStorei(H.UNPACK_SKIP_PIXELS,V.min.x),H.pixelStorei(H.UNPACK_SKIP_ROWS,V.min.y),H.pixelStorei(H.UNPACK_SKIP_IMAGES,V.min.z),Ce.isDataTexture||Ce.isData3DTexture?H.texSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,ut,yt,Ct,_t,At.data):Ce.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),H.compressedTexSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,ut,yt,Ct,At.data)):H.texSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,ut,yt,Ct,_t,At),H.pixelStorei(H.UNPACK_ROW_LENGTH,St),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,mn),H.pixelStorei(H.UNPACK_SKIP_PIXELS,Xn),H.pixelStorei(H.UNPACK_SKIP_ROWS,dn),H.pixelStorei(H.UNPACK_SKIP_IMAGES,Dn),ye===0&&we.generateMipmaps&&H.generateMipmap(wt),ae.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?w.setTextureCube(V,0):V.isData3DTexture?w.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?w.setTexture2DArray(V,0):w.setTexture2D(V,0),ae.unbindTexture()},this.resetState=function(){M=0,R=0,D=null,ae.reset(),Bt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Qs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===qg?"display-p3":"srgb",t.unpackColorSpace=un.workingColorSpace===Jh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?Ia:Lv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Ia?Nn:Ls}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 C2 extends Vv{}C2.prototype.isWebGL1Renderer=!0;class nm{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new je(e),this.density=t}clone(){return new nm(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class im{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new je(e),this.near=t,this.far=i}clone(){return new im(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Rh extends zt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class rm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=_h,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 _l("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:yA.clone(),uv:dr.getInterpolation(yA,Ff,vA,Of,qS,NE,ZS,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Gf(n,e,t,i,r,s){Dc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(CA.x=s*Dc.x-r*Dc.y,CA.y=r*Dc.x+s*Dc.y):CA.copy(Dc),n.copy(e),n.x+=CA.x,n.y+=CA.y,n.applyMatrix4(v2)}const Hf=new O,$S=new O;class x2 extends zt{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){Hf.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Hf);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Hf.setFromMatrixPosition(e.matrixWorld),$S.setFromMatrixPosition(this.matrixWorld);const i=Hf.distanceTo($S)/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 bc="batchId",jo=new ct,lw=new ct,jO=new ct,cw=new ct,FE=new jh,Wf=new $n,el=new Jn,SA=new O,OE=new KO,Qi=new nn,Yf=[];function qO(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 ln(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(bc,new ln(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(bc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${bc}"`);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===bc)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 $n);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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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,f=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;d.push(!0),f.push(!0);const C=this._geometryCount;this._geometryCount++,jO.toArray(E,C*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new $n,sphereInitialized:!1,sphere:new Jn});const I=this.geometry.getAttribute(bc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===bc)continue;const E=t.getAttribute(g),C=i.getAttribute(g);qO(E,C,l);const I=E.itemSize;for(let p=E.count,v=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,d=A.start+A.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;Qi.material=this.material,Qi.geometry.index=l.index,Qi.geometry.attributes=l.attributes,Qi.geometry.boundingBox===null&&(Qi.geometry.boundingBox=new $n),Qi.geometry.boundingSphere===null&&(Qi.geometry.boundingSphere=new Jn);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,d=this._multiDrawCounts,f=this._drawRanges,g=this.perObjectFrustumCulled;g&&(cw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),FE.setFromProjectionMatrix(cw,e.coordinateSystem));let E=0;if(this.sortObjects){lw.copy(this.matrixWorld).invert(),SA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(lw);for(let p=0,v=A.length;pl)continue;f.applyMatrix4(this.matrixWorld);const k=e.ray.origin.distanceTo(f);ke.far||t.push({distance:k,point:d.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),v=Math.min(I.count,o.start+o.count);for(let y=p,S=v-1;yl)continue;f.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(f);Re.far||t.push({distance:R,point:d.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class M2 extends Sn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:Cn,this.magFilter=s!==void 0?s:Cn,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 ZO extends Sn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=On,this.minFilter=On,this.generateMipmaps=!1,this.needsUpdate=!0}}class om extends Sn{constructor(e,t,i,r,s,o,a,l,A,h,d,f){super(null,o,a,l,A,h,r,s,d,f),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class $O extends om{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Ri}}class e4 extends om{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,mo),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class t4 extends Sn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class ls{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],f=i[r+1]-h,g=(o-h)/f;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new 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 ct;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new O)}s[0]=new O,o[0]=new O;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),f=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),d<=A&&(A=d,i.set(0,1,0)),f<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Un(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Un(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 am extends ls{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){const i=t||new ve,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(jf.subVectors(r[0],r[1]).add(r[0]),A=jf);const d=r[a%s],f=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(mw(a,l.x,A.x,h.x,d.x),mw(a,l.y,A.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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=A.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(A);const h=A.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 qh extends Pt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=Un(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],h=1/t,d=new O,f=new ve,g=new O,E=new O,C=new O;let I=0,p=0;for(let v=0;v<=e.length-1;v++)switch(v){case 0:I=e[v+1].x-e[v].x,p=e[v+1].y-e[v].y,g.x=p*1,g.y=-I,g.z=p*0,C.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(C.x,C.y,C.z);break;default:I=e[v+1].x-e[v].x,p=e[v+1].y-e[v].y,g.x=p*1,g.y=-I,g.z=p*0,E.copy(g),g.x+=C.x,g.y+=C.y,g.z+=C.z,g.normalize(),l.push(g.x,g.y,g.z),C.copy(E)}for(let v=0;v<=t;v++){const y=i+v*h*r,S=Math.sin(y),M=Math.cos(y);for(let R=0;R<=e.length-1;R++){d.x=e[R].x*S,d.y=e[R].y,d.z=e[R].x*M,o.push(d.x,d.y,d.z),f.x=v/t,f.y=R/(e.length-1),a.push(f.x,f.y);const D=l[3*R+0]*S,k=l[3*R+1],X=l[3*R+0]*M;A.push(D,k,X)}}for(let v=0;v0&&y(!0),t>0&&y(!1)),this.setIndex(h),this.setAttribute("position",new ot(d,3)),this.setAttribute("normal",new ot(f,3)),this.setAttribute("uv",new ot(g,2));function v(){const S=new O,M=new O;let R=0;const D=(t-e)/i;for(let k=0;k<=s;k++){const X=[],_=k/s,L=_*(t-e)+e;for(let q=0;q<=r;q++){const de=q/r,J=de*l+a,le=Math.sin(J),se=Math.cos(J);M.x=L*le,M.y=-_*i+I,M.z=L*se,d.push(M.x,M.y,M.z),S.set(le,D,se).normalize(),f.push(S.x,S.y,S.z),g.push(de,1-_),X.push(E++)}C.push(X)}for(let k=0;k.9&&D<.1&&(y<.2&&(o[v+0]+=1),S<.2&&(o[v+2]+=1),M<.2&&(o[v+4]+=1))}}function f(v){s.push(v.x,v.y,v.z)}function g(v,y){const S=v*3;y.x=e[S+0],y.y=e[S+1],y.z=e[S+2]}function E(){const v=new O,y=new O,S=new O,M=new O,R=new ve,D=new ve,k=new ve;for(let X=0,_=0;X80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=d),f>h&&(h=f);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return Dh(s,o,t,a,l,g,0),o}};function N2(n,e,t,i,r){let s,o;if(r===S4(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Ew(s,n[s],n[s+1],o);return o&&hm(o,o.next)&&(bh(o),o=o.next),o}function Ol(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(hm(t,t.next)||Qn(t.prev,t,t.next)===0)){if(bh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Dh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&I4(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?A4(n,i,r,s):u4(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),bh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=h4(Ol(n),e,t),Dh(n,e,t,i,r,s,2)):o===2&&d4(n,e,t,i,r,s):Dh(Ol(n),e,t,i,r,s,1);break}}}function u4(n){const e=n.prev,t=n,i=n.next;if(Qn(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=f&&E.y>=d&&E.y<=g&&ou(r,a,s,l,o,A,E.x,E.y)&&Qn(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function A4(n,e,t,i){const r=n.prev,s=n,o=n.next;if(Qn(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,d=s.y,f=o.y,g=al?a>A?a:A:l>A?l:A,I=h>d?h>f?h:f:d>f?d:f,p=uC(g,E,e,t,i),v=uC(C,I,e,t,i);let y=n.prevZ,S=n.nextZ;for(;y&&y.z>=p&&S&&S.z<=v;){if(y.x>=g&&y.x<=C&&y.y>=E&&y.y<=I&&y!==r&&y!==o&&ou(a,h,l,d,A,f,y.x,y.y)&&Qn(y.prev,y,y.next)>=0||(y=y.prevZ,S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&ou(a,h,l,d,A,f,S.x,S.y)&&Qn(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;y&&y.z>=p;){if(y.x>=g&&y.x<=C&&y.y>=E&&y.y<=I&&y!==r&&y!==o&&ou(a,h,l,d,A,f,y.x,y.y)&&Qn(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;S&&S.z<=v;){if(S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&ou(a,h,l,d,A,f,S.x,S.y)&&Qn(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function h4(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!hm(r,s)&&U2(r,i,i.next,s)&&Th(r,s)&&Th(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),bh(i),bh(i.next),i=n=s),i=i.next}while(i!==n);return Ol(i)}function d4(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&v4(o,a)){let l=k2(o,a);o=Ol(o,o.next),l=Ol(l,l.next),Dh(o,e,t,i,r,s,0),Dh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function f4(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&s!==t.x&&ou(or.x||t.x===r.x&&E4(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function E4(n,e){return Qn(n.prev,n,e.prev)<0&&Qn(e.next,n,n.next)<0}function I4(n,e,t,i){let r=n;do r.z===0&&(r.z=uC(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,y4(r)}function y4(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function uC(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 C4(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 v4(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!B4(n,e)&&(Th(n,e)&&Th(e,n)&&x4(n,e)&&(Qn(n.prev,n,e.prev)||Qn(n,e.prev,e))||hm(n,e)&&Qn(n.prev,n,n.next)>0&&Qn(e.prev,e,e.next)>0)}function Qn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function hm(n,e){return n.x===e.x&&n.y===e.y}function U2(n,e,t,i){const r=tp(Qn(n,e,t)),s=tp(Qn(n,e,i)),o=tp(Qn(t,i,n)),a=tp(Qn(t,i,e));return!!(r!==s&&o!==a||r===0&&ep(n,t,e)||s===0&&ep(n,i,e)||o===0&&ep(t,n,i)||a===0&&ep(t,e,i))}function ep(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 tp(n){return n>0?1:n<0?-1:0}function B4(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&&U2(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Th(n,e){return Qn(n.prev,n,n.next)<0?Qn(n,e,n.next)>=0&&Qn(n,n.prev,e)>=0:Qn(n,e,n.prev)<0||Qn(n,n.next,e)<0}function x4(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 k2(n,e){const t=new AC(n.i,n.x,n.y),i=new AC(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 Ew(n,e,t,i){const r=new AC(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 bh(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 AC(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 S4(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function yw(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(be),Je=Math.sqrt(T*T+ie*ie),Ve=me.x-w/Re,qe=me.y+j/Re,lt=te.x-ie/Je,It=te.y+T/Je,Le=((lt-Ve)*ie-(It-qe)*T)/(j*ie-w*T);ue=Ve+j*Le-H.x,ae=qe+w*Le-H.y;const Nt=ue*ue+ae*ae;if(Nt<=2)return new ve(ue,ae);De=Math.sqrt(Nt/2)}else{let Re=!1;j>Number.EPSILON?T>Number.EPSILON&&(Re=!0):j<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(ie)&&(Re=!0),Re?(ue=-w,ae=j,De=Math.sqrt(be)):(ue=j,ae=w,De=Math.sqrt(be/2))}return new ve(ue/De,ae/De)}const Z=[];for(let H=0,me=J.length,te=me-1,ue=H+1;H=0;H--){const me=H/I,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+C;for(let ae=0,De=J.length;ae=0;){const ue=te;let ae=te-1;ae<0&&(ae=H.length-1);for(let De=0,j=h+I*2;De0)&&g.push(y,S,R),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class nB extends Ai{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new je(16777215),this.specular=new je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.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 z2 extends Ai{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class V2 extends Ai{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class W2 extends Ai{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.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 Y2 extends Ai{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class J2 extends Ji{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 Cl(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 X2(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function K2(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 hC(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 iB(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 M4(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(A.times[g]);for(let C=0;Cs.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*d+h,v=p+d-h;C=a.values.slice(p,v)}else{const p=a.createInterpolant(),v=h,y=d-h;p.evaluate(s),C=p.resultBuffer.slice(v,y)}l==="quaternion"&&new Hn().fromArray(C).normalize().conjugate().toArray(C);const I=A.times.length;for(let p=0;p=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&&X2(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Vp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}cs.prototype.TimeBufferType=Float32Array;cs.prototype.ValueBufferType=Float32Array;cs.prototype.DefaultInterpolation=vh;class Vl extends cs{}Vl.prototype.ValueTypeName="bool";Vl.prototype.ValueBufferType=Array;Vl.prototype.DefaultInterpolation=Ch;Vl.prototype.InterpolantFactoryMethodLinear=void 0;Vl.prototype.InterpolantFactoryMethodSmooth=void 0;class sB extends cs{}sB.prototype.ValueTypeName="color";class Lh extends cs{}Lh.prototype.ValueTypeName="number";class Z2 extends ed{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 A=e*a;for(let h=A+a;A!==h;A+=4)Hn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Nu extends cs{InterpolantFactoryMethodLinear(e){return new Z2(this.times,this.values,this.getValueSize(),e)}}Nu.prototype.ValueTypeName="quaternion";Nu.prototype.DefaultInterpolation=vh;Nu.prototype.InterpolantFactoryMethodSmooth=void 0;class Wl extends cs{}Wl.prototype.ValueTypeName="string";Wl.prototype.ValueBufferType=Array;Wl.prototype.DefaultInterpolation=Ch;Wl.prototype.InterpolantFactoryMethodLinear=void 0;Wl.prototype.InterpolantFactoryMethodSmooth=void 0;class Ph extends cs{}Ph.prototype.ValueTypeName="vector";class Nh{constructor(e,t=-1,i,r=jg){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(b4(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(cs.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 f=r[d];f||(r[d]=f=[]),f.push(A)}}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,f,g,E,C){if(g.length!==0){const I=[],p=[];iB(g,I,p,E),I.length!==0&&C.push(new d(f,I,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(qs[e]!==void 0){qs[e].push({onLoad:t,onProgress:i,onError:r});return}qs[e]=[],qs[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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=qs[e],d=A.body.getReader(),f=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=f?parseInt(f):0,E=g!==0;let C=0;const I=new ReadableStream({start(p){v();function v(){d.read().then(({done:y,value:S})=>{if(y)p.close();else{C+=S.byteLength;const M=new ProgressEvent("progress",{lengthComputable:E,loaded:C,total:g});for(let R=0,D=h.length;R{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),f=d&&d[1]?d[1].toLowerCase():void 0,g=new TextDecoder(f);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{co.add(e,A);const h=qs[e];delete qs[e];for(let d=0,f=h.length;d{const h=qs[e];if(h===void 0)throw this.manager.itemError(e),A;delete qs[e];for(let d=0,f=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 P4 extends Xi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ps(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new je().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new O().fromArray(o.value);break;case"v4":r.uniforms[s].value=new An().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Mt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ct().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:O2,SpriteMaterial:Wv,RawShaderMaterial:G2,ShaderMaterial:as,PointsMaterial:Xv,MeshPhysicalMaterial:H2,MeshStandardMaterial:tB,MeshPhongMaterial:nB,MeshToonMaterial:z2,MeshNormalMaterial:V2,MeshLambertMaterial:W2,MeshDepthMaterial:em,MeshDistanceMaterial:tm,MeshBasicMaterial:rr,MeshMatcapMaterial:Y2,LineDashedMaterial:J2,LineBasicMaterial:Ji,Material:Ai};return new t[e]}}class dC{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 oB(t);s=new Uh(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new Uh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const I=new $n;I.min.fromArray(C.boxMin),I.max.fromArray(C.boxMax);const p=new Jn;return p.radius=C.sphereRadius,p.center.fromArray(C.sphereCenter),{boxInitialized:C.boxInitialized,box:I,sphereInitialized:C.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new x2;break;case"Line":o=new wa(a(e.geometry),l(e.material));break;case"LineLoop":o=new _2(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ns(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new Q2(a(e.geometry),l(e.material));break;case"Sprite":o=new B2(l(e.material));break;case"Group":o=new lo;break;case"Bone":o=new Yv;break;default:o=new zt}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 f=e.children;for(let g=0;g"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=co.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return co.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),co.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});co.add(e,l),s.manager.itemStart(e)}}let np;class lB{static getContext(){return np===void 0&&(np=new(window.AudioContext||window.webkitAudioContext)),np}static setContext(e){np=e}}class W4 extends Xi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ps(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);lB.getContext().decodeAudioData(A,function(d){t(d)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Qw=new ct,Mw=new ct,tl=new ct;class Y4{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,tl.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(wl*t.fov*.5)/t.zoom;let a,l;Mw.elements[12]=-r,Qw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,tl.elements[0]=2*t.near/(l-a),tl.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(tl),a=-o*t.aspect-s,l=o*t.aspect-s,tl.elements[0]=2*t.near/(l-a),tl.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(tl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Mw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Qw)}}class cB{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Rw(),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=Rw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Rw(){return(typeof performance>"u"?Date:performance).now()}const nl=new O,Dw=new Hn,J4=new O,il=new O;class X4 extends zt{constructor(){super(),this.type="AudioListener",this.context=lB.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new cB}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(nl,Dw,J4),il.set(0,0,-1).applyQuaternion(Dw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(nl.x,r),t.positionY.linearRampToValueAtTime(nl.y,r),t.positionZ.linearRampToValueAtTime(nl.z,r),t.forwardX.linearRampToValueAtTime(il.x,r),t.forwardY.linearRampToValueAtTime(il.y,r),t.forwardZ.linearRampToValueAtTime(il.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(nl.x,nl.y,nl.z),t.setOrientation(il.x,il.y,il.z,i.x,i.y,i.z)}}class uD extends zt{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,A=t+t;l!==A;++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){Hn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Hn.multiplyQuaternionsFlat(e,o,e,t,e,i),Hn.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 uB="\\[\\]\\.:\\/",Z4=new RegExp("["+uB+"]","g"),AB="[^"+uB+"]",$4="[^"+uB.replace("\\.","")+"]",eG=/((?:WC+[\/:])*)/.source.replace("WC",AB),tG=/(WCOD+)?/.source.replace("WCOD",$4),nG=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",AB),iG=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",AB),rG=new RegExp("^"+eG+tG+nG+iG+"$"),sG=["material","materials","bones","map"];class oG{constructor(e,t,i){const r=i||qt.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 qt{constructor(e,t,i){this.path=t,this.parsedPath=i||qt.parseTrackName(t),this.node=qt.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 qt.Composite(e,t,i):new qt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Z4,"")}static parseTrackName(e){const t=rG.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);sG.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++,f=e[d];t[f.uuid]=h,e[h]=f,t[A]=d,e[d]=l;for(let g=0,E=r;g!==E;++g){const C=i[g],I=C[d],p=C[h];C[h]=I,C[d]=p}}}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 A=arguments[a],h=A.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[g.uuid]=d),e[d]=g,e.pop();for(let E=0,C=r;E!==C;++E){const I=i[E];I[d]=I[f],I.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,A=l.length,h=this.nCachedObjects_,d=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let f=h,g=l.length;f!==g;++f){const E=l[f];d[f]=new qt(E,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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class hD{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:El,endingEnd:El};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=XR,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case bv:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case jg:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[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===KR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===JR){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 A=e<0;this._setEndings(A,!A,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=Il,r.endingEnd=Il):(e?r.endingStart=this.zeroSlopeAtStart?Il:El:r.endingStart=Bh,t?r.endingEnd=this.zeroSlopeAtEnd?Il:El:r.endingEnd=Bh)}_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 lG=new Float32Array(1);class cG extends Io{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let d=0;d!==s;++d){const f=r[d],g=f.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[d]=E;else{if(E=o[d],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const C=t&&t._propertyBindings[d].binding.parsedPath;E=new AD(qt.create(i,g,C),f.ValueTypeName,f.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[d]=E}a[d].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,Lw).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 Pw=new O,ip=new O;class fD{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){Pw.subVectors(e,this.start),ip.subVectors(this.end,this.start);const i=ip.dot(ip);let s=ip.dot(Pw)/i;return t&&(s=Un(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 Nw=new O;class gG extends zt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Pt,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{Gw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Gw,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 MG extends Ns{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 Pt;r.setAttribute("position",new ot(t,3)),r.setAttribute("color",new ot(i,3));const s=new Ji({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new je,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class ea{constructor(){this.type="ShapePath",this.color=new je,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ya,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(p){const v=[];for(let y=0,S=p.length;yNumber.EPSILON){if(_<0&&(D=v[R],X=-X,k=v[M],_=-_),p.yk.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const L=_*(p.x-D.x)-X*(p.y-D.y);if(L===0)return!0;if(L<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(k.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=k.x)return!0}}return S}const r=ss.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Ca,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],f=[];let g=[],E=0,C;f[E]=void 0,g[E]=[];for(let p=0,v=s.length;p1){let p=!1,v=0;for(let y=0,S=f.length;y0&&p===!1&&(g=d)}let I;for(let p=0,v=f.length;p=0&&(S[N]=null,v[N].disconnect(G))}for(let z=0;z=S.length){S.push(G),N=Be;break}else if(S[Be]===null){S[Be]=G,N=Be;break}if(N===-1)break}const Ee=v[N];Ee&&Ee.connect(G)}}const re=new O,fe=new O;function F(W,z,G){re.setFromMatrixPosition(z.matrixWorld),fe.setFromMatrixPosition(G.matrixWorld);const N=re.distanceTo(fe),Ee=z.projectionMatrix.elements,Be=G.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),H=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],le=pe*te,De=pe*ue,j=N/(-te+ue),w=j*-te;z.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(w),W.translateZ(j),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const T=pe+j,ie=Se+j,be=le-w,Te=De+(N-w),Re=H*Se/ie*T,Je=me*Se/ie*T;W.projectionMatrix.makePerspective(be,Te,Re,Je,T,ie),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function Z(W,z){z===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(z.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(r===null)return;C.texture!==null&&(W.near=C.depthNear,W.far=C.depthFar),_.near=k.near=D.near=W.near,_.far=k.far=D.far=W.far,(L!==_.near||q!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),L=_.near,q=_.far,D.near=L,D.far=q,k.near=L,k.far=q,D.updateProjectionMatrix(),k.updateProjectionMatrix(),W.updateProjectionMatrix());const z=W.parent,G=_.cameras;Z(_,z);for(let N=0;N0&&(I.alphaTest.value=p.alphaTest);const y=e.get(p).envMap;if(y&&(I.envMap.value=y,I.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,I.reflectivity.value=p.reflectivity,I.ior.value=p.ior,I.refractionRatio.value=p.refractionRatio),p.lightMap){I.lightMap.value=p.lightMap;const v=n._useLegacyLights===!0?Math.PI:1;I.lightMapIntensity.value=p.lightMapIntensity*v,t(p.lightMap,I.lightMapTransform)}p.aoMap&&(I.aoMap.value=p.aoMap,I.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,I.aoMapTransform))}function o(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform))}function a(I,p){I.dashSize.value=p.dashSize,I.totalSize.value=p.dashSize+p.gapSize,I.scale.value=p.scale}function l(I,p,y,v){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.size.value=p.size*y,I.scale.value=v*.5,p.map&&(I.map.value=p.map,t(p.map,I.uvTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function A(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.rotation.value=p.rotation,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function h(I,p){I.specular.value.copy(p.specular),I.shininess.value=Math.max(p.shininess,1e-4)}function d(I,p){p.gradientMap&&(I.gradientMap.value=p.gradientMap)}function f(I,p){I.metalness.value=p.metalness,p.metalnessMap&&(I.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,I.metalnessMapTransform)),I.roughness.value=p.roughness,p.roughnessMap&&(I.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,I.roughnessMapTransform)),e.get(p).envMap&&(I.envMapIntensity.value=p.envMapIntensity)}function g(I,p,y){I.ior.value=p.ior,p.sheen>0&&(I.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),I.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(I.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,I.sheenColorMapTransform)),p.sheenRoughnessMap&&(I.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,I.sheenRoughnessMapTransform))),p.clearcoat>0&&(I.clearcoat.value=p.clearcoat,I.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(I.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,I.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(I.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,I.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(I.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,I.clearcoatNormalMapTransform),I.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Vi&&I.clearcoatNormalScale.value.negate())),p.iridescence>0&&(I.iridescence.value=p.iridescence,I.iridescenceIOR.value=p.iridescenceIOR,I.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],I.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(I.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,I.iridescenceMapTransform)),p.iridescenceThicknessMap&&(I.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,I.iridescenceThicknessMapTransform))),p.transmission>0&&(I.transmission.value=p.transmission,I.transmissionSamplerMap.value=y.texture,I.transmissionSamplerSize.value.set(y.width,y.height),p.transmissionMap&&(I.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,I.transmissionMapTransform)),I.thickness.value=p.thickness,p.thicknessMap&&(I.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,I.thicknessMapTransform)),I.attenuationDistance.value=p.attenuationDistance,I.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(I.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(I.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,I.anisotropyMapTransform))),I.specularIntensity.value=p.specularIntensity,I.specularColor.value.copy(p.specularColor),p.specularColorMap&&(I.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,I.specularColorMapTransform)),p.specularIntensityMap&&(I.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,I.specularIntensityMapTransform))}function E(I,p){p.matcap&&(I.matcap.value=p.matcap)}function C(I,p){const y=e.get(p).light;I.referencePosition.value.setFromMatrixPosition(y.matrixWorld),I.nearDistance.value=y.shadow.camera.near,I.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function VO(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,v){const S=v.program;i.uniformBlockBinding(y,S)}function A(y,v){let S=r[y.id];S===void 0&&(E(y),S=h(y),r[y.id]=S,y.addEventListener("dispose",I));const M=v.program;i.updateUBOMapping(y,M);const R=e.render.frame;s[y.id]!==R&&(f(y),s[y.id]=R)}function h(y){const v=d();y.__bindingPointIndex=v;const S=n.createBuffer(),M=y.__size,R=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,M,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,v,S),S}function d(){for(let y=0;y0&&(S+=M-R),y.__size=S,y.__cache={},this}function C(y){const v={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function I(y){const v=y.target;v.removeEventListener("dispose",I);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[v.id]),delete r[v.id],delete s[v.id]}function p(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class Vv{constructor(e={}){const{canvas:t=a2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;const g=new Uint32Array(4),E=new Int32Array(4);let C=null,I=null;const p=[],y=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=Ts,this.toneMappingExposure=1;const v=this;let S=!1,M=0,R=0,D=null,k=-1,X=null;const _=new An,L=new An;let q=null;const de=new je(0);let J=0,ae=t.width,re=t.height,fe=1,F=null,Z=null;const ne=new An(0,0,ae,re),Ae=new An(0,0,ae,re);let _e=!1;const ke=new jh;let W=!1,z=!1,G=null;const N=new ut,Ee=new ve,Be=new O,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?fe:1}let H=i;function me(V,ge){for(let Ce=0;Ce{function Xe(){if(we.forEach(function(At){j.get(At).currentProgram.isReady()&&we.delete(At)}),we.size===0){ye(V);return}setTimeout(Xe,10)}te.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let rn=null;function on(V){rn&&rn(V)}function hi(){cn.stop()}function an(){cn.start()}const cn=new f2;cn.setAnimationLoop(on),typeof self<"u"&&cn.setContext(self),this.setAnimationLoop=function(V){rn=V,Tt.setAnimationLoop(V),V===null?cn.stop():cn.start()},Tt.addEventListener("sessionstart",hi),Tt.addEventListener("sessionend",an),this.render=function(V,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),V.isScene===!0&&V.onBeforeRender(v,V,ge,D),I=ct.get(V,y.length),I.init(),y.push(I),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(N),z=this.localClippingEnabled,W=It.init(this.clippingPlanes,z),C=qe.get(V,p.length),C.init(),p.push(C),bi(V,ge,0,v.sortObjects),C.finish(),v.sortObjects===!0&&C.sort(F,Z),this.info.render.frame++,W===!0&&It.beginShadows();const Ce=I.state.shadowsArray;if(Le.render(Ce,V,ge),W===!0&&It.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Nt.render(C,V),I.setupLights(v._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let ye=0,Xe=we.length;ye0?I=y[y.length-1]:I=null,p.pop(),p.length>0?C=p[p.length-1]:C=null};function bi(V,ge,Ce,we){if(V.visible===!1)return;if(V.layers.test(ge.layers)){if(V.isGroup)Ce=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(ge);else if(V.isLight)I.pushLight(V),V.castShadow&&I.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||ke.intersectsSprite(V)){we&&Be.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const At=Re.update(V),yt=V.material;yt.visible&&C.push(V,At,yt,Ce,Be.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||ke.intersectsObject(V))){const At=Re.update(V),yt=V.material;if(we&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),Be.copy(V.boundingSphere.center)):(At.boundingSphere===null&&At.computeBoundingSphere(),Be.copy(At.boundingSphere.center)),Be.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(yt)){const Ct=At.groups;for(let _t=0,wt=Ct.length;_t0&&Fs(ye,Xe,ge,Ce),we&&le.viewport(_.copy(we)),ye.length>0&&As(ye,ge,Ce),Xe.length>0&&As(Xe,ge,Ce),At.length>0&&As(At,ge,Ce),le.buffers.depth.setTest(!0),le.buffers.depth.setMask(!0),le.buffers.color.setMask(!0),le.setPolygonOffset(!1)}function Fs(V,ge,Ce,we){if((Ce.isScene===!0?Ce.overrideMaterial:null)!==null)return;const Xe=ue.isWebGL2;G===null&&(G=new zr(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ul:bs,minFilter:_s,samples:Xe?4:0})),v.getDrawingBufferSize(Ee),Xe?G.setSize(Ee.x,Ee.y):G.setSize(xg(Ee.x),xg(Ee.y));const At=v.getRenderTarget();v.setRenderTarget(G),v.getClearColor(de),J=v.getClearAlpha(),J<1&&v.setClearColor(16777215,.5),v.clear();const yt=v.toneMapping;v.toneMapping=Ts,As(V,Ce,we),w.updateMultisampleRenderTarget(G),w.updateRenderTargetMipmap(G);let Ct=!1;for(let _t=0,wt=ge.length;_t0),St=!!Ce.morphAttributes.position,mn=!!Ce.morphAttributes.normal,Xn=!!Ce.morphAttributes.color;let dn=Ts;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(dn=v.toneMapping);const Dn=Ce.morphAttributes.position||Ce.morphAttributes.normal||Ce.morphAttributes.color,ht=Dn!==void 0?Dn.length:0,$e=j.get(we),Li=I.state.lights;if(W===!0&&(z===!0||V!==X)){const Ue=V===X&&we.id===k;It.setState(we,V,Ue)}let b=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Li.state.version||$e.outputColorSpace!==yt||ye.isBatchedMesh&&$e.batching===!1||!ye.isBatchedMesh&&$e.batching===!0||ye.isInstancedMesh&&$e.instancing===!1||!ye.isInstancedMesh&&$e.instancing===!0||ye.isSkinnedMesh&&$e.skinning===!1||!ye.isSkinnedMesh&&$e.skinning===!0||ye.isInstancedMesh&&$e.instancingColor===!0&&ye.instanceColor===null||ye.isInstancedMesh&&$e.instancingColor===!1&&ye.instanceColor!==null||$e.envMap!==Ct||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==It.numPlanes||$e.numIntersection!==It.numIntersection)||$e.vertexAlphas!==_t||$e.vertexTangents!==wt||$e.morphTargets!==St||$e.morphNormals!==mn||$e.morphColors!==Xn||$e.toneMapping!==dn||ue.isWebGL2===!0&&$e.morphTargetsCount!==ht)&&(b=!0):(b=!0,$e.__version=we.version);let U=$e.currentProgram;b===!0&&(U=hs(we,ge,ye));let ee=!1,se=!1,he=!1;const xe=U.getUniforms(),Pe=$e.uniforms;if(le.useProgram(U.program)&&(ee=!0,se=!0,he=!0),we.id!==k&&(k=we.id,se=!0),ee||X!==V){xe.setValue(H,"projectionMatrix",V.projectionMatrix),xe.setValue(H,"viewMatrix",V.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(H,Be.setFromMatrixPosition(V.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(H,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(H,"isOrthographic",V.isOrthographicCamera===!0),X!==V&&(X=V,se=!0,he=!0)}if(ye.isSkinnedMesh){xe.setOptional(H,ye,"bindMatrix"),xe.setOptional(H,ye,"bindMatrixInverse");const Ue=ye.skeleton;Ue&&(ue.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(H,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ye.isBatchedMesh&&(xe.setOptional(H,ye,"batchingTexture"),xe.setValue(H,"batchingTexture",ye._matricesTexture,w));const Ne=Ce.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Qt.update(ye,Ce,U),(se||$e.receiveShadow!==ye.receiveShadow)&&($e.receiveShadow=ye.receiveShadow,xe.setValue(H,"receiveShadow",ye.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Pe.envMap.value=Ct,Pe.flipEnvMap.value=Ct.isCubeTexture&&Ct.isRenderTargetTexture===!1?-1:1),se&&(xe.setValue(H,"toneMappingExposure",v.toneMappingExposure),$e.needsLights&&Hu(Pe,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Pe,Xe),Ve.refreshMaterialUniforms(Pe,we,fe,re,G),Wp.upload(H,ql($e),Pe,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(Wp.upload(H,ql($e),Pe,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(H,"center",ye.center),xe.setValue(H,"modelViewMatrix",ye.modelViewMatrix),xe.setValue(H,"normalMatrix",ye.normalMatrix),xe.setValue(H,"modelMatrix",ye.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(V)===!1?ye=j.get(V).__webglMultisampledFramebuffer:Array.isArray(wt)?ye=wt[Ce]:ye=wt,_.copy(V.viewport),L.copy(V.scissor),q=V.scissorTest}else _.copy(ne).multiplyScalar(fe).floor(),L.copy(Ae).multiplyScalar(fe).floor(),q=_e;if(le.bindFramebuffer(H.FRAMEBUFFER,ye)&&ue.drawBuffers&&we&&le.drawBuffers(V,ye),le.viewport(_),le.scissor(L),le.setScissorTest(q),Xe){const Ct=j.get(V.texture);H.framebufferTexture2D(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,H.TEXTURE_CUBE_MAP_POSITIVE_X+ge,Ct.__webglTexture,Ce)}else if(At){const Ct=j.get(V.texture),_t=ge||0;H.framebufferTextureLayer(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,Ct.__webglTexture,Ce||0,_t)}k=-1},this.readRenderTargetPixels=function(V,ge,Ce,we,ye,Xe,At){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let yt=j.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&At!==void 0&&(yt=yt[At]),yt){le.bindFramebuffer(H.FRAMEBUFFER,yt);try{const Ct=V.texture,_t=Ct.format,wt=Ct.type;if(_t!==Gi&&tt.convert(_t)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const St=wt===Ul&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(wt!==bs&&tt.convert(wt)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_TYPE)&&!(wt===Pr&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!St){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=V.width-we&&Ce>=0&&Ce<=V.height-ye&&H.readPixels(ge,Ce,we,ye,tt.convert(_t),tt.convert(wt),Xe)}finally{const Ct=D!==null?j.get(D).__webglFramebuffer:null;le.bindFramebuffer(H.FRAMEBUFFER,Ct)}}},this.copyFramebufferToTexture=function(V,ge,Ce=0){const we=Math.pow(2,-Ce),ye=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),H.copyTexSubImage2D(H.TEXTURE_2D,Ce,0,0,V.x,V.y,ye,Xe),le.unbindTexture()},this.copyTextureToTexture=function(V,ge,Ce,we=0){const ye=ge.image.width,Xe=ge.image.height,At=tt.convert(Ce.format),yt=tt.convert(Ce.type);w.setTexture2D(Ce,0),H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,Ce.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ce.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,Ce.unpackAlignment),ge.isDataTexture?H.texSubImage2D(H.TEXTURE_2D,we,V.x,V.y,ye,Xe,At,yt,ge.image.data):ge.isCompressedTexture?H.compressedTexSubImage2D(H.TEXTURE_2D,we,V.x,V.y,ge.mipmaps[0].width,ge.mipmaps[0].height,At,ge.mipmaps[0].data):H.texSubImage2D(H.TEXTURE_2D,we,V.x,V.y,At,yt,ge.image),we===0&&Ce.generateMipmaps&&H.generateMipmap(H.TEXTURE_2D),le.unbindTexture()},this.copyTextureToTexture3D=function(V,ge,Ce,we,ye=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=V.max.x-V.min.x+1,At=V.max.y-V.min.y+1,yt=V.max.z-V.min.z+1,Ct=tt.convert(we.format),_t=tt.convert(we.type);let wt;if(we.isData3DTexture)w.setTexture3D(we,0),wt=H.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),wt=H.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,we.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,we.unpackAlignment);const St=H.getParameter(H.UNPACK_ROW_LENGTH),mn=H.getParameter(H.UNPACK_IMAGE_HEIGHT),Xn=H.getParameter(H.UNPACK_SKIP_PIXELS),dn=H.getParameter(H.UNPACK_SKIP_ROWS),Dn=H.getParameter(H.UNPACK_SKIP_IMAGES),ht=Ce.isCompressedTexture?Ce.mipmaps[ye]:Ce.image;H.pixelStorei(H.UNPACK_ROW_LENGTH,ht.width),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,ht.height),H.pixelStorei(H.UNPACK_SKIP_PIXELS,V.min.x),H.pixelStorei(H.UNPACK_SKIP_ROWS,V.min.y),H.pixelStorei(H.UNPACK_SKIP_IMAGES,V.min.z),Ce.isDataTexture||Ce.isData3DTexture?H.texSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,At,yt,Ct,_t,ht.data):Ce.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),H.compressedTexSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,At,yt,Ct,ht.data)):H.texSubImage3D(wt,ye,ge.x,ge.y,ge.z,Xe,At,yt,Ct,_t,ht),H.pixelStorei(H.UNPACK_ROW_LENGTH,St),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,mn),H.pixelStorei(H.UNPACK_SKIP_PIXELS,Xn),H.pixelStorei(H.UNPACK_SKIP_ROWS,dn),H.pixelStorei(H.UNPACK_SKIP_IMAGES,Dn),ye===0&&we.generateMipmaps&&H.generateMipmap(wt),le.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?w.setTextureCube(V,0):V.isData3DTexture?w.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?w.setTexture2DArray(V,0):w.setTexture2D(V,0),le.unbindTexture()},this.resetState=function(){M=0,R=0,D=null,le.reset(),Bt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Qs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===qg?"display-p3":"srgb",t.unpackColorSpace=un.workingColorSpace===Jh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?Ia:Lv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Ia?Nn:Ls}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 v2 extends Vv{}v2.prototype.isWebGL1Renderer=!0;class nm{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new je(e),this.density=t}clone(){return new nm(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class im{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new je(e),this.near=t,this.far=i}clone(){return new im(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Rh extends zt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class rm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=_h,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 _l("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:yA.clone(),uv:dr.getInterpolation(yA,Ff,vA,Of,ZS,NE,$S,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Gf(n,e,t,i,r,s){Dc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(CA.x=s*Dc.x-r*Dc.y,CA.y=r*Dc.x+s*Dc.y):CA.copy(Dc),n.copy(e),n.x+=CA.x,n.y+=CA.y,n.applyMatrix4(B2)}const Hf=new O,ew=new O;class S2 extends zt{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){Hf.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Hf);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Hf.setFromMatrixPosition(e.matrixWorld),ew.setFromMatrixPosition(this.matrixWorld);const i=Hf.distanceTo(ew)/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 bc="batchId",jo=new ut,cw=new ut,qO=new ut,uw=new ut,FE=new jh,Wf=new $n,el=new Jn,SA=new O,OE=new jO,Qi=new $t,Yf=[];function ZO(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 ln(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(bc,new ln(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(bc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${bc}"`);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===bc)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 $n);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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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,f=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;d.push(!0),f.push(!0);const C=this._geometryCount;this._geometryCount++,qO.toArray(E,C*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new $n,sphereInitialized:!1,sphere:new Jn});const I=this.geometry.getAttribute(bc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===bc)continue;const E=t.getAttribute(g),C=i.getAttribute(g);ZO(E,C,l);const I=E.itemSize;for(let p=E.count,y=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,d=A.start+A.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;Qi.material=this.material,Qi.geometry.index=l.index,Qi.geometry.attributes=l.attributes,Qi.geometry.boundingBox===null&&(Qi.geometry.boundingBox=new $n),Qi.geometry.boundingSphere===null&&(Qi.geometry.boundingSphere=new Jn);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,d=this._multiDrawCounts,f=this._drawRanges,g=this.perObjectFrustumCulled;g&&(uw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),FE.setFromProjectionMatrix(uw,e.coordinateSystem));let E=0;if(this.sortObjects){cw.copy(this.matrixWorld).invert(),SA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(cw);for(let p=0,y=A.length;pl)continue;f.applyMatrix4(this.matrixWorld);const k=e.ray.origin.distanceTo(f);ke.far||t.push({distance:k,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),y=Math.min(I.count,o.start+o.count);for(let v=p,S=y-1;vl)continue;f.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(f);Re.far||t.push({distance:R,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class R2 extends Sn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:Cn,this.magFilter=s!==void 0?s:Cn,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 $O extends Sn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=On,this.minFilter=On,this.generateMipmaps=!1,this.needsUpdate=!0}}class om extends Sn{constructor(e,t,i,r,s,o,a,l,A,h,d,f){super(null,o,a,l,A,h,r,s,d,f),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class e4 extends om{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Ri}}class t4 extends om{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,mo),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class n4 extends Sn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class ls{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],f=i[r+1]-h,g=(o-h)/f;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new 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 ut;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new O)}s[0]=new O,o[0]=new O;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),f=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),d<=A&&(A=d,i.set(0,1,0)),f<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Un(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Un(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 am extends ls{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){const i=t||new ve,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(jf.subVectors(r[0],r[1]).add(r[0]),A=jf);const d=r[a%s],f=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(Ew(a,l.x,A.x,h.x,d.x),Ew(a,l.y,A.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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=A.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(A);const h=A.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 qh extends Pt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=Un(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],h=1/t,d=new O,f=new ve,g=new O,E=new O,C=new O;let I=0,p=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:I=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-I,g.z=p*0,C.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(C.x,C.y,C.z);break;default:I=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-I,g.z=p*0,E.copy(g),g.x+=C.x,g.y+=C.y,g.z+=C.z,g.normalize(),l.push(g.x,g.y,g.z),C.copy(E)}for(let y=0;y<=t;y++){const v=i+y*h*r,S=Math.sin(v),M=Math.cos(v);for(let R=0;R<=e.length-1;R++){d.x=e[R].x*S,d.y=e[R].y,d.z=e[R].x*M,o.push(d.x,d.y,d.z),f.x=y/t,f.y=R/(e.length-1),a.push(f.x,f.y);const D=l[3*R+0]*S,k=l[3*R+1],X=l[3*R+0]*M;A.push(D,k,X)}}for(let y=0;y0&&v(!0),t>0&&v(!1)),this.setIndex(h),this.setAttribute("position",new at(d,3)),this.setAttribute("normal",new at(f,3)),this.setAttribute("uv",new at(g,2));function y(){const S=new O,M=new O;let R=0;const D=(t-e)/i;for(let k=0;k<=s;k++){const X=[],_=k/s,L=_*(t-e)+e;for(let q=0;q<=r;q++){const de=q/r,J=de*l+a,ae=Math.sin(J),re=Math.cos(J);M.x=L*ae,M.y=-_*i+I,M.z=L*re,d.push(M.x,M.y,M.z),S.set(ae,D,re).normalize(),f.push(S.x,S.y,S.z),g.push(de,1-_),X.push(E++)}C.push(X)}for(let k=0;k.9&&D<.1&&(v<.2&&(o[y+0]+=1),S<.2&&(o[y+2]+=1),M<.2&&(o[y+4]+=1))}}function f(y){s.push(y.x,y.y,y.z)}function g(y,v){const S=y*3;v.x=e[S+0],v.y=e[S+1],v.z=e[S+2]}function E(){const y=new O,v=new O,S=new O,M=new O,R=new ve,D=new ve,k=new ve;for(let X=0,_=0;X80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=d),f>h&&(h=f);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return Dh(s,o,t,a,l,g,0),o}};function U2(n,e,t,i,r){let s,o;if(r===w4(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Iw(s,n[s],n[s+1],o);return o&&hm(o,o.next)&&(bh(o),o=o.next),o}function Ol(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(hm(t,t.next)||Qn(t.prev,t,t.next)===0)){if(bh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Dh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&y4(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?h4(n,i,r,s):A4(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),bh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=d4(Ol(n),e,t),Dh(n,e,t,i,r,s,2)):o===2&&f4(n,e,t,i,r,s):Dh(Ol(n),e,t,i,r,s,1);break}}}function A4(n){const e=n.prev,t=n,i=n.next;if(Qn(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=f&&E.y>=d&&E.y<=g&&ou(r,a,s,l,o,A,E.x,E.y)&&Qn(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function h4(n,e,t,i){const r=n.prev,s=n,o=n.next;if(Qn(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,d=s.y,f=o.y,g=al?a>A?a:A:l>A?l:A,I=h>d?h>f?h:f:d>f?d:f,p=uC(g,E,e,t,i),y=uC(C,I,e,t,i);let v=n.prevZ,S=n.nextZ;for(;v&&v.z>=p&&S&&S.z<=y;){if(v.x>=g&&v.x<=C&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&ou(a,h,l,d,A,f,v.x,v.y)&&Qn(v.prev,v,v.next)>=0||(v=v.prevZ,S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&ou(a,h,l,d,A,f,S.x,S.y)&&Qn(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;v&&v.z>=p;){if(v.x>=g&&v.x<=C&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&ou(a,h,l,d,A,f,v.x,v.y)&&Qn(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;S&&S.z<=y;){if(S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&ou(a,h,l,d,A,f,S.x,S.y)&&Qn(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function d4(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!hm(r,s)&&k2(r,i,i.next,s)&&Th(r,s)&&Th(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),bh(i),bh(i.next),i=n=s),i=i.next}while(i!==n);return Ol(i)}function f4(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&B4(o,a)){let l=F2(o,a);o=Ol(o,o.next),l=Ol(l,l.next),Dh(o,e,t,i,r,s,0),Dh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function p4(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&s!==t.x&&ou(or.x||t.x===r.x&&I4(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function I4(n,e){return Qn(n.prev,n,e.prev)<0&&Qn(e.next,n,n.next)<0}function y4(n,e,t,i){let r=n;do r.z===0&&(r.z=uC(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,C4(r)}function C4(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function uC(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 v4(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 B4(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!x4(n,e)&&(Th(n,e)&&Th(e,n)&&S4(n,e)&&(Qn(n.prev,n,e.prev)||Qn(n,e.prev,e))||hm(n,e)&&Qn(n.prev,n,n.next)>0&&Qn(e.prev,e,e.next)>0)}function Qn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function hm(n,e){return n.x===e.x&&n.y===e.y}function k2(n,e,t,i){const r=tp(Qn(n,e,t)),s=tp(Qn(n,e,i)),o=tp(Qn(t,i,n)),a=tp(Qn(t,i,e));return!!(r!==s&&o!==a||r===0&&ep(n,t,e)||s===0&&ep(n,i,e)||o===0&&ep(t,n,i)||a===0&&ep(t,e,i))}function ep(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 tp(n){return n>0?1:n<0?-1:0}function x4(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&&k2(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Th(n,e){return Qn(n.prev,n,n.next)<0?Qn(n,e,n.next)>=0&&Qn(n,n.prev,e)>=0:Qn(n,e,n.prev)<0||Qn(n,n.next,e)<0}function S4(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 F2(n,e){const t=new AC(n.i,n.x,n.y),i=new AC(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 AC(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 bh(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 AC(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 w4(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Cw(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(be),Je=Math.sqrt(T*T+ie*ie),Ve=me.x-w/Re,qe=me.y+j/Re,ct=te.x-ie/Je,It=te.y+T/Je,Le=((ct-Ve)*ie-(It-qe)*T)/(j*ie-w*T);ue=Ve+j*Le-H.x,le=qe+w*Le-H.y;const Nt=ue*ue+le*le;if(Nt<=2)return new ve(ue,le);De=Math.sqrt(Nt/2)}else{let Re=!1;j>Number.EPSILON?T>Number.EPSILON&&(Re=!0):j<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(ie)&&(Re=!0),Re?(ue=-w,le=j,De=Math.sqrt(be)):(ue=j,le=w,De=Math.sqrt(be/2))}return new ve(ue/De,le/De)}const Z=[];for(let H=0,me=J.length,te=me-1,ue=H+1;H=0;H--){const me=H/I,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+C;for(let le=0,De=J.length;le=0;){const ue=te;let le=te-1;le<0&&(le=H.length-1);for(let De=0,j=h+I*2;De0)&&g.push(v,S,R),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class nB extends ri{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new je(16777215),this.specular=new je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.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 V2 extends ri{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class W2 extends ri{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class Y2 extends ri{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Yh,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.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 J2 extends ri{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ra,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class X2 extends Ji{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 Cl(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 K2(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function j2(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 hC(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 iB(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 R4(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(A.times[g]);for(let C=0;Cs.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*d+h,y=p+d-h;C=a.values.slice(p,y)}else{const p=a.createInterpolant(),y=h,v=d-h;p.evaluate(s),C=p.resultBuffer.slice(y,v)}l==="quaternion"&&new Hn().fromArray(C).normalize().conjugate().toArray(C);const I=A.times.length;for(let p=0;p=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&&K2(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Vp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}cs.prototype.TimeBufferType=Float32Array;cs.prototype.ValueBufferType=Float32Array;cs.prototype.DefaultInterpolation=vh;class Vl extends cs{}Vl.prototype.ValueTypeName="bool";Vl.prototype.ValueBufferType=Array;Vl.prototype.DefaultInterpolation=Ch;Vl.prototype.InterpolantFactoryMethodLinear=void 0;Vl.prototype.InterpolantFactoryMethodSmooth=void 0;class sB extends cs{}sB.prototype.ValueTypeName="color";class Lh extends cs{}Lh.prototype.ValueTypeName="number";class $2 extends ed{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 A=e*a;for(let h=A+a;A!==h;A+=4)Hn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Nu extends cs{InterpolantFactoryMethodLinear(e){return new $2(this.times,this.values,this.getValueSize(),e)}}Nu.prototype.ValueTypeName="quaternion";Nu.prototype.DefaultInterpolation=vh;Nu.prototype.InterpolantFactoryMethodSmooth=void 0;class Wl extends cs{}Wl.prototype.ValueTypeName="string";Wl.prototype.ValueBufferType=Array;Wl.prototype.DefaultInterpolation=Ch;Wl.prototype.InterpolantFactoryMethodLinear=void 0;Wl.prototype.InterpolantFactoryMethodSmooth=void 0;class Ph extends cs{}Ph.prototype.ValueTypeName="vector";class Nh{constructor(e,t=-1,i,r=jg){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(L4(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(cs.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 f=r[d];f||(r[d]=f=[]),f.push(A)}}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,f,g,E,C){if(g.length!==0){const I=[],p=[];iB(g,I,p,E),I.length!==0&&C.push(new d(f,I,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(qs[e]!==void 0){qs[e].push({onLoad:t,onProgress:i,onError:r});return}qs[e]=[],qs[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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=qs[e],d=A.body.getReader(),f=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=f?parseInt(f):0,E=g!==0;let C=0;const I=new ReadableStream({start(p){y();function y(){d.read().then(({done:v,value:S})=>{if(v)p.close();else{C+=S.byteLength;const M=new ProgressEvent("progress",{lengthComputable:E,loaded:C,total:g});for(let R=0,D=h.length;R{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),f=d&&d[1]?d[1].toLowerCase():void 0,g=new TextDecoder(f);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{co.add(e,A);const h=qs[e];delete qs[e];for(let d=0,f=h.length;d{const h=qs[e];if(h===void 0)throw this.manager.itemError(e),A;delete qs[e];for(let d=0,f=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 N4 extends Xi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ps(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new je().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new O().fromArray(o.value);break;case"v4":r.uniforms[s].value=new An().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Mt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ut().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:G2,SpriteMaterial:Wv,RawShaderMaterial:H2,ShaderMaterial:as,PointsMaterial:Xv,MeshPhysicalMaterial:z2,MeshStandardMaterial:tB,MeshPhongMaterial:nB,MeshToonMaterial:V2,MeshNormalMaterial:W2,MeshLambertMaterial:Y2,MeshDepthMaterial:em,MeshDistanceMaterial:tm,MeshBasicMaterial:rr,MeshMatcapMaterial:J2,LineDashedMaterial:X2,LineBasicMaterial:Ji,Material:ri};return new t[e]}}class dC{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 oB(t);s=new Uh(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new Uh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const I=new $n;I.min.fromArray(C.boxMin),I.max.fromArray(C.boxMax);const p=new Jn;return p.radius=C.sphereRadius,p.center.fromArray(C.sphereCenter),{boxInitialized:C.boxInitialized,box:I,sphereInitialized:C.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new S2;break;case"Line":o=new wa(a(e.geometry),l(e.material));break;case"LineLoop":o=new Q2(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ns(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new M2(a(e.geometry),l(e.material));break;case"Sprite":o=new x2(l(e.material));break;case"Group":o=new lo;break;case"Bone":o=new Yv;break;default:o=new zt}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 f=e.children;for(let g=0;g"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=co.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return co.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),co.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});co.add(e,l),s.manager.itemStart(e)}}let np;class lB{static getContext(){return np===void 0&&(np=new(window.AudioContext||window.webkitAudioContext)),np}static setContext(e){np=e}}class Y4 extends Xi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ps(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);lB.getContext().decodeAudioData(A,function(d){t(d)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Mw=new ut,Rw=new ut,tl=new ut;class J4{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,tl.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(wl*t.fov*.5)/t.zoom;let a,l;Rw.elements[12]=-r,Mw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,tl.elements[0]=2*t.near/(l-a),tl.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(tl),a=-o*t.aspect-s,l=o*t.aspect-s,tl.elements[0]=2*t.near/(l-a),tl.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(tl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Rw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Mw)}}class cB{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Dw(),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=Dw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Dw(){return(typeof performance>"u"?Date:performance).now()}const nl=new O,Tw=new Hn,X4=new O,il=new O;class K4 extends zt{constructor(){super(),this.type="AudioListener",this.context=lB.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new cB}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(nl,Tw,X4),il.set(0,0,-1).applyQuaternion(Tw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(nl.x,r),t.positionY.linearRampToValueAtTime(nl.y,r),t.positionZ.linearRampToValueAtTime(nl.z,r),t.forwardX.linearRampToValueAtTime(il.x,r),t.forwardY.linearRampToValueAtTime(il.y,r),t.forwardZ.linearRampToValueAtTime(il.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(nl.x,nl.y,nl.z),t.setOrientation(il.x,il.y,il.z,i.x,i.y,i.z)}}class AD extends zt{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,A=t+t;l!==A;++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){Hn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Hn.multiplyQuaternionsFlat(e,o,e,t,e,i),Hn.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 uB="\\[\\]\\.:\\/",$4=new RegExp("["+uB+"]","g"),AB="[^"+uB+"]",eG="[^"+uB.replace("\\.","")+"]",tG=/((?:WC+[\/:])*)/.source.replace("WC",AB),nG=/(WCOD+)?/.source.replace("WCOD",eG),iG=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",AB),rG=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",AB),sG=new RegExp("^"+tG+nG+iG+rG+"$"),oG=["material","materials","bones","map"];class aG{constructor(e,t,i){const r=i||qt.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 qt{constructor(e,t,i){this.path=t,this.parsedPath=i||qt.parseTrackName(t),this.node=qt.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 qt.Composite(e,t,i):new qt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace($4,"")}static parseTrackName(e){const t=sG.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);oG.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++,f=e[d];t[f.uuid]=h,e[h]=f,t[A]=d,e[d]=l;for(let g=0,E=r;g!==E;++g){const C=i[g],I=C[d],p=C[h];C[h]=I,C[d]=p}}}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 A=arguments[a],h=A.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[g.uuid]=d),e[d]=g,e.pop();for(let E=0,C=r;E!==C;++E){const I=i[E];I[d]=I[f],I.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,A=l.length,h=this.nCachedObjects_,d=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let f=h,g=l.length;f!==g;++f){const E=l[f];d[f]=new qt(E,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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class dD{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:El,endingEnd:El};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=KR,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case bv:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case jg:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[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===jR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===XR){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 A=e<0;this._setEndings(A,!A,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=Il,r.endingEnd=Il):(e?r.endingStart=this.zeroSlopeAtStart?Il:El:r.endingStart=Bh,t?r.endingEnd=this.zeroSlopeAtEnd?Il:El:r.endingEnd=Bh)}_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 cG=new Float32Array(1);class uG extends Io{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let d=0;d!==s;++d){const f=r[d],g=f.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[d]=E;else{if(E=o[d],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const C=t&&t._propertyBindings[d].binding.parsedPath;E=new hD(qt.create(i,g,C),f.ValueTypeName,f.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[d]=E}a[d].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,Pw).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 Nw=new O,ip=new O;class pD{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){Nw.subVectors(e,this.start),ip.subVectors(this.end,this.start);const i=ip.dot(ip);let s=ip.dot(Nw)/i;return t&&(s=Un(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 Uw=new O;class mG extends zt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Pt,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{Hw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Hw,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 RG extends Ns{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 Pt;r.setAttribute("position",new at(t,3)),r.setAttribute("color",new at(i,3));const s=new Ji({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new je,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class ea{constructor(){this.type="ShapePath",this.color=new je,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ya,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(p){const y=[];for(let v=0,S=p.length;vNumber.EPSILON){if(_<0&&(D=y[R],X=-X,k=y[M],_=-_),p.yk.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const L=_*(p.x-D.x)-X*(p.y-D.y);if(L===0)return!0;if(L<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(k.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=k.x)return!0}}return S}const r=ss.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Ca,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],f=[];let g=[],E=0,C;f[E]=void 0,g[E]=[];for(let p=0,y=s.length;p1){let p=!1,y=0;for(let v=0,S=f.length;v0&&p===!1&&(g=d)}let I;for(let p=0,y=f.length;p{const d=typeof A=="function"?A(e):A;if(d!==e){const f=e;e=h?d:Object.assign({},e,d),t.forEach(g=>g(e,f))}},r=()=>e,s=(A,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=h(e);function g(){const E=h(e);if(!d(f,E)){const C=f;A(f=E,C)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,d)=>h||d?s(A,h,d):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const TG=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Hw=TG?$.useEffect:$.useLayoutEffect;function mD(n){const e=typeof n=="function"?DG(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=$.useReducer(I=>I+1,0),o=e.getState(),a=$.useRef(o),l=$.useRef(i),A=$.useRef(r),h=$.useRef(!1),d=$.useRef();d.current===void 0&&(d.current=i(o));let f,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(f=i(o),g=!r(d.current,f)),Hw(()=>{g&&(d.current=f),a.current=o,l.current=i,A.current=r,h.current=!1});const E=$.useRef(o);Hw(()=>{const I=()=>{try{const v=e.getState(),y=l.current(v);A.current(d.current,y)||(a.current=v,d.current=y,s())}catch{h.current=!0,s()}},p=e.subscribe(I);return e.getState()!==E.current&&I(),p},[]);const C=g?f:d.current;return $.useDebugValue(C),C};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 ED={exports:{}},ID={exports:{}},yD={};/** + */Yl.ConcurrentRoot=1;Yl.ContinuousEventPriority=4;Yl.DefaultEventPriority=16;Yl.DiscreteEventPriority=1;Yl.IdleEventPriority=536870912;Yl.LegacyRoot=0;mD.exports=Yl;var au=mD.exports;function TG(n){let e;const t=new Set,i=(A,h)=>{const d=typeof A=="function"?A(e):A;if(d!==e){const f=e;e=h?d:Object.assign({},e,d),t.forEach(g=>g(e,f))}},r=()=>e,s=(A,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=h(e);function g(){const E=h(e);if(!d(f,E)){const C=f;A(f=E,C)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,d)=>h||d?s(A,h,d):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const bG=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),zw=bG?$.useEffect:$.useLayoutEffect;function ED(n){const e=typeof n=="function"?TG(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=$.useReducer(I=>I+1,0),o=e.getState(),a=$.useRef(o),l=$.useRef(i),A=$.useRef(r),h=$.useRef(!1),d=$.useRef();d.current===void 0&&(d.current=i(o));let f,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(f=i(o),g=!r(d.current,f)),zw(()=>{g&&(d.current=f),a.current=o,l.current=i,A.current=r,h.current=!1});const E=$.useRef(o);zw(()=>{const I=()=>{try{const y=e.getState(),v=l.current(y);A.current(d.current,v)||(a.current=y,d.current=v,s())}catch{h.current=!0,s()}},p=e.subscribe(I);return e.getState()!==E.current&&I(),p},[]);const C=g?f:d.current;return $.useDebugValue(C),C};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 ID={exports:{}},yD={exports:{}},CD={};/** * @license React * scheduler.production.min.js * @@ -3816,7 +3816,7 @@ void main() { * * 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,Z){var ne=F.length;F.push(Z);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))G<_e&&0>r(N,z)?(F[Ae]=N,F[G]=ne,Ae=G):(F[Ae]=z,F[W]=ne,Ae=W);else if(G<_e&&0>r(N,ne))F[Ae]=N,F[G]=ne,Ae=G;else break e}}return Z}function r(F,Z){var ne=F.sortIndex-Z.sortIndex;return ne!==0?ne:F.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,v=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(F){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=F)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(F){if(C=!1,y(F),!E)if(t(l)!==null)E=!0,se(M);else{var Z=t(A);Z!==null&&fe(S,Z.startTime-F)}}function M(F,Z){E=!1,C&&(C=!1,p(k),k=-1),g=!0;var ne=f;try{for(y(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||F&&!L());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),y(Z)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var W=t(A);W!==null&&fe(S,W.startTime-Z),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var R=!1,D=null,k=-1,X=5,_=-1;function L(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(C?(p(k),k=-1):C=!0,fe(S,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,se(M))),F},n.unstable_shouldYield=L,n.unstable_wrapCallback=function(F){var Z=f;return function(){var ne=f;f=Z;try{return F.apply(this,arguments)}finally{f=ne}}}})(yD);ID.exports=yD;var pC=ID.exports;/** + */(function(n){function e(F,Z){var ne=F.length;F.push(Z);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))G<_e&&0>r(N,z)?(F[Ae]=N,F[G]=ne,Ae=G):(F[Ae]=z,F[W]=ne,Ae=W);else if(G<_e&&0>r(N,ne))F[Ae]=N,F[G]=ne,Ae=G;else break e}}return Z}function r(F,Z){var ne=F.sortIndex-Z.sortIndex;return ne!==0?ne:F.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(F){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=F)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(F){if(C=!1,v(F),!E)if(t(l)!==null)E=!0,re(M);else{var Z=t(A);Z!==null&&fe(S,Z.startTime-F)}}function M(F,Z){E=!1,C&&(C=!1,p(k),k=-1),g=!0;var ne=f;try{for(v(Z),d=t(l);d!==null&&(!(d.expirationTime>Z)||F&&!L());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),v(Z)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var W=t(A);W!==null&&fe(S,W.startTime-Z),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var R=!1,D=null,k=-1,X=5,_=-1;function L(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(C?(p(k),k=-1):C=!0,fe(S,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,re(M))),F},n.unstable_shouldYield=L,n.unstable_wrapCallback=function(F){var Z=f;return function(){var ne=f;f=Z;try{return F.apply(this,arguments)}finally{f=ne}}}})(CD);yD.exports=CD;var pC=yD.exports;/** * @license React * react-reconciler.production.min.js * @@ -3824,25 +3824,25 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var bG=function(e){var t={},i=$,r=pC,s=Object.assign;function o(c){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+c,m=1;moe||x[Y]!==Q[oe]){var Me=` -`+x[Y].replace(" at new "," at ");return c.displayName&&Me.includes("")&&(Me=Me.replace("",c.displayName)),Me}while(1<=Y&&0<=oe);break}}}finally{wt=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var mn=Object.prototype.hasOwnProperty,Xn=[],dn=-1;function Dn(c){return{current:c}}function At(c){0>dn||(c.current=Xn[dn],Xn[dn]=null,dn--)}function $e(c,u){dn++,Xn[dn]=c.current,c.current=u}var Li={},b=Dn(Li),U=Dn(!1),ee=Li;function re(c,u){var m=c.type.contextTypes;if(!m)return Li;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},Q;for(Q in m)x[Q]=u[Q];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){At(U),At(b)}function Pe(c,u,m){if(b.current!==Li)throw Error(o(168));$e(b,u),$e(U,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,k(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Li,ee=b.current,$e(b,c),$e(U,U.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,At(U),At(b),$e(b,c)):At(U),$e(U,m)}var We=Math.clz32?Math.clz32:Tn,gt=Math.log,Xt=Math.LN2;function Tn(c){return c>>>=0,c===0?32:31-(gt(c)/Xt|0)|0}var Kt=64,ri=4194304;function di(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 ds(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,Q=c.pingedLanes,Y=m&268435455;if(Y!==0){var oe=Y&~x;oe!==0?B=di(oe):(Q&=Y,Q!==0&&(B=di(Q)))}else Y=m&~x,Y!==0?B=di(Y):Q!==0&&(B=di(Q));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,Q=u&-u,x>=Q||x===16&&(Q&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Vu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function MT(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=Y,x-=Y,Hs=1<<32-We(u)+x|m<en?(ai=Dt,Dt=null):ai=Dt.sibling;var tn=vt(Ie,Dt,Qe[en],Ze);if(tn===null){Dt===null&&(Dt=ai);break}c&&Dt&&tn.alternate===null&&u(Ie,Dt),ce=Q(tn,ce,en),kt===null?dt=tn:kt.sibling=tn,kt=tn,Dt=ai}if(en===Qe.length)return m(Ie,Dt),Bn&&Ha(Ie,en),dt;if(Dt===null){for(;enen?(ai=Dt,Dt=null):ai=Dt.sibling;var Ho=vt(Ie,Dt,tn.value,Ze);if(Ho===null){Dt===null&&(Dt=ai);break}c&&Dt&&Ho.alternate===null&&u(Ie,Dt),ce=Q(Ho,ce,en),kt===null?dt=Ho:kt.sibling=Ho,kt=Ho,Dt=ai}if(tn.done)return m(Ie,Dt),Bn&&Ha(Ie,en),dt;if(Dt===null){for(;!tn.done;en++,tn=Qe.next())tn=Rt(Ie,tn.value,Ze),tn!==null&&(ce=Q(tn,ce,en),kt===null?dt=tn:kt.sibling=tn,kt=tn);return Bn&&Ha(Ie,en),dt}for(Dt=B(Ie,Dt);!tn.done;en++,tn=Qe.next())tn=fn(Dt,Ie,en,tn.value,Ze),tn!==null&&(c&&tn.alternate!==null&&Dt.delete(tn.key===null?en:tn.key),ce=Q(tn,ce,en),kt===null?dt=tn:kt.sibling=tn,kt=tn);return c&&Dt.forEach(function(fb){return u(Ie,fb)}),Bn&&Ha(Ie,en),dt}function Rr(Ie,ce,Qe,Ze){if(typeof Qe=="object"&&Qe!==null&&Qe.type===h&&Qe.key===null&&(Qe=Qe.props.children),typeof Qe=="object"&&Qe!==null){switch(Qe.$$typeof){case l:e:{for(var dt=Qe.key,kt=ce;kt!==null;){if(kt.key===dt){if(dt=Qe.type,dt===h){if(kt.tag===7){m(Ie,kt.sibling),ce=x(kt,Qe.props.children),ce.return=Ie,Ie=ce;break e}}else if(kt.elementType===dt||typeof dt=="object"&&dt!==null&&dt.$$typeof===y&&OB(dt)===kt.type){m(Ie,kt.sibling),ce=x(kt,Qe.props),ce.ref=Ju(Ie,kt,Qe),ce.return=Ie,Ie=ce;break e}m(Ie,kt);break}else u(Ie,kt);kt=kt.sibling}Qe.type===h?(ce=Ka(Qe.props.children,Ie.mode,Ze,Qe.key),ce.return=Ie,Ie=ce):(Ze=Zd(Qe.type,Qe.key,Qe.props,null,Ie.mode,Ze),Ze.ref=Ju(Ie,ce,Qe),Ze.return=Ie,Ie=Ze)}return Y(Ie);case A:e:{for(kt=Qe.key;ce!==null;){if(ce.key===kt)if(ce.tag===4&&ce.stateNode.containerInfo===Qe.containerInfo&&ce.stateNode.implementation===Qe.implementation){m(Ie,ce.sibling),ce=x(ce,Qe.children||[]),ce.return=Ie,Ie=ce;break e}else{m(Ie,ce);break}else u(Ie,ce);ce=ce.sibling}ce=F0(Qe,Ie.mode,Ze),ce.return=Ie,Ie=ce}return Y(Ie);case y:return kt=Qe._init,Rr(Ie,ce,kt(Qe._payload),Ze)}if(le(Qe))return ft(Ie,ce,Qe,Ze);if(R(Qe))return Bi(Ie,ce,Qe,Ze);Cd(Ie,Qe)}return typeof Qe=="string"&&Qe!==""||typeof Qe=="number"?(Qe=""+Qe,ce!==null&&ce.tag===6?(m(Ie,ce.sibling),ce=x(ce,Qe),ce.return=Ie,Ie=ce):(m(Ie,ce),ce=k0(Qe,Ie.mode,Ze),ce.return=Ie,Ie=ce),Y(Ie)):m(Ie,ce)}return Rr}var sc=GB(!0),HB=GB(!1),Xu={},wr=Dn(Xu),Ku=Dn(Xu),oc=Dn(Xu);function Es(c){if(c===Xu)throw Error(o(174));return c}function n0(c,u){$e(oc,u),$e(Ku,c),$e(wr,Xu),c=fe(u),At(wr),$e(wr,c)}function ac(){At(wr),At(Ku),At(oc)}function zB(c){var u=Es(oc.current),m=Es(wr.current);u=F(m,c.type,u),m!==u&&($e(Ku,c),$e(wr,u))}function i0(c){Ku.current===c&&(At(wr),At(Ku))}var wn=Dn(0);function vd(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||us(m)||Fs(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var r0=[];function s0(){for(var c=0;cm?m:4,c(!0);var B=_r.transition;_r.transition={};try{c(!1),u()}finally{$t=m,_r.transition=B}}function ix(){return Is().memoizedState}function GT(c,u,m){var B=Fo(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},rx(c)?sx(u,m):(ox(c,u,m),m=Ni(),c=Qr(c,B,m),c!==null&&ax(c,u,B))}function HT(c,u,m){var B=Fo(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(rx(c))sx(u,x);else{ox(c,u,x);var Q=c.alternate;if(c.lanes===0&&(Q===null||Q.lanes===0)&&(Q=u.lastRenderedReducer,Q!==null))try{var Y=u.lastRenderedState,oe=Q(Y,m);if(x.hasEagerState=!0,x.eagerState=oe,ps(oe,Y))return}catch{}finally{}m=Ni(),c=Qr(c,B,m),c!==null&&ax(c,u,B)}}function rx(c){var u=c.alternate;return c===bn||u!==null&&u===bn}function sx(c,u){ju=xd=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function ox(c,u,m){zn!==null&&c.mode&1&&!(Ft&2)?(c=u.interleaved,c===null?(m.next=m,ms===null?ms=[u]:ms.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function ax(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Fm(c,m)}}var Md={readContext:Br,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},zT={readContext:Br,useCallback:function(c,u){return Vs().memoizedState=[c,u===void 0?null:u],c},useContext:Br,useEffect:u0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,_d(4194308,4,$B.bind(null,u,c),m)},useLayoutEffect:function(c,u){return _d(4194308,4,c,u)},useInsertionEffect:function(c,u){return _d(4,2,c,u)},useMemo:function(c,u){var m=Vs();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=Vs();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=GT.bind(null,bn,c),[B.memoizedState,c]},useRef:function(c){var u=Vs();return c={current:c},u.memoizedState=c},useState:c0,useDebugValue:A0,useDeferredValue:function(c){var u=c0(c),m=u[0],B=u[1];return u0(function(){var x=_r.transition;_r.transition={};try{B(c)}finally{_r.transition=x}},[c]),m},useTransition:function(){var c=c0(!1),u=c[0];return c=OT.bind(null,c[1]),Vs().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=bn,x=Vs();if(Bn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),zn===null)throw Error(o(349));lc&30||YB(B,u,m)}x.memoizedState=m;var Q={value:m,getSnapshot:u};return x.queue=Q,u0(XB.bind(null,B,Q,c),[c]),B.flags|=2048,Zu(9,JB.bind(null,B,Q,m,u),void 0,null),m},useId:function(){var c=Vs(),u=zn.identifierPrefix;if(Bn){var m=zs,B=Hs;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=qu++,0")&&(Me=Me.replace("",c.displayName)),Me}while(1<=Y&&0<=oe);break}}}finally{wt=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var mn=Object.prototype.hasOwnProperty,Xn=[],dn=-1;function Dn(c){return{current:c}}function ht(c){0>dn||(c.current=Xn[dn],Xn[dn]=null,dn--)}function $e(c,u){dn++,Xn[dn]=c.current,c.current=u}var Li={},b=Dn(Li),U=Dn(!1),ee=Li;function se(c,u){var m=c.type.contextTypes;if(!m)return Li;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},Q;for(Q in m)x[Q]=u[Q];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){ht(U),ht(b)}function Pe(c,u,m){if(b.current!==Li)throw Error(o(168));$e(b,u),$e(U,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,k(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Li,ee=b.current,$e(b,c),$e(U,U.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,ht(U),ht(b),$e(b,c)):ht(U),$e(U,m)}var We=Math.clz32?Math.clz32:Tn,gt=Math.log,Xt=Math.LN2;function Tn(c){return c>>>=0,c===0?32:31-(gt(c)/Xt|0)|0}var Kt=64,si=4194304;function di(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 ds(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,Q=c.pingedLanes,Y=m&268435455;if(Y!==0){var oe=Y&~x;oe!==0?B=di(oe):(Q&=Y,Q!==0&&(B=di(Q)))}else Y=m&~x,Y!==0?B=di(Y):Q!==0&&(B=di(Q));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,Q=u&-u,x>=Q||x===16&&(Q&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Vu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function RT(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=Y,x-=Y,Hs=1<<32-We(u)+x|m<tn?(li=Dt,Dt=null):li=Dt.sibling;var nn=vt(Ie,Dt,Qe[tn],Ze);if(nn===null){Dt===null&&(Dt=li);break}c&&Dt&&nn.alternate===null&&u(Ie,Dt),ce=Q(nn,ce,tn),kt===null?dt=nn:kt.sibling=nn,kt=nn,Dt=li}if(tn===Qe.length)return m(Ie,Dt),Bn&&Ha(Ie,tn),dt;if(Dt===null){for(;tntn?(li=Dt,Dt=null):li=Dt.sibling;var Ho=vt(Ie,Dt,nn.value,Ze);if(Ho===null){Dt===null&&(Dt=li);break}c&&Dt&&Ho.alternate===null&&u(Ie,Dt),ce=Q(Ho,ce,tn),kt===null?dt=Ho:kt.sibling=Ho,kt=Ho,Dt=li}if(nn.done)return m(Ie,Dt),Bn&&Ha(Ie,tn),dt;if(Dt===null){for(;!nn.done;tn++,nn=Qe.next())nn=Rt(Ie,nn.value,Ze),nn!==null&&(ce=Q(nn,ce,tn),kt===null?dt=nn:kt.sibling=nn,kt=nn);return Bn&&Ha(Ie,tn),dt}for(Dt=B(Ie,Dt);!nn.done;tn++,nn=Qe.next())nn=fn(Dt,Ie,tn,nn.value,Ze),nn!==null&&(c&&nn.alternate!==null&&Dt.delete(nn.key===null?tn:nn.key),ce=Q(nn,ce,tn),kt===null?dt=nn:kt.sibling=nn,kt=nn);return c&&Dt.forEach(function(pb){return u(Ie,pb)}),Bn&&Ha(Ie,tn),dt}function Rr(Ie,ce,Qe,Ze){if(typeof Qe=="object"&&Qe!==null&&Qe.type===h&&Qe.key===null&&(Qe=Qe.props.children),typeof Qe=="object"&&Qe!==null){switch(Qe.$$typeof){case l:e:{for(var dt=Qe.key,kt=ce;kt!==null;){if(kt.key===dt){if(dt=Qe.type,dt===h){if(kt.tag===7){m(Ie,kt.sibling),ce=x(kt,Qe.props.children),ce.return=Ie,Ie=ce;break e}}else if(kt.elementType===dt||typeof dt=="object"&&dt!==null&&dt.$$typeof===v&&GB(dt)===kt.type){m(Ie,kt.sibling),ce=x(kt,Qe.props),ce.ref=Ju(Ie,kt,Qe),ce.return=Ie,Ie=ce;break e}m(Ie,kt);break}else u(Ie,kt);kt=kt.sibling}Qe.type===h?(ce=Ka(Qe.props.children,Ie.mode,Ze,Qe.key),ce.return=Ie,Ie=ce):(Ze=Zd(Qe.type,Qe.key,Qe.props,null,Ie.mode,Ze),Ze.ref=Ju(Ie,ce,Qe),Ze.return=Ie,Ie=Ze)}return Y(Ie);case A:e:{for(kt=Qe.key;ce!==null;){if(ce.key===kt)if(ce.tag===4&&ce.stateNode.containerInfo===Qe.containerInfo&&ce.stateNode.implementation===Qe.implementation){m(Ie,ce.sibling),ce=x(ce,Qe.children||[]),ce.return=Ie,Ie=ce;break e}else{m(Ie,ce);break}else u(Ie,ce);ce=ce.sibling}ce=F0(Qe,Ie.mode,Ze),ce.return=Ie,Ie=ce}return Y(Ie);case v:return kt=Qe._init,Rr(Ie,ce,kt(Qe._payload),Ze)}if(ae(Qe))return ft(Ie,ce,Qe,Ze);if(R(Qe))return Bi(Ie,ce,Qe,Ze);Cd(Ie,Qe)}return typeof Qe=="string"&&Qe!==""||typeof Qe=="number"?(Qe=""+Qe,ce!==null&&ce.tag===6?(m(Ie,ce.sibling),ce=x(ce,Qe),ce.return=Ie,Ie=ce):(m(Ie,ce),ce=k0(Qe,Ie.mode,Ze),ce.return=Ie,Ie=ce),Y(Ie)):m(Ie,ce)}return Rr}var sc=HB(!0),zB=HB(!1),Xu={},wr=Dn(Xu),Ku=Dn(Xu),oc=Dn(Xu);function Es(c){if(c===Xu)throw Error(o(174));return c}function n0(c,u){$e(oc,u),$e(Ku,c),$e(wr,Xu),c=fe(u),ht(wr),$e(wr,c)}function ac(){ht(wr),ht(Ku),ht(oc)}function VB(c){var u=Es(oc.current),m=Es(wr.current);u=F(m,c.type,u),m!==u&&($e(Ku,c),$e(wr,u))}function i0(c){Ku.current===c&&(ht(wr),ht(Ku))}var wn=Dn(0);function vd(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||us(m)||Fs(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var r0=[];function s0(){for(var c=0;cm?m:4,c(!0);var B=_r.transition;_r.transition={};try{c(!1),u()}finally{en=m,_r.transition=B}}function rx(){return Is().memoizedState}function HT(c,u,m){var B=Fo(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},sx(c)?ox(u,m):(ax(c,u,m),m=Ni(),c=Qr(c,B,m),c!==null&&lx(c,u,B))}function zT(c,u,m){var B=Fo(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(sx(c))ox(u,x);else{ax(c,u,x);var Q=c.alternate;if(c.lanes===0&&(Q===null||Q.lanes===0)&&(Q=u.lastRenderedReducer,Q!==null))try{var Y=u.lastRenderedState,oe=Q(Y,m);if(x.hasEagerState=!0,x.eagerState=oe,ps(oe,Y))return}catch{}finally{}m=Ni(),c=Qr(c,B,m),c!==null&&lx(c,u,B)}}function sx(c){var u=c.alternate;return c===bn||u!==null&&u===bn}function ox(c,u){ju=xd=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function ax(c,u,m){zn!==null&&c.mode&1&&!(Ft&2)?(c=u.interleaved,c===null?(m.next=m,ms===null?ms=[u]:ms.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function lx(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Fm(c,m)}}var Md={readContext:Br,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},VT={readContext:Br,useCallback:function(c,u){return Vs().memoizedState=[c,u===void 0?null:u],c},useContext:Br,useEffect:u0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,_d(4194308,4,ex.bind(null,u,c),m)},useLayoutEffect:function(c,u){return _d(4194308,4,c,u)},useInsertionEffect:function(c,u){return _d(4,2,c,u)},useMemo:function(c,u){var m=Vs();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=Vs();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=HT.bind(null,bn,c),[B.memoizedState,c]},useRef:function(c){var u=Vs();return c={current:c},u.memoizedState=c},useState:c0,useDebugValue:A0,useDeferredValue:function(c){var u=c0(c),m=u[0],B=u[1];return u0(function(){var x=_r.transition;_r.transition={};try{B(c)}finally{_r.transition=x}},[c]),m},useTransition:function(){var c=c0(!1),u=c[0];return c=GT.bind(null,c[1]),Vs().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=bn,x=Vs();if(Bn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),zn===null)throw Error(o(349));lc&30||JB(B,u,m)}x.memoizedState=m;var Q={value:m,getSnapshot:u};return x.queue=Q,u0(KB.bind(null,B,Q,c),[c]),B.flags|=2048,Zu(9,XB.bind(null,B,Q,m,u),void 0,null),m},useId:function(){var c=Vs(),u=zn.identifierPrefix;if(Bn){var m=zs,B=Hs;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=qu++,0R0&&(u.flags|=128,B=!0,nA(x,!1),u.lanes=4194304)}else{if(!B)if(c=vd(Q),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),nA(x,!0),x.tail===null&&x.tailMode==="hidden"&&!Q.alternate&&!Bn)return vi(u),null}else 2*si()-x.renderingStartTime>R0&&m!==1073741824&&(u.flags|=128,B=!0,nA(x,!1),u.lanes=4194304);x.isBackwards?(Q.sibling=u.child,u.child=Q):(c=x.last,c!==null?c.sibling=Q:u.child=Q,x.last=Q)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=si(),u.sibling=null,c=wn.current,$e(wn,B?c&1|2:c&1),u):(vi(u),null);case 22:case 23:return P0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?lr&1073741824&&(vi(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):vi(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var XT=a.ReactCurrentOwner,ar=!1;function Pi(c,u,m,B){u.child=c===null?HB(u,null,m,B):sc(u,c.child,m,B)}function px(c,u,m,B,x){m=m.render;var Q=u.ref;return tc(u,x),B=a0(c,u,m,B,Q,x),m=l0(),c!==null&&!ar?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Ws(c,u,x)):(Bn&&m&&qm(u),u.flags|=1,Pi(c,u,B,x),u.child)}function gx(c,u,m,B,x){if(c===null){var Q=m.type;return typeof Q=="function"&&!U0(Q)&&Q.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=Q,mx(c,u,Q,B,x)):(c=Zd(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(Q=c.child,!(c.lanes&x)){var Y=Q.memoizedProps;if(m=m.compare,m=m!==null?m:dd,m(Y,B)&&c.ref===u.ref)return Ws(c,u,x)}return u.flags|=1,c=Go(Q,B),c.ref=u.ref,c.return=u,u.child=c}function mx(c,u,m,B,x){if(c!==null&&dd(c.memoizedProps,B)&&c.ref===u.ref)if(ar=!1,(c.lanes&x)!==0)c.flags&131072&&(ar=!0);else return u.lanes=c.lanes,Ws(c,u,x);return f0(c,u,m,B,x)}function Ex(c,u,m){var B=u.pendingProps,x=B.children,Q=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e(cc,lr),lr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=Q!==null?Q.baseLanes:m,$e(cc,lr),lr|=B;else return c=Q!==null?Q.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e(cc,lr),lr|=c,null;else Q!==null?(B=Q.baseLanes|m,u.memoizedState=null):B=m,$e(cc,lr),lr|=B;return Pi(c,u,x,m),u.child}function Ix(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function f0(c,u,m,B,x){var Q=he(m)?ee:b.current;return Q=re(u,Q),tc(u,x),m=a0(c,u,m,B,Q,x),B=l0(),c!==null&&!ar?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Ws(c,u,x)):(Bn&&B&&qm(u),u.flags|=1,Pi(c,u,m,x),u.child)}function yx(c,u,m,B,x){if(he(m)){var Q=!0;Ue(u)}else Q=!1;if(tc(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),LB(u,m,B),jm(u,m,B,x),B=!0;else if(c===null){var Y=u.stateNode,oe=u.memoizedProps;Y.props=oe;var Me=Y.context,Ge=m.contextType;typeof Ge=="object"&&Ge!==null?Ge=Br(Ge):(Ge=he(m)?ee:b.current,Ge=re(u,Ge));var st=m.getDerivedStateFromProps,Rt=typeof st=="function"||typeof Y.getSnapshotBeforeUpdate=="function";Rt||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(oe!==B||Me!==Ge)&&PB(u,Y,B,Ge),Po=!1;var vt=u.memoizedState;Y.state=vt,md(u,B,Y,x),Me=u.memoizedState,oe!==B||vt!==Me||U.current||Po?(typeof st=="function"&&(Km(u,m,st,B),Me=u.memoizedState),(oe=Po||bB(u,m,oe,B,vt,Me,Ge))?(Rt||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount=="function"&&(u.flags|=4194308)):(typeof Y.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Me),Y.props=B,Y.state=Me,Y.context=Ge,B=oe):(typeof Y.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{Y=u.stateNode,MB(c,u),oe=u.memoizedProps,Ge=u.type===u.elementType?oe:Yr(u.type,oe),Y.props=Ge,Rt=u.pendingProps,vt=Y.context,Me=m.contextType,typeof Me=="object"&&Me!==null?Me=Br(Me):(Me=he(m)?ee:b.current,Me=re(u,Me));var fn=m.getDerivedStateFromProps;(st=typeof fn=="function"||typeof Y.getSnapshotBeforeUpdate=="function")||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(oe!==Rt||vt!==Me)&&PB(u,Y,B,Me),Po=!1,vt=u.memoizedState,Y.state=vt,md(u,B,Y,x);var ft=u.memoizedState;oe!==Rt||vt!==ft||U.current||Po?(typeof fn=="function"&&(Km(u,m,fn,B),ft=u.memoizedState),(Ge=Po||bB(u,m,Ge,B,vt,ft,Me)||!1)?(st||typeof Y.UNSAFE_componentWillUpdate!="function"&&typeof Y.componentWillUpdate!="function"||(typeof Y.componentWillUpdate=="function"&&Y.componentWillUpdate(B,ft,Me),typeof Y.UNSAFE_componentWillUpdate=="function"&&Y.UNSAFE_componentWillUpdate(B,ft,Me)),typeof Y.componentDidUpdate=="function"&&(u.flags|=4),typeof Y.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof Y.componentDidUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=ft),Y.props=B,Y.state=ft,Y.context=Me,B=Ge):(typeof Y.componentDidUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=1024),B=!1)}return p0(c,u,m,B,Q,x)}function p0(c,u,m,B,x,Q){Ix(c,u);var Y=(u.flags&128)!==0;if(!B&&!Y)return x&&Fe(u,m,!1),Ws(c,u,Q);B=u.stateNode,XT.current=u;var oe=Y&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&Y?(u.child=sc(u,c.child,null,Q),u.child=sc(u,null,oe,Q)):Pi(c,u,oe,Q),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function Cx(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),n0(c,u.containerInfo)}function vx(c,u,m,B,x){return rc(),t0(x),u.flags|=256,Pi(c,u,m,B),u.child}var Td={dehydrated:null,treeContext:null,retryLane:0};function bd(c){return{baseLanes:c,cachePool:null}}function Bx(c,u,m){var B=u.pendingProps,x=wn.current,Q=!1,Y=(u.flags&128)!==0,oe;if((oe=Y)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(Q=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(wn,x&1),c===null)return e0(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Fs(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,Q?(B=u.mode,Q=u.child,x={mode:"hidden",children:x},!(B&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=x):Q=$d(x,B,0,null),c=Ka(c,B,m,null),Q.return=u,c.return=u,Q.sibling=c,u.child=Q,u.child.memoizedState=bd(m),u.memoizedState=Td,c):g0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(Y)return u.flags&256?(u.flags&=-257,Ld(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(Q=B.fallback,x=u.mode,B=$d({mode:"visible",children:B.children},x,0,null),Q=Ka(Q,x,m,null),Q.flags|=2,B.return=u,Q.return=u,B.sibling=Q,u.child=B,u.mode&1&&sc(u,c.child,null,m),u.child.memoizedState=bd(m),u.memoizedState=Td,Q);if(!(u.mode&1))u=Ld(c,u,m,null);else if(Fs(oe))u=Ld(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,ar||B){if(B=zn,B!==null){switch(m&-m){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}B=Q&(B.suspendedLanes|m)?0:Q,B!==0&&B!==x.retryLane&&(x.retryLane=B,Qr(c,B,-1))}N0(),u=Ld(c,u,m,Error(o(421)))}else us(oe)?(u.flags|=128,u.child=c.child,u=ab.bind(null,c),As(oe,u),u=null):(m=x.treeContext,me&&(or=Zl(oe),sr=u,Bn=!0,Jr=null,Wu=!1,m!==null&&(xr[Sr++]=Hs,xr[Sr++]=zs,xr[Sr++]=Ga,Hs=m.id,zs=m.overflow,Ga=u)),u=g0(u,u.pendingProps.children),u.flags|=4096);return u}return Q?(B=Sx(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?bd(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=Td,B):(m=xx(c,u,B.children,m),u.memoizedState=null,m)}return Q?(B=Sx(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?bd(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=Td,B):(m=xx(c,u,B.children,m),u.memoizedState=null,m)}function g0(c,u){return u=$d({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function xx(c,u,m,B){var x=c.child;return c=x.sibling,m=Go(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function Sx(c,u,m,B,x){var Q=u.mode;c=c.child;var Y=c.sibling,oe={mode:"hidden",children:m};return!(Q&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Go(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),Y!==null?B=Go(Y,B):(B=Ka(B,Q,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function Ld(c,u,m,B){return B!==null&&t0(B),sc(u,c.child,null,m),c=g0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function wx(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Jm(c.return,u,m)}function m0(c,u,m,B,x){var Q=c.memoizedState;Q===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(Q.isBackwards=u,Q.rendering=null,Q.renderingStartTime=0,Q.last=B,Q.tail=m,Q.tailMode=x)}function _x(c,u,m){var B=u.pendingProps,x=B.revealOrder,Q=B.tail;if(Pi(c,u,B.children,m),B=wn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&wx(c,m,u);else if(c.tag===19)wx(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(wn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&vd(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),m0(u,!1,x,m,Q);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&vd(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}m0(u,!0,m,null,Q);break;case"together":m0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Ws(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),uc|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Go(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Go(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function KT(c,u,m){switch(u.tag){case 3:Cx(u),rc();break;case 5:zB(u);break;case 1:he(u.type)&&Ue(u);break;case 4:n0(u,u.stateNode.containerInfo);break;case 10:QB(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(wn,wn.current&1),u.flags|=128,null):m&u.child.childLanes?Bx(c,u,m):($e(wn,wn.current&1),c=Ws(c,u,m),c!==null?c.sibling:null);$e(wn,wn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return _x(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(wn,wn.current),B)break;return null;case 22:case 23:return u.lanes=0,Ex(c,u,m)}return Ws(c,u,m)}function jT(c,u){switch(Zm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return ac(),At(U),At(b),s0(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return i0(u),null;case 13:if(At(wn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));rc()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return At(wn),null;case 4:return ac(),null;case 10:return Ym(u.type._context),null;case 22:case 23:return P0(),null;case 24:return null;default:return null}}var Pd=!1,Va=!1,qT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Nd(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){qi(c,u,B)}else m.current=null}function E0(c,u,m){try{m()}catch(B){qi(c,u,B)}}var Qx=!1;function ZT(c,u){for(Z(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,Q=c.stateNode,Y=Q.getSnapshotBeforeUpdate(c.elementType===c.type?B:Yr(c.type,B),x);Q.__reactInternalSnapshotBeforeUpdate=Y}break;case 3:Se&&He(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){qi(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=Qx,Qx=!1,m}function Wa(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var Q=x.destroy;x.destroy=void 0,Q!==void 0&&E0(u,m,Q)}x=x.next}while(x!==B)}}function iA(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function I0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=se(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function Mx(c,u,m){if(fs&&typeof fs.onCommitFiberUnmount=="function")try{fs.onCommitFiberUnmount(Ad,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,Q=x.destroy;x=x.tag,Q!==void 0&&(x&2||x&4)&&E0(u,m,Q),B=B.next}while(B!==c)}break;case 1:if(Nd(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(Y){qi(u,m,Y)}break;case 5:Nd(u,m);break;case 4:Se?Px(c,u,m):H&&H&&(u=u.stateNode.containerInfo,m=rt(u),rn(u,m))}}function Rx(c,u,m){for(var B=u;;)if(Mx(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function Dx(c){var u=c.alternate;u!==null&&(c.alternate=null,Dx(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 Tx(c){return c.tag===5||c.tag===3||c.tag===4}function bx(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||Tx(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 Lx(c){if(Se){e:{for(var u=c.return;u!==null;){if(Tx(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Vt(u),m.flags&=-33),m=bx(c),C0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=bx(c),y0(c,m,u);break;default:throw Error(o(161))}}}function y0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?at(m,c,u):It(m,c);else if(B!==4&&(c=c.child,c!==null))for(y0(c,u,m),c=c.sibling;c!==null;)y0(c,u,m),c=c.sibling}function C0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?mt(m,c,u):lt(m,c);else if(B!==4&&(c=c.child,c!==null))for(C0(c,u,m),c=c.sibling;c!==null;)C0(c,u,m),c=c.sibling}function Px(c,u,m){for(var B=u,x=!1,Q,Y;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(Q=x.stateNode,x.tag){case 5:Y=!1;break e;case 3:Q=Q.containerInfo,Y=!0;break e;case 4:Q=Q.containerInfo,Y=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)Rx(c,B,m),Y?Bt(Q,B.stateNode):et(Q,B.stateNode);else if(B.tag===18)Y?ye(Q,B.stateNode):we(Q,B.stateNode);else if(B.tag===4){if(B.child!==null){Q=B.stateNode.containerInfo,Y=!0,B.child.return=B,B=B.child;continue}}else if(Mx(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function v0(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:Wa(3,u,u.return),iA(3,u),Wa(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,Q=u.updateQueue;u.updateQueue=null,Q!==null&&Qt(m,Q,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,Le(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Ud(u);return;case 19:Ud(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Wa(3,u,u.return),iA(3,u),Wa(5,u,u.return);return;case 12:return;case 13:Ud(u);return;case 19:Ud(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(H){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,rn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Ud(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new qT),u.forEach(function(B){var x=lb.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function $T(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case Fd:return":has("+(S0(c)||"")+")";case Od:return'[role="'+c.value+'"]';case Hd:return'"'+c.value+'"';case Gd:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function Ox(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=Y),B&=~Q}if(B=x,B=si()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*tb(B/1960))-B,10c?16:c,ko===null)var B=!1;else{if(c=ko,ko=null,Jd=0,Ft&6)throw Error(o(331));var x=Ft;for(Ft|=4,Ke=c.current;Ke!==null;){var Q=Ke,Y=Q.child;if(Ke.flags&16){var oe=Q.deletions;if(oe!==null){for(var Me=0;Mesi()-M0?Ya(c,0):Q0|=m),ji(c,u)}function Kx(c,u){u===0&&(c.mode&1?(u=ri,ri<<=1,!(ri&130023424)&&(ri=4194304)):u=1);var m=Ni();c=jd(c,u),c!==null&&(Vu(c,u,m),ji(c,m))}function ab(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),Kx(c,m)}function lb(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),Kx(c,m)}var jx;jx=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||U.current)ar=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return ar=!1,KT(c,u,m);ar=!!(c.flags&131072)}else ar=!1,Bn&&u.flags&1048576&&NB(u,yd,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=re(u,b.current);tc(u,m),x=a0(null,u,B,c,x,m);var Q=l0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(Q=!0,Ue(u)):Q=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Xm(u),x.updater=Ed,u.stateNode=x,x._reactInternals=u,jm(u,B,c,m),u=p0(null,u,B,!0,Q,m)):(u.tag=0,Bn&&Q&&qm(u),Pi(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=ub(B),c=Yr(B,c),x){case 0:u=f0(null,u,B,c,m);break e;case 1:u=yx(null,u,B,c,m);break e;case 11:u=px(null,u,B,c,m);break e;case 14:u=gx(null,u,B,Yr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),f0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),yx(c,u,B,x,m);case 3:e:{if(Cx(u),c===null)throw Error(o(387));B=u.pendingProps,Q=u.memoizedState,x=Q.element,MB(c,u),md(u,B,null,m);var Y=u.memoizedState;if(B=Y.element,me&&Q.isDehydrated)if(Q={element:B,isDehydrated:!1,cache:Y.cache,transitions:Y.transitions},u.updateQueue.baseState=Q,u.memoizedState=Q,u.flags&256){x=Error(o(423)),u=vx(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=vx(c,u,B,m,x);break e}else for(me&&(or=ql(u.stateNode.containerInfo),sr=u,Bn=!0,Jr=null,Wu=!1),m=HB(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(rc(),B===x){u=Ws(c,u,m);break e}Pi(c,u,B,m)}u=u.child}return u;case 5:return zB(u),c===null&&e0(u),B=u.type,x=u.pendingProps,Q=c!==null?c.memoizedProps:null,Y=x.children,z(B,x)?Y=null:Q!==null&&z(B,Q)&&(u.flags|=32),Ix(c,u),Pi(c,u,Y,m),u.child;case 6:return c===null&&e0(u),null;case 13:return Bx(c,u,m);case 4:return n0(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=sc(u,null,B,m):Pi(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),px(c,u,B,x,m);case 7:return Pi(c,u,u.pendingProps,m),u.child;case 8:return Pi(c,u,u.pendingProps.children,m),u.child;case 12:return Pi(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,Q=u.memoizedProps,Y=x.value,QB(u,B,Y),Q!==null)if(ps(Q.value,Y)){if(Q.children===x.children&&!U.current){u=Ws(c,u,m);break e}}else for(Q=u.child,Q!==null&&(Q.return=u);Q!==null;){var oe=Q.dependencies;if(oe!==null){Y=Q.child;for(var Me=oe.firstContext;Me!==null;){if(Me.context===B){if(Q.tag===1){Me=Gs(-1,m&-m),Me.tag=2;var Ge=Q.updateQueue;if(Ge!==null){Ge=Ge.shared;var st=Ge.pending;st===null?Me.next=Me:(Me.next=st.next,st.next=Me),Ge.pending=Me}}Q.lanes|=m,Me=Q.alternate,Me!==null&&(Me.lanes|=m),Jm(Q.return,m,u),oe.lanes|=m;break}Me=Me.next}}else if(Q.tag===10)Y=Q.type===u.type?null:Q.child;else if(Q.tag===18){if(Y=Q.return,Y===null)throw Error(o(341));Y.lanes|=m,oe=Y.alternate,oe!==null&&(oe.lanes|=m),Jm(Y,m,u),Y=Q.sibling}else Y=Q.child;if(Y!==null)Y.return=Q;else for(Y=Q;Y!==null;){if(Y===u){Y=null;break}if(Q=Y.sibling,Q!==null){Q.return=Y.return,Y=Q;break}Y=Y.return}Q=Y}Pi(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,tc(u,m),x=Br(x),B=B(x),u.flags|=1,Pi(c,u,B,m),u.child;case 14:return B=u.type,x=Yr(B,u.pendingProps),x=Yr(B.type,x),gx(c,u,B,x,m);case 15:return mx(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,tc(u,m),LB(u,B,x),jm(u,B,x,m),p0(null,u,B,!0,c,m);case 19:return _x(c,u,m);case 22:return Ex(c,u,m)}throw Error(o(156,u.tag))};function qx(c,u){return Om(c,u)}function cb(c,u,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=u,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 Mr(c,u,m,B){return new cb(c,u,m,B)}function U0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function ub(c){if(typeof c=="function")return U0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===C)return 11;if(c===v)return 14}return 2}function Go(c,u){var m=c.alternate;return m===null?(m=Mr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Zd(c,u,m,B,x,Q){var Y=2;if(B=c,typeof c=="function")U0(c)&&(Y=1);else if(typeof c=="string")Y=5;else e:switch(c){case h:return Ka(m.children,x,Q,u);case d:Y=8,x|=8;break;case f:return c=Mr(12,m,u,x|2),c.elementType=f,c.lanes=Q,c;case I:return c=Mr(13,m,u,x),c.elementType=I,c.lanes=Q,c;case p:return c=Mr(19,m,u,x),c.elementType=p,c.lanes=Q,c;case S:return $d(m,x,Q,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:Y=10;break e;case E:Y=9;break e;case C:Y=11;break e;case v:Y=14;break e;case y:Y=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=Mr(Y,m,u,x),u.elementType=c,u.type=B,u.lanes=Q,u}function Ka(c,u,m,B){return c=Mr(7,c,B,u),c.lanes=m,c}function $d(c,u,m,B){return c=Mr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function k0(c,u,m){return c=Mr(6,c,null,u),c.lanes=m,c}function F0(c,u,m){return u=Mr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function Ab(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=km(0),this.expirationTimes=km(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=km(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function Zx(c,u,m,B,x,Q,Y,oe,Me){return c=new Ab(c,u,m,oe,Me),u===1?(u=1,Q===!0&&(u|=8)):u=0,Q=Mr(3,null,null,u),c.current=Q,Q.stateNode=c,Q.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Xm(Q),c}function $x(c){if(!c)return Li;c=c._reactInternals;e:{if(X(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Ne(c,m,u)}return u}function e1(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=q(u),c===null?null:c.stateNode}function t1(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=Ge&&Q>=Rt&&x<=st&&Y<=vt){c.splice(u,1);break}else if(B!==Ge||m.width!==Me.width||vtY){if(!(Q!==Rt||m.height!==Me.height||stx)){Ge>B&&(Me.width+=Ge-B,Me.x=B),stQ&&(Me.height+=Rt-Q,Me.y=Q),vtm&&(m=Y)),YR0&&(u.flags|=128,B=!0,nA(x,!1),u.lanes=4194304)}else{if(!B)if(c=vd(Q),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),nA(x,!0),x.tail===null&&x.tailMode==="hidden"&&!Q.alternate&&!Bn)return vi(u),null}else 2*oi()-x.renderingStartTime>R0&&m!==1073741824&&(u.flags|=128,B=!0,nA(x,!1),u.lanes=4194304);x.isBackwards?(Q.sibling=u.child,u.child=Q):(c=x.last,c!==null?c.sibling=Q:u.child=Q,x.last=Q)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=oi(),u.sibling=null,c=wn.current,$e(wn,B?c&1|2:c&1),u):(vi(u),null);case 22:case 23:return P0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?lr&1073741824&&(vi(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):vi(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var KT=a.ReactCurrentOwner,ar=!1;function Pi(c,u,m,B){u.child=c===null?zB(u,null,m,B):sc(u,c.child,m,B)}function gx(c,u,m,B,x){m=m.render;var Q=u.ref;return tc(u,x),B=a0(c,u,m,B,Q,x),m=l0(),c!==null&&!ar?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Ws(c,u,x)):(Bn&&m&&qm(u),u.flags|=1,Pi(c,u,B,x),u.child)}function mx(c,u,m,B,x){if(c===null){var Q=m.type;return typeof Q=="function"&&!U0(Q)&&Q.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=Q,Ex(c,u,Q,B,x)):(c=Zd(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(Q=c.child,!(c.lanes&x)){var Y=Q.memoizedProps;if(m=m.compare,m=m!==null?m:dd,m(Y,B)&&c.ref===u.ref)return Ws(c,u,x)}return u.flags|=1,c=Go(Q,B),c.ref=u.ref,c.return=u,u.child=c}function Ex(c,u,m,B,x){if(c!==null&&dd(c.memoizedProps,B)&&c.ref===u.ref)if(ar=!1,(c.lanes&x)!==0)c.flags&131072&&(ar=!0);else return u.lanes=c.lanes,Ws(c,u,x);return f0(c,u,m,B,x)}function Ix(c,u,m){var B=u.pendingProps,x=B.children,Q=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e(cc,lr),lr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=Q!==null?Q.baseLanes:m,$e(cc,lr),lr|=B;else return c=Q!==null?Q.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e(cc,lr),lr|=c,null;else Q!==null?(B=Q.baseLanes|m,u.memoizedState=null):B=m,$e(cc,lr),lr|=B;return Pi(c,u,x,m),u.child}function yx(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function f0(c,u,m,B,x){var Q=he(m)?ee:b.current;return Q=se(u,Q),tc(u,x),m=a0(c,u,m,B,Q,x),B=l0(),c!==null&&!ar?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Ws(c,u,x)):(Bn&&B&&qm(u),u.flags|=1,Pi(c,u,m,x),u.child)}function Cx(c,u,m,B,x){if(he(m)){var Q=!0;Ue(u)}else Q=!1;if(tc(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),PB(u,m,B),jm(u,m,B,x),B=!0;else if(c===null){var Y=u.stateNode,oe=u.memoizedProps;Y.props=oe;var Me=Y.context,Ge=m.contextType;typeof Ge=="object"&&Ge!==null?Ge=Br(Ge):(Ge=he(m)?ee:b.current,Ge=se(u,Ge));var ot=m.getDerivedStateFromProps,Rt=typeof ot=="function"||typeof Y.getSnapshotBeforeUpdate=="function";Rt||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(oe!==B||Me!==Ge)&&NB(u,Y,B,Ge),Po=!1;var vt=u.memoizedState;Y.state=vt,md(u,B,Y,x),Me=u.memoizedState,oe!==B||vt!==Me||U.current||Po?(typeof ot=="function"&&(Km(u,m,ot,B),Me=u.memoizedState),(oe=Po||LB(u,m,oe,B,vt,Me,Ge))?(Rt||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount=="function"&&(u.flags|=4194308)):(typeof Y.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Me),Y.props=B,Y.state=Me,Y.context=Ge,B=oe):(typeof Y.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{Y=u.stateNode,RB(c,u),oe=u.memoizedProps,Ge=u.type===u.elementType?oe:Yr(u.type,oe),Y.props=Ge,Rt=u.pendingProps,vt=Y.context,Me=m.contextType,typeof Me=="object"&&Me!==null?Me=Br(Me):(Me=he(m)?ee:b.current,Me=se(u,Me));var fn=m.getDerivedStateFromProps;(ot=typeof fn=="function"||typeof Y.getSnapshotBeforeUpdate=="function")||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(oe!==Rt||vt!==Me)&&NB(u,Y,B,Me),Po=!1,vt=u.memoizedState,Y.state=vt,md(u,B,Y,x);var ft=u.memoizedState;oe!==Rt||vt!==ft||U.current||Po?(typeof fn=="function"&&(Km(u,m,fn,B),ft=u.memoizedState),(Ge=Po||LB(u,m,Ge,B,vt,ft,Me)||!1)?(ot||typeof Y.UNSAFE_componentWillUpdate!="function"&&typeof Y.componentWillUpdate!="function"||(typeof Y.componentWillUpdate=="function"&&Y.componentWillUpdate(B,ft,Me),typeof Y.UNSAFE_componentWillUpdate=="function"&&Y.UNSAFE_componentWillUpdate(B,ft,Me)),typeof Y.componentDidUpdate=="function"&&(u.flags|=4),typeof Y.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof Y.componentDidUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=ft),Y.props=B,Y.state=ft,Y.context=Me,B=Ge):(typeof Y.componentDidUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&vt===c.memoizedState||(u.flags|=1024),B=!1)}return p0(c,u,m,B,Q,x)}function p0(c,u,m,B,x,Q){yx(c,u);var Y=(u.flags&128)!==0;if(!B&&!Y)return x&&Fe(u,m,!1),Ws(c,u,Q);B=u.stateNode,KT.current=u;var oe=Y&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&Y?(u.child=sc(u,c.child,null,Q),u.child=sc(u,null,oe,Q)):Pi(c,u,oe,Q),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function vx(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),n0(c,u.containerInfo)}function Bx(c,u,m,B,x){return rc(),t0(x),u.flags|=256,Pi(c,u,m,B),u.child}var Td={dehydrated:null,treeContext:null,retryLane:0};function bd(c){return{baseLanes:c,cachePool:null}}function xx(c,u,m){var B=u.pendingProps,x=wn.current,Q=!1,Y=(u.flags&128)!==0,oe;if((oe=Y)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(Q=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(wn,x&1),c===null)return e0(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Fs(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,Q?(B=u.mode,Q=u.child,x={mode:"hidden",children:x},!(B&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=x):Q=$d(x,B,0,null),c=Ka(c,B,m,null),Q.return=u,c.return=u,Q.sibling=c,u.child=Q,u.child.memoizedState=bd(m),u.memoizedState=Td,c):g0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(Y)return u.flags&256?(u.flags&=-257,Ld(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(Q=B.fallback,x=u.mode,B=$d({mode:"visible",children:B.children},x,0,null),Q=Ka(Q,x,m,null),Q.flags|=2,B.return=u,Q.return=u,B.sibling=Q,u.child=B,u.mode&1&&sc(u,c.child,null,m),u.child.memoizedState=bd(m),u.memoizedState=Td,Q);if(!(u.mode&1))u=Ld(c,u,m,null);else if(Fs(oe))u=Ld(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,ar||B){if(B=zn,B!==null){switch(m&-m){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}B=Q&(B.suspendedLanes|m)?0:Q,B!==0&&B!==x.retryLane&&(x.retryLane=B,Qr(c,B,-1))}N0(),u=Ld(c,u,m,Error(o(421)))}else us(oe)?(u.flags|=128,u.child=c.child,u=lb.bind(null,c),As(oe,u),u=null):(m=x.treeContext,me&&(or=Zl(oe),sr=u,Bn=!0,Jr=null,Wu=!1,m!==null&&(xr[Sr++]=Hs,xr[Sr++]=zs,xr[Sr++]=Ga,Hs=m.id,zs=m.overflow,Ga=u)),u=g0(u,u.pendingProps.children),u.flags|=4096);return u}return Q?(B=wx(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?bd(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=Td,B):(m=Sx(c,u,B.children,m),u.memoizedState=null,m)}return Q?(B=wx(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?bd(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=Td,B):(m=Sx(c,u,B.children,m),u.memoizedState=null,m)}function g0(c,u){return u=$d({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function Sx(c,u,m,B){var x=c.child;return c=x.sibling,m=Go(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function wx(c,u,m,B,x){var Q=u.mode;c=c.child;var Y=c.sibling,oe={mode:"hidden",children:m};return!(Q&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Go(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),Y!==null?B=Go(Y,B):(B=Ka(B,Q,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function Ld(c,u,m,B){return B!==null&&t0(B),sc(u,c.child,null,m),c=g0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function _x(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Jm(c.return,u,m)}function m0(c,u,m,B,x){var Q=c.memoizedState;Q===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(Q.isBackwards=u,Q.rendering=null,Q.renderingStartTime=0,Q.last=B,Q.tail=m,Q.tailMode=x)}function Qx(c,u,m){var B=u.pendingProps,x=B.revealOrder,Q=B.tail;if(Pi(c,u,B.children,m),B=wn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&_x(c,m,u);else if(c.tag===19)_x(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(wn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&vd(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),m0(u,!1,x,m,Q);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&vd(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}m0(u,!0,m,null,Q);break;case"together":m0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Ws(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),uc|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Go(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Go(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function jT(c,u,m){switch(u.tag){case 3:vx(u),rc();break;case 5:VB(u);break;case 1:he(u.type)&&Ue(u);break;case 4:n0(u,u.stateNode.containerInfo);break;case 10:MB(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(wn,wn.current&1),u.flags|=128,null):m&u.child.childLanes?xx(c,u,m):($e(wn,wn.current&1),c=Ws(c,u,m),c!==null?c.sibling:null);$e(wn,wn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return Qx(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(wn,wn.current),B)break;return null;case 22:case 23:return u.lanes=0,Ix(c,u,m)}return Ws(c,u,m)}function qT(c,u){switch(Zm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return ac(),ht(U),ht(b),s0(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return i0(u),null;case 13:if(ht(wn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));rc()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ht(wn),null;case 4:return ac(),null;case 10:return Ym(u.type._context),null;case 22:case 23:return P0(),null;case 24:return null;default:return null}}var Pd=!1,Va=!1,ZT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Nd(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){qi(c,u,B)}else m.current=null}function E0(c,u,m){try{m()}catch(B){qi(c,u,B)}}var Mx=!1;function $T(c,u){for(Z(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,Q=c.stateNode,Y=Q.getSnapshotBeforeUpdate(c.elementType===c.type?B:Yr(c.type,B),x);Q.__reactInternalSnapshotBeforeUpdate=Y}break;case 3:Se&&He(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){qi(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=Mx,Mx=!1,m}function Wa(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var Q=x.destroy;x.destroy=void 0,Q!==void 0&&E0(u,m,Q)}x=x.next}while(x!==B)}}function iA(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function I0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=re(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function Rx(c,u,m){if(fs&&typeof fs.onCommitFiberUnmount=="function")try{fs.onCommitFiberUnmount(Ad,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,Q=x.destroy;x=x.tag,Q!==void 0&&(x&2||x&4)&&E0(u,m,Q),B=B.next}while(B!==c)}break;case 1:if(Nd(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(Y){qi(u,m,Y)}break;case 5:Nd(u,m);break;case 4:Se?Nx(c,u,m):H&&H&&(u=u.stateNode.containerInfo,m=st(u),rn(u,m))}}function Dx(c,u,m){for(var B=u;;)if(Rx(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function Tx(c){var u=c.alternate;u!==null&&(c.alternate=null,Tx(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 bx(c){return c.tag===5||c.tag===3||c.tag===4}function Lx(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||bx(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 Px(c){if(Se){e:{for(var u=c.return;u!==null;){if(bx(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Vt(u),m.flags&=-33),m=Lx(c),C0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=Lx(c),y0(c,m,u);break;default:throw Error(o(161))}}}function y0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?lt(m,c,u):It(m,c);else if(B!==4&&(c=c.child,c!==null))for(y0(c,u,m),c=c.sibling;c!==null;)y0(c,u,m),c=c.sibling}function C0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?mt(m,c,u):ct(m,c);else if(B!==4&&(c=c.child,c!==null))for(C0(c,u,m),c=c.sibling;c!==null;)C0(c,u,m),c=c.sibling}function Nx(c,u,m){for(var B=u,x=!1,Q,Y;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(Q=x.stateNode,x.tag){case 5:Y=!1;break e;case 3:Q=Q.containerInfo,Y=!0;break e;case 4:Q=Q.containerInfo,Y=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)Dx(c,B,m),Y?Bt(Q,B.stateNode):tt(Q,B.stateNode);else if(B.tag===18)Y?ye(Q,B.stateNode):we(Q,B.stateNode);else if(B.tag===4){if(B.child!==null){Q=B.stateNode.containerInfo,Y=!0,B.child.return=B,B=B.child;continue}}else if(Rx(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function v0(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:Wa(3,u,u.return),iA(3,u),Wa(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,Q=u.updateQueue;u.updateQueue=null,Q!==null&&Qt(m,Q,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,Le(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Ud(u);return;case 19:Ud(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Wa(3,u,u.return),iA(3,u),Wa(5,u,u.return);return;case 12:return;case 13:Ud(u);return;case 19:Ud(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(H){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,rn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Ud(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new ZT),u.forEach(function(B){var x=cb.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function eb(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case Fd:return":has("+(S0(c)||"")+")";case Od:return'[role="'+c.value+'"]';case Hd:return'"'+c.value+'"';case Gd:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function Gx(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=Y),B&=~Q}if(B=x,B=oi()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*nb(B/1960))-B,10c?16:c,ko===null)var B=!1;else{if(c=ko,ko=null,Jd=0,Ft&6)throw Error(o(331));var x=Ft;for(Ft|=4,Ke=c.current;Ke!==null;){var Q=Ke,Y=Q.child;if(Ke.flags&16){var oe=Q.deletions;if(oe!==null){for(var Me=0;Meoi()-M0?Ya(c,0):Q0|=m),ji(c,u)}function jx(c,u){u===0&&(c.mode&1?(u=si,si<<=1,!(si&130023424)&&(si=4194304)):u=1);var m=Ni();c=jd(c,u),c!==null&&(Vu(c,u,m),ji(c,m))}function lb(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),jx(c,m)}function cb(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),jx(c,m)}var qx;qx=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||U.current)ar=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return ar=!1,jT(c,u,m);ar=!!(c.flags&131072)}else ar=!1,Bn&&u.flags&1048576&&UB(u,yd,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=se(u,b.current);tc(u,m),x=a0(null,u,B,c,x,m);var Q=l0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(Q=!0,Ue(u)):Q=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Xm(u),x.updater=Ed,u.stateNode=x,x._reactInternals=u,jm(u,B,c,m),u=p0(null,u,B,!0,Q,m)):(u.tag=0,Bn&&Q&&qm(u),Pi(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=Ab(B),c=Yr(B,c),x){case 0:u=f0(null,u,B,c,m);break e;case 1:u=Cx(null,u,B,c,m);break e;case 11:u=gx(null,u,B,c,m);break e;case 14:u=mx(null,u,B,Yr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),f0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),Cx(c,u,B,x,m);case 3:e:{if(vx(u),c===null)throw Error(o(387));B=u.pendingProps,Q=u.memoizedState,x=Q.element,RB(c,u),md(u,B,null,m);var Y=u.memoizedState;if(B=Y.element,me&&Q.isDehydrated)if(Q={element:B,isDehydrated:!1,cache:Y.cache,transitions:Y.transitions},u.updateQueue.baseState=Q,u.memoizedState=Q,u.flags&256){x=Error(o(423)),u=Bx(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=Bx(c,u,B,m,x);break e}else for(me&&(or=ql(u.stateNode.containerInfo),sr=u,Bn=!0,Jr=null,Wu=!1),m=zB(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(rc(),B===x){u=Ws(c,u,m);break e}Pi(c,u,B,m)}u=u.child}return u;case 5:return VB(u),c===null&&e0(u),B=u.type,x=u.pendingProps,Q=c!==null?c.memoizedProps:null,Y=x.children,z(B,x)?Y=null:Q!==null&&z(B,Q)&&(u.flags|=32),yx(c,u),Pi(c,u,Y,m),u.child;case 6:return c===null&&e0(u),null;case 13:return xx(c,u,m);case 4:return n0(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=sc(u,null,B,m):Pi(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),gx(c,u,B,x,m);case 7:return Pi(c,u,u.pendingProps,m),u.child;case 8:return Pi(c,u,u.pendingProps.children,m),u.child;case 12:return Pi(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,Q=u.memoizedProps,Y=x.value,MB(u,B,Y),Q!==null)if(ps(Q.value,Y)){if(Q.children===x.children&&!U.current){u=Ws(c,u,m);break e}}else for(Q=u.child,Q!==null&&(Q.return=u);Q!==null;){var oe=Q.dependencies;if(oe!==null){Y=Q.child;for(var Me=oe.firstContext;Me!==null;){if(Me.context===B){if(Q.tag===1){Me=Gs(-1,m&-m),Me.tag=2;var Ge=Q.updateQueue;if(Ge!==null){Ge=Ge.shared;var ot=Ge.pending;ot===null?Me.next=Me:(Me.next=ot.next,ot.next=Me),Ge.pending=Me}}Q.lanes|=m,Me=Q.alternate,Me!==null&&(Me.lanes|=m),Jm(Q.return,m,u),oe.lanes|=m;break}Me=Me.next}}else if(Q.tag===10)Y=Q.type===u.type?null:Q.child;else if(Q.tag===18){if(Y=Q.return,Y===null)throw Error(o(341));Y.lanes|=m,oe=Y.alternate,oe!==null&&(oe.lanes|=m),Jm(Y,m,u),Y=Q.sibling}else Y=Q.child;if(Y!==null)Y.return=Q;else for(Y=Q;Y!==null;){if(Y===u){Y=null;break}if(Q=Y.sibling,Q!==null){Q.return=Y.return,Y=Q;break}Y=Y.return}Q=Y}Pi(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,tc(u,m),x=Br(x),B=B(x),u.flags|=1,Pi(c,u,B,m),u.child;case 14:return B=u.type,x=Yr(B,u.pendingProps),x=Yr(B.type,x),mx(c,u,B,x,m);case 15:return Ex(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Yr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,tc(u,m),PB(u,B,x),jm(u,B,x,m),p0(null,u,B,!0,c,m);case 19:return Qx(c,u,m);case 22:return Ix(c,u,m)}throw Error(o(156,u.tag))};function Zx(c,u){return Om(c,u)}function ub(c,u,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=u,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 Mr(c,u,m,B){return new ub(c,u,m,B)}function U0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function Ab(c){if(typeof c=="function")return U0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===C)return 11;if(c===y)return 14}return 2}function Go(c,u){var m=c.alternate;return m===null?(m=Mr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Zd(c,u,m,B,x,Q){var Y=2;if(B=c,typeof c=="function")U0(c)&&(Y=1);else if(typeof c=="string")Y=5;else e:switch(c){case h:return Ka(m.children,x,Q,u);case d:Y=8,x|=8;break;case f:return c=Mr(12,m,u,x|2),c.elementType=f,c.lanes=Q,c;case I:return c=Mr(13,m,u,x),c.elementType=I,c.lanes=Q,c;case p:return c=Mr(19,m,u,x),c.elementType=p,c.lanes=Q,c;case S:return $d(m,x,Q,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:Y=10;break e;case E:Y=9;break e;case C:Y=11;break e;case y:Y=14;break e;case v:Y=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=Mr(Y,m,u,x),u.elementType=c,u.type=B,u.lanes=Q,u}function Ka(c,u,m,B){return c=Mr(7,c,B,u),c.lanes=m,c}function $d(c,u,m,B){return c=Mr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function k0(c,u,m){return c=Mr(6,c,null,u),c.lanes=m,c}function F0(c,u,m){return u=Mr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function hb(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=km(0),this.expirationTimes=km(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=km(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function $x(c,u,m,B,x,Q,Y,oe,Me){return c=new hb(c,u,m,oe,Me),u===1?(u=1,Q===!0&&(u|=8)):u=0,Q=Mr(3,null,null,u),c.current=Q,Q.stateNode=c,Q.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Xm(Q),c}function e1(c){if(!c)return Li;c=c._reactInternals;e:{if(X(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Ne(c,m,u)}return u}function t1(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=q(u),c===null?null:c.stateNode}function n1(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=Ge&&Q>=Rt&&x<=ot&&Y<=vt){c.splice(u,1);break}else if(B!==Ge||m.width!==Me.width||vtY){if(!(Q!==Rt||m.height!==Me.height||otx)){Ge>B&&(Me.width+=Ge-B,Me.x=B),otQ&&(Me.height+=Rt-Q,Me.y=Q),vtm&&(m=Y)),Y ")+` 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 se(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:hb,findFiberByHostInstance:c.findFiberByHostInstance||db,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Ad=u.inject(c),fs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=w0(c,u);var x=qe(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=$t;try{return $t=c,u()}finally{$t=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,Q=Ni(),Y=Fo(x);return m=$x(m),u.context===null?u.context=m:u.pendingContext=m,u=Gs(Q,Y),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),No(x,u),c=Qr(x,Y,Q),c!==null&&gd(c,x,Y),Y},t};ED.exports=bG;var LG=ED.exports;const PG=MC(LG),NG=n=>typeof n=="object"&&typeof n.then=="function",vl=[];function CD(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=vl.indexOf(r);s!==-1&&vl.splice(s,1)},promise:(NG(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(vl.push(r),!t)throw r.promise}const UG=(n,e,t)=>vD(n,e,!1,t),kG=(n,e,t)=>void vD(n,e,!0,t),FG=n=>{if(n===void 0||n.length===0)vl.splice(0,vl.length);else{const e=vl.find(t=>CD(n,t.keys,t.equal));e&&e.remove()}},dB={},OG=n=>void Object.assign(dB,n);function GG(n,e){function t(h,{args:d=[],attach:f,...g},E){let C=`${h[0].toUpperCase()}${h.slice(1)}`,I;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;I=zc(p,{type:h,root:E,attach:f,primitive:!0})}else{const p=dB[C];if(!p)throw new Error(`R3F: ${C} 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!");I=zc(new p(...d),{type:h,root:E,attach:f,memoizedProps:{args:d}})}return I.__r3f.attach===void 0&&(I instanceof Pt?I.__r3f.attach="geometry":I instanceof Ai&&(I.__r3f.attach="material")),C!=="inject"&&ZE(I,g),I}function i(h,d){let f=!1;if(d){var g,E;(g=d.__r3f)!=null&&g.attach?qE(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),f=!0),f||(E=h.__r3f)==null||E.objects.push(d),d.__r3f||zc(d,{}),d.__r3f.parent=h,mC(d),Vc(d)}}function r(h,d,f){let g=!1;if(d){var E,C;if((E=d.__r3f)!=null&&E.attach)qE(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const I=h.children.filter(v=>v!==d),p=I.indexOf(f);h.children=[...I.slice(0,p),d,...I.slice(p)],g=!0}g||(C=h.__r3f)==null||C.objects.push(d),d.__r3f||zc(d,{}),d.__r3f.parent=h,mC(d),Vc(d)}}function s(h,d,f=!1){h&&[...h].forEach(g=>o(d,g,f))}function o(h,d,f){if(d){var g,E,C;if(d.__r3f&&(d.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==d)),(E=d.__r3f)!=null&&E.attach)Jw(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var I;h.remove(d),(I=d.__r3f)!=null&&I.root&&KG(d.__r3f.root,d)}const v=(C=d.__r3f)==null?void 0:C.primitive,y=!v&&(f===void 0?d.dispose!==null:f);if(!v){var p;s((p=d.__r3f)==null?void 0:p.objects,d,y),s(d.children,d,y)}if(delete d.__r3f,y&&d.dispose&&d.type!=="Scene"){const S=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?pC.unstable_scheduleCallback(pC.unstable_IdlePriority,S):S()}Vc(h)}}function a(h,d,f,g){var E;const C=(E=h.__r3f)==null?void 0:E.parent;if(!C)return;const I=t(d,f,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(I,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(I,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(C,h),I.parent&&(I.__r3f.autoRemovedBeforeAppend=!0),i(C,I),I.raycast&&I.__r3f.eventCount&&I.__r3f.root.getState().internal.interaction.push(I),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=I,p.ref&&(typeof p.ref=="function"?p.ref(I):p.ref.current=I))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:PG({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 f=h.getState().scene;f.__r3f&&(f.__r3f.root=h,i(f,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,f)=>{if(!d||!f)return;const g=h.getState().scene;g.__r3f&&r(g,d,f)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h?.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,f,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:I=[],children:p,...v}=g,{args:y=[],children:S,...M}=f;if(!Array.isArray(I))throw new Error("R3F: the args prop must be an array!");if(I.some((D,k)=>D!==y[k]))return[!0];const R=MD(h,v,M,!0);return R.changes.length?[!1,R]:null}},commitUpdate(h,[d,f],g,E,C,I){d?a(h,g,C,I):ZE(h,f)},commitMount(h,d,f,g){var E;const C=(E=h.__r3f)!=null?E:{};h.raycast&&C.handlers&&C.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>zc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:f,parent:g}=(d=h.__r3f)!=null?d:{};f&&g&&Jw(g,h,f),h.isObject3D&&(h.visible=!1),Vc(h)},unhideInstance(h,d){var f;const{attach:g,parent:E}=(f=h.__r3f)!=null?f:{};g&&E&&qE(E,h,g),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),Vc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():au.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&yn.fun(performance.now)?performance.now:yn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:yn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:yn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:ZE}}var zw,Vw;const jE=n=>"colorSpace"in n||"outputColorSpace"in n,BD=()=>{var n;return(n=dB.ColorManagement)!=null?n:null},xD=n=>n&&n.isOrthographicCamera,HG=n=>n&&n.hasOwnProperty("current"),nd=typeof window<"u"&&((zw=window.document)!=null&&zw.createElement||((Vw=window.navigator)==null?void 0:Vw.product)==="ReactNative")?$.useLayoutEffect:$.useEffect;function SD(n){const e=$.useRef(n);return nd(()=>void(e.current=n),[n]),e}function zG({set:n}){return nd(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class wD extends $.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}wD.getDerivedStateFromError=()=>({error:!0});const _D="__default",Ww=new Map,VG=n=>n&&!!n.memoized&&!!n.changes;function QD(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 _A=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},yn={obj:n=>n===Object(n)&&!yn.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(yn.str(n)||yn.num(n))return n===e;const s=yn.obj(n);if(s&&i==="reference")return n===e;const o=yn.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(!yn.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(yn.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 WG(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 YG(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function zc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function gC(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 Yw=/-\d+$/;function qE(n,e,t){if(yn.str(t)){if(Yw.test(t)){const s=t.replace(Yw,""),{target:o,key:a}=gC(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=gC(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function Jw(n,e,t){var i,r;if(yn.str(t)){const{target:s,key:o}=gC(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 MD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const d=(h=n?.__r3f)!=null?h:{},f=Object.entries(r),g=[];if(A){const C=Object.keys(l);for(let I=0;I{var p;if((p=n.__r3f)!=null&&p.primitive&&C==="object"||yn.equ(I,l[C]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(C))return g.push([C,I,!0,[]]);let v=[];C.includes("-")&&(v=C.split("-")),g.push([C,I,!1,v]);for(const y in r){const S=r[y];y.startsWith(`${C}-`)&&g.push([y,S,!1,y.split("-")])}});const E={...r};return d.memoizedProps&&d.memoizedProps.args&&(E.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(E.attach=d.memoizedProps.attach),{memoized:E,changes:g}}const JG=typeof process<"u"&&!1;function ZE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=VG(e)?e:MD(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let f=0;fy[S],n),!(v&&v.set))){const[y,...S]=I.reverse();p=S.reverse().reduce((M,R)=>M[R],n),g=y}if(E===_D+"remove")if(p.constructor){let y=Ww.get(p.constructor);y||(y=new p.constructor,Ww.set(p.constructor,y)),E=y[g]}else E=0;if(C)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(v&&v.set&&(v.copy||v instanceof Ql)){if(Array.isArray(E))v.fromArray?v.fromArray(E):v.set(...E);else if(v.copy&&E&&E.constructor&&(JG?v.constructor.name===E.constructor.name:v.constructor===E.constructor))v.copy(E);else if(E!==void 0){const y=v instanceof je;!y&&v.setScalar?v.setScalar(E):v instanceof Ql&&E instanceof Ql?v.mask=E.mask:v.set(E),!BD()&&!a.linear&&y&&v.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof Sn&&p[g].format===Gi&&p[g].type===bs){const y=p[g];jE(y)&&jE(a.gl)?y.colorSpace=a.gl.outputColorSpace:y.encoding=a.gl.outputEncoding}Vc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const f=a.internal.interaction.indexOf(n);f>-1&&a.internal.interaction.splice(f,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&mC(n),n}function Vc(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 mC(n){n.onUpdate==null||n.onUpdate(n)}function RD(n,e){n.manual||(xD(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 cp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function XG(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return au.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return au.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return au.ContinuousEventPriority;default:return au.DefaultEventPriority}}function DD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function KG(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)=>{DD(t.capturedMap,e,i,r)})}function jG(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],d=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=A.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),d=new Set,f=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const y=_A(p.object),S=_A(v.object);return!y||!S?p.distance-v.distance:S.events.priority-y.events.priority||p.distance-v.distance}).filter(p=>{const v=cp(p);return d.has(v)?!1:(d.add(v),!0)});h.events.filter&&(C=h.events.filter(C,h));for(const p of C){let v=p.object;for(;v;){var I;(I=v.__r3f)!=null&&I.eventCount&&f.push({...p,eventObject:v}),v=v.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())d.has(cp(p.intersection))||f.push(p.intersection);return f}function r(l,A,h,d){const f=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const C=_A(E.object)||f,{raycaster:I,pointer:p,camera:v,internal:y}=C,S=new O(p.x,p.y,0).unproject(v),M=_=>{var L,q;return(L=(q=y.capturedMap.get(_))==null?void 0:q.has(E.eventObject))!=null?L:!1},R=_=>{const L={intersection:E,target:A.target};y.capturedMap.has(_)?y.capturedMap.get(_).set(E.eventObject,L):y.capturedMap.set(_,new Map([[E.eventObject,L]])),A.target.setPointerCapture(_)},D=_=>{const L=y.capturedMap.get(_);L&&DD(y.capturedMap,E.eventObject,L,_)};let k={};for(let _ in A){let L=A[_];typeof L!="function"&&(k[_]=L)}let X={...E,...k,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:I.ray,camera:v,stopPropagation(){const _="pointerId"in A&&y.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(X.stopped=g.stopped=!0,y.hovered.size&&Array.from(y.hovered.values()).find(L=>L.eventObject===E.eventObject))){const L=l.slice(0,l.indexOf(E));s([...L,E])}},target:{hasPointerCapture:M,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:M,setPointerCapture:R,releasePointerCapture:D},nativeEvent:A};if(d(X),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const f=h.eventObject.__r3f,g=f?.handlers;if(A.hovered.delete(cp(h)),f!=null&&f.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:f}=n.getState();f.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",I=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(f.initialClick=[h.offsetX,h.offsetY],f.initialHits=I.map(y=>y.eventObject)),E&&!I.length&&p<=2&&(o(h,f.interaction),d&&d(h)),g&&s(I);function v(y){const S=y.eventObject,M=S.__r3f,R=M?.handlers;if(M!=null&&M.eventCount)if(g){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=cp(y),k=f.hovered.get(D);k?k.stopped&&y.stopPropagation():(f.hovered.set(D,y),R.onPointerOver==null||R.onPointerOver(y),R.onPointerEnter==null||R.onPointerEnter(y))}R.onPointerMove==null||R.onPointerMove(y)}else{const D=R[l];D?(!E||f.initialHits.includes(S))&&(o(h,f.interaction.filter(k=>!f.initialHits.includes(k))),D(y)):E&&f.initialHits.includes(S)&&o(h,f.interaction.filter(k=>!f.initialHits.includes(k)))}}r(I,h,p,v)}}return{handlePointer:a}}const qG=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],TD=n=>!!(n!=null&&n.render),fB=$.createContext(null),ZG=(n,e)=>{const t=mD((a,l)=>{const A=new O,h=new O,d=new O;function f(p=l().camera,v=h,y=l().size){const{width:S,height:M,top:R,left:D}=y,k=S/M;v instanceof O?d.copy(v):d.set(...v);const X=p.getWorldPosition(A).distanceTo(d);if(xD(p))return{width:S/p.zoom,height:M/p.zoom,top:R,left:D,factor:1,distance:X,aspect:k};{const _=p.fov*Math.PI/180,L=2*Math.tan(_/2)*X,q=L*(S/M);return{width:q,height:L,top:R,left:D,factor:S/q,distance:X,aspect:k}}}let g;const E=p=>a(v=>({performance:{...v.performance,current:p}})),C=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,v)=>e(p,v,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new cB,pointer:C,mouse:C,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:f},setEvents:p=>a(v=>({...v,events:{...v.events,...p}})),setSize:(p,v,y,S,M)=>{const R=l().camera,D={width:p,height:v,top:S||0,left:M||0,updateStyle:y};a(k=>({size:D,viewport:{...k.viewport,...f(R,h,D)}}))},setDpr:p=>a(v=>{const y=QD(p);return{viewport:{...v.viewport,dpr:y,initialDpr:v.viewport.initialDpr||y}}}),setFrameloop:(p="always")=>{const v=l().clock;v.stop(),v.elapsedTime=0,p!=="never"&&(v.start(),v.elapsedTime=0),a(()=>({frameloop:p}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:$.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(p,v,y)=>{const S=l().internal;return S.priority=S.priority+(v>0?1:0),S.subscribers.push({ref:p,priority:v,store:y}),S.subscribers=S.subscribers.sort((M,R)=>M.priority-R.priority),()=>{const M=l().internal;M!=null&&M.subscribers&&(M.priority=M.priority-(v>0?1:0),M.subscribers=M.subscribers.filter(R=>R.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var f;r=l,s=A.dpr,RD(a,l),h.setPixelRatio(A.dpr);const g=(f=l.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,d(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let up,$G=new Set,eH=new Set,tH=new Set;function $E(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function QA(n,e){switch(n){case"before":return $E($G,e);case"after":return $E(eH,e);case"tail":return $E(tH,e)}}let eI,tI;function nI(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),eI=e.internal.subscribers,up=0;up0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=nI(l,r))}if(QA("after",l),t===0)return QA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(d=>o(d.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,d){if(A&&QA("before",l),h)nI(l,h,d);else for(const f of n.values())nI(l,f.store.getState());A&&QA("after",l)}return{loop:s,invalidate:o,advance:a}}function Us(){const n=$.useContext(fB);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function pB(n=t=>t,e){return Us()(n,e)}function Uu(n,e=0){const t=Us(),i=t.getState().internal.subscribe,r=SD(n);return nd(()=>i(r,e,t),[e,i,t]),null}const Xw=new WeakMap;function bD(n,e){return function(t,...i){let r=Xw.get(t);return r||(r=new t,Xw.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,WG(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function gB(n,e,t,i){const r=Array.isArray(e)?e:[e],s=UG(bD(t,i),[n,...r],{equal:yn.equ});return Array.isArray(e)?s:s[0]}gB.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return kG(bD(t),[n,...i])};gB.clear=function(n,e){const t=Array.isArray(e)?e:[e];return FG([n,...t])};const wu=new Map,{invalidate:Kw,advance:jw}=nH(wu),{reconciler:kh,applyProps:Lc}=GG(wu,XG),Pc={objects:"shallow",strict:!1},iH=(n,e)=>{const t=typeof n=="function"?n(e):n;return TD(t)?t:new Vv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function rH(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 sH(n){const e=wu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||ZG(Kw,jw),o=t||kh.createContainer(s,au.ConcurrentRoot,null,!1,null,"",r,null);e||wu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:d,size:f,scene:g,events:E,onCreated:C,shadows:I=!1,linear:p=!1,flat:v=!1,legacy:y=!1,orthographic:S=!1,frameloop:M="always",dpr:R=[1,2],performance:D,raycaster:k,camera:X,onPointerMissed:_}=h,L=s.getState(),q=L.gl;L.gl||L.set({gl:q=iH(d,n)});let de=L.raycaster;de||L.set({raycaster:de=new td});const{params:J,...le}=k||{};if(yn.equ(le,de,Pc)||Lc(de,{...le}),yn.equ(J,de.params,Pc)||Lc(de,{params:{...de.params,...J}}),!L.camera||L.camera===A&&!yn.equ(A,X,Pc)){A=X;const _e=X instanceof Xh,ke=_e?X:S?new Tu(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(ke.position.z=5,X&&Lc(ke,X),!L.camera&&!(X!=null&&X.rotation)&&ke.lookAt(0,0,0)),L.set({camera:ke}),de.camera=ke}if(!L.scene){let _e;g instanceof Rh?_e=g:(_e=new Rh,g&&Lc(_e,g)),L.set({scene:zc(_e)})}if(!L.xr){var se;const _e=(z,G)=>{const N=s.getState();N.frameloop!=="never"&&jw(z,!0,N,G)},ke=()=>{const z=s.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?_e:null),z.gl.xr.isPresenting||Kw(z)},W={connect(){const z=s.getState().gl;z.xr.addEventListener("sessionstart",ke),z.xr.addEventListener("sessionend",ke)},disconnect(){const z=s.getState().gl;z.xr.removeEventListener("sessionstart",ke),z.xr.removeEventListener("sessionend",ke)}};typeof((se=q.xr)==null?void 0:se.addEventListener)=="function"&&W.connect(),L.set({xr:W})}if(q.shadowMap){const _e=q.shadowMap.enabled,ke=q.shadowMap.type;if(q.shadowMap.enabled=!!I,yn.boo(I))q.shadowMap.type=JA;else if(yn.str(I)){var fe;const W={basic:aR,percentage:Jg,soft:JA,variance:$r};q.shadowMap.type=(fe=W[I])!=null?fe:JA}else yn.obj(I)&&Object.assign(q.shadowMap,I);(_e!==q.shadowMap.enabled||ke!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const F=BD();F&&("enabled"in F?F.enabled=!y:"legacyMode"in F&&(F.legacyMode=y)),Lc(q,{outputEncoding:p?3e3:3001,toneMapping:v?Ts:Sv}),L.legacy!==y&&L.set(()=>({legacy:y})),L.linear!==p&&L.set(()=>({linear:p})),L.flat!==v&&L.set(()=>({flat:v})),d&&!yn.fun(d)&&!TD(d)&&!yn.equ(d,q,Pc)&&Lc(q,d),E&&!L.events.handlers&&L.set({events:E(s)});const Ae=rH(n,f);return yn.equ(Ae,L.size,Pc)||L.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),R&&L.viewport.dpr!==QD(R)&&L.setDpr(R),L.frameloop!==M&&L.setFrameloop(M),L.onPointerMissed||L.set({onPointerMissed:_}),D&&!yn.equ(D,L.performance,Pc)&&L.set(_e=>({performance:{..._e.performance,...D}})),a=C,l=!0,this},render(h){return l||this.configure(),kh.updateContainer($.createElement(oH,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){LD(n)}}}function oH({store:n,children:e,onCreated:t,rootElement:i}){return nd(()=>{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)},[]),$.createElement(fB.Provider,{value:n},e)}function LD(n,e){const t=wu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),kh.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(),YG(r),wu.delete(n),e&&e(n)}catch{}},500)})}}function PD(n,e,t){return $.createElement(aH,{key:e.uuid,children:n,container:e,state:t})}function aH({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Us(),[a]=$.useState(()=>new td),[l]=$.useState(()=>new ve),A=$.useCallback((d,f)=>{const g={...d};Object.keys(d).forEach(C=>{(qG.includes(C)||d[C]!==f[C]&&f[C])&&delete g[C]});let E;if(f&&r){const C=f.camera;E=d.viewport.getCurrentViewport(C,new O,r),C!==d.camera&&RD(C,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...f?.events,...i},size:{...d.size,...r},viewport:{...d.viewport,...E},...s}},[n]),[h]=$.useState(()=>{const d=o.getState();return mD((g,E)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:g,get:E,setEvents:C=>g(I=>({...I,events:{...I.events,...C}}))}))});return $.useEffect(()=>{const d=o.subscribe(f=>h.setState(g=>A(f,g)));return()=>{d(),h.destroy()}},[]),$.useEffect(()=>{h.setState(d=>A(o.getState(),d))},[A]),$.createElement($.Fragment,null,kh.createPortal($.createElement(fB.Provider,{value:h},e),h,null))}kh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:$.version});function wg(){return wg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}EC.debounce=EC;var lH=EC;const qw=MC(lH);function cH(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]=$.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=$.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=$.useRef(!1);$.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,g,E]=$.useMemo(()=>{const v=()=>{if(!l.current.element)return;const{left:y,top:S,width:M,height:R,bottom:D,right:k,x:X,y:_}=l.current.element.getBoundingClientRect(),L={left:y,top:S,width:M,height:R,bottom:D,right:k,x:X,y:_};l.current.element instanceof HTMLElement&&r&&(L.height=l.current.element.offsetHeight,L.width=l.current.element.offsetWidth),Object.freeze(L),d.current&&!dH(l.current.lastBounds,L)&&a(l.current.lastBounds=L)};return[v,h?qw(v,h):v,A?qw(v,A):v]},[a,r,A,h]);function C(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(v=>v.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function I(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(v=>v.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=v=>{!v||v===l.current.element||(C(),l.current.element=v,l.current.scrollContainers=ND(v),I())};return AH(E,!!t),uH(g),$.useEffect(()=>{C(),I()},[t,E,g]),$.useEffect(()=>C,[]),[p,o,f]}function uH(n){$.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function AH(n,e){$.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function ND(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,...ND(n.parentElement)]}const hH=["x","y","top","bottom","left","right","width","height"],dH=(n,e)=>hH.every(t=>n[t]===e[t]);var fH=Object.defineProperty,pH=Object.defineProperties,gH=Object.getOwnPropertyDescriptors,Zw=Object.getOwnPropertySymbols,mH=Object.prototype.hasOwnProperty,EH=Object.prototype.propertyIsEnumerable,$w=(n,e,t)=>e in n?fH(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,e_=(n,e)=>{for(var t in e||(e={}))mH.call(e,t)&&$w(n,t,e[t]);if(Zw)for(var t of Zw(e))EH.call(e,t)&&$w(n,t,e[t]);return n},IH=(n,e)=>pH(n,gH(e));function UD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=UD(i,e,t);if(r)return r;i=e?null:i.sibling}}function kD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const mB=kD($.createContext(null));class FD extends $.Component{render(){return $.createElement(mB.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:t_,ReactCurrentDispatcher:n_}=$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function yH(){const n=$.useContext(mB);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=$.useId();return $.useMemo(()=>{for(const i of[t_?.current,n,n?.alternate]){if(!i)continue;const r=UD(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 CH(){var n,e;const t=yH(),[i]=$.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==mB&&!i.has(s)&&i.set(s,(e=n_?.current)==null?void 0:e.readContext(kD(s))),r=r.return}return i}function vH(){const n=CH();return $.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>$.createElement(e,null,$.createElement(t.Provider,IH(e_({},i),{value:n.get(t)}))),e=>$.createElement(FD,e_({},e))),[n])}const iI={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 BH(n){const{handlePointer:e}=jG(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(iI).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,A]=iI[o];t.addEventListener(l,a,{passive:A})})},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]=iI[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const xH=$.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=BH,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:v,scene:y,onPointerMissed:S,onCreated:M,...R},D){$.useMemo(()=>OG(RG),[]);const k=vH(),[X,_]=cH({scroll:!0,debounce:{scroll:50,resize:0},...i}),L=$.useRef(null),q=$.useRef(null);$.useImperativeHandle(D,()=>L.current);const de=SD(S),[J,le]=$.useState(!1),[se,fe]=$.useState(!1);if(J)throw J;if(se)throw se;const F=$.useRef(null);nd(()=>{const ne=L.current;_.width>0&&_.height>0&&ne&&(F.current||(F.current=sH(ne)),F.current.configure({gl:s,events:o,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:v,scene:y,size:_,onPointerMissed:(...Ae)=>de.current==null?void 0:de.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?HG(a)?a.current:a:q.current),l&&Ae.setEvents({compute:(_e,ke)=>{const W=_e[l+"X"],z=_e[l+"Y"];ke.pointer.set(W/ke.size.width*2-1,-(z/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),M?.(Ae)}}),F.current.render($.createElement(k,null,$.createElement(wD,{set:fe},$.createElement($.Suspense,{fallback:$.createElement(zG,{set:le})},e)))))}),$.useEffect(()=>{const ne=L.current;if(ne)return()=>LD(ne)},[]);const Z=a?"none":"auto";return $.createElement("div",wg({ref:q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:Z,...r}},R),$.createElement("div",{ref:X,style:{width:"100%",height:"100%"}},$.createElement("canvas",{ref:L,style:{display:"block"}},t)))}),SH=$.forwardRef(function(e,t){return $.createElement(FD,null,$.createElement(xH,wg({},e,{ref:t})))}),wH=$.createContext(null);function OD(){return $.useContext(wH)}const GD=$.createContext(void 0);function Pa(){const n=$.useContext(GD);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const ku=GD.Provider;function vm(){throw new Error("Cycle detected")}var _H=Symbol.for("preact-signals");function Bm(){if(va>1)va--;else{for(var n,e=!1;ZA!==void 0;){var t=ZA;for(ZA=void 0,IC++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&VD(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(IC=0,va--,e)throw n}}function HD(n){if(va>0)return n();va++;try{return n()}finally{Bm()}}var In=void 0,rI=0;function QH(n){if(rI>0)return n();var e=In;In=void 0,rI++;try{return n()}finally{rI--,In=e}}var ZA=void 0,va=0,IC=0,_g=0;function zD(n){if(In!==void 0){var e=n.n;if(e===void 0||e.t!==In)return e={i:0,S:n,p:In.s,n:void 0,t:In,e:void 0,x:void 0,r:e},In.s!==void 0&&(In.s.n=e),In.s=e,n.n=e,32&In.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=In.s,e.n=void 0,In.s.n=e,In.s=e),e}}function ni(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ni.prototype.brand=_H;ni.prototype.h=function(){return!0};ni.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ni.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ni.prototype.subscribe=function(n){var e=this;return ht(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ni.prototype.valueOf=function(){return this.value};ni.prototype.toString=function(){return this.value+""};ni.prototype.toJSON=function(){return this.value};ni.prototype.peek=function(){return this.v};Object.defineProperty(ni.prototype,"value",{get:function(){var n=zD(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(In instanceof Na&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){IC>100&&vm(),this.v=n,this.i++,_g++,va++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Bm()}}}});function nt(n){return new ni(n)}function VD(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function WD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function YD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Na(n){ni.call(this,void 0),this.x=n,this.s=void 0,this.g=_g-1,this.f=4}(Na.prototype=new ni).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===_g))return!0;if(this.g=_g,this.f|=1,this.i>0&&!VD(this))return this.f&=-2,!0;var n=In;try{WD(this),In=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return In=n,YD(this),this.f&=-2,!0};Na.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ni.prototype.S.call(this,n)};Na.prototype.U=function(n){if(this.t!==void 0&&(ni.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Na.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Na.prototype.peek=function(){if(this.h()||vm(),16&this.f)throw this.v;return this.v};Object.defineProperty(Na.prototype,"value",{get:function(){1&this.f&&vm();var n=zD(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Yt(n){return new Na(n)}function JD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){va++;var t=In;In=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,EB(n),i}finally{In=t,Bm()}}}function EB(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,JD(n)}function MH(n){if(In!==this)throw new Error("Out-of-order effect");YD(this),In=n,this.f&=-2,8&this.f&&EB(this),Bm()}function id(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}id.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};id.prototype.S=function(){1&this.f&&vm(),this.f|=1,this.f&=-9,JD(this),WD(this),va++;var n=In;return In=this,MH.bind(this,n)};id.prototype.N=function(){2&this.f||(this.f|=2,this.o=ZA,ZA=this)};id.prototype.d=function(){this.f|=8,1&this.f||EB(this)};function ht(n){var e=new id(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var RH=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(b,U){i=b,r=U});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&J("no native wasm support detected");var h,d=!1;function f(b,U,ee){ee=U+ee;for(var re="";!(U>=ee);){var he=b[U++];if(!he)break;if(he&128){var xe=b[U++]&63;if((he&224)==192)re+=String.fromCharCode((he&31)<<6|xe);else{var Pe=b[U++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Pe:(he&7)<<18|xe<<12|Pe<<6|b[U++]&63,65536>he?re+=String.fromCharCode(he):(he-=65536,re+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else re+=String.fromCharCode(he)}return re}var g,E,C,I,p,v,y,S,M;function R(){var b=h.buffer;g=b,t.HEAP8=E=new Int8Array(b),t.HEAP16=I=new Int16Array(b),t.HEAP32=v=new Int32Array(b),t.HEAPU8=C=new Uint8Array(b),t.HEAPU16=p=new Uint16Array(b),t.HEAPU32=y=new Uint32Array(b),t.HEAPF32=S=new Float32Array(b),t.HEAPF64=M=new Float64Array(b)}var D,k=[],X=[],_=[];function L(){var b=t.preRun.shift();k.unshift(b)}var q=0,de=null;function J(b){throw t.onAbort&&t.onAbort(b),b="Aborted("+b+")",l(b),d=!0,b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info."),r(b),b}function le(b){return b.startsWith("data:application/octet-stream;base64,")}var se;if(se="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMBA38jAEEQayIDJAAgAEIANwIEIABBwSA7ABUgAEIANwIMIABCgICAgICAgAI3AhggACAALQAXQfgBcToAFyAAIAAtAABB4AFxQQFyOgAAIAAgAC0AFEGAAXE6ABQgAEEgakEAQc4AEC8aIABCADcCkAEgAEGEgBA2AW4gAEIANwFyIABBADYBeiAAQQA6AKQBIABBADYCoAEgAEKAgICAgICA4P8ANwKYASAAQagBakEAQcQBEC8aIABB7AJqIQQgAEGsAWohAgNAIAJCgICA/IuAgMC/fzcCECACQoGAgIAQNwIIIAJCgICA/IuAgMC/fzcCACACQRhqIgIgBEcNAAsgAEKAgID8i4CAwL9/NwLsAiAAQoCAgPyLgIDAv383AvwCIABCgYCAgBA3AvQCIABCgICA/oeAgOD/ADcCkAMgAEKAgID+h4CA4P8ANwKIAyAAQYQDaiICIAItAABB+AFxOgAAIABBmANqQQBB1AAQLxogAEEAOgD8AyAAQYCAgP4HNgL4AyAAQQA6APQDIABBgICA/gc2AvADIAAgATYC7AMgAQRAIAEtAAhBAXEEQCAAIAAtABRB8wFxQQhyOgAUIAAgAC8AFUHw/wNxQQRyOwAVCyADQRBqJAAgAA8LIANBtBk2AgAgAxBpECcACzMAIAAgAUECdEHAJGooAgBBAnRqKgKQAyAAQRRqIgAgAUEBIAIQJCAAIAFBASACECOSkguiBAIGfwJ+An9BCCEEAkACQCAAQUdLDQADQEEIIAQgBEEITRshBEGoOSkDACIHAn9BCCAAQQNqQXxxIABBCE0bIgBB/wBNBEAgAEEDdkEBawwBCyAAQR0gAGciAWt2QQRzIAFBAnRrQe4AaiAAQf8fTQ0AGkE/IABBHiABa3ZBAnMgAUEBdGtBxwBqIgEgAUE/TxsLIgOtiCIIUEUEQANAIAggCHoiCIghBwJ+IAMgCKdqIgNBBHQiAkGoMWooAgAiASACQaAxaiIGRwRAIAEgBCAAEFgiBQ0FIAEoAgQiBSABKAIINgIIIAEoAgggBTYCBCABIAY2AgggASACQaQxaiICKAIANgIEIAIgATYCACABKAIEIAE2AgggA0EBaiEDIAdCAYgMAQtBqDlBqDkpAwBCfiADrYmDNwMAIAdCAYULIghCAFINAAtBqDkpAwAhBwsCQCAHUEUEQEE/IAd5p2siBkEEdCICQagxaigCACEBAkAgB0KAgICABFQNAEHjACEDIAEgAkGgMWoiAkYNAANAIANFDQEgASAEIAAQWCIFDQUgA0EBayEDIAEoAggiASACRw0ACyACIQELIABBMGoQWg0BIAFFDQQgASAGQQR0QaAxaiICRg0EA0AgASAEIAAQWCIFDQQgASgCCCIBIAJHDQALDAQLIABBMGoQWkUNAwtBACEFIAQgBEEBa3ENASAAQUdNDQALCyAFDAELQQALC0wBAX9BASEBAkAgAC0AHkEHcQ0AIAAtACJBB3ENACAALQAuQQdxDQAgAC0AKkEHcQ0AIAAtACZBB3ENACAALQAoQQdxQQBHIQELIAELoAMBA38gASAAQQRqIgRqQQFrQQAgAWtxIgUgAmogACAAKAIAIgFqQQRrTQR/IAAoAgQiAyAAKAIINgIIIAAoAgggAzYCBCAEIAVHBEAgACAAQQRrKAIAQX5xayIDIAUgBGsiBCADKAIAaiIFNgIAIAVBfHEgA2pBBGsgBTYCACAAIARqIgAgASAEayIBNgIACwJAIAEgAkEYak8EQCAAIAJqQQhqIgMgASACa0EIayIBNgIAIAFBfHEgA2pBBGsgAUEBcjYCACADAn8gAygCAEEIayIBQf8ATQRAIAFBA3ZBAWsMAQsgAWchBCABQR0gBGt2QQRzIARBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiAEa3ZBAnMgBEEBdGtBxwBqIgEgAUE/TxsLIgFBBHQiBEGgMWo2AgQgAyAEQagxaiIEKAIANgIIIAQgAzYCACADKAIIIAM2AgRBqDlBqDkpAwBCASABrYaENwMAIAAgAkEIaiIBNgIAIAFBfHEgAGpBBGsgATYCAAwBCyAAIAFqQQRrIAE2AgALIABBBGoFIAMLC3ACAX8BfSMAQRBrIgQkACAEQQhqIAAgAUECdEGwJGooAgAgAhAuQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsL5gMBBX8Cf0HwLigCACIBIABBB2pBeHEiA2ohAgJAIANBACABIAJPGw0AIAI/AEEQdEsEQCACEBZFDQELQfAuIAI2AgAgAQwBC0G4OkEwNgIAQX8LIgJBf0cEQCAAIAJqIgNBEGsiAUEQNgIMIAFBEDYCAAJAAn9BoDkoAgAiAAR/IAAoAggFQQALIAJGBEAgAiACQQRrKAIAQX5xayIEQQRrKAIAIQUgACADNgIIQXAgBCAFQX5xayIAIAAoAgBqQQRrLQAAQQFxRQ0BGiAAKAIEIgMgACgCCDYCCCAAKAIIIAM2AgQgACABIABrIgE2AgAMAgsgAkEQNgIMIAJBEDYCACACIAM2AgggAiAANgIEQaA5IAI2AgBBEAsgAmoiACABIABrIgE2AgALIAFBfHEgAGpBBGsgAUEBcjYCACAAAn8gACgCAEEIayIBQf8ATQRAIAFBA3ZBAWsMAQsgAUEdIAFnIgNrdkEEcyADQQJ0a0HuAGogAUH/H00NABpBPyABQR4gA2t2QQJzIANBAXRrQccAaiIBIAFBP08bCyIBQQR0IgNBoDFqNgIEIAAgA0GoMWoiAygCADYCCCADIAA2AgAgACgCCCAANgIEQag5Qag5KQMAQgEgAa2GhDcDAAsgAkF/RwvNAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akEgaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAtAAQF/AkBB6DktAABBAXEEQEHkOSgCACECDAELQQFBwCUQDCECQeg5QQE6AABB5DkgAjYCAAsgAiAAIAFBABATC8cBAgR/An0jAEEQayICJAAgAkEIaiAAQfwAaiIEIABBHmoiBS8BABAfQQEhAwJAAkAgAioCCCIHIAEqAgAiBlwEQCAHIAdbBEAgAS0ABCEBDAILIAYgBlwhAwsgAS0ABCEBIANFDQAgAi0ADCABQf8BcUYNAQsgBCAFIAYgARA0A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgAkEQaiQACw8AIAEgACgCAGogAjkDAAsNACABIAAoAgBqKwMACwsAIAAEQCAAECgLCwYAIAAQKAuWAwIDfgJ/IAC9IgJCNIinQf8PcSIEQf8PRgRAIABEAAAAAAAA8D+iIgAgAKMPCyACQgGGIgFCgICAgICAgPD/AFgEQCAARAAAAAAAAAAAoiAAIAFCgICAgICAgPD/AFEbDwsCfiAERQRAQQAhBCACQgyGIgFCAFkEQANAIARBAWshBCABQgGGIgFCAFkNAAsLIAJBASAEa62GDAELIAJC/////////weDQoCAgICAgIAIhAshASAEQf8HSgRAA0ACQCABQoCAgICAgIAIfSIDQgBTDQAgAyIBQgBSDQAgAEQAAAAAAAAAAKIPCyABQgGGIQEgBEEBayIEQf8HSg0AC0H/ByEECwJAIAFCgICAgICAgAh9IgNCAFMNACADIgFCAFINACAARAAAAAAAAAAAog8LIAFC/////////wdYBEADQCAEQQFrIQQgAUKAgICAgICABFQhBSABQgGGIQEgBQ0ACwsgAkKAgICAgICAgIB/gyABQoCAgICAgIAIfSAErUI0hoQgAUEBIARrrYggBEEAShuEvwuLAQEDfwNAIABBBHQiAUGkMWogAUGgMWoiAjYCACABQagxaiACNgIAIABBAWoiAEHAAEcNAAtBMBBaGkHUOUEGNgIAQdg5QQA2AgAQkgFB2DlBhDooAgA2AgBBhDpB1Dk2AgBBiDpBuwE2AgBBjDpBADYCABCDAUGMOkGEOigCADYCAEGEOkGIOjYCAAu9AwEHfyAABEAjAEEgayIGJAAgACgCACIBKALcAyIDBEAgAyABEGgaIAFBADYC3AMLIAEoAuQDIgIgASgC4AMiA0cEQEEBIAIgA2tBAnUiAiACQQFNGyEEQQAhAgNAIAMgAkECdGooAgBBADYC3AMgAkEBaiICIARHDQALCyABIAM2AuQDAkAgAyABQegDaiICKAIARg0AIAZBCGpBAEEAIAIQQiICKAIEIAEoAuQDIAEoAuADIgRrIgVrIgMgBCAFEDEhBSABKALgAyEEIAEgBTYC4AMgAiAENgIEIAEoAuQDIQUgASACKAIINgLkAyACIAU2AgggASgC6AMhByABIAIoAgw2AugDIAIgBDYCACACIAc2AgwgBCAFRwRAIAIgBSAEIAVrQQNqQXxxajYCCAsgBEUNACAEEGEgASgC4AMhAwsgAwRAIAEgAzYC5AMgAxBhCyABKAKUASEDIAFBADYClAEgAwRAIAMQUwsgARBhIAAoAgghASAAQQA2AgggAQRAIAEgASgCACgCBBEAAAsgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAGQSBqJAAgABAoCwupAQEBfyMAQRBrIgIkAAJ/IAEEQCABKAIAIQFBgAQQHiABEFQgAQ0BGiACQYkZNgIAIAIQaRAnAAtB0DktAABFBEBByDlCgICA/AM3AgBBwDlCADcCAEG4OUEDNgIAQdA5QQE6AABBvDlBvDktAABB/gFxOgAAQbQ5QQA2AgALQYAEEB5BtDkQVAshASAAQgA3AgQgACABNgIAIAEgADYCBCACQRBqJAAgAAsbAQF/IAAEQCAAKAIAIgEEQCABECgLIAAQKAsLcQEBfyMAQRBrIgQkAAJ9QwAAAAAgAC8AFUGA4ABxRQ0AGiAEQQhqIABBFGoiAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQLiAELQAMBEAgACABIAIgAxB2DAELIAAgASACIAMQdYwLIQMgBEEQaiQAIAMLYAECfwJAAkAgACgC4AMiAiAAKALkAyIDRg0AA0AgAigCACABRg0BIAJBBGoiAiADRw0ACwwBCyACIANGDQAgAiACQQRqIgEgAyABaxAxGiAAIANBBGs2AuQDQQEPC0EACyYBAX8jAEEQayIBJAAgASAANgIMQfguQZwkIAAQOhogAUEQaiQAC4cDAwN/BXwCfSAAKgKcA7siBiACoCECIAAqApgDuyIHIAGgIQggACgC7AMqAhQiC0MAAAAAXARAIAAqAowDuyEJIAAqAogDIQwgACAHIAu7IgFBACAALQAAQRBxIgNBBHYiBBAyOAKYAyAAIAYgAUEAIAQQMjgCnAMgASAMuyIHohBiIgYgBmIiBEUgBplELUMc6+I2Gj9jcUUEQCAEIAZEAAAAAAAA8L+gmUQtQxzr4jYaP2NFciEFCyACIAmgIQogCCAHoCEHAn8gASAJohBiIgYgBmIiBEUEQEEAIAaZRC1DHOviNho/Yw0BGgsgBCAGRAAAAAAAAPC/oJlELUMc6+I2Gj9jRXILIQQgACAHIAEgA0EARyIDIAVxIAMgBUEBc3EQMiAIIAFBACADEDKTOAKIAyAAIAogASADIARxIAMgBEEBc3EQMiACIAFBACADEDKTOAKMAwsgACgC4AMiAyAAKALkAyIARwRAA0AgAygCACAIIAIQaiADQQRqIgMgAEcNAAsLC40CAQZ/IABBFGohCEEDIQUgAC0AFEECdkEDcSEGAkACfwJAIAFBASAAKALcAxsiCUECRgRAAkAgBkECaw4CBAACC0ECIQUMAwtBAiEFQQAgBkEBSw0BGgsgBQshByAGIQULIAAgBSAJIAIQZyECIAAgByAJIAMQZyEDIABBmANqIgBBASABQQJGQQF0IgYgBUECSSIJG0ECdGogAiAIIAUgASAEECSSOAIAIABBAyABQQJHQQF0IgogCRtBAnRqIAIgCCAFIAEgBBAjkjgCACAAIAZBASAHQQF2IgUbQQJ0aiADIAggByABIAQQJJI4AgAgACAKQQMgBRtBAnRqIAMgCCAHIAEgBBAjkjgCAAu/AgEDfyMAQcACayIBJAAgAUEAQcACEC8iAUGAgID+BzYCBCABQRBqQQBBxAEQLxogAUHUAWohAyABQRRqIQIDQCACQoCAgPyLgIDAv383AhAgAkKBgICAEDcCCCACQoCAgPyLgIDAv383AgAgAkEYaiICIANHDQALIAFCgICA/IuAgMC/fzcC5AEgAUKBgICAEDcC3AEgAUKAgID8i4CAwL9/NwLUASABQoCAgP6HgIDg/wA3A/gBIAFCgICA/oeAgOD/ADcD8AEgASABLQDsAUH4AXE6AOwBIAFBgAJqQQBBwAAQLxogAEGYAWogAUHAAhAsGiAAQgA3AogDIAAgAC0AAEEBcjoAACAAEHEgACgC4AMiAiAAKALkAyIARwRAA0AgAigCABBsIAJBBGoiAiAARw0ACwsgAUHAAmokAAuuAgIKfwJ9IwBBIGsiASQAIAFBgAI7AB4gAEHuAGohByAAQfADaiEFIABB8gBqIQggAEH2AGohCSAAQfwAaiEDQQAhAANAIAFBEGogAyAJIAFBHmogBGotAAAiAkEBdCIEaiIGLwEAEB8CQAJAIAEtABRFDQAgAUEIaiADIAYvAQAQHyABIAMgBCAIai8BABAfIAEtAAwgAS0ABEcNAAJAIAEqAggiDCAMXCIKIAEqAgAiCyALXHJFBEAgDCALk4tDF7fROF0NAQwCCyAKRSALIAtbcg0BCyABQRBqIAMgBi8BABAfDAELIAFBEGogAyAEIAdqLwEAEB8LIAUgAkEDdGoiAiABLQAUOgAEIAIgASgCEDYCAEEBIQQgACECQQEhACACRQ0ACyABQSBqJAALMgACf0EAIAAvABVBgOAAcUGAwABGDQAaQQEgABA3QwAAAABcDQAaIAAQPEMAAAAAXAsLjwICAn8BfSMAQRBrIgUkACACIAOTIgIgAlsEQCAFQQhqIABB/ABqIgYgACABQQF0ai8BchAfAn0CQAJAAn0CQAJAIAUtAAxBAWsOAgABAwsgBSoCCAwBCyAFKgIIIASUQwrXIzyUCyIHIAdbDQELQwAAAAAMAQsgByADkwshByAFQQhqIAYgACABQQF0ai8BdhAfIAcCfQJAAkACfQJAAkAgBS0ADEEBaw4CAAEDCyAFKgIIDAELIAUqAgggBJRDCtcjPJQLIgQgBFsNAQtD//9/fwwBCyAEIAOTCyIDIAIgAiADXhsiAiACIAddGyAHIAIgAiACXBsgAiACWyAHIAdbcRshAgsgBUEQaiQAIAILdgIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEEpDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAAJdDAAAAACAFIAVbGwuRAwEIfwJAIAAoAuADIgUgACgC5AMiB0cEQANAIAAgBSgCACICKALcA0cEQAJAIAAoAuwDKAIAIgEEQCACIAAgBiABEQYAIgENAQtBgAQQHiIBIAIoAhA2AhAgASACKQIINwIIIAEgAikCADcCACABQRRqIAJBFGpB6AAQLBogAUIANwKQASABQfwAaiIDQQA7AQAgAyACQfwAahCUASABQZgBaiACQZgBakHIAhAsGiABQQA2AugDIAFCADcC4AMgAigC5AMiAyACKALgAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuQDIAEgAzYC4AMgASADIARqNgLoAyACKALgAyIEIAIoAuQDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLkAwsgASACKQLsAzcC7AMgASACKAL8AzYC/AMgASACKQL0AzcC9AMgAUEANgLcAwsgBSABNgIAIAEgADYC3AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgAL3wUDBH8FfQF8IAlDAAAAAF0gCEMAAAAAXXIEfyANBSAFIRIgASETIAMhFCAHIREgDCoCFCIVQwAAAABcBEAgAbsgFbsiFkEAQQAQMiETIAO7IBZBAEEAEDIhFCAFuyAWQQBBABAyIRIgB7sgFkEAQQAQMiERCwJ/QQAgACAERw0AGiASIBOTi0MXt9E4XSATIBNcIg0gEiASXHJFDQAaQQAgEiASWw0AGiANCyEMAkAgAiAGRw0AIBQgFFwiDSARIBFcckUEQCARIBSTi0MXt9E4XSEPDAELIBEgEVsNACANIQ8LQQEhDkEBIQ0CQCAMDQAgASAKkyEBAkAgAEUEQCABIAFcIgAgCCAIXHJFBEBBACEMIAEgCJOLQxe30ThdRQ0CDAMLQQAhDCAIIAhbDQEgAA0CDAELIABBAkYhDCAAQQJHDQAgBEEBRw0AIAEgCGANAQJAIAggCFwiACABIAFcckUEQCABIAiTi0MXt9E4XUUNAQwDC0EAIQ0gASABWw0CQQEhDSAADQILQQAhDQwBC0EAIQ0gCCAIXCIAIAEgBV1Fcg0AIAxFIAEgAVwiECAFIAVcciAEQQJHcnINAEEBIQ0gASAIYA0AQQAhDSAAIBByDQAgASAIk4tDF7fROF0hDQsCQCAPDQAgAyALkyEBAkACQCACRQRAIAEgAVwiAiAJIAlcckUEQEEAIQAgASAJk4tDF7fROF1FDQIMBAtBACEAIAkgCVsNASACDQMMAQsgAkECRiEAIAJBAkcgBkEBR3INACABIAlgBEAMAwsgCSAJXCIAIAEgAVxyRQRAIAEgCZOLQxe30ThdRQ0CDAMLQQAhDiABIAFbDQJBASEOIAANAgwBCyAJIAlcIgIgASAHXUVyDQAgAEUgASABXCIEIAcgB1xyIAZBAkdycg0AIAEgCWANAUEAIQ4gAiAEcg0BIAEgCZOLQxe30ThdIQ4MAQtBACEOCyANIA5xCwuZAQEDfwJAIAAtABRBCHFFDQBBASEBIAAvABVB8AFxQdAARg0AQQAhASAAKALkAyICIAAoAuADIgNGDQBBASACIANrQQJ1IgAgAEEBTRshAkEAIQADQCADIABBAnRqKAIAIgEvABUgAS0AF0EQdHIiAUGA4ABxQYDAAEcgAUGAHnFBgApGcSIBDQEgAEEBaiIAIAJHDQALCyABC/8SAg1/Cn0jAEEQayIOJAAgASgC4AMiFCABKALkAyIVRwRAIANBASADGyEWIABBFGohEyAFQQFqIRcDQAJAIBQoAgAiCy8AFSALLQAXQRB0ciIMQYCAEHENAAJAAn8CQAJAAkACQAJAAkACQCAMQQx2QQNxDgMBCQAJCyAJIRogCiEdIAEoAuwDLQAQQQRxRQRAIAAqApADIBNBAkEBECIgE0ECQQEQIZKTIRogACoClAMgE0EAQQEQIiATQQBBARAhkpMhHQsgC0EUaiENIAEtABRBAnZBA3EhDAJAAn8CQCADQQJHIhJFBEBBACEPQQMhEAJAIAxBAmsOAgQAAgtBAiEQDAMLQQIhEEEAIAxBAUsNARoLIBALIQ8gDCEQCyANQQJBASAaECQgDUECQQEgGhAjkiEfIA1BAEEBIBoQJCEeIA1BAEEBIBoQIyEgIAsqAvADIhghGQJAAkACQAJAIAstAPQDQQFrIgwOAgEAAgsgGCAalEMK1yM8lCEZCyAZQwAAAABgRQ0AQwAAwH8hGQJAAkACQCAMDgIAAQILIBghGQwBCyAYIBqUQwrXIzyUIRkLIB8gGZIhGQwBCyAOQQhqIA0gC0EyaiIMIAMQRkMAAMB/IRkgDi0ADEUNACAOQQhqIA0gDCADEEUgDi0ADEUNACAAKgKQAyEhIBNBAiADEDUhHCATQQIgAxBLIRsgDUECIAMgGhA+IRkgDUECIAMgGhBZIRggDkEIaiALQfwAaiIMIAsvAXIQHyAZIBiSIRkgISAcIBuSkyEYQwAAwH8hHAJAAkACQCAOLQAMQQFrDgIAAQILIA4qAgghHAwBCyAOKgIIIBqUQwrXIzyUIRwLIBggGZMhGCAOQQhqIAwgCy8BdhAfAkACQAJ9AkACQCAOLQAMQQFrDgIAAQMLIA4qAggMAQsgDioCCCAalEMK1yM8lAsiGUMAAAAAYEUNACAYIBleDQELIBxDAAAAAGBFBEAgGCEZDAELIBwgGCAYIBxdGyEZCyANQQJBASAaECYgDUECQQEQIpIgDUECQQEgGhAlIA1BAkEBECGSkiIYIBkgGCAZXhsgGCAZIBkgGVwbIBkgGVsgGCAYW3EbIRkLIB4gIJIhHiALKgL4AyIbIRgCQAJAAkAgCy0A/ANBAWsiDA4CAQACCyAbIB2UQwrXIzyUIRgLIBhDAAAAAGBFDQBDAADAfyEYAkACQAJAIAwOAgABAgsgGyEYDAELIBsgHZRDCtcjPJQhGAsgHiAYkiEYDAILIA5BCGogDSALQTJqIgwQRAJAIA4tAAxFDQAgDkEIaiANIAwQQyAOLQAMRQ0AIAAqApQDISAgE0EAIAMQNSEhIBNBACADEEshHCANQQAgAyAdED4hGyANQQAgAyAdEFkhGCAOQQhqIAtB/ABqIgwgCy8BdBAfIBsgGJIhGyAgICEgHJKTIRhDAADAfyEcAkACQAJAIA4tAAxBAWsOAgABAgsgDioCCCEcDAELIA4qAgggHZRDCtcjPJQhHAsgGCAbkyEbIA5BCGogDCALLwF4EB8CQAJAAn0CQAJAIA4tAAxBAWsOAgABAwsgDioCCAwBCyAOKgIIIB2UQwrXIzyUCyIYQwAAAABgRQ0AIBggG10NAQsgHEMAAAAAYEUEQCAbIRgMAQsgHCAbIBsgHF0bIRgLIA1BAEEBIBoQJiANQQBBARAikiANQQBBASAaECUgDUEAQQEQIZKSIhsgGCAYIBtdGyAbIBggGCAYXBsgGCAYWyAbIBtbcRshGAwCC0MAAMB/IRggGSAZXA0FIAtB/ABqIgwgC0H6AGoiES8BABAgIhsgG1sNAgwECyALLQAAQQhxDQcgACALIAIgCy0AFEEDcSIMIBYgDBsgBCAXIAYgCyoCmAMgB5IgCyoCnAMgCJIgCSAKEHQMBwsgGSAZXCAYIBhcRg0BIAtB/ABqIgwgC0H6AGoiES8BABAgIhsgG1wNASAZIBlcBEAgGCAekyAMIAsvAXoQIJQgH5IhGQwCCyAYIBhbDQELIB4gGSAfkyAMIBEvAQAQIJWSIRgLIBkgGVwNASAYIBhbDQMLQQAMAQtBAQshDCALIBogGSACQQFHIBBBAklxIBpDAAAAAF5xIAxxIhEbIBggA0ECIAwgERsgGCAYXCAaIB1BAEEGIAQgBSAGEDgaIAsqApADIA1BAkEBIBoQJCANQQJBASAaECOSkiEZIAsqApQDIA1BAEEBIBoQJCANQQBBASAaECOSkiEYCyALIBkgGCADQQBBACAaIB1BAUEBIAQgBSAGEDgaIAAgASALIAMgEEEBIBogHRB3IAAgASALIAMgD0EAIBogHRB3IAEtABQiEUECdkEDcSEMAkACfwJAAkACQAJAAkACQAJAAkACQAJ/AkAgEkUEQEEAIRBBAyEPIAxBAmsOAgMNAQtBAiEPQQAgDEEBSw0BGgsgDwshECARQQRxRQ0EIBFBCHFFDQEgDCEPCyABIQwgDRBXDQEMAgsCQCALLQA0QQdxDQAgCy0AOEEHcQ0AIAstAEJBB3ENACAMIQ8gASEMIAtBQGsvAQBBB3FFDQIMAQsgDCEPCyAAIQwLAn8CQAJAAkAgD0EBaw4DAAECBQsgC0GUA2ohDyALQaQDaiESQQEhESAMQZQDagwCCyALQZADaiEPIAtBmANqIRJBAiERIAxBkANqDAELIAtBkANqIQ8gC0GgA2ohEkEAIREgDEGQA2oLIQwgCyARQQJ0aiAMKgIAIA8qAgCTIBIqAgCTOAKYAwsgEEEBcUUNBQJAAkAgEEECcQRAIAEhDCANEFcNAQwCCyALLQA0QQdxDQAgCy0AOEEHcQ0AIAstAEJBB3ENACABIQwgC0FAay8BAEEHcUUNAQsgACEMCyAQQQFrDgMBAgMACxAnAAsgC0GUA2ohECALQaQDaiEPQQEhEiAMQZQDagwCCyALQZADaiEQIAtBmANqIQ9BAiESIAxBkANqDAELIAtBkANqIRAgC0GgA2ohD0EAIRIgDEGQA2oLIQwgCyASQQJ0aiAMKgIAIBAqAgCTIA8qAgCTOAKYAwsgCyoCnAMhGyALKgKYAyAHQwAAAAAgDRBXG5MhGQJ9AkAgCy0ANEEHcQ0AIAstADhBB3ENACALLQBCQQdxDQAgC0FAay8BAEEHcQ0AQwAAAAAMAQsgCAshGCALIBk4ApgDIAsgGyAYkzgCnAMLIBRBBGoiFCAVRw0ACwsgDkEQaiQAC3gCAX8BfSMAQRBrIgQkACAEQQhqIABBAyACQQJHQQF0IAFB/gFxQQJHGyACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhAuQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLixMCBn8EfSMAQRBrIgokACAEQf4BcSEMAkACQAJAAkACQCACKALsAy0AEEECcQRAIAUNASACLwAWQQ9xIgkhBQJ/IAlFBEAgAS0AFUEEdiEFCyAFQQVGBEBBASABLQAUQQhxRQ0BGgsgBQtBAkYhCAJ/IAlFBEAgAS0AFUEEdiEJCyAJQQVGBEBBASABLQAUQQhxRQ0BGgsgCQtBA0YgAS8AFUGAgANxQYCAAkZzIQkMAwtBASEJIApBCGogAkEUaiIIIANBAkZBAXRBASAMQQJGIg0bIgsgAxAuIAYgByANGyEHIAotAAwEQCAIIAQgAyAHEHYgAEEUaiAEIAMQIpIgCCAEIAMgBxAkkiEGAkACfwJAAkACQAJAIAQOBAIDAQAKC0ECIQkMAQtBACEJCyAJIAtGDQICQAJAIAQOBAICAAEJCyAAQZADaiEDQQAMAgsgAEGQA2ohA0EADAELIABBlANqIQNBAQshACADKgIAIAIgAEECdGoqApADkyAGkyEGCyACIARBAnRBoCRqKAIAQQJ0aiAGOAKYAwwFCyAKQQhqIAhBAyADQQJHQQF0IAxBAkcbIAMQLiAKLQAMBEACfwJAAkACQCAEDgQCAgABCAtBACEFIABBkANqDAILQQAhBSAAQZADagwBC0EBIQUgAEGUA2oLKgIAIAJBkANqIgEgBUECdGoqAgCTIABBFGogBCADECGTIAggBCADIAcQI5MgCCAEIAMgBxB1kyEGQQEhAwJAAn8CQAJAAkACQCAEDgQCAwEACgtBAiEDDAELQQAhAwsgAyALRg0CAkACQCAEDgQCAgABCQsgAEGQA2ohA0EADAILIABBkANqIQNBAAwBCyAAQZQDaiEDQQELIQAgAyoCACABIABBAnRqKgIAkyAGkyEGCyACIARBAnRBoCRqKAIAQQJ0aiAGOAKYAwwFCwJAAkACQCAFBEAgAS0AFEEEdkEHcSIAQQVLDQhBASAAdCIAQTJxDQEgAEEJcUUNAyAIIAQgAyAGEDMhBiACAn8CQAJAAkACQCAEDgQAAQIDDAsgAUHMA2ohBCABQbwDaiEDQQEMAwsgAUHUA2ohBCABQcQDaiEDQQMMAgsgAUHIA2ohBCABQbgDaiEDQQAMAQsgAUHQA2ohBCABQcADaiEDQQILQQJ0aiAGIAMqAgCSIAQqAgCSOAKYAwwICyACLwAWQQ9xIgBFBEAgAS0AFUEEdiEACyAAQQVGBEAgAS0AFEEIcUUNAgsgAS8AFUGAgANxQYCAAkYEQCAAQQJrDgIBBQMLIABBCEsNB0EBIAB0QfMDcQ0EIABBAkcNAgtBACEIAkACQAJAAkACQAJAAkAgBA4EAQEABAILIAEqApADIAFBuANqIgAqAgCTIAEqAsADkyABQcgDaiIJKgIAkyEHIAIqApADIQ4gASoC0AMhDyACQRRqIgVBAkEBIAYQJCEQIAVBAkEBIAYQIyERDAULIAEqApQDIQcCfwJAAkAgBA4CAAEDCyAHIAEqArwDkyABKgLEA5MhB0EDIQAgAUHMA2oMAQsgByABKgLEA5MgASoCvAOTIQdBASEAIAFB1ANqCyEFIAFByANqIgkgAEECdGoqAgAhDyABQbgDaiEAIAcgBSoCAJMhByACKgKUAyEOIAJBFGoiBSAEQQEgBhAkIRAgBSAEQQEgBhAjIRECQCAEDgQAAgUEAQsgAUHMA2ohCSABQbwDaiEAQQEhCAwECxAnAAsgAUHUA2ohCSABQcQDaiEAQQMhCAwCCyABKgKQAyABKgLAA5MgASoCuAOTIAEqAtADkyEHIAIqApADIQ4gASoCyAMhDyACQRRqIgVBA0EBIAYQJCEQIAVBA0EBIAYQIyERCyABQdADaiEJIAFBwANqIQBBAiEICyACIAhBAnRqIAcgD5MgDiAQIBGSkpNDAAAAP5QgACoCAJIgCSoCAJIgBSAEIAMgBhAzkjgCmAMMBgsgAS8AFUGAgANxQYCAAkcNAgsCfwJAAkACQAJAAkAgBA4EAAIDBAELIAEqAsQDIAEqAtQDkiACQRRqQQAgAyAGED2SIQYgAkGUA2ohAEEBIQMgAUGUA2oMBAsQJwALIAEqArwDIAEqAswDkiACQRRqQQEgAyAGED2SIQYgAkGUA2ohAEEDIQMgAUGUA2oMAgsgASoCwAMgASoC0AOSIAJBFGpBAiADIAYQPZIhBiACQZADaiEAQQAhAyABQZADagwBCyABKgK4AyABKgLIA5IgAkEUakEDIAMgBhA9kiEGIAJBkANqIQBBAiEDIAFBkANqCyEBIAIgA0ECdGogASoCACAAKgIAkyAGkzgCmAMMBAsgAS0AFEHwAHEiBUEgRiEJIAVBEEYhCAwBCyAIIAQgAyAGEDMhBiACAn8CQAJAAkACQCAEDgQAAQIDBgsgAUHMA2ohBCABQbwDaiEDQQEMAwsgAUHUA2ohBCABQcQDaiEDQQMMAgsgAUHIA2ohBCABQbgDaiEDQQAMAQsgAUHQA2ohBCABQcADaiEDQQILQQJ0aiAGIAMqAgCSIAQqAgCSOAKYAwwCCyAKQQhqIAJBFGoiCyAEQQJ0IgVBsCRqKAIAIAMQLgJAIAotAAxFBEAgBUGgJGooAgAhBQwBCyAKQQhqIAsgBUGgJGooAgAiBSADEC4gCi0ADA0AAn8CQAJAAkAgBA4EAgIAAQULQQAhCCAAQZADagwCC0EAIQggAEGQA2oMAQtBASEIIABBlANqCyEBIAJBmAFqIgIgBUECdGogASoCACACIAhBAnRqKgL4AZMgAEEUaiAEIAMQS5MgCyAEIAMgBiAHIAxBAkYbIgYQPZMgCyAEIAMgBhBZkzgCgAIMAgsgCkEIaiALIAUgAxAuIAhFIAotAAxBAEdyRQRAAkACQAJAAkAgBA4EAQECAAULIAEqApADIAIqApADkyEGQQIhAwwCCyABKgKUAyACKgKUA5MhBkEBIQMCQCAEDgICAAQLQQMhAwwBCyABKgKQAyACKgKQA5MhBkEAIQMLIAIgA0ECdGogBkMAAAA/lDgCmAMMAgsgCkEIaiALIAUgAxAuIAotAAwgCUEBc3INAQJAAkACQAJAIAQOBAEBAgAECyABKgKQAyACKgKQA5MhBkECIQMMAgsgASoClAMgAioClAOTIQZBASEDAkAgBA4CAgADC0EDIQMMAQsgASoCkAMgAioCkAOTIQZBACEDCyACIANBAnRqIAY4ApgDDAELECcACyAKQRBqJAALzgECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpBxABqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA0A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgA0EQaiQACxwAIAAgAUEIIAKnIAJCIIinIAOnIANCIIinEBULBQAQUAALOQAgAEUEQEEADwsCfyABQYB/cUGAvwNGIAFB/wBNckUEQEG4OkEZNgIAQX8MAQsgACABOgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!le(se)){var fe=se;se=t.locateFile?t.locateFile(fe,o):o+fe}function F(){var b=se;try{if(b==se&&A)return new Uint8Array(A);if(le(b))try{var U=mn(b.slice(37)),ee=new Uint8Array(U.length);for(b=0;b=U?"_"+b:b}function _e(b,U){return b=Ae(b),function(){return U.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function z(b){var U=Error,ee=_e(b,function(re){this.name=b,this.message=re,re=Error(re).stack,re!==void 0&&(this.stack=this.toString()+` -`+re.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(U.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var G=void 0;function N(b){throw new G(b)}var Ee=b=>(b||N("Cannot use deleted val. handle = "+b),ke[b].value),Be=b=>{switch(b){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var U=W.length?W.pop():ke.length;return ke[U]={ga:1,value:b},U}},pe=void 0,Se=void 0;function H(b){for(var U="";C[b];)U+=Se[C[b++]];return U}var me=[];function te(){for(;me.length;){var b=me.pop();b.M.$=!1,b.delete()}}var ue=void 0,ae={};function De(b,U){for(U===void 0&&N("ptr should not be undefined");b.R;)U=b.ba(U),b=b.R;return U}var j={};function w(b){b=dn(b);var U=H(b);return At(b),U}function T(b,U){var ee=j[b];return ee===void 0&&N(U+" has unknown type "+w(b)),ee}function ie(){}var be=!1;function Te(b){--b.count.value,b.count.value===0&&(b.T?b.U.W(b.T):b.P.N.W(b.O))}function Re(b,U,ee){return U===ee?b:ee.R===void 0?null:(b=Re(b,U,ee.R),b===null?null:ee.na(b))}var Je={};function Ve(b,U){return U=De(b,U),ae[U]}var qe=void 0;function lt(b){throw new qe(b)}function It(b,U){return U.P&&U.O||lt("makeClassHandle requires ptr and ptrType"),!!U.U!=!!U.T&<("Both smartPtrType and smartPtr must be specified"),U.count={value:1},Le(Object.create(b,{M:{value:U}}))}function Le(b){return typeof FinalizationRegistry>"u"?(Le=U=>U,b):(be=new FinalizationRegistry(U=>{Te(U.M)}),Le=U=>{var ee=U.M;return ee.T&&be.register(U,{M:ee},U),U},ie=U=>{be.unregister(U)},Le(b))}var Nt={};function Qt(b){for(;b.length;){var U=b.pop();b.pop()(U)}}function mt(b){return this.fromWireType(v[b>>2])}var at={},et={};function Bt(b,U,ee){function re(Ne){Ne=ee(Ne),Ne.length!==b.length&<("Mismatched type converter count");for(var Ue=0;Ue{j.hasOwnProperty(Ne)?he[Ue]=j[Ne]:(xe.push(Ne),at.hasOwnProperty(Ne)||(at[Ne]=[]),at[Ne].push(()=>{he[Ue]=j[Ne],++Pe,Pe===xe.length&&re(he)}))}),xe.length===0&&re(he)}function Vt(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b)}}function Gt(b,U,ee={}){if(!("argPackAdvance"in U))throw new TypeError("registerType registeredInstance requires argPackAdvance");var re=U.name;if(b||N('type "'+re+'" must have a positive integer typeid pointer'),j.hasOwnProperty(b)){if(ee.ua)return;N("Cannot register type '"+re+"' twice")}j[b]=U,delete et[b],at.hasOwnProperty(b)&&(U=at[b],delete at[b],U.forEach(he=>he()))}function Tt(b){N(b.M.P.N.name+" instance already deleted")}function Ot(){}function K(b,U,ee){if(b[U].S===void 0){var re=b[U];b[U]=function(){return b[U].S.hasOwnProperty(arguments.length)||N("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[U].S+")!"),b[U].S[arguments.length].apply(this,arguments)},b[U].S=[],b[U].S[re.Z]=re}}function He(b,U){t.hasOwnProperty(b)?(N("Cannot register public name '"+b+"' twice"),K(t,b,b),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[b].S[void 0]=U):t[b]=U}function ze(b,U,ee,re,he,xe,Pe,Ne){this.name=b,this.constructor=U,this.X=ee,this.W=re,this.R=he,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function rt(b,U,ee){for(;U!==ee;)U.ba||N("Expected null or instance of "+ee.name+", got an instance of "+U.name),b=U.ba(b),U=U.R;return b}function pt(b,U){return U===null?(this.ea&&N("null is not a valid "+this.name),0):(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),rt(U.M.O,U.M.P.N,this.N))}function jt(b,U){if(U===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var ee=this.fa();return b!==null&&b.push(this.W,ee),ee}return 0}if(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&U.M.P.ca&&N("Cannot convert argument of type "+(U.M.U?U.M.U.name:U.M.P.name)+" to parameter type "+this.name),ee=rt(U.M.O,U.M.P.N,this.N),this.da)switch(U.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:U.M.U===this?ee=U.M.T:N("Cannot convert argument of type "+(U.M.U?U.M.U.name:U.M.P.name)+" to parameter type "+this.name);break;case 1:ee=U.M.T;break;case 2:if(U.M.U===this)ee=U.M.T;else{var re=U.clone();ee=this.xa(ee,Be(function(){re.delete()})),b!==null&&b.push(this.W,ee)}break;default:N("Unsupporting sharing policy")}return ee}function rn(b,U){return U===null?(this.ea&&N("null is not a valid "+this.name),0):(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),U.M.P.ca&&N("Cannot convert argument of type "+U.M.P.name+" to parameter type "+this.name),rt(U.M.O,U.M.P.N,this.N))}function on(b,U,ee,re){this.name=b,this.N=U,this.ea=ee,this.ca=re,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,U.R!==void 0?this.toWireType=jt:(this.toWireType=re?pt:rn,this.V=null)}function hi(b,U){t.hasOwnProperty(b)||lt("Replacing nonexistant public symbol"),t[b]=U,t[b].Z=void 0}function an(b,U){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),b.includes("j")){var re=t["dynCall_"+b];re=ee&&ee.length?re.apply(null,[U].concat(ee)):re.call(null,U)}else re=D.get(U).apply(null,ee);return re}}function cn(b,U){b=H(b);var ee=b.includes("j")?an(b,U):D.get(U);return typeof ee!="function"&&N("unknown function pointer with signature "+b+": "+U),ee}var bi=void 0;function us(b,U){function ee(xe){he[xe]||j[xe]||(et[xe]?et[xe].forEach(ee):(re.push(xe),he[xe]=!0))}var re=[],he={};throw U.forEach(ee),new bi(b+": "+re.map(w).join([", "]))}function Fs(b,U,ee,re,he){var xe=U.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=U[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function vr(b){4>2])};case 3:return function(ee){return this.fromWireType(M[ee>>3])};default:throw new TypeError("Unknown float type: "+b)}}function Zl(b,U,ee){switch(U){case 0:return ee?function(re){return E[re]}:function(re){return C[re]};case 1:return ee?function(re){return I[re>>1]}:function(re){return p[re>>1]};case 2:return ee?function(re){return v[re>>2]}:function(re){return y[re>>2]};default:throw new TypeError("Unknown integer type: "+b)}}function Gu(b,U){for(var ee="",re=0;!(re>=U/2);++re){var he=I[b+2*re>>1];if(he==0)break;ee+=String.fromCharCode(he)}return ee}function Hu(b,U,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var re=U;ee=ee<2*b.length?ee/2:b.length;for(var he=0;he>1]=b.charCodeAt(he),U+=2;return I[U>>1]=0,U-re}function zu(b){return 2*b.length}function V(b,U){for(var ee=0,re="";!(ee>=U/4);){var he=v[b+4*ee>>2];if(he==0)break;++ee,65536<=he?(he-=65536,re+=String.fromCharCode(55296|he>>10,56320|he&1023)):re+=String.fromCharCode(he)}return re}function ge(b,U,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var re=U;ee=re+ee-4;for(var he=0;he=xe){var Pe=b.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Pe&1023}if(v[U>>2]=xe,U+=4,U+4>ee)break}return v[U>>2]=0,U-re}function Ce(b){for(var U=0,ee=0;ee=re&&++ee,U+=4}return U}var we={};function ye(b){var U=we[b];return U===void 0?H(b):U}var Xe=[];function ut(b){var U=Xe.length;return Xe.push(b),U}function yt(b,U){for(var ee=Array(b),re=0;re>2],"parameter "+re);return ee}var Ct=[],_t=[null,[],[]];G=t.BindingError=z("BindingError"),t.count_emval_handles=function(){for(var b=0,U=5;USt;++St)wt[St]=String.fromCharCode(St);Se=wt,t.getInheritedInstanceCount=function(){return Object.keys(ae).length},t.getLiveInheritedInstances=function(){var b=[],U;for(U in ae)ae.hasOwnProperty(U)&&b.push(ae[U]);return b},t.flushPendingDeletes=te,t.setDelayFunction=function(b){ue=b,me.length&&ue&&ue(te)},qe=t.InternalError=z("InternalError"),Ot.prototype.isAliasOf=function(b){if(!(this instanceof Ot&&b instanceof Ot))return!1;var U=this.M.P.N,ee=this.M.O,re=b.M.P.N;for(b=b.M.O;U.R;)ee=U.ba(ee),U=U.R;for(;re.R;)b=re.ba(b),re=re.R;return U===re&&ee===b},Ot.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var b=Le,U=Object,ee=U.create,re=Object.getPrototypeOf(this),he=this.M;return b=b(ee.call(U,re,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),b.M.count.value+=1,b.M.$=!1,b},Ot.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ot.prototype.isDeleted=function(){return!this.M.O},Ot.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},on.prototype.qa=function(b){return this.ka&&(b=this.ka(b)),b},on.prototype.ha=function(b){this.W&&this.W(b)},on.prototype.argPackAdvance=8,on.prototype.readValueFromPointer=mt,on.prototype.deleteObject=function(b){b!==null&&b.delete()},on.prototype.fromWireType=function(b){function U(){return this.da?It(this.N.X,{P:this.wa,O:ee,U:this,T:b}):It(this.N.X,{P:this,O:b})}var ee=this.qa(b);if(!ee)return this.ha(b),null;var re=Ve(this.N,ee);if(re!==void 0)return re.M.count.value===0?(re.M.O=ee,re.M.T=b,re.clone()):(re=re.clone(),this.ha(b),re);if(re=this.N.pa(ee),re=Je[re],!re)return U.call(this);re=this.ca?re.la:re.pointerType;var he=Re(ee,this.N,re.N);return he===null?U.call(this):this.da?It(re.N.X,{P:re,O:he,U:this,T:b}):It(re.N.X,{P:re,O:he})},bi=t.UnboundTypeError=z("UnboundTypeError");var mn=typeof atob=="function"?atob:function(b){var U="",ee=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++));re=re<<2|he>>4,he=(he&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;U+=String.fromCharCode(re),xe!==64&&(U+=String.fromCharCode(he)),Pe!==64&&(U+=String.fromCharCode(Ne))}while(eePe.ta).concat(he.map(Pe=>Pe.za));Bt([b],xe,Pe=>{var Ne={};return he.forEach((Ue,Fe)=>{var We=Pe[Fe],gt=Ue.ra,Xt=Ue.sa,Tn=Pe[Fe+he.length],Kt=Ue.ya,ri=Ue.Aa;Ne[Ue.oa]={read:di=>We.fromWireType(gt(Xt,di)),write:(di,ds)=>{var Wr=[];Kt(ri,di,Tn.toWireType(Wr,ds)),Qt(Wr)}}}),[{name:U.name,fromWireType:function(Ue){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(Ue);return re(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var gt=ee();for(We in Ne)Ne[We].write(gt,Fe[We]);return Ue!==null&&Ue.push(re,gt),gt},argPackAdvance:8,readValueFromPointer:mt,V:re}]})},v:function(){},B:function(b,U,ee,re,he){var xe=Vt(ee);U=H(U),Gt(b,{name:U,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?re:he},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=I;else if(ee===4)Ne=v;else throw new TypeError("Unknown boolean type size: "+U);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(b,U,ee,re,he,xe,Pe,Ne,Ue,Fe,We,gt,Xt){We=H(We),xe=cn(he,xe),Ne&&(Ne=cn(Pe,Ne)),Fe&&(Fe=cn(Ue,Fe)),Xt=cn(gt,Xt);var Tn=Ae(We);He(Tn,function(){us("Cannot construct "+We+" due to unbound types",[re])}),Bt([b,U,ee],re?[re]:[],function(Kt){if(Kt=Kt[0],re)var ri=Kt.N,di=ri.X;else di=Ot.prototype;Kt=_e(Tn,function(){if(Object.getPrototypeOf(this)!==ds)throw new G("Use 'new' to construct "+We);if(Wr.Y===void 0)throw new G(We+" has no accessible constructor");var $l=Wr.Y[arguments.length];if($l===void 0)throw new G("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Wr.Y).toString()+") parameters instead!");return $l.apply(this,arguments)});var ds=Object.create(di,{constructor:{value:Kt}});Kt.prototype=ds;var Wr=new ze(We,Kt,ds,Xt,ri,xe,Ne,Fe);ri=new on(We,Wr,!0,!1),di=new on(We+"*",Wr,!1,!1);var ud=new on(We+" const*",Wr,!1,!0);return Je[b]={pointerType:di,la:ud},hi(Tn,Kt),[ri,di,ud]})},d:function(b,U,ee,re,he,xe,Pe){var Ne=As(ee,re);U=H(U),xe=cn(he,xe),Bt([],[b],function(Ue){function Fe(){us("Cannot call "+We+" due to unbound types",Ne)}Ue=Ue[0];var We=Ue.name+"."+U;U.startsWith("@@")&&(U=Symbol[U.substring(2)]);var gt=Ue.N.constructor;return gt[U]===void 0?(Fe.Z=ee-1,gt[U]=Fe):(K(gt,U,We),gt[U].S[ee-1]=Fe),Bt([],Ne,function(Xt){return Xt=Fs(We,[Xt[0],null].concat(Xt.slice(1)),null,xe,Pe),gt[U].S===void 0?(Xt.Z=ee-1,gt[U]=Xt):gt[U].S[ee-1]=Xt,[]}),[]})},p:function(b,U,ee,re,he,xe){0{us("Cannot construct "+Ne.name+" due to unbound types",Pe)},Bt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[U-1]=Fs(Ue,Fe,null,he,xe),[]}),[]})},a:function(b,U,ee,re,he,xe,Pe,Ne){var Ue=As(ee,re);U=H(U),xe=cn(he,xe),Bt([],[b],function(Fe){function We(){us("Cannot call "+gt+" due to unbound types",Ue)}Fe=Fe[0];var gt=Fe.name+"."+U;U.startsWith("@@")&&(U=Symbol[U.substring(2)]),Ne&&Fe.N.ja.push(U);var Xt=Fe.N.X,Tn=Xt[U];return Tn===void 0||Tn.S===void 0&&Tn.className!==Fe.name&&Tn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Xt[U]=We):(K(Xt,U,gt),Xt[U].S[ee-2]=We),Bt([],Ue,function(Kt){return Kt=Fs(gt,Kt,Fe,xe,Pe),Xt[U].S===void 0?(Kt.Z=ee-2,Xt[U]=Kt):Xt[U].S[ee-2]=Kt,[]}),[]})},A:function(b,U){U=H(U),Gt(b,{name:U,fromWireType:function(ee){var re=Ee(ee);return vr(ee),re},toWireType:function(ee,re){return Be(re)},argPackAdvance:8,readValueFromPointer:mt,V:null})},n:function(b,U,ee){ee=Vt(ee),U=H(U),Gt(b,{name:U,fromWireType:function(re){return re},toWireType:function(re,he){return he},argPackAdvance:8,readValueFromPointer:ql(U,ee),V:null})},e:function(b,U,ee,re,he){U=H(U),he===-1&&(he=4294967295),he=Vt(ee);var xe=Ne=>Ne;if(re===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=U.includes("unsigned")?function(Ne,Ue){return Ue>>>0}:function(Ne,Ue){return Ue},Gt(b,{name:U,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Zl(U,he,re!==0),V:null})},b:function(b,U,ee){function re(xe){xe>>=2;var Pe=y;return new he(g,Pe[xe+1],Pe[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][U];ee=H(ee),Gt(b,{name:ee,fromWireType:re,argPackAdvance:8,readValueFromPointer:re},{ua:!0})},o:function(b,U){U=H(U);var ee=U==="std::string";Gt(b,{name:U,fromWireType:function(re){var he=y[re>>2],xe=re+4;if(ee)for(var Pe=xe,Ne=0;Ne<=he;++Ne){var Ue=xe+Ne;if(Ne==he||C[Ue]==0){if(Pe=Pe?f(C,Pe,Ue-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=Ue+1}}else{for(Fe=Array(he),Ne=0;Ne=Ue?Ne++:2047>=Ue?Ne+=2:55296<=Ue&&57343>=Ue?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=he.length;if(Ne=Dn(4+xe+1),Ue=Ne+4,y[Ne>>2]=xe,ee&&Pe){if(Pe=Ue,Ue=xe+1,xe=C,0=We){var gt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|gt&1023}if(127>=We){if(Pe>=Ue)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=Ue)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=Ue)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=Ue)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else U===4&&(re=V,he=ge,xe=Ce,Pe=()=>y,Ne=2);Gt(b,{name:ee,fromWireType:function(Ue){for(var Fe=y[Ue>>2],We=Pe(),gt,Xt=Ue+4,Tn=0;Tn<=Fe;++Tn){var Kt=Ue+4+Tn*U;(Tn==Fe||We[Kt>>Ne]==0)&&(Xt=re(Xt,Kt-Xt),gt===void 0?gt=Xt:(gt+="\0",gt+=Xt),Xt=Kt+U)}return At(Ue),gt},toWireType:function(Ue,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),gt=Dn(4+We+U);return y[gt>>2]=We>>Ne,he(Fe,gt+4,We+U),Ue!==null&&Ue.push(At,gt),gt},argPackAdvance:8,readValueFromPointer:mt,V:function(Ue){At(Ue)}})},k:function(b,U,ee,re,he,xe){Nt[b]={name:H(U),fa:cn(ee,re),W:cn(he,xe),ia:[]}},h:function(b,U,ee,re,he,xe,Pe,Ne,Ue,Fe){Nt[b].ia.push({oa:H(U),ta:ee,ra:cn(re,he),sa:xe,za:Pe,ya:cn(Ne,Ue),Aa:Fe})},C:function(b,U){U=H(U),Gt(b,{va:!0,name:U,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(b,U,ee,re,he){b=Xe[b],U=Ee(U),ee=ye(ee);var xe=[];return y[re>>2]=Be(xe),b(U,ee,xe,he)},t:function(b,U,ee,re){b=Xe[b],U=Ee(U),ee=ye(ee),b(U,ee,null,re)},g:vr,m:function(b,U){var ee=yt(b,U),re=ee[0];U=re.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var he=Ct[U];if(he!==void 0)return he;var xe=Array(b-1);return he=ut((Pe,Ne,Ue,Fe)=>{for(var We=0,gt=0;gt>>=0,2147483648=ee;ee*=2){var re=U*(1+.2/ee);re=Math.min(re,b+100663296);var he=Math;re=Math.max(b,re),he=he.min.call(he,2147483648,re+(65536-re%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),R();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(b,U,ee,re){for(var he=0,xe=0;xe>2],Ne=y[U+4>>2];U+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function b(he){t.asm=he.exports,h=t.asm.E,R(),D=t.asm.J,X.unshift(t.asm.F),q--,t.monitorRunDependencies&&t.monitorRunDependencies(q),q==0&&de&&(he=de,de=null,he())}function U(he){b(he.instance)}function ee(he){return Z().then(function(xe){return WebAssembly.instantiate(xe,re)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),J(xe)})}var re={a:Xn};if(q++,t.monitorRunDependencies&&t.monitorRunDependencies(q),t.instantiateWasm)try{return t.instantiateWasm(re,b)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||le(se)||typeof fetch!="function"?ee(U):fetch(se,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,re).then(U,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(U)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var dn=t.___getTypeName=function(){return(dn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Dn=t._malloc=function(){return(Dn=t._malloc=t.asm.I).apply(null,arguments)},At=t._free=function(){return(At=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;de=function b(){$e||Li(),$e||(de=b)};function Li(){function b(){if(!$e&&($e=!0,t.calledRun=!0,!d)){if(ne(X),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var U=t.postRun.shift();_.unshift(U)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Yp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...TH}}const XD=bH(await RH());function $s(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const LH={static:0,relative:1,absolute:2},lI={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},PH={column:0,"column-reverse":1,row:2,"row-reverse":3},NH={"no-wrap":0,wrap:1,"wrap-reverse":2},UH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},kH={visible:0,hidden:1,scroll:2},FH={flex:0,none:1},KD={positionType:(n,e)=>n.setPositionType($s(LH,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent($s(lI,e,4)),alignItems:(n,e)=>n.setAlignItems($s(lI,e,4)),alignSelf:(n,e)=>n.setAlignSelf($s(lI,e,0)),flexDirection:(n,e)=>n.setFlexDirection($s(PH,e,2)),flexWrap:(n,e)=>n.setFlexWrap($s(NH,e,0)),justifyContent:(n,e)=>n.setJustifyContent($s(UH,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow($s(kH,e,0)),display:(n,e)=>n.setDisplay($s(FH,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function IB(n,e,t,i,r){let s=!1,o,a={};r.push(ht(()=>{const l=n.value;s&&o_(t,l,o,a,i),o=l}),ht(()=>{if(s=e.value,!!s&&o!=null)return o_(t,o,void 0,a,i),()=>{OH(a),a={}}}))}function o_(n,e,t,i,r){const s=l=>i[l]=ht(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};QH(()=>e.filterCompare(n,t,s,a,o))}function OH(n){for(const e in n)n[e]()}const UA=100,yB=XD.Config.create();yB.setUseWebDefaults(!0);yB.setPointScaleFactor(UA);function GH(n){return n==="measureFunc"?!0:n in KD}function yo(n){const e=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(Rl.Visible),scrollable:e,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0]),anyAncestorScrollable:Yt(()=>{const[t,i]=n?.value??[!1,!1],[r,s]=e.value;return[t||r,i||s]})}}class jD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=XD.Node.create(yB),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),IB(t,this.active,GH,(o,a)=>{KD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*UA+1)/UA,height:Math.ceil(a.height*UA+1)/UA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),HD(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const d=e.indexOf(A);if(d===-1)throw new Error("parent mismatch");return h-d});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&HH(i,l_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=l_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=k>.5;Fc(this.state.maxScrollPosition,X?D:void 0,_?k:void 0),Fc(this.state.scrollable,X,_)}else Fc(this.state.maxScrollPosition,void 0,void 0),Fc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===Rl.Visible;return[s+Math.max(i,S?v:0),o+Math.max(r,S?y:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Fc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function a_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function l_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function HH(n,e){return n.M.O===e.M.O}function xm(n,e,t,i){t!=null&&(cI(t.classes,i),i(t)),e!=null&&(cI(e.classes,i),i(e)),n!=null&&(cI(n.classes,i),i(n))}function cI(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class qH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=jH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ni?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);c_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:c_(i,r)}addAll(e,t,i,r){xm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function c_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!ez(Vr(t),Vr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function ez(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Jl(n,e,t){return n[yC]=e,n[CC]=t,n}function Co(n,e,t,i){let r=!0;i.push(()=>ht(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function Ua(n,e,t,i){let r=!0;i.push(()=>ht(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const tz=new O,nz=new O,hp=new O,uI=new ct,iz=new Du,rz=new Hn,AI=Math.PI/180;function sz([n,e,t]){return rz.setFromEuler(iz.set(n*AI,e*AI,t*AI))}const oz="center",az="center";function vo(n,{relativeCenter:e,size:t},i){const r=Ht(n,"transformTranslateX",0),s=Ht(n,"transformTranslateY",0),o=Ht(n,"transformTranslateZ",0),a=Ht(n,"transformRotateX",0),l=Ht(n,"transformRotateY",0),A=Ht(n,"transformRotateZ",0),h=Ht(n,"transformScaleX",1),d=Ht(n,"transformScaleY",1),f=Ht(n,"transformScaleZ",1),g=Ht(n,"transformOriginX",oz),E=Ht(n,"transformOriginY",az);return Yt(()=>{if(e.value==null)return;const[C,I]=e.value,p=i.value,v=new ct().makeTranslation(C*p,I*p,0);let y=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,k]=t.value;y=!1,hp.set(-yT[g.value]*D*p,-CT[E.value]*k*p,0),v.multiply(uI.makeTranslation(hp)),hp.negate()}const S=[a.value,l.value,A.value],M=[r.value,-s.value,o.value],R=[h.value,d.value,f.value];return(M.some(D=>D!=0)||S.some(D=>D!=0)||R.some(D=>D!=1))&&v.multiply(uI.compose(tz.fromArray(M).multiplyScalar(p),sz(S),nz.fromArray(R))),y||v.multiply(uI.makeTranslation(hp)),v})}function Bo(n,e,t){t.push(()=>ht(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const lz=Math.cos(45/180*Math.PI),hI=[new sn,new sn,new sn,new sn],u_=new O;class cz{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new O(t,i,0).applyMatrix4(e),this.facePlane=new sn(new O(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,d=-t+o;this.planes=[new sn(new O(0,-1,0),h).applyMatrix4(e),new sn(new O(-1,0,0),d).applyMatrix4(e),new sn(new O(0,1,0),l).applyMatrix4(e),new sn(new O(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=hI[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,d=(o.constant-s.constant*a)/A;u_.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,d),l.constant=-u_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;hI[t].normal.dot(i)>lz;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;hI[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let d=0;d<4;d++){const[f,g]=uz[d];A_[d].set(f*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let d=0;d<4;d++){const f=A[d];h=!0;for(let g=0;g<4;g++){const E=A_[g];f.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function Sm(n,{overflow:e,borderInset:t,size:i},r,s){return Yt(()=>{const o=n.value;if(o==null||e.value===Rl.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,d,f]=t.value,g=r.value,E=new cz(o,(h-f)*g/2,(A-d)*g/2,(a-f-h)*g,(l-A-d)*g);return s?.value!=null&&E.min(s.value),E})}const vC=new sn(new O(-1,0,0),Number.MAX_SAFE_INTEGER),Qg=new Float32Array(16);for(let n=0;n<4;n++)vC.normal.toArray(Qg,n*4),Qg[n*4+3]=vC.constant;function rd(n,e,t){const i=[new sn,new sn,new sn,new sn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(vC);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function qD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function Az(n,e,t){qD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function hz(n,e,t,i){qD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function dz(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,d=l.elements.length-1;if(d!=i){const g=h+d,E=h+i;a(E,g,g+1);const C=l.elements[d];l.elements[i]=C,o(C,i)}if(s(h+d),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=f.missingSpace,f=n[--e]}return n.length=e+1,!1}function fz(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const d=n[h];if(d.missingSpace===0)continue;const f=d.missingSpace<0;if(f&&(l||A)){h_(n,t,h,o,Math.abs(d.missingSpace));continue}if(!A&&!f)continue;const g=Math.min(Math.abs(d.missingSpace),Math.abs(a.missingSpace));A?pz(n,t,h,o,g):h_(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),$D=nt(ZD?.matches??!1);ZD?.addEventListener("change",n=>$D.value=n.matches);const gz=nt("system"),mz=Yt(()=>{switch(gz.value){case"system":return $D.value;case"dark":return!0;case"light":return!1}}),xo={dark:od(()=>mz.value)},eT={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},tT=Object.keys(eT),Ez=tT.length;function So(n){const e={};for(let t=0;t(n.value?.[0]??0)>eT[i])}return e}function d_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function dI(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Fh(n,e,t){return e.xadvance*n+t}function dp(n,e){return n*e}function BC(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const Iz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},yz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return re(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:db,findFiberByHostInstance:c.findFiberByHostInstance||fb,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Ad=u.inject(c),fs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=w0(c,u);var x=qe(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=en;try{return en=c,u()}finally{en=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,Q=Ni(),Y=Fo(x);return m=e1(m),u.context===null?u.context=m:u.pendingContext=m,u=Gs(Q,Y),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),No(x,u),c=Qr(x,Y,Q),c!==null&&gd(c,x,Y),Y},t};ID.exports=LG;var PG=ID.exports;const NG=MC(PG),UG=n=>typeof n=="object"&&typeof n.then=="function",vl=[];function vD(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=vl.indexOf(r);s!==-1&&vl.splice(s,1)},promise:(UG(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(vl.push(r),!t)throw r.promise}const kG=(n,e,t)=>BD(n,e,!1,t),FG=(n,e,t)=>void BD(n,e,!0,t),OG=n=>{if(n===void 0||n.length===0)vl.splice(0,vl.length);else{const e=vl.find(t=>vD(n,t.keys,t.equal));e&&e.remove()}},dB={},GG=n=>void Object.assign(dB,n);function HG(n,e){function t(h,{args:d=[],attach:f,...g},E){let C=`${h[0].toUpperCase()}${h.slice(1)}`,I;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;I=zc(p,{type:h,root:E,attach:f,primitive:!0})}else{const p=dB[C];if(!p)throw new Error(`R3F: ${C} 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!");I=zc(new p(...d),{type:h,root:E,attach:f,memoizedProps:{args:d}})}return I.__r3f.attach===void 0&&(I instanceof Pt?I.__r3f.attach="geometry":I instanceof ri&&(I.__r3f.attach="material")),C!=="inject"&&ZE(I,g),I}function i(h,d){let f=!1;if(d){var g,E;(g=d.__r3f)!=null&&g.attach?qE(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),f=!0),f||(E=h.__r3f)==null||E.objects.push(d),d.__r3f||zc(d,{}),d.__r3f.parent=h,mC(d),Vc(d)}}function r(h,d,f){let g=!1;if(d){var E,C;if((E=d.__r3f)!=null&&E.attach)qE(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const I=h.children.filter(y=>y!==d),p=I.indexOf(f);h.children=[...I.slice(0,p),d,...I.slice(p)],g=!0}g||(C=h.__r3f)==null||C.objects.push(d),d.__r3f||zc(d,{}),d.__r3f.parent=h,mC(d),Vc(d)}}function s(h,d,f=!1){h&&[...h].forEach(g=>o(d,g,f))}function o(h,d,f){if(d){var g,E,C;if(d.__r3f&&(d.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==d)),(E=d.__r3f)!=null&&E.attach)Xw(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var I;h.remove(d),(I=d.__r3f)!=null&&I.root&&jG(d.__r3f.root,d)}const y=(C=d.__r3f)==null?void 0:C.primitive,v=!y&&(f===void 0?d.dispose!==null:f);if(!y){var p;s((p=d.__r3f)==null?void 0:p.objects,d,v),s(d.children,d,v)}if(delete d.__r3f,v&&d.dispose&&d.type!=="Scene"){const S=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?pC.unstable_scheduleCallback(pC.unstable_IdlePriority,S):S()}Vc(h)}}function a(h,d,f,g){var E;const C=(E=h.__r3f)==null?void 0:E.parent;if(!C)return;const I=t(d,f,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(I,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(I,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(C,h),I.parent&&(I.__r3f.autoRemovedBeforeAppend=!0),i(C,I),I.raycast&&I.__r3f.eventCount&&I.__r3f.root.getState().internal.interaction.push(I),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=I,p.ref&&(typeof p.ref=="function"?p.ref(I):p.ref.current=I))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:NG({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 f=h.getState().scene;f.__r3f&&(f.__r3f.root=h,i(f,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,f)=>{if(!d||!f)return;const g=h.getState().scene;g.__r3f&&r(g,d,f)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h?.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,f,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:I=[],children:p,...y}=g,{args:v=[],children:S,...M}=f;if(!Array.isArray(I))throw new Error("R3F: the args prop must be an array!");if(I.some((D,k)=>D!==v[k]))return[!0];const R=RD(h,y,M,!0);return R.changes.length?[!1,R]:null}},commitUpdate(h,[d,f],g,E,C,I){d?a(h,g,C,I):ZE(h,f)},commitMount(h,d,f,g){var E;const C=(E=h.__r3f)!=null?E:{};h.raycast&&C.handlers&&C.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>zc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:f,parent:g}=(d=h.__r3f)!=null?d:{};f&&g&&Xw(g,h,f),h.isObject3D&&(h.visible=!1),Vc(h)},unhideInstance(h,d){var f;const{attach:g,parent:E}=(f=h.__r3f)!=null?f:{};g&&E&&qE(E,h,g),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),Vc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():au.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&yn.fun(performance.now)?performance.now:yn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:yn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:yn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:ZE}}var Vw,Ww;const jE=n=>"colorSpace"in n||"outputColorSpace"in n,xD=()=>{var n;return(n=dB.ColorManagement)!=null?n:null},SD=n=>n&&n.isOrthographicCamera,zG=n=>n&&n.hasOwnProperty("current"),nd=typeof window<"u"&&((Vw=window.document)!=null&&Vw.createElement||((Ww=window.navigator)==null?void 0:Ww.product)==="ReactNative")?$.useLayoutEffect:$.useEffect;function wD(n){const e=$.useRef(n);return nd(()=>void(e.current=n),[n]),e}function VG({set:n}){return nd(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class _D extends $.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}_D.getDerivedStateFromError=()=>({error:!0});const QD="__default",Yw=new Map,WG=n=>n&&!!n.memoized&&!!n.changes;function MD(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 _A=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},yn={obj:n=>n===Object(n)&&!yn.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(yn.str(n)||yn.num(n))return n===e;const s=yn.obj(n);if(s&&i==="reference")return n===e;const o=yn.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(!yn.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(yn.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 YG(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 JG(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function zc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function gC(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 Jw=/-\d+$/;function qE(n,e,t){if(yn.str(t)){if(Jw.test(t)){const s=t.replace(Jw,""),{target:o,key:a}=gC(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=gC(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function Xw(n,e,t){var i,r;if(yn.str(t)){const{target:s,key:o}=gC(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 RD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const d=(h=n?.__r3f)!=null?h:{},f=Object.entries(r),g=[];if(A){const C=Object.keys(l);for(let I=0;I{var p;if((p=n.__r3f)!=null&&p.primitive&&C==="object"||yn.equ(I,l[C]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(C))return g.push([C,I,!0,[]]);let y=[];C.includes("-")&&(y=C.split("-")),g.push([C,I,!1,y]);for(const v in r){const S=r[v];v.startsWith(`${C}-`)&&g.push([v,S,!1,v.split("-")])}});const E={...r};return d.memoizedProps&&d.memoizedProps.args&&(E.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(E.attach=d.memoizedProps.attach),{memoized:E,changes:g}}const XG=typeof process<"u"&&!1;function ZE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=WG(e)?e:RD(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let f=0;fv[S],n),!(y&&y.set))){const[v,...S]=I.reverse();p=S.reverse().reduce((M,R)=>M[R],n),g=v}if(E===QD+"remove")if(p.constructor){let v=Yw.get(p.constructor);v||(v=new p.constructor,Yw.set(p.constructor,v)),E=v[g]}else E=0;if(C)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof Ql)){if(Array.isArray(E))y.fromArray?y.fromArray(E):y.set(...E);else if(y.copy&&E&&E.constructor&&(XG?y.constructor.name===E.constructor.name:y.constructor===E.constructor))y.copy(E);else if(E!==void 0){const v=y instanceof je;!v&&y.setScalar?y.setScalar(E):y instanceof Ql&&E instanceof Ql?y.mask=E.mask:y.set(E),!xD()&&!a.linear&&v&&y.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof Sn&&p[g].format===Gi&&p[g].type===bs){const v=p[g];jE(v)&&jE(a.gl)?v.colorSpace=a.gl.outputColorSpace:v.encoding=a.gl.outputEncoding}Vc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const f=a.internal.interaction.indexOf(n);f>-1&&a.internal.interaction.splice(f,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&mC(n),n}function Vc(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 mC(n){n.onUpdate==null||n.onUpdate(n)}function DD(n,e){n.manual||(SD(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 cp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function KG(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return au.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return au.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return au.ContinuousEventPriority;default:return au.DefaultEventPriority}}function TD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function jG(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)=>{TD(t.capturedMap,e,i,r)})}function qG(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],d=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=A.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),d=new Set,f=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const v=_A(p.object),S=_A(y.object);return!v||!S?p.distance-y.distance:S.events.priority-v.events.priority||p.distance-y.distance}).filter(p=>{const y=cp(p);return d.has(y)?!1:(d.add(y),!0)});h.events.filter&&(C=h.events.filter(C,h));for(const p of C){let y=p.object;for(;y;){var I;(I=y.__r3f)!=null&&I.eventCount&&f.push({...p,eventObject:y}),y=y.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())d.has(cp(p.intersection))||f.push(p.intersection);return f}function r(l,A,h,d){const f=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const C=_A(E.object)||f,{raycaster:I,pointer:p,camera:y,internal:v}=C,S=new O(p.x,p.y,0).unproject(y),M=_=>{var L,q;return(L=(q=v.capturedMap.get(_))==null?void 0:q.has(E.eventObject))!=null?L:!1},R=_=>{const L={intersection:E,target:A.target};v.capturedMap.has(_)?v.capturedMap.get(_).set(E.eventObject,L):v.capturedMap.set(_,new Map([[E.eventObject,L]])),A.target.setPointerCapture(_)},D=_=>{const L=v.capturedMap.get(_);L&&TD(v.capturedMap,E.eventObject,L,_)};let k={};for(let _ in A){let L=A[_];typeof L!="function"&&(k[_]=L)}let X={...E,...k,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:I.ray,camera:y,stopPropagation(){const _="pointerId"in A&&v.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(X.stopped=g.stopped=!0,v.hovered.size&&Array.from(v.hovered.values()).find(L=>L.eventObject===E.eventObject))){const L=l.slice(0,l.indexOf(E));s([...L,E])}},target:{hasPointerCapture:M,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:M,setPointerCapture:R,releasePointerCapture:D},nativeEvent:A};if(d(X),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const f=h.eventObject.__r3f,g=f?.handlers;if(A.hovered.delete(cp(h)),f!=null&&f.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:f}=n.getState();f.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",I=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(f.initialClick=[h.offsetX,h.offsetY],f.initialHits=I.map(v=>v.eventObject)),E&&!I.length&&p<=2&&(o(h,f.interaction),d&&d(h)),g&&s(I);function y(v){const S=v.eventObject,M=S.__r3f,R=M?.handlers;if(M!=null&&M.eventCount)if(g){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=cp(v),k=f.hovered.get(D);k?k.stopped&&v.stopPropagation():(f.hovered.set(D,v),R.onPointerOver==null||R.onPointerOver(v),R.onPointerEnter==null||R.onPointerEnter(v))}R.onPointerMove==null||R.onPointerMove(v)}else{const D=R[l];D?(!E||f.initialHits.includes(S))&&(o(h,f.interaction.filter(k=>!f.initialHits.includes(k))),D(v)):E&&f.initialHits.includes(S)&&o(h,f.interaction.filter(k=>!f.initialHits.includes(k)))}}r(I,h,p,y)}}return{handlePointer:a}}const ZG=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],bD=n=>!!(n!=null&&n.render),fB=$.createContext(null),$G=(n,e)=>{const t=ED((a,l)=>{const A=new O,h=new O,d=new O;function f(p=l().camera,y=h,v=l().size){const{width:S,height:M,top:R,left:D}=v,k=S/M;y instanceof O?d.copy(y):d.set(...y);const X=p.getWorldPosition(A).distanceTo(d);if(SD(p))return{width:S/p.zoom,height:M/p.zoom,top:R,left:D,factor:1,distance:X,aspect:k};{const _=p.fov*Math.PI/180,L=2*Math.tan(_/2)*X,q=L*(S/M);return{width:q,height:L,top:R,left:D,factor:S/q,distance:X,aspect:k}}}let g;const E=p=>a(y=>({performance:{...y.performance,current:p}})),C=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,y)=>e(p,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new cB,pointer:C,mouse:C,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:f},setEvents:p=>a(y=>({...y,events:{...y.events,...p}})),setSize:(p,y,v,S,M)=>{const R=l().camera,D={width:p,height:y,top:S||0,left:M||0,updateStyle:v};a(k=>({size:D,viewport:{...k.viewport,...f(R,h,D)}}))},setDpr:p=>a(y=>{const v=MD(p);return{viewport:{...y.viewport,dpr:v,initialDpr:y.viewport.initialDpr||v}}}),setFrameloop:(p="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,p!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:p}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:$.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(p,y,v)=>{const S=l().internal;return S.priority=S.priority+(y>0?1:0),S.subscribers.push({ref:p,priority:y,store:v}),S.subscribers=S.subscribers.sort((M,R)=>M.priority-R.priority),()=>{const M=l().internal;M!=null&&M.subscribers&&(M.priority=M.priority-(y>0?1:0),M.subscribers=M.subscribers.filter(R=>R.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var f;r=l,s=A.dpr,DD(a,l),h.setPixelRatio(A.dpr);const g=(f=l.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,d(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let up,eH=new Set,tH=new Set,nH=new Set;function $E(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function QA(n,e){switch(n){case"before":return $E(eH,e);case"after":return $E(tH,e);case"tail":return $E(nH,e)}}let eI,tI;function nI(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),eI=e.internal.subscribers,up=0;up0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=nI(l,r))}if(QA("after",l),t===0)return QA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(d=>o(d.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,d){if(A&&QA("before",l),h)nI(l,h,d);else for(const f of n.values())nI(l,f.store.getState());A&&QA("after",l)}return{loop:s,invalidate:o,advance:a}}function Us(){const n=$.useContext(fB);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function pB(n=t=>t,e){return Us()(n,e)}function Uu(n,e=0){const t=Us(),i=t.getState().internal.subscribe,r=wD(n);return nd(()=>i(r,e,t),[e,i,t]),null}const Kw=new WeakMap;function LD(n,e){return function(t,...i){let r=Kw.get(t);return r||(r=new t,Kw.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,YG(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function gB(n,e,t,i){const r=Array.isArray(e)?e:[e],s=kG(LD(t,i),[n,...r],{equal:yn.equ});return Array.isArray(e)?s:s[0]}gB.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return FG(LD(t),[n,...i])};gB.clear=function(n,e){const t=Array.isArray(e)?e:[e];return OG([n,...t])};const wu=new Map,{invalidate:jw,advance:qw}=iH(wu),{reconciler:kh,applyProps:Lc}=HG(wu,KG),Pc={objects:"shallow",strict:!1},rH=(n,e)=>{const t=typeof n=="function"?n(e):n;return bD(t)?t:new Vv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function sH(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 oH(n){const e=wu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||$G(jw,qw),o=t||kh.createContainer(s,au.ConcurrentRoot,null,!1,null,"",r,null);e||wu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:d,size:f,scene:g,events:E,onCreated:C,shadows:I=!1,linear:p=!1,flat:y=!1,legacy:v=!1,orthographic:S=!1,frameloop:M="always",dpr:R=[1,2],performance:D,raycaster:k,camera:X,onPointerMissed:_}=h,L=s.getState(),q=L.gl;L.gl||L.set({gl:q=rH(d,n)});let de=L.raycaster;de||L.set({raycaster:de=new td});const{params:J,...ae}=k||{};if(yn.equ(ae,de,Pc)||Lc(de,{...ae}),yn.equ(J,de.params,Pc)||Lc(de,{params:{...de.params,...J}}),!L.camera||L.camera===A&&!yn.equ(A,X,Pc)){A=X;const _e=X instanceof Xh,ke=_e?X:S?new Tu(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(ke.position.z=5,X&&Lc(ke,X),!L.camera&&!(X!=null&&X.rotation)&&ke.lookAt(0,0,0)),L.set({camera:ke}),de.camera=ke}if(!L.scene){let _e;g instanceof Rh?_e=g:(_e=new Rh,g&&Lc(_e,g)),L.set({scene:zc(_e)})}if(!L.xr){var re;const _e=(z,G)=>{const N=s.getState();N.frameloop!=="never"&&qw(z,!0,N,G)},ke=()=>{const z=s.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?_e:null),z.gl.xr.isPresenting||jw(z)},W={connect(){const z=s.getState().gl;z.xr.addEventListener("sessionstart",ke),z.xr.addEventListener("sessionend",ke)},disconnect(){const z=s.getState().gl;z.xr.removeEventListener("sessionstart",ke),z.xr.removeEventListener("sessionend",ke)}};typeof((re=q.xr)==null?void 0:re.addEventListener)=="function"&&W.connect(),L.set({xr:W})}if(q.shadowMap){const _e=q.shadowMap.enabled,ke=q.shadowMap.type;if(q.shadowMap.enabled=!!I,yn.boo(I))q.shadowMap.type=JA;else if(yn.str(I)){var fe;const W={basic:lR,percentage:Jg,soft:JA,variance:$r};q.shadowMap.type=(fe=W[I])!=null?fe:JA}else yn.obj(I)&&Object.assign(q.shadowMap,I);(_e!==q.shadowMap.enabled||ke!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const F=xD();F&&("enabled"in F?F.enabled=!v:"legacyMode"in F&&(F.legacyMode=v)),Lc(q,{outputEncoding:p?3e3:3001,toneMapping:y?Ts:Sv}),L.legacy!==v&&L.set(()=>({legacy:v})),L.linear!==p&&L.set(()=>({linear:p})),L.flat!==y&&L.set(()=>({flat:y})),d&&!yn.fun(d)&&!bD(d)&&!yn.equ(d,q,Pc)&&Lc(q,d),E&&!L.events.handlers&&L.set({events:E(s)});const Ae=sH(n,f);return yn.equ(Ae,L.size,Pc)||L.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),R&&L.viewport.dpr!==MD(R)&&L.setDpr(R),L.frameloop!==M&&L.setFrameloop(M),L.onPointerMissed||L.set({onPointerMissed:_}),D&&!yn.equ(D,L.performance,Pc)&&L.set(_e=>({performance:{..._e.performance,...D}})),a=C,l=!0,this},render(h){return l||this.configure(),kh.updateContainer($.createElement(aH,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){PD(n)}}}function aH({store:n,children:e,onCreated:t,rootElement:i}){return nd(()=>{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)},[]),$.createElement(fB.Provider,{value:n},e)}function PD(n,e){const t=wu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),kh.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(),JG(r),wu.delete(n),e&&e(n)}catch{}},500)})}}function ND(n,e,t){return $.createElement(lH,{key:e.uuid,children:n,container:e,state:t})}function lH({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Us(),[a]=$.useState(()=>new td),[l]=$.useState(()=>new ve),A=$.useCallback((d,f)=>{const g={...d};Object.keys(d).forEach(C=>{(ZG.includes(C)||d[C]!==f[C]&&f[C])&&delete g[C]});let E;if(f&&r){const C=f.camera;E=d.viewport.getCurrentViewport(C,new O,r),C!==d.camera&&DD(C,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...f?.events,...i},size:{...d.size,...r},viewport:{...d.viewport,...E},...s}},[n]),[h]=$.useState(()=>{const d=o.getState();return ED((g,E)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:g,get:E,setEvents:C=>g(I=>({...I,events:{...I.events,...C}}))}))});return $.useEffect(()=>{const d=o.subscribe(f=>h.setState(g=>A(f,g)));return()=>{d(),h.destroy()}},[]),$.useEffect(()=>{h.setState(d=>A(o.getState(),d))},[A]),$.createElement($.Fragment,null,kh.createPortal($.createElement(fB.Provider,{value:h},e),h,null))}kh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:$.version});function wg(){return wg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}EC.debounce=EC;var cH=EC;const Zw=MC(cH);function uH(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]=$.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=$.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=$.useRef(!1);$.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,g,E]=$.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:v,top:S,width:M,height:R,bottom:D,right:k,x:X,y:_}=l.current.element.getBoundingClientRect(),L={left:v,top:S,width:M,height:R,bottom:D,right:k,x:X,y:_};l.current.element instanceof HTMLElement&&r&&(L.height=l.current.element.offsetHeight,L.width=l.current.element.offsetWidth),Object.freeze(L),d.current&&!fH(l.current.lastBounds,L)&&a(l.current.lastBounds=L)};return[y,h?Zw(y,h):y,A?Zw(y,A):y]},[a,r,A,h]);function C(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function I(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=y=>{!y||y===l.current.element||(C(),l.current.element=y,l.current.scrollContainers=UD(y),I())};return hH(E,!!t),AH(g),$.useEffect(()=>{C(),I()},[t,E,g]),$.useEffect(()=>C,[]),[p,o,f]}function AH(n){$.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function hH(n,e){$.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function UD(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,...UD(n.parentElement)]}const dH=["x","y","top","bottom","left","right","width","height"],fH=(n,e)=>dH.every(t=>n[t]===e[t]);var pH=Object.defineProperty,gH=Object.defineProperties,mH=Object.getOwnPropertyDescriptors,$w=Object.getOwnPropertySymbols,EH=Object.prototype.hasOwnProperty,IH=Object.prototype.propertyIsEnumerable,e_=(n,e,t)=>e in n?pH(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,t_=(n,e)=>{for(var t in e||(e={}))EH.call(e,t)&&e_(n,t,e[t]);if($w)for(var t of $w(e))IH.call(e,t)&&e_(n,t,e[t]);return n},yH=(n,e)=>gH(n,mH(e));function kD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=kD(i,e,t);if(r)return r;i=e?null:i.sibling}}function FD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const mB=FD($.createContext(null));class OD extends $.Component{render(){return $.createElement(mB.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:n_,ReactCurrentDispatcher:i_}=$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function CH(){const n=$.useContext(mB);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=$.useId();return $.useMemo(()=>{for(const i of[n_?.current,n,n?.alternate]){if(!i)continue;const r=kD(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 vH(){var n,e;const t=CH(),[i]=$.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==mB&&!i.has(s)&&i.set(s,(e=i_?.current)==null?void 0:e.readContext(FD(s))),r=r.return}return i}function BH(){const n=vH();return $.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>$.createElement(e,null,$.createElement(t.Provider,yH(t_({},i),{value:n.get(t)}))),e=>$.createElement(OD,t_({},e))),[n])}const iI={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 xH(n){const{handlePointer:e}=qG(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(iI).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,A]=iI[o];t.addEventListener(l,a,{passive:A})})},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]=iI[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const SH=$.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=xH,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:y,scene:v,onPointerMissed:S,onCreated:M,...R},D){$.useMemo(()=>GG(DG),[]);const k=BH(),[X,_]=uH({scroll:!0,debounce:{scroll:50,resize:0},...i}),L=$.useRef(null),q=$.useRef(null);$.useImperativeHandle(D,()=>L.current);const de=wD(S),[J,ae]=$.useState(!1),[re,fe]=$.useState(!1);if(J)throw J;if(re)throw re;const F=$.useRef(null);nd(()=>{const ne=L.current;_.width>0&&_.height>0&&ne&&(F.current||(F.current=oH(ne)),F.current.configure({gl:s,events:o,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:y,scene:v,size:_,onPointerMissed:(...Ae)=>de.current==null?void 0:de.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?zG(a)?a.current:a:q.current),l&&Ae.setEvents({compute:(_e,ke)=>{const W=_e[l+"X"],z=_e[l+"Y"];ke.pointer.set(W/ke.size.width*2-1,-(z/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),M?.(Ae)}}),F.current.render($.createElement(k,null,$.createElement(_D,{set:fe},$.createElement($.Suspense,{fallback:$.createElement(VG,{set:ae})},e)))))}),$.useEffect(()=>{const ne=L.current;if(ne)return()=>PD(ne)},[]);const Z=a?"none":"auto";return $.createElement("div",wg({ref:q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:Z,...r}},R),$.createElement("div",{ref:X,style:{width:"100%",height:"100%"}},$.createElement("canvas",{ref:L,style:{display:"block"}},t)))}),wH=$.forwardRef(function(e,t){return $.createElement(OD,null,$.createElement(SH,wg({},e,{ref:t})))}),_H=$.createContext(null);function GD(){return $.useContext(_H)}const HD=$.createContext(void 0);function Pa(){const n=$.useContext(HD);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const ku=HD.Provider;function vm(){throw new Error("Cycle detected")}var QH=Symbol.for("preact-signals");function Bm(){if(va>1)va--;else{for(var n,e=!1;ZA!==void 0;){var t=ZA;for(ZA=void 0,IC++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&WD(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(IC=0,va--,e)throw n}}function zD(n){if(va>0)return n();va++;try{return n()}finally{Bm()}}var In=void 0,rI=0;function MH(n){if(rI>0)return n();var e=In;In=void 0,rI++;try{return n()}finally{rI--,In=e}}var ZA=void 0,va=0,IC=0,_g=0;function VD(n){if(In!==void 0){var e=n.n;if(e===void 0||e.t!==In)return e={i:0,S:n,p:In.s,n:void 0,t:In,e:void 0,x:void 0,r:e},In.s!==void 0&&(In.s.n=e),In.s=e,n.n=e,32&In.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=In.s,e.n=void 0,In.s.n=e,In.s=e),e}}function ni(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ni.prototype.brand=QH;ni.prototype.h=function(){return!0};ni.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ni.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ni.prototype.subscribe=function(n){var e=this;return et(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ni.prototype.valueOf=function(){return this.value};ni.prototype.toString=function(){return this.value+""};ni.prototype.toJSON=function(){return this.value};ni.prototype.peek=function(){return this.v};Object.defineProperty(ni.prototype,"value",{get:function(){var n=VD(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(In instanceof Na&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){IC>100&&vm(),this.v=n,this.i++,_g++,va++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Bm()}}}});function nt(n){return new ni(n)}function WD(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function YD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function JD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Na(n){ni.call(this,void 0),this.x=n,this.s=void 0,this.g=_g-1,this.f=4}(Na.prototype=new ni).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===_g))return!0;if(this.g=_g,this.f|=1,this.i>0&&!WD(this))return this.f&=-2,!0;var n=In;try{YD(this),In=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return In=n,JD(this),this.f&=-2,!0};Na.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ni.prototype.S.call(this,n)};Na.prototype.U=function(n){if(this.t!==void 0&&(ni.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Na.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Na.prototype.peek=function(){if(this.h()||vm(),16&this.f)throw this.v;return this.v};Object.defineProperty(Na.prototype,"value",{get:function(){1&this.f&&vm();var n=VD(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Yt(n){return new Na(n)}function XD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){va++;var t=In;In=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,EB(n),i}finally{In=t,Bm()}}}function EB(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,XD(n)}function RH(n){if(In!==this)throw new Error("Out-of-order effect");JD(this),In=n,this.f&=-2,8&this.f&&EB(this),Bm()}function id(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}id.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};id.prototype.S=function(){1&this.f&&vm(),this.f|=1,this.f&=-9,XD(this),YD(this),va++;var n=In;return In=this,RH.bind(this,n)};id.prototype.N=function(){2&this.f||(this.f|=2,this.o=ZA,ZA=this)};id.prototype.d=function(){this.f|=8,1&this.f||EB(this)};function et(n){var e=new id(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var DH=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(b,U){i=b,r=U});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&J("no native wasm support detected");var h,d=!1;function f(b,U,ee){ee=U+ee;for(var se="";!(U>=ee);){var he=b[U++];if(!he)break;if(he&128){var xe=b[U++]&63;if((he&224)==192)se+=String.fromCharCode((he&31)<<6|xe);else{var Pe=b[U++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Pe:(he&7)<<18|xe<<12|Pe<<6|b[U++]&63,65536>he?se+=String.fromCharCode(he):(he-=65536,se+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else se+=String.fromCharCode(he)}return se}var g,E,C,I,p,y,v,S,M;function R(){var b=h.buffer;g=b,t.HEAP8=E=new Int8Array(b),t.HEAP16=I=new Int16Array(b),t.HEAP32=y=new Int32Array(b),t.HEAPU8=C=new Uint8Array(b),t.HEAPU16=p=new Uint16Array(b),t.HEAPU32=v=new Uint32Array(b),t.HEAPF32=S=new Float32Array(b),t.HEAPF64=M=new Float64Array(b)}var D,k=[],X=[],_=[];function L(){var b=t.preRun.shift();k.unshift(b)}var q=0,de=null;function J(b){throw t.onAbort&&t.onAbort(b),b="Aborted("+b+")",l(b),d=!0,b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info."),r(b),b}function ae(b){return b.startsWith("data:application/octet-stream;base64,")}var re;if(re="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCIDQQdxBEAgACABIAMQHw8LIAAgASACLwAQEB8PCyAAIAFB6ABqIAMQHwt7AAJAAkACQAJAIANBAWsOAgABAgsgAi8ACCIDQQdxRQ0BDAILIAIvAAoiA0EHcUUNAAwBCyACLwAAIgNBB3EEQAwBCyABQegAaiEBIAIvAAwiA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfDwsgACABQegAaiADEB8LnAoBC38jAEEQayIIJAAgASABLwAAQXhxIANyIgM7AAACQAJAAkACQAJAAkACQAJAAkACQCADQQhxBEAgA0H//wNxIgZBBHYhBCAGQT9NBH8gACAEQQJ0akEEagUgBEEEayIEIAAoAhgiACgCBCAAKAIAIgBrQQJ1Tw0CIAAgBEECdGoLIAI4AgAMCgsCfyACi0MAAABPXQRAIAKoDAELQYCAgIB4CyIEQf8PakH+H0sgBLIgAlxyRQRAIANBD3FBACAEa0GAEHIgBCACQwAAAABdG0EEdHIhAwwKCyAAIAAvAQAiC0EBajsBACALQYAgTw0DIAtBA00EQCAAIAtBAnRqIAI4AgQMCQsgACgCGCIDRQRAQRgQHiIDQgA3AgAgA0IANwIQIANCADcCCCAAIAM2AhgLAkAgAygCBCIEIAMoAghHBEAgBCACOAIAIAMgBEEEajYCBAwBCyAEIAMoAgAiB2siBEECdSIJQQFqIgZBgICAgARPDQECf0H/////AyAEQQF1IgUgBiAFIAZLGyAEQfz///8HTxsiBkUEQEEAIQUgCQwBCyAGQYCAgIAETw0GIAZBAnQQHiEFIAMoAgQgAygCACIHayIEQQJ1CyEKIAUgCUECdGoiCSACOAIAIAkgCkECdGsgByAEEDEhByADIAUgBkECdGo2AgggAyAJQQRqNgIEIAMoAgAhBCADIAc2AgAgBEUNACAEECgLIAAoAhgiBigCECIDIAYoAhQiAEEFdEcNByADQQFqQQBIDQAgA0H+////A0sNASADIABBBnQiACADQWBxQSBqIgQgACAESxsiAE8NByAAQQBODQILEAIAC0H/////ByEAIANB/////wdPDQULIAhBADYCCCAIQgA3AwAgCCAAEJMBIAYoAgwhBCAIIAgoAgQiByAGKAIQIgBBH3FqIABBYHFqIgM2AgQgB0UEQCADQQFrIQUMAwsgA0EBayIFIAdBAWtzQR9LDQIgCCgCACEKDAMLQdkjQY0XQSJBiBcQCwALEFAACyAIKAIAIgogBUEFdkEAIANBIU8bQQJ0akEANgIACyAKIAdBA3ZB/P///wFxaiEDAkAgB0EfcSIHRQRAIABBAEwNASAAQSBtIQUgAEEfakE/TwRAIAMgBCAFQQJ0EDEaCyAAIAVBBXRrIgBBAEwNASADIAVBAnQiBWoiAyADKAIAQX9BICAAa3YiAEF/c3EgBCAFaigCACAAcXI2AgAMAQsgAEEATA0AQX8gB3QhDEEgIAdrIQkgAEEgTgRAIAxBf3MhDSADKAIAIQUDQCADIAUgDXEgBCgCACIFIAd0cjYCACADIAMoAgQgDHEgBSAJdnIiBTYCBCAEQQRqIQQgA0EEaiEDIABBP0shDiAAQSBrIQAgDg0ACyAAQQBMDQELIAMgAygCAEF/IAkgCSAAIAAgCUobIgVrdiAMcUF/c3EgBCgCAEF/QSAgAGt2cSIEIAd0cjYCACAAIAVrIgBBAEwNACADIAUgB2pBA3ZB/P///wFxaiIDIAMoAgBBf0EgIABrdkF/c3EgBCAFdnI2AgALIAYoAgwhACAGIAo2AgwgBiAIKAIEIgM2AhAgBiAIKAIINgIUIABFDQAgABAoIAYoAhAhAwsgBiADQQFqNgIQIAYoAgwgA0EDdkH8////AXFqIgAgACgCAEF+IAN3cTYCACABLwAAIQMLIANBB3EgC0EEdHJBCHIhAwsgASADOwAAIAhBEGokAAuSAQIBfwF9IwBBEGsiAiQAIAJBCGogAEHoAGogAEHUAEHWACABQf4BcUECRhtqLwEAIgEgAC8BWCABQQdxGxAfQwAAwH8hAwJAAkACQCACLQAMQQFrDgIAAQILIAIqAgghAwwBCyACKgIIQwAAAACUQwrXIzyUIQMLIAJBEGokACADQwAAAACXQwAAAAAgAyADWxsLmQICB38BfSMAQRBrIgMkAAJAIAAoAgwiAQRAIAAgACoCkAMgACoClAMgARElACIIIAhbDQEgA0HuHDYCACAAIAMQMBAnAAsCQAJAIAAoAuQDIgEgACgC4AMiBkcEQEEBIAEgBmtBAnUiASABQQFNGyEHA0AgBiAEQQJ0aigCACIBKALYA0UEQCABLwAVIAEtABdBEHRyIgVBgOAAcUGAwABHBEAgBUEIdkEPcSIFBH8gBQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!ae(re)){var fe=re;re=t.locateFile?t.locateFile(fe,o):o+fe}function F(){var b=re;try{if(b==re&&A)return new Uint8Array(A);if(ae(b))try{var U=mn(b.slice(37)),ee=new Uint8Array(U.length);for(b=0;b=U?"_"+b:b}function _e(b,U){return b=Ae(b),function(){return U.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function z(b){var U=Error,ee=_e(b,function(se){this.name=b,this.message=se,se=Error(se).stack,se!==void 0&&(this.stack=this.toString()+` +`+se.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(U.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var G=void 0;function N(b){throw new G(b)}var Ee=b=>(b||N("Cannot use deleted val. handle = "+b),ke[b].value),Be=b=>{switch(b){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var U=W.length?W.pop():ke.length;return ke[U]={ga:1,value:b},U}},pe=void 0,Se=void 0;function H(b){for(var U="";C[b];)U+=Se[C[b++]];return U}var me=[];function te(){for(;me.length;){var b=me.pop();b.M.$=!1,b.delete()}}var ue=void 0,le={};function De(b,U){for(U===void 0&&N("ptr should not be undefined");b.R;)U=b.ba(U),b=b.R;return U}var j={};function w(b){b=dn(b);var U=H(b);return ht(b),U}function T(b,U){var ee=j[b];return ee===void 0&&N(U+" has unknown type "+w(b)),ee}function ie(){}var be=!1;function Te(b){--b.count.value,b.count.value===0&&(b.T?b.U.W(b.T):b.P.N.W(b.O))}function Re(b,U,ee){return U===ee?b:ee.R===void 0?null:(b=Re(b,U,ee.R),b===null?null:ee.na(b))}var Je={};function Ve(b,U){return U=De(b,U),le[U]}var qe=void 0;function ct(b){throw new qe(b)}function It(b,U){return U.P&&U.O||ct("makeClassHandle requires ptr and ptrType"),!!U.U!=!!U.T&&ct("Both smartPtrType and smartPtr must be specified"),U.count={value:1},Le(Object.create(b,{M:{value:U}}))}function Le(b){return typeof FinalizationRegistry>"u"?(Le=U=>U,b):(be=new FinalizationRegistry(U=>{Te(U.M)}),Le=U=>{var ee=U.M;return ee.T&&be.register(U,{M:ee},U),U},ie=U=>{be.unregister(U)},Le(b))}var Nt={};function Qt(b){for(;b.length;){var U=b.pop();b.pop()(U)}}function mt(b){return this.fromWireType(y[b>>2])}var lt={},tt={};function Bt(b,U,ee){function se(Ne){Ne=ee(Ne),Ne.length!==b.length&&ct("Mismatched type converter count");for(var Ue=0;Ue{j.hasOwnProperty(Ne)?he[Ue]=j[Ne]:(xe.push(Ne),lt.hasOwnProperty(Ne)||(lt[Ne]=[]),lt[Ne].push(()=>{he[Ue]=j[Ne],++Pe,Pe===xe.length&&se(he)}))}),xe.length===0&&se(he)}function Vt(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+b)}}function Ht(b,U,ee={}){if(!("argPackAdvance"in U))throw new TypeError("registerType registeredInstance requires argPackAdvance");var se=U.name;if(b||N('type "'+se+'" must have a positive integer typeid pointer'),j.hasOwnProperty(b)){if(ee.ua)return;N("Cannot register type '"+se+"' twice")}j[b]=U,delete tt[b],lt.hasOwnProperty(b)&&(U=lt[b],delete lt[b],U.forEach(he=>he()))}function Tt(b){N(b.M.P.N.name+" instance already deleted")}function Gt(){}function K(b,U,ee){if(b[U].S===void 0){var se=b[U];b[U]=function(){return b[U].S.hasOwnProperty(arguments.length)||N("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+b[U].S+")!"),b[U].S[arguments.length].apply(this,arguments)},b[U].S=[],b[U].S[se.Z]=se}}function He(b,U){t.hasOwnProperty(b)?(N("Cannot register public name '"+b+"' twice"),K(t,b,b),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[b].S[void 0]=U):t[b]=U}function ze(b,U,ee,se,he,xe,Pe,Ne){this.name=b,this.constructor=U,this.X=ee,this.W=se,this.R=he,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function st(b,U,ee){for(;U!==ee;)U.ba||N("Expected null or instance of "+ee.name+", got an instance of "+U.name),b=U.ba(b),U=U.R;return b}function pt(b,U){return U===null?(this.ea&&N("null is not a valid "+this.name),0):(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),st(U.M.O,U.M.P.N,this.N))}function jt(b,U){if(U===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var ee=this.fa();return b!==null&&b.push(this.W,ee),ee}return 0}if(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&U.M.P.ca&&N("Cannot convert argument of type "+(U.M.U?U.M.U.name:U.M.P.name)+" to parameter type "+this.name),ee=st(U.M.O,U.M.P.N,this.N),this.da)switch(U.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:U.M.U===this?ee=U.M.T:N("Cannot convert argument of type "+(U.M.U?U.M.U.name:U.M.P.name)+" to parameter type "+this.name);break;case 1:ee=U.M.T;break;case 2:if(U.M.U===this)ee=U.M.T;else{var se=U.clone();ee=this.xa(ee,Be(function(){se.delete()})),b!==null&&b.push(this.W,ee)}break;default:N("Unsupporting sharing policy")}return ee}function rn(b,U){return U===null?(this.ea&&N("null is not a valid "+this.name),0):(U.M||N('Cannot pass "'+hs(U)+'" as a '+this.name),U.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),U.M.P.ca&&N("Cannot convert argument of type "+U.M.P.name+" to parameter type "+this.name),st(U.M.O,U.M.P.N,this.N))}function on(b,U,ee,se){this.name=b,this.N=U,this.ea=ee,this.ca=se,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,U.R!==void 0?this.toWireType=jt:(this.toWireType=se?pt:rn,this.V=null)}function hi(b,U){t.hasOwnProperty(b)||ct("Replacing nonexistant public symbol"),t[b]=U,t[b].Z=void 0}function an(b,U){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),b.includes("j")){var se=t["dynCall_"+b];se=ee&&ee.length?se.apply(null,[U].concat(ee)):se.call(null,U)}else se=D.get(U).apply(null,ee);return se}}function cn(b,U){b=H(b);var ee=b.includes("j")?an(b,U):D.get(U);return typeof ee!="function"&&N("unknown function pointer with signature "+b+": "+U),ee}var bi=void 0;function us(b,U){function ee(xe){he[xe]||j[xe]||(tt[xe]?tt[xe].forEach(ee):(se.push(xe),he[xe]=!0))}var se=[],he={};throw U.forEach(ee),new bi(b+": "+se.map(w).join([", "]))}function Fs(b,U,ee,se,he){var xe=U.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=U[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function vr(b){4>2])};case 3:return function(ee){return this.fromWireType(M[ee>>3])};default:throw new TypeError("Unknown float type: "+b)}}function Zl(b,U,ee){switch(U){case 0:return ee?function(se){return E[se]}:function(se){return C[se]};case 1:return ee?function(se){return I[se>>1]}:function(se){return p[se>>1]};case 2:return ee?function(se){return y[se>>2]}:function(se){return v[se>>2]};default:throw new TypeError("Unknown integer type: "+b)}}function Gu(b,U){for(var ee="",se=0;!(se>=U/2);++se){var he=I[b+2*se>>1];if(he==0)break;ee+=String.fromCharCode(he)}return ee}function Hu(b,U,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var se=U;ee=ee<2*b.length?ee/2:b.length;for(var he=0;he>1]=b.charCodeAt(he),U+=2;return I[U>>1]=0,U-se}function zu(b){return 2*b.length}function V(b,U){for(var ee=0,se="";!(ee>=U/4);){var he=y[b+4*ee>>2];if(he==0)break;++ee,65536<=he?(he-=65536,se+=String.fromCharCode(55296|he>>10,56320|he&1023)):se+=String.fromCharCode(he)}return se}function ge(b,U,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var se=U;ee=se+ee-4;for(var he=0;he=xe){var Pe=b.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Pe&1023}if(y[U>>2]=xe,U+=4,U+4>ee)break}return y[U>>2]=0,U-se}function Ce(b){for(var U=0,ee=0;ee=se&&++ee,U+=4}return U}var we={};function ye(b){var U=we[b];return U===void 0?H(b):U}var Xe=[];function At(b){var U=Xe.length;return Xe.push(b),U}function yt(b,U){for(var ee=Array(b),se=0;se>2],"parameter "+se);return ee}var Ct=[],_t=[null,[],[]];G=t.BindingError=z("BindingError"),t.count_emval_handles=function(){for(var b=0,U=5;USt;++St)wt[St]=String.fromCharCode(St);Se=wt,t.getInheritedInstanceCount=function(){return Object.keys(le).length},t.getLiveInheritedInstances=function(){var b=[],U;for(U in le)le.hasOwnProperty(U)&&b.push(le[U]);return b},t.flushPendingDeletes=te,t.setDelayFunction=function(b){ue=b,me.length&&ue&&ue(te)},qe=t.InternalError=z("InternalError"),Gt.prototype.isAliasOf=function(b){if(!(this instanceof Gt&&b instanceof Gt))return!1;var U=this.M.P.N,ee=this.M.O,se=b.M.P.N;for(b=b.M.O;U.R;)ee=U.ba(ee),U=U.R;for(;se.R;)b=se.ba(b),se=se.R;return U===se&&ee===b},Gt.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var b=Le,U=Object,ee=U.create,se=Object.getPrototypeOf(this),he=this.M;return b=b(ee.call(U,se,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),b.M.count.value+=1,b.M.$=!1,b},Gt.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Gt.prototype.isDeleted=function(){return!this.M.O},Gt.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},on.prototype.qa=function(b){return this.ka&&(b=this.ka(b)),b},on.prototype.ha=function(b){this.W&&this.W(b)},on.prototype.argPackAdvance=8,on.prototype.readValueFromPointer=mt,on.prototype.deleteObject=function(b){b!==null&&b.delete()},on.prototype.fromWireType=function(b){function U(){return this.da?It(this.N.X,{P:this.wa,O:ee,U:this,T:b}):It(this.N.X,{P:this,O:b})}var ee=this.qa(b);if(!ee)return this.ha(b),null;var se=Ve(this.N,ee);if(se!==void 0)return se.M.count.value===0?(se.M.O=ee,se.M.T=b,se.clone()):(se=se.clone(),this.ha(b),se);if(se=this.N.pa(ee),se=Je[se],!se)return U.call(this);se=this.ca?se.la:se.pointerType;var he=Re(ee,this.N,se.N);return he===null?U.call(this):this.da?It(se.N.X,{P:se,O:he,U:this,T:b}):It(se.N.X,{P:se,O:he})},bi=t.UnboundTypeError=z("UnboundTypeError");var mn=typeof atob=="function"?atob:function(b){var U="",ee=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(ee++));se=se<<2|he>>4,he=(he&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;U+=String.fromCharCode(se),xe!==64&&(U+=String.fromCharCode(he)),Pe!==64&&(U+=String.fromCharCode(Ne))}while(eePe.ta).concat(he.map(Pe=>Pe.za));Bt([b],xe,Pe=>{var Ne={};return he.forEach((Ue,Fe)=>{var We=Pe[Fe],gt=Ue.ra,Xt=Ue.sa,Tn=Pe[Fe+he.length],Kt=Ue.ya,si=Ue.Aa;Ne[Ue.oa]={read:di=>We.fromWireType(gt(Xt,di)),write:(di,ds)=>{var Wr=[];Kt(si,di,Tn.toWireType(Wr,ds)),Qt(Wr)}}}),[{name:U.name,fromWireType:function(Ue){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(Ue);return se(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var gt=ee();for(We in Ne)Ne[We].write(gt,Fe[We]);return Ue!==null&&Ue.push(se,gt),gt},argPackAdvance:8,readValueFromPointer:mt,V:se}]})},v:function(){},B:function(b,U,ee,se,he){var xe=Vt(ee);U=H(U),Ht(b,{name:U,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?se:he},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=I;else if(ee===4)Ne=y;else throw new TypeError("Unknown boolean type size: "+U);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(b,U,ee,se,he,xe,Pe,Ne,Ue,Fe,We,gt,Xt){We=H(We),xe=cn(he,xe),Ne&&(Ne=cn(Pe,Ne)),Fe&&(Fe=cn(Ue,Fe)),Xt=cn(gt,Xt);var Tn=Ae(We);He(Tn,function(){us("Cannot construct "+We+" due to unbound types",[se])}),Bt([b,U,ee],se?[se]:[],function(Kt){if(Kt=Kt[0],se)var si=Kt.N,di=si.X;else di=Gt.prototype;Kt=_e(Tn,function(){if(Object.getPrototypeOf(this)!==ds)throw new G("Use 'new' to construct "+We);if(Wr.Y===void 0)throw new G(We+" has no accessible constructor");var $l=Wr.Y[arguments.length];if($l===void 0)throw new G("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Wr.Y).toString()+") parameters instead!");return $l.apply(this,arguments)});var ds=Object.create(di,{constructor:{value:Kt}});Kt.prototype=ds;var Wr=new ze(We,Kt,ds,Xt,si,xe,Ne,Fe);si=new on(We,Wr,!0,!1),di=new on(We+"*",Wr,!1,!1);var ud=new on(We+" const*",Wr,!1,!0);return Je[b]={pointerType:di,la:ud},hi(Tn,Kt),[si,di,ud]})},d:function(b,U,ee,se,he,xe,Pe){var Ne=As(ee,se);U=H(U),xe=cn(he,xe),Bt([],[b],function(Ue){function Fe(){us("Cannot call "+We+" due to unbound types",Ne)}Ue=Ue[0];var We=Ue.name+"."+U;U.startsWith("@@")&&(U=Symbol[U.substring(2)]);var gt=Ue.N.constructor;return gt[U]===void 0?(Fe.Z=ee-1,gt[U]=Fe):(K(gt,U,We),gt[U].S[ee-1]=Fe),Bt([],Ne,function(Xt){return Xt=Fs(We,[Xt[0],null].concat(Xt.slice(1)),null,xe,Pe),gt[U].S===void 0?(Xt.Z=ee-1,gt[U]=Xt):gt[U].S[ee-1]=Xt,[]}),[]})},p:function(b,U,ee,se,he,xe){0{us("Cannot construct "+Ne.name+" due to unbound types",Pe)},Bt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[U-1]=Fs(Ue,Fe,null,he,xe),[]}),[]})},a:function(b,U,ee,se,he,xe,Pe,Ne){var Ue=As(ee,se);U=H(U),xe=cn(he,xe),Bt([],[b],function(Fe){function We(){us("Cannot call "+gt+" due to unbound types",Ue)}Fe=Fe[0];var gt=Fe.name+"."+U;U.startsWith("@@")&&(U=Symbol[U.substring(2)]),Ne&&Fe.N.ja.push(U);var Xt=Fe.N.X,Tn=Xt[U];return Tn===void 0||Tn.S===void 0&&Tn.className!==Fe.name&&Tn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Xt[U]=We):(K(Xt,U,gt),Xt[U].S[ee-2]=We),Bt([],Ue,function(Kt){return Kt=Fs(gt,Kt,Fe,xe,Pe),Xt[U].S===void 0?(Kt.Z=ee-2,Xt[U]=Kt):Xt[U].S[ee-2]=Kt,[]}),[]})},A:function(b,U){U=H(U),Ht(b,{name:U,fromWireType:function(ee){var se=Ee(ee);return vr(ee),se},toWireType:function(ee,se){return Be(se)},argPackAdvance:8,readValueFromPointer:mt,V:null})},n:function(b,U,ee){ee=Vt(ee),U=H(U),Ht(b,{name:U,fromWireType:function(se){return se},toWireType:function(se,he){return he},argPackAdvance:8,readValueFromPointer:ql(U,ee),V:null})},e:function(b,U,ee,se,he){U=H(U),he===-1&&(he=4294967295),he=Vt(ee);var xe=Ne=>Ne;if(se===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=U.includes("unsigned")?function(Ne,Ue){return Ue>>>0}:function(Ne,Ue){return Ue},Ht(b,{name:U,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Zl(U,he,se!==0),V:null})},b:function(b,U,ee){function se(xe){xe>>=2;var Pe=v;return new he(g,Pe[xe+1],Pe[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][U];ee=H(ee),Ht(b,{name:ee,fromWireType:se,argPackAdvance:8,readValueFromPointer:se},{ua:!0})},o:function(b,U){U=H(U);var ee=U==="std::string";Ht(b,{name:U,fromWireType:function(se){var he=v[se>>2],xe=se+4;if(ee)for(var Pe=xe,Ne=0;Ne<=he;++Ne){var Ue=xe+Ne;if(Ne==he||C[Ue]==0){if(Pe=Pe?f(C,Pe,Ue-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=Ue+1}}else{for(Fe=Array(he),Ne=0;Ne=Ue?Ne++:2047>=Ue?Ne+=2:55296<=Ue&&57343>=Ue?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=he.length;if(Ne=Dn(4+xe+1),Ue=Ne+4,v[Ne>>2]=xe,ee&&Pe){if(Pe=Ue,Ue=xe+1,xe=C,0=We){var gt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|gt&1023}if(127>=We){if(Pe>=Ue)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=Ue)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=Ue)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=Ue)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else U===4&&(se=V,he=ge,xe=Ce,Pe=()=>v,Ne=2);Ht(b,{name:ee,fromWireType:function(Ue){for(var Fe=v[Ue>>2],We=Pe(),gt,Xt=Ue+4,Tn=0;Tn<=Fe;++Tn){var Kt=Ue+4+Tn*U;(Tn==Fe||We[Kt>>Ne]==0)&&(Xt=se(Xt,Kt-Xt),gt===void 0?gt=Xt:(gt+="\0",gt+=Xt),Xt=Kt+U)}return ht(Ue),gt},toWireType:function(Ue,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),gt=Dn(4+We+U);return v[gt>>2]=We>>Ne,he(Fe,gt+4,We+U),Ue!==null&&Ue.push(ht,gt),gt},argPackAdvance:8,readValueFromPointer:mt,V:function(Ue){ht(Ue)}})},k:function(b,U,ee,se,he,xe){Nt[b]={name:H(U),fa:cn(ee,se),W:cn(he,xe),ia:[]}},h:function(b,U,ee,se,he,xe,Pe,Ne,Ue,Fe){Nt[b].ia.push({oa:H(U),ta:ee,ra:cn(se,he),sa:xe,za:Pe,ya:cn(Ne,Ue),Aa:Fe})},C:function(b,U){U=H(U),Ht(b,{va:!0,name:U,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(b,U,ee,se,he){b=Xe[b],U=Ee(U),ee=ye(ee);var xe=[];return v[se>>2]=Be(xe),b(U,ee,xe,he)},t:function(b,U,ee,se){b=Xe[b],U=Ee(U),ee=ye(ee),b(U,ee,null,se)},g:vr,m:function(b,U){var ee=yt(b,U),se=ee[0];U=se.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var he=Ct[U];if(he!==void 0)return he;var xe=Array(b-1);return he=At((Pe,Ne,Ue,Fe)=>{for(var We=0,gt=0;gt>>=0,2147483648=ee;ee*=2){var se=U*(1+.2/ee);se=Math.min(se,b+100663296);var he=Math;se=Math.max(b,se),he=he.min.call(he,2147483648,se+(65536-se%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),R();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(b,U,ee,se){for(var he=0,xe=0;xe>2],Ne=v[U+4>>2];U+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function b(he){t.asm=he.exports,h=t.asm.E,R(),D=t.asm.J,X.unshift(t.asm.F),q--,t.monitorRunDependencies&&t.monitorRunDependencies(q),q==0&&de&&(he=de,de=null,he())}function U(he){b(he.instance)}function ee(he){return Z().then(function(xe){return WebAssembly.instantiate(xe,se)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),J(xe)})}var se={a:Xn};if(q++,t.monitorRunDependencies&&t.monitorRunDependencies(q),t.instantiateWasm)try{return t.instantiateWasm(se,b)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||ae(re)||typeof fetch!="function"?ee(U):fetch(re,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,se).then(U,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(U)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var dn=t.___getTypeName=function(){return(dn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Dn=t._malloc=function(){return(Dn=t._malloc=t.asm.I).apply(null,arguments)},ht=t._free=function(){return(ht=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;de=function b(){$e||Li(),$e||(de=b)};function Li(){function b(){if(!$e&&($e=!0,t.calledRun=!0,!d)){if(ne(X),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var U=t.postRun.shift();_.unshift(U)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Yp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...bH}}const KD=LH(await DH());function $s(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const PH={static:0,relative:1,absolute:2},lI={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},NH={column:0,"column-reverse":1,row:2,"row-reverse":3},UH={"no-wrap":0,wrap:1,"wrap-reverse":2},kH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},FH={visible:0,hidden:1,scroll:2},OH={flex:0,none:1},jD={positionType:(n,e)=>n.setPositionType($s(PH,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent($s(lI,e,4)),alignItems:(n,e)=>n.setAlignItems($s(lI,e,4)),alignSelf:(n,e)=>n.setAlignSelf($s(lI,e,0)),flexDirection:(n,e)=>n.setFlexDirection($s(NH,e,2)),flexWrap:(n,e)=>n.setFlexWrap($s(UH,e,0)),justifyContent:(n,e)=>n.setJustifyContent($s(kH,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow($s(FH,e,0)),display:(n,e)=>n.setDisplay($s(OH,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function IB(n,e,t,i,r){let s=!1,o,a={};r.push(et(()=>{const l=n.value;s&&a_(t,l,o,a,i),o=l}),et(()=>{if(s=e.value,!!s&&o!=null)return a_(t,o,void 0,a,i),()=>{GH(a),a={}}}))}function a_(n,e,t,i,r){const s=l=>i[l]=et(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};MH(()=>e.filterCompare(n,t,s,a,o))}function GH(n){for(const e in n)n[e]()}const UA=100,yB=KD.Config.create();yB.setUseWebDefaults(!0);yB.setPointScaleFactor(UA);function HH(n){return n==="measureFunc"?!0:n in jD}function yo(){const n=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(Rl.Visible),scrollable:n,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0])}}class qD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=KD.Node.create(yB),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),IB(t,this.active,HH,(o,a)=>{jD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*UA+1)/UA,height:Math.ceil(a.height*UA+1)/UA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),zD(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const d=e.indexOf(A);if(d===-1)throw new Error("parent mismatch");return h-d});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&zH(i,c_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=c_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=k>.5;Fc(this.state.maxScrollPosition,X?D:void 0,_?k:void 0),Fc(this.state.scrollable,X,_)}else Fc(this.state.maxScrollPosition,void 0,void 0),Fc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===Rl.Visible;return[s+Math.max(i,S?y:0),o+Math.max(r,S?v:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Fc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function l_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function c_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function zH(n,e){return n.M.O===e.M.O}function xm(n,e,t,i){t!=null&&(cI(t.classes,i),i(t)),e!=null&&(cI(e.classes,i),i(e)),n!=null&&(cI(n.classes,i),i(n))}function cI(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class ZH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=qH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ni?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);u_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:u_(i,r)}addAll(e,t,i,r){xm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function u_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!tz(Vr(t),Vr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function tz(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Jl(n,e,t){return n[yC]=e,n[CC]=t,n}function Co(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function Ua(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const nz=new O,iz=new O,hp=new O,uI=new ut,rz=new Du,sz=new Hn,AI=Math.PI/180;function oz([n,e,t]){return sz.setFromEuler(rz.set(n*AI,e*AI,t*AI))}const az="center",lz="center";function vo(n,{relativeCenter:e,size:t},i){const r=Ot(n,"transformTranslateX",0),s=Ot(n,"transformTranslateY",0),o=Ot(n,"transformTranslateZ",0),a=Ot(n,"transformRotateX",0),l=Ot(n,"transformRotateY",0),A=Ot(n,"transformRotateZ",0),h=Ot(n,"transformScaleX",1),d=Ot(n,"transformScaleY",1),f=Ot(n,"transformScaleZ",1),g=Ot(n,"transformOriginX",az),E=Ot(n,"transformOriginY",lz);return Yt(()=>{if(e.value==null)return;const[C,I]=e.value,p=i.value,y=new ut().makeTranslation(C*p,I*p,0);let v=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,k]=t.value;v=!1,hp.set(-CT[g.value]*D*p,-vT[E.value]*k*p,0),y.multiply(uI.makeTranslation(hp)),hp.negate()}const S=[a.value,l.value,A.value],M=[r.value,-s.value,o.value],R=[h.value,d.value,f.value];return(M.some(D=>D!=0)||S.some(D=>D!=0)||R.some(D=>D!=1))&&y.multiply(uI.compose(nz.fromArray(M).multiplyScalar(p),oz(S),iz.fromArray(R))),v||y.multiply(uI.makeTranslation(hp)),y})}function Bo(n,e,t){t.push(()=>et(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const cz=Math.cos(45/180*Math.PI),hI=[new sn,new sn,new sn,new sn],A_=new O;class uz{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new O(t,i,0).applyMatrix4(e),this.facePlane=new sn(new O(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,d=-t+o;this.planes=[new sn(new O(0,-1,0),h).applyMatrix4(e),new sn(new O(-1,0,0),d).applyMatrix4(e),new sn(new O(0,1,0),l).applyMatrix4(e),new sn(new O(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=hI[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,d=(o.constant-s.constant*a)/A;A_.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,d),l.constant=-A_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;hI[t].normal.dot(i)>cz;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;hI[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let d=0;d<4;d++){const[f,g]=Az[d];h_[d].set(f*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let d=0;d<4;d++){const f=A[d];h=!0;for(let g=0;g<4;g++){const E=h_[g];f.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function Sm(n,{overflow:e,borderInset:t,size:i},r,s){return Yt(()=>{const o=n.value;if(o==null||e.value===Rl.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,d,f]=t.value,g=r.value,E=new uz(o,(h-f)*g/2,(A-d)*g/2,(a-f-h)*g,(l-A-d)*g);return s?.value!=null&&E.min(s.value),E})}const vC=new sn(new O(-1,0,0),Number.MAX_SAFE_INTEGER),Qg=new Float32Array(16);for(let n=0;n<4;n++)vC.normal.toArray(Qg,n*4),Qg[n*4+3]=vC.constant;function rd(n,e,t){const i=[new sn,new sn,new sn,new sn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(vC);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function ZD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function hz(n,e,t){ZD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function dz(n,e,t,i){ZD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function fz(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,d=l.elements.length-1;if(d!=i){const g=h+d,E=h+i;a(E,g,g+1);const C=l.elements[d];l.elements[i]=C,o(C,i)}if(s(h+d),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=f.missingSpace,f=n[--e]}return n.length=e+1,!1}function pz(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const d=n[h];if(d.missingSpace===0)continue;const f=d.missingSpace<0;if(f&&(l||A)){d_(n,t,h,o,Math.abs(d.missingSpace));continue}if(!A&&!f)continue;const g=Math.min(Math.abs(d.missingSpace),Math.abs(a.missingSpace));A?gz(n,t,h,o,g):d_(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),eT=nt($D?.matches??!1);$D?.addEventListener("change",n=>eT.value=n.matches);const mz=nt("system"),Ez=Yt(()=>{switch(mz.value){case"system":return eT.value;case"dark":return!0;case"light":return!1}}),xo={dark:od(()=>Ez.value)},tT={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},nT=Object.keys(tT),Iz=nT.length;function So(n){const e={};for(let t=0;t(n.value?.[0]??0)>tT[i])}return e}function f_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function dI(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Fh(n,e,t){return e.xadvance*n+t}function dp(n,e){return n*e}function BC(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const yz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},Cz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=CB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s0&&r!=null&&l>r)break;const d=n[s+1];(d===" "||d===` -`||d==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function CB(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);fI.set(n,s)}).catch(console.error)}async function xz(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await vz.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new Qz(t,i)}const xC={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},Sz={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function nT(n,e,t,i){const r=nt(void 0),s=Ht(n,"fontFamily",void 0),o=Ht(n,"fontWeight","normal");return i.push(()=>ht(()=>{const a=e?.value??Sz;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=wz(a[l],typeof o.value=="string"?xC[o.value]:o.value);let h=!1;return Bz(A,t,d=>h?void 0:r.value=d),()=>h=!0})),r}function wz(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-_z(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(d=>Vr(d)).join(""):Vr(A),wordBreak:a.value};return i.current=h,(d,f)=>Tz(h,f===Jp.Undefined?void 0:d)})}const iT={"keep-all":yz,"break-all":Iz,"break-word":Cz},fp={};function Tz(n,e){const t=iT[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; +`||d==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function CB(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);fI.set(n,s)}).catch(console.error)}async function Sz(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await Bz.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new Mz(t,i)}const xC={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},wz={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function iT(n,e,t,i){const r=nt(void 0),s=Ot(n,"fontFamily",void 0),o=Ot(n,"fontWeight","normal");return i.push(()=>et(()=>{const a=e?.value??wz;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=_z(a[l],typeof o.value=="string"?xC[o.value]:o.value);let h=!1;return xz(A,t,d=>h?void 0:r.value=d),()=>h=!0})),r}function _z(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-Qz(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(d=>Vr(d)).join(""):Vr(A),wordBreak:a.value};return i.current=h,(d,f)=>bz(h,f===Jp.Undefined?void 0:d)})}const rT={"keep-all":Cz,"break-all":yz,"break-word":vz},fp={};function bz(n,e){const t=rT[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; varying vec2 fontUv; attribute vec4 instanceRGBA; varying vec4 rgba; @@ -3888,9 +3888,9 @@ No matching component was found for: } diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); diffuseColor *= rgba; - `)}}}class Pz extends nn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i,r,s){const o=new Ta;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const f_=new ct,Nz=new ct;function rT(n){return Yt(()=>({font:n.value}))}class Uz{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(Qg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Oh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;Mz(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),f_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(Nz.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),f_.toArray(t.array,e),t.needsUpdate=!0}}class kz{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.rootCameraDistance=t,this.object=i}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new Fz(this.object,t,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:ii.Text,minorIndex:0})),r}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class Fz{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s){this.object=e,this.pixelSize=i,this.rootCameraDistance=r,this.orderInfo=s,this.instanceMaterial=new Lz(t)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;od-f);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let d=this.holeIndicies[0];dht(()=>i.value?.addLayoutChangeListener(()=>{const R=C.current,{size:{value:D},paddingInset:{value:k},borderInset:{value:X}}=r;if(R==null||D==null||k==null||X==null)return;const[_,L]=D,[q,de,J,le]=k,[se,fe,F,Z]=X,ne=_-de-le-fe-Z,Ae=L-q-J-se-F;M.value=bz(R,ne,Ae)})),()=>ht(()=>{const R=l.value;if(R==null||a.value==null)return;const D=new zz(A.getGroup(a.value.majorIndex,R),v,p,y,S,M,t,s,o,h,d,f);return g!=null&&(g.current=D),()=>D.destroy()})),I}const Hz=[];class zz{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,d,f){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=d,this.caretPosition=f,this.unsubscribeInitialList=[ht(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),ht(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-gp(i,this.verticalAlign.peek());const r=Math.floor(t/-dp(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=d.charIndexOffset+d.charLength)continue;const f=this.glyphLines[h][Math.max(i-d.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(f,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:g_(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(ol(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(ht(()=>{const e=this.matrix.value;e!=null&&ol(this.glyphLines,t=>t.updateBaseMatrix(e))}),ht(()=>{const e=this.parentClippingRect?.value;ol(this.glyphLines,t=>t.updateClippingRect(e))}),ht(()=>{const e=this.color.value;ol(this.glyphLines,t=>t.updateColor(e))}),ht(()=>{const e=this.opacity.value;ol(this.glyphLines,t=>t.updateOpacity(e))}),ht(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=gp(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,d=this.group.pixelSize.value;for(let f=0;fI+C){S=L.id;const J=y+d_(i,o,L,S);typeof M[X]=="number"?M[X]=y:M.splice(X,0,J),y+=v+Fh(o,L,s);continue}let q=M[X];for(;Xf.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Bs.constant=0,Bs.normal.set(0,0,1),Bs.applyMatrix4(i),Bs.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Bs,mp)==null)return;const r=Bs.normal.clone();for(let s=0;s<4;s++){const o=Yz[s];if(Bs.copy(o).applyMatrix4(i),(al[s]=Bs.distanceToPoint(mp))<0)return}t.push({distance:mp.distanceTo(e.ray.origin),object:n,point:mp.clone(),uv:new ve(al[0]/(al[0]+al[1]),al[3]/(al[2]+al[3])),normal:r})}}function Fu(n,e,t,i,r){return(s,o)=>{const a=t instanceof zt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,d=o.length;e.call(n,s,o);const f=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=d;E--){const C=o[E];if(C.distance-=l*.01+h*.001+A*1e-5,f!=null){for(let I=0;I<4;I++)if(Bs.copy(f[I]).applyMatrix4(g),Bs.distanceToPoint(C.point)<0){o.splice(E,1);continue e}}}}}const lT=new je(-1,-1,-1),cT={backgroundColor:lT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let pI;function Xl(){if(pI==null){const n={};for(const e in cT)n[e]=e;pI=sd(n)}return pI}function sd(n,e){const t={...cT,...e},i={};for(const s in n){const o=Jz[s],a=t[s];i[n[s]]=(l,A,h,d,f)=>o(l,A,h??a,d,f)}const r=new Float32Array(16);return Oh(r,4,t.backgroundColor,void 0),Oh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Yt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),d=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),f=o.value.some(I=>I>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&d!=lT)&&!f?!1:l==null?!0:!l.value})}}const Jz={backgroundColor:(n,e,t,i,r)=>Oh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Oh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>gI(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>gI(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>gI(n,e+15,t,r)};function Ep(n,e,t,i,r,s){Wz(n,e,t,i,r),s?.(e,1)}function gI(n,e,t,i){n[e]=t,i?.(e,1)}const Xz=new je;function Oh(n,e,t,i){Array.isArray(t)?n.set(t,e):Xz.set(t).toArray(n,e),i?.(e,3)}function uT(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Hr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Hr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),qz(r,e.type==="instanced")},t}class AT extends tm{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),dT(e,this.info.type==="instanced")}}class hT extends em{info;constructor(e){super({depthPacking:Pv}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),dT(e,this.info.type==="instanced")}}const Kz=new hT({type:"instanced"}),jz=new AT({type:"instanced"});function dT(n,e){fT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include - ${pT(e,void 0)} - `)}function fT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include + `)}}}class Nz extends $t{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i,r,s){const o=new Ta;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const p_=new ut,Uz=new ut;function sT(n){return Yt(()=>({font:n.value}))}class kz{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(Qg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Oh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;Rz(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),p_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(Uz.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),p_.toArray(t.array,e),t.needsUpdate=!0}}class Fz{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new Oz(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{majorIndex:e,elementType:ii.Text,minorIndex:0})),r}}class Oz{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s,o,a){this.renderOrder=e,this.object=i,this.pixelSize=s,this.rootCameraDistance=o,this.orderInfo=a,this.instanceMaterial=new Pz(r),this.instanceMaterial.depthTest=t}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;od-f);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let d=this.holeIndicies[0];det(()=>i.value?.addLayoutChangeListener(()=>{const R=C.current,{size:{value:D},paddingInset:{value:k},borderInset:{value:X}}=r;if(R==null||D==null||k==null||X==null)return;const[_,L]=D,[q,de,J,ae]=k,[re,fe,F,Z]=X,ne=_-de-ae-fe-Z,Ae=L-q-J-re-F;M.value=Lz(R,ne,Ae)})),()=>et(()=>{const R=l.value;if(R==null||a.value==null)return;const D=new Vz(A.getGroup(a.value.majorIndex,R),y,p,v,S,M,t,s,o,h,d,f);return g!=null&&(g.current=D),()=>D.destroy()})),I}const zz=[];class Vz{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,d,f){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=d,this.caretPosition=f,this.unsubscribeInitialList=[et(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),et(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-gp(i,this.verticalAlign.peek());const r=Math.floor(t/-dp(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=d.charIndexOffset+d.charLength)continue;const f=this.glyphLines[h][Math.max(i-d.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(f,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:m_(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(ol(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(et(()=>{const e=this.matrix.value;e!=null&&ol(this.glyphLines,t=>t.updateBaseMatrix(e))}),et(()=>{const e=this.parentClippingRect?.value;ol(this.glyphLines,t=>t.updateClippingRect(e))}),et(()=>{const e=this.color.value;ol(this.glyphLines,t=>t.updateColor(e))}),et(()=>{const e=this.opacity.value;ol(this.glyphLines,t=>t.updateOpacity(e))}),et(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=gp(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,d=this.group.pixelSize.value;for(let f=0;fI+C){S=L.id;const J=v+f_(i,o,L,S);typeof M[X]=="number"?M[X]=v:M.splice(X,0,J),v+=y+Fh(o,L,s);continue}let q=M[X];for(;Xf.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Bs.constant=0,Bs.normal.set(0,0,1),Bs.applyMatrix4(i),Bs.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Bs,mp)==null)return;const r=Bs.normal.clone();for(let s=0;s<4;s++){const o=Jz[s];if(Bs.copy(o).applyMatrix4(i),(al[s]=Bs.distanceToPoint(mp))<0)return}t.push({distance:mp.distanceTo(e.ray.origin),object:n,point:mp.clone(),uv:new ve(al[0]/(al[0]+al[1]),al[3]/(al[2]+al[3])),normal:r})}}function Fu(n,e,t,i,r){return(s,o)=>{const a=t instanceof zt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,d=o.length;e.call(n,s,o);const f=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=d;E--){const C=o[E];if(C.distance-=l*.01+h*.001+A*1e-5,f!=null){for(let I=0;I<4;I++)if(Bs.copy(f[I]).applyMatrix4(g),Bs.distanceToPoint(C.point)<0){o.splice(E,1);continue e}}}}}const cT=new je(-1,-1,-1),uT={backgroundColor:cT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let pI;function Xl(){if(pI==null){const n={};for(const e in uT)n[e]=e;pI=sd(n)}return pI}function sd(n,e){const t={...uT,...e},i={};for(const s in n){const o=Xz[s],a=t[s];i[n[s]]=(l,A,h,d,f)=>o(l,A,h??a,d,f)}const r=new Float32Array(16);return Oh(r,4,t.backgroundColor,void 0),Oh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Yt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),d=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),f=o.value.some(I=>I>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&d!=cT)&&!f?!1:l==null?!0:!l.value})}}const Xz={backgroundColor:(n,e,t,i,r)=>Oh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ep(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Oh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>gI(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>gI(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>gI(n,e+15,t,r)};function Ep(n,e,t,i,r,s){Yz(n,e,t,i,r),s?.(e,1)}function gI(n,e,t,i){n[e]=t,i?.(e,1)}const Kz=new je;function Oh(n,e,t,i){Array.isArray(t)?n.set(t,e):Kz.set(t).toArray(n,e),i?.(e,3)}function AT(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Hr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Hr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),Zz(r,e.type==="instanced")},t}class hT extends tm{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),fT(e,this.info.type==="instanced")}}class dT extends em{info;constructor(e){super({depthPacking:Pv}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),fT(e,this.info.type==="instanced")}}const jz=new dT({type:"instanced"}),qz=new hT({type:"instanced"});function fT(n,e){pT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include + ${gT(e,void 0)} + `)}function pT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include out vec4 borderRadius; ${e?"":"uniform highp mat4 data;"}`),n.vertexShader=n.vertexShader.replace("#include ",` #include highp int packedBorderRadius = int(data[1].w); @@ -4019,7 +4019,7 @@ No matching component was found for: borderWeight = normalize(insideBorder); } - #include `)}function pT(n,e){return`float ddx = fwidth(distance.x); + #include `)}function gT(n,e){return`float ddx = fwidth(distance.x); float outer = smoothstep(-ddx, ddx, distance.x); float ddy = fwidth(distance.y); @@ -4042,8 +4042,8 @@ No matching component was found for: if(outOpacity < 0.01) { discard; - }`}function qz(n,e){fT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include - ${pT(e,"diffuseColor.a")} + }`}function Zz(n,e){pT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include + ${gT(e,"diffuseColor.a")} diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); diffuseColor.a = outOpacity; `),n.fragmentShader=n.fragmentShader.replace("#include ",` #include @@ -4054,4 +4054,4 @@ No matching component was found for: float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Kl(n,e,t,i,r){const s=new nn(vB);return s.matrixAutoUpdate=!1,s.raycast=Fu(s,aT(s),e.object,t,n),s.visible=!1,r.push(()=>ht(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class Zz extends nn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i){const r=oT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=Kz,this.customDistanceMaterial=jz}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function jl(n){const e=Ht(n,"panelMaterialClass",rr),t=Ht(n,"castShadow",!1),i=Ht(n,"receiveShadow",!1);return Yt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const _m={panelMaterialClass:rr,castShadow:!1,receiveShadow:!1};class $z{pixelSize;root;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.root=t,this.object=i}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=_m){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);if(a==null){const l=uT(t,{type:"instanced"});s.set(o,a=new e5(this.object,l,this.pixelSize,this.root,{elementType:ii.Panel,majorIndex:e,minorIndex:0},i,r))}return a}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class e5{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{mI(this.instanceMatrix,e,t,i),mI(this.instanceData,e,t,i),mI(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a){this.object=e,this.instanceMaterial=t,this.pixelSize=i,this.root=r,this.orderInfo=s,this.meshReceiveShadow=o,this.meshCastShadow=a}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}insert(e,t){if(this.elementCount+=1,!hz(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!dz(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),fz(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),Az(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new pr(t,16,!1),this.instanceMatrix.setUsage(la);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new pr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(la);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new pr(r,16,!1),this.instanceClipping.setUsage(la),this.mesh=new Zz(this.instanceMatrix,this.instanceData,this.instanceClipping),Jl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function mI(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function ks(n,e,t,i,r,s,o,a,l,A,h,d){return d.push(ht(()=>{if(e.value==null)return;const f=[],g=i.getGroup(e.value.majorIndex,t?.value);return new n5(n,g,e.value.minorIndex,r,s,o,a,l,A,h,f),()=>Ir(f)})),d}const Ip=new ct,t5=new ct;class n5{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,d){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const f=h.setters;IB(e,this.active,h.hasProperty,(E,C)=>{const I=this.getIndexInBuffer();if(I==null)return;const{instanceData:p,instanceDataOnUpdate:v}=this.group;f[E](p.array,p.itemSize*I,C,s,v)},d);const g=h.computedIsVisibile(e,a,s,A);d.push(ht(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(ht(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(Ip.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;Ip.premultiply(t5.makeTranslation(A*a,h*a,0))}Ip.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;Ip.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),ht(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),ht(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),ht(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(Qg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new ct().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Rm(n,e,t,i){return i.push(()=>ht(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function Dm(n,{scrollable:e,maxScrollPosition:t,anyAncestorScrollable:i},r,s,o,a,l){const A=Yt(()=>e.value?.some(E=>E)??!1),h=new Map,d=new ve,f=(E,C,I,p,v)=>{if(n.value==null)return;const[y,S]=E==null?[!1,!1]:i5(E.nativeEvent);y&&(C=0),S&&(I=0);const[M,R]=n.value,[D,k]=t.value;let[X,_]=n.value;const[L,q]=i?.value??[!1,!1];X=m_(M,D,C,v&&!L),_=m_(R,k,I,v&&!q),p!=null&&p>0&&d.set(C,I).divideScalar(p),E!=null&&r5(E.nativeEvent,y||Math.min(M,(D??0)-M)>5,S||Math.min(R,(k??0)-R)>5),!(s.peek()?.onScroll?.(X,_,n,E)===!1||M===X&&R===_)&&(n.value=[X,_])},g=E=>{if(h.size>0||n.value==null)return;let C=0,I=0;const[p,v]=n.value,[y,S]=t.value;C+=SC(p,0,y??0)*-.3,I+=SC(v,0,S??0)*-.3,C+=d.x*E,I+=d.y*E,d.multiplyScalar(.9),Math.abs(d.x)<.01&&(d.x=0),Math.abs(d.y)<.01&&(d.y=0),!(C===0&&I===0)&&f(void 0,C,I,void 0,!0)};return l.push(()=>(a.add(g),()=>a.delete(g))),Yt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:C})=>{let I=h.get(E.pointerId);I==null&&h.set(E.pointerId,I={timestamp:0,point:new O}),I.timestamp=performance.now()/1e3,r.current.worldToLocal(I.point.copy(C))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const C=h.get(E.nativeEvent.pointerId);if(C==null)return;r.current.worldToLocal(II.copy(E.point)),EI.copy(II).sub(C.point).divideScalar(o.peek());const I=performance.now()/1e3,p=I-C.timestamp;C.point.copy(II),C.timestamp=I,!E.defaultPrevented&&f(E,-EI.x,EI.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:C}=E;f(E,C.deltaX,C.deltaY,void 0,!1)}}})}const gT=Symbol("was-scrolled");function i5(n){return n[gT]??[!1,!1]}function r5(n,e,t){n[gT]=[e,t]}function m_(n,e,t,i){if(t===0)return n;const r=SC(n,0,e??0);E_(t)===E_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:wm(s,0,e??0)}function E_(n){return n>=0}function SC(n,e,t){return nt?n-t:0}const s5=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Tm(n,e,t,i,r,s,o,a,l){const A=Ii(void 0,ii.Panel,_m,o),h=Ht(n,"scrollbarWidth",10),d=BB(n,s5);y_(n,0,e,t,i,r,s,A,a,h,d,l),y_(n,1,e,t,i,r,s,A,a,h,d,l)}let I_;function o5(){return I_??=sd({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),I_}function y_(n,e,t,i,r,s,o,a,l,A,h,d){const f=Yt(()=>a5(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Yt(()=>f.value?.slice(0,2)??[0,0]),E=Yt(()=>f.value?.slice(2,4)??[0,0]);d.push(C=>ks(n,a,void 0,l,r,E,g,h,o,s,o5(),C))}function a5(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),d=A-h,f=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-d*wm(f/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function l5(n,e,t,i,r){let s=!1;if(xm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};Dl("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),Dl("onPointerUp",n,o),Dl("onPointerLeave",n,o)}function wo(n){return{active:od(()=>n.value.length>0)}}function Fa(n,e){return Yt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function mT(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ni)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(ht(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function Oa(n,e,t,i,r,s){s.push(o=>{const a=new jD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(ht(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const C_=new Map,bm={keepAspectRatio:(n,e)=>{let t=C_.get(n);t==null&&C_.set(n,t=Yt(()=>Vr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function _o(n,e,t,i,r,s,o){return Yt(()=>{const a={};return c5(a,s?.value),G5(a,n.value,e.value,t.value,i,o),l5(a,n.value,e.value,t.value,r),a})}function c5(n,e){for(const t in e)Dl(t,n,e[t])}function Dl(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function Qo(n,e,t,i,r,s){return Yt(()=>{const o=new qH(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const v_=new je;function ET(n,e,t){const i=Ht(n,"color",void 0),r=Ht(n,"opacity",1);t.push(()=>ht(()=>{let s;Array.isArray(i.value)?s=v_.setRGB(...i.value):i.value!=null&&(s=v_.set(i.value)),Vr(e)?.traverse(o=>{if(!(o instanceof nn))return;const a=o.material;a.color.copy(s??o.userData.color),a.opacity=r.value})}))}const u5=.01,B_=new O,yp=new sn,Cp=nt(new ct);function A5(n,e,t,i,r,s,o,a){const l=nt([0,0]),A=nt([]),h=nt([]),d=[];Ro(A,d);const f=Yt(()=>Vr(e.value?.pixelSize)??u5),g=Qo(n,e,t,{...xo,...So(l),...Do(A),...wo(h)},{...x_(f,"sizeX","width"),...x_(f,"sizeY","height")}),E=nt(void 0),C=h5(a,E,d),I=yo(void 0);d.push(de=>{const J=new jD(I,g,C,i,de);return E.value=J,de});const p=vo(g,I,f),v=g5(g,p,I.size,f);Bo(i,v,d);const y=jl(g),S=Ii(void 0,ii.Panel,y,void 0),M={cameraDistance:0},R=new $z(f,M,i);d.push(()=>(a.add(R.onFrame),()=>a.delete(R.onFrame)));const D=()=>{if(i.current==null){M.cameraDistance=0;return}yp.normal.set(0,0,1),yp.constant=0,yp.applyMatrix4(i.current.matrixWorld),B_.setFromMatrixPosition(s().matrixWorld),M.cameraDistance=yp.distanceToPoint(B_)};d.push(()=>(a.add(D),()=>a.delete(D))),d.push(de=>ks(g,S,y,R,Cp,I.size,void 0,I.borderInset,void 0,void 0,Xl(),de));const k=Qm();Rm(r,k,f,d);const X=Mm(k,Cp,f);Tm(g,k,I,Cp,void 0,void 0,S,R,d);const _=Dm(k,I,i,e,f,a,d);Co(n,e,I.size,d);const L=new kz(f,M,i);d.push(()=>(a.add(L.onFrame),()=>a.delete(L.onFrame)));const q=Object.assign(M,{requestCalculateLayout:C,onFrameSet:a,cameraDistance:0,gylphGroupManager:L,object:i,panelGroupManager:R,pixelSize:f,renderer:o,size:I.size});return Object.assign(I,{clippingRect:Sm(Cp,I,f,void 0),childrenMatrix:X,node:E,orderInfo:S,initializers:d,interactionPanel:Kl(S,q,void 0,I.size,d),handlers:_o(n,e,t,A,h,_),root:q})}function h5(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function x_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Yt(()=>{const a=Vr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const d5=new ct,f5="center",p5="center";function g5(n,e,t,i){const r=Ht(n,"anchorX",f5),s=Ht(n,"anchorY",p5);return Yt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(d5.makeTranslation(yT[r.value]*o*i.value,CT[s.value]*a*i.value,0))})}function m5(n,e,t,i,r,s){const o=nt(void 0),a=yo(n.anyAncestorScrollable),l=nt([]),A=nt([]),h=[];Ro(l,h);const d=Qo(e,t,i,{...xo,...So(n.root.size),...Do(l),...wo(A)});Oa(o,a,n,d,r,h);const f=vo(d,a,n.root.pixelSize);Bo(r,f,h);const g=Fa(n.childrenMatrix,f),E=ka(n.clippingRect,g,a.size,n.root.pixelSize),C=jl(d),I=Ii(d,ii.Panel,C,n.orderInfo);h.push(S=>ks(d,I,C,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Xl(),S));const p=Qm();Rm(s,p,n.root.pixelSize,h);const v=Mm(p,g,n.root.pixelSize);Tm(d,p,a,g,E,n.clippingRect,I,n.root.panelGroupManager,h);const y=Dm(p,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return Co(e,t,a.size,h),Ua(e,t,E,h),Object.assign(a,{clippingRect:Sm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:v,node:o,orderInfo:I,root:n.root,scrollPosition:p,interactionPanel:Kl(I,n.root,n.clippingRect,a.size,h),handlers:_o(e,t,i,l,A,y),initializers:h})}const E5="fill";function I5(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);Ro(A,a);const d=Yt(()=>Vr(e.value));mT(l,B5,a,d);const f=Yt(()=>{const k=l.value;if(k==null)return;const X=k.source.data;return X.width/X.height}),g=Qo(t,i,r,{...xo,...So(n.root.size),...Do(A),...wo(h)},bm,k=>k.add("aspectRatio",f)),E=nt(void 0),C=yo(n.anyAncestorScrollable);Oa(E,C,n,g,s,a);const I=vo(g,C,n.root.pixelSize);Bo(s,I,a);const p=Fa(n.childrenMatrix,I),v=ka(n.clippingRect,p,C.size,n.root.pixelSize),y=Yt(()=>v.value||l.value==null),S=Ii(g,ii.Image,void 0,n.orderInfo),M=Qm();Rm(o,M,n.root.pixelSize,a);const R=Mm(M,p,n.root.pixelSize);Tm(g,M,C,p,v,n.clippingRect,S,n.root.panelGroupManager,a);const D=Dm(M,C,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Co(t,i,C.size,a),Ua(t,i,v,a),Object.assign(C,{initializers:a,handlers:_o(t,i,r,A,h,D),interactionPanel:y5(g,l,n,C,S,n.root,y,a),clippingRect:Sm(p,C,n.root.pixelSize,n.clippingRect),childrenMatrix:R,node:E,orderInfo:S,root:n.root})}let S_;function IT(){return S_??=sd({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),S_}function y5(n,e,t,i,r,s,o,a){const l=new nn(vB);l.matrixAutoUpdate=!1;const A=rd(s,t.clippingRect,a),h=IT().computedIsVisibile(n,i.borderInset,i.size,o);return x5(n,l,i.size,i.borderInset,h,A,a),l.raycast=Fu(l,aT(l),s.object,t.clippingRect,r),Jl(l,s,r),C5(n,e,i.borderInset,i.size,a),a.push(()=>ht(()=>l.visible=h.value)),a.push(()=>ht(()=>{const d=e.value??null;l.material.map!==d&&(l.material.map=d,l.material.needsUpdate=!0)}),()=>ht(()=>{if(i.size.value==null)return;const[d,f]=i.size.value,g=t.root.pixelSize.value;l.scale.set(d*g,f*g,1),l.updateMatrix()})),l}function C5(n,e,t,i,r){const s=Ht(n,"fit",E5);r.push(()=>ht(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){w_(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,d]=i.value,[f,g,E,C]=t.value,I=(h-C-g)/(d-f-E);A>I?o.matrix.translate(-(.5*(I-A))/I,0).scale(I/A,1):o.matrix.translate(0,-(.5*(A-I))/A).scale(1,A/I),w_(t,i,o)}))}function w_(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const v5=new ym;async function B5(n){if(n==null)return Promise.resolve(void 0);if(n instanceof Sn)return Promise.resolve(n);try{const e=await v5.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function x5(n,e,t,i,r,s,o){const a=new Float32Array(16),l={data:a,type:"normal"};e.customDepthMaterial=new hT(l),e.customDistanceMaterial=new AT(l),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const A=Ht(n,"panelMaterialClass",rr);o.push(()=>ht(()=>{e.material=uT(A.value,l),e.material.clippingPlanes=s}),()=>ht(()=>e.castShadow=n.value.read("castShadow",!1)),()=>ht(()=>e.receiveShadow=n.value.read("receiveShadow",!1)));const h=IT(),d=[];o.push(()=>ht(()=>{if(r.value)return a.set(h.defaultData),d.push(ht(()=>t.value!=null&&a.set(t.value,13)),ht(()=>i.value!=null&&a.set(i.value,0))),()=>Ir(d)}));const f=h.setters;o.push(g=>(IB(n,r,h.hasProperty,(E,C)=>f[E](a,0,C,t,void 0),g),g))}function S5(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];Ro(a,A);const h=Qo(i,r,s,{...xo,...So(n.root.size),...Do(a),...wo(l)}),d=nt(void 0),f=yo(n.anyAncestorScrollable);Oa(d,f,n,h,o,A);const g=vo(h,f,n.root.pixelSize);Bo(o,g,A);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,f.size,n.root.pixelSize),I=jl(h),p=Ii(h,ii.Panel,I,n.orderInfo);A.push(M=>ks(h,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Xl(),M));const v=nT(h,t,n.root.renderer,A),y=Ii(void 0,ii.Text,rT(v),p),S=sT(h,e,E,d,f,C,n.clippingRect,y,v,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>ht(()=>d.value?.setMeasureFunc(S))),Co(i,r,f.size,A),Ua(i,r,C,A),Object.assign(f,{interactionPanel:Kl(p,n.root,n.clippingRect,f.size,A),handlers:_o(i,r,s,a,l),initializers:A})}const w5=Nn;class Ou extends Xi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Ps(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(W,z){if(W.nodeType!==1)return;const G=S(W);let N=!1,Ee=null;switch(W.nodeName){case"svg":z=E(W,z);break;case"style":s(W);break;case"g":z=E(W,z);break;case"path":z=E(W,z),W.hasAttribute("d")&&(Ee=r(W));break;case"rect":z=E(W,z),Ee=l(W);break;case"polygon":z=E(W,z),Ee=A(W);break;case"polyline":z=E(W,z),Ee=h(W);break;case"circle":z=E(W,z),Ee=d(W);break;case"ellipse":z=E(W,z),Ee=f(W);break;case"line":z=E(W,z),Ee=g(W);break;case"defs":N=!0;break;case"use":z=E(W,z);const Se=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),H=W.viewportElement.getElementById(Se);H?i(H,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(z.fill!==void 0&&z.fill!=="none"&&Ee.color.setStyle(z.fill,w5),R(Ee,Ae),q.push(Ee),Ee.userData={node:W,style:z});const Be=W.childNodes;for(let pe=0;pe0?Ae.copy(J[J.length-1]):Ae.identity())}function r(W){const z=new ea,G=new ve,N=new ve,Ee=new ve;let Be=!0,pe=!1;const Se=W.getAttribute("d");if(Se===""||Se==="none")return null;const H=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=H.length;me0&&(G.copy(Ee),z.currentPath.currentPoint.copy(G),Be=!0);break;default:console.warn(ue)}pe=!1}return z}function s(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let z=0;zEe.trim());for(let Ee=0;Eepe!==""));de[N[Ee]]=Object.assign(de[N[Ee]]||{},Be)}}}function o(W,z,G,N,Ee,Be,pe,Se){if(z==0||G==0){W.lineTo(Se.x,Se.y);return}N=N*Math.PI/180,z=Math.abs(z),G=Math.abs(G);const H=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,te=Math.cos(N)*H+Math.sin(N)*me,ue=-Math.sin(N)*H+Math.cos(N)*me;let ae=z*z,De=G*G;const j=te*te,w=ue*ue,T=j/ae+w/De;if(T>1){const Le=Math.sqrt(T);z=Le*z,G=Le*G,ae=z*z,De=G*G}const ie=ae*w+De*j,be=(ae*De-ie)/ie;let Te=Math.sqrt(Math.max(0,be));Ee===Be&&(Te=-Te);const Re=Te*z*ue/G,Je=-Te*G*te/z,Ve=Math.cos(N)*Re-Math.sin(N)*Je+(pe.x+Se.x)/2,qe=Math.sin(N)*Re+Math.cos(N)*Je+(pe.y+Se.y)/2,lt=a(1,0,(te-Re)/z,(ue-Je)/G),It=a((te-Re)/z,(ue-Je)/G,(-te-Re)/z,(-ue-Je)/G)%(Math.PI*2);W.currentPath.absellipse(Ve,qe,z,G,lt,lt+It,Be===0,N)}function a(W,z,G,N){const Ee=W*G+z*N,Be=Math.sqrt(W*W+z*z)*Math.sqrt(G*G+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return W*N-z*G<0&&(pe=-pe),pe}function l(W){const z=y(W.getAttribute("x")||0),G=y(W.getAttribute("y")||0),N=y(W.getAttribute("rx")||W.getAttribute("ry")||0),Ee=y(W.getAttribute("ry")||W.getAttribute("rx")||0),Be=y(W.getAttribute("width")),pe=y(W.getAttribute("height")),Se=1-.551915024494,H=new ea;return H.moveTo(z+N,G),H.lineTo(z+Be-N,G),(N!==0||Ee!==0)&&H.bezierCurveTo(z+Be-N*Se,G,z+Be,G+Ee*Se,z+Be,G+Ee),H.lineTo(z+Be,G+pe-Ee),(N!==0||Ee!==0)&&H.bezierCurveTo(z+Be,G+pe-Ee*Se,z+Be-N*Se,G+pe,z+Be-N,G+pe),H.lineTo(z+N,G+pe),(N!==0||Ee!==0)&&H.bezierCurveTo(z+N*Se,G+pe,z,G+pe-Ee*Se,z,G+pe-Ee),H.lineTo(z,G+Ee),(N!==0||Ee!==0)&&H.bezierCurveTo(z,G+Ee*Se,z+N*Se,G,z+N,G),H}function A(W){function z(Be,pe,Se){const H=y(pe),me=y(Se);Ee===0?N.moveTo(H,me):N.lineTo(H,me),Ee++}const G=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new ea;let Ee=0;return W.getAttribute("points").replace(G,z),N.currentPath.autoClose=!0,N}function h(W){function z(Be,pe,Se){const H=y(pe),me=y(Se);Ee===0?N.moveTo(H,me):N.lineTo(H,me),Ee++}const G=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new ea;let Ee=0;return W.getAttribute("points").replace(G,z),N.currentPath.autoClose=!1,N}function d(W){const z=y(W.getAttribute("cx")||0),G=y(W.getAttribute("cy")||0),N=y(W.getAttribute("r")||0),Ee=new ya;Ee.absarc(z,G,N,0,Math.PI*2);const Be=new ea;return Be.subPaths.push(Ee),Be}function f(W){const z=y(W.getAttribute("cx")||0),G=y(W.getAttribute("cy")||0),N=y(W.getAttribute("rx")||0),Ee=y(W.getAttribute("ry")||0),Be=new ya;Be.absellipse(z,G,N,Ee,0,Math.PI*2);const pe=new ea;return pe.subPaths.push(Be),pe}function g(W){const z=y(W.getAttribute("x1")||0),G=y(W.getAttribute("y1")||0),N=y(W.getAttribute("x2")||0),Ee=y(W.getAttribute("y2")||0),Be=new ea;return Be.moveTo(z,G),Be.lineTo(N,Ee),Be.currentPath.autoClose=!1,Be}function E(W,z){z=Object.assign({},z);let G={};if(W.hasAttribute("class")){const pe=W.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&z.premultiply(J[J.length-1]),Ae.copy(z),J.push(z),z}function M(W){const z=new Mt,G=le;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const N=y(W.getAttribute("x")),Ee=y(W.getAttribute("y"));z.translate(N,Ee)}if(W.hasAttribute("transform")){const N=W.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const Be=N[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),Se=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),G.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,ae=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],ae=me[2]),se.makeTranslation(-ue,-ae),fe.makeRotation(te),F.multiplyMatrices(fe,se),se.makeTranslation(ue,ae),G.multiplyMatrices(se,F)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),G.scale(te,ue)}break;case"skewX":me.length===1&&G.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&G.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&G.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}z.premultiply(G)}}return z}function R(W,z){function G(pe){ne.set(pe.x,pe.y,1).applyMatrix3(z),pe.set(ne.x,ne.y)}function N(pe){const Se=pe.xRadius,H=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new O(Se*me,Se*te,0),ae=new O(-H*te,H*me,0),De=ue.applyMatrix3(z),j=ae.applyMatrix3(z),w=le.set(De.x,j.x,0,De.y,j.y,0,0,0,1),T=se.copy(w).invert(),Te=fe.copy(T).transpose().multiply(T).elements,Re=L(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:mt,y:at}=new O(Math.cos(Qt),Math.sin(Qt),0).applyMatrix3(Le);return Math.atan2(at,mt)};pe.aStartAngle=Nt(pe.aStartAngle),pe.aEndAngle=Nt(pe.aEndAngle),D(z)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=X(z),H=_(z);pe.xRadius*=Se,pe.yRadius*=H;const me=Se>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);pe.aRotation+=me,D(z)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=W.subPaths;for(let pe=0,Se=Be.length;peNumber.EPSILON}function X(W){const z=W.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _(W){const z=W.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function L(W,z,G){let N,Ee,Be,pe,Se;const H=W+G,me=W-G,te=Math.sqrt(me*me+4*z*z);return H>0?(N=.5*(H+te),Se=1/N,Ee=W*Se*G-z*Se*z):H<0?Ee=.5*(H-te):(N=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(z)?(Se=-2*z/Be,pe=1/Math.sqrt(1+Se*Se),Be=Se*pe):Math.abs(z)===0?(Be=1,pe=0):(Se=-.5*Be/z,Be=1/Math.sqrt(1+Se*Se),pe=Se*Be),me>0&&(Se=Be,Be=-pe,pe=Se),{rt1:N,rt2:Ee,cs:Be,sn:pe}}const q=[],de={},J=[],le=new Mt,se=new Mt,fe=new Mt,F=new Mt,Z=new ve,ne=new O,Ae=new Mt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:q,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(C,I,p,v){const y=C.x,S=I.x,M=p.x,R=v.x,D=C.y,k=I.y,X=p.y,_=v.y,L=(R-M)*(D-X)-(_-X)*(y-M),q=(S-y)*(D-X)-(k-D)*(y-M),de=(_-X)*(S-y)-(R-M)*(k-D),J=L/de,le=q/de;if(de===0&&L!==0||J<=0||J>=1||le<0||le>1)return null;if(L===0&&de===0){for(let se=0;se<2;se++)if(o(se===0?p:v,C,I),r.loc==i.ORIGIN){const fe=se===0?p:v;return{x:fe.x,y:fe.y,t:r.t}}else if(r.loc==i.BETWEEN){const fe=+(y+r.t*(S-y)).toPrecision(10),F=+(D+r.t*(k-D)).toPrecision(10);return{x:fe,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?p:v,C,I),r.loc==i.ORIGIN){const Z=F===0?p:v;return{x:Z.x,y:Z.y,t:r.t}}const se=+(y+J*(S-y)).toPrecision(10),fe=+(D+J*(k-D)).toPrecision(10);return{x:se,y:fe,t:J}}}function o(C,I,p){const v=p.x-I.x,y=p.y-I.y,S=C.x-I.x,M=C.y-I.y,R=v*M-S*y;if(C.x===I.x&&C.y===I.y){r.loc=i.ORIGIN,r.t=0;return}if(C.x===p.x&&C.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=i.LEFT;return}if(R>Number.EPSILON){r.loc=i.RIGHT;return}if(v*S<0||y*M<0){r.loc=i.BEHIND;return}if(Math.sqrt(v*v+y*y)_.t<=X.t+Number.EPSILON&&_.t>=X.t-Number.EPSILON)===void 0&&(p.push(X),v.push(new ve(X.x,X.y)))}}return v}function l(C,I,p){const v=new ve;I.getCenter(v);const y=[];return p.forEach(S=>{S.boundingBox.containsPoint(v)&&a(C,S.points).forEach(R=>{y.push({identifier:S.identifier,isCW:S.isCW,point:R})})}),y.sort((S,M)=>S.point.x-M.point.x),y}function A(C,I,p,v,y){(y==null||y==="")&&(y="nonzero");const S=new ve;C.boundingBox.getCenter(S);const M=[new ve(p,S.y),new ve(v,S.y)],R=l(M,C.boundingBox,I);R.sort((q,de)=>q.point.x-de.point.x);const D=[],k=[];R.forEach(q=>{q.identifier===C.identifier?D.push(q):k.push(q)});const X=D[0].point.x,_=[];let L=0;for(;L0&&_[_.length-1]===k[L].identifier?_.pop():_.push(k[L].identifier),L++;if(_.push(C.identifier),y==="evenodd"){const q=_.length%2===0,de=_[_.length-2];return{identifier:C.identifier,isHole:q,for:de}}else if(y==="nonzero"){let q=!0,de=null,J=null;for(let le=0;le<_.length;le++){const se=_[le];q?(J=I[se].isCW,q=!1,de=se):J!==I[se].isCW&&(J=I[se].isCW,q=!0)}return{identifier:C.identifier,isHole:q,for:de}}else console.warn('fill-rule: "'+y+'" is currently not implemented.')}let h=999999999,d=-999999999,f=e.subPaths.map(C=>{const I=C.getPoints();let p=-999999999,v=999999999,y=-999999999,S=999999999;for(let M=0;Mp&&(p=R.y),R.yy&&(y=R.x),R.x=S&&(h=S-1),{curves:C.curves,points:I,isCW:ss.isClockWise(I),identifier:-1,boundingBox:new dD(new ve(S,v),new ve(y,p))}});f=f.filter(C=>C.points.length>1);for(let C=0;CA(C,f,h,d,e.userData?e.userData.style.fillRule:void 0)),E=[];return f.forEach(C=>{if(!g[C.identifier].isHole){const p=new Ca;p.curves=C.curves,g.filter(y=>y.isHole&&y.for===C.identifier).forEach(y=>{const S=f[y.identifier],M=new ya;M.curves=S.curves,p.holes.push(M)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Ou.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Pt;return l.setAttribute("position",new ot(s,3)),l.setAttribute("normal",new ot(o,3)),l.setAttribute("uv",new ot(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,h=new ve,d=new ve,f=new ve,g=new ve,E=new ve,C=new ve,I=new ve,p=new ve,v=new ve,y=new ve,S=new ve,M=new ve,R=new ve,D=new ve,k=new ve,X=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const L=e[0].equals(e[_-1]);let q,de=e[0],J;const le=t.strokeWidth/2,se=1/(_-1);let fe=0,F,Z,ne,Ae,_e=!1,ke=0,W=l*3,z=l*2;G(e[0],e[1],A).multiplyScalar(le),I.copy(e[0]).sub(A),p.copy(e[0]).add(A),v.copy(I),y.copy(p);for(let te=1;te<_;te++){q=e[te],te===_-1?L?J=e[1]:J=void 0:J=e[te+1];const ue=A;if(G(de,q,ue),d.copy(ue).multiplyScalar(le),S.copy(q).sub(d),M.copy(q).add(d),F=fe+se,Z=!1,J!==void 0){G(q,J,h),d.copy(h).multiplyScalar(le),R.copy(q).sub(d),D.copy(q).add(d),ne=!0,d.subVectors(J,de),ue.dot(d)<0&&(ne=!1),te===1&&(_e=ne),d.subVectors(J,q),d.normalize();const ae=Math.abs(ue.dot(d));if(ae>Number.EPSILON){const De=le/ae;d.multiplyScalar(-De),f.subVectors(q,de),g.copy(f).setLength(De).add(d),k.copy(g).negate();const j=g.length(),w=f.length();f.divideScalar(w),E.subVectors(J,q);const T=E.length();switch(E.divideScalar(T),f.dot(k)=r&&ae.push(te[De]);return ae.push(te[te.length-1]),ae}}}function _5(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);Ro(l,a);const h=nt(void 0),d=Qo(t,i,r,{...xo,...So(n.root.size),...Do(l),...wo(A)},bm,L=>L.add("aspectRatio",h)),f=nt(void 0),g=yo(n.anyAncestorScrollable);Oa(f,g,n,d,s,a);const E=vo(d,g,n.root.pixelSize);Bo(s,E,a);const C=Fa(n.childrenMatrix,E),I=ka(n.clippingRect,C,g.size,n.root.pixelSize),p=jl(d),v=Ii(d,ii.Panel,p,n.orderInfo);a.push(L=>ks(d,v,p,n.root.panelGroupManager,C,g.size,void 0,g.borderInset,n.clippingRect,I,Xl(),L));const y=Ii(void 0,ii.Svg,void 0,v),S=Yt(()=>Vr(e.value)),M=nt(void 0),R=rd(n.root,n.clippingRect,a);mT(M,R5,a,S,n.root,R,n.clippingRect,y,h),ET(d,M,a);const D=Q5(g,n.root.pixelSize,M,h,I,a),k=Qm();Rm(o,k,n.root.pixelSize,a);const X=Mm(k,C,n.root.pixelSize);Tm(d,k,g,C,I,n.clippingRect,y,n.root.panelGroupManager,a);const _=Dm(k,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Co(t,i,g.size,a),Ua(t,i,I,a),Object.assign(g,{clippingRect:Sm(C,g,n.root.pixelSize,n.clippingRect),childrenMatrix:X,node:f,orderInfo:y,root:n.root,initializers:a,centerGroup:D,handlers:_o(t,i,r,l,A,_),interactionPanel:Kl(y,n.root,n.clippingRect,g.size,a)})}function Q5(n,e,t,i,r,s){const o=new lo;return o.matrixAutoUpdate=!1,s.push(()=>ht(()=>{vT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>ht(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>ht(()=>void(o.visible=t.value!=null&&!r.value))),o}const M5=new Ou,vp=new $n,ll=new O;async function R5(n,e,t,i,r,s){const o=new lo;o.matrixAutoUpdate=!1;const a=await M5.loadAsync(n);vp.makeEmpty();for(const A of a.paths){const h=Ou.createShapes(A),d=new rr;d.transparent=!0,d.depthWrite=!1,d.toneMapped=!1,d.clippingPlanes=t;for(const f of h){const g=new Pu(f);g.computeBoundingBox(),vp.union(g.boundingBox);const E=new nn(g,d);E.matrixAutoUpdate=!1,E.raycast=Fu(E,E.raycast,e.object,i,r),Jl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}vp.getSize(ll),s.value=ll.x/ll.y;const l=1/ll.y;return o.scale.set(1,1,1).multiplyScalar(l),vp.getCenter(ll),ll.y*=-1,o.position.copy(ll).negate().multiplyScalar(l),o.updateMatrix(),o}function D5(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);Ro(A,l);const d=Qo(r,s,o,{...xo,...So(n.root.size),...Do(A),...wo(h)},bm,M=>{M.add("aspectRatio",t/i),M.add("width",t),M.add("height",i)}),f=yo(n.anyAncestorScrollable);Oa(void 0,f,n,d,a,l);const g=vo(d,f,n.root.pixelSize);Bo(a,g,l);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,f.size,n.root.pixelSize),I=jl(d),p=Ii(d,ii.Panel,I,n.orderInfo);l.push(M=>ks(d,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Xl(),M));const v=Ii(void 0,ii.Svg,void 0,p),y=rd(n.root,n.clippingRect,l),S=b5(d,e,t,i,n,v,f,C,y,l);return Co(r,s,f.size,l),Ua(r,s,C,l),Object.assign(f,{initializers:l,iconGroup:S,handlers:_o(r,s,o,A,h),interactionPanel:Kl(v,n.root,n.clippingRect,f.size,l)})}const T5=new Ou;function b5(n,e,t,i,r,s,o,a,l,A){const h=new lo;h.matrixAutoUpdate=!1;const d=T5.parse(e);for(const g of d.paths){const E=Ou.createShapes(g),C=new rr;C.transparent=!0,C.depthWrite=!1,C.toneMapped=!1,C.clippingPlanes=l;for(const I of E){const p=new Pu(I);p.computeBoundingBox();const v=new nn(p,C);v.matrixAutoUpdate=!1,v.raycast=Fu(v,v.raycast,r.root.object,r.clippingRect,s),Jl(v,r.root,s),v.userData.color=g.color,v.scale.y=-1,v.updateMatrix(),h.add(v)}}const f=t/i;return A.push(()=>ht(()=>{vT(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,f),h.position.x-=h.scale.x*f/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>ht(()=>void(h.visible=!a.value))),ET(n,h,A),h}function L5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];Ro(o,l);const A=Qo(e,t,i,{...xo,...So(n.root.size),...Do(o),...wo(a)}),h=yo(n.anyAncestorScrollable);Oa(void 0,h,n,A,r,l);const d=vo(A,h,n.root.pixelSize);Bo(r,d,l);const f=Fa(n.childrenMatrix,d),g=ka(n.clippingRect,f,h.size,n.root.pixelSize),E=Ii(A,ii.Custom,void 0,n.orderInfo),C=rd(n.root,n.clippingRect,l);return l.push(I=>{const p=s.current;return p==null||(p.matrixAutoUpdate=!1,p.material instanceof Ai&&(p.material.clippingPlanes=C,p.material.needsUpdate=!0,p.material.shadowSide=Hr),p.raycast=Fu(p,p.raycast,n.root.object,n.clippingRect,E),Jl(p,n.root,E),I.push(ht(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),ht(()=>p.castShadow=A.value.read("castShadow",!1)),ht(()=>{if(h.size.value==null)return;const[v,y]=h.size.value,S=n.root.pixelSize.value;p.scale.set(v*S,y*S,1),p.updateMatrix()}),ht(()=>void(p.visible=!g.value)))),I}),Co(e,t,h.size,l),Ua(e,t,g,l),Object.assign(h,{root:n.root,handlers:_o(e,t,i,o,a),initializers:l})}function P5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=yo(n.anyAncestorScrollable);Ro(o,l);const h=nt(new O(1,1,1)),d=Yt(()=>h.value.x/h.value.y),f=Qo(e,t,i,{...xo,...So(n.root.size),...Do(o),...wo(a)},bm,y=>y.add("aspectRatio",d));Oa(void 0,A,n,f,r,l);const g=vo(f,A,n.root.pixelSize);Bo(r,g,l);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,A.size,n.root.pixelSize),I=jl(f),p=Ii(f,ii.Panel,I,n.orderInfo);l.push(y=>ks(f,p,I,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,C,Xl(),y));const v=Ii(void 0,ii.Object,void 0,p);return Co(e,t,A.size,l),Ua(e,t,C,l),Object.assign(A,{remeasureContent:k5(f,n.root,A,n.clippingRect,v,h,s,l),interactionPanel:Kl(p,n.root,n.clippingRect,A.size,l),handlers:_o(e,t,i,o,a),initializers:l})}const yI=new $n,__=new O().setScalar(.001),N5=new O,U5="back";function k5(n,e,t,i,r,s,o,a){const l=rd(e,i,a),A=Ht(n,"depthAlign",U5),h=Ht(n,"keepAspectRatio",!0),d=new O,f=new O,g=()=>{const E=o.current;if(E==null){d.copy(__),f.set(0,0,0);return}E.traverse(I=>{I instanceof nn&&(Jl(I,e,r),I.material.clippingPlanes=l,I.material.needsUpdate=!0,I.raycast=Fu(I,I.raycast,e.object,i,r))});const C=E.parent;E.parent=null,yI.setFromObject(E),yI.getSize(d).max(__),s.value=d,C!=null&&(E.parent=C),yI.getCenter(f)};return a.push(E=>{const C=o.current;return C==null||(g(),E.push(ht(()=>{const{size:{value:I},paddingInset:{value:p},borderInset:{value:v}}=t;if(I==null||p==null||v==null)return;const[y,S]=I,[M,R,D,k]=p,[X,_,L,q]=v,de=M+X,J=R+_,le=D+L,se=k+q,fe=y-se-J,F=S-de-le,Z=e.pixelSize.value;C.scale.set(fe*Z,F*Z,h.value?F*Z*d.z/d.y:d.z).divide(d),C.position.copy(f).negate(),C.position.z-=O5[A.value]*d.z,C.position.multiply(C.scale),C.position.add(N5.set((se-J)*.5*Z,(le-de)*.5*Z,0)),C.updateMatrix()}))),E}),g}function F5(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Tu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function Ir(n){const e=n.length;for(let t=0;to){e.setScalar(R*s);return}e.setScalar(M*s/o)}function Vr(n){return n instanceof ni?n.value:n}function od(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Yt(()=>n()?Vr(s):void 0)),i.add(r,o)}}}function BB(n,e){const t=e.map(i=>Ht(n,i,0));return Yt(()=>t.map(i=>i.value))}function Ro(n,e){e.push(()=>()=>BT(n))}function G5(n,e,t,i,r,s){let o=!1;xm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}Dl("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&H5(r,a)}),Dl("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),BT(r)})}function Do(n){return{hover:od(()=>n.value.length>0)}}const wC=[],Xp=[];function H5(n,e){wC.push(n),Xp.push(e),document.body.style.cursor=e}function BT(n){const e=wC.indexOf(n);e!=-1&&(wC.splice(e,1),Xp.splice(e,1),document.body.style.cursor=Xp[Xp.length-1]??"default")}const z5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let Q_;function V5(){return Q_??=sd({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),Q_}function W5(n,e,t,i,r,s,o,a){const l=Ii(void 0,ii.Panel,_m,r),A=nt(void 0);a.push(()=>ht(()=>{const f=t.value;f==null&&(A.value=void 0),A.value=f;const g=setInterval(()=>A.value=A.peek()==null?f:void 0,500);return()=>clearInterval(g)}));const h=BB(n,z5),d=Ht(n,"caretWidth",1.5);a.push(f=>ks(n,l,void 0,o,e,Yt(()=>{const g=A.value;return g==null?[0,0]:[d.value,g[2]]}),Yt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-d.value/2,g[1]]}),h,s,i,V5(),f))}const Y5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let M_;function J5(){return M_??=sd({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),M_}function X5(n,e,t,i,r,s,o,a){const l=[],A=Ii(void 0,ii.Panel,_m,r),h=BB(n,Y5);return a.push(()=>ht(()=>{const d=t.value,f=d.length;for(let E=0;E()=>{const d=l.length;for(let f=0;fn.value)}}const j5=new Set;function q5(n){j5.add(n)}function Z5(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),d=nt(!1),f=[];Ro(A,f);const g=Qo(s,o,a,{...xo,...So(n.root.size),...Do(A),...wo(h),...K5(d)},void 0,fe=>{xm(s.value,o.value,a.value,F=>{fe.add("caretOpacity",F.opacity),fe.add("caretColor",F.color)})}),E=yo(n.anyAncestorScrollable),C=nt(void 0);Oa(C,E,n,g,l,f);const I=vo(g,E,n.root.pixelSize);Bo(l,I,f);const p=Fa(n.childrenMatrix,I),v=ka(n.clippingRect,p,E.size,n.root.pixelSize),y=jl(g),S=Ii(g,ii.Panel,y,n.orderInfo);f.push(fe=>ks(g,S,y,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,v,Xl(),fe));const M={},R=nt([]),D=nt(void 0),k=nt(void 0);W5(g,p,D,v,S,n.clippingRect,n.root.panelGroupManager,f);const X=X5(g,p,R,v,S,n.clippingRect,n.root.panelGroupManager,f),_=nT(g,r,n.root.renderer,f),L=Ii(void 0,ii.Text,rT(_),X),q=sT(g,e,p,C,E,v,n.clippingRect,L,_,n.root.gylphGroupManager,k,R,D,M,f);f.push(()=>ht(()=>C.value?.setMeasureFunc(q))),Co(s,o,E.size,f),Ua(s,o,v,f);const de=Ht(g,"disabled",!1),J=e8(e,k,t,i,de,f),le=()=>{d.peek()||J.peek()?.focus()};t8(J,d,f);const se=$5(E,J,M,k,le,de);return Object.assign(E,{focus:le,root:n.root,element:J,node:C,interactionPanel:Kl(S,n.root,n.clippingRect,E.size,f),handlers:_o(s,o,a,A,h,se,"text"),initializers:f})}function $5(n,e,t,i,r,s){return Yt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;q5(a.nativeEvent),a.stopPropagation?.();const l=R_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=R_(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),d=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,d)})}}})}function e8(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:d,selectionEnd:f}=l;if(d==null||f==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===d&&g[1]===f||(e.value=[d,f])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},ht(()=>l.value=n.value),ht(()=>l.disabled=r.value)),a}),o}function t8(n,e,t){t.push(()=>ht(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function R_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,d]=o,[f,,,g]=a,E=i.x*l-d-g,C=-i.y*A+h+f;return r.getCharIndex(E,C)}new ve;const _C=$.createContext(void 0);function n8(){return $.useContext(_C)}function Fr(n){const t={...$.useContext(_C)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return P.jsx(_C.Provider,{value:t,children:n.children})}const D_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],To=$.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=$.useState(()=>n.value);$.useEffect(()=>ht(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=$.useMemo(()=>{const a={...r},l=D_.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=n8(),e}function Lo(n,e,t,i,r,s){$.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:d}=i;return{setStyle:f=>t.value=f,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:d,size:h,interactionPanel:r instanceof nn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Et=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>m5(t,s.style,s.properties,s.default,i,r),[t,s]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[t,s,o]),Lo(e,t.root.pixelSize,s.style,o,o.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:o.handlers,ref:i,children:[P.jsx("primitive",{object:o.interactionPanel}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:o,children:n.children})})]})}),i8=$.forwardRef((n,e)=>{const t=pB(A=>A.gl);t.setTransparentSort(ZH);const i=Us(),r=$.useRef(null),s=$.useRef(null),o=bo(n),a=$.useMemo(()=>new Set,[]),l=$.useMemo(()=>A5(o.style,o.properties,o.default,r,s,()=>i.getState().camera,t,a),[]);return $.useEffect(()=>{const A=[];return Mo(l.initializers,A),()=>Ir(A)},[l]),Uu((A,h)=>{for(const d of a)d(h)}),Lo(e,l.root.pixelSize,o.style,l,l.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:l.handlers,ref:r,children:[P.jsx("primitive",{object:l.interactionPanel}),P.jsx("object3D",{ref:s,children:P.jsx(ku,{value:l,children:n.children})})]})}),xB=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=$.useMemo(()=>I5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,s.style,a,a.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:a.handlers,children:[P.jsx("primitive",{object:a.interactionPanel}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:a,children:n.children})})]})}),tt=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=$.useMemo(()=>nt(void 0),[]);o.value=OD();const a=$.useMemo(()=>S5(t,s,o,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,r.style,a,a.interactionPanel),P.jsx(To,{userHandlers:n,handlers:a.handlers,ref:i,children:P.jsx("primitive",{object:a.interactionPanel})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>nt(""),[]);o.value=n.src;const a=$.useMemo(()=>_5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,s.style,a,a.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:a.handlers,children:[P.jsx("primitive",{object:a.interactionPanel}),P.jsx("primitive",{object:a.centerGroup}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:a,children:n.children})})]})});const ad=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>D5(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const o=[];return Mo(s.initializers,o),()=>Ir(o)},[s]),Lo(e,t.root.pixelSize,r.style,s,s.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:s.handlers,children:[P.jsx("primitive",{object:s.interactionPanel}),P.jsx("primitive",{object:s.iconGroup})]})}),r8=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>nt(""),[]),o=$.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=$.useMemo(()=>Yt(()=>Vr(s.value)),[s]),l=$.useMemo(()=>nt(void 0),[]);l.value=OD();const A=$.useMemo(()=>Z5(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const h=[];return Mo(A.initializers,h),()=>Ir(h)},[A]),$.useEffect(()=>ht(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),Lo(e,t.root.pixelSize,r.style,A,A.interactionPanel,$.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),P.jsx(To,{userHandlers:n,handlers:A.handlers,ref:i,children:P.jsx("primitive",{object:A.interactionPanel})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>L5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[o]),Lo(e,t.root.pixelSize,s.style,o,r),P.jsx(To,{userHandlers:n,handlers:o.handlers,ref:i,children:P.jsx(ku,{value:void 0,children:P.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:vB,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>P5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[o]),Lo(e,t.root.pixelSize,s.style,o,o.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:o.handlers,ref:i,children:[P.jsx("primitive",{object:o.interactionPanel}),P.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:P.jsx(ku,{value:void 0,children:n.children})})]})});const s8=$.forwardRef((n,e)=>{const t=Us(),[i,r,s]=$.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=pB(A=>A.camera),a=n.distanceToCamera??o.near+.01;$.useEffect(()=>{const A=({camera:h,size:{height:d}})=>HD(()=>F5(i,r,s,a,h,d));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return P.jsxs(P.Fragment,{children:[l&&P.jsx("primitive",{object:o}),PD(P.jsx("group",{"position-z":-a,children:P.jsx(i8,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});$.forwardRef(({src:n,...e},t)=>{const i=gB(ym,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,P.jsx(xB,{ref:t,src:i,...e})});$.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=$.useMemo(()=>new zr(1,1,{minFilter:Cn,magFilter:Cn,type:Ul}),[]),l=$.useRef(null),A=$.useMemo(()=>({events:{compute:o8.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);$.useEffect(()=>{if(l.current==null)return;const{size:d}=l.current,f=ht(()=>{if(d.value==null)return;const[g,E]=d.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{f(),a.dispose()}},[a,A]),$.useImperativeHandle(o,()=>l.current,[]);const h=$.useMemo(()=>new Rh,[]);return P.jsxs(P.Fragment,{children:[PD(P.jsxs(a8,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,P.jsx("group",{onPointerOver:()=>null})]}),h,A),P.jsx(xB,{...s,src:a.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function o8({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function a8({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Us();$.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return ht(()=>{if(A.value==null)return;const[h,d]=A.value;s.setState({size:{width:h,height:d,top:0,left:0}})})});let o=0,a,l;return Uu(A=>{(n===1/0||o{const t=$.useMemo(()=>nt(void 0),[]),i=$.useMemo(()=>nt(1),[]),r=$.useMemo(()=>document.createElement("video"),[]);return $.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,$.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),$.useEffect(()=>{const s=new M2(r);return t.value=s,()=>s.dispose()},[t,r]),$.useImperativeHandle(e,()=>r,[r]),P.jsx(xB,{aspectRatio:i,...n,src:t})});const l8='',bt=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:l8,svgWidth:24,svgHeight:24})),c8='',u8=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:c8,svgWidth:24,svgHeight:24})),A8='',Oc=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:A8,svgWidth:24,svgHeight:24})),h8='',d8=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:h8,svgWidth:24,svgHeight:24})),f8='',Gc=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:f8,svgWidth:24,svgHeight:24})),eo=new td,CI=new fD,T_=new sn;function p8(n,e,t,i,r){const s=[];for(const[o,a]of r){CI.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=CI.at(a.distanceOnLine/CI.distance(),new O);Pm(T_,a,o);const A=g8(n,i,T_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const b_=new O,vI=new Da;function g8(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(vI.origin.copy(r).applyMatrix4(n.matrixWorld),vI.direction.copy(s).applyMatrix4(n.matrixWorld).sub(eo.ray.origin).normalize(),vI.intersectPlane(t,b_)!=null)return b_.clone()}}const m8=new ct;function E8(n,e,t,i,r,s,o){const a=[];return ld(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let h=1;hv===C.object)!=-1)continue;const p=C.distance;C.distance+=A,a.push(Object.assign(C,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:h-1,distanceOnLine:p,pointOnFace:C.point,localPoint:C.point.clone().applyMatrix4(m8.copy(C.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const Ms=new td,pu=new O,ro=new sn,L_=new Da;function I8(n,e,t,i){pu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){L_.set(n,pu),Pm(ro,o,s);const a=L_.intersectPlane(ro,new O)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:pu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function y8(n,e,t,i,r){Ms.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(pu);const s=[];for(const[o,a]of t){ro.setFromNormalAndCoplanarPoint(pu,Ms.ray.origin),ro.constant-=a.distanceViewPlane;const l=Ms.ray.intersectPlane(ro,new O);if(l==null)continue;Pm(ro,a,o);const A=Ms.ray.intersectPlane(ro,new O)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Mg=new ct;function C8(n,e,t,i,r,s){Ms.ray.origin.copy(n),Ms.ray.direction.copy(s).applyQuaternion(e);const o=[];return ld(t,i.hasEventHandlers.bind(i),a=>{const l=Ms.intersectObject(a,!0);for(const A of l)r&&!Lm(A)||(Mg.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Mg)})))}),o.sort((a,l)=>a.distance-l.distance)}function v8(n,e,t,i,r,s,o){Ms.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),ro.setFromNormalAndCoplanarPoint(n.getWorldDirection(pu),Ms.ray.origin);const a=[];return ld(t,i.hasEventHandlers.bind(i),l=>{const A=Ms.intersectObject(l,!0);for(const h of A)r&&!Lm(h)||(Mg.copy(l.matrixWorld).invert(),a.push(Object.assign(h,{intersections:a,pointOnFace:h.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:ro.distanceToPoint(h.point),localPoint:h.point.clone().applyMatrix4(Mg)})))}),a.sort((l,A)=>l.distance-A.distance)}const P_=new O,N_=new Hn,U_=new sn;function B8(n,e,t){const i=[];for(const[r,s]of t){P_.copy(s.point).sub(s.inputDevicePosition),N_.copy(s.inputDeviceRotation).invert().multiply(e);const o=P_.clone().applyQuaternion(N_).add(n);Pm(U_,s,r);const a=U_.projectPoint(n,new O);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Ur=new Jn;function x8(n,e,t,i,r,s){Ur.center.copy(n),Ur.radius=t;const o=[];return ld(i,r.hasEventHandlers.bind(r),a=>xT(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function xT(n,e,t,i){w8(n,e,t,i);for(const r of n.children)xT(r,e,t,i)}const MA=new ct,RA=new ct;function S8(n){return"spherecast"in n}function w8(n,e,t,i){if(n.updateWorldMatrix(!0,!1),S8(n)){const r=[];n.spherecast(Ur,r);for(const s of r)t&&!Lm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Ur.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(MA.copy(s.object.matrixWorld).invert())})}if(n instanceof Jv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sUr.radius*Ur.radius)return;BI.max(_8);const h=gu.center.clone().sub(F_);h.divide(BI),Q8(h);const d=Bp.clone();o&&!M8(n,d)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:h},pointOnFace:d,point:d,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:d.clone().applyMatrix4(r)})}function Q8(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)}function ld(n,e,t){if(e(n))return t(n);for(const i of n.children)ld(i,e,t)}function Lm(n){if(!(n.object instanceof nn)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function M8(n,e){if(!(n instanceof nn)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function Pm(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const xI=new O,G_=new Hn,H_=Symbol("traversal-id"),z_=[],QC=new zt;class Nm{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,h,d){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=h,this.onEndEventCaptures=d}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(xI,G_),this.intersections=[{distance:1/0,inputDevicePosition:xI.clone(),inputDeviceRotation:G_.clone(),object:QC,point:xI.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,h,d)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,d,r),this.dispatchRelease(e,a,A,l,d),this.updateElementStateMap(A,l,d,r,s)),l.lastPressedElementIds=d,l.blockFollowingIntersections&&(this.intersections.length=h+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,h)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,h,A,a),this.eventDispatcher.leave(l,h),A.lastLeftTime=s,A.lastPressedElementIds=z_,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),d=$.useMemo(()=>new Um,[]);d.onPointerDownMissed=r,d.onPointerUpMissed=s,d.onClickMissed=o;const f=$.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);f.filterClipped=A??!0,f.computeIntersections=n,f.isDrag=e,f.onIntersections=t,f.filterIntersections=i,f.onStartEventCaptures=a,f.onEndEventCaptures=l;for(const[g,E]of h)ST(E.translator,g,f);return $.useEffect(()=>()=>{for(const{translator:g}of h.values())g.leave({});h.clear()},[]),$.useMemo(()=>{const g=E=>T8(h,d,f,E);return{cancel:(E,C)=>{const{translator:I}=g(E);I.cancel(C)},enter:(E,C)=>{const{translator:I}=g(E);I.update(C,!0,!0)},leave:(E,C)=>{const{translator:I}=g(E);I.leave(C),h.delete(E)},press:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:v,translator:y}=g(E);for(const S of I)v.add(S),p.set(S,C);y.update(C,!1,!0,...I)},release:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:v,inputDeviceElementDragSet:y,translator:S}=g(E);for(const M of I)v.delete(M),p.delete(M);S.update(C,!1,!0);for(const M of I)y.delete(M)},move:(E,C)=>{const{translator:I,inputDeviceElementPressMap:p,inputDeviceElementDragSet:v}=g(E);for(const[y,S]of p)f.isDrag(S,C)&&v.add(y);I.update(C,!0,!1)},wheel:E=>{for(const{translator:C}of h.values())C.wheel(E)},blur:E=>{for(const{translator:C}of h.values())C.leave(E);h.clear()}}},[])}function ST(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function T8(n,e,t,i){let r=n.get(i);if(r==null){const s=new O,o=new Hn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new Nm(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};ST(a.translator,i,t),n.set(i,r=a)}return r}new O;const b8=[];function L8(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function P8({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Us(),l=pB(({gl:f})=>f.domElement),A=$.useMemo(()=>N8.bind(null,a),[a]),h=$.useRef(o);h.current=o;const d=D8(A,L8.bind(null,h),i,e,r,s,t,U8,k8,n);return $.useEffect(()=>{const f=v=>d.cancel(v.pointerId,v),g=v=>d.press(v.pointerId,v,v.button),E=v=>d.release(v.pointerId,v,v.button),C=v=>d.enter(v.pointerId,v),I=v=>d.leave(v.pointerId,v),p=v=>d.move(v.pointerId,v);return l.addEventListener("pointercancel",f),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",C),l.addEventListener("pointerout",I),l.addEventListener("pointermove",p),l.addEventListener("wheel",d.wheel),l.addEventListener("blur",d.blur),()=>{l.removeEventListener("pointercancel",f),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",C),l.removeEventListener("pointerout",I),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",d.wheel),l.removeEventListener("blur",d.blur)}},[l,d]),null}function N8(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return b8;const{camera:a,scene:l,size:A}=n.getState(),h=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?v8(a,h,l,r,i,s,o):y8(a,h,t,s,o)}function U8(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function k8(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const SI=new O,wI=new Hn,F8=new O(0,0,1);$.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=F8,initialPressedElementIds:l},A)=>{const h=Us(),d=$.useMemo(()=>new zt,[]),f=$.useMemo(()=>new Um,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=i;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const C=$.useMemo(()=>new Nm(n,!1,f,(p,v)=>(d.getWorldPosition(SI),d.getWorldQuaternion(wI),v==null?C8(SI,wI,h.getState().scene,f,E.filterClipped,E.direction):I8(SI,wI,v,E.direction)),()=>[...g],(p,v)=>{d.getWorldPosition(p),d.getWorldQuaternion(v)}),[n,h]);C.onIntersections=e,C.filterIntersections=t,$.useImperativeHandle(A,()=>({press:(p,v)=>{g.add(p),C.update(v,!1,!0,p)},release:(p,v)=>{g.delete(p),C.update(v,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),$.useEffect(()=>C.leave.bind(C,{}),[C]);const I=$.useRef(g.size>0);return Uu(()=>{C.update({},!0,I.current,...g),I.current=!1}),LC.createElement("primitive",{object:d})});const _I=new O,QI=new Hn;$.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},h)=>{const d=$.useMemo(()=>new zt,[]),f=Us(),g=$.useMemo(()=>new Set(A),[]),E=$.useMemo(()=>new Um,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const C=$.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);C.distanceElement=e,C.radius=t,C.filterClipped=l;const I=$.useMemo(()=>new Nm(n,!0,E,(v,y)=>(d.getWorldPosition(_I),d.getWorldQuaternion(QI),y==null?x8(_I,QI,C.radius,f.getState().scene,E,C.filterClipped):B8(_I,QI,y)),v=>v!=null&&C.distanceElement!=null&&v.distance<=C.distanceElement.downRadius&&(v.distanceToFace==null||v.distanceToFace<2*C.distanceElement.downRadius*2)?[...g,C.distanceElement.id]:[...g],(v,y)=>{d.getWorldPosition(v),d.getWorldQuaternion(y)}),[n,f]);I.onIntersections=i,I.filterIntersections=r,$.useImperativeHandle(h,()=>({press:(v,y)=>{g.add(v),I.update(y,!1,!0,v)},release:(v,y)=>{g.delete(v),I.update(y,!1,!0)},cancel:I.cancel.bind(I),wheel(v){I.wheel(v)}}),[I]),$.useEffect(()=>I.leave.bind(I,{}),[I]);const p=$.useRef(g.size>0);return Uu(()=>{I.update({},!0,p.current||e!=null,...g),p.current=!1}),LC.createElement("primitive",{object:d})});const MI=new O,RI=new Hn;$.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const h=$.useMemo(()=>new zt,[]),d=Us(),f=$.useMemo(()=>new Um,[]);f.onPointerDownMissed=s,f.onPointerUpMissed=o,f.onClickMissed=r;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const C=$.useMemo(()=>new Nm(n,!1,f,(p,v)=>(h.getWorldPosition(MI),h.getWorldQuaternion(RI),v==null?E8(h,MI,RI,E.points,d.getState().scene,f,E.filterClipped):p8(h,MI,RI,E.points,v)),()=>[...g],(p,v)=>{h.getWorldPosition(p),h.getWorldQuaternion(v)}),[n,d]);C.onIntersections=t,C.filterIntersections=i,$.useImperativeHandle(A,()=>({press:(p,v)=>{g.add(p),C.update(v,!1,!0,p)},release:(p,v)=>{g.delete(p),C.update(v,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),$.useEffect(()=>C.leave.bind(C,{}),[C]);const I=$.useRef(g.size>0);return Uu(()=>{C.update({},!0,I.current,...g),I.current=!1}),LC.createElement("primitive",{object:h})});const O8=()=>({enabled:!1,priority:0});class Um{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==QC){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const h=this.event[A];typeof h!="function"&&(l[A]=h)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===QC)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}class cd extends nB{constructor(){super({specular:"#555",shininess:100})}}function Hc(n,e,t){return new je().setHSL(n/360,e/100,t/100,"srgb")}const Wt={foreground:Hc(0,0,100),background:Hc(0,0,0),card:Hc(0,0,53),cardForeground:Hc(0,0,100),accent:Hc(210,100,52),accentForeground:Hc(0,0,100)};function G8(n){return P.jsx(Fr,{scrollbarColor:Wt.background,scrollbarBorderRadius:4,scrollbarOpacity:.3,color:Wt.background,fontWeight:"medium",...n})}function Di({children:n,...e}){return P.jsx(Et,{backgroundColor:Wt.card,backgroundOpacity:.8,borderColor:Wt.card,borderOpacity:.8,border:4,borderBend:.3,panelMaterialClass:cd,borderRadius:32,...e,children:P.jsx(Fr,{color:Wt.cardForeground,children:n})})}function H8(n){const e=n/44;return{height:44*e,padding:20*e,borderRadius:12*e,fontSize:14*e,iconSize:18*e}}const z8={xs:{iconSize:12,height:24,padding:6,borderRadius:4,fontSize:8},sm:{height:32,padding:12,borderRadius:8,fontSize:12,iconSize:14},md:{height:44,padding:20,borderRadius:12,fontSize:14,iconSize:18},lg:{height:52,padding:25,borderRadius:16,fontSize:16,iconSize:22},xl:{height:56,padding:29,borderRadius:20,fontSize:18,iconSize:28}};function xt({children:n,size:e="md",variant:t="rect",platter:i,selected:r,disabled:s,...o}){const{borderRadius:a,fontSize:l,height:A,padding:h,iconSize:d}=typeof e=="number"?H8(e):z8[e];return P.jsx(Et,{cursor:s?void 0:"pointer",height:A,width:t==="icon"?A:void 0,paddingX:t==="icon"?void 0:h,borderRadius:t==="rect"?a:A/2,justifyContent:"center",alignItems:"center",backgroundColor:Wt.foreground,backgroundOpacity:s?.1:r?1:i?.15:0,hover:{backgroundOpacity:s?.1:r?1:.2},...o,children:P.jsx(Fr,{color:r&&!s?Wt.background:Wt.foreground,opacity:s?.4:1,fontSize:l,width:t==="icon"?d:void 0,height:t==="icon"?d:void 0,children:n})})}const wT=$.createContext({});function Kp({value:n,defaultValue:e,onValueChange:t,disabled:i,...r}){const[s,o]=$.useState(e),a=n??s,l=$.useRef(t);l.current=t;const A=$.useMemo(()=>({value:a,onValueChange:d=>{o(d),l.current?.(d)},disabled:i}),[a,i]),h=i?.3:.4;return P.jsx(wT.Provider,{value:A,children:P.jsx(Et,{height:36,border:2,backgroundOpacity:h,borderOpacity:h,backgroundColor:Wt.background,borderColor:Wt.background,borderBend:i?0:-.3,borderRadius:18,panelMaterialClass:cd,flexDirection:"row",...r})})}function ki({children:n,value:e,disabled:t,...i}){const{value:r,onValueChange:s,disabled:o}=$.useContext(wT),a=r===e&&!o;return P.jsx(Et,{height:32,paddingX:20,flexShrink:0,cursor:o||t?void 0:"pointer",...i,onClick:l=>{t||(s?.(e),i.onClick?.(l))},backgroundColor:Wt.foreground,borderColor:Wt.foreground,backgroundOpacity:a?.3:0,borderOpacity:a?.3:0,border:2,borderRadius:16,borderBend:.3,panelMaterialClass:cd,flexDirection:"row",alignItems:"center",gapColumn:10,children:P.jsx(Fr,{color:Wt.foreground,opacity:t||o?.4:1,children:n})})}function V8(){return P.jsxs(Di,{borderRadius:32,padding:32,gap:8,flexDirection:"column",children:[P.jsx(tt,{fontSize:32,children:"Hello World!"}),P.jsx(tt,{fontSize:24,opacity:.7,children:"This is the apfel kit."})]})}function V_({selected:n,disabled:e=!1,defaultSelected:t,onSelectedChange:i,...r}){const[s,o]=$.useState(t??!1),a=n??s;return P.jsx(Et,{width:28,height:28,border:2,borderRadius:15,backgroundColor:!e&&a?Wt.accent:Wt.foreground,backgroundOpacity:!e&&a?.9:.1,borderColor:!e&&a?Wt.accent:Wt.foreground,hover:e?void 0:{backgroundOpacity:a?1:.3,backgroundColor:a?Wt.accent:Wt.foreground,borderColor:a?Wt.accent:Wt.foreground},borderOpacity:e?.2:a?1:.5,justifyContent:"center",alignItems:"center",cursor:e?void 0:"pointer",...r,onClick:l=>{e||(o(!a),i?.(!a),r.onClick?.(l))},children:a&&P.jsx(u8,{height:18,width:18,color:Wt.accentForeground})})}function W8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",gapRow:16,children:[P.jsx(V_,{disabled:!0,defaultSelected:!1}),P.jsx(V_,{defaultSelected:!0})]})}function Y8(){return P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},alignItems:"center",gap:32,children:[P.jsx(Di,{borderRadius:32,padding:16,children:P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",platter:!0,children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",selected:!0,children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",disabled:!0,children:P.jsx(bt,{})})]})]})}),P.jsx(Di,{borderRadius:32,padding:24,children:P.jsxs(Et,{flexDirection:"column",gapRow:32,children:[P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",platter:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",platter:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",platter:!0,children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",selected:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",selected:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",selected:!0,children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",disabled:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",disabled:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",disabled:!0,children:P.jsx(tt,{children:"Label"})})]})]}),P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",platter:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",platter:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",platter:!0,children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",selected:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",selected:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",selected:!0,children:P.jsx(tt,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",disabled:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",disabled:!0,children:P.jsx(tt,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",disabled:!0,children:P.jsx(tt,{children:"Label"})})]})]})]})})]})}const _T=$.createContext("plain");function xp({type:n="plain",...e}){return P.jsx(_T.Provider,{value:n,children:P.jsx(Et,{flexDirection:"column",alignItems:"stretch",gapRow:n==="plain"?8:1,...e})})}function Tr({children:n,subtitle:e,selected:t,leadingAccessory:i,trailingAccessory:r,isFirst:s,isLast:o,...a}){const l=$.useContext(_T);return P.jsx(Et,{height:e?72:60,borderRadius:l==="plain"?16:void 0,borderTopRadius:l==="inset"?s?16:0:void 0,borderBottomRadius:l==="inset"?o?16:0:void 0,paddingX:20,flexDirection:"row",alignItems:"center",gapColumn:16,backgroundColor:l==="plain"?Wt.foreground:Wt.background,backgroundOpacity:l==="plain"?t?.2:0:.2,hover:{backgroundOpacity:l==="plain"&&t?.2:.1},active:l==="plain"?{backgroundOpacity:.3}:void 0,cursor:"pointer",...a,children:P.jsxs(Fr,{color:Wt.foreground,children:[i&&P.jsx(Et,{children:i}),P.jsxs(Et,{flexDirection:"column",flexGrow:1,children:[P.jsx(Fr,{fontSize:18,children:n}),P.jsx(Fr,{fontSize:14,opacity:.5,children:e})]}),r&&P.jsx(Et,{children:r})]})})}function J8(){return P.jsxs(Et,{flexDirection:"column",gapRow:32,alignItems:"center",children:[P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},gap:32,children:[P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"plain",width:400,children:[P.jsx(Tr,{subtitle:P.jsx(tt,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{subtitle:P.jsx(tt,{children:"Subtitle"}),selected:!0,trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})})]})}),P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"plain",width:400,children:[P.jsx(Tr,{subtitle:P.jsx(tt,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{subtitle:P.jsx(tt,{children:"Subtitle"}),selected:!0,leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})})]})})]}),P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},gap:32,children:[P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"inset",width:400,children:[P.jsx(Tr,{isFirst:!0,subtitle:P.jsx(tt,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{isLast:!0,subtitle:P.jsx(tt,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(tt,{children:"Title"})})]})}),P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"inset",width:400,children:[P.jsx(Tr,{isFirst:!0,subtitle:P.jsx(tt,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})}),P.jsx(Tr,{isLast:!0,subtitle:P.jsx(tt,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(tt,{children:"Title"})})]})})]})]})}const DI=new O,X8={xs:{height:12,knobHeight:8},sm:{height:16,knobHeight:12},md:{height:28,knobHeight:20},lg:{height:44,knobHeight:32}};function Zo({value:n,defaultValue:e,onValueChange:t,min:i=0,max:r=100,step:s=1,size:o="md",icon:a,disabled:l,...A}){const[h,d]=$.useState(e),f=n??h??50,g=$.useRef(null),E=$.useRef(t);E.current=t;const C=n!=null,I=$.useMemo(()=>{let k=!1;function X(_){if(g.current==null)return;DI.copy(_.point),g.current.interactionPanel.worldToLocal(DI);const L=Math.min(Math.max(Math.round(((DI.x+.5)*(r-i)+i)/s)*s,i),r);C||d(L),E.current?.(L),_.stopPropagation()}return{onPointerDown(_){k=!0,X(_),_.target.setPointerCapture(_.pointerId)},onPointerMove(_){k&&X(_)},onPointerUp(_){k&&(k=!1,_.stopPropagation())}}},[r,i,C,s]),p=r-i,v=`${((1-.03)*wm(f/p,0,1)+.03)*100}%`,{height:y,knobHeight:S}=X8[o],M=(y-S)/2,R=o=="md"||o=="lg",D=o==="md"?12:18;return P.jsx(Et,{ref:g,height:y,borderRadius:y/2,backgroundColor:Wt.background,borderColor:Wt.background,backgroundOpacity:.4,positionType:"relative",borderOpacity:.4,cursor:l?void 0:"pointer",border:2,borderBend:-.3,panelMaterialClass:cd,...l?{}:I,...A,children:P.jsx(Et,{positionType:"absolute",inset:-2,children:P.jsxs(Et,{width:v,minWidth:y,height:"100%",borderRadius:y/2,backgroundOpacity:l?.35:.6,backgroundColor:Wt.foreground,children:[R&&P.jsx(Et,{width:y,height:y,alignItems:"center",justifyContent:"center",children:P.jsx(Fr,{color:Wt.foreground,width:D,height:D,opacity:l?.4:1,children:a})}),P.jsx(Et,{positionType:"absolute",height:S,width:S,borderRadius:S/2,positionTop:M,positionRight:M,backgroundColor:Wt.foreground,backgroundOpacity:l?0:1})]})})})}function K8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",md:{flexDirection:"row"},gapColumn:16,gapRow:32,children:[P.jsxs(Et,{flexDirection:"column",gapRow:16,width:250,children:[P.jsx(Zo,{size:"xs",defaultValue:25}),P.jsx(Zo,{size:"sm",defaultValue:50}),P.jsx(Zo,{size:"md",defaultValue:75,icon:P.jsx(bt,{})}),P.jsx(Zo,{size:"lg",defaultValue:100,icon:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",gapRow:16,width:250,children:[P.jsx(Zo,{size:"xs",defaultValue:25,disabled:!0}),P.jsx(Zo,{size:"sm",defaultValue:50,disabled:!0}),P.jsx(Zo,{size:"md",defaultValue:75,disabled:!0,icon:P.jsx(bt,{})}),P.jsx(Zo,{size:"lg",defaultValue:100,disabled:!0,icon:P.jsx(bt,{})})]})]})}function j8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsxs(Kp,{defaultValue:"1",children:[P.jsx(ki,{value:"1",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"2",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"3",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"4",children:P.jsx(tt,{children:"Long Label"})}),P.jsx(ki,{value:"5",disabled:!0,children:P.jsx(tt,{children:"Disabled"})})]}),P.jsxs(Kp,{defaultValue:"1",children:[P.jsxs(ki,{value:"1",children:[P.jsx(bt,{height:12,width:12}),P.jsx(tt,{children:"Label"})]}),P.jsxs(ki,{value:"2",children:[P.jsx(bt,{height:12,width:12}),P.jsx(tt,{children:"Label"})]}),P.jsxs(ki,{value:"3",children:[P.jsx(bt,{height:12,width:12}),P.jsx(tt,{children:"Label"})]}),P.jsxs(ki,{value:"4",disabled:!0,children:[P.jsx(bt,{height:12,width:12}),P.jsx(tt,{children:"Disabled"})]})]}),P.jsxs(Kp,{defaultValue:"1",disabled:!0,children:[P.jsx(ki,{value:"1",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"2",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"3",children:P.jsx(tt,{children:"Label"})}),P.jsx(ki,{value:"4",children:P.jsx(tt,{children:"Long Label"})}),P.jsx(ki,{value:"5",disabled:!0,children:P.jsx(tt,{children:"Disabled"})})]})]})}const QT=$.createContext(void 0);function q8({value:n,defaultValue:e,onValueChange:t,...i}){const[r,s]=$.useState(e),o=n!==void 0?n:r,a=$.useRef(t);a.current=t;const[l,A]=$.useState(!1),h=$.useMemo(()=>({isExpanded:l,setIsExpanded:A,value:o,setValue:f=>{s(f),a.current?.(f)}}),[l,o]),d=$.useRef();return P.jsx(QT.Provider,{value:h,children:P.jsx(Di,{minHeight:68,borderRadius:34,minWidth:68,padding:8,border:4,flexDirection:"column",gapRow:8,onHoverChange:f=>{f?d.current=setTimeout(()=>A(!0),300):(clearTimeout(d.current),A(!1))},...i})})}function Sp({value:n,children:e,icon:t,...i}){const{isExpanded:r,value:s,setValue:o}=$.useContext(QT),a=s===n;return P.jsx(Et,{minWidth:44,height:44,borderRadius:22,backgroundColor:Wt.foreground,backgroundOpacity:a?.2:0,hover:a?void 0:{backgroundOpacity:.1},cursor:"pointer",flexDirection:"row",alignItems:"center",gapColumn:10,...i,onClick:l=>{o(n),i.onClick?.(l)},children:P.jsxs(Fr,{color:Wt.foreground,fontSize:16,children:[P.jsx(Et,{width:44,flexDirection:"row",justifyContent:"center",children:P.jsx(Fr,{width:22,height:22,children:t})}),r&&P.jsx(Et,{paddingRight:28,children:e})]})})}function Z8(){return P.jsxs(q8,{defaultValue:"1",children:[P.jsx(Sp,{value:"1",icon:P.jsx(bt,{}),children:P.jsx(tt,{children:"Label"})}),P.jsx(Sp,{value:"2",icon:P.jsx(bt,{}),children:P.jsx(tt,{children:"Label"})}),P.jsx(Sp,{value:"3",icon:P.jsx(bt,{}),children:P.jsx(tt,{children:"Label"})}),P.jsx(Sp,{value:"4",icon:P.jsx(bt,{}),children:P.jsx(tt,{children:"Label"})})]})}function DA({value:n=0,...e}){return P.jsx(Et,{width:"100%",height:4,borderRadius:2,backgroundColor:Wt.foreground,backgroundOpacity:.2,...e,children:P.jsx(Et,{backgroundColor:Wt.foreground,backgroundOpacity:.8,minWidth:4,width:`${n*100}%`,height:4,borderRadius:2})})}function $8(){return P.jsxs(Di,{width:200,borderRadius:32,padding:16,flexDirection:"column",gapRow:16,children:[P.jsx(DA,{value:0}),P.jsx(DA,{value:.25}),P.jsx(DA,{value:.5}),P.jsx(DA,{value:.75}),P.jsx(DA,{value:1})]})}const eV={sm:{diameter:20,pillWidth:3,pillHeight:6},md:{diameter:28,pillWidth:4,pillHeight:10},lg:{diameter:44,pillWidth:6,pillHeight:16}},wp=8;function TI({size:n="md",...e}){const t=$.useMemo(()=>new Array(wp).fill(void 0).map(()=>nt(0)),[]);Uu(({clock:o})=>{for(let a=0;aP.jsx(Et,{positionType:"absolute",flexDirection:"column",inset:0,transformRotateZ:a*360/wp,alignItems:"center",justifyContent:"flex-start",children:P.jsx(Et,{backgroundOpacity:o,width:s,height:r,borderRadius:s/2,backgroundColor:Wt.foreground})},a))})}function tV(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"row",gapColumn:16,children:[P.jsx(TI,{size:"sm"}),P.jsx(TI,{size:"md"}),P.jsx(TI,{size:"lg"})]})}function $o({variant:n="rect",prefix:e,placeholder:t,panelMaterialClass:i,multiline:r,value:s,defaultValue:o,onValueChange:a,tabIndex:l,disabled:A=!1,...h}){const[d,f]=$.useState(null),g=$.useMemo(()=>{if(d!=null)return Yt(()=>d.current.value.length>0?0:void 0)},[d]);return P.jsx(Et,{height:44,width:"100%",paddingRight:20,paddingLeft:e?0:20,flexDirection:"row",alignItems:"center",borderRadius:n==="pill"?22:12,backgroundColor:"#444",backgroundOpacity:A?.3:.4,borderOpacity:A?.3:.4,hover:A?void 0:{backgroundOpacity:.2,borderOpacity:.2},border:2,borderColor:"#444",borderBend:A?0:-.3,panelMaterialClass:cd,overflow:"hidden",...h,children:P.jsxs(Fr,{color:Wt.foreground,opacity:A?.2:.5,children:[e&&P.jsx(Et,{flexShrink:0,paddingX:12,children:P.jsx(Fr,{width:14,height:14,children:e})}),P.jsxs(Et,{alignItems:"center",minHeight:1,flexGrow:1,positionType:"relative",children:[t!=null&&P.jsx(tt,{fontSize:14,positionType:"absolute",opacity:g,children:t}),P.jsx(r8,{ref:f,height:"100%",width:"100%",verticalAlign:"center",fontSize:14,panelMaterialClass:i,multiline:r,value:s,defaultValue:o,onValueChange:a,tabIndex:l,disabled:A})]})]})})}function nV(){const[n,e]=$.useState("");return P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"stretch",gapRow:16,width:300,children:[P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder"}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",prefix:P.jsx(bt,{})}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",disabled:!0}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",disabled:!0,prefix:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"stretch",gapRow:16,width:300,children:[P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder"}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",prefix:P.jsx(bt,{})}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",disabled:!0}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",disabled:!0,prefix:P.jsx(bt,{})})]})]})})}const bI={card:V8,checkbox:W8,button:Y8,list:J8,slider:K8,tabs:j8,"tab-bar":Z8,progress:$8,loading:tV,input:nV},iV="button";function rV(){const[n,e]=$.useState(()=>{let s=new URLSearchParams(window.location.search).get("component");return(s==null||!(s in bI))&&(s=iV),s}),t=r=>{const s=new URLSearchParams(window.location.search);s.set("component",r),history.replaceState(null,"","?"+s.toString()),e(r)},i=bI[n];return P.jsxs(SH,{events:O8,style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[P.jsx(P8,{}),P.jsx("color",{attach:"background",args:["black"]}),P.jsx("ambientLight",{intensity:.5}),P.jsx("directionalLight",{intensity:1,position:[-5,5,10]}),P.jsx(G8,{children:P.jsxs(s8,{overflow:"scroll",scrollbarColor:"black",backgroundColor:"white",flexDirection:"column",gap:32,paddingX:32,alignItems:"center",padding:32,children:[P.jsx(Di,{flexShrink:0,borderRadius:32,gap:32,paddingX:16,children:P.jsx(Et,{flexDirection:"row",maxWidth:"100%",overflow:"scroll",paddingY:16,children:P.jsx(Kp,{flexShrink:0,value:n,onValueChange:t,children:Object.keys(bI).map(r=>P.jsx(ki,{value:r,children:P.jsxs(tt,{children:[r[0].toUpperCase(),r.slice(1)]})},r))})})}),P.jsx(Et,{flexShrink:0,flexGrow:1,flexDirection:"row",justifyContent:"center",alignItems:"center",children:P.jsx(i,{})}),P.jsxs(Di,{flexShrink:0,padding:8,flexDirection:"row",gap:8,alignItems:"center",children:[P.jsxs(tt,{backgroundColor:"black",padding:8,borderRadius:16,marginLeft:8,children:["npx uikit component add apfel ",n]}),P.jsx(xt,{onClick:()=>navigator.clipboard.writeText(`npx uikit component add apfel ${n}`),variant:"icon",children:P.jsx(d8,{})})]})]})})]})}rR(document.getElementById("root")).render(P.jsx($.StrictMode,{children:P.jsx(rV,{})})); + `)}function Kl(n,e,t,i,r){const s=new $t(vB);return s.matrixAutoUpdate=!1,s.raycast=Fu(s,lT(s),e.object,t,n),s.visible=!1,r.push(()=>et(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class $z extends $t{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i){const r=aT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=jz,this.customDistanceMaterial=qz}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function jl(n){const e=Ot(n,"panelMaterialClass",rr),t=Ot(n,"castShadow",!1),i=Ot(n,"receiveShadow",!1);return Yt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const _m={panelMaterialClass:rr,castShadow:!1,receiveShadow:!1};class e5{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=_m){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);return a==null&&s.set(o,a=new t5(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{elementType:ii.Panel,majorIndex:e,minorIndex:0},i,r)),a}}class t5{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{mI(this.instanceMatrix,e,t,i),mI(this.instanceData,e,t,i),mI(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a,l,A){this.renderOrder=e,this.object=i,this.pixelSize=s,this.root=o,this.orderInfo=a,this.meshReceiveShadow=l,this.meshCastShadow=A,this.instanceMaterial=AT(r,{type:"instanced"}),this.instanceMaterial.depthTest=t}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,t){if(this.elementCount+=1,!dz(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!fz(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),pz(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),hz(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new pr(t,16,!1),this.instanceMatrix.setUsage(la);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new pr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(la);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new pr(r,16,!1),this.instanceClipping.setUsage(la),this.mesh=new $z(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,Jl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function mI(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function ks(n,e,t,i,r,s,o,a,l,A,h,d){return d.push(et(()=>{if(e.value==null)return;const f=[],g=i.getGroup(e.value.majorIndex,t?.value);return new i5(n,g,e.value.minorIndex,r,s,o,a,l,A,h,f),()=>Ir(f)})),d}const Ip=new ut,n5=new ut;class i5{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,d){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const f=h.setters;IB(e,this.active,h.hasProperty,(E,C)=>{const I=this.getIndexInBuffer();if(I==null)return;const{instanceData:p,instanceDataOnUpdate:y}=this.group;f[E](p.array,p.itemSize*I,C,s,y)},d);const g=h.computedIsVisibile(e,a,s,A);d.push(et(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(et(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(Ip.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;Ip.premultiply(n5.makeTranslation(A*a,h*a,0))}Ip.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;Ip.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),et(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(Qg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new ut().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Rm(n,e,t,i){return i.push(()=>et(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function BB(n,e){return Yt(()=>{const[t,i]=e?.value??[!1,!1],[r,s]=n.value;return[t||r,i||s]})}function Dm(n,e,{scrollable:t,maxScrollPosition:i},r,s,o,a,l){const A=Yt(()=>t.value?.some(E=>E)??!1),h=new Map,d=new ve,f=(E,C,I,p,y)=>{if(n.value==null)return;const[v,S]=E==null?[!1,!1]:r5(E.nativeEvent);v&&(C=0),S&&(I=0);const[M,R]=n.value,[D,k]=i.value;let[X,_]=n.value;const[L,q]=e?.value??[!1,!1];X=E_(M,D,C,y&&!L),_=E_(R,k,I,y&&!q),p!=null&&p>0&&d.set(C,I).divideScalar(p),E!=null&&s5(E.nativeEvent,v||Math.min(M,(D??0)-M)>5,S||Math.min(R,(k??0)-R)>5),!(s.peek()?.onScroll?.(X,_,n,E)===!1||M===X&&R===_)&&(n.value=[X,_])},g=E=>{if(h.size>0||n.value==null)return;let C=0,I=0;const[p,y]=n.value,[v,S]=i.value;C+=SC(p,0,v??0)*-.3,I+=SC(y,0,S??0)*-.3,C+=d.x*E,I+=d.y*E,d.multiplyScalar(.9),Math.abs(d.x)<.01&&(d.x=0),Math.abs(d.y)<.01&&(d.y=0),!(C===0&&I===0)&&f(void 0,C,I,void 0,!0)};return l.push(()=>et(()=>{if(A.value)return a.add(g),()=>a.delete(g)})),Yt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:C})=>{let I=h.get(E.pointerId);I==null&&h.set(E.pointerId,I={timestamp:0,point:new O}),I.timestamp=performance.now()/1e3,r.current.worldToLocal(I.point.copy(C))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const C=h.get(E.nativeEvent.pointerId);if(C==null)return;r.current.worldToLocal(II.copy(E.point)),EI.copy(II).sub(C.point).divideScalar(o.peek());const I=performance.now()/1e3,p=I-C.timestamp;C.point.copy(II),C.timestamp=I,!E.defaultPrevented&&f(E,-EI.x,EI.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:C}=E;f(E,C.deltaX,C.deltaY,void 0,!1)}}})}const mT=Symbol("was-scrolled");function r5(n){return n[mT]??[!1,!1]}function s5(n,e,t){n[mT]=[e,t]}function E_(n,e,t,i){if(t===0)return n;const r=SC(n,0,e??0);I_(t)===I_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:wm(s,0,e??0)}function I_(n){return n>=0}function SC(n,e,t){return nt?n-t:0}const o5=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Tm(n,e,t,i,r,s,o,a,l){const A=Ii(void 0,ii.Panel,_m,o),h=Ot(n,"scrollbarWidth",10),d=xB(n,o5);C_(n,0,e,t,i,r,s,A,a,h,d,l),C_(n,1,e,t,i,r,s,A,a,h,d,l)}let y_;function a5(){return y_??=sd({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),y_}function C_(n,e,t,i,r,s,o,a,l,A,h,d){const f=Yt(()=>l5(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Yt(()=>f.value?.slice(0,2)??[0,0]),E=Yt(()=>f.value?.slice(2,4)??[0,0]);d.push(C=>ks(n,a,void 0,l,r,E,g,h,o,s,a5(),C))}function l5(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),d=A-h,f=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-d*wm(f/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function c5(n,e,t,i,r){let s=!1;if(xm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};Dl("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),Dl("onPointerUp",n,o),Dl("onPointerLeave",n,o)}function wo(n){return{active:od(()=>n.value.length>0)}}function Fa(n,e){return Yt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function ET(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ni)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(et(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function Oa(n,e,t,i,r,s){s.push(o=>{const a=new qD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(et(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const v_=new Map,bm={keepAspectRatio:(n,e)=>{let t=v_.get(n);t==null&&v_.set(n,t=Yt(()=>Vr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function _o(n,e,t,i,r,s,o){return Yt(()=>{const a={};return u5(a,s?.value),H5(a,n.value,e.value,t.value,i,o),c5(a,n.value,e.value,t.value,r),a})}function u5(n,e){for(const t in e)Dl(t,n,e[t])}function Dl(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function Qo(n,e,t,i,r,s){return Yt(()=>{const o=new ZH(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const B_=new je;function IT(n,e,t,i){const r=Ot(n,"color",void 0),s=Ot(n,"opacity",1);t.push(()=>et(()=>{let o;Array.isArray(r.value)?o=B_.setRGB(...r.value):r.value!=null&&(o=B_.set(r.value)),Vr(e)?.traverse(a=>{if(!(a instanceof $t))return;a.renderOrder=i.renderOrder.value;const l=a.material;l.color.copy(o??a.userData.color),l.opacity=s.value,l.depthTest=i.depthTest.value})}))}const A5=.01,x_=new O,yp=new sn,Cp=nt(new ut);function h5(n,e,t,i,r,s,o,a,l){const A=nt([0,0]),h=nt([]),d=nt([]),f=[];Ro(h,f);const g=Qo(e,t,i,{...xo,...So(A),...Do(h),...wo(d)},{...S_(n,"sizeX","width"),...S_(n,"sizeY","height")}),E=Ot(g,"renderOrder",0),C=Ot(g,"depthTest",!0),I=nt(void 0),p=d5(l,I,f),y=yo();f.push(ae=>{const re=new qD(y,g,p,r,ae);return I.value=re,ae});const v=vo(g,y,n),S=m5(g,v,y.size,n);Bo(r,S,f);const M=jl(g),R=Ii(void 0,ii.Panel,M,void 0),D={cameraDistance:0,onFrameSet:l},k=new e5(E,C,n,D,r,f),X=()=>{if(r.current==null){D.cameraDistance=0;return}yp.normal.set(0,0,1),yp.constant=0,yp.applyMatrix4(r.current.matrixWorld),x_.setFromMatrixPosition(o().matrixWorld),D.cameraDistance=yp.distanceToPoint(x_)};f.push(()=>(l.add(X),()=>l.delete(X))),f.push(ae=>ks(g,R,M,k,Cp,y.size,void 0,y.borderInset,void 0,void 0,Xl(),ae));const _=Qm();Rm(s,_,n,f);const L=Mm(_,Cp,n);Tm(g,_,y,Cp,void 0,void 0,R,k,f);const q=Dm(_,void 0,y,r,t,n,l,f);Co(e,t,y.size,f);const de=new Fz(E,C,n,D,r,f),J=Object.assign(D,{requestCalculateLayout:p,cameraDistance:0,gylphGroupManager:de,object:r,panelGroupManager:k,pixelSize:n,renderOrder:E,depthTest:C,renderer:a,size:y.size});return Object.assign(y,{anyAncestorScrollable:y.scrollable,clippingRect:Sm(Cp,y,n,void 0),childrenMatrix:L,node:I,orderInfo:R,initializers:f,interactionPanel:Kl(R,J,void 0,y.size,f),handlers:_o(e,t,i,h,d,q),root:J})}function d5(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function S_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Yt(()=>{const a=Vr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const f5=new ut,p5="center",g5="center";function m5(n,e,t,i){const r=Ot(n,"anchorX",p5),s=Ot(n,"anchorY",g5);return Yt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(f5.makeTranslation(CT[r.value]*o*i.value,vT[s.value]*a*i.value,0))})}function E5(n,e,t,i,r,s){const o=nt(void 0),a=yo(),l=nt([]),A=nt([]),h=[];Ro(l,h);const d=Qo(e,t,i,{...xo,...So(n.root.size),...Do(l),...wo(A)});Oa(o,a,n,d,r,h);const f=vo(d,a,n.root.pixelSize);Bo(r,f,h);const g=Fa(n.childrenMatrix,f),E=ka(n.clippingRect,g,a.size,n.root.pixelSize),C=jl(d),I=Ii(d,ii.Panel,C,n.orderInfo);h.push(S=>ks(d,I,C,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Xl(),S));const p=Qm();Rm(s,p,n.root.pixelSize,h);const y=Mm(p,g,n.root.pixelSize);Tm(d,p,a,g,E,n.clippingRect,I,n.root.panelGroupManager,h);const v=Dm(p,n.anyAncestorScrollable,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return Co(e,t,a.size,h),Ua(e,t,E,h),Object.assign(a,{anyAncestorScrollable:BB(a.scrollable,n.anyAncestorScrollable),clippingRect:Sm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:I,root:n.root,scrollPosition:p,interactionPanel:Kl(I,n.root,n.clippingRect,a.size,h),handlers:_o(e,t,i,l,A,v),initializers:h})}const I5="fill";function y5(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);Ro(A,a);const d=Yt(()=>Vr(e.value));ET(l,x5,a,d);const f=Yt(()=>{const k=l.value;if(k==null)return;const X=k.source.data;return X.width/X.height}),g=Qo(t,i,r,{...xo,...So(n.root.size),...Do(A),...wo(h)},bm,k=>k.add("aspectRatio",f)),E=nt(void 0),C=yo();Oa(E,C,n,g,s,a);const I=vo(g,C,n.root.pixelSize);Bo(s,I,a);const p=Fa(n.childrenMatrix,I),y=ka(n.clippingRect,p,C.size,n.root.pixelSize),v=Yt(()=>y.value||l.value==null),S=Ii(g,ii.Image,void 0,n.orderInfo),M=Qm();Rm(o,M,n.root.pixelSize,a);const R=Mm(M,p,n.root.pixelSize);Tm(g,M,C,p,y,n.clippingRect,S,n.root.panelGroupManager,a);const D=Dm(M,n.anyAncestorScrollable,C,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Co(t,i,C.size,a),Ua(t,i,y,a),Object.assign(C,{anyAncestorScrollable:BB(C.scrollable,n.anyAncestorScrollable),initializers:a,handlers:_o(t,i,r,A,h,D),interactionPanel:C5(g,l,n,C,S,n.root,v,a),clippingRect:Sm(p,C,n.root.pixelSize,n.clippingRect),childrenMatrix:R,node:E,orderInfo:S,root:n.root})}let w_;function yT(){return w_??=sd({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),w_}function C5(n,e,t,i,r,s,o,a){const l=new $t(vB);l.matrixAutoUpdate=!1;const A=rd(s,t.clippingRect,a),h=yT().computedIsVisibile(n,i.borderInset,i.size,o);return S5(n,l,i.size,i.borderInset,h,A,s,a),l.raycast=Fu(l,lT(l),s.object,t.clippingRect,r),Jl(l,s,r),v5(n,e,i.borderInset,i.size,a),a.push(()=>et(()=>l.visible=h.value)),a.push(()=>et(()=>{const d=e.value??null;l.material.map!==d&&(l.material.map=d,l.material.needsUpdate=!0)}),()=>et(()=>{if(i.size.value==null)return;const[d,f]=i.size.value,g=t.root.pixelSize.value;l.scale.set(d*g,f*g,1),l.updateMatrix()})),l}function v5(n,e,t,i,r){const s=Ot(n,"fit",I5);r.push(()=>et(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){__(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,d]=i.value,[f,g,E,C]=t.value,I=(h-C-g)/(d-f-E);A>I?o.matrix.translate(-(.5*(I-A))/I,0).scale(I/A,1):o.matrix.translate(0,-(.5*(A-I))/A).scale(1,A/I),__(t,i,o)}))}function __(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const B5=new ym;async function x5(n){if(n==null)return Promise.resolve(void 0);if(n instanceof Sn)return Promise.resolve(n);try{const e=await B5.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function S5(n,e,t,i,r,s,o,a){const l=new Float32Array(16),A={data:l,type:"normal"};e.customDepthMaterial=new dT(A),e.customDistanceMaterial=new hT(A),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const h=Ot(n,"panelMaterialClass",rr);a.push(E=>(E.push(et(()=>{const C=AT(h.value,A);return C.clippingPlanes=s,e.material=C,et(()=>C.depthTest=o.depthTest.value)}),et(()=>e.renderOrder=o.renderOrder.value),et(()=>e.castShadow=n.value.read("castShadow",!1)),et(()=>e.receiveShadow=n.value.read("receiveShadow",!1))),E));const d=yT(),f=[];a.push(()=>et(()=>{if(r.value)return l.set(d.defaultData),f.push(et(()=>t.value!=null&&l.set(t.value,13)),et(()=>i.value!=null&&l.set(i.value,0))),()=>Ir(f)}));const g=d.setters;a.push(E=>(IB(n,r,d.hasProperty,(C,I)=>g[C](l,0,I,t,void 0),E),E))}function w5(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];Ro(a,A);const h=Qo(i,r,s,{...xo,...So(n.root.size),...Do(a),...wo(l)}),d=nt(void 0),f=yo();Oa(d,f,n,h,o,A);const g=vo(h,f,n.root.pixelSize);Bo(o,g,A);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,f.size,n.root.pixelSize),I=jl(h),p=Ii(h,ii.Panel,I,n.orderInfo);A.push(M=>ks(h,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Xl(),M));const y=iT(h,t,n.root.renderer,A),v=Ii(void 0,ii.Text,sT(y),p),S=oT(h,e,E,d,f,C,n.clippingRect,v,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>et(()=>d.value?.setMeasureFunc(S))),Co(i,r,f.size,A),Ua(i,r,C,A),Object.assign(f,{interactionPanel:Kl(p,n.root,n.clippingRect,f.size,A),handlers:_o(i,r,s,a,l),initializers:A})}const _5=Nn;class Ou extends Xi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Ps(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(W,z){if(W.nodeType!==1)return;const G=S(W);let N=!1,Ee=null;switch(W.nodeName){case"svg":z=E(W,z);break;case"style":s(W);break;case"g":z=E(W,z);break;case"path":z=E(W,z),W.hasAttribute("d")&&(Ee=r(W));break;case"rect":z=E(W,z),Ee=l(W);break;case"polygon":z=E(W,z),Ee=A(W);break;case"polyline":z=E(W,z),Ee=h(W);break;case"circle":z=E(W,z),Ee=d(W);break;case"ellipse":z=E(W,z),Ee=f(W);break;case"line":z=E(W,z),Ee=g(W);break;case"defs":N=!0;break;case"use":z=E(W,z);const Se=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),H=W.viewportElement.getElementById(Se);H?i(H,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(z.fill!==void 0&&z.fill!=="none"&&Ee.color.setStyle(z.fill,_5),R(Ee,Ae),q.push(Ee),Ee.userData={node:W,style:z});const Be=W.childNodes;for(let pe=0;pe0?Ae.copy(J[J.length-1]):Ae.identity())}function r(W){const z=new ea,G=new ve,N=new ve,Ee=new ve;let Be=!0,pe=!1;const Se=W.getAttribute("d");if(Se===""||Se==="none")return null;const H=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=H.length;me0&&(G.copy(Ee),z.currentPath.currentPoint.copy(G),Be=!0);break;default:console.warn(ue)}pe=!1}return z}function s(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let z=0;zEe.trim());for(let Ee=0;Eepe!==""));de[N[Ee]]=Object.assign(de[N[Ee]]||{},Be)}}}function o(W,z,G,N,Ee,Be,pe,Se){if(z==0||G==0){W.lineTo(Se.x,Se.y);return}N=N*Math.PI/180,z=Math.abs(z),G=Math.abs(G);const H=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,te=Math.cos(N)*H+Math.sin(N)*me,ue=-Math.sin(N)*H+Math.cos(N)*me;let le=z*z,De=G*G;const j=te*te,w=ue*ue,T=j/le+w/De;if(T>1){const Le=Math.sqrt(T);z=Le*z,G=Le*G,le=z*z,De=G*G}const ie=le*w+De*j,be=(le*De-ie)/ie;let Te=Math.sqrt(Math.max(0,be));Ee===Be&&(Te=-Te);const Re=Te*z*ue/G,Je=-Te*G*te/z,Ve=Math.cos(N)*Re-Math.sin(N)*Je+(pe.x+Se.x)/2,qe=Math.sin(N)*Re+Math.cos(N)*Je+(pe.y+Se.y)/2,ct=a(1,0,(te-Re)/z,(ue-Je)/G),It=a((te-Re)/z,(ue-Je)/G,(-te-Re)/z,(-ue-Je)/G)%(Math.PI*2);W.currentPath.absellipse(Ve,qe,z,G,ct,ct+It,Be===0,N)}function a(W,z,G,N){const Ee=W*G+z*N,Be=Math.sqrt(W*W+z*z)*Math.sqrt(G*G+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return W*N-z*G<0&&(pe=-pe),pe}function l(W){const z=v(W.getAttribute("x")||0),G=v(W.getAttribute("y")||0),N=v(W.getAttribute("rx")||W.getAttribute("ry")||0),Ee=v(W.getAttribute("ry")||W.getAttribute("rx")||0),Be=v(W.getAttribute("width")),pe=v(W.getAttribute("height")),Se=1-.551915024494,H=new ea;return H.moveTo(z+N,G),H.lineTo(z+Be-N,G),(N!==0||Ee!==0)&&H.bezierCurveTo(z+Be-N*Se,G,z+Be,G+Ee*Se,z+Be,G+Ee),H.lineTo(z+Be,G+pe-Ee),(N!==0||Ee!==0)&&H.bezierCurveTo(z+Be,G+pe-Ee*Se,z+Be-N*Se,G+pe,z+Be-N,G+pe),H.lineTo(z+N,G+pe),(N!==0||Ee!==0)&&H.bezierCurveTo(z+N*Se,G+pe,z,G+pe-Ee*Se,z,G+pe-Ee),H.lineTo(z,G+Ee),(N!==0||Ee!==0)&&H.bezierCurveTo(z,G+Ee*Se,z+N*Se,G,z+N,G),H}function A(W){function z(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?N.moveTo(H,me):N.lineTo(H,me),Ee++}const G=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new ea;let Ee=0;return W.getAttribute("points").replace(G,z),N.currentPath.autoClose=!0,N}function h(W){function z(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?N.moveTo(H,me):N.lineTo(H,me),Ee++}const G=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new ea;let Ee=0;return W.getAttribute("points").replace(G,z),N.currentPath.autoClose=!1,N}function d(W){const z=v(W.getAttribute("cx")||0),G=v(W.getAttribute("cy")||0),N=v(W.getAttribute("r")||0),Ee=new ya;Ee.absarc(z,G,N,0,Math.PI*2);const Be=new ea;return Be.subPaths.push(Ee),Be}function f(W){const z=v(W.getAttribute("cx")||0),G=v(W.getAttribute("cy")||0),N=v(W.getAttribute("rx")||0),Ee=v(W.getAttribute("ry")||0),Be=new ya;Be.absellipse(z,G,N,Ee,0,Math.PI*2);const pe=new ea;return pe.subPaths.push(Be),pe}function g(W){const z=v(W.getAttribute("x1")||0),G=v(W.getAttribute("y1")||0),N=v(W.getAttribute("x2")||0),Ee=v(W.getAttribute("y2")||0),Be=new ea;return Be.moveTo(z,G),Be.lineTo(N,Ee),Be.currentPath.autoClose=!1,Be}function E(W,z){z=Object.assign({},z);let G={};if(W.hasAttribute("class")){const pe=W.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&z.premultiply(J[J.length-1]),Ae.copy(z),J.push(z),z}function M(W){const z=new Mt,G=ae;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const N=v(W.getAttribute("x")),Ee=v(W.getAttribute("y"));z.translate(N,Ee)}if(W.hasAttribute("transform")){const N=W.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const Be=N[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),Se=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),G.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,le=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],le=me[2]),re.makeTranslation(-ue,-le),fe.makeRotation(te),F.multiplyMatrices(fe,re),re.makeTranslation(ue,le),G.multiplyMatrices(re,F)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),G.scale(te,ue)}break;case"skewX":me.length===1&&G.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&G.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&G.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}z.premultiply(G)}}return z}function R(W,z){function G(pe){ne.set(pe.x,pe.y,1).applyMatrix3(z),pe.set(ne.x,ne.y)}function N(pe){const Se=pe.xRadius,H=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new O(Se*me,Se*te,0),le=new O(-H*te,H*me,0),De=ue.applyMatrix3(z),j=le.applyMatrix3(z),w=ae.set(De.x,j.x,0,De.y,j.y,0,0,0,1),T=re.copy(w).invert(),Te=fe.copy(T).transpose().multiply(T).elements,Re=L(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:mt,y:lt}=new O(Math.cos(Qt),Math.sin(Qt),0).applyMatrix3(Le);return Math.atan2(lt,mt)};pe.aStartAngle=Nt(pe.aStartAngle),pe.aEndAngle=Nt(pe.aEndAngle),D(z)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=X(z),H=_(z);pe.xRadius*=Se,pe.yRadius*=H;const me=Se>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);pe.aRotation+=me,D(z)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=W.subPaths;for(let pe=0,Se=Be.length;peNumber.EPSILON}function X(W){const z=W.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _(W){const z=W.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function L(W,z,G){let N,Ee,Be,pe,Se;const H=W+G,me=W-G,te=Math.sqrt(me*me+4*z*z);return H>0?(N=.5*(H+te),Se=1/N,Ee=W*Se*G-z*Se*z):H<0?Ee=.5*(H-te):(N=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(z)?(Se=-2*z/Be,pe=1/Math.sqrt(1+Se*Se),Be=Se*pe):Math.abs(z)===0?(Be=1,pe=0):(Se=-.5*Be/z,Be=1/Math.sqrt(1+Se*Se),pe=Se*Be),me>0&&(Se=Be,Be=-pe,pe=Se),{rt1:N,rt2:Ee,cs:Be,sn:pe}}const q=[],de={},J=[],ae=new Mt,re=new Mt,fe=new Mt,F=new Mt,Z=new ve,ne=new O,Ae=new Mt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:q,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(C,I,p,y){const v=C.x,S=I.x,M=p.x,R=y.x,D=C.y,k=I.y,X=p.y,_=y.y,L=(R-M)*(D-X)-(_-X)*(v-M),q=(S-v)*(D-X)-(k-D)*(v-M),de=(_-X)*(S-v)-(R-M)*(k-D),J=L/de,ae=q/de;if(de===0&&L!==0||J<=0||J>=1||ae<0||ae>1)return null;if(L===0&&de===0){for(let re=0;re<2;re++)if(o(re===0?p:y,C,I),r.loc==i.ORIGIN){const fe=re===0?p:y;return{x:fe.x,y:fe.y,t:r.t}}else if(r.loc==i.BETWEEN){const fe=+(v+r.t*(S-v)).toPrecision(10),F=+(D+r.t*(k-D)).toPrecision(10);return{x:fe,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?p:y,C,I),r.loc==i.ORIGIN){const Z=F===0?p:y;return{x:Z.x,y:Z.y,t:r.t}}const re=+(v+J*(S-v)).toPrecision(10),fe=+(D+J*(k-D)).toPrecision(10);return{x:re,y:fe,t:J}}}function o(C,I,p){const y=p.x-I.x,v=p.y-I.y,S=C.x-I.x,M=C.y-I.y,R=y*M-S*v;if(C.x===I.x&&C.y===I.y){r.loc=i.ORIGIN,r.t=0;return}if(C.x===p.x&&C.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=i.LEFT;return}if(R>Number.EPSILON){r.loc=i.RIGHT;return}if(y*S<0||v*M<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+v*v)_.t<=X.t+Number.EPSILON&&_.t>=X.t-Number.EPSILON)===void 0&&(p.push(X),y.push(new ve(X.x,X.y)))}}return y}function l(C,I,p){const y=new ve;I.getCenter(y);const v=[];return p.forEach(S=>{S.boundingBox.containsPoint(y)&&a(C,S.points).forEach(R=>{v.push({identifier:S.identifier,isCW:S.isCW,point:R})})}),v.sort((S,M)=>S.point.x-M.point.x),v}function A(C,I,p,y,v){(v==null||v==="")&&(v="nonzero");const S=new ve;C.boundingBox.getCenter(S);const M=[new ve(p,S.y),new ve(y,S.y)],R=l(M,C.boundingBox,I);R.sort((q,de)=>q.point.x-de.point.x);const D=[],k=[];R.forEach(q=>{q.identifier===C.identifier?D.push(q):k.push(q)});const X=D[0].point.x,_=[];let L=0;for(;L0&&_[_.length-1]===k[L].identifier?_.pop():_.push(k[L].identifier),L++;if(_.push(C.identifier),v==="evenodd"){const q=_.length%2===0,de=_[_.length-2];return{identifier:C.identifier,isHole:q,for:de}}else if(v==="nonzero"){let q=!0,de=null,J=null;for(let ae=0;ae<_.length;ae++){const re=_[ae];q?(J=I[re].isCW,q=!1,de=re):J!==I[re].isCW&&(J=I[re].isCW,q=!0)}return{identifier:C.identifier,isHole:q,for:de}}else console.warn('fill-rule: "'+v+'" is currently not implemented.')}let h=999999999,d=-999999999,f=e.subPaths.map(C=>{const I=C.getPoints();let p=-999999999,y=999999999,v=-999999999,S=999999999;for(let M=0;Mp&&(p=R.y),R.yv&&(v=R.x),R.x=S&&(h=S-1),{curves:C.curves,points:I,isCW:ss.isClockWise(I),identifier:-1,boundingBox:new fD(new ve(S,y),new ve(v,p))}});f=f.filter(C=>C.points.length>1);for(let C=0;CA(C,f,h,d,e.userData?e.userData.style.fillRule:void 0)),E=[];return f.forEach(C=>{if(!g[C.identifier].isHole){const p=new Ca;p.curves=C.curves,g.filter(v=>v.isHole&&v.for===C.identifier).forEach(v=>{const S=f[v.identifier],M=new ya;M.curves=S.curves,p.holes.push(M)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Ou.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Pt;return l.setAttribute("position",new at(s,3)),l.setAttribute("normal",new at(o,3)),l.setAttribute("uv",new at(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,h=new ve,d=new ve,f=new ve,g=new ve,E=new ve,C=new ve,I=new ve,p=new ve,y=new ve,v=new ve,S=new ve,M=new ve,R=new ve,D=new ve,k=new ve,X=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const L=e[0].equals(e[_-1]);let q,de=e[0],J;const ae=t.strokeWidth/2,re=1/(_-1);let fe=0,F,Z,ne,Ae,_e=!1,ke=0,W=l*3,z=l*2;G(e[0],e[1],A).multiplyScalar(ae),I.copy(e[0]).sub(A),p.copy(e[0]).add(A),y.copy(I),v.copy(p);for(let te=1;te<_;te++){q=e[te],te===_-1?L?J=e[1]:J=void 0:J=e[te+1];const ue=A;if(G(de,q,ue),d.copy(ue).multiplyScalar(ae),S.copy(q).sub(d),M.copy(q).add(d),F=fe+re,Z=!1,J!==void 0){G(q,J,h),d.copy(h).multiplyScalar(ae),R.copy(q).sub(d),D.copy(q).add(d),ne=!0,d.subVectors(J,de),ue.dot(d)<0&&(ne=!1),te===1&&(_e=ne),d.subVectors(J,q),d.normalize();const le=Math.abs(ue.dot(d));if(le>Number.EPSILON){const De=ae/le;d.multiplyScalar(-De),f.subVectors(q,de),g.copy(f).setLength(De).add(d),k.copy(g).negate();const j=g.length(),w=f.length();f.divideScalar(w),E.subVectors(J,q);const T=E.length();switch(E.divideScalar(T),f.dot(k)=r&&le.push(te[De]);return le.push(te[te.length-1]),le}}}function Q5(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);Ro(l,a);const h=nt(void 0),d=Qo(t,i,r,{...xo,...So(n.root.size),...Do(l),...wo(A)},bm,L=>L.add("aspectRatio",h)),f=nt(void 0),g=yo();Oa(f,g,n,d,s,a);const E=vo(d,g,n.root.pixelSize);Bo(s,E,a);const C=Fa(n.childrenMatrix,E),I=ka(n.clippingRect,C,g.size,n.root.pixelSize),p=jl(d),y=Ii(d,ii.Panel,p,n.orderInfo);a.push(L=>ks(d,y,p,n.root.panelGroupManager,C,g.size,void 0,g.borderInset,n.clippingRect,I,Xl(),L));const v=Ii(void 0,ii.Svg,void 0,y),S=Yt(()=>Vr(e.value)),M=nt(void 0),R=rd(n.root,n.clippingRect,a);ET(M,D5,a,S,n.root,R,n.clippingRect,v,h),IT(d,M,a,n.root);const D=M5(g,n.root.pixelSize,M,h,I,a),k=Qm();Rm(o,k,n.root.pixelSize,a);const X=Mm(k,C,n.root.pixelSize);Tm(d,k,g,C,I,n.clippingRect,v,n.root.panelGroupManager,a);const _=Dm(k,n.anyAncestorScrollable,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Co(t,i,g.size,a),Ua(t,i,I,a),Object.assign(g,{anyAncestorScrollable:BB(g.scrollable,n.anyAncestorScrollable),clippingRect:Sm(C,g,n.root.pixelSize,n.clippingRect),childrenMatrix:X,node:f,orderInfo:v,root:n.root,initializers:a,centerGroup:D,handlers:_o(t,i,r,l,A,_),interactionPanel:Kl(v,n.root,n.clippingRect,g.size,a)})}function M5(n,e,t,i,r,s){const o=new lo;return o.matrixAutoUpdate=!1,s.push(()=>et(()=>{BT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>et(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>et(()=>void(o.visible=t.value!=null&&!r.value))),o}const R5=new Ou,vp=new $n,ll=new O;async function D5(n,e,t,i,r,s){const o=new lo;o.matrixAutoUpdate=!1;const a=await R5.loadAsync(n);vp.makeEmpty();for(const A of a.paths){const h=Ou.createShapes(A),d=new rr;d.transparent=!0,d.depthWrite=!1,d.toneMapped=!1,d.clippingPlanes=t;for(const f of h){const g=new Pu(f);g.computeBoundingBox(),vp.union(g.boundingBox);const E=new $t(g,d);E.matrixAutoUpdate=!1,E.raycast=Fu(E,E.raycast,e.object,i,r),Jl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}vp.getSize(ll),s.value=ll.x/ll.y;const l=1/ll.y;return o.scale.set(1,1,1).multiplyScalar(l),vp.getCenter(ll),ll.y*=-1,o.position.copy(ll).negate().multiplyScalar(l),o.updateMatrix(),o}function T5(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);Ro(A,l);const d=Qo(r,s,o,{...xo,...So(n.root.size),...Do(A),...wo(h)},bm,M=>{M.add("aspectRatio",t/i),M.add("width",t),M.add("height",i)}),f=yo();Oa(void 0,f,n,d,a,l);const g=vo(d,f,n.root.pixelSize);Bo(a,g,l);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,f.size,n.root.pixelSize),I=jl(d),p=Ii(d,ii.Panel,I,n.orderInfo);l.push(M=>ks(d,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Xl(),M));const y=Ii(void 0,ii.Svg,void 0,p),v=rd(n.root,n.clippingRect,l),S=L5(d,e,t,i,n,y,f,C,v,l);return Co(r,s,f.size,l),Ua(r,s,C,l),Object.assign(f,{initializers:l,iconGroup:S,handlers:_o(r,s,o,A,h),interactionPanel:Kl(y,n.root,n.clippingRect,f.size,l)})}const b5=new Ou;function L5(n,e,t,i,r,s,o,a,l,A){const h=new lo;h.matrixAutoUpdate=!1;const d=b5.parse(e);for(const g of d.paths){const E=Ou.createShapes(g),C=new rr;C.transparent=!0,C.depthWrite=!1,C.toneMapped=!1,C.clippingPlanes=l;for(const I of E){const p=new Pu(I);p.computeBoundingBox();const y=new $t(p,C);y.matrixAutoUpdate=!1,y.raycast=Fu(y,y.raycast,r.root.object,r.clippingRect,s),Jl(y,r.root,s),y.userData.color=g.color,y.scale.y=-1,y.updateMatrix(),h.add(y)}}const f=t/i;return A.push(()=>et(()=>{BT(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,f),h.position.x-=h.scale.x*f/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>et(()=>void(h.visible=!a.value))),IT(n,h,A,r.root),h}function P5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];Ro(o,l);const A=Qo(e,t,i,{...xo,...So(n.root.size),...Do(o),...wo(a)}),h=yo();Oa(void 0,h,n,A,r,l);const d=vo(A,h,n.root.pixelSize);Bo(r,d,l);const f=Fa(n.childrenMatrix,d),g=ka(n.clippingRect,f,h.size,n.root.pixelSize),E=Ii(A,ii.Custom,void 0,n.orderInfo),C=rd(n.root,n.clippingRect,l);return l.push(I=>{const p=s.current;if(p==null)return I;if(p.matrixAutoUpdate=!1,p.material instanceof ri){const y=p.material;y.clippingPlanes=C,y.needsUpdate=!0,y.shadowSide=Hr,I.push(()=>et(()=>y.depthTest=n.root.depthTest.value))}return p.raycast=Fu(p,p.raycast,n.root.object,n.clippingRect,E),Jl(p,n.root,E),I.push(et(()=>p.renderOrder=n.root.renderOrder.value),et(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),et(()=>p.castShadow=A.value.read("castShadow",!1)),et(()=>{if(h.size.value==null)return;const[y,v]=h.size.value,S=n.root.pixelSize.value;p.scale.set(y*S,v*S,1),p.updateMatrix()}),et(()=>void(p.visible=!g.value))),I}),Co(e,t,h.size,l),Ua(e,t,g,l),Object.assign(h,{root:n.root,handlers:_o(e,t,i,o,a),initializers:l})}function N5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=yo();Ro(o,l);const h=nt(new O(1,1,1)),d=Yt(()=>h.value.x/h.value.y),f=Qo(e,t,i,{...xo,...So(n.root.size),...Do(o),...wo(a)},bm,v=>v.add("aspectRatio",d));Oa(void 0,A,n,f,r,l);const g=vo(f,A,n.root.pixelSize);Bo(r,g,l);const E=Fa(n.childrenMatrix,g),C=ka(n.clippingRect,E,A.size,n.root.pixelSize),I=jl(f),p=Ii(f,ii.Panel,I,n.orderInfo);l.push(v=>ks(f,p,I,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,C,Xl(),v));const y=Ii(void 0,ii.Object,void 0,p);return Co(e,t,A.size,l),Ua(e,t,C,l),Object.assign(A,{remeasureContent:F5(f,n.root,A,n.clippingRect,y,h,s,l),interactionPanel:Kl(p,n.root,n.clippingRect,A.size,l),handlers:_o(e,t,i,o,a),initializers:l})}const yI=new $n,Q_=new O().setScalar(.001),U5=new O,k5="back";function F5(n,e,t,i,r,s,o,a){const l=rd(e,i,a),A=Ot(n,"depthAlign",k5),h=Ot(n,"keepAspectRatio",!0),d=new O,f=new O,g=(C,I,p)=>C?.traverse(y=>{y instanceof $t&&(y.renderOrder=I,y.material instanceof ri&&(y.material.depthTest=p))}),E=()=>{const C=o.current;if(C==null){d.copy(Q_),f.set(0,0,0);return}C.traverse(p=>{p instanceof $t&&(Jl(p,e,r),p.material.clippingPlanes=l,p.material.needsUpdate=!0,p.raycast=Fu(p,p.raycast,e.object,i,r))});const I=C.parent;C.parent=null,yI.setFromObject(C),yI.getSize(d).max(Q_),s.value=d,I!=null&&(C.parent=I),yI.getCenter(f)};return a.push(()=>et(()=>g(o.current,e.renderOrder.value,e.depthTest.value)),C=>{const I=o.current;return I==null||(E(),C.push(et(()=>{const{size:{value:p},paddingInset:{value:y},borderInset:{value:v}}=t;if(p==null||y==null||v==null)return;const[S,M]=p,[R,D,k,X]=y,[_,L,q,de]=v,J=R+_,ae=D+L,re=k+q,fe=X+de,F=S-fe-ae,Z=M-J-re,ne=e.pixelSize.value;I.scale.set(F*ne,Z*ne,h.value?Z*ne*d.z/d.y:d.z).divide(d),I.position.copy(f).negate(),I.position.z-=G5[A.value]*d.z,I.position.multiply(I.scale),I.position.add(U5.set((fe-ae)*.5*ne,(re-J)*.5*ne,0)),I.updateMatrix()}))),C}),()=>{g(o.current,e.renderOrder.peek(),e.depthTest.peek()),E()}}function O5(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Tu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function Ir(n){const e=n.length;for(let t=0;to){e.setScalar(R*s);return}e.setScalar(M*s/o)}function Vr(n){return n instanceof ni?n.value:n}function od(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Yt(()=>n()?Vr(s):void 0)),i.add(r,o)}}}function xB(n,e){const t=e.map(i=>Ot(n,i,0));return Yt(()=>t.map(i=>i.value))}function Ro(n,e){e.push(()=>()=>xT(n))}function H5(n,e,t,i,r,s){let o=!1;xm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}Dl("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&z5(r,a)}),Dl("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),xT(r)})}function Do(n){return{hover:od(()=>n.value.length>0)}}const wC=[],Xp=[];function z5(n,e){wC.push(n),Xp.push(e),document.body.style.cursor=e}function xT(n){const e=wC.indexOf(n);e!=-1&&(wC.splice(e,1),Xp.splice(e,1),document.body.style.cursor=Xp[Xp.length-1]??"default")}const V5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let M_;function W5(){return M_??=sd({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),M_}function Y5(n,e,t,i,r,s,o,a){const l=Ii(void 0,ii.Panel,_m,r),A=nt(void 0);a.push(()=>et(()=>{const f=t.value;f==null&&(A.value=void 0),A.value=f;const g=setInterval(()=>A.value=A.peek()==null?f:void 0,500);return()=>clearInterval(g)}));const h=xB(n,V5),d=Ot(n,"caretWidth",1.5);a.push(f=>ks(n,l,void 0,o,e,Yt(()=>{const g=A.value;return g==null?[0,0]:[d.value,g[2]]}),Yt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-d.value/2,g[1]]}),h,s,i,W5(),f))}const J5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let R_;function X5(){return R_??=sd({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),R_}function K5(n,e,t,i,r,s,o,a){const l=[],A=Ii(void 0,ii.Panel,_m,r),h=xB(n,J5);return a.push(()=>et(()=>{const d=t.value,f=d.length;for(let E=0;E()=>{const d=l.length;for(let f=0;fn.value)}}const q5=new Set;function Z5(n){q5.add(n)}function $5(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),d=nt(!1),f=[];Ro(A,f);const g=Qo(s,o,a,{...xo,...So(n.root.size),...Do(A),...wo(h),...j5(d)},void 0,fe=>{xm(s.value,o.value,a.value,F=>{fe.add("caretOpacity",F.opacity),fe.add("caretColor",F.color)})}),E=yo(),C=nt(void 0);Oa(C,E,n,g,l,f);const I=vo(g,E,n.root.pixelSize);Bo(l,I,f);const p=Fa(n.childrenMatrix,I),y=ka(n.clippingRect,p,E.size,n.root.pixelSize),v=jl(g),S=Ii(g,ii.Panel,v,n.orderInfo);f.push(fe=>ks(g,S,v,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,y,Xl(),fe));const M={},R=nt([]),D=nt(void 0),k=nt(void 0);Y5(g,p,D,y,S,n.clippingRect,n.root.panelGroupManager,f);const X=K5(g,p,R,y,S,n.clippingRect,n.root.panelGroupManager,f),_=iT(g,r,n.root.renderer,f),L=Ii(void 0,ii.Text,sT(_),X),q=oT(g,e,p,C,E,y,n.clippingRect,L,_,n.root.gylphGroupManager,k,R,D,M,f);f.push(()=>et(()=>C.value?.setMeasureFunc(q))),Co(s,o,E.size,f),Ua(s,o,y,f);const de=Ot(g,"disabled",!1),J=t8(e,k,t,i,de,f),ae=()=>{d.peek()||J.peek()?.focus()};n8(J,d,f);const re=e8(E,J,M,k,ae,de);return Object.assign(E,{focus:ae,root:n.root,element:J,node:C,interactionPanel:Kl(S,n.root,n.clippingRect,E.size,f),handlers:_o(s,o,a,A,h,re,"text"),initializers:f})}function e8(n,e,t,i,r,s){return Yt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;Z5(a.nativeEvent),a.stopPropagation?.();const l=D_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=D_(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),d=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,d)})}}})}function t8(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:d,selectionEnd:f}=l;if(d==null||f==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===d&&g[1]===f||(e.value=[d,f])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},et(()=>l.value=n.value),et(()=>l.disabled=r.value)),a}),o}function n8(n,e,t){t.push(()=>et(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function D_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,d]=o,[f,,,g]=a,E=i.x*l-d-g,C=-i.y*A+h+f;return r.getCharIndex(E,C)}new ve;const _C=$.createContext(void 0);function i8(){return $.useContext(_C)}function Fr(n){const t={...$.useContext(_C)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return P.jsx(_C.Provider,{value:t,children:n.children})}const T_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],To=$.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=$.useState(()=>n.value);$.useEffect(()=>et(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=$.useMemo(()=>{const a={...r},l=T_.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=i8(),e}function Lo(n,e,t,i,r,s){$.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:d}=i;return{setStyle:f=>t.value=f,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:d,size:h,interactionPanel:r instanceof $t?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Et=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>E5(t,s.style,s.properties,s.default,i,r),[t,s]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[t,s,o]),Lo(e,t.root.pixelSize,s.style,o,o.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:o.handlers,ref:i,children:[P.jsx("primitive",{object:o.interactionPanel}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:o,children:n.children})})]})}),r8=$.forwardRef((n,e)=>{const t=pB(h=>h.gl);t.setTransparentSort($H);const i=Us(),r=$.useRef(null),s=$.useRef(null),o=$.useMemo(()=>nt(void 0),[]);o.value=n.pixelSize;const a=bo(n),l=$.useMemo(()=>new Set,[]),A=$.useMemo(()=>h5(Yt(()=>Vr(o.value)??A5),a.style,a.properties,a.default,r,s,()=>i.getState().camera,t,l),[]);return $.useEffect(()=>{const h=[];return Mo(A.initializers,h),()=>Ir(h)},[A]),Uu((h,d)=>{for(const f of l)f(d)}),Lo(e,A.root.pixelSize,a.style,A,A.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:A.handlers,ref:r,children:[P.jsx("primitive",{object:A.interactionPanel}),P.jsx("object3D",{ref:s,children:P.jsx(ku,{value:A,children:n.children})})]})}),SB=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=$.useMemo(()=>y5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,s.style,a,a.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:a.handlers,children:[P.jsx("primitive",{object:a.interactionPanel}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:a,children:n.children})})]})}),it=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=$.useMemo(()=>nt(void 0),[]);o.value=GD();const a=$.useMemo(()=>w5(t,s,o,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,r.style,a,a.interactionPanel),P.jsx(To,{userHandlers:n,handlers:a.handlers,ref:i,children:P.jsx("primitive",{object:a.interactionPanel})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>nt(""),[]);o.value=n.src;const a=$.useMemo(()=>Q5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Ir(l)},[a]),Lo(e,t.root.pixelSize,s.style,a,a.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:a.handlers,children:[P.jsx("primitive",{object:a.interactionPanel}),P.jsx("primitive",{object:a.centerGroup}),P.jsx("object3D",{ref:r,children:P.jsx(ku,{value:a,children:n.children})})]})});const ad=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>T5(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const o=[];return Mo(s.initializers,o),()=>Ir(o)},[s]),Lo(e,t.root.pixelSize,r.style,s,s.interactionPanel),P.jsxs(To,{userHandlers:n,ref:i,handlers:s.handlers,children:[P.jsx("primitive",{object:s.interactionPanel}),P.jsx("primitive",{object:s.iconGroup})]})}),s8=$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=bo(n),s=$.useMemo(()=>nt(""),[]),o=$.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=$.useMemo(()=>Yt(()=>Vr(s.value)),[s]),l=$.useMemo(()=>nt(void 0),[]);l.value=GD();const A=$.useMemo(()=>$5(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const h=[];return Mo(A.initializers,h),()=>Ir(h)},[A]),$.useEffect(()=>et(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),Lo(e,t.root.pixelSize,r.style,A,A.interactionPanel,$.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),P.jsx(To,{userHandlers:n,handlers:A.handlers,ref:i,children:P.jsx("primitive",{object:A.interactionPanel})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>P5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[o]),Lo(e,t.root.pixelSize,s.style,o,r),P.jsx(To,{userHandlers:n,handlers:o.handlers,ref:i,children:P.jsx(ku,{value:void 0,children:P.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:vB,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});$.forwardRef((n,e)=>{const t=Pa(),i=$.useRef(null),r=$.useRef(null),s=bo(n),o=$.useMemo(()=>N5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Ir(a)},[o]),Lo(e,t.root.pixelSize,s.style,o,o.interactionPanel),P.jsxs(To,{userHandlers:n,handlers:o.handlers,ref:i,children:[P.jsx("primitive",{object:o.interactionPanel}),P.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:P.jsx(ku,{value:void 0,children:n.children})})]})});const o8=$.forwardRef((n,e)=>{const t=Us(),[i,r,s]=$.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=pB(A=>A.camera),a=n.distanceToCamera??o.near+.01;$.useEffect(()=>{const A=({camera:h,size:{height:d}})=>zD(()=>O5(i,r,s,a,h,d));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return P.jsxs(P.Fragment,{children:[l&&P.jsx("primitive",{object:o}),ND(P.jsx("group",{"position-z":-a,children:P.jsx(r8,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});$.forwardRef(({src:n,...e},t)=>{const i=gB(ym,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,P.jsx(SB,{ref:t,src:i,...e})});$.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=$.useMemo(()=>new zr(1,1,{minFilter:Cn,magFilter:Cn,type:Ul}),[]),l=$.useRef(null),A=$.useMemo(()=>({events:{compute:a8.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);$.useEffect(()=>{if(l.current==null)return;const{size:d}=l.current,f=et(()=>{if(d.value==null)return;const[g,E]=d.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{f(),a.dispose()}},[a,A]),$.useImperativeHandle(o,()=>l.current,[]);const h=$.useMemo(()=>new Rh,[]);return P.jsxs(P.Fragment,{children:[ND(P.jsxs(l8,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,P.jsx("group",{onPointerOver:()=>null})]}),h,A),P.jsx(SB,{src:a.texture,fit:"fill",keepAspectRatio:!1,...s,ref:l})]})});function a8({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function l8({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Us();$.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return et(()=>{if(A.value==null)return;const[h,d]=A.value;s.setState({size:{width:h,height:d,top:0,left:0}})})});let o=0,a,l;return Uu(A=>{(n===1/0||o{const t=$.useMemo(()=>nt(void 0),[]),i=$.useMemo(()=>nt(1),[]),r=$.useMemo(()=>document.createElement("video"),[]);return $.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,$.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),$.useEffect(()=>{const s=new R2(r);return t.value=s,()=>s.dispose()},[t,r]),$.useImperativeHandle(e,()=>r,[r]),P.jsx(SB,{aspectRatio:i,...n,src:t})});const c8='',bt=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:c8,svgWidth:24,svgHeight:24})),u8='',A8=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:u8,svgWidth:24,svgHeight:24})),h8='',Oc=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:h8,svgWidth:24,svgHeight:24})),d8='',f8=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:d8,svgWidth:24,svgHeight:24})),p8='',Gc=$.forwardRef((n,e)=>P.jsx(ad,{...n,ref:e,text:p8,svgWidth:24,svgHeight:24})),eo=new td,CI=new pD,b_=new sn;function g8(n,e,t,i,r){const s=[];for(const[o,a]of r){CI.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=CI.at(a.distanceOnLine/CI.distance(),new O);Pm(b_,a,o);const A=m8(n,i,b_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const L_=new O,vI=new Da;function m8(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(vI.origin.copy(r).applyMatrix4(n.matrixWorld),vI.direction.copy(s).applyMatrix4(n.matrixWorld).sub(eo.ray.origin).normalize(),vI.intersectPlane(t,L_)!=null)return L_.clone()}}const E8=new ut;function I8(n,e,t,i,r,s,o){const a=[];return ld(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let h=1;hy===C.object)!=-1)continue;const p=C.distance;C.distance+=A,a.push(Object.assign(C,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:h-1,distanceOnLine:p,pointOnFace:C.point,localPoint:C.point.clone().applyMatrix4(E8.copy(C.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const Ms=new td,pu=new O,ro=new sn,P_=new Da;function y8(n,e,t,i){pu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){P_.set(n,pu),Pm(ro,o,s);const a=P_.intersectPlane(ro,new O)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:pu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function C8(n,e,t,i,r){Ms.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(pu);const s=[];for(const[o,a]of t){ro.setFromNormalAndCoplanarPoint(pu,Ms.ray.origin),ro.constant-=a.distanceViewPlane;const l=Ms.ray.intersectPlane(ro,new O);if(l==null)continue;Pm(ro,a,o);const A=Ms.ray.intersectPlane(ro,new O)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Mg=new ut;function v8(n,e,t,i,r,s){Ms.ray.origin.copy(n),Ms.ray.direction.copy(s).applyQuaternion(e);const o=[];return ld(t,i.hasEventHandlers.bind(i),a=>{const l=Ms.intersectObject(a,!0);for(const A of l)r&&!Lm(A)||(Mg.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Mg)})))}),o.sort((a,l)=>a.distance-l.distance)}function B8(n,e,t,i,r,s,o){Ms.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),ro.setFromNormalAndCoplanarPoint(n.getWorldDirection(pu),Ms.ray.origin);const a=[];return ld(t,i.hasEventHandlers.bind(i),l=>{const A=Ms.intersectObject(l,!0);for(const h of A)r&&!Lm(h)||(Mg.copy(l.matrixWorld).invert(),a.push(Object.assign(h,{intersections:a,pointOnFace:h.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:ro.distanceToPoint(h.point),localPoint:h.point.clone().applyMatrix4(Mg)})))}),a.sort((l,A)=>l.distance-A.distance)}const N_=new O,U_=new Hn,k_=new sn;function x8(n,e,t){const i=[];for(const[r,s]of t){N_.copy(s.point).sub(s.inputDevicePosition),U_.copy(s.inputDeviceRotation).invert().multiply(e);const o=N_.clone().applyQuaternion(U_).add(n);Pm(k_,s,r);const a=k_.projectPoint(n,new O);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Ur=new Jn;function S8(n,e,t,i,r,s){Ur.center.copy(n),Ur.radius=t;const o=[];return ld(i,r.hasEventHandlers.bind(r),a=>ST(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function ST(n,e,t,i){_8(n,e,t,i);for(const r of n.children)ST(r,e,t,i)}const MA=new ut,RA=new ut;function w8(n){return"spherecast"in n}function _8(n,e,t,i){if(n.updateWorldMatrix(!0,!1),w8(n)){const r=[];n.spherecast(Ur,r);for(const s of r)t&&!Lm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Ur.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(MA.copy(s.object.matrixWorld).invert())})}if(n instanceof Jv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sUr.radius*Ur.radius)return;BI.max(Q8);const h=gu.center.clone().sub(O_);h.divide(BI),M8(h);const d=Bp.clone();o&&!R8(n,d)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:h},pointOnFace:d,point:d,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:d.clone().applyMatrix4(r)})}function M8(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)}function ld(n,e,t){if(e(n))return t(n);for(const i of n.children)ld(i,e,t)}function Lm(n){if(!(n.object instanceof $t)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function R8(n,e){if(!(n instanceof $t)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function Pm(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const xI=new O,H_=new Hn,z_=Symbol("traversal-id"),V_=[],QC=new zt;class Nm{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,h,d){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=h,this.onEndEventCaptures=d}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(xI,H_),this.intersections=[{distance:1/0,inputDevicePosition:xI.clone(),inputDeviceRotation:H_.clone(),object:QC,point:xI.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,h,d)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,d,r),this.dispatchRelease(e,a,A,l,d),this.updateElementStateMap(A,l,d,r,s)),l.lastPressedElementIds=d,l.blockFollowingIntersections&&(this.intersections.length=h+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,h)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,h,A,a),this.eventDispatcher.leave(l,h),A.lastLeftTime=s,A.lastPressedElementIds=V_,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),d=$.useMemo(()=>new Um,[]);d.onPointerDownMissed=r,d.onPointerUpMissed=s,d.onClickMissed=o;const f=$.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);f.filterClipped=A??!0,f.computeIntersections=n,f.isDrag=e,f.onIntersections=t,f.filterIntersections=i,f.onStartEventCaptures=a,f.onEndEventCaptures=l;for(const[g,E]of h)wT(E.translator,g,f);return $.useEffect(()=>()=>{for(const{translator:g}of h.values())g.leave({});h.clear()},[]),$.useMemo(()=>{const g=E=>b8(h,d,f,E);return{cancel:(E,C)=>{const{translator:I}=g(E);I.cancel(C)},enter:(E,C)=>{const{translator:I}=g(E);I.update(C,!0,!0)},leave:(E,C)=>{const{translator:I}=g(E);I.leave(C),h.delete(E)},press:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:y,translator:v}=g(E);for(const S of I)y.add(S),p.set(S,C);v.update(C,!1,!0,...I)},release:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:y,inputDeviceElementDragSet:v,translator:S}=g(E);for(const M of I)y.delete(M),p.delete(M);S.update(C,!1,!0);for(const M of I)v.delete(M)},move:(E,C)=>{const{translator:I,inputDeviceElementPressMap:p,inputDeviceElementDragSet:y}=g(E);for(const[v,S]of p)f.isDrag(S,C)&&y.add(v);I.update(C,!0,!1)},wheel:E=>{for(const{translator:C}of h.values())C.wheel(E)},blur:E=>{for(const{translator:C}of h.values())C.leave(E);h.clear()}}},[])}function wT(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function b8(n,e,t,i){let r=n.get(i);if(r==null){const s=new O,o=new Hn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new Nm(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};wT(a.translator,i,t),n.set(i,r=a)}return r}new O;const L8=[];function P8(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function N8({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Us(),l=pB(({gl:f})=>f.domElement),A=$.useMemo(()=>U8.bind(null,a),[a]),h=$.useRef(o);h.current=o;const d=T8(A,P8.bind(null,h),i,e,r,s,t,k8,F8,n);return $.useEffect(()=>{const f=y=>d.cancel(y.pointerId,y),g=y=>d.press(y.pointerId,y,y.button),E=y=>d.release(y.pointerId,y,y.button),C=y=>d.enter(y.pointerId,y),I=y=>d.leave(y.pointerId,y),p=y=>d.move(y.pointerId,y);return l.addEventListener("pointercancel",f),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",C),l.addEventListener("pointerout",I),l.addEventListener("pointermove",p),l.addEventListener("wheel",d.wheel),l.addEventListener("blur",d.blur),()=>{l.removeEventListener("pointercancel",f),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",C),l.removeEventListener("pointerout",I),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",d.wheel),l.removeEventListener("blur",d.blur)}},[l,d]),null}function U8(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return L8;const{camera:a,scene:l,size:A}=n.getState(),h=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?B8(a,h,l,r,i,s,o):C8(a,h,t,s,o)}function k8(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function F8(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const SI=new O,wI=new Hn,O8=new O(0,0,1);$.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=O8,initialPressedElementIds:l},A)=>{const h=Us(),d=$.useMemo(()=>new zt,[]),f=$.useMemo(()=>new Um,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=i;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const C=$.useMemo(()=>new Nm(n,!1,f,(p,y)=>(d.getWorldPosition(SI),d.getWorldQuaternion(wI),y==null?v8(SI,wI,h.getState().scene,f,E.filterClipped,E.direction):y8(SI,wI,y,E.direction)),()=>[...g],(p,y)=>{d.getWorldPosition(p),d.getWorldQuaternion(y)}),[n,h]);C.onIntersections=e,C.filterIntersections=t,$.useImperativeHandle(A,()=>({press:(p,y)=>{g.add(p),C.update(y,!1,!0,p)},release:(p,y)=>{g.delete(p),C.update(y,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),$.useEffect(()=>C.leave.bind(C,{}),[C]);const I=$.useRef(g.size>0);return Uu(()=>{C.update({},!0,I.current,...g),I.current=!1}),LC.createElement("primitive",{object:d})});const _I=new O,QI=new Hn;$.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},h)=>{const d=$.useMemo(()=>new zt,[]),f=Us(),g=$.useMemo(()=>new Set(A),[]),E=$.useMemo(()=>new Um,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const C=$.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);C.distanceElement=e,C.radius=t,C.filterClipped=l;const I=$.useMemo(()=>new Nm(n,!0,E,(y,v)=>(d.getWorldPosition(_I),d.getWorldQuaternion(QI),v==null?S8(_I,QI,C.radius,f.getState().scene,E,C.filterClipped):x8(_I,QI,v)),y=>y!=null&&C.distanceElement!=null&&y.distance<=C.distanceElement.downRadius&&(y.distanceToFace==null||y.distanceToFace<2*C.distanceElement.downRadius*2)?[...g,C.distanceElement.id]:[...g],(y,v)=>{d.getWorldPosition(y),d.getWorldQuaternion(v)}),[n,f]);I.onIntersections=i,I.filterIntersections=r,$.useImperativeHandle(h,()=>({press:(y,v)=>{g.add(y),I.update(v,!1,!0,y)},release:(y,v)=>{g.delete(y),I.update(v,!1,!0)},cancel:I.cancel.bind(I),wheel(y){I.wheel(y)}}),[I]),$.useEffect(()=>I.leave.bind(I,{}),[I]);const p=$.useRef(g.size>0);return Uu(()=>{I.update({},!0,p.current||e!=null,...g),p.current=!1}),LC.createElement("primitive",{object:d})});const MI=new O,RI=new Hn;$.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const h=$.useMemo(()=>new zt,[]),d=Us(),f=$.useMemo(()=>new Um,[]);f.onPointerDownMissed=s,f.onPointerUpMissed=o,f.onClickMissed=r;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const C=$.useMemo(()=>new Nm(n,!1,f,(p,y)=>(h.getWorldPosition(MI),h.getWorldQuaternion(RI),y==null?I8(h,MI,RI,E.points,d.getState().scene,f,E.filterClipped):g8(h,MI,RI,E.points,y)),()=>[...g],(p,y)=>{h.getWorldPosition(p),h.getWorldQuaternion(y)}),[n,d]);C.onIntersections=t,C.filterIntersections=i,$.useImperativeHandle(A,()=>({press:(p,y)=>{g.add(p),C.update(y,!1,!0,p)},release:(p,y)=>{g.delete(p),C.update(y,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),$.useEffect(()=>C.leave.bind(C,{}),[C]);const I=$.useRef(g.size>0);return Uu(()=>{C.update({},!0,I.current,...g),I.current=!1}),LC.createElement("primitive",{object:h})});const G8=()=>({enabled:!1,priority:0});class Um{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==QC){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const h=this.event[A];typeof h!="function"&&(l[A]=h)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===QC)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}class cd extends nB{constructor(){super({specular:"#555",shininess:100})}}function Hc(n,e,t){return new je().setHSL(n/360,e/100,t/100,"srgb")}const Wt={foreground:Hc(0,0,100),background:Hc(0,0,0),card:Hc(0,0,53),cardForeground:Hc(0,0,100),accent:Hc(210,100,52),accentForeground:Hc(0,0,100)};function H8(n){return P.jsx(Fr,{scrollbarColor:Wt.background,scrollbarBorderRadius:4,scrollbarOpacity:.3,color:Wt.background,fontWeight:"medium",...n})}function Di({children:n,...e}){return P.jsx(Et,{backgroundColor:Wt.card,backgroundOpacity:.8,borderColor:Wt.card,borderOpacity:.8,border:4,borderBend:.3,panelMaterialClass:cd,borderRadius:32,...e,children:P.jsx(Fr,{color:Wt.cardForeground,children:n})})}function z8(n){const e=n/44;return{height:44*e,padding:20*e,borderRadius:12*e,fontSize:14*e,iconSize:18*e}}const V8={xs:{iconSize:12,height:24,padding:6,borderRadius:4,fontSize:8},sm:{height:32,padding:12,borderRadius:8,fontSize:12,iconSize:14},md:{height:44,padding:20,borderRadius:12,fontSize:14,iconSize:18},lg:{height:52,padding:25,borderRadius:16,fontSize:16,iconSize:22},xl:{height:56,padding:29,borderRadius:20,fontSize:18,iconSize:28}};function xt({children:n,size:e="md",variant:t="rect",platter:i,selected:r,disabled:s,...o}){const{borderRadius:a,fontSize:l,height:A,padding:h,iconSize:d}=typeof e=="number"?z8(e):V8[e];return P.jsx(Et,{cursor:s?void 0:"pointer",height:A,width:t==="icon"?A:void 0,paddingX:t==="icon"?void 0:h,borderRadius:t==="rect"?a:A/2,justifyContent:"center",alignItems:"center",backgroundColor:Wt.foreground,backgroundOpacity:s?.1:r?1:i?.15:0,hover:{backgroundOpacity:s?.1:r?1:.2},...o,children:P.jsx(Fr,{color:r&&!s?Wt.background:Wt.foreground,opacity:s?.4:1,fontSize:l,width:t==="icon"?d:void 0,height:t==="icon"?d:void 0,children:n})})}const _T=$.createContext({});function Kp({value:n,defaultValue:e,onValueChange:t,disabled:i,...r}){const[s,o]=$.useState(e),a=n??s,l=$.useRef(t);l.current=t;const A=$.useMemo(()=>({value:a,onValueChange:d=>{o(d),l.current?.(d)},disabled:i}),[a,i]),h=i?.3:.4;return P.jsx(_T.Provider,{value:A,children:P.jsx(Et,{height:36,border:2,backgroundOpacity:h,borderOpacity:h,backgroundColor:Wt.background,borderColor:Wt.background,borderBend:i?0:-.3,borderRadius:18,panelMaterialClass:cd,flexDirection:"row",...r})})}function ki({children:n,value:e,disabled:t,...i}){const{value:r,onValueChange:s,disabled:o}=$.useContext(_T),a=r===e&&!o;return P.jsx(Et,{height:32,paddingX:20,flexShrink:0,cursor:o||t?void 0:"pointer",...i,onClick:l=>{t||(s?.(e),i.onClick?.(l))},backgroundColor:Wt.foreground,borderColor:Wt.foreground,backgroundOpacity:a?.3:0,borderOpacity:a?.3:0,border:2,borderRadius:16,borderBend:.3,panelMaterialClass:cd,flexDirection:"row",alignItems:"center",gapColumn:10,children:P.jsx(Fr,{color:Wt.foreground,opacity:t||o?.4:1,children:n})})}function W8(){return P.jsxs(Di,{borderRadius:32,padding:32,gap:8,flexDirection:"column",children:[P.jsx(it,{fontSize:32,children:"Hello World!"}),P.jsx(it,{fontSize:24,opacity:.7,children:"This is the apfel kit."})]})}function W_({selected:n,disabled:e=!1,defaultSelected:t,onSelectedChange:i,...r}){const[s,o]=$.useState(t??!1),a=n??s;return P.jsx(Et,{width:28,height:28,border:2,borderRadius:15,backgroundColor:!e&&a?Wt.accent:Wt.foreground,backgroundOpacity:!e&&a?.9:.1,borderColor:!e&&a?Wt.accent:Wt.foreground,hover:e?void 0:{backgroundOpacity:a?1:.3,backgroundColor:a?Wt.accent:Wt.foreground,borderColor:a?Wt.accent:Wt.foreground},borderOpacity:e?.2:a?1:.5,justifyContent:"center",alignItems:"center",cursor:e?void 0:"pointer",...r,onClick:l=>{e||(o(!a),i?.(!a),r.onClick?.(l))},children:a&&P.jsx(A8,{height:18,width:18,color:Wt.accentForeground})})}function Y8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",gapRow:16,children:[P.jsx(W_,{disabled:!0,defaultSelected:!1}),P.jsx(W_,{defaultSelected:!0})]})}function J8(){return P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},alignItems:"center",gap:32,children:[P.jsx(Di,{borderRadius:32,padding:16,children:P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",platter:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",platter:!0,children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",selected:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",selected:!0,children:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",justifyContent:"space-between",alignItems:"center",gapRow:16,children:[P.jsx(xt,{variant:"icon",size:"xs",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"sm",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"md",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"lg",disabled:!0,children:P.jsx(bt,{})}),P.jsx(xt,{variant:"icon",size:"xl",disabled:!0,children:P.jsx(bt,{})})]})]})}),P.jsx(Di,{borderRadius:32,padding:24,children:P.jsxs(Et,{flexDirection:"column",gapRow:32,children:[P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",platter:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",platter:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",platter:!0,children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",selected:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",selected:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",selected:!0,children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"pill",size:"sm",disabled:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"md",disabled:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"pill",size:"lg",disabled:!0,children:P.jsx(it,{children:"Label"})})]})]}),P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",platter:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",platter:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",platter:!0,children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",selected:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",selected:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",selected:!0,children:P.jsx(it,{children:"Label"})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsx(xt,{variant:"rect",size:"sm",disabled:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"md",disabled:!0,children:P.jsx(it,{children:"Label"})}),P.jsx(xt,{variant:"rect",size:"lg",disabled:!0,children:P.jsx(it,{children:"Label"})})]})]})]})})]})}const QT=$.createContext("plain");function xp({type:n="plain",...e}){return P.jsx(QT.Provider,{value:n,children:P.jsx(Et,{flexDirection:"column",alignItems:"stretch",gapRow:n==="plain"?8:1,...e})})}function Tr({children:n,subtitle:e,selected:t,leadingAccessory:i,trailingAccessory:r,isFirst:s,isLast:o,...a}){const l=$.useContext(QT);return P.jsx(Et,{height:e?72:60,borderRadius:l==="plain"?16:void 0,borderTopRadius:l==="inset"?s?16:0:void 0,borderBottomRadius:l==="inset"?o?16:0:void 0,paddingX:20,flexDirection:"row",alignItems:"center",gapColumn:16,backgroundColor:l==="plain"?Wt.foreground:Wt.background,backgroundOpacity:l==="plain"?t?.2:0:.2,hover:{backgroundOpacity:l==="plain"&&t?.2:.1},active:l==="plain"?{backgroundOpacity:.3}:void 0,cursor:"pointer",...a,children:P.jsxs(Fr,{color:Wt.foreground,children:[i&&P.jsx(Et,{children:i}),P.jsxs(Et,{flexDirection:"column",flexGrow:1,children:[P.jsx(Fr,{fontSize:18,children:n}),P.jsx(Fr,{fontSize:14,opacity:.5,children:e})]}),r&&P.jsx(Et,{children:r})]})})}function X8(){return P.jsxs(Et,{flexDirection:"column",gapRow:32,alignItems:"center",children:[P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},gap:32,children:[P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"plain",width:400,children:[P.jsx(Tr,{subtitle:P.jsx(it,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{subtitle:P.jsx(it,{children:"Subtitle"}),selected:!0,trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})})]})}),P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"plain",width:400,children:[P.jsx(Tr,{subtitle:P.jsx(it,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{subtitle:P.jsx(it,{children:"Subtitle"}),selected:!0,leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})})]})})]}),P.jsxs(Et,{flexDirection:"column",md:{flexDirection:"row"},gap:32,children:[P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"inset",width:400,children:[P.jsx(Tr,{isFirst:!0,subtitle:P.jsx(it,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{isLast:!0,subtitle:P.jsx(it,{children:"Subtitle"}),trailingAccessory:P.jsx(Oc,{height:18,width:18,opacity:.3}),children:P.jsx(it,{children:"Title"})})]})}),P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(xp,{type:"inset",width:400,children:[P.jsx(Tr,{isFirst:!0,subtitle:P.jsx(it,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})}),P.jsx(Tr,{isLast:!0,subtitle:P.jsx(it,{children:"Subtitle"}),leadingAccessory:P.jsx(bt,{height:16,width:16}),trailingAccessory:P.jsx(xt,{variant:"icon",size:"xs",platter:!0,children:P.jsx(Gc,{height:14,width:14})}),children:P.jsx(it,{children:"Title"})})]})})]})]})}const DI=new O,K8={xs:{height:12,knobHeight:8},sm:{height:16,knobHeight:12},md:{height:28,knobHeight:20},lg:{height:44,knobHeight:32}};function Zo({value:n,defaultValue:e,onValueChange:t,min:i=0,max:r=100,step:s=1,size:o="md",icon:a,disabled:l,...A}){const[h,d]=$.useState(e),f=n??h??50,g=$.useRef(null),E=$.useRef(t);E.current=t;const C=n!=null,I=$.useMemo(()=>{let k=!1;function X(_){if(g.current==null)return;DI.copy(_.point),g.current.interactionPanel.worldToLocal(DI);const L=Math.min(Math.max(Math.round(((DI.x+.5)*(r-i)+i)/s)*s,i),r);C||d(L),E.current?.(L),_.stopPropagation()}return{onPointerDown(_){k=!0,X(_),_.target.setPointerCapture(_.pointerId)},onPointerMove(_){k&&X(_)},onPointerUp(_){k&&(k=!1,_.stopPropagation())}}},[r,i,C,s]),p=r-i,y=`${((1-.03)*wm(f/p,0,1)+.03)*100}%`,{height:v,knobHeight:S}=K8[o],M=(v-S)/2,R=o=="md"||o=="lg",D=o==="md"?12:18;return P.jsx(Et,{ref:g,height:v,borderRadius:v/2,backgroundColor:Wt.background,borderColor:Wt.background,backgroundOpacity:.4,positionType:"relative",borderOpacity:.4,cursor:l?void 0:"pointer",border:2,borderBend:-.3,panelMaterialClass:cd,...l?{}:I,...A,children:P.jsx(Et,{positionType:"absolute",inset:-2,children:P.jsxs(Et,{width:y,minWidth:v,height:"100%",borderRadius:v/2,backgroundOpacity:l?.35:.6,backgroundColor:Wt.foreground,children:[R&&P.jsx(Et,{width:v,height:v,alignItems:"center",justifyContent:"center",children:P.jsx(Fr,{color:Wt.foreground,width:D,height:D,opacity:l?.4:1,children:a})}),P.jsx(Et,{positionType:"absolute",height:S,width:S,borderRadius:S/2,positionTop:M,positionRight:M,backgroundColor:Wt.foreground,backgroundOpacity:l?0:1})]})})})}function j8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",md:{flexDirection:"row"},gapColumn:16,gapRow:32,children:[P.jsxs(Et,{flexDirection:"column",gapRow:16,width:250,children:[P.jsx(Zo,{size:"xs",defaultValue:25}),P.jsx(Zo,{size:"sm",defaultValue:50}),P.jsx(Zo,{size:"md",defaultValue:75,icon:P.jsx(bt,{})}),P.jsx(Zo,{size:"lg",defaultValue:100,icon:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",gapRow:16,width:250,children:[P.jsx(Zo,{size:"xs",defaultValue:25,disabled:!0}),P.jsx(Zo,{size:"sm",defaultValue:50,disabled:!0}),P.jsx(Zo,{size:"md",defaultValue:75,disabled:!0,icon:P.jsx(bt,{})}),P.jsx(Zo,{size:"lg",defaultValue:100,disabled:!0,icon:P.jsx(bt,{})})]})]})}function q8(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"column",alignItems:"flex-start",gapRow:16,children:[P.jsxs(Kp,{defaultValue:"1",children:[P.jsx(ki,{value:"1",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"2",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"3",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"4",children:P.jsx(it,{children:"Long Label"})}),P.jsx(ki,{value:"5",disabled:!0,children:P.jsx(it,{children:"Disabled"})})]}),P.jsxs(Kp,{defaultValue:"1",children:[P.jsxs(ki,{value:"1",children:[P.jsx(bt,{height:12,width:12}),P.jsx(it,{children:"Label"})]}),P.jsxs(ki,{value:"2",children:[P.jsx(bt,{height:12,width:12}),P.jsx(it,{children:"Label"})]}),P.jsxs(ki,{value:"3",children:[P.jsx(bt,{height:12,width:12}),P.jsx(it,{children:"Label"})]}),P.jsxs(ki,{value:"4",disabled:!0,children:[P.jsx(bt,{height:12,width:12}),P.jsx(it,{children:"Disabled"})]})]}),P.jsxs(Kp,{defaultValue:"1",disabled:!0,children:[P.jsx(ki,{value:"1",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"2",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"3",children:P.jsx(it,{children:"Label"})}),P.jsx(ki,{value:"4",children:P.jsx(it,{children:"Long Label"})}),P.jsx(ki,{value:"5",disabled:!0,children:P.jsx(it,{children:"Disabled"})})]})]})}const MT=$.createContext(void 0);function Z8({value:n,defaultValue:e,onValueChange:t,...i}){const[r,s]=$.useState(e),o=n!==void 0?n:r,a=$.useRef(t);a.current=t;const[l,A]=$.useState(!1),h=$.useMemo(()=>({isExpanded:l,setIsExpanded:A,value:o,setValue:f=>{s(f),a.current?.(f)}}),[l,o]),d=$.useRef();return P.jsx(MT.Provider,{value:h,children:P.jsx(Di,{minHeight:68,borderRadius:34,minWidth:68,padding:8,border:4,flexDirection:"column",gapRow:8,onHoverChange:f=>{f?d.current=setTimeout(()=>A(!0),300):(clearTimeout(d.current),A(!1))},...i})})}function Sp({value:n,children:e,icon:t,...i}){const{isExpanded:r,value:s,setValue:o}=$.useContext(MT),a=s===n;return P.jsx(Et,{minWidth:44,height:44,borderRadius:22,backgroundColor:Wt.foreground,backgroundOpacity:a?.2:0,hover:a?void 0:{backgroundOpacity:.1},cursor:"pointer",flexDirection:"row",alignItems:"center",gapColumn:10,...i,onClick:l=>{o(n),i.onClick?.(l)},children:P.jsxs(Fr,{color:Wt.foreground,fontSize:16,children:[P.jsx(Et,{width:44,flexDirection:"row",justifyContent:"center",children:P.jsx(Fr,{width:22,height:22,children:t})}),r&&P.jsx(Et,{paddingRight:28,children:e})]})})}function $8(){return P.jsxs(Z8,{defaultValue:"1",children:[P.jsx(Sp,{value:"1",icon:P.jsx(bt,{}),children:P.jsx(it,{children:"Label"})}),P.jsx(Sp,{value:"2",icon:P.jsx(bt,{}),children:P.jsx(it,{children:"Label"})}),P.jsx(Sp,{value:"3",icon:P.jsx(bt,{}),children:P.jsx(it,{children:"Label"})}),P.jsx(Sp,{value:"4",icon:P.jsx(bt,{}),children:P.jsx(it,{children:"Label"})})]})}function DA({value:n=0,...e}){return P.jsx(Et,{width:"100%",height:4,borderRadius:2,backgroundColor:Wt.foreground,backgroundOpacity:.2,...e,children:P.jsx(Et,{backgroundColor:Wt.foreground,backgroundOpacity:.8,minWidth:4,width:`${n*100}%`,height:4,borderRadius:2})})}function eV(){return P.jsxs(Di,{width:200,borderRadius:32,padding:16,flexDirection:"column",gapRow:16,children:[P.jsx(DA,{value:0}),P.jsx(DA,{value:.25}),P.jsx(DA,{value:.5}),P.jsx(DA,{value:.75}),P.jsx(DA,{value:1})]})}const tV={sm:{diameter:20,pillWidth:3,pillHeight:6},md:{diameter:28,pillWidth:4,pillHeight:10},lg:{diameter:44,pillWidth:6,pillHeight:16}},wp=8;function TI({size:n="md",...e}){const t=$.useMemo(()=>new Array(wp).fill(void 0).map(()=>nt(0)),[]);Uu(({clock:o})=>{for(let a=0;aP.jsx(Et,{positionType:"absolute",flexDirection:"column",inset:0,transformRotateZ:a*360/wp,alignItems:"center",justifyContent:"flex-start",children:P.jsx(Et,{backgroundOpacity:o,width:s,height:r,borderRadius:s/2,backgroundColor:Wt.foreground})},a))})}function nV(){return P.jsxs(Di,{borderRadius:32,padding:16,flexDirection:"row",gapColumn:16,children:[P.jsx(TI,{size:"sm"}),P.jsx(TI,{size:"md"}),P.jsx(TI,{size:"lg"})]})}function $o({variant:n="rect",prefix:e,placeholder:t,panelMaterialClass:i,multiline:r,value:s,defaultValue:o,onValueChange:a,tabIndex:l,disabled:A=!1,...h}){const[d,f]=$.useState(null),g=$.useMemo(()=>{if(d!=null)return Yt(()=>d.current.value.length>0?0:void 0)},[d]);return P.jsx(Et,{height:44,width:"100%",paddingRight:20,paddingLeft:e?0:20,flexDirection:"row",alignItems:"center",borderRadius:n==="pill"?22:12,backgroundColor:"#444",backgroundOpacity:A?.3:.4,borderOpacity:A?.3:.4,hover:A?void 0:{backgroundOpacity:.2,borderOpacity:.2},border:2,borderColor:"#444",borderBend:A?0:-.3,panelMaterialClass:cd,overflow:"hidden",...h,children:P.jsxs(Fr,{color:Wt.foreground,opacity:A?.2:.5,children:[e&&P.jsx(Et,{flexShrink:0,paddingX:12,children:P.jsx(Fr,{width:14,height:14,children:e})}),P.jsxs(Et,{alignItems:"center",minHeight:1,flexGrow:1,positionType:"relative",children:[t!=null&&P.jsx(it,{fontSize:14,positionType:"absolute",opacity:g,children:t}),P.jsx(s8,{ref:f,height:"100%",width:"100%",verticalAlign:"center",fontSize:14,panelMaterialClass:i,multiline:r,value:s,defaultValue:o,onValueChange:a,tabIndex:l,disabled:A})]})]})})}function iV(){const[n,e]=$.useState("");return P.jsx(Di,{flexDirection:"column",borderRadius:32,padding:16,children:P.jsxs(Et,{flexDirection:"row",gapColumn:16,children:[P.jsxs(Et,{flexDirection:"column",alignItems:"stretch",gapRow:16,width:300,children:[P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder"}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",prefix:P.jsx(bt,{})}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",disabled:!0}),P.jsx($o,{value:n,onValueChange:e,variant:"rect",placeholder:"Placeholder",disabled:!0,prefix:P.jsx(bt,{})})]}),P.jsxs(Et,{flexDirection:"column",alignItems:"stretch",gapRow:16,width:300,children:[P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder"}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",prefix:P.jsx(bt,{})}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",disabled:!0}),P.jsx($o,{value:n,onValueChange:e,variant:"pill",placeholder:"Placeholder",disabled:!0,prefix:P.jsx(bt,{})})]})]})})}const bI={card:W8,checkbox:Y8,button:J8,list:X8,slider:j8,tabs:q8,"tab-bar":$8,progress:eV,loading:nV,input:iV},rV="button";function sV(){const[n,e]=$.useState(()=>{let s=new URLSearchParams(window.location.search).get("component");return(s==null||!(s in bI))&&(s=rV),s}),t=r=>{const s=new URLSearchParams(window.location.search);s.set("component",r),history.replaceState(null,"","?"+s.toString()),e(r)},i=bI[n];return P.jsxs(wH,{events:G8,style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[P.jsx(N8,{}),P.jsx("color",{attach:"background",args:["black"]}),P.jsx("ambientLight",{intensity:.5}),P.jsx("directionalLight",{intensity:1,position:[-5,5,10]}),P.jsx(H8,{children:P.jsxs(o8,{overflow:"scroll",scrollbarColor:"black",backgroundColor:"white",flexDirection:"column",gap:32,paddingX:32,alignItems:"center",padding:32,children:[P.jsx(Di,{flexShrink:0,borderRadius:32,gap:32,paddingX:16,children:P.jsx(Et,{flexDirection:"row",maxWidth:"100%",overflow:"scroll",paddingY:16,children:P.jsx(Kp,{flexShrink:0,value:n,onValueChange:t,children:Object.keys(bI).map(r=>P.jsx(ki,{value:r,children:P.jsxs(it,{children:[r[0].toUpperCase(),r.slice(1)]})},r))})})}),P.jsx(Et,{flexShrink:0,flexGrow:1,flexDirection:"row",justifyContent:"center",alignItems:"center",children:P.jsx(i,{})}),P.jsxs(Di,{flexShrink:0,padding:8,flexDirection:"row",gap:8,alignItems:"center",children:[P.jsxs(it,{backgroundColor:"black",padding:8,borderRadius:16,marginLeft:8,children:["npx uikit component add apfel ",n]}),P.jsx(xt,{onClick:()=>navigator.clipboard.writeText(`npx uikit component add apfel ${n}`),variant:"icon",children:P.jsx(f8,{})})]})]})})]})}sR(document.getElementById("root")).render(P.jsx($.StrictMode,{children:P.jsx(sV,{})})); diff --git a/examples/apfel/index.html b/examples/apfel/index.html index 03ea62c6..2df9e9f5 100644 --- a/examples/apfel/index.html +++ b/examples/apfel/index.html @@ -5,7 +5,7 @@ Document - +
diff --git a/examples/auth/assets/index-Lk-Z1k-a.js b/examples/auth/assets/index-7Y9r-Yp5.js similarity index 74% rename from examples/auth/assets/index-Lk-Z1k-a.js rename to examples/auth/assets/index-7Y9r-Yp5.js index bead116b..c62fda44 100644 --- a/examples/auth/assets/index-Lk-Z1k-a.js +++ b/examples/auth/assets/index-7Y9r-Yp5.js @@ -1,4 +1,4 @@ -(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 Th(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var NM={exports:{}},pm={},kM={exports:{}},en={};/** +(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 Th(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var kM={exports:{}},pm={},FM={exports:{}},en={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Dh=Symbol.for("react.element"),Cb=Symbol.for("react.portal"),Ib=Symbol.for("react.fragment"),Bb=Symbol.for("react.strict_mode"),xb=Symbol.for("react.profiler"),Sb=Symbol.for("react.provider"),wb=Symbol.for("react.context"),_b=Symbol.for("react.forward_ref"),Mb=Symbol.for("react.suspense"),Qb=Symbol.for("react.memo"),Rb=Symbol.for("react.lazy"),Rx=Symbol.iterator;function Tb(n){return n===null||typeof n!="object"?null:(n=Rx&&n[Rx]||n["@@iterator"],typeof n=="function"?n:null)}var FM={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},OM=Object.assign,GM={};function lA(n,e,t){this.props=n,this.context=e,this.refs=GM,this.updater=t||FM}lA.prototype.isReactComponent={};lA.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")};lA.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function HM(){}HM.prototype=lA.prototype;function nC(n,e,t){this.props=n,this.context=e,this.refs=GM,this.updater=t||FM}var iC=nC.prototype=new HM;iC.constructor=nC;OM(iC,lA.prototype);iC.isPureReactComponent=!0;var Tx=Array.isArray,zM=Object.prototype.hasOwnProperty,rC={current:null},VM={key:!0,ref:!0,__self:!0,__source:!0};function WM(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)zM.call(e,i)&&!VM.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,ce=O[W];if(0>>1;Wr(k,Z))Nr(L,k)?(O[W]=L,O[N]=Z,W=N):(O[W]=k,O[G]=Z,W=G);else if(Nr(L,Z))O[W]=L,O[N]=Z,W=N;else break e}}return J}function r(O,J){var Z=O.sortIndex-J.sortIndex;return Z!==0?Z:O.id-J.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=[],u=1,h=null,d=3,p=!1,m=!1,I=!1,v=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(O){for(var J=t(c);J!==null;){if(J.callback===null)i(c);else if(J.startTime<=O)i(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=t(c)}}function x(O){if(I=!1,E(O),!m)if(t(l)!==null)m=!0,ee(w);else{var J=t(c);J!==null&&he(x,J.startTime-O)}}function w(O,J){m=!1,I&&(I=!1,g(D),D=-1),p=!0;var Z=d;try{for(E(J),h=t(l);h!==null&&(!(h.expirationTime>J)||O&&!P());){var W=h.callback;if(typeof W=="function"){h.callback=null,d=h.priorityLevel;var ce=W(h.expirationTime<=J);J=n.unstable_now(),typeof ce=="function"?h.callback=ce:h===t(l)&&i(l),E(J)}else i(l);h=t(l)}if(h!==null)var Ee=!0;else{var G=t(c);G!==null&&he(x,G.startTime-J),Ee=!1}return Ee}finally{h=null,d=Z,p=!1}}var _=!1,R=null,D=-1,Y=5,Q=-1;function P(){return!(n.unstable_now()-QO||125W?(O.sortIndex=Z,e(c,O),t(l)===null&&O===t(c)&&(I?(g(D),D=-1):I=!0,he(x,Z-W))):(O.sortIndex=ce,e(l,O),m||p||(m=!0,ee(w))),O},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(O){var J=d;return function(){var Z=d;d=J;try{return O.apply(this,arguments)}finally{d=Z}}}})(KM);XM.exports=KM;var Hb=XM.exports;/** + */(function(n){function e(O,J){var q=O.length;O.push(J);e:for(;0>>1,ce=O[W];if(0>>1;Wr(k,q))Nr(L,k)?(O[W]=L,O[N]=q,W=N):(O[W]=k,O[G]=q,W=G);else if(Nr(L,q))O[W]=L,O[N]=q,W=N;else break e}}return J}function r(O,J){var q=O.sortIndex-J.sortIndex;return q!==0?q:O.id-J.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=[],u=1,h=null,d=3,p=!1,m=!1,I=!1,v=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(O){for(var J=t(c);J!==null;){if(J.callback===null)i(c);else if(J.startTime<=O)i(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=t(c)}}function x(O){if(I=!1,E(O),!m)if(t(l)!==null)m=!0,ee(w);else{var J=t(c);J!==null&&he(x,J.startTime-O)}}function w(O,J){m=!1,I&&(I=!1,g(D),D=-1),p=!0;var q=d;try{for(E(J),h=t(l);h!==null&&(!(h.expirationTime>J)||O&&!P());){var W=h.callback;if(typeof W=="function"){h.callback=null,d=h.priorityLevel;var ce=W(h.expirationTime<=J);J=n.unstable_now(),typeof ce=="function"?h.callback=ce:h===t(l)&&i(l),E(J)}else i(l);h=t(l)}if(h!==null)var Ee=!0;else{var G=t(c);G!==null&&he(x,G.startTime-J),Ee=!1}return Ee}finally{h=null,d=q,p=!1}}var _=!1,R=null,D=-1,Y=5,M=-1;function P(){return!(n.unstable_now()-MO||125W?(O.sortIndex=q,e(c,O),t(l)===null&&O===t(c)&&(I?(g(D),D=-1):I=!0,he(x,q-W))):(O.sortIndex=ce,e(l,O),m||p||(m=!0,ee(w))),O},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(O){var J=d;return function(){var q=d;d=J;try{return O.apply(this,arguments)}finally{d=q}}}})(jM);KM.exports=jM;var zb=KM.exports;/** * @license React * react-dom.production.min.js * @@ -30,22 +30,22 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var jM=te,Xr=Hb;function Ke(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"),eE=Object.prototype.hasOwnProperty,zb=/^[: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]*$/,bx={},Lx={};function Vb(n){return eE.call(Lx,n)?!0:eE.call(bx,n)?!1:zb.test(n)?Lx[n]=!0:(bx[n]=!0,!1)}function Wb(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 Yb(n,e,t,i){if(e===null||typeof e>"u"||Wb(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 fr(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 bi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){bi[n]=new fr(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];bi[e]=new fr(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){bi[n]=new fr(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){bi[n]=new fr(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){bi[n]=new fr(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){bi[n]=new fr(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){bi[n]=new fr(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){bi[n]=new fr(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){bi[n]=new fr(n,5,!1,n.toLowerCase(),null,!1,!1)});var oC=/[\-:]([a-z])/g;function aC(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(oC,aC);bi[e]=new fr(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(oC,aC);bi[e]=new fr(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(oC,aC);bi[e]=new fr(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){bi[n]=new fr(n,1,!1,n.toLowerCase(),null,!1,!1)});bi.xlinkHref=new fr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){bi[n]=new fr(n,1,!1,n.toLowerCase(),null,!0,!0)});function lC(n,e,t,i){var r=bi.hasOwnProperty(e)?bi[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),eE=Object.prototype.hasOwnProperty,Vb=/^[: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]*$/,Lx={},Px={};function Wb(n){return eE.call(Px,n)?!0:eE.call(Lx,n)?!1:Vb.test(n)?Px[n]=!0:(Lx[n]=!0,!1)}function Yb(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 Jb(n,e,t,i){if(e===null||typeof e>"u"||Yb(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 fr(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 bi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){bi[n]=new fr(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];bi[e]=new fr(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){bi[n]=new fr(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){bi[n]=new fr(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){bi[n]=new fr(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){bi[n]=new fr(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){bi[n]=new fr(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){bi[n]=new fr(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){bi[n]=new fr(n,5,!1,n.toLowerCase(),null,!1,!1)});var oC=/[\-:]([a-z])/g;function aC(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(oC,aC);bi[e]=new fr(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(oC,aC);bi[e]=new fr(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(oC,aC);bi[e]=new fr(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){bi[n]=new fr(n,1,!1,n.toLowerCase(),null,!1,!1)});bi.xlinkHref=new fr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){bi[n]=new fr(n,1,!1,n.toLowerCase(),null,!0,!0)});function lC(n,e,t,i){var r=bi.hasOwnProperty(e)?bi[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:"")?yf(n):""}function Jb(n){switch(n.tag){case 5:return yf(n.type);case 16:return yf("Lazy");case 13:return yf("Suspense");case 19:return yf("SuspenseList");case 0:case 2:case 15:return n=gv(n.type,!1),n;case 11:return n=gv(n.type.render,!1),n;case 1:return n=gv(n.type,!0),n;default:return""}}function rE(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 xu:return"Fragment";case Bu:return"Portal";case tE:return"Profiler";case cC:return"StrictMode";case nE:return"Suspense";case iE:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case $M:return(n.displayName||"Context")+".Consumer";case ZM:return(n._context.displayName||"Context")+".Provider";case uC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case AC:return e=n.displayName||null,e!==null?e:rE(n.type)||"Memo";case _a:e=n._payload,n=n._init;try{return rE(n(e))}catch{}}return null}function Xb(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 rE(e);case 8:return e===cC?"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 Xa(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function t2(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Kb(n){var e=t2(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 Vd(n){n._valueTracker||(n._valueTracker=Kb(n))}function n2(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=t2(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Ug(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 sE(n,e){var t=e.checked;return On({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function Ux(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Xa(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 i2(n,e){e=e.checked,e!=null&&lC(n,"checked",e,!1)}function oE(n,e){i2(n,e);var t=Xa(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")?aE(n,e.type,t):e.hasOwnProperty("defaultValue")&&aE(n,e.type,Xa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function Nx(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 aE(n,e,t){(e!=="number"||Ug(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Ef=Array.isArray;function zu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Wd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Vf(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var wf={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},jb=["Webkit","ms","Moz","O"];Object.keys(wf).forEach(function(n){jb.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),wf[e]=wf[n]})});function a2(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||wf.hasOwnProperty(n)&&wf[n]?(""+e).trim():e+"px"}function l2(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=a2(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var qb=On({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 uE(n,e){if(e){if(qb[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Ke(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Ke(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Ke(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Ke(62))}}function AE(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 fE=null;function fC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var hE=null,Vu=null,Wu=null;function Ox(n){if(n=Ph(n)){if(typeof hE!="function")throw Error(Ke(280));var e=n.stateNode;e&&(e=Em(e),hE(n.stateNode,n.type,e))}}function c2(n){Vu?Wu?Wu.push(n):Wu=[n]:Vu=n}function u2(){if(Vu){var n=Vu,e=Wu;if(Wu=Vu=null,Ox(n),e)for(n=0;n>>=0,n===0?32:31-(lL(n)/cL|0)|0}var Yd=64,Jd=4194304;function Cf(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 Og(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=Cf(a):(s&=o,s!==0&&(i=Cf(s)))}else o=t&~r,o!==0?i=Cf(o):s!==0&&(i=Cf(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 bh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Us(e),n[e]=t}function hL(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=Mf),Kx=" ",jx=!1;function R2(n,e){switch(n){case"keyup":return GL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function T2(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Su=!1;function zL(n,e){switch(n){case"compositionend":return T2(e);case"keypress":return e.which!==32?null:(jx=!0,Kx);case"textInput":return n=e.data,n===Kx&&jx?null:n;default:return null}}function VL(n,e){if(Su)return n==="compositionend"||!EC&&R2(n,e)?(n=M2(),pg=mC=Da=null,Su=!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=eS(t)}}function P2(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?P2(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function U2(){for(var n=window,e=Ug();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Ug(n.document)}return e}function CC(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 $L(n){var e=U2(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&P2(t.ownerDocument.documentElement,t)){if(i!==null&&CC(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=tS(t,s);var o=tS(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,wu=null,yE=null,Rf=null,EE=!1;function nS(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;EE||wu==null||wu!==Ug(i)||(i=wu,"selectionStart"in i&&CC(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}),Rf&&jf(Rf,i)||(Rf=i,i=zg(yE,"onSelect"),0Qu||(n.current=wE[Qu],wE[Qu]=null,Qu--)}function Bn(n,e){Qu++,wE[Qu]=n.current,n.current=e}var Ka={},Ki=$a(Ka),wr=$a(!1),Ac=Ka;function qu(n,e){var t=n.type.contextTypes;if(!t)return Ka;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 _r(n){return n=n.childContextTypes,n!=null}function Wg(){Mn(wr),Mn(Ki)}function cS(n,e,t){if(Ki.current!==Ka)throw Error(Ke(168));Bn(Ki,e),Bn(wr,t)}function W2(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(Ke(108,Xb(n)||"Unknown",r));return On({},t,i)}function Yg(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Ka,Ac=Ki.current,Bn(Ki,n),Bn(wr,wr.current),!0}function uS(n,e,t){var i=n.stateNode;if(!i)throw Error(Ke(169));t?(n=W2(n,e,Ac),i.__reactInternalMemoizedMergedChildContext=n,Mn(wr),Mn(Ki),Bn(Ki,n)):Mn(wr),Bn(wr,t)}var _o=null,Cm=!1,Rv=!1;function Y2(n){_o===null?_o=[n]:_o.push(n)}function AP(n){Cm=!0,Y2(n)}function el(){if(!Rv&&_o!==null){Rv=!0;var n=0,e=pn;try{var t=_o;for(pn=1;n>=o,r-=o,Qo=1<<32-Us(e)+r|t<D?(Y=R,R=null):Y=R.sibling;var Q=d(g,R,E[D],x);if(Q===null){R===null&&(R=Y);break}n&&R&&Q.alternate===null&&e(g,R),y=s(Q,y,D),_===null?w=Q:_.sibling=Q,_=Q,R=Y}if(D===E.length)return t(g,R),Tn&&Ol(g,D),w;if(R===null){for(;DD?(Y=R,R=null):Y=R.sibling;var P=d(g,R,Q.value,x);if(P===null){R===null&&(R=Y);break}n&&R&&P.alternate===null&&e(g,R),y=s(P,y,D),_===null?w=P:_.sibling=P,_=P,R=Y}if(Q.done)return t(g,R),Tn&&Ol(g,D),w;if(R===null){for(;!Q.done;D++,Q=E.next())Q=h(g,Q.value,x),Q!==null&&(y=s(Q,y,D),_===null?w=Q:_.sibling=Q,_=Q);return Tn&&Ol(g,D),w}for(R=i(g,R);!Q.done;D++,Q=E.next())Q=p(R,g,D,Q.value,x),Q!==null&&(n&&Q.alternate!==null&&R.delete(Q.key===null?D:Q.key),y=s(Q,y,D),_===null?w=Q:_.sibling=Q,_=Q);return n&&R.forEach(function(z){return e(g,z)}),Tn&&Ol(g,D),w}function v(g,y,E,x){if(typeof E=="object"&&E!==null&&E.type===xu&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case zd:e:{for(var w=E.key,_=y;_!==null;){if(_.key===w){if(w=E.type,w===xu){if(_.tag===7){t(g,_.sibling),y=r(_,E.props.children),y.return=g,g=y;break e}}else if(_.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===_a&&mS(w)===_.type){t(g,_.sibling),y=r(_,E.props),y.ref=$A(g,_,E),y.return=g,g=y;break e}t(g,_);break}else e(g,_);_=_.sibling}E.type===xu?(y=tc(E.props.children,g.mode,x,E.key),y.return=g,g=y):(x=Bg(E.type,E.key,E.props,null,g.mode,x),x.ref=$A(g,y,E),x.return=g,g=x)}return o(g);case Bu:e:{for(_=E.key;y!==null;){if(y.key===_)if(y.tag===4&&y.stateNode.containerInfo===E.containerInfo&&y.stateNode.implementation===E.implementation){t(g,y.sibling),y=r(y,E.children||[]),y.return=g,g=y;break e}else{t(g,y);break}else e(g,y);y=y.sibling}y=kv(E,g.mode,x),y.return=g,g=y}return o(g);case _a:return _=E._init,v(g,y,_(E._payload),x)}if(Ef(E))return m(g,y,E,x);if(XA(E))return I(g,y,E,x);ep(g,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,y!==null&&y.tag===6?(t(g,y.sibling),y=r(y,E),y.return=g,g=y):(t(g,y),y=Nv(E,g.mode,x),y.return=g,g=y),o(g)):t(g,y)}return v}var $u=eQ(!0),tQ=eQ(!1),Uh={},ro=$a(Uh),eh=$a(Uh),th=$a(Uh);function Xl(n){if(n===Uh)throw Error(Ke(174));return n}function RC(n,e){switch(Bn(th,e),Bn(eh,n),Bn(ro,Uh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:cE(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=cE(e,n)}Mn(ro),Bn(ro,e)}function eA(){Mn(ro),Mn(eh),Mn(th)}function nQ(n){Xl(th.current);var e=Xl(ro.current),t=cE(e,n.type);e!==t&&(Bn(eh,n),Bn(ro,t))}function TC(n){eh.current===n&&(Mn(ro),Mn(eh))}var Nn=$a(0);function Zg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Tv=[];function DC(){for(var n=0;nt?t:4,n(!0);var i=Dv.transition;Dv.transition={};try{n(!1),e()}finally{pn=t,Dv.transition=i}}function vQ(){return ys().memoizedState}function pP(n,e,t){var i=Oa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},yQ(n))EQ(e,t);else if(t=j2(n,e,t,i),t!==null){var r=cr();Ns(t,n,i,r),CQ(t,e,i)}}function gP(n,e,t){var i=Oa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(yQ(n))EQ(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,Fs(a,o)){var l=e.interleaved;l===null?(r.next=r,MC(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=j2(n,e,r,i),t!==null&&(r=cr(),Ns(t,n,i,r),CQ(t,e,i))}}function yQ(n){var e=n.alternate;return n===Fn||e!==null&&e===Fn}function EQ(n,e){Tf=$g=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function CQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,dC(n,t)}}var em={readContext:vs,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},mP={readContext:vs,useCallback:function(n,e){return qs().memoizedState=[n,e===void 0?null:e],n},useContext:vs,useEffect:yS,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,yg(4194308,4,hQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return yg(4194308,4,n,e)},useInsertionEffect:function(n,e){return yg(4,2,n,e)},useMemo:function(n,e){var t=qs();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=qs();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=pP.bind(null,Fn,n),[i.memoizedState,n]},useRef:function(n){var e=qs();return n={current:n},e.memoizedState=n},useState:vS,useDebugValue:NC,useDeferredValue:function(n){return qs().memoizedState=n},useTransition:function(){var n=vS(!1),e=n[0];return n=dP.bind(null,n[1]),qs().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Fn,r=qs();if(Tn){if(t===void 0)throw Error(Ke(407));t=t()}else{if(t=e(),xi===null)throw Error(Ke(349));hc&30||sQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,yS(aQ.bind(null,i,s,n),[n]),i.flags|=2048,rh(9,oQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=qs(),e=xi.identifierPrefix;if(Tn){var t=Ro,i=Qo;t=(i&~(1<<32-Us(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=nh++,0")&&(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:"")?yf(n):""}function Xb(n){switch(n.tag){case 5:return yf(n.type);case 16:return yf("Lazy");case 13:return yf("Suspense");case 19:return yf("SuspenseList");case 0:case 2:case 15:return n=gv(n.type,!1),n;case 11:return n=gv(n.type.render,!1),n;case 1:return n=gv(n.type,!0),n;default:return""}}function rE(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 xu:return"Fragment";case Bu:return"Portal";case tE:return"Profiler";case cC:return"StrictMode";case nE:return"Suspense";case iE:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case e2:return(n.displayName||"Context")+".Consumer";case $M:return(n._context.displayName||"Context")+".Provider";case uC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case AC:return e=n.displayName||null,e!==null?e:rE(n.type)||"Memo";case _a:e=n._payload,n=n._init;try{return rE(n(e))}catch{}}return null}function Kb(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 rE(e);case 8:return e===cC?"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 Xa(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function n2(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function jb(n){var e=n2(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 Vd(n){n._valueTracker||(n._valueTracker=jb(n))}function i2(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=n2(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Ug(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 sE(n,e){var t=e.checked;return On({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function Nx(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Xa(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 r2(n,e){e=e.checked,e!=null&&lC(n,"checked",e,!1)}function oE(n,e){r2(n,e);var t=Xa(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")?aE(n,e.type,t):e.hasOwnProperty("defaultValue")&&aE(n,e.type,Xa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function kx(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 aE(n,e,t){(e!=="number"||Ug(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Ef=Array.isArray;function zu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Wd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Vf(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var wf={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},qb=["Webkit","ms","Moz","O"];Object.keys(wf).forEach(function(n){qb.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),wf[e]=wf[n]})});function l2(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||wf.hasOwnProperty(n)&&wf[n]?(""+e).trim():e+"px"}function c2(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=l2(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var Zb=On({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 uE(n,e){if(e){if(Zb[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Ke(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Ke(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Ke(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Ke(62))}}function AE(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 fE=null;function fC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var hE=null,Vu=null,Wu=null;function Gx(n){if(n=Ph(n)){if(typeof hE!="function")throw Error(Ke(280));var e=n.stateNode;e&&(e=Em(e),hE(n.stateNode,n.type,e))}}function u2(n){Vu?Wu?Wu.push(n):Wu=[n]:Vu=n}function A2(){if(Vu){var n=Vu,e=Wu;if(Wu=Vu=null,Gx(n),e)for(n=0;n>>=0,n===0?32:31-(cL(n)/uL|0)|0}var Yd=64,Jd=4194304;function Cf(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 Og(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=Cf(a):(s&=o,s!==0&&(i=Cf(s)))}else o=t&~r,o!==0?i=Cf(o):s!==0&&(i=Cf(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 bh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Us(e),n[e]=t}function dL(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=Mf),jx=" ",qx=!1;function T2(n,e){switch(n){case"keyup":return HL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function D2(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Su=!1;function VL(n,e){switch(n){case"compositionend":return D2(e);case"keypress":return e.which!==32?null:(qx=!0,jx);case"textInput":return n=e.data,n===jx&&qx?null:n;default:return null}}function WL(n,e){if(Su)return n==="compositionend"||!EC&&T2(n,e)?(n=Q2(),pg=mC=Da=null,Su=!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=tS(t)}}function U2(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?U2(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function N2(){for(var n=window,e=Ug();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Ug(n.document)}return e}function CC(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 eP(n){var e=N2(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&U2(t.ownerDocument.documentElement,t)){if(i!==null&&CC(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=nS(t,s);var o=nS(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,wu=null,yE=null,Rf=null,EE=!1;function iS(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;EE||wu==null||wu!==Ug(i)||(i=wu,"selectionStart"in i&&CC(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}),Rf&&jf(Rf,i)||(Rf=i,i=zg(yE,"onSelect"),0Qu||(n.current=wE[Qu],wE[Qu]=null,Qu--)}function Bn(n,e){Qu++,wE[Qu]=n.current,n.current=e}var Ka={},Ki=$a(Ka),wr=$a(!1),Ac=Ka;function qu(n,e){var t=n.type.contextTypes;if(!t)return Ka;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 _r(n){return n=n.childContextTypes,n!=null}function Wg(){Mn(wr),Mn(Ki)}function uS(n,e,t){if(Ki.current!==Ka)throw Error(Ke(168));Bn(Ki,e),Bn(wr,t)}function Y2(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(Ke(108,Kb(n)||"Unknown",r));return On({},t,i)}function Yg(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Ka,Ac=Ki.current,Bn(Ki,n),Bn(wr,wr.current),!0}function AS(n,e,t){var i=n.stateNode;if(!i)throw Error(Ke(169));t?(n=Y2(n,e,Ac),i.__reactInternalMemoizedMergedChildContext=n,Mn(wr),Mn(Ki),Bn(Ki,n)):Mn(wr),Bn(wr,t)}var _o=null,Cm=!1,Rv=!1;function J2(n){_o===null?_o=[n]:_o.push(n)}function fP(n){Cm=!0,J2(n)}function el(){if(!Rv&&_o!==null){Rv=!0;var n=0,e=pn;try{var t=_o;for(pn=1;n>=o,r-=o,Qo=1<<32-Us(e)+r|t<D?(Y=R,R=null):Y=R.sibling;var M=d(g,R,E[D],x);if(M===null){R===null&&(R=Y);break}n&&R&&M.alternate===null&&e(g,R),y=s(M,y,D),_===null?w=M:_.sibling=M,_=M,R=Y}if(D===E.length)return t(g,R),Tn&&Ol(g,D),w;if(R===null){for(;DD?(Y=R,R=null):Y=R.sibling;var P=d(g,R,M.value,x);if(P===null){R===null&&(R=Y);break}n&&R&&P.alternate===null&&e(g,R),y=s(P,y,D),_===null?w=P:_.sibling=P,_=P,R=Y}if(M.done)return t(g,R),Tn&&Ol(g,D),w;if(R===null){for(;!M.done;D++,M=E.next())M=h(g,M.value,x),M!==null&&(y=s(M,y,D),_===null?w=M:_.sibling=M,_=M);return Tn&&Ol(g,D),w}for(R=i(g,R);!M.done;D++,M=E.next())M=p(R,g,D,M.value,x),M!==null&&(n&&M.alternate!==null&&R.delete(M.key===null?D:M.key),y=s(M,y,D),_===null?w=M:_.sibling=M,_=M);return n&&R.forEach(function(z){return e(g,z)}),Tn&&Ol(g,D),w}function v(g,y,E,x){if(typeof E=="object"&&E!==null&&E.type===xu&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case zd:e:{for(var w=E.key,_=y;_!==null;){if(_.key===w){if(w=E.type,w===xu){if(_.tag===7){t(g,_.sibling),y=r(_,E.props.children),y.return=g,g=y;break e}}else if(_.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===_a&&vS(w)===_.type){t(g,_.sibling),y=r(_,E.props),y.ref=$A(g,_,E),y.return=g,g=y;break e}t(g,_);break}else e(g,_);_=_.sibling}E.type===xu?(y=tc(E.props.children,g.mode,x,E.key),y.return=g,g=y):(x=Bg(E.type,E.key,E.props,null,g.mode,x),x.ref=$A(g,y,E),x.return=g,g=x)}return o(g);case Bu:e:{for(_=E.key;y!==null;){if(y.key===_)if(y.tag===4&&y.stateNode.containerInfo===E.containerInfo&&y.stateNode.implementation===E.implementation){t(g,y.sibling),y=r(y,E.children||[]),y.return=g,g=y;break e}else{t(g,y);break}else e(g,y);y=y.sibling}y=kv(E,g.mode,x),y.return=g,g=y}return o(g);case _a:return _=E._init,v(g,y,_(E._payload),x)}if(Ef(E))return m(g,y,E,x);if(XA(E))return I(g,y,E,x);ep(g,E)}return typeof E=="string"&&E!==""||typeof E=="number"?(E=""+E,y!==null&&y.tag===6?(t(g,y.sibling),y=r(y,E),y.return=g,g=y):(t(g,y),y=Nv(E,g.mode,x),y.return=g,g=y),o(g)):t(g,y)}return v}var $u=tQ(!0),nQ=tQ(!1),Uh={},ro=$a(Uh),eh=$a(Uh),th=$a(Uh);function Xl(n){if(n===Uh)throw Error(Ke(174));return n}function RC(n,e){switch(Bn(th,e),Bn(eh,n),Bn(ro,Uh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:cE(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=cE(e,n)}Mn(ro),Bn(ro,e)}function eA(){Mn(ro),Mn(eh),Mn(th)}function iQ(n){Xl(th.current);var e=Xl(ro.current),t=cE(e,n.type);e!==t&&(Bn(eh,n),Bn(ro,t))}function TC(n){eh.current===n&&(Mn(ro),Mn(eh))}var Nn=$a(0);function Zg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Tv=[];function DC(){for(var n=0;nt?t:4,n(!0);var i=Dv.transition;Dv.transition={};try{n(!1),e()}finally{pn=t,Dv.transition=i}}function yQ(){return ys().memoizedState}function gP(n,e,t){var i=Oa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},EQ(n))CQ(e,t);else if(t=q2(n,e,t,i),t!==null){var r=cr();Ns(t,n,i,r),IQ(t,e,i)}}function mP(n,e,t){var i=Oa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(EQ(n))CQ(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,Fs(a,o)){var l=e.interleaved;l===null?(r.next=r,MC(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=q2(n,e,r,i),t!==null&&(r=cr(),Ns(t,n,i,r),IQ(t,e,i))}}function EQ(n){var e=n.alternate;return n===Fn||e!==null&&e===Fn}function CQ(n,e){Tf=$g=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function IQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,dC(n,t)}}var em={readContext:vs,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},vP={readContext:vs,useCallback:function(n,e){return qs().memoizedState=[n,e===void 0?null:e],n},useContext:vs,useEffect:ES,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,yg(4194308,4,dQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return yg(4194308,4,n,e)},useInsertionEffect:function(n,e){return yg(4,2,n,e)},useMemo:function(n,e){var t=qs();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=qs();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=gP.bind(null,Fn,n),[i.memoizedState,n]},useRef:function(n){var e=qs();return n={current:n},e.memoizedState=n},useState:yS,useDebugValue:NC,useDeferredValue:function(n){return qs().memoizedState=n},useTransition:function(){var n=yS(!1),e=n[0];return n=pP.bind(null,n[1]),qs().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Fn,r=qs();if(Tn){if(t===void 0)throw Error(Ke(407));t=t()}else{if(t=e(),Si===null)throw Error(Ke(349));hc&30||oQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,ES(lQ.bind(null,i,s,n),[n]),i.flags|=2048,rh(9,aQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=qs(),e=Si.identifierPrefix;if(Tn){var t=Ro,i=Qo;t=(i&~(1<<32-Us(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=nh++,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[eo]=e,n[$f]=i,RQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=AE(t,i),t){case"dialog":Sn("cancel",n),Sn("close",n),r=i;break;case"iframe":case"object":case"embed":Sn("load",n),r=i;break;case"video":case"audio":for(r=0;rnA&&(e.flags|=128,i=!0,ef(s,!1),e.lanes=4194304)}else{if(!i)if(n=Zg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),ef(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Tn)return Oi(e),null}else 2*ei()-s.renderingStartTime>nA&&t!==1073741824&&(e.flags|=128,i=!0,ef(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=ei(),e.sibling=null,t=Nn.current,Bn(Nn,i?t&1|2:t&1),e):(Oi(e),null);case 22:case 23:return zC(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Gr&1073741824&&(Oi(e),e.subtreeFlags&6&&(e.flags|=8192)):Oi(e),null;case 24:return null;case 25:return null}throw Error(Ke(156,e.tag))}function SP(n,e){switch(BC(e),e.tag){case 1:return _r(e.type)&&Wg(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return eA(),Mn(wr),Mn(Ki),DC(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return TC(e),null;case 13:if(Mn(Nn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Ke(340));Zu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Mn(Nn),null;case 4:return eA(),null;case 10:return _C(e.type._context),null;case 22:case 23:return zC(),null;case 24:return null;default:return null}}var np=!1,Vi=!1,wP=typeof WeakSet=="function"?WeakSet:Set,At=null;function bu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Wn(n,e,i)}else t.current=null}function kE(n,e,t){try{t()}catch(i){Wn(n,e,i)}}var MS=!1;function _P(n,e){if(CE=Gg,n=U2(),CC(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,u=0,h=n,d=null;t:for(;;){for(var p;h!==t||r!==0&&h.nodeType!==3||(a=o+r),h!==s||i!==0&&h.nodeType!==3||(l=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(p=h.firstChild)!==null;)d=h,h=p;for(;;){if(h===n)break t;if(d===t&&++c===r&&(a=o),d===s&&++u===i&&(l=o),(p=h.nextSibling)!==null)break;h=d,d=h.parentNode}h=p}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(IE={focusedElem:n,selectionRange:t},Gg=!1,At=e;At!==null;)if(e=At,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,At=n;else for(;At!==null;){e=At;try{var m=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var I=m.memoizedProps,v=m.memoizedState,g=e.stateNode,y=g.getSnapshotBeforeUpdate(e.elementType===e.type?I:Qs(e.type,I),v);g.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var E=e.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ke(163))}}catch(x){Wn(e,e.return,x)}if(n=e.sibling,n!==null){n.return=e.return,At=n;break}At=e.return}return m=MS,MS=!1,m}function Df(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&&kE(e,t,s)}r=r.next}while(r!==i)}}function xm(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 FE(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 bQ(n){var e=n.alternate;e!==null&&(n.alternate=null,bQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[eo],delete e[$f],delete e[SE],delete e[cP],delete e[uP])),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 LQ(n){return n.tag===5||n.tag===3||n.tag===4}function QS(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||LQ(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 OE(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=Vg));else if(i!==4&&(n=n.child,n!==null))for(OE(n,e,t),n=n.sibling;n!==null;)OE(n,e,t),n=n.sibling}function GE(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(GE(n,e,t),n=n.sibling;n!==null;)GE(n,e,t),n=n.sibling}var Qi=null,Ts=!1;function ma(n,e,t){for(t=t.child;t!==null;)PQ(n,e,t),t=t.sibling}function PQ(n,e,t){if(io&&typeof io.onCommitFiberUnmount=="function")try{io.onCommitFiberUnmount(gm,t)}catch{}switch(t.tag){case 5:Vi||bu(t,e);case 6:var i=Qi,r=Ts;Qi=null,ma(n,e,t),Qi=i,Ts=r,Qi!==null&&(Ts?(n=Qi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Qi.removeChild(t.stateNode));break;case 18:Qi!==null&&(Ts?(n=Qi,t=t.stateNode,n.nodeType===8?Qv(n.parentNode,t):n.nodeType===1&&Qv(n,t),Xf(n)):Qv(Qi,t.stateNode));break;case 4:i=Qi,r=Ts,Qi=t.stateNode.containerInfo,Ts=!0,ma(n,e,t),Qi=i,Ts=r;break;case 0:case 11:case 14:case 15:if(!Vi&&(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)&&kE(t,e,o),r=r.next}while(r!==i)}ma(n,e,t);break;case 1:if(!Vi&&(bu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Wn(t,e,a)}ma(n,e,t);break;case 21:ma(n,e,t);break;case 22:t.mode&1?(Vi=(i=Vi)||t.memoizedState!==null,ma(n,e,t),Vi=i):ma(n,e,t);break;default:ma(n,e,t)}}function RS(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new wP),e.forEach(function(i){var r=UP.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Ss(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=ei()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*QP(i/1960))-i,10n?16:n,ba===null)var i=!1;else{if(n=ba,ba=null,im=0,nn&6)throw Error(Ke(331));var r=nn;for(nn|=4,At=n.current;At!==null;){var s=At,o=s.child;if(At.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lei()-GC?ec(n,0):OC|=t),Mr(n,e)}function zQ(n,e){e===0&&(n.mode&1?(e=Jd,Jd<<=1,!(Jd&130023424)&&(Jd=4194304)):e=1);var t=cr();n=Fo(n,e),n!==null&&(bh(n,e,t),Mr(n,t))}function PP(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),zQ(n,t)}function UP(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(Ke(314))}i!==null&&i.delete(e),zQ(n,t)}var VQ;VQ=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||wr.current)xr=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return xr=!1,BP(n,e,t);xr=!!(n.flags&131072)}else xr=!1,Tn&&e.flags&1048576&&J2(e,Xg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Eg(n,e),n=e.pendingProps;var r=qu(e,Ki.current);Ju(e,t),r=LC(null,e,i,n,r,t);var s=PC();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,_r(i)?(s=!0,Yg(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,QC(e),r.updater=Im,e.stateNode=r,r._reactInternals=e,TE(e,i,n,t),e=LE(null,e,i,!0,s,t)):(e.tag=0,Tn&&s&&IC(e),or(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Eg(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=kP(i),n=Qs(i,n),r){case 0:e=bE(null,e,i,n,t);break e;case 1:e=SS(null,e,i,n,t);break e;case 11:e=BS(null,e,i,n,t);break e;case 14:e=xS(null,e,i,Qs(i.type,n),t);break e}throw Error(Ke(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),bE(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),SS(n,e,i,r,t);case 3:e:{if(_Q(e),n===null)throw Error(Ke(387));i=e.pendingProps,s=e.memoizedState,r=s.element,q2(n,e),qg(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=tA(Error(Ke(423)),e),e=wS(n,e,i,t,r);break e}else if(i!==r){r=tA(Error(Ke(424)),e),e=wS(n,e,i,t,r);break e}else for(Vr=Na(e.stateNode.containerInfo.firstChild),Yr=e,Tn=!0,bs=null,t=tQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Zu(),i===r){e=Oo(n,e,t);break e}or(n,e,i,t)}e=e.child}return e;case 5:return nQ(e),n===null&&ME(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,BE(i,r)?o=null:s!==null&&BE(i,s)&&(e.flags|=32),wQ(n,e),or(n,e,o,t),e.child;case 6:return n===null&&ME(e),null;case 13:return MQ(n,e,t);case 4:return RC(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=$u(e,null,i,t):or(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),BS(n,e,i,r,t);case 7:return or(n,e,e.pendingProps,t),e.child;case 8:return or(n,e,e.pendingProps.children,t),e.child;case 12:return or(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,Bn(Kg,i._currentValue),i._currentValue=o,s!==null)if(Fs(s.value,o)){if(s.children===r.children&&!wr.current){e=Oo(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=Lo(-1,t&-t),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),QE(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(Ke(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),QE(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}or(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Ju(e,t),r=vs(r),i=i(r),e.flags|=1,or(n,e,i,t),e.child;case 14:return i=e.type,r=Qs(i,e.pendingProps),r=Qs(i.type,r),xS(n,e,i,r,t);case 15:return xQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),Eg(n,e),e.tag=1,_r(i)?(n=!0,Yg(e)):n=!1,Ju(e,t),$2(e,i,r),TE(e,i,r,t),LE(null,e,i,!0,n,t);case 19:return QQ(n,e,t);case 22:return SQ(n,e,t)}throw Error(Ke(156,e.tag))};function WQ(n,e){return m2(n,e)}function NP(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 ps(n,e,t,i){return new NP(n,e,t,i)}function WC(n){return n=n.prototype,!(!n||!n.isReactComponent)}function kP(n){if(typeof n=="function")return WC(n)?1:0;if(n!=null){if(n=n.$$typeof,n===uC)return 11;if(n===AC)return 14}return 2}function Ga(n,e){var t=n.alternate;return t===null?(t=ps(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 Bg(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")WC(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case xu:return tc(t.children,r,s,e);case cC:o=8,r|=8;break;case tE:return n=ps(12,t,e,r|2),n.elementType=tE,n.lanes=s,n;case nE:return n=ps(13,t,e,r),n.elementType=nE,n.lanes=s,n;case iE:return n=ps(19,t,e,r),n.elementType=iE,n.lanes=s,n;case e2:return wm(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case ZM:o=10;break e;case $M:o=9;break e;case uC:o=11;break e;case AC:o=14;break e;case _a:o=16,i=null;break e}throw Error(Ke(130,n==null?n:typeof n,""))}return e=ps(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function tc(n,e,t,i){return n=ps(7,n,i,e),n.lanes=t,n}function wm(n,e,t,i){return n=ps(22,n,i,e),n.elementType=e2,n.lanes=t,n.stateNode={isHidden:!1},n}function Nv(n,e,t){return n=ps(6,n,null,e),n.lanes=t,n}function kv(n,e,t){return e=ps(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function FP(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=vv(0),this.expirationTimes=vv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vv(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function YC(n,e,t,i,r,s,o,a,l){return n=new FP(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=ps(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},QC(s),n}function OP(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(KQ)}catch(n){console.error(n)}}KQ(),JM.exports=qr;var WP=JM.exports,jC,kS=WP;jC=kS.createRoot,kS.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function Pv(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function DE(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var CP=typeof WeakMap=="function"?WeakMap:Map;function BQ(n,e,t){t=Lo(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){nm||(nm=!0,HE=i),DE(n,e)},t}function xQ(n,e,t){t=Lo(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){DE(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){DE(n,e),typeof i!="function"&&(Fa===null?Fa=new Set([this]):Fa.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function CS(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new CP;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=PP.bind(null,n,e,t),e.then(n,n))}function IS(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function BS(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=Lo(-1,1),e.tag=2,ka(t,e,1))),t.lanes|=1),n)}var IP=zo.ReactCurrentOwner,xr=!1;function or(n,e,t,i){e.child=n===null?nQ(e,null,t,i):$u(e,n.child,t,i)}function xS(n,e,t,i,r){t=t.render;var s=e.ref;return Ju(e,r),i=LC(n,e,t,i,s,r),t=PC(),n!==null&&!xr?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Oo(n,e,r)):(Tn&&t&&IC(e),e.flags|=1,or(n,e,i,r),e.child)}function SS(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!WC(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,SQ(n,e,s,i,r)):(n=Bg(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:jf,t(o,i)&&n.ref===e.ref)return Oo(n,e,r)}return e.flags|=1,n=Ga(s,i),n.ref=e.ref,n.return=e,e.child=n}function SQ(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(jf(s,i)&&n.ref===e.ref)if(xr=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&(xr=!0);else return e.lanes=n.lanes,Oo(n,e,r)}return bE(n,e,t,i,r)}function wQ(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},Bn(Lu,Gr),Gr|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,Bn(Lu,Gr),Gr|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,Bn(Lu,Gr),Gr|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,Bn(Lu,Gr),Gr|=i;return or(n,e,r,t),e.child}function _Q(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function bE(n,e,t,i,r){var s=_r(t)?Ac:Ki.current;return s=qu(e,s),Ju(e,r),t=LC(n,e,t,i,s,r),i=PC(),n!==null&&!xr?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Oo(n,e,r)):(Tn&&i&&IC(e),e.flags|=1,or(n,e,t,r),e.child)}function wS(n,e,t,i,r){if(_r(t)){var s=!0;Yg(e)}else s=!1;if(Ju(e,r),e.stateNode===null)Eg(n,e),eQ(e,t,i),TE(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,c=t.contextType;typeof c=="object"&&c!==null?c=vs(c):(c=_r(t)?Ac:Ki.current,c=qu(e,c));var u=t.getDerivedStateFromProps,h=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";h||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==c)&&mS(e,o,i,c),Ma=!1;var d=e.memoizedState;o.state=d,qg(e,i,o,r),l=e.memoizedState,a!==i||d!==l||wr.current||Ma?(typeof u=="function"&&(RE(e,t,u,i),l=e.memoizedState),(a=Ma||gS(e,t,a,i,d,l,c))?(h||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=c,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,Z2(n,e),a=e.memoizedProps,c=e.type===e.elementType?a:Qs(e.type,a),o.props=c,h=e.pendingProps,d=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=vs(l):(l=_r(t)?Ac:Ki.current,l=qu(e,l));var p=t.getDerivedStateFromProps;(u=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==h||d!==l)&&mS(e,o,i,l),Ma=!1,d=e.memoizedState,o.state=d,qg(e,i,o,r);var m=e.memoizedState;a!==h||d!==m||wr.current||Ma?(typeof p=="function"&&(RE(e,t,p,i),m=e.memoizedState),(c=Ma||gS(e,t,c,i,d,m,l)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,m,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,m,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=m),o.props=i,o.state=m,o.context=l,i=c):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=1024),i=!1)}return LE(n,e,t,i,s,r)}function LE(n,e,t,i,r,s){_Q(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&AS(e,t,!1),Oo(n,e,s);i=e.stateNode,IP.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=$u(e,n.child,null,s),e.child=$u(e,null,a,s)):or(n,e,a,s),e.memoizedState=i.state,r&&AS(e,t,!0),e.child}function MQ(n){var e=n.stateNode;e.pendingContext?uS(n,e.pendingContext,e.pendingContext!==e.context):e.context&&uS(n,e.context,!1),RC(n,e.containerInfo)}function _S(n,e,t,i,r){return Zu(),xC(r),e.flags|=256,or(n,e,t,i),e.child}var PE={dehydrated:null,treeContext:null,retryLane:0};function UE(n){return{baseLanes:n,cachePool:null,transitions:null}}function QQ(n,e,t){var i=e.pendingProps,r=Nn.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),Bn(Nn,r&1),n===null)return ME(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=wm(o,i,0,null),n=tc(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=UE(t),e.memoizedState=PE,n):kC(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return BP(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=Ga(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=Ga(a,s):(s=tc(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?UE(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=PE,i}return s=n.child,n=s.sibling,i=Ga(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function kC(n,e){return e=wm({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function tp(n,e,t,i){return i!==null&&xC(i),$u(e,n.child,null,t),n=kC(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function BP(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=Pv(Error(Ke(422))),tp(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=wm({mode:"visible",children:i.children},r,0,null),s=tc(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&$u(e,n.child,null,o),e.child.memoizedState=UE(o),e.memoizedState=PE,s);if(!(e.mode&1))return tp(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Ke(419)),i=Pv(s,i,void 0),tp(n,e,o,i)}if(a=(o&n.childLanes)!==0,xr||a){if(i=Si,i!==null){switch(o&-o){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}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Fo(n,r),Ns(i,n,r,-1))}return VC(),i=Pv(Error(Ke(421))),tp(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=UP.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,Vr=Na(r.nextSibling),Yr=e,Tn=!0,bs=null,n!==null&&(As[fs++]=Qo,As[fs++]=Ro,As[fs++]=fc,Qo=n.id,Ro=n.overflow,fc=e),e=kC(e,i.children),e.flags|=4096,e)}function MS(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),QE(n.return,e,t)}function Uv(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function RQ(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(or(n,e,i.children,t),i=Nn.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&MS(n,t,e);else if(n.tag===19)MS(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(Bn(Nn,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&Zg(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),Uv(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&Zg(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}Uv(e,!0,t,null,s);break;case"together":Uv(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Eg(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function Oo(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),dc|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Ke(153));if(e.child!==null){for(n=e.child,t=Ga(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=Ga(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function xP(n,e,t){switch(e.tag){case 3:MQ(e),Zu();break;case 5:iQ(e);break;case 1:_r(e.type)&&Yg(e);break;case 4:RC(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;Bn(Kg,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(Bn(Nn,Nn.current&1),e.flags|=128,null):t&e.child.childLanes?QQ(n,e,t):(Bn(Nn,Nn.current&1),n=Oo(n,e,t),n!==null?n.sibling:null);Bn(Nn,Nn.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return RQ(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),Bn(Nn,Nn.current),i)break;return null;case 22:case 23:return e.lanes=0,wQ(n,e,t)}return Oo(n,e,t)}var TQ,NE,DQ,bQ;TQ=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};NE=function(){};DQ=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,Xl(ro.current);var s=null;switch(t){case"input":r=sE(n,r),i=sE(n,i),s=[];break;case"select":r=On({},r,{value:void 0}),i=On({},i,{value:void 0}),s=[];break;case"textarea":r=lE(n,r),i=lE(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=Vg)}uE(t,i);var o;t=null;for(c in r)if(!i.hasOwnProperty(c)&&r.hasOwnProperty(c)&&r[c]!=null)if(c==="style"){var a=r[c];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(zf.hasOwnProperty(c)?s||(s=[]):(s=s||[]).push(c,null));for(c in i){var l=i[c];if(a=r?.[c],i.hasOwnProperty(c)&&l!==a&&(l!=null||a!=null))if(c==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(c,t)),t=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(zf.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&Sn("scroll",n),s||a===l||(s=[])):(s=s||[]).push(c,l))}t&&(s=s||[]).push("style",t);var c=s;(e.updateQueue=c)&&(e.flags|=4)}};bQ=function(n,e,t,i){t!==i&&(e.flags|=4)};function ef(n,e){if(!Tn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function Oi(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function SP(n,e,t){var i=e.pendingProps;switch(BC(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Oi(e),null;case 1:return _r(e.type)&&Wg(),Oi(e),null;case 3:return i=e.stateNode,eA(),Mn(wr),Mn(Ki),DC(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&($d(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,bs!==null&&(WE(bs),bs=null))),NE(n,e),Oi(e),null;case 5:TC(e);var r=Xl(th.current);if(t=e.type,n!==null&&e.stateNode!=null)DQ(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Ke(166));return Oi(e),null}if(n=Xl(ro.current),$d(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[eo]=e,i[$f]=s,n=(e.mode&1)!==0,t){case"dialog":Sn("cancel",i),Sn("close",i);break;case"iframe":case"object":case"embed":Sn("load",i);break;case"video":case"audio":for(r=0;r<\/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[eo]=e,n[$f]=i,TQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=AE(t,i),t){case"dialog":Sn("cancel",n),Sn("close",n),r=i;break;case"iframe":case"object":case"embed":Sn("load",n),r=i;break;case"video":case"audio":for(r=0;rnA&&(e.flags|=128,i=!0,ef(s,!1),e.lanes=4194304)}else{if(!i)if(n=Zg(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),ef(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Tn)return Oi(e),null}else 2*ei()-s.renderingStartTime>nA&&t!==1073741824&&(e.flags|=128,i=!0,ef(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=ei(),e.sibling=null,t=Nn.current,Bn(Nn,i?t&1|2:t&1),e):(Oi(e),null);case 22:case 23:return zC(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?Gr&1073741824&&(Oi(e),e.subtreeFlags&6&&(e.flags|=8192)):Oi(e),null;case 24:return null;case 25:return null}throw Error(Ke(156,e.tag))}function wP(n,e){switch(BC(e),e.tag){case 1:return _r(e.type)&&Wg(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return eA(),Mn(wr),Mn(Ki),DC(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return TC(e),null;case 13:if(Mn(Nn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Ke(340));Zu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Mn(Nn),null;case 4:return eA(),null;case 10:return _C(e.type._context),null;case 22:case 23:return zC(),null;case 24:return null;default:return null}}var np=!1,Vi=!1,_P=typeof WeakSet=="function"?WeakSet:Set,ht=null;function bu(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Wn(n,e,i)}else t.current=null}function kE(n,e,t){try{t()}catch(i){Wn(n,e,i)}}var QS=!1;function MP(n,e){if(CE=Gg,n=N2(),CC(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,u=0,h=n,d=null;t:for(;;){for(var p;h!==t||r!==0&&h.nodeType!==3||(a=o+r),h!==s||i!==0&&h.nodeType!==3||(l=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(p=h.firstChild)!==null;)d=h,h=p;for(;;){if(h===n)break t;if(d===t&&++c===r&&(a=o),d===s&&++u===i&&(l=o),(p=h.nextSibling)!==null)break;h=d,d=h.parentNode}h=p}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(IE={focusedElem:n,selectionRange:t},Gg=!1,ht=e;ht!==null;)if(e=ht,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,ht=n;else for(;ht!==null;){e=ht;try{var m=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var I=m.memoizedProps,v=m.memoizedState,g=e.stateNode,y=g.getSnapshotBeforeUpdate(e.elementType===e.type?I:Qs(e.type,I),v);g.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var E=e.stateNode.containerInfo;E.nodeType===1?E.textContent="":E.nodeType===9&&E.documentElement&&E.removeChild(E.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ke(163))}}catch(x){Wn(e,e.return,x)}if(n=e.sibling,n!==null){n.return=e.return,ht=n;break}ht=e.return}return m=QS,QS=!1,m}function Df(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&&kE(e,t,s)}r=r.next}while(r!==i)}}function xm(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 FE(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 LQ(n){var e=n.alternate;e!==null&&(n.alternate=null,LQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[eo],delete e[$f],delete e[SE],delete e[uP],delete e[AP])),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 PQ(n){return n.tag===5||n.tag===3||n.tag===4}function RS(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||PQ(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 OE(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=Vg));else if(i!==4&&(n=n.child,n!==null))for(OE(n,e,t),n=n.sibling;n!==null;)OE(n,e,t),n=n.sibling}function GE(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(GE(n,e,t),n=n.sibling;n!==null;)GE(n,e,t),n=n.sibling}var Qi=null,Ts=!1;function ma(n,e,t){for(t=t.child;t!==null;)UQ(n,e,t),t=t.sibling}function UQ(n,e,t){if(io&&typeof io.onCommitFiberUnmount=="function")try{io.onCommitFiberUnmount(gm,t)}catch{}switch(t.tag){case 5:Vi||bu(t,e);case 6:var i=Qi,r=Ts;Qi=null,ma(n,e,t),Qi=i,Ts=r,Qi!==null&&(Ts?(n=Qi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Qi.removeChild(t.stateNode));break;case 18:Qi!==null&&(Ts?(n=Qi,t=t.stateNode,n.nodeType===8?Qv(n.parentNode,t):n.nodeType===1&&Qv(n,t),Xf(n)):Qv(Qi,t.stateNode));break;case 4:i=Qi,r=Ts,Qi=t.stateNode.containerInfo,Ts=!0,ma(n,e,t),Qi=i,Ts=r;break;case 0:case 11:case 14:case 15:if(!Vi&&(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)&&kE(t,e,o),r=r.next}while(r!==i)}ma(n,e,t);break;case 1:if(!Vi&&(bu(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Wn(t,e,a)}ma(n,e,t);break;case 21:ma(n,e,t);break;case 22:t.mode&1?(Vi=(i=Vi)||t.memoizedState!==null,ma(n,e,t),Vi=i):ma(n,e,t);break;default:ma(n,e,t)}}function TS(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new _P),e.forEach(function(i){var r=NP.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Ss(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=ei()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*RP(i/1960))-i,10n?16:n,ba===null)var i=!1;else{if(n=ba,ba=null,im=0,rn&6)throw Error(Ke(331));var r=rn;for(rn|=4,ht=n.current;ht!==null;){var s=ht,o=s.child;if(ht.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lei()-GC?ec(n,0):OC|=t),Mr(n,e)}function VQ(n,e){e===0&&(n.mode&1?(e=Jd,Jd<<=1,!(Jd&130023424)&&(Jd=4194304)):e=1);var t=cr();n=Fo(n,e),n!==null&&(bh(n,e,t),Mr(n,t))}function UP(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),VQ(n,t)}function NP(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(Ke(314))}i!==null&&i.delete(e),VQ(n,t)}var WQ;WQ=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||wr.current)xr=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return xr=!1,xP(n,e,t);xr=!!(n.flags&131072)}else xr=!1,Tn&&e.flags&1048576&&X2(e,Xg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Eg(n,e),n=e.pendingProps;var r=qu(e,Ki.current);Ju(e,t),r=LC(null,e,i,n,r,t);var s=PC();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,_r(i)?(s=!0,Yg(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,QC(e),r.updater=Im,e.stateNode=r,r._reactInternals=e,TE(e,i,n,t),e=LE(null,e,i,!0,s,t)):(e.tag=0,Tn&&s&&IC(e),or(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Eg(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=FP(i),n=Qs(i,n),r){case 0:e=bE(null,e,i,n,t);break e;case 1:e=wS(null,e,i,n,t);break e;case 11:e=xS(null,e,i,n,t);break e;case 14:e=SS(null,e,i,Qs(i.type,n),t);break e}throw Error(Ke(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),bE(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),wS(n,e,i,r,t);case 3:e:{if(MQ(e),n===null)throw Error(Ke(387));i=e.pendingProps,s=e.memoizedState,r=s.element,Z2(n,e),qg(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=tA(Error(Ke(423)),e),e=_S(n,e,i,t,r);break e}else if(i!==r){r=tA(Error(Ke(424)),e),e=_S(n,e,i,t,r);break e}else for(Vr=Na(e.stateNode.containerInfo.firstChild),Yr=e,Tn=!0,bs=null,t=nQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Zu(),i===r){e=Oo(n,e,t);break e}or(n,e,i,t)}e=e.child}return e;case 5:return iQ(e),n===null&&ME(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,BE(i,r)?o=null:s!==null&&BE(i,s)&&(e.flags|=32),_Q(n,e),or(n,e,o,t),e.child;case 6:return n===null&&ME(e),null;case 13:return QQ(n,e,t);case 4:return RC(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=$u(e,null,i,t):or(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),xS(n,e,i,r,t);case 7:return or(n,e,e.pendingProps,t),e.child;case 8:return or(n,e,e.pendingProps.children,t),e.child;case 12:return or(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,Bn(Kg,i._currentValue),i._currentValue=o,s!==null)if(Fs(s.value,o)){if(s.children===r.children&&!wr.current){e=Oo(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=Lo(-1,t&-t),l.tag=2;var c=s.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),QE(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(Ke(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),QE(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}or(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Ju(e,t),r=vs(r),i=i(r),e.flags|=1,or(n,e,i,t),e.child;case 14:return i=e.type,r=Qs(i,e.pendingProps),r=Qs(i.type,r),SS(n,e,i,r,t);case 15:return SQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Qs(i,r),Eg(n,e),e.tag=1,_r(i)?(n=!0,Yg(e)):n=!1,Ju(e,t),eQ(e,i,r),TE(e,i,r,t),LE(null,e,i,!0,n,t);case 19:return RQ(n,e,t);case 22:return wQ(n,e,t)}throw Error(Ke(156,e.tag))};function YQ(n,e){return v2(n,e)}function kP(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 ps(n,e,t,i){return new kP(n,e,t,i)}function WC(n){return n=n.prototype,!(!n||!n.isReactComponent)}function FP(n){if(typeof n=="function")return WC(n)?1:0;if(n!=null){if(n=n.$$typeof,n===uC)return 11;if(n===AC)return 14}return 2}function Ga(n,e){var t=n.alternate;return t===null?(t=ps(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 Bg(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")WC(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case xu:return tc(t.children,r,s,e);case cC:o=8,r|=8;break;case tE:return n=ps(12,t,e,r|2),n.elementType=tE,n.lanes=s,n;case nE:return n=ps(13,t,e,r),n.elementType=nE,n.lanes=s,n;case iE:return n=ps(19,t,e,r),n.elementType=iE,n.lanes=s,n;case t2:return wm(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case $M:o=10;break e;case e2:o=9;break e;case uC:o=11;break e;case AC:o=14;break e;case _a:o=16,i=null;break e}throw Error(Ke(130,n==null?n:typeof n,""))}return e=ps(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function tc(n,e,t,i){return n=ps(7,n,i,e),n.lanes=t,n}function wm(n,e,t,i){return n=ps(22,n,i,e),n.elementType=t2,n.lanes=t,n.stateNode={isHidden:!1},n}function Nv(n,e,t){return n=ps(6,n,null,e),n.lanes=t,n}function kv(n,e,t){return e=ps(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function OP(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=vv(0),this.expirationTimes=vv(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vv(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function YC(n,e,t,i,r,s,o,a,l){return n=new OP(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=ps(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},QC(s),n}function GP(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(jQ)}catch(n){console.error(n)}}jQ(),XM.exports=qr;var YP=XM.exports,jC,FS=YP;jC=FS.createRoot,FS.hydrateRoot;/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const Tm="161",YP={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},JP={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},jQ=0,YE=1,qQ=2,XP=3,ZQ=0,Dm=1,Pf=2,Rs=3,Kr=0,Xi=1,hs=2,Po=0,Uo=1,JE=2,XE=3,KE=4,$Q=5,Ta=100,eR=101,tR=102,jE=103,qE=104,nR=200,iR=201,rR=202,sR=203,om=204,am=205,oR=206,aR=207,lR=208,cR=209,uR=210,AR=211,fR=212,hR=213,dR=214,pR=0,gR=1,mR=2,oh=3,vR=4,yR=5,ER=6,CR=7,Nh=0,IR=1,BR=2,so=0,xR=1,SR=2,wR=3,qC=4,_R=5,MR=6,ZE="attached",QR="detached",bm=300,Go=301,ja=302,ah=303,lh=304,AA=306,ch=1e3,Yi=1001,uh=1002,$n=1003,lm=1004,KP=1004,Vl=1005,jP=1005,Cn=1006,Uf=1007,qP=1007,to=1008,ZP=1008,oo=1009,RR=1010,TR=1011,Lm=1012,ZC=1013,To=1014,ds=1015,gc=1016,$C=1017,eI=1018,Ha=1020,DR=1021,ar=1023,bR=1024,LR=1025,za=1026,mc=1027,PR=1028,tI=1029,UR=1030,nI=1031,iI=1033,xg=33776,Sg=33777,wg=33778,_g=33779,$E=35840,e1=35841,t1=35842,n1=35843,rI=36196,i1=37492,r1=37496,s1=37808,o1=37809,a1=37810,l1=37811,c1=37812,u1=37813,A1=37814,f1=37815,h1=37816,d1=37817,p1=37818,g1=37819,m1=37820,v1=37821,Mg=36492,y1=36494,E1=36495,NR=36283,C1=36284,I1=36285,B1=36286,kR=2200,FR=2201,OR=2202,Ah=2300,fh=2301,Qg=2302,Kl=2400,jl=2401,hh=2402,Pm=2500,sI=2501,$P=0,e4=1,t4=2,oI=3e3,Va=3001,GR=3200,Um=3201,tl=0,HR=1,Hr="",Yn="srgb",ao="srgb-linear",Nm="display-p3",kh="display-p3-linear",dh="linear",In="srgb",ph="rec709",gh="p3",n4=0,Hl=7680,i4=7681,r4=7682,s4=7683,o4=34055,a4=34056,l4=5386,c4=512,u4=513,A4=514,f4=515,h4=516,d4=517,p4=518,x1=519,zR=512,VR=513,WR=514,aI=515,YR=516,JR=517,XR=518,KR=519,mh=35044,Ps=35048,g4=35040,m4=35045,v4=35049,y4=35041,E4=35046,C4=35050,I4=35042,B4="100",S1="300 es",cm=1035,no=2e3,vh=2001;class Vo{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]+Gi[n>>16&255]+Gi[n>>24&255]+"-"+Gi[e&255]+Gi[e>>8&255]+"-"+Gi[e>>16&15|64]+Gi[e>>24&255]+"-"+Gi[t&63|128]+Gi[t>>8&255]+"-"+Gi[t>>16&255]+Gi[t>>24&255]+Gi[i&255]+Gi[i>>8&255]+Gi[i>>16&255]+Gi[i>>24&255]).toLowerCase()}function Jn(n,e,t){return Math.max(e,Math.min(t,n))}function lI(n,e){return(n%e+e)%e}function x4(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function S4(n,e,t){return n!==e?(t-n)/(e-n):0}function Nf(n,e,t){return(1-t)*n+t*e}function w4(n,e,t,i){return Nf(n,e,1-Math.exp(-t*i))}function _4(n,e=1){return e-Math.abs(lI(n,e*2)-e)}function M4(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function Q4(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function R4(n,e){return n+Math.floor(Math.random()*(e-n+1))}function T4(n,e){return n+Math.random()*(e-n)}function D4(n){return n*(.5-Math.random())}function b4(n){n!==void 0&&(FS=n);let e=FS+=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 L4(n){return n*nc}function P4(n){return n*iA}function w1(n){return(n&n-1)===0&&n!==0}function U4(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function um(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function N4(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+i)/2),u=o((e+i)/2),h=s((e-i)/2),d=o((e-i)/2),p=s((i-e)/2),m=o((i-e)/2);switch(r){case"XYX":n.set(a*u,l*h,l*d,a*c);break;case"YZY":n.set(l*d,a*u,l*h,a*c);break;case"ZXZ":n.set(l*h,l*d,a*u,a*c);break;case"XZX":n.set(a*u,l*m,l*p,a*c);break;case"YXY":n.set(l*p,a*u,l*m,a*c);break;case"ZYZ":n.set(l*m,l*p,a*u,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function lr(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 Ot(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 jR={DEG2RAD:nc,RAD2DEG:iA,generateUUID:Jr,clamp:Jn,euclideanModulo:lI,mapLinear:x4,inverseLerp:S4,lerp:Nf,damp:w4,pingpong:_4,smoothstep:M4,smootherstep:Q4,randInt:R4,randFloat:T4,randFloatSpread:D4,seededRandom:b4,degToRad:L4,radToDeg:P4,isPowerOfTwo:w1,ceilPowerOfTwo:U4,floorPowerOfTwo:um,setQuaternionFromProperEuler:N4,normalize:Ot,denormalize:lr};class Te{constructor(e=0,t=0){Te.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(Jn(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 Pt{constructor(e,t,i,r,s,o,a,l,c){Pt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c)}set(e,t,i,r,s,o,a,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=s,u[5]=l,u[6]=i,u[7]=o,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],c=i[1],u=i[4],h=i[7],d=i[2],p=i[5],m=i[8],I=r[0],v=r[3],g=r[6],y=r[1],E=r[4],x=r[7],w=r[2],_=r[5],R=r[8];return s[0]=o*I+a*y+l*w,s[3]=o*v+a*E+l*_,s[6]=o*g+a*x+l*R,s[1]=c*I+u*y+h*w,s[4]=c*v+u*E+h*_,s[7]=c*g+u*x+h*R,s[2]=d*I+p*y+m*w,s[5]=d*v+p*E+m*_,s[8]=d*g+p*x+m*R,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t*o*u-t*a*c-i*s*u+i*a*l+r*s*c-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=u*o-a*c,d=a*l-u*s,p=c*s-o*l,m=t*h+i*d+r*p;if(m===0)return this.set(0,0,0,0,0,0,0,0,0);const I=1/m;return e[0]=h*I,e[1]=(r*c-u*i)*I,e[2]=(a*i-r*o)*I,e[3]=d*I,e[4]=(u*t-r*l)*I,e[5]=(r*s-a*t)*I,e[6]=p*I,e[7]=(i*l-c*t)*I,e[8]=(o*t-i*s)*I,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(Fv.makeScale(e,t)),this}rotate(e){return this.premultiply(Fv.makeRotation(-e)),this}translate(e,t){return this.premultiply(Fv.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 Fv=new Pt;function qR(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const k4={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Pu(n,e){return new k4[n](e)}function yh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function ZR(){const n=yh("canvas");return n.style.display="block",n}const OS={};function ic(n){n in OS||(OS[n]=!0,console.warn(n))}const GS=new Pt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),HS=new Pt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),sp={[ao]:{transfer:dh,primaries:ph,toReference:n=>n,fromReference:n=>n},[Yn]:{transfer:In,primaries:ph,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[kh]:{transfer:dh,primaries:gh,toReference:n=>n.applyMatrix3(HS),fromReference:n=>n.applyMatrix3(GS)},[Nm]:{transfer:In,primaries:gh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(HS),fromReference:n=>n.applyMatrix3(GS).convertLinearToSRGB()}},F4=new Set([ao,kh]),dn={enabled:!0,_workingColorSpace:ao,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!F4.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=sp[e].toReference,r=sp[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 sp[n].primaries},getTransfer:function(n){return n===Hr?dh:sp[n].transfer}};function Ku(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function Ov(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Yc;class cI{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Yc===void 0&&(Yc=yh("canvas")),Yc.width=e.width,Yc.height=e.height;const i=Yc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Yc}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=yh("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!==bm)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ch:e.x=e.x-Math.floor(e.x);break;case Yi:e.x=e.x<0?0:1;break;case uh: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 ch:e.y=e.y-Math.floor(e.y);break;case Yi:e.y=e.y<0?0:1;break;case uh: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)}get encoding(){return ic("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Yn?Va:oI}set encoding(e){ic("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Va?Yn:Hr}}Qn.DEFAULT_IMAGE=null;Qn.DEFAULT_MAPPING=bm;Qn.DEFAULT_ANISOTROPY=1;class ln{constructor(e=0,t=0,i=0,r=1){ln.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],u=l[4],h=l[8],d=l[1],p=l[5],m=l[9],I=l[2],v=l[6],g=l[10];if(Math.abs(u-d)<.01&&Math.abs(h-I)<.01&&Math.abs(m-v)<.01){if(Math.abs(u+d)<.1&&Math.abs(h+I)<.1&&Math.abs(m+v)<.1&&Math.abs(c+p+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const E=(c+1)/2,x=(p+1)/2,w=(g+1)/2,_=(u+d)/4,R=(h+I)/4,D=(m+v)/4;return E>x&&E>w?E<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(E),r=_/i,s=R/i):x>w?x<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(x),i=_/r,s=D/r):w<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(w),i=R/s,r=D/s),this.set(i,r,s,t),this}let y=Math.sqrt((v-m)*(v-m)+(h-I)*(h-I)+(d-u)*(d-u));return Math.abs(y)<.001&&(y=1),this.x=(v-m)/y,this.y=(h-I)/y,this.z=(d-u)/y,this.w=Math.acos((c+p+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 $R extends Vo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new ln(0,0,e,t),this.scissorTest=!1,this.viewport=new ln(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(ic("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Va?Yn:Hr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new Qn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ql(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Es extends $R{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class km extends Qn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=$n,this.minFilter=$n,this.wrapR=Yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class H4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new km(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class uI extends Qn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=$n,this.minFilter=$n,this.wrapR=Yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class z4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new uI(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class V4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,E=1-g*g;if(E>Number.EPSILON){const w=Math.sqrt(E),_=Math.atan2(w,g*y);v=Math.sin(v*_)/w,a=Math.sin(a*_)/w}const x=a*y;if(l=l*v+d*x,c=c*v+p*x,u=u*v+m*x,h=h*v+I*x,v===1-a){const w=1/Math.sqrt(l*l+c*c+u*u+h*h);l*=w,c*=w,u*=w,h*=w}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],c=i[r+2],u=i[r+3],h=s[o],d=s[o+1],p=s[o+2],m=s[o+3];return e[t]=a*m+u*h+l*p-c*d,e[t+1]=l*m+u*d+c*h-a*p,e[t+2]=c*m+u*p+a*d-l*h,e[t+3]=u*m-a*h-l*d-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(i/2),u=a(r/2),h=a(s/2),d=l(i/2),p=l(r/2),m=l(s/2);switch(o){case"XYZ":this._x=d*u*h+c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h-d*p*m;break;case"YXZ":this._x=d*u*h+c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h+d*p*m;break;case"ZXY":this._x=d*u*h-c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h-d*p*m;break;case"ZYX":this._x=d*u*h-c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h+d*p*m;break;case"YZX":this._x=d*u*h+c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h-d*p*m;break;case"XZY":this._x=d*u*h-c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h+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],c=t[2],u=t[6],h=t[10],d=i+a+h;if(d>0){const p=.5/Math.sqrt(d+1);this._w=.25/p,this._x=(u-l)*p,this._y=(s-c)*p,this._z=(o-r)*p}else if(i>a&&i>h){const p=2*Math.sqrt(1+i-a-h);this._w=(u-l)/p,this._x=.25*p,this._y=(r+o)/p,this._z=(s+c)/p}else if(a>h){const p=2*Math.sqrt(1+a-i-h);this._w=(s-c)/p,this._x=(r+o)/p,this._y=.25*p,this._z=(l+u)/p}else{const p=2*Math.sqrt(1+h-i-a);this._w=(o-r)/p,this._x=(s+c)/p,this._y=(l+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return 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(Jn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,u=t._w;return this._x=i*u+o*a+r*c-s*l,this._y=r*u+o*l+s*a-i*c,this._z=s*u+o*c+i*l-r*a,this._w=o*u-i*a-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const p=1-t;return this._w=p*o+t*this._w,this._x=p*i+t*this._x,this._y=p*r+t*this._y,this._z=p*s+t*this._z,this.normalize(),this}const c=Math.sqrt(l),u=Math.atan2(c,a),h=Math.sin((1-t)*u)/c,d=Math.sin(t*u)/c;return this._w=o*h+this._w*d,this._x=i*h+this._x*d,this._y=r*h+this._y*d,this._z=s*h+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class K{constructor(e=0,t=0,i=0){K.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(zS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(zS.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*r-a*i),u=2*(a*t-s*r),h=2*(s*i-o*t);return this.x=t+l*c+o*h-a*u,this.y=i+l*u+a*c-s*h,this.z=r+l*h+s*u-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=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 Hv.copy(this).projectOnVector(e),this.sub(Hv)}reflect(e){return this.sub(Hv.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(Jn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Hv=new K,zS=new ur;class ai{constructor(e=new K(1/0,1/0,1/0),t=new K(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;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,ws),ws.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(nf),ap.subVectors(this.max,nf),Jc.subVectors(e.a,nf),Xc.subVectors(e.b,nf),Kc.subVectors(e.c,nf),va.subVectors(Xc,Jc),ya.subVectors(Kc,Xc),Sl.subVectors(Jc,Kc);let t=[0,-va.z,va.y,0,-ya.z,ya.y,0,-Sl.z,Sl.y,va.z,0,-va.x,ya.z,0,-ya.x,Sl.z,0,-Sl.x,-va.y,va.x,0,-ya.y,ya.x,0,-Sl.y,Sl.x,0];return!zv(t,Jc,Xc,Kc,ap)||(t=[1,0,0,0,1,0,0,0,1],!zv(t,Jc,Xc,Kc,ap))?!1:(lp.crossVectors(va,ya),t=[lp.x,lp.y,lp.z],zv(t,Jc,Xc,Kc,ap))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ws).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(ws).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:(vo[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),vo[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),vo[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),vo[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),vo[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),vo[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),vo[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),vo[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(vo),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 vo=[new K,new K,new K,new K,new K,new K,new K,new K],ws=new K,op=new ai,Jc=new K,Xc=new K,Kc=new K,va=new K,ya=new K,Sl=new K,nf=new K,ap=new K,lp=new K,wl=new K;function zv(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){wl.fromArray(n,s);const a=r.x*Math.abs(wl.x)+r.y*Math.abs(wl.y)+r.z*Math.abs(wl.z),l=e.dot(wl),c=t.dot(wl),u=i.dot(wl);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>a)return!1}return!0}const W4=new ai,rf=new K,Vv=new K;class fi{constructor(e=new K,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):W4.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;rf.subVectors(e,this.center);const t=rf.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(rf,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):(Vv.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(rf.copy(e.center).add(Vv)),this.expandByPoint(rf.copy(e.center).sub(Vv))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const yo=new K,Wv=new K,cp=new K,Ea=new K,Yv=new K,up=new K,Jv=new K;class fA{constructor(e=new K,t=new K(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,yo)),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=yo.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(yo.copy(this.origin).addScaledVector(this.direction,t),yo.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Wv.copy(e).add(t).multiplyScalar(.5),cp.copy(t).sub(e).normalize(),Ea.copy(this.origin).sub(Wv);const s=e.distanceTo(t)*.5,o=-this.direction.dot(cp),a=Ea.dot(this.direction),l=-Ea.dot(cp),c=Ea.lengthSq(),u=Math.abs(1-o*o);let h,d,p,m;if(u>0)if(h=o*l-a,d=o*a-l,m=s*u,h>=0)if(d>=-m)if(d<=m){const I=1/u;h*=I,d*=I,p=h*(h+o*d+2*a)+d*(o*h+d+2*l)+c}else d=s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;else d=-s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;else d<=-m?(h=Math.max(0,-(-o*s+a)),d=h>0?-s:Math.min(Math.max(-s,-l),s),p=-h*h+d*(d+2*l)+c):d<=m?(h=0,d=Math.min(Math.max(-s,-l),s),p=d*(d+2*l)+c):(h=Math.max(0,-(o*s+a)),d=h>0?s:Math.min(Math.max(-s,-l),s),p=-h*h+d*(d+2*l)+c);else d=o>0?-s:s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(Wv).addScaledVector(cp,d),p}intersectSphere(e,t){yo.subVectors(e.center,this.origin);const i=yo.dot(this.direction),r=yo.dot(yo)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,d=this.origin;return c>=0?(i=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(i=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),u>=0?(s=(e.min.y-d.y)*u,o=(e.max.y-d.y)*u):(s=(e.max.y-d.y)*u,o=(e.min.y-d.y)*u),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-d.z)*h,l=(e.max.z-d.z)*h):(a=(e.max.z-d.z)*h,l=(e.min.z-d.z)*h),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,yo)!==null}intersectTriangle(e,t,i,r,s){Yv.subVectors(t,e),up.subVectors(i,e),Jv.crossVectors(Yv,up);let o=this.direction.dot(Jv),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Ea.subVectors(this.origin,e);const l=a*this.direction.dot(up.crossVectors(Ea,up));if(l<0)return null;const c=a*this.direction.dot(Yv.cross(Ea));if(c<0||l+c>o)return null;const u=-a*Ea.dot(Jv);return u<0?null:this.at(u/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class _t{constructor(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v){_t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v)}set(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v){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]=c,g[6]=u,g[10]=h,g[14]=d,g[3]=p,g[7]=m,g[11]=I,g[15]=v,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 _t().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/jc.setFromMatrixColumn(e,0).length(),s=1/jc.setFromMatrixColumn(e,1).length(),o=1/jc.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const d=o*u,p=o*h,m=a*u,I=a*h;t[0]=l*u,t[4]=-l*h,t[8]=c,t[1]=p+m*c,t[5]=d-I*c,t[9]=-a*l,t[2]=I-d*c,t[6]=m+p*c,t[10]=o*l}else if(e.order==="YXZ"){const d=l*u,p=l*h,m=c*u,I=c*h;t[0]=d+I*a,t[4]=m*a-p,t[8]=o*c,t[1]=o*h,t[5]=o*u,t[9]=-a,t[2]=p*a-m,t[6]=I+d*a,t[10]=o*l}else if(e.order==="ZXY"){const d=l*u,p=l*h,m=c*u,I=c*h;t[0]=d-I*a,t[4]=-o*h,t[8]=m+p*a,t[1]=p+m*a,t[5]=o*u,t[9]=I-d*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const d=o*u,p=o*h,m=a*u,I=a*h;t[0]=l*u,t[4]=m*c-p,t[8]=d*c+I,t[1]=l*h,t[5]=I*c+d,t[9]=p*c-m,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const d=o*l,p=o*c,m=a*l,I=a*c;t[0]=l*u,t[4]=I-d*h,t[8]=m*h+p,t[1]=h,t[5]=o*u,t[9]=-a*u,t[2]=-c*u,t[6]=p*h+m,t[10]=d-I*h}else if(e.order==="XZY"){const d=o*l,p=o*c,m=a*l,I=a*c;t[0]=l*u,t[4]=-h,t[8]=c*u,t[1]=d*h+I,t[5]=o*u,t[9]=p*h-m,t[2]=m*h-p,t[6]=a*u,t[10]=I*h+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(Y4,e,J4)}lookAt(e,t,i){const r=this.elements;return kr.subVectors(e,t),kr.lengthSq()===0&&(kr.z=1),kr.normalize(),Ca.crossVectors(i,kr),Ca.lengthSq()===0&&(Math.abs(i.z)===1?kr.x+=1e-4:kr.z+=1e-4,kr.normalize(),Ca.crossVectors(i,kr)),Ca.normalize(),Ap.crossVectors(kr,Ca),r[0]=Ca.x,r[4]=Ap.x,r[8]=kr.x,r[1]=Ca.y,r[5]=Ap.y,r[9]=kr.y,r[2]=Ca.z,r[6]=Ap.z,r[10]=kr.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],c=i[12],u=i[1],h=i[5],d=i[9],p=i[13],m=i[2],I=i[6],v=i[10],g=i[14],y=i[3],E=i[7],x=i[11],w=i[15],_=r[0],R=r[4],D=r[8],Y=r[12],Q=r[1],P=r[5],z=r[9],ne=r[13],V=r[2],ae=r[6],ee=r[10],he=r[14],O=r[3],J=r[7],Z=r[11],W=r[15];return s[0]=o*_+a*Q+l*V+c*O,s[4]=o*R+a*P+l*ae+c*J,s[8]=o*D+a*z+l*ee+c*Z,s[12]=o*Y+a*ne+l*he+c*W,s[1]=u*_+h*Q+d*V+p*O,s[5]=u*R+h*P+d*ae+p*J,s[9]=u*D+h*z+d*ee+p*Z,s[13]=u*Y+h*ne+d*he+p*W,s[2]=m*_+I*Q+v*V+g*O,s[6]=m*R+I*P+v*ae+g*J,s[10]=m*D+I*z+v*ee+g*Z,s[14]=m*Y+I*ne+v*he+g*W,s[3]=y*_+E*Q+x*V+w*O,s[7]=y*R+E*P+x*ae+w*J,s[11]=y*D+E*z+x*ee+w*Z,s[15]=y*Y+E*ne+x*he+w*W,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],u=e[2],h=e[6],d=e[10],p=e[14],m=e[3],I=e[7],v=e[11],g=e[15];return m*(+s*l*h-r*c*h-s*a*d+i*c*d+r*a*p-i*l*p)+I*(+t*l*p-t*c*d+s*o*d-r*o*p+r*c*u-s*l*u)+v*(+t*c*h-t*a*p-s*o*h+i*o*p+s*a*u-i*c*u)+g*(-r*a*u-t*l*h+t*a*d+r*o*h-i*o*d+i*l*u)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],m=e[12],I=e[13],v=e[14],g=e[15],y=h*v*c-I*d*c+I*l*p-a*v*p-h*l*g+a*d*g,E=m*d*c-u*v*c-m*l*p+o*v*p+u*l*g-o*d*g,x=u*I*c-m*h*c+m*a*p-o*I*p-u*a*g+o*h*g,w=m*h*l-u*I*l-m*a*d+o*I*d+u*a*v-o*h*v,_=t*y+i*E+r*x+s*w;if(_===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const R=1/_;return e[0]=y*R,e[1]=(I*d*s-h*v*s-I*r*p+i*v*p+h*r*g-i*d*g)*R,e[2]=(a*v*s-I*l*s+I*r*c-i*v*c-a*r*g+i*l*g)*R,e[3]=(h*l*s-a*d*s-h*r*c+i*d*c+a*r*p-i*l*p)*R,e[4]=E*R,e[5]=(u*v*s-m*d*s+m*r*p-t*v*p-u*r*g+t*d*g)*R,e[6]=(m*l*s-o*v*s-m*r*c+t*v*c+o*r*g-t*l*g)*R,e[7]=(o*d*s-u*l*s+u*r*c-t*d*c-o*r*p+t*l*p)*R,e[8]=x*R,e[9]=(m*h*s-u*I*s-m*i*p+t*I*p+u*i*g-t*h*g)*R,e[10]=(o*I*s-m*a*s+m*i*c-t*I*c-o*i*g+t*a*g)*R,e[11]=(u*a*s-o*h*s-u*i*c+t*h*c+o*i*p-t*a*p)*R,e[12]=w*R,e[13]=(u*I*r-m*h*r+m*i*d-t*I*d-u*i*v+t*h*v)*R,e[14]=(m*a*r-o*I*r-m*i*l+t*I*l+o*i*v-t*a*v)*R,e[15]=(o*h*r-u*a*r+u*i*l-t*h*l-o*i*d+t*a*d)*R,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,c=s*o,u=s*a;return this.set(c*o+i,c*a-r*l,c*l+r*a,0,c*a+r*l,u*a+i,u*l-r*o,0,c*l-r*a,u*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,u=o+o,h=a+a,d=s*c,p=s*u,m=s*h,I=o*u,v=o*h,g=a*h,y=l*c,E=l*u,x=l*h,w=i.x,_=i.y,R=i.z;return r[0]=(1-(I+g))*w,r[1]=(p+x)*w,r[2]=(m-E)*w,r[3]=0,r[4]=(p-x)*_,r[5]=(1-(d+g))*_,r[6]=(v+y)*_,r[7]=0,r[8]=(m+E)*R,r[9]=(v-y)*R,r[10]=(1-(d+I))*R,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=jc.set(r[0],r[1],r[2]).length();const o=jc.set(r[4],r[5],r[6]).length(),a=jc.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],_s.copy(this);const c=1/s,u=1/o,h=1/a;return _s.elements[0]*=c,_s.elements[1]*=c,_s.elements[2]*=c,_s.elements[4]*=u,_s.elements[5]*=u,_s.elements[6]*=u,_s.elements[8]*=h,_s.elements[9]*=h,_s.elements[10]*=h,t.setFromRotationMatrix(_s),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=no){const l=this.elements,c=2*s/(t-e),u=2*s/(i-r),h=(t+e)/(t-e),d=(i+r)/(i-r);let p,m;if(a===no)p=-(o+s)/(o-s),m=-2*o*s/(o-s);else if(a===vh)p=-o/(o-s),m=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=u,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=m,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=no){const l=this.elements,c=1/(t-e),u=1/(i-r),h=1/(o-s),d=(t+e)*c,p=(i+r)*u;let m,I;if(a===no)m=(o+s)*h,I=-2*h;else if(a===vh)m=s*h,I=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*u,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=I,l[14]=-m,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const jc=new K,_s=new _t,Y4=new K(0,0,0),J4=new K(1,1,1),Ca=new K,Ap=new K,kr=new K,VS=new _t,WS=new ur;class hA{constructor(e=0,t=0,i=0,r=hA.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],c=r[5],u=r[9],h=r[2],d=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(Jn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Jn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Jn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,p),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Jn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Jn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-Jn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return VS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(VS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return WS.setFromEuler(this),this.setFromQuaternion(WS,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}}hA.DEFAULT_ORDER="XYZ";class rc{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,u=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),u.length>0&&(i.images=u),h.length>0&&(i.shapes=h),d.length>0&&(i.skeletons=d),p.length>0&&(i.animations=p),m.length>0&&(i.nodes=m)}return i.object=r,i;function o(a){const l=[];for(const c in a){const u=a[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Ms.subVectors(r,t),Co.subVectors(i,t),Xv.subVectors(e,t);const o=Ms.dot(Ms),a=Ms.dot(Co),l=Ms.dot(Xv),c=Co.dot(Co),u=Co.dot(Xv),h=o*c-a*a;if(h===0)return s.set(0,0,0),null;const d=1/h,p=(c*l-a*u)*d,m=(o*u-a*l)*d;return s.set(1-p-m,m,p)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Io)===null?!1:Io.x>=0&&Io.y>=0&&Io.x+Io.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Io)===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,Io.x),l.addScaledVector(o,Io.y),l.addScaledVector(a,Io.z),l)}static isFrontFacing(e,t,i,r){return Ms.subVectors(i,t),Co.subVectors(e,t),Ms.cross(Co).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 Ms.subVectors(this.c,this.b),Co.subVectors(this.a,this.b),Ms.cross(Co).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return zr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return zr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return zr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return zr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return zr.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;Zc.subVectors(r,i),$c.subVectors(s,i),Kv.subVectors(e,i);const l=Zc.dot(Kv),c=$c.dot(Kv);if(l<=0&&c<=0)return t.copy(i);jv.subVectors(e,r);const u=Zc.dot(jv),h=$c.dot(jv);if(u>=0&&h<=u)return t.copy(r);const d=l*h-u*c;if(d<=0&&l>=0&&u<=0)return o=l/(l-u),t.copy(i).addScaledVector(Zc,o);qv.subVectors(e,s);const p=Zc.dot(qv),m=$c.dot(qv);if(m>=0&&p<=m)return t.copy(s);const I=p*c-l*m;if(I<=0&&c>=0&&m<=0)return a=c/(c-m),t.copy(i).addScaledVector($c,a);const v=u*m-p*h;if(v<=0&&h-u>=0&&p-m>=0)return jS.subVectors(s,r),a=(h-u)/(h-u+(p-m)),t.copy(r).addScaledVector(jS,a);const g=1/(v+I+d);return o=I*g,a=d*g,t.copy(i).addScaledVector(Zc,o).addScaledVector($c,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const eT={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},Ia={h:0,s:0,l:0},hp={h:0,s:0,l:0};function Zv(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 st{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=Yn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,dn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=dn.workingColorSpace){return this.r=e,this.g=t,this.b=i,dn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=dn.workingColorSpace){if(e=lI(e,1),t=Jn(t,0,1),i=Jn(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=Zv(o,s,e+1/3),this.g=Zv(o,s,e),this.b=Zv(o,s,e-1/3)}return dn.toWorkingColorSpace(this,r),this}setStyle(e,t=Yn){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=Yn){const i=eT[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=Ku(e.r),this.g=Ku(e.g),this.b=Ku(e.b),this}copyLinearToSRGB(e){return this.r=Ov(e.r),this.g=Ov(e.g),this.b=Ov(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Yn){return dn.fromWorkingColorSpace(Hi.copy(this),e),Math.round(Jn(Hi.r*255,0,255))*65536+Math.round(Jn(Hi.g*255,0,255))*256+Math.round(Jn(Hi.b*255,0,255))}getHexString(e=Yn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=dn.workingColorSpace){dn.fromWorkingColorSpace(Hi.copy(this),t);const i=Hi.r,r=Hi.g,s=Hi.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,c;const u=(a+o)/2;if(a===o)l=0,c=0;else{const h=o-a;switch(c=u<=.5?h/(o+a):h/(2-o-a),o){case i:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Uo&&(i.blending=this.blending),this.side!==Kr&&(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!==om&&(i.blendSrc=this.blendSrc),this.blendDst!==am&&(i.blendDst=this.blendDst),this.blendEquation!==Ta&&(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!==oh&&(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!==x1&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Hl&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Hl&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Hl&&(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 hr extends Si{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new st(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.combine=Nh,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.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 Mo=eU();function eU(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(i[l]=1024>>-c-14,i[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(i[l]=c+15<<10,i[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function Cr(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Jn(n,-65504,65504),Mo.floatView[0]=n;const e=Mo.uint32View[0],t=e>>23&511;return Mo.baseTable[t]+((e&8388607)>>Mo.shiftTable[t])}function Bf(n){const e=n>>10;return Mo.uint32View[0]=Mo.mantissaTable[Mo.offsetTable[e]+(n&1023)]+Mo.exponentTable[e],Mo.floatView[0]}const tU={toHalfFloat:Cr,fromHalfFloat:Bf},si=new K,dp=new Te;class un{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=mh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=ds,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ic("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],u=[];for(let h=0,d=c.length;h0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],h=s[c];for(let d=0,p=h.length;d0){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))&&(qS.copy(s).invert(),_l.copy(e.ray).applyMatrix4(qS),!(i.boundingBox!==null&&_l.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,_l)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,h=s.attributes.normal,d=s.groups,p=s.drawRange;if(a!==null)if(Array.isArray(o))for(let m=0,I=d.length;mt.far?null:{distance:c,point:Cp.clone(),object:n}}function Ip(n,e,t,i,r,s,o,a,l,c){n.getVertexPosition(a,tu),n.getVertexPosition(l,nu),n.getVertexPosition(c,iu);const u=uU(n,e,t,i,tu,nu,iu,Ep);if(u){r&&(mp.fromBufferAttribute(r,a),vp.fromBufferAttribute(r,l),yp.fromBufferAttribute(r,c),u.uv=zr.getInterpolation(Ep,tu,nu,iu,mp,vp,yp,new Te)),s&&(mp.fromBufferAttribute(s,a),vp.fromBufferAttribute(s,l),yp.fromBufferAttribute(s,c),u.uv1=zr.getInterpolation(Ep,tu,nu,iu,mp,vp,yp,new Te),u.uv2=u.uv1),o&&($S.fromBufferAttribute(o,a),ew.fromBufferAttribute(o,l),tw.fromBufferAttribute(o,c),u.normal=zr.getInterpolation(Ep,tu,nu,iu,$S,ew,tw,new K),u.normal.dot(i.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:l,c,normal:new K,materialIndex:0};zr.getNormal(tu,nu,iu,h.normal),u.face=h}return u}class Bc extends kt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],u=[],h=[];let d=0,p=0;m("z","y","x",-1,-1,i,t,e,o,s,0),m("z","y","x",1,-1,i,t,-e,o,s,1),m("x","z","y",1,1,e,i,t,r,o,2),m("x","z","y",1,-1,e,i,-t,r,o,3),m("x","y","z",1,-1,e,t,i,r,s,4),m("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new pt(c,3)),this.setAttribute("normal",new pt(u,3)),this.setAttribute("uv",new pt(h,2));function m(I,v,g,y,E,x,w,_,R,D,Y){const Q=x/R,P=w/D,z=x/2,ne=w/2,V=_/2,ae=R+1,ee=D+1;let he=0,O=0;const J=new K;for(let Z=0;Z0?1:-1,u.push(J.x,J.y,J.z),h.push(ce/R),h.push(1-Z/D),he+=1}}for(let Z=0;Z>8&255]+Gi[n>>16&255]+Gi[n>>24&255]+"-"+Gi[e&255]+Gi[e>>8&255]+"-"+Gi[e>>16&15|64]+Gi[e>>24&255]+"-"+Gi[t&63|128]+Gi[t>>8&255]+"-"+Gi[t>>16&255]+Gi[t>>24&255]+Gi[i&255]+Gi[i>>8&255]+Gi[i>>16&255]+Gi[i>>24&255]).toLowerCase()}function Jn(n,e,t){return Math.max(e,Math.min(t,n))}function lI(n,e){return(n%e+e)%e}function S4(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function w4(n,e,t){return n!==e?(t-n)/(e-n):0}function Nf(n,e,t){return(1-t)*n+t*e}function _4(n,e,t,i){return Nf(n,e,1-Math.exp(-t*i))}function M4(n,e=1){return e-Math.abs(lI(n,e*2)-e)}function Q4(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function R4(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function T4(n,e){return n+Math.floor(Math.random()*(e-n+1))}function D4(n,e){return n+Math.random()*(e-n)}function b4(n){return n*(.5-Math.random())}function L4(n){n!==void 0&&(OS=n);let e=OS+=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 P4(n){return n*nc}function U4(n){return n*iA}function w1(n){return(n&n-1)===0&&n!==0}function N4(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function um(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function k4(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),c=s((e+i)/2),u=o((e+i)/2),h=s((e-i)/2),d=o((e-i)/2),p=s((i-e)/2),m=o((i-e)/2);switch(r){case"XYX":n.set(a*u,l*h,l*d,a*c);break;case"YZY":n.set(l*d,a*u,l*h,a*c);break;case"ZXZ":n.set(l*h,l*d,a*u,a*c);break;case"XZX":n.set(a*u,l*m,l*p,a*c);break;case"YXY":n.set(l*p,a*u,l*m,a*c);break;case"ZYZ":n.set(l*m,l*p,a*u,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function lr(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 Ot(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 qR={DEG2RAD:nc,RAD2DEG:iA,generateUUID:Jr,clamp:Jn,euclideanModulo:lI,mapLinear:S4,inverseLerp:w4,lerp:Nf,damp:_4,pingpong:M4,smoothstep:Q4,smootherstep:R4,randInt:T4,randFloat:D4,randFloatSpread:b4,seededRandom:L4,degToRad:P4,radToDeg:U4,isPowerOfTwo:w1,ceilPowerOfTwo:N4,floorPowerOfTwo:um,setQuaternionFromProperEuler:k4,normalize:Ot,denormalize:lr};class Te{constructor(e=0,t=0){Te.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(Jn(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 Pt{constructor(e,t,i,r,s,o,a,l,c){Pt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c)}set(e,t,i,r,s,o,a,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=s,u[5]=l,u[6]=i,u[7]=o,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],c=i[1],u=i[4],h=i[7],d=i[2],p=i[5],m=i[8],I=r[0],v=r[3],g=r[6],y=r[1],E=r[4],x=r[7],w=r[2],_=r[5],R=r[8];return s[0]=o*I+a*y+l*w,s[3]=o*v+a*E+l*_,s[6]=o*g+a*x+l*R,s[1]=c*I+u*y+h*w,s[4]=c*v+u*E+h*_,s[7]=c*g+u*x+h*R,s[2]=d*I+p*y+m*w,s[5]=d*v+p*E+m*_,s[8]=d*g+p*x+m*R,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t*o*u-t*a*c-i*s*u+i*a*l+r*s*c-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=u*o-a*c,d=a*l-u*s,p=c*s-o*l,m=t*h+i*d+r*p;if(m===0)return this.set(0,0,0,0,0,0,0,0,0);const I=1/m;return e[0]=h*I,e[1]=(r*c-u*i)*I,e[2]=(a*i-r*o)*I,e[3]=d*I,e[4]=(u*t-r*l)*I,e[5]=(r*s-a*t)*I,e[6]=p*I,e[7]=(i*l-c*t)*I,e[8]=(o*t-i*s)*I,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(Fv.makeScale(e,t)),this}rotate(e){return this.premultiply(Fv.makeRotation(-e)),this}translate(e,t){return this.premultiply(Fv.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 Fv=new Pt;function ZR(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const F4={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Pu(n,e){return new F4[n](e)}function yh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function $R(){const n=yh("canvas");return n.style.display="block",n}const GS={};function ic(n){n in GS||(GS[n]=!0,console.warn(n))}const HS=new Pt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),zS=new Pt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),sp={[ao]:{transfer:dh,primaries:ph,toReference:n=>n,fromReference:n=>n},[Yn]:{transfer:In,primaries:ph,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[kh]:{transfer:dh,primaries:gh,toReference:n=>n.applyMatrix3(zS),fromReference:n=>n.applyMatrix3(HS)},[Nm]:{transfer:In,primaries:gh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(zS),fromReference:n=>n.applyMatrix3(HS).convertLinearToSRGB()}},O4=new Set([ao,kh]),dn={enabled:!0,_workingColorSpace:ao,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!O4.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=sp[e].toReference,r=sp[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 sp[n].primaries},getTransfer:function(n){return n===Hr?dh:sp[n].transfer}};function Ku(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function Ov(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Yc;class cI{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Yc===void 0&&(Yc=yh("canvas")),Yc.width=e.width,Yc.height=e.height;const i=Yc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Yc}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=yh("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!==bm)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ch:e.x=e.x-Math.floor(e.x);break;case Yi:e.x=e.x<0?0:1;break;case uh: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 ch:e.y=e.y-Math.floor(e.y);break;case Yi:e.y=e.y<0?0:1;break;case uh: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)}get encoding(){return ic("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Yn?Va:oI}set encoding(e){ic("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Va?Yn:Hr}}Qn.DEFAULT_IMAGE=null;Qn.DEFAULT_MAPPING=bm;Qn.DEFAULT_ANISOTROPY=1;class ln{constructor(e=0,t=0,i=0,r=1){ln.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],u=l[4],h=l[8],d=l[1],p=l[5],m=l[9],I=l[2],v=l[6],g=l[10];if(Math.abs(u-d)<.01&&Math.abs(h-I)<.01&&Math.abs(m-v)<.01){if(Math.abs(u+d)<.1&&Math.abs(h+I)<.1&&Math.abs(m+v)<.1&&Math.abs(c+p+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const E=(c+1)/2,x=(p+1)/2,w=(g+1)/2,_=(u+d)/4,R=(h+I)/4,D=(m+v)/4;return E>x&&E>w?E<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(E),r=_/i,s=R/i):x>w?x<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(x),i=_/r,s=D/r):w<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(w),i=R/s,r=D/s),this.set(i,r,s,t),this}let y=Math.sqrt((v-m)*(v-m)+(h-I)*(h-I)+(d-u)*(d-u));return Math.abs(y)<.001&&(y=1),this.x=(v-m)/y,this.y=(h-I)/y,this.z=(d-u)/y,this.w=Math.acos((c+p+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 eT extends Vo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new ln(0,0,e,t),this.scissorTest=!1,this.viewport=new ln(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(ic("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Va?Yn:Hr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new Qn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ql(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Es extends eT{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class km extends Qn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=$n,this.minFilter=$n,this.wrapR=Yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class z4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new km(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class uI extends Qn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=$n,this.minFilter=$n,this.wrapR=Yi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class V4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new uI(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class W4 extends Es{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,E=1-g*g;if(E>Number.EPSILON){const w=Math.sqrt(E),_=Math.atan2(w,g*y);v=Math.sin(v*_)/w,a=Math.sin(a*_)/w}const x=a*y;if(l=l*v+d*x,c=c*v+p*x,u=u*v+m*x,h=h*v+I*x,v===1-a){const w=1/Math.sqrt(l*l+c*c+u*u+h*h);l*=w,c*=w,u*=w,h*=w}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],c=i[r+2],u=i[r+3],h=s[o],d=s[o+1],p=s[o+2],m=s[o+3];return e[t]=a*m+u*h+l*p-c*d,e[t+1]=l*m+u*d+c*h-a*p,e[t+2]=c*m+u*p+a*d-l*h,e[t+3]=u*m-a*h-l*d-c*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(i/2),u=a(r/2),h=a(s/2),d=l(i/2),p=l(r/2),m=l(s/2);switch(o){case"XYZ":this._x=d*u*h+c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h-d*p*m;break;case"YXZ":this._x=d*u*h+c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h+d*p*m;break;case"ZXY":this._x=d*u*h-c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h-d*p*m;break;case"ZYX":this._x=d*u*h-c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h+d*p*m;break;case"YZX":this._x=d*u*h+c*p*m,this._y=c*p*h+d*u*m,this._z=c*u*m-d*p*h,this._w=c*u*h-d*p*m;break;case"XZY":this._x=d*u*h-c*p*m,this._y=c*p*h-d*u*m,this._z=c*u*m+d*p*h,this._w=c*u*h+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],c=t[2],u=t[6],h=t[10],d=i+a+h;if(d>0){const p=.5/Math.sqrt(d+1);this._w=.25/p,this._x=(u-l)*p,this._y=(s-c)*p,this._z=(o-r)*p}else if(i>a&&i>h){const p=2*Math.sqrt(1+i-a-h);this._w=(u-l)/p,this._x=.25*p,this._y=(r+o)/p,this._z=(s+c)/p}else if(a>h){const p=2*Math.sqrt(1+a-i-h);this._w=(s-c)/p,this._x=(r+o)/p,this._y=.25*p,this._z=(l+u)/p}else{const p=2*Math.sqrt(1+h-i-a);this._w=(o-r)/p,this._x=(s+c)/p,this._y=(l+u)/p,this._z=.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return 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(Jn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,c=t._z,u=t._w;return this._x=i*u+o*a+r*c-s*l,this._y=r*u+o*l+s*a-i*c,this._z=s*u+o*c+i*l-r*a,this._w=o*u-i*a-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const p=1-t;return this._w=p*o+t*this._w,this._x=p*i+t*this._x,this._y=p*r+t*this._y,this._z=p*s+t*this._z,this.normalize(),this}const c=Math.sqrt(l),u=Math.atan2(c,a),h=Math.sin((1-t)*u)/c,d=Math.sin(t*u)/c;return this._w=o*h+this._w*d,this._x=i*h+this._x*d,this._y=r*h+this._y*d,this._z=s*h+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class K{constructor(e=0,t=0,i=0){K.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(VS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(VS.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*r-a*i),u=2*(a*t-s*r),h=2*(s*i-o*t);return this.x=t+l*c+o*h-a*u,this.y=i+l*u+a*c-s*h,this.z=r+l*h+s*u-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=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 Hv.copy(this).projectOnVector(e),this.sub(Hv)}reflect(e){return this.sub(Hv.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(Jn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Hv=new K,VS=new ur;class ai{constructor(e=new K(1/0,1/0,1/0),t=new K(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;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,ws),ws.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(nf),ap.subVectors(this.max,nf),Jc.subVectors(e.a,nf),Xc.subVectors(e.b,nf),Kc.subVectors(e.c,nf),va.subVectors(Xc,Jc),ya.subVectors(Kc,Xc),Sl.subVectors(Jc,Kc);let t=[0,-va.z,va.y,0,-ya.z,ya.y,0,-Sl.z,Sl.y,va.z,0,-va.x,ya.z,0,-ya.x,Sl.z,0,-Sl.x,-va.y,va.x,0,-ya.y,ya.x,0,-Sl.y,Sl.x,0];return!zv(t,Jc,Xc,Kc,ap)||(t=[1,0,0,0,1,0,0,0,1],!zv(t,Jc,Xc,Kc,ap))?!1:(lp.crossVectors(va,ya),t=[lp.x,lp.y,lp.z],zv(t,Jc,Xc,Kc,ap))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,ws).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(ws).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:(vo[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),vo[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),vo[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),vo[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),vo[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),vo[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),vo[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),vo[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(vo),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 vo=[new K,new K,new K,new K,new K,new K,new K,new K],ws=new K,op=new ai,Jc=new K,Xc=new K,Kc=new K,va=new K,ya=new K,Sl=new K,nf=new K,ap=new K,lp=new K,wl=new K;function zv(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){wl.fromArray(n,s);const a=r.x*Math.abs(wl.x)+r.y*Math.abs(wl.y)+r.z*Math.abs(wl.z),l=e.dot(wl),c=t.dot(wl),u=i.dot(wl);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>a)return!1}return!0}const Y4=new ai,rf=new K,Vv=new K;class fi{constructor(e=new K,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):Y4.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;rf.subVectors(e,this.center);const t=rf.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(rf,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):(Vv.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(rf.copy(e.center).add(Vv)),this.expandByPoint(rf.copy(e.center).sub(Vv))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const yo=new K,Wv=new K,cp=new K,Ea=new K,Yv=new K,up=new K,Jv=new K;class fA{constructor(e=new K,t=new K(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,yo)),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=yo.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(yo.copy(this.origin).addScaledVector(this.direction,t),yo.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){Wv.copy(e).add(t).multiplyScalar(.5),cp.copy(t).sub(e).normalize(),Ea.copy(this.origin).sub(Wv);const s=e.distanceTo(t)*.5,o=-this.direction.dot(cp),a=Ea.dot(this.direction),l=-Ea.dot(cp),c=Ea.lengthSq(),u=Math.abs(1-o*o);let h,d,p,m;if(u>0)if(h=o*l-a,d=o*a-l,m=s*u,h>=0)if(d>=-m)if(d<=m){const I=1/u;h*=I,d*=I,p=h*(h+o*d+2*a)+d*(o*h+d+2*l)+c}else d=s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;else d=-s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;else d<=-m?(h=Math.max(0,-(-o*s+a)),d=h>0?-s:Math.min(Math.max(-s,-l),s),p=-h*h+d*(d+2*l)+c):d<=m?(h=0,d=Math.min(Math.max(-s,-l),s),p=d*(d+2*l)+c):(h=Math.max(0,-(o*s+a)),d=h>0?s:Math.min(Math.max(-s,-l),s),p=-h*h+d*(d+2*l)+c);else d=o>0?-s:s,h=Math.max(0,-(o*d+a)),p=-h*h+d*(d+2*l)+c;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(Wv).addScaledVector(cp,d),p}intersectSphere(e,t){yo.subVectors(e.center,this.origin);const i=yo.dot(this.direction),r=yo.dot(yo)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,d=this.origin;return c>=0?(i=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(i=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),u>=0?(s=(e.min.y-d.y)*u,o=(e.max.y-d.y)*u):(s=(e.max.y-d.y)*u,o=(e.min.y-d.y)*u),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-d.z)*h,l=(e.max.z-d.z)*h):(a=(e.max.z-d.z)*h,l=(e.min.z-d.z)*h),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,yo)!==null}intersectTriangle(e,t,i,r,s){Yv.subVectors(t,e),up.subVectors(i,e),Jv.crossVectors(Yv,up);let o=this.direction.dot(Jv),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Ea.subVectors(this.origin,e);const l=a*this.direction.dot(up.crossVectors(Ea,up));if(l<0)return null;const c=a*this.direction.dot(Yv.cross(Ea));if(c<0||l+c>o)return null;const u=-a*Ea.dot(Jv);return u<0?null:this.at(u/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class _t{constructor(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v){_t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v)}set(e,t,i,r,s,o,a,l,c,u,h,d,p,m,I,v){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]=c,g[6]=u,g[10]=h,g[14]=d,g[3]=p,g[7]=m,g[11]=I,g[15]=v,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 _t().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/jc.setFromMatrixColumn(e,0).length(),s=1/jc.setFromMatrixColumn(e,1).length(),o=1/jc.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const d=o*u,p=o*h,m=a*u,I=a*h;t[0]=l*u,t[4]=-l*h,t[8]=c,t[1]=p+m*c,t[5]=d-I*c,t[9]=-a*l,t[2]=I-d*c,t[6]=m+p*c,t[10]=o*l}else if(e.order==="YXZ"){const d=l*u,p=l*h,m=c*u,I=c*h;t[0]=d+I*a,t[4]=m*a-p,t[8]=o*c,t[1]=o*h,t[5]=o*u,t[9]=-a,t[2]=p*a-m,t[6]=I+d*a,t[10]=o*l}else if(e.order==="ZXY"){const d=l*u,p=l*h,m=c*u,I=c*h;t[0]=d-I*a,t[4]=-o*h,t[8]=m+p*a,t[1]=p+m*a,t[5]=o*u,t[9]=I-d*a,t[2]=-o*c,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const d=o*u,p=o*h,m=a*u,I=a*h;t[0]=l*u,t[4]=m*c-p,t[8]=d*c+I,t[1]=l*h,t[5]=I*c+d,t[9]=p*c-m,t[2]=-c,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const d=o*l,p=o*c,m=a*l,I=a*c;t[0]=l*u,t[4]=I-d*h,t[8]=m*h+p,t[1]=h,t[5]=o*u,t[9]=-a*u,t[2]=-c*u,t[6]=p*h+m,t[10]=d-I*h}else if(e.order==="XZY"){const d=o*l,p=o*c,m=a*l,I=a*c;t[0]=l*u,t[4]=-h,t[8]=c*u,t[1]=d*h+I,t[5]=o*u,t[9]=p*h-m,t[2]=m*h-p,t[6]=a*u,t[10]=I*h+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(J4,e,X4)}lookAt(e,t,i){const r=this.elements;return kr.subVectors(e,t),kr.lengthSq()===0&&(kr.z=1),kr.normalize(),Ca.crossVectors(i,kr),Ca.lengthSq()===0&&(Math.abs(i.z)===1?kr.x+=1e-4:kr.z+=1e-4,kr.normalize(),Ca.crossVectors(i,kr)),Ca.normalize(),Ap.crossVectors(kr,Ca),r[0]=Ca.x,r[4]=Ap.x,r[8]=kr.x,r[1]=Ca.y,r[5]=Ap.y,r[9]=kr.y,r[2]=Ca.z,r[6]=Ap.z,r[10]=kr.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],c=i[12],u=i[1],h=i[5],d=i[9],p=i[13],m=i[2],I=i[6],v=i[10],g=i[14],y=i[3],E=i[7],x=i[11],w=i[15],_=r[0],R=r[4],D=r[8],Y=r[12],M=r[1],P=r[5],z=r[9],se=r[13],V=r[2],oe=r[6],ee=r[10],he=r[14],O=r[3],J=r[7],q=r[11],W=r[15];return s[0]=o*_+a*M+l*V+c*O,s[4]=o*R+a*P+l*oe+c*J,s[8]=o*D+a*z+l*ee+c*q,s[12]=o*Y+a*se+l*he+c*W,s[1]=u*_+h*M+d*V+p*O,s[5]=u*R+h*P+d*oe+p*J,s[9]=u*D+h*z+d*ee+p*q,s[13]=u*Y+h*se+d*he+p*W,s[2]=m*_+I*M+v*V+g*O,s[6]=m*R+I*P+v*oe+g*J,s[10]=m*D+I*z+v*ee+g*q,s[14]=m*Y+I*se+v*he+g*W,s[3]=y*_+E*M+x*V+w*O,s[7]=y*R+E*P+x*oe+w*J,s[11]=y*D+E*z+x*ee+w*q,s[15]=y*Y+E*se+x*he+w*W,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],u=e[2],h=e[6],d=e[10],p=e[14],m=e[3],I=e[7],v=e[11],g=e[15];return m*(+s*l*h-r*c*h-s*a*d+i*c*d+r*a*p-i*l*p)+I*(+t*l*p-t*c*d+s*o*d-r*o*p+r*c*u-s*l*u)+v*(+t*c*h-t*a*p-s*o*h+i*o*p+s*a*u-i*c*u)+g*(-r*a*u-t*l*h+t*a*d+r*o*h-i*o*d+i*l*u)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],p=e[11],m=e[12],I=e[13],v=e[14],g=e[15],y=h*v*c-I*d*c+I*l*p-a*v*p-h*l*g+a*d*g,E=m*d*c-u*v*c-m*l*p+o*v*p+u*l*g-o*d*g,x=u*I*c-m*h*c+m*a*p-o*I*p-u*a*g+o*h*g,w=m*h*l-u*I*l-m*a*d+o*I*d+u*a*v-o*h*v,_=t*y+i*E+r*x+s*w;if(_===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const R=1/_;return e[0]=y*R,e[1]=(I*d*s-h*v*s-I*r*p+i*v*p+h*r*g-i*d*g)*R,e[2]=(a*v*s-I*l*s+I*r*c-i*v*c-a*r*g+i*l*g)*R,e[3]=(h*l*s-a*d*s-h*r*c+i*d*c+a*r*p-i*l*p)*R,e[4]=E*R,e[5]=(u*v*s-m*d*s+m*r*p-t*v*p-u*r*g+t*d*g)*R,e[6]=(m*l*s-o*v*s-m*r*c+t*v*c+o*r*g-t*l*g)*R,e[7]=(o*d*s-u*l*s+u*r*c-t*d*c-o*r*p+t*l*p)*R,e[8]=x*R,e[9]=(m*h*s-u*I*s-m*i*p+t*I*p+u*i*g-t*h*g)*R,e[10]=(o*I*s-m*a*s+m*i*c-t*I*c-o*i*g+t*a*g)*R,e[11]=(u*a*s-o*h*s-u*i*c+t*h*c+o*i*p-t*a*p)*R,e[12]=w*R,e[13]=(u*I*r-m*h*r+m*i*d-t*I*d-u*i*v+t*h*v)*R,e[14]=(m*a*r-o*I*r-m*i*l+t*I*l+o*i*v-t*a*v)*R,e[15]=(o*h*r-u*a*r+u*i*l-t*h*l-o*i*d+t*a*d)*R,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,c=s*o,u=s*a;return this.set(c*o+i,c*a-r*l,c*l+r*a,0,c*a+r*l,u*a+i,u*l-r*o,0,c*l-r*a,u*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,c=s+s,u=o+o,h=a+a,d=s*c,p=s*u,m=s*h,I=o*u,v=o*h,g=a*h,y=l*c,E=l*u,x=l*h,w=i.x,_=i.y,R=i.z;return r[0]=(1-(I+g))*w,r[1]=(p+x)*w,r[2]=(m-E)*w,r[3]=0,r[4]=(p-x)*_,r[5]=(1-(d+g))*_,r[6]=(v+y)*_,r[7]=0,r[8]=(m+E)*R,r[9]=(v-y)*R,r[10]=(1-(d+I))*R,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=jc.set(r[0],r[1],r[2]).length();const o=jc.set(r[4],r[5],r[6]).length(),a=jc.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],_s.copy(this);const c=1/s,u=1/o,h=1/a;return _s.elements[0]*=c,_s.elements[1]*=c,_s.elements[2]*=c,_s.elements[4]*=u,_s.elements[5]*=u,_s.elements[6]*=u,_s.elements[8]*=h,_s.elements[9]*=h,_s.elements[10]*=h,t.setFromRotationMatrix(_s),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=no){const l=this.elements,c=2*s/(t-e),u=2*s/(i-r),h=(t+e)/(t-e),d=(i+r)/(i-r);let p,m;if(a===no)p=-(o+s)/(o-s),m=-2*o*s/(o-s);else if(a===vh)p=-o/(o-s),m=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=u,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=p,l[14]=m,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=no){const l=this.elements,c=1/(t-e),u=1/(i-r),h=1/(o-s),d=(t+e)*c,p=(i+r)*u;let m,I;if(a===no)m=(o+s)*h,I=-2*h;else if(a===vh)m=s*h,I=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*u,l[9]=0,l[13]=-p,l[2]=0,l[6]=0,l[10]=I,l[14]=-m,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const jc=new K,_s=new _t,J4=new K(0,0,0),X4=new K(1,1,1),Ca=new K,Ap=new K,kr=new K,WS=new _t,YS=new ur;class hA{constructor(e=0,t=0,i=0,r=hA.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],c=r[5],u=r[9],h=r[2],d=r[6],p=r[10];switch(t){case"XYZ":this._y=Math.asin(Jn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-u,p),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Jn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(a,p),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Jn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,p),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Jn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,p),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Jn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,p));break;case"XZY":this._z=Math.asin(-Jn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-u,p),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return WS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(WS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return YS.setFromEuler(this),this.setFromQuaternion(YS,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}}hA.DEFAULT_ORDER="XYZ";class rc{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,u=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),u.length>0&&(i.images=u),h.length>0&&(i.shapes=h),d.length>0&&(i.skeletons=d),p.length>0&&(i.animations=p),m.length>0&&(i.nodes=m)}return i.object=r,i;function o(a){const l=[];for(const c in a){const u=a[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Ms.subVectors(r,t),Co.subVectors(i,t),Xv.subVectors(e,t);const o=Ms.dot(Ms),a=Ms.dot(Co),l=Ms.dot(Xv),c=Co.dot(Co),u=Co.dot(Xv),h=o*c-a*a;if(h===0)return s.set(0,0,0),null;const d=1/h,p=(c*l-a*u)*d,m=(o*u-a*l)*d;return s.set(1-p-m,m,p)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Io)===null?!1:Io.x>=0&&Io.y>=0&&Io.x+Io.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Io)===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,Io.x),l.addScaledVector(o,Io.y),l.addScaledVector(a,Io.z),l)}static isFrontFacing(e,t,i,r){return Ms.subVectors(i,t),Co.subVectors(e,t),Ms.cross(Co).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 Ms.subVectors(this.c,this.b),Co.subVectors(this.a,this.b),Ms.cross(Co).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return zr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return zr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return zr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return zr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return zr.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;Zc.subVectors(r,i),$c.subVectors(s,i),Kv.subVectors(e,i);const l=Zc.dot(Kv),c=$c.dot(Kv);if(l<=0&&c<=0)return t.copy(i);jv.subVectors(e,r);const u=Zc.dot(jv),h=$c.dot(jv);if(u>=0&&h<=u)return t.copy(r);const d=l*h-u*c;if(d<=0&&l>=0&&u<=0)return o=l/(l-u),t.copy(i).addScaledVector(Zc,o);qv.subVectors(e,s);const p=Zc.dot(qv),m=$c.dot(qv);if(m>=0&&p<=m)return t.copy(s);const I=p*c-l*m;if(I<=0&&c>=0&&m<=0)return a=c/(c-m),t.copy(i).addScaledVector($c,a);const v=u*m-p*h;if(v<=0&&h-u>=0&&p-m>=0)return qS.subVectors(s,r),a=(h-u)/(h-u+(p-m)),t.copy(r).addScaledVector(qS,a);const g=1/(v+I+d);return o=I*g,a=d*g,t.copy(i).addScaledVector(Zc,o).addScaledVector($c,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const tT={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},Ia={h:0,s:0,l:0},hp={h:0,s:0,l:0};function Zv(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 st{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=Yn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,dn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=dn.workingColorSpace){return this.r=e,this.g=t,this.b=i,dn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=dn.workingColorSpace){if(e=lI(e,1),t=Jn(t,0,1),i=Jn(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=Zv(o,s,e+1/3),this.g=Zv(o,s,e),this.b=Zv(o,s,e-1/3)}return dn.toWorkingColorSpace(this,r),this}setStyle(e,t=Yn){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=Yn){const i=tT[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=Ku(e.r),this.g=Ku(e.g),this.b=Ku(e.b),this}copyLinearToSRGB(e){return this.r=Ov(e.r),this.g=Ov(e.g),this.b=Ov(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Yn){return dn.fromWorkingColorSpace(Hi.copy(this),e),Math.round(Jn(Hi.r*255,0,255))*65536+Math.round(Jn(Hi.g*255,0,255))*256+Math.round(Jn(Hi.b*255,0,255))}getHexString(e=Yn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=dn.workingColorSpace){dn.fromWorkingColorSpace(Hi.copy(this),t);const i=Hi.r,r=Hi.g,s=Hi.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,c;const u=(a+o)/2;if(a===o)l=0,c=0;else{const h=o-a;switch(c=u<=.5?h/(o+a):h/(2-o-a),o){case i:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Uo&&(i.blending=this.blending),this.side!==Kr&&(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!==om&&(i.blendSrc=this.blendSrc),this.blendDst!==am&&(i.blendDst=this.blendDst),this.blendEquation!==Ta&&(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!==oh&&(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!==x1&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Hl&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Hl&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Hl&&(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 hr extends mi{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new st(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.combine=Nh,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.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 Mo=tU();function tU(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(i[l]=1024>>-c-14,i[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(i[l]=c+15<<10,i[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function Cr(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Jn(n,-65504,65504),Mo.floatView[0]=n;const e=Mo.uint32View[0],t=e>>23&511;return Mo.baseTable[t]+((e&8388607)>>Mo.shiftTable[t])}function Bf(n){const e=n>>10;return Mo.uint32View[0]=Mo.mantissaTable[Mo.offsetTable[e]+(n&1023)]+Mo.exponentTable[e],Mo.floatView[0]}const nU={toHalfFloat:Cr,fromHalfFloat:Bf},si=new K,dp=new Te;class un{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=mh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=ds,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ic("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],u=[];for(let h=0,d=c.length;h0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],h=s[c];for(let d=0,p=h.length;d0){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))&&(ZS.copy(s).invert(),_l.copy(e.ray).applyMatrix4(ZS),!(i.boundingBox!==null&&_l.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,_l)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,h=s.attributes.normal,d=s.groups,p=s.drawRange;if(a!==null)if(Array.isArray(o))for(let m=0,I=d.length;mt.far?null:{distance:c,point:Cp.clone(),object:n}}function Ip(n,e,t,i,r,s,o,a,l,c){n.getVertexPosition(a,tu),n.getVertexPosition(l,nu),n.getVertexPosition(c,iu);const u=AU(n,e,t,i,tu,nu,iu,Ep);if(u){r&&(mp.fromBufferAttribute(r,a),vp.fromBufferAttribute(r,l),yp.fromBufferAttribute(r,c),u.uv=zr.getInterpolation(Ep,tu,nu,iu,mp,vp,yp,new Te)),s&&(mp.fromBufferAttribute(s,a),vp.fromBufferAttribute(s,l),yp.fromBufferAttribute(s,c),u.uv1=zr.getInterpolation(Ep,tu,nu,iu,mp,vp,yp,new Te),u.uv2=u.uv1),o&&(ew.fromBufferAttribute(o,a),tw.fromBufferAttribute(o,l),nw.fromBufferAttribute(o,c),u.normal=zr.getInterpolation(Ep,tu,nu,iu,ew,tw,nw,new K),u.normal.dot(i.direction)>0&&u.normal.multiplyScalar(-1));const h={a,b:l,c,normal:new K,materialIndex:0};zr.getNormal(tu,nu,iu,h.normal),u.face=h}return u}class Bc extends kt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],u=[],h=[];let d=0,p=0;m("z","y","x",-1,-1,i,t,e,o,s,0),m("z","y","x",1,-1,i,t,-e,o,s,1),m("x","z","y",1,1,e,i,t,r,o,2),m("x","z","y",1,-1,e,i,-t,r,o,3),m("x","y","z",1,-1,e,t,i,r,s,4),m("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new gt(c,3)),this.setAttribute("normal",new gt(u,3)),this.setAttribute("uv",new gt(h,2));function m(I,v,g,y,E,x,w,_,R,D,Y){const M=x/R,P=w/D,z=x/2,se=w/2,V=_/2,oe=R+1,ee=D+1;let he=0,O=0;const J=new K;for(let q=0;q0?1:-1,u.push(J.x,J.y,J.z),h.push(ce/R),h.push(1-q/D),he+=1}}for(let q=0;q0&&(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 Fh extends Vt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new _t,this.projectionMatrix=new _t,this.projectionMatrixInverse=new _t,this.coordinateSystem=no}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 Ba=new K,nw=new Te,iw=new Te;class ui extends Fh{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=iA*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nc*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return iA*2*Math.atan(Math.tan(nc*.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){Ba.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Ba.x,Ba.y).multiplyScalar(-e/Ba.z),Ba.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Ba.x,Ba.y).multiplyScalar(-e/Ba.z)}getViewSize(e,t){return this.getViewBounds(e,nw,iw),t.subVectors(iw,nw)}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(nc*.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 ru=-90,su=1;class nT extends Vt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new ui(ru,su,e,t);r.layers=this.layers,this.add(r);const s=new ui(ru,su,e,t);s.layers=this.layers,this.add(s);const o=new ui(ru,su,e,t);o.layers=this.layers,this.add(o);const a=new ui(ru,su,e,t);a.layers=this.layers,this.add(a);const l=new ui(ru,su,e,t);l.layers=this.layers,this.add(l);const c=new ui(ru,su,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===no)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===vh)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,u]=this.children,h=e.getRenderTarget(),d=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),m=e.xr.enabled;e.xr.enabled=!1;const I=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=I,e.setRenderTarget(i,5,r),e.render(t,u),e.setRenderTarget(h,d,p),e.xr.enabled=m,i.texture.needsPMREMUpdate=!0}}class Oh extends Qn{constructor(e,t,i,r,s,o,a,l,c,u){e=e!==void 0?e:[],t=t!==void 0?t:Go,super(e,t,i,r,s,o,a,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class iT extends Es{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];t.encoding!==void 0&&(ic("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Va?Yn:Hr),this.texture=new Oh(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:Cn}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:` +}`;class Os extends mi{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=hU,this.fragmentShader=dU,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=rA(e.uniforms),this.uniformsGroups=fU(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Fh extends Vt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new _t,this.projectionMatrix=new _t,this.projectionMatrixInverse=new _t,this.coordinateSystem=no}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 Ba=new K,iw=new Te,rw=new Te;class ui extends Fh{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=iA*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(nc*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return iA*2*Math.atan(Math.tan(nc*.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){Ba.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Ba.x,Ba.y).multiplyScalar(-e/Ba.z),Ba.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Ba.x,Ba.y).multiplyScalar(-e/Ba.z)}getViewSize(e,t){return this.getViewBounds(e,iw,rw),t.subVectors(rw,iw)}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(nc*.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 ru=-90,su=1;class iT extends Vt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new ui(ru,su,e,t);r.layers=this.layers,this.add(r);const s=new ui(ru,su,e,t);s.layers=this.layers,this.add(s);const o=new ui(ru,su,e,t);o.layers=this.layers,this.add(o);const a=new ui(ru,su,e,t);a.layers=this.layers,this.add(a);const l=new ui(ru,su,e,t);l.layers=this.layers,this.add(l);const c=new ui(ru,su,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===no)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===vh)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,u]=this.children,h=e.getRenderTarget(),d=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),m=e.xr.enabled;e.xr.enabled=!1;const I=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=I,e.setRenderTarget(i,5,r),e.render(t,u),e.setRenderTarget(h,d,p),e.xr.enabled=m,i.texture.needsPMREMUpdate=!0}}class Oh extends Qn{constructor(e,t,i,r,s,o,a,l,c,u){e=e!==void 0?e:[],t=t!==void 0?t:Go,super(e,t,i,r,s,o,a,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class rT extends Es{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];t.encoding!==void 0&&(ic("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Va?Yn:Hr),this.texture=new Oh(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:Cn}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; @@ -80,9 +80,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new Bc(5,5,5),s=new Os({name:"CubemapFromEquirect",uniforms:rA(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Xi,blending:Po});s.uniforms.tEquirect.value=t;const o=new rn(r,s),a=t.minFilter;return t.minFilter===to&&(t.minFilter=Cn),new nT(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 ty=new K,dU=new K,pU=new Pt;class mn{constructor(e=new K(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=ty.subVectors(i,t).cross(dU.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(ty),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||pU.getNormalMatrix(e),r=this.coplanarPoint(ty).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 Ml=new fi,Bp=new K;class Gh{constructor(e=new mn,t=new mn,i=new mn,r=new mn,s=new mn,o=new mn){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=no){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],c=r[4],u=r[5],h=r[6],d=r[7],p=r[8],m=r[9],I=r[10],v=r[11],g=r[12],y=r[13],E=r[14],x=r[15];if(i[0].setComponents(l-s,d-c,v-p,x-g).normalize(),i[1].setComponents(l+s,d+c,v+p,x+g).normalize(),i[2].setComponents(l+o,d+u,v+m,x+y).normalize(),i[3].setComponents(l-o,d-u,v-m,x-y).normalize(),i[4].setComponents(l-a,d-h,v-I,x-E).normalize(),t===no)i[5].setComponents(l+a,d+h,v+I,x+E).normalize();else if(t===vh)i[5].setComponents(a,h,I,E).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(),Ml.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ml.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ml)}intersectsSprite(e){return Ml.center.set(0,0,0),Ml.radius=.7071067811865476,Ml.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ml)}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 rT(){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 gU(n,e){const t=e.isWebGL2,i=new WeakMap;function r(c,u){const h=c.array,d=c.usage,p=h.byteLength,m=n.createBuffer();n.bindBuffer(u,m),n.bufferData(u,h,d),c.onUploadCallback();let I;if(h instanceof Float32Array)I=n.FLOAT;else if(h instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(t)I=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else I=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)I=n.SHORT;else if(h instanceof Uint32Array)I=n.UNSIGNED_INT;else if(h instanceof Int32Array)I=n.INT;else if(h instanceof Int8Array)I=n.BYTE;else if(h instanceof Uint8Array)I=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)I=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:m,type:I,bytesPerElement:h.BYTES_PER_ELEMENT,version:c.version,size:p}}function s(c,u,h){const d=u.array,p=u._updateRange,m=u.updateRanges;if(n.bindBuffer(h,c),p.count===-1&&m.length===0&&n.bufferSubData(h,0,d),m.length!==0){for(let I=0,v=m.length;I1?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||gU.getNormalMatrix(e),r=this.coplanarPoint(ty).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 Ml=new fi,Bp=new K;class Gh{constructor(e=new mn,t=new mn,i=new mn,r=new mn,s=new mn,o=new mn){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=no){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],c=r[4],u=r[5],h=r[6],d=r[7],p=r[8],m=r[9],I=r[10],v=r[11],g=r[12],y=r[13],E=r[14],x=r[15];if(i[0].setComponents(l-s,d-c,v-p,x-g).normalize(),i[1].setComponents(l+s,d+c,v+p,x+g).normalize(),i[2].setComponents(l+o,d+u,v+m,x+y).normalize(),i[3].setComponents(l-o,d-u,v-m,x-y).normalize(),i[4].setComponents(l-a,d-h,v-I,x-E).normalize(),t===no)i[5].setComponents(l+a,d+h,v+I,x+E).normalize();else if(t===vh)i[5].setComponents(a,h,I,E).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(),Ml.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ml.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ml)}intersectsSprite(e){return Ml.center.set(0,0,0),Ml.radius=.7071067811865476,Ml.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ml)}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 sT(){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 mU(n,e){const t=e.isWebGL2,i=new WeakMap;function r(c,u){const h=c.array,d=c.usage,p=h.byteLength,m=n.createBuffer();n.bindBuffer(u,m),n.bufferData(u,h,d),c.onUploadCallback();let I;if(h instanceof Float32Array)I=n.FLOAT;else if(h instanceof Uint16Array)if(c.isFloat16BufferAttribute)if(t)I=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else I=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)I=n.SHORT;else if(h instanceof Uint32Array)I=n.UNSIGNED_INT;else if(h instanceof Int32Array)I=n.INT;else if(h instanceof Int8Array)I=n.BYTE;else if(h instanceof Uint8Array)I=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)I=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:m,type:I,bytesPerElement:h.BYTES_PER_ELEMENT,version:c.version,size:p}}function s(c,u,h){const d=u.array,p=u._updateRange,m=u.updateRanges;if(n.bindBuffer(h,c),p.count===-1&&m.length===0&&n.bufferSubData(h,0,d),m.length!==0){for(let I=0,v=m.length;I 0 +#endif`,bU=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -312,26 +312,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,bU=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,LU=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,PU=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,UU=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,UU=`#if defined( USE_COLOR_ALPHA ) +#endif`,NU=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,NU=`#if defined( USE_COLOR_ALPHA ) +#endif`,kU=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,kU=`#if defined( USE_COLOR_ALPHA ) +#endif`,FU=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,FU=`#if defined( USE_COLOR_ALPHA ) +#endif`,OU=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -341,7 +341,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,OU=`#define PI 3.141592653589793 +#endif`,GU=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -419,7 +419,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 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`,GU=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,HU=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -512,7 +512,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,HU=`vec3 transformedNormal = objectNormal; +#endif`,zU=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -541,18 +541,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,zU=`#ifdef USE_DISPLACEMENTMAP +#endif`,VU=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,VU=`#ifdef USE_DISPLACEMENTMAP +#endif`,WU=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,WU=`#ifdef USE_EMISSIVEMAP +#endif`,YU=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,YU=`#ifdef USE_EMISSIVEMAP +#endif`,JU=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,JU="gl_FragColor = linearToOutputTexel( gl_FragColor );",XU=` +#endif`,XU="gl_FragColor = linearToOutputTexel( gl_FragColor );",KU=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -580,7 +580,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,KU=`#ifdef USE_ENVMAP +}`,jU=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -609,7 +609,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,jU=`#ifdef USE_ENVMAP +#endif`,qU=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -618,7 +618,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,qU=`#ifdef USE_ENVMAP +#endif`,ZU=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -629,7 +629,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,ZU=`#ifdef USE_ENVMAP +#endif`,$U=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -640,7 +640,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,$U=`#ifdef USE_ENVMAP +#endif`,eN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -657,18 +657,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,eN=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,tN=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,nN=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,iN=`#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`,iN=`#ifdef USE_FOG +#endif`,rN=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -677,7 +677,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,rN=`#ifdef USE_GRADIENTMAP +#endif`,sN=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -689,16 +689,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 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 -}`,sN=`#ifdef USE_LIGHTMAP +}`,oN=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,oN=`#ifdef USE_LIGHTMAP +#endif`,aN=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,aN=`LambertMaterial material; +#endif`,lN=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,lN=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,cN=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -712,7 +712,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,cN=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,uN=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -835,7 +835,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,uN=`#ifdef USE_ENVMAP +#endif`,AN=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -868,8 +868,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,AN=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,fN=`varying vec3 vViewPosition; +#endif`,fN=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,hN=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -881,11 +881,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,hN=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,dN=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,dN=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,pN=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -902,7 +902,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,pN=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,gN=`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 ); @@ -985,7 +985,7 @@ material.roughness = min( material.roughness, 1.0 ); 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`,gN=`struct PhysicalMaterial { +#endif`,mN=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1285,7 +1285,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #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 ); -}`,mN=` +}`,vN=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1400,7 +1400,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,vN=`#if defined( RE_IndirectDiffuse ) +#endif`,yN=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1419,25 +1419,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,yN=`#if defined( RE_IndirectDiffuse ) +#endif`,EN=`#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`,EN=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,CN=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,IN=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,IN=`#ifdef USE_LOGDEPTHBUF +#endif`,BN=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,BN=`#ifdef USE_LOGDEPTHBUF +#endif`,xN=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1447,16 +1447,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,xN=`#ifdef USE_MAP +#endif`,SN=`#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`,SN=`#ifdef USE_MAP +#endif`,wN=`#ifdef USE_MAP uniform sampler2D map; -#endif`,wN=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,_N=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1468,7 +1468,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,_N=`#if defined( USE_POINTS_UV ) +#endif`,MN=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1480,13 +1480,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,MN=`float metalnessFactor = metalness; +#endif`,QN=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,QN=`#ifdef USE_METALNESSMAP +#endif`,RN=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,RN=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,TN=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1495,7 +1495,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,TN=`#ifdef USE_MORPHNORMALS +#endif`,DN=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1507,7 +1507,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,DN=`#ifdef USE_MORPHTARGETS +#endif`,bN=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1527,7 +1527,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,bN=`#ifdef USE_MORPHTARGETS +#endif`,LN=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1545,7 +1545,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,LN=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,PN=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1586,7 +1586,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,PN=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,UN=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1601,25 +1601,25 @@ vec3 nonPerturbedNormal = normal;`,PN=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,UN=`#ifndef FLAT_SHADED +#endif`,NN=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,NN=`#ifndef FLAT_SHADED +#endif`,kN=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,kN=`#ifndef FLAT_SHADED +#endif`,FN=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,FN=`#ifdef USE_NORMALMAP +#endif`,ON=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1641,13 +1641,13 @@ vec3 nonPerturbedNormal = normal;`,PN=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,ON=`#ifdef USE_CLEARCOAT +#endif`,GN=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,GN=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,HN=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,HN=`#ifdef USE_CLEARCOATMAP +#endif`,zN=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1656,18 +1656,18 @@ vec3 nonPerturbedNormal = normal;`,PN=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,zN=`#ifdef USE_IRIDESCENCEMAP +#endif`,VN=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,VN=`#ifdef OPAQUE +#endif`,WN=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,WN=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,YN=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1708,9 +1708,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,YN=`#ifdef PREMULTIPLIED_ALPHA +}`,JN=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,JN=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,XN=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1718,22 +1718,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,KN=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,KN=`#ifdef DITHERING +#endif`,jN=`#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`,jN=`float roughnessFactor = roughness; +#endif`,qN=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,qN=`#ifdef USE_ROUGHNESSMAP +#endif`,ZN=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,ZN=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,$N=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1910,7 +1910,7 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,$N=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,ek=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1948,7 +1948,7 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,ek=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,tk=`#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 @@ -1980,7 +1980,7 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,tk=`float getShadowMask() { +#endif`,nk=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2012,12 +2012,12 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING #endif #endif return shadow; -}`,nk=`#ifdef USE_SKINNING +}`,ik=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,ik=`#ifdef USE_SKINNING +#endif`,rk=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2032,7 +2032,7 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,rk=`#ifdef USE_SKINNING +#endif`,sk=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2040,7 +2040,7 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,sk=`#ifdef USE_SKINNING +#endif`,ok=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2051,17 +2051,17 @@ gl_Position = projectionMatrix * mvPosition;`,XN=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,ok=`float specularStrength; +#endif`,ak=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,ak=`#ifdef USE_SPECULARMAP +#endif`,lk=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,lk=`#if defined( TONE_MAPPING ) +#endif`,ck=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,ck=`#ifndef saturate +#endif`,uk=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,Ak=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,Ak=`#ifdef USE_TRANSMISSION +#endif`,fk=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,fk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,hk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,hk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,dk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,dk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,pk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,pk=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,gk=`#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; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,uk=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const gk=`varying vec2 vUv; +#endif`;const mk=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,mk=`uniform sampler2D t2D; +}`,vk=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,vk=`varying vec3 vWorldDirection; +}`,yk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,yk=`#ifdef ENVMAP_TYPE_CUBE +}`,Ek=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,Ek=`varying vec3 vWorldDirection; +}`,Ck=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,Ck=`uniform samplerCube tCube; +}`,Ik=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,Ik=`#include +}`,Bk=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,Bk=`#if DEPTH_PACKING == 3200 +}`,xk=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,xk=`#define DISTANCE +}`,Sk=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,Sk=`#define DISTANCE +}`,wk=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2683,13 +2683,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,wk=`varying vec3 vWorldDirection; +}`,_k=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,_k=`uniform sampler2D tEquirect; +}`,Mk=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,Mk=`uniform float scale; +}`,Qk=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,Qk=`uniform vec3 diffuse; +}`,Rk=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,Rk=`#include +}`,Tk=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,Tk=`uniform vec3 diffuse; +}`,Dk=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,Dk=`#define LAMBERT +}`,bk=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,bk=`#define LAMBERT +}`,Lk=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,Lk=`#define MATCAP +}`,Pk=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,Pk=`#define MATCAP +}`,Uk=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,Uk=`#define NORMAL +}`,Nk=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,Nk=`#define NORMAL +}`,kk=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3054,7 +3054,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,kk=`#define PHONG +}`,Fk=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3092,7 +3092,7 @@ void main() { #include #include #include -}`,Fk=`#define PHONG +}`,Ok=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3151,7 +3151,7 @@ void main() { #include #include #include -}`,Ok=`#define STANDARD +}`,Gk=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3193,7 +3193,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,Gk=`#define STANDARD +}`,Hk=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3315,7 +3315,7 @@ void main() { #include #include #include -}`,Hk=`#define TOON +}`,zk=`#define TOON varying vec3 vViewPosition; #include #include @@ -3351,7 +3351,7 @@ void main() { #include #include #include -}`,zk=`#define TOON +}`,Vk=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3404,7 +3404,7 @@ void main() { #include #include #include -}`,Vk=`uniform float size; +}`,Wk=`uniform float size; uniform float scale; #include #include @@ -3434,7 +3434,7 @@ void main() { #include #include #include -}`,Wk=`uniform vec3 diffuse; +}`,Yk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3459,7 +3459,7 @@ void main() { #include #include #include -}`,Yk=`#include +}`,Jk=`#include #include #include #include @@ -3481,7 +3481,7 @@ void main() { #include #include #include -}`,Jk=`uniform vec3 color; +}`,Xk=`uniform vec3 color; uniform float opacity; #include #include @@ -3497,7 +3497,7 @@ void main() { #include #include #include -}`,Xk=`uniform float rotation; +}`,Kk=`uniform float rotation; uniform vec2 center; #include #include @@ -3523,7 +3523,7 @@ void main() { #include #include #include -}`,Kk=`uniform vec3 diffuse; +}`,jk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3548,7 +3548,7 @@ void main() { #include #include #include -}`,Ft={alphahash_fragment:mU,alphahash_pars_fragment:vU,alphamap_fragment:yU,alphamap_pars_fragment:EU,alphatest_fragment:CU,alphatest_pars_fragment:IU,aomap_fragment:BU,aomap_pars_fragment:xU,batching_pars_vertex:SU,batching_vertex:wU,begin_vertex:_U,beginnormal_vertex:MU,bsdfs:QU,iridescence_fragment:RU,bumpmap_pars_fragment:TU,clipping_planes_fragment:DU,clipping_planes_pars_fragment:bU,clipping_planes_pars_vertex:LU,clipping_planes_vertex:PU,color_fragment:UU,color_pars_fragment:NU,color_pars_vertex:kU,color_vertex:FU,common:OU,cube_uv_reflection_fragment:GU,defaultnormal_vertex:HU,displacementmap_pars_vertex:zU,displacementmap_vertex:VU,emissivemap_fragment:WU,emissivemap_pars_fragment:YU,colorspace_fragment:JU,colorspace_pars_fragment:XU,envmap_fragment:KU,envmap_common_pars_fragment:jU,envmap_pars_fragment:qU,envmap_pars_vertex:ZU,envmap_physical_pars_fragment:uN,envmap_vertex:$U,fog_vertex:eN,fog_pars_vertex:tN,fog_fragment:nN,fog_pars_fragment:iN,gradientmap_pars_fragment:rN,lightmap_fragment:sN,lightmap_pars_fragment:oN,lights_lambert_fragment:aN,lights_lambert_pars_fragment:lN,lights_pars_begin:cN,lights_toon_fragment:AN,lights_toon_pars_fragment:fN,lights_phong_fragment:hN,lights_phong_pars_fragment:dN,lights_physical_fragment:pN,lights_physical_pars_fragment:gN,lights_fragment_begin:mN,lights_fragment_maps:vN,lights_fragment_end:yN,logdepthbuf_fragment:EN,logdepthbuf_pars_fragment:CN,logdepthbuf_pars_vertex:IN,logdepthbuf_vertex:BN,map_fragment:xN,map_pars_fragment:SN,map_particle_fragment:wN,map_particle_pars_fragment:_N,metalnessmap_fragment:MN,metalnessmap_pars_fragment:QN,morphcolor_vertex:RN,morphnormal_vertex:TN,morphtarget_pars_vertex:DN,morphtarget_vertex:bN,normal_fragment_begin:LN,normal_fragment_maps:PN,normal_pars_fragment:UN,normal_pars_vertex:NN,normal_vertex:kN,normalmap_pars_fragment:FN,clearcoat_normal_fragment_begin:ON,clearcoat_normal_fragment_maps:GN,clearcoat_pars_fragment:HN,iridescence_pars_fragment:zN,opaque_fragment:VN,packing:WN,premultiplied_alpha_fragment:YN,project_vertex:JN,dithering_fragment:XN,dithering_pars_fragment:KN,roughnessmap_fragment:jN,roughnessmap_pars_fragment:qN,shadowmap_pars_fragment:ZN,shadowmap_pars_vertex:$N,shadowmap_vertex:ek,shadowmask_pars_fragment:tk,skinbase_vertex:nk,skinning_pars_vertex:ik,skinning_vertex:rk,skinnormal_vertex:sk,specularmap_fragment:ok,specularmap_pars_fragment:ak,tonemapping_fragment:lk,tonemapping_pars_fragment:ck,transmission_fragment:uk,transmission_pars_fragment:Ak,uv_pars_fragment:fk,uv_pars_vertex:hk,uv_vertex:dk,worldpos_vertex:pk,background_vert:gk,background_frag:mk,backgroundCube_vert:vk,backgroundCube_frag:yk,cube_vert:Ek,cube_frag:Ck,depth_vert:Ik,depth_frag:Bk,distanceRGBA_vert:xk,distanceRGBA_frag:Sk,equirect_vert:wk,equirect_frag:_k,linedashed_vert:Mk,linedashed_frag:Qk,meshbasic_vert:Rk,meshbasic_frag:Tk,meshlambert_vert:Dk,meshlambert_frag:bk,meshmatcap_vert:Lk,meshmatcap_frag:Pk,meshnormal_vert:Uk,meshnormal_frag:Nk,meshphong_vert:kk,meshphong_frag:Fk,meshphysical_vert:Ok,meshphysical_frag:Gk,meshtoon_vert:Hk,meshtoon_frag:zk,points_vert:Vk,points_frag:Wk,shadow_vert:Yk,shadow_frag:Jk,sprite_vert:Xk,sprite_frag:Kk},nt={common:{diffuse:{value:new st(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Pt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Pt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Pt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Pt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Pt},normalScale:{value:new Te(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Pt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Pt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Pt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Pt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new st(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 st(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0},uvTransform:{value:new Pt}},sprite:{diffuse:{value:new st(16777215)},opacity:{value:1},center:{value:new Te(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}}},Ls={basic:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.fog]),vertexShader:Ft.meshbasic_vert,fragmentShader:Ft.meshbasic_frag},lambert:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,nt.lights,{emissive:{value:new st(0)}}]),vertexShader:Ft.meshlambert_vert,fragmentShader:Ft.meshlambert_frag},phong:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,nt.lights,{emissive:{value:new st(0)},specular:{value:new st(1118481)},shininess:{value:30}}]),vertexShader:Ft.meshphong_vert,fragmentShader:Ft.meshphong_frag},standard:{uniforms:sr([nt.common,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.roughnessmap,nt.metalnessmap,nt.fog,nt.lights,{emissive:{value:new st(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ft.meshphysical_vert,fragmentShader:Ft.meshphysical_frag},toon:{uniforms:sr([nt.common,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.gradientmap,nt.fog,nt.lights,{emissive:{value:new st(0)}}]),vertexShader:Ft.meshtoon_vert,fragmentShader:Ft.meshtoon_frag},matcap:{uniforms:sr([nt.common,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,{matcap:{value:null}}]),vertexShader:Ft.meshmatcap_vert,fragmentShader:Ft.meshmatcap_frag},points:{uniforms:sr([nt.points,nt.fog]),vertexShader:Ft.points_vert,fragmentShader:Ft.points_frag},dashed:{uniforms:sr([nt.common,nt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ft.linedashed_vert,fragmentShader:Ft.linedashed_frag},depth:{uniforms:sr([nt.common,nt.displacementmap]),vertexShader:Ft.depth_vert,fragmentShader:Ft.depth_frag},normal:{uniforms:sr([nt.common,nt.bumpmap,nt.normalmap,nt.displacementmap,{opacity:{value:1}}]),vertexShader:Ft.meshnormal_vert,fragmentShader:Ft.meshnormal_frag},sprite:{uniforms:sr([nt.sprite,nt.fog]),vertexShader:Ft.sprite_vert,fragmentShader:Ft.sprite_frag},background:{uniforms:{uvTransform:{value:new Pt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ft.background_vert,fragmentShader:Ft.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ft.backgroundCube_vert,fragmentShader:Ft.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ft.cube_vert,fragmentShader:Ft.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ft.equirect_vert,fragmentShader:Ft.equirect_frag},distanceRGBA:{uniforms:sr([nt.common,nt.displacementmap,{referencePosition:{value:new K},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ft.distanceRGBA_vert,fragmentShader:Ft.distanceRGBA_frag},shadow:{uniforms:sr([nt.lights,nt.fog,{color:{value:new st(0)},opacity:{value:1}}]),vertexShader:Ft.shadow_vert,fragmentShader:Ft.shadow_frag}};Ls.physical={uniforms:sr([Ls.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Pt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Pt},clearcoatNormalScale:{value:new Te(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Pt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Pt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Pt},sheen:{value:0},sheenColor:{value:new st(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Pt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Pt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Pt},transmissionSamplerSize:{value:new Te},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Pt},attenuationDistance:{value:0},attenuationColor:{value:new st(0)},specularColor:{value:new st(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Pt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Pt},anisotropyVector:{value:new Te},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Pt}}]),vertexShader:Ft.meshphysical_vert,fragmentShader:Ft.meshphysical_frag};const xp={r:0,b:0,g:0};function jk(n,e,t,i,r,s,o){const a=new st(0);let l=s===!0?0:1,c,u,h=null,d=0,p=null;function m(v,g){let y=!1,E=g.isScene===!0?g.background:null;E&&E.isTexture&&(E=(g.backgroundBlurriness>0?t:e).get(E)),E===null?I(a,l):E&&E.isColor&&(I(E,1),y=!0);const x=n.xr.getEnvironmentBlendMode();x==="additive"?i.buffers.color.setClear(0,0,0,1,o):x==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),E&&(E.isCubeTexture||E.mapping===AA)?(u===void 0&&(u=new rn(new Bc(1,1,1),new Os({name:"BackgroundCubeMaterial",uniforms:rA(Ls.backgroundCube.uniforms),vertexShader:Ls.backgroundCube.vertexShader,fragmentShader:Ls.backgroundCube.fragmentShader,side:Xi,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(w,_,R){this.matrixWorld.copyPosition(R.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),u.material.uniforms.envMap.value=E,u.material.uniforms.flipEnvMap.value=E.isCubeTexture&&E.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,u.material.toneMapped=dn.getTransfer(E.colorSpace)!==In,(h!==E||d!==E.version||p!==n.toneMapping)&&(u.material.needsUpdate=!0,h=E,d=E.version,p=n.toneMapping),u.layers.enableAll(),v.unshift(u,u.geometry,u.material,0,0,null)):E&&E.isTexture&&(c===void 0&&(c=new rn(new Gs(2,2),new Os({name:"BackgroundMaterial",uniforms:rA(Ls.background.uniforms),vertexShader:Ls.background.vertexShader,fragmentShader:Ls.background.fragmentShader,side:Kr,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=E,c.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,c.material.toneMapped=dn.getTransfer(E.colorSpace)!==In,E.matrixAutoUpdate===!0&&E.updateMatrix(),c.material.uniforms.uvTransform.value.copy(E.matrix),(h!==E||d!==E.version||p!==n.toneMapping)&&(c.material.needsUpdate=!0,h=E,d=E.version,p=n.toneMapping),c.layers.enableAll(),v.unshift(c,c.geometry,c.material,0,0,null))}function I(v,g){v.getRGB(xp,tT(n)),i.buffers.color.setClear(xp.r,xp.g,xp.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(v,g=1){a.set(v),l=g,I(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(v){l=v,I(a,l)},render:m}}function qk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=v(null);let c=l,u=!1;function h(V,ae,ee,he,O){let J=!1;if(o){const Z=I(he,ee,ae);c!==Z&&(c=Z,p(c.object)),J=g(V,he,ee,O),J&&y(V,he,ee,O)}else{const Z=ae.wireframe===!0;(c.geometry!==he.id||c.program!==ee.id||c.wireframe!==Z)&&(c.geometry=he.id,c.program=ee.id,c.wireframe=Z,J=!0)}O!==null&&t.update(O,n.ELEMENT_ARRAY_BUFFER),(J||u)&&(u=!1,D(V,ae,ee,he),O!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(O).buffer))}function d(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function p(V){return i.isWebGL2?n.bindVertexArray(V):s.bindVertexArrayOES(V)}function m(V){return i.isWebGL2?n.deleteVertexArray(V):s.deleteVertexArrayOES(V)}function I(V,ae,ee){const he=ee.wireframe===!0;let O=a[V.id];O===void 0&&(O={},a[V.id]=O);let J=O[ae.id];J===void 0&&(J={},O[ae.id]=J);let Z=J[he];return Z===void 0&&(Z=v(d()),J[he]=Z),Z}function v(V){const ae=[],ee=[],he=[];for(let O=0;O=0){const G=O[ce];let k=J[ce];if(k===void 0&&(ce==="instanceMatrix"&&V.instanceMatrix&&(k=V.instanceMatrix),ce==="instanceColor"&&V.instanceColor&&(k=V.instanceColor)),G===void 0||G.attribute!==k||k&&G.data!==k.data)return!0;Z++}return c.attributesNum!==Z||c.index!==he}function y(V,ae,ee,he){const O={},J=ae.attributes;let Z=0;const W=ee.getAttributes();for(const ce in W)if(W[ce].location>=0){let G=J[ce];G===void 0&&(ce==="instanceMatrix"&&V.instanceMatrix&&(G=V.instanceMatrix),ce==="instanceColor"&&V.instanceColor&&(G=V.instanceColor));const k={};k.attribute=G,G&&G.data&&(k.data=G.data),O[ce]=k,Z++}c.attributes=O,c.attributesNum=Z,c.index=he}function E(){const V=c.newAttributes;for(let ae=0,ee=V.length;ae=0){let Ee=O[W];if(Ee===void 0&&(W==="instanceMatrix"&&V.instanceMatrix&&(Ee=V.instanceMatrix),W==="instanceColor"&&V.instanceColor&&(Ee=V.instanceColor)),Ee!==void 0){const G=Ee.normalized,k=Ee.itemSize,N=t.get(Ee);if(N===void 0)continue;const L=N.buffer,oe=N.type,de=N.bytesPerElement,fe=i.isWebGL2===!0&&(oe===n.INT||oe===n.UNSIGNED_INT||Ee.gpuType===ZC);if(Ee.isInterleavedBufferAttribute){const pe=Ee.data,U=pe.stride,me=Ee.offset;if(pe.isInstancedInterleavedBuffer){for(let se=0;se0&&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"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const c=o||e.has("WEBGL_draw_buffers"),u=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),d=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=n.getParameter(n.MAX_TEXTURE_SIZE),m=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),I=n.getParameter(n.MAX_VERTEX_ATTRIBS),v=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),E=d>0,x=o||e.has("OES_texture_float"),w=E&&x,_=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:c,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:u,maxTextures:h,maxVertexTextures:d,maxTextureSize:p,maxCubemapSize:m,maxAttributes:I,maxVertexUniforms:v,maxVaryings:g,maxFragmentUniforms:y,vertexTextures:E,floatFragmentTextures:x,floatVertexTextures:w,maxSamples:_}}function eF(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new mn,a=new Pt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,d){const p=h.length!==0||d||i!==0||r;return r=d,i=h.length,p},this.beginShadows=function(){s=!0,u(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,d){t=u(h,d,0)},this.setState=function(h,d,p){const m=h.clippingPlanes,I=h.clipIntersection,v=h.clipShadows,g=n.get(h);if(!r||m===null||m.length===0||s&&!v)s?u(null):c();else{const y=s?0:i,E=y*4;let x=g.clippingState||null;l.value=x,x=u(m,d,E,p);for(let w=0;w!==E;++w)x[w]=t[w];g.clippingState=x,this.numIntersection=I?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(h,d,p,m){const I=h!==null?h.length:0;let v=null;if(I!==0){if(v=l.value,m!==!0||v===null){const g=p+I*4,y=d.matrixWorldInverse;a.getNormalMatrix(y),(v===null||v.length0){const c=new iT(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 dA extends Fh{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,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=u*this.view.offsetY,l=a-u*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const Uu=4,rw=[.125,.215,.35,.446,.526,.582],Wl=20,ny=new dA,sw=new st;let iy=null,ry=0,sy=0;const zl=(1+Math.sqrt(5))/2,ou=1/zl,ow=[new K(1,1,1),new K(-1,1,1),new K(1,1,-1),new K(-1,1,-1),new K(0,zl,ou),new K(0,zl,-ou),new K(ou,0,zl),new K(-ou,0,zl),new K(zl,ou,0),new K(-zl,ou,0)];class _1{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){iy=this._renderer.getRenderTarget(),ry=this._renderer.getActiveCubeFace(),sy=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=cw(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=lw(),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?E:0,E,E),u.setRenderTarget(r),I&&u.render(m,a),u.render(e,a)}m.geometry.dispose(),m.material.dispose(),u.toneMapping=d,u.autoClear=h,e.background=v}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Go||e.mapping===ja;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=cw()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=lw());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new rn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Sp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,ny)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rWl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${v} samples when the maximum is set to ${Wl}`);const g=[];let y=0;for(let R=0;RE-Uu?r-E+Uu:0),_=4*(this._cubeSize-x);Sp(t,w,_,3*x,2*x),l.setRenderTarget(t),l.render(h,ny)}}function nF(n){const e=[],t=[],i=[];let r=n;const s=n-Uu+1+rw.length;for(let o=0;on-Uu?l=rw[o-n+Uu-1]:o===0&&(l=0),i.push(l);const c=1/(a-2),u=-c,h=1+c,d=[u,u,h,u,h,h,u,u,h,h,u,h],p=6,m=6,I=3,v=2,g=1,y=new Float32Array(I*m*p),E=new Float32Array(v*m*p),x=new Float32Array(g*m*p);for(let _=0;_2?0:-1,Y=[R,D,0,R+2/3,D,0,R+2/3,D+1,0,R,D,0,R+2/3,D+1,0,R,D+1,0];y.set(Y,I*m*_),E.set(d,v*m*_);const Q=[_,_,_,_,_,_];x.set(Q,g*m*_)}const w=new kt;w.setAttribute("position",new un(y,I)),w.setAttribute("uv",new un(E,v)),w.setAttribute("faceIndex",new un(x,g)),e.push(w),r>Uu&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function aw(n,e,t){const i=new Es(n,e,t);return i.texture.mapping=AA,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Sp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function iF(n,e,t){const i=new Float32Array(Wl),r=new K(0,1,0);return new Os({name:"SphericalGaussianBlur",defines:{n:Wl,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:dI(),fragmentShader:` +}`,Ft={alphahash_fragment:vU,alphahash_pars_fragment:yU,alphamap_fragment:EU,alphamap_pars_fragment:CU,alphatest_fragment:IU,alphatest_pars_fragment:BU,aomap_fragment:xU,aomap_pars_fragment:SU,batching_pars_vertex:wU,batching_vertex:_U,begin_vertex:MU,beginnormal_vertex:QU,bsdfs:RU,iridescence_fragment:TU,bumpmap_pars_fragment:DU,clipping_planes_fragment:bU,clipping_planes_pars_fragment:LU,clipping_planes_pars_vertex:PU,clipping_planes_vertex:UU,color_fragment:NU,color_pars_fragment:kU,color_pars_vertex:FU,color_vertex:OU,common:GU,cube_uv_reflection_fragment:HU,defaultnormal_vertex:zU,displacementmap_pars_vertex:VU,displacementmap_vertex:WU,emissivemap_fragment:YU,emissivemap_pars_fragment:JU,colorspace_fragment:XU,colorspace_pars_fragment:KU,envmap_fragment:jU,envmap_common_pars_fragment:qU,envmap_pars_fragment:ZU,envmap_pars_vertex:$U,envmap_physical_pars_fragment:AN,envmap_vertex:eN,fog_vertex:tN,fog_pars_vertex:nN,fog_fragment:iN,fog_pars_fragment:rN,gradientmap_pars_fragment:sN,lightmap_fragment:oN,lightmap_pars_fragment:aN,lights_lambert_fragment:lN,lights_lambert_pars_fragment:cN,lights_pars_begin:uN,lights_toon_fragment:fN,lights_toon_pars_fragment:hN,lights_phong_fragment:dN,lights_phong_pars_fragment:pN,lights_physical_fragment:gN,lights_physical_pars_fragment:mN,lights_fragment_begin:vN,lights_fragment_maps:yN,lights_fragment_end:EN,logdepthbuf_fragment:CN,logdepthbuf_pars_fragment:IN,logdepthbuf_pars_vertex:BN,logdepthbuf_vertex:xN,map_fragment:SN,map_pars_fragment:wN,map_particle_fragment:_N,map_particle_pars_fragment:MN,metalnessmap_fragment:QN,metalnessmap_pars_fragment:RN,morphcolor_vertex:TN,morphnormal_vertex:DN,morphtarget_pars_vertex:bN,morphtarget_vertex:LN,normal_fragment_begin:PN,normal_fragment_maps:UN,normal_pars_fragment:NN,normal_pars_vertex:kN,normal_vertex:FN,normalmap_pars_fragment:ON,clearcoat_normal_fragment_begin:GN,clearcoat_normal_fragment_maps:HN,clearcoat_pars_fragment:zN,iridescence_pars_fragment:VN,opaque_fragment:WN,packing:YN,premultiplied_alpha_fragment:JN,project_vertex:XN,dithering_fragment:KN,dithering_pars_fragment:jN,roughnessmap_fragment:qN,roughnessmap_pars_fragment:ZN,shadowmap_pars_fragment:$N,shadowmap_pars_vertex:ek,shadowmap_vertex:tk,shadowmask_pars_fragment:nk,skinbase_vertex:ik,skinning_pars_vertex:rk,skinning_vertex:sk,skinnormal_vertex:ok,specularmap_fragment:ak,specularmap_pars_fragment:lk,tonemapping_fragment:ck,tonemapping_pars_fragment:uk,transmission_fragment:Ak,transmission_pars_fragment:fk,uv_pars_fragment:hk,uv_pars_vertex:dk,uv_vertex:pk,worldpos_vertex:gk,background_vert:mk,background_frag:vk,backgroundCube_vert:yk,backgroundCube_frag:Ek,cube_vert:Ck,cube_frag:Ik,depth_vert:Bk,depth_frag:xk,distanceRGBA_vert:Sk,distanceRGBA_frag:wk,equirect_vert:_k,equirect_frag:Mk,linedashed_vert:Qk,linedashed_frag:Rk,meshbasic_vert:Tk,meshbasic_frag:Dk,meshlambert_vert:bk,meshlambert_frag:Lk,meshmatcap_vert:Pk,meshmatcap_frag:Uk,meshnormal_vert:Nk,meshnormal_frag:kk,meshphong_vert:Fk,meshphong_frag:Ok,meshphysical_vert:Gk,meshphysical_frag:Hk,meshtoon_vert:zk,meshtoon_frag:Vk,points_vert:Wk,points_frag:Yk,shadow_vert:Jk,shadow_frag:Xk,sprite_vert:Kk,sprite_frag:jk},nt={common:{diffuse:{value:new st(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Pt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Pt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Pt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Pt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Pt},normalScale:{value:new Te(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Pt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Pt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Pt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Pt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new st(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 st(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0},uvTransform:{value:new Pt}},sprite:{diffuse:{value:new st(16777215)},opacity:{value:1},center:{value:new Te(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}}},Ls={basic:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.fog]),vertexShader:Ft.meshbasic_vert,fragmentShader:Ft.meshbasic_frag},lambert:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,nt.lights,{emissive:{value:new st(0)}}]),vertexShader:Ft.meshlambert_vert,fragmentShader:Ft.meshlambert_frag},phong:{uniforms:sr([nt.common,nt.specularmap,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,nt.lights,{emissive:{value:new st(0)},specular:{value:new st(1118481)},shininess:{value:30}}]),vertexShader:Ft.meshphong_vert,fragmentShader:Ft.meshphong_frag},standard:{uniforms:sr([nt.common,nt.envmap,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.roughnessmap,nt.metalnessmap,nt.fog,nt.lights,{emissive:{value:new st(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ft.meshphysical_vert,fragmentShader:Ft.meshphysical_frag},toon:{uniforms:sr([nt.common,nt.aomap,nt.lightmap,nt.emissivemap,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.gradientmap,nt.fog,nt.lights,{emissive:{value:new st(0)}}]),vertexShader:Ft.meshtoon_vert,fragmentShader:Ft.meshtoon_frag},matcap:{uniforms:sr([nt.common,nt.bumpmap,nt.normalmap,nt.displacementmap,nt.fog,{matcap:{value:null}}]),vertexShader:Ft.meshmatcap_vert,fragmentShader:Ft.meshmatcap_frag},points:{uniforms:sr([nt.points,nt.fog]),vertexShader:Ft.points_vert,fragmentShader:Ft.points_frag},dashed:{uniforms:sr([nt.common,nt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ft.linedashed_vert,fragmentShader:Ft.linedashed_frag},depth:{uniforms:sr([nt.common,nt.displacementmap]),vertexShader:Ft.depth_vert,fragmentShader:Ft.depth_frag},normal:{uniforms:sr([nt.common,nt.bumpmap,nt.normalmap,nt.displacementmap,{opacity:{value:1}}]),vertexShader:Ft.meshnormal_vert,fragmentShader:Ft.meshnormal_frag},sprite:{uniforms:sr([nt.sprite,nt.fog]),vertexShader:Ft.sprite_vert,fragmentShader:Ft.sprite_frag},background:{uniforms:{uvTransform:{value:new Pt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ft.background_vert,fragmentShader:Ft.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ft.backgroundCube_vert,fragmentShader:Ft.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ft.cube_vert,fragmentShader:Ft.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ft.equirect_vert,fragmentShader:Ft.equirect_frag},distanceRGBA:{uniforms:sr([nt.common,nt.displacementmap,{referencePosition:{value:new K},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ft.distanceRGBA_vert,fragmentShader:Ft.distanceRGBA_frag},shadow:{uniforms:sr([nt.lights,nt.fog,{color:{value:new st(0)},opacity:{value:1}}]),vertexShader:Ft.shadow_vert,fragmentShader:Ft.shadow_frag}};Ls.physical={uniforms:sr([Ls.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Pt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Pt},clearcoatNormalScale:{value:new Te(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Pt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Pt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Pt},sheen:{value:0},sheenColor:{value:new st(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Pt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Pt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Pt},transmissionSamplerSize:{value:new Te},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Pt},attenuationDistance:{value:0},attenuationColor:{value:new st(0)},specularColor:{value:new st(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Pt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Pt},anisotropyVector:{value:new Te},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Pt}}]),vertexShader:Ft.meshphysical_vert,fragmentShader:Ft.meshphysical_frag};const xp={r:0,b:0,g:0};function qk(n,e,t,i,r,s,o){const a=new st(0);let l=s===!0?0:1,c,u,h=null,d=0,p=null;function m(v,g){let y=!1,E=g.isScene===!0?g.background:null;E&&E.isTexture&&(E=(g.backgroundBlurriness>0?t:e).get(E)),E===null?I(a,l):E&&E.isColor&&(I(E,1),y=!0);const x=n.xr.getEnvironmentBlendMode();x==="additive"?i.buffers.color.setClear(0,0,0,1,o):x==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),E&&(E.isCubeTexture||E.mapping===AA)?(u===void 0&&(u=new tn(new Bc(1,1,1),new Os({name:"BackgroundCubeMaterial",uniforms:rA(Ls.backgroundCube.uniforms),vertexShader:Ls.backgroundCube.vertexShader,fragmentShader:Ls.backgroundCube.fragmentShader,side:Xi,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(w,_,R){this.matrixWorld.copyPosition(R.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),u.material.uniforms.envMap.value=E,u.material.uniforms.flipEnvMap.value=E.isCubeTexture&&E.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,u.material.toneMapped=dn.getTransfer(E.colorSpace)!==In,(h!==E||d!==E.version||p!==n.toneMapping)&&(u.material.needsUpdate=!0,h=E,d=E.version,p=n.toneMapping),u.layers.enableAll(),v.unshift(u,u.geometry,u.material,0,0,null)):E&&E.isTexture&&(c===void 0&&(c=new tn(new Gs(2,2),new Os({name:"BackgroundMaterial",uniforms:rA(Ls.background.uniforms),vertexShader:Ls.background.vertexShader,fragmentShader:Ls.background.fragmentShader,side:Kr,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=E,c.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,c.material.toneMapped=dn.getTransfer(E.colorSpace)!==In,E.matrixAutoUpdate===!0&&E.updateMatrix(),c.material.uniforms.uvTransform.value.copy(E.matrix),(h!==E||d!==E.version||p!==n.toneMapping)&&(c.material.needsUpdate=!0,h=E,d=E.version,p=n.toneMapping),c.layers.enableAll(),v.unshift(c,c.geometry,c.material,0,0,null))}function I(v,g){v.getRGB(xp,nT(n)),i.buffers.color.setClear(xp.r,xp.g,xp.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(v,g=1){a.set(v),l=g,I(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(v){l=v,I(a,l)},render:m}}function Zk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=v(null);let c=l,u=!1;function h(V,oe,ee,he,O){let J=!1;if(o){const q=I(he,ee,oe);c!==q&&(c=q,p(c.object)),J=g(V,he,ee,O),J&&y(V,he,ee,O)}else{const q=oe.wireframe===!0;(c.geometry!==he.id||c.program!==ee.id||c.wireframe!==q)&&(c.geometry=he.id,c.program=ee.id,c.wireframe=q,J=!0)}O!==null&&t.update(O,n.ELEMENT_ARRAY_BUFFER),(J||u)&&(u=!1,D(V,oe,ee,he),O!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(O).buffer))}function d(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function p(V){return i.isWebGL2?n.bindVertexArray(V):s.bindVertexArrayOES(V)}function m(V){return i.isWebGL2?n.deleteVertexArray(V):s.deleteVertexArrayOES(V)}function I(V,oe,ee){const he=ee.wireframe===!0;let O=a[V.id];O===void 0&&(O={},a[V.id]=O);let J=O[oe.id];J===void 0&&(J={},O[oe.id]=J);let q=J[he];return q===void 0&&(q=v(d()),J[he]=q),q}function v(V){const oe=[],ee=[],he=[];for(let O=0;O=0){const G=O[ce];let k=J[ce];if(k===void 0&&(ce==="instanceMatrix"&&V.instanceMatrix&&(k=V.instanceMatrix),ce==="instanceColor"&&V.instanceColor&&(k=V.instanceColor)),G===void 0||G.attribute!==k||k&&G.data!==k.data)return!0;q++}return c.attributesNum!==q||c.index!==he}function y(V,oe,ee,he){const O={},J=oe.attributes;let q=0;const W=ee.getAttributes();for(const ce in W)if(W[ce].location>=0){let G=J[ce];G===void 0&&(ce==="instanceMatrix"&&V.instanceMatrix&&(G=V.instanceMatrix),ce==="instanceColor"&&V.instanceColor&&(G=V.instanceColor));const k={};k.attribute=G,G&&G.data&&(k.data=G.data),O[ce]=k,q++}c.attributes=O,c.attributesNum=q,c.index=he}function E(){const V=c.newAttributes;for(let oe=0,ee=V.length;oe=0){let Ee=O[W];if(Ee===void 0&&(W==="instanceMatrix"&&V.instanceMatrix&&(Ee=V.instanceMatrix),W==="instanceColor"&&V.instanceColor&&(Ee=V.instanceColor)),Ee!==void 0){const G=Ee.normalized,k=Ee.itemSize,N=t.get(Ee);if(N===void 0)continue;const L=N.buffer,ae=N.type,de=N.bytesPerElement,fe=i.isWebGL2===!0&&(ae===n.INT||ae===n.UNSIGNED_INT||Ee.gpuType===ZC);if(Ee.isInterleavedBufferAttribute){const pe=Ee.data,U=pe.stride,me=Ee.offset;if(pe.isInstancedInterleavedBuffer){for(let re=0;re0&&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"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const c=o||e.has("WEBGL_draw_buffers"),u=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),d=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=n.getParameter(n.MAX_TEXTURE_SIZE),m=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),I=n.getParameter(n.MAX_VERTEX_ATTRIBS),v=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),E=d>0,x=o||e.has("OES_texture_float"),w=E&&x,_=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:c,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:u,maxTextures:h,maxVertexTextures:d,maxTextureSize:p,maxCubemapSize:m,maxAttributes:I,maxVertexUniforms:v,maxVaryings:g,maxFragmentUniforms:y,vertexTextures:E,floatFragmentTextures:x,floatVertexTextures:w,maxSamples:_}}function tF(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new mn,a=new Pt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,d){const p=h.length!==0||d||i!==0||r;return r=d,i=h.length,p},this.beginShadows=function(){s=!0,u(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,d){t=u(h,d,0)},this.setState=function(h,d,p){const m=h.clippingPlanes,I=h.clipIntersection,v=h.clipShadows,g=n.get(h);if(!r||m===null||m.length===0||s&&!v)s?u(null):c();else{const y=s?0:i,E=y*4;let x=g.clippingState||null;l.value=x,x=u(m,d,E,p);for(let w=0;w!==E;++w)x[w]=t[w];g.clippingState=x,this.numIntersection=I?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function u(h,d,p,m){const I=h!==null?h.length:0;let v=null;if(I!==0){if(v=l.value,m!==!0||v===null){const g=p+I*4,y=d.matrixWorldInverse;a.getNormalMatrix(y),(v===null||v.length0){const c=new rT(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 dA extends Fh{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,u=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=u*this.view.offsetY,l=a-u*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const Uu=4,sw=[.125,.215,.35,.446,.526,.582],Wl=20,ny=new dA,ow=new st;let iy=null,ry=0,sy=0;const zl=(1+Math.sqrt(5))/2,ou=1/zl,aw=[new K(1,1,1),new K(-1,1,1),new K(1,1,-1),new K(-1,1,-1),new K(0,zl,ou),new K(0,zl,-ou),new K(ou,0,zl),new K(-ou,0,zl),new K(zl,ou,0),new K(-zl,ou,0)];class _1{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){iy=this._renderer.getRenderTarget(),ry=this._renderer.getActiveCubeFace(),sy=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=uw(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=cw(),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?E:0,E,E),u.setRenderTarget(r),I&&u.render(m,a),u.render(e,a)}m.geometry.dispose(),m.material.dispose(),u.toneMapping=d,u.autoClear=h,e.background=v}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Go||e.mapping===ja;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=uw()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=cw());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new tn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Sp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,ny)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rWl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${v} samples when the maximum is set to ${Wl}`);const g=[];let y=0;for(let R=0;RE-Uu?r-E+Uu:0),_=4*(this._cubeSize-x);Sp(t,w,_,3*x,2*x),l.setRenderTarget(t),l.render(h,ny)}}function iF(n){const e=[],t=[],i=[];let r=n;const s=n-Uu+1+sw.length;for(let o=0;on-Uu?l=sw[o-n+Uu-1]:o===0&&(l=0),i.push(l);const c=1/(a-2),u=-c,h=1+c,d=[u,u,h,u,h,h,u,u,h,h,u,h],p=6,m=6,I=3,v=2,g=1,y=new Float32Array(I*m*p),E=new Float32Array(v*m*p),x=new Float32Array(g*m*p);for(let _=0;_2?0:-1,Y=[R,D,0,R+2/3,D,0,R+2/3,D+1,0,R,D,0,R+2/3,D+1,0,R,D+1,0];y.set(Y,I*m*_),E.set(d,v*m*_);const M=[_,_,_,_,_,_];x.set(M,g*m*_)}const w=new kt;w.setAttribute("position",new un(y,I)),w.setAttribute("uv",new un(E,v)),w.setAttribute("faceIndex",new un(x,g)),e.push(w),r>Uu&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function lw(n,e,t){const i=new Es(n,e,t);return i.texture.mapping=AA,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Sp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function rF(n,e,t){const i=new Float32Array(Wl),r=new K(0,1,0);return new Os({name:"SphericalGaussianBlur",defines:{n:Wl,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:dI(),fragmentShader:` precision mediump float; precision mediump int; @@ -3608,7 +3608,7 @@ void main() { } } - `,blending:Po,depthTest:!1,depthWrite:!1})}function lw(){return new Os({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:dI(),fragmentShader:` + `,blending:Po,depthTest:!1,depthWrite:!1})}function cw(){return new Os({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:dI(),fragmentShader:` precision mediump float; precision mediump int; @@ -3627,7 +3627,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:Po,depthTest:!1,depthWrite:!1})}function cw(){return new Os({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:dI(),fragmentShader:` + `,blending:Po,depthTest:!1,depthWrite:!1})}function uw(){return new Os({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:dI(),fragmentShader:` precision mediump float; precision mediump int; @@ -3698,16 +3698,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function rF(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,c=l===ah||l===lh,u=l===Go||l===ja;if(c||u)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let h=e.get(a);return t===null&&(t=new _1(n)),h=c?t.fromEquirectangular(a,h):t.fromCubemap(a,h),e.set(a,h),h.texture}else{if(e.has(a))return e.get(a).texture;{const h=a.image;if(c&&h&&h.height>0||u&&h&&r(h)){t===null&&(t=new _1(n));const d=c?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,d),a.addEventListener("dispose",s),d.texture}else return null}}}return a}function r(a){let l=0;const c=6;for(let u=0;ue.maxTextureSize&&(Q=Math.ceil(Y/e.maxTextureSize),Y=e.maxTextureSize);const P=new Float32Array(Y*Q*4*m),z=new km(P,Y,Q,m);z.type=ds,z.needsUpdate=!0;const ne=D*4;for(let ae=0;ae0)return n;const r=e*t;let s=uw[r];if(s===void 0&&(s=new Float32Array(r),uw[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 hi(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||u&&h&&r(h)){t===null&&(t=new _1(n));const d=c?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,d),a.addEventListener("dispose",s),d.texture}else return null}}}return a}function r(a){let l=0;const c=6;for(let u=0;ue.maxTextureSize&&(M=Math.ceil(Y/e.maxTextureSize),Y=e.maxTextureSize);const P=new Float32Array(Y*M*4*m),z=new km(P,Y,M,m);z.type=ds,z.needsUpdate=!0;const se=D*4;for(let oe=0;oe0)return n;const r=e*t;let s=Aw[r];if(s===void 0&&(s=new Float32Array(r),Aw[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 hi(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function o5(n){const e=dn.getPrimaries(dn.workingColorSpace),t=dn.getPrimaries(n);let i;switch(e===t?i="":e===gh&&t===ph?i="LinearDisplayP3ToLinearSRGB":e===ph&&t===gh&&(i="LinearSRGBToLinearDisplayP3"),n){case ao:case kh:return[i,"LinearTransferOETF"];case Yn:case Nm:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function mw(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()+` +`)}function a5(n){const e=dn.getPrimaries(dn.workingColorSpace),t=dn.getPrimaries(n);let i;switch(e===t?i="":e===gh&&t===ph?i="LinearDisplayP3ToLinearSRGB":e===ph&&t===gh&&(i="LinearSRGBToLinearDisplayP3"),n){case ao:case kh:return[i,"LinearTransferOETF"];case Yn:case Nm:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function vw(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+` -`+s5(n.getShaderSource(e),o)}else return r}function a5(n,e){const t=o5(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function l5(n,e){let t;switch(e){case xR:t="Linear";break;case SR:t="Reinhard";break;case wR:t="OptimizedCineon";break;case qC:t="ACESFilmic";break;case MR:t="AgX";break;case _R:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function c5(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Nu).join(` -`)}function u5(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Nu).join(` -`)}function A5(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function f5(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function M1(n){return n.replace(h5,p5)}const d5=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function p5(n,e){let t=Ft[e];if(t===void 0){const i=d5.get(e);if(i!==void 0)t=Ft[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 M1(t)}const g5=/#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 Ew(n){return n.replace(g5,m5)}function m5(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function M1(n){return n.replace(d5,g5)}const p5=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function g5(n,e){let t=Ft[e];if(t===void 0){const i=p5.get(e);if(i!==void 0)t=Ft[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 M1(t)}const m5=/#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 Cw(n){return n.replace(m5,v5)}function v5(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(g+=` `),y=[p,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I].filter(Nu).join(` `),y.length>0&&(y+=` -`)):(g=[Cw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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",` +`)):(g=[Iw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(Nu).join(` -`),y=[p,Cw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+h:"",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.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==so?"#define TONE_MAPPING":"",t.toneMapping!==so?Ft.tonemapping_pars_fragment:"",t.toneMapping!==so?l5("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Ft.colorspace_pars_fragment,a5("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),y=[p,Iw(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+h:"",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.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==so?"#define TONE_MAPPING":"",t.toneMapping!==so?Ft.tonemapping_pars_fragment:"",t.toneMapping!==so?c5("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Ft.colorspace_pars_fragment,l5("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(Nu).join(` -`)),o=M1(o),o=vw(o,t),o=yw(o,t),a=M1(a),a=vw(a,t),a=yw(a,t),o=Ew(o),a=Ew(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(E=`#version 300 es +`)),o=M1(o),o=yw(o,t),o=Ew(o,t),a=M1(a),a=yw(a,t),a=Ew(a,t),o=Cw(o),a=Cw(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(E=`#version 300 es `,g=[m,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+g,y=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===S1?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===S1?"":"#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(` `)+` -`+y);const x=E+g+o,w=E+y+a,_=gw(r,r.VERTEX_SHADER,x),R=gw(r,r.FRAGMENT_SHADER,w);r.attachShader(v,_),r.attachShader(v,R),t.index0AttributeName!==void 0?r.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v);function D(z){if(n.debug.checkShaderErrors){const ne=r.getProgramInfoLog(v).trim(),V=r.getShaderInfoLog(_).trim(),ae=r.getShaderInfoLog(R).trim();let ee=!0,he=!0;if(r.getProgramParameter(v,r.LINK_STATUS)===!1)if(ee=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,v,_,R);else{const O=mw(r,_,"vertex"),J=mw(r,R,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(v,r.VALIDATE_STATUS)+` +`+y);const x=E+g+o,w=E+y+a,_=mw(r,r.VERTEX_SHADER,x),R=mw(r,r.FRAGMENT_SHADER,w);r.attachShader(v,_),r.attachShader(v,R),t.index0AttributeName!==void 0?r.bindAttribLocation(v,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v);function D(z){if(n.debug.checkShaderErrors){const se=r.getProgramInfoLog(v).trim(),V=r.getShaderInfoLog(_).trim(),oe=r.getShaderInfoLog(R).trim();let ee=!0,he=!0;if(r.getProgramParameter(v,r.LINK_STATUS)===!1)if(ee=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,v,_,R);else{const O=vw(r,_,"vertex"),J=vw(r,R,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(v,r.VALIDATE_STATUS)+` Material Name: `+z.name+` Material Type: `+z.type+` -Program Info Log: `+ne+` +Program Info Log: `+se+` `+O+` -`+J)}else ne!==""?console.warn("THREE.WebGLProgram: Program Info Log:",ne):(V===""||ae==="")&&(he=!1);he&&(z.diagnostics={runnable:ee,programLog:ne,vertexShader:{log:V,prefix:g},fragmentShader:{log:ae,prefix:y}})}r.deleteShader(_),r.deleteShader(R),Y=new Rg(r,v),Q=f5(r,v)}let Y;this.getUniforms=function(){return Y===void 0&&D(this),Y};let Q;this.getAttributes=function(){return Q===void 0&&D(this),Q};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(v,i5)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=r5++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=_,this.fragmentShader=R,this}let x5=0;class S5{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 w5(e),t.set(e,i)),i}}class w5{constructor(e){this.id=x5++,this.code=e,this.usedTimes=0}}function _5(n,e,t,i,r,s,o){const a=new rc,l=new S5,c=new Set,u=[],h=r.isWebGL2,d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const I={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function v(Q){return c.add(Q),Q===0?"uv":`uv${Q}`}function g(Q,P,z,ne,V){const ae=ne.fog,ee=V.geometry,he=Q.isMeshStandardMaterial?ne.environment:null,O=(Q.isMeshStandardMaterial?t:e).get(Q.envMap||he),J=O&&O.mapping===AA?O.image.height:null,Z=I[Q.type];Q.precision!==null&&(m=r.getMaxPrecision(Q.precision),m!==Q.precision&&console.warn("THREE.WebGLProgram.getParameters:",Q.precision,"not supported, using",m,"instead."));const W=ee.morphAttributes.position||ee.morphAttributes.normal||ee.morphAttributes.color,ce=W!==void 0?W.length:0;let Ee=0;ee.morphAttributes.position!==void 0&&(Ee=1),ee.morphAttributes.normal!==void 0&&(Ee=2),ee.morphAttributes.color!==void 0&&(Ee=3);let G,k,N,L;if(Z){const Qt=Ls[Z];G=Qt.vertexShader,k=Qt.fragmentShader}else G=Q.vertexShader,k=Q.fragmentShader,l.update(Q),N=l.getVertexShaderID(Q),L=l.getFragmentShaderID(Q);const oe=n.getRenderTarget(),de=V.isInstancedMesh===!0,fe=V.isBatchedMesh===!0,pe=!!Q.map,U=!!Q.matcap,me=!!O,se=!!Q.aoMap,le=!!Q.lightMap,ue=!!Q.bumpMap,we=!!Q.normalMap,X=!!Q.displacementMap,M=!!Q.emissiveMap,b=!!Q.metalnessMap,q=!!Q.roughnessMap,Se=Q.anisotropy>0,Be=Q.clearcoat>0,ye=Q.iridescence>0,Le=Q.sheen>0,Fe=Q.transmission>0,ze=Se&&!!Q.anisotropyMap,Ne=Be&&!!Q.clearcoatMap,je=Be&&!!Q.clearcoatNormalMap,De=Be&&!!Q.clearcoatRoughnessMap,yt=ye&&!!Q.iridescenceMap,Ze=ye&&!!Q.iridescenceThicknessMap,it=Le&&!!Q.sheenColorMap,Ye=Le&&!!Q.sheenRoughnessMap,ke=!!Q.specularMap,et=!!Q.specularColorMap,mt=!!Q.specularIntensityMap,Bt=Fe&&!!Q.transmissionMap,tt=Fe&&!!Q.thicknessMap,Et=!!Q.gradientMap,re=!!Q.alphaMap,Je=Q.alphaTest>0,Xe=!!Q.alphaHash,ot=!!Q.extensions;let ut=so;Q.toneMapped&&(oe===null||oe.isXRRenderTarget===!0)&&(ut=n.toneMapping);const Lt={isWebGL2:h,shaderID:Z,shaderType:Q.type,shaderName:Q.name,vertexShader:G,fragmentShader:k,defines:Q.defines,customVertexShaderID:N,customFragmentShaderID:L,isRawShaderMaterial:Q.isRawShaderMaterial===!0,glslVersion:Q.glslVersion,precision:m,batching:fe,instancing:de,instancingColor:de&&V.instanceColor!==null,supportsVertexTextures:p,outputColorSpace:oe===null?n.outputColorSpace:oe.isXRRenderTarget===!0?oe.texture.colorSpace:ao,alphaToCoverage:!!Q.alphaToCoverage,map:pe,matcap:U,envMap:me,envMapMode:me&&O.mapping,envMapCubeUVHeight:J,aoMap:se,lightMap:le,bumpMap:ue,normalMap:we,displacementMap:p&&X,emissiveMap:M,normalMapObjectSpace:we&&Q.normalMapType===HR,normalMapTangentSpace:we&&Q.normalMapType===tl,metalnessMap:b,roughnessMap:q,anisotropy:Se,anisotropyMap:ze,clearcoat:Be,clearcoatMap:Ne,clearcoatNormalMap:je,clearcoatRoughnessMap:De,iridescence:ye,iridescenceMap:yt,iridescenceThicknessMap:Ze,sheen:Le,sheenColorMap:it,sheenRoughnessMap:Ye,specularMap:ke,specularColorMap:et,specularIntensityMap:mt,transmission:Fe,transmissionMap:Bt,thicknessMap:tt,gradientMap:Et,opaque:Q.transparent===!1&&Q.blending===Uo&&Q.alphaToCoverage===!1,alphaMap:re,alphaTest:Je,alphaHash:Xe,combine:Q.combine,mapUv:pe&&v(Q.map.channel),aoMapUv:se&&v(Q.aoMap.channel),lightMapUv:le&&v(Q.lightMap.channel),bumpMapUv:ue&&v(Q.bumpMap.channel),normalMapUv:we&&v(Q.normalMap.channel),displacementMapUv:X&&v(Q.displacementMap.channel),emissiveMapUv:M&&v(Q.emissiveMap.channel),metalnessMapUv:b&&v(Q.metalnessMap.channel),roughnessMapUv:q&&v(Q.roughnessMap.channel),anisotropyMapUv:ze&&v(Q.anisotropyMap.channel),clearcoatMapUv:Ne&&v(Q.clearcoatMap.channel),clearcoatNormalMapUv:je&&v(Q.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:De&&v(Q.clearcoatRoughnessMap.channel),iridescenceMapUv:yt&&v(Q.iridescenceMap.channel),iridescenceThicknessMapUv:Ze&&v(Q.iridescenceThicknessMap.channel),sheenColorMapUv:it&&v(Q.sheenColorMap.channel),sheenRoughnessMapUv:Ye&&v(Q.sheenRoughnessMap.channel),specularMapUv:ke&&v(Q.specularMap.channel),specularColorMapUv:et&&v(Q.specularColorMap.channel),specularIntensityMapUv:mt&&v(Q.specularIntensityMap.channel),transmissionMapUv:Bt&&v(Q.transmissionMap.channel),thicknessMapUv:tt&&v(Q.thicknessMap.channel),alphaMapUv:re&&v(Q.alphaMap.channel),vertexTangents:!!ee.attributes.tangent&&(we||Se),vertexColors:Q.vertexColors,vertexAlphas:Q.vertexColors===!0&&!!ee.attributes.color&&ee.attributes.color.itemSize===4,pointsUvs:V.isPoints===!0&&!!ee.attributes.uv&&(pe||re),fog:!!ae,useFog:Q.fog===!0,fogExp2:!!ae&&ae.isFogExp2,flatShading:Q.flatShading===!0,sizeAttenuation:Q.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:V.isSkinnedMesh===!0,morphTargets:ee.morphAttributes.position!==void 0,morphNormals:ee.morphAttributes.normal!==void 0,morphColors:ee.morphAttributes.color!==void 0,morphTargetsCount:ce,morphTextureStride:Ee,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:Q.dithering,shadowMapEnabled:n.shadowMap.enabled&&z.length>0,shadowMapType:n.shadowMap.type,toneMapping:ut,useLegacyLights:n._useLegacyLights,decodeVideoTexture:pe&&Q.map.isVideoTexture===!0&&dn.getTransfer(Q.map.colorSpace)===In,premultipliedAlpha:Q.premultipliedAlpha,doubleSided:Q.side===hs,flipSided:Q.side===Xi,useDepthPacking:Q.depthPacking>=0,depthPacking:Q.depthPacking||0,index0AttributeName:Q.index0AttributeName,extensionDerivatives:ot&&Q.extensions.derivatives===!0,extensionFragDepth:ot&&Q.extensions.fragDepth===!0,extensionDrawBuffers:ot&&Q.extensions.drawBuffers===!0,extensionShaderTextureLOD:ot&&Q.extensions.shaderTextureLOD===!0,extensionClipCullDistance:ot&&Q.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:ot&&Q.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:Q.customProgramCacheKey()};return Lt.vertexUv1s=c.has(1),Lt.vertexUv2s=c.has(2),Lt.vertexUv3s=c.has(3),c.clear(),Lt}function y(Q){const P=[];if(Q.shaderID?P.push(Q.shaderID):(P.push(Q.customVertexShaderID),P.push(Q.customFragmentShaderID)),Q.defines!==void 0)for(const z in Q.defines)P.push(z),P.push(Q.defines[z]);return Q.isRawShaderMaterial===!1&&(E(P,Q),x(P,Q),P.push(n.outputColorSpace)),P.push(Q.customProgramCacheKey),P.join()}function E(Q,P){Q.push(P.precision),Q.push(P.outputColorSpace),Q.push(P.envMapMode),Q.push(P.envMapCubeUVHeight),Q.push(P.mapUv),Q.push(P.alphaMapUv),Q.push(P.lightMapUv),Q.push(P.aoMapUv),Q.push(P.bumpMapUv),Q.push(P.normalMapUv),Q.push(P.displacementMapUv),Q.push(P.emissiveMapUv),Q.push(P.metalnessMapUv),Q.push(P.roughnessMapUv),Q.push(P.anisotropyMapUv),Q.push(P.clearcoatMapUv),Q.push(P.clearcoatNormalMapUv),Q.push(P.clearcoatRoughnessMapUv),Q.push(P.iridescenceMapUv),Q.push(P.iridescenceThicknessMapUv),Q.push(P.sheenColorMapUv),Q.push(P.sheenRoughnessMapUv),Q.push(P.specularMapUv),Q.push(P.specularColorMapUv),Q.push(P.specularIntensityMapUv),Q.push(P.transmissionMapUv),Q.push(P.thicknessMapUv),Q.push(P.combine),Q.push(P.fogExp2),Q.push(P.sizeAttenuation),Q.push(P.morphTargetsCount),Q.push(P.morphAttributeCount),Q.push(P.numDirLights),Q.push(P.numPointLights),Q.push(P.numSpotLights),Q.push(P.numSpotLightMaps),Q.push(P.numHemiLights),Q.push(P.numRectAreaLights),Q.push(P.numDirLightShadows),Q.push(P.numPointLightShadows),Q.push(P.numSpotLightShadows),Q.push(P.numSpotLightShadowsWithMaps),Q.push(P.numLightProbes),Q.push(P.shadowMapType),Q.push(P.toneMapping),Q.push(P.numClippingPlanes),Q.push(P.numClipIntersection),Q.push(P.depthPacking)}function x(Q,P){a.disableAll(),P.isWebGL2&&a.enable(0),P.supportsVertexTextures&&a.enable(1),P.instancing&&a.enable(2),P.instancingColor&&a.enable(3),P.matcap&&a.enable(4),P.envMap&&a.enable(5),P.normalMapObjectSpace&&a.enable(6),P.normalMapTangentSpace&&a.enable(7),P.clearcoat&&a.enable(8),P.iridescence&&a.enable(9),P.alphaTest&&a.enable(10),P.vertexColors&&a.enable(11),P.vertexAlphas&&a.enable(12),P.vertexUv1s&&a.enable(13),P.vertexUv2s&&a.enable(14),P.vertexUv3s&&a.enable(15),P.vertexTangents&&a.enable(16),P.anisotropy&&a.enable(17),P.alphaHash&&a.enable(18),P.batching&&a.enable(19),Q.push(a.mask),a.disableAll(),P.fog&&a.enable(0),P.useFog&&a.enable(1),P.flatShading&&a.enable(2),P.logarithmicDepthBuffer&&a.enable(3),P.skinning&&a.enable(4),P.morphTargets&&a.enable(5),P.morphNormals&&a.enable(6),P.morphColors&&a.enable(7),P.premultipliedAlpha&&a.enable(8),P.shadowMapEnabled&&a.enable(9),P.useLegacyLights&&a.enable(10),P.doubleSided&&a.enable(11),P.flipSided&&a.enable(12),P.useDepthPacking&&a.enable(13),P.dithering&&a.enable(14),P.transmission&&a.enable(15),P.sheen&&a.enable(16),P.opaque&&a.enable(17),P.pointsUvs&&a.enable(18),P.decodeVideoTexture&&a.enable(19),P.alphaToCoverage&&a.enable(20),Q.push(a.mask)}function w(Q){const P=I[Q.type];let z;if(P){const ne=Ls[P];z=hI.clone(ne.uniforms)}else z=Q.uniforms;return z}function _(Q,P){let z;for(let ne=0,V=u.length;ne0?i.push(g):p.transparent===!0?r.push(g):t.push(g)}function l(h,d,p,m,I,v){const g=o(h,d,p,m,I,v);p.transmission>0?i.unshift(g):p.transparent===!0?r.unshift(g):t.unshift(g)}function c(h,d){t.length>1&&t.sort(h||Q5),i.length>1&&i.sort(d||Iw),r.length>1&&r.sort(d||Iw)}function u(){for(let h=e,d=n.length;h=s.length?(o=new Bw,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function T5(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new K,color:new st};break;case"SpotLight":t={position:new K,direction:new K,color:new st,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new K,color:new st,distance:0,decay:0};break;case"HemisphereLight":t={direction:new K,skyColor:new st,groundColor:new st};break;case"RectAreaLight":t={color:new st,position:new K,halfWidth:new K,halfHeight:new K};break}return n[e.id]=t,t}}}function D5(){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 Te};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let b5=0;function L5(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function P5(n,e){const t=new T5,i=D5(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)r.probe.push(new K);const s=new K,o=new _t,a=new _t;function l(u,h){let d=0,p=0,m=0;for(let z=0;z<9;z++)r.probe[z].set(0,0,0);let I=0,v=0,g=0,y=0,E=0,x=0,w=0,_=0,R=0,D=0,Y=0;u.sort(L5);const Q=h===!0?Math.PI:1;for(let z=0,ne=u.length;z0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_FLOAT_1,r.rectAreaLTC2=nt.LTC_FLOAT_2):(r.rectAreaLTC1=nt.LTC_HALF_1,r.rectAreaLTC2=nt.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_FLOAT_1,r.rectAreaLTC2=nt.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_HALF_1,r.rectAreaLTC2=nt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=d,r.ambient[1]=p,r.ambient[2]=m;const P=r.hash;(P.directionalLength!==I||P.pointLength!==v||P.spotLength!==g||P.rectAreaLength!==y||P.hemiLength!==E||P.numDirectionalShadows!==x||P.numPointShadows!==w||P.numSpotShadows!==_||P.numSpotMaps!==R||P.numLightProbes!==Y)&&(r.directional.length=I,r.spot.length=g,r.rectArea.length=y,r.point.length=v,r.hemi.length=E,r.directionalShadow.length=x,r.directionalShadowMap.length=x,r.pointShadow.length=w,r.pointShadowMap.length=w,r.spotShadow.length=_,r.spotShadowMap.length=_,r.directionalShadowMatrix.length=x,r.pointShadowMatrix.length=w,r.spotLightMatrix.length=_+R-D,r.spotLightMap.length=R,r.numSpotLightShadowsWithMaps=D,r.numLightProbes=Y,P.directionalLength=I,P.pointLength=v,P.spotLength=g,P.rectAreaLength=y,P.hemiLength=E,P.numDirectionalShadows=x,P.numPointShadows=w,P.numSpotShadows=_,P.numSpotMaps=R,P.numLightProbes=Y,r.version=b5++)}function c(u,h){let d=0,p=0,m=0,I=0,v=0;const g=h.matrixWorldInverse;for(let y=0,E=u.length;y=a.length?(l=new xw(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Hh extends Si{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=GR,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 zh extends Si{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 N5=`void main() { +`+J)}else se!==""?console.warn("THREE.WebGLProgram: Program Info Log:",se):(V===""||oe==="")&&(he=!1);he&&(z.diagnostics={runnable:ee,programLog:se,vertexShader:{log:V,prefix:g},fragmentShader:{log:oe,prefix:y}})}r.deleteShader(_),r.deleteShader(R),Y=new Rg(r,v),M=h5(r,v)}let Y;this.getUniforms=function(){return Y===void 0&&D(this),Y};let M;this.getAttributes=function(){return M===void 0&&D(this),M};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(v,r5)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=s5++,this.cacheKey=e,this.usedTimes=1,this.program=v,this.vertexShader=_,this.fragmentShader=R,this}let S5=0;class w5{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 _5(e),t.set(e,i)),i}}class _5{constructor(e){this.id=S5++,this.code=e,this.usedTimes=0}}function M5(n,e,t,i,r,s,o){const a=new rc,l=new w5,c=new Set,u=[],h=r.isWebGL2,d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const I={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function v(M){return c.add(M),M===0?"uv":`uv${M}`}function g(M,P,z,se,V){const oe=se.fog,ee=V.geometry,he=M.isMeshStandardMaterial?se.environment:null,O=(M.isMeshStandardMaterial?t:e).get(M.envMap||he),J=O&&O.mapping===AA?O.image.height:null,q=I[M.type];M.precision!==null&&(m=r.getMaxPrecision(M.precision),m!==M.precision&&console.warn("THREE.WebGLProgram.getParameters:",M.precision,"not supported, using",m,"instead."));const W=ee.morphAttributes.position||ee.morphAttributes.normal||ee.morphAttributes.color,ce=W!==void 0?W.length:0;let Ee=0;ee.morphAttributes.position!==void 0&&(Ee=1),ee.morphAttributes.normal!==void 0&&(Ee=2),ee.morphAttributes.color!==void 0&&(Ee=3);let G,k,N,L;if(q){const Qt=Ls[q];G=Qt.vertexShader,k=Qt.fragmentShader}else G=M.vertexShader,k=M.fragmentShader,l.update(M),N=l.getVertexShaderID(M),L=l.getFragmentShaderID(M);const ae=n.getRenderTarget(),de=V.isInstancedMesh===!0,fe=V.isBatchedMesh===!0,pe=!!M.map,U=!!M.matcap,me=!!O,re=!!M.aoMap,le=!!M.lightMap,ue=!!M.bumpMap,we=!!M.normalMap,X=!!M.displacementMap,Q=!!M.emissiveMap,b=!!M.metalnessMap,Z=!!M.roughnessMap,Se=M.anisotropy>0,Be=M.clearcoat>0,ye=M.iridescence>0,Le=M.sheen>0,Fe=M.transmission>0,ze=Se&&!!M.anisotropyMap,Ne=Be&&!!M.clearcoatMap,je=Be&&!!M.clearcoatNormalMap,De=Be&&!!M.clearcoatRoughnessMap,Et=ye&&!!M.iridescenceMap,Ze=ye&&!!M.iridescenceThicknessMap,it=Le&&!!M.sheenColorMap,Ye=Le&&!!M.sheenRoughnessMap,ke=!!M.specularMap,et=!!M.specularColorMap,vt=!!M.specularIntensityMap,Bt=Fe&&!!M.transmissionMap,tt=Fe&&!!M.thicknessMap,Ct=!!M.gradientMap,ie=!!M.alphaMap,Je=M.alphaTest>0,Xe=!!M.alphaHash,ot=!!M.extensions;let At=so;M.toneMapped&&(ae===null||ae.isXRRenderTarget===!0)&&(At=n.toneMapping);const Lt={isWebGL2:h,shaderID:q,shaderType:M.type,shaderName:M.name,vertexShader:G,fragmentShader:k,defines:M.defines,customVertexShaderID:N,customFragmentShaderID:L,isRawShaderMaterial:M.isRawShaderMaterial===!0,glslVersion:M.glslVersion,precision:m,batching:fe,instancing:de,instancingColor:de&&V.instanceColor!==null,supportsVertexTextures:p,outputColorSpace:ae===null?n.outputColorSpace:ae.isXRRenderTarget===!0?ae.texture.colorSpace:ao,alphaToCoverage:!!M.alphaToCoverage,map:pe,matcap:U,envMap:me,envMapMode:me&&O.mapping,envMapCubeUVHeight:J,aoMap:re,lightMap:le,bumpMap:ue,normalMap:we,displacementMap:p&&X,emissiveMap:Q,normalMapObjectSpace:we&&M.normalMapType===zR,normalMapTangentSpace:we&&M.normalMapType===tl,metalnessMap:b,roughnessMap:Z,anisotropy:Se,anisotropyMap:ze,clearcoat:Be,clearcoatMap:Ne,clearcoatNormalMap:je,clearcoatRoughnessMap:De,iridescence:ye,iridescenceMap:Et,iridescenceThicknessMap:Ze,sheen:Le,sheenColorMap:it,sheenRoughnessMap:Ye,specularMap:ke,specularColorMap:et,specularIntensityMap:vt,transmission:Fe,transmissionMap:Bt,thicknessMap:tt,gradientMap:Ct,opaque:M.transparent===!1&&M.blending===Uo&&M.alphaToCoverage===!1,alphaMap:ie,alphaTest:Je,alphaHash:Xe,combine:M.combine,mapUv:pe&&v(M.map.channel),aoMapUv:re&&v(M.aoMap.channel),lightMapUv:le&&v(M.lightMap.channel),bumpMapUv:ue&&v(M.bumpMap.channel),normalMapUv:we&&v(M.normalMap.channel),displacementMapUv:X&&v(M.displacementMap.channel),emissiveMapUv:Q&&v(M.emissiveMap.channel),metalnessMapUv:b&&v(M.metalnessMap.channel),roughnessMapUv:Z&&v(M.roughnessMap.channel),anisotropyMapUv:ze&&v(M.anisotropyMap.channel),clearcoatMapUv:Ne&&v(M.clearcoatMap.channel),clearcoatNormalMapUv:je&&v(M.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:De&&v(M.clearcoatRoughnessMap.channel),iridescenceMapUv:Et&&v(M.iridescenceMap.channel),iridescenceThicknessMapUv:Ze&&v(M.iridescenceThicknessMap.channel),sheenColorMapUv:it&&v(M.sheenColorMap.channel),sheenRoughnessMapUv:Ye&&v(M.sheenRoughnessMap.channel),specularMapUv:ke&&v(M.specularMap.channel),specularColorMapUv:et&&v(M.specularColorMap.channel),specularIntensityMapUv:vt&&v(M.specularIntensityMap.channel),transmissionMapUv:Bt&&v(M.transmissionMap.channel),thicknessMapUv:tt&&v(M.thicknessMap.channel),alphaMapUv:ie&&v(M.alphaMap.channel),vertexTangents:!!ee.attributes.tangent&&(we||Se),vertexColors:M.vertexColors,vertexAlphas:M.vertexColors===!0&&!!ee.attributes.color&&ee.attributes.color.itemSize===4,pointsUvs:V.isPoints===!0&&!!ee.attributes.uv&&(pe||ie),fog:!!oe,useFog:M.fog===!0,fogExp2:!!oe&&oe.isFogExp2,flatShading:M.flatShading===!0,sizeAttenuation:M.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:V.isSkinnedMesh===!0,morphTargets:ee.morphAttributes.position!==void 0,morphNormals:ee.morphAttributes.normal!==void 0,morphColors:ee.morphAttributes.color!==void 0,morphTargetsCount:ce,morphTextureStride:Ee,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:M.dithering,shadowMapEnabled:n.shadowMap.enabled&&z.length>0,shadowMapType:n.shadowMap.type,toneMapping:At,useLegacyLights:n._useLegacyLights,decodeVideoTexture:pe&&M.map.isVideoTexture===!0&&dn.getTransfer(M.map.colorSpace)===In,premultipliedAlpha:M.premultipliedAlpha,doubleSided:M.side===hs,flipSided:M.side===Xi,useDepthPacking:M.depthPacking>=0,depthPacking:M.depthPacking||0,index0AttributeName:M.index0AttributeName,extensionDerivatives:ot&&M.extensions.derivatives===!0,extensionFragDepth:ot&&M.extensions.fragDepth===!0,extensionDrawBuffers:ot&&M.extensions.drawBuffers===!0,extensionShaderTextureLOD:ot&&M.extensions.shaderTextureLOD===!0,extensionClipCullDistance:ot&&M.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:ot&&M.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:M.customProgramCacheKey()};return Lt.vertexUv1s=c.has(1),Lt.vertexUv2s=c.has(2),Lt.vertexUv3s=c.has(3),c.clear(),Lt}function y(M){const P=[];if(M.shaderID?P.push(M.shaderID):(P.push(M.customVertexShaderID),P.push(M.customFragmentShaderID)),M.defines!==void 0)for(const z in M.defines)P.push(z),P.push(M.defines[z]);return M.isRawShaderMaterial===!1&&(E(P,M),x(P,M),P.push(n.outputColorSpace)),P.push(M.customProgramCacheKey),P.join()}function E(M,P){M.push(P.precision),M.push(P.outputColorSpace),M.push(P.envMapMode),M.push(P.envMapCubeUVHeight),M.push(P.mapUv),M.push(P.alphaMapUv),M.push(P.lightMapUv),M.push(P.aoMapUv),M.push(P.bumpMapUv),M.push(P.normalMapUv),M.push(P.displacementMapUv),M.push(P.emissiveMapUv),M.push(P.metalnessMapUv),M.push(P.roughnessMapUv),M.push(P.anisotropyMapUv),M.push(P.clearcoatMapUv),M.push(P.clearcoatNormalMapUv),M.push(P.clearcoatRoughnessMapUv),M.push(P.iridescenceMapUv),M.push(P.iridescenceThicknessMapUv),M.push(P.sheenColorMapUv),M.push(P.sheenRoughnessMapUv),M.push(P.specularMapUv),M.push(P.specularColorMapUv),M.push(P.specularIntensityMapUv),M.push(P.transmissionMapUv),M.push(P.thicknessMapUv),M.push(P.combine),M.push(P.fogExp2),M.push(P.sizeAttenuation),M.push(P.morphTargetsCount),M.push(P.morphAttributeCount),M.push(P.numDirLights),M.push(P.numPointLights),M.push(P.numSpotLights),M.push(P.numSpotLightMaps),M.push(P.numHemiLights),M.push(P.numRectAreaLights),M.push(P.numDirLightShadows),M.push(P.numPointLightShadows),M.push(P.numSpotLightShadows),M.push(P.numSpotLightShadowsWithMaps),M.push(P.numLightProbes),M.push(P.shadowMapType),M.push(P.toneMapping),M.push(P.numClippingPlanes),M.push(P.numClipIntersection),M.push(P.depthPacking)}function x(M,P){a.disableAll(),P.isWebGL2&&a.enable(0),P.supportsVertexTextures&&a.enable(1),P.instancing&&a.enable(2),P.instancingColor&&a.enable(3),P.matcap&&a.enable(4),P.envMap&&a.enable(5),P.normalMapObjectSpace&&a.enable(6),P.normalMapTangentSpace&&a.enable(7),P.clearcoat&&a.enable(8),P.iridescence&&a.enable(9),P.alphaTest&&a.enable(10),P.vertexColors&&a.enable(11),P.vertexAlphas&&a.enable(12),P.vertexUv1s&&a.enable(13),P.vertexUv2s&&a.enable(14),P.vertexUv3s&&a.enable(15),P.vertexTangents&&a.enable(16),P.anisotropy&&a.enable(17),P.alphaHash&&a.enable(18),P.batching&&a.enable(19),M.push(a.mask),a.disableAll(),P.fog&&a.enable(0),P.useFog&&a.enable(1),P.flatShading&&a.enable(2),P.logarithmicDepthBuffer&&a.enable(3),P.skinning&&a.enable(4),P.morphTargets&&a.enable(5),P.morphNormals&&a.enable(6),P.morphColors&&a.enable(7),P.premultipliedAlpha&&a.enable(8),P.shadowMapEnabled&&a.enable(9),P.useLegacyLights&&a.enable(10),P.doubleSided&&a.enable(11),P.flipSided&&a.enable(12),P.useDepthPacking&&a.enable(13),P.dithering&&a.enable(14),P.transmission&&a.enable(15),P.sheen&&a.enable(16),P.opaque&&a.enable(17),P.pointsUvs&&a.enable(18),P.decodeVideoTexture&&a.enable(19),P.alphaToCoverage&&a.enable(20),M.push(a.mask)}function w(M){const P=I[M.type];let z;if(P){const se=Ls[P];z=hI.clone(se.uniforms)}else z=M.uniforms;return z}function _(M,P){let z;for(let se=0,V=u.length;se0?i.push(g):p.transparent===!0?r.push(g):t.push(g)}function l(h,d,p,m,I,v){const g=o(h,d,p,m,I,v);p.transmission>0?i.unshift(g):p.transparent===!0?r.unshift(g):t.unshift(g)}function c(h,d){t.length>1&&t.sort(h||R5),i.length>1&&i.sort(d||Bw),r.length>1&&r.sort(d||Bw)}function u(){for(let h=e,d=n.length;h=s.length?(o=new xw,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function D5(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new K,color:new st};break;case"SpotLight":t={position:new K,direction:new K,color:new st,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new K,color:new st,distance:0,decay:0};break;case"HemisphereLight":t={direction:new K,skyColor:new st,groundColor:new st};break;case"RectAreaLight":t={color:new st,position:new K,halfWidth:new K,halfHeight:new K};break}return n[e.id]=t,t}}}function b5(){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 Te};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Te,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let L5=0;function P5(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function U5(n,e){const t=new D5,i=b5(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let u=0;u<9;u++)r.probe.push(new K);const s=new K,o=new _t,a=new _t;function l(u,h){let d=0,p=0,m=0;for(let z=0;z<9;z++)r.probe[z].set(0,0,0);let I=0,v=0,g=0,y=0,E=0,x=0,w=0,_=0,R=0,D=0,Y=0;u.sort(P5);const M=h===!0?Math.PI:1;for(let z=0,se=u.length;z0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_FLOAT_1,r.rectAreaLTC2=nt.LTC_FLOAT_2):(r.rectAreaLTC1=nt.LTC_HALF_1,r.rectAreaLTC2=nt.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_FLOAT_1,r.rectAreaLTC2=nt.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=nt.LTC_HALF_1,r.rectAreaLTC2=nt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=d,r.ambient[1]=p,r.ambient[2]=m;const P=r.hash;(P.directionalLength!==I||P.pointLength!==v||P.spotLength!==g||P.rectAreaLength!==y||P.hemiLength!==E||P.numDirectionalShadows!==x||P.numPointShadows!==w||P.numSpotShadows!==_||P.numSpotMaps!==R||P.numLightProbes!==Y)&&(r.directional.length=I,r.spot.length=g,r.rectArea.length=y,r.point.length=v,r.hemi.length=E,r.directionalShadow.length=x,r.directionalShadowMap.length=x,r.pointShadow.length=w,r.pointShadowMap.length=w,r.spotShadow.length=_,r.spotShadowMap.length=_,r.directionalShadowMatrix.length=x,r.pointShadowMatrix.length=w,r.spotLightMatrix.length=_+R-D,r.spotLightMap.length=R,r.numSpotLightShadowsWithMaps=D,r.numLightProbes=Y,P.directionalLength=I,P.pointLength=v,P.spotLength=g,P.rectAreaLength=y,P.hemiLength=E,P.numDirectionalShadows=x,P.numPointShadows=w,P.numSpotShadows=_,P.numSpotMaps=R,P.numLightProbes=Y,r.version=L5++)}function c(u,h){let d=0,p=0,m=0,I=0,v=0;const g=h.matrixWorldInverse;for(let y=0,E=u.length;y=a.length?(l=new Sw(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Hh extends mi{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=HR,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 zh extends mi{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 k5=`void main() { gl_Position = vec4( position, 1.0 ); -}`,k5=`uniform sampler2D shadow_pass; +}`,F5=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3776,12 +3776,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function F5(n,e,t){let i=new Gh;const r=new Te,s=new Te,o=new ln,a=new Hh({depthPacking:Um}),l=new zh,c={},u=t.maxTextureSize,h={[Kr]:Xi,[Xi]:Kr,[hs]:hs},d=new Os({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Te},radius:{value:4}},vertexShader:N5,fragmentShader:k5}),p=d.clone();p.defines.HORIZONTAL_PASS=1;const m=new kt;m.setAttribute("position",new un(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const I=new rn(m,d),v=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Dm;let g=this.type;this.render=function(_,R,D){if(v.enabled===!1||v.autoUpdate===!1&&v.needsUpdate===!1||_.length===0)return;const Y=n.getRenderTarget(),Q=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),z=n.state;z.setBlending(Po),z.buffers.color.setClear(1,1,1,1),z.buffers.depth.setTest(!0),z.setScissorTest(!1);const ne=g!==Rs&&this.type===Rs,V=g===Rs&&this.type!==Rs;for(let ae=0,ee=_.length;aeu||r.y>u)&&(r.x>u&&(s.x=Math.floor(u/J.x),r.x=s.x*J.x,O.mapSize.x=s.x),r.y>u&&(s.y=Math.floor(u/J.y),r.y=s.y*J.y,O.mapSize.y=s.y)),O.map===null||ne===!0||V===!0){const W=this.type!==Rs?{minFilter:$n,magFilter:$n}:{};O.map!==null&&O.map.dispose(),O.map=new Es(r.x,r.y,W),O.map.texture.name=he.name+".shadowMap",O.camera.updateProjectionMatrix()}n.setRenderTarget(O.map),n.clear();const Z=O.getViewportCount();for(let W=0;W0||R.map&&R.alphaTest>0){const z=Q.uuid,ne=R.uuid;let V=c[z];V===void 0&&(V={},c[z]=V);let ae=V[ne];ae===void 0&&(ae=Q.clone(),V[ne]=ae,R.addEventListener("dispose",w)),Q=ae}if(Q.visible=R.visible,Q.wireframe=R.wireframe,Y===Rs?Q.side=R.shadowSide!==null?R.shadowSide:R.side:Q.side=R.shadowSide!==null?R.shadowSide:h[R.side],Q.alphaMap=R.alphaMap,Q.alphaTest=R.alphaTest,Q.map=R.map,Q.clipShadows=R.clipShadows,Q.clippingPlanes=R.clippingPlanes,Q.clipIntersection=R.clipIntersection,Q.displacementMap=R.displacementMap,Q.displacementScale=R.displacementScale,Q.displacementBias=R.displacementBias,Q.wireframeLinewidth=R.wireframeLinewidth,Q.linewidth=R.linewidth,D.isPointLight===!0&&Q.isMeshDistanceMaterial===!0){const z=n.properties.get(Q);z.light=D}return Q}function x(_,R,D,Y,Q){if(_.visible===!1)return;if(_.layers.test(R.layers)&&(_.isMesh||_.isLine||_.isPoints)&&(_.castShadow||_.receiveShadow&&Q===Rs)&&(!_.frustumCulled||i.intersectsObject(_))){_.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,_.matrixWorld);const ne=e.update(_),V=_.material;if(Array.isArray(V)){const ae=ne.groups;for(let ee=0,he=ae.length;ee=1):Z.indexOf("OpenGL ES")!==-1&&(J=parseFloat(/^OpenGL ES (\d)/.exec(Z)[1]),O=J>=2);let W=null,ce={};const Ee=n.getParameter(n.SCISSOR_BOX),G=n.getParameter(n.VIEWPORT),k=new ln().fromArray(Ee),N=new ln().fromArray(G);function L(re,Je,Xe,ot){const ut=new Uint8Array(4),Lt=n.createTexture();n.bindTexture(re,Lt),n.texParameteri(re,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(re,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Qt=0;Qt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),u=new WeakMap;let h;const d=new WeakMap;let p=!1;try{p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function m(M,b){return p?new OffscreenCanvas(M,b):yh("canvas")}function I(M,b,q,Se){let Be=1;if((M.width>Se||M.height>Se)&&(Be=Se/Math.max(M.width,M.height)),Be<1||b===!0)if(typeof HTMLImageElement<"u"&&M instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&M instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&M instanceof ImageBitmap){const ye=b?um:Math.floor,Le=ye(Be*M.width),Fe=ye(Be*M.height);h===void 0&&(h=m(Le,Fe));const ze=q?m(Le,Fe):h;return ze.width=Le,ze.height=Fe,ze.getContext("2d").drawImage(M,0,0,Le,Fe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+M.width+"x"+M.height+") to ("+Le+"x"+Fe+")."),ze}else return"data"in M&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+M.width+"x"+M.height+")."),M;return M}function v(M){return w1(M.width)&&w1(M.height)}function g(M){return a?!1:M.wrapS!==Yi||M.wrapT!==Yi||M.minFilter!==$n&&M.minFilter!==Cn}function y(M,b){return M.generateMipmaps&&b&&M.minFilter!==$n&&M.minFilter!==Cn}function E(M){n.generateMipmap(M)}function x(M,b,q,Se,Be=!1){if(a===!1)return b;if(M!==null){if(n[M]!==void 0)return n[M];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+M+"'")}let ye=b;if(b===n.RED&&(q===n.FLOAT&&(ye=n.R32F),q===n.HALF_FLOAT&&(ye=n.R16F),q===n.UNSIGNED_BYTE&&(ye=n.R8)),b===n.RED_INTEGER&&(q===n.UNSIGNED_BYTE&&(ye=n.R8UI),q===n.UNSIGNED_SHORT&&(ye=n.R16UI),q===n.UNSIGNED_INT&&(ye=n.R32UI),q===n.BYTE&&(ye=n.R8I),q===n.SHORT&&(ye=n.R16I),q===n.INT&&(ye=n.R32I)),b===n.RG&&(q===n.FLOAT&&(ye=n.RG32F),q===n.HALF_FLOAT&&(ye=n.RG16F),q===n.UNSIGNED_BYTE&&(ye=n.RG8)),b===n.RGBA){const Le=Be?dh:dn.getTransfer(Se);q===n.FLOAT&&(ye=n.RGBA32F),q===n.HALF_FLOAT&&(ye=n.RGBA16F),q===n.UNSIGNED_BYTE&&(ye=Le===In?n.SRGB8_ALPHA8:n.RGBA8),q===n.UNSIGNED_SHORT_4_4_4_4&&(ye=n.RGBA4),q===n.UNSIGNED_SHORT_5_5_5_1&&(ye=n.RGB5_A1)}return(ye===n.R16F||ye===n.R32F||ye===n.RG16F||ye===n.RG32F||ye===n.RGBA16F||ye===n.RGBA32F)&&e.get("EXT_color_buffer_float"),ye}function w(M,b,q){return y(M,q)===!0||M.isFramebufferTexture&&M.minFilter!==$n&&M.minFilter!==Cn?Math.log2(Math.max(b.width,b.height))+1:M.mipmaps!==void 0&&M.mipmaps.length>0?M.mipmaps.length:M.isCompressedTexture&&Array.isArray(M.image)?b.mipmaps.length:1}function _(M){return M===$n||M===lm||M===Vl?n.NEAREST:n.LINEAR}function R(M){const b=M.target;b.removeEventListener("dispose",R),Y(b),b.isVideoTexture&&u.delete(b)}function D(M){const b=M.target;b.removeEventListener("dispose",D),P(b)}function Y(M){const b=i.get(M);if(b.__webglInit===void 0)return;const q=M.source,Se=d.get(q);if(Se){const Be=Se[b.__cacheKey];Be.usedTimes--,Be.usedTimes===0&&Q(M),Object.keys(Se).length===0&&d.delete(q)}i.remove(M)}function Q(M){const b=i.get(M);n.deleteTexture(b.__webglTexture);const q=M.source,Se=d.get(q);delete Se[b.__cacheKey],o.memory.textures--}function P(M){const b=M.texture,q=i.get(M),Se=i.get(b);if(Se.__webglTexture!==void 0&&(n.deleteTexture(Se.__webglTexture),o.memory.textures--),M.depthTexture&&M.depthTexture.dispose(),M.isWebGLCubeRenderTarget)for(let Be=0;Be<6;Be++){if(Array.isArray(q.__webglFramebuffer[Be]))for(let ye=0;ye=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+M+" texture units while this GPU supports only "+r.maxTextures),z+=1,M}function ae(M){const b=[];return b.push(M.wrapS),b.push(M.wrapT),b.push(M.wrapR||0),b.push(M.magFilter),b.push(M.minFilter),b.push(M.anisotropy),b.push(M.internalFormat),b.push(M.format),b.push(M.type),b.push(M.generateMipmaps),b.push(M.premultiplyAlpha),b.push(M.flipY),b.push(M.unpackAlignment),b.push(M.colorSpace),b.join()}function ee(M,b){const q=i.get(M);if(M.isVideoTexture&&we(M),M.isRenderTargetTexture===!1&&M.version>0&&q.__version!==M.version){const Se=M.image;if(Se===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Se.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{k(q,M,b);return}}t.bindTexture(n.TEXTURE_2D,q.__webglTexture,n.TEXTURE0+b)}function he(M,b){const q=i.get(M);if(M.version>0&&q.__version!==M.version){k(q,M,b);return}t.bindTexture(n.TEXTURE_2D_ARRAY,q.__webglTexture,n.TEXTURE0+b)}function O(M,b){const q=i.get(M);if(M.version>0&&q.__version!==M.version){k(q,M,b);return}t.bindTexture(n.TEXTURE_3D,q.__webglTexture,n.TEXTURE0+b)}function J(M,b){const q=i.get(M);if(M.version>0&&q.__version!==M.version){N(q,M,b);return}t.bindTexture(n.TEXTURE_CUBE_MAP,q.__webglTexture,n.TEXTURE0+b)}const Z={[ch]:n.REPEAT,[Yi]:n.CLAMP_TO_EDGE,[uh]:n.MIRRORED_REPEAT},W={[$n]:n.NEAREST,[lm]:n.NEAREST_MIPMAP_NEAREST,[Vl]:n.NEAREST_MIPMAP_LINEAR,[Cn]:n.LINEAR,[Uf]:n.LINEAR_MIPMAP_NEAREST,[to]:n.LINEAR_MIPMAP_LINEAR},ce={[zR]:n.NEVER,[KR]:n.ALWAYS,[VR]:n.LESS,[aI]:n.LEQUAL,[WR]:n.EQUAL,[XR]:n.GEQUAL,[YR]:n.GREATER,[JR]:n.NOTEQUAL};function Ee(M,b,q){if(b.type===ds&&e.has("OES_texture_float_linear")===!1&&(b.magFilter===Cn||b.magFilter===Uf||b.magFilter===Vl||b.magFilter===to||b.minFilter===Cn||b.minFilter===Uf||b.minFilter===Vl||b.minFilter===to)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),q?(n.texParameteri(M,n.TEXTURE_WRAP_S,Z[b.wrapS]),n.texParameteri(M,n.TEXTURE_WRAP_T,Z[b.wrapT]),(M===n.TEXTURE_3D||M===n.TEXTURE_2D_ARRAY)&&n.texParameteri(M,n.TEXTURE_WRAP_R,Z[b.wrapR]),n.texParameteri(M,n.TEXTURE_MAG_FILTER,W[b.magFilter]),n.texParameteri(M,n.TEXTURE_MIN_FILTER,W[b.minFilter])):(n.texParameteri(M,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(M,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(M===n.TEXTURE_3D||M===n.TEXTURE_2D_ARRAY)&&n.texParameteri(M,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(b.wrapS!==Yi||b.wrapT!==Yi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(M,n.TEXTURE_MAG_FILTER,_(b.magFilter)),n.texParameteri(M,n.TEXTURE_MIN_FILTER,_(b.minFilter)),b.minFilter!==$n&&b.minFilter!==Cn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),b.compareFunction&&(n.texParameteri(M,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(M,n.TEXTURE_COMPARE_FUNC,ce[b.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Se=e.get("EXT_texture_filter_anisotropic");if(b.magFilter===$n||b.minFilter!==Vl&&b.minFilter!==to||b.type===ds&&e.has("OES_texture_float_linear")===!1||a===!1&&b.type===gc&&e.has("OES_texture_half_float_linear")===!1)return;(b.anisotropy>1||i.get(b).__currentAnisotropy)&&(n.texParameterf(M,Se.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,r.getMaxAnisotropy())),i.get(b).__currentAnisotropy=b.anisotropy)}}function G(M,b){let q=!1;M.__webglInit===void 0&&(M.__webglInit=!0,b.addEventListener("dispose",R));const Se=b.source;let Be=d.get(Se);Be===void 0&&(Be={},d.set(Se,Be));const ye=ae(b);if(ye!==M.__cacheKey){Be[ye]===void 0&&(Be[ye]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,q=!0),Be[ye].usedTimes++;const Le=Be[M.__cacheKey];Le!==void 0&&(Be[M.__cacheKey].usedTimes--,Le.usedTimes===0&&Q(b)),M.__cacheKey=ye,M.__webglTexture=Be[ye].texture}return q}function k(M,b,q){let Se=n.TEXTURE_2D;(b.isDataArrayTexture||b.isCompressedArrayTexture)&&(Se=n.TEXTURE_2D_ARRAY),b.isData3DTexture&&(Se=n.TEXTURE_3D);const Be=G(M,b),ye=b.source;t.bindTexture(Se,M.__webglTexture,n.TEXTURE0+q);const Le=i.get(ye);if(ye.version!==Le.__version||Be===!0){t.activeTexture(n.TEXTURE0+q);const Fe=dn.getPrimaries(dn.workingColorSpace),ze=b.colorSpace===Hr?null:dn.getPrimaries(b.colorSpace),Ne=b.colorSpace===Hr||Fe===ze?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,Ne);const je=g(b)&&v(b.image)===!1;let De=I(b.image,je,!1,r.maxTextureSize);De=X(b,De);const yt=v(De)||a,Ze=s.convert(b.format,b.colorSpace);let it=s.convert(b.type),Ye=x(b.internalFormat,Ze,it,b.colorSpace,b.isVideoTexture);Ee(Se,b,yt);let ke;const et=b.mipmaps,mt=a&&b.isVideoTexture!==!0&&Ye!==rI,Bt=Le.__version===void 0||Be===!0,tt=ye.dataReady,Et=w(b,De,yt);if(b.isDepthTexture)Ye=n.DEPTH_COMPONENT,a?b.type===ds?Ye=n.DEPTH_COMPONENT32F:b.type===To?Ye=n.DEPTH_COMPONENT24:b.type===Ha?Ye=n.DEPTH24_STENCIL8:Ye=n.DEPTH_COMPONENT16:b.type===ds&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),b.format===za&&Ye===n.DEPTH_COMPONENT&&b.type!==Lm&&b.type!==To&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),b.type=To,it=s.convert(b.type)),b.format===mc&&Ye===n.DEPTH_COMPONENT&&(Ye=n.DEPTH_STENCIL,b.type!==Ha&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=Ha,it=s.convert(b.type))),Bt&&(mt?t.texStorage2D(n.TEXTURE_2D,1,Ye,De.width,De.height):t.texImage2D(n.TEXTURE_2D,0,Ye,De.width,De.height,0,Ze,it,null));else if(b.isDataTexture)if(et.length>0&&yt){mt&&Bt&&t.texStorage2D(n.TEXTURE_2D,Et,Ye,et[0].width,et[0].height);for(let re=0,Je=et.length;re>=1,Je>>=1}}else if(et.length>0&&yt){mt&&Bt&&t.texStorage2D(n.TEXTURE_2D,Et,Ye,et[0].width,et[0].height);for(let re=0,Je=et.length;re0&&tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,tt,ke,De[0].width,De[0].height));for(let re=0;re<6;re++)if(je){et?Bt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+re,0,0,0,De[re].width,De[re].height,it,Ye,De[re].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+re,0,ke,De[re].width,De[re].height,0,it,Ye,De[re].data);for(let Je=0;Je>ye),De=Math.max(1,b.height>>ye);Be===n.TEXTURE_3D||Be===n.TEXTURE_2D_ARRAY?t.texImage3D(Be,ye,ze,je,De,b.depth,0,Le,Fe,null):t.texImage2D(Be,ye,ze,je,De,0,Le,Fe,null)}t.bindFramebuffer(n.FRAMEBUFFER,M),ue(b)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Se,Be,i.get(q).__webglTexture,0,le(b)):(Be===n.TEXTURE_2D||Be>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Be<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Se,Be,i.get(q).__webglTexture,ye),t.bindFramebuffer(n.FRAMEBUFFER,null)}function oe(M,b,q){if(n.bindRenderbuffer(n.RENDERBUFFER,M),b.depthBuffer&&!b.stencilBuffer){let Se=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(q||ue(b)){const Be=b.depthTexture;Be&&Be.isDepthTexture&&(Be.type===ds?Se=n.DEPTH_COMPONENT32F:Be.type===To&&(Se=n.DEPTH_COMPONENT24));const ye=le(b);ue(b)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,ye,Se,b.width,b.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,ye,Se,b.width,b.height)}else n.renderbufferStorage(n.RENDERBUFFER,Se,b.width,b.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,M)}else if(b.depthBuffer&&b.stencilBuffer){const Se=le(b);q&&ue(b)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,b.width,b.height):ue(b)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Se,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,M)}else{const Se=b.isWebGLMultipleRenderTargets===!0?b.texture:[b.texture];for(let Be=0;Be0){q.__webglFramebuffer[Fe]=[];for(let ze=0;ze0){q.__webglFramebuffer=[];for(let Fe=0;Fe0&&ue(M)===!1){const Fe=ye?b:[b];q.__webglMultisampledFramebuffer=n.createFramebuffer(),q.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,q.__webglMultisampledFramebuffer);for(let ze=0;ze0)for(let ze=0;ze0)for(let ze=0;ze0&&ue(M)===!1){const b=M.isWebGLMultipleRenderTargets?M.texture:[M.texture],q=M.width,Se=M.height;let Be=n.COLOR_BUFFER_BIT;const ye=[],Le=M.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Fe=i.get(M),ze=M.isWebGLMultipleRenderTargets===!0;if(ze)for(let Ne=0;Ne0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&b.__useRenderToTexture!==!1}function we(M){const b=o.render.frame;u.get(M)!==b&&(u.set(M,b),M.update())}function X(M,b){const q=M.colorSpace,Se=M.format,Be=M.type;return M.isCompressedTexture===!0||M.isVideoTexture===!0||M.format===cm||q!==ao&&q!==Hr&&(dn.getTransfer(q)===In?a===!1?e.has("EXT_sRGB")===!0&&Se===ar?(M.format=cm,M.minFilter=Cn,M.generateMipmaps=!1):b=cI.sRGBToLinear(b):(Se!==ar||Be!==oo)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",q)),b}this.allocateTextureUnit=V,this.resetTextureUnits=ne,this.setTexture2D=ee,this.setTexture2DArray=he,this.setTexture3D=O,this.setTextureCube=J,this.rebindTextures=pe,this.setupRenderTarget=U,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=se,this.setupDepthRenderbuffer=fe,this.setupFrameBufferTexture=L,this.useMultisampledRTT=ue}function uT(n,e,t){const i=t.isWebGL2;function r(s,o=Hr){let a;const l=dn.getTransfer(o);if(s===oo)return n.UNSIGNED_BYTE;if(s===$C)return n.UNSIGNED_SHORT_4_4_4_4;if(s===eI)return n.UNSIGNED_SHORT_5_5_5_1;if(s===RR)return n.BYTE;if(s===TR)return n.SHORT;if(s===Lm)return n.UNSIGNED_SHORT;if(s===ZC)return n.INT;if(s===To)return n.UNSIGNED_INT;if(s===ds)return n.FLOAT;if(s===gc)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===DR)return n.ALPHA;if(s===ar)return n.RGBA;if(s===bR)return n.LUMINANCE;if(s===LR)return n.LUMINANCE_ALPHA;if(s===za)return n.DEPTH_COMPONENT;if(s===mc)return n.DEPTH_STENCIL;if(s===cm)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===PR)return n.RED;if(s===tI)return n.RED_INTEGER;if(s===UR)return n.RG;if(s===nI)return n.RG_INTEGER;if(s===iI)return n.RGBA_INTEGER;if(s===xg||s===Sg||s===wg||s===_g)if(l===In)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===xg)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Sg)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===wg)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===_g)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===xg)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Sg)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===wg)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===_g)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===$E||s===e1||s===t1||s===n1)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===$E)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===e1)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===t1)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===n1)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===rI)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===i1||s===r1)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===i1)return l===In?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===r1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===s1||s===o1||s===a1||s===l1||s===c1||s===u1||s===A1||s===f1||s===h1||s===d1||s===p1||s===g1||s===m1||s===v1)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===s1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===o1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===a1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===l1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===c1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===u1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===A1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===f1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===h1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===d1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===p1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===g1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===m1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===v1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Mg||s===y1||s===E1)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Mg)return l===In?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===y1)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===E1)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===NR||s===C1||s===I1||s===B1)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Mg)return a.COMPRESSED_RED_RGTC1_EXT;if(s===C1)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===I1)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===B1)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Ha?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class AT extends ui{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Do extends Vt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const H5={type:"move"};class ay{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Do,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 Do,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new K,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new K),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Do,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new K,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new K),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const I of e.hand.values()){const v=t.getJointPose(I,i),g=this._getHandJoint(c,I);v!==null&&(g.matrix.fromArray(v.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=v.radius),g.visible=v!==null}const u=c.joints["index-finger-tip"],h=c.joints["thumb-tip"],d=u.position.distanceTo(h.position),p=.02,m=.005;c.inputState.pinching&&d>p+m?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&d<=p-m&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(H5)))}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 Do;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const z5=` +}`;function O5(n,e,t){let i=new Gh;const r=new Te,s=new Te,o=new ln,a=new Hh({depthPacking:Um}),l=new zh,c={},u=t.maxTextureSize,h={[Kr]:Xi,[Xi]:Kr,[hs]:hs},d=new Os({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Te},radius:{value:4}},vertexShader:k5,fragmentShader:F5}),p=d.clone();p.defines.HORIZONTAL_PASS=1;const m=new kt;m.setAttribute("position",new un(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const I=new tn(m,d),v=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Dm;let g=this.type;this.render=function(_,R,D){if(v.enabled===!1||v.autoUpdate===!1&&v.needsUpdate===!1||_.length===0)return;const Y=n.getRenderTarget(),M=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),z=n.state;z.setBlending(Po),z.buffers.color.setClear(1,1,1,1),z.buffers.depth.setTest(!0),z.setScissorTest(!1);const se=g!==Rs&&this.type===Rs,V=g===Rs&&this.type!==Rs;for(let oe=0,ee=_.length;oeu||r.y>u)&&(r.x>u&&(s.x=Math.floor(u/J.x),r.x=s.x*J.x,O.mapSize.x=s.x),r.y>u&&(s.y=Math.floor(u/J.y),r.y=s.y*J.y,O.mapSize.y=s.y)),O.map===null||se===!0||V===!0){const W=this.type!==Rs?{minFilter:$n,magFilter:$n}:{};O.map!==null&&O.map.dispose(),O.map=new Es(r.x,r.y,W),O.map.texture.name=he.name+".shadowMap",O.camera.updateProjectionMatrix()}n.setRenderTarget(O.map),n.clear();const q=O.getViewportCount();for(let W=0;W0||R.map&&R.alphaTest>0){const z=M.uuid,se=R.uuid;let V=c[z];V===void 0&&(V={},c[z]=V);let oe=V[se];oe===void 0&&(oe=M.clone(),V[se]=oe,R.addEventListener("dispose",w)),M=oe}if(M.visible=R.visible,M.wireframe=R.wireframe,Y===Rs?M.side=R.shadowSide!==null?R.shadowSide:R.side:M.side=R.shadowSide!==null?R.shadowSide:h[R.side],M.alphaMap=R.alphaMap,M.alphaTest=R.alphaTest,M.map=R.map,M.clipShadows=R.clipShadows,M.clippingPlanes=R.clippingPlanes,M.clipIntersection=R.clipIntersection,M.displacementMap=R.displacementMap,M.displacementScale=R.displacementScale,M.displacementBias=R.displacementBias,M.wireframeLinewidth=R.wireframeLinewidth,M.linewidth=R.linewidth,D.isPointLight===!0&&M.isMeshDistanceMaterial===!0){const z=n.properties.get(M);z.light=D}return M}function x(_,R,D,Y,M){if(_.visible===!1)return;if(_.layers.test(R.layers)&&(_.isMesh||_.isLine||_.isPoints)&&(_.castShadow||_.receiveShadow&&M===Rs)&&(!_.frustumCulled||i.intersectsObject(_))){_.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,_.matrixWorld);const se=e.update(_),V=_.material;if(Array.isArray(V)){const oe=se.groups;for(let ee=0,he=oe.length;ee=1):q.indexOf("OpenGL ES")!==-1&&(J=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),O=J>=2);let W=null,ce={};const Ee=n.getParameter(n.SCISSOR_BOX),G=n.getParameter(n.VIEWPORT),k=new ln().fromArray(Ee),N=new ln().fromArray(G);function L(ie,Je,Xe,ot){const At=new Uint8Array(4),Lt=n.createTexture();n.bindTexture(ie,Lt),n.texParameteri(ie,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(ie,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Qt=0;Qt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),u=new WeakMap;let h;const d=new WeakMap;let p=!1;try{p=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function m(Q,b){return p?new OffscreenCanvas(Q,b):yh("canvas")}function I(Q,b,Z,Se){let Be=1;if((Q.width>Se||Q.height>Se)&&(Be=Se/Math.max(Q.width,Q.height)),Be<1||b===!0)if(typeof HTMLImageElement<"u"&&Q instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&Q instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&Q instanceof ImageBitmap){const ye=b?um:Math.floor,Le=ye(Be*Q.width),Fe=ye(Be*Q.height);h===void 0&&(h=m(Le,Fe));const ze=Z?m(Le,Fe):h;return ze.width=Le,ze.height=Fe,ze.getContext("2d").drawImage(Q,0,0,Le,Fe),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Q.width+"x"+Q.height+") to ("+Le+"x"+Fe+")."),ze}else return"data"in Q&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Q.width+"x"+Q.height+")."),Q;return Q}function v(Q){return w1(Q.width)&&w1(Q.height)}function g(Q){return a?!1:Q.wrapS!==Yi||Q.wrapT!==Yi||Q.minFilter!==$n&&Q.minFilter!==Cn}function y(Q,b){return Q.generateMipmaps&&b&&Q.minFilter!==$n&&Q.minFilter!==Cn}function E(Q){n.generateMipmap(Q)}function x(Q,b,Z,Se,Be=!1){if(a===!1)return b;if(Q!==null){if(n[Q]!==void 0)return n[Q];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Q+"'")}let ye=b;if(b===n.RED&&(Z===n.FLOAT&&(ye=n.R32F),Z===n.HALF_FLOAT&&(ye=n.R16F),Z===n.UNSIGNED_BYTE&&(ye=n.R8)),b===n.RED_INTEGER&&(Z===n.UNSIGNED_BYTE&&(ye=n.R8UI),Z===n.UNSIGNED_SHORT&&(ye=n.R16UI),Z===n.UNSIGNED_INT&&(ye=n.R32UI),Z===n.BYTE&&(ye=n.R8I),Z===n.SHORT&&(ye=n.R16I),Z===n.INT&&(ye=n.R32I)),b===n.RG&&(Z===n.FLOAT&&(ye=n.RG32F),Z===n.HALF_FLOAT&&(ye=n.RG16F),Z===n.UNSIGNED_BYTE&&(ye=n.RG8)),b===n.RGBA){const Le=Be?dh:dn.getTransfer(Se);Z===n.FLOAT&&(ye=n.RGBA32F),Z===n.HALF_FLOAT&&(ye=n.RGBA16F),Z===n.UNSIGNED_BYTE&&(ye=Le===In?n.SRGB8_ALPHA8:n.RGBA8),Z===n.UNSIGNED_SHORT_4_4_4_4&&(ye=n.RGBA4),Z===n.UNSIGNED_SHORT_5_5_5_1&&(ye=n.RGB5_A1)}return(ye===n.R16F||ye===n.R32F||ye===n.RG16F||ye===n.RG32F||ye===n.RGBA16F||ye===n.RGBA32F)&&e.get("EXT_color_buffer_float"),ye}function w(Q,b,Z){return y(Q,Z)===!0||Q.isFramebufferTexture&&Q.minFilter!==$n&&Q.minFilter!==Cn?Math.log2(Math.max(b.width,b.height))+1:Q.mipmaps!==void 0&&Q.mipmaps.length>0?Q.mipmaps.length:Q.isCompressedTexture&&Array.isArray(Q.image)?b.mipmaps.length:1}function _(Q){return Q===$n||Q===lm||Q===Vl?n.NEAREST:n.LINEAR}function R(Q){const b=Q.target;b.removeEventListener("dispose",R),Y(b),b.isVideoTexture&&u.delete(b)}function D(Q){const b=Q.target;b.removeEventListener("dispose",D),P(b)}function Y(Q){const b=i.get(Q);if(b.__webglInit===void 0)return;const Z=Q.source,Se=d.get(Z);if(Se){const Be=Se[b.__cacheKey];Be.usedTimes--,Be.usedTimes===0&&M(Q),Object.keys(Se).length===0&&d.delete(Z)}i.remove(Q)}function M(Q){const b=i.get(Q);n.deleteTexture(b.__webglTexture);const Z=Q.source,Se=d.get(Z);delete Se[b.__cacheKey],o.memory.textures--}function P(Q){const b=Q.texture,Z=i.get(Q),Se=i.get(b);if(Se.__webglTexture!==void 0&&(n.deleteTexture(Se.__webglTexture),o.memory.textures--),Q.depthTexture&&Q.depthTexture.dispose(),Q.isWebGLCubeRenderTarget)for(let Be=0;Be<6;Be++){if(Array.isArray(Z.__webglFramebuffer[Be]))for(let ye=0;ye=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+Q+" texture units while this GPU supports only "+r.maxTextures),z+=1,Q}function oe(Q){const b=[];return b.push(Q.wrapS),b.push(Q.wrapT),b.push(Q.wrapR||0),b.push(Q.magFilter),b.push(Q.minFilter),b.push(Q.anisotropy),b.push(Q.internalFormat),b.push(Q.format),b.push(Q.type),b.push(Q.generateMipmaps),b.push(Q.premultiplyAlpha),b.push(Q.flipY),b.push(Q.unpackAlignment),b.push(Q.colorSpace),b.join()}function ee(Q,b){const Z=i.get(Q);if(Q.isVideoTexture&&we(Q),Q.isRenderTargetTexture===!1&&Q.version>0&&Z.__version!==Q.version){const Se=Q.image;if(Se===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Se.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{k(Z,Q,b);return}}t.bindTexture(n.TEXTURE_2D,Z.__webglTexture,n.TEXTURE0+b)}function he(Q,b){const Z=i.get(Q);if(Q.version>0&&Z.__version!==Q.version){k(Z,Q,b);return}t.bindTexture(n.TEXTURE_2D_ARRAY,Z.__webglTexture,n.TEXTURE0+b)}function O(Q,b){const Z=i.get(Q);if(Q.version>0&&Z.__version!==Q.version){k(Z,Q,b);return}t.bindTexture(n.TEXTURE_3D,Z.__webglTexture,n.TEXTURE0+b)}function J(Q,b){const Z=i.get(Q);if(Q.version>0&&Z.__version!==Q.version){N(Z,Q,b);return}t.bindTexture(n.TEXTURE_CUBE_MAP,Z.__webglTexture,n.TEXTURE0+b)}const q={[ch]:n.REPEAT,[Yi]:n.CLAMP_TO_EDGE,[uh]:n.MIRRORED_REPEAT},W={[$n]:n.NEAREST,[lm]:n.NEAREST_MIPMAP_NEAREST,[Vl]:n.NEAREST_MIPMAP_LINEAR,[Cn]:n.LINEAR,[Uf]:n.LINEAR_MIPMAP_NEAREST,[to]:n.LINEAR_MIPMAP_LINEAR},ce={[VR]:n.NEVER,[jR]:n.ALWAYS,[WR]:n.LESS,[aI]:n.LEQUAL,[YR]:n.EQUAL,[KR]:n.GEQUAL,[JR]:n.GREATER,[XR]:n.NOTEQUAL};function Ee(Q,b,Z){if(b.type===ds&&e.has("OES_texture_float_linear")===!1&&(b.magFilter===Cn||b.magFilter===Uf||b.magFilter===Vl||b.magFilter===to||b.minFilter===Cn||b.minFilter===Uf||b.minFilter===Vl||b.minFilter===to)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),Z?(n.texParameteri(Q,n.TEXTURE_WRAP_S,q[b.wrapS]),n.texParameteri(Q,n.TEXTURE_WRAP_T,q[b.wrapT]),(Q===n.TEXTURE_3D||Q===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Q,n.TEXTURE_WRAP_R,q[b.wrapR]),n.texParameteri(Q,n.TEXTURE_MAG_FILTER,W[b.magFilter]),n.texParameteri(Q,n.TEXTURE_MIN_FILTER,W[b.minFilter])):(n.texParameteri(Q,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(Q,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(Q===n.TEXTURE_3D||Q===n.TEXTURE_2D_ARRAY)&&n.texParameteri(Q,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(b.wrapS!==Yi||b.wrapT!==Yi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(Q,n.TEXTURE_MAG_FILTER,_(b.magFilter)),n.texParameteri(Q,n.TEXTURE_MIN_FILTER,_(b.minFilter)),b.minFilter!==$n&&b.minFilter!==Cn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),b.compareFunction&&(n.texParameteri(Q,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(Q,n.TEXTURE_COMPARE_FUNC,ce[b.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Se=e.get("EXT_texture_filter_anisotropic");if(b.magFilter===$n||b.minFilter!==Vl&&b.minFilter!==to||b.type===ds&&e.has("OES_texture_float_linear")===!1||a===!1&&b.type===gc&&e.has("OES_texture_half_float_linear")===!1)return;(b.anisotropy>1||i.get(b).__currentAnisotropy)&&(n.texParameterf(Q,Se.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,r.getMaxAnisotropy())),i.get(b).__currentAnisotropy=b.anisotropy)}}function G(Q,b){let Z=!1;Q.__webglInit===void 0&&(Q.__webglInit=!0,b.addEventListener("dispose",R));const Se=b.source;let Be=d.get(Se);Be===void 0&&(Be={},d.set(Se,Be));const ye=oe(b);if(ye!==Q.__cacheKey){Be[ye]===void 0&&(Be[ye]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,Z=!0),Be[ye].usedTimes++;const Le=Be[Q.__cacheKey];Le!==void 0&&(Be[Q.__cacheKey].usedTimes--,Le.usedTimes===0&&M(b)),Q.__cacheKey=ye,Q.__webglTexture=Be[ye].texture}return Z}function k(Q,b,Z){let Se=n.TEXTURE_2D;(b.isDataArrayTexture||b.isCompressedArrayTexture)&&(Se=n.TEXTURE_2D_ARRAY),b.isData3DTexture&&(Se=n.TEXTURE_3D);const Be=G(Q,b),ye=b.source;t.bindTexture(Se,Q.__webglTexture,n.TEXTURE0+Z);const Le=i.get(ye);if(ye.version!==Le.__version||Be===!0){t.activeTexture(n.TEXTURE0+Z);const Fe=dn.getPrimaries(dn.workingColorSpace),ze=b.colorSpace===Hr?null:dn.getPrimaries(b.colorSpace),Ne=b.colorSpace===Hr||Fe===ze?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,Ne);const je=g(b)&&v(b.image)===!1;let De=I(b.image,je,!1,r.maxTextureSize);De=X(b,De);const Et=v(De)||a,Ze=s.convert(b.format,b.colorSpace);let it=s.convert(b.type),Ye=x(b.internalFormat,Ze,it,b.colorSpace,b.isVideoTexture);Ee(Se,b,Et);let ke;const et=b.mipmaps,vt=a&&b.isVideoTexture!==!0&&Ye!==rI,Bt=Le.__version===void 0||Be===!0,tt=ye.dataReady,Ct=w(b,De,Et);if(b.isDepthTexture)Ye=n.DEPTH_COMPONENT,a?b.type===ds?Ye=n.DEPTH_COMPONENT32F:b.type===To?Ye=n.DEPTH_COMPONENT24:b.type===Ha?Ye=n.DEPTH24_STENCIL8:Ye=n.DEPTH_COMPONENT16:b.type===ds&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),b.format===za&&Ye===n.DEPTH_COMPONENT&&b.type!==Lm&&b.type!==To&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),b.type=To,it=s.convert(b.type)),b.format===mc&&Ye===n.DEPTH_COMPONENT&&(Ye=n.DEPTH_STENCIL,b.type!==Ha&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=Ha,it=s.convert(b.type))),Bt&&(vt?t.texStorage2D(n.TEXTURE_2D,1,Ye,De.width,De.height):t.texImage2D(n.TEXTURE_2D,0,Ye,De.width,De.height,0,Ze,it,null));else if(b.isDataTexture)if(et.length>0&&Et){vt&&Bt&&t.texStorage2D(n.TEXTURE_2D,Ct,Ye,et[0].width,et[0].height);for(let ie=0,Je=et.length;ie>=1,Je>>=1}}else if(et.length>0&&Et){vt&&Bt&&t.texStorage2D(n.TEXTURE_2D,Ct,Ye,et[0].width,et[0].height);for(let ie=0,Je=et.length;ie0&&tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,tt,ke,De[0].width,De[0].height));for(let ie=0;ie<6;ie++)if(je){et?Bt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+ie,0,0,0,De[ie].width,De[ie].height,it,Ye,De[ie].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+ie,0,ke,De[ie].width,De[ie].height,0,it,Ye,De[ie].data);for(let Je=0;Je>ye),De=Math.max(1,b.height>>ye);Be===n.TEXTURE_3D||Be===n.TEXTURE_2D_ARRAY?t.texImage3D(Be,ye,ze,je,De,b.depth,0,Le,Fe,null):t.texImage2D(Be,ye,ze,je,De,0,Le,Fe,null)}t.bindFramebuffer(n.FRAMEBUFFER,Q),ue(b)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Se,Be,i.get(Z).__webglTexture,0,le(b)):(Be===n.TEXTURE_2D||Be>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Be<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Se,Be,i.get(Z).__webglTexture,ye),t.bindFramebuffer(n.FRAMEBUFFER,null)}function ae(Q,b,Z){if(n.bindRenderbuffer(n.RENDERBUFFER,Q),b.depthBuffer&&!b.stencilBuffer){let Se=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(Z||ue(b)){const Be=b.depthTexture;Be&&Be.isDepthTexture&&(Be.type===ds?Se=n.DEPTH_COMPONENT32F:Be.type===To&&(Se=n.DEPTH_COMPONENT24));const ye=le(b);ue(b)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,ye,Se,b.width,b.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,ye,Se,b.width,b.height)}else n.renderbufferStorage(n.RENDERBUFFER,Se,b.width,b.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,Q)}else if(b.depthBuffer&&b.stencilBuffer){const Se=le(b);Z&&ue(b)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,b.width,b.height):ue(b)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Se,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,Q)}else{const Se=b.isWebGLMultipleRenderTargets===!0?b.texture:[b.texture];for(let Be=0;Be0){Z.__webglFramebuffer[Fe]=[];for(let ze=0;ze0){Z.__webglFramebuffer=[];for(let Fe=0;Fe0&&ue(Q)===!1){const Fe=ye?b:[b];Z.__webglMultisampledFramebuffer=n.createFramebuffer(),Z.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,Z.__webglMultisampledFramebuffer);for(let ze=0;ze0)for(let ze=0;ze0)for(let ze=0;ze0&&ue(Q)===!1){const b=Q.isWebGLMultipleRenderTargets?Q.texture:[Q.texture],Z=Q.width,Se=Q.height;let Be=n.COLOR_BUFFER_BIT;const ye=[],Le=Q.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Fe=i.get(Q),ze=Q.isWebGLMultipleRenderTargets===!0;if(ze)for(let Ne=0;Ne0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&b.__useRenderToTexture!==!1}function we(Q){const b=o.render.frame;u.get(Q)!==b&&(u.set(Q,b),Q.update())}function X(Q,b){const Z=Q.colorSpace,Se=Q.format,Be=Q.type;return Q.isCompressedTexture===!0||Q.isVideoTexture===!0||Q.format===cm||Z!==ao&&Z!==Hr&&(dn.getTransfer(Z)===In?a===!1?e.has("EXT_sRGB")===!0&&Se===ar?(Q.format=cm,Q.minFilter=Cn,Q.generateMipmaps=!1):b=cI.sRGBToLinear(b):(Se!==ar||Be!==oo)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Z)),b}this.allocateTextureUnit=V,this.resetTextureUnits=se,this.setTexture2D=ee,this.setTexture2DArray=he,this.setTexture3D=O,this.setTextureCube=J,this.rebindTextures=pe,this.setupRenderTarget=U,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=re,this.setupDepthRenderbuffer=fe,this.setupFrameBufferTexture=L,this.useMultisampledRTT=ue}function AT(n,e,t){const i=t.isWebGL2;function r(s,o=Hr){let a;const l=dn.getTransfer(o);if(s===oo)return n.UNSIGNED_BYTE;if(s===$C)return n.UNSIGNED_SHORT_4_4_4_4;if(s===eI)return n.UNSIGNED_SHORT_5_5_5_1;if(s===TR)return n.BYTE;if(s===DR)return n.SHORT;if(s===Lm)return n.UNSIGNED_SHORT;if(s===ZC)return n.INT;if(s===To)return n.UNSIGNED_INT;if(s===ds)return n.FLOAT;if(s===gc)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===bR)return n.ALPHA;if(s===ar)return n.RGBA;if(s===LR)return n.LUMINANCE;if(s===PR)return n.LUMINANCE_ALPHA;if(s===za)return n.DEPTH_COMPONENT;if(s===mc)return n.DEPTH_STENCIL;if(s===cm)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===UR)return n.RED;if(s===tI)return n.RED_INTEGER;if(s===NR)return n.RG;if(s===nI)return n.RG_INTEGER;if(s===iI)return n.RGBA_INTEGER;if(s===xg||s===Sg||s===wg||s===_g)if(l===In)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===xg)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Sg)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===wg)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===_g)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===xg)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Sg)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===wg)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===_g)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===$E||s===e1||s===t1||s===n1)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===$E)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===e1)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===t1)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===n1)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===rI)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===i1||s===r1)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===i1)return l===In?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===r1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===s1||s===o1||s===a1||s===l1||s===c1||s===u1||s===A1||s===f1||s===h1||s===d1||s===p1||s===g1||s===m1||s===v1)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===s1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===o1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===a1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===l1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===c1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===u1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===A1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===f1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===h1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===d1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===p1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===g1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===m1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===v1)return l===In?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Mg||s===y1||s===E1)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Mg)return l===In?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===y1)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===E1)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===kR||s===C1||s===I1||s===B1)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Mg)return a.COMPRESSED_RED_RGTC1_EXT;if(s===C1)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===I1)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===B1)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Ha?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class fT extends ui{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Do extends Vt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const z5={type:"move"};class ay{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Do,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 Do,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new K,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new K),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Do,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new K,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new K),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const I of e.hand.values()){const v=t.getJointPose(I,i),g=this._getHandJoint(c,I);v!==null&&(g.matrix.fromArray(v.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=v.radius),g.visible=v!==null}const u=c.joints["index-finger-tip"],h=c.joints["thumb-tip"],d=u.position.distanceTo(h.position),p=.02,m=.005;c.inputState.pinching&&d>p+m?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&d<=p-m&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(z5)))}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 Do;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const V5=` void main() { gl_Position = vec4( position, 1.0 ); -}`,V5=` +}`,W5=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3800,7 +3800,7 @@ void main() { } -}`;class W5{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new Qn,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 Os({extensions:{fragDepth:!0},vertexShader:z5,fragmentShader:V5,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new rn(new Gs(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class Y5 extends Vo{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,c=null,u=null,h=null,d=null,p=null,m=null;const I=new W5,v=t.getContextAttributes();let g=null,y=null;const E=[],x=[],w=new Te;let _=null;const R=new ui;R.layers.enable(1),R.viewport=new ln;const D=new ui;D.layers.enable(2),D.viewport=new ln;const Y=[R,D],Q=new AT;Q.layers.enable(1),Q.layers.enable(2);let P=null,z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(G){let k=E[G];return k===void 0&&(k=new ay,E[G]=k),k.getTargetRaySpace()},this.getControllerGrip=function(G){let k=E[G];return k===void 0&&(k=new ay,E[G]=k),k.getGripSpace()},this.getHand=function(G){let k=E[G];return k===void 0&&(k=new ay,E[G]=k),k.getHandSpace()};function ne(G){const k=x.indexOf(G.inputSource);if(k===-1)return;const N=E[k];N!==void 0&&(N.update(G.inputSource,G.frame,c||o),N.dispatchEvent({type:G.type,data:G.inputSource}))}function V(){r.removeEventListener("select",ne),r.removeEventListener("selectstart",ne),r.removeEventListener("selectend",ne),r.removeEventListener("squeeze",ne),r.removeEventListener("squeezestart",ne),r.removeEventListener("squeezeend",ne),r.removeEventListener("end",V),r.removeEventListener("inputsourceschange",ae);for(let G=0;G=0&&(x[L]=null,E[L].disconnect(N))}for(let k=0;k=x.length){x.push(N),L=de;break}else if(x[de]===null){x[de]=N,L=de;break}if(L===-1)break}const oe=E[L];oe&&oe.connect(N)}}const ee=new K,he=new K;function O(G,k,N){ee.setFromMatrixPosition(k.matrixWorld),he.setFromMatrixPosition(N.matrixWorld);const L=ee.distanceTo(he),oe=k.projectionMatrix.elements,de=N.projectionMatrix.elements,fe=oe[14]/(oe[10]-1),pe=oe[14]/(oe[10]+1),U=(oe[9]+1)/oe[5],me=(oe[9]-1)/oe[5],se=(oe[8]-1)/oe[0],le=(de[8]+1)/de[0],ue=fe*se,we=fe*le,X=L/(-se+le),M=X*-se;k.matrixWorld.decompose(G.position,G.quaternion,G.scale),G.translateX(M),G.translateZ(X),G.matrixWorld.compose(G.position,G.quaternion,G.scale),G.matrixWorldInverse.copy(G.matrixWorld).invert();const b=fe+X,q=pe+X,Se=ue-M,Be=we+(L-M),ye=U*pe/q*b,Le=me*pe/q*b;G.projectionMatrix.makePerspective(Se,Be,ye,Le,b,q),G.projectionMatrixInverse.copy(G.projectionMatrix).invert()}function J(G,k){k===null?G.matrixWorld.copy(G.matrix):G.matrixWorld.multiplyMatrices(k.matrixWorld,G.matrix),G.matrixWorldInverse.copy(G.matrixWorld).invert()}this.updateCamera=function(G){if(r===null)return;I.texture!==null&&(G.near=I.depthNear,G.far=I.depthFar),Q.near=D.near=R.near=G.near,Q.far=D.far=R.far=G.far,(P!==Q.near||z!==Q.far)&&(r.updateRenderState({depthNear:Q.near,depthFar:Q.far}),P=Q.near,z=Q.far,R.near=P,R.far=z,D.near=P,D.far=z,R.updateProjectionMatrix(),D.updateProjectionMatrix(),G.updateProjectionMatrix());const k=G.parent,N=Q.cameras;J(Q,k);for(let L=0;L0&&(v.alphaTest.value=g.alphaTest);const y=e.get(g).envMap;if(y&&(v.envMap.value=y,v.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,v.reflectivity.value=g.reflectivity,v.ior.value=g.ior,v.refractionRatio.value=g.refractionRatio),g.lightMap){v.lightMap.value=g.lightMap;const E=n._useLegacyLights===!0?Math.PI:1;v.lightMapIntensity.value=g.lightMapIntensity*E,t(g.lightMap,v.lightMapTransform)}g.aoMap&&(v.aoMap.value=g.aoMap,v.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,v.aoMapTransform))}function o(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform))}function a(v,g){v.dashSize.value=g.dashSize,v.totalSize.value=g.dashSize+g.gapSize,v.scale.value=g.scale}function l(v,g,y,E){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.size.value=g.size*y,v.scale.value=E*.5,g.map&&(v.map.value=g.map,t(g.map,v.uvTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function c(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.rotation.value=g.rotation,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function u(v,g){v.specular.value.copy(g.specular),v.shininess.value=Math.max(g.shininess,1e-4)}function h(v,g){g.gradientMap&&(v.gradientMap.value=g.gradientMap)}function d(v,g){v.metalness.value=g.metalness,g.metalnessMap&&(v.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,v.metalnessMapTransform)),v.roughness.value=g.roughness,g.roughnessMap&&(v.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,v.roughnessMapTransform)),e.get(g).envMap&&(v.envMapIntensity.value=g.envMapIntensity)}function p(v,g,y){v.ior.value=g.ior,g.sheen>0&&(v.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),v.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(v.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,v.sheenColorMapTransform)),g.sheenRoughnessMap&&(v.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,v.sheenRoughnessMapTransform))),g.clearcoat>0&&(v.clearcoat.value=g.clearcoat,v.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(v.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,v.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(v.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,v.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(v.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,v.clearcoatNormalMapTransform),v.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Xi&&v.clearcoatNormalScale.value.negate())),g.iridescence>0&&(v.iridescence.value=g.iridescence,v.iridescenceIOR.value=g.iridescenceIOR,v.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],v.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(v.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,v.iridescenceMapTransform)),g.iridescenceThicknessMap&&(v.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,v.iridescenceThicknessMapTransform))),g.transmission>0&&(v.transmission.value=g.transmission,v.transmissionSamplerMap.value=y.texture,v.transmissionSamplerSize.value.set(y.width,y.height),g.transmissionMap&&(v.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,v.transmissionMapTransform)),v.thickness.value=g.thickness,g.thicknessMap&&(v.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,v.thicknessMapTransform)),v.attenuationDistance.value=g.attenuationDistance,v.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(v.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(v.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,v.anisotropyMapTransform))),v.specularIntensity.value=g.specularIntensity,v.specularColor.value.copy(g.specularColor),g.specularColorMap&&(v.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,v.specularColorMapTransform)),g.specularIntensityMap&&(v.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,v.specularIntensityMapTransform))}function m(v,g){g.matcap&&(v.matcap.value=g.matcap)}function I(v,g){const y=e.get(g).light;v.referencePosition.value.setFromMatrixPosition(y.matrixWorld),v.nearDistance.value=y.shadow.camera.near,v.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function X5(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,E){const x=E.program;i.uniformBlockBinding(y,x)}function c(y,E){let x=r[y.id];x===void 0&&(m(y),x=u(y),r[y.id]=x,y.addEventListener("dispose",v));const w=E.program;i.updateUBOMapping(y,w);const _=e.render.frame;s[y.id]!==_&&(d(y),s[y.id]=_)}function u(y){const E=h();y.__bindingPointIndex=E;const x=n.createBuffer(),w=y.__size,_=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,x),n.bufferData(n.UNIFORM_BUFFER,w,_),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,E,x),x}function h(){for(let y=0;y0&&(x+=w-_),y.__size=x,y.__cache={},this}function I(y){const E={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(E.boundary=4,E.storage=4):y.isVector2?(E.boundary=8,E.storage=8):y.isVector3||y.isColor?(E.boundary=16,E.storage=12):y.isVector4?(E.boundary=16,E.storage=16):y.isMatrix3?(E.boundary=48,E.storage=48):y.isMatrix4?(E.boundary=64,E.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),E}function v(y){const E=y.target;E.removeEventListener("dispose",v);const x=o.indexOf(E.__bindingPointIndex);o.splice(x,1),n.deleteBuffer(r[E.id]),delete r[E.id],delete s[E.id]}function g(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:c,dispose:g}}class gI{constructor(e={}){const{canvas:t=ZR(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let d;i!==null?d=i.getContextAttributes().alpha:d=o;const p=new Uint32Array(4),m=new Int32Array(4);let I=null,v=null;const g=[],y=[];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=Yn,this._useLegacyLights=!1,this.toneMapping=so,this.toneMappingExposure=1;const E=this;let x=!1,w=0,_=0,R=null,D=-1,Y=null;const Q=new ln,P=new ln;let z=null;const ne=new st(0);let V=0,ae=t.width,ee=t.height,he=1,O=null,J=null;const Z=new ln(0,0,ae,ee),W=new ln(0,0,ae,ee);let ce=!1;const Ee=new Gh;let G=!1,k=!1,N=null;const L=new _t,oe=new Te,de=new K,fe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function pe(){return R===null?he:1}let U=i;function me(j,xe){for(let Re=0;Re{function rt(){if(be.forEach(function(vt){X.get(vt).currentProgram.isReady()&&be.delete(vt)}),be.size===0){Me(j);return}setTimeout(rt,10)}se.get("KHR_parallel_shader_compile")!==null?rt():setTimeout(rt,10)})};let Qt=null;function $t(j){Qt&&Qt(j)}function Wt(){Gt.stop()}function Rt(){Gt.start()}const Gt=new rT;Gt.setAnimationLoop($t),typeof self<"u"&&Gt.setContext(self),this.setAnimationLoop=function(j){Qt=j,tt.setAnimationLoop(j),j===null?Gt.stop():Gt.start()},tt.addEventListener("sessionstart",Wt),tt.addEventListener("sessionend",Rt),this.render=function(j,xe){if(xe!==void 0&&xe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(x===!0)return;j.matrixWorldAutoUpdate===!0&&j.updateMatrixWorld(),xe.parent===null&&xe.matrixWorldAutoUpdate===!0&&xe.updateMatrixWorld(),tt.enabled===!0&&tt.isPresenting===!0&&(tt.cameraAutoUpdate===!0&&tt.updateCamera(xe),xe=tt.getCamera()),j.isScene===!0&&j.onBeforeRender(E,j,xe,R),v=Ne.get(j,y.length),v.init(),y.push(v),L.multiplyMatrices(xe.projectionMatrix,xe.matrixWorldInverse),Ee.setFromProjectionMatrix(L),k=this.localClippingEnabled,G=je.init(this.clippingPlanes,k),I=ze.get(j,g.length),I.init(),g.push(I),An(j,xe,0,E.sortObjects),I.finish(),E.sortObjects===!0&&I.sort(O,J),this.info.render.frame++,G===!0&&je.beginShadows();const Re=v.state.shadowsArray;if(De.render(Re,j,xe),G===!0&&je.endShadows(),this.info.autoReset===!0&&this.info.reset(),(tt.enabled===!1||tt.isPresenting===!1||tt.hasDepthSensing()===!1)&&yt.render(I,j),v.setupLights(E._useLegacyLights),xe.isArrayCamera){const be=xe.cameras;for(let Me=0,rt=be.length;Me0?v=y[y.length-1]:v=null,g.pop(),g.length>0?I=g[g.length-1]:I=null};function An(j,xe,Re,be){if(j.visible===!1)return;if(j.layers.test(xe.layers)){if(j.isGroup)Re=j.renderOrder;else if(j.isLOD)j.autoUpdate===!0&&j.update(xe);else if(j.isLight)v.pushLight(j),j.castShadow&&v.pushShadow(j);else if(j.isSprite){if(!j.frustumCulled||Ee.intersectsSprite(j)){be&&de.setFromMatrixPosition(j.matrixWorld).applyMatrix4(L);const vt=ye.update(j),Mt=j.material;Mt.visible&&I.push(j,vt,Mt,Re,de.z,null)}}else if((j.isMesh||j.isLine||j.isPoints)&&(!j.frustumCulled||Ee.intersectsObject(j))){const vt=ye.update(j),Mt=j.material;if(be&&(j.boundingSphere!==void 0?(j.boundingSphere===null&&j.computeBoundingSphere(),de.copy(j.boundingSphere.center)):(vt.boundingSphere===null&&vt.computeBoundingSphere(),de.copy(vt.boundingSphere.center)),de.applyMatrix4(j.matrixWorld).applyMatrix4(L)),Array.isArray(Mt)){const Ge=vt.groups;for(let Tt=0,bt=Ge.length;Tt0&&vn(Me,rt,xe,Re),be&&ue.viewport(Q.copy(be)),Me.length>0&&Dn(Me,xe,Re),rt.length>0&&Dn(rt,xe,Re),vt.length>0&&Dn(vt,xe,Re),ue.buffers.depth.setTest(!0),ue.buffers.depth.setMask(!0),ue.buffers.color.setMask(!0),ue.setPolygonOffset(!1)}function vn(j,xe,Re,be){if((Re.isScene===!0?Re.overrideMaterial:null)!==null)return;const rt=le.isWebGL2;N===null&&(N=new Es(1,1,{generateMipmaps:!0,type:se.has("EXT_color_buffer_half_float")?gc:oo,minFilter:to,samples:rt?4:0})),E.getDrawingBufferSize(oe),rt?N.setSize(oe.x,oe.y):N.setSize(um(oe.x),um(oe.y));const vt=E.getRenderTarget();E.setRenderTarget(N),E.getClearColor(ne),V=E.getClearAlpha(),V<1&&E.setClearColor(16777215,.5),E.clear();const Mt=E.toneMapping;E.toneMapping=so,Dn(j,Re,be),M.updateMultisampleRenderTarget(N),M.updateRenderTargetMipmap(N);let Ge=!1;for(let Tt=0,bt=xe.length;Tt0),St=!!Re.morphAttributes.position,cn=!!Re.morphAttributes.normal,Hn=!!Re.morphAttributes.color;let sn=so;be.toneMapped&&(R===null||R.isXRRenderTarget===!0)&&(sn=E.toneMapping);const yn=Re.morphAttributes.position||Re.morphAttributes.normal||Re.morphAttributes.color,gt=yn!==void 0?yn.length:0,lt=X.get(be),ni=v.state.lights;if(G===!0&&(k===!0||j!==Y)){const We=j===Y&&be.id===D;je.setState(be,j,We)}let F=!1;be.version===lt.__version?(lt.needsLights&<.lightsStateVersion!==ni.state.version||lt.outputColorSpace!==Mt||Me.isBatchedMesh&<.batching===!1||!Me.isBatchedMesh&<.batching===!0||Me.isInstancedMesh&<.instancing===!1||!Me.isInstancedMesh&<.instancing===!0||Me.isSkinnedMesh&<.skinning===!1||!Me.isSkinnedMesh&<.skinning===!0||Me.isInstancedMesh&<.instancingColor===!0&&Me.instanceColor===null||Me.isInstancedMesh&<.instancingColor===!1&&Me.instanceColor!==null||lt.envMap!==Ge||be.fog===!0&<.fog!==rt||lt.numClippingPlanes!==void 0&&(lt.numClippingPlanes!==je.numPlanes||lt.numIntersection!==je.numIntersection)||lt.vertexAlphas!==Tt||lt.vertexTangents!==bt||lt.morphTargets!==St||lt.morphNormals!==cn||lt.morphColors!==Hn||lt.toneMapping!==sn||le.isWebGL2===!0&<.morphTargetsCount!==gt)&&(F=!0):(F=!0,lt.__version=be.version);let H=lt.currentProgram;F===!0&&(H=hn(be,xe,Me));let Ae=!1,ge=!1,Ce=!1;const Qe=H.getUniforms(),Oe=lt.uniforms;if(ue.useProgram(H.program)&&(Ae=!0,ge=!0,Ce=!0),be.id!==D&&(D=be.id,ge=!0),Ae||Y!==j){Qe.setValue(U,"projectionMatrix",j.projectionMatrix),Qe.setValue(U,"viewMatrix",j.matrixWorldInverse);const We=Qe.map.cameraPosition;We!==void 0&&We.setValue(U,de.setFromMatrixPosition(j.matrixWorld)),le.logarithmicDepthBuffer&&Qe.setValue(U,"logDepthBufFC",2/(Math.log(j.far+1)/Math.LN2)),(be.isMeshPhongMaterial||be.isMeshToonMaterial||be.isMeshLambertMaterial||be.isMeshBasicMaterial||be.isMeshStandardMaterial||be.isShaderMaterial)&&Qe.setValue(U,"isOrthographic",j.isOrthographicCamera===!0),Y!==j&&(Y=j,ge=!0,Ce=!0)}if(Me.isSkinnedMesh){Qe.setOptional(U,Me,"bindMatrix"),Qe.setOptional(U,Me,"bindMatrixInverse");const We=Me.skeleton;We&&(le.floatVertexTextures?(We.boneTexture===null&&We.computeBoneTexture(),Qe.setValue(U,"boneTexture",We.boneTexture,M)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Me.isBatchedMesh&&(Qe.setOptional(U,Me,"batchingTexture"),Qe.setValue(U,"batchingTexture",Me._matricesTexture,M));const He=Re.morphAttributes;if((He.position!==void 0||He.normal!==void 0||He.color!==void 0&&le.isWebGL2===!0)&&Ze.update(Me,Re,H),(ge||lt.receiveShadow!==Me.receiveShadow)&&(lt.receiveShadow=Me.receiveShadow,Qe.setValue(U,"receiveShadow",Me.receiveShadow)),be.isMeshGouraudMaterial&&be.envMap!==null&&(Oe.envMap.value=Ge,Oe.flipEnvMap.value=Ge.isCubeTexture&&Ge.isRenderTargetTexture===!1?-1:1),ge&&(Qe.setValue(U,"toneMappingExposure",E.toneMappingExposure),lt.needsLights&&Qr(Oe,Ce),rt&&be.fog===!0&&Fe.refreshFogUniforms(Oe,rt),Fe.refreshMaterialUniforms(Oe,be,he,ee,N),Rg.upload(U,Gn(lt),Oe,M)),be.isShaderMaterial&&be.uniformsNeedUpdate===!0&&(Rg.upload(U,Gn(lt),Oe,M),be.uniformsNeedUpdate=!1),be.isSpriteMaterial&&Qe.setValue(U,"center",Me.center),Qe.setValue(U,"modelViewMatrix",Me.modelViewMatrix),Qe.setValue(U,"normalMatrix",Me.normalMatrix),Qe.setValue(U,"modelMatrix",Me.matrixWorld),be.isShaderMaterial||be.isRawShaderMaterial){const We=be.uniformsGroups;for(let Ve=0,$e=We.length;Ve<$e;Ve++)if(le.isWebGL2){const Ct=We[Ve];mt.update(Ct,H),mt.bind(Ct,H)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return H}function Qr(j,xe){j.ambientLightColor.needsUpdate=xe,j.lightProbe.needsUpdate=xe,j.directionalLights.needsUpdate=xe,j.directionalLightShadows.needsUpdate=xe,j.pointLights.needsUpdate=xe,j.pointLightShadows.needsUpdate=xe,j.spotLights.needsUpdate=xe,j.spotLightShadows.needsUpdate=xe,j.rectAreaLights.needsUpdate=xe,j.hemisphereLights.needsUpdate=xe}function ul(j){return j.isMeshLambertMaterial||j.isMeshToonMaterial||j.isMeshPhongMaterial||j.isMeshStandardMaterial||j.isShadowMaterial||j.isShaderMaterial&&j.lights===!0}this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return _},this.getRenderTarget=function(){return R},this.setRenderTargetTextures=function(j,xe,Re){X.get(j.texture).__webglTexture=xe,X.get(j.depthTexture).__webglTexture=Re;const be=X.get(j);be.__hasExternalTextures=!0,be.__hasExternalTextures&&(be.__autoAllocateDepthBuffer=Re===void 0,be.__autoAllocateDepthBuffer||se.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),be.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(j,xe){const Re=X.get(j);Re.__webglFramebuffer=xe,Re.__useDefaultFramebuffer=xe===void 0},this.setRenderTarget=function(j,xe=0,Re=0){R=j,w=xe,_=Re;let be=!0,Me=null,rt=!1,vt=!1;if(j){const Ge=X.get(j);Ge.__useDefaultFramebuffer!==void 0?(ue.bindFramebuffer(U.FRAMEBUFFER,null),be=!1):Ge.__webglFramebuffer===void 0?M.setupRenderTarget(j):Ge.__hasExternalTextures&&M.rebindTextures(j,X.get(j.texture).__webglTexture,X.get(j.depthTexture).__webglTexture);const Tt=j.texture;(Tt.isData3DTexture||Tt.isDataArrayTexture||Tt.isCompressedArrayTexture)&&(vt=!0);const bt=X.get(j).__webglFramebuffer;j.isWebGLCubeRenderTarget?(Array.isArray(bt[xe])?Me=bt[xe][Re]:Me=bt[xe],rt=!0):le.isWebGL2&&j.samples>0&&M.useMultisampledRTT(j)===!1?Me=X.get(j).__webglMultisampledFramebuffer:Array.isArray(bt)?Me=bt[Re]:Me=bt,Q.copy(j.viewport),P.copy(j.scissor),z=j.scissorTest}else Q.copy(Z).multiplyScalar(he).floor(),P.copy(W).multiplyScalar(he).floor(),z=ce;if(ue.bindFramebuffer(U.FRAMEBUFFER,Me)&&le.drawBuffers&&be&&ue.drawBuffers(j,Me),ue.viewport(Q),ue.scissor(P),ue.setScissorTest(z),rt){const Ge=X.get(j.texture);U.framebufferTexture2D(U.FRAMEBUFFER,U.COLOR_ATTACHMENT0,U.TEXTURE_CUBE_MAP_POSITIVE_X+xe,Ge.__webglTexture,Re)}else if(vt){const Ge=X.get(j.texture),Tt=xe||0;U.framebufferTextureLayer(U.FRAMEBUFFER,U.COLOR_ATTACHMENT0,Ge.__webglTexture,Re||0,Tt)}D=-1},this.readRenderTargetPixels=function(j,xe,Re,be,Me,rt,vt){if(!(j&&j.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Mt=X.get(j).__webglFramebuffer;if(j.isWebGLCubeRenderTarget&&vt!==void 0&&(Mt=Mt[vt]),Mt){ue.bindFramebuffer(U.FRAMEBUFFER,Mt);try{const Ge=j.texture,Tt=Ge.format,bt=Ge.type;if(Tt!==ar&&ke.convert(Tt)!==U.getParameter(U.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const St=bt===gc&&(se.has("EXT_color_buffer_half_float")||le.isWebGL2&&se.has("EXT_color_buffer_float"));if(bt!==oo&&ke.convert(bt)!==U.getParameter(U.IMPLEMENTATION_COLOR_READ_TYPE)&&!(bt===ds&&(le.isWebGL2||se.has("OES_texture_float")||se.has("WEBGL_color_buffer_float")))&&!St){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}xe>=0&&xe<=j.width-be&&Re>=0&&Re<=j.height-Me&&U.readPixels(xe,Re,be,Me,ke.convert(Tt),ke.convert(bt),rt)}finally{const Ge=R!==null?X.get(R).__webglFramebuffer:null;ue.bindFramebuffer(U.FRAMEBUFFER,Ge)}}},this.copyFramebufferToTexture=function(j,xe,Re=0){const be=Math.pow(2,-Re),Me=Math.floor(xe.image.width*be),rt=Math.floor(xe.image.height*be);M.setTexture2D(xe,0),U.copyTexSubImage2D(U.TEXTURE_2D,Re,0,0,j.x,j.y,Me,rt),ue.unbindTexture()},this.copyTextureToTexture=function(j,xe,Re,be=0){const Me=xe.image.width,rt=xe.image.height,vt=ke.convert(Re.format),Mt=ke.convert(Re.type);M.setTexture2D(Re,0),U.pixelStorei(U.UNPACK_FLIP_Y_WEBGL,Re.flipY),U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Re.premultiplyAlpha),U.pixelStorei(U.UNPACK_ALIGNMENT,Re.unpackAlignment),xe.isDataTexture?U.texSubImage2D(U.TEXTURE_2D,be,j.x,j.y,Me,rt,vt,Mt,xe.image.data):xe.isCompressedTexture?U.compressedTexSubImage2D(U.TEXTURE_2D,be,j.x,j.y,xe.mipmaps[0].width,xe.mipmaps[0].height,vt,xe.mipmaps[0].data):U.texSubImage2D(U.TEXTURE_2D,be,j.x,j.y,vt,Mt,xe.image),be===0&&Re.generateMipmaps&&U.generateMipmap(U.TEXTURE_2D),ue.unbindTexture()},this.copyTextureToTexture3D=function(j,xe,Re,be,Me=0){if(E.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const rt=j.max.x-j.min.x+1,vt=j.max.y-j.min.y+1,Mt=j.max.z-j.min.z+1,Ge=ke.convert(be.format),Tt=ke.convert(be.type);let bt;if(be.isData3DTexture)M.setTexture3D(be,0),bt=U.TEXTURE_3D;else if(be.isDataArrayTexture||be.isCompressedArrayTexture)M.setTexture2DArray(be,0),bt=U.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}U.pixelStorei(U.UNPACK_FLIP_Y_WEBGL,be.flipY),U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,be.premultiplyAlpha),U.pixelStorei(U.UNPACK_ALIGNMENT,be.unpackAlignment);const St=U.getParameter(U.UNPACK_ROW_LENGTH),cn=U.getParameter(U.UNPACK_IMAGE_HEIGHT),Hn=U.getParameter(U.UNPACK_SKIP_PIXELS),sn=U.getParameter(U.UNPACK_SKIP_ROWS),yn=U.getParameter(U.UNPACK_SKIP_IMAGES),gt=Re.isCompressedTexture?Re.mipmaps[Me]:Re.image;U.pixelStorei(U.UNPACK_ROW_LENGTH,gt.width),U.pixelStorei(U.UNPACK_IMAGE_HEIGHT,gt.height),U.pixelStorei(U.UNPACK_SKIP_PIXELS,j.min.x),U.pixelStorei(U.UNPACK_SKIP_ROWS,j.min.y),U.pixelStorei(U.UNPACK_SKIP_IMAGES,j.min.z),Re.isDataTexture||Re.isData3DTexture?U.texSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,vt,Mt,Ge,Tt,gt.data):Re.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),U.compressedTexSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,vt,Mt,Ge,gt.data)):U.texSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,vt,Mt,Ge,Tt,gt),U.pixelStorei(U.UNPACK_ROW_LENGTH,St),U.pixelStorei(U.UNPACK_IMAGE_HEIGHT,cn),U.pixelStorei(U.UNPACK_SKIP_PIXELS,Hn),U.pixelStorei(U.UNPACK_SKIP_ROWS,sn),U.pixelStorei(U.UNPACK_SKIP_IMAGES,yn),Me===0&&be.generateMipmaps&&U.generateMipmap(bt),ue.unbindTexture()},this.initTexture=function(j){j.isCubeTexture?M.setTextureCube(j,0):j.isData3DTexture?M.setTexture3D(j,0):j.isDataArrayTexture||j.isCompressedArrayTexture?M.setTexture2DArray(j,0):M.setTexture2D(j,0),ue.unbindTexture()},this.resetState=function(){w=0,_=0,R=null,ue.reset(),et.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return no}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Nm?"display-p3":"srgb",t.unpackColorSpace=dn.workingColorSpace===kh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Yn?Va:oI}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Va?Yn:ao}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 fT extends gI{}fT.prototype.isWebGL1Renderer=!0;class Om{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new st(e),this.density=t}clone(){return new Om(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Gm{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new st(e),this.near=t,this.far=i}clone(){return new Gm(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class vc extends Vt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Hm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=mh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Jr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ic("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:af.clone(),uv:zr.getInterpolation(af,wp,cf,_p,Sw,ly,ww,new Te),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 Mp(n,e,t,i,r,s){uu.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(lf.x=s*uu.x-r*uu.y,lf.y=r*uu.x+s*uu.y):lf.copy(uu),n.copy(e),n.x+=lf.x,n.y+=lf.y,n.applyMatrix4(hT)}const Qp=new K,_w=new K;class pT extends Vt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){Qp.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Qp);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Qp.setFromMatrixPosition(e.matrixWorld),_w.setFromMatrixPosition(this.matrixWorld);const i=Qp.distanceTo(_w)/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 fu="batchId",xa=new _t,Uw=new _t,tO=new _t,Nw=new _t,Ay=new Gh,Dp=new ai,Ql=new fi,ff=new K,fy=new eO,zi=new rn,bp=[];function nO(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 un(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(fu,new un(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(fu))throw new Error(`BatchedMesh: Geometry cannot use attribute "${fu}"`);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===fu)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 ai);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(),u=c!==null;if(u&&(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 h=this._visibility,d=this._active,p=this._matricesTexture,m=this._matricesTexture.image.data;h.push(!0),d.push(!0);const I=this._geometryCount;this._geometryCount++,tO.toArray(m,I*16),p.needsUpdate=!0,o.push(r),a.push({start:u?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new ai,sphereInitialized:!1,sphere:new fi});const v=this.geometry.getAttribute(fu);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,c=a.vertexCount;for(const p in i.attributes){if(p===fu)continue;const m=t.getAttribute(p),I=i.getAttribute(p);nO(m,I,l);const v=m.itemSize;for(let g=m.count,y=c;g=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,c=this._drawRanges[e];for(let u=c.start,h=c.start+c.count;u=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;zi.material=this.material,zi.geometry.index=l.index,zi.geometry.attributes=l.attributes,zi.geometry.boundingBox===null&&(zi.geometry.boundingBox=new ai),zi.geometry.boundingSphere===null&&(zi.geometry.boundingSphere=new fi);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,u=this._multiDrawStarts,h=this._multiDrawCounts,d=this._drawRanges,p=this.perObjectFrustumCulled;p&&(Nw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Ay.setFromProjectionMatrix(Nw,e.coordinateSystem));let m=0;if(this.sortObjects){Uw.copy(this.matrixWorld).invert(),ff.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Uw);for(let g=0,y=c.length;gl)continue;d.applyMatrix4(this.matrixWorld);const D=e.ray.origin.distanceTo(d);De.far||t.push({distance:D,point:h.clone().applyMatrix4(this.matrixWorld),index:E,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),y=Math.min(v.count,o.start+o.count);for(let E=g,x=y-1;El)continue;d.applyMatrix4(this.matrixWorld);const _=e.ray.origin.distanceTo(d);_e.far||t.push({distance:_,point:h.clone().applyMatrix4(this.matrixWorld),index:E,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class ET extends Qn{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:Cn,this.magFilter=s!==void 0?s:Cn,this.generateMipmaps=!1;const u=this;function h(){u.needsUpdate=!0,e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(h)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class iO extends Qn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=$n,this.minFilter=$n,this.generateMipmaps=!1,this.needsUpdate=!0}}class Vm extends Qn{constructor(e,t,i,r,s,o,a,l,c,u,h,d){super(null,o,a,l,c,u,r,s,h,d),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class rO extends Vm{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Yi}}class sO extends Vm{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Go),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class oO extends Qn{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 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,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 u=i[r],d=i[r+1]-u,p=(o-u)/d;return(r+p)/(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 Te:new K);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 K,r=[],s=[],o=[],a=new K,l=new _t;for(let p=0;p<=e;p++){const m=p/e;r[p]=this.getTangentAt(m,new K)}s[0]=new K,o[0]=new K;let c=Number.MAX_VALUE;const u=Math.abs(r[0].x),h=Math.abs(r[0].y),d=Math.abs(r[0].z);u<=c&&(c=u,i.set(1,0,0)),h<=c&&(c=h,i.set(0,1,0)),d<=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 p=1;p<=e;p++){if(s[p]=s[p-1].clone(),o[p]=o[p-1].clone(),a.crossVectors(r[p-1],r[p]),a.length()>Number.EPSILON){a.normalize();const m=Math.acos(Jn(r[p-1].dot(r[p]),-1,1));s[p].applyMatrix4(l.makeRotationAxis(a,m))}o[p].crossVectors(r[p],s[p])}if(t===!0){let p=Math.acos(Jn(s[0].dot(s[e]),-1,1));p/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(p=-p);for(let m=1;m<=e;m++)s[m].applyMatrix4(l.makeRotationAxis(r[m],p*m)),o[m].crossVectors(r[m],s[m])}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 Wm 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){const i=t||new Te,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,u;this.closed||a>0?c=r[(a-1)%s]:(Np.subVectors(r[0],r[1]).add(r[0]),c=Np);const h=r[a%s],d=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(Ww(a,l.x,c.x,u.x,h.x),Ww(a,l.y,c.y,u.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),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 h=c.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),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 Vh extends kt{constructor(e=[new Te(0,-.5),new Te(.5,0),new Te(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=Jn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],c=[],u=1/t,h=new K,d=new Te,p=new K,m=new K,I=new K;let v=0,g=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:v=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,p.x=g*1,p.y=-v,p.z=g*0,I.copy(p),p.normalize(),l.push(p.x,p.y,p.z);break;case e.length-1:l.push(I.x,I.y,I.z);break;default:v=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,p.x=g*1,p.y=-v,p.z=g*0,m.copy(p),p.x+=I.x,p.y+=I.y,p.z+=I.z,p.normalize(),l.push(p.x,p.y,p.z),I.copy(m)}for(let y=0;y<=t;y++){const E=i+y*u*r,x=Math.sin(E),w=Math.cos(E);for(let _=0;_<=e.length-1;_++){h.x=e[_].x*x,h.y=e[_].y,h.z=e[_].x*w,o.push(h.x,h.y,h.z),d.x=y/t,d.y=_/(e.length-1),a.push(d.x,d.y);const R=l[3*_+0]*x,D=l[3*_+1],Y=l[3*_+0]*w;c.push(R,D,Y)}}for(let y=0;y0&&E(!0),t>0&&E(!1)),this.setIndex(u),this.setAttribute("position",new pt(h,3)),this.setAttribute("normal",new pt(d,3)),this.setAttribute("uv",new pt(p,2));function y(){const x=new K,w=new K;let _=0;const R=(t-e)/i;for(let D=0;D<=s;D++){const Y=[],Q=D/s,P=Q*(t-e)+e;for(let z=0;z<=r;z++){const ne=z/r,V=ne*l+a,ae=Math.sin(V),ee=Math.cos(V);w.x=P*ae,w.y=-Q*i+v,w.z=P*ee,h.push(w.x,w.y,w.z),x.set(ae,R,ee).normalize(),d.push(x.x,x.y,x.z),p.push(ne,1-Q),Y.push(m++)}I.push(Y)}for(let D=0;D.9&&R<.1&&(E<.2&&(o[y+0]+=1),x<.2&&(o[y+2]+=1),w<.2&&(o[y+4]+=1))}}function d(y){s.push(y.x,y.y,y.z)}function p(y,E){const x=y*3;E.x=e[x+0],E.y=e[x+1],E.z=e[x+2]}function m(){const y=new K,E=new K,x=new K,w=new K,_=new Te,R=new Te,D=new Te;for(let Y=0,Q=0;Y80*t){a=c=n[0],l=u=n[1];for(let m=t;mc&&(c=h),d>u&&(u=d);p=Math.max(c-a,u-l),p=p!==0?32767/p:0}return Eh(s,o,t,a,l,p,0),o}};function _T(n,e,t,i,r){let s,o;if(r===RO(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Yw(s,n[s],n[s+1],o);return o&&jm(o,o.next)&&(Ih(o),o=o.next),o}function Ec(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(jm(t,t.next)||kn(t.prev,t,t.next)===0)){if(Ih(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Eh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&xO(n,i,r,s);let a=n,l,c;for(;n.prev!==n.next;){if(l=n.prev,c=n.next,s?gO(n,i,r,s):pO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(c.i/t|0),Ih(n),n=c.next,a=c.next;continue}if(n=c,n===a){o?o===1?(n=mO(Ec(n),e,t),Eh(n,e,t,i,r,s,2)):o===2&&vO(n,e,t,i,r,s):Eh(Ec(n),e,t,i,r,s,1);break}}}function pO(n){const e=n.prev,t=n,i=n.next;if(kn(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,u=rs?r>o?r:o:s>o?s:o,p=a>l?a>c?a:c:l>c?l:c;let m=i.next;for(;m!==e;){if(m.x>=u&&m.x<=d&&m.y>=h&&m.y<=p&&ku(r,a,s,l,o,c,m.x,m.y)&&kn(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function gO(n,e,t,i){const r=n.prev,s=n,o=n.next;if(kn(r,s,o)>=0)return!1;const a=r.x,l=s.x,c=o.x,u=r.y,h=s.y,d=o.y,p=al?a>c?a:c:l>c?l:c,v=u>h?u>d?u:d:h>d?h:d,g=R1(p,m,e,t,i),y=R1(I,v,e,t,i);let E=n.prevZ,x=n.nextZ;for(;E&&E.z>=g&&x&&x.z<=y;){if(E.x>=p&&E.x<=I&&E.y>=m&&E.y<=v&&E!==r&&E!==o&&ku(a,u,l,h,c,d,E.x,E.y)&&kn(E.prev,E,E.next)>=0||(E=E.prevZ,x.x>=p&&x.x<=I&&x.y>=m&&x.y<=v&&x!==r&&x!==o&&ku(a,u,l,h,c,d,x.x,x.y)&&kn(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;E&&E.z>=g;){if(E.x>=p&&E.x<=I&&E.y>=m&&E.y<=v&&E!==r&&E!==o&&ku(a,u,l,h,c,d,E.x,E.y)&&kn(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;x&&x.z<=y;){if(x.x>=p&&x.x<=I&&x.y>=m&&x.y<=v&&x!==r&&x!==o&&ku(a,u,l,h,c,d,x.x,x.y)&&kn(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function mO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!jm(r,s)&&MT(r,i,i.next,s)&&Ch(r,s)&&Ch(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Ih(i),Ih(i.next),i=n=s),i=i.next}while(i!==n);return Ec(i)}function vO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&_O(o,a)){let l=QT(o,a);o=Ec(o,o.next),l=Ec(l,l.next),Eh(o,e,t,i,r,s,0),Eh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function yO(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 d=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=s&&d>i&&(i=d,r=t.x=t.x&&t.x>=l&&s!==t.x&&ku(or.x||t.x===r.x&&BO(r,t)))&&(r=t,u=h)),t=t.next;while(t!==a);return r}function BO(n,e){return kn(n.prev,n,e.prev)<0&&kn(e.next,n,n.next)<0}function xO(n,e,t,i){let r=n;do r.z===0&&(r.z=R1(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,SO(r)}function SO(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 R1(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 wO(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 _O(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!MO(n,e)&&(Ch(n,e)&&Ch(e,n)&&QO(n,e)&&(kn(n.prev,n,e.prev)||kn(n,e.prev,e))||jm(n,e)&&kn(n.prev,n,n.next)>0&&kn(e.prev,e,e.next)>0)}function kn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function jm(n,e){return n.x===e.x&&n.y===e.y}function MT(n,e,t,i){const r=Hp(kn(n,e,t)),s=Hp(kn(n,e,i)),o=Hp(kn(t,i,n)),a=Hp(kn(t,i,e));return!!(r!==s&&o!==a||r===0&&Gp(n,t,e)||s===0&&Gp(n,i,e)||o===0&&Gp(t,n,i)||a===0&&Gp(t,e,i))}function Gp(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 Hp(n){return n>0?1:n<0?-1:0}function MO(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&&MT(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Ch(n,e){return kn(n.prev,n,n.next)<0?kn(n,e,n.next)>=0&&kn(n,n.prev,e)>=0:kn(n,e,n.prev)<0||kn(n,n.next,e)<0}function QO(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 QT(n,e){const t=new T1(n.i,n.x,n.y),i=new T1(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 Yw(n,e,t,i){const r=new T1(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 Ih(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 T1(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 RO(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Xw(n,e){for(let t=0;tNumber.EPSILON){const ye=Math.sqrt(Se),Le=Math.sqrt(b*b+q*q),Fe=me.x-M/ye,ze=me.y+X/ye,Ne=se.x-q/Le,je=se.y+b/Le,De=((Ne-Fe)*q-(je-ze)*b)/(X*q-M*b);le=Fe+X*De-U.x,ue=ze+M*De-U.y;const yt=le*le+ue*ue;if(yt<=2)return new Te(le,ue);we=Math.sqrt(yt/2)}else{let ye=!1;X>Number.EPSILON?b>Number.EPSILON&&(ye=!0):X<-Number.EPSILON?b<-Number.EPSILON&&(ye=!0):Math.sign(M)===Math.sign(q)&&(ye=!0),ye?(le=-M,ue=X,we=Math.sqrt(Se)):(le=X,ue=M,we=Math.sqrt(Se/2))}return new Te(le/we,ue/we)}const J=[];for(let U=0,me=V.length,se=me-1,le=U+1;U=0;U--){const me=U/v,se=p*Math.cos(me*Math.PI/2),le=m*Math.sin(me*Math.PI/2)+I;for(let ue=0,we=V.length;ue=0;){const le=se;let ue=se-1;ue<0&&(ue=U.length-1);for(let we=0,X=u+v*2;we0)&&p.push(E,x,_),(g!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class LT extends Si{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new st(16777215),this.specular=new st(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Nh,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.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 PT extends Si{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new st(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 UT extends Si{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 NT extends Si{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new st(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Nh,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.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 kT extends Si{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new st(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 FT extends dr{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 Zl(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 OT(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function GT(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 D1(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 MI(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 LO(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){h.push(c.times[p]);for(let I=0;Is.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[m]){const g=m*h+u,y=g+h-u;I=a.values.slice(g,y)}else{const g=a.createInterpolant(),y=u,E=h-u;g.evaluate(s),I=g.resultBuffer.slice(y,E)}l==="quaternion"&&new ur().fromArray(I).normalize().conjugate().toArray(I);const v=c.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&&OT(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()===Qg,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}}zs.prototype.TimeBufferType=Float32Array;zs.prototype.ValueBufferType=Float32Array;zs.prototype.DefaultInterpolation=fh;class xc extends zs{}xc.prototype.ValueTypeName="bool";xc.prototype.ValueBufferType=Array;xc.prototype.DefaultInterpolation=Ah;xc.prototype.InterpolantFactoryMethodLinear=void 0;xc.prototype.InterpolantFactoryMethodSmooth=void 0;class RI extends zs{}RI.prototype.ValueTypeName="color";class Bh extends zs{}Bh.prototype.ValueTypeName="number";class VT extends Jh{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let c=e*a;for(let u=c+a;c!==u;c+=4)ur.slerpFlat(s,0,o,c-a,o,c,l);return s}}class vA extends zs{InterpolantFactoryMethodLinear(e){return new VT(this.times,this.values,this.getValueSize(),e)}}vA.prototype.ValueTypeName="quaternion";vA.prototype.DefaultInterpolation=fh;vA.prototype.InterpolantFactoryMethodSmooth=void 0;class Sc extends zs{}Sc.prototype.ValueTypeName="string";Sc.prototype.ValueBufferType=Array;Sc.prototype.DefaultInterpolation=Ah;Sc.prototype.InterpolantFactoryMethodLinear=void 0;Sc.prototype.InterpolantFactoryMethodSmooth=void 0;class xh extends zs{}xh.prototype.ValueTypeName="vector";class Sh{constructor(e,t=-1,i,r=Pm){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=Jr(),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(kO(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(zs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const h=u[1];let d=r[h];d||(r[h]=d=[]),d.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(h,d,p,m,I){if(p.length!==0){const v=[],g=[];MI(p,v,g,m),v.length!==0&&I.push(new h(d,v,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let h=0;h{t&&t(s),this.manager.itemEnd(e)},0),s;if(Bo[e]!==void 0){Bo[e].push({onLoad:t,onProgress:i,onError:r});return}Bo[e]=[],Bo[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=Bo[e],h=c.body.getReader(),d=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=d?parseInt(d):0,m=p!==0;let I=0;const v=new ReadableStream({start(g){y();function y(){h.read().then(({done:E,value:x})=>{if(E)g.close();else{I+=x.byteLength;const w=new ProgressEvent("progress",{lengthComputable:m,loaded:I,total:p});for(let _=0,R=u.length;_{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return c.json();default:if(a===void 0)return c.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),d=h&&h[1]?h[1].toLowerCase():void 0,p=new TextDecoder(d);return c.arrayBuffer().then(m=>p.decode(m))}}}).then(c=>{bo.add(e,c);const u=Bo[e];delete Bo[e];for(let h=0,d=u.length;h{const u=Bo[e];if(u===void 0)throw this.manager.itemError(e),c;delete Bo[e];for(let h=0,d=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class OO extends pr{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new lo(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 st().setHex(o.value);break;case"v2":r.uniforms[s].value=new Te().fromArray(o.value);break;case"v3":r.uniforms[s].value=new K().fromArray(o.value);break;case"v4":r.uniforms[s].value=new ln().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Pt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new _t().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 Te().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.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 Te().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:TT,SpriteMaterial:mI,RawShaderMaterial:DT,ShaderMaterial:Os,PointsMaterial:yI,MeshPhysicalMaterial:bT,MeshStandardMaterial:_I,MeshPhongMaterial:LT,MeshToonMaterial:PT,MeshNormalMaterial:UT,MeshLambertMaterial:NT,MeshDepthMaterial:Hh,MeshDistanceMaterial:zh,MeshBasicMaterial:hr,MeshMatcapMaterial:kT,LineDashedMaterial:FT,LineBasicMaterial:dr,Material:Si};return new t[e]}}class b1{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 TI(t);s=new wh(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){r=new wh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const v=new ai;v.min.fromArray(I.boxMin),v.max.fromArray(I.boxMax);const g=new fi;return g.radius=I.sphereRadius,g.center.fromArray(I.sphereCenter),{boxInitialized:I.boxInitialized,box:v,sphereInitialized:I.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=c(e.matricesTexture.uuid);break;case"LOD":o=new pT;break;case"Line":o=new qa(a(e.geometry),l(e.material));break;case"LineLoop":o=new yT(a(e.geometry),l(e.material));break;case"LineSegments":o=new co(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new EI(a(e.geometry),l(e.material));break;case"Sprite":o=new dT(l(e.material));break;case"Group":o=new Do;break;case"Bone":o=new vI;break;default:o=new Vt}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 d=e.children;for(let p=0;p"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=bo.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 bo.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),bo.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});bo.add(e,l),s.manager.itemStart(e)}}let zp;class LI{static getContext(){return zp===void 0&&(zp=new(window.AudioContext||window.webkitAudioContext)),zp}static setContext(e){zp=e}}class jO extends pr{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new lo(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);LI.getContext().decodeAudioData(c,function(h){t(h)}).catch(a)}catch(c){a(c)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const n_=new _t,i_=new _t,Rl=new _t;class qO{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new ui,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new ui,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,Rl.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(nc*t.fov*.5)/t.zoom;let a,l;i_.elements[12]=-r,n_.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Rl.elements[0]=2*t.near/(l-a),Rl.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Rl),a=-o*t.aspect-s,l=o*t.aspect-s,Rl.elements[0]=2*t.near/(l-a),Rl.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Rl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(i_),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(n_)}}class PI{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=r_(),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=r_();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function r_(){return(typeof performance>"u"?Date:performance).now()}const Tl=new K,s_=new ur,ZO=new K,Dl=new K;class $O extends Vt{constructor(){super(),this.type="AudioListener",this.context=LI.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new PI}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(Tl,s_,ZO),Dl.set(0,0,-1).applyQuaternion(s_),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Tl.x,r),t.positionY.linearRampToValueAtTime(Tl.y,r),t.positionZ.linearRampToValueAtTime(Tl.z,r),t.forwardX.linearRampToValueAtTime(Dl.x,r),t.forwardY.linearRampToValueAtTime(Dl.y,r),t.forwardZ.linearRampToValueAtTime(Dl.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Tl.x,Tl.y,Tl.z),t.setOrientation(Dl.x,Dl.y,Dl.z,i.x,i.y,i.z)}}class tD extends Vt{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){ur.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;ur.multiplyQuaternionsFlat(e,o,e,t,e,i),ur.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 UI="\\[\\]\\.:\\/",iG=new RegExp("["+UI+"]","g"),NI="[^"+UI+"]",rG="[^"+UI.replace("\\.","")+"]",sG=/((?:WC+[\/:])*)/.source.replace("WC",NI),oG=/(WCOD+)?/.source.replace("WCOD",rG),aG=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",NI),lG=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",NI),cG=new RegExp("^"+sG+oG+aG+lG+"$"),uG=["material","materials","bones","map"];class AG{constructor(e,t,i){const r=i||tn.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 tn{constructor(e,t,i){this.path=t,this.parsedPath=i||tn.parseTrackName(t),this.node=tn.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 tn.Composite(e,t,i):new tn(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(iG,"")}static parseTrackName(e){const t=cG.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);uG.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const h=s++,d=e[h];t[d.uuid]=u,e[u]=d,t[c]=h,e[h]=l;for(let p=0,m=r;p!==m;++p){const I=i[p],v=I[h],g=I[u];I[u]=v,I[h]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const c=arguments[a],u=c.uuid,h=t[u];if(h!==void 0)if(delete t[u],h0&&(t[p.uuid]=h),e[h]=p,e.pop();for(let m=0,I=r;m!==I;++m){const v=i[m];v[h]=v[d],v.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,u=this.nCachedObjects_,h=new Array(c);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(h);for(let d=u,p=l.length;d!==p;++d){const m=l[d];h[d]=new tn(m,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],c=e[a];t[c]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class iD{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:Kl,endingEnd:Kl};for(let c=0;c!==o;++c){const u=s[c].createInterpolant(null);a[c]=u,u.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=FR,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 sI:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(o),c[u].accumulateAdditive(a);break;case Pm:default:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(o),c[u].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===OR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===kR){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=jl,r.endingEnd=jl):(e?r.endingStart=this.zeroSlopeAtStart?jl:Kl:r.endingStart=hh,t?r.endingEnd=this.zeroSlopeAtEnd?jl:Kl:r.endingEnd=hh)}_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 hG=new Float32Array(1);class dG extends Vo{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 u=c[l];u===void 0&&(u={},c[l]=u);for(let h=0;h!==s;++h){const d=r[h],p=d.name;let m=u[p];if(m!==void 0)++m.referenceCount,o[h]=m;else{if(m=o[h],m!==void 0){m._cacheIndex===null&&(++m.referenceCount,this._addInactiveBinding(m,l,p));continue}const I=t&&t._propertyBindings[h].binding.parsedPath;m=new nD(tn.create(i,p,I),d.ValueTypeName,d.getValueSize()),++m.referenceCount,this._addInactiveBinding(m,l,p),o[h]=m}a[h].resultBuffer=m.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,l_).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 c_=new K,Vp=new K;class CG{constructor(e=new K,t=new K){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){c_.subVectors(e,this.start),Vp.subVectors(this.end,this.start);const i=Vp.dot(Vp);let s=Vp.dot(c_)/i;return t&&(s=Jn(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 u_=new K;class IG extends Vt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new kt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{p_.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(p_,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 PG extends co{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 kt;r.setAttribute("position",new pt(t,3)),r.setAttribute("color",new pt(i,3));const s=new dr({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new st,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 wa{constructor(){this.type="ShapePath",this.color=new st,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Wa,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 y=[];for(let E=0,x=g.length;ENumber.EPSILON){if(Q<0&&(R=y[_],Y=-Y,D=y[w],Q=-Q),g.yD.y)continue;if(g.y===R.y){if(g.x===R.x)return!0}else{const P=Q*(g.x-R.x)-Y*(g.y-R.y);if(P===0)return!0;if(P<0)continue;x=!x}}else{if(g.y!==R.y)continue;if(D.x<=g.x&&g.x<=R.x||R.x<=g.x&&g.x<=D.x)return!0}}return x}const r=ks.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 Ya,l.curves=a.curves,c.push(l),c;let u=!r(s[0].getPoints());u=e?!u:u;const h=[],d=[];let p=[],m=0,I;d[m]=void 0,p[m]=[];for(let g=0,y=s.length;g1){let g=!1,y=0;for(let E=0,x=d.length;E0&&g===!1&&(p=h)}let v;for(let g=0,y=d.length;g=0&&(x[L]=null,E[L].disconnect(N))}for(let k=0;k=x.length){x.push(N),L=de;break}else if(x[de]===null){x[de]=N,L=de;break}if(L===-1)break}const ae=E[L];ae&&ae.connect(N)}}const ee=new K,he=new K;function O(G,k,N){ee.setFromMatrixPosition(k.matrixWorld),he.setFromMatrixPosition(N.matrixWorld);const L=ee.distanceTo(he),ae=k.projectionMatrix.elements,de=N.projectionMatrix.elements,fe=ae[14]/(ae[10]-1),pe=ae[14]/(ae[10]+1),U=(ae[9]+1)/ae[5],me=(ae[9]-1)/ae[5],re=(ae[8]-1)/ae[0],le=(de[8]+1)/de[0],ue=fe*re,we=fe*le,X=L/(-re+le),Q=X*-re;k.matrixWorld.decompose(G.position,G.quaternion,G.scale),G.translateX(Q),G.translateZ(X),G.matrixWorld.compose(G.position,G.quaternion,G.scale),G.matrixWorldInverse.copy(G.matrixWorld).invert();const b=fe+X,Z=pe+X,Se=ue-Q,Be=we+(L-Q),ye=U*pe/Z*b,Le=me*pe/Z*b;G.projectionMatrix.makePerspective(Se,Be,ye,Le,b,Z),G.projectionMatrixInverse.copy(G.projectionMatrix).invert()}function J(G,k){k===null?G.matrixWorld.copy(G.matrix):G.matrixWorld.multiplyMatrices(k.matrixWorld,G.matrix),G.matrixWorldInverse.copy(G.matrixWorld).invert()}this.updateCamera=function(G){if(r===null)return;I.texture!==null&&(G.near=I.depthNear,G.far=I.depthFar),M.near=D.near=R.near=G.near,M.far=D.far=R.far=G.far,(P!==M.near||z!==M.far)&&(r.updateRenderState({depthNear:M.near,depthFar:M.far}),P=M.near,z=M.far,R.near=P,R.far=z,D.near=P,D.far=z,R.updateProjectionMatrix(),D.updateProjectionMatrix(),G.updateProjectionMatrix());const k=G.parent,N=M.cameras;J(M,k);for(let L=0;L0&&(v.alphaTest.value=g.alphaTest);const y=e.get(g).envMap;if(y&&(v.envMap.value=y,v.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,v.reflectivity.value=g.reflectivity,v.ior.value=g.ior,v.refractionRatio.value=g.refractionRatio),g.lightMap){v.lightMap.value=g.lightMap;const E=n._useLegacyLights===!0?Math.PI:1;v.lightMapIntensity.value=g.lightMapIntensity*E,t(g.lightMap,v.lightMapTransform)}g.aoMap&&(v.aoMap.value=g.aoMap,v.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,v.aoMapTransform))}function o(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform))}function a(v,g){v.dashSize.value=g.dashSize,v.totalSize.value=g.dashSize+g.gapSize,v.scale.value=g.scale}function l(v,g,y,E){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.size.value=g.size*y,v.scale.value=E*.5,g.map&&(v.map.value=g.map,t(g.map,v.uvTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function c(v,g){v.diffuse.value.copy(g.color),v.opacity.value=g.opacity,v.rotation.value=g.rotation,g.map&&(v.map.value=g.map,t(g.map,v.mapTransform)),g.alphaMap&&(v.alphaMap.value=g.alphaMap,t(g.alphaMap,v.alphaMapTransform)),g.alphaTest>0&&(v.alphaTest.value=g.alphaTest)}function u(v,g){v.specular.value.copy(g.specular),v.shininess.value=Math.max(g.shininess,1e-4)}function h(v,g){g.gradientMap&&(v.gradientMap.value=g.gradientMap)}function d(v,g){v.metalness.value=g.metalness,g.metalnessMap&&(v.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,v.metalnessMapTransform)),v.roughness.value=g.roughness,g.roughnessMap&&(v.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,v.roughnessMapTransform)),e.get(g).envMap&&(v.envMapIntensity.value=g.envMapIntensity)}function p(v,g,y){v.ior.value=g.ior,g.sheen>0&&(v.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),v.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(v.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,v.sheenColorMapTransform)),g.sheenRoughnessMap&&(v.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,v.sheenRoughnessMapTransform))),g.clearcoat>0&&(v.clearcoat.value=g.clearcoat,v.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(v.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,v.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(v.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,v.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(v.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,v.clearcoatNormalMapTransform),v.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Xi&&v.clearcoatNormalScale.value.negate())),g.iridescence>0&&(v.iridescence.value=g.iridescence,v.iridescenceIOR.value=g.iridescenceIOR,v.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],v.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(v.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,v.iridescenceMapTransform)),g.iridescenceThicknessMap&&(v.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,v.iridescenceThicknessMapTransform))),g.transmission>0&&(v.transmission.value=g.transmission,v.transmissionSamplerMap.value=y.texture,v.transmissionSamplerSize.value.set(y.width,y.height),g.transmissionMap&&(v.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,v.transmissionMapTransform)),v.thickness.value=g.thickness,g.thicknessMap&&(v.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,v.thicknessMapTransform)),v.attenuationDistance.value=g.attenuationDistance,v.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(v.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(v.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,v.anisotropyMapTransform))),v.specularIntensity.value=g.specularIntensity,v.specularColor.value.copy(g.specularColor),g.specularColorMap&&(v.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,v.specularColorMapTransform)),g.specularIntensityMap&&(v.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,v.specularIntensityMapTransform))}function m(v,g){g.matcap&&(v.matcap.value=g.matcap)}function I(v,g){const y=e.get(g).light;v.referencePosition.value.setFromMatrixPosition(y.matrixWorld),v.nearDistance.value=y.shadow.camera.near,v.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function K5(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,E){const x=E.program;i.uniformBlockBinding(y,x)}function c(y,E){let x=r[y.id];x===void 0&&(m(y),x=u(y),r[y.id]=x,y.addEventListener("dispose",v));const w=E.program;i.updateUBOMapping(y,w);const _=e.render.frame;s[y.id]!==_&&(d(y),s[y.id]=_)}function u(y){const E=h();y.__bindingPointIndex=E;const x=n.createBuffer(),w=y.__size,_=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,x),n.bufferData(n.UNIFORM_BUFFER,w,_),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,E,x),x}function h(){for(let y=0;y0&&(x+=w-_),y.__size=x,y.__cache={},this}function I(y){const E={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(E.boundary=4,E.storage=4):y.isVector2?(E.boundary=8,E.storage=8):y.isVector3||y.isColor?(E.boundary=16,E.storage=12):y.isVector4?(E.boundary=16,E.storage=16):y.isMatrix3?(E.boundary=48,E.storage=48):y.isMatrix4?(E.boundary=64,E.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),E}function v(y){const E=y.target;E.removeEventListener("dispose",v);const x=o.indexOf(E.__bindingPointIndex);o.splice(x,1),n.deleteBuffer(r[E.id]),delete r[E.id],delete s[E.id]}function g(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:c,dispose:g}}class gI{constructor(e={}){const{canvas:t=$R(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let d;i!==null?d=i.getContextAttributes().alpha:d=o;const p=new Uint32Array(4),m=new Int32Array(4);let I=null,v=null;const g=[],y=[];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=Yn,this._useLegacyLights=!1,this.toneMapping=so,this.toneMappingExposure=1;const E=this;let x=!1,w=0,_=0,R=null,D=-1,Y=null;const M=new ln,P=new ln;let z=null;const se=new st(0);let V=0,oe=t.width,ee=t.height,he=1,O=null,J=null;const q=new ln(0,0,oe,ee),W=new ln(0,0,oe,ee);let ce=!1;const Ee=new Gh;let G=!1,k=!1,N=null;const L=new _t,ae=new Te,de=new K,fe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function pe(){return R===null?he:1}let U=i;function me(j,xe){for(let Re=0;Re{function rt(){if(be.forEach(function(yt){X.get(yt).currentProgram.isReady()&&be.delete(yt)}),be.size===0){Me(j);return}setTimeout(rt,10)}re.get("KHR_parallel_shader_compile")!==null?rt():setTimeout(rt,10)})};let Qt=null;function $t(j){Qt&&Qt(j)}function Wt(){Gt.stop()}function Rt(){Gt.start()}const Gt=new sT;Gt.setAnimationLoop($t),typeof self<"u"&&Gt.setContext(self),this.setAnimationLoop=function(j){Qt=j,tt.setAnimationLoop(j),j===null?Gt.stop():Gt.start()},tt.addEventListener("sessionstart",Wt),tt.addEventListener("sessionend",Rt),this.render=function(j,xe){if(xe!==void 0&&xe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(x===!0)return;j.matrixWorldAutoUpdate===!0&&j.updateMatrixWorld(),xe.parent===null&&xe.matrixWorldAutoUpdate===!0&&xe.updateMatrixWorld(),tt.enabled===!0&&tt.isPresenting===!0&&(tt.cameraAutoUpdate===!0&&tt.updateCamera(xe),xe=tt.getCamera()),j.isScene===!0&&j.onBeforeRender(E,j,xe,R),v=Ne.get(j,y.length),v.init(),y.push(v),L.multiplyMatrices(xe.projectionMatrix,xe.matrixWorldInverse),Ee.setFromProjectionMatrix(L),k=this.localClippingEnabled,G=je.init(this.clippingPlanes,k),I=ze.get(j,g.length),I.init(),g.push(I),An(j,xe,0,E.sortObjects),I.finish(),E.sortObjects===!0&&I.sort(O,J),this.info.render.frame++,G===!0&&je.beginShadows();const Re=v.state.shadowsArray;if(De.render(Re,j,xe),G===!0&&je.endShadows(),this.info.autoReset===!0&&this.info.reset(),(tt.enabled===!1||tt.isPresenting===!1||tt.hasDepthSensing()===!1)&&Et.render(I,j),v.setupLights(E._useLegacyLights),xe.isArrayCamera){const be=xe.cameras;for(let Me=0,rt=be.length;Me0?v=y[y.length-1]:v=null,g.pop(),g.length>0?I=g[g.length-1]:I=null};function An(j,xe,Re,be){if(j.visible===!1)return;if(j.layers.test(xe.layers)){if(j.isGroup)Re=j.renderOrder;else if(j.isLOD)j.autoUpdate===!0&&j.update(xe);else if(j.isLight)v.pushLight(j),j.castShadow&&v.pushShadow(j);else if(j.isSprite){if(!j.frustumCulled||Ee.intersectsSprite(j)){be&&de.setFromMatrixPosition(j.matrixWorld).applyMatrix4(L);const yt=ye.update(j),Mt=j.material;Mt.visible&&I.push(j,yt,Mt,Re,de.z,null)}}else if((j.isMesh||j.isLine||j.isPoints)&&(!j.frustumCulled||Ee.intersectsObject(j))){const yt=ye.update(j),Mt=j.material;if(be&&(j.boundingSphere!==void 0?(j.boundingSphere===null&&j.computeBoundingSphere(),de.copy(j.boundingSphere.center)):(yt.boundingSphere===null&&yt.computeBoundingSphere(),de.copy(yt.boundingSphere.center)),de.applyMatrix4(j.matrixWorld).applyMatrix4(L)),Array.isArray(Mt)){const Ge=yt.groups;for(let Tt=0,bt=Ge.length;Tt0&&vn(Me,rt,xe,Re),be&&ue.viewport(M.copy(be)),Me.length>0&&Dn(Me,xe,Re),rt.length>0&&Dn(rt,xe,Re),yt.length>0&&Dn(yt,xe,Re),ue.buffers.depth.setTest(!0),ue.buffers.depth.setMask(!0),ue.buffers.color.setMask(!0),ue.setPolygonOffset(!1)}function vn(j,xe,Re,be){if((Re.isScene===!0?Re.overrideMaterial:null)!==null)return;const rt=le.isWebGL2;N===null&&(N=new Es(1,1,{generateMipmaps:!0,type:re.has("EXT_color_buffer_half_float")?gc:oo,minFilter:to,samples:rt?4:0})),E.getDrawingBufferSize(ae),rt?N.setSize(ae.x,ae.y):N.setSize(um(ae.x),um(ae.y));const yt=E.getRenderTarget();E.setRenderTarget(N),E.getClearColor(se),V=E.getClearAlpha(),V<1&&E.setClearColor(16777215,.5),E.clear();const Mt=E.toneMapping;E.toneMapping=so,Dn(j,Re,be),Q.updateMultisampleRenderTarget(N),Q.updateRenderTargetMipmap(N);let Ge=!1;for(let Tt=0,bt=xe.length;Tt0),St=!!Re.morphAttributes.position,cn=!!Re.morphAttributes.normal,Hn=!!Re.morphAttributes.color;let sn=so;be.toneMapped&&(R===null||R.isXRRenderTarget===!0)&&(sn=E.toneMapping);const yn=Re.morphAttributes.position||Re.morphAttributes.normal||Re.morphAttributes.color,mt=yn!==void 0?yn.length:0,lt=X.get(be),ni=v.state.lights;if(G===!0&&(k===!0||j!==Y)){const We=j===Y&&be.id===D;je.setState(be,j,We)}let F=!1;be.version===lt.__version?(lt.needsLights&<.lightsStateVersion!==ni.state.version||lt.outputColorSpace!==Mt||Me.isBatchedMesh&<.batching===!1||!Me.isBatchedMesh&<.batching===!0||Me.isInstancedMesh&<.instancing===!1||!Me.isInstancedMesh&<.instancing===!0||Me.isSkinnedMesh&<.skinning===!1||!Me.isSkinnedMesh&<.skinning===!0||Me.isInstancedMesh&<.instancingColor===!0&&Me.instanceColor===null||Me.isInstancedMesh&<.instancingColor===!1&&Me.instanceColor!==null||lt.envMap!==Ge||be.fog===!0&<.fog!==rt||lt.numClippingPlanes!==void 0&&(lt.numClippingPlanes!==je.numPlanes||lt.numIntersection!==je.numIntersection)||lt.vertexAlphas!==Tt||lt.vertexTangents!==bt||lt.morphTargets!==St||lt.morphNormals!==cn||lt.morphColors!==Hn||lt.toneMapping!==sn||le.isWebGL2===!0&<.morphTargetsCount!==mt)&&(F=!0):(F=!0,lt.__version=be.version);let H=lt.currentProgram;F===!0&&(H=hn(be,xe,Me));let Ae=!1,ge=!1,Ce=!1;const Qe=H.getUniforms(),Oe=lt.uniforms;if(ue.useProgram(H.program)&&(Ae=!0,ge=!0,Ce=!0),be.id!==D&&(D=be.id,ge=!0),Ae||Y!==j){Qe.setValue(U,"projectionMatrix",j.projectionMatrix),Qe.setValue(U,"viewMatrix",j.matrixWorldInverse);const We=Qe.map.cameraPosition;We!==void 0&&We.setValue(U,de.setFromMatrixPosition(j.matrixWorld)),le.logarithmicDepthBuffer&&Qe.setValue(U,"logDepthBufFC",2/(Math.log(j.far+1)/Math.LN2)),(be.isMeshPhongMaterial||be.isMeshToonMaterial||be.isMeshLambertMaterial||be.isMeshBasicMaterial||be.isMeshStandardMaterial||be.isShaderMaterial)&&Qe.setValue(U,"isOrthographic",j.isOrthographicCamera===!0),Y!==j&&(Y=j,ge=!0,Ce=!0)}if(Me.isSkinnedMesh){Qe.setOptional(U,Me,"bindMatrix"),Qe.setOptional(U,Me,"bindMatrixInverse");const We=Me.skeleton;We&&(le.floatVertexTextures?(We.boneTexture===null&&We.computeBoneTexture(),Qe.setValue(U,"boneTexture",We.boneTexture,Q)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Me.isBatchedMesh&&(Qe.setOptional(U,Me,"batchingTexture"),Qe.setValue(U,"batchingTexture",Me._matricesTexture,Q));const He=Re.morphAttributes;if((He.position!==void 0||He.normal!==void 0||He.color!==void 0&&le.isWebGL2===!0)&&Ze.update(Me,Re,H),(ge||lt.receiveShadow!==Me.receiveShadow)&&(lt.receiveShadow=Me.receiveShadow,Qe.setValue(U,"receiveShadow",Me.receiveShadow)),be.isMeshGouraudMaterial&&be.envMap!==null&&(Oe.envMap.value=Ge,Oe.flipEnvMap.value=Ge.isCubeTexture&&Ge.isRenderTargetTexture===!1?-1:1),ge&&(Qe.setValue(U,"toneMappingExposure",E.toneMappingExposure),lt.needsLights&&Qr(Oe,Ce),rt&&be.fog===!0&&Fe.refreshFogUniforms(Oe,rt),Fe.refreshMaterialUniforms(Oe,be,he,ee,N),Rg.upload(U,Gn(lt),Oe,Q)),be.isShaderMaterial&&be.uniformsNeedUpdate===!0&&(Rg.upload(U,Gn(lt),Oe,Q),be.uniformsNeedUpdate=!1),be.isSpriteMaterial&&Qe.setValue(U,"center",Me.center),Qe.setValue(U,"modelViewMatrix",Me.modelViewMatrix),Qe.setValue(U,"normalMatrix",Me.normalMatrix),Qe.setValue(U,"modelMatrix",Me.matrixWorld),be.isShaderMaterial||be.isRawShaderMaterial){const We=be.uniformsGroups;for(let Ve=0,$e=We.length;Ve<$e;Ve++)if(le.isWebGL2){const It=We[Ve];vt.update(It,H),vt.bind(It,H)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return H}function Qr(j,xe){j.ambientLightColor.needsUpdate=xe,j.lightProbe.needsUpdate=xe,j.directionalLights.needsUpdate=xe,j.directionalLightShadows.needsUpdate=xe,j.pointLights.needsUpdate=xe,j.pointLightShadows.needsUpdate=xe,j.spotLights.needsUpdate=xe,j.spotLightShadows.needsUpdate=xe,j.rectAreaLights.needsUpdate=xe,j.hemisphereLights.needsUpdate=xe}function ul(j){return j.isMeshLambertMaterial||j.isMeshToonMaterial||j.isMeshPhongMaterial||j.isMeshStandardMaterial||j.isShadowMaterial||j.isShaderMaterial&&j.lights===!0}this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return _},this.getRenderTarget=function(){return R},this.setRenderTargetTextures=function(j,xe,Re){X.get(j.texture).__webglTexture=xe,X.get(j.depthTexture).__webglTexture=Re;const be=X.get(j);be.__hasExternalTextures=!0,be.__hasExternalTextures&&(be.__autoAllocateDepthBuffer=Re===void 0,be.__autoAllocateDepthBuffer||re.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),be.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(j,xe){const Re=X.get(j);Re.__webglFramebuffer=xe,Re.__useDefaultFramebuffer=xe===void 0},this.setRenderTarget=function(j,xe=0,Re=0){R=j,w=xe,_=Re;let be=!0,Me=null,rt=!1,yt=!1;if(j){const Ge=X.get(j);Ge.__useDefaultFramebuffer!==void 0?(ue.bindFramebuffer(U.FRAMEBUFFER,null),be=!1):Ge.__webglFramebuffer===void 0?Q.setupRenderTarget(j):Ge.__hasExternalTextures&&Q.rebindTextures(j,X.get(j.texture).__webglTexture,X.get(j.depthTexture).__webglTexture);const Tt=j.texture;(Tt.isData3DTexture||Tt.isDataArrayTexture||Tt.isCompressedArrayTexture)&&(yt=!0);const bt=X.get(j).__webglFramebuffer;j.isWebGLCubeRenderTarget?(Array.isArray(bt[xe])?Me=bt[xe][Re]:Me=bt[xe],rt=!0):le.isWebGL2&&j.samples>0&&Q.useMultisampledRTT(j)===!1?Me=X.get(j).__webglMultisampledFramebuffer:Array.isArray(bt)?Me=bt[Re]:Me=bt,M.copy(j.viewport),P.copy(j.scissor),z=j.scissorTest}else M.copy(q).multiplyScalar(he).floor(),P.copy(W).multiplyScalar(he).floor(),z=ce;if(ue.bindFramebuffer(U.FRAMEBUFFER,Me)&&le.drawBuffers&&be&&ue.drawBuffers(j,Me),ue.viewport(M),ue.scissor(P),ue.setScissorTest(z),rt){const Ge=X.get(j.texture);U.framebufferTexture2D(U.FRAMEBUFFER,U.COLOR_ATTACHMENT0,U.TEXTURE_CUBE_MAP_POSITIVE_X+xe,Ge.__webglTexture,Re)}else if(yt){const Ge=X.get(j.texture),Tt=xe||0;U.framebufferTextureLayer(U.FRAMEBUFFER,U.COLOR_ATTACHMENT0,Ge.__webglTexture,Re||0,Tt)}D=-1},this.readRenderTargetPixels=function(j,xe,Re,be,Me,rt,yt){if(!(j&&j.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Mt=X.get(j).__webglFramebuffer;if(j.isWebGLCubeRenderTarget&&yt!==void 0&&(Mt=Mt[yt]),Mt){ue.bindFramebuffer(U.FRAMEBUFFER,Mt);try{const Ge=j.texture,Tt=Ge.format,bt=Ge.type;if(Tt!==ar&&ke.convert(Tt)!==U.getParameter(U.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const St=bt===gc&&(re.has("EXT_color_buffer_half_float")||le.isWebGL2&&re.has("EXT_color_buffer_float"));if(bt!==oo&&ke.convert(bt)!==U.getParameter(U.IMPLEMENTATION_COLOR_READ_TYPE)&&!(bt===ds&&(le.isWebGL2||re.has("OES_texture_float")||re.has("WEBGL_color_buffer_float")))&&!St){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}xe>=0&&xe<=j.width-be&&Re>=0&&Re<=j.height-Me&&U.readPixels(xe,Re,be,Me,ke.convert(Tt),ke.convert(bt),rt)}finally{const Ge=R!==null?X.get(R).__webglFramebuffer:null;ue.bindFramebuffer(U.FRAMEBUFFER,Ge)}}},this.copyFramebufferToTexture=function(j,xe,Re=0){const be=Math.pow(2,-Re),Me=Math.floor(xe.image.width*be),rt=Math.floor(xe.image.height*be);Q.setTexture2D(xe,0),U.copyTexSubImage2D(U.TEXTURE_2D,Re,0,0,j.x,j.y,Me,rt),ue.unbindTexture()},this.copyTextureToTexture=function(j,xe,Re,be=0){const Me=xe.image.width,rt=xe.image.height,yt=ke.convert(Re.format),Mt=ke.convert(Re.type);Q.setTexture2D(Re,0),U.pixelStorei(U.UNPACK_FLIP_Y_WEBGL,Re.flipY),U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Re.premultiplyAlpha),U.pixelStorei(U.UNPACK_ALIGNMENT,Re.unpackAlignment),xe.isDataTexture?U.texSubImage2D(U.TEXTURE_2D,be,j.x,j.y,Me,rt,yt,Mt,xe.image.data):xe.isCompressedTexture?U.compressedTexSubImage2D(U.TEXTURE_2D,be,j.x,j.y,xe.mipmaps[0].width,xe.mipmaps[0].height,yt,xe.mipmaps[0].data):U.texSubImage2D(U.TEXTURE_2D,be,j.x,j.y,yt,Mt,xe.image),be===0&&Re.generateMipmaps&&U.generateMipmap(U.TEXTURE_2D),ue.unbindTexture()},this.copyTextureToTexture3D=function(j,xe,Re,be,Me=0){if(E.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const rt=j.max.x-j.min.x+1,yt=j.max.y-j.min.y+1,Mt=j.max.z-j.min.z+1,Ge=ke.convert(be.format),Tt=ke.convert(be.type);let bt;if(be.isData3DTexture)Q.setTexture3D(be,0),bt=U.TEXTURE_3D;else if(be.isDataArrayTexture||be.isCompressedArrayTexture)Q.setTexture2DArray(be,0),bt=U.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}U.pixelStorei(U.UNPACK_FLIP_Y_WEBGL,be.flipY),U.pixelStorei(U.UNPACK_PREMULTIPLY_ALPHA_WEBGL,be.premultiplyAlpha),U.pixelStorei(U.UNPACK_ALIGNMENT,be.unpackAlignment);const St=U.getParameter(U.UNPACK_ROW_LENGTH),cn=U.getParameter(U.UNPACK_IMAGE_HEIGHT),Hn=U.getParameter(U.UNPACK_SKIP_PIXELS),sn=U.getParameter(U.UNPACK_SKIP_ROWS),yn=U.getParameter(U.UNPACK_SKIP_IMAGES),mt=Re.isCompressedTexture?Re.mipmaps[Me]:Re.image;U.pixelStorei(U.UNPACK_ROW_LENGTH,mt.width),U.pixelStorei(U.UNPACK_IMAGE_HEIGHT,mt.height),U.pixelStorei(U.UNPACK_SKIP_PIXELS,j.min.x),U.pixelStorei(U.UNPACK_SKIP_ROWS,j.min.y),U.pixelStorei(U.UNPACK_SKIP_IMAGES,j.min.z),Re.isDataTexture||Re.isData3DTexture?U.texSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,yt,Mt,Ge,Tt,mt.data):Re.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),U.compressedTexSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,yt,Mt,Ge,mt.data)):U.texSubImage3D(bt,Me,xe.x,xe.y,xe.z,rt,yt,Mt,Ge,Tt,mt),U.pixelStorei(U.UNPACK_ROW_LENGTH,St),U.pixelStorei(U.UNPACK_IMAGE_HEIGHT,cn),U.pixelStorei(U.UNPACK_SKIP_PIXELS,Hn),U.pixelStorei(U.UNPACK_SKIP_ROWS,sn),U.pixelStorei(U.UNPACK_SKIP_IMAGES,yn),Me===0&&be.generateMipmaps&&U.generateMipmap(bt),ue.unbindTexture()},this.initTexture=function(j){j.isCubeTexture?Q.setTextureCube(j,0):j.isData3DTexture?Q.setTexture3D(j,0):j.isDataArrayTexture||j.isCompressedArrayTexture?Q.setTexture2DArray(j,0):Q.setTexture2D(j,0),ue.unbindTexture()},this.resetState=function(){w=0,_=0,R=null,ue.reset(),et.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return no}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===Nm?"display-p3":"srgb",t.unpackColorSpace=dn.workingColorSpace===kh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Yn?Va:oI}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Va?Yn:ao}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 hT extends gI{}hT.prototype.isWebGL1Renderer=!0;class Om{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new st(e),this.density=t}clone(){return new Om(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Gm{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new st(e),this.near=t,this.far=i}clone(){return new Gm(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class vc extends Vt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Hm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=mh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Jr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ic("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:af.clone(),uv:zr.getInterpolation(af,wp,cf,_p,ww,ly,_w,new Te),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 Mp(n,e,t,i,r,s){uu.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(lf.x=s*uu.x-r*uu.y,lf.y=r*uu.x+s*uu.y):lf.copy(uu),n.copy(e),n.x+=lf.x,n.y+=lf.y,n.applyMatrix4(dT)}const Qp=new K,Mw=new K;class gT extends Vt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){Qp.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Qp);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Qp.setFromMatrixPosition(e.matrixWorld),Mw.setFromMatrixPosition(this.matrixWorld);const i=Qp.distanceTo(Mw)/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 fu="batchId",xa=new _t,Nw=new _t,nO=new _t,kw=new _t,Ay=new Gh,Dp=new ai,Ql=new fi,ff=new K,fy=new tO,zi=new tn,bp=[];function iO(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 un(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(fu,new un(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(fu))throw new Error(`BatchedMesh: Geometry cannot use attribute "${fu}"`);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===fu)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 ai);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(),u=c!==null;if(u&&(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 h=this._visibility,d=this._active,p=this._matricesTexture,m=this._matricesTexture.image.data;h.push(!0),d.push(!0);const I=this._geometryCount;this._geometryCount++,nO.toArray(m,I*16),p.needsUpdate=!0,o.push(r),a.push({start:u?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new ai,sphereInitialized:!1,sphere:new fi});const v=this.geometry.getAttribute(fu);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,c=a.vertexCount;for(const p in i.attributes){if(p===fu)continue;const m=t.getAttribute(p),I=i.getAttribute(p);iO(m,I,l);const v=m.itemSize;for(let g=m.count,y=c;g=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,c=this._drawRanges[e];for(let u=c.start,h=c.start+c.count;u=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;zi.material=this.material,zi.geometry.index=l.index,zi.geometry.attributes=l.attributes,zi.geometry.boundingBox===null&&(zi.geometry.boundingBox=new ai),zi.geometry.boundingSphere===null&&(zi.geometry.boundingSphere=new fi);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,u=this._multiDrawStarts,h=this._multiDrawCounts,d=this._drawRanges,p=this.perObjectFrustumCulled;p&&(kw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Ay.setFromProjectionMatrix(kw,e.coordinateSystem));let m=0;if(this.sortObjects){Nw.copy(this.matrixWorld).invert(),ff.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Nw);for(let g=0,y=c.length;gl)continue;d.applyMatrix4(this.matrixWorld);const D=e.ray.origin.distanceTo(d);De.far||t.push({distance:D,point:h.clone().applyMatrix4(this.matrixWorld),index:E,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),y=Math.min(v.count,o.start+o.count);for(let E=g,x=y-1;El)continue;d.applyMatrix4(this.matrixWorld);const _=e.ray.origin.distanceTo(d);_e.far||t.push({distance:_,point:h.clone().applyMatrix4(this.matrixWorld),index:E,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class CT extends Qn{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:Cn,this.magFilter=s!==void 0?s:Cn,this.generateMipmaps=!1;const u=this;function h(){u.needsUpdate=!0,e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(h)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class rO extends Qn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=$n,this.minFilter=$n,this.generateMipmaps=!1,this.needsUpdate=!0}}class Vm extends Qn{constructor(e,t,i,r,s,o,a,l,c,u,h,d){super(null,o,a,l,c,u,r,s,h,d),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class sO extends Vm{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Yi}}class oO extends Vm{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Go),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class aO extends Qn{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 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,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 u=i[r],d=i[r+1]-u,p=(o-u)/d;return(r+p)/(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 Te:new K);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 K,r=[],s=[],o=[],a=new K,l=new _t;for(let p=0;p<=e;p++){const m=p/e;r[p]=this.getTangentAt(m,new K)}s[0]=new K,o[0]=new K;let c=Number.MAX_VALUE;const u=Math.abs(r[0].x),h=Math.abs(r[0].y),d=Math.abs(r[0].z);u<=c&&(c=u,i.set(1,0,0)),h<=c&&(c=h,i.set(0,1,0)),d<=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 p=1;p<=e;p++){if(s[p]=s[p-1].clone(),o[p]=o[p-1].clone(),a.crossVectors(r[p-1],r[p]),a.length()>Number.EPSILON){a.normalize();const m=Math.acos(Jn(r[p-1].dot(r[p]),-1,1));s[p].applyMatrix4(l.makeRotationAxis(a,m))}o[p].crossVectors(r[p],s[p])}if(t===!0){let p=Math.acos(Jn(s[0].dot(s[e]),-1,1));p/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(p=-p);for(let m=1;m<=e;m++)s[m].applyMatrix4(l.makeRotationAxis(r[m],p*m)),o[m].crossVectors(r[m],s[m])}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 Wm 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){const i=t||new Te,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,u;this.closed||a>0?c=r[(a-1)%s]:(Np.subVectors(r[0],r[1]).add(r[0]),c=Np);const h=r[a%s],d=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(Yw(a,l.x,c.x,u.x,h.x),Yw(a,l.y,c.y,u.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),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 h=c.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),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 Vh extends kt{constructor(e=[new Te(0,-.5),new Te(.5,0),new Te(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=Jn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],c=[],u=1/t,h=new K,d=new Te,p=new K,m=new K,I=new K;let v=0,g=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:v=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,p.x=g*1,p.y=-v,p.z=g*0,I.copy(p),p.normalize(),l.push(p.x,p.y,p.z);break;case e.length-1:l.push(I.x,I.y,I.z);break;default:v=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,p.x=g*1,p.y=-v,p.z=g*0,m.copy(p),p.x+=I.x,p.y+=I.y,p.z+=I.z,p.normalize(),l.push(p.x,p.y,p.z),I.copy(m)}for(let y=0;y<=t;y++){const E=i+y*u*r,x=Math.sin(E),w=Math.cos(E);for(let _=0;_<=e.length-1;_++){h.x=e[_].x*x,h.y=e[_].y,h.z=e[_].x*w,o.push(h.x,h.y,h.z),d.x=y/t,d.y=_/(e.length-1),a.push(d.x,d.y);const R=l[3*_+0]*x,D=l[3*_+1],Y=l[3*_+0]*w;c.push(R,D,Y)}}for(let y=0;y0&&E(!0),t>0&&E(!1)),this.setIndex(u),this.setAttribute("position",new gt(h,3)),this.setAttribute("normal",new gt(d,3)),this.setAttribute("uv",new gt(p,2));function y(){const x=new K,w=new K;let _=0;const R=(t-e)/i;for(let D=0;D<=s;D++){const Y=[],M=D/s,P=M*(t-e)+e;for(let z=0;z<=r;z++){const se=z/r,V=se*l+a,oe=Math.sin(V),ee=Math.cos(V);w.x=P*oe,w.y=-M*i+v,w.z=P*ee,h.push(w.x,w.y,w.z),x.set(oe,R,ee).normalize(),d.push(x.x,x.y,x.z),p.push(se,1-M),Y.push(m++)}I.push(Y)}for(let D=0;D.9&&R<.1&&(E<.2&&(o[y+0]+=1),x<.2&&(o[y+2]+=1),w<.2&&(o[y+4]+=1))}}function d(y){s.push(y.x,y.y,y.z)}function p(y,E){const x=y*3;E.x=e[x+0],E.y=e[x+1],E.z=e[x+2]}function m(){const y=new K,E=new K,x=new K,w=new K,_=new Te,R=new Te,D=new Te;for(let Y=0,M=0;Y80*t){a=c=n[0],l=u=n[1];for(let m=t;mc&&(c=h),d>u&&(u=d);p=Math.max(c-a,u-l),p=p!==0?32767/p:0}return Eh(s,o,t,a,l,p,0),o}};function MT(n,e,t,i,r){let s,o;if(r===TO(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Jw(s,n[s],n[s+1],o);return o&&jm(o,o.next)&&(Ih(o),o=o.next),o}function Ec(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(jm(t,t.next)||kn(t.prev,t,t.next)===0)){if(Ih(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Eh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&SO(n,i,r,s);let a=n,l,c;for(;n.prev!==n.next;){if(l=n.prev,c=n.next,s?mO(n,i,r,s):gO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(c.i/t|0),Ih(n),n=c.next,a=c.next;continue}if(n=c,n===a){o?o===1?(n=vO(Ec(n),e,t),Eh(n,e,t,i,r,s,2)):o===2&&yO(n,e,t,i,r,s):Eh(Ec(n),e,t,i,r,s,1);break}}}function gO(n){const e=n.prev,t=n,i=n.next;if(kn(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,u=rs?r>o?r:o:s>o?s:o,p=a>l?a>c?a:c:l>c?l:c;let m=i.next;for(;m!==e;){if(m.x>=u&&m.x<=d&&m.y>=h&&m.y<=p&&ku(r,a,s,l,o,c,m.x,m.y)&&kn(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function mO(n,e,t,i){const r=n.prev,s=n,o=n.next;if(kn(r,s,o)>=0)return!1;const a=r.x,l=s.x,c=o.x,u=r.y,h=s.y,d=o.y,p=al?a>c?a:c:l>c?l:c,v=u>h?u>d?u:d:h>d?h:d,g=R1(p,m,e,t,i),y=R1(I,v,e,t,i);let E=n.prevZ,x=n.nextZ;for(;E&&E.z>=g&&x&&x.z<=y;){if(E.x>=p&&E.x<=I&&E.y>=m&&E.y<=v&&E!==r&&E!==o&&ku(a,u,l,h,c,d,E.x,E.y)&&kn(E.prev,E,E.next)>=0||(E=E.prevZ,x.x>=p&&x.x<=I&&x.y>=m&&x.y<=v&&x!==r&&x!==o&&ku(a,u,l,h,c,d,x.x,x.y)&&kn(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;E&&E.z>=g;){if(E.x>=p&&E.x<=I&&E.y>=m&&E.y<=v&&E!==r&&E!==o&&ku(a,u,l,h,c,d,E.x,E.y)&&kn(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;x&&x.z<=y;){if(x.x>=p&&x.x<=I&&x.y>=m&&x.y<=v&&x!==r&&x!==o&&ku(a,u,l,h,c,d,x.x,x.y)&&kn(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function vO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!jm(r,s)&&QT(r,i,i.next,s)&&Ch(r,s)&&Ch(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Ih(i),Ih(i.next),i=n=s),i=i.next}while(i!==n);return Ec(i)}function yO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&MO(o,a)){let l=RT(o,a);o=Ec(o,o.next),l=Ec(l,l.next),Eh(o,e,t,i,r,s,0),Eh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function EO(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 d=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=s&&d>i&&(i=d,r=t.x=t.x&&t.x>=l&&s!==t.x&&ku(or.x||t.x===r.x&&xO(r,t)))&&(r=t,u=h)),t=t.next;while(t!==a);return r}function xO(n,e){return kn(n.prev,n,e.prev)<0&&kn(e.next,n,n.next)<0}function SO(n,e,t,i){let r=n;do r.z===0&&(r.z=R1(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,wO(r)}function wO(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 R1(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 _O(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 MO(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!QO(n,e)&&(Ch(n,e)&&Ch(e,n)&&RO(n,e)&&(kn(n.prev,n,e.prev)||kn(n,e.prev,e))||jm(n,e)&&kn(n.prev,n,n.next)>0&&kn(e.prev,e,e.next)>0)}function kn(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function jm(n,e){return n.x===e.x&&n.y===e.y}function QT(n,e,t,i){const r=Hp(kn(n,e,t)),s=Hp(kn(n,e,i)),o=Hp(kn(t,i,n)),a=Hp(kn(t,i,e));return!!(r!==s&&o!==a||r===0&&Gp(n,t,e)||s===0&&Gp(n,i,e)||o===0&&Gp(t,n,i)||a===0&&Gp(t,e,i))}function Gp(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 Hp(n){return n>0?1:n<0?-1:0}function QO(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&&QT(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function Ch(n,e){return kn(n.prev,n,n.next)<0?kn(n,e,n.next)>=0&&kn(n,n.prev,e)>=0:kn(n,e,n.prev)<0||kn(n,n.next,e)<0}function RO(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 RT(n,e){const t=new T1(n.i,n.x,n.y),i=new T1(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 Jw(n,e,t,i){const r=new T1(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 Ih(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 T1(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 TO(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Kw(n,e){for(let t=0;tNumber.EPSILON){const ye=Math.sqrt(Se),Le=Math.sqrt(b*b+Z*Z),Fe=me.x-Q/ye,ze=me.y+X/ye,Ne=re.x-Z/Le,je=re.y+b/Le,De=((Ne-Fe)*Z-(je-ze)*b)/(X*Z-Q*b);le=Fe+X*De-U.x,ue=ze+Q*De-U.y;const Et=le*le+ue*ue;if(Et<=2)return new Te(le,ue);we=Math.sqrt(Et/2)}else{let ye=!1;X>Number.EPSILON?b>Number.EPSILON&&(ye=!0):X<-Number.EPSILON?b<-Number.EPSILON&&(ye=!0):Math.sign(Q)===Math.sign(Z)&&(ye=!0),ye?(le=-Q,ue=X,we=Math.sqrt(Se)):(le=X,ue=Q,we=Math.sqrt(Se/2))}return new Te(le/we,ue/we)}const J=[];for(let U=0,me=V.length,re=me-1,le=U+1;U=0;U--){const me=U/v,re=p*Math.cos(me*Math.PI/2),le=m*Math.sin(me*Math.PI/2)+I;for(let ue=0,we=V.length;ue=0;){const le=re;let ue=re-1;ue<0&&(ue=U.length-1);for(let we=0,X=u+v*2;we0)&&p.push(E,x,_),(g!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class PT extends mi{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new st(16777215),this.specular=new st(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Nh,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.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 UT extends mi{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new st(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 NT extends mi{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 kT extends mi{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new st(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new st(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Nh,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.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 FT extends mi{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new st(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=tl,this.normalScale=new Te(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 OT extends dr{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 Zl(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 GT(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function HT(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 D1(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 MI(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 PO(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){h.push(c.times[p]);for(let I=0;Is.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[m]){const g=m*h+u,y=g+h-u;I=a.values.slice(g,y)}else{const g=a.createInterpolant(),y=u,E=h-u;g.evaluate(s),I=g.resultBuffer.slice(y,E)}l==="quaternion"&&new ur().fromArray(I).normalize().conjugate().toArray(I);const v=c.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&>(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()===Qg,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}}zs.prototype.TimeBufferType=Float32Array;zs.prototype.ValueBufferType=Float32Array;zs.prototype.DefaultInterpolation=fh;class xc extends zs{}xc.prototype.ValueTypeName="bool";xc.prototype.ValueBufferType=Array;xc.prototype.DefaultInterpolation=Ah;xc.prototype.InterpolantFactoryMethodLinear=void 0;xc.prototype.InterpolantFactoryMethodSmooth=void 0;class RI extends zs{}RI.prototype.ValueTypeName="color";class Bh extends zs{}Bh.prototype.ValueTypeName="number";class WT extends Jh{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let c=e*a;for(let u=c+a;c!==u;c+=4)ur.slerpFlat(s,0,o,c-a,o,c,l);return s}}class vA extends zs{InterpolantFactoryMethodLinear(e){return new WT(this.times,this.values,this.getValueSize(),e)}}vA.prototype.ValueTypeName="quaternion";vA.prototype.DefaultInterpolation=fh;vA.prototype.InterpolantFactoryMethodSmooth=void 0;class Sc extends zs{}Sc.prototype.ValueTypeName="string";Sc.prototype.ValueBufferType=Array;Sc.prototype.DefaultInterpolation=Ah;Sc.prototype.InterpolantFactoryMethodLinear=void 0;Sc.prototype.InterpolantFactoryMethodSmooth=void 0;class xh extends zs{}xh.prototype.ValueTypeName="vector";class Sh{constructor(e,t=-1,i,r=Pm){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=Jr(),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(FO(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(zs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const h=u[1];let d=r[h];d||(r[h]=d=[]),d.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(h,d,p,m,I){if(p.length!==0){const v=[],g=[];MI(p,v,g,m),v.length!==0&&I.push(new h(d,v,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let h=0;h{t&&t(s),this.manager.itemEnd(e)},0),s;if(Bo[e]!==void 0){Bo[e].push({onLoad:t,onProgress:i,onError:r});return}Bo[e]=[],Bo[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const u=Bo[e],h=c.body.getReader(),d=c.headers.get("Content-Length")||c.headers.get("X-File-Size"),p=d?parseInt(d):0,m=p!==0;let I=0;const v=new ReadableStream({start(g){y();function y(){h.read().then(({done:E,value:x})=>{if(E)g.close();else{I+=x.byteLength;const w=new ProgressEvent("progress",{lengthComputable:m,loaded:I,total:p});for(let _=0,R=u.length;_{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,a));case"json":return c.json();default:if(a===void 0)return c.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),d=h&&h[1]?h[1].toLowerCase():void 0,p=new TextDecoder(d);return c.arrayBuffer().then(m=>p.decode(m))}}}).then(c=>{bo.add(e,c);const u=Bo[e];delete Bo[e];for(let h=0,d=u.length;h{const u=Bo[e];if(u===void 0)throw this.manager.itemError(e),c;delete Bo[e];for(let h=0,d=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class GO extends pr{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new lo(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 st().setHex(o.value);break;case"v2":r.uniforms[s].value=new Te().fromArray(o.value);break;case"v3":r.uniforms[s].value=new K().fromArray(o.value);break;case"v4":r.uniforms[s].value=new ln().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Pt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new _t().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 Te().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.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 Te().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:DT,SpriteMaterial:mI,RawShaderMaterial:bT,ShaderMaterial:Os,PointsMaterial:yI,MeshPhysicalMaterial:LT,MeshStandardMaterial:_I,MeshPhongMaterial:PT,MeshToonMaterial:UT,MeshNormalMaterial:NT,MeshLambertMaterial:kT,MeshDepthMaterial:Hh,MeshDistanceMaterial:zh,MeshBasicMaterial:hr,MeshMatcapMaterial:FT,LineDashedMaterial:OT,LineBasicMaterial:dr,Material:mi};return new t[e]}}class b1{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 TI(t);s=new wh(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){r=new wh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const v=new ai;v.min.fromArray(I.boxMin),v.max.fromArray(I.boxMax);const g=new fi;return g.radius=I.sphereRadius,g.center.fromArray(I.sphereCenter),{boxInitialized:I.boxInitialized,box:v,sphereInitialized:I.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=c(e.matricesTexture.uuid);break;case"LOD":o=new gT;break;case"Line":o=new qa(a(e.geometry),l(e.material));break;case"LineLoop":o=new ET(a(e.geometry),l(e.material));break;case"LineSegments":o=new co(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new EI(a(e.geometry),l(e.material));break;case"Sprite":o=new pT(l(e.material));break;case"Group":o=new Do;break;case"Bone":o=new vI;break;default:o=new Vt}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 d=e.children;for(let p=0;p"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=bo.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 bo.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),bo.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});bo.add(e,l),s.manager.itemStart(e)}}let zp;class LI{static getContext(){return zp===void 0&&(zp=new(window.AudioContext||window.webkitAudioContext)),zp}static setContext(e){zp=e}}class qO extends pr{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new lo(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);LI.getContext().decodeAudioData(c,function(h){t(h)}).catch(a)}catch(c){a(c)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const i_=new _t,r_=new _t,Rl=new _t;class ZO{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new ui,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new ui,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,Rl.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(nc*t.fov*.5)/t.zoom;let a,l;r_.elements[12]=-r,i_.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Rl.elements[0]=2*t.near/(l-a),Rl.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Rl),a=-o*t.aspect-s,l=o*t.aspect-s,Rl.elements[0]=2*t.near/(l-a),Rl.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Rl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(r_),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(i_)}}class PI{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=s_(),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=s_();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function s_(){return(typeof performance>"u"?Date:performance).now()}const Tl=new K,o_=new ur,$O=new K,Dl=new K;class eG extends Vt{constructor(){super(),this.type="AudioListener",this.context=LI.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new PI}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(Tl,o_,$O),Dl.set(0,0,-1).applyQuaternion(o_),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Tl.x,r),t.positionY.linearRampToValueAtTime(Tl.y,r),t.positionZ.linearRampToValueAtTime(Tl.z,r),t.forwardX.linearRampToValueAtTime(Dl.x,r),t.forwardY.linearRampToValueAtTime(Dl.y,r),t.forwardZ.linearRampToValueAtTime(Dl.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Tl.x,Tl.y,Tl.z),t.setOrientation(Dl.x,Dl.y,Dl.z,i.x,i.y,i.z)}}class nD extends Vt{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){ur.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;ur.multiplyQuaternionsFlat(e,o,e,t,e,i),ur.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 UI="\\[\\]\\.:\\/",rG=new RegExp("["+UI+"]","g"),NI="[^"+UI+"]",sG="[^"+UI.replace("\\.","")+"]",oG=/((?:WC+[\/:])*)/.source.replace("WC",NI),aG=/(WCOD+)?/.source.replace("WCOD",sG),lG=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",NI),cG=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",NI),uG=new RegExp("^"+oG+aG+lG+cG+"$"),AG=["material","materials","bones","map"];class fG{constructor(e,t,i){const r=i||nn.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 nn{constructor(e,t,i){this.path=t,this.parsedPath=i||nn.parseTrackName(t),this.node=nn.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 nn.Composite(e,t,i):new nn(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(rG,"")}static parseTrackName(e){const t=uG.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);AG.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const h=s++,d=e[h];t[d.uuid]=u,e[u]=d,t[c]=h,e[h]=l;for(let p=0,m=r;p!==m;++p){const I=i[p],v=I[h],g=I[u];I[u]=v,I[h]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const c=arguments[a],u=c.uuid,h=t[u];if(h!==void 0)if(delete t[u],h0&&(t[p.uuid]=h),e[h]=p,e.pop();for(let m=0,I=r;m!==I;++m){const v=i[m];v[h]=v[d],v.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,u=this.nCachedObjects_,h=new Array(c);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(h);for(let d=u,p=l.length;d!==p;++d){const m=l[d];h[d]=new nn(m,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],c=e[a];t[c]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class rD{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:Kl,endingEnd:Kl};for(let c=0;c!==o;++c){const u=s[c].createInterpolant(null);a[c]=u,u.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=OR,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 sI:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(o),c[u].accumulateAdditive(a);break;case Pm:default:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(o),c[u].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===GR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===FR){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=jl,r.endingEnd=jl):(e?r.endingStart=this.zeroSlopeAtStart?jl:Kl:r.endingStart=hh,t?r.endingEnd=this.zeroSlopeAtEnd?jl:Kl:r.endingEnd=hh)}_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 dG=new Float32Array(1);class pG extends Vo{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 u=c[l];u===void 0&&(u={},c[l]=u);for(let h=0;h!==s;++h){const d=r[h],p=d.name;let m=u[p];if(m!==void 0)++m.referenceCount,o[h]=m;else{if(m=o[h],m!==void 0){m._cacheIndex===null&&(++m.referenceCount,this._addInactiveBinding(m,l,p));continue}const I=t&&t._propertyBindings[h].binding.parsedPath;m=new iD(nn.create(i,p,I),d.ValueTypeName,d.getValueSize()),++m.referenceCount,this._addInactiveBinding(m,l,p),o[h]=m}a[h].resultBuffer=m.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,c_).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 u_=new K,Vp=new K;class IG{constructor(e=new K,t=new K){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){u_.subVectors(e,this.start),Vp.subVectors(this.end,this.start);const i=Vp.dot(Vp);let s=Vp.dot(u_)/i;return t&&(s=Jn(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 A_=new K;class BG extends Vt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new kt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{g_.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(g_,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 UG extends co{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 kt;r.setAttribute("position",new gt(t,3)),r.setAttribute("color",new gt(i,3));const s=new dr({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new st,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 wa{constructor(){this.type="ShapePath",this.color=new st,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Wa,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 y=[];for(let E=0,x=g.length;ENumber.EPSILON){if(M<0&&(R=y[_],Y=-Y,D=y[w],M=-M),g.yD.y)continue;if(g.y===R.y){if(g.x===R.x)return!0}else{const P=M*(g.x-R.x)-Y*(g.y-R.y);if(P===0)return!0;if(P<0)continue;x=!x}}else{if(g.y!==R.y)continue;if(D.x<=g.x&&g.x<=R.x||R.x<=g.x&&g.x<=D.x)return!0}}return x}const r=ks.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 Ya,l.curves=a.curves,c.push(l),c;let u=!r(s[0].getPoints());u=e?!u:u;const h=[],d=[];let p=[],m=0,I;d[m]=void 0,p[m]=[];for(let g=0,y=s.length;g1){let g=!1,y=0;for(let E=0,x=d.length;E0&&g===!1&&(p=h)}let v;for(let g=0,y=d.length;g{const h=typeof c=="function"?c(e):c;if(h!==e){const d=e;e=u?h:Object.assign({},e,h),t.forEach(p=>p(e,d))}},r=()=>e,s=(c,u=r,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=u(e);function p(){const m=u(e);if(!h(d,m)){const I=d;c(d=m,I)}}return t.add(p),()=>t.delete(p)},l={setState:i,getState:r,subscribe:(c,u,h)=>u||h?s(c,u,h):(t.add(c),()=>t.delete(c)),destroy:()=>t.clear()};return e=n(i,r,l),l}const kG=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),g_=kG?te.useEffect:te.useLayoutEffect;function aD(n){const e=typeof n=="function"?NG(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=te.useReducer(v=>v+1,0),o=e.getState(),a=te.useRef(o),l=te.useRef(i),c=te.useRef(r),u=te.useRef(!1),h=te.useRef();h.current===void 0&&(h.current=i(o));let d,p=!1;(a.current!==o||l.current!==i||c.current!==r||u.current)&&(d=i(o),p=!r(h.current,d)),g_(()=>{p&&(h.current=d),a.current=o,l.current=i,c.current=r,u.current=!1});const m=te.useRef(o);g_(()=>{const v=()=>{try{const y=e.getState(),E=l.current(y);c.current(h.current,E)||(a.current=y,h.current=E,s())}catch{u.current=!0,s()}},g=e.subscribe(v);return e.getState()!==m.current&&v(),g},[]);const I=p?d:h.current;return te.useDebugValue(I),I};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 lD={exports:{}},cD={exports:{}},uD={};/** + */wc.ConcurrentRoot=1;wc.ContinuousEventPriority=4;wc.DefaultEventPriority=16;wc.DiscreteEventPriority=1;wc.IdleEventPriority=536870912;wc.LegacyRoot=0;aD.exports=wc;var Fu=aD.exports;function kG(n){let e;const t=new Set,i=(c,u)=>{const h=typeof c=="function"?c(e):c;if(h!==e){const d=e;e=u?h:Object.assign({},e,h),t.forEach(p=>p(e,d))}},r=()=>e,s=(c,u=r,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=u(e);function p(){const m=u(e);if(!h(d,m)){const I=d;c(d=m,I)}}return t.add(p),()=>t.delete(p)},l={setState:i,getState:r,subscribe:(c,u,h)=>u||h?s(c,u,h):(t.add(c),()=>t.delete(c)),destroy:()=>t.clear()};return e=n(i,r,l),l}const FG=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),m_=FG?te.useEffect:te.useLayoutEffect;function lD(n){const e=typeof n=="function"?kG(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=te.useReducer(v=>v+1,0),o=e.getState(),a=te.useRef(o),l=te.useRef(i),c=te.useRef(r),u=te.useRef(!1),h=te.useRef();h.current===void 0&&(h.current=i(o));let d,p=!1;(a.current!==o||l.current!==i||c.current!==r||u.current)&&(d=i(o),p=!r(h.current,d)),m_(()=>{p&&(h.current=d),a.current=o,l.current=i,c.current=r,u.current=!1});const m=te.useRef(o);m_(()=>{const v=()=>{try{const y=e.getState(),E=l.current(y);c.current(h.current,E)||(a.current=y,h.current=E,s())}catch{u.current=!0,s()}},g=e.subscribe(v);return e.getState()!==m.current&&v(),g},[]);const I=p?d:h.current;return te.useDebugValue(I),I};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 cD={exports:{}},uD={exports:{}},AD={};/** * @license React * scheduler.production.min.js * @@ -3816,7 +3816,7 @@ void main() { * * 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(O,J){var Z=O.length;O.push(J);e:for(;0>>1,ce=O[W];if(0>>1;Wr(k,Z))Nr(L,k)?(O[W]=L,O[N]=Z,W=N):(O[W]=k,O[G]=Z,W=G);else if(Nr(L,Z))O[W]=L,O[N]=Z,W=N;else break e}}return J}function r(O,J){var Z=O.sortIndex-J.sortIndex;return Z!==0?Z:O.id-J.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=[],u=1,h=null,d=3,p=!1,m=!1,I=!1,v=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(O){for(var J=t(c);J!==null;){if(J.callback===null)i(c);else if(J.startTime<=O)i(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=t(c)}}function x(O){if(I=!1,E(O),!m)if(t(l)!==null)m=!0,ee(w);else{var J=t(c);J!==null&&he(x,J.startTime-O)}}function w(O,J){m=!1,I&&(I=!1,g(D),D=-1),p=!0;var Z=d;try{for(E(J),h=t(l);h!==null&&(!(h.expirationTime>J)||O&&!P());){var W=h.callback;if(typeof W=="function"){h.callback=null,d=h.priorityLevel;var ce=W(h.expirationTime<=J);J=n.unstable_now(),typeof ce=="function"?h.callback=ce:h===t(l)&&i(l),E(J)}else i(l);h=t(l)}if(h!==null)var Ee=!0;else{var G=t(c);G!==null&&he(x,G.startTime-J),Ee=!1}return Ee}finally{h=null,d=Z,p=!1}}var _=!1,R=null,D=-1,Y=5,Q=-1;function P(){return!(n.unstable_now()-QO||125W?(O.sortIndex=Z,e(c,O),t(l)===null&&O===t(c)&&(I?(g(D),D=-1):I=!0,he(x,Z-W))):(O.sortIndex=ce,e(l,O),m||p||(m=!0,ee(w))),O},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(O){var J=d;return function(){var Z=d;d=J;try{return O.apply(this,arguments)}finally{d=Z}}}})(uD);cD.exports=uD;var P1=cD.exports;/** + */(function(n){function e(O,J){var q=O.length;O.push(J);e:for(;0>>1,ce=O[W];if(0>>1;Wr(k,q))Nr(L,k)?(O[W]=L,O[N]=q,W=N):(O[W]=k,O[G]=q,W=G);else if(Nr(L,q))O[W]=L,O[N]=q,W=N;else break e}}return J}function r(O,J){var q=O.sortIndex-J.sortIndex;return q!==0?q:O.id-J.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=[],u=1,h=null,d=3,p=!1,m=!1,I=!1,v=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(O){for(var J=t(c);J!==null;){if(J.callback===null)i(c);else if(J.startTime<=O)i(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=t(c)}}function x(O){if(I=!1,E(O),!m)if(t(l)!==null)m=!0,ee(w);else{var J=t(c);J!==null&&he(x,J.startTime-O)}}function w(O,J){m=!1,I&&(I=!1,g(D),D=-1),p=!0;var q=d;try{for(E(J),h=t(l);h!==null&&(!(h.expirationTime>J)||O&&!P());){var W=h.callback;if(typeof W=="function"){h.callback=null,d=h.priorityLevel;var ce=W(h.expirationTime<=J);J=n.unstable_now(),typeof ce=="function"?h.callback=ce:h===t(l)&&i(l),E(J)}else i(l);h=t(l)}if(h!==null)var Ee=!0;else{var G=t(c);G!==null&&he(x,G.startTime-J),Ee=!1}return Ee}finally{h=null,d=q,p=!1}}var _=!1,R=null,D=-1,Y=5,M=-1;function P(){return!(n.unstable_now()-MO||125W?(O.sortIndex=q,e(c,O),t(l)===null&&O===t(c)&&(I?(g(D),D=-1):I=!0,he(x,q-W))):(O.sortIndex=ce,e(l,O),m||p||(m=!0,ee(w))),O},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(O){var J=d;return function(){var q=d;d=J;try{return O.apply(this,arguments)}finally{d=q}}}})(AD);uD.exports=AD;var P1=uD.exports;/** * @license React * react-reconciler.production.min.js * @@ -3824,25 +3824,25 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var FG=function(e){var t={},i=te,r=P1,s=Object.assign;function o(A){for(var f="https://reactjs.org/docs/error-decoder.html?invariant="+A,C=1;Cve||S[ie]!==T[ve]){var Ue=` -`+S[ie].replace(" at new "," at ");return A.displayName&&Ue.includes("")&&(Ue=Ue.replace("",A.displayName)),Ue}while(1<=ie&&0<=ve);break}}}finally{bt=!1,Error.prepareStackTrace=C}return(A=A?A.displayName||A.name:"")?Tt(A):""}var cn=Object.prototype.hasOwnProperty,Hn=[],sn=-1;function yn(A){return{current:A}}function gt(A){0>sn||(A.current=Hn[sn],Hn[sn]=null,sn--)}function lt(A,f){sn++,Hn[sn]=A.current,A.current=f}var ni={},F=yn(ni),H=yn(!1),Ae=ni;function ge(A,f){var C=A.type.contextTypes;if(!C)return ni;var B=A.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===f)return B.__reactInternalMemoizedMaskedChildContext;var S={},T;for(T in C)S[T]=f[T];return B&&(A=A.stateNode,A.__reactInternalMemoizedUnmaskedChildContext=f,A.__reactInternalMemoizedMaskedChildContext=S),S}function Ce(A){return A=A.childContextTypes,A!=null}function Qe(){gt(H),gt(F)}function Oe(A,f,C){if(F.current!==ni)throw Error(o(168));lt(F,f),lt(H,C)}function He(A,f,C){var B=A.stateNode;if(f=f.childContextTypes,typeof B.getChildContext!="function")return C;B=B.getChildContext();for(var S in B)if(!(S in f))throw Error(o(108,D(A)||"Unknown",S));return s({},C,B)}function We(A){return A=(A=A.stateNode)&&A.__reactInternalMemoizedMergedChildContext||ni,Ae=F.current,lt(F,A),lt(H,H.current),!0}function Ve(A,f,C){var B=A.stateNode;if(!B)throw Error(o(169));C?(A=He(A,f,Ae),B.__reactInternalMemoizedMergedChildContext=A,gt(H),gt(F),lt(F,A)):gt(H),lt(H,C)}var $e=Math.clz32?Math.clz32:xn,Ct=Math.log,Ht=Math.LN2;function xn(A){return A>>>=0,A===0?32:31-(Ct(A)/Ht|0)|0}var Yt=64,bn=4194304;function Xn(A){switch(A&-A){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 A&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return A&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return A}}function Rr(A,f){var C=A.pendingLanes;if(C===0)return 0;var B=0,S=A.suspendedLanes,T=A.pingedLanes,ie=C&268435455;if(ie!==0){var ve=ie&~S;ve!==0?B=Xn(ve):(T&=ie,T!==0&&(B=Xn(T)))}else ie=C&~S,ie!==0?B=Xn(ie):T!==0&&(B=Xn(T));if(B===0)return 0;if(f!==0&&f!==B&&!(f&S)&&(S=B&-B,T=f&-f,S>=T||S===16&&(T&4194240)!==0))return f;if(B&4&&(B|=C&16),f=A.entangledLanes,f!==0)for(A=A.entanglements,f&=B;0C;C++)f.push(A);return f}function Vs(A,f,C){A.pendingLanes|=f,f!==536870912&&(A.suspendedLanes=0,A.pingedLanes=0),A=A.eventTimes,f=31-$e(f),A[f]=C}function aa(A,f){var C=A.pendingLanes&~f;A.pendingLanes=f,A.suspendedLanes=0,A.pingedLanes=0,A.expiredLanes&=f,A.mutableReadLanes&=f,A.entangledLanes&=f,f=A.entanglements;var B=A.eventTimes;for(A=A.expirationTimes;0>=ie,S-=ie,ho=1<<32-$e(f)+S|C<on?(Ci=Nt,Nt=null):Ci=Nt.sibling;var an=Dt(_e,Nt,Pe[on],ct);if(an===null){Nt===null&&(Nt=Ci);break}A&&Nt&&an.alternate===null&&f(_e,Nt),Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an,Nt=Ci}if(on===Pe.length)return C(_e,Nt),Rn&&ml(_e,on),xt;if(Nt===null){for(;onon?(Ci=Nt,Nt=null):Ci=Nt.sibling;var ga=Dt(_e,Nt,an.value,ct);if(ga===null){Nt===null&&(Nt=Ci);break}A&&Nt&&ga.alternate===null&&f(_e,Nt),Ie=T(ga,Ie,on),zt===null?xt=ga:zt.sibling=ga,zt=ga,Nt=Ci}if(an.done)return C(_e,Nt),Rn&&ml(_e,on),xt;if(Nt===null){for(;!an.done;on++,an=Pe.next())an=Ut(_e,an.value,ct),an!==null&&(Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an);return Rn&&ml(_e,on),xt}for(Nt=B(_e,Nt);!an.done;on++,an=Pe.next())an=En(Nt,_e,on,an.value,ct),an!==null&&(A&&an.alternate!==null&&Nt.delete(an.key===null?on:an.key),Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an);return A&&Nt.forEach(function(Eb){return f(_e,Eb)}),Rn&&ml(_e,on),xt}function as(_e,Ie,Pe,ct){if(typeof Pe=="object"&&Pe!==null&&Pe.type===u&&Pe.key===null&&(Pe=Pe.props.children),typeof Pe=="object"&&Pe!==null){switch(Pe.$$typeof){case l:e:{for(var xt=Pe.key,zt=Ie;zt!==null;){if(zt.key===xt){if(xt=Pe.type,xt===u){if(zt.tag===7){C(_e,zt.sibling),Ie=S(zt,Pe.props.children),Ie.return=_e,_e=Ie;break e}}else if(zt.elementType===xt||typeof xt=="object"&&xt!==null&&xt.$$typeof===E&&dB(xt)===zt.type){C(_e,zt.sibling),Ie=S(zt,Pe.props),Ie.ref=bA(_e,zt,Pe),Ie.return=_e,_e=Ie;break e}C(_e,zt);break}else f(_e,zt);zt=zt.sibling}Pe.type===u?(Ie=xl(Pe.props.children,_e.mode,ct,Pe.key),Ie.return=_e,_e=Ie):(ct=Od(Pe.type,Pe.key,Pe.props,null,_e.mode,ct),ct.ref=bA(_e,Ie,Pe),ct.return=_e,_e=ct)}return ie(_e);case c:e:{for(zt=Pe.key;Ie!==null;){if(Ie.key===zt)if(Ie.tag===4&&Ie.stateNode.containerInfo===Pe.containerInfo&&Ie.stateNode.implementation===Pe.implementation){C(_e,Ie.sibling),Ie=S(Ie,Pe.children||[]),Ie.return=_e,_e=Ie;break e}else{C(_e,Ie);break}else f(_e,Ie);Ie=Ie.sibling}Ie=Av(Pe,_e.mode,ct),Ie.return=_e,_e=Ie}return ie(_e);case E:return zt=Pe._init,as(_e,Ie,zt(Pe._payload),ct)}if(ae(Pe))return wt(_e,Ie,Pe,ct);if(_(Pe))return ki(_e,Ie,Pe,ct);cd(_e,Pe)}return typeof Pe=="string"&&Pe!==""||typeof Pe=="number"?(Pe=""+Pe,Ie!==null&&Ie.tag===6?(C(_e,Ie.sibling),Ie=S(Ie,Pe),Ie.return=_e,_e=Ie):(C(_e,Ie),Ie=uv(Pe,_e.mode,ct),Ie.return=_e,_e=Ie),ie(_e)):C(_e,Ie)}return as}var kc=pB(!0),gB=pB(!1),LA={},is=yn(LA),PA=yn(LA),Fc=yn(LA);function Js(A){if(A===LA)throw Error(o(174));return A}function M0(A,f){lt(Fc,f),lt(PA,A),lt(is,LA),A=he(f),gt(is),lt(is,A)}function Oc(){gt(is),gt(PA),gt(Fc)}function mB(A){var f=Js(Fc.current),C=Js(is.current);f=O(C,A.type,f),C!==f&&(lt(PA,A),lt(is,f))}function Q0(A){PA.current===A&&(gt(is),gt(PA))}var Pn=yn(0);function ud(A){for(var f=A;f!==null;){if(f.tag===13){var C=f.memoizedState;if(C!==null&&(C=C.dehydrated,C===null||Xt(C)||vn(C)))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===A)break;for(;f.sibling===null;){if(f.return===null||f.return===A)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var R0=[];function T0(){for(var A=0;AC?C:4,A(!0);var B=rs.transition;rs.transition={};try{A(!1),f()}finally{Kt=C,rs.transition=B}}function TB(){return Xs().memoizedState}function J3(A,f,C){var B=ha(A);C={lane:B,action:C,hasEagerState:!1,eagerState:null,next:null},DB(A)?bB(f,C):(LB(A,f,C),C=nr(),A=ss(A,B,C),A!==null&&PB(A,f,B))}function X3(A,f,C){var B=ha(A),S={lane:B,action:C,hasEagerState:!1,eagerState:null,next:null};if(DB(A))bB(f,S);else{LB(A,f,S);var T=A.alternate;if(A.lanes===0&&(T===null||T.lanes===0)&&(T=f.lastRenderedReducer,T!==null))try{var ie=f.lastRenderedState,ve=T(ie,C);if(S.hasEagerState=!0,S.eagerState=ve,Dr(ve,ie))return}catch{}finally{}C=nr(),A=ss(A,B,C),A!==null&&PB(A,f,B)}}function DB(A){var f=A.alternate;return A===zn||f!==null&&f===zn}function bB(A,f){UA=fd=!0;var C=A.pending;C===null?f.next=f:(f.next=C.next,C.next=f),A.pending=f}function LB(A,f,C){ii!==null&&A.mode&1&&!(Jt&2)?(A=f.interleaved,A===null?(C.next=C,br===null?br=[f]:br.push(f)):(C.next=A.next,A.next=C),f.interleaved=C):(A=f.pending,A===null?C.next=C:(C.next=A.next,A.next=C),f.pending=C)}function PB(A,f,C){if(C&4194240){var B=f.lanes;B&=A.pendingLanes,C|=B,f.lanes=C,Ws(A,C)}}var md={readContext:jn,useCallback:Ui,useContext:Ui,useEffect:Ui,useImperativeHandle:Ui,useInsertionEffect:Ui,useLayoutEffect:Ui,useMemo:Ui,useReducer:Ui,useRef:Ui,useState:Ui,useDebugValue:Ui,useDeferredValue:Ui,useTransition:Ui,useMutableSource:Ui,useSyncExternalStore:Ui,useId:Ui,unstable_isNewReconciler:!1},K3={readContext:jn,useCallback:function(A,f){return go().memoizedState=[A,f===void 0?null:f],A},useContext:jn,useEffect:U0,useImperativeHandle:function(A,f,C){return C=C!=null?C.concat([A]):null,pd(4194308,4,_B.bind(null,f,A),C)},useLayoutEffect:function(A,f){return pd(4194308,4,A,f)},useInsertionEffect:function(A,f){return pd(4,2,A,f)},useMemo:function(A,f){var C=go();return f=f===void 0?null:f,A=A(),C.memoizedState=[A,f],A},useReducer:function(A,f,C){var B=go();return f=C!==void 0?C(f):f,B.memoizedState=B.baseState=f,A={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:A,lastRenderedState:f},B.queue=A,A=A.dispatch=J3.bind(null,zn,A),[B.memoizedState,A]},useRef:function(A){var f=go();return A={current:A},f.memoizedState=A},useState:P0,useDebugValue:N0,useDeferredValue:function(A){var f=P0(A),C=f[0],B=f[1];return U0(function(){var S=rs.transition;rs.transition={};try{B(A)}finally{rs.transition=S}},[A]),C},useTransition:function(){var A=P0(!1),f=A[0];return A=Y3.bind(null,A[1]),go().memoizedState=A,[f,A]},useMutableSource:function(){},useSyncExternalStore:function(A,f,C){var B=zn,S=go();if(Rn){if(C===void 0)throw Error(o(407));C=C()}else{if(C=f(),ii===null)throw Error(o(349));Gc&30||EB(B,f,C)}S.memoizedState=C;var T={value:C,getSnapshot:f};return S.queue=T,U0(IB.bind(null,B,T,A),[A]),B.flags|=2048,kA(9,CB.bind(null,B,T,C,f),void 0,null),C},useId:function(){var A=go(),f=ii.identifierPrefix;if(Rn){var C=po,B=ho;C=(B&~(1<<32-$e(B)-1)).toString(32)+C,f=":"+f+"R"+C,C=NA++,0ve||S[ne]!==T[ve]){var Ue=` +`+S[ne].replace(" at new "," at ");return A.displayName&&Ue.includes("")&&(Ue=Ue.replace("",A.displayName)),Ue}while(1<=ne&&0<=ve);break}}}finally{bt=!1,Error.prepareStackTrace=C}return(A=A?A.displayName||A.name:"")?Tt(A):""}var cn=Object.prototype.hasOwnProperty,Hn=[],sn=-1;function yn(A){return{current:A}}function mt(A){0>sn||(A.current=Hn[sn],Hn[sn]=null,sn--)}function lt(A,f){sn++,Hn[sn]=A.current,A.current=f}var ni={},F=yn(ni),H=yn(!1),Ae=ni;function ge(A,f){var C=A.type.contextTypes;if(!C)return ni;var B=A.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===f)return B.__reactInternalMemoizedMaskedChildContext;var S={},T;for(T in C)S[T]=f[T];return B&&(A=A.stateNode,A.__reactInternalMemoizedUnmaskedChildContext=f,A.__reactInternalMemoizedMaskedChildContext=S),S}function Ce(A){return A=A.childContextTypes,A!=null}function Qe(){mt(H),mt(F)}function Oe(A,f,C){if(F.current!==ni)throw Error(o(168));lt(F,f),lt(H,C)}function He(A,f,C){var B=A.stateNode;if(f=f.childContextTypes,typeof B.getChildContext!="function")return C;B=B.getChildContext();for(var S in B)if(!(S in f))throw Error(o(108,D(A)||"Unknown",S));return s({},C,B)}function We(A){return A=(A=A.stateNode)&&A.__reactInternalMemoizedMergedChildContext||ni,Ae=F.current,lt(F,A),lt(H,H.current),!0}function Ve(A,f,C){var B=A.stateNode;if(!B)throw Error(o(169));C?(A=He(A,f,Ae),B.__reactInternalMemoizedMergedChildContext=A,mt(H),mt(F),lt(F,A)):mt(H),lt(H,C)}var $e=Math.clz32?Math.clz32:xn,It=Math.log,Ht=Math.LN2;function xn(A){return A>>>=0,A===0?32:31-(It(A)/Ht|0)|0}var Yt=64,bn=4194304;function Xn(A){switch(A&-A){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 A&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return A&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return A}}function Rr(A,f){var C=A.pendingLanes;if(C===0)return 0;var B=0,S=A.suspendedLanes,T=A.pingedLanes,ne=C&268435455;if(ne!==0){var ve=ne&~S;ve!==0?B=Xn(ve):(T&=ne,T!==0&&(B=Xn(T)))}else ne=C&~S,ne!==0?B=Xn(ne):T!==0&&(B=Xn(T));if(B===0)return 0;if(f!==0&&f!==B&&!(f&S)&&(S=B&-B,T=f&-f,S>=T||S===16&&(T&4194240)!==0))return f;if(B&4&&(B|=C&16),f=A.entangledLanes,f!==0)for(A=A.entanglements,f&=B;0C;C++)f.push(A);return f}function Vs(A,f,C){A.pendingLanes|=f,f!==536870912&&(A.suspendedLanes=0,A.pingedLanes=0),A=A.eventTimes,f=31-$e(f),A[f]=C}function aa(A,f){var C=A.pendingLanes&~f;A.pendingLanes=f,A.suspendedLanes=0,A.pingedLanes=0,A.expiredLanes&=f,A.mutableReadLanes&=f,A.entangledLanes&=f,f=A.entanglements;var B=A.eventTimes;for(A=A.expirationTimes;0>=ne,S-=ne,ho=1<<32-$e(f)+S|C<on?(Ii=Nt,Nt=null):Ii=Nt.sibling;var an=Dt(_e,Nt,Pe[on],ct);if(an===null){Nt===null&&(Nt=Ii);break}A&&Nt&&an.alternate===null&&f(_e,Nt),Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an,Nt=Ii}if(on===Pe.length)return C(_e,Nt),Rn&&ml(_e,on),xt;if(Nt===null){for(;onon?(Ii=Nt,Nt=null):Ii=Nt.sibling;var ga=Dt(_e,Nt,an.value,ct);if(ga===null){Nt===null&&(Nt=Ii);break}A&&Nt&&ga.alternate===null&&f(_e,Nt),Ie=T(ga,Ie,on),zt===null?xt=ga:zt.sibling=ga,zt=ga,Nt=Ii}if(an.done)return C(_e,Nt),Rn&&ml(_e,on),xt;if(Nt===null){for(;!an.done;on++,an=Pe.next())an=Ut(_e,an.value,ct),an!==null&&(Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an);return Rn&&ml(_e,on),xt}for(Nt=B(_e,Nt);!an.done;on++,an=Pe.next())an=En(Nt,_e,on,an.value,ct),an!==null&&(A&&an.alternate!==null&&Nt.delete(an.key===null?on:an.key),Ie=T(an,Ie,on),zt===null?xt=an:zt.sibling=an,zt=an);return A&&Nt.forEach(function(Cb){return f(_e,Cb)}),Rn&&ml(_e,on),xt}function as(_e,Ie,Pe,ct){if(typeof Pe=="object"&&Pe!==null&&Pe.type===u&&Pe.key===null&&(Pe=Pe.props.children),typeof Pe=="object"&&Pe!==null){switch(Pe.$$typeof){case l:e:{for(var xt=Pe.key,zt=Ie;zt!==null;){if(zt.key===xt){if(xt=Pe.type,xt===u){if(zt.tag===7){C(_e,zt.sibling),Ie=S(zt,Pe.props.children),Ie.return=_e,_e=Ie;break e}}else if(zt.elementType===xt||typeof xt=="object"&&xt!==null&&xt.$$typeof===E&&pB(xt)===zt.type){C(_e,zt.sibling),Ie=S(zt,Pe.props),Ie.ref=bA(_e,zt,Pe),Ie.return=_e,_e=Ie;break e}C(_e,zt);break}else f(_e,zt);zt=zt.sibling}Pe.type===u?(Ie=xl(Pe.props.children,_e.mode,ct,Pe.key),Ie.return=_e,_e=Ie):(ct=Od(Pe.type,Pe.key,Pe.props,null,_e.mode,ct),ct.ref=bA(_e,Ie,Pe),ct.return=_e,_e=ct)}return ne(_e);case c:e:{for(zt=Pe.key;Ie!==null;){if(Ie.key===zt)if(Ie.tag===4&&Ie.stateNode.containerInfo===Pe.containerInfo&&Ie.stateNode.implementation===Pe.implementation){C(_e,Ie.sibling),Ie=S(Ie,Pe.children||[]),Ie.return=_e,_e=Ie;break e}else{C(_e,Ie);break}else f(_e,Ie);Ie=Ie.sibling}Ie=Av(Pe,_e.mode,ct),Ie.return=_e,_e=Ie}return ne(_e);case E:return zt=Pe._init,as(_e,Ie,zt(Pe._payload),ct)}if(oe(Pe))return wt(_e,Ie,Pe,ct);if(_(Pe))return ki(_e,Ie,Pe,ct);cd(_e,Pe)}return typeof Pe=="string"&&Pe!==""||typeof Pe=="number"?(Pe=""+Pe,Ie!==null&&Ie.tag===6?(C(_e,Ie.sibling),Ie=S(Ie,Pe),Ie.return=_e,_e=Ie):(C(_e,Ie),Ie=uv(Pe,_e.mode,ct),Ie.return=_e,_e=Ie),ne(_e)):C(_e,Ie)}return as}var kc=gB(!0),mB=gB(!1),LA={},is=yn(LA),PA=yn(LA),Fc=yn(LA);function Js(A){if(A===LA)throw Error(o(174));return A}function M0(A,f){lt(Fc,f),lt(PA,A),lt(is,LA),A=he(f),mt(is),lt(is,A)}function Oc(){mt(is),mt(PA),mt(Fc)}function vB(A){var f=Js(Fc.current),C=Js(is.current);f=O(C,A.type,f),C!==f&&(lt(PA,A),lt(is,f))}function Q0(A){PA.current===A&&(mt(is),mt(PA))}var Pn=yn(0);function ud(A){for(var f=A;f!==null;){if(f.tag===13){var C=f.memoizedState;if(C!==null&&(C=C.dehydrated,C===null||Kt(C)||vn(C)))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===A)break;for(;f.sibling===null;){if(f.return===null||f.return===A)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var R0=[];function T0(){for(var A=0;AC?C:4,A(!0);var B=rs.transition;rs.transition={};try{A(!1),f()}finally{jt=C,rs.transition=B}}function DB(){return Xs().memoizedState}function X3(A,f,C){var B=ha(A);C={lane:B,action:C,hasEagerState:!1,eagerState:null,next:null},bB(A)?LB(f,C):(PB(A,f,C),C=nr(),A=ss(A,B,C),A!==null&&UB(A,f,B))}function K3(A,f,C){var B=ha(A),S={lane:B,action:C,hasEagerState:!1,eagerState:null,next:null};if(bB(A))LB(f,S);else{PB(A,f,S);var T=A.alternate;if(A.lanes===0&&(T===null||T.lanes===0)&&(T=f.lastRenderedReducer,T!==null))try{var ne=f.lastRenderedState,ve=T(ne,C);if(S.hasEagerState=!0,S.eagerState=ve,Dr(ve,ne))return}catch{}finally{}C=nr(),A=ss(A,B,C),A!==null&&UB(A,f,B)}}function bB(A){var f=A.alternate;return A===zn||f!==null&&f===zn}function LB(A,f){UA=fd=!0;var C=A.pending;C===null?f.next=f:(f.next=C.next,C.next=f),A.pending=f}function PB(A,f,C){ii!==null&&A.mode&1&&!(Jt&2)?(A=f.interleaved,A===null?(C.next=C,br===null?br=[f]:br.push(f)):(C.next=A.next,A.next=C),f.interleaved=C):(A=f.pending,A===null?C.next=C:(C.next=A.next,A.next=C),f.pending=C)}function UB(A,f,C){if(C&4194240){var B=f.lanes;B&=A.pendingLanes,C|=B,f.lanes=C,Ws(A,C)}}var md={readContext:jn,useCallback:Ui,useContext:Ui,useEffect:Ui,useImperativeHandle:Ui,useInsertionEffect:Ui,useLayoutEffect:Ui,useMemo:Ui,useReducer:Ui,useRef:Ui,useState:Ui,useDebugValue:Ui,useDeferredValue:Ui,useTransition:Ui,useMutableSource:Ui,useSyncExternalStore:Ui,useId:Ui,unstable_isNewReconciler:!1},j3={readContext:jn,useCallback:function(A,f){return go().memoizedState=[A,f===void 0?null:f],A},useContext:jn,useEffect:U0,useImperativeHandle:function(A,f,C){return C=C!=null?C.concat([A]):null,pd(4194308,4,MB.bind(null,f,A),C)},useLayoutEffect:function(A,f){return pd(4194308,4,A,f)},useInsertionEffect:function(A,f){return pd(4,2,A,f)},useMemo:function(A,f){var C=go();return f=f===void 0?null:f,A=A(),C.memoizedState=[A,f],A},useReducer:function(A,f,C){var B=go();return f=C!==void 0?C(f):f,B.memoizedState=B.baseState=f,A={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:A,lastRenderedState:f},B.queue=A,A=A.dispatch=X3.bind(null,zn,A),[B.memoizedState,A]},useRef:function(A){var f=go();return A={current:A},f.memoizedState=A},useState:P0,useDebugValue:N0,useDeferredValue:function(A){var f=P0(A),C=f[0],B=f[1];return U0(function(){var S=rs.transition;rs.transition={};try{B(A)}finally{rs.transition=S}},[A]),C},useTransition:function(){var A=P0(!1),f=A[0];return A=J3.bind(null,A[1]),go().memoizedState=A,[f,A]},useMutableSource:function(){},useSyncExternalStore:function(A,f,C){var B=zn,S=go();if(Rn){if(C===void 0)throw Error(o(407));C=C()}else{if(C=f(),ii===null)throw Error(o(349));Gc&30||CB(B,f,C)}S.memoizedState=C;var T={value:C,getSnapshot:f};return S.queue=T,U0(BB.bind(null,B,T,A),[A]),B.flags|=2048,kA(9,IB.bind(null,B,T,C,f),void 0,null),C},useId:function(){var A=go(),f=ii.identifierPrefix;if(Rn){var C=po,B=ho;C=(B&~(1<<32-$e(B)-1)).toString(32)+C,f=":"+f+"R"+C,C=NA++,0nv&&(f.flags|=128,B=!0,HA(S,!1),f.lanes=4194304)}else{if(!B)if(A=ud(T),A!==null){if(f.flags|=128,B=!0,A=A.updateQueue,A!==null&&(f.updateQueue=A,f.flags|=4),HA(S,!0),S.tail===null&&S.tailMode==="hidden"&&!T.alternate&&!Rn)return Ni(f),null}else 2*Ln()-S.renderingStartTime>nv&&C!==1073741824&&(f.flags|=128,B=!0,HA(S,!1),f.lanes=4194304);S.isBackwards?(T.sibling=f.child,f.child=T):(A=S.last,A!==null?A.sibling=T:f.child=T,S.last=T)}return S.tail!==null?(f=S.tail,S.rendering=f,S.tail=f.sibling,S.renderingStartTime=Ln(),f.sibling=null,A=Pn.current,lt(Pn,B?A&1|2:A&1),f):(Ni(f),null);case 22:case 23:return av(),B=f.memoizedState!==null,A!==null&&A.memoizedState!==null!==B&&(f.flags|=8192),B&&f.mode&1?Nr&1073741824&&(Ni(f),pe&&f.subtreeFlags&6&&(f.flags|=8192)):Ni(f),null;case 24:return null;case 25:return null}throw Error(o(156,f.tag))}var eb=a.ReactCurrentOwner,Ur=!1;function tr(A,f,C,B){f.child=A===null?gB(f,null,C,B):kc(f,A.child,C,B)}function zB(A,f,C,B,S){C=C.render;var T=f.ref;return Kn(f,S),B=b0(A,f,C,B,T,S),C=L0(),A!==null&&!Ur?(f.updateQueue=A.updateQueue,f.flags&=-2053,A.lanes&=~S,mo(A,f,S)):(Rn&&C&&B0(f),f.flags|=1,tr(A,f,B,S),f.child)}function VB(A,f,C,B,S){if(A===null){var T=C.type;return typeof T=="function"&&!cv(T)&&T.defaultProps===void 0&&C.compare===null&&C.defaultProps===void 0?(f.tag=15,f.type=T,WB(A,f,T,B,S)):(A=Od(C.type,null,B,f,f.mode,S),A.ref=f.ref,A.return=f,f.child=A)}if(T=A.child,!(A.lanes&S)){var ie=T.memoizedProps;if(C=C.compare,C=C!==null?C:dl,C(ie,B)&&A.ref===f.ref)return mo(A,f,S)}return f.flags|=1,A=pa(T,B),A.ref=f.ref,A.return=f,f.child=A}function WB(A,f,C,B,S){if(A!==null&&dl(A.memoizedProps,B)&&A.ref===f.ref)if(Ur=!1,(A.lanes&S)!==0)A.flags&131072&&(Ur=!0);else return f.lanes=A.lanes,mo(A,f,S);return O0(A,f,C,B,S)}function YB(A,f,C){var B=f.pendingProps,S=B.children,T=A!==null?A.memoizedState:null;if(B.mode==="hidden")if(!(f.mode&1))f.memoizedState={baseLanes:0,cachePool:null},lt(Hc,Nr),Nr|=C;else if(C&1073741824)f.memoizedState={baseLanes:0,cachePool:null},B=T!==null?T.baseLanes:C,lt(Hc,Nr),Nr|=B;else return A=T!==null?T.baseLanes|C:C,f.lanes=f.childLanes=1073741824,f.memoizedState={baseLanes:A,cachePool:null},f.updateQueue=null,lt(Hc,Nr),Nr|=A,null;else T!==null?(B=T.baseLanes|C,f.memoizedState=null):B=C,lt(Hc,Nr),Nr|=B;return tr(A,f,S,C),f.child}function JB(A,f){var C=f.ref;(A===null&&C!==null||A!==null&&A.ref!==C)&&(f.flags|=512,f.flags|=2097152)}function O0(A,f,C,B,S){var T=Ce(C)?Ae:F.current;return T=ge(f,T),Kn(f,S),C=b0(A,f,C,B,T,S),B=L0(),A!==null&&!Ur?(f.updateQueue=A.updateQueue,f.flags&=-2053,A.lanes&=~S,mo(A,f,S)):(Rn&&B&&B0(f),f.flags|=1,tr(A,f,C,S),f.child)}function XB(A,f,C,B,S){if(Ce(C)){var T=!0;We(f)}else T=!1;if(Kn(f,S),f.stateNode===null)A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),lB(f,C,B),I0(f,C,B,S),B=!0;else if(A===null){var ie=f.stateNode,ve=f.memoizedProps;ie.props=ve;var Ue=ie.context,qe=C.contextType;typeof qe=="object"&&qe!==null?qe=jn(qe):(qe=Ce(C)?Ae:F.current,qe=ge(f,qe));var ht=C.getDerivedStateFromProps,Ut=typeof ht=="function"||typeof ie.getSnapshotBeforeUpdate=="function";Ut||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(ve!==B||Ue!==qe)&&cB(f,ie,B,qe),ca=!1;var Dt=f.memoizedState;ie.state=Dt,sd(f,B,ie,S),Ue=f.memoizedState,ve!==B||Dt!==Ue||H.current||ca?(typeof ht=="function"&&(C0(f,C,ht,B),Ue=f.memoizedState),(ve=ca||aB(f,C,ve,B,Dt,Ue,qe))?(Ut||typeof ie.UNSAFE_componentWillMount!="function"&&typeof ie.componentWillMount!="function"||(typeof ie.componentWillMount=="function"&&ie.componentWillMount(),typeof ie.UNSAFE_componentWillMount=="function"&&ie.UNSAFE_componentWillMount()),typeof ie.componentDidMount=="function"&&(f.flags|=4194308)):(typeof ie.componentDidMount=="function"&&(f.flags|=4194308),f.memoizedProps=B,f.memoizedState=Ue),ie.props=B,ie.state=Ue,ie.context=qe,B=ve):(typeof ie.componentDidMount=="function"&&(f.flags|=4194308),B=!1)}else{ie=f.stateNode,iB(A,f),ve=f.memoizedProps,qe=f.type===f.elementType?ve:$i(f.type,ve),ie.props=qe,Ut=f.pendingProps,Dt=ie.context,Ue=C.contextType,typeof Ue=="object"&&Ue!==null?Ue=jn(Ue):(Ue=Ce(C)?Ae:F.current,Ue=ge(f,Ue));var En=C.getDerivedStateFromProps;(ht=typeof En=="function"||typeof ie.getSnapshotBeforeUpdate=="function")||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(ve!==Ut||Dt!==Ue)&&cB(f,ie,B,Ue),ca=!1,Dt=f.memoizedState,ie.state=Dt,sd(f,B,ie,S);var wt=f.memoizedState;ve!==Ut||Dt!==wt||H.current||ca?(typeof En=="function"&&(C0(f,C,En,B),wt=f.memoizedState),(qe=ca||aB(f,C,qe,B,Dt,wt,Ue)||!1)?(ht||typeof ie.UNSAFE_componentWillUpdate!="function"&&typeof ie.componentWillUpdate!="function"||(typeof ie.componentWillUpdate=="function"&&ie.componentWillUpdate(B,wt,Ue),typeof ie.UNSAFE_componentWillUpdate=="function"&&ie.UNSAFE_componentWillUpdate(B,wt,Ue)),typeof ie.componentDidUpdate=="function"&&(f.flags|=4),typeof ie.getSnapshotBeforeUpdate=="function"&&(f.flags|=1024)):(typeof ie.componentDidUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=1024),f.memoizedProps=B,f.memoizedState=wt),ie.props=B,ie.state=wt,ie.context=Ue,B=qe):(typeof ie.componentDidUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=1024),B=!1)}return G0(A,f,C,B,T,S)}function G0(A,f,C,B,S,T){JB(A,f);var ie=(f.flags&128)!==0;if(!B&&!ie)return S&&Ve(f,C,!1),mo(A,f,T);B=f.stateNode,eb.current=f;var ve=ie&&typeof C.getDerivedStateFromError!="function"?null:B.render();return f.flags|=1,A!==null&&ie?(f.child=kc(f,A.child,null,T),f.child=kc(f,null,ve,T)):tr(A,f,ve,T),f.memoizedState=B.state,S&&Ve(f,C,!0),f.child}function KB(A){var f=A.stateNode;f.pendingContext?Oe(A,f.pendingContext,f.pendingContext!==f.context):f.context&&Oe(A,f.context,!1),M0(A,f.containerInfo)}function jB(A,f,C,B,S){return Nc(),_0(S),f.flags|=256,tr(A,f,C,B),f.child}var Ed={dehydrated:null,treeContext:null,retryLane:0};function Cd(A){return{baseLanes:A,cachePool:null}}function qB(A,f,C){var B=f.pendingProps,S=Pn.current,T=!1,ie=(f.flags&128)!==0,ve;if((ve=ie)||(ve=A!==null&&A.memoizedState===null?!1:(S&2)!==0),ve?(T=!0,f.flags&=-129):(A===null||A.memoizedState!==null)&&(S|=1),lt(Pn,S&1),A===null)return w0(f),A=f.memoizedState,A!==null&&(A=A.dehydrated,A!==null)?(f.mode&1?vn(A)?f.lanes=8:f.lanes=1073741824:f.lanes=1,null):(S=B.children,A=B.fallback,T?(B=f.mode,T=f.child,S={mode:"hidden",children:S},!(B&1)&&T!==null?(T.childLanes=0,T.pendingProps=S):T=Gd(S,B,0,null),A=xl(A,B,C,null),T.return=f,A.return=f,T.sibling=A,f.child=T,f.child.memoizedState=Cd(C),f.memoizedState=Ed,A):H0(f,S));if(S=A.memoizedState,S!==null){if(ve=S.dehydrated,ve!==null){if(ie)return f.flags&256?(f.flags&=-257,Id(A,f,C,Error(o(422)))):f.memoizedState!==null?(f.child=A.child,f.flags|=128,null):(T=B.fallback,S=f.mode,B=Gd({mode:"visible",children:B.children},S,0,null),T=xl(T,S,C,null),T.flags|=2,B.return=f,T.return=f,B.sibling=T,f.child=B,f.mode&1&&kc(f,A.child,null,C),f.child.memoizedState=Cd(C),f.memoizedState=Ed,T);if(!(f.mode&1))f=Id(A,f,C,null);else if(vn(ve))f=Id(A,f,C,Error(o(419)));else if(B=(C&A.childLanes)!==0,Ur||B){if(B=ii,B!==null){switch(C&-C){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}B=T&(B.suspendedLanes|C)?0:T,B!==0&&B!==S.retryLane&&(S.retryLane=B,ss(A,B,-1))}lv(),f=Id(A,f,C,Error(o(421)))}else Xt(ve)?(f.flags|=128,f.child=A.child,f=hb.bind(null,A),Dn(ve,f),f=null):(C=S.treeContext,me&&(Pr=ji(ve),Lr=f,Rn=!0,xs=null,TA=!1,C!==null&&(ts[ns++]=ho,ts[ns++]=po,ts[ns++]=gl,ho=C.id,po=C.overflow,gl=f)),f=H0(f,f.pendingProps.children),f.flags|=4096);return f}return T?(B=$B(A,f,B.children,B.fallback,C),T=f.child,S=A.child.memoizedState,T.memoizedState=S===null?Cd(C):{baseLanes:S.baseLanes|C,cachePool:null},T.childLanes=A.childLanes&~C,f.memoizedState=Ed,B):(C=ZB(A,f,B.children,C),f.memoizedState=null,C)}return T?(B=$B(A,f,B.children,B.fallback,C),T=f.child,S=A.child.memoizedState,T.memoizedState=S===null?Cd(C):{baseLanes:S.baseLanes|C,cachePool:null},T.childLanes=A.childLanes&~C,f.memoizedState=Ed,B):(C=ZB(A,f,B.children,C),f.memoizedState=null,C)}function H0(A,f){return f=Gd({mode:"visible",children:f},A.mode,0,null),f.return=A,A.child=f}function ZB(A,f,C,B){var S=A.child;return A=S.sibling,C=pa(S,{mode:"visible",children:C}),!(f.mode&1)&&(C.lanes=B),C.return=f,C.sibling=null,A!==null&&(B=f.deletions,B===null?(f.deletions=[A],f.flags|=16):B.push(A)),f.child=C}function $B(A,f,C,B,S){var T=f.mode;A=A.child;var ie=A.sibling,ve={mode:"hidden",children:C};return!(T&1)&&f.child!==A?(C=f.child,C.childLanes=0,C.pendingProps=ve,f.deletions=null):(C=pa(A,ve),C.subtreeFlags=A.subtreeFlags&14680064),ie!==null?B=pa(ie,B):(B=xl(B,T,S,null),B.flags|=2),B.return=f,C.return=f,C.sibling=B,f.child=C,B}function Id(A,f,C,B){return B!==null&&_0(B),kc(f,A.child,null,C),A=H0(f,f.pendingProps.children),A.flags|=2,f.memoizedState=null,A}function ex(A,f,C){A.lanes|=f;var B=A.alternate;B!==null&&(B.lanes|=f),er(A.return,f,C)}function z0(A,f,C,B,S){var T=A.memoizedState;T===null?A.memoizedState={isBackwards:f,rendering:null,renderingStartTime:0,last:B,tail:C,tailMode:S}:(T.isBackwards=f,T.rendering=null,T.renderingStartTime=0,T.last=B,T.tail=C,T.tailMode=S)}function tx(A,f,C){var B=f.pendingProps,S=B.revealOrder,T=B.tail;if(tr(A,f,B.children,C),B=Pn.current,B&2)B=B&1|2,f.flags|=128;else{if(A!==null&&A.flags&128)e:for(A=f.child;A!==null;){if(A.tag===13)A.memoizedState!==null&&ex(A,C,f);else if(A.tag===19)ex(A,C,f);else if(A.child!==null){A.child.return=A,A=A.child;continue}if(A===f)break e;for(;A.sibling===null;){if(A.return===null||A.return===f)break e;A=A.return}A.sibling.return=A.return,A=A.sibling}B&=1}if(lt(Pn,B),!(f.mode&1))f.memoizedState=null;else switch(S){case"forwards":for(C=f.child,S=null;C!==null;)A=C.alternate,A!==null&&ud(A)===null&&(S=C),C=C.sibling;C=S,C===null?(S=f.child,f.child=null):(S=C.sibling,C.sibling=null),z0(f,!1,S,C,T);break;case"backwards":for(C=null,S=f.child,f.child=null;S!==null;){if(A=S.alternate,A!==null&&ud(A)===null){f.child=S;break}A=S.sibling,S.sibling=C,C=S,S=A}z0(f,!0,C,null,T);break;case"together":z0(f,!1,null,null,void 0);break;default:f.memoizedState=null}return f.child}function mo(A,f,C){if(A!==null&&(f.dependencies=A.dependencies),zc|=f.lanes,!(C&f.childLanes))return null;if(A!==null&&f.child!==A.child)throw Error(o(153));if(f.child!==null){for(A=f.child,C=pa(A,A.pendingProps),f.child=C,C.return=f;A.sibling!==null;)A=A.sibling,C=C.sibling=pa(A,A.pendingProps),C.return=f;C.sibling=null}return f.child}function tb(A,f,C){switch(f.tag){case 3:KB(f),Nc();break;case 5:mB(f);break;case 1:Ce(f.type)&&We(f);break;case 4:M0(f,f.stateNode.containerInfo);break;case 10:id(f,f.type._context,f.memoizedProps.value);break;case 13:var B=f.memoizedState;if(B!==null)return B.dehydrated!==null?(lt(Pn,Pn.current&1),f.flags|=128,null):C&f.child.childLanes?qB(A,f,C):(lt(Pn,Pn.current&1),A=mo(A,f,C),A!==null?A.sibling:null);lt(Pn,Pn.current&1);break;case 19:if(B=(C&f.childLanes)!==0,A.flags&128){if(B)return tx(A,f,C);f.flags|=128}var S=f.memoizedState;if(S!==null&&(S.rendering=null,S.tail=null,S.lastEffect=null),lt(Pn,Pn.current),B)break;return null;case 22:case 23:return f.lanes=0,YB(A,f,C)}return mo(A,f,C)}function nb(A,f){switch(x0(f),f.tag){case 1:return Ce(f.type)&&Qe(),A=f.flags,A&65536?(f.flags=A&-65537|128,f):null;case 3:return Oc(),gt(H),gt(F),T0(),A=f.flags,A&65536&&!(A&128)?(f.flags=A&-65537|128,f):null;case 5:return Q0(f),null;case 13:if(gt(Pn),A=f.memoizedState,A!==null&&A.dehydrated!==null){if(f.alternate===null)throw Error(o(340));Nc()}return A=f.flags,A&65536?(f.flags=A&-65537|128,f):null;case 19:return gt(Pn),null;case 4:return Oc(),null;case 10:return yi(f.type._context),null;case 22:case 23:return av(),null;case 24:return null;default:return null}}var Bd=!1,yl=!1,ib=typeof WeakSet=="function"?WeakSet:Set,at=null;function xd(A,f){var C=A.ref;if(C!==null)if(typeof C=="function")try{C(null)}catch(B){Er(A,f,B)}else C.current=null}function V0(A,f,C){try{C()}catch(B){Er(A,f,B)}}var nx=!1;function rb(A,f){for(J(A.containerInfo),at=f;at!==null;)if(A=at,f=A.child,(A.subtreeFlags&1028)!==0&&f!==null)f.return=A,at=f;else for(;at!==null;){A=at;try{var C=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(C!==null){var B=C.memoizedProps,S=C.memoizedState,T=A.stateNode,ie=T.getSnapshotBeforeUpdate(A.elementType===A.type?B:$i(A.type,B),S);T.__reactInternalSnapshotBeforeUpdate=ie}break;case 3:pe&&Je(A.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ve){Er(A,A.return,ve)}if(f=A.sibling,f!==null){f.return=A.return,at=f;break}at=A.return}return C=nx,nx=!1,C}function El(A,f,C){var B=f.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var S=B=B.next;do{if((S.tag&A)===A){var T=S.destroy;S.destroy=void 0,T!==void 0&&V0(f,C,T)}S=S.next}while(S!==B)}}function zA(A,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var C=f=f.next;do{if((C.tag&A)===A){var B=C.create;C.destroy=B()}C=C.next}while(C!==f)}}function W0(A){var f=A.ref;if(f!==null){var C=A.stateNode;switch(A.tag){case 5:A=ee(C);break;default:A=C}typeof f=="function"?f(A):f.current=A}}function ix(A,f,C){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(fl,f)}catch{}switch(f.tag){case 0:case 11:case 14:case 15:if(A=f.updateQueue,A!==null&&(A=A.lastEffect,A!==null)){var B=A=A.next;do{var S=B,T=S.destroy;S=S.tag,T!==void 0&&(S&2||S&4)&&V0(f,C,T),B=B.next}while(B!==A)}break;case 1:if(xd(f,C),A=f.stateNode,typeof A.componentWillUnmount=="function")try{A.props=f.memoizedProps,A.state=f.memoizedState,A.componentWillUnmount()}catch(ie){Er(f,C,ie)}break;case 5:xd(f,C);break;case 4:pe?cx(A,f,C):U&&U&&(f=f.stateNode.containerInfo,C=ot(f),Qt(f,C))}}function rx(A,f,C){for(var B=f;;)if(ix(A,B,C),B.child===null||pe&&B.tag===4){if(B===f)break;for(;B.sibling===null;){if(B.return===null||B.return===f)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function sx(A){var f=A.alternate;f!==null&&(A.alternate=null,sx(f)),A.child=null,A.deletions=null,A.sibling=null,A.tag===5&&(f=A.stateNode,f!==null&&we(f)),A.stateNode=null,A.return=null,A.dependencies=null,A.memoizedProps=null,A.memoizedState=null,A.pendingProps=null,A.stateNode=null,A.updateQueue=null}function ox(A){return A.tag===5||A.tag===3||A.tag===4}function ax(A){e:for(;;){for(;A.sibling===null;){if(A.return===null||ox(A.return))return null;A=A.return}for(A.sibling.return=A.return,A=A.sibling;A.tag!==5&&A.tag!==6&&A.tag!==18;){if(A.flags&2||A.child===null||A.tag===4)continue e;A.child.return=A,A=A.child}if(!(A.flags&2))return A.stateNode}}function lx(A){if(pe){e:{for(var f=A.return;f!==null;){if(ox(f))break e;f=f.return}throw Error(o(160))}var C=f;switch(C.tag){case 5:f=C.stateNode,C.flags&32&&(mt(f),C.flags&=-33),C=ax(A),J0(A,C,f);break;case 3:case 4:f=C.stateNode.containerInfo,C=ax(A),Y0(A,C,f);break;default:throw Error(o(161))}}}function Y0(A,f,C){var B=A.tag;if(B===5||B===6)A=A.stateNode,f?Ye(C,A,f):je(C,A);else if(B!==4&&(A=A.child,A!==null))for(Y0(A,f,C),A=A.sibling;A!==null;)Y0(A,f,C),A=A.sibling}function J0(A,f,C){var B=A.tag;if(B===5||B===6)A=A.stateNode,f?it(C,A,f):Ne(C,A);else if(B!==4&&(A=A.child,A!==null))for(J0(A,f,C),A=A.sibling;A!==null;)J0(A,f,C),A=A.sibling}function cx(A,f,C){for(var B=f,S=!1,T,ie;;){if(!S){S=B.return;e:for(;;){if(S===null)throw Error(o(160));switch(T=S.stateNode,S.tag){case 5:ie=!1;break e;case 3:T=T.containerInfo,ie=!0;break e;case 4:T=T.containerInfo,ie=!0;break e}S=S.return}S=!0}if(B.tag===5||B.tag===6)rx(A,B,C),ie?et(T,B.stateNode):ke(T,B.stateNode);else if(B.tag===18)ie?Me(T,B.stateNode):be(T,B.stateNode);else if(B.tag===4){if(B.child!==null){T=B.stateNode.containerInfo,ie=!0,B.child.return=B,B=B.child;continue}}else if(ix(A,B,C),B.child!==null){B.child.return=B,B=B.child;continue}if(B===f)break;for(;B.sibling===null;){if(B.return===null||B.return===f)return;B=B.return,B.tag===4&&(S=!1)}B.sibling.return=B.return,B=B.sibling}}function X0(A,f){if(pe){switch(f.tag){case 0:case 11:case 14:case 15:El(3,f,f.return),zA(3,f),El(5,f,f.return);return;case 1:return;case 5:var C=f.stateNode;if(C!=null){var B=f.memoizedProps;A=A!==null?A.memoizedProps:B;var S=f.type,T=f.updateQueue;f.updateQueue=null,T!==null&&Ze(C,T,S,A,B,f)}return;case 6:if(f.stateNode===null)throw Error(o(162));C=f.memoizedProps,De(f.stateNode,A!==null?A.memoizedProps:C,C);return;case 3:me&&A!==null&&A.memoizedState.isDehydrated&&xe(f.stateNode.containerInfo);return;case 12:return;case 13:Sd(f);return;case 19:Sd(f);return;case 17:return}throw Error(o(163))}switch(f.tag){case 0:case 11:case 14:case 15:El(3,f,f.return),zA(3,f),El(5,f,f.return);return;case 12:return;case 13:Sd(f);return;case 19:Sd(f);return;case 3:me&&A!==null&&A.memoizedState.isDehydrated&&xe(f.stateNode.containerInfo);break;case 22:case 23:return}e:if(U){switch(f.tag){case 1:case 5:case 6:break e;case 3:case 4:f=f.stateNode,Qt(f.containerInfo,f.pendingChildren);break e}throw Error(o(163))}}function Sd(A){var f=A.updateQueue;if(f!==null){A.updateQueue=null;var C=A.stateNode;C===null&&(C=A.stateNode=new ib),f.forEach(function(B){var S=db.bind(null,A,B);C.has(B)||(C.add(B),B.then(S,S))})}}function sb(A,f){for(at=f;at!==null;){f=at;var C=f.deletions;if(C!==null)for(var B=0;B";case _d:return":has("+(q0(A)||"")+")";case Md:return'[role="'+A.value+'"]';case Rd:return'"'+A.value+'"';case Qd:return'[data-testname="'+A.value+'"]';default:throw Error(o(365))}}function dx(A,f){var C=[];A=[A,0];for(var B=0;BS&&(S=ie),B&=~T}if(B=S,B=Ln()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*ab(B/1960))-B,10A?16:A,fa===null)var B=!1;else{if(A=fa,fa=null,Pd=0,Jt&6)throw Error(o(331));var S=Jt;for(Jt|=4,at=A.current;at!==null;){var T=at,ie=T.child;if(at.flags&16){var ve=T.deletions;if(ve!==null){for(var Ue=0;UeLn()-tv?Cl(A,0):ev|=C),yr(A,f)}function Bx(A,f){f===0&&(A.mode&1?(f=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):f=1);var C=nr();A=kd(A,f),A!==null&&(Vs(A,f,C),yr(A,C))}function hb(A){var f=A.memoizedState,C=0;f!==null&&(C=f.retryLane),Bx(A,C)}function db(A,f){var C=0;switch(A.tag){case 13:var B=A.stateNode,S=A.memoizedState;S!==null&&(C=S.retryLane);break;case 19:B=A.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(f),Bx(A,C)}var xx;xx=function(A,f,C){if(A!==null)if(A.memoizedProps!==f.pendingProps||H.current)Ur=!0;else{if(!(A.lanes&C)&&!(f.flags&128))return Ur=!1,tb(A,f,C);Ur=!!(A.flags&131072)}else Ur=!1,Rn&&f.flags&1048576&&uB(f,ld,f.index);switch(f.lanes=0,f.tag){case 2:var B=f.type;A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),A=f.pendingProps;var S=ge(f,F.current);Kn(f,C),S=b0(null,f,B,A,S,C);var T=L0();return f.flags|=1,typeof S=="object"&&S!==null&&typeof S.render=="function"&&S.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,Ce(B)?(T=!0,We(f)):T=!1,f.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,E0(f),S.updater=od,f.stateNode=S,S._reactInternals=f,I0(f,B,A,C),f=G0(null,f,B,!0,T,C)):(f.tag=0,Rn&&T&&B0(f),tr(null,f,S,C),f=f.child),f;case 16:B=f.elementType;e:{switch(A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),A=f.pendingProps,S=B._init,B=S(B._payload),f.type=B,S=f.tag=gb(B),A=$i(B,A),S){case 0:f=O0(null,f,B,A,C);break e;case 1:f=XB(null,f,B,A,C);break e;case 11:f=zB(null,f,B,A,C);break e;case 14:f=VB(null,f,B,$i(B.type,A),C);break e}throw Error(o(306,B,""))}return f;case 0:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),O0(A,f,B,S,C);case 1:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),XB(A,f,B,S,C);case 3:e:{if(KB(f),A===null)throw Error(o(387));B=f.pendingProps,T=f.memoizedState,S=T.element,iB(A,f),sd(f,B,null,C);var ie=f.memoizedState;if(B=ie.element,me&&T.isDehydrated)if(T={element:B,isDehydrated:!1,cache:ie.cache,transitions:ie.transitions},f.updateQueue.baseState=T,f.memoizedState=T,f.flags&256){S=Error(o(423)),f=jB(A,f,B,C,S);break e}else if(B!==S){S=Error(o(424)),f=jB(A,f,B,C,S);break e}else for(me&&(Pr=Gn(f.stateNode.containerInfo),Lr=f,Rn=!0,xs=null,TA=!1),C=gB(f,null,B,C),f.child=C;C;)C.flags=C.flags&-3|4096,C=C.sibling;else{if(Nc(),B===S){f=mo(A,f,C);break e}tr(A,f,B,C)}f=f.child}return f;case 5:return mB(f),A===null&&w0(f),B=f.type,S=f.pendingProps,T=A!==null?A.memoizedProps:null,ie=S.children,k(B,S)?ie=null:T!==null&&k(B,T)&&(f.flags|=32),JB(A,f),tr(A,f,ie,C),f.child;case 6:return A===null&&w0(f),null;case 13:return qB(A,f,C);case 4:return M0(f,f.stateNode.containerInfo),B=f.pendingProps,A===null?f.child=kc(f,null,B,C):tr(A,f,B,C),f.child;case 11:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),zB(A,f,B,S,C);case 7:return tr(A,f,f.pendingProps,C),f.child;case 8:return tr(A,f,f.pendingProps.children,C),f.child;case 12:return tr(A,f,f.pendingProps.children,C),f.child;case 10:e:{if(B=f.type._context,S=f.pendingProps,T=f.memoizedProps,ie=S.value,id(f,B,ie),T!==null)if(Dr(T.value,ie)){if(T.children===S.children&&!H.current){f=mo(A,f,C);break e}}else for(T=f.child,T!==null&&(T.return=f);T!==null;){var ve=T.dependencies;if(ve!==null){ie=T.child;for(var Ue=ve.firstContext;Ue!==null;){if(Ue.context===B){if(T.tag===1){Ue=fo(-1,C&-C),Ue.tag=2;var qe=T.updateQueue;if(qe!==null){qe=qe.shared;var ht=qe.pending;ht===null?Ue.next=Ue:(Ue.next=ht.next,ht.next=Ue),qe.pending=Ue}}T.lanes|=C,Ue=T.alternate,Ue!==null&&(Ue.lanes|=C),er(T.return,C,f),ve.lanes|=C;break}Ue=Ue.next}}else if(T.tag===10)ie=T.type===f.type?null:T.child;else if(T.tag===18){if(ie=T.return,ie===null)throw Error(o(341));ie.lanes|=C,ve=ie.alternate,ve!==null&&(ve.lanes|=C),er(ie,C,f),ie=T.sibling}else ie=T.child;if(ie!==null)ie.return=T;else for(ie=T;ie!==null;){if(ie===f){ie=null;break}if(T=ie.sibling,T!==null){T.return=ie.return,ie=T;break}ie=ie.return}T=ie}tr(A,f,S.children,C),f=f.child}return f;case 9:return S=f.type,B=f.pendingProps.children,Kn(f,C),S=jn(S),B=B(S),f.flags|=1,tr(A,f,B,C),f.child;case 14:return B=f.type,S=$i(B,f.pendingProps),S=$i(B.type,S),VB(A,f,B,S,C);case 15:return WB(A,f,f.type,f.pendingProps,C);case 17:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),f.tag=1,Ce(B)?(A=!0,We(f)):A=!1,Kn(f,C),lB(f,B,S),I0(f,B,S,C),G0(null,f,B,!0,A,C);case 19:return tx(A,f,C);case 22:return YB(A,f,C)}throw Error(o(156,f.tag))};function Sx(A,f){return Ao(A,f)}function pb(A,f,C,B){this.tag=A,this.key=C,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=B,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function os(A,f,C,B){return new pb(A,f,C,B)}function cv(A){return A=A.prototype,!(!A||!A.isReactComponent)}function gb(A){if(typeof A=="function")return cv(A)?1:0;if(A!=null){if(A=A.$$typeof,A===I)return 11;if(A===y)return 14}return 2}function pa(A,f){var C=A.alternate;return C===null?(C=os(A.tag,f,A.key,A.mode),C.elementType=A.elementType,C.type=A.type,C.stateNode=A.stateNode,C.alternate=A,A.alternate=C):(C.pendingProps=f,C.type=A.type,C.flags=0,C.subtreeFlags=0,C.deletions=null),C.flags=A.flags&14680064,C.childLanes=A.childLanes,C.lanes=A.lanes,C.child=A.child,C.memoizedProps=A.memoizedProps,C.memoizedState=A.memoizedState,C.updateQueue=A.updateQueue,f=A.dependencies,C.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},C.sibling=A.sibling,C.index=A.index,C.ref=A.ref,C}function Od(A,f,C,B,S,T){var ie=2;if(B=A,typeof A=="function")cv(A)&&(ie=1);else if(typeof A=="string")ie=5;else e:switch(A){case u:return xl(C.children,S,T,f);case h:ie=8,S|=8;break;case d:return A=os(12,C,f,S|2),A.elementType=d,A.lanes=T,A;case v:return A=os(13,C,f,S),A.elementType=v,A.lanes=T,A;case g:return A=os(19,C,f,S),A.elementType=g,A.lanes=T,A;case x:return Gd(C,S,T,f);default:if(typeof A=="object"&&A!==null)switch(A.$$typeof){case p:ie=10;break e;case m:ie=9;break e;case I:ie=11;break e;case y:ie=14;break e;case E:ie=16,B=null;break e}throw Error(o(130,A==null?A:typeof A,""))}return f=os(ie,C,f,S),f.elementType=A,f.type=B,f.lanes=T,f}function xl(A,f,C,B){return A=os(7,A,B,f),A.lanes=C,A}function Gd(A,f,C,B){return A=os(22,A,B,f),A.elementType=x,A.lanes=C,A.stateNode={},A}function uv(A,f,C){return A=os(6,A,null,f),A.lanes=C,A}function Av(A,f,C){return f=os(4,A.children!==null?A.children:[],A.key,f),f.lanes=C,f.stateNode={containerInfo:A.containerInfo,pendingChildren:null,implementation:A.implementation},f}function mb(A,f,C,B,S){this.tag=f,this.containerInfo=A,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=de,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tc(0),this.expirationTimes=Tc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tc(0),this.identifierPrefix=B,this.onRecoverableError=S,me&&(this.mutableSourceEagerHydrationData=null)}function wx(A,f,C,B,S,T,ie,ve,Ue){return A=new mb(A,f,C,ve,Ue),f===1?(f=1,T===!0&&(f|=8)):f=0,T=os(3,null,null,f),A.current=T,T.stateNode=A,T.memoizedState={element:B,isDehydrated:C,cache:null,transitions:null},E0(T),A}function _x(A){if(!A)return ni;A=A._reactInternals;e:{if(Y(A)!==A||A.tag!==1)throw Error(o(170));var f=A;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(Ce(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(o(171))}if(A.tag===1){var C=A.type;if(Ce(C))return He(A,C,f)}return f}function Mx(A){var f=A._reactInternals;if(f===void 0)throw typeof A.render=="function"?Error(o(188)):(A=Object.keys(A).join(","),Error(o(268,A)));return A=z(f),A===null?null:A.stateNode}function Qx(A,f){if(A=A.memoizedState,A!==null&&A.dehydrated!==null){var C=A.retryLane;A.retryLane=C!==0&&C=qe&&T>=Ut&&S<=ht&&ie<=Dt){A.splice(f,1);break}else if(B!==qe||C.width!==Ue.width||Dtie){if(!(T!==Ut||C.height!==Ue.height||htS)){qe>B&&(Ue.width+=qe-B,Ue.x=B),htT&&(Ue.height+=Ut-T,Ue.y=T),DtC&&(C=ie)),ienv&&(f.flags|=128,B=!0,HA(S,!1),f.lanes=4194304)}else{if(!B)if(A=ud(T),A!==null){if(f.flags|=128,B=!0,A=A.updateQueue,A!==null&&(f.updateQueue=A,f.flags|=4),HA(S,!0),S.tail===null&&S.tailMode==="hidden"&&!T.alternate&&!Rn)return Ni(f),null}else 2*Ln()-S.renderingStartTime>nv&&C!==1073741824&&(f.flags|=128,B=!0,HA(S,!1),f.lanes=4194304);S.isBackwards?(T.sibling=f.child,f.child=T):(A=S.last,A!==null?A.sibling=T:f.child=T,S.last=T)}return S.tail!==null?(f=S.tail,S.rendering=f,S.tail=f.sibling,S.renderingStartTime=Ln(),f.sibling=null,A=Pn.current,lt(Pn,B?A&1|2:A&1),f):(Ni(f),null);case 22:case 23:return av(),B=f.memoizedState!==null,A!==null&&A.memoizedState!==null!==B&&(f.flags|=8192),B&&f.mode&1?Nr&1073741824&&(Ni(f),pe&&f.subtreeFlags&6&&(f.flags|=8192)):Ni(f),null;case 24:return null;case 25:return null}throw Error(o(156,f.tag))}var tb=a.ReactCurrentOwner,Ur=!1;function tr(A,f,C,B){f.child=A===null?mB(f,null,C,B):kc(f,A.child,C,B)}function VB(A,f,C,B,S){C=C.render;var T=f.ref;return Kn(f,S),B=b0(A,f,C,B,T,S),C=L0(),A!==null&&!Ur?(f.updateQueue=A.updateQueue,f.flags&=-2053,A.lanes&=~S,mo(A,f,S)):(Rn&&C&&B0(f),f.flags|=1,tr(A,f,B,S),f.child)}function WB(A,f,C,B,S){if(A===null){var T=C.type;return typeof T=="function"&&!cv(T)&&T.defaultProps===void 0&&C.compare===null&&C.defaultProps===void 0?(f.tag=15,f.type=T,YB(A,f,T,B,S)):(A=Od(C.type,null,B,f,f.mode,S),A.ref=f.ref,A.return=f,f.child=A)}if(T=A.child,!(A.lanes&S)){var ne=T.memoizedProps;if(C=C.compare,C=C!==null?C:dl,C(ne,B)&&A.ref===f.ref)return mo(A,f,S)}return f.flags|=1,A=pa(T,B),A.ref=f.ref,A.return=f,f.child=A}function YB(A,f,C,B,S){if(A!==null&&dl(A.memoizedProps,B)&&A.ref===f.ref)if(Ur=!1,(A.lanes&S)!==0)A.flags&131072&&(Ur=!0);else return f.lanes=A.lanes,mo(A,f,S);return O0(A,f,C,B,S)}function JB(A,f,C){var B=f.pendingProps,S=B.children,T=A!==null?A.memoizedState:null;if(B.mode==="hidden")if(!(f.mode&1))f.memoizedState={baseLanes:0,cachePool:null},lt(Hc,Nr),Nr|=C;else if(C&1073741824)f.memoizedState={baseLanes:0,cachePool:null},B=T!==null?T.baseLanes:C,lt(Hc,Nr),Nr|=B;else return A=T!==null?T.baseLanes|C:C,f.lanes=f.childLanes=1073741824,f.memoizedState={baseLanes:A,cachePool:null},f.updateQueue=null,lt(Hc,Nr),Nr|=A,null;else T!==null?(B=T.baseLanes|C,f.memoizedState=null):B=C,lt(Hc,Nr),Nr|=B;return tr(A,f,S,C),f.child}function XB(A,f){var C=f.ref;(A===null&&C!==null||A!==null&&A.ref!==C)&&(f.flags|=512,f.flags|=2097152)}function O0(A,f,C,B,S){var T=Ce(C)?Ae:F.current;return T=ge(f,T),Kn(f,S),C=b0(A,f,C,B,T,S),B=L0(),A!==null&&!Ur?(f.updateQueue=A.updateQueue,f.flags&=-2053,A.lanes&=~S,mo(A,f,S)):(Rn&&B&&B0(f),f.flags|=1,tr(A,f,C,S),f.child)}function KB(A,f,C,B,S){if(Ce(C)){var T=!0;We(f)}else T=!1;if(Kn(f,S),f.stateNode===null)A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),cB(f,C,B),I0(f,C,B,S),B=!0;else if(A===null){var ne=f.stateNode,ve=f.memoizedProps;ne.props=ve;var Ue=ne.context,qe=C.contextType;typeof qe=="object"&&qe!==null?qe=jn(qe):(qe=Ce(C)?Ae:F.current,qe=ge(f,qe));var dt=C.getDerivedStateFromProps,Ut=typeof dt=="function"||typeof ne.getSnapshotBeforeUpdate=="function";Ut||typeof ne.UNSAFE_componentWillReceiveProps!="function"&&typeof ne.componentWillReceiveProps!="function"||(ve!==B||Ue!==qe)&&uB(f,ne,B,qe),ca=!1;var Dt=f.memoizedState;ne.state=Dt,sd(f,B,ne,S),Ue=f.memoizedState,ve!==B||Dt!==Ue||H.current||ca?(typeof dt=="function"&&(C0(f,C,dt,B),Ue=f.memoizedState),(ve=ca||lB(f,C,ve,B,Dt,Ue,qe))?(Ut||typeof ne.UNSAFE_componentWillMount!="function"&&typeof ne.componentWillMount!="function"||(typeof ne.componentWillMount=="function"&&ne.componentWillMount(),typeof ne.UNSAFE_componentWillMount=="function"&&ne.UNSAFE_componentWillMount()),typeof ne.componentDidMount=="function"&&(f.flags|=4194308)):(typeof ne.componentDidMount=="function"&&(f.flags|=4194308),f.memoizedProps=B,f.memoizedState=Ue),ne.props=B,ne.state=Ue,ne.context=qe,B=ve):(typeof ne.componentDidMount=="function"&&(f.flags|=4194308),B=!1)}else{ne=f.stateNode,rB(A,f),ve=f.memoizedProps,qe=f.type===f.elementType?ve:$i(f.type,ve),ne.props=qe,Ut=f.pendingProps,Dt=ne.context,Ue=C.contextType,typeof Ue=="object"&&Ue!==null?Ue=jn(Ue):(Ue=Ce(C)?Ae:F.current,Ue=ge(f,Ue));var En=C.getDerivedStateFromProps;(dt=typeof En=="function"||typeof ne.getSnapshotBeforeUpdate=="function")||typeof ne.UNSAFE_componentWillReceiveProps!="function"&&typeof ne.componentWillReceiveProps!="function"||(ve!==Ut||Dt!==Ue)&&uB(f,ne,B,Ue),ca=!1,Dt=f.memoizedState,ne.state=Dt,sd(f,B,ne,S);var wt=f.memoizedState;ve!==Ut||Dt!==wt||H.current||ca?(typeof En=="function"&&(C0(f,C,En,B),wt=f.memoizedState),(qe=ca||lB(f,C,qe,B,Dt,wt,Ue)||!1)?(dt||typeof ne.UNSAFE_componentWillUpdate!="function"&&typeof ne.componentWillUpdate!="function"||(typeof ne.componentWillUpdate=="function"&&ne.componentWillUpdate(B,wt,Ue),typeof ne.UNSAFE_componentWillUpdate=="function"&&ne.UNSAFE_componentWillUpdate(B,wt,Ue)),typeof ne.componentDidUpdate=="function"&&(f.flags|=4),typeof ne.getSnapshotBeforeUpdate=="function"&&(f.flags|=1024)):(typeof ne.componentDidUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=4),typeof ne.getSnapshotBeforeUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=1024),f.memoizedProps=B,f.memoizedState=wt),ne.props=B,ne.state=wt,ne.context=Ue,B=qe):(typeof ne.componentDidUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=4),typeof ne.getSnapshotBeforeUpdate!="function"||ve===A.memoizedProps&&Dt===A.memoizedState||(f.flags|=1024),B=!1)}return G0(A,f,C,B,T,S)}function G0(A,f,C,B,S,T){XB(A,f);var ne=(f.flags&128)!==0;if(!B&&!ne)return S&&Ve(f,C,!1),mo(A,f,T);B=f.stateNode,tb.current=f;var ve=ne&&typeof C.getDerivedStateFromError!="function"?null:B.render();return f.flags|=1,A!==null&&ne?(f.child=kc(f,A.child,null,T),f.child=kc(f,null,ve,T)):tr(A,f,ve,T),f.memoizedState=B.state,S&&Ve(f,C,!0),f.child}function jB(A){var f=A.stateNode;f.pendingContext?Oe(A,f.pendingContext,f.pendingContext!==f.context):f.context&&Oe(A,f.context,!1),M0(A,f.containerInfo)}function qB(A,f,C,B,S){return Nc(),_0(S),f.flags|=256,tr(A,f,C,B),f.child}var Ed={dehydrated:null,treeContext:null,retryLane:0};function Cd(A){return{baseLanes:A,cachePool:null}}function ZB(A,f,C){var B=f.pendingProps,S=Pn.current,T=!1,ne=(f.flags&128)!==0,ve;if((ve=ne)||(ve=A!==null&&A.memoizedState===null?!1:(S&2)!==0),ve?(T=!0,f.flags&=-129):(A===null||A.memoizedState!==null)&&(S|=1),lt(Pn,S&1),A===null)return w0(f),A=f.memoizedState,A!==null&&(A=A.dehydrated,A!==null)?(f.mode&1?vn(A)?f.lanes=8:f.lanes=1073741824:f.lanes=1,null):(S=B.children,A=B.fallback,T?(B=f.mode,T=f.child,S={mode:"hidden",children:S},!(B&1)&&T!==null?(T.childLanes=0,T.pendingProps=S):T=Gd(S,B,0,null),A=xl(A,B,C,null),T.return=f,A.return=f,T.sibling=A,f.child=T,f.child.memoizedState=Cd(C),f.memoizedState=Ed,A):H0(f,S));if(S=A.memoizedState,S!==null){if(ve=S.dehydrated,ve!==null){if(ne)return f.flags&256?(f.flags&=-257,Id(A,f,C,Error(o(422)))):f.memoizedState!==null?(f.child=A.child,f.flags|=128,null):(T=B.fallback,S=f.mode,B=Gd({mode:"visible",children:B.children},S,0,null),T=xl(T,S,C,null),T.flags|=2,B.return=f,T.return=f,B.sibling=T,f.child=B,f.mode&1&&kc(f,A.child,null,C),f.child.memoizedState=Cd(C),f.memoizedState=Ed,T);if(!(f.mode&1))f=Id(A,f,C,null);else if(vn(ve))f=Id(A,f,C,Error(o(419)));else if(B=(C&A.childLanes)!==0,Ur||B){if(B=ii,B!==null){switch(C&-C){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}B=T&(B.suspendedLanes|C)?0:T,B!==0&&B!==S.retryLane&&(S.retryLane=B,ss(A,B,-1))}lv(),f=Id(A,f,C,Error(o(421)))}else Kt(ve)?(f.flags|=128,f.child=A.child,f=db.bind(null,A),Dn(ve,f),f=null):(C=S.treeContext,me&&(Pr=ji(ve),Lr=f,Rn=!0,xs=null,TA=!1,C!==null&&(ts[ns++]=ho,ts[ns++]=po,ts[ns++]=gl,ho=C.id,po=C.overflow,gl=f)),f=H0(f,f.pendingProps.children),f.flags|=4096);return f}return T?(B=ex(A,f,B.children,B.fallback,C),T=f.child,S=A.child.memoizedState,T.memoizedState=S===null?Cd(C):{baseLanes:S.baseLanes|C,cachePool:null},T.childLanes=A.childLanes&~C,f.memoizedState=Ed,B):(C=$B(A,f,B.children,C),f.memoizedState=null,C)}return T?(B=ex(A,f,B.children,B.fallback,C),T=f.child,S=A.child.memoizedState,T.memoizedState=S===null?Cd(C):{baseLanes:S.baseLanes|C,cachePool:null},T.childLanes=A.childLanes&~C,f.memoizedState=Ed,B):(C=$B(A,f,B.children,C),f.memoizedState=null,C)}function H0(A,f){return f=Gd({mode:"visible",children:f},A.mode,0,null),f.return=A,A.child=f}function $B(A,f,C,B){var S=A.child;return A=S.sibling,C=pa(S,{mode:"visible",children:C}),!(f.mode&1)&&(C.lanes=B),C.return=f,C.sibling=null,A!==null&&(B=f.deletions,B===null?(f.deletions=[A],f.flags|=16):B.push(A)),f.child=C}function ex(A,f,C,B,S){var T=f.mode;A=A.child;var ne=A.sibling,ve={mode:"hidden",children:C};return!(T&1)&&f.child!==A?(C=f.child,C.childLanes=0,C.pendingProps=ve,f.deletions=null):(C=pa(A,ve),C.subtreeFlags=A.subtreeFlags&14680064),ne!==null?B=pa(ne,B):(B=xl(B,T,S,null),B.flags|=2),B.return=f,C.return=f,C.sibling=B,f.child=C,B}function Id(A,f,C,B){return B!==null&&_0(B),kc(f,A.child,null,C),A=H0(f,f.pendingProps.children),A.flags|=2,f.memoizedState=null,A}function tx(A,f,C){A.lanes|=f;var B=A.alternate;B!==null&&(B.lanes|=f),er(A.return,f,C)}function z0(A,f,C,B,S){var T=A.memoizedState;T===null?A.memoizedState={isBackwards:f,rendering:null,renderingStartTime:0,last:B,tail:C,tailMode:S}:(T.isBackwards=f,T.rendering=null,T.renderingStartTime=0,T.last=B,T.tail=C,T.tailMode=S)}function nx(A,f,C){var B=f.pendingProps,S=B.revealOrder,T=B.tail;if(tr(A,f,B.children,C),B=Pn.current,B&2)B=B&1|2,f.flags|=128;else{if(A!==null&&A.flags&128)e:for(A=f.child;A!==null;){if(A.tag===13)A.memoizedState!==null&&tx(A,C,f);else if(A.tag===19)tx(A,C,f);else if(A.child!==null){A.child.return=A,A=A.child;continue}if(A===f)break e;for(;A.sibling===null;){if(A.return===null||A.return===f)break e;A=A.return}A.sibling.return=A.return,A=A.sibling}B&=1}if(lt(Pn,B),!(f.mode&1))f.memoizedState=null;else switch(S){case"forwards":for(C=f.child,S=null;C!==null;)A=C.alternate,A!==null&&ud(A)===null&&(S=C),C=C.sibling;C=S,C===null?(S=f.child,f.child=null):(S=C.sibling,C.sibling=null),z0(f,!1,S,C,T);break;case"backwards":for(C=null,S=f.child,f.child=null;S!==null;){if(A=S.alternate,A!==null&&ud(A)===null){f.child=S;break}A=S.sibling,S.sibling=C,C=S,S=A}z0(f,!0,C,null,T);break;case"together":z0(f,!1,null,null,void 0);break;default:f.memoizedState=null}return f.child}function mo(A,f,C){if(A!==null&&(f.dependencies=A.dependencies),zc|=f.lanes,!(C&f.childLanes))return null;if(A!==null&&f.child!==A.child)throw Error(o(153));if(f.child!==null){for(A=f.child,C=pa(A,A.pendingProps),f.child=C,C.return=f;A.sibling!==null;)A=A.sibling,C=C.sibling=pa(A,A.pendingProps),C.return=f;C.sibling=null}return f.child}function nb(A,f,C){switch(f.tag){case 3:jB(f),Nc();break;case 5:vB(f);break;case 1:Ce(f.type)&&We(f);break;case 4:M0(f,f.stateNode.containerInfo);break;case 10:id(f,f.type._context,f.memoizedProps.value);break;case 13:var B=f.memoizedState;if(B!==null)return B.dehydrated!==null?(lt(Pn,Pn.current&1),f.flags|=128,null):C&f.child.childLanes?ZB(A,f,C):(lt(Pn,Pn.current&1),A=mo(A,f,C),A!==null?A.sibling:null);lt(Pn,Pn.current&1);break;case 19:if(B=(C&f.childLanes)!==0,A.flags&128){if(B)return nx(A,f,C);f.flags|=128}var S=f.memoizedState;if(S!==null&&(S.rendering=null,S.tail=null,S.lastEffect=null),lt(Pn,Pn.current),B)break;return null;case 22:case 23:return f.lanes=0,JB(A,f,C)}return mo(A,f,C)}function ib(A,f){switch(x0(f),f.tag){case 1:return Ce(f.type)&&Qe(),A=f.flags,A&65536?(f.flags=A&-65537|128,f):null;case 3:return Oc(),mt(H),mt(F),T0(),A=f.flags,A&65536&&!(A&128)?(f.flags=A&-65537|128,f):null;case 5:return Q0(f),null;case 13:if(mt(Pn),A=f.memoizedState,A!==null&&A.dehydrated!==null){if(f.alternate===null)throw Error(o(340));Nc()}return A=f.flags,A&65536?(f.flags=A&-65537|128,f):null;case 19:return mt(Pn),null;case 4:return Oc(),null;case 10:return Ei(f.type._context),null;case 22:case 23:return av(),null;case 24:return null;default:return null}}var Bd=!1,yl=!1,rb=typeof WeakSet=="function"?WeakSet:Set,at=null;function xd(A,f){var C=A.ref;if(C!==null)if(typeof C=="function")try{C(null)}catch(B){Er(A,f,B)}else C.current=null}function V0(A,f,C){try{C()}catch(B){Er(A,f,B)}}var ix=!1;function sb(A,f){for(J(A.containerInfo),at=f;at!==null;)if(A=at,f=A.child,(A.subtreeFlags&1028)!==0&&f!==null)f.return=A,at=f;else for(;at!==null;){A=at;try{var C=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(C!==null){var B=C.memoizedProps,S=C.memoizedState,T=A.stateNode,ne=T.getSnapshotBeforeUpdate(A.elementType===A.type?B:$i(A.type,B),S);T.__reactInternalSnapshotBeforeUpdate=ne}break;case 3:pe&&Je(A.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ve){Er(A,A.return,ve)}if(f=A.sibling,f!==null){f.return=A.return,at=f;break}at=A.return}return C=ix,ix=!1,C}function El(A,f,C){var B=f.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var S=B=B.next;do{if((S.tag&A)===A){var T=S.destroy;S.destroy=void 0,T!==void 0&&V0(f,C,T)}S=S.next}while(S!==B)}}function zA(A,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var C=f=f.next;do{if((C.tag&A)===A){var B=C.create;C.destroy=B()}C=C.next}while(C!==f)}}function W0(A){var f=A.ref;if(f!==null){var C=A.stateNode;switch(A.tag){case 5:A=ee(C);break;default:A=C}typeof f=="function"?f(A):f.current=A}}function rx(A,f,C){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(fl,f)}catch{}switch(f.tag){case 0:case 11:case 14:case 15:if(A=f.updateQueue,A!==null&&(A=A.lastEffect,A!==null)){var B=A=A.next;do{var S=B,T=S.destroy;S=S.tag,T!==void 0&&(S&2||S&4)&&V0(f,C,T),B=B.next}while(B!==A)}break;case 1:if(xd(f,C),A=f.stateNode,typeof A.componentWillUnmount=="function")try{A.props=f.memoizedProps,A.state=f.memoizedState,A.componentWillUnmount()}catch(ne){Er(f,C,ne)}break;case 5:xd(f,C);break;case 4:pe?ux(A,f,C):U&&U&&(f=f.stateNode.containerInfo,C=ot(f),Qt(f,C))}}function sx(A,f,C){for(var B=f;;)if(rx(A,B,C),B.child===null||pe&&B.tag===4){if(B===f)break;for(;B.sibling===null;){if(B.return===null||B.return===f)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function ox(A){var f=A.alternate;f!==null&&(A.alternate=null,ox(f)),A.child=null,A.deletions=null,A.sibling=null,A.tag===5&&(f=A.stateNode,f!==null&&we(f)),A.stateNode=null,A.return=null,A.dependencies=null,A.memoizedProps=null,A.memoizedState=null,A.pendingProps=null,A.stateNode=null,A.updateQueue=null}function ax(A){return A.tag===5||A.tag===3||A.tag===4}function lx(A){e:for(;;){for(;A.sibling===null;){if(A.return===null||ax(A.return))return null;A=A.return}for(A.sibling.return=A.return,A=A.sibling;A.tag!==5&&A.tag!==6&&A.tag!==18;){if(A.flags&2||A.child===null||A.tag===4)continue e;A.child.return=A,A=A.child}if(!(A.flags&2))return A.stateNode}}function cx(A){if(pe){e:{for(var f=A.return;f!==null;){if(ax(f))break e;f=f.return}throw Error(o(160))}var C=f;switch(C.tag){case 5:f=C.stateNode,C.flags&32&&(vt(f),C.flags&=-33),C=lx(A),J0(A,C,f);break;case 3:case 4:f=C.stateNode.containerInfo,C=lx(A),Y0(A,C,f);break;default:throw Error(o(161))}}}function Y0(A,f,C){var B=A.tag;if(B===5||B===6)A=A.stateNode,f?Ye(C,A,f):je(C,A);else if(B!==4&&(A=A.child,A!==null))for(Y0(A,f,C),A=A.sibling;A!==null;)Y0(A,f,C),A=A.sibling}function J0(A,f,C){var B=A.tag;if(B===5||B===6)A=A.stateNode,f?it(C,A,f):Ne(C,A);else if(B!==4&&(A=A.child,A!==null))for(J0(A,f,C),A=A.sibling;A!==null;)J0(A,f,C),A=A.sibling}function ux(A,f,C){for(var B=f,S=!1,T,ne;;){if(!S){S=B.return;e:for(;;){if(S===null)throw Error(o(160));switch(T=S.stateNode,S.tag){case 5:ne=!1;break e;case 3:T=T.containerInfo,ne=!0;break e;case 4:T=T.containerInfo,ne=!0;break e}S=S.return}S=!0}if(B.tag===5||B.tag===6)sx(A,B,C),ne?et(T,B.stateNode):ke(T,B.stateNode);else if(B.tag===18)ne?Me(T,B.stateNode):be(T,B.stateNode);else if(B.tag===4){if(B.child!==null){T=B.stateNode.containerInfo,ne=!0,B.child.return=B,B=B.child;continue}}else if(rx(A,B,C),B.child!==null){B.child.return=B,B=B.child;continue}if(B===f)break;for(;B.sibling===null;){if(B.return===null||B.return===f)return;B=B.return,B.tag===4&&(S=!1)}B.sibling.return=B.return,B=B.sibling}}function X0(A,f){if(pe){switch(f.tag){case 0:case 11:case 14:case 15:El(3,f,f.return),zA(3,f),El(5,f,f.return);return;case 1:return;case 5:var C=f.stateNode;if(C!=null){var B=f.memoizedProps;A=A!==null?A.memoizedProps:B;var S=f.type,T=f.updateQueue;f.updateQueue=null,T!==null&&Ze(C,T,S,A,B,f)}return;case 6:if(f.stateNode===null)throw Error(o(162));C=f.memoizedProps,De(f.stateNode,A!==null?A.memoizedProps:C,C);return;case 3:me&&A!==null&&A.memoizedState.isDehydrated&&xe(f.stateNode.containerInfo);return;case 12:return;case 13:Sd(f);return;case 19:Sd(f);return;case 17:return}throw Error(o(163))}switch(f.tag){case 0:case 11:case 14:case 15:El(3,f,f.return),zA(3,f),El(5,f,f.return);return;case 12:return;case 13:Sd(f);return;case 19:Sd(f);return;case 3:me&&A!==null&&A.memoizedState.isDehydrated&&xe(f.stateNode.containerInfo);break;case 22:case 23:return}e:if(U){switch(f.tag){case 1:case 5:case 6:break e;case 3:case 4:f=f.stateNode,Qt(f.containerInfo,f.pendingChildren);break e}throw Error(o(163))}}function Sd(A){var f=A.updateQueue;if(f!==null){A.updateQueue=null;var C=A.stateNode;C===null&&(C=A.stateNode=new rb),f.forEach(function(B){var S=pb.bind(null,A,B);C.has(B)||(C.add(B),B.then(S,S))})}}function ob(A,f){for(at=f;at!==null;){f=at;var C=f.deletions;if(C!==null)for(var B=0;B";case _d:return":has("+(q0(A)||"")+")";case Md:return'[role="'+A.value+'"]';case Rd:return'"'+A.value+'"';case Qd:return'[data-testname="'+A.value+'"]';default:throw Error(o(365))}}function px(A,f){var C=[];A=[A,0];for(var B=0;BS&&(S=ne),B&=~T}if(B=S,B=Ln()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*lb(B/1960))-B,10A?16:A,fa===null)var B=!1;else{if(A=fa,fa=null,Pd=0,Jt&6)throw Error(o(331));var S=Jt;for(Jt|=4,at=A.current;at!==null;){var T=at,ne=T.child;if(at.flags&16){var ve=T.deletions;if(ve!==null){for(var Ue=0;UeLn()-tv?Cl(A,0):ev|=C),yr(A,f)}function xx(A,f){f===0&&(A.mode&1?(f=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):f=1);var C=nr();A=kd(A,f),A!==null&&(Vs(A,f,C),yr(A,C))}function db(A){var f=A.memoizedState,C=0;f!==null&&(C=f.retryLane),xx(A,C)}function pb(A,f){var C=0;switch(A.tag){case 13:var B=A.stateNode,S=A.memoizedState;S!==null&&(C=S.retryLane);break;case 19:B=A.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(f),xx(A,C)}var Sx;Sx=function(A,f,C){if(A!==null)if(A.memoizedProps!==f.pendingProps||H.current)Ur=!0;else{if(!(A.lanes&C)&&!(f.flags&128))return Ur=!1,nb(A,f,C);Ur=!!(A.flags&131072)}else Ur=!1,Rn&&f.flags&1048576&&AB(f,ld,f.index);switch(f.lanes=0,f.tag){case 2:var B=f.type;A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),A=f.pendingProps;var S=ge(f,F.current);Kn(f,C),S=b0(null,f,B,A,S,C);var T=L0();return f.flags|=1,typeof S=="object"&&S!==null&&typeof S.render=="function"&&S.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,Ce(B)?(T=!0,We(f)):T=!1,f.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,E0(f),S.updater=od,f.stateNode=S,S._reactInternals=f,I0(f,B,A,C),f=G0(null,f,B,!0,T,C)):(f.tag=0,Rn&&T&&B0(f),tr(null,f,S,C),f=f.child),f;case 16:B=f.elementType;e:{switch(A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),A=f.pendingProps,S=B._init,B=S(B._payload),f.type=B,S=f.tag=mb(B),A=$i(B,A),S){case 0:f=O0(null,f,B,A,C);break e;case 1:f=KB(null,f,B,A,C);break e;case 11:f=VB(null,f,B,A,C);break e;case 14:f=WB(null,f,B,$i(B.type,A),C);break e}throw Error(o(306,B,""))}return f;case 0:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),O0(A,f,B,S,C);case 1:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),KB(A,f,B,S,C);case 3:e:{if(jB(f),A===null)throw Error(o(387));B=f.pendingProps,T=f.memoizedState,S=T.element,rB(A,f),sd(f,B,null,C);var ne=f.memoizedState;if(B=ne.element,me&&T.isDehydrated)if(T={element:B,isDehydrated:!1,cache:ne.cache,transitions:ne.transitions},f.updateQueue.baseState=T,f.memoizedState=T,f.flags&256){S=Error(o(423)),f=qB(A,f,B,C,S);break e}else if(B!==S){S=Error(o(424)),f=qB(A,f,B,C,S);break e}else for(me&&(Pr=Gn(f.stateNode.containerInfo),Lr=f,Rn=!0,xs=null,TA=!1),C=mB(f,null,B,C),f.child=C;C;)C.flags=C.flags&-3|4096,C=C.sibling;else{if(Nc(),B===S){f=mo(A,f,C);break e}tr(A,f,B,C)}f=f.child}return f;case 5:return vB(f),A===null&&w0(f),B=f.type,S=f.pendingProps,T=A!==null?A.memoizedProps:null,ne=S.children,k(B,S)?ne=null:T!==null&&k(B,T)&&(f.flags|=32),XB(A,f),tr(A,f,ne,C),f.child;case 6:return A===null&&w0(f),null;case 13:return ZB(A,f,C);case 4:return M0(f,f.stateNode.containerInfo),B=f.pendingProps,A===null?f.child=kc(f,null,B,C):tr(A,f,B,C),f.child;case 11:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),VB(A,f,B,S,C);case 7:return tr(A,f,f.pendingProps,C),f.child;case 8:return tr(A,f,f.pendingProps.children,C),f.child;case 12:return tr(A,f,f.pendingProps.children,C),f.child;case 10:e:{if(B=f.type._context,S=f.pendingProps,T=f.memoizedProps,ne=S.value,id(f,B,ne),T!==null)if(Dr(T.value,ne)){if(T.children===S.children&&!H.current){f=mo(A,f,C);break e}}else for(T=f.child,T!==null&&(T.return=f);T!==null;){var ve=T.dependencies;if(ve!==null){ne=T.child;for(var Ue=ve.firstContext;Ue!==null;){if(Ue.context===B){if(T.tag===1){Ue=fo(-1,C&-C),Ue.tag=2;var qe=T.updateQueue;if(qe!==null){qe=qe.shared;var dt=qe.pending;dt===null?Ue.next=Ue:(Ue.next=dt.next,dt.next=Ue),qe.pending=Ue}}T.lanes|=C,Ue=T.alternate,Ue!==null&&(Ue.lanes|=C),er(T.return,C,f),ve.lanes|=C;break}Ue=Ue.next}}else if(T.tag===10)ne=T.type===f.type?null:T.child;else if(T.tag===18){if(ne=T.return,ne===null)throw Error(o(341));ne.lanes|=C,ve=ne.alternate,ve!==null&&(ve.lanes|=C),er(ne,C,f),ne=T.sibling}else ne=T.child;if(ne!==null)ne.return=T;else for(ne=T;ne!==null;){if(ne===f){ne=null;break}if(T=ne.sibling,T!==null){T.return=ne.return,ne=T;break}ne=ne.return}T=ne}tr(A,f,S.children,C),f=f.child}return f;case 9:return S=f.type,B=f.pendingProps.children,Kn(f,C),S=jn(S),B=B(S),f.flags|=1,tr(A,f,B,C),f.child;case 14:return B=f.type,S=$i(B,f.pendingProps),S=$i(B.type,S),WB(A,f,B,S,C);case 15:return YB(A,f,f.type,f.pendingProps,C);case 17:return B=f.type,S=f.pendingProps,S=f.elementType===B?S:$i(B,S),A!==null&&(A.alternate=null,f.alternate=null,f.flags|=2),f.tag=1,Ce(B)?(A=!0,We(f)):A=!1,Kn(f,C),cB(f,B,S),I0(f,B,S,C),G0(null,f,B,!0,A,C);case 19:return nx(A,f,C);case 22:return JB(A,f,C)}throw Error(o(156,f.tag))};function wx(A,f){return Ao(A,f)}function gb(A,f,C,B){this.tag=A,this.key=C,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=B,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function os(A,f,C,B){return new gb(A,f,C,B)}function cv(A){return A=A.prototype,!(!A||!A.isReactComponent)}function mb(A){if(typeof A=="function")return cv(A)?1:0;if(A!=null){if(A=A.$$typeof,A===I)return 11;if(A===y)return 14}return 2}function pa(A,f){var C=A.alternate;return C===null?(C=os(A.tag,f,A.key,A.mode),C.elementType=A.elementType,C.type=A.type,C.stateNode=A.stateNode,C.alternate=A,A.alternate=C):(C.pendingProps=f,C.type=A.type,C.flags=0,C.subtreeFlags=0,C.deletions=null),C.flags=A.flags&14680064,C.childLanes=A.childLanes,C.lanes=A.lanes,C.child=A.child,C.memoizedProps=A.memoizedProps,C.memoizedState=A.memoizedState,C.updateQueue=A.updateQueue,f=A.dependencies,C.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},C.sibling=A.sibling,C.index=A.index,C.ref=A.ref,C}function Od(A,f,C,B,S,T){var ne=2;if(B=A,typeof A=="function")cv(A)&&(ne=1);else if(typeof A=="string")ne=5;else e:switch(A){case u:return xl(C.children,S,T,f);case h:ne=8,S|=8;break;case d:return A=os(12,C,f,S|2),A.elementType=d,A.lanes=T,A;case v:return A=os(13,C,f,S),A.elementType=v,A.lanes=T,A;case g:return A=os(19,C,f,S),A.elementType=g,A.lanes=T,A;case x:return Gd(C,S,T,f);default:if(typeof A=="object"&&A!==null)switch(A.$$typeof){case p:ne=10;break e;case m:ne=9;break e;case I:ne=11;break e;case y:ne=14;break e;case E:ne=16,B=null;break e}throw Error(o(130,A==null?A:typeof A,""))}return f=os(ne,C,f,S),f.elementType=A,f.type=B,f.lanes=T,f}function xl(A,f,C,B){return A=os(7,A,B,f),A.lanes=C,A}function Gd(A,f,C,B){return A=os(22,A,B,f),A.elementType=x,A.lanes=C,A.stateNode={},A}function uv(A,f,C){return A=os(6,A,null,f),A.lanes=C,A}function Av(A,f,C){return f=os(4,A.children!==null?A.children:[],A.key,f),f.lanes=C,f.stateNode={containerInfo:A.containerInfo,pendingChildren:null,implementation:A.implementation},f}function vb(A,f,C,B,S){this.tag=f,this.containerInfo=A,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=de,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tc(0),this.expirationTimes=Tc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tc(0),this.identifierPrefix=B,this.onRecoverableError=S,me&&(this.mutableSourceEagerHydrationData=null)}function _x(A,f,C,B,S,T,ne,ve,Ue){return A=new vb(A,f,C,ve,Ue),f===1?(f=1,T===!0&&(f|=8)):f=0,T=os(3,null,null,f),A.current=T,T.stateNode=A,T.memoizedState={element:B,isDehydrated:C,cache:null,transitions:null},E0(T),A}function Mx(A){if(!A)return ni;A=A._reactInternals;e:{if(Y(A)!==A||A.tag!==1)throw Error(o(170));var f=A;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(Ce(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(o(171))}if(A.tag===1){var C=A.type;if(Ce(C))return He(A,C,f)}return f}function Qx(A){var f=A._reactInternals;if(f===void 0)throw typeof A.render=="function"?Error(o(188)):(A=Object.keys(A).join(","),Error(o(268,A)));return A=z(f),A===null?null:A.stateNode}function Rx(A,f){if(A=A.memoizedState,A!==null&&A.dehydrated!==null){var C=A.retryLane;A.retryLane=C!==0&&C=qe&&T>=Ut&&S<=dt&&ne<=Dt){A.splice(f,1);break}else if(B!==qe||C.width!==Ue.width||Dtne){if(!(T!==Ut||C.height!==Ue.height||dtS)){qe>B&&(Ue.width+=qe-B,Ue.x=B),dtT&&(Ue.height+=Ut-T,Ue.y=T),DtC&&(C=ne)),ne ")+` No matching component was found for: - `)+A.join(" > ")}return null},t.getPublicRootInstance=function(A){if(A=A.current,!A.child)return null;switch(A.child.tag){case 5:return ee(A.child.stateNode);default:return A.child.stateNode}},t.injectIntoDevTools=function(A){if(A={bundleType:A.bundleType,version:A.version,rendererPackageName:A.rendererPackageName,rendererConfig:A.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:vb,findFiberByHostInstance:A.findFiberByHostInstance||yb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")A=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)A=!0;else{try{fl=f.inject(A),Tr=f}catch{}A=!!f.checkDCE}}return A},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(A,f,C,B){if(!b)throw Error(o(363));A=Z0(A,f);var S=ze(A,C,B).disconnect;return{disconnect:function(){S()}}},t.registerMutableSourceForHydration=function(A,f){var C=f._getVersion;C=C(f._source),A.mutableSourceEagerHydrationData==null?A.mutableSourceEagerHydrationData=[f,C]:A.mutableSourceEagerHydrationData.push(f,C)},t.runWithPriority=function(A,f){var C=Kt;try{return Kt=A,f()}finally{Kt=C}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(A,f,C,B){var S=f.current,T=nr(),ie=ha(S);return C=_x(C),f.context===null?f.context=C:f.pendingContext=C,f=fo(T,ie),f.payload={element:A},B=B===void 0?null:B,B!==null&&(f.callback=B),ua(S,f),A=ss(S,ie,T),A!==null&&rd(A,S,ie),ie},t};lD.exports=FG;var OG=lD.exports;const GG=Th(OG),HG=n=>typeof n=="object"&&typeof n.then=="function",$l=[];function AD(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=$l.indexOf(r);s!==-1&&$l.splice(s,1)},promise:(HG(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($l.push(r),!t)throw r.promise}const hD=(n,e,t)=>fD(n,e,!1,t),zG=(n,e,t)=>void fD(n,e,!0,t),VG=n=>{if(n===void 0||n.length===0)$l.splice(0,$l.length);else{const e=$l.find(t=>AD(n,t.keys,t.equal));e&&e.remove()}},OI={},WG=n=>void Object.assign(OI,n);function YG(n,e){function t(u,{args:h=[],attach:d,...p},m){let I=`${u[0].toUpperCase()}${u.slice(1)}`,v;if(u==="primitive"){if(p.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=p.object;v=Cu(g,{type:u,root:m,attach:d,primitive:!0})}else{const g=OI[I];if(!g)throw new Error(`R3F: ${I} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(h))throw new Error("R3F: The args prop must be an array!");v=Cu(new g(...h),{type:u,root:m,attach:d,memoizedProps:{args:h}})}return v.__r3f.attach===void 0&&(v instanceof kt?v.__r3f.attach="geometry":v instanceof Si&&(v.__r3f.attach="material")),I!=="inject"&&xy(v,p),v}function i(u,h){let d=!1;if(h){var p,m;(p=h.__r3f)!=null&&p.attach?By(u,h,h.__r3f.attach):h.isObject3D&&u.isObject3D&&(u.add(h),d=!0),d||(m=u.__r3f)==null||m.objects.push(h),h.__r3f||Cu(h,{}),h.__r3f.parent=u,N1(h),Iu(h)}}function r(u,h,d){let p=!1;if(h){var m,I;if((m=h.__r3f)!=null&&m.attach)By(u,h,h.__r3f.attach);else if(h.isObject3D&&u.isObject3D){h.parent=u,h.dispatchEvent({type:"added"});const v=u.children.filter(y=>y!==h),g=v.indexOf(d);u.children=[...v.slice(0,g),h,...v.slice(g)],p=!0}p||(I=u.__r3f)==null||I.objects.push(h),h.__r3f||Cu(h,{}),h.__r3f.parent=u,N1(h),Iu(h)}}function s(u,h,d=!1){u&&[...u].forEach(p=>o(h,p,d))}function o(u,h,d){if(h){var p,m,I;if(h.__r3f&&(h.__r3f.parent=null),(p=u.__r3f)!=null&&p.objects&&(u.__r3f.objects=u.__r3f.objects.filter(x=>x!==h)),(m=h.__r3f)!=null&&m.attach)C_(u,h,h.__r3f.attach);else if(h.isObject3D&&u.isObject3D){var v;u.remove(h),(v=h.__r3f)!=null&&v.root&&e8(h.__r3f.root,h)}const y=(I=h.__r3f)==null?void 0:I.primitive,E=!y&&(d===void 0?h.dispose!==null:d);if(!y){var g;s((g=h.__r3f)==null?void 0:g.objects,h,E),s(h.children,h,E)}if(delete h.__r3f,E&&h.dispose&&h.type!=="Scene"){const x=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?P1.unstable_scheduleCallback(P1.unstable_IdlePriority,x):x()}Iu(u)}}function a(u,h,d,p){var m;const I=(m=u.__r3f)==null?void 0:m.parent;if(!I)return;const v=t(h,d,u.__r3f.root);if(u.children){for(const g of u.children)g.__r3f&&i(v,g);u.children=u.children.filter(g=>!g.__r3f)}u.__r3f.objects.forEach(g=>i(v,g)),u.__r3f.objects=[],u.__r3f.autoRemovedBeforeAppend||o(I,u),v.parent&&(v.__r3f.autoRemovedBeforeAppend=!0),i(I,v),v.raycast&&v.__r3f.eventCount&&v.__r3f.root.getState().internal.interaction.push(v),[p,p.alternate].forEach(g=>{g!==null&&(g.stateNode=v,g.ref&&(typeof g.ref=="function"?g.ref(v):g.ref.current=v))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:GG({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(u,h)=>{if(!h)return;const d=u.getState().scene;d.__r3f&&(d.__r3f.root=u,i(d,h))},removeChildFromContainer:(u,h)=>{h&&o(u.getState().scene,h)},insertInContainerBefore:(u,h,d)=>{if(!h||!d)return;const p=u.getState().scene;p.__r3f&&r(p,h,d)},getRootHostContext:()=>null,getChildHostContext:u=>u,finalizeInitialChildren(u){var h;return!!((h=u?.__r3f)!=null?h:{}).handlers},prepareUpdate(u,h,d,p){var m;if(((m=u?.__r3f)!=null?m:{}).primitive&&p.object&&p.object!==u)return[!0];{const{args:v=[],children:g,...y}=p,{args:E=[],children:x,...w}=d;if(!Array.isArray(v))throw new Error("R3F: the args prop must be an array!");if(v.some((R,D)=>R!==E[D]))return[!0];const _=ED(u,y,w,!0);return _.changes.length?[!1,_]:null}},commitUpdate(u,[h,d],p,m,I,v){h?a(u,p,I,v):xy(u,d)},commitMount(u,h,d,p){var m;const I=(m=u.__r3f)!=null?m:{};u.raycast&&I.handlers&&I.eventCount&&u.__r3f.root.getState().internal.interaction.push(u)},getPublicInstance:u=>u,prepareForCommit:()=>null,preparePortalMount:u=>Cu(u.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(u){var h;const{attach:d,parent:p}=(h=u.__r3f)!=null?h:{};d&&p&&C_(p,u,d),u.isObject3D&&(u.visible=!1),Iu(u)},unhideInstance(u,h){var d;const{attach:p,parent:m}=(d=u.__r3f)!=null?d:{};p&&m&&By(m,u,p),(u.isObject3D&&h.visible==null||h.visible)&&(u.visible=!0),Iu(u)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Fu.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&_n.fun(performance.now)?performance.now:_n.fun(Date.now)?Date.now:()=>0,scheduleTimeout:_n.fun(setTimeout)?setTimeout:void 0,cancelTimeout:_n.fun(clearTimeout)?clearTimeout:void 0}),applyProps:xy}}var m_,v_;const Iy=n=>"colorSpace"in n||"outputColorSpace"in n,dD=()=>{var n;return(n=OI.ColorManagement)!=null?n:null},pD=n=>n&&n.isOrthographicCamera,JG=n=>n&&n.hasOwnProperty("current"),Xh=typeof window<"u"&&((m_=window.document)!=null&&m_.createElement||((v_=window.navigator)==null?void 0:v_.product)==="ReactNative")?te.useLayoutEffect:te.useEffect;function gD(n){const e=te.useRef(n);return Xh(()=>void(e.current=n),[n]),e}function XG({set:n}){return Xh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class mD extends te.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}mD.getDerivedStateFromError=()=>({error:!0});const vD="__default",y_=new Map,KG=n=>n&&!!n.memoized&&!!n.changes;function yD(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 df=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},_n={obj:n=>n===Object(n)&&!_n.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(_n.str(n)||_n.num(n))return n===e;const s=_n.obj(n);if(s&&i==="reference")return n===e;const o=_n.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(!_n.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(_n.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 jG(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 qG(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Cu(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function U1(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 E_=/-\d+$/;function By(n,e,t){if(_n.str(t)){if(E_.test(t)){const s=t.replace(E_,""),{target:o,key:a}=U1(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=U1(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function C_(n,e,t){var i,r;if(_n.str(t)){const{target:s,key:o}=U1(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 ED(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},c=!1){var u;const h=(u=n?.__r3f)!=null?u:{},d=Object.entries(r),p=[];if(c){const I=Object.keys(l);for(let v=0;v{var g;if((g=n.__r3f)!=null&&g.primitive&&I==="object"||_n.equ(v,l[I]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(I))return p.push([I,v,!0,[]]);let y=[];I.includes("-")&&(y=I.split("-")),p.push([I,v,!1,y]);for(const E in r){const x=r[E];E.startsWith(`${I}-`)&&p.push([E,x,!1,E.split("-")])}});const m={...r};return h.memoizedProps&&h.memoizedProps.args&&(m.args=h.memoizedProps.args),h.memoizedProps&&h.memoizedProps.attach&&(m.attach=h.memoizedProps.attach),{memoized:m,changes:p}}const ZG=typeof process<"u"&&!1;function xy(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:c}=KG(e)?e:ED(n,e),u=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let d=0;dE[x],n),!(y&&y.set))){const[E,...x]=v.reverse();g=x.reverse().reduce((w,_)=>w[_],n),p=E}if(m===vD+"remove")if(g.constructor){let E=y_.get(g.constructor);E||(E=new g.constructor,y_.set(g.constructor,E)),m=E[p]}else m=0;if(I)m?s.handlers[p]=m:delete s.handlers[p],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof rc)){if(Array.isArray(m))y.fromArray?y.fromArray(m):y.set(...m);else if(y.copy&&m&&m.constructor&&(ZG?y.constructor.name===m.constructor.name:y.constructor===m.constructor))y.copy(m);else if(m!==void 0){const E=y instanceof st;!E&&y.setScalar?y.setScalar(m):y instanceof rc&&m instanceof rc?y.mask=m.mask:y.set(m),!dD()&&!a.linear&&E&&y.convertSRGBToLinear()}}else if(g[p]=m,g[p]instanceof Qn&&g[p].format===ar&&g[p].type===oo){const E=g[p];Iy(E)&&Iy(a.gl)?E.colorSpace=a.gl.outputColorSpace:E.encoding=a.gl.outputEncoding}Iu(n)}if(s.parent&&a.internal&&n.raycast&&u!==s.eventCount){const d=a.internal.interaction.indexOf(n);d>-1&&a.internal.interaction.splice(d,1),s.eventCount&&a.internal.interaction.push(n)}return!(c.length===1&&c[0][0]==="onUpdate")&&c.length&&(r=n.__r3f)!=null&&r.parent&&N1(n),n}function Iu(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 N1(n){n.onUpdate==null||n.onUpdate(n)}function CD(n,e){n.manual||(pD(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 jp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function $G(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Fu.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Fu.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Fu.ContinuousEventPriority;default:return Fu.DefaultEventPriority}}function ID(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function e8(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)=>{ID(t.capturedMap,e,i,r)})}function t8(n){function e(l){const{internal:c}=n.getState(),u=l.offsetX-c.initialClick[0],h=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(u*u+h*h))}function t(l){return l.filter(c=>["Move","Over","Enter","Out","Leave"].some(u=>{var h;return(h=c.__r3f)==null?void 0:h.handlers["onPointer"+u]}))}function i(l,c){const u=n.getState(),h=new Set,d=[],p=c?c(u.internal.interaction):u.internal.interaction;for(let g=0;g{const E=df(g.object),x=df(y.object);return!E||!x?g.distance-y.distance:x.events.priority-E.events.priority||g.distance-y.distance}).filter(g=>{const y=jp(g);return h.has(y)?!1:(h.add(y),!0)});u.events.filter&&(I=u.events.filter(I,u));for(const g of I){let y=g.object;for(;y;){var v;(v=y.__r3f)!=null&&v.eventCount&&d.push({...g,eventObject:y}),y=y.parent}}if("pointerId"in l&&u.internal.capturedMap.has(l.pointerId))for(let g of u.internal.capturedMap.get(l.pointerId).values())h.has(jp(g.intersection))||d.push(g.intersection);return d}function r(l,c,u,h){const d=n.getState();if(l.length){const p={stopped:!1};for(const m of l){const I=df(m.object)||d,{raycaster:v,pointer:g,camera:y,internal:E}=I,x=new K(g.x,g.y,0).unproject(y),w=Q=>{var P,z;return(P=(z=E.capturedMap.get(Q))==null?void 0:z.has(m.eventObject))!=null?P:!1},_=Q=>{const P={intersection:m,target:c.target};E.capturedMap.has(Q)?E.capturedMap.get(Q).set(m.eventObject,P):E.capturedMap.set(Q,new Map([[m.eventObject,P]])),c.target.setPointerCapture(Q)},R=Q=>{const P=E.capturedMap.get(Q);P&&ID(E.capturedMap,m.eventObject,P,Q)};let D={};for(let Q in c){let P=c[Q];typeof P!="function"&&(D[Q]=P)}let Y={...m,...D,pointer:g,intersections:l,stopped:p.stopped,delta:u,unprojectedPoint:x,ray:v.ray,camera:y,stopPropagation(){const Q="pointerId"in c&&E.capturedMap.get(c.pointerId);if((!Q||Q.has(m.eventObject))&&(Y.stopped=p.stopped=!0,E.hovered.size&&Array.from(E.hovered.values()).find(P=>P.eventObject===m.eventObject))){const P=l.slice(0,l.indexOf(m));s([...P,m])}},target:{hasPointerCapture:w,setPointerCapture:_,releasePointerCapture:R},currentTarget:{hasPointerCapture:w,setPointerCapture:_,releasePointerCapture:R},nativeEvent:c};if(h(Y),p.stopped===!0)break}}return l}function s(l){const{internal:c}=n.getState();for(const u of c.hovered.values())if(!l.length||!l.find(h=>h.object===u.object&&h.index===u.index&&h.instanceId===u.instanceId)){const d=u.eventObject.__r3f,p=d?.handlers;if(c.hovered.delete(jp(u)),d!=null&&d.eventCount){const m={...u,intersections:l};p.onPointerOut==null||p.onPointerOut(m),p.onPointerLeave==null||p.onPointerLeave(m)}}}function o(l,c){for(let u=0;us([]);case"onLostPointerCapture":return c=>{const{internal:u}=n.getState();"pointerId"in c&&u.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{u.capturedMap.has(c.pointerId)&&(u.capturedMap.delete(c.pointerId),s([]))})}}return function(u){const{onPointerMissed:h,internal:d}=n.getState();d.lastEvent.current=u;const p=l==="onPointerMove",m=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",v=i(u,p?t:void 0),g=m?e(u):0;l==="onPointerDown"&&(d.initialClick=[u.offsetX,u.offsetY],d.initialHits=v.map(E=>E.eventObject)),m&&!v.length&&g<=2&&(o(u,d.interaction),h&&h(u)),p&&s(v);function y(E){const x=E.eventObject,w=x.__r3f,_=w?.handlers;if(w!=null&&w.eventCount)if(p){if(_.onPointerOver||_.onPointerEnter||_.onPointerOut||_.onPointerLeave){const R=jp(E),D=d.hovered.get(R);D?D.stopped&&E.stopPropagation():(d.hovered.set(R,E),_.onPointerOver==null||_.onPointerOver(E),_.onPointerEnter==null||_.onPointerEnter(E))}_.onPointerMove==null||_.onPointerMove(E)}else{const R=_[l];R?(!m||d.initialHits.includes(x))&&(o(u,d.interaction.filter(D=>!d.initialHits.includes(D))),R(E)):m&&d.initialHits.includes(x)&&o(u,d.interaction.filter(D=>!d.initialHits.includes(D)))}}r(v,u,g,y)}}return{handlePointer:a}}const n8=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],BD=n=>!!(n!=null&&n.render),GI=te.createContext(null),i8=(n,e)=>{const t=aD((a,l)=>{const c=new K,u=new K,h=new K;function d(g=l().camera,y=u,E=l().size){const{width:x,height:w,top:_,left:R}=E,D=x/w;y instanceof K?h.copy(y):h.set(...y);const Y=g.getWorldPosition(c).distanceTo(h);if(pD(g))return{width:x/g.zoom,height:w/g.zoom,top:_,left:R,factor:1,distance:Y,aspect:D};{const Q=g.fov*Math.PI/180,P=2*Math.tan(Q/2)*Y,z=P*(x/w);return{width:z,height:P,top:_,left:R,factor:x/z,distance:Y,aspect:D}}}let p;const m=g=>a(y=>({performance:{...y.performance,current:g}})),I=new Te;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,y)=>e(g,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new PI,pointer:I,mouse:I,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=l();p&&clearTimeout(p),g.performance.current!==g.performance.min&&m(g.performance.min),p=setTimeout(()=>m(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:d},setEvents:g=>a(y=>({...y,events:{...y.events,...g}})),setSize:(g,y,E,x,w)=>{const _=l().camera,R={width:g,height:y,top:x||0,left:w||0,updateStyle:E};a(D=>({size:R,viewport:{...D.viewport,...d(_,u,R)}}))},setDpr:g=>a(y=>{const E=yD(g);return{viewport:{...y.viewport,dpr:E,initialDpr:y.viewport.initialDpr||E}}}),setFrameloop:(g="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,g!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:te.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,y,E)=>{const x=l().internal;return x.priority=x.priority+(y>0?1:0),x.subscribers.push({ref:g,priority:y,store:E}),x.subscribers=x.subscribers.sort((w,_)=>w.priority-_.priority),()=>{const w=l().internal;w!=null&&w.subscribers&&(w.priority=w.priority-(y>0?1:0),w.subscribers=w.subscribers.filter(_=>_.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:c,gl:u,set:h}=t.getState();if(l.width!==r.width||l.height!==r.height||c.dpr!==s){var d;r=l,s=c.dpr,CD(a,l),u.setPixelRatio(c.dpr);const p=(d=l.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&u.domElement instanceof HTMLCanvasElement;u.setSize(l.width,l.height,p)}a!==o&&(o=a,h(p=>({viewport:{...p.viewport,...p.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};function HI(n,e){const t={callback:n};return e.add(t),()=>void e.delete(t)}let qp,xD=new Set,SD=new Set,wD=new Set;const r8=n=>HI(n,xD),s8=n=>HI(n,SD),o8=n=>HI(n,wD);function Sy(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function pf(n,e){switch(n){case"before":return Sy(xD,e);case"after":return Sy(SD,e);case"tail":return Sy(wD,e)}}let wy,_y;function My(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),wy=e.internal.subscribers,qp=0;qp0)&&!((c=r.gl.xr)!=null&&c.isPresenting)&&(t+=My(l,r))}if(pf("after",l),t===0)return pf("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,c=1){var u;if(!l)return n.forEach(h=>o(h.store.getState()),c);(u=l.gl.xr)!=null&&u.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+c),e||(e=!0,requestAnimationFrame(s)))}function a(l,c=!0,u,h){if(c&&pf("before",l),u)My(l,u,h);else for(const d of n.values())My(l,d.store.getState());c&&pf("after",l)}return{loop:s,invalidate:o,advance:a}}function yA(){const n=te.useContext(GI);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function EA(n=t=>t,e){return yA()(n,e)}function o0(n,e=0){const t=yA(),i=t.getState().internal.subscribe,r=gD(n);return Xh(()=>i(r,e,t),[e,i,t]),null}const I_=new WeakMap;function _D(n,e){return function(t,...i){let r=I_.get(t);return r||(r=new t,I_.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,jG(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function zI(n,e,t,i){const r=Array.isArray(e)?e:[e],s=hD(_D(t,i),[n,...r],{equal:_n.equ});return Array.isArray(e)?s:s[0]}zI.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return zG(_D(t),[n,...i])};zI.clear=function(n,e){const t=Array.isArray(e)?e:[e];return VG([n,...t])};const sA=new Map,{invalidate:B_,advance:x_}=a8(sA),{reconciler:_h,applyProps:hu}=YG(sA,$G),du={objects:"shallow",strict:!1},l8=(n,e)=>{const t=typeof n=="function"?n(e):n;return BD(t)?t:new gI({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function c8(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 u8(n){const e=sA.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||i8(B_,x_),o=t||_h.createContainer(s,Fu.ConcurrentRoot,null,!1,null,"",r,null);e||sA.set(n,{fiber:o,store:s});let a,l=!1,c;return{configure(u={}){let{gl:h,size:d,scene:p,events:m,onCreated:I,shadows:v=!1,linear:g=!1,flat:y=!1,legacy:E=!1,orthographic:x=!1,frameloop:w="always",dpr:_=[1,2],performance:R,raycaster:D,camera:Y,onPointerMissed:Q}=u,P=s.getState(),z=P.gl;P.gl||P.set({gl:z=l8(h,n)});let ne=P.raycaster;ne||P.set({raycaster:ne=new FI});const{params:V,...ae}=D||{};if(_n.equ(ae,ne,du)||hu(ne,{...ae}),_n.equ(V,ne.params,du)||hu(ne,{params:{...ne.params,...V}}),!P.camera||P.camera===c&&!_n.equ(c,Y,du)){c=Y;const ce=Y instanceof Fh,Ee=ce?Y:x?new dA(0,0,0,0,.1,1e3):new ui(75,0,.1,1e3);ce||(Ee.position.z=5,Y&&hu(Ee,Y),!P.camera&&!(Y!=null&&Y.rotation)&&Ee.lookAt(0,0,0)),P.set({camera:Ee}),ne.camera=Ee}if(!P.scene){let ce;p instanceof vc?ce=p:(ce=new vc,p&&hu(ce,p)),P.set({scene:Cu(ce)})}if(!P.xr){var ee;const ce=(k,N)=>{const L=s.getState();L.frameloop!=="never"&&x_(k,!0,L,N)},Ee=()=>{const k=s.getState();k.gl.xr.enabled=k.gl.xr.isPresenting,k.gl.xr.setAnimationLoop(k.gl.xr.isPresenting?ce:null),k.gl.xr.isPresenting||B_(k)},G={connect(){const k=s.getState().gl;k.xr.addEventListener("sessionstart",Ee),k.xr.addEventListener("sessionend",Ee)},disconnect(){const k=s.getState().gl;k.xr.removeEventListener("sessionstart",Ee),k.xr.removeEventListener("sessionend",Ee)}};typeof((ee=z.xr)==null?void 0:ee.addEventListener)=="function"&&G.connect(),P.set({xr:G})}if(z.shadowMap){const ce=z.shadowMap.enabled,Ee=z.shadowMap.type;if(z.shadowMap.enabled=!!v,_n.boo(v))z.shadowMap.type=Pf;else if(_n.str(v)){var he;const G={basic:ZQ,percentage:Dm,soft:Pf,variance:Rs};z.shadowMap.type=(he=G[v])!=null?he:Pf}else _n.obj(v)&&Object.assign(z.shadowMap,v);(ce!==z.shadowMap.enabled||Ee!==z.shadowMap.type)&&(z.shadowMap.needsUpdate=!0)}const O=dD();O&&("enabled"in O?O.enabled=!E:"legacyMode"in O&&(O.legacyMode=E)),hu(z,{outputEncoding:g?3e3:3001,toneMapping:y?so:qC}),P.legacy!==E&&P.set(()=>({legacy:E})),P.linear!==g&&P.set(()=>({linear:g})),P.flat!==y&&P.set(()=>({flat:y})),h&&!_n.fun(h)&&!BD(h)&&!_n.equ(h,z,du)&&hu(z,h),m&&!P.events.handlers&&P.set({events:m(s)});const W=c8(n,d);return _n.equ(W,P.size,du)||P.setSize(W.width,W.height,W.updateStyle,W.top,W.left),_&&P.viewport.dpr!==yD(_)&&P.setDpr(_),P.frameloop!==w&&P.setFrameloop(w),P.onPointerMissed||P.set({onPointerMissed:Q}),R&&!_n.equ(R,P.performance,du)&&P.set(ce=>({performance:{...ce.performance,...R}})),a=I,l=!0,this},render(u){return l||this.configure(),_h.updateContainer(te.createElement(A8,{store:s,children:u,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){MD(n)}}}function A8({store:n,children:e,onCreated:t,rootElement:i}){return Xh(()=>{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)},[]),te.createElement(GI.Provider,{value:n},e)}function MD(n,e){const t=sA.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),_h.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(),qG(r),sA.delete(n),e&&e(n)}catch{}},500)})}}function QD(n,e,t){return te.createElement(f8,{key:e.uuid,children:n,container:e,state:t})}function f8({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=yA(),[a]=te.useState(()=>new FI),[l]=te.useState(()=>new Te),c=te.useCallback((h,d)=>{const p={...h};Object.keys(h).forEach(I=>{(n8.includes(I)||h[I]!==d[I]&&d[I])&&delete p[I]});let m;if(d&&r){const I=d.camera;m=h.viewport.getCurrentViewport(I,new K,r),I!==h.camera&&CD(I,r)}return{...p,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...d?.events,...i},size:{...h.size,...r},viewport:{...h.viewport,...m},...s}},[n]),[u]=te.useState(()=>{const h=o.getState();return aD((p,m)=>({...h,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...i},size:{...h.size,...r},...s,set:p,get:m,setEvents:I=>p(v=>({...v,events:{...v.events,...I}}))}))});return te.useEffect(()=>{const h=o.subscribe(d=>u.setState(p=>c(d,p)));return()=>{h(),u.destroy()}},[]),te.useEffect(()=>{u.setState(h=>c(o.getState(),h))},[c]),te.createElement(te.Fragment,null,_h.createPortal(te.createElement(GI.Provider,{value:u},e),u,null))}_h.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:te.version});function Mh(){return Mh=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-u):(i=null,t||(a=n.apply(s,r),s=r=null))}var c=function(){s=this,r=arguments,o=Date.now();var u=t&&!i;return i||(i=setTimeout(l,e)),u&&(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}k1.debounce=k1;var h8=k1;const S_=Th(h8);function d8(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]=te.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=te.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),c=e?typeof e=="number"?e:e.scroll:null,u=e?typeof e=="number"?e:e.resize:null,h=te.useRef(!1);te.useEffect(()=>(h.current=!0,()=>void(h.current=!1)));const[d,p,m]=te.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:E,top:x,width:w,height:_,bottom:R,right:D,x:Y,y:Q}=l.current.element.getBoundingClientRect(),P={left:E,top:x,width:w,height:_,bottom:R,right:D,x:Y,y:Q};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),h.current&&!v8(l.current.lastBounds,P)&&a(l.current.lastBounds=P)};return[y,u?S_(y,u):y,c?S_(y,c):y]},[a,r,c,u]);function I(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",m,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function v(){l.current.element&&(l.current.resizeObserver=new s(m),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",m,{capture:!0,passive:!0})))}const g=y=>{!y||y===l.current.element||(I(),l.current.element=y,l.current.scrollContainers=RD(y),v())};return g8(m,!!t),p8(p),te.useEffect(()=>{I(),v()},[t,m,p]),te.useEffect(()=>I,[]),[g,o,d]}function p8(n){te.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function g8(n,e){te.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function RD(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,...RD(n.parentElement)]}const m8=["x","y","top","bottom","left","right","width","height"],v8=(n,e)=>m8.every(t=>n[t]===e[t]);var y8=Object.defineProperty,E8=Object.defineProperties,C8=Object.getOwnPropertyDescriptors,w_=Object.getOwnPropertySymbols,I8=Object.prototype.hasOwnProperty,B8=Object.prototype.propertyIsEnumerable,__=(n,e,t)=>e in n?y8(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,M_=(n,e)=>{for(var t in e||(e={}))I8.call(e,t)&&__(n,t,e[t]);if(w_)for(var t of w_(e))B8.call(e,t)&&__(n,t,e[t]);return n},x8=(n,e)=>E8(n,C8(e));function TD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=TD(i,e,t);if(r)return r;i=e?null:i.sibling}}function DD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const VI=DD(te.createContext(null));class bD extends te.Component{render(){return te.createElement(VI.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:Q_,ReactCurrentDispatcher:R_}=te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S8(){const n=te.useContext(VI);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=te.useId();return te.useMemo(()=>{for(const i of[Q_?.current,n,n?.alternate]){if(!i)continue;const r=TD(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 w8(){var n,e;const t=S8(),[i]=te.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==VI&&!i.has(s)&&i.set(s,(e=R_?.current)==null?void 0:e.readContext(DD(s))),r=r.return}return i}function _8(){const n=w8();return te.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>te.createElement(e,null,te.createElement(t.Provider,x8(M_({},i),{value:n.get(t)}))),e=>te.createElement(bD,M_({},e))),[n])}const Qy={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 M8(n){const{handlePointer:e}=t8(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(Qy).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]=Qy[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]=Qy[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const Q8=te.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=M8,eventSource:a,eventPrefix:l,shadows:c,linear:u,flat:h,legacy:d,orthographic:p,frameloop:m,dpr:I,performance:v,raycaster:g,camera:y,scene:E,onPointerMissed:x,onCreated:w,..._},R){te.useMemo(()=>WG(UG),[]);const D=_8(),[Y,Q]=d8({scroll:!0,debounce:{scroll:50,resize:0},...i}),P=te.useRef(null),z=te.useRef(null);te.useImperativeHandle(R,()=>P.current);const ne=gD(x),[V,ae]=te.useState(!1),[ee,he]=te.useState(!1);if(V)throw V;if(ee)throw ee;const O=te.useRef(null);Xh(()=>{const Z=P.current;Q.width>0&&Q.height>0&&Z&&(O.current||(O.current=u8(Z)),O.current.configure({gl:s,events:o,shadows:c,linear:u,flat:h,legacy:d,orthographic:p,frameloop:m,dpr:I,performance:v,raycaster:g,camera:y,scene:E,size:Q,onPointerMissed:(...W)=>ne.current==null?void 0:ne.current(...W),onCreated:W=>{W.events.connect==null||W.events.connect(a?JG(a)?a.current:a:z.current),l&&W.setEvents({compute:(ce,Ee)=>{const G=ce[l+"X"],k=ce[l+"Y"];Ee.pointer.set(G/Ee.size.width*2-1,-(k/Ee.size.height)*2+1),Ee.raycaster.setFromCamera(Ee.pointer,Ee.camera)}}),w?.(W)}}),O.current.render(te.createElement(D,null,te.createElement(mD,{set:he},te.createElement(te.Suspense,{fallback:te.createElement(XG,{set:ae})},e)))))}),te.useEffect(()=>{const Z=P.current;if(Z)return()=>MD(Z)},[]);const J=a?"none":"auto";return te.createElement("div",Mh({ref:z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:J,...r}},_),te.createElement("div",{ref:Y,style:{width:"100%",height:"100%"}},te.createElement("canvas",{ref:P,style:{display:"block"}},t)))}),LD=te.forwardRef(function(e,t){return te.createElement(bD,null,te.createElement(Q8,Mh({},e,{ref:t})))}),R8=te.createContext(null);function PD(){return te.useContext(R8)}const UD=te.createContext(void 0);function rl(){const n=te.useContext(UD);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const CA=UD.Provider;function a0(){throw new Error("Cycle detected")}var T8=Symbol.for("preact-signals");function l0(){if(Ja>1)Ja--;else{for(var n,e=!1;Of!==void 0;){var t=Of;for(Of=void 0,F1++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&FD(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(F1=0,Ja--,e)throw n}}function ND(n){if(Ja>0)return n();Ja++;try{return n()}finally{l0()}}var wn=void 0,Ry=0;function D8(n){if(Ry>0)return n();var e=wn;wn=void 0,Ry++;try{return n()}finally{Ry--,wn=e}}var Of=void 0,Ja=0,F1=0,fm=0;function kD(n){if(wn!==void 0){var e=n.n;if(e===void 0||e.t!==wn)return e={i:0,S:n,p:wn.s,n:void 0,t:wn,e:void 0,x:void 0,r:e},wn.s!==void 0&&(wn.s.n=e),wn.s=e,n.n=e,32&wn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=wn.s,e.n=void 0,wn.s.n=e,wn.s=e),e}}function pi(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}pi.prototype.brand=T8;pi.prototype.h=function(){return!0};pi.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};pi.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};pi.prototype.subscribe=function(n){var e=this;return It(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};pi.prototype.valueOf=function(){return this.value};pi.prototype.toString=function(){return this.value+""};pi.prototype.toJSON=function(){return this.value};pi.prototype.peek=function(){return this.v};Object.defineProperty(pi.prototype,"value",{get:function(){var n=kD(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(wn instanceof sl&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){F1>100&&a0(),this.v=n,this.i++,fm++,Ja++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{l0()}}}});function ft(n){return new pi(n)}function FD(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function OD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function GD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function sl(n){pi.call(this,void 0),this.x=n,this.s=void 0,this.g=fm-1,this.f=4}(sl.prototype=new pi).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===fm))return!0;if(this.g=fm,this.f|=1,this.i>0&&!FD(this))return this.f&=-2,!0;var n=wn;try{OD(this),wn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return wn=n,GD(this),this.f&=-2,!0};sl.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}pi.prototype.S.call(this,n)};sl.prototype.U=function(n){if(this.t!==void 0&&(pi.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};sl.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};sl.prototype.peek=function(){if(this.h()||a0(),16&this.f)throw this.v;return this.v};Object.defineProperty(sl.prototype,"value",{get:function(){1&this.f&&a0();var n=kD(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Zt(n){return new sl(n)}function HD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){Ja++;var t=wn;wn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,WI(n),i}finally{wn=t,l0()}}}function WI(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,HD(n)}function b8(n){if(wn!==this)throw new Error("Out-of-order effect");GD(this),wn=n,this.f&=-2,8&this.f&&WI(this),l0()}function Kh(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Kh.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Kh.prototype.S=function(){1&this.f&&a0(),this.f|=1,this.f&=-9,HD(this),OD(this),Ja++;var n=wn;return wn=this,b8.bind(this,n)};Kh.prototype.N=function(){2&this.f||(this.f|=2,this.o=Of,Of=this)};Kh.prototype.d=function(){this.f|=8,1&this.f||WI(this)};function It(n){var e=new Kh(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var L8=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(F,H){i=F,r=H});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var c;t.wasmBinary&&(c=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&V("no native wasm support detected");var u,h=!1;function d(F,H,Ae){Ae=H+Ae;for(var ge="";!(H>=Ae);){var Ce=F[H++];if(!Ce)break;if(Ce&128){var Qe=F[H++]&63;if((Ce&224)==192)ge+=String.fromCharCode((Ce&31)<<6|Qe);else{var Oe=F[H++]&63;Ce=(Ce&240)==224?(Ce&15)<<12|Qe<<6|Oe:(Ce&7)<<18|Qe<<12|Oe<<6|F[H++]&63,65536>Ce?ge+=String.fromCharCode(Ce):(Ce-=65536,ge+=String.fromCharCode(55296|Ce>>10,56320|Ce&1023))}}else ge+=String.fromCharCode(Ce)}return ge}var p,m,I,v,g,y,E,x,w;function _(){var F=u.buffer;p=F,t.HEAP8=m=new Int8Array(F),t.HEAP16=v=new Int16Array(F),t.HEAP32=y=new Int32Array(F),t.HEAPU8=I=new Uint8Array(F),t.HEAPU16=g=new Uint16Array(F),t.HEAPU32=E=new Uint32Array(F),t.HEAPF32=x=new Float32Array(F),t.HEAPF64=w=new Float64Array(F)}var R,D=[],Y=[],Q=[];function P(){var F=t.preRun.shift();D.unshift(F)}var z=0,ne=null;function V(F){throw t.onAbort&&t.onAbort(F),F="Aborted("+F+")",l(F),h=!0,F=new WebAssembly.RuntimeError(F+". Build with -sASSERTIONS for more info."),r(F),F}function ae(F){return F.startsWith("data:application/octet-stream;base64,")}var ee;if(ee="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIAhBIGokACAJIAIgBkKAgICAgICAgIB/g4S/OQMAC5kYAxJ/AXwDfiMAQbAEayIMJAAgDEEANgIsAkAgAb0iGUIAUwRAQQEhEUGZCSETIAGaIgG9IRkMAQsgBEGAEHEEQEEBIRFBnAkhEwwBC0GfCUGaCSAEQQFxIhEbIRMgEUUhFQsCQCAZQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEUEDaiIDIARB//97cRArIAAgEyARECkgAEGZFUGgHSAFQSBxIgUbQfMZQaQdIAUbIAEgAWIbQQMQKSAAQSAgAiADIARBgMAAcxArIAMgAiACIANIGyEKDAELIAxBEGohEgJAAn8CQCABIAxBLGoQgAEiASABoCIBRAAAAAAAAAAAYgRAIAwgDCgCLCIGQQFrNgIsIAVBIHIiDkHhAEcNAQwDCyAFQSByIg5B4QBGDQIgDCgCLCEJQQYgAyADQQBIGwwBCyAMIAZBHWsiCTYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCyAMQTBqQaACQQAgCUEAThtqIg0hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsCQCAJQQBMBEAgCSEDIAchBiANIQgMAQsgDSEIIAkhAwNAQR0gAyADQR1OGyEDAkAgB0EEayIGIAhJDQAgA60hGkIAIRkDQCAGIBlC/////w+DIAY1AgAgGoZ8IhtCgJTr3AOAIhlCgOyUowx+IBt8PgIAIAZBBGsiBiAITw0ACyAZpyIGRQ0AIAhBBGsiCCAGNgIACwNAIAggByIGSQRAIAZBBGsiBygCAEUNAQsLIAwgDCgCLCADayIDNgIsIAYhByADQQBKDQALCyADQQBIBEAgC0EZakEJbkEBaiEPIA5B5gBGIRADQEEJQQAgA2siAyADQQlOGyEKAkAgBiAITQRAIAgoAgAhBwwBC0GAlOvcAyAKdiEUQX8gCnRBf3MhFkEAIQMgCCEHA0AgByADIAcoAgAiFyAKdmo2AgAgFiAXcSAUbCEDIAdBBGoiByAGSQ0ACyAIKAIAIQcgA0UNACAGIAM2AgAgBkEEaiEGCyAMIAwoAiwgCmoiAzYCLCANIAggB0VBAnRqIgggEBsiByAPQQJ0aiAGIAYgB2tBAnUgD0obIQYgA0EASA0ACwtBACEDAkAgBiAITQ0AIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyALIANBACAOQeYARxtrIA5B5wBGIAtBAEdxayIHIAYgDWtBAnVBCWxBCWtIBEBBBEGkAiAJQQBIGyAMaiAHQYDIAGoiCkEJbSIPQQJ0akHQH2shCUEKIQcgD0F3bCAKaiIKQQdMBEADQCAHQQpsIQcgCkEBaiIKQQhHDQALCwJAIAkoAgAiECAQIAduIg8gB2wiCkYgCUEEaiIUIAZGcQ0AIBAgCmshEAJAIA9BAXFFBEBEAAAAAAAAQEMhASAHQYCU69wDRyAIIAlPcg0BIAlBBGstAABBAXFFDQELRAEAAAAAAEBDIQELRAAAAAAAAOA/RAAAAAAAAPA/RAAAAAAAAPg/IAYgFEYbRAAAAAAAAPg/IBAgB0EBdiIURhsgECAUSRshGAJAIBUNACATLQAAQS1HDQAgGJohGCABmiEBCyAJIAo2AgAgASAYoCABYQ0AIAkgByAKaiIDNgIAIANBgJTr3ANPBEADQCAJQQA2AgAgCCAJQQRrIglLBEAgCEEEayIIQQA2AgALIAkgCSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyANIAhrQQJ1QQlsIQNBCiEHIAgoAgAiCkEKSQ0AA0AgA0EBaiEDIAogB0EKbCIHTw0ACwsgCUEEaiIHIAYgBiAHSxshBgsDQCAGIgcgCE0iCkUEQCAHQQRrIgYoAgBFDQELCwJAIA5B5wBHBEAgBEEIcSEJDAELIANBf3NBfyALQQEgCxsiBiADSiADQXtKcSIJGyAGaiELQX9BfiAJGyAFaiEFIARBCHEiCQ0AQXchBgJAIAoNACAHQQRrKAIAIg5FDQBBCiEKQQAhBiAOQQpwDQADQCAGIglBAWohBiAOIApBCmwiCnBFDQALIAlBf3MhBgsgByANa0ECdUEJbCEKIAVBX3FBxgBGBEBBACEJIAsgBiAKakEJayIGQQAgBkEAShsiBiAGIAtKGyELDAELQQAhCSALIAMgCmogBmpBCWsiBkEAIAZBAEobIgYgBiALShshCwtBfyEKIAtB/f///wdB/v///wcgCSALciIQG0oNASALIBBBAEdqQQFqIQ4CQCAFQV9xIhVBxgBGBEAgAyAOQf////8Hc0oNAyADQQAgA0EAShshBgwBCyASIAMgA0EfdSIGcyAGa60gEhBAIgZrQQFMBEADQCAGQQFrIgZBMDoAACASIAZrQQJIDQALCyAGQQJrIg8gBToAACAGQQFrQS1BKyADQQBIGzoAACASIA9rIgYgDkH/////B3NKDQILIAYgDmoiAyARQf////8Hc0oNASAAQSAgAiADIBFqIgUgBBArIAAgEyARECkgAEEwIAIgBSAEQYCABHMQKwJAAkACQCAVQcYARgRAIAxBEGoiBkEIciEDIAZBCXIhCSANIAggCCANSxsiCiEIA0AgCDUCACAJEEAhBgJAIAggCkcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAYgCUcNACAMQTA6ABggAyEGCyAAIAYgCSAGaxApIAhBBGoiCCANTQ0ACyAQBEAgAEHQI0EBECkLIAtBAEwgByAITXINAQNAIAg1AgAgCRBAIgYgDEEQaksEQANAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsLIAAgBkEJIAsgC0EJThsQKSALQQlrIQYgCEEEaiIIIAdPDQMgC0EJSiEDIAYhCyADDQALDAILAkAgC0EASA0AIAcgCEEEaiAHIAhLGyEKIAxBEGoiBkEIciEDIAZBCXIhDSAIIQcDQCANIAc1AgAgDRBAIgZGBEAgDEEwOgAYIAMhBgsCQCAHIAhHBEAgBiAMQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwwBCyAAIAZBARApIAZBAWohBiAJIAtyRQ0AIABB0CNBARApCyAAIAYgCyANIAZrIgYgBiALShsQKSALIAZrIQsgB0EEaiIHIApPDQEgC0EATg0ACwsgAEEwIAtBEmpBEkEAECsgACAPIBIgD2sQKQwCCyALIQYLIABBMCAGQQlqQQlBABArCyAAQSAgAiAFIARBgMAAcxArIAUgAiACIAVIGyEKDAELIBMgBUEadEEfdUEJcWohCwJAIANBC0sNAEEMIANrIQZEAAAAAAAAMEAhGANAIBhEAAAAAAAAMECiIRggBkEBayIGDQALIAstAABBLUYEQCAYIAGaIBihoJohAQwBCyABIBigIBihIQELIBFBAnIhCSAFQSBxIQggEiAMKAIsIgcgB0EfdSIGcyAGa60gEhBAIgZGBEAgDEEwOgAPIAxBD2ohBgsgBkECayINIAVBD2o6AAAgBkEBa0EtQSsgB0EASBs6AAAgBEEIcSEGIAxBEGohBwNAIAciBQJ/IAGZRAAAAAAAAOBBYwRAIAGqDAELQYCAgIB4CyIHQdAtai0AACAIcjoAACAGIANBAEpyRSABIAe3oUQAAAAAAAAwQKIiAUQAAAAAAAAAAGFxIAVBAWoiByAMQRBqa0EBR3JFBEAgBUEuOgABIAVBAmohBwsgAUQAAAAAAAAAAGINAAtBfyEKQf3///8HIAkgEiANayIFaiIGayADSA0AIABBICACIAYCfwJAIANFDQAgByAMQRBqayIIQQJrIANODQAgA0ECagwBCyAHIAxBEGprIggLIgdqIgMgBBArIAAgCyAJECkgAEEwIAIgAyAEQYCABHMQKyAAIAxBEGogCBApIABBMCAHIAhrQQBBABArIAAgDSAFECkgAEEgIAIgAyAEQYDAAHMQKyADIAIgAiADSBshCgsgDEGwBGokACAKC0YBAX8gACgCPCEDIwBBEGsiACQAIAMgAacgAUIgiKcgAkH/AXEgAEEIahAUEIIBIQIgACkDCCEBIABBEGokAEJ/IAEgAhsLvgIBB38jAEEgayIDJAAgAyAAKAIcIgQ2AhAgACgCFCEFIAMgAjYCHCADIAE2AhggAyAFIARrIgE2AhQgASACaiEFQQIhBiADQRBqIQECfwNAAkACQAJAIAAoAjwgASAGIANBDGoQGBCCAUUEQCAFIAMoAgwiB0YNASAHQQBODQIMAwsgBUF/Rw0CCyAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAwsgASAHIAEoAgQiCEsiCUEDdGoiBCAHIAhBACAJG2siCCAEKAIAajYCACABQQxBBCAJG2oiASABKAIAIAhrNgIAIAUgB2shBSAGIAlrIQYgBCEBDAELCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAZBAkYNABogAiABKAIEawshBCADQSBqJAAgBAsJACAAKAI8EBkLIwEBf0GEOigCACIABEADQCAAKAIAEQgAIAAoAgQiAA0ACwsLvgIBBX8jAEHgAGsiAiQAIAIgADYCACMAQRBrIgMkACADIAI2AgwjAEGQAWsiACQAIABB4C1BkAEQLCIAIAJBEGoiBSIBNgIsIAAgATYCFCAAQf////8HQX4gAWsiBCAEQf////8HTxsiBDYCMCAAIAEgBGoiATYCHCAAIAE2AhAgAEGgEyACQQBBABB/GiAEBEAgACgCFCIBIAEgACgCEEZrQQA6AAALIABBkAFqJAAgA0EQaiQAAkAgBSIAQQNxBEADQCAALQAARQ0CIABBAWoiAEEDcQ0ACwsDQCAAIgFBBGohACABKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAEiAEEBaiEBIAAtAAANAAsLIAAgBWtBAWoiABBWIgEEfyABIAUgABAsBUEACyEAIAJB4ABqJAAgAAvFAQICfwF8IwBBMGsiBiQAIAEoAgghBwJAQfA5LQAAQQFxBEBB7DkoAgAhAQwBC0EFQdAlEAwhAUHwOUEBOgAAQew5IAE2AgALIAYgBTYCKCAGIAQ4AiAgBiADNgIYIAYgAjgCEAJ/IAEgB0GpGiAGQQxqIAZBEGoQEiIIRAAAAAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!ae(ee)){var he=ee;ee=t.locateFile?t.locateFile(he,o):o+he}function O(){var F=ee;try{if(F==ee&&c)return new Uint8Array(c);if(ae(F))try{var H=cn(F.slice(37)),Ae=new Uint8Array(H.length);for(F=0;F=H?"_"+F:F}function ce(F,H){return F=W(F),function(){return H.apply(this,arguments)}}var Ee=[{},{value:void 0},{value:null},{value:!0},{value:!1}],G=[];function k(F){var H=Error,Ae=ce(F,function(ge){this.name=F,this.message=ge,ge=Error(ge).stack,ge!==void 0&&(this.stack=this.toString()+` -`+ge.replace(/^Error(:[^\n]*)?\n/,""))});return Ae.prototype=Object.create(H.prototype),Ae.prototype.constructor=Ae,Ae.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Ae}var N=void 0;function L(F){throw new N(F)}var oe=F=>(F||L("Cannot use deleted val. handle = "+F),Ee[F].value),de=F=>{switch(F){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var H=G.length?G.pop():Ee.length;return Ee[H]={ga:1,value:F},H}},fe=void 0,pe=void 0;function U(F){for(var H="";I[F];)H+=pe[I[F++]];return H}var me=[];function se(){for(;me.length;){var F=me.pop();F.M.$=!1,F.delete()}}var le=void 0,ue={};function we(F,H){for(H===void 0&&L("ptr should not be undefined");F.R;)H=F.ba(H),F=F.R;return H}var X={};function M(F){F=sn(F);var H=U(F);return gt(F),H}function b(F,H){var Ae=X[F];return Ae===void 0&&L(H+" has unknown type "+M(F)),Ae}function q(){}var Se=!1;function Be(F){--F.count.value,F.count.value===0&&(F.T?F.U.W(F.T):F.P.N.W(F.O))}function ye(F,H,Ae){return H===Ae?F:Ae.R===void 0?null:(F=ye(F,H,Ae.R),F===null?null:Ae.na(F))}var Le={};function Fe(F,H){return H=we(F,H),ue[H]}var ze=void 0;function Ne(F){throw new ze(F)}function je(F,H){return H.P&&H.O||Ne("makeClassHandle requires ptr and ptrType"),!!H.U!=!!H.T&&Ne("Both smartPtrType and smartPtr must be specified"),H.count={value:1},De(Object.create(F,{M:{value:H}}))}function De(F){return typeof FinalizationRegistry>"u"?(De=H=>H,F):(Se=new FinalizationRegistry(H=>{Be(H.M)}),De=H=>{var Ae=H.M;return Ae.T&&Se.register(H,{M:Ae},H),H},q=H=>{Se.unregister(H)},De(F))}var yt={};function Ze(F){for(;F.length;){var H=F.pop();F.pop()(H)}}function it(F){return this.fromWireType(y[F>>2])}var Ye={},ke={};function et(F,H,Ae){function ge(He){He=Ae(He),He.length!==F.length&&Ne("Mismatched type converter count");for(var We=0;We{X.hasOwnProperty(He)?Ce[We]=X[He]:(Qe.push(He),Ye.hasOwnProperty(He)||(Ye[He]=[]),Ye[He].push(()=>{Ce[We]=X[He],++Oe,Oe===Qe.length&&ge(Ce)}))}),Qe.length===0&&ge(Ce)}function mt(F){switch(F){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+F)}}function Bt(F,H,Ae={}){if(!("argPackAdvance"in H))throw new TypeError("registerType registeredInstance requires argPackAdvance");var ge=H.name;if(F||L('type "'+ge+'" must have a positive integer typeid pointer'),X.hasOwnProperty(F)){if(Ae.ua)return;L("Cannot register type '"+ge+"' twice")}X[F]=H,delete ke[F],Ye.hasOwnProperty(F)&&(H=Ye[F],delete Ye[F],H.forEach(Ce=>Ce()))}function tt(F){L(F.M.P.N.name+" instance already deleted")}function Et(){}function re(F,H,Ae){if(F[H].S===void 0){var ge=F[H];F[H]=function(){return F[H].S.hasOwnProperty(arguments.length)||L("Function '"+Ae+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+F[H].S+")!"),F[H].S[arguments.length].apply(this,arguments)},F[H].S=[],F[H].S[ge.Z]=ge}}function Je(F,H){t.hasOwnProperty(F)?(L("Cannot register public name '"+F+"' twice"),re(t,F,F),t.hasOwnProperty(void 0)&&L("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[F].S[void 0]=H):t[F]=H}function Xe(F,H,Ae,ge,Ce,Qe,Oe,He){this.name=F,this.constructor=H,this.X=Ae,this.W=ge,this.R=Ce,this.pa=Qe,this.ba=Oe,this.na=He,this.ja=[]}function ot(F,H,Ae){for(;H!==Ae;)H.ba||L("Expected null or instance of "+Ae.name+", got an instance of "+H.name),F=H.ba(F),H=H.R;return F}function ut(F,H){return H===null?(this.ea&&L("null is not a valid "+this.name),0):(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),ot(H.M.O,H.M.P.N,this.N))}function Lt(F,H){if(H===null){if(this.ea&&L("null is not a valid "+this.name),this.da){var Ae=this.fa();return F!==null&&F.push(this.W,Ae),Ae}return 0}if(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&H.M.P.ca&&L("Cannot convert argument of type "+(H.M.U?H.M.U.name:H.M.P.name)+" to parameter type "+this.name),Ae=ot(H.M.O,H.M.P.N,this.N),this.da)switch(H.M.T===void 0&&L("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:H.M.U===this?Ae=H.M.T:L("Cannot convert argument of type "+(H.M.U?H.M.U.name:H.M.P.name)+" to parameter type "+this.name);break;case 1:Ae=H.M.T;break;case 2:if(H.M.U===this)Ae=H.M.T;else{var ge=H.clone();Ae=this.xa(Ae,de(function(){ge.delete()})),F!==null&&F.push(this.W,Ae)}break;default:L("Unsupporting sharing policy")}return Ae}function Qt(F,H){return H===null?(this.ea&&L("null is not a valid "+this.name),0):(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),H.M.P.ca&&L("Cannot convert argument of type "+H.M.P.name+" to parameter type "+this.name),ot(H.M.O,H.M.P.N,this.N))}function $t(F,H,Ae,ge){this.name=F,this.N=H,this.ea=Ae,this.ca=ge,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,H.R!==void 0?this.toWireType=Lt:(this.toWireType=ge?ut:Qt,this.V=null)}function Wt(F,H){t.hasOwnProperty(F)||Ne("Replacing nonexistant public symbol"),t[F]=H,t[F].Z=void 0}function Rt(F,H){var Ae=[];return function(){if(Ae.length=0,Object.assign(Ae,arguments),F.includes("j")){var ge=t["dynCall_"+F];ge=Ae&&Ae.length?ge.apply(null,[H].concat(Ae)):ge.call(null,H)}else ge=R.get(H).apply(null,Ae);return ge}}function Gt(F,H){F=U(F);var Ae=F.includes("j")?Rt(F,H):R.get(H);return typeof Ae!="function"&&L("unknown function pointer with signature "+F+": "+H),Ae}var An=void 0;function Xt(F,H){function Ae(Qe){Ce[Qe]||X[Qe]||(ke[Qe]?ke[Qe].forEach(Ae):(ge.push(Qe),Ce[Qe]=!0))}var ge=[],Ce={};throw H.forEach(Ae),new An(F+": "+ge.map(M).join([", "]))}function vn(F,H,Ae,ge,Ce){var Qe=H.length;2>Qe&&L("argTypes array size mismatch! Must at least get return value and 'this' types!");var Oe=H[1]!==null&&Ae!==null,He=!1;for(Ae=1;Ae>2]);return Ae}function fn(F){4>2])};case 3:return function(Ae){return this.fromWireType(w[Ae>>3])};default:throw new TypeError("Unknown float type: "+F)}}function ji(F,H,Ae){switch(H){case 0:return Ae?function(ge){return m[ge]}:function(ge){return I[ge]};case 1:return Ae?function(ge){return v[ge>>1]}:function(ge){return g[ge>>1]};case 2:return Ae?function(ge){return y[ge>>2]}:function(ge){return E[ge>>2]};default:throw new TypeError("Unknown integer type: "+F)}}function wi(F,H){for(var Ae="",ge=0;!(ge>=H/2);++ge){var Ce=v[F+2*ge>>1];if(Ce==0)break;Ae+=String.fromCharCode(Ce)}return Ae}function Qr(F,H,Ae){if(Ae===void 0&&(Ae=2147483647),2>Ae)return 0;Ae-=2;var ge=H;Ae=Ae<2*F.length?Ae/2:F.length;for(var Ce=0;Ce>1]=F.charCodeAt(Ce),H+=2;return v[H>>1]=0,H-ge}function ul(F){return 2*F.length}function j(F,H){for(var Ae=0,ge="";!(Ae>=H/4);){var Ce=y[F+4*Ae>>2];if(Ce==0)break;++Ae,65536<=Ce?(Ce-=65536,ge+=String.fromCharCode(55296|Ce>>10,56320|Ce&1023)):ge+=String.fromCharCode(Ce)}return ge}function xe(F,H,Ae){if(Ae===void 0&&(Ae=2147483647),4>Ae)return 0;var ge=H;Ae=ge+Ae-4;for(var Ce=0;Ce=Qe){var Oe=F.charCodeAt(++Ce);Qe=65536+((Qe&1023)<<10)|Oe&1023}if(y[H>>2]=Qe,H+=4,H+4>Ae)break}return y[H>>2]=0,H-ge}function Re(F){for(var H=0,Ae=0;Ae=ge&&++Ae,H+=4}return H}var be={};function Me(F){var H=be[F];return H===void 0?U(F):H}var rt=[];function vt(F){var H=rt.length;return rt.push(F),H}function Mt(F,H){for(var Ae=Array(F),ge=0;ge>2],"parameter "+ge);return Ae}var Ge=[],Tt=[null,[],[]];N=t.BindingError=k("BindingError"),t.count_emval_handles=function(){for(var F=0,H=5;HSt;++St)bt[St]=String.fromCharCode(St);pe=bt,t.getInheritedInstanceCount=function(){return Object.keys(ue).length},t.getLiveInheritedInstances=function(){var F=[],H;for(H in ue)ue.hasOwnProperty(H)&&F.push(ue[H]);return F},t.flushPendingDeletes=se,t.setDelayFunction=function(F){le=F,me.length&&le&&le(se)},ze=t.InternalError=k("InternalError"),Et.prototype.isAliasOf=function(F){if(!(this instanceof Et&&F instanceof Et))return!1;var H=this.M.P.N,Ae=this.M.O,ge=F.M.P.N;for(F=F.M.O;H.R;)Ae=H.ba(Ae),H=H.R;for(;ge.R;)F=ge.ba(F),ge=ge.R;return H===ge&&Ae===F},Et.prototype.clone=function(){if(this.M.O||tt(this),this.M.aa)return this.M.count.value+=1,this;var F=De,H=Object,Ae=H.create,ge=Object.getPrototypeOf(this),Ce=this.M;return F=F(Ae.call(H,ge,{M:{value:{count:Ce.count,$:Ce.$,aa:Ce.aa,O:Ce.O,P:Ce.P,T:Ce.T,U:Ce.U}}})),F.M.count.value+=1,F.M.$=!1,F},Et.prototype.delete=function(){this.M.O||tt(this),this.M.$&&!this.M.aa&&L("Object already scheduled for deletion"),q(this),Be(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Et.prototype.isDeleted=function(){return!this.M.O},Et.prototype.deleteLater=function(){return this.M.O||tt(this),this.M.$&&!this.M.aa&&L("Object already scheduled for deletion"),me.push(this),me.length===1&&le&&le(se),this.M.$=!0,this},$t.prototype.qa=function(F){return this.ka&&(F=this.ka(F)),F},$t.prototype.ha=function(F){this.W&&this.W(F)},$t.prototype.argPackAdvance=8,$t.prototype.readValueFromPointer=it,$t.prototype.deleteObject=function(F){F!==null&&F.delete()},$t.prototype.fromWireType=function(F){function H(){return this.da?je(this.N.X,{P:this.wa,O:Ae,U:this,T:F}):je(this.N.X,{P:this,O:F})}var Ae=this.qa(F);if(!Ae)return this.ha(F),null;var ge=Fe(this.N,Ae);if(ge!==void 0)return ge.M.count.value===0?(ge.M.O=Ae,ge.M.T=F,ge.clone()):(ge=ge.clone(),this.ha(F),ge);if(ge=this.N.pa(Ae),ge=Le[ge],!ge)return H.call(this);ge=this.ca?ge.la:ge.pointerType;var Ce=ye(Ae,this.N,ge.N);return Ce===null?H.call(this):this.da?je(ge.N.X,{P:ge,O:Ce,U:this,T:F}):je(ge.N.X,{P:ge,O:Ce})},An=t.UnboundTypeError=k("UnboundTypeError");var cn=typeof atob=="function"?atob:function(F){var H="",Ae=0;F=F.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++));ge=ge<<2|Ce>>4,Ce=(Ce&15)<<4|Qe>>2;var He=(Qe&3)<<6|Oe;H+=String.fromCharCode(ge),Qe!==64&&(H+=String.fromCharCode(Ce)),Oe!==64&&(H+=String.fromCharCode(He))}while(AeOe.ta).concat(Ce.map(Oe=>Oe.za));et([F],Qe,Oe=>{var He={};return Ce.forEach((We,Ve)=>{var $e=Oe[Ve],Ct=We.ra,Ht=We.sa,xn=Oe[Ve+Ce.length],Yt=We.ya,bn=We.Aa;He[We.oa]={read:Xn=>$e.fromWireType(Ct(Ht,Xn)),write:(Xn,Rr)=>{var gr=[];Yt(bn,Xn,xn.toWireType(gr,Rr)),Ze(gr)}}}),[{name:H.name,fromWireType:function(We){var Ve={},$e;for($e in He)Ve[$e]=He[$e].read(We);return ge(We),Ve},toWireType:function(We,Ve){for(var $e in He)if(!($e in Ve))throw new TypeError('Missing field: "'+$e+'"');var Ct=Ae();for($e in He)He[$e].write(Ct,Ve[$e]);return We!==null&&We.push(ge,Ct),Ct},argPackAdvance:8,readValueFromPointer:it,V:ge}]})},v:function(){},B:function(F,H,Ae,ge,Ce){var Qe=mt(Ae);H=U(H),Bt(F,{name:H,fromWireType:function(Oe){return!!Oe},toWireType:function(Oe,He){return He?ge:Ce},argPackAdvance:8,readValueFromPointer:function(Oe){if(Ae===1)var He=m;else if(Ae===2)He=v;else if(Ae===4)He=y;else throw new TypeError("Unknown boolean type size: "+H);return this.fromWireType(He[Oe>>Qe])},V:null})},f:function(F,H,Ae,ge,Ce,Qe,Oe,He,We,Ve,$e,Ct,Ht){$e=U($e),Qe=Gt(Ce,Qe),He&&(He=Gt(Oe,He)),Ve&&(Ve=Gt(We,Ve)),Ht=Gt(Ct,Ht);var xn=W($e);Je(xn,function(){Xt("Cannot construct "+$e+" due to unbound types",[ge])}),et([F,H,Ae],ge?[ge]:[],function(Yt){if(Yt=Yt[0],ge)var bn=Yt.N,Xn=bn.X;else Xn=Et.prototype;Yt=ce(xn,function(){if(Object.getPrototypeOf(this)!==Rr)throw new N("Use 'new' to construct "+$e);if(gr.Y===void 0)throw new N($e+" has no accessible constructor");var $r=gr.Y[arguments.length];if($r===void 0)throw new N("Tried to invoke ctor of "+$e+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(gr.Y).toString()+") parameters instead!");return $r.apply(this,arguments)});var Rr=Object.create(Xn,{constructor:{value:Yt}});Yt.prototype=Rr;var gr=new Xe($e,Yt,Rr,Ht,bn,Qe,He,Ve);bn=new $t($e,gr,!0,!1),Xn=new $t($e+"*",gr,!1,!1);var oa=new $t($e+" const*",gr,!1,!0);return Le[F]={pointerType:Xn,la:oa},Wt(xn,Yt),[bn,Xn,oa]})},d:function(F,H,Ae,ge,Ce,Qe,Oe){var He=Dn(Ae,ge);H=U(H),Qe=Gt(Ce,Qe),et([],[F],function(We){function Ve(){Xt("Cannot call "+$e+" due to unbound types",He)}We=We[0];var $e=We.name+"."+H;H.startsWith("@@")&&(H=Symbol[H.substring(2)]);var Ct=We.N.constructor;return Ct[H]===void 0?(Ve.Z=Ae-1,Ct[H]=Ve):(re(Ct,H,$e),Ct[H].S[Ae-1]=Ve),et([],He,function(Ht){return Ht=vn($e,[Ht[0],null].concat(Ht.slice(1)),null,Qe,Oe),Ct[H].S===void 0?(Ht.Z=Ae-1,Ct[H]=Ht):Ct[H].S[Ae-1]=Ht,[]}),[]})},p:function(F,H,Ae,ge,Ce,Qe){0{Xt("Cannot construct "+He.name+" due to unbound types",Oe)},et([],Oe,function(Ve){return Ve.splice(1,0,null),He.N.Y[H-1]=vn(We,Ve,null,Ce,Qe),[]}),[]})},a:function(F,H,Ae,ge,Ce,Qe,Oe,He){var We=Dn(Ae,ge);H=U(H),Qe=Gt(Ce,Qe),et([],[F],function(Ve){function $e(){Xt("Cannot call "+Ct+" due to unbound types",We)}Ve=Ve[0];var Ct=Ve.name+"."+H;H.startsWith("@@")&&(H=Symbol[H.substring(2)]),He&&Ve.N.ja.push(H);var Ht=Ve.N.X,xn=Ht[H];return xn===void 0||xn.S===void 0&&xn.className!==Ve.name&&xn.Z===Ae-2?($e.Z=Ae-2,$e.className=Ve.name,Ht[H]=$e):(re(Ht,H,Ct),Ht[H].S[Ae-2]=$e),et([],We,function(Yt){return Yt=vn(Ct,Yt,Ve,Qe,Oe),Ht[H].S===void 0?(Yt.Z=Ae-2,Ht[H]=Yt):Ht[H].S[Ae-2]=Yt,[]}),[]})},A:function(F,H){H=U(H),Bt(F,{name:H,fromWireType:function(Ae){var ge=oe(Ae);return fn(Ae),ge},toWireType:function(Ae,ge){return de(ge)},argPackAdvance:8,readValueFromPointer:it,V:null})},n:function(F,H,Ae){Ae=mt(Ae),H=U(H),Bt(F,{name:H,fromWireType:function(ge){return ge},toWireType:function(ge,Ce){return Ce},argPackAdvance:8,readValueFromPointer:Gn(H,Ae),V:null})},e:function(F,H,Ae,ge,Ce){H=U(H),Ce===-1&&(Ce=4294967295),Ce=mt(Ae);var Qe=He=>He;if(ge===0){var Oe=32-8*Ae;Qe=He=>He<>>Oe}Ae=H.includes("unsigned")?function(He,We){return We>>>0}:function(He,We){return We},Bt(F,{name:H,fromWireType:Qe,toWireType:Ae,argPackAdvance:8,readValueFromPointer:ji(H,Ce,ge!==0),V:null})},b:function(F,H,Ae){function ge(Qe){Qe>>=2;var Oe=E;return new Ce(p,Oe[Qe+1],Oe[Qe])}var Ce=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][H];Ae=U(Ae),Bt(F,{name:Ae,fromWireType:ge,argPackAdvance:8,readValueFromPointer:ge},{ua:!0})},o:function(F,H){H=U(H);var Ae=H==="std::string";Bt(F,{name:H,fromWireType:function(ge){var Ce=E[ge>>2],Qe=ge+4;if(Ae)for(var Oe=Qe,He=0;He<=Ce;++He){var We=Qe+He;if(He==Ce||I[We]==0){if(Oe=Oe?d(I,Oe,We-Oe):"",Ve===void 0)var Ve=Oe;else Ve+="\0",Ve+=Oe;Oe=We+1}}else{for(Ve=Array(Ce),He=0;He=We?He++:2047>=We?He+=2:55296<=We&&57343>=We?(He+=4,++Qe):He+=3}Qe=He}else Qe=Ce.length;if(He=yn(4+Qe+1),We=He+4,E[He>>2]=Qe,Ae&&Oe){if(Oe=We,We=Qe+1,Qe=I,0=$e){var Ct=Ce.charCodeAt(++Ve);$e=65536+(($e&1023)<<10)|Ct&1023}if(127>=$e){if(Oe>=We)break;Qe[Oe++]=$e}else{if(2047>=$e){if(Oe+1>=We)break;Qe[Oe++]=192|$e>>6}else{if(65535>=$e){if(Oe+2>=We)break;Qe[Oe++]=224|$e>>12}else{if(Oe+3>=We)break;Qe[Oe++]=240|$e>>18,Qe[Oe++]=128|$e>>12&63}Qe[Oe++]=128|$e>>6&63}Qe[Oe++]=128|$e&63}}Qe[Oe]=0}}else if(Oe)for(Oe=0;Oeg,He=1;else H===4&&(ge=j,Ce=xe,Qe=Re,Oe=()=>E,He=2);Bt(F,{name:Ae,fromWireType:function(We){for(var Ve=E[We>>2],$e=Oe(),Ct,Ht=We+4,xn=0;xn<=Ve;++xn){var Yt=We+4+xn*H;(xn==Ve||$e[Yt>>He]==0)&&(Ht=ge(Ht,Yt-Ht),Ct===void 0?Ct=Ht:(Ct+="\0",Ct+=Ht),Ht=Yt+H)}return gt(We),Ct},toWireType:function(We,Ve){typeof Ve!="string"&&L("Cannot pass non-string to C++ string type "+Ae);var $e=Qe(Ve),Ct=yn(4+$e+H);return E[Ct>>2]=$e>>He,Ce(Ve,Ct+4,$e+H),We!==null&&We.push(gt,Ct),Ct},argPackAdvance:8,readValueFromPointer:it,V:function(We){gt(We)}})},k:function(F,H,Ae,ge,Ce,Qe){yt[F]={name:U(H),fa:Gt(Ae,ge),W:Gt(Ce,Qe),ia:[]}},h:function(F,H,Ae,ge,Ce,Qe,Oe,He,We,Ve){yt[F].ia.push({oa:U(H),ta:Ae,ra:Gt(ge,Ce),sa:Qe,za:Oe,ya:Gt(He,We),Aa:Ve})},C:function(F,H){H=U(H),Bt(F,{va:!0,name:H,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(F,H,Ae,ge,Ce){F=rt[F],H=oe(H),Ae=Me(Ae);var Qe=[];return E[ge>>2]=de(Qe),F(H,Ae,Qe,Ce)},t:function(F,H,Ae,ge){F=rt[F],H=oe(H),Ae=Me(Ae),F(H,Ae,null,ge)},g:fn,m:function(F,H){var Ae=Mt(F,H),ge=Ae[0];H=ge.name+"_$"+Ae.slice(1).map(function(Oe){return Oe.name}).join("_")+"$";var Ce=Ge[H];if(Ce!==void 0)return Ce;var Qe=Array(F-1);return Ce=vt((Oe,He,We,Ve)=>{for(var $e=0,Ct=0;Ct>>=0,2147483648=Ae;Ae*=2){var ge=H*(1+.2/Ae);ge=Math.min(ge,F+100663296);var Ce=Math;ge=Math.max(F,ge),Ce=Ce.min.call(Ce,2147483648,ge+(65536-ge%65536)%65536);e:{try{u.grow(Ce-p.byteLength+65535>>>16),_();var Qe=1;break e}catch{}Qe=void 0}if(Qe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(F,H,Ae,ge){for(var Ce=0,Qe=0;Qe>2],He=E[H+4>>2];H+=8;for(var We=0;We>2]=Ce,0}};(function(){function F(Ce){t.asm=Ce.exports,u=t.asm.E,_(),R=t.asm.J,Y.unshift(t.asm.F),z--,t.monitorRunDependencies&&t.monitorRunDependencies(z),z==0&&ne&&(Ce=ne,ne=null,Ce())}function H(Ce){F(Ce.instance)}function Ae(Ce){return J().then(function(Qe){return WebAssembly.instantiate(Qe,ge)}).then(function(Qe){return Qe}).then(Ce,function(Qe){l("failed to asynchronously prepare wasm: "+Qe),V(Qe)})}var ge={a:Hn};if(z++,t.monitorRunDependencies&&t.monitorRunDependencies(z),t.instantiateWasm)try{return t.instantiateWasm(ge,F)}catch(Ce){l("Module.instantiateWasm callback failed with error: "+Ce),r(Ce)}return function(){return c||typeof WebAssembly.instantiateStreaming!="function"||ae(ee)||typeof fetch!="function"?Ae(H):fetch(ee,{credentials:"same-origin"}).then(function(Ce){return WebAssembly.instantiateStreaming(Ce,ge).then(H,function(Qe){return l("wasm streaming compile failed: "+Qe),l("falling back to ArrayBuffer instantiation"),Ae(H)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var sn=t.___getTypeName=function(){return(sn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var yn=t._malloc=function(){return(yn=t._malloc=t.asm.I).apply(null,arguments)},gt=t._free=function(){return(gt=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var lt;ne=function F(){lt||ni(),lt||(ne=F)};function ni(){function F(){if(!lt&&(lt=!0,t.calledRun=!0,!h)){if(Z(Y),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var H=t.postRun.shift();Q.unshift(H)}Z(Q)}}if(!(01?a-1:0),c=1;cs?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Tg.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...U8}}const zD=N8(await L8());function So(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const k8={static:0,relative:1,absolute:2},Ly={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},F8={column:0,"column-reverse":1,row:2,"row-reverse":3},O8={"no-wrap":0,wrap:1,"wrap-reverse":2},G8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},H8={visible:0,hidden:1,scroll:2},z8={flex:0,none:1},VD={positionType:(n,e)=>n.setPositionType(So(k8,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(So(Ly,e,4)),alignItems:(n,e)=>n.setAlignItems(So(Ly,e,4)),alignSelf:(n,e)=>n.setAlignSelf(So(Ly,e,0)),flexDirection:(n,e)=>n.setFlexDirection(So(F8,e,2)),flexWrap:(n,e)=>n.setFlexWrap(So(O8,e,0)),justifyContent:(n,e)=>n.setJustifyContent(So(G8,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(So(H8,e,0)),display:(n,e)=>n.setDisplay(So(z8,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function YI(n,e,t,i,r){let s=!1,o,a={};r.push(It(()=>{const l=n.value;s&&L_(t,l,o,a,i),o=l}),It(()=>{if(s=e.value,!!s&&o!=null)return L_(t,o,void 0,a,i),()=>{V8(a),a={}}}))}function L_(n,e,t,i,r){const s=l=>i[l]=It(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};D8(()=>e.filterCompare(n,t,s,a,o))}function V8(n){for(const e in n)n[e]()}const xf=100,JI=zD.Config.create();JI.setUseWebDefaults(!0);JI.setPointScaleFactor(xf);function W8(n){return n==="measureFunc"?!0:n in VD}function Wo(n){const e=ft([!1,!1]);return{size:ft(void 0),relativeCenter:ft(void 0),borderInset:ft(void 0),overflow:ft(oc.Visible),scrollable:e,paddingInset:ft(void 0),maxScrollPosition:ft([void 0,void 0]),anyAncestorScrollable:Zt(()=>{const[t,i]=n?.value??[!1,!1],[r,s]=e.value;return[t||r,i||s]})}}class WD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=ft(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=zD.Node.create(JI),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),YI(t,this.active,W8,(o,a)=>{VD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*xf+1)/xf,height:Math.ceil(a.height*xf+1)/xf}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),ND(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,c=a.object.current;if(l==null||c==null)return 0;const u=e.indexOf(l);if(u===-1)throw new Error("parent mismatch");const h=e.indexOf(c);if(h===-1)throw new Error("parent mismatch");return u-h});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&Y8(i,U_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=U_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,Q=D>.5;vu(this.state.maxScrollPosition,Y?R:void 0,Q?D:void 0),vu(this.state.scrollable,Y,Q)}else vu(this.state.maxScrollPosition,void 0,void 0),vu(this.state.scrollable,!1,!1);const x=this.state.overflow.value===oc.Visible;return[s+Math.max(i,x?y:0),o+Math.max(r,x?E:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function vu(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function P_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function U_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function Y8(n,e){return n.M.O===e.M.O}function c0(n,e,t,i){t!=null&&(Py(t.classes,i),i(t)),e!=null&&(Py(e.classes,i),i(e)),n!=null&&(Py(n.classes,i),i(n))}function Py(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class tH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=eH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof pi?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);N_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:N_(i,r)}addAll(e,t,i,r){c0(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function N_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let c,u;return s==null?(c=0,u=0):e>s.elementType?(c=s.majorIndex,u=0):e!=s.elementType||!rH(Cs(t),Cs(s.instancedGroupDependencies))?(c=s.majorIndex+1,u=0):(c=s.majorIndex,u=s.minorIndex+1),a>0&&(c+=a,u=0),u+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:c,minorIndex:u}})}function rH(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function _c(n,e,t){return n[O1]=e,n[G1]=t,n}function Yo(n,e,t,i){let r=!0;i.push(()=>It(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function ol(n,e,t,i){let r=!0;i.push(()=>It(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const sH=new K,oH=new K,$p=new K,Uy=new _t,aH=new hA,lH=new ur,Ny=Math.PI/180;function cH([n,e,t]){return lH.setFromEuler(aH.set(n*Ny,e*Ny,t*Ny))}const uH="center",AH="center";function Jo(n,{relativeCenter:e,size:t},i){const r=qt(n,"transformTranslateX",0),s=qt(n,"transformTranslateY",0),o=qt(n,"transformTranslateZ",0),a=qt(n,"transformRotateX",0),l=qt(n,"transformRotateY",0),c=qt(n,"transformRotateZ",0),u=qt(n,"transformScaleX",1),h=qt(n,"transformScaleY",1),d=qt(n,"transformScaleZ",1),p=qt(n,"transformOriginX",uH),m=qt(n,"transformOriginY",AH);return Zt(()=>{if(e.value==null)return;const[I,v]=e.value,g=i.value,y=new _t().makeTranslation(I*g,v*g,0);let E=!0;if(p.value!="center"||m.value!="center"){if(t.value==null)return;const[R,D]=t.value;E=!1,$p.set(-m3[p.value]*R*g,-v3[m.value]*D*g,0),y.multiply(Uy.makeTranslation($p)),$p.negate()}const x=[a.value,l.value,c.value],w=[r.value,-s.value,o.value],_=[u.value,h.value,d.value];return(w.some(R=>R!=0)||x.some(R=>R!=0)||_.some(R=>R!=1))&&y.multiply(Uy.compose(sH.fromArray(w).multiplyScalar(g),cH(x),oH.fromArray(_))),E||y.multiply(Uy.makeTranslation($p)),y})}function Xo(n,e,t){t.push(()=>It(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const fH=Math.cos(45/180*Math.PI),ky=[new mn,new mn,new mn,new mn],k_=new K;class hH{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new K(t,i,0).applyMatrix4(e),this.facePlane=new mn(new K(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,c=t+o,u=-i+a,h=-t+o;this.planes=[new mn(new K(0,-1,0),u).applyMatrix4(e),new mn(new K(-1,0,0),h).applyMatrix4(e),new mn(new K(0,1,0),l).applyMatrix4(e),new mn(new K(1,0,0),c).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=ky[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const c=1-a*a,u=(s.constant-o.constant*a)/c,h=(o.constant-s.constant*a)/c;k_.copy(s.normal).multiplyScalar(u).addScaledVector(o.normal,h),l.constant=-k_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;ky[t].normal.dot(i)>fH;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;ky[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let h=0;h<4;h++){const[d,p]=dH[h];F_[h].set(d*l*o,p*l*a,0).applyMatrix4(r)}const{planes:c}=s;let u;for(let h=0;h<4;h++){const d=c[h];u=!0;for(let p=0;p<4;p++){const m=F_[p];d.distanceToPoint(m)>=0&&(u=!1)}if(u)return!0}return!1})}function u0(n,{overflow:e,borderInset:t,size:i},r,s){return Zt(()=>{const o=n.value;if(o==null||e.value===oc.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[c,u,h,d]=t.value,p=r.value,m=new hH(o,(u-d)*p/2,(c-h)*p/2,(a-d-u)*p,(l-c-h)*p);return s?.value!=null&&m.min(s.value),m})}const H1=new mn(new K(-1,0,0),Number.MAX_SAFE_INTEGER),hm=new Float32Array(16);for(let n=0;n<4;n++)H1.normal.toArray(hm,n*4),hm[n*4+3]=H1.constant;function jh(n,e,t){const i=[new mn,new mn,new mn,new mn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(H1);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function YD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function pH(n,e,t){YD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function gH(n,e,t,i){YD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function mH(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const c=l.add.indexOf(t);if(c!=-1)return l.add.splice(c,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const p=l.add.shift();return l.elements[i]=p,r(p,l,i),!1}const u=l.offset,h=l.elements.length-1;if(h!=i){const p=u+h,m=u+i;a(m,p,p+1);const I=l.elements[h];l.elements[i]=I,o(I,i)}if(s(u+h),l.elements.length-=1,e0;){const p=n[e-1];p.missingSpace+=d.missingSpace,d=n[--e]}return n.length=e+1,!1}function vH(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const c=a.missingSpace<0;for(let u=o-1;u>=0;u--){const h=n[u];if(h.missingSpace===0)continue;const d=h.missingSpace<0;if(d&&(l||c)){O_(n,t,u,o,Math.abs(h.missingSpace));continue}if(!c&&!d)continue;const p=Math.min(Math.abs(h.missingSpace),Math.abs(a.missingSpace));c?yH(n,t,u,o,p):O_(n,t,u,o,p)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),XD=ft(JD?.matches??!1);JD?.addEventListener("change",n=>XD.value=n.matches);const KD=ft("system"),jD=Zt(()=>{switch(KD.value){case"system":return XD.value;case"dark":return!0;case"light":return!1}});function EH(n){KD.value=n}const Ko={dark:Zh(()=>jD.value)};function CH({dark:n,light:e}){const t={};for(const i in n)t[i]=Zt(()=>jD.value?n[i]:e[i]);return t}const qD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},ZD=Object.keys(qD),IH=ZD.length;function jo(n){const e={};for(let t=0;t(n.value?.[0]??0)>qD[i])}return e}function G_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function Fy(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Qh(n,e,t){return e.xadvance*n+t}function eg(n,e){return n*e}function z1(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const BH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=c}o.charLength=s-a},xH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;s{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;s ")}return null},t.getPublicRootInstance=function(A){if(A=A.current,!A.child)return null;switch(A.child.tag){case 5:return ee(A.child.stateNode);default:return A.child.stateNode}},t.injectIntoDevTools=function(A){if(A={bundleType:A.bundleType,version:A.version,rendererPackageName:A.rendererPackageName,rendererConfig:A.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:yb,findFiberByHostInstance:A.findFiberByHostInstance||Eb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")A=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)A=!0;else{try{fl=f.inject(A),Tr=f}catch{}A=!!f.checkDCE}}return A},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(A,f,C,B){if(!b)throw Error(o(363));A=Z0(A,f);var S=ze(A,C,B).disconnect;return{disconnect:function(){S()}}},t.registerMutableSourceForHydration=function(A,f){var C=f._getVersion;C=C(f._source),A.mutableSourceEagerHydrationData==null?A.mutableSourceEagerHydrationData=[f,C]:A.mutableSourceEagerHydrationData.push(f,C)},t.runWithPriority=function(A,f){var C=jt;try{return jt=A,f()}finally{jt=C}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(A,f,C,B){var S=f.current,T=nr(),ne=ha(S);return C=Mx(C),f.context===null?f.context=C:f.pendingContext=C,f=fo(T,ne),f.payload={element:A},B=B===void 0?null:B,B!==null&&(f.callback=B),ua(S,f),A=ss(S,ne,T),A!==null&&rd(A,S,ne),ne},t};cD.exports=OG;var GG=cD.exports;const HG=Th(GG),zG=n=>typeof n=="object"&&typeof n.then=="function",$l=[];function fD(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=$l.indexOf(r);s!==-1&&$l.splice(s,1)},promise:(zG(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($l.push(r),!t)throw r.promise}const dD=(n,e,t)=>hD(n,e,!1,t),VG=(n,e,t)=>void hD(n,e,!0,t),WG=n=>{if(n===void 0||n.length===0)$l.splice(0,$l.length);else{const e=$l.find(t=>fD(n,t.keys,t.equal));e&&e.remove()}},OI={},YG=n=>void Object.assign(OI,n);function JG(n,e){function t(u,{args:h=[],attach:d,...p},m){let I=`${u[0].toUpperCase()}${u.slice(1)}`,v;if(u==="primitive"){if(p.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=p.object;v=Cu(g,{type:u,root:m,attach:d,primitive:!0})}else{const g=OI[I];if(!g)throw new Error(`R3F: ${I} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(h))throw new Error("R3F: The args prop must be an array!");v=Cu(new g(...h),{type:u,root:m,attach:d,memoizedProps:{args:h}})}return v.__r3f.attach===void 0&&(v instanceof kt?v.__r3f.attach="geometry":v instanceof mi&&(v.__r3f.attach="material")),I!=="inject"&&xy(v,p),v}function i(u,h){let d=!1;if(h){var p,m;(p=h.__r3f)!=null&&p.attach?By(u,h,h.__r3f.attach):h.isObject3D&&u.isObject3D&&(u.add(h),d=!0),d||(m=u.__r3f)==null||m.objects.push(h),h.__r3f||Cu(h,{}),h.__r3f.parent=u,N1(h),Iu(h)}}function r(u,h,d){let p=!1;if(h){var m,I;if((m=h.__r3f)!=null&&m.attach)By(u,h,h.__r3f.attach);else if(h.isObject3D&&u.isObject3D){h.parent=u,h.dispatchEvent({type:"added"});const v=u.children.filter(y=>y!==h),g=v.indexOf(d);u.children=[...v.slice(0,g),h,...v.slice(g)],p=!0}p||(I=u.__r3f)==null||I.objects.push(h),h.__r3f||Cu(h,{}),h.__r3f.parent=u,N1(h),Iu(h)}}function s(u,h,d=!1){u&&[...u].forEach(p=>o(h,p,d))}function o(u,h,d){if(h){var p,m,I;if(h.__r3f&&(h.__r3f.parent=null),(p=u.__r3f)!=null&&p.objects&&(u.__r3f.objects=u.__r3f.objects.filter(x=>x!==h)),(m=h.__r3f)!=null&&m.attach)I_(u,h,h.__r3f.attach);else if(h.isObject3D&&u.isObject3D){var v;u.remove(h),(v=h.__r3f)!=null&&v.root&&t8(h.__r3f.root,h)}const y=(I=h.__r3f)==null?void 0:I.primitive,E=!y&&(d===void 0?h.dispose!==null:d);if(!y){var g;s((g=h.__r3f)==null?void 0:g.objects,h,E),s(h.children,h,E)}if(delete h.__r3f,E&&h.dispose&&h.type!=="Scene"){const x=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?P1.unstable_scheduleCallback(P1.unstable_IdlePriority,x):x()}Iu(u)}}function a(u,h,d,p){var m;const I=(m=u.__r3f)==null?void 0:m.parent;if(!I)return;const v=t(h,d,u.__r3f.root);if(u.children){for(const g of u.children)g.__r3f&&i(v,g);u.children=u.children.filter(g=>!g.__r3f)}u.__r3f.objects.forEach(g=>i(v,g)),u.__r3f.objects=[],u.__r3f.autoRemovedBeforeAppend||o(I,u),v.parent&&(v.__r3f.autoRemovedBeforeAppend=!0),i(I,v),v.raycast&&v.__r3f.eventCount&&v.__r3f.root.getState().internal.interaction.push(v),[p,p.alternate].forEach(g=>{g!==null&&(g.stateNode=v,g.ref&&(typeof g.ref=="function"?g.ref(v):g.ref.current=v))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:HG({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(u,h)=>{if(!h)return;const d=u.getState().scene;d.__r3f&&(d.__r3f.root=u,i(d,h))},removeChildFromContainer:(u,h)=>{h&&o(u.getState().scene,h)},insertInContainerBefore:(u,h,d)=>{if(!h||!d)return;const p=u.getState().scene;p.__r3f&&r(p,h,d)},getRootHostContext:()=>null,getChildHostContext:u=>u,finalizeInitialChildren(u){var h;return!!((h=u?.__r3f)!=null?h:{}).handlers},prepareUpdate(u,h,d,p){var m;if(((m=u?.__r3f)!=null?m:{}).primitive&&p.object&&p.object!==u)return[!0];{const{args:v=[],children:g,...y}=p,{args:E=[],children:x,...w}=d;if(!Array.isArray(v))throw new Error("R3F: the args prop must be an array!");if(v.some((R,D)=>R!==E[D]))return[!0];const _=CD(u,y,w,!0);return _.changes.length?[!1,_]:null}},commitUpdate(u,[h,d],p,m,I,v){h?a(u,p,I,v):xy(u,d)},commitMount(u,h,d,p){var m;const I=(m=u.__r3f)!=null?m:{};u.raycast&&I.handlers&&I.eventCount&&u.__r3f.root.getState().internal.interaction.push(u)},getPublicInstance:u=>u,prepareForCommit:()=>null,preparePortalMount:u=>Cu(u.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(u){var h;const{attach:d,parent:p}=(h=u.__r3f)!=null?h:{};d&&p&&I_(p,u,d),u.isObject3D&&(u.visible=!1),Iu(u)},unhideInstance(u,h){var d;const{attach:p,parent:m}=(d=u.__r3f)!=null?d:{};p&&m&&By(m,u,p),(u.isObject3D&&h.visible==null||h.visible)&&(u.visible=!0),Iu(u)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Fu.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&_n.fun(performance.now)?performance.now:_n.fun(Date.now)?Date.now:()=>0,scheduleTimeout:_n.fun(setTimeout)?setTimeout:void 0,cancelTimeout:_n.fun(clearTimeout)?clearTimeout:void 0}),applyProps:xy}}var v_,y_;const Iy=n=>"colorSpace"in n||"outputColorSpace"in n,pD=()=>{var n;return(n=OI.ColorManagement)!=null?n:null},gD=n=>n&&n.isOrthographicCamera,XG=n=>n&&n.hasOwnProperty("current"),Xh=typeof window<"u"&&((v_=window.document)!=null&&v_.createElement||((y_=window.navigator)==null?void 0:y_.product)==="ReactNative")?te.useLayoutEffect:te.useEffect;function mD(n){const e=te.useRef(n);return Xh(()=>void(e.current=n),[n]),e}function KG({set:n}){return Xh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class vD extends te.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}vD.getDerivedStateFromError=()=>({error:!0});const yD="__default",E_=new Map,jG=n=>n&&!!n.memoized&&!!n.changes;function ED(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 df=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},_n={obj:n=>n===Object(n)&&!_n.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(_n.str(n)||_n.num(n))return n===e;const s=_n.obj(n);if(s&&i==="reference")return n===e;const o=_n.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(!_n.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(_n.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 qG(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 ZG(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Cu(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function U1(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 C_=/-\d+$/;function By(n,e,t){if(_n.str(t)){if(C_.test(t)){const s=t.replace(C_,""),{target:o,key:a}=U1(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=U1(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function I_(n,e,t){var i,r;if(_n.str(t)){const{target:s,key:o}=U1(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 CD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},c=!1){var u;const h=(u=n?.__r3f)!=null?u:{},d=Object.entries(r),p=[];if(c){const I=Object.keys(l);for(let v=0;v{var g;if((g=n.__r3f)!=null&&g.primitive&&I==="object"||_n.equ(v,l[I]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(I))return p.push([I,v,!0,[]]);let y=[];I.includes("-")&&(y=I.split("-")),p.push([I,v,!1,y]);for(const E in r){const x=r[E];E.startsWith(`${I}-`)&&p.push([E,x,!1,E.split("-")])}});const m={...r};return h.memoizedProps&&h.memoizedProps.args&&(m.args=h.memoizedProps.args),h.memoizedProps&&h.memoizedProps.attach&&(m.attach=h.memoizedProps.attach),{memoized:m,changes:p}}const $G=typeof process<"u"&&!1;function xy(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:c}=jG(e)?e:CD(n,e),u=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let d=0;dE[x],n),!(y&&y.set))){const[E,...x]=v.reverse();g=x.reverse().reduce((w,_)=>w[_],n),p=E}if(m===yD+"remove")if(g.constructor){let E=E_.get(g.constructor);E||(E=new g.constructor,E_.set(g.constructor,E)),m=E[p]}else m=0;if(I)m?s.handlers[p]=m:delete s.handlers[p],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof rc)){if(Array.isArray(m))y.fromArray?y.fromArray(m):y.set(...m);else if(y.copy&&m&&m.constructor&&($G?y.constructor.name===m.constructor.name:y.constructor===m.constructor))y.copy(m);else if(m!==void 0){const E=y instanceof st;!E&&y.setScalar?y.setScalar(m):y instanceof rc&&m instanceof rc?y.mask=m.mask:y.set(m),!pD()&&!a.linear&&E&&y.convertSRGBToLinear()}}else if(g[p]=m,g[p]instanceof Qn&&g[p].format===ar&&g[p].type===oo){const E=g[p];Iy(E)&&Iy(a.gl)?E.colorSpace=a.gl.outputColorSpace:E.encoding=a.gl.outputEncoding}Iu(n)}if(s.parent&&a.internal&&n.raycast&&u!==s.eventCount){const d=a.internal.interaction.indexOf(n);d>-1&&a.internal.interaction.splice(d,1),s.eventCount&&a.internal.interaction.push(n)}return!(c.length===1&&c[0][0]==="onUpdate")&&c.length&&(r=n.__r3f)!=null&&r.parent&&N1(n),n}function Iu(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 N1(n){n.onUpdate==null||n.onUpdate(n)}function ID(n,e){n.manual||(gD(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 jp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function e8(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Fu.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Fu.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Fu.ContinuousEventPriority;default:return Fu.DefaultEventPriority}}function BD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function t8(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)=>{BD(t.capturedMap,e,i,r)})}function n8(n){function e(l){const{internal:c}=n.getState(),u=l.offsetX-c.initialClick[0],h=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(u*u+h*h))}function t(l){return l.filter(c=>["Move","Over","Enter","Out","Leave"].some(u=>{var h;return(h=c.__r3f)==null?void 0:h.handlers["onPointer"+u]}))}function i(l,c){const u=n.getState(),h=new Set,d=[],p=c?c(u.internal.interaction):u.internal.interaction;for(let g=0;g{const E=df(g.object),x=df(y.object);return!E||!x?g.distance-y.distance:x.events.priority-E.events.priority||g.distance-y.distance}).filter(g=>{const y=jp(g);return h.has(y)?!1:(h.add(y),!0)});u.events.filter&&(I=u.events.filter(I,u));for(const g of I){let y=g.object;for(;y;){var v;(v=y.__r3f)!=null&&v.eventCount&&d.push({...g,eventObject:y}),y=y.parent}}if("pointerId"in l&&u.internal.capturedMap.has(l.pointerId))for(let g of u.internal.capturedMap.get(l.pointerId).values())h.has(jp(g.intersection))||d.push(g.intersection);return d}function r(l,c,u,h){const d=n.getState();if(l.length){const p={stopped:!1};for(const m of l){const I=df(m.object)||d,{raycaster:v,pointer:g,camera:y,internal:E}=I,x=new K(g.x,g.y,0).unproject(y),w=M=>{var P,z;return(P=(z=E.capturedMap.get(M))==null?void 0:z.has(m.eventObject))!=null?P:!1},_=M=>{const P={intersection:m,target:c.target};E.capturedMap.has(M)?E.capturedMap.get(M).set(m.eventObject,P):E.capturedMap.set(M,new Map([[m.eventObject,P]])),c.target.setPointerCapture(M)},R=M=>{const P=E.capturedMap.get(M);P&&BD(E.capturedMap,m.eventObject,P,M)};let D={};for(let M in c){let P=c[M];typeof P!="function"&&(D[M]=P)}let Y={...m,...D,pointer:g,intersections:l,stopped:p.stopped,delta:u,unprojectedPoint:x,ray:v.ray,camera:y,stopPropagation(){const M="pointerId"in c&&E.capturedMap.get(c.pointerId);if((!M||M.has(m.eventObject))&&(Y.stopped=p.stopped=!0,E.hovered.size&&Array.from(E.hovered.values()).find(P=>P.eventObject===m.eventObject))){const P=l.slice(0,l.indexOf(m));s([...P,m])}},target:{hasPointerCapture:w,setPointerCapture:_,releasePointerCapture:R},currentTarget:{hasPointerCapture:w,setPointerCapture:_,releasePointerCapture:R},nativeEvent:c};if(h(Y),p.stopped===!0)break}}return l}function s(l){const{internal:c}=n.getState();for(const u of c.hovered.values())if(!l.length||!l.find(h=>h.object===u.object&&h.index===u.index&&h.instanceId===u.instanceId)){const d=u.eventObject.__r3f,p=d?.handlers;if(c.hovered.delete(jp(u)),d!=null&&d.eventCount){const m={...u,intersections:l};p.onPointerOut==null||p.onPointerOut(m),p.onPointerLeave==null||p.onPointerLeave(m)}}}function o(l,c){for(let u=0;us([]);case"onLostPointerCapture":return c=>{const{internal:u}=n.getState();"pointerId"in c&&u.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{u.capturedMap.has(c.pointerId)&&(u.capturedMap.delete(c.pointerId),s([]))})}}return function(u){const{onPointerMissed:h,internal:d}=n.getState();d.lastEvent.current=u;const p=l==="onPointerMove",m=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",v=i(u,p?t:void 0),g=m?e(u):0;l==="onPointerDown"&&(d.initialClick=[u.offsetX,u.offsetY],d.initialHits=v.map(E=>E.eventObject)),m&&!v.length&&g<=2&&(o(u,d.interaction),h&&h(u)),p&&s(v);function y(E){const x=E.eventObject,w=x.__r3f,_=w?.handlers;if(w!=null&&w.eventCount)if(p){if(_.onPointerOver||_.onPointerEnter||_.onPointerOut||_.onPointerLeave){const R=jp(E),D=d.hovered.get(R);D?D.stopped&&E.stopPropagation():(d.hovered.set(R,E),_.onPointerOver==null||_.onPointerOver(E),_.onPointerEnter==null||_.onPointerEnter(E))}_.onPointerMove==null||_.onPointerMove(E)}else{const R=_[l];R?(!m||d.initialHits.includes(x))&&(o(u,d.interaction.filter(D=>!d.initialHits.includes(D))),R(E)):m&&d.initialHits.includes(x)&&o(u,d.interaction.filter(D=>!d.initialHits.includes(D)))}}r(v,u,g,y)}}return{handlePointer:a}}const i8=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],xD=n=>!!(n!=null&&n.render),GI=te.createContext(null),r8=(n,e)=>{const t=lD((a,l)=>{const c=new K,u=new K,h=new K;function d(g=l().camera,y=u,E=l().size){const{width:x,height:w,top:_,left:R}=E,D=x/w;y instanceof K?h.copy(y):h.set(...y);const Y=g.getWorldPosition(c).distanceTo(h);if(gD(g))return{width:x/g.zoom,height:w/g.zoom,top:_,left:R,factor:1,distance:Y,aspect:D};{const M=g.fov*Math.PI/180,P=2*Math.tan(M/2)*Y,z=P*(x/w);return{width:z,height:P,top:_,left:R,factor:x/z,distance:Y,aspect:D}}}let p;const m=g=>a(y=>({performance:{...y.performance,current:g}})),I=new Te;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,y)=>e(g,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new PI,pointer:I,mouse:I,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=l();p&&clearTimeout(p),g.performance.current!==g.performance.min&&m(g.performance.min),p=setTimeout(()=>m(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:d},setEvents:g=>a(y=>({...y,events:{...y.events,...g}})),setSize:(g,y,E,x,w)=>{const _=l().camera,R={width:g,height:y,top:x||0,left:w||0,updateStyle:E};a(D=>({size:R,viewport:{...D.viewport,...d(_,u,R)}}))},setDpr:g=>a(y=>{const E=ED(g);return{viewport:{...y.viewport,dpr:E,initialDpr:y.viewport.initialDpr||E}}}),setFrameloop:(g="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,g!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:te.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,y,E)=>{const x=l().internal;return x.priority=x.priority+(y>0?1:0),x.subscribers.push({ref:g,priority:y,store:E}),x.subscribers=x.subscribers.sort((w,_)=>w.priority-_.priority),()=>{const w=l().internal;w!=null&&w.subscribers&&(w.priority=w.priority-(y>0?1:0),w.subscribers=w.subscribers.filter(_=>_.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:c,gl:u,set:h}=t.getState();if(l.width!==r.width||l.height!==r.height||c.dpr!==s){var d;r=l,s=c.dpr,ID(a,l),u.setPixelRatio(c.dpr);const p=(d=l.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&u.domElement instanceof HTMLCanvasElement;u.setSize(l.width,l.height,p)}a!==o&&(o=a,h(p=>({viewport:{...p.viewport,...p.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};function HI(n,e){const t={callback:n};return e.add(t),()=>void e.delete(t)}let qp,SD=new Set,wD=new Set,_D=new Set;const s8=n=>HI(n,SD),o8=n=>HI(n,wD),a8=n=>HI(n,_D);function Sy(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function pf(n,e){switch(n){case"before":return Sy(SD,e);case"after":return Sy(wD,e);case"tail":return Sy(_D,e)}}let wy,_y;function My(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),wy=e.internal.subscribers,qp=0;qp0)&&!((c=r.gl.xr)!=null&&c.isPresenting)&&(t+=My(l,r))}if(pf("after",l),t===0)return pf("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,c=1){var u;if(!l)return n.forEach(h=>o(h.store.getState()),c);(u=l.gl.xr)!=null&&u.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+c),e||(e=!0,requestAnimationFrame(s)))}function a(l,c=!0,u,h){if(c&&pf("before",l),u)My(l,u,h);else for(const d of n.values())My(l,d.store.getState());c&&pf("after",l)}return{loop:s,invalidate:o,advance:a}}function yA(){const n=te.useContext(GI);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function EA(n=t=>t,e){return yA()(n,e)}function o0(n,e=0){const t=yA(),i=t.getState().internal.subscribe,r=mD(n);return Xh(()=>i(r,e,t),[e,i,t]),null}const B_=new WeakMap;function MD(n,e){return function(t,...i){let r=B_.get(t);return r||(r=new t,B_.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,qG(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function zI(n,e,t,i){const r=Array.isArray(e)?e:[e],s=dD(MD(t,i),[n,...r],{equal:_n.equ});return Array.isArray(e)?s:s[0]}zI.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return VG(MD(t),[n,...i])};zI.clear=function(n,e){const t=Array.isArray(e)?e:[e];return WG([n,...t])};const sA=new Map,{invalidate:x_,advance:S_}=l8(sA),{reconciler:_h,applyProps:hu}=JG(sA,e8),du={objects:"shallow",strict:!1},c8=(n,e)=>{const t=typeof n=="function"?n(e):n;return xD(t)?t:new gI({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function u8(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 A8(n){const e=sA.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||r8(x_,S_),o=t||_h.createContainer(s,Fu.ConcurrentRoot,null,!1,null,"",r,null);e||sA.set(n,{fiber:o,store:s});let a,l=!1,c;return{configure(u={}){let{gl:h,size:d,scene:p,events:m,onCreated:I,shadows:v=!1,linear:g=!1,flat:y=!1,legacy:E=!1,orthographic:x=!1,frameloop:w="always",dpr:_=[1,2],performance:R,raycaster:D,camera:Y,onPointerMissed:M}=u,P=s.getState(),z=P.gl;P.gl||P.set({gl:z=c8(h,n)});let se=P.raycaster;se||P.set({raycaster:se=new FI});const{params:V,...oe}=D||{};if(_n.equ(oe,se,du)||hu(se,{...oe}),_n.equ(V,se.params,du)||hu(se,{params:{...se.params,...V}}),!P.camera||P.camera===c&&!_n.equ(c,Y,du)){c=Y;const ce=Y instanceof Fh,Ee=ce?Y:x?new dA(0,0,0,0,.1,1e3):new ui(75,0,.1,1e3);ce||(Ee.position.z=5,Y&&hu(Ee,Y),!P.camera&&!(Y!=null&&Y.rotation)&&Ee.lookAt(0,0,0)),P.set({camera:Ee}),se.camera=Ee}if(!P.scene){let ce;p instanceof vc?ce=p:(ce=new vc,p&&hu(ce,p)),P.set({scene:Cu(ce)})}if(!P.xr){var ee;const ce=(k,N)=>{const L=s.getState();L.frameloop!=="never"&&S_(k,!0,L,N)},Ee=()=>{const k=s.getState();k.gl.xr.enabled=k.gl.xr.isPresenting,k.gl.xr.setAnimationLoop(k.gl.xr.isPresenting?ce:null),k.gl.xr.isPresenting||x_(k)},G={connect(){const k=s.getState().gl;k.xr.addEventListener("sessionstart",Ee),k.xr.addEventListener("sessionend",Ee)},disconnect(){const k=s.getState().gl;k.xr.removeEventListener("sessionstart",Ee),k.xr.removeEventListener("sessionend",Ee)}};typeof((ee=z.xr)==null?void 0:ee.addEventListener)=="function"&&G.connect(),P.set({xr:G})}if(z.shadowMap){const ce=z.shadowMap.enabled,Ee=z.shadowMap.type;if(z.shadowMap.enabled=!!v,_n.boo(v))z.shadowMap.type=Pf;else if(_n.str(v)){var he;const G={basic:$Q,percentage:Dm,soft:Pf,variance:Rs};z.shadowMap.type=(he=G[v])!=null?he:Pf}else _n.obj(v)&&Object.assign(z.shadowMap,v);(ce!==z.shadowMap.enabled||Ee!==z.shadowMap.type)&&(z.shadowMap.needsUpdate=!0)}const O=pD();O&&("enabled"in O?O.enabled=!E:"legacyMode"in O&&(O.legacyMode=E)),hu(z,{outputEncoding:g?3e3:3001,toneMapping:y?so:qC}),P.legacy!==E&&P.set(()=>({legacy:E})),P.linear!==g&&P.set(()=>({linear:g})),P.flat!==y&&P.set(()=>({flat:y})),h&&!_n.fun(h)&&!xD(h)&&!_n.equ(h,z,du)&&hu(z,h),m&&!P.events.handlers&&P.set({events:m(s)});const W=u8(n,d);return _n.equ(W,P.size,du)||P.setSize(W.width,W.height,W.updateStyle,W.top,W.left),_&&P.viewport.dpr!==ED(_)&&P.setDpr(_),P.frameloop!==w&&P.setFrameloop(w),P.onPointerMissed||P.set({onPointerMissed:M}),R&&!_n.equ(R,P.performance,du)&&P.set(ce=>({performance:{...ce.performance,...R}})),a=I,l=!0,this},render(u){return l||this.configure(),_h.updateContainer(te.createElement(f8,{store:s,children:u,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){QD(n)}}}function f8({store:n,children:e,onCreated:t,rootElement:i}){return Xh(()=>{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)},[]),te.createElement(GI.Provider,{value:n},e)}function QD(n,e){const t=sA.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),_h.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(),ZG(r),sA.delete(n),e&&e(n)}catch{}},500)})}}function RD(n,e,t){return te.createElement(h8,{key:e.uuid,children:n,container:e,state:t})}function h8({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=yA(),[a]=te.useState(()=>new FI),[l]=te.useState(()=>new Te),c=te.useCallback((h,d)=>{const p={...h};Object.keys(h).forEach(I=>{(i8.includes(I)||h[I]!==d[I]&&d[I])&&delete p[I]});let m;if(d&&r){const I=d.camera;m=h.viewport.getCurrentViewport(I,new K,r),I!==h.camera&&ID(I,r)}return{...p,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...d?.events,...i},size:{...h.size,...r},viewport:{...h.viewport,...m},...s}},[n]),[u]=te.useState(()=>{const h=o.getState();return lD((p,m)=>({...h,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...i},size:{...h.size,...r},...s,set:p,get:m,setEvents:I=>p(v=>({...v,events:{...v.events,...I}}))}))});return te.useEffect(()=>{const h=o.subscribe(d=>u.setState(p=>c(d,p)));return()=>{h(),u.destroy()}},[]),te.useEffect(()=>{u.setState(h=>c(o.getState(),h))},[c]),te.createElement(te.Fragment,null,_h.createPortal(te.createElement(GI.Provider,{value:u},e),u,null))}_h.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:te.version});function Mh(){return Mh=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-u):(i=null,t||(a=n.apply(s,r),s=r=null))}var c=function(){s=this,r=arguments,o=Date.now();var u=t&&!i;return i||(i=setTimeout(l,e)),u&&(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}k1.debounce=k1;var d8=k1;const w_=Th(d8);function p8(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]=te.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=te.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),c=e?typeof e=="number"?e:e.scroll:null,u=e?typeof e=="number"?e:e.resize:null,h=te.useRef(!1);te.useEffect(()=>(h.current=!0,()=>void(h.current=!1)));const[d,p,m]=te.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:E,top:x,width:w,height:_,bottom:R,right:D,x:Y,y:M}=l.current.element.getBoundingClientRect(),P={left:E,top:x,width:w,height:_,bottom:R,right:D,x:Y,y:M};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),h.current&&!y8(l.current.lastBounds,P)&&a(l.current.lastBounds=P)};return[y,u?w_(y,u):y,c?w_(y,c):y]},[a,r,c,u]);function I(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",m,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function v(){l.current.element&&(l.current.resizeObserver=new s(m),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",m,{capture:!0,passive:!0})))}const g=y=>{!y||y===l.current.element||(I(),l.current.element=y,l.current.scrollContainers=TD(y),v())};return m8(m,!!t),g8(p),te.useEffect(()=>{I(),v()},[t,m,p]),te.useEffect(()=>I,[]),[g,o,d]}function g8(n){te.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function m8(n,e){te.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function TD(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,...TD(n.parentElement)]}const v8=["x","y","top","bottom","left","right","width","height"],y8=(n,e)=>v8.every(t=>n[t]===e[t]);var E8=Object.defineProperty,C8=Object.defineProperties,I8=Object.getOwnPropertyDescriptors,__=Object.getOwnPropertySymbols,B8=Object.prototype.hasOwnProperty,x8=Object.prototype.propertyIsEnumerable,M_=(n,e,t)=>e in n?E8(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Q_=(n,e)=>{for(var t in e||(e={}))B8.call(e,t)&&M_(n,t,e[t]);if(__)for(var t of __(e))x8.call(e,t)&&M_(n,t,e[t]);return n},S8=(n,e)=>C8(n,I8(e));function DD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=DD(i,e,t);if(r)return r;i=e?null:i.sibling}}function bD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const VI=bD(te.createContext(null));class LD extends te.Component{render(){return te.createElement(VI.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:R_,ReactCurrentDispatcher:T_}=te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w8(){const n=te.useContext(VI);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=te.useId();return te.useMemo(()=>{for(const i of[R_?.current,n,n?.alternate]){if(!i)continue;const r=DD(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 _8(){var n,e;const t=w8(),[i]=te.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==VI&&!i.has(s)&&i.set(s,(e=T_?.current)==null?void 0:e.readContext(bD(s))),r=r.return}return i}function M8(){const n=_8();return te.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>te.createElement(e,null,te.createElement(t.Provider,S8(Q_({},i),{value:n.get(t)}))),e=>te.createElement(LD,Q_({},e))),[n])}const Qy={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 Q8(n){const{handlePointer:e}=n8(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(Qy).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]=Qy[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]=Qy[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const R8=te.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=Q8,eventSource:a,eventPrefix:l,shadows:c,linear:u,flat:h,legacy:d,orthographic:p,frameloop:m,dpr:I,performance:v,raycaster:g,camera:y,scene:E,onPointerMissed:x,onCreated:w,..._},R){te.useMemo(()=>YG(NG),[]);const D=M8(),[Y,M]=p8({scroll:!0,debounce:{scroll:50,resize:0},...i}),P=te.useRef(null),z=te.useRef(null);te.useImperativeHandle(R,()=>P.current);const se=mD(x),[V,oe]=te.useState(!1),[ee,he]=te.useState(!1);if(V)throw V;if(ee)throw ee;const O=te.useRef(null);Xh(()=>{const q=P.current;M.width>0&&M.height>0&&q&&(O.current||(O.current=A8(q)),O.current.configure({gl:s,events:o,shadows:c,linear:u,flat:h,legacy:d,orthographic:p,frameloop:m,dpr:I,performance:v,raycaster:g,camera:y,scene:E,size:M,onPointerMissed:(...W)=>se.current==null?void 0:se.current(...W),onCreated:W=>{W.events.connect==null||W.events.connect(a?XG(a)?a.current:a:z.current),l&&W.setEvents({compute:(ce,Ee)=>{const G=ce[l+"X"],k=ce[l+"Y"];Ee.pointer.set(G/Ee.size.width*2-1,-(k/Ee.size.height)*2+1),Ee.raycaster.setFromCamera(Ee.pointer,Ee.camera)}}),w?.(W)}}),O.current.render(te.createElement(D,null,te.createElement(vD,{set:he},te.createElement(te.Suspense,{fallback:te.createElement(KG,{set:oe})},e)))))}),te.useEffect(()=>{const q=P.current;if(q)return()=>QD(q)},[]);const J=a?"none":"auto";return te.createElement("div",Mh({ref:z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:J,...r}},_),te.createElement("div",{ref:Y,style:{width:"100%",height:"100%"}},te.createElement("canvas",{ref:P,style:{display:"block"}},t)))}),PD=te.forwardRef(function(e,t){return te.createElement(LD,null,te.createElement(R8,Mh({},e,{ref:t})))}),T8=te.createContext(null);function UD(){return te.useContext(T8)}const ND=te.createContext(void 0);function rl(){const n=te.useContext(ND);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const CA=ND.Provider;function a0(){throw new Error("Cycle detected")}var D8=Symbol.for("preact-signals");function l0(){if(Ja>1)Ja--;else{for(var n,e=!1;Of!==void 0;){var t=Of;for(Of=void 0,F1++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&OD(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(F1=0,Ja--,e)throw n}}function kD(n){if(Ja>0)return n();Ja++;try{return n()}finally{l0()}}var wn=void 0,Ry=0;function b8(n){if(Ry>0)return n();var e=wn;wn=void 0,Ry++;try{return n()}finally{Ry--,wn=e}}var Of=void 0,Ja=0,F1=0,fm=0;function FD(n){if(wn!==void 0){var e=n.n;if(e===void 0||e.t!==wn)return e={i:0,S:n,p:wn.s,n:void 0,t:wn,e:void 0,x:void 0,r:e},wn.s!==void 0&&(wn.s.n=e),wn.s=e,n.n=e,32&wn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=wn.s,e.n=void 0,wn.s.n=e,wn.s=e),e}}function pi(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}pi.prototype.brand=D8;pi.prototype.h=function(){return!0};pi.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};pi.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};pi.prototype.subscribe=function(n){var e=this;return ut(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};pi.prototype.valueOf=function(){return this.value};pi.prototype.toString=function(){return this.value+""};pi.prototype.toJSON=function(){return this.value};pi.prototype.peek=function(){return this.v};Object.defineProperty(pi.prototype,"value",{get:function(){var n=FD(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(wn instanceof sl&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){F1>100&&a0(),this.v=n,this.i++,fm++,Ja++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{l0()}}}});function ft(n){return new pi(n)}function OD(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function GD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function HD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function sl(n){pi.call(this,void 0),this.x=n,this.s=void 0,this.g=fm-1,this.f=4}(sl.prototype=new pi).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===fm))return!0;if(this.g=fm,this.f|=1,this.i>0&&!OD(this))return this.f&=-2,!0;var n=wn;try{GD(this),wn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return wn=n,HD(this),this.f&=-2,!0};sl.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}pi.prototype.S.call(this,n)};sl.prototype.U=function(n){if(this.t!==void 0&&(pi.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};sl.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};sl.prototype.peek=function(){if(this.h()||a0(),16&this.f)throw this.v;return this.v};Object.defineProperty(sl.prototype,"value",{get:function(){1&this.f&&a0();var n=FD(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Zt(n){return new sl(n)}function zD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){Ja++;var t=wn;wn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,WI(n),i}finally{wn=t,l0()}}}function WI(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,zD(n)}function L8(n){if(wn!==this)throw new Error("Out-of-order effect");HD(this),wn=n,this.f&=-2,8&this.f&&WI(this),l0()}function Kh(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Kh.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Kh.prototype.S=function(){1&this.f&&a0(),this.f|=1,this.f&=-9,zD(this),GD(this),Ja++;var n=wn;return wn=this,L8.bind(this,n)};Kh.prototype.N=function(){2&this.f||(this.f|=2,this.o=Of,Of=this)};Kh.prototype.d=function(){this.f|=8,1&this.f||WI(this)};function ut(n){var e=new Kh(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var P8=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(F,H){i=F,r=H});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var c;t.wasmBinary&&(c=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&V("no native wasm support detected");var u,h=!1;function d(F,H,Ae){Ae=H+Ae;for(var ge="";!(H>=Ae);){var Ce=F[H++];if(!Ce)break;if(Ce&128){var Qe=F[H++]&63;if((Ce&224)==192)ge+=String.fromCharCode((Ce&31)<<6|Qe);else{var Oe=F[H++]&63;Ce=(Ce&240)==224?(Ce&15)<<12|Qe<<6|Oe:(Ce&7)<<18|Qe<<12|Oe<<6|F[H++]&63,65536>Ce?ge+=String.fromCharCode(Ce):(Ce-=65536,ge+=String.fromCharCode(55296|Ce>>10,56320|Ce&1023))}}else ge+=String.fromCharCode(Ce)}return ge}var p,m,I,v,g,y,E,x,w;function _(){var F=u.buffer;p=F,t.HEAP8=m=new Int8Array(F),t.HEAP16=v=new Int16Array(F),t.HEAP32=y=new Int32Array(F),t.HEAPU8=I=new Uint8Array(F),t.HEAPU16=g=new Uint16Array(F),t.HEAPU32=E=new Uint32Array(F),t.HEAPF32=x=new Float32Array(F),t.HEAPF64=w=new Float64Array(F)}var R,D=[],Y=[],M=[];function P(){var F=t.preRun.shift();D.unshift(F)}var z=0,se=null;function V(F){throw t.onAbort&&t.onAbort(F),F="Aborted("+F+")",l(F),h=!0,F=new WebAssembly.RuntimeError(F+". Build with -sASSERTIONS for more info."),r(F),F}function oe(F){return F.startsWith("data:application/octet-stream;base64,")}var ee;if(ee="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkLIQAgACABKAIAIAEgASwAC0EASBtB9zkgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFBmCY2AgAgAQsFAEH3OQsFAEH0OQshACAAIAEoAgAgASABLAALQQBIG0HgOSACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBAsGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQKAsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQaAlNgIAIAELBQBB4DkLaQECfyMAQRBrIgYkACABIAAoAgQiB0EBdWohASAAKAIAIQAgBiABIAIgAyAEIAUgB0EBcQR/IAEoAgAgAGooAgAFIAALERAAQRAQHiIAIAYpAwg3AwggACAGKQMANwMAIAZBEGokACAACwUAQdw5Cx0AIAAoAgAiACAALQAAQfcBcUEIQQAgARtyOgAAC6UBAgJ/AX0jAEEQayICJAAgACgCACEAIAFB/wFxIgNBBkkEQAJ/AkACQAJAIANBBGsOAgABAgsgAEHQA2ogAC0AhANBA3FBAkYNAhogAEHIA2oMAgsgAEHIA2ogAC0AhANBA3FBAkYNARogAEHQA2oMAQsgACABQf8BcUECdGpByANqCyoCACEEIAJBEGokACAEuw8LIAJB0xA2AgAgACACEDAQJwALpQECAn8BfSMAQRBrIgIkACAAKAIAIQAgAUH/AXEiA0EGSQRAAn8CQAJAAkAgA0EEaw4CAAECCyAAQcADaiAALQCEA0EDcUECRg0CGiAAQbgDagwCCyAAQbgDaiAALQCEA0EDcUECRg0BGiAAQcADagwBCyAAIAFB/wFxQQJ0akG4A2oLKgIAIQQgAkEQaiQAIAS7DwsgAkHTEDYCACAAIAIQMBAnAAulAQICfwF9IwBBEGsiAiQAIAAoAgAhACABQf8BcSIDQQZJBEACfwJAAkACQCADQQRrDgIAAQILIABBsANqIAAtAIQDQQNxQQJGDQIaIABBqANqDAILIABBqANqIAAtAIQDQQNxQQJGDQEaIABBsANqDAELIAAgAUH/AXFBAnRqQagDagsqAgAhBCACQRBqJAAgBLsPCyACQdMQNgIAIAAgAhAwECcAC08AIAAgASgCACIBKgKYA7s5AwAgACABKgKgA7s5AwggACABKgKcA7s5AxAgACABKgKkA7s5AxggACABKgKIA7s5AyAgACABKgKMA7s5AygLDAAgACgCACoCjAO7CwwAIAAoAgAqAogDuwsMACAAKAIAKgKkA7sLDAAgACgCACoCnAO7CwwAIAAoAgAqAqADuwsMACAAKAIAKgKYA7sL3gUCBX0EfyMAQUBqIgkkACAAKAIAIQAgCUEIakEAQTgQLxpBsDlBsDkoAgBBAWo2AgAgABBtIABBFGohCiABtiEFIAAqAvADIgYhBAJ/AkACQAJAIAAtAPQDIgtBAWsOAgEAAgsgBiAFlEMK1yM8lCEECyAEQwAAAABgRQ0AQwAAwH8hBAJAAkACQCALQQFrDgIAAQILIAYhBAwBCyAGIAWUQwrXIzyUIQQLIAQgCkECQQEgBRAkIApBAkEBIAUQI5KSIQdBAAwBCyAJIABB/ABqIgsgAC8BdhAfAkACfQJAAkAgCS0ABEEBaw4CAAEDCyAJKgIADAELIAkqAgAgBZRDCtcjPJQLIgQgBFwNACAJIAsgAC8BdhAfQwAAwH8hBwJAAkACQCAJLQAEQQFrDgIAAQILIAkqAgAhBwwBCyAJKgIAIAWUQwrXIzyUIQcLQQIMAQsgBSEHIAUgBVwLIQsgArYhBiAAKgL4AyIIIQQCfwJAAkACQCAALQD8AyIMQQFrDgIBAAILIAggBpRDCtcjPJQhBAsgBEMAAAAAYEUNAEMAAMB/IQQCQAJAAkAgDEEBaw4CAAECCyAIIQQMAQsgCCAGlEMK1yM8lCEECyAEIApBAEEBIAUQJCAKQQBBASAFECOSkiEEQQAMAQsgCSAAQfwAaiIKIAAvAXgQHwJAAn0CQAJAIAktAARBAWsOAgABAwsgCSoCAAwBCyAJKgIAIAaUQwrXIzyUCyIEIARcDQAgCSAKIAAvAXgQH0MAAMB/IQQCQAJAAkAgCS0ABEEBaw4CAAECCyAJKgIAIQQMAQsgCSoCACAGlEMK1yM8lCEEC0ECDAELIAYhBCAGIAZcCyEMIAAgByAEIANB/wFxIAsgDCAFIAZBAUEAIAlBCGpBAEGwOSgCABA4BEAgACAALQCEA0EDcSAFIAYgBRBrIABEAAAAAAAAAABEAAAAAAAAAAAQagsgCUFAayQACxAAIAAoAgAtAABBBHFBAnYLdQECfyMAQRBrIgEkACAAKAIAIgAoAggEQANAIAAtAAAiAkEEcUUEQCAAIAJBBHI6AAAgACgCECICBEAgACACEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQELCyABQRBqJAAPCyABQYAINgIAIAAgARAwECcACy4BAX8gACgCCCEBIABBADYCCCABBEAgASABKAIAKAIEEQAACyAAKAIAQQA2AhALFwAgACgCBCgCCCIAIAAoAgAoAggRAAALLgEBfyAAKAIIIQIgACABNgIIIAIEQCACIAIoAgAoAgQRAAALIAAoAgBBBTYCEAs+AQF/IAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCBBEAAAsgACgCACIAQQA2AgggACAALQAAQe8BcToAAAtJAQF/IwBBEGsiBiQAIAYgASgCBCgCBCIBIAIgAyAEIAUgASgCACgCCBEQACAAIAYrAwC2OAIAIAAgBisDCLY4AgQgBkEQaiQAC24BAn8jAEEQayICJAAgACgCBCEDIAAgATYCBCADBEAgAyADKAIAKAIEEQAACyAAKAIAIgAoAuQDIAAoAuADRwRAIAJBvSI2AgAgACACEDAQJwALIABBBDYCCCAAIAAtAABBEHI6AAAgAkEQaiQACzwBAX8CQCAAKAIAIgAoAuQDIAAoAuADIgBrQQJ1IAFNDQAgACABQQJ0aigCACIARQ0AIAAoAgQhAgsgAgsZACAAKAIAKALcAyIARQRAQQAPCyAAKAIECxcAIAAoAgAiACgC5AMgACgC4ANrQQJ1C/kCAQR/IwBBwAJrIgQkAAJAIAAoAgAiACgC5AMgACgC4ANGDQAgASgCACIDKALcAyEBIAAgAxBoRQ0AIAAgAUYEQCAEQQBBwAIQLyICQYCAgP4HNgIEIAJBEGpBAEHEARAvGiACQdQBaiEFIAJBFGohAQNAIAFCgICA/IuAgMC/fzcCECABQoGAgIAQNwIIIAFCgICA/IuAgMC/fzcCACABQRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!oe(ee)){var he=ee;ee=t.locateFile?t.locateFile(he,o):o+he}function O(){var F=ee;try{if(F==ee&&c)return new Uint8Array(c);if(oe(F))try{var H=cn(F.slice(37)),Ae=new Uint8Array(H.length);for(F=0;F=H?"_"+F:F}function ce(F,H){return F=W(F),function(){return H.apply(this,arguments)}}var Ee=[{},{value:void 0},{value:null},{value:!0},{value:!1}],G=[];function k(F){var H=Error,Ae=ce(F,function(ge){this.name=F,this.message=ge,ge=Error(ge).stack,ge!==void 0&&(this.stack=this.toString()+` +`+ge.replace(/^Error(:[^\n]*)?\n/,""))});return Ae.prototype=Object.create(H.prototype),Ae.prototype.constructor=Ae,Ae.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Ae}var N=void 0;function L(F){throw new N(F)}var ae=F=>(F||L("Cannot use deleted val. handle = "+F),Ee[F].value),de=F=>{switch(F){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var H=G.length?G.pop():Ee.length;return Ee[H]={ga:1,value:F},H}},fe=void 0,pe=void 0;function U(F){for(var H="";I[F];)H+=pe[I[F++]];return H}var me=[];function re(){for(;me.length;){var F=me.pop();F.M.$=!1,F.delete()}}var le=void 0,ue={};function we(F,H){for(H===void 0&&L("ptr should not be undefined");F.R;)H=F.ba(H),F=F.R;return H}var X={};function Q(F){F=sn(F);var H=U(F);return mt(F),H}function b(F,H){var Ae=X[F];return Ae===void 0&&L(H+" has unknown type "+Q(F)),Ae}function Z(){}var Se=!1;function Be(F){--F.count.value,F.count.value===0&&(F.T?F.U.W(F.T):F.P.N.W(F.O))}function ye(F,H,Ae){return H===Ae?F:Ae.R===void 0?null:(F=ye(F,H,Ae.R),F===null?null:Ae.na(F))}var Le={};function Fe(F,H){return H=we(F,H),ue[H]}var ze=void 0;function Ne(F){throw new ze(F)}function je(F,H){return H.P&&H.O||Ne("makeClassHandle requires ptr and ptrType"),!!H.U!=!!H.T&&Ne("Both smartPtrType and smartPtr must be specified"),H.count={value:1},De(Object.create(F,{M:{value:H}}))}function De(F){return typeof FinalizationRegistry>"u"?(De=H=>H,F):(Se=new FinalizationRegistry(H=>{Be(H.M)}),De=H=>{var Ae=H.M;return Ae.T&&Se.register(H,{M:Ae},H),H},Z=H=>{Se.unregister(H)},De(F))}var Et={};function Ze(F){for(;F.length;){var H=F.pop();F.pop()(H)}}function it(F){return this.fromWireType(y[F>>2])}var Ye={},ke={};function et(F,H,Ae){function ge(He){He=Ae(He),He.length!==F.length&&Ne("Mismatched type converter count");for(var We=0;We{X.hasOwnProperty(He)?Ce[We]=X[He]:(Qe.push(He),Ye.hasOwnProperty(He)||(Ye[He]=[]),Ye[He].push(()=>{Ce[We]=X[He],++Oe,Oe===Qe.length&&ge(Ce)}))}),Qe.length===0&&ge(Ce)}function vt(F){switch(F){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+F)}}function Bt(F,H,Ae={}){if(!("argPackAdvance"in H))throw new TypeError("registerType registeredInstance requires argPackAdvance");var ge=H.name;if(F||L('type "'+ge+'" must have a positive integer typeid pointer'),X.hasOwnProperty(F)){if(Ae.ua)return;L("Cannot register type '"+ge+"' twice")}X[F]=H,delete ke[F],Ye.hasOwnProperty(F)&&(H=Ye[F],delete Ye[F],H.forEach(Ce=>Ce()))}function tt(F){L(F.M.P.N.name+" instance already deleted")}function Ct(){}function ie(F,H,Ae){if(F[H].S===void 0){var ge=F[H];F[H]=function(){return F[H].S.hasOwnProperty(arguments.length)||L("Function '"+Ae+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+F[H].S+")!"),F[H].S[arguments.length].apply(this,arguments)},F[H].S=[],F[H].S[ge.Z]=ge}}function Je(F,H){t.hasOwnProperty(F)?(L("Cannot register public name '"+F+"' twice"),ie(t,F,F),t.hasOwnProperty(void 0)&&L("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[F].S[void 0]=H):t[F]=H}function Xe(F,H,Ae,ge,Ce,Qe,Oe,He){this.name=F,this.constructor=H,this.X=Ae,this.W=ge,this.R=Ce,this.pa=Qe,this.ba=Oe,this.na=He,this.ja=[]}function ot(F,H,Ae){for(;H!==Ae;)H.ba||L("Expected null or instance of "+Ae.name+", got an instance of "+H.name),F=H.ba(F),H=H.R;return F}function At(F,H){return H===null?(this.ea&&L("null is not a valid "+this.name),0):(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),ot(H.M.O,H.M.P.N,this.N))}function Lt(F,H){if(H===null){if(this.ea&&L("null is not a valid "+this.name),this.da){var Ae=this.fa();return F!==null&&F.push(this.W,Ae),Ae}return 0}if(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&H.M.P.ca&&L("Cannot convert argument of type "+(H.M.U?H.M.U.name:H.M.P.name)+" to parameter type "+this.name),Ae=ot(H.M.O,H.M.P.N,this.N),this.da)switch(H.M.T===void 0&&L("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:H.M.U===this?Ae=H.M.T:L("Cannot convert argument of type "+(H.M.U?H.M.U.name:H.M.P.name)+" to parameter type "+this.name);break;case 1:Ae=H.M.T;break;case 2:if(H.M.U===this)Ae=H.M.T;else{var ge=H.clone();Ae=this.xa(Ae,de(function(){ge.delete()})),F!==null&&F.push(this.W,Ae)}break;default:L("Unsupporting sharing policy")}return Ae}function Qt(F,H){return H===null?(this.ea&&L("null is not a valid "+this.name),0):(H.M||L('Cannot pass "'+hn(H)+'" as a '+this.name),H.M.O||L("Cannot pass deleted object as a pointer of type "+this.name),H.M.P.ca&&L("Cannot convert argument of type "+H.M.P.name+" to parameter type "+this.name),ot(H.M.O,H.M.P.N,this.N))}function $t(F,H,Ae,ge){this.name=F,this.N=H,this.ea=Ae,this.ca=ge,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,H.R!==void 0?this.toWireType=Lt:(this.toWireType=ge?At:Qt,this.V=null)}function Wt(F,H){t.hasOwnProperty(F)||Ne("Replacing nonexistant public symbol"),t[F]=H,t[F].Z=void 0}function Rt(F,H){var Ae=[];return function(){if(Ae.length=0,Object.assign(Ae,arguments),F.includes("j")){var ge=t["dynCall_"+F];ge=Ae&&Ae.length?ge.apply(null,[H].concat(Ae)):ge.call(null,H)}else ge=R.get(H).apply(null,Ae);return ge}}function Gt(F,H){F=U(F);var Ae=F.includes("j")?Rt(F,H):R.get(H);return typeof Ae!="function"&&L("unknown function pointer with signature "+F+": "+H),Ae}var An=void 0;function Kt(F,H){function Ae(Qe){Ce[Qe]||X[Qe]||(ke[Qe]?ke[Qe].forEach(Ae):(ge.push(Qe),Ce[Qe]=!0))}var ge=[],Ce={};throw H.forEach(Ae),new An(F+": "+ge.map(Q).join([", "]))}function vn(F,H,Ae,ge,Ce){var Qe=H.length;2>Qe&&L("argTypes array size mismatch! Must at least get return value and 'this' types!");var Oe=H[1]!==null&&Ae!==null,He=!1;for(Ae=1;Ae>2]);return Ae}function fn(F){4>2])};case 3:return function(Ae){return this.fromWireType(w[Ae>>3])};default:throw new TypeError("Unknown float type: "+F)}}function ji(F,H,Ae){switch(H){case 0:return Ae?function(ge){return m[ge]}:function(ge){return I[ge]};case 1:return Ae?function(ge){return v[ge>>1]}:function(ge){return g[ge>>1]};case 2:return Ae?function(ge){return y[ge>>2]}:function(ge){return E[ge>>2]};default:throw new TypeError("Unknown integer type: "+F)}}function wi(F,H){for(var Ae="",ge=0;!(ge>=H/2);++ge){var Ce=v[F+2*ge>>1];if(Ce==0)break;Ae+=String.fromCharCode(Ce)}return Ae}function Qr(F,H,Ae){if(Ae===void 0&&(Ae=2147483647),2>Ae)return 0;Ae-=2;var ge=H;Ae=Ae<2*F.length?Ae/2:F.length;for(var Ce=0;Ce>1]=F.charCodeAt(Ce),H+=2;return v[H>>1]=0,H-ge}function ul(F){return 2*F.length}function j(F,H){for(var Ae=0,ge="";!(Ae>=H/4);){var Ce=y[F+4*Ae>>2];if(Ce==0)break;++Ae,65536<=Ce?(Ce-=65536,ge+=String.fromCharCode(55296|Ce>>10,56320|Ce&1023)):ge+=String.fromCharCode(Ce)}return ge}function xe(F,H,Ae){if(Ae===void 0&&(Ae=2147483647),4>Ae)return 0;var ge=H;Ae=ge+Ae-4;for(var Ce=0;Ce=Qe){var Oe=F.charCodeAt(++Ce);Qe=65536+((Qe&1023)<<10)|Oe&1023}if(y[H>>2]=Qe,H+=4,H+4>Ae)break}return y[H>>2]=0,H-ge}function Re(F){for(var H=0,Ae=0;Ae=ge&&++Ae,H+=4}return H}var be={};function Me(F){var H=be[F];return H===void 0?U(F):H}var rt=[];function yt(F){var H=rt.length;return rt.push(F),H}function Mt(F,H){for(var Ae=Array(F),ge=0;ge>2],"parameter "+ge);return Ae}var Ge=[],Tt=[null,[],[]];N=t.BindingError=k("BindingError"),t.count_emval_handles=function(){for(var F=0,H=5;HSt;++St)bt[St]=String.fromCharCode(St);pe=bt,t.getInheritedInstanceCount=function(){return Object.keys(ue).length},t.getLiveInheritedInstances=function(){var F=[],H;for(H in ue)ue.hasOwnProperty(H)&&F.push(ue[H]);return F},t.flushPendingDeletes=re,t.setDelayFunction=function(F){le=F,me.length&&le&&le(re)},ze=t.InternalError=k("InternalError"),Ct.prototype.isAliasOf=function(F){if(!(this instanceof Ct&&F instanceof Ct))return!1;var H=this.M.P.N,Ae=this.M.O,ge=F.M.P.N;for(F=F.M.O;H.R;)Ae=H.ba(Ae),H=H.R;for(;ge.R;)F=ge.ba(F),ge=ge.R;return H===ge&&Ae===F},Ct.prototype.clone=function(){if(this.M.O||tt(this),this.M.aa)return this.M.count.value+=1,this;var F=De,H=Object,Ae=H.create,ge=Object.getPrototypeOf(this),Ce=this.M;return F=F(Ae.call(H,ge,{M:{value:{count:Ce.count,$:Ce.$,aa:Ce.aa,O:Ce.O,P:Ce.P,T:Ce.T,U:Ce.U}}})),F.M.count.value+=1,F.M.$=!1,F},Ct.prototype.delete=function(){this.M.O||tt(this),this.M.$&&!this.M.aa&&L("Object already scheduled for deletion"),Z(this),Be(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ct.prototype.isDeleted=function(){return!this.M.O},Ct.prototype.deleteLater=function(){return this.M.O||tt(this),this.M.$&&!this.M.aa&&L("Object already scheduled for deletion"),me.push(this),me.length===1&&le&&le(re),this.M.$=!0,this},$t.prototype.qa=function(F){return this.ka&&(F=this.ka(F)),F},$t.prototype.ha=function(F){this.W&&this.W(F)},$t.prototype.argPackAdvance=8,$t.prototype.readValueFromPointer=it,$t.prototype.deleteObject=function(F){F!==null&&F.delete()},$t.prototype.fromWireType=function(F){function H(){return this.da?je(this.N.X,{P:this.wa,O:Ae,U:this,T:F}):je(this.N.X,{P:this,O:F})}var Ae=this.qa(F);if(!Ae)return this.ha(F),null;var ge=Fe(this.N,Ae);if(ge!==void 0)return ge.M.count.value===0?(ge.M.O=Ae,ge.M.T=F,ge.clone()):(ge=ge.clone(),this.ha(F),ge);if(ge=this.N.pa(Ae),ge=Le[ge],!ge)return H.call(this);ge=this.ca?ge.la:ge.pointerType;var Ce=ye(Ae,this.N,ge.N);return Ce===null?H.call(this):this.da?je(ge.N.X,{P:ge,O:Ce,U:this,T:F}):je(ge.N.X,{P:ge,O:Ce})},An=t.UnboundTypeError=k("UnboundTypeError");var cn=typeof atob=="function"?atob:function(F){var H="",Ae=0;F=F.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++)),Oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(F.charAt(Ae++));ge=ge<<2|Ce>>4,Ce=(Ce&15)<<4|Qe>>2;var He=(Qe&3)<<6|Oe;H+=String.fromCharCode(ge),Qe!==64&&(H+=String.fromCharCode(Ce)),Oe!==64&&(H+=String.fromCharCode(He))}while(AeOe.ta).concat(Ce.map(Oe=>Oe.za));et([F],Qe,Oe=>{var He={};return Ce.forEach((We,Ve)=>{var $e=Oe[Ve],It=We.ra,Ht=We.sa,xn=Oe[Ve+Ce.length],Yt=We.ya,bn=We.Aa;He[We.oa]={read:Xn=>$e.fromWireType(It(Ht,Xn)),write:(Xn,Rr)=>{var gr=[];Yt(bn,Xn,xn.toWireType(gr,Rr)),Ze(gr)}}}),[{name:H.name,fromWireType:function(We){var Ve={},$e;for($e in He)Ve[$e]=He[$e].read(We);return ge(We),Ve},toWireType:function(We,Ve){for(var $e in He)if(!($e in Ve))throw new TypeError('Missing field: "'+$e+'"');var It=Ae();for($e in He)He[$e].write(It,Ve[$e]);return We!==null&&We.push(ge,It),It},argPackAdvance:8,readValueFromPointer:it,V:ge}]})},v:function(){},B:function(F,H,Ae,ge,Ce){var Qe=vt(Ae);H=U(H),Bt(F,{name:H,fromWireType:function(Oe){return!!Oe},toWireType:function(Oe,He){return He?ge:Ce},argPackAdvance:8,readValueFromPointer:function(Oe){if(Ae===1)var He=m;else if(Ae===2)He=v;else if(Ae===4)He=y;else throw new TypeError("Unknown boolean type size: "+H);return this.fromWireType(He[Oe>>Qe])},V:null})},f:function(F,H,Ae,ge,Ce,Qe,Oe,He,We,Ve,$e,It,Ht){$e=U($e),Qe=Gt(Ce,Qe),He&&(He=Gt(Oe,He)),Ve&&(Ve=Gt(We,Ve)),Ht=Gt(It,Ht);var xn=W($e);Je(xn,function(){Kt("Cannot construct "+$e+" due to unbound types",[ge])}),et([F,H,Ae],ge?[ge]:[],function(Yt){if(Yt=Yt[0],ge)var bn=Yt.N,Xn=bn.X;else Xn=Ct.prototype;Yt=ce(xn,function(){if(Object.getPrototypeOf(this)!==Rr)throw new N("Use 'new' to construct "+$e);if(gr.Y===void 0)throw new N($e+" has no accessible constructor");var $r=gr.Y[arguments.length];if($r===void 0)throw new N("Tried to invoke ctor of "+$e+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(gr.Y).toString()+") parameters instead!");return $r.apply(this,arguments)});var Rr=Object.create(Xn,{constructor:{value:Yt}});Yt.prototype=Rr;var gr=new Xe($e,Yt,Rr,Ht,bn,Qe,He,Ve);bn=new $t($e,gr,!0,!1),Xn=new $t($e+"*",gr,!1,!1);var oa=new $t($e+" const*",gr,!1,!0);return Le[F]={pointerType:Xn,la:oa},Wt(xn,Yt),[bn,Xn,oa]})},d:function(F,H,Ae,ge,Ce,Qe,Oe){var He=Dn(Ae,ge);H=U(H),Qe=Gt(Ce,Qe),et([],[F],function(We){function Ve(){Kt("Cannot call "+$e+" due to unbound types",He)}We=We[0];var $e=We.name+"."+H;H.startsWith("@@")&&(H=Symbol[H.substring(2)]);var It=We.N.constructor;return It[H]===void 0?(Ve.Z=Ae-1,It[H]=Ve):(ie(It,H,$e),It[H].S[Ae-1]=Ve),et([],He,function(Ht){return Ht=vn($e,[Ht[0],null].concat(Ht.slice(1)),null,Qe,Oe),It[H].S===void 0?(Ht.Z=Ae-1,It[H]=Ht):It[H].S[Ae-1]=Ht,[]}),[]})},p:function(F,H,Ae,ge,Ce,Qe){0{Kt("Cannot construct "+He.name+" due to unbound types",Oe)},et([],Oe,function(Ve){return Ve.splice(1,0,null),He.N.Y[H-1]=vn(We,Ve,null,Ce,Qe),[]}),[]})},a:function(F,H,Ae,ge,Ce,Qe,Oe,He){var We=Dn(Ae,ge);H=U(H),Qe=Gt(Ce,Qe),et([],[F],function(Ve){function $e(){Kt("Cannot call "+It+" due to unbound types",We)}Ve=Ve[0];var It=Ve.name+"."+H;H.startsWith("@@")&&(H=Symbol[H.substring(2)]),He&&Ve.N.ja.push(H);var Ht=Ve.N.X,xn=Ht[H];return xn===void 0||xn.S===void 0&&xn.className!==Ve.name&&xn.Z===Ae-2?($e.Z=Ae-2,$e.className=Ve.name,Ht[H]=$e):(ie(Ht,H,It),Ht[H].S[Ae-2]=$e),et([],We,function(Yt){return Yt=vn(It,Yt,Ve,Qe,Oe),Ht[H].S===void 0?(Yt.Z=Ae-2,Ht[H]=Yt):Ht[H].S[Ae-2]=Yt,[]}),[]})},A:function(F,H){H=U(H),Bt(F,{name:H,fromWireType:function(Ae){var ge=ae(Ae);return fn(Ae),ge},toWireType:function(Ae,ge){return de(ge)},argPackAdvance:8,readValueFromPointer:it,V:null})},n:function(F,H,Ae){Ae=vt(Ae),H=U(H),Bt(F,{name:H,fromWireType:function(ge){return ge},toWireType:function(ge,Ce){return Ce},argPackAdvance:8,readValueFromPointer:Gn(H,Ae),V:null})},e:function(F,H,Ae,ge,Ce){H=U(H),Ce===-1&&(Ce=4294967295),Ce=vt(Ae);var Qe=He=>He;if(ge===0){var Oe=32-8*Ae;Qe=He=>He<>>Oe}Ae=H.includes("unsigned")?function(He,We){return We>>>0}:function(He,We){return We},Bt(F,{name:H,fromWireType:Qe,toWireType:Ae,argPackAdvance:8,readValueFromPointer:ji(H,Ce,ge!==0),V:null})},b:function(F,H,Ae){function ge(Qe){Qe>>=2;var Oe=E;return new Ce(p,Oe[Qe+1],Oe[Qe])}var Ce=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][H];Ae=U(Ae),Bt(F,{name:Ae,fromWireType:ge,argPackAdvance:8,readValueFromPointer:ge},{ua:!0})},o:function(F,H){H=U(H);var Ae=H==="std::string";Bt(F,{name:H,fromWireType:function(ge){var Ce=E[ge>>2],Qe=ge+4;if(Ae)for(var Oe=Qe,He=0;He<=Ce;++He){var We=Qe+He;if(He==Ce||I[We]==0){if(Oe=Oe?d(I,Oe,We-Oe):"",Ve===void 0)var Ve=Oe;else Ve+="\0",Ve+=Oe;Oe=We+1}}else{for(Ve=Array(Ce),He=0;He=We?He++:2047>=We?He+=2:55296<=We&&57343>=We?(He+=4,++Qe):He+=3}Qe=He}else Qe=Ce.length;if(He=yn(4+Qe+1),We=He+4,E[He>>2]=Qe,Ae&&Oe){if(Oe=We,We=Qe+1,Qe=I,0=$e){var It=Ce.charCodeAt(++Ve);$e=65536+(($e&1023)<<10)|It&1023}if(127>=$e){if(Oe>=We)break;Qe[Oe++]=$e}else{if(2047>=$e){if(Oe+1>=We)break;Qe[Oe++]=192|$e>>6}else{if(65535>=$e){if(Oe+2>=We)break;Qe[Oe++]=224|$e>>12}else{if(Oe+3>=We)break;Qe[Oe++]=240|$e>>18,Qe[Oe++]=128|$e>>12&63}Qe[Oe++]=128|$e>>6&63}Qe[Oe++]=128|$e&63}}Qe[Oe]=0}}else if(Oe)for(Oe=0;Oeg,He=1;else H===4&&(ge=j,Ce=xe,Qe=Re,Oe=()=>E,He=2);Bt(F,{name:Ae,fromWireType:function(We){for(var Ve=E[We>>2],$e=Oe(),It,Ht=We+4,xn=0;xn<=Ve;++xn){var Yt=We+4+xn*H;(xn==Ve||$e[Yt>>He]==0)&&(Ht=ge(Ht,Yt-Ht),It===void 0?It=Ht:(It+="\0",It+=Ht),Ht=Yt+H)}return mt(We),It},toWireType:function(We,Ve){typeof Ve!="string"&&L("Cannot pass non-string to C++ string type "+Ae);var $e=Qe(Ve),It=yn(4+$e+H);return E[It>>2]=$e>>He,Ce(Ve,It+4,$e+H),We!==null&&We.push(mt,It),It},argPackAdvance:8,readValueFromPointer:it,V:function(We){mt(We)}})},k:function(F,H,Ae,ge,Ce,Qe){Et[F]={name:U(H),fa:Gt(Ae,ge),W:Gt(Ce,Qe),ia:[]}},h:function(F,H,Ae,ge,Ce,Qe,Oe,He,We,Ve){Et[F].ia.push({oa:U(H),ta:Ae,ra:Gt(ge,Ce),sa:Qe,za:Oe,ya:Gt(He,We),Aa:Ve})},C:function(F,H){H=U(H),Bt(F,{va:!0,name:H,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(F,H,Ae,ge,Ce){F=rt[F],H=ae(H),Ae=Me(Ae);var Qe=[];return E[ge>>2]=de(Qe),F(H,Ae,Qe,Ce)},t:function(F,H,Ae,ge){F=rt[F],H=ae(H),Ae=Me(Ae),F(H,Ae,null,ge)},g:fn,m:function(F,H){var Ae=Mt(F,H),ge=Ae[0];H=ge.name+"_$"+Ae.slice(1).map(function(Oe){return Oe.name}).join("_")+"$";var Ce=Ge[H];if(Ce!==void 0)return Ce;var Qe=Array(F-1);return Ce=yt((Oe,He,We,Ve)=>{for(var $e=0,It=0;It>>=0,2147483648=Ae;Ae*=2){var ge=H*(1+.2/Ae);ge=Math.min(ge,F+100663296);var Ce=Math;ge=Math.max(F,ge),Ce=Ce.min.call(Ce,2147483648,ge+(65536-ge%65536)%65536);e:{try{u.grow(Ce-p.byteLength+65535>>>16),_();var Qe=1;break e}catch{}Qe=void 0}if(Qe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(F,H,Ae,ge){for(var Ce=0,Qe=0;Qe>2],He=E[H+4>>2];H+=8;for(var We=0;We>2]=Ce,0}};(function(){function F(Ce){t.asm=Ce.exports,u=t.asm.E,_(),R=t.asm.J,Y.unshift(t.asm.F),z--,t.monitorRunDependencies&&t.monitorRunDependencies(z),z==0&&se&&(Ce=se,se=null,Ce())}function H(Ce){F(Ce.instance)}function Ae(Ce){return J().then(function(Qe){return WebAssembly.instantiate(Qe,ge)}).then(function(Qe){return Qe}).then(Ce,function(Qe){l("failed to asynchronously prepare wasm: "+Qe),V(Qe)})}var ge={a:Hn};if(z++,t.monitorRunDependencies&&t.monitorRunDependencies(z),t.instantiateWasm)try{return t.instantiateWasm(ge,F)}catch(Ce){l("Module.instantiateWasm callback failed with error: "+Ce),r(Ce)}return function(){return c||typeof WebAssembly.instantiateStreaming!="function"||oe(ee)||typeof fetch!="function"?Ae(H):fetch(ee,{credentials:"same-origin"}).then(function(Ce){return WebAssembly.instantiateStreaming(Ce,ge).then(H,function(Qe){return l("wasm streaming compile failed: "+Qe),l("falling back to ArrayBuffer instantiation"),Ae(H)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var sn=t.___getTypeName=function(){return(sn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var yn=t._malloc=function(){return(yn=t._malloc=t.asm.I).apply(null,arguments)},mt=t._free=function(){return(mt=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var lt;se=function F(){lt||ni(),lt||(se=F)};function ni(){function F(){if(!lt&&(lt=!0,t.calledRun=!0,!h)){if(q(Y),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var H=t.postRun.shift();M.unshift(H)}q(M)}}if(!(01?a-1:0),c=1;cs?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Tg.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...N8}}const VD=k8(await P8());function So(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const F8={static:0,relative:1,absolute:2},Ly={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},O8={column:0,"column-reverse":1,row:2,"row-reverse":3},G8={"no-wrap":0,wrap:1,"wrap-reverse":2},H8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},z8={visible:0,hidden:1,scroll:2},V8={flex:0,none:1},WD={positionType:(n,e)=>n.setPositionType(So(F8,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(So(Ly,e,4)),alignItems:(n,e)=>n.setAlignItems(So(Ly,e,4)),alignSelf:(n,e)=>n.setAlignSelf(So(Ly,e,0)),flexDirection:(n,e)=>n.setFlexDirection(So(O8,e,2)),flexWrap:(n,e)=>n.setFlexWrap(So(G8,e,0)),justifyContent:(n,e)=>n.setJustifyContent(So(H8,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(So(z8,e,0)),display:(n,e)=>n.setDisplay(So(V8,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function YI(n,e,t,i,r){let s=!1,o,a={};r.push(ut(()=>{const l=n.value;s&&P_(t,l,o,a,i),o=l}),ut(()=>{if(s=e.value,!!s&&o!=null)return P_(t,o,void 0,a,i),()=>{W8(a),a={}}}))}function P_(n,e,t,i,r){const s=l=>i[l]=ut(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};b8(()=>e.filterCompare(n,t,s,a,o))}function W8(n){for(const e in n)n[e]()}const xf=100,JI=VD.Config.create();JI.setUseWebDefaults(!0);JI.setPointScaleFactor(xf);function Y8(n){return n==="measureFunc"?!0:n in WD}function Wo(){const n=ft([!1,!1]);return{size:ft(void 0),relativeCenter:ft(void 0),borderInset:ft(void 0),overflow:ft(oc.Visible),scrollable:n,paddingInset:ft(void 0),maxScrollPosition:ft([void 0,void 0])}}class YD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=ft(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=VD.Node.create(JI),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),YI(t,this.active,Y8,(o,a)=>{WD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*xf+1)/xf,height:Math.ceil(a.height*xf+1)/xf}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),kD(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,c=a.object.current;if(l==null||c==null)return 0;const u=e.indexOf(l);if(u===-1)throw new Error("parent mismatch");const h=e.indexOf(c);if(h===-1)throw new Error("parent mismatch");return u-h});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&J8(i,N_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=N_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,M=D>.5;vu(this.state.maxScrollPosition,Y?R:void 0,M?D:void 0),vu(this.state.scrollable,Y,M)}else vu(this.state.maxScrollPosition,void 0,void 0),vu(this.state.scrollable,!1,!1);const x=this.state.overflow.value===oc.Visible;return[s+Math.max(i,x?y:0),o+Math.max(r,x?E:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function vu(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function U_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function N_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function J8(n,e){return n.M.O===e.M.O}function c0(n,e,t,i){t!=null&&(Py(t.classes,i),i(t)),e!=null&&(Py(e.classes,i),i(e)),n!=null&&(Py(n.classes,i),i(n))}function Py(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class nH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=tH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof pi?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);k_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:k_(i,r)}addAll(e,t,i,r){c0(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function k_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let c,u;return s==null?(c=0,u=0):e>s.elementType?(c=s.majorIndex,u=0):e!=s.elementType||!sH(Cs(t),Cs(s.instancedGroupDependencies))?(c=s.majorIndex+1,u=0):(c=s.majorIndex,u=s.minorIndex+1),a>0&&(c+=a,u=0),u+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:c,minorIndex:u}})}function sH(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function _c(n,e,t){return n[O1]=e,n[G1]=t,n}function Yo(n,e,t,i){let r=!0;i.push(()=>ut(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function ol(n,e,t,i){let r=!0;i.push(()=>ut(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const oH=new K,aH=new K,$p=new K,Uy=new _t,lH=new hA,cH=new ur,Ny=Math.PI/180;function uH([n,e,t]){return cH.setFromEuler(lH.set(n*Ny,e*Ny,t*Ny))}const AH="center",fH="center";function Jo(n,{relativeCenter:e,size:t},i){const r=Xt(n,"transformTranslateX",0),s=Xt(n,"transformTranslateY",0),o=Xt(n,"transformTranslateZ",0),a=Xt(n,"transformRotateX",0),l=Xt(n,"transformRotateY",0),c=Xt(n,"transformRotateZ",0),u=Xt(n,"transformScaleX",1),h=Xt(n,"transformScaleY",1),d=Xt(n,"transformScaleZ",1),p=Xt(n,"transformOriginX",AH),m=Xt(n,"transformOriginY",fH);return Zt(()=>{if(e.value==null)return;const[I,v]=e.value,g=i.value,y=new _t().makeTranslation(I*g,v*g,0);let E=!0;if(p.value!="center"||m.value!="center"){if(t.value==null)return;const[R,D]=t.value;E=!1,$p.set(-v3[p.value]*R*g,-y3[m.value]*D*g,0),y.multiply(Uy.makeTranslation($p)),$p.negate()}const x=[a.value,l.value,c.value],w=[r.value,-s.value,o.value],_=[u.value,h.value,d.value];return(w.some(R=>R!=0)||x.some(R=>R!=0)||_.some(R=>R!=1))&&y.multiply(Uy.compose(oH.fromArray(w).multiplyScalar(g),uH(x),aH.fromArray(_))),E||y.multiply(Uy.makeTranslation($p)),y})}function Xo(n,e,t){t.push(()=>ut(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const hH=Math.cos(45/180*Math.PI),ky=[new mn,new mn,new mn,new mn],F_=new K;class dH{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new K(t,i,0).applyMatrix4(e),this.facePlane=new mn(new K(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,c=t+o,u=-i+a,h=-t+o;this.planes=[new mn(new K(0,-1,0),u).applyMatrix4(e),new mn(new K(-1,0,0),h).applyMatrix4(e),new mn(new K(0,1,0),l).applyMatrix4(e),new mn(new K(1,0,0),c).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=ky[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const c=1-a*a,u=(s.constant-o.constant*a)/c,h=(o.constant-s.constant*a)/c;F_.copy(s.normal).multiplyScalar(u).addScaledVector(o.normal,h),l.constant=-F_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;ky[t].normal.dot(i)>hH;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;ky[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let h=0;h<4;h++){const[d,p]=pH[h];O_[h].set(d*l*o,p*l*a,0).applyMatrix4(r)}const{planes:c}=s;let u;for(let h=0;h<4;h++){const d=c[h];u=!0;for(let p=0;p<4;p++){const m=O_[p];d.distanceToPoint(m)>=0&&(u=!1)}if(u)return!0}return!1})}function u0(n,{overflow:e,borderInset:t,size:i},r,s){return Zt(()=>{const o=n.value;if(o==null||e.value===oc.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[c,u,h,d]=t.value,p=r.value,m=new dH(o,(u-d)*p/2,(c-h)*p/2,(a-d-u)*p,(l-c-h)*p);return s?.value!=null&&m.min(s.value),m})}const H1=new mn(new K(-1,0,0),Number.MAX_SAFE_INTEGER),hm=new Float32Array(16);for(let n=0;n<4;n++)H1.normal.toArray(hm,n*4),hm[n*4+3]=H1.constant;function jh(n,e,t){const i=[new mn,new mn,new mn,new mn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(H1);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function JD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function gH(n,e,t){JD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function mH(n,e,t,i){JD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function vH(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const c=l.add.indexOf(t);if(c!=-1)return l.add.splice(c,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const p=l.add.shift();return l.elements[i]=p,r(p,l,i),!1}const u=l.offset,h=l.elements.length-1;if(h!=i){const p=u+h,m=u+i;a(m,p,p+1);const I=l.elements[h];l.elements[i]=I,o(I,i)}if(s(u+h),l.elements.length-=1,e0;){const p=n[e-1];p.missingSpace+=d.missingSpace,d=n[--e]}return n.length=e+1,!1}function yH(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const c=a.missingSpace<0;for(let u=o-1;u>=0;u--){const h=n[u];if(h.missingSpace===0)continue;const d=h.missingSpace<0;if(d&&(l||c)){G_(n,t,u,o,Math.abs(h.missingSpace));continue}if(!c&&!d)continue;const p=Math.min(Math.abs(h.missingSpace),Math.abs(a.missingSpace));c?EH(n,t,u,o,p):G_(n,t,u,o,p)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),KD=ft(XD?.matches??!1);XD?.addEventListener("change",n=>KD.value=n.matches);const jD=ft("system"),qD=Zt(()=>{switch(jD.value){case"system":return KD.value;case"dark":return!0;case"light":return!1}});function CH(n){jD.value=n}const Ko={dark:Zh(()=>qD.value)};function IH({dark:n,light:e}){const t={};for(const i in n)t[i]=Zt(()=>qD.value?n[i]:e[i]);return t}const ZD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},$D=Object.keys(ZD),BH=$D.length;function jo(n){const e={};for(let t=0;t(n.value?.[0]??0)>ZD[i])}return e}function H_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function Fy(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Qh(n,e,t){return e.xadvance*n+t}function eg(n,e){return n*e}function z1(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const xH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=c}o.charLength=s-a},SH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;s{s=XI(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,c=0;for(;s0&&r!=null&&l>r)break;const h=n[s+1];(h===" "||h===` -`||h==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=c)}};function XI(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);Oy.set(n,s)}).catch(console.error)}async function MH(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await wH.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new DH(t,i)}const V1={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},QH={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function $D(n,e,t,i){const r=ft(void 0),s=qt(n,"fontFamily",void 0),o=qt(n,"fontWeight","normal");return i.push(()=>It(()=>{const a=e?.value??QH;let l=s.value;l==null&&(l=Object.keys(a)[0]);const c=RH(a[l],typeof o.value=="string"?V1[o.value]:o.value);let u=!1;return _H(c,t,h=>u?void 0:r.value=h),()=>u=!0})),r}function RH(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-TH(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const c=t.value,u={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(c)?c.map(h=>Cs(h)).join(""):Cs(c),wordBreak:a.value};return i.current=u,(h,d)=>UH(u,d===Dg.Undefined?void 0:h)})}const e3={"keep-all":xH,"break-all":BH,"break-word":SH},tg={};function UH(n,e){const t=e3[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; +`||h==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=c)}};function XI(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);Oy.set(n,s)}).catch(console.error)}async function QH(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await _H.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new bH(t,i)}const V1={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},RH={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function e3(n,e,t,i){const r=ft(void 0),s=Xt(n,"fontFamily",void 0),o=Xt(n,"fontWeight","normal");return i.push(()=>ut(()=>{const a=e?.value??RH;let l=s.value;l==null&&(l=Object.keys(a)[0]);const c=TH(a[l],typeof o.value=="string"?V1[o.value]:o.value);let u=!1;return MH(c,t,h=>u?void 0:r.value=h),()=>u=!0})),r}function TH(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-DH(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const c=t.value,u={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(c)?c.map(h=>Cs(h)).join(""):Cs(c),wordBreak:a.value};return i.current=u,(h,d)=>NH(u,d===Dg.Undefined?void 0:h)})}const t3={"keep-all":SH,"break-all":xH,"break-word":wH},tg={};function NH(n,e){const t=t3[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; varying vec2 fontUv; attribute vec4 instanceRGBA; varying vec4 rgba; @@ -3888,9 +3888,9 @@ No matching component was found for: } diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); diffuseColor *= rgba; - `)}}}class FH extends rn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new ai;boundingSphere=new fi;constructor(e,t,i,r,s){const o=new Gs;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const H_=new _t,OH=new _t;function t3(n){return Zt(()=>({font:n.value}))}class GH{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(hm,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Rh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;bH(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),H_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(OH.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),H_.toArray(t.array,e),t.needsUpdate=!0}}class HH{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.rootCameraDistance=t,this.object=i}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new zH(this.object,t,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:gi.Text,minorIndex:0})),r}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class zH{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s){this.object=e,this.pixelSize=i,this.rootCameraDistance=r,this.orderInfo=s,this.instanceMaterial=new kH(t)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;oh-d);const l=this.holeIndicies.length;let c=0,u=0;for(;u0)for(let h=this.holeIndicies[0];hIt(()=>i.value?.addLayoutChangeListener(()=>{const _=I.current,{size:{value:R},paddingInset:{value:D},borderInset:{value:Y}}=r;if(_==null||R==null||D==null||Y==null)return;const[Q,P]=R,[z,ne,V,ae]=D,[ee,he,O,J]=Y,Z=Q-ne-ae-he-J,W=P-z-V-ee-O;w.value=NH(_,Z,W)})),()=>It(()=>{const _=l.value;if(_==null||a.value==null)return;const R=new JH(c.getGroup(a.value.majorIndex,_),y,g,E,x,w,t,s,o,u,h,d);return p!=null&&(p.current=R),()=>R.destroy()})),v}const YH=[];class JH{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,c,u,h,d){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=c,this.selectionRange=u,this.selectionBoxes=h,this.caretPosition=d,this.unsubscribeInitialList=[It(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),It(()=>this.updateSelectionBoxes(this.lastLayout,u?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-ig(i,this.verticalAlign.peek());const r=Math.floor(t/-eg(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const u=s[s.length-1];return u.charIndexOffset+u.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let c=l.length;for(let u=0;u=h.charIndexOffset+h.charLength)continue;const d=this.glyphLines[u][Math.max(i-h.charIndexOffset,0)];return{lineIndex:u,x:this.getGlyphX(d,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:V_(t,l.nonWhitespaceWidth,o)-t/2};const c=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(c,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(Pl(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(It(()=>{const e=this.matrix.value;e!=null&&Pl(this.glyphLines,t=>t.updateBaseMatrix(e))}),It(()=>{const e=this.parentClippingRect?.value;Pl(this.glyphLines,t=>t.updateClippingRect(e))}),It(()=>{const e=this.color.value;Pl(this.glyphLines,t=>t.updateColor(e))}),It(()=>{const e=this.opacity.value;Pl(this.glyphLines,t=>t.updateOpacity(e))}),It(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let c=ig(e,this.verticalAlign.value)-e.availableHeight/2;const u=r.length,h=this.group.pixelSize.value;for(let d=0;dv+I){x=P.id;const V=E+G_(i,o,P,x);typeof w[Y]=="number"?w[Y]=E:w.splice(Y,0,V),E+=y+Qh(o,P,s);continue}let z=w[Y];for(;Yd.hide(),u),this.glyphLines.length=u,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Zs.constant=0,Zs.normal.set(0,0,1),Zs.applyMatrix4(i),Zs.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Zs,rg)==null)return;const r=Zs.normal.clone();for(let s=0;s<4;s++){const o=jH[s];if(Zs.copy(o).applyMatrix4(i),(Ul[s]=Zs.distanceToPoint(rg))<0)return}t.push({distance:rg.distanceTo(e.ray.origin),object:n,point:rg.clone(),uv:new Te(Ul[0]/(Ul[0]+Ul[1]),Ul[3]/(Ul[2]+Ul[3])),normal:r})}}function IA(n,e,t,i,r){return(s,o)=>{const a=t instanceof Vt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:c,elementType:u}=r.value,h=o.length;e.call(n,s,o);const d=i?.value?.planes,p=a.matrixWorld;e:for(let m=o.length-1;m>=h;m--){const I=o[m];if(I.distance-=l*.01+u*.001+c*1e-5,d!=null){for(let v=0;v<4;v++)if(Zs.copy(d[v]).applyMatrix4(p),Zs.distanceToPoint(I.point)<0){o.splice(m,1);continue e}}}}}const s3=new st(-1,-1,-1),o3={backgroundColor:s3,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Gy;function Mc(){if(Gy==null){const n={};for(const e in o3)n[e]=e;Gy=qh(n)}return Gy}function qh(n,e){const t={...o3,...e},i={};for(const s in n){const o=qH[s],a=t[s];i[n[s]]=(l,c,u,h,d)=>o(l,c,u??a,h,d)}const r=new Float32Array(16);return Rh(r,4,t.backgroundColor,void 0),Rh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Zt(()=>{if(o.value==null||a.value==null)return!0;const c=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),u=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),h=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),d=o.value.some(v=>v>0)&&c>0,[p,m]=a.value;return!(p>0&&m>0&&(u===-1||u>0)&&h!=s3)&&!d?!1:l==null?!0:!l.value})}}const qH={backgroundColor:(n,e,t,i,r)=>Rh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Rh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>Hy(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>Hy(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>Hy(n,e+15,t,r)};function sg(n,e,t,i,r,s){KH(n,e,t,i,r),s?.(e,1)}function Hy(n,e,t,i){n[e]=t,i?.(e,1)}const ZH=new st;function Rh(n,e,t,i){Array.isArray(t)?n.set(t,e):ZH.set(t).toArray(n,e),i?.(e,3)}function a3(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Kr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Kr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),t9(r,e.type==="instanced")},t}class l3 extends zh{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),u3(e,this.info.type==="instanced")}}class c3 extends Hh{info;constructor(e){super({depthPacking:Um}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),u3(e,this.info.type==="instanced")}}const $H=new c3({type:"instanced"}),e9=new l3({type:"instanced"});function u3(n,e){A3(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include - ${f3(e,void 0)} - `)}function A3(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include + `)}}}class OH extends tn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new ai;boundingSphere=new fi;constructor(e,t,i,r,s){const o=new Gs;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const z_=new _t,GH=new _t;function n3(n){return Zt(()=>({font:n.value}))}class HH{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(hm,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Rh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;LH(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),z_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(GH.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),z_.toArray(t.array,e),t.needsUpdate=!0}}class zH{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(c=>c.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>ut(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>ut(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new VH(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{majorIndex:e,elementType:gi.Text,minorIndex:0})),r}}class VH{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s,o,a){this.renderOrder=e,this.object=i,this.pixelSize=s,this.rootCameraDistance=o,this.orderInfo=a,this.instanceMaterial=new FH(r),this.instanceMaterial.depthTest=t}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;oh-d);const l=this.holeIndicies.length;let c=0,u=0;for(;u0)for(let h=this.holeIndicies[0];hut(()=>i.value?.addLayoutChangeListener(()=>{const _=I.current,{size:{value:R},paddingInset:{value:D},borderInset:{value:Y}}=r;if(_==null||R==null||D==null||Y==null)return;const[M,P]=R,[z,se,V,oe]=D,[ee,he,O,J]=Y,q=M-se-oe-he-J,W=P-z-V-ee-O;w.value=kH(_,q,W)})),()=>ut(()=>{const _=l.value;if(_==null||a.value==null)return;const R=new XH(c.getGroup(a.value.majorIndex,_),y,g,E,x,w,t,s,o,u,h,d);return p!=null&&(p.current=R),()=>R.destroy()})),v}const JH=[];class XH{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,c,u,h,d){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=c,this.selectionRange=u,this.selectionBoxes=h,this.caretPosition=d,this.unsubscribeInitialList=[ut(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),ut(()=>this.updateSelectionBoxes(this.lastLayout,u?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-ig(i,this.verticalAlign.peek());const r=Math.floor(t/-eg(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const u=s[s.length-1];return u.charIndexOffset+u.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let c=l.length;for(let u=0;u=h.charIndexOffset+h.charLength)continue;const d=this.glyphLines[u][Math.max(i-h.charIndexOffset,0)];return{lineIndex:u,x:this.getGlyphX(d,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:W_(t,l.nonWhitespaceWidth,o)-t/2};const c=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(c,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(Pl(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(ut(()=>{const e=this.matrix.value;e!=null&&Pl(this.glyphLines,t=>t.updateBaseMatrix(e))}),ut(()=>{const e=this.parentClippingRect?.value;Pl(this.glyphLines,t=>t.updateClippingRect(e))}),ut(()=>{const e=this.color.value;Pl(this.glyphLines,t=>t.updateColor(e))}),ut(()=>{const e=this.opacity.value;Pl(this.glyphLines,t=>t.updateOpacity(e))}),ut(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let c=ig(e,this.verticalAlign.value)-e.availableHeight/2;const u=r.length,h=this.group.pixelSize.value;for(let d=0;dv+I){x=P.id;const V=E+H_(i,o,P,x);typeof w[Y]=="number"?w[Y]=E:w.splice(Y,0,V),E+=y+Qh(o,P,s);continue}let z=w[Y];for(;Yd.hide(),u),this.glyphLines.length=u,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Zs.constant=0,Zs.normal.set(0,0,1),Zs.applyMatrix4(i),Zs.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Zs,rg)==null)return;const r=Zs.normal.clone();for(let s=0;s<4;s++){const o=qH[s];if(Zs.copy(o).applyMatrix4(i),(Ul[s]=Zs.distanceToPoint(rg))<0)return}t.push({distance:rg.distanceTo(e.ray.origin),object:n,point:rg.clone(),uv:new Te(Ul[0]/(Ul[0]+Ul[1]),Ul[3]/(Ul[2]+Ul[3])),normal:r})}}function IA(n,e,t,i,r){return(s,o)=>{const a=t instanceof Vt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:c,elementType:u}=r.value,h=o.length;e.call(n,s,o);const d=i?.value?.planes,p=a.matrixWorld;e:for(let m=o.length-1;m>=h;m--){const I=o[m];if(I.distance-=l*.01+u*.001+c*1e-5,d!=null){for(let v=0;v<4;v++)if(Zs.copy(d[v]).applyMatrix4(p),Zs.distanceToPoint(I.point)<0){o.splice(m,1);continue e}}}}}const o3=new st(-1,-1,-1),a3={backgroundColor:o3,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Gy;function Mc(){if(Gy==null){const n={};for(const e in a3)n[e]=e;Gy=qh(n)}return Gy}function qh(n,e){const t={...a3,...e},i={};for(const s in n){const o=ZH[s],a=t[s];i[n[s]]=(l,c,u,h,d)=>o(l,c,u??a,h,d)}const r=new Float32Array(16);return Rh(r,4,t.backgroundColor,void 0),Rh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Zt(()=>{if(o.value==null||a.value==null)return!0;const c=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),u=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),h=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),d=o.value.some(v=>v>0)&&c>0,[p,m]=a.value;return!(p>0&&m>0&&(u===-1||u>0)&&h!=o3)&&!d?!1:l==null?!0:!l.value})}}const ZH={backgroundColor:(n,e,t,i,r)=>Rh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&sg(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Rh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>Hy(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>Hy(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>Hy(n,e+15,t,r)};function sg(n,e,t,i,r,s){jH(n,e,t,i,r),s?.(e,1)}function Hy(n,e,t,i){n[e]=t,i?.(e,1)}const $H=new st;function Rh(n,e,t,i){Array.isArray(t)?n.set(t,e):$H.set(t).toArray(n,e),i?.(e,3)}function l3(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Kr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Kr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),n9(r,e.type==="instanced")},t}class c3 extends zh{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),A3(e,this.info.type==="instanced")}}class u3 extends Hh{info;constructor(e){super({depthPacking:Um}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),A3(e,this.info.type==="instanced")}}const e9=new u3({type:"instanced"}),t9=new c3({type:"instanced"});function A3(n,e){f3(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include + ${h3(e,void 0)} + `)}function f3(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include out vec4 borderRadius; ${e?"":"uniform highp mat4 data;"}`),n.vertexShader=n.vertexShader.replace("#include ",` #include highp int packedBorderRadius = int(data[1].w); @@ -4019,7 +4019,7 @@ No matching component was found for: borderWeight = normalize(insideBorder); } - #include `)}function f3(n,e){return`float ddx = fwidth(distance.x); + #include `)}function h3(n,e){return`float ddx = fwidth(distance.x); float outer = smoothstep(-ddx, ddx, distance.x); float ddy = fwidth(distance.y); @@ -4042,8 +4042,8 @@ No matching component was found for: if(outOpacity < 0.01) { discard; - }`}function t9(n,e){A3(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include - ${f3(e,"diffuseColor.a")} + }`}function n9(n,e){f3(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include + ${h3(e,"diffuseColor.a")} diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); diffuseColor.a = outOpacity; `),n.fragmentShader=n.fragmentShader.replace("#include ",` #include @@ -4054,7 +4054,7 @@ No matching component was found for: float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Qc(n,e,t,i,r){const s=new rn(jI);return s.matrixAutoUpdate=!1,s.raycast=IA(s,r3(s),e.object,t,n),s.visible=!1,r.push(()=>It(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class n9 extends rn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new ai;boundingSphere=new fi;constructor(e,t,i){const r=i3();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=$H,this.customDistanceMaterial=e9}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Rc(n){const e=qt(n,"panelMaterialClass",hr),t=qt(n,"castShadow",!1),i=qt(n,"receiveShadow",!1);return Zt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const A0={panelMaterialClass:hr,castShadow:!1,receiveShadow:!1};class i9{pixelSize;root;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.root=t,this.object=i}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=A0){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);if(a==null){const l=a3(t,{type:"instanced"});s.set(o,a=new r9(this.object,l,this.pixelSize,this.root,{elementType:gi.Panel,majorIndex:e,minorIndex:0},i,r))}return a}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class r9{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{zy(this.instanceMatrix,e,t,i),zy(this.instanceData,e,t,i),zy(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a){this.object=e,this.instanceMaterial=t,this.pixelSize=i,this.root=r,this.orderInfo=s,this.meshReceiveShadow=o,this.meshCastShadow=a}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}insert(e,t){if(this.elementCount+=1,!gH(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!mH(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),vH(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),pH(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new Sr(t,16,!1),this.instanceMatrix.setUsage(Ps);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new Sr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Ps);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new Sr(r,16,!1),this.instanceClipping.setUsage(Ps),this.mesh=new n9(this.instanceMatrix,this.instanceData,this.instanceClipping),_c(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function zy(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function uo(n,e,t,i,r,s,o,a,l,c,u,h){return h.push(It(()=>{if(e.value==null)return;const d=[],p=i.getGroup(e.value.majorIndex,t?.value);return new o9(n,p,e.value.minorIndex,r,s,o,a,l,c,u,d),()=>jr(d)})),h}const og=new _t,s9=new _t;class o9{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=ft(!1);constructor(e,t,i,r,s,o,a,l,c,u,h){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=u;const d=u.setters;YI(e,this.active,u.hasProperty,(m,I)=>{const v=this.getIndexInBuffer();if(v==null)return;const{instanceData:g,instanceDataOnUpdate:y}=this.group;d[m](g.array,g.itemSize*v,I,s,y)},h);const p=u.computedIsVisibile(e,a,s,c);h.push(It(()=>{if(p.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(It(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(og.makeScale(s*a,o*a,1),this.offset!=null){const[c,u]=this.offset.value;og.premultiply(s9.makeTranslation(c*a,u*a,0))}og.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;og.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),It(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),It(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),It(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(hm,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new _t().makeTranslation(-r*o,s*o,0).premultiply(i)})}function d0(n,e,t,i){return i.push(()=>It(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function p0(n,{scrollable:e,maxScrollPosition:t,anyAncestorScrollable:i},r,s,o,a,l){const c=Zt(()=>e.value?.some(m=>m)??!1),u=new Map,h=new Te,d=(m,I,v,g,y)=>{if(n.value==null)return;const[E,x]=m==null?[!1,!1]:a9(m.nativeEvent);E&&(I=0),x&&(v=0);const[w,_]=n.value,[R,D]=t.value;let[Y,Q]=n.value;const[P,z]=i?.value??[!1,!1];Y=W_(w,R,I,y&&!P),Q=W_(_,D,v,y&&!z),g!=null&&g>0&&h.set(I,v).divideScalar(g),m!=null&&l9(m.nativeEvent,E||Math.min(w,(R??0)-w)>5,x||Math.min(_,(D??0)-_)>5),!(s.peek()?.onScroll?.(Y,Q,n,m)===!1||w===Y&&_===Q)&&(n.value=[Y,Q])},p=m=>{if(u.size>0||n.value==null)return;let I=0,v=0;const[g,y]=n.value,[E,x]=t.value;I+=W1(g,0,E??0)*-.3,v+=W1(y,0,x??0)*-.3,I+=h.x*m,v+=h.y*m,h.multiplyScalar(.9),Math.abs(h.x)<.01&&(h.x=0),Math.abs(h.y)<.01&&(h.y=0),!(I===0&&v===0)&&d(void 0,I,v,void 0,!0)};return l.push(()=>(a.add(p),()=>a.delete(p))),Zt(()=>{if(c.value)return{onPointerDown:({nativeEvent:m,point:I})=>{let v=u.get(m.pointerId);v==null&&u.set(m.pointerId,v={timestamp:0,point:new K}),v.timestamp=performance.now()/1e3,r.current.worldToLocal(v.point.copy(I))},onPointerUp:({nativeEvent:m})=>u.delete(m.pointerId),onPointerLeave:({nativeEvent:m})=>u.delete(m.pointerId),onPointerCancel:({nativeEvent:m})=>u.delete(m.pointerId),onPointerMove:m=>{const I=u.get(m.nativeEvent.pointerId);if(I==null)return;r.current.worldToLocal(Wy.copy(m.point)),Vy.copy(Wy).sub(I.point).divideScalar(o.peek());const v=performance.now()/1e3,g=v-I.timestamp;I.point.copy(Wy),I.timestamp=v,!m.defaultPrevented&&d(m,-Vy.x,Vy.y,g,!0)},onWheel:m=>{if(m.defaultPrevented)return;const{nativeEvent:I}=m;d(m,I.deltaX,I.deltaY,void 0,!1)}}})}const h3=Symbol("was-scrolled");function a9(n){return n[h3]??[!1,!1]}function l9(n,e,t){n[h3]=[e,t]}function W_(n,e,t,i){if(t===0)return n;const r=W1(n,0,e??0);Y_(t)===Y_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:KI(s,0,e??0)}function Y_(n){return n>=0}function W1(n,e,t){return nt?n-t:0}const c9=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function g0(n,e,t,i,r,s,o,a,l){const c=Li(void 0,gi.Panel,A0,o),u=qt(n,"scrollbarWidth",10),h=qI(n,c9);X_(n,0,e,t,i,r,s,c,a,u,h,l),X_(n,1,e,t,i,r,s,c,a,u,h,l)}let J_;function u9(){return J_??=qh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),J_}function X_(n,e,t,i,r,s,o,a,l,c,u,h){const d=Zt(()=>A9(e,c.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),p=Zt(()=>d.value?.slice(0,2)??[0,0]),m=Zt(()=>d.value?.slice(2,4)??[0,0]);h.push(I=>uo(n,a,void 0,l,r,m,p,u,o,s,u9(),I))}function A9(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,c=t[n]-r[l]-r[l+2],u=Math.max(e,c*c/(o+c)),h=c-u,d=s[n];return a[n]=t[n]*.5-u*.5-r[(n+3)%4]-h*KI(d/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=u,a[l+2]=e,a}function f9(n,e,t,i,r){let s=!1;if(c0(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};ac("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),ac("onPointerUp",n,o),ac("onPointerLeave",n,o)}function qo(n){return{active:Zh(()=>n.value.length>0)}}function ll(n,e){return Zt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function d3(n,e,t,i,...r){t.push(s=>{if(!(i instanceof pi)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(It(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function cl(n,e,t,i,r,s){s.push(o=>{const a=new WD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(It(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const K_=new Map,m0={keepAspectRatio:(n,e)=>{let t=K_.get(n);t==null&&K_.set(n,t=Zt(()=>Cs(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Zo(n,e,t,i,r,s,o){return Zt(()=>{const a={};return h9(a,s?.value),W9(a,n.value,e.value,t.value,i,o),f9(a,n.value,e.value,t.value,r),a})}function h9(n,e){for(const t in e)ac(t,n,e[t])}function ac(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function $o(n,e,t,i,r,s){return Zt(()=>{const o=new tH(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const j_=new st;function p3(n,e,t){const i=qt(n,"color",void 0),r=qt(n,"opacity",1);t.push(()=>It(()=>{let s;Array.isArray(i.value)?s=j_.setRGB(...i.value):i.value!=null&&(s=j_.set(i.value)),Cs(e)?.traverse(o=>{if(!(o instanceof rn))return;const a=o.material;a.color.copy(s??o.userData.color),a.opacity=r.value})}))}const d9=.01,q_=new K,ag=new mn,lg=ft(new _t);function p9(n,e,t,i,r,s,o,a){const l=ft([0,0]),c=ft([]),u=ft([]),h=[];ta(c,h);const d=Zt(()=>Cs(e.value?.pixelSize)??d9),p=$o(n,e,t,{...Ko,...jo(l),...na(c),...qo(u)},{...Z_(d,"sizeX","width"),...Z_(d,"sizeY","height")}),m=ft(void 0),I=g9(a,m,h),v=Wo(void 0);h.push(ne=>{const V=new WD(v,p,I,i,ne);return m.value=V,ne});const g=Jo(p,v,d),y=E9(p,g,v.size,d);Xo(i,y,h);const E=Rc(p),x=Li(void 0,gi.Panel,E,void 0),w={cameraDistance:0},_=new i9(d,w,i);h.push(()=>(a.add(_.onFrame),()=>a.delete(_.onFrame)));const R=()=>{if(i.current==null){w.cameraDistance=0;return}ag.normal.set(0,0,1),ag.constant=0,ag.applyMatrix4(i.current.matrixWorld),q_.setFromMatrixPosition(s().matrixWorld),w.cameraDistance=ag.distanceToPoint(q_)};h.push(()=>(a.add(R),()=>a.delete(R))),h.push(ne=>uo(p,x,E,_,lg,v.size,void 0,v.borderInset,void 0,void 0,Mc(),ne));const D=f0();d0(r,D,d,h);const Y=h0(D,lg,d);g0(p,D,v,lg,void 0,void 0,x,_,h);const Q=p0(D,v,i,e,d,a,h);Yo(n,e,v.size,h);const P=new HH(d,w,i);h.push(()=>(a.add(P.onFrame),()=>a.delete(P.onFrame)));const z=Object.assign(w,{requestCalculateLayout:I,onFrameSet:a,cameraDistance:0,gylphGroupManager:P,object:i,panelGroupManager:_,pixelSize:d,renderer:o,size:v.size});return Object.assign(v,{clippingRect:u0(lg,v,d,void 0),childrenMatrix:Y,node:m,orderInfo:x,initializers:h,interactionPanel:Qc(x,z,void 0,v.size,h),handlers:Zo(n,e,t,c,u,Q),root:z})}function g9(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function Z_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Zt(()=>{const a=Cs(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const m9=new _t,v9="center",y9="center";function E9(n,e,t,i){const r=qt(n,"anchorX",v9),s=qt(n,"anchorY",y9);return Zt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(m9.makeTranslation(m3[r.value]*o*i.value,v3[s.value]*a*i.value,0))})}function C9(n,e,t,i,r,s){const o=ft(void 0),a=Wo(n.anyAncestorScrollable),l=ft([]),c=ft([]),u=[];ta(l,u);const h=$o(e,t,i,{...Ko,...jo(n.root.size),...na(l),...qo(c)});cl(o,a,n,h,r,u);const d=Jo(h,a,n.root.pixelSize);Xo(r,d,u);const p=ll(n.childrenMatrix,d),m=al(n.clippingRect,p,a.size,n.root.pixelSize),I=Rc(h),v=Li(h,gi.Panel,I,n.orderInfo);u.push(x=>uo(h,v,I,n.root.panelGroupManager,p,a.size,void 0,a.borderInset,n.clippingRect,m,Mc(),x));const g=f0();d0(s,g,n.root.pixelSize,u);const y=h0(g,p,n.root.pixelSize);g0(h,g,a,p,m,n.clippingRect,v,n.root.panelGroupManager,u);const E=p0(g,a,r,t,n.root.pixelSize,n.root.onFrameSet,u);return Yo(e,t,a.size,u),ol(e,t,m,u),Object.assign(a,{clippingRect:u0(p,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:v,root:n.root,scrollPosition:g,interactionPanel:Qc(v,n.root,n.clippingRect,a.size,u),handlers:Zo(e,t,i,l,c,E),initializers:u})}const I9="fill";function B9(n,e,t,i,r,s,o){const a=[],l=ft(void 0),c=ft([]),u=ft([]);ta(c,a);const h=Zt(()=>Cs(e.value));d3(l,_9,a,h);const d=Zt(()=>{const D=l.value;if(D==null)return;const Y=D.source.data;return Y.width/Y.height}),p=$o(t,i,r,{...Ko,...jo(n.root.size),...na(c),...qo(u)},m0,D=>D.add("aspectRatio",d)),m=ft(void 0),I=Wo(n.anyAncestorScrollable);cl(m,I,n,p,s,a);const v=Jo(p,I,n.root.pixelSize);Xo(s,v,a);const g=ll(n.childrenMatrix,v),y=al(n.clippingRect,g,I.size,n.root.pixelSize),E=Zt(()=>y.value||l.value==null),x=Li(p,gi.Image,void 0,n.orderInfo),w=f0();d0(o,w,n.root.pixelSize,a);const _=h0(w,g,n.root.pixelSize);g0(p,w,I,g,y,n.clippingRect,x,n.root.panelGroupManager,a);const R=p0(w,I,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Yo(t,i,I.size,a),ol(t,i,y,a),Object.assign(I,{initializers:a,handlers:Zo(t,i,r,c,u,R),interactionPanel:x9(p,l,n,I,x,n.root,E,a),clippingRect:u0(g,I,n.root.pixelSize,n.clippingRect),childrenMatrix:_,node:m,orderInfo:x,root:n.root})}let $_;function g3(){return $_??=qh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),$_}function x9(n,e,t,i,r,s,o,a){const l=new rn(jI);l.matrixAutoUpdate=!1;const c=jh(s,t.clippingRect,a),u=g3().computedIsVisibile(n,i.borderInset,i.size,o);return M9(n,l,i.size,i.borderInset,u,c,a),l.raycast=IA(l,r3(l),s.object,t.clippingRect,r),_c(l,s,r),S9(n,e,i.borderInset,i.size,a),a.push(()=>It(()=>l.visible=u.value)),a.push(()=>It(()=>{const h=e.value??null;l.material.map!==h&&(l.material.map=h,l.material.needsUpdate=!0)}),()=>It(()=>{if(i.size.value==null)return;const[h,d]=i.size.value,p=t.root.pixelSize.value;l.scale.set(h*p,d*p,1),l.updateMatrix()})),l}function S9(n,e,t,i,r){const s=qt(n,"fit",I9);r.push(()=>It(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){eM(t,i,o);return}const{width:a,height:l}=o.source.data,c=a/l,[u,h]=i.value,[d,p,m,I]=t.value,v=(u-I-p)/(h-d-m);c>v?o.matrix.translate(-(.5*(v-c))/v,0).scale(v/c,1):o.matrix.translate(0,-(.5*(c-v))/c).scale(1,c/v),eM(t,i,o)}))}function eM(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,c=i-l-o,u=r-s-a;t.matrix.translate(-1+(l+c)/i,-1+(s+u)/r).scale(i/c,r/u)}const w9=new r0;async function _9(n){if(n==null)return Promise.resolve(void 0);if(n instanceof Qn)return Promise.resolve(n);try{const e=await w9.loadAsync(n);return e.colorSpace=Yn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function M9(n,e,t,i,r,s,o){const a=new Float32Array(16),l={data:a,type:"normal"};e.customDepthMaterial=new c3(l),e.customDistanceMaterial=new l3(l),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const c=qt(n,"panelMaterialClass",hr);o.push(()=>It(()=>{e.material=a3(c.value,l),e.material.clippingPlanes=s}),()=>It(()=>e.castShadow=n.value.read("castShadow",!1)),()=>It(()=>e.receiveShadow=n.value.read("receiveShadow",!1)));const u=g3(),h=[];o.push(()=>It(()=>{if(r.value)return a.set(u.defaultData),h.push(It(()=>t.value!=null&&a.set(t.value,13)),It(()=>i.value!=null&&a.set(i.value,0))),()=>jr(h)}));const d=u.setters;o.push(p=>(YI(n,r,u.hasProperty,(m,I)=>d[m](a,0,I,t,void 0),p),p))}function Q9(n,e,t,i,r,s,o){const a=ft([]),l=ft([]),c=[];ta(a,c);const u=$o(i,r,s,{...Ko,...jo(n.root.size),...na(a),...qo(l)}),h=ft(void 0),d=Wo(n.anyAncestorScrollable);cl(h,d,n,u,o,c);const p=Jo(u,d,n.root.pixelSize);Xo(o,p,c);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,d.size,n.root.pixelSize),v=Rc(u),g=Li(u,gi.Panel,v,n.orderInfo);c.push(w=>uo(u,g,v,n.root.panelGroupManager,m,d.size,void 0,d.borderInset,n.clippingRect,I,Mc(),w));const y=$D(u,t,n.root.renderer,c),E=Li(void 0,gi.Text,t3(y),g),x=n3(u,e,m,h,d,I,n.clippingRect,E,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,c);return c.push(()=>It(()=>h.value?.setMeasureFunc(x))),Yo(i,r,d.size,c),ol(i,r,I,c),Object.assign(d,{interactionPanel:Qc(g,n.root,n.clippingRect,d.size,c),handlers:Zo(i,r,s,a,l),initializers:c})}const R9=Yn;class BA extends pr{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new lo(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(G,k){if(G.nodeType!==1)return;const N=x(G);let L=!1,oe=null;switch(G.nodeName){case"svg":k=m(G,k);break;case"style":s(G);break;case"g":k=m(G,k);break;case"path":k=m(G,k),G.hasAttribute("d")&&(oe=r(G));break;case"rect":k=m(G,k),oe=l(G);break;case"polygon":k=m(G,k),oe=c(G);break;case"polyline":k=m(G,k),oe=u(G);break;case"circle":k=m(G,k),oe=h(G);break;case"ellipse":k=m(G,k),oe=d(G);break;case"line":k=m(G,k),oe=p(G);break;case"defs":L=!0;break;case"use":k=m(G,k);const pe=(G.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),U=G.viewportElement.getElementById(pe);U?i(U,k):console.warn("SVGLoader: 'use node' references non-existent node id: "+pe);break}oe&&(k.fill!==void 0&&k.fill!=="none"&&oe.color.setStyle(k.fill,R9),_(oe,W),z.push(oe),oe.userData={node:G,style:k});const de=G.childNodes;for(let fe=0;fe0?W.copy(V[V.length-1]):W.identity())}function r(G){const k=new wa,N=new Te,L=new Te,oe=new Te;let de=!0,fe=!1;const pe=G.getAttribute("d");if(pe===""||pe==="none")return null;const U=pe.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,se=U.length;me0&&(N.copy(oe),k.currentPath.currentPoint.copy(N),de=!0);break;default:console.warn(le)}fe=!1}return k}function s(G){if(!(!G.sheet||!G.sheet.cssRules||!G.sheet.cssRules.length))for(let k=0;koe.trim());for(let oe=0;oefe!==""));ne[L[oe]]=Object.assign(ne[L[oe]]||{},de)}}}function o(G,k,N,L,oe,de,fe,pe){if(k==0||N==0){G.lineTo(pe.x,pe.y);return}L=L*Math.PI/180,k=Math.abs(k),N=Math.abs(N);const U=(fe.x-pe.x)/2,me=(fe.y-pe.y)/2,se=Math.cos(L)*U+Math.sin(L)*me,le=-Math.sin(L)*U+Math.cos(L)*me;let ue=k*k,we=N*N;const X=se*se,M=le*le,b=X/ue+M/we;if(b>1){const De=Math.sqrt(b);k=De*k,N=De*N,ue=k*k,we=N*N}const q=ue*M+we*X,Se=(ue*we-q)/q;let Be=Math.sqrt(Math.max(0,Se));oe===de&&(Be=-Be);const ye=Be*k*le/N,Le=-Be*N*se/k,Fe=Math.cos(L)*ye-Math.sin(L)*Le+(fe.x+pe.x)/2,ze=Math.sin(L)*ye+Math.cos(L)*Le+(fe.y+pe.y)/2,Ne=a(1,0,(se-ye)/k,(le-Le)/N),je=a((se-ye)/k,(le-Le)/N,(-se-ye)/k,(-le-Le)/N)%(Math.PI*2);G.currentPath.absellipse(Fe,ze,k,N,Ne,Ne+je,de===0,L)}function a(G,k,N,L){const oe=G*N+k*L,de=Math.sqrt(G*G+k*k)*Math.sqrt(N*N+L*L);let fe=Math.acos(Math.max(-1,Math.min(1,oe/de)));return G*L-k*N<0&&(fe=-fe),fe}function l(G){const k=E(G.getAttribute("x")||0),N=E(G.getAttribute("y")||0),L=E(G.getAttribute("rx")||G.getAttribute("ry")||0),oe=E(G.getAttribute("ry")||G.getAttribute("rx")||0),de=E(G.getAttribute("width")),fe=E(G.getAttribute("height")),pe=1-.551915024494,U=new wa;return U.moveTo(k+L,N),U.lineTo(k+de-L,N),(L!==0||oe!==0)&&U.bezierCurveTo(k+de-L*pe,N,k+de,N+oe*pe,k+de,N+oe),U.lineTo(k+de,N+fe-oe),(L!==0||oe!==0)&&U.bezierCurveTo(k+de,N+fe-oe*pe,k+de-L*pe,N+fe,k+de-L,N+fe),U.lineTo(k+L,N+fe),(L!==0||oe!==0)&&U.bezierCurveTo(k+L*pe,N+fe,k,N+fe-oe*pe,k,N+fe-oe),U.lineTo(k,N+oe),(L!==0||oe!==0)&&U.bezierCurveTo(k,N+oe*pe,k+L*pe,N,k+L,N),U}function c(G){function k(de,fe,pe){const U=E(fe),me=E(pe);oe===0?L.moveTo(U,me):L.lineTo(U,me),oe++}const N=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,L=new wa;let oe=0;return G.getAttribute("points").replace(N,k),L.currentPath.autoClose=!0,L}function u(G){function k(de,fe,pe){const U=E(fe),me=E(pe);oe===0?L.moveTo(U,me):L.lineTo(U,me),oe++}const N=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,L=new wa;let oe=0;return G.getAttribute("points").replace(N,k),L.currentPath.autoClose=!1,L}function h(G){const k=E(G.getAttribute("cx")||0),N=E(G.getAttribute("cy")||0),L=E(G.getAttribute("r")||0),oe=new Wa;oe.absarc(k,N,L,0,Math.PI*2);const de=new wa;return de.subPaths.push(oe),de}function d(G){const k=E(G.getAttribute("cx")||0),N=E(G.getAttribute("cy")||0),L=E(G.getAttribute("rx")||0),oe=E(G.getAttribute("ry")||0),de=new Wa;de.absellipse(k,N,L,oe,0,Math.PI*2);const fe=new wa;return fe.subPaths.push(de),fe}function p(G){const k=E(G.getAttribute("x1")||0),N=E(G.getAttribute("y1")||0),L=E(G.getAttribute("x2")||0),oe=E(G.getAttribute("y2")||0),de=new wa;return de.moveTo(k,N),de.lineTo(L,oe),de.currentPath.autoClose=!1,de}function m(G,k){k=Object.assign({},k);let N={};if(G.hasAttribute("class")){const fe=G.getAttribute("class").split(/\s/).filter(Boolean).map(pe=>pe.trim());for(let pe=0;pe0&&k.premultiply(V[V.length-1]),W.copy(k),V.push(k),k}function w(G){const k=new Pt,N=ae;if(G.nodeName==="use"&&(G.hasAttribute("x")||G.hasAttribute("y"))){const L=E(G.getAttribute("x")),oe=E(G.getAttribute("y"));k.translate(L,oe)}if(G.hasAttribute("transform")){const L=G.getAttribute("transform").split(")");for(let oe=L.length-1;oe>=0;oe--){const de=L[oe].trim();if(de==="")continue;const fe=de.indexOf("("),pe=de.length;if(fe>0&&fe=1){const se=me[0];let le=0;me.length>=2&&(le=me[1]),N.translate(se,le)}break;case"rotate":if(me.length>=1){let se=0,le=0,ue=0;se=me[0]*Math.PI/180,me.length>=3&&(le=me[1],ue=me[2]),ee.makeTranslation(-le,-ue),he.makeRotation(se),O.multiplyMatrices(he,ee),ee.makeTranslation(le,ue),N.multiplyMatrices(ee,O)}break;case"scale":if(me.length>=1){const se=me[0];let le=se;me.length>=2&&(le=me[1]),N.scale(se,le)}break;case"skewX":me.length===1&&N.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&N.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&N.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}k.premultiply(N)}}return k}function _(G,k){function N(fe){Z.set(fe.x,fe.y,1).applyMatrix3(k),fe.set(Z.x,Z.y)}function L(fe){const pe=fe.xRadius,U=fe.yRadius,me=Math.cos(fe.aRotation),se=Math.sin(fe.aRotation),le=new K(pe*me,pe*se,0),ue=new K(-U*se,U*me,0),we=le.applyMatrix3(k),X=ue.applyMatrix3(k),M=ae.set(we.x,X.x,0,we.y,X.y,0,0,0,1),b=ee.copy(M).invert(),Be=he.copy(b).transpose().multiply(b).elements,ye=P(Be[0],Be[1],Be[4]),Le=Math.sqrt(ye.rt1),Fe=Math.sqrt(ye.rt2);if(fe.xRadius=1/Le,fe.yRadius=1/Fe,fe.aRotation=Math.atan2(ye.sn,ye.cs),!((fe.aEndAngle-fe.aStartAngle)%(2*Math.PI){const{x:it,y:Ye}=new K(Math.cos(Ze),Math.sin(Ze),0).applyMatrix3(De);return Math.atan2(Ye,it)};fe.aStartAngle=yt(fe.aStartAngle),fe.aEndAngle=yt(fe.aEndAngle),R(k)&&(fe.aClockwise=!fe.aClockwise)}}function oe(fe){const pe=Y(k),U=Q(k);fe.xRadius*=pe,fe.yRadius*=U;const me=pe>Number.EPSILON?Math.atan2(k.elements[1],k.elements[0]):Math.atan2(-k.elements[3],k.elements[4]);fe.aRotation+=me,R(k)&&(fe.aStartAngle*=-1,fe.aEndAngle*=-1,fe.aClockwise=!fe.aClockwise)}const de=G.subPaths;for(let fe=0,pe=de.length;feNumber.EPSILON}function Y(G){const k=G.elements;return Math.sqrt(k[0]*k[0]+k[1]*k[1])}function Q(G){const k=G.elements;return Math.sqrt(k[3]*k[3]+k[4]*k[4])}function P(G,k,N){let L,oe,de,fe,pe;const U=G+N,me=G-N,se=Math.sqrt(me*me+4*k*k);return U>0?(L=.5*(U+se),pe=1/L,oe=G*pe*N-k*pe*k):U<0?oe=.5*(U-se):(L=.5*se,oe=-.5*se),me>0?de=me+se:de=me-se,Math.abs(de)>2*Math.abs(k)?(pe=-2*k/de,fe=1/Math.sqrt(1+pe*pe),de=pe*fe):Math.abs(k)===0?(de=1,fe=0):(pe=-.5*de/k,de=1/Math.sqrt(1+pe*pe),fe=pe*de),me>0&&(pe=de,de=-fe,fe=pe),{rt1:L,rt2:oe,cs:de,sn:fe}}const z=[],ne={},V=[],ae=new Pt,ee=new Pt,he=new Pt,O=new Pt,J=new Te,Z=new K,W=new Pt,ce=new DOMParser().parseFromString(e,"image/svg+xml");return i(ce.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:z,xml:ce.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(I,v,g,y){const E=I.x,x=v.x,w=g.x,_=y.x,R=I.y,D=v.y,Y=g.y,Q=y.y,P=(_-w)*(R-Y)-(Q-Y)*(E-w),z=(x-E)*(R-Y)-(D-R)*(E-w),ne=(Q-Y)*(x-E)-(_-w)*(D-R),V=P/ne,ae=z/ne;if(ne===0&&P!==0||V<=0||V>=1||ae<0||ae>1)return null;if(P===0&&ne===0){for(let ee=0;ee<2;ee++)if(o(ee===0?g:y,I,v),r.loc==i.ORIGIN){const he=ee===0?g:y;return{x:he.x,y:he.y,t:r.t}}else if(r.loc==i.BETWEEN){const he=+(E+r.t*(x-E)).toPrecision(10),O=+(R+r.t*(D-R)).toPrecision(10);return{x:he,y:O,t:r.t}}return null}else{for(let O=0;O<2;O++)if(o(O===0?g:y,I,v),r.loc==i.ORIGIN){const J=O===0?g:y;return{x:J.x,y:J.y,t:r.t}}const ee=+(E+V*(x-E)).toPrecision(10),he=+(R+V*(D-R)).toPrecision(10);return{x:ee,y:he,t:V}}}function o(I,v,g){const y=g.x-v.x,E=g.y-v.y,x=I.x-v.x,w=I.y-v.y,_=y*w-x*E;if(I.x===v.x&&I.y===v.y){r.loc=i.ORIGIN,r.t=0;return}if(I.x===g.x&&I.y===g.y){r.loc=i.DESTINATION,r.t=1;return}if(_<-Number.EPSILON){r.loc=i.LEFT;return}if(_>Number.EPSILON){r.loc=i.RIGHT;return}if(y*x<0||E*w<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+E*E)Q.t<=Y.t+Number.EPSILON&&Q.t>=Y.t-Number.EPSILON)===void 0&&(g.push(Y),y.push(new Te(Y.x,Y.y)))}}return y}function l(I,v,g){const y=new Te;v.getCenter(y);const E=[];return g.forEach(x=>{x.boundingBox.containsPoint(y)&&a(I,x.points).forEach(_=>{E.push({identifier:x.identifier,isCW:x.isCW,point:_})})}),E.sort((x,w)=>x.point.x-w.point.x),E}function c(I,v,g,y,E){(E==null||E==="")&&(E="nonzero");const x=new Te;I.boundingBox.getCenter(x);const w=[new Te(g,x.y),new Te(y,x.y)],_=l(w,I.boundingBox,v);_.sort((z,ne)=>z.point.x-ne.point.x);const R=[],D=[];_.forEach(z=>{z.identifier===I.identifier?R.push(z):D.push(z)});const Y=R[0].point.x,Q=[];let P=0;for(;P0&&Q[Q.length-1]===D[P].identifier?Q.pop():Q.push(D[P].identifier),P++;if(Q.push(I.identifier),E==="evenodd"){const z=Q.length%2===0,ne=Q[Q.length-2];return{identifier:I.identifier,isHole:z,for:ne}}else if(E==="nonzero"){let z=!0,ne=null,V=null;for(let ae=0;ae{const v=I.getPoints();let g=-999999999,y=999999999,E=-999999999,x=999999999;for(let w=0;wg&&(g=_.y),_.yE&&(E=_.x),_.x=x&&(u=x-1),{curves:I.curves,points:v,isCW:ks.isClockWise(v),identifier:-1,boundingBox:new rD(new Te(x,y),new Te(E,g))}});d=d.filter(I=>I.points.length>1);for(let I=0;Ic(I,d,u,h,e.userData?e.userData.style.fillRule:void 0)),m=[];return d.forEach(I=>{if(!p[I.identifier].isHole){const g=new Ya;g.curves=I.curves,p.filter(E=>E.isHole&&E.for===I.identifier).forEach(E=>{const x=d[E.identifier],w=new Wa;w.curves=x.curves,g.holes.push(w)}),m.push(g)}}),m}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(BA.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new kt;return l.setAttribute("position",new pt(s,3)),l.setAttribute("normal",new pt(o,3)),l.setAttribute("uv",new pt(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const c=new Te,u=new Te,h=new Te,d=new Te,p=new Te,m=new Te,I=new Te,v=new Te,g=new Te,y=new Te,E=new Te,x=new Te,w=new Te,_=new Te,R=new Te,D=new Te,Y=new Te;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const Q=e.length;if(Q<2)return 0;const P=e[0].equals(e[Q-1]);let z,ne=e[0],V;const ae=t.strokeWidth/2,ee=1/(Q-1);let he=0,O,J,Z,W,ce=!1,Ee=0,G=l*3,k=l*2;N(e[0],e[1],c).multiplyScalar(ae),v.copy(e[0]).sub(c),g.copy(e[0]).add(c),y.copy(v),E.copy(g);for(let se=1;seNumber.EPSILON){const we=ae/ue;h.multiplyScalar(-we),d.subVectors(z,ne),p.copy(d).setLength(we).add(h),D.copy(p).negate();const X=p.length(),M=d.length();d.divideScalar(M),m.subVectors(V,z);const b=m.length();switch(m.divideScalar(b),d.dot(D)=r&&ue.push(se[we]);return ue.push(se[se.length-1]),ue}}}function T9(n,e,t,i,r,s,o){const a=[],l=ft([]),c=ft([]);ta(l,a);const u=ft(void 0),h=$o(t,i,r,{...Ko,...jo(n.root.size),...na(l),...qo(c)},m0,P=>P.add("aspectRatio",u)),d=ft(void 0),p=Wo(n.anyAncestorScrollable);cl(d,p,n,h,s,a);const m=Jo(h,p,n.root.pixelSize);Xo(s,m,a);const I=ll(n.childrenMatrix,m),v=al(n.clippingRect,I,p.size,n.root.pixelSize),g=Rc(h),y=Li(h,gi.Panel,g,n.orderInfo);a.push(P=>uo(h,y,g,n.root.panelGroupManager,I,p.size,void 0,p.borderInset,n.clippingRect,v,Mc(),P));const E=Li(void 0,gi.Svg,void 0,y),x=Zt(()=>Cs(e.value)),w=ft(void 0),_=jh(n.root,n.clippingRect,a);d3(w,L9,a,x,n.root,_,n.clippingRect,E,u),p3(h,w,a);const R=D9(p,n.root.pixelSize,w,u,v,a),D=f0();d0(o,D,n.root.pixelSize,a);const Y=h0(D,I,n.root.pixelSize);g0(h,D,p,I,v,n.clippingRect,E,n.root.panelGroupManager,a);const Q=p0(D,p,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Yo(t,i,p.size,a),ol(t,i,v,a),Object.assign(p,{clippingRect:u0(I,p,n.root.pixelSize,n.clippingRect),childrenMatrix:Y,node:d,orderInfo:E,root:n.root,initializers:a,centerGroup:R,handlers:Zo(t,i,r,l,c,Q),interactionPanel:Qc(E,n.root,n.clippingRect,p.size,a)})}function D9(n,e,t,i,r,s){const o=new Do;return o.matrixAutoUpdate=!1,s.push(()=>It(()=>{y3(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>It(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>It(()=>void(o.visible=t.value!=null&&!r.value))),o}const b9=new BA,cg=new ai,Nl=new K;async function L9(n,e,t,i,r,s){const o=new Do;o.matrixAutoUpdate=!1;const a=await b9.loadAsync(n);cg.makeEmpty();for(const c of a.paths){const u=BA.createShapes(c),h=new hr;h.transparent=!0,h.depthWrite=!1,h.toneMapped=!1,h.clippingPlanes=t;for(const d of u){const p=new mA(d);p.computeBoundingBox(),cg.union(p.boundingBox);const m=new rn(p,h);m.matrixAutoUpdate=!1,m.raycast=IA(m,m.raycast,e.object,i,r),_c(m,e,r),m.userData.color=c.color,m.scale.y=-1,m.updateMatrix(),o.add(m)}}cg.getSize(Nl),s.value=Nl.x/Nl.y;const l=1/Nl.y;return o.scale.set(1,1,1).multiplyScalar(l),cg.getCenter(Nl),Nl.y*=-1,o.position.copy(Nl).negate().multiplyScalar(l),o.updateMatrix(),o}function P9(n,e,t,i,r,s,o,a){const l=[],c=ft([]),u=ft([]);ta(c,l);const h=$o(r,s,o,{...Ko,...jo(n.root.size),...na(c),...qo(u)},m0,w=>{w.add("aspectRatio",t/i),w.add("width",t),w.add("height",i)}),d=Wo(n.anyAncestorScrollable);cl(void 0,d,n,h,a,l);const p=Jo(h,d,n.root.pixelSize);Xo(a,p,l);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,d.size,n.root.pixelSize),v=Rc(h),g=Li(h,gi.Panel,v,n.orderInfo);l.push(w=>uo(h,g,v,n.root.panelGroupManager,m,d.size,void 0,d.borderInset,n.clippingRect,I,Mc(),w));const y=Li(void 0,gi.Svg,void 0,g),E=jh(n.root,n.clippingRect,l),x=N9(h,e,t,i,n,y,d,I,E,l);return Yo(r,s,d.size,l),ol(r,s,I,l),Object.assign(d,{initializers:l,iconGroup:x,handlers:Zo(r,s,o,c,u),interactionPanel:Qc(y,n.root,n.clippingRect,d.size,l)})}const U9=new BA;function N9(n,e,t,i,r,s,o,a,l,c){const u=new Do;u.matrixAutoUpdate=!1;const h=U9.parse(e);for(const p of h.paths){const m=BA.createShapes(p),I=new hr;I.transparent=!0,I.depthWrite=!1,I.toneMapped=!1,I.clippingPlanes=l;for(const v of m){const g=new mA(v);g.computeBoundingBox();const y=new rn(g,I);y.matrixAutoUpdate=!1,y.raycast=IA(y,y.raycast,r.root.object,r.clippingRect,s),_c(y,r.root,s),y.userData.color=p.color,y.scale.y=-1,y.updateMatrix(),u.add(y)}}const d=t/i;return c.push(()=>It(()=>{y3(u.position,u.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,d),u.position.x-=u.scale.x*d/2,u.position.y+=u.scale.x/2,u.scale.divideScalar(i),u.updateMatrix()}),()=>It(()=>void(u.visible=!a.value))),p3(n,u,c),u}function k9(n,e,t,i,r,s){const o=ft([]),a=ft([]),l=[];ta(o,l);const c=$o(e,t,i,{...Ko,...jo(n.root.size),...na(o),...qo(a)}),u=Wo(n.anyAncestorScrollable);cl(void 0,u,n,c,r,l);const h=Jo(c,u,n.root.pixelSize);Xo(r,h,l);const d=ll(n.childrenMatrix,h),p=al(n.clippingRect,d,u.size,n.root.pixelSize),m=Li(c,gi.Custom,void 0,n.orderInfo),I=jh(n.root,n.clippingRect,l);return l.push(v=>{const g=s.current;return g==null||(g.matrixAutoUpdate=!1,g.material instanceof Si&&(g.material.clippingPlanes=I,g.material.needsUpdate=!0,g.material.shadowSide=Kr),g.raycast=IA(g,g.raycast,n.root.object,n.clippingRect,m),_c(g,n.root,m),v.push(It(()=>g.receiveShadow=c.value.read("receiveShadow",!1)),It(()=>g.castShadow=c.value.read("castShadow",!1)),It(()=>{if(u.size.value==null)return;const[y,E]=u.size.value,x=n.root.pixelSize.value;g.scale.set(y*x,E*x,1),g.updateMatrix()}),It(()=>void(g.visible=!p.value)))),v}),Yo(e,t,u.size,l),ol(e,t,p,l),Object.assign(u,{root:n.root,handlers:Zo(e,t,i,o,a),initializers:l})}function F9(n,e,t,i,r,s){const o=ft([]),a=ft([]),l=[],c=Wo(n.anyAncestorScrollable);ta(o,l);const u=ft(new K(1,1,1)),h=Zt(()=>u.value.x/u.value.y),d=$o(e,t,i,{...Ko,...jo(n.root.size),...na(o),...qo(a)},m0,E=>E.add("aspectRatio",h));cl(void 0,c,n,d,r,l);const p=Jo(d,c,n.root.pixelSize);Xo(r,p,l);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,c.size,n.root.pixelSize),v=Rc(d),g=Li(d,gi.Panel,v,n.orderInfo);l.push(E=>uo(d,g,v,n.root.panelGroupManager,m,c.size,void 0,c.borderInset,n.clippingRect,I,Mc(),E));const y=Li(void 0,gi.Object,void 0,g);return Yo(e,t,c.size,l),ol(e,t,I,l),Object.assign(c,{remeasureContent:H9(d,n.root,c,n.clippingRect,y,u,s,l),interactionPanel:Qc(g,n.root,n.clippingRect,c.size,l),handlers:Zo(e,t,i,o,a),initializers:l})}const Yy=new ai,tM=new K().setScalar(.001),O9=new K,G9="back";function H9(n,e,t,i,r,s,o,a){const l=jh(e,i,a),c=qt(n,"depthAlign",G9),u=qt(n,"keepAspectRatio",!0),h=new K,d=new K,p=()=>{const m=o.current;if(m==null){h.copy(tM),d.set(0,0,0);return}m.traverse(v=>{v instanceof rn&&(_c(v,e,r),v.material.clippingPlanes=l,v.material.needsUpdate=!0,v.raycast=IA(v,v.raycast,e.object,i,r))});const I=m.parent;m.parent=null,Yy.setFromObject(m),Yy.getSize(h).max(tM),s.value=h,I!=null&&(m.parent=I),Yy.getCenter(d)};return a.push(m=>{const I=o.current;return I==null||(p(),m.push(It(()=>{const{size:{value:v},paddingInset:{value:g},borderInset:{value:y}}=t;if(v==null||g==null||y==null)return;const[E,x]=v,[w,_,R,D]=g,[Y,Q,P,z]=y,ne=w+Y,V=_+Q,ae=R+P,ee=D+z,he=E-ee-V,O=x-ne-ae,J=e.pixelSize.value;I.scale.set(he*J,O*J,u.value?O*J*h.z/h.y:h.z).divide(h),I.position.copy(d).negate(),I.position.z-=V9[c.value]*h.z,I.position.multiply(I.scale),I.position.add(O9.set((ee-V)*.5*J,(ae-ne)*.5*J,0)),I.updateMatrix()}))),m}),p}function z9(n,e,t,i,r,s){if(r instanceof ui){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof dA){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function jr(n){const e=n.length;for(let t=0;to){e.setScalar(_*s);return}e.setScalar(w*s/o)}function Cs(n){return n instanceof pi?n.value:n}function Zh(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Zt(()=>n()?Cs(s):void 0)),i.add(r,o)}}}function qI(n,e){const t=e.map(i=>qt(n,i,0));return Zt(()=>t.map(i=>i.value))}function ta(n,e){e.push(()=>()=>E3(n))}function W9(n,e,t,i,r,s){let o=!1;c0(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}ac("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&Y9(r,a)}),ac("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(c=>c!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),E3(r)})}function na(n){return{hover:Zh(()=>n.value.length>0)}}const Y1=[],bg=[];function Y9(n,e){Y1.push(n),bg.push(e),document.body.style.cursor=e}function E3(n){const e=Y1.indexOf(n);e!=-1&&(Y1.splice(e,1),bg.splice(e,1),document.body.style.cursor=bg[bg.length-1]??"default")}const J9=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let nM;function X9(){return nM??=qh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),nM}function K9(n,e,t,i,r,s,o,a){const l=Li(void 0,gi.Panel,A0,r),c=ft(void 0);a.push(()=>It(()=>{const d=t.value;d==null&&(c.value=void 0),c.value=d;const p=setInterval(()=>c.value=c.peek()==null?d:void 0,500);return()=>clearInterval(p)}));const u=qI(n,J9),h=qt(n,"caretWidth",1.5);a.push(d=>uo(n,l,void 0,o,e,Zt(()=>{const p=c.value;return p==null?[0,0]:[h.value,p[2]]}),Zt(()=>{const p=c.value;return p==null?[0,0]:[p[0]-h.value/2,p[1]]}),u,s,i,X9(),d))}const j9=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let iM;function q9(){return iM??=qh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),iM}function Z9(n,e,t,i,r,s,o,a){const l=[],c=Li(void 0,gi.Panel,A0,r),u=qI(n,j9);return a.push(()=>It(()=>{const h=t.value,d=h.length;for(let m=0;m()=>{const h=l.length;for(let d=0;dn.value)}}const J1=new Set;function ez(n){J1.add(n)}const tz={onPointerDown:n=>{document.activeElement instanceof HTMLElement&&J1.has(n.nativeEvent)&&(J1.delete(n.nativeEvent),n.preventDefault())}};function nz(n,e,t,i,r,s,o,a,l){const c=ft([]),u=ft([]),h=ft(!1),d=[];ta(c,d);const p=$o(s,o,a,{...Ko,...jo(n.root.size),...na(c),...qo(u),...$9(h)},void 0,he=>{c0(s.value,o.value,a.value,O=>{he.add("caretOpacity",O.opacity),he.add("caretColor",O.color)})}),m=Wo(n.anyAncestorScrollable),I=ft(void 0);cl(I,m,n,p,l,d);const v=Jo(p,m,n.root.pixelSize);Xo(l,v,d);const g=ll(n.childrenMatrix,v),y=al(n.clippingRect,g,m.size,n.root.pixelSize),E=Rc(p),x=Li(p,gi.Panel,E,n.orderInfo);d.push(he=>uo(p,x,E,n.root.panelGroupManager,g,m.size,void 0,m.borderInset,n.clippingRect,y,Mc(),he));const w={},_=ft([]),R=ft(void 0),D=ft(void 0);K9(p,g,R,y,x,n.clippingRect,n.root.panelGroupManager,d);const Y=Z9(p,g,_,y,x,n.clippingRect,n.root.panelGroupManager,d),Q=$D(p,r,n.root.renderer,d),P=Li(void 0,gi.Text,t3(Q),Y),z=n3(p,e,g,I,m,y,n.clippingRect,P,Q,n.root.gylphGroupManager,D,_,R,w,d);d.push(()=>It(()=>I.value?.setMeasureFunc(z))),Yo(s,o,m.size,d),ol(s,o,y,d);const ne=qt(p,"disabled",!1),V=rz(e,D,t,i,ne,d),ae=()=>{h.peek()||V.peek()?.focus()};sz(V,h,d);const ee=iz(m,V,w,D,ae,ne);return Object.assign(m,{focus:ae,root:n.root,element:V,node:I,interactionPanel:Qc(x,n.root,n.clippingRect,m.size,d),handlers:Zo(s,o,a,c,u,ee,"text"),initializers:d})}function iz(n,e,t,i,r,s){return Zt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;ez(a.nativeEvent),a.stopPropagation?.();const l=rM(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=rM(n,a.uv,t.current),c=Math.min(o,l),u=Math.max(o,l),h=o{r(),i.value=[c,u],e.peek()?.setSelectionRange(c,u,h)})}}})}function rz(n,e,t,i,r,s){const o=ft(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),c=l.style;c.setProperty("position","absolute"),c.setProperty("left","-1000vw"),c.setProperty("pointerEvents","none"),c.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),u()});const u=()=>{const{selectionStart:h,selectionEnd:d}=l;if(h==null||d==null){e.value=void 0;return}const p=e.peek();p!=null&&p[0]===h&&p[1]===d||(e.value=[h,d])};return l.addEventListener("keydown",u),l.addEventListener("keyup",u),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},It(()=>l.value=n.value),It(()=>l.disabled=r.value)),a}),o}function sz(n,e,t){t.push(()=>It(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function rM({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,c]=s,[u,,,h]=o,[d,,,p]=a,m=i.x*l-h-p,I=-i.y*c+u+d;return r.getCharIndex(m,I)}new Te;const X1=te.createContext(void 0);function oz(){return te.useContext(X1)}function oA(n){const t={...te.useContext(X1)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return $.jsx(X1.Provider,{value:t,children:n.children})}const sM=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],ia=te.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=te.useState(()=>n.value);te.useEffect(()=>It(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=te.useMemo(()=>{const a={...r},l=sM.length;for(let c=0;c({style:ft(void 0),properties:ft(void 0),default:ft(void 0)}),[]);return e.properties.value=n,e.default.value=oz(),e}function sa(n,e,t,i,r,s){te.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:c,size:u,maxScrollPosition:h}=i;return{setStyle:d=>t.value=d,pixelSize:e,borderInset:l,paddingInset:a,center:c,maxScrollPosition:h,size:u,interactionPanel:r instanceof rn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Ti=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>C9(t,s.style,s.properties,s.default,i,r),[t,s]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[t,s,o]),sa(e,t.root.pixelSize,s.style,o,o.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:[$.jsx("primitive",{object:o.interactionPanel}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:o,children:n.children})})]})}),az=te.forwardRef((n,e)=>{const t=EA(c=>c.gl);t.setTransparentSort(nH);const i=yA(),r=te.useRef(null),s=te.useRef(null),o=ra(n),a=te.useMemo(()=>new Set,[]),l=te.useMemo(()=>p9(o.style,o.properties,o.default,r,s,()=>i.getState().camera,t,a),[]);return te.useEffect(()=>{const c=[];return ea(l.initializers,c),()=>jr(c)},[l]),o0((c,u)=>{for(const h of a)h(u)}),sa(e,l.root.pixelSize,o.style,l,l.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:l.handlers,ref:r,children:[$.jsx("primitive",{object:l.interactionPanel}),$.jsx("object3D",{ref:s,children:$.jsx(CA,{value:l,children:n.children})})]})}),ZI=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>ft(void 0),[]);o.value=n.src;const a=te.useMemo(()=>B9(t,o,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,s.style,a,a.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:a.handlers,children:[$.jsx("primitive",{object:a.interactionPanel}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:a,children:n.children})})]})}),Ds=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>ft(void 0),[]);s.value=n.children;const o=te.useMemo(()=>ft(void 0),[]);o.value=PD();const a=te.useMemo(()=>Q9(t,s,o,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,r.style,a,a.interactionPanel),$.jsx(ia,{userHandlers:n,handlers:a.handlers,ref:i,children:$.jsx("primitive",{object:a.interactionPanel})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>ft(""),[]);o.value=n.src;const a=te.useMemo(()=>T9(t,o,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,s.style,a,a.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:a.handlers,children:[$.jsx("primitive",{object:a.interactionPanel}),$.jsx("primitive",{object:a.centerGroup}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:a,children:n.children})})]})});const C3=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>P9(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const o=[];return ea(s.initializers,o),()=>jr(o)},[s]),sa(e,t.root.pixelSize,r.style,s,s.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:s.handlers,children:[$.jsx("primitive",{object:s.interactionPanel}),$.jsx("primitive",{object:s.iconGroup})]})}),lz=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>ft(""),[]),o=te.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=te.useMemo(()=>Zt(()=>Cs(s.value)),[s]),l=te.useMemo(()=>ft(void 0),[]);l.value=PD();const c=te.useMemo(()=>nz(t,a,u=>{o.current||(s.value=u),r.style.peek()?.onValueChange?.(u),r.properties.peek()?.onValueChange?.(u)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const u=[];return ea(c.initializers,u),()=>jr(u)},[c]),te.useEffect(()=>It(()=>{c.element.value!=null&&(c.element.value.tabIndex=n.tabIndex??0)}),[c,n.tabIndex]),sa(e,t.root.pixelSize,r.style,c,c.interactionPanel,te.useMemo(()=>({focus:c.focus,current:a}),[c.focus,a])),$.jsx(ia,{userHandlers:n,handlers:c.handlers,ref:i,children:$.jsx("primitive",{object:c.interactionPanel})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>k9(t,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[o]),sa(e,t.root.pixelSize,s.style,o,r),$.jsx(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:$.jsx(CA,{value:void 0,children:$.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:jI,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>F9(t,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[o]),sa(e,t.root.pixelSize,s.style,o,o.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:[$.jsx("primitive",{object:o.interactionPanel}),$.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:$.jsx(CA,{value:void 0,children:n.children})})]})});const cz=te.forwardRef((n,e)=>{const t=yA(),[i,r,s]=te.useMemo(()=>[ft(1),ft(1),ft(1)],[]),o=EA(c=>c.camera),a=n.distanceToCamera??o.near+.01;te.useEffect(()=>{const c=({camera:u,size:{height:h}})=>ND(()=>z9(i,r,s,a,u,h));return c(t.getState()),t.subscribe(c)},[s,i,r,t,a]);const l=n.attachCamera??!0;return $.jsxs($.Fragment,{children:[l&&$.jsx("primitive",{object:o}),QD($.jsx("group",{"position-z":-a,children:$.jsx(az,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});te.forwardRef(({src:n,...e},t)=>{const i=zI(r0,n);return i.colorSpace=Yn,i.matrixAutoUpdate=!1,$.jsx(ZI,{ref:t,src:i,...e})});te.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=te.useMemo(()=>new Es(1,1,{minFilter:Cn,magFilter:Cn,type:gc}),[]),l=te.useRef(null),c=te.useMemo(()=>({events:{compute:uz.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);te.useEffect(()=>{if(l.current==null)return;const{size:h}=l.current,d=It(()=>{if(h.value==null)return;const[p,m]=h.value;a.setSize(p,m),c.size.width=p,c.size.height=m});return()=>{d(),a.dispose()}},[a,c]),te.useImperativeHandle(o,()=>l.current,[]);const u=te.useMemo(()=>new vc,[]);return $.jsxs($.Fragment,{children:[QD($.jsxs(Az,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,$.jsx("group",{onPointerOver:()=>null})]}),u,c),$.jsx(ZI,{...s,src:a.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function uz({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function Az({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=yA();te.useEffect(()=>{if(r.current==null)return;const{size:c}=r.current;return It(()=>{if(c.value==null)return;const[u,h]=c.value;s.setState({size:{width:u,height:h,top:0,left:0}})})});let o=0,a,l;return o0(c=>{(n===1/0||o{const t=te.useMemo(()=>ft(void 0),[]),i=te.useMemo(()=>ft(1),[]),r=te.useMemo(()=>document.createElement("video"),[]);return te.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,te.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),te.useEffect(()=>{const s=new ET(r);return t.value=s,()=>s.dispose()},[t,r]),te.useImperativeHandle(e,()=>r,[r]),$.jsx(ZI,{aspectRatio:i,...n,src:t})});function jt(n,e,t){return new st().setHSL(n/360,e/100,t/100,"srgb")}const Un=CH({light:{background:jt(0,0,100),foreground:jt(222.2,84,4.9),card:jt(0,0,100),cardForeground:jt(222.2,84,4.9),popover:jt(0,0,100),popoverForeground:jt(222.2,84,4.9),primary:jt(222.2,47.4,11.2),primaryForeground:jt(210,40,98),secondary:jt(210,40,96.1),secondaryForeground:jt(222.2,47.4,11.2),muted:jt(210,40,96.1),mutedForeground:jt(215.4,16.3,46.9),accent:jt(210,40,96.1),accentForeground:jt(222.2,47.4,11.2),destructive:jt(0,72.22,50.59),destructiveForeground:jt(210,40,98),border:jt(214.3,31.8,91.4),input:jt(214.3,31.8,91.4),ring:jt(222.2,84,4.9)},dark:{background:jt(222.2,84,4.9),foreground:jt(210,40,98),card:jt(222.2,84,4.9),cardForeground:jt(210,40,98),popover:jt(222.2,84,4.9),popoverForeground:jt(210,40,98),primary:jt(210,40,98),primaryForeground:jt(222.2,47.4,11.2),secondary:jt(217.2,32.6,17.5),secondaryForeground:jt(210,40,98),muted:jt(217.2,32.6,17.5),mutedForeground:jt(215,20.2,65.1),accent:jt(217.2,32.6,17.5),accentForeground:jt(210,40,98),destructive:jt(0,62.8,30.6),destructiveForeground:jt(210,40,98),border:jt(217.2,32.6,17.5),input:jt(217.2,32.6,17.5),ring:jt(212.7,26.8,83.9)}});function fz(n){return $.jsx(oA,{scrollbarColor:Un.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Un.border,color:Un.foreground,...n})}const hz={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Un.primary},defaultProps:{color:Un.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Un.destructive},defaultProps:{color:Un.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Un.accent},containerProps:{border:1,borderColor:Un.input,backgroundColor:Un.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Un.secondary},defaultProps:{color:Un.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Un.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Un.primary}}},dz={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function K1({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=hz[e],c=dz[t];return $.jsx(Ti,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...c,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:$.jsx(oA,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function pz({panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o=!1,placeholder:a,...l}){const[c,u]=te.useState(null),h=te.useMemo(()=>{if(c!=null)return Zt(()=>c.current.value.length>0?0:void 0)},[c]);return $.jsx(Ti,{height:40,positionType:"relative",overflow:"hidden",...l,children:$.jsxs(oA,{fontSize:14,height:"100%",width:"100%",border:1,paddingX:12,paddingY:8,lineHeight:1.43,opacity:o?.5:void 0,backgroundOpacity:o?.5:void 0,children:[$.jsx(lz,{ref:u,borderRadius:6,backgroundColor:Un.background,borderColor:Un.input,focus:{borderColor:Un.ring},panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o}),a!=null&&$.jsx(Ds,{color:Un.mutedForeground,opacity:h,borderOpacity:0,inset:0,positionType:"absolute",children:a})]})})}function gz(n){return $.jsxs(Ti,{flexDirection:"column",gap:24,...n,children:[$.jsxs(Ti,{flexDirection:"column",gap:8,children:[$.jsx(Ti,{flexDirection:"column",gap:4,children:$.jsx(pz,{placeholder:"name@example.com"})}),$.jsx(K1,{children:$.jsx(Ds,{children:"Sign In with Email"})})]}),$.jsxs(Ti,{flexDirection:"column",positionType:"relative",children:[$.jsx(Ti,{positionType:"absolute",inset:0,alignItems:"center",flexDirection:"row",children:$.jsx(Ti,{width:"100%",borderTop:1})}),$.jsx(Ti,{positionType:"relative",flexDirection:"row",justifyContent:"center",children:$.jsx(Ds,{backgroundColor:Un.background,zIndexOffset:{minor:1},paddingX:8,color:Un.mutedForeground,fontSize:14,lineHeight:1.43,children:"OR CONTINUE WITH"})})]}),$.jsxs(K1,{variant:"outline",children:[$.jsx(C3,{marginRight:8,width:16,height:16,svgWidth:98,svgHeight:96,text:''}),$.jsx(Ds,{children:"GitHub"})]})]})}const oM=n=>{let e;const t=new Set,i=(l,c)=>{const u=typeof l=="function"?l(e):l;if(!Object.is(u,e)){const h=e;e=c??typeof u!="object"?u:Object.assign({},e,u),t.forEach(d=>d(e,h))}},r=()=>e,a={setState:i,getState:r,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>t.clear()};return e=n(i,r,a),a},mz=n=>n?oM(n):oM;var I3={exports:{}},B3={},x3={exports:{}},S3={};/** + `)}function Qc(n,e,t,i,r){const s=new tn(jI);return s.matrixAutoUpdate=!1,s.raycast=IA(s,s3(s),e.object,t,n),s.visible=!1,r.push(()=>ut(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class i9 extends tn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new ai;boundingSphere=new fi;constructor(e,t,i){const r=r3();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=e9,this.customDistanceMaterial=t9}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Rc(n){const e=Xt(n,"panelMaterialClass",hr),t=Xt(n,"castShadow",!1),i=Xt(n,"receiveShadow",!1);return Zt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const A0={panelMaterialClass:hr,castShadow:!1,receiveShadow:!1};class r9{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(c=>c.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>ut(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>ut(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=A0){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);return a==null&&s.set(o,a=new s9(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{elementType:gi.Panel,majorIndex:e,minorIndex:0},i,r)),a}}class s9{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{zy(this.instanceMatrix,e,t,i),zy(this.instanceData,e,t,i),zy(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a,l,c){this.renderOrder=e,this.object=i,this.pixelSize=s,this.root=o,this.orderInfo=a,this.meshReceiveShadow=l,this.meshCastShadow=c,this.instanceMaterial=l3(r,{type:"instanced"}),this.instanceMaterial.depthTest=t}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,t){if(this.elementCount+=1,!mH(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!vH(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),yH(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),gH(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new Sr(t,16,!1),this.instanceMatrix.setUsage(Ps);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new Sr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Ps);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new Sr(r,16,!1),this.instanceClipping.setUsage(Ps),this.mesh=new i9(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,_c(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function zy(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function uo(n,e,t,i,r,s,o,a,l,c,u,h){return h.push(ut(()=>{if(e.value==null)return;const d=[],p=i.getGroup(e.value.majorIndex,t?.value);return new a9(n,p,e.value.minorIndex,r,s,o,a,l,c,u,d),()=>jr(d)})),h}const og=new _t,o9=new _t;class a9{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=ft(!1);constructor(e,t,i,r,s,o,a,l,c,u,h){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=u;const d=u.setters;YI(e,this.active,u.hasProperty,(m,I)=>{const v=this.getIndexInBuffer();if(v==null)return;const{instanceData:g,instanceDataOnUpdate:y}=this.group;d[m](g.array,g.itemSize*v,I,s,y)},h);const p=u.computedIsVisibile(e,a,s,c);h.push(ut(()=>{if(p.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(ut(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(og.makeScale(s*a,o*a,1),this.offset!=null){const[c,u]=this.offset.value;og.premultiply(o9.makeTranslation(c*a,u*a,0))}og.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;og.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),ut(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),ut(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),ut(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(hm,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new _t().makeTranslation(-r*o,s*o,0).premultiply(i)})}function d0(n,e,t,i){return i.push(()=>ut(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function qI(n,e){return Zt(()=>{const[t,i]=e?.value??[!1,!1],[r,s]=n.value;return[t||r,i||s]})}function p0(n,e,{scrollable:t,maxScrollPosition:i},r,s,o,a,l){const c=Zt(()=>t.value?.some(m=>m)??!1),u=new Map,h=new Te,d=(m,I,v,g,y)=>{if(n.value==null)return;const[E,x]=m==null?[!1,!1]:l9(m.nativeEvent);E&&(I=0),x&&(v=0);const[w,_]=n.value,[R,D]=i.value;let[Y,M]=n.value;const[P,z]=e?.value??[!1,!1];Y=Y_(w,R,I,y&&!P),M=Y_(_,D,v,y&&!z),g!=null&&g>0&&h.set(I,v).divideScalar(g),m!=null&&c9(m.nativeEvent,E||Math.min(w,(R??0)-w)>5,x||Math.min(_,(D??0)-_)>5),!(s.peek()?.onScroll?.(Y,M,n,m)===!1||w===Y&&_===M)&&(n.value=[Y,M])},p=m=>{if(u.size>0||n.value==null)return;let I=0,v=0;const[g,y]=n.value,[E,x]=i.value;I+=W1(g,0,E??0)*-.3,v+=W1(y,0,x??0)*-.3,I+=h.x*m,v+=h.y*m,h.multiplyScalar(.9),Math.abs(h.x)<.01&&(h.x=0),Math.abs(h.y)<.01&&(h.y=0),!(I===0&&v===0)&&d(void 0,I,v,void 0,!0)};return l.push(()=>ut(()=>{if(c.value)return a.add(p),()=>a.delete(p)})),Zt(()=>{if(c.value)return{onPointerDown:({nativeEvent:m,point:I})=>{let v=u.get(m.pointerId);v==null&&u.set(m.pointerId,v={timestamp:0,point:new K}),v.timestamp=performance.now()/1e3,r.current.worldToLocal(v.point.copy(I))},onPointerUp:({nativeEvent:m})=>u.delete(m.pointerId),onPointerLeave:({nativeEvent:m})=>u.delete(m.pointerId),onPointerCancel:({nativeEvent:m})=>u.delete(m.pointerId),onPointerMove:m=>{const I=u.get(m.nativeEvent.pointerId);if(I==null)return;r.current.worldToLocal(Wy.copy(m.point)),Vy.copy(Wy).sub(I.point).divideScalar(o.peek());const v=performance.now()/1e3,g=v-I.timestamp;I.point.copy(Wy),I.timestamp=v,!m.defaultPrevented&&d(m,-Vy.x,Vy.y,g,!0)},onWheel:m=>{if(m.defaultPrevented)return;const{nativeEvent:I}=m;d(m,I.deltaX,I.deltaY,void 0,!1)}}})}const d3=Symbol("was-scrolled");function l9(n){return n[d3]??[!1,!1]}function c9(n,e,t){n[d3]=[e,t]}function Y_(n,e,t,i){if(t===0)return n;const r=W1(n,0,e??0);J_(t)===J_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:KI(s,0,e??0)}function J_(n){return n>=0}function W1(n,e,t){return nt?n-t:0}const u9=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function g0(n,e,t,i,r,s,o,a,l){const c=Li(void 0,gi.Panel,A0,o),u=Xt(n,"scrollbarWidth",10),h=ZI(n,u9);K_(n,0,e,t,i,r,s,c,a,u,h,l),K_(n,1,e,t,i,r,s,c,a,u,h,l)}let X_;function A9(){return X_??=qh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),X_}function K_(n,e,t,i,r,s,o,a,l,c,u,h){const d=Zt(()=>f9(e,c.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),p=Zt(()=>d.value?.slice(0,2)??[0,0]),m=Zt(()=>d.value?.slice(2,4)??[0,0]);h.push(I=>uo(n,a,void 0,l,r,m,p,u,o,s,A9(),I))}function f9(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,c=t[n]-r[l]-r[l+2],u=Math.max(e,c*c/(o+c)),h=c-u,d=s[n];return a[n]=t[n]*.5-u*.5-r[(n+3)%4]-h*KI(d/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=u,a[l+2]=e,a}function h9(n,e,t,i,r){let s=!1;if(c0(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};ac("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),ac("onPointerUp",n,o),ac("onPointerLeave",n,o)}function qo(n){return{active:Zh(()=>n.value.length>0)}}function ll(n,e){return Zt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function p3(n,e,t,i,...r){t.push(s=>{if(!(i instanceof pi)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(ut(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function cl(n,e,t,i,r,s){s.push(o=>{const a=new YD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(ut(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const j_=new Map,m0={keepAspectRatio:(n,e)=>{let t=j_.get(n);t==null&&j_.set(n,t=Zt(()=>Cs(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Zo(n,e,t,i,r,s,o){return Zt(()=>{const a={};return d9(a,s?.value),Y9(a,n.value,e.value,t.value,i,o),h9(a,n.value,e.value,t.value,r),a})}function d9(n,e){for(const t in e)ac(t,n,e[t])}function ac(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function $o(n,e,t,i,r,s){return Zt(()=>{const o=new nH(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const q_=new st;function g3(n,e,t,i){const r=Xt(n,"color",void 0),s=Xt(n,"opacity",1);t.push(()=>ut(()=>{let o;Array.isArray(r.value)?o=q_.setRGB(...r.value):r.value!=null&&(o=q_.set(r.value)),Cs(e)?.traverse(a=>{if(!(a instanceof tn))return;a.renderOrder=i.renderOrder.value;const l=a.material;l.color.copy(o??a.userData.color),l.opacity=s.value,l.depthTest=i.depthTest.value})}))}const p9=.01,Z_=new K,ag=new mn,lg=ft(new _t);function g9(n,e,t,i,r,s,o,a,l){const c=ft([0,0]),u=ft([]),h=ft([]),d=[];ta(u,d);const p=$o(e,t,i,{...Ko,...jo(c),...na(u),...qo(h)},{...$_(n,"sizeX","width"),...$_(n,"sizeY","height")}),m=Xt(p,"renderOrder",0),I=Xt(p,"depthTest",!0),v=ft(void 0),g=m9(l,v,d),y=Wo();d.push(oe=>{const ee=new YD(y,p,g,r,oe);return v.value=ee,oe});const E=Jo(p,y,n),x=C9(p,E,y.size,n);Xo(r,x,d);const w=Rc(p),_=Li(void 0,gi.Panel,w,void 0),R={cameraDistance:0,onFrameSet:l},D=new r9(m,I,n,R,r,d),Y=()=>{if(r.current==null){R.cameraDistance=0;return}ag.normal.set(0,0,1),ag.constant=0,ag.applyMatrix4(r.current.matrixWorld),Z_.setFromMatrixPosition(o().matrixWorld),R.cameraDistance=ag.distanceToPoint(Z_)};d.push(()=>(l.add(Y),()=>l.delete(Y))),d.push(oe=>uo(p,_,w,D,lg,y.size,void 0,y.borderInset,void 0,void 0,Mc(),oe));const M=f0();d0(s,M,n,d);const P=h0(M,lg,n);g0(p,M,y,lg,void 0,void 0,_,D,d);const z=p0(M,void 0,y,r,t,n,l,d);Yo(e,t,y.size,d);const se=new zH(m,I,n,R,r,d),V=Object.assign(R,{requestCalculateLayout:g,cameraDistance:0,gylphGroupManager:se,object:r,panelGroupManager:D,pixelSize:n,renderOrder:m,depthTest:I,renderer:a,size:y.size});return Object.assign(y,{anyAncestorScrollable:y.scrollable,clippingRect:u0(lg,y,n,void 0),childrenMatrix:P,node:v,orderInfo:_,initializers:d,interactionPanel:Qc(_,V,void 0,y.size,d),handlers:Zo(e,t,i,u,h,z),root:V})}function m9(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function $_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Zt(()=>{const a=Cs(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const v9=new _t,y9="center",E9="center";function C9(n,e,t,i){const r=Xt(n,"anchorX",y9),s=Xt(n,"anchorY",E9);return Zt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(v9.makeTranslation(v3[r.value]*o*i.value,y3[s.value]*a*i.value,0))})}function I9(n,e,t,i,r,s){const o=ft(void 0),a=Wo(),l=ft([]),c=ft([]),u=[];ta(l,u);const h=$o(e,t,i,{...Ko,...jo(n.root.size),...na(l),...qo(c)});cl(o,a,n,h,r,u);const d=Jo(h,a,n.root.pixelSize);Xo(r,d,u);const p=ll(n.childrenMatrix,d),m=al(n.clippingRect,p,a.size,n.root.pixelSize),I=Rc(h),v=Li(h,gi.Panel,I,n.orderInfo);u.push(x=>uo(h,v,I,n.root.panelGroupManager,p,a.size,void 0,a.borderInset,n.clippingRect,m,Mc(),x));const g=f0();d0(s,g,n.root.pixelSize,u);const y=h0(g,p,n.root.pixelSize);g0(h,g,a,p,m,n.clippingRect,v,n.root.panelGroupManager,u);const E=p0(g,n.anyAncestorScrollable,a,r,t,n.root.pixelSize,n.root.onFrameSet,u);return Yo(e,t,a.size,u),ol(e,t,m,u),Object.assign(a,{anyAncestorScrollable:qI(a.scrollable,n.anyAncestorScrollable),clippingRect:u0(p,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:v,root:n.root,scrollPosition:g,interactionPanel:Qc(v,n.root,n.clippingRect,a.size,u),handlers:Zo(e,t,i,l,c,E),initializers:u})}const B9="fill";function x9(n,e,t,i,r,s,o){const a=[],l=ft(void 0),c=ft([]),u=ft([]);ta(c,a);const h=Zt(()=>Cs(e.value));p3(l,M9,a,h);const d=Zt(()=>{const D=l.value;if(D==null)return;const Y=D.source.data;return Y.width/Y.height}),p=$o(t,i,r,{...Ko,...jo(n.root.size),...na(c),...qo(u)},m0,D=>D.add("aspectRatio",d)),m=ft(void 0),I=Wo();cl(m,I,n,p,s,a);const v=Jo(p,I,n.root.pixelSize);Xo(s,v,a);const g=ll(n.childrenMatrix,v),y=al(n.clippingRect,g,I.size,n.root.pixelSize),E=Zt(()=>y.value||l.value==null),x=Li(p,gi.Image,void 0,n.orderInfo),w=f0();d0(o,w,n.root.pixelSize,a);const _=h0(w,g,n.root.pixelSize);g0(p,w,I,g,y,n.clippingRect,x,n.root.panelGroupManager,a);const R=p0(w,n.anyAncestorScrollable,I,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Yo(t,i,I.size,a),ol(t,i,y,a),Object.assign(I,{anyAncestorScrollable:qI(I.scrollable,n.anyAncestorScrollable),initializers:a,handlers:Zo(t,i,r,c,u,R),interactionPanel:S9(p,l,n,I,x,n.root,E,a),clippingRect:u0(g,I,n.root.pixelSize,n.clippingRect),childrenMatrix:_,node:m,orderInfo:x,root:n.root})}let eM;function m3(){return eM??=qh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),eM}function S9(n,e,t,i,r,s,o,a){const l=new tn(jI);l.matrixAutoUpdate=!1;const c=jh(s,t.clippingRect,a),u=m3().computedIsVisibile(n,i.borderInset,i.size,o);return Q9(n,l,i.size,i.borderInset,u,c,s,a),l.raycast=IA(l,s3(l),s.object,t.clippingRect,r),_c(l,s,r),w9(n,e,i.borderInset,i.size,a),a.push(()=>ut(()=>l.visible=u.value)),a.push(()=>ut(()=>{const h=e.value??null;l.material.map!==h&&(l.material.map=h,l.material.needsUpdate=!0)}),()=>ut(()=>{if(i.size.value==null)return;const[h,d]=i.size.value,p=t.root.pixelSize.value;l.scale.set(h*p,d*p,1),l.updateMatrix()})),l}function w9(n,e,t,i,r){const s=Xt(n,"fit",B9);r.push(()=>ut(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){tM(t,i,o);return}const{width:a,height:l}=o.source.data,c=a/l,[u,h]=i.value,[d,p,m,I]=t.value,v=(u-I-p)/(h-d-m);c>v?o.matrix.translate(-(.5*(v-c))/v,0).scale(v/c,1):o.matrix.translate(0,-(.5*(c-v))/c).scale(1,c/v),tM(t,i,o)}))}function tM(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,c=i-l-o,u=r-s-a;t.matrix.translate(-1+(l+c)/i,-1+(s+u)/r).scale(i/c,r/u)}const _9=new r0;async function M9(n){if(n==null)return Promise.resolve(void 0);if(n instanceof Qn)return Promise.resolve(n);try{const e=await _9.loadAsync(n);return e.colorSpace=Yn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function Q9(n,e,t,i,r,s,o,a){const l=new Float32Array(16),c={data:l,type:"normal"};e.customDepthMaterial=new u3(c),e.customDistanceMaterial=new c3(c),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const u=Xt(n,"panelMaterialClass",hr);a.push(m=>(m.push(ut(()=>{const I=l3(u.value,c);return I.clippingPlanes=s,e.material=I,ut(()=>I.depthTest=o.depthTest.value)}),ut(()=>e.renderOrder=o.renderOrder.value),ut(()=>e.castShadow=n.value.read("castShadow",!1)),ut(()=>e.receiveShadow=n.value.read("receiveShadow",!1))),m));const h=m3(),d=[];a.push(()=>ut(()=>{if(r.value)return l.set(h.defaultData),d.push(ut(()=>t.value!=null&&l.set(t.value,13)),ut(()=>i.value!=null&&l.set(i.value,0))),()=>jr(d)}));const p=h.setters;a.push(m=>(YI(n,r,h.hasProperty,(I,v)=>p[I](l,0,v,t,void 0),m),m))}function R9(n,e,t,i,r,s,o){const a=ft([]),l=ft([]),c=[];ta(a,c);const u=$o(i,r,s,{...Ko,...jo(n.root.size),...na(a),...qo(l)}),h=ft(void 0),d=Wo();cl(h,d,n,u,o,c);const p=Jo(u,d,n.root.pixelSize);Xo(o,p,c);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,d.size,n.root.pixelSize),v=Rc(u),g=Li(u,gi.Panel,v,n.orderInfo);c.push(w=>uo(u,g,v,n.root.panelGroupManager,m,d.size,void 0,d.borderInset,n.clippingRect,I,Mc(),w));const y=e3(u,t,n.root.renderer,c),E=Li(void 0,gi.Text,n3(y),g),x=i3(u,e,m,h,d,I,n.clippingRect,E,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,c);return c.push(()=>ut(()=>h.value?.setMeasureFunc(x))),Yo(i,r,d.size,c),ol(i,r,I,c),Object.assign(d,{interactionPanel:Qc(g,n.root,n.clippingRect,d.size,c),handlers:Zo(i,r,s,a,l),initializers:c})}const T9=Yn;class BA extends pr{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new lo(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(G,k){if(G.nodeType!==1)return;const N=x(G);let L=!1,ae=null;switch(G.nodeName){case"svg":k=m(G,k);break;case"style":s(G);break;case"g":k=m(G,k);break;case"path":k=m(G,k),G.hasAttribute("d")&&(ae=r(G));break;case"rect":k=m(G,k),ae=l(G);break;case"polygon":k=m(G,k),ae=c(G);break;case"polyline":k=m(G,k),ae=u(G);break;case"circle":k=m(G,k),ae=h(G);break;case"ellipse":k=m(G,k),ae=d(G);break;case"line":k=m(G,k),ae=p(G);break;case"defs":L=!0;break;case"use":k=m(G,k);const pe=(G.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),U=G.viewportElement.getElementById(pe);U?i(U,k):console.warn("SVGLoader: 'use node' references non-existent node id: "+pe);break}ae&&(k.fill!==void 0&&k.fill!=="none"&&ae.color.setStyle(k.fill,T9),_(ae,W),z.push(ae),ae.userData={node:G,style:k});const de=G.childNodes;for(let fe=0;fe0?W.copy(V[V.length-1]):W.identity())}function r(G){const k=new wa,N=new Te,L=new Te,ae=new Te;let de=!0,fe=!1;const pe=G.getAttribute("d");if(pe===""||pe==="none")return null;const U=pe.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,re=U.length;me0&&(N.copy(ae),k.currentPath.currentPoint.copy(N),de=!0);break;default:console.warn(le)}fe=!1}return k}function s(G){if(!(!G.sheet||!G.sheet.cssRules||!G.sheet.cssRules.length))for(let k=0;kae.trim());for(let ae=0;aefe!==""));se[L[ae]]=Object.assign(se[L[ae]]||{},de)}}}function o(G,k,N,L,ae,de,fe,pe){if(k==0||N==0){G.lineTo(pe.x,pe.y);return}L=L*Math.PI/180,k=Math.abs(k),N=Math.abs(N);const U=(fe.x-pe.x)/2,me=(fe.y-pe.y)/2,re=Math.cos(L)*U+Math.sin(L)*me,le=-Math.sin(L)*U+Math.cos(L)*me;let ue=k*k,we=N*N;const X=re*re,Q=le*le,b=X/ue+Q/we;if(b>1){const De=Math.sqrt(b);k=De*k,N=De*N,ue=k*k,we=N*N}const Z=ue*Q+we*X,Se=(ue*we-Z)/Z;let Be=Math.sqrt(Math.max(0,Se));ae===de&&(Be=-Be);const ye=Be*k*le/N,Le=-Be*N*re/k,Fe=Math.cos(L)*ye-Math.sin(L)*Le+(fe.x+pe.x)/2,ze=Math.sin(L)*ye+Math.cos(L)*Le+(fe.y+pe.y)/2,Ne=a(1,0,(re-ye)/k,(le-Le)/N),je=a((re-ye)/k,(le-Le)/N,(-re-ye)/k,(-le-Le)/N)%(Math.PI*2);G.currentPath.absellipse(Fe,ze,k,N,Ne,Ne+je,de===0,L)}function a(G,k,N,L){const ae=G*N+k*L,de=Math.sqrt(G*G+k*k)*Math.sqrt(N*N+L*L);let fe=Math.acos(Math.max(-1,Math.min(1,ae/de)));return G*L-k*N<0&&(fe=-fe),fe}function l(G){const k=E(G.getAttribute("x")||0),N=E(G.getAttribute("y")||0),L=E(G.getAttribute("rx")||G.getAttribute("ry")||0),ae=E(G.getAttribute("ry")||G.getAttribute("rx")||0),de=E(G.getAttribute("width")),fe=E(G.getAttribute("height")),pe=1-.551915024494,U=new wa;return U.moveTo(k+L,N),U.lineTo(k+de-L,N),(L!==0||ae!==0)&&U.bezierCurveTo(k+de-L*pe,N,k+de,N+ae*pe,k+de,N+ae),U.lineTo(k+de,N+fe-ae),(L!==0||ae!==0)&&U.bezierCurveTo(k+de,N+fe-ae*pe,k+de-L*pe,N+fe,k+de-L,N+fe),U.lineTo(k+L,N+fe),(L!==0||ae!==0)&&U.bezierCurveTo(k+L*pe,N+fe,k,N+fe-ae*pe,k,N+fe-ae),U.lineTo(k,N+ae),(L!==0||ae!==0)&&U.bezierCurveTo(k,N+ae*pe,k+L*pe,N,k+L,N),U}function c(G){function k(de,fe,pe){const U=E(fe),me=E(pe);ae===0?L.moveTo(U,me):L.lineTo(U,me),ae++}const N=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,L=new wa;let ae=0;return G.getAttribute("points").replace(N,k),L.currentPath.autoClose=!0,L}function u(G){function k(de,fe,pe){const U=E(fe),me=E(pe);ae===0?L.moveTo(U,me):L.lineTo(U,me),ae++}const N=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,L=new wa;let ae=0;return G.getAttribute("points").replace(N,k),L.currentPath.autoClose=!1,L}function h(G){const k=E(G.getAttribute("cx")||0),N=E(G.getAttribute("cy")||0),L=E(G.getAttribute("r")||0),ae=new Wa;ae.absarc(k,N,L,0,Math.PI*2);const de=new wa;return de.subPaths.push(ae),de}function d(G){const k=E(G.getAttribute("cx")||0),N=E(G.getAttribute("cy")||0),L=E(G.getAttribute("rx")||0),ae=E(G.getAttribute("ry")||0),de=new Wa;de.absellipse(k,N,L,ae,0,Math.PI*2);const fe=new wa;return fe.subPaths.push(de),fe}function p(G){const k=E(G.getAttribute("x1")||0),N=E(G.getAttribute("y1")||0),L=E(G.getAttribute("x2")||0),ae=E(G.getAttribute("y2")||0),de=new wa;return de.moveTo(k,N),de.lineTo(L,ae),de.currentPath.autoClose=!1,de}function m(G,k){k=Object.assign({},k);let N={};if(G.hasAttribute("class")){const fe=G.getAttribute("class").split(/\s/).filter(Boolean).map(pe=>pe.trim());for(let pe=0;pe0&&k.premultiply(V[V.length-1]),W.copy(k),V.push(k),k}function w(G){const k=new Pt,N=oe;if(G.nodeName==="use"&&(G.hasAttribute("x")||G.hasAttribute("y"))){const L=E(G.getAttribute("x")),ae=E(G.getAttribute("y"));k.translate(L,ae)}if(G.hasAttribute("transform")){const L=G.getAttribute("transform").split(")");for(let ae=L.length-1;ae>=0;ae--){const de=L[ae].trim();if(de==="")continue;const fe=de.indexOf("("),pe=de.length;if(fe>0&&fe=1){const re=me[0];let le=0;me.length>=2&&(le=me[1]),N.translate(re,le)}break;case"rotate":if(me.length>=1){let re=0,le=0,ue=0;re=me[0]*Math.PI/180,me.length>=3&&(le=me[1],ue=me[2]),ee.makeTranslation(-le,-ue),he.makeRotation(re),O.multiplyMatrices(he,ee),ee.makeTranslation(le,ue),N.multiplyMatrices(ee,O)}break;case"scale":if(me.length>=1){const re=me[0];let le=re;me.length>=2&&(le=me[1]),N.scale(re,le)}break;case"skewX":me.length===1&&N.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&N.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&N.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}k.premultiply(N)}}return k}function _(G,k){function N(fe){q.set(fe.x,fe.y,1).applyMatrix3(k),fe.set(q.x,q.y)}function L(fe){const pe=fe.xRadius,U=fe.yRadius,me=Math.cos(fe.aRotation),re=Math.sin(fe.aRotation),le=new K(pe*me,pe*re,0),ue=new K(-U*re,U*me,0),we=le.applyMatrix3(k),X=ue.applyMatrix3(k),Q=oe.set(we.x,X.x,0,we.y,X.y,0,0,0,1),b=ee.copy(Q).invert(),Be=he.copy(b).transpose().multiply(b).elements,ye=P(Be[0],Be[1],Be[4]),Le=Math.sqrt(ye.rt1),Fe=Math.sqrt(ye.rt2);if(fe.xRadius=1/Le,fe.yRadius=1/Fe,fe.aRotation=Math.atan2(ye.sn,ye.cs),!((fe.aEndAngle-fe.aStartAngle)%(2*Math.PI){const{x:it,y:Ye}=new K(Math.cos(Ze),Math.sin(Ze),0).applyMatrix3(De);return Math.atan2(Ye,it)};fe.aStartAngle=Et(fe.aStartAngle),fe.aEndAngle=Et(fe.aEndAngle),R(k)&&(fe.aClockwise=!fe.aClockwise)}}function ae(fe){const pe=Y(k),U=M(k);fe.xRadius*=pe,fe.yRadius*=U;const me=pe>Number.EPSILON?Math.atan2(k.elements[1],k.elements[0]):Math.atan2(-k.elements[3],k.elements[4]);fe.aRotation+=me,R(k)&&(fe.aStartAngle*=-1,fe.aEndAngle*=-1,fe.aClockwise=!fe.aClockwise)}const de=G.subPaths;for(let fe=0,pe=de.length;feNumber.EPSILON}function Y(G){const k=G.elements;return Math.sqrt(k[0]*k[0]+k[1]*k[1])}function M(G){const k=G.elements;return Math.sqrt(k[3]*k[3]+k[4]*k[4])}function P(G,k,N){let L,ae,de,fe,pe;const U=G+N,me=G-N,re=Math.sqrt(me*me+4*k*k);return U>0?(L=.5*(U+re),pe=1/L,ae=G*pe*N-k*pe*k):U<0?ae=.5*(U-re):(L=.5*re,ae=-.5*re),me>0?de=me+re:de=me-re,Math.abs(de)>2*Math.abs(k)?(pe=-2*k/de,fe=1/Math.sqrt(1+pe*pe),de=pe*fe):Math.abs(k)===0?(de=1,fe=0):(pe=-.5*de/k,de=1/Math.sqrt(1+pe*pe),fe=pe*de),me>0&&(pe=de,de=-fe,fe=pe),{rt1:L,rt2:ae,cs:de,sn:fe}}const z=[],se={},V=[],oe=new Pt,ee=new Pt,he=new Pt,O=new Pt,J=new Te,q=new K,W=new Pt,ce=new DOMParser().parseFromString(e,"image/svg+xml");return i(ce.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:z,xml:ce.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(I,v,g,y){const E=I.x,x=v.x,w=g.x,_=y.x,R=I.y,D=v.y,Y=g.y,M=y.y,P=(_-w)*(R-Y)-(M-Y)*(E-w),z=(x-E)*(R-Y)-(D-R)*(E-w),se=(M-Y)*(x-E)-(_-w)*(D-R),V=P/se,oe=z/se;if(se===0&&P!==0||V<=0||V>=1||oe<0||oe>1)return null;if(P===0&&se===0){for(let ee=0;ee<2;ee++)if(o(ee===0?g:y,I,v),r.loc==i.ORIGIN){const he=ee===0?g:y;return{x:he.x,y:he.y,t:r.t}}else if(r.loc==i.BETWEEN){const he=+(E+r.t*(x-E)).toPrecision(10),O=+(R+r.t*(D-R)).toPrecision(10);return{x:he,y:O,t:r.t}}return null}else{for(let O=0;O<2;O++)if(o(O===0?g:y,I,v),r.loc==i.ORIGIN){const J=O===0?g:y;return{x:J.x,y:J.y,t:r.t}}const ee=+(E+V*(x-E)).toPrecision(10),he=+(R+V*(D-R)).toPrecision(10);return{x:ee,y:he,t:V}}}function o(I,v,g){const y=g.x-v.x,E=g.y-v.y,x=I.x-v.x,w=I.y-v.y,_=y*w-x*E;if(I.x===v.x&&I.y===v.y){r.loc=i.ORIGIN,r.t=0;return}if(I.x===g.x&&I.y===g.y){r.loc=i.DESTINATION,r.t=1;return}if(_<-Number.EPSILON){r.loc=i.LEFT;return}if(_>Number.EPSILON){r.loc=i.RIGHT;return}if(y*x<0||E*w<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+E*E)M.t<=Y.t+Number.EPSILON&&M.t>=Y.t-Number.EPSILON)===void 0&&(g.push(Y),y.push(new Te(Y.x,Y.y)))}}return y}function l(I,v,g){const y=new Te;v.getCenter(y);const E=[];return g.forEach(x=>{x.boundingBox.containsPoint(y)&&a(I,x.points).forEach(_=>{E.push({identifier:x.identifier,isCW:x.isCW,point:_})})}),E.sort((x,w)=>x.point.x-w.point.x),E}function c(I,v,g,y,E){(E==null||E==="")&&(E="nonzero");const x=new Te;I.boundingBox.getCenter(x);const w=[new Te(g,x.y),new Te(y,x.y)],_=l(w,I.boundingBox,v);_.sort((z,se)=>z.point.x-se.point.x);const R=[],D=[];_.forEach(z=>{z.identifier===I.identifier?R.push(z):D.push(z)});const Y=R[0].point.x,M=[];let P=0;for(;P0&&M[M.length-1]===D[P].identifier?M.pop():M.push(D[P].identifier),P++;if(M.push(I.identifier),E==="evenodd"){const z=M.length%2===0,se=M[M.length-2];return{identifier:I.identifier,isHole:z,for:se}}else if(E==="nonzero"){let z=!0,se=null,V=null;for(let oe=0;oe{const v=I.getPoints();let g=-999999999,y=999999999,E=-999999999,x=999999999;for(let w=0;wg&&(g=_.y),_.yE&&(E=_.x),_.x=x&&(u=x-1),{curves:I.curves,points:v,isCW:ks.isClockWise(v),identifier:-1,boundingBox:new sD(new Te(x,y),new Te(E,g))}});d=d.filter(I=>I.points.length>1);for(let I=0;Ic(I,d,u,h,e.userData?e.userData.style.fillRule:void 0)),m=[];return d.forEach(I=>{if(!p[I.identifier].isHole){const g=new Ya;g.curves=I.curves,p.filter(E=>E.isHole&&E.for===I.identifier).forEach(E=>{const x=d[E.identifier],w=new Wa;w.curves=x.curves,g.holes.push(w)}),m.push(g)}}),m}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(BA.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new kt;return l.setAttribute("position",new gt(s,3)),l.setAttribute("normal",new gt(o,3)),l.setAttribute("uv",new gt(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const c=new Te,u=new Te,h=new Te,d=new Te,p=new Te,m=new Te,I=new Te,v=new Te,g=new Te,y=new Te,E=new Te,x=new Te,w=new Te,_=new Te,R=new Te,D=new Te,Y=new Te;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const M=e.length;if(M<2)return 0;const P=e[0].equals(e[M-1]);let z,se=e[0],V;const oe=t.strokeWidth/2,ee=1/(M-1);let he=0,O,J,q,W,ce=!1,Ee=0,G=l*3,k=l*2;N(e[0],e[1],c).multiplyScalar(oe),v.copy(e[0]).sub(c),g.copy(e[0]).add(c),y.copy(v),E.copy(g);for(let re=1;reNumber.EPSILON){const we=oe/ue;h.multiplyScalar(-we),d.subVectors(z,se),p.copy(d).setLength(we).add(h),D.copy(p).negate();const X=p.length(),Q=d.length();d.divideScalar(Q),m.subVectors(V,z);const b=m.length();switch(m.divideScalar(b),d.dot(D)=r&&ue.push(re[we]);return ue.push(re[re.length-1]),ue}}}function D9(n,e,t,i,r,s,o){const a=[],l=ft([]),c=ft([]);ta(l,a);const u=ft(void 0),h=$o(t,i,r,{...Ko,...jo(n.root.size),...na(l),...qo(c)},m0,P=>P.add("aspectRatio",u)),d=ft(void 0),p=Wo();cl(d,p,n,h,s,a);const m=Jo(h,p,n.root.pixelSize);Xo(s,m,a);const I=ll(n.childrenMatrix,m),v=al(n.clippingRect,I,p.size,n.root.pixelSize),g=Rc(h),y=Li(h,gi.Panel,g,n.orderInfo);a.push(P=>uo(h,y,g,n.root.panelGroupManager,I,p.size,void 0,p.borderInset,n.clippingRect,v,Mc(),P));const E=Li(void 0,gi.Svg,void 0,y),x=Zt(()=>Cs(e.value)),w=ft(void 0),_=jh(n.root,n.clippingRect,a);p3(w,P9,a,x,n.root,_,n.clippingRect,E,u),g3(h,w,a,n.root);const R=b9(p,n.root.pixelSize,w,u,v,a),D=f0();d0(o,D,n.root.pixelSize,a);const Y=h0(D,I,n.root.pixelSize);g0(h,D,p,I,v,n.clippingRect,E,n.root.panelGroupManager,a);const M=p0(D,n.anyAncestorScrollable,p,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Yo(t,i,p.size,a),ol(t,i,v,a),Object.assign(p,{anyAncestorScrollable:qI(p.scrollable,n.anyAncestorScrollable),clippingRect:u0(I,p,n.root.pixelSize,n.clippingRect),childrenMatrix:Y,node:d,orderInfo:E,root:n.root,initializers:a,centerGroup:R,handlers:Zo(t,i,r,l,c,M),interactionPanel:Qc(E,n.root,n.clippingRect,p.size,a)})}function b9(n,e,t,i,r,s){const o=new Do;return o.matrixAutoUpdate=!1,s.push(()=>ut(()=>{E3(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>ut(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>ut(()=>void(o.visible=t.value!=null&&!r.value))),o}const L9=new BA,cg=new ai,Nl=new K;async function P9(n,e,t,i,r,s){const o=new Do;o.matrixAutoUpdate=!1;const a=await L9.loadAsync(n);cg.makeEmpty();for(const c of a.paths){const u=BA.createShapes(c),h=new hr;h.transparent=!0,h.depthWrite=!1,h.toneMapped=!1,h.clippingPlanes=t;for(const d of u){const p=new mA(d);p.computeBoundingBox(),cg.union(p.boundingBox);const m=new tn(p,h);m.matrixAutoUpdate=!1,m.raycast=IA(m,m.raycast,e.object,i,r),_c(m,e,r),m.userData.color=c.color,m.scale.y=-1,m.updateMatrix(),o.add(m)}}cg.getSize(Nl),s.value=Nl.x/Nl.y;const l=1/Nl.y;return o.scale.set(1,1,1).multiplyScalar(l),cg.getCenter(Nl),Nl.y*=-1,o.position.copy(Nl).negate().multiplyScalar(l),o.updateMatrix(),o}function U9(n,e,t,i,r,s,o,a){const l=[],c=ft([]),u=ft([]);ta(c,l);const h=$o(r,s,o,{...Ko,...jo(n.root.size),...na(c),...qo(u)},m0,w=>{w.add("aspectRatio",t/i),w.add("width",t),w.add("height",i)}),d=Wo();cl(void 0,d,n,h,a,l);const p=Jo(h,d,n.root.pixelSize);Xo(a,p,l);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,d.size,n.root.pixelSize),v=Rc(h),g=Li(h,gi.Panel,v,n.orderInfo);l.push(w=>uo(h,g,v,n.root.panelGroupManager,m,d.size,void 0,d.borderInset,n.clippingRect,I,Mc(),w));const y=Li(void 0,gi.Svg,void 0,g),E=jh(n.root,n.clippingRect,l),x=k9(h,e,t,i,n,y,d,I,E,l);return Yo(r,s,d.size,l),ol(r,s,I,l),Object.assign(d,{initializers:l,iconGroup:x,handlers:Zo(r,s,o,c,u),interactionPanel:Qc(y,n.root,n.clippingRect,d.size,l)})}const N9=new BA;function k9(n,e,t,i,r,s,o,a,l,c){const u=new Do;u.matrixAutoUpdate=!1;const h=N9.parse(e);for(const p of h.paths){const m=BA.createShapes(p),I=new hr;I.transparent=!0,I.depthWrite=!1,I.toneMapped=!1,I.clippingPlanes=l;for(const v of m){const g=new mA(v);g.computeBoundingBox();const y=new tn(g,I);y.matrixAutoUpdate=!1,y.raycast=IA(y,y.raycast,r.root.object,r.clippingRect,s),_c(y,r.root,s),y.userData.color=p.color,y.scale.y=-1,y.updateMatrix(),u.add(y)}}const d=t/i;return c.push(()=>ut(()=>{E3(u.position,u.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,d),u.position.x-=u.scale.x*d/2,u.position.y+=u.scale.x/2,u.scale.divideScalar(i),u.updateMatrix()}),()=>ut(()=>void(u.visible=!a.value))),g3(n,u,c,r.root),u}function F9(n,e,t,i,r,s){const o=ft([]),a=ft([]),l=[];ta(o,l);const c=$o(e,t,i,{...Ko,...jo(n.root.size),...na(o),...qo(a)}),u=Wo();cl(void 0,u,n,c,r,l);const h=Jo(c,u,n.root.pixelSize);Xo(r,h,l);const d=ll(n.childrenMatrix,h),p=al(n.clippingRect,d,u.size,n.root.pixelSize),m=Li(c,gi.Custom,void 0,n.orderInfo),I=jh(n.root,n.clippingRect,l);return l.push(v=>{const g=s.current;if(g==null)return v;if(g.matrixAutoUpdate=!1,g.material instanceof mi){const y=g.material;y.clippingPlanes=I,y.needsUpdate=!0,y.shadowSide=Kr,v.push(()=>ut(()=>y.depthTest=n.root.depthTest.value))}return g.raycast=IA(g,g.raycast,n.root.object,n.clippingRect,m),_c(g,n.root,m),v.push(ut(()=>g.renderOrder=n.root.renderOrder.value),ut(()=>g.receiveShadow=c.value.read("receiveShadow",!1)),ut(()=>g.castShadow=c.value.read("castShadow",!1)),ut(()=>{if(u.size.value==null)return;const[y,E]=u.size.value,x=n.root.pixelSize.value;g.scale.set(y*x,E*x,1),g.updateMatrix()}),ut(()=>void(g.visible=!p.value))),v}),Yo(e,t,u.size,l),ol(e,t,p,l),Object.assign(u,{root:n.root,handlers:Zo(e,t,i,o,a),initializers:l})}function O9(n,e,t,i,r,s){const o=ft([]),a=ft([]),l=[],c=Wo();ta(o,l);const u=ft(new K(1,1,1)),h=Zt(()=>u.value.x/u.value.y),d=$o(e,t,i,{...Ko,...jo(n.root.size),...na(o),...qo(a)},m0,E=>E.add("aspectRatio",h));cl(void 0,c,n,d,r,l);const p=Jo(d,c,n.root.pixelSize);Xo(r,p,l);const m=ll(n.childrenMatrix,p),I=al(n.clippingRect,m,c.size,n.root.pixelSize),v=Rc(d),g=Li(d,gi.Panel,v,n.orderInfo);l.push(E=>uo(d,g,v,n.root.panelGroupManager,m,c.size,void 0,c.borderInset,n.clippingRect,I,Mc(),E));const y=Li(void 0,gi.Object,void 0,g);return Yo(e,t,c.size,l),ol(e,t,I,l),Object.assign(c,{remeasureContent:z9(d,n.root,c,n.clippingRect,y,u,s,l),interactionPanel:Qc(g,n.root,n.clippingRect,c.size,l),handlers:Zo(e,t,i,o,a),initializers:l})}const Yy=new ai,nM=new K().setScalar(.001),G9=new K,H9="back";function z9(n,e,t,i,r,s,o,a){const l=jh(e,i,a),c=Xt(n,"depthAlign",H9),u=Xt(n,"keepAspectRatio",!0),h=new K,d=new K,p=(I,v,g)=>I?.traverse(y=>{y instanceof tn&&(y.renderOrder=v,y.material instanceof mi&&(y.material.depthTest=g))}),m=()=>{const I=o.current;if(I==null){h.copy(nM),d.set(0,0,0);return}I.traverse(g=>{g instanceof tn&&(_c(g,e,r),g.material.clippingPlanes=l,g.material.needsUpdate=!0,g.raycast=IA(g,g.raycast,e.object,i,r))});const v=I.parent;I.parent=null,Yy.setFromObject(I),Yy.getSize(h).max(nM),s.value=h,v!=null&&(I.parent=v),Yy.getCenter(d)};return a.push(()=>ut(()=>p(o.current,e.renderOrder.value,e.depthTest.value)),I=>{const v=o.current;return v==null||(m(),I.push(ut(()=>{const{size:{value:g},paddingInset:{value:y},borderInset:{value:E}}=t;if(g==null||y==null||E==null)return;const[x,w]=g,[_,R,D,Y]=y,[M,P,z,se]=E,V=_+M,oe=R+P,ee=D+z,he=Y+se,O=x-he-oe,J=w-V-ee,q=e.pixelSize.value;v.scale.set(O*q,J*q,u.value?J*q*h.z/h.y:h.z).divide(h),v.position.copy(d).negate(),v.position.z-=W9[c.value]*h.z,v.position.multiply(v.scale),v.position.add(G9.set((he-oe)*.5*q,(ee-V)*.5*q,0)),v.updateMatrix()}))),I}),()=>{p(o.current,e.renderOrder.peek(),e.depthTest.peek()),m()}}function V9(n,e,t,i,r,s){if(r instanceof ui){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof dA){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function jr(n){const e=n.length;for(let t=0;to){e.setScalar(_*s);return}e.setScalar(w*s/o)}function Cs(n){return n instanceof pi?n.value:n}function Zh(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Zt(()=>n()?Cs(s):void 0)),i.add(r,o)}}}function ZI(n,e){const t=e.map(i=>Xt(n,i,0));return Zt(()=>t.map(i=>i.value))}function ta(n,e){e.push(()=>()=>C3(n))}function Y9(n,e,t,i,r,s){let o=!1;c0(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}ac("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&J9(r,a)}),ac("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(c=>c!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),C3(r)})}function na(n){return{hover:Zh(()=>n.value.length>0)}}const Y1=[],bg=[];function J9(n,e){Y1.push(n),bg.push(e),document.body.style.cursor=e}function C3(n){const e=Y1.indexOf(n);e!=-1&&(Y1.splice(e,1),bg.splice(e,1),document.body.style.cursor=bg[bg.length-1]??"default")}const X9=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let iM;function K9(){return iM??=qh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),iM}function j9(n,e,t,i,r,s,o,a){const l=Li(void 0,gi.Panel,A0,r),c=ft(void 0);a.push(()=>ut(()=>{const d=t.value;d==null&&(c.value=void 0),c.value=d;const p=setInterval(()=>c.value=c.peek()==null?d:void 0,500);return()=>clearInterval(p)}));const u=ZI(n,X9),h=Xt(n,"caretWidth",1.5);a.push(d=>uo(n,l,void 0,o,e,Zt(()=>{const p=c.value;return p==null?[0,0]:[h.value,p[2]]}),Zt(()=>{const p=c.value;return p==null?[0,0]:[p[0]-h.value/2,p[1]]}),u,s,i,K9(),d))}const q9=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let rM;function Z9(){return rM??=qh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),rM}function $9(n,e,t,i,r,s,o,a){const l=[],c=Li(void 0,gi.Panel,A0,r),u=ZI(n,q9);return a.push(()=>ut(()=>{const h=t.value,d=h.length;for(let m=0;m()=>{const h=l.length;for(let d=0;dn.value)}}const J1=new Set;function tz(n){J1.add(n)}const nz={onPointerDown:n=>{document.activeElement instanceof HTMLElement&&J1.has(n.nativeEvent)&&(J1.delete(n.nativeEvent),n.preventDefault())}};function iz(n,e,t,i,r,s,o,a,l){const c=ft([]),u=ft([]),h=ft(!1),d=[];ta(c,d);const p=$o(s,o,a,{...Ko,...jo(n.root.size),...na(c),...qo(u),...ez(h)},void 0,he=>{c0(s.value,o.value,a.value,O=>{he.add("caretOpacity",O.opacity),he.add("caretColor",O.color)})}),m=Wo(),I=ft(void 0);cl(I,m,n,p,l,d);const v=Jo(p,m,n.root.pixelSize);Xo(l,v,d);const g=ll(n.childrenMatrix,v),y=al(n.clippingRect,g,m.size,n.root.pixelSize),E=Rc(p),x=Li(p,gi.Panel,E,n.orderInfo);d.push(he=>uo(p,x,E,n.root.panelGroupManager,g,m.size,void 0,m.borderInset,n.clippingRect,y,Mc(),he));const w={},_=ft([]),R=ft(void 0),D=ft(void 0);j9(p,g,R,y,x,n.clippingRect,n.root.panelGroupManager,d);const Y=$9(p,g,_,y,x,n.clippingRect,n.root.panelGroupManager,d),M=e3(p,r,n.root.renderer,d),P=Li(void 0,gi.Text,n3(M),Y),z=i3(p,e,g,I,m,y,n.clippingRect,P,M,n.root.gylphGroupManager,D,_,R,w,d);d.push(()=>ut(()=>I.value?.setMeasureFunc(z))),Yo(s,o,m.size,d),ol(s,o,y,d);const se=Xt(p,"disabled",!1),V=sz(e,D,t,i,se,d),oe=()=>{h.peek()||V.peek()?.focus()};oz(V,h,d);const ee=rz(m,V,w,D,oe,se);return Object.assign(m,{focus:oe,root:n.root,element:V,node:I,interactionPanel:Qc(x,n.root,n.clippingRect,m.size,d),handlers:Zo(s,o,a,c,u,ee,"text"),initializers:d})}function rz(n,e,t,i,r,s){return Zt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;tz(a.nativeEvent),a.stopPropagation?.();const l=sM(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=sM(n,a.uv,t.current),c=Math.min(o,l),u=Math.max(o,l),h=o{r(),i.value=[c,u],e.peek()?.setSelectionRange(c,u,h)})}}})}function sz(n,e,t,i,r,s){const o=ft(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),c=l.style;c.setProperty("position","absolute"),c.setProperty("left","-1000vw"),c.setProperty("pointerEvents","none"),c.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),u()});const u=()=>{const{selectionStart:h,selectionEnd:d}=l;if(h==null||d==null){e.value=void 0;return}const p=e.peek();p!=null&&p[0]===h&&p[1]===d||(e.value=[h,d])};return l.addEventListener("keydown",u),l.addEventListener("keyup",u),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},ut(()=>l.value=n.value),ut(()=>l.disabled=r.value)),a}),o}function oz(n,e,t){t.push(()=>ut(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function sM({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,c]=s,[u,,,h]=o,[d,,,p]=a,m=i.x*l-h-p,I=-i.y*c+u+d;return r.getCharIndex(m,I)}new Te;const X1=te.createContext(void 0);function az(){return te.useContext(X1)}function oA(n){const t={...te.useContext(X1)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return $.jsx(X1.Provider,{value:t,children:n.children})}const oM=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],ia=te.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=te.useState(()=>n.value);te.useEffect(()=>ut(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=te.useMemo(()=>{const a={...r},l=oM.length;for(let c=0;c({style:ft(void 0),properties:ft(void 0),default:ft(void 0)}),[]);return e.properties.value=n,e.default.value=az(),e}function sa(n,e,t,i,r,s){te.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:c,size:u,maxScrollPosition:h}=i;return{setStyle:d=>t.value=d,pixelSize:e,borderInset:l,paddingInset:a,center:c,maxScrollPosition:h,size:u,interactionPanel:r instanceof tn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Ti=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>I9(t,s.style,s.properties,s.default,i,r),[t,s]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[t,s,o]),sa(e,t.root.pixelSize,s.style,o,o.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:[$.jsx("primitive",{object:o.interactionPanel}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:o,children:n.children})})]})}),lz=te.forwardRef((n,e)=>{const t=EA(u=>u.gl);t.setTransparentSort(iH);const i=yA(),r=te.useRef(null),s=te.useRef(null),o=te.useMemo(()=>ft(void 0),[]);o.value=n.pixelSize;const a=ra(n),l=te.useMemo(()=>new Set,[]),c=te.useMemo(()=>g9(Zt(()=>Cs(o.value)??p9),a.style,a.properties,a.default,r,s,()=>i.getState().camera,t,l),[]);return te.useEffect(()=>{const u=[];return ea(c.initializers,u),()=>jr(u)},[c]),o0((u,h)=>{for(const d of l)d(h)}),sa(e,c.root.pixelSize,a.style,c,c.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:c.handlers,ref:r,children:[$.jsx("primitive",{object:c.interactionPanel}),$.jsx("object3D",{ref:s,children:$.jsx(CA,{value:c,children:n.children})})]})}),$I=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>ft(void 0),[]);o.value=n.src;const a=te.useMemo(()=>x9(t,o,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,s.style,a,a.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:a.handlers,children:[$.jsx("primitive",{object:a.interactionPanel}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:a,children:n.children})})]})}),Ds=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>ft(void 0),[]);s.value=n.children;const o=te.useMemo(()=>ft(void 0),[]);o.value=UD();const a=te.useMemo(()=>R9(t,s,o,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,r.style,a,a.interactionPanel),$.jsx(ia,{userHandlers:n,handlers:a.handlers,ref:i,children:$.jsx("primitive",{object:a.interactionPanel})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>ft(""),[]);o.value=n.src;const a=te.useMemo(()=>D9(t,o,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const l=[];return ea(a.initializers,l),()=>jr(l)},[a]),sa(e,t.root.pixelSize,s.style,a,a.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:a.handlers,children:[$.jsx("primitive",{object:a.interactionPanel}),$.jsx("primitive",{object:a.centerGroup}),$.jsx("object3D",{ref:r,children:$.jsx(CA,{value:a,children:n.children})})]})});const I3=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>U9(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const o=[];return ea(s.initializers,o),()=>jr(o)},[s]),sa(e,t.root.pixelSize,r.style,s,s.interactionPanel),$.jsxs(ia,{userHandlers:n,ref:i,handlers:s.handlers,children:[$.jsx("primitive",{object:s.interactionPanel}),$.jsx("primitive",{object:s.iconGroup})]})}),cz=te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=ra(n),s=te.useMemo(()=>ft(""),[]),o=te.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=te.useMemo(()=>Zt(()=>Cs(s.value)),[s]),l=te.useMemo(()=>ft(void 0),[]);l.value=UD();const c=te.useMemo(()=>iz(t,a,u=>{o.current||(s.value=u),r.style.peek()?.onValueChange?.(u),r.properties.peek()?.onValueChange?.(u)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return te.useEffect(()=>{const u=[];return ea(c.initializers,u),()=>jr(u)},[c]),te.useEffect(()=>ut(()=>{c.element.value!=null&&(c.element.value.tabIndex=n.tabIndex??0)}),[c,n.tabIndex]),sa(e,t.root.pixelSize,r.style,c,c.interactionPanel,te.useMemo(()=>({focus:c.focus,current:a}),[c.focus,a])),$.jsx(ia,{userHandlers:n,handlers:c.handlers,ref:i,children:$.jsx("primitive",{object:c.interactionPanel})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>F9(t,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[o]),sa(e,t.root.pixelSize,s.style,o,r),$.jsx(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:$.jsx(CA,{value:void 0,children:$.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:jI,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});te.forwardRef((n,e)=>{const t=rl(),i=te.useRef(null),r=te.useRef(null),s=ra(n),o=te.useMemo(()=>O9(t,s.style,s.properties,s.default,i,r),[]);return te.useEffect(()=>{const a=[];return ea(o.initializers,a),()=>jr(a)},[o]),sa(e,t.root.pixelSize,s.style,o,o.interactionPanel),$.jsxs(ia,{userHandlers:n,handlers:o.handlers,ref:i,children:[$.jsx("primitive",{object:o.interactionPanel}),$.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:$.jsx(CA,{value:void 0,children:n.children})})]})});const uz=te.forwardRef((n,e)=>{const t=yA(),[i,r,s]=te.useMemo(()=>[ft(1),ft(1),ft(1)],[]),o=EA(c=>c.camera),a=n.distanceToCamera??o.near+.01;te.useEffect(()=>{const c=({camera:u,size:{height:h}})=>kD(()=>V9(i,r,s,a,u,h));return c(t.getState()),t.subscribe(c)},[s,i,r,t,a]);const l=n.attachCamera??!0;return $.jsxs($.Fragment,{children:[l&&$.jsx("primitive",{object:o}),RD($.jsx("group",{"position-z":-a,children:$.jsx(lz,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});te.forwardRef(({src:n,...e},t)=>{const i=zI(r0,n);return i.colorSpace=Yn,i.matrixAutoUpdate=!1,$.jsx($I,{ref:t,src:i,...e})});te.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=te.useMemo(()=>new Es(1,1,{minFilter:Cn,magFilter:Cn,type:gc}),[]),l=te.useRef(null),c=te.useMemo(()=>({events:{compute:Az.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);te.useEffect(()=>{if(l.current==null)return;const{size:h}=l.current,d=ut(()=>{if(h.value==null)return;const[p,m]=h.value;a.setSize(p,m),c.size.width=p,c.size.height=m});return()=>{d(),a.dispose()}},[a,c]),te.useImperativeHandle(o,()=>l.current,[]);const u=te.useMemo(()=>new vc,[]);return $.jsxs($.Fragment,{children:[RD($.jsxs(fz,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,$.jsx("group",{onPointerOver:()=>null})]}),u,c),$.jsx($I,{src:a.texture,fit:"fill",keepAspectRatio:!1,...s,ref:l})]})});function Az({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function fz({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=yA();te.useEffect(()=>{if(r.current==null)return;const{size:c}=r.current;return ut(()=>{if(c.value==null)return;const[u,h]=c.value;s.setState({size:{width:u,height:h,top:0,left:0}})})});let o=0,a,l;return o0(c=>{(n===1/0||o{const t=te.useMemo(()=>ft(void 0),[]),i=te.useMemo(()=>ft(1),[]),r=te.useMemo(()=>document.createElement("video"),[]);return te.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,te.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),te.useEffect(()=>{const s=new CT(r);return t.value=s,()=>s.dispose()},[t,r]),te.useImperativeHandle(e,()=>r,[r]),$.jsx($I,{aspectRatio:i,...n,src:t})});function qt(n,e,t){return new st().setHSL(n/360,e/100,t/100,"srgb")}const Un=IH({light:{background:qt(0,0,100),foreground:qt(222.2,84,4.9),card:qt(0,0,100),cardForeground:qt(222.2,84,4.9),popover:qt(0,0,100),popoverForeground:qt(222.2,84,4.9),primary:qt(222.2,47.4,11.2),primaryForeground:qt(210,40,98),secondary:qt(210,40,96.1),secondaryForeground:qt(222.2,47.4,11.2),muted:qt(210,40,96.1),mutedForeground:qt(215.4,16.3,46.9),accent:qt(210,40,96.1),accentForeground:qt(222.2,47.4,11.2),destructive:qt(0,72.22,50.59),destructiveForeground:qt(210,40,98),border:qt(214.3,31.8,91.4),input:qt(214.3,31.8,91.4),ring:qt(222.2,84,4.9)},dark:{background:qt(222.2,84,4.9),foreground:qt(210,40,98),card:qt(222.2,84,4.9),cardForeground:qt(210,40,98),popover:qt(222.2,84,4.9),popoverForeground:qt(210,40,98),primary:qt(210,40,98),primaryForeground:qt(222.2,47.4,11.2),secondary:qt(217.2,32.6,17.5),secondaryForeground:qt(210,40,98),muted:qt(217.2,32.6,17.5),mutedForeground:qt(215,20.2,65.1),accent:qt(217.2,32.6,17.5),accentForeground:qt(210,40,98),destructive:qt(0,62.8,30.6),destructiveForeground:qt(210,40,98),border:qt(217.2,32.6,17.5),input:qt(217.2,32.6,17.5),ring:qt(212.7,26.8,83.9)}});function hz(n){return $.jsx(oA,{scrollbarColor:Un.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Un.border,color:Un.foreground,...n})}const dz={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Un.primary},defaultProps:{color:Un.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Un.destructive},defaultProps:{color:Un.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Un.accent},containerProps:{border:1,borderColor:Un.input,backgroundColor:Un.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Un.secondary},defaultProps:{color:Un.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Un.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Un.primary}}},pz={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function K1({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=dz[e],c=pz[t];return $.jsx(Ti,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...c,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:$.jsx(oA,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function gz({panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o=!1,placeholder:a,...l}){const[c,u]=te.useState(null),h=te.useMemo(()=>{if(c!=null)return Zt(()=>c.current.value.length>0?0:void 0)},[c]);return $.jsx(Ti,{height:40,positionType:"relative",overflow:"hidden",...l,children:$.jsxs(oA,{fontSize:14,height:"100%",width:"100%",border:1,paddingX:12,paddingY:8,lineHeight:1.43,opacity:o?.5:void 0,backgroundOpacity:o?.5:void 0,children:[$.jsx(cz,{ref:u,borderRadius:6,backgroundColor:Un.background,borderColor:Un.input,focus:{borderColor:Un.ring},panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o}),a!=null&&$.jsx(Ds,{color:Un.mutedForeground,opacity:h,borderOpacity:0,inset:0,positionType:"absolute",children:a})]})})}function mz(n){return $.jsxs(Ti,{flexDirection:"column",gap:24,...n,children:[$.jsxs(Ti,{flexDirection:"column",gap:8,children:[$.jsx(Ti,{flexDirection:"column",gap:4,children:$.jsx(gz,{placeholder:"name@example.com"})}),$.jsx(K1,{children:$.jsx(Ds,{children:"Sign In with Email"})})]}),$.jsxs(Ti,{flexDirection:"column",positionType:"relative",children:[$.jsx(Ti,{positionType:"absolute",inset:0,alignItems:"center",flexDirection:"row",children:$.jsx(Ti,{width:"100%",borderTop:1})}),$.jsx(Ti,{positionType:"relative",flexDirection:"row",justifyContent:"center",children:$.jsx(Ds,{backgroundColor:Un.background,zIndexOffset:{minor:1},paddingX:8,color:Un.mutedForeground,fontSize:14,lineHeight:1.43,children:"OR CONTINUE WITH"})})]}),$.jsxs(K1,{variant:"outline",children:[$.jsx(I3,{marginRight:8,width:16,height:16,svgWidth:98,svgHeight:96,text:''}),$.jsx(Ds,{children:"GitHub"})]})]})}const aM=n=>{let e;const t=new Set,i=(l,c)=>{const u=typeof l=="function"?l(e):l;if(!Object.is(u,e)){const h=e;e=c??typeof u!="object"?u:Object.assign({},e,u),t.forEach(d=>d(e,h))}},r=()=>e,a={setState:i,getState:r,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>t.clear()};return e=n(i,r,a),a},vz=n=>n?aM(n):aM;var B3={exports:{}},x3={},S3={exports:{}},w3={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -4062,7 +4062,7 @@ No matching component was found for: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var aA=te;function vz(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var yz=typeof Object.is=="function"?Object.is:vz,Ez=aA.useState,Cz=aA.useEffect,Iz=aA.useLayoutEffect,Bz=aA.useDebugValue;function xz(n,e){var t=e(),i=Ez({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return Iz(function(){r.value=t,r.getSnapshot=e,Jy(r)&&s({inst:r})},[n,t,e]),Cz(function(){return Jy(r)&&s({inst:r}),n(function(){Jy(r)&&s({inst:r})})},[n]),Bz(t),t}function Jy(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!yz(n,t)}catch{return!0}}function Sz(n,e){return e()}var wz=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Sz:xz;S3.useSyncExternalStore=aA.useSyncExternalStore!==void 0?aA.useSyncExternalStore:wz;x3.exports=S3;var _z=x3.exports;/** + */var aA=te;function yz(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var Ez=typeof Object.is=="function"?Object.is:yz,Cz=aA.useState,Iz=aA.useEffect,Bz=aA.useLayoutEffect,xz=aA.useDebugValue;function Sz(n,e){var t=e(),i=Cz({inst:{value:t,getSnapshot:e}}),r=i[0].inst,s=i[1];return Bz(function(){r.value=t,r.getSnapshot=e,Jy(r)&&s({inst:r})},[n,t,e]),Iz(function(){return Jy(r)&&s({inst:r}),n(function(){Jy(r)&&s({inst:r})})},[n]),xz(t),t}function Jy(n){var e=n.getSnapshot;n=n.value;try{var t=e();return!Ez(n,t)}catch{return!0}}function wz(n,e){return e()}var _z=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?wz:Sz;w3.useSyncExternalStore=aA.useSyncExternalStore!==void 0?aA.useSyncExternalStore:_z;S3.exports=w3;var Mz=S3.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.min.js * @@ -4070,17 +4070,17 @@ No matching component was found for: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var v0=te,Mz=_z;function Qz(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var Rz=typeof Object.is=="function"?Object.is:Qz,Tz=Mz.useSyncExternalStore,Dz=v0.useRef,bz=v0.useEffect,Lz=v0.useMemo,Pz=v0.useDebugValue;B3.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=Dz(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=Lz(function(){function l(p){if(!c){if(c=!0,u=p,p=i(p),r!==void 0&&o.hasValue){var m=o.value;if(r(m,p))return h=m}return h=p}if(m=h,Rz(u,p))return m;var I=i(p);return r!==void 0&&r(m,I)?m:(u=p,h=I)}var c=!1,u,h,d=t===void 0?null:t;return[function(){return l(e())},d===null?void 0:function(){return l(d())}]},[e,t,i,r]);var a=Tz(n,s[0],s[1]);return bz(function(){o.hasValue=!0,o.value=a},[a]),Pz(a),a};I3.exports=B3;var Uz=I3.exports;const Nz=Th(Uz),{useSyncExternalStoreWithSelector:kz}=Nz;function Fz(n,e=n.getState,t){const i=kz(n.subscribe,n.getState,n.getServerState||n.getState,e,t);return te.useDebugValue(i),i}const aM=n=>{const e=typeof n=="function"?mz(n):n,t=(i,r)=>Fz(e,i,r);return Object.assign(t,e),t},Oz=n=>n?aM(n):aM;function Gz(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;if(n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(const[i,r]of n)if(!Object.is(r,e.get(i)))return!1;return!0}if(n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(const i of n)if(!e.has(i))return!1;return!0}const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let i=0;i{function t(){var i;const{accumulated:r,startTime:s,infos:o}=e(),a=(i=e().log)==null?void 0:i.maxMemory,{totalFrames:l,log:c,gl:u,max:h}=r,d={calls:u.calls/l,triangles:u.triangles/l,points:u.points/l,lines:u.lines/l},p={gpu:c.gpu/l,cpu:c.cpu/l,mem:c.mem/l,fps:c.fps/l};return{sessionTime:(window.performance.now()-s)/1e3,infos:o,log:p,gl:d,max:h,maxMemory:a,totalFrames:l}}return{log:null,paused:!1,triggerProgramsUpdate:0,startTime:0,customData:0,fpsLimit:60,overclockingFps:!1,accumulated:{totalFrames:0,gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0},max:{gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0}}},chart:{data:{fps:[],cpu:[],gpu:[],mem:[]},circularId:0},gl:void 0,objectWithMaterials:null,scene:void 0,programs:new Map,sceneLength:void 0,tab:"infos",getReport:t}}),Is=n=>$I(n,Gz);Object.assign(Is,$I);const{getState:gs,setState:Or}=$I,us={value:0,fpsLimit:60,isOverLimit:0},gf=n=>n?.reduce((e,t)=>e+t,0)/n.length;class Hz{constructor(e={}){this.names=[""],this.finished=[],this.paused=!1,this.overClock=!1,this.queryHasResult=!1,this.queryCreated=!1,this.isWebGL2=!0,this.memAccums=[],this.gpuAccums=[],this.activeAccums=[],this.logsAccums={mem:[],gpu:[],cpu:[],fps:[],fpsFixed:[]},this.fpsChart=[],this.gpuChart=[],this.cpuChart=[],this.memChart=[],this.paramLogger=()=>{},this.glFinish=()=>{},this.chartLogger=()=>{},this.chartLen=60,this.logsPerSecond=10,this.maxMemory=1500,this.chartHz=10,this.startCpuProfiling=!1,this.lastCalculateFixed=0,this.chartFrame=0,this.gpuTimeProcess=0,this.chartTime=0,this.activeQueries=0,this.circularId=0,this.detected=0,this.frameId=0,this.rafId=0,this.idleCbId=0,this.checkQueryId=0,this.uuid=void 0,this.currentCpu=0,this.currentMem=0,this.paramFrame=0,this.paramTime=0,this.now=()=>{},this.t0=0,window.GLPerf=window.GLPerf||{},Object.assign(this,e),this.fpsChart=new Array(this.chartLen).fill(0),this.gpuChart=new Array(this.chartLen).fill(0),this.cpuChart=new Array(this.chartLen).fill(0),this.memChart=new Array(this.chartLen).fill(0),this.now=()=>window.performance&&window.performance.now?window.performance.now():Date.now(),this.initGpu(),this.is120hz()}initGpu(){this.uuid=jR.generateUUID(),this.gl&&(this.isWebGL2=!0,this.extension||(this.extension=this.gl.getExtension("EXT_disjoint_timer_query_webgl2")),this.extension===null&&(this.isWebGL2=!1))}is120hz(){let e=0;const t=i=>{++e<20?this.rafId=window.requestAnimationFrame(t):(this.detected=Math.ceil(1e3*e/(i-this.t0)/70),window.cancelAnimationFrame(this.rafId)),this.t0||(this.t0=i)};this.rafId=window.requestAnimationFrame(t)}addUI(e){this.names.indexOf(e)===-1&&(this.names.push(e),this.gpuAccums.push(0),this.activeAccums.push(!1))}nextFps(e){const t=16.666666666666668,i=t-e.timeRemaining(),r=t*us.fpsLimit/10/i;r<0||(us.value=r,us.isOverLimit<25?us.isOverLimit++:Or({overclockingFps:!0}))}nextFrame(e){this.frameId++;const t=e||this.now();let i=t-this.paramTime,r=0;if(this.frameId<=1)this.paramFrame=this.frameId,this.paramTime=t;else if(t>=this.paramTime){this.maxMemory=window.performance.memory?window.performance.memory.jsHeapSizeLimit/1048576:0;const s=this.frameId-this.paramFrame,o=s*1e3/i,a=gs().overclockingFps?us.value:o;if(r=this.isWebGL2?this.gpuAccums[0]:this.gpuAccums[0]/i,this.isWebGL2?this.gpuAccums[0]=0:Promise.all(this.finished).then(()=>{this.gpuAccums[0]=0,this.finished=[]}),this.currentMem=Math.round(window.performance&&window.performance.memory?window.performance.memory.usedJSHeapSize/1048576:0),window.performance&&this.startCpuProfiling){window.performance.mark("cpu-finished");const l=performance.measure("cpu-duration","cpu-started","cpu-finished");this.currentCpu=l.duration,this.logsAccums.cpu.push(this.currentCpu),this.startCpuProfiling=!1}this.logsAccums.mem.push(this.currentMem),this.logsAccums.fpsFixed.push(o),this.logsAccums.fps.push(a),this.logsAccums.gpu.push(r),this.overClock&&typeof window.requestIdleCallback<"u"&&(us.isOverLimit>0&&a>o?us.isOverLimit--:gs().overclockingFps&&Or({overclockingFps:!1})),t>=this.paramTime+1e3/this.logsPerSecond&&(this.paramLogger({cpu:gf(this.logsAccums.cpu),gpu:gf(this.logsAccums.gpu),mem:gf(this.logsAccums.mem),fps:gf(this.logsAccums.fps),duration:Math.round(i),maxMemory:this.maxMemory,frameCount:s}),this.logsAccums.mem=[],this.logsAccums.fps=[],this.logsAccums.gpu=[],this.logsAccums.cpu=[],this.paramFrame=this.frameId,this.paramTime=t),this.overClock&&t-this.lastCalculateFixed>=2*1e3&&(this.lastCalculateFixed=e,us.fpsLimit=Math.round(gf(this.logsAccums.fpsFixed)/10)*100,Or({fpsLimit:us.fpsLimit/10}),this.logsAccums.fpsFixed=[],this.paramFrame=this.frameId,this.paramTime=t)}if(!this.detected||!this.chartFrame)this.chartFrame=this.frameId,this.chartTime=t,this.circularId=0;else{const s=t-this.chartTime;let o=this.chartHz*s/1e3;for(;--o>0&&this.detected;){const l=(this.frameId-this.chartFrame)/s*1e3,c=gs().overclockingFps?us.value:l;this.fpsChart[this.circularId%this.chartLen]=c;const u=1e3/this.currentMem,h=this.currentCpu,d=(this.isWebGL2?this.gpuAccums[1]*2:Math.round(this.gpuAccums[1]/i*100))+4;d>0&&(this.gpuChart[this.circularId%this.chartLen]=d),h>0&&(this.cpuChart[this.circularId%this.chartLen]=h),u>0&&(this.memChart[this.circularId%this.chartLen]=u);for(let p=0;p0&&(r||this.activeAccums.forEach((l,c)=>{this.gpuAccums[c]=a}))}}(i||!this.query)&&(this.queryCreated=!0,this.query=e.createQuery(),e.beginQuery(t.TIME_ELAPSED_EXT,this.query))}}endGpu(){const e=this.extension,t=this.gl;this.isWebGL2&&this.queryCreated&&t.getQuery(e.TIME_ELAPSED_EXT,t.CURRENT_QUERY)&&t.endQuery(e.TIME_ELAPSED_EXT)}begin(e){this.startGpu(),this.updateAccums(e)}end(e){this.endGpu(),this.updateAccums(e)}updateAccums(e){let t=this.names.indexOf(e);t===-1&&(t=this.names.length,this.addUI(e));const i=this.now();this.activeAccums[t]=!this.activeAccums[t],this.t0=i}}const zz=n=>{n.forEach((e,t)=>{const{meshes:i}=e;if(!i)return;let r={total:0,type:"Triangle",data:[]};Object.keys(i).forEach(s=>{const o=i[s],{geometry:a,material:l}=o;let c=a.index;const u=a.attributes.position;if(!u)return;let h=1;l.wireframe===!0&&(h=0);const d=c!==null?c.count:u.count,p=a.drawRange.start*h,m=a.drawRange.count*h,I=p,v=Math.min(d,p+m)-1;let g=1;const y=o.count||1;let E="Triangle",x=0;o.isMesh?l.wireframe===!0?(E="Line",g=g/2):(E="Triangle",g=g/3):o.isLine?(E="Line",o.isLineSegments?g=g/2:o.isLineLoop?g=g:g=g-1):o.isPoints?(E="Point",g=g):o.isSprite&&(E="Triangle",g=g/3);const w=Math.round(Math.max(0,v-I+1)*(g*y));w>x&&(x=w,r.type=E),r.total+=w,r.data.push({drawCount:w,type:E}),o.userData.drawCount={type:E,count:w}}),e.drawCounts=r})};var w3={exports:{}};(function(n){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function r(l,c,u){this.fn=l,this.context=c,this.once=u||!1}function s(l,c,u,h,d){if(typeof u!="function")throw new TypeError("The listener must be a function");var p=new r(u,h||l,d),m=t?t+c:c;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],p]:l._events[m].push(p):(l._events[m]=p,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new i:delete l._events[c]}function a(){this._events=new i,this._eventsCount=0}a.prototype.eventNames=function(){var c=[],u,h;if(this._eventsCount===0)return c;for(h in u=this._events)e.call(u,h)&&c.push(t?h.slice(1):h);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},a.prototype.listeners=function(c){var u=t?t+c:c,h=this._events[u];if(!h)return[];if(h.fn)return[h.fn];for(var d=0,p=h.length,m=new Array(p);dvoid(r.current=e),[e]),te.useEffect(()=>{const s=a=>{var l;return(l=r.current)==null?void 0:l.call(r,a)},o=Yz(n,s,i);return()=>Jz(n,s,{...i,context:o})},[n,i?.once,...t])}const jz=Vt.prototype.updateMatrixWorld,qz=Vt.prototype.updateWorldMatrix,lM=Vt.prototype.updateMatrix,cM=["calls","triangles","points","lines"],uM=["gpu","cpu","mem","fps"];let Ou={value:0},Wr={value:0};const Zz=n=>{let e=""+n;return e=e.match("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"),e!==null},AM=(n,e)=>{n.defines||(n.defines={}),n.defines&&!n.defines.muiPerf&&(n.defines=Object.assign(n.defines||{},{muiPerf:n.uuid}));const t=n.uuid;return e[t]||(e[t]={meshes:{},material:n},n.needsUpdate=!0),n.needsUpdate=!1,t},$z=n=>n==="muiPerf",e6=({overClock:n,logsPerSecond:e,chart:t,deepAnalyze:i,matrixUpdate:r})=>{const{gl:s,scene:o}=EA();Or({gl:s,scene:o});const a=te.useMemo(()=>{const l=new Hz({trackGPU:!0,overClock:n,chartLen:t?t.length:120,chartHz:t?t.hz:60,logsPerSecond:e||10,gl:s.getContext(),chartLogger:v=>{Or({chart:v})},paramLogger:v=>{const g={maxMemory:v.maxMemory,gpu:v.gpu,cpu:v.cpu,mem:v.mem,fps:v.fps,totalTime:v.duration,frameCount:v.frameCount};Or({log:g});const{accumulated:y}=gs(),E=s.info.render;y.totalFrames++,y.gl.calls+=E.calls,y.gl.triangles+=E.triangles,y.gl.points+=E.points,y.gl.lines+=E.lines,y.log.gpu+=v.gpu,y.log.cpu+=v.cpu,y.log.mem+=v.mem,y.log.fps+=v.fps;for(let x=0;xy.max.gl[w]&&(y.max.gl[w]=_)}for(let x=0;xy.max.log[w]&&(y.max.log[w]=_)}Or({accumulated:y}),Xz("log",[g,s])}}),c=s.getContext();let u=null,h=null;const d=c.getExtension("WEBGL_debug_renderer_info"),p=c.getParameter(c.VERSION);d!=null&&(u=c.getParameter(d.UNMASKED_RENDERER_WEBGL),h=c.getParameter(d.UNMASKED_VENDOR_WEBGL)),h||(h="Unknown vendor"),u||(u=c.getParameter(c.RENDERER)),Or({startTime:window.performance.now(),infos:{version:p,renderer:u,vendor:h}});const m=new Map,I=new Map;return Object.defineProperty(vc.prototype,"onBeforeRender",{get(){return(...v)=>{var g;l&&l.begin("profiler"),(g=m.get(this))==null||g(...v)}},set(v){m.set(this,v)},configurable:!0}),Object.defineProperty(vc.prototype,"onAfterRender",{get(){return(...v)=>{var g;l&&l.end("profiler"),(g=I.get(this))==null||g(...v)}},set(v){I.set(this,v)},configurable:!0}),l},[]);return te.useEffect(()=>{a&&(a.overClock=n||!1,n===!1&&(Or({overclockingFps:!1}),us.value=0,us.isOverLimit=0),a.chartHz=t?.hz||60,a.chartLen=t?.length||120)},[n,a,t?.length,t?.hz]),te.useEffect(()=>{r&&(Vt.prototype.updateMatrixWorld=function(){(this.matrixWorldNeedsUpdate||arguments[0])&&Ou.value++,jz.apply(this,arguments)},Vt.prototype.updateWorldMatrix=function(){Ou.value++,qz.apply(this,arguments)},Vt.prototype.updateMatrix=function(){Wr.value++,lM.apply(this,arguments)}),s.info.autoReset=!1;let l=null,c=null;if(s.info)return l=r8(function(){gs().paused&&Or({paused:!1}),window.performance&&(window.performance.mark("cpu-started"),a.startCpuProfiling=!0),Wr.value-=1,Ou.value=0,Wr.value=0,s.info&&s.info.reset()}),c=s8(function(){var h,d;if(a&&!a.paused&&(a.nextFrame(window.performance.now()),n&&typeof window.requestIdleCallback<"u"&&(a.idleCbId=requestIdleCallback(a.nextFps))),i){const p={},m=new Map;o.traverse(function(v){if((v instanceof rn||v instanceof EI)&&v.material){let g=v.material.uuid;Array.isArray(v.material)&&v.material.length>1?g=AM(v.material[1],p):g=AM(v.material,p),p[g].meshes[v.uuid]=v}}),(d=(h=s?.info)==null?void 0:h.programs)==null||d.forEach(I=>{const v=I.cacheKey.split(","),g=v[v.findIndex($z)+1];if(Zz(g)&&p[g]){const{material:y,meshes:E}=p[g];m.set(g,{program:I,material:y,meshes:E,drawCounts:{total:0,type:"triangle",data:[]},expand:!1,visible:!0})}}),m.size!==gs().programs.size&&(zz(m),Or({programs:m,triggerProgramsUpdate:gs().triggerProgramsUpdate++}))}}),()=>{a&&(typeof window.cancelIdleCallback<"u"&&window.cancelIdleCallback(a.idleCbId),window.cancelAnimationFrame(a.rafId),window.cancelAnimationFrame(a.checkQueryId)),r&&(Vt.prototype.updateMatrixWorld=lM),l(),c()}},[a,s,t,r]),te.useEffect(()=>{const l=o8(function(){return a&&(a.paused=!0,Wr.value=0,Ou.value=0,Or({paused:!0,log:{maxMemory:0,gpu:0,mem:0,cpu:0,fps:0,totalTime:0,frameCount:0}})),!1});return()=>{l()}},[]),null};var gn="colors",rr="sizes",dt="space",t6={gap:dt,gridGap:dt,columnGap:dt,gridColumnGap:dt,rowGap:dt,gridRowGap:dt,inset:dt,insetBlock:dt,insetBlockEnd:dt,insetBlockStart:dt,insetInline:dt,insetInlineEnd:dt,insetInlineStart:dt,margin:dt,marginTop:dt,marginRight:dt,marginBottom:dt,marginLeft:dt,marginBlock:dt,marginBlockEnd:dt,marginBlockStart:dt,marginInline:dt,marginInlineEnd:dt,marginInlineStart:dt,padding:dt,paddingTop:dt,paddingRight:dt,paddingBottom:dt,paddingLeft:dt,paddingBlock:dt,paddingBlockEnd:dt,paddingBlockStart:dt,paddingInline:dt,paddingInlineEnd:dt,paddingInlineStart:dt,top:dt,right:dt,bottom:dt,left:dt,scrollMargin:dt,scrollMarginTop:dt,scrollMarginRight:dt,scrollMarginBottom:dt,scrollMarginLeft:dt,scrollMarginX:dt,scrollMarginY:dt,scrollMarginBlock:dt,scrollMarginBlockEnd:dt,scrollMarginBlockStart:dt,scrollMarginInline:dt,scrollMarginInlineEnd:dt,scrollMarginInlineStart:dt,scrollPadding:dt,scrollPaddingTop:dt,scrollPaddingRight:dt,scrollPaddingBottom:dt,scrollPaddingLeft:dt,scrollPaddingX:dt,scrollPaddingY:dt,scrollPaddingBlock:dt,scrollPaddingBlockEnd:dt,scrollPaddingBlockStart:dt,scrollPaddingInline:dt,scrollPaddingInlineEnd:dt,scrollPaddingInlineStart:dt,fontSize:"fontSizes",background:gn,backgroundColor:gn,backgroundImage:gn,borderImage:gn,border:gn,borderBlock:gn,borderBlockEnd:gn,borderBlockStart:gn,borderBottom:gn,borderBottomColor:gn,borderColor:gn,borderInline:gn,borderInlineEnd:gn,borderInlineStart:gn,borderLeft:gn,borderLeftColor:gn,borderRight:gn,borderRightColor:gn,borderTop:gn,borderTopColor:gn,caretColor:gn,color:gn,columnRuleColor:gn,fill:gn,outline:gn,outlineColor:gn,stroke:gn,textDecorationColor:gn,fontFamily:"fonts",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",blockSize:rr,minBlockSize:rr,maxBlockSize:rr,inlineSize:rr,minInlineSize:rr,maxInlineSize:rr,width:rr,minWidth:rr,maxWidth:rr,height:rr,minHeight:rr,maxHeight:rr,flexBasis:rr,gridTemplateColumns:rr,gridTemplateRows:rr,borderWidth:"borderWidths",borderTopWidth:"borderWidths",borderRightWidth:"borderWidths",borderBottomWidth:"borderWidths",borderLeftWidth:"borderWidths",borderStyle:"borderStyles",borderTopStyle:"borderStyles",borderRightStyle:"borderStyles",borderBottomStyle:"borderStyles",borderLeftStyle:"borderStyles",borderRadius:"radii",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",boxShadow:"shadows",textShadow:"shadows",transition:"transitions",zIndex:"zIndices"},n6=(n,e)=>typeof e=="function"?{"()":Function.prototype.toString.call(e)}:e,xA=()=>{const n=Object.create(null);return(e,t,...i)=>{const r=(s=>JSON.stringify(s,n6))(e);return r in n?n[r]:n[r]=t(e,...i)}},lc=Symbol.for("sxs.internal"),eB=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),fM=n=>{for(const e in n)return!0;return!1},{hasOwnProperty:i6}=Object.prototype,j1=n=>n.includes("-")?n:n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),r6=/\s+(?![^()]*\))/,yu=n=>e=>n(...typeof e=="string"?String(e).split(r6):[e]),hM={appearance:n=>({WebkitAppearance:n,appearance:n}),backfaceVisibility:n=>({WebkitBackfaceVisibility:n,backfaceVisibility:n}),backdropFilter:n=>({WebkitBackdropFilter:n,backdropFilter:n}),backgroundClip:n=>({WebkitBackgroundClip:n,backgroundClip:n}),boxDecorationBreak:n=>({WebkitBoxDecorationBreak:n,boxDecorationBreak:n}),clipPath:n=>({WebkitClipPath:n,clipPath:n}),content:n=>({content:n.includes('"')||n.includes("'")||/^([A-Za-z]+\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(n)?n:`"${n}"`}),hyphens:n=>({WebkitHyphens:n,hyphens:n}),maskImage:n=>({WebkitMaskImage:n,maskImage:n}),maskSize:n=>({WebkitMaskSize:n,maskSize:n}),tabSize:n=>({MozTabSize:n,tabSize:n}),textSizeAdjust:n=>({WebkitTextSizeAdjust:n,textSizeAdjust:n}),userSelect:n=>({WebkitUserSelect:n,userSelect:n}),marginBlock:yu((n,e)=>({marginBlockStart:n,marginBlockEnd:e||n})),marginInline:yu((n,e)=>({marginInlineStart:n,marginInlineEnd:e||n})),maxSize:yu((n,e)=>({maxBlockSize:n,maxInlineSize:e||n})),minSize:yu((n,e)=>({minBlockSize:n,minInlineSize:e||n})),paddingBlock:yu((n,e)=>({paddingBlockStart:n,paddingBlockEnd:e||n})),paddingInline:yu((n,e)=>({paddingInlineStart:n,paddingInlineEnd:e||n}))},Xy=/([\d.]+)([^]*)/,s6=(n,e)=>n.length?n.reduce((t,i)=>(t.push(...e.map(r=>r.includes("&")?r.replace(/&/g,/[ +>|~]/.test(i)&&/&.*&/.test(r)?`:is(${i})`:i):i+" "+r)),t),[]):e,o6=(n,e)=>n in a6&&typeof e=="string"?e.replace(/^((?:[^]*[^\w-])?)(fit-content|stretch)((?:[^\w-][^]*)?)$/,(t,i,r,s)=>i+(r==="stretch"?`-moz-available${s};${j1(n)}:${i}-webkit-fill-available`:`-moz-fit-content${s};${j1(n)}:${i}fit-content`)+s):String(e),a6={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},Ho=n=>n?n+"-":"",_3=(n,e,t)=>n.replace(/([+-])?((?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?)?(\$|--)([$\w-]+)/g,(i,r,s,o,a)=>o=="$"==!!s?i:(r||o=="--"?"calc(":"")+"var(--"+(o==="$"?Ho(e)+(a.includes("$")?"":Ho(t))+a.replace(/\$/g,"-"):a)+")"+(r||o=="--"?"*"+(r||"")+(s||"1")+")":"")),l6=/\s*,\s*(?![^()]*\))/,c6=Object.prototype.toString,Gu=(n,e,t,i,r)=>{let s,o,a;const l=(c,u,h)=>{let d,p;const m=I=>{for(d in I){const y=d.charCodeAt(0)===64,E=y&&Array.isArray(I[d])?I[d]:[I[d]];for(p of E){const x=/[A-Z]/.test(g=d)?g:g.replace(/-[^]/g,_=>_[1].toUpperCase()),w=typeof p=="object"&&p&&p.toString===c6&&(!i.utils[x]||!u.length);if(x in i.utils&&!w){const _=i.utils[x];if(_!==o){o=_,m(_(p)),o=null;continue}}else if(x in hM){const _=hM[x];if(_!==a){a=_,m(_(p)),a=null;continue}}if(y&&(v=d.slice(1)in i.media?"@media "+i.media[d.slice(1)]:d,d=v.replace(/\(\s*([\w-]+)\s*(=|<|<=|>|>=)\s*([\w-]+)\s*(?:(<|<=|>|>=)\s*([\w-]+)\s*)?\)/g,(_,R,D,Y,Q,P)=>{const z=Xy.test(R),ne=.0625*(z?-1:1),[V,ae]=z?[Y,R]:[R,Y];return"("+(D[0]==="="?"":D[0]===">"===z?"max-":"min-")+V+":"+(D[0]!=="="&&D.length===1?ae.replace(Xy,(ee,he,O)=>Number(he)+ne*(D===">"?1:-1)+O):ae)+(Q?") and ("+(Q[0]===">"?"min-":"max-")+V+":"+(Q.length===1?P.replace(Xy,(ee,he,O)=>Number(he)+ne*(Q===">"?-1:1)+O):P):"")+")"})),w){const _=y?h.concat(d):[...h],R=y?[...u]:s6(u,d.split(l6));s!==void 0&&r(dM(...s)),s=void 0,l(p,R,_)}else s===void 0&&(s=[[],u,h]),d=y||d.charCodeAt(0)!==36?d:`--${Ho(i.prefix)}${d.slice(1).replace(/\$/g,"-")}`,p=w?p:typeof p=="number"?p&&x in u6?String(p)+"px":String(p):_3(o6(x,p??""),i.prefix,i.themeMap[x]),s[0].push(`${y?`${d} `:`${j1(d)}:`}${p}`)}}var v,g};m(c),s!==void 0&&r(dM(...s)),s=void 0};l(n,e,t)},dM=(n,e,t)=>`${t.map(i=>`${i}{`).join("")}${e.length?`${e.join(",")}{`:""}${n.join(";")}${e.length?"}":""}${Array(t.length?t.length+1:0).join("}")}`,u6={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},pM=n=>String.fromCharCode(n+(n>25?39:97)),cc=n=>(e=>{let t,i="";for(t=Math.abs(e);t>52;t=t/52|0)i=pM(t%52)+i;return pM(t%52)+i})(((e,t)=>{let i=t.length;for(;i;)e=33*e^t.charCodeAt(--i);return e})(5381,JSON.stringify(n))>>>0),Sf=["themed","global","styled","onevar","resonevar","allvar","inline"],A6=n=>{if(n.href&&!n.href.startsWith(location.origin))return!1;try{return!!n.cssRules}catch{return!1}},f6=n=>{let e;const t=()=>{const{cssRules:r}=e.sheet;return[].map.call(r,(s,o)=>{const{cssText:a}=s;let l="";if(a.startsWith("--sxs"))return"";if(r[o-1]&&(l=r[o-1].cssText).startsWith("--sxs")){if(!s.cssRules.length)return"";for(const c in e.rules)if(e.rules[c].group===s)return`--sxs{--sxs:${[...e.rules[c].cache].join(" ")}}${a}`;return s.cssRules.length?`${l}${a}`:""}return a}).join("")},i=()=>{if(e){const{rules:a,sheet:l}=e;if(!l.deleteRule){for(;Object(Object(l.cssRules)[0]).type===3;)l.cssRules.splice(0,1);l.cssRules=[]}for(const c in a)delete a[c]}const r=Object(n).styleSheets||[];for(const a of r)if(A6(a)){for(let l=0,c=a.cssRules;c[l];++l){const u=Object(c[l]);if(u.type!==1)continue;const h=Object(c[l+1]);if(h.type!==4)continue;++l;const{cssText:d}=u;if(!d.startsWith("--sxs"))continue;const p=d.slice(14,-3).trim().split(/\s+/),m=Sf[p[0]];m&&(e||(e={sheet:a,reset:i,rules:{},toString:t}),e.rules[m]={group:h,index:l,cache:new Set(p)})}if(e)break}if(!e){const a=(l,c)=>({type:c,cssRules:[],insertRule(u,h){this.cssRules.splice(h,0,a(u,{import:3,undefined:1}[(u.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return l==="@media{}"?`@media{${[].map.call(this.cssRules,u=>u.cssText).join("")}}`:l}});e={sheet:n?(n.head||n).appendChild(document.createElement("style")).sheet:a("","text/css"),rules:{},reset:i,toString:t}}const{sheet:s,rules:o}=e;for(let a=Sf.length-1;a>=0;--a){const l=Sf[a];if(!o[l]){const c=Sf[a+1],u=o[c]?o[c].index:s.cssRules.length;s.insertRule("@media{}",u),s.insertRule(`--sxs{--sxs:${a}}`,u),o[l]={group:s.cssRules[u+1],index:u,cache:new Set([a])}}h6(o[l])}};return i(),e},h6=n=>{const e=n.group;let t=e.cssRules.length;n.apply=i=>{try{e.insertRule(i,t),++t}catch{}}},mf=Symbol(),d6=xA(),gM=(n,e)=>d6(n,()=>(...t)=>{let i={type:null,composers:new Set};for(const r of t)if(r!=null)if(r[lc]){i.type==null&&(i.type=r[lc].type);for(const s of r[lc].composers)i.composers.add(s)}else r.constructor!==Object||r.$$typeof?i.type==null&&(i.type=r):i.composers.add(p6(r,n));return i.type==null&&(i.type="span"),i.composers.size||i.composers.add(["PJLV",{},[],[],{},[]]),g6(n,i,e)}),p6=({variants:n,compoundVariants:e,defaultVariants:t,...i},r)=>{const s=`${Ho(r.prefix)}c-${cc(i)}`,o=[],a=[],l=Object.create(null),c=[];for(const d in t)l[d]=String(t[d]);if(typeof n=="object"&&n)for(const d in n){u=l,h=d,i6.call(u,h)||(l[d]="undefined");const p=n[d];for(const m in p){const I={[d]:String(m)};String(m)==="undefined"&&c.push(d);const v=p[m],g=[I,v,!fM(v)];o.push(g)}}var u,h;if(typeof e=="object"&&e)for(const d of e){let{css:p,...m}=d;p=typeof p=="object"&&p||{};for(const v in m)m[v]=String(m[v]);const I=[m,p,!fM(p)];a.push(I)}return[s,i,o,a,l,c]},g6=(n,e,t)=>{const[i,r,s,o]=m6(e.composers),a=typeof e.type=="function"||e.type.$$typeof?(h=>{function d(){for(let p=0;pd.rules[p]={apply:m=>d[mf].push([p,m])}),d})(t):null,l=(a||t).rules,c=`.${i}${r.length>1?`:where(.${r.slice(1).join(".")})`:""}`,u=h=>{h=typeof h=="object"&&h||v6;const{css:d,...p}=h,m={};for(const g in s)if(delete p[g],g in h){let y=h[g];typeof y=="object"&&y?m[g]={"@initial":s[g],...y}:(y=String(y),m[g]=y!=="undefined"||o.has(g)?y:s[g])}else m[g]=s[g];const I=new Set([...r]);for(const[g,y,E,x]of e.composers){t.rules.styled.cache.has(g)||(t.rules.styled.cache.add(g),Gu(y,[`.${g}`],[],n,R=>{l.styled.apply(R)}));const w=mM(E,m,n.media),_=mM(x,m,n.media,!0);for(const R of w)if(R!==void 0)for(const[D,Y,Q]of R){const P=`${g}-${cc(Y)}-${D}`;I.add(P);const z=(Q?t.rules.resonevar:t.rules.onevar).cache,ne=Q?l.resonevar:l.onevar;z.has(P)||(z.add(P),Gu(Y,[`.${P}`],[],n,V=>{ne.apply(V)}))}for(const R of _)if(R!==void 0)for(const[D,Y]of R){const Q=`${g}-${cc(Y)}-${D}`;I.add(Q),t.rules.allvar.cache.has(Q)||(t.rules.allvar.cache.add(Q),Gu(Y,[`.${Q}`],[],n,P=>{l.allvar.apply(P)}))}}if(typeof d=="object"&&d){const g=`${i}-i${cc(d)}-css`;I.add(g),t.rules.inline.cache.has(g)||(t.rules.inline.cache.add(g),Gu(d,[`.${g}`],[],n,y=>{l.inline.apply(y)}))}for(const g of String(h.className||"").trim().split(/\s+/))g&&I.add(g);const v=p.className=[...I].join(" ");return{type:e.type,className:v,selector:c,props:p,toString:()=>v,deferredInjector:a}};return eB(u,{className:i,selector:c,[lc]:e,toString:()=>(t.rules.styled.cache.has(i)||u(),i)})},m6=n=>{let e="";const t=[],i={},r=[];for(const[s,,,,o,a]of n){e===""&&(e=s),t.push(s),r.push(...a);for(const l in o){const c=o[l];(i[l]===void 0||c!=="undefined"||a.includes(c))&&(i[l]=c)}}return[e,t,i,new Set(r)]},mM=(n,e,t,i)=>{const r=[];e:for(let[s,o,a]of n){if(a)continue;let l,c=0,u=!1;for(l in s){const h=s[l];let d=e[l];if(d!==h){if(typeof d!="object"||!d)continue e;{let p,m,I=0;for(const v in d){if(h===String(d[v])){if(v!=="@initial"){const g=v.slice(1);(m=m||[]).push(g in t?t[g]:v.replace(/^@media ?/,"")),u=!0}c+=I,p=!0}++I}if(m&&m.length&&(o={["@media "+m.join(", ")]:o}),!p)continue e}}}(r[c]=r[c]||[]).push([i?"cv":`${l}-${s[l]}`,o,u])}return r},v6={},y6=xA(),E6=(n,e)=>y6(n,()=>(...t)=>{const i=()=>{for(let r of t){r=typeof r=="object"&&r||{};let s=cc(r);if(!e.rules.global.cache.has(s)){if(e.rules.global.cache.add(s),"@import"in r){let o=[].indexOf.call(e.sheet.cssRules,e.rules.themed.group)-1;for(let a of[].concat(r["@import"]))a=a.includes('"')||a.includes("'")?a:`"${a}"`,e.sheet.insertRule(`@import ${a};`,o++);delete r["@import"]}Gu(r,[],[],n,o=>{e.rules.global.apply(o)})}}return""};return eB(i,{toString:i})}),C6=xA(),I6=(n,e)=>C6(n,()=>t=>{const i=`${Ho(n.prefix)}k-${cc(t)}`,r=()=>{if(!e.rules.global.cache.has(i)){e.rules.global.cache.add(i);const s=[];Gu(t,[],[],n,a=>s.push(a));const o=`@keyframes ${i}{${s.join("")}}`;e.rules.global.apply(o)}return i};return eB(r,{get name(){return r()},toString:r})}),B6=class{constructor(n,e,t,i){this.token=n==null?"":String(n),this.value=e==null?"":String(e),this.scale=t==null?"":String(t),this.prefix=i==null?"":String(i)}get computedValue(){return"var("+this.variable+")"}get variable(){return"--"+Ho(this.prefix)+Ho(this.scale)+this.token}toString(){return this.computedValue}},x6=xA(),S6=(n,e)=>x6(n,()=>(t,i)=>{i=typeof t=="object"&&t||Object(i);const r=`.${t=(t=typeof t=="string"?t:"")||`${Ho(n.prefix)}t-${cc(i)}`}`,s={},o=[];for(const l in i){s[l]={};for(const c in i[l]){const u=`--${Ho(n.prefix)}${l}-${c}`,h=_3(String(i[l][c]),n.prefix,l);s[l][c]=new B6(c,h,l,n.prefix),o.push(`${u}:${h}`)}}const a=()=>{if(o.length&&!e.rules.themed.cache.has(t)){e.rules.themed.cache.add(t);const l=`${i===n.theme?":root,":""}.${t}{${o.join(";")}}`;e.rules.themed.apply(l)}return t};return{...s,get className(){return a()},selector:r,toString:a}}),w6=xA(),vM,_6=xA(),M6=n=>{const e=(t=>{let i=!1;const r=w6(t,s=>{i=!0;const o="prefix"in(s=typeof s=="object"&&s||{})?String(s.prefix):"",a=typeof s.media=="object"&&s.media||{},l=typeof s.root=="object"?s.root||null:globalThis.document||null,c=typeof s.theme=="object"&&s.theme||{},u={prefix:o,media:a,theme:c,themeMap:typeof s.themeMap=="object"&&s.themeMap||{...t6},utils:typeof s.utils=="object"&&s.utils||{}},h=f6(l),d={css:gM(u,h),globalCss:E6(u,h),keyframes:I6(u,h),createTheme:S6(u,h),reset(){h.reset(),d.theme.toString()},theme:{},sheet:h,config:u,prefix:o,getCssText:h.toString,toString:h.toString};return String(d.theme=d.createTheme(c)),d});return i||r.reset(),r})(n);return e.styled=(({config:t,sheet:i})=>_6(t,()=>{const r=gM(t,i);return(...s)=>{const o=r(...s),a=o[lc].type,l=Fl.forwardRef((c,u)=>{const h=c&&c.as||a,{props:d,deferredInjector:p}=o(c);return delete d.as,d.ref=u,p?Fl.createElement(Fl.Fragment,null,Fl.createElement(h,d),Fl.createElement(p,null)):Fl.createElement(h,d)});return l.className=o.className,l.displayName=`Styled.${a.displayName||a.name||a}`,l.selector=o.selector,l.toString=()=>o.selector,l[lc]=o[lc],l}}))(e),e},Q6=()=>vM||(vM=M6()),mi=(...n)=>Q6().styled(...n);const R6=mi("div",{position:"fixed",top:0,right:0,zIndex:9999,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + */var v0=te,Qz=Mz;function Rz(n,e){return n===e&&(n!==0||1/n===1/e)||n!==n&&e!==e}var Tz=typeof Object.is=="function"?Object.is:Rz,Dz=Qz.useSyncExternalStore,bz=v0.useRef,Lz=v0.useEffect,Pz=v0.useMemo,Uz=v0.useDebugValue;x3.useSyncExternalStoreWithSelector=function(n,e,t,i,r){var s=bz(null);if(s.current===null){var o={hasValue:!1,value:null};s.current=o}else o=s.current;s=Pz(function(){function l(p){if(!c){if(c=!0,u=p,p=i(p),r!==void 0&&o.hasValue){var m=o.value;if(r(m,p))return h=m}return h=p}if(m=h,Tz(u,p))return m;var I=i(p);return r!==void 0&&r(m,I)?m:(u=p,h=I)}var c=!1,u,h,d=t===void 0?null:t;return[function(){return l(e())},d===null?void 0:function(){return l(d())}]},[e,t,i,r]);var a=Dz(n,s[0],s[1]);return Lz(function(){o.hasValue=!0,o.value=a},[a]),Uz(a),a};B3.exports=x3;var Nz=B3.exports;const kz=Th(Nz),{useSyncExternalStoreWithSelector:Fz}=kz;function Oz(n,e=n.getState,t){const i=Fz(n.subscribe,n.getState,n.getServerState||n.getState,e,t);return te.useDebugValue(i),i}const lM=n=>{const e=typeof n=="function"?vz(n):n,t=(i,r)=>Oz(e,i,r);return Object.assign(t,e),t},Gz=n=>n?lM(n):lM;function Hz(n,e){if(Object.is(n,e))return!0;if(typeof n!="object"||n===null||typeof e!="object"||e===null)return!1;if(n instanceof Map&&e instanceof Map){if(n.size!==e.size)return!1;for(const[i,r]of n)if(!Object.is(r,e.get(i)))return!1;return!0}if(n instanceof Set&&e instanceof Set){if(n.size!==e.size)return!1;for(const i of n)if(!e.has(i))return!1;return!0}const t=Object.keys(n);if(t.length!==Object.keys(e).length)return!1;for(let i=0;i{function t(){var i;const{accumulated:r,startTime:s,infos:o}=e(),a=(i=e().log)==null?void 0:i.maxMemory,{totalFrames:l,log:c,gl:u,max:h}=r,d={calls:u.calls/l,triangles:u.triangles/l,points:u.points/l,lines:u.lines/l},p={gpu:c.gpu/l,cpu:c.cpu/l,mem:c.mem/l,fps:c.fps/l};return{sessionTime:(window.performance.now()-s)/1e3,infos:o,log:p,gl:d,max:h,maxMemory:a,totalFrames:l}}return{log:null,paused:!1,triggerProgramsUpdate:0,startTime:0,customData:0,fpsLimit:60,overclockingFps:!1,accumulated:{totalFrames:0,gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0},max:{gl:{calls:0,triangles:0,points:0,lines:0,counts:0},log:{gpu:0,cpu:0,mem:0,fps:0}}},chart:{data:{fps:[],cpu:[],gpu:[],mem:[]},circularId:0},gl:void 0,objectWithMaterials:null,scene:void 0,programs:new Map,sceneLength:void 0,tab:"infos",getReport:t}}),Is=n=>eB(n,Hz);Object.assign(Is,eB);const{getState:gs,setState:Or}=eB,us={value:0,fpsLimit:60,isOverLimit:0},gf=n=>n?.reduce((e,t)=>e+t,0)/n.length;class zz{constructor(e={}){this.names=[""],this.finished=[],this.paused=!1,this.overClock=!1,this.queryHasResult=!1,this.queryCreated=!1,this.isWebGL2=!0,this.memAccums=[],this.gpuAccums=[],this.activeAccums=[],this.logsAccums={mem:[],gpu:[],cpu:[],fps:[],fpsFixed:[]},this.fpsChart=[],this.gpuChart=[],this.cpuChart=[],this.memChart=[],this.paramLogger=()=>{},this.glFinish=()=>{},this.chartLogger=()=>{},this.chartLen=60,this.logsPerSecond=10,this.maxMemory=1500,this.chartHz=10,this.startCpuProfiling=!1,this.lastCalculateFixed=0,this.chartFrame=0,this.gpuTimeProcess=0,this.chartTime=0,this.activeQueries=0,this.circularId=0,this.detected=0,this.frameId=0,this.rafId=0,this.idleCbId=0,this.checkQueryId=0,this.uuid=void 0,this.currentCpu=0,this.currentMem=0,this.paramFrame=0,this.paramTime=0,this.now=()=>{},this.t0=0,window.GLPerf=window.GLPerf||{},Object.assign(this,e),this.fpsChart=new Array(this.chartLen).fill(0),this.gpuChart=new Array(this.chartLen).fill(0),this.cpuChart=new Array(this.chartLen).fill(0),this.memChart=new Array(this.chartLen).fill(0),this.now=()=>window.performance&&window.performance.now?window.performance.now():Date.now(),this.initGpu(),this.is120hz()}initGpu(){this.uuid=qR.generateUUID(),this.gl&&(this.isWebGL2=!0,this.extension||(this.extension=this.gl.getExtension("EXT_disjoint_timer_query_webgl2")),this.extension===null&&(this.isWebGL2=!1))}is120hz(){let e=0;const t=i=>{++e<20?this.rafId=window.requestAnimationFrame(t):(this.detected=Math.ceil(1e3*e/(i-this.t0)/70),window.cancelAnimationFrame(this.rafId)),this.t0||(this.t0=i)};this.rafId=window.requestAnimationFrame(t)}addUI(e){this.names.indexOf(e)===-1&&(this.names.push(e),this.gpuAccums.push(0),this.activeAccums.push(!1))}nextFps(e){const t=16.666666666666668,i=t-e.timeRemaining(),r=t*us.fpsLimit/10/i;r<0||(us.value=r,us.isOverLimit<25?us.isOverLimit++:Or({overclockingFps:!0}))}nextFrame(e){this.frameId++;const t=e||this.now();let i=t-this.paramTime,r=0;if(this.frameId<=1)this.paramFrame=this.frameId,this.paramTime=t;else if(t>=this.paramTime){this.maxMemory=window.performance.memory?window.performance.memory.jsHeapSizeLimit/1048576:0;const s=this.frameId-this.paramFrame,o=s*1e3/i,a=gs().overclockingFps?us.value:o;if(r=this.isWebGL2?this.gpuAccums[0]:this.gpuAccums[0]/i,this.isWebGL2?this.gpuAccums[0]=0:Promise.all(this.finished).then(()=>{this.gpuAccums[0]=0,this.finished=[]}),this.currentMem=Math.round(window.performance&&window.performance.memory?window.performance.memory.usedJSHeapSize/1048576:0),window.performance&&this.startCpuProfiling){window.performance.mark("cpu-finished");const l=performance.measure("cpu-duration","cpu-started","cpu-finished");this.currentCpu=l.duration,this.logsAccums.cpu.push(this.currentCpu),this.startCpuProfiling=!1}this.logsAccums.mem.push(this.currentMem),this.logsAccums.fpsFixed.push(o),this.logsAccums.fps.push(a),this.logsAccums.gpu.push(r),this.overClock&&typeof window.requestIdleCallback<"u"&&(us.isOverLimit>0&&a>o?us.isOverLimit--:gs().overclockingFps&&Or({overclockingFps:!1})),t>=this.paramTime+1e3/this.logsPerSecond&&(this.paramLogger({cpu:gf(this.logsAccums.cpu),gpu:gf(this.logsAccums.gpu),mem:gf(this.logsAccums.mem),fps:gf(this.logsAccums.fps),duration:Math.round(i),maxMemory:this.maxMemory,frameCount:s}),this.logsAccums.mem=[],this.logsAccums.fps=[],this.logsAccums.gpu=[],this.logsAccums.cpu=[],this.paramFrame=this.frameId,this.paramTime=t),this.overClock&&t-this.lastCalculateFixed>=2*1e3&&(this.lastCalculateFixed=e,us.fpsLimit=Math.round(gf(this.logsAccums.fpsFixed)/10)*100,Or({fpsLimit:us.fpsLimit/10}),this.logsAccums.fpsFixed=[],this.paramFrame=this.frameId,this.paramTime=t)}if(!this.detected||!this.chartFrame)this.chartFrame=this.frameId,this.chartTime=t,this.circularId=0;else{const s=t-this.chartTime;let o=this.chartHz*s/1e3;for(;--o>0&&this.detected;){const l=(this.frameId-this.chartFrame)/s*1e3,c=gs().overclockingFps?us.value:l;this.fpsChart[this.circularId%this.chartLen]=c;const u=1e3/this.currentMem,h=this.currentCpu,d=(this.isWebGL2?this.gpuAccums[1]*2:Math.round(this.gpuAccums[1]/i*100))+4;d>0&&(this.gpuChart[this.circularId%this.chartLen]=d),h>0&&(this.cpuChart[this.circularId%this.chartLen]=h),u>0&&(this.memChart[this.circularId%this.chartLen]=u);for(let p=0;p0&&(r||this.activeAccums.forEach((l,c)=>{this.gpuAccums[c]=a}))}}(i||!this.query)&&(this.queryCreated=!0,this.query=e.createQuery(),e.beginQuery(t.TIME_ELAPSED_EXT,this.query))}}endGpu(){const e=this.extension,t=this.gl;this.isWebGL2&&this.queryCreated&&t.getQuery(e.TIME_ELAPSED_EXT,t.CURRENT_QUERY)&&t.endQuery(e.TIME_ELAPSED_EXT)}begin(e){this.startGpu(),this.updateAccums(e)}end(e){this.endGpu(),this.updateAccums(e)}updateAccums(e){let t=this.names.indexOf(e);t===-1&&(t=this.names.length,this.addUI(e));const i=this.now();this.activeAccums[t]=!this.activeAccums[t],this.t0=i}}const Vz=n=>{n.forEach((e,t)=>{const{meshes:i}=e;if(!i)return;let r={total:0,type:"Triangle",data:[]};Object.keys(i).forEach(s=>{const o=i[s],{geometry:a,material:l}=o;let c=a.index;const u=a.attributes.position;if(!u)return;let h=1;l.wireframe===!0&&(h=0);const d=c!==null?c.count:u.count,p=a.drawRange.start*h,m=a.drawRange.count*h,I=p,v=Math.min(d,p+m)-1;let g=1;const y=o.count||1;let E="Triangle",x=0;o.isMesh?l.wireframe===!0?(E="Line",g=g/2):(E="Triangle",g=g/3):o.isLine?(E="Line",o.isLineSegments?g=g/2:o.isLineLoop?g=g:g=g-1):o.isPoints?(E="Point",g=g):o.isSprite&&(E="Triangle",g=g/3);const w=Math.round(Math.max(0,v-I+1)*(g*y));w>x&&(x=w,r.type=E),r.total+=w,r.data.push({drawCount:w,type:E}),o.userData.drawCount={type:E,count:w}}),e.drawCounts=r})};var _3={exports:{}};(function(n){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function r(l,c,u){this.fn=l,this.context=c,this.once=u||!1}function s(l,c,u,h,d){if(typeof u!="function")throw new TypeError("The listener must be a function");var p=new r(u,h||l,d),m=t?t+c:c;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],p]:l._events[m].push(p):(l._events[m]=p,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new i:delete l._events[c]}function a(){this._events=new i,this._eventsCount=0}a.prototype.eventNames=function(){var c=[],u,h;if(this._eventsCount===0)return c;for(h in u=this._events)e.call(u,h)&&c.push(t?h.slice(1):h);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},a.prototype.listeners=function(c){var u=t?t+c:c,h=this._events[u];if(!h)return[];if(h.fn)return[h.fn];for(var d=0,p=h.length,m=new Array(p);dvoid(r.current=e),[e]),te.useEffect(()=>{const s=a=>{var l;return(l=r.current)==null?void 0:l.call(r,a)},o=Jz(n,s,i);return()=>Xz(n,s,{...i,context:o})},[n,i?.once,...t])}const qz=Vt.prototype.updateMatrixWorld,Zz=Vt.prototype.updateWorldMatrix,cM=Vt.prototype.updateMatrix,uM=["calls","triangles","points","lines"],AM=["gpu","cpu","mem","fps"];let Ou={value:0},Wr={value:0};const $z=n=>{let e=""+n;return e=e.match("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"),e!==null},fM=(n,e)=>{n.defines||(n.defines={}),n.defines&&!n.defines.muiPerf&&(n.defines=Object.assign(n.defines||{},{muiPerf:n.uuid}));const t=n.uuid;return e[t]||(e[t]={meshes:{},material:n},n.needsUpdate=!0),n.needsUpdate=!1,t},e6=n=>n==="muiPerf",t6=({overClock:n,logsPerSecond:e,chart:t,deepAnalyze:i,matrixUpdate:r})=>{const{gl:s,scene:o}=EA();Or({gl:s,scene:o});const a=te.useMemo(()=>{const l=new zz({trackGPU:!0,overClock:n,chartLen:t?t.length:120,chartHz:t?t.hz:60,logsPerSecond:e||10,gl:s.getContext(),chartLogger:v=>{Or({chart:v})},paramLogger:v=>{const g={maxMemory:v.maxMemory,gpu:v.gpu,cpu:v.cpu,mem:v.mem,fps:v.fps,totalTime:v.duration,frameCount:v.frameCount};Or({log:g});const{accumulated:y}=gs(),E=s.info.render;y.totalFrames++,y.gl.calls+=E.calls,y.gl.triangles+=E.triangles,y.gl.points+=E.points,y.gl.lines+=E.lines,y.log.gpu+=v.gpu,y.log.cpu+=v.cpu,y.log.mem+=v.mem,y.log.fps+=v.fps;for(let x=0;xy.max.gl[w]&&(y.max.gl[w]=_)}for(let x=0;xy.max.log[w]&&(y.max.log[w]=_)}Or({accumulated:y}),Kz("log",[g,s])}}),c=s.getContext();let u=null,h=null;const d=c.getExtension("WEBGL_debug_renderer_info"),p=c.getParameter(c.VERSION);d!=null&&(u=c.getParameter(d.UNMASKED_RENDERER_WEBGL),h=c.getParameter(d.UNMASKED_VENDOR_WEBGL)),h||(h="Unknown vendor"),u||(u=c.getParameter(c.RENDERER)),Or({startTime:window.performance.now(),infos:{version:p,renderer:u,vendor:h}});const m=new Map,I=new Map;return Object.defineProperty(vc.prototype,"onBeforeRender",{get(){return(...v)=>{var g;l&&l.begin("profiler"),(g=m.get(this))==null||g(...v)}},set(v){m.set(this,v)},configurable:!0}),Object.defineProperty(vc.prototype,"onAfterRender",{get(){return(...v)=>{var g;l&&l.end("profiler"),(g=I.get(this))==null||g(...v)}},set(v){I.set(this,v)},configurable:!0}),l},[]);return te.useEffect(()=>{a&&(a.overClock=n||!1,n===!1&&(Or({overclockingFps:!1}),us.value=0,us.isOverLimit=0),a.chartHz=t?.hz||60,a.chartLen=t?.length||120)},[n,a,t?.length,t?.hz]),te.useEffect(()=>{r&&(Vt.prototype.updateMatrixWorld=function(){(this.matrixWorldNeedsUpdate||arguments[0])&&Ou.value++,qz.apply(this,arguments)},Vt.prototype.updateWorldMatrix=function(){Ou.value++,Zz.apply(this,arguments)},Vt.prototype.updateMatrix=function(){Wr.value++,cM.apply(this,arguments)}),s.info.autoReset=!1;let l=null,c=null;if(s.info)return l=s8(function(){gs().paused&&Or({paused:!1}),window.performance&&(window.performance.mark("cpu-started"),a.startCpuProfiling=!0),Wr.value-=1,Ou.value=0,Wr.value=0,s.info&&s.info.reset()}),c=o8(function(){var h,d;if(a&&!a.paused&&(a.nextFrame(window.performance.now()),n&&typeof window.requestIdleCallback<"u"&&(a.idleCbId=requestIdleCallback(a.nextFps))),i){const p={},m=new Map;o.traverse(function(v){if((v instanceof tn||v instanceof EI)&&v.material){let g=v.material.uuid;Array.isArray(v.material)&&v.material.length>1?g=fM(v.material[1],p):g=fM(v.material,p),p[g].meshes[v.uuid]=v}}),(d=(h=s?.info)==null?void 0:h.programs)==null||d.forEach(I=>{const v=I.cacheKey.split(","),g=v[v.findIndex(e6)+1];if($z(g)&&p[g]){const{material:y,meshes:E}=p[g];m.set(g,{program:I,material:y,meshes:E,drawCounts:{total:0,type:"triangle",data:[]},expand:!1,visible:!0})}}),m.size!==gs().programs.size&&(Vz(m),Or({programs:m,triggerProgramsUpdate:gs().triggerProgramsUpdate++}))}}),()=>{a&&(typeof window.cancelIdleCallback<"u"&&window.cancelIdleCallback(a.idleCbId),window.cancelAnimationFrame(a.rafId),window.cancelAnimationFrame(a.checkQueryId)),r&&(Vt.prototype.updateMatrixWorld=cM),l(),c()}},[a,s,t,r]),te.useEffect(()=>{const l=a8(function(){return a&&(a.paused=!0,Wr.value=0,Ou.value=0,Or({paused:!0,log:{maxMemory:0,gpu:0,mem:0,cpu:0,fps:0,totalTime:0,frameCount:0}})),!1});return()=>{l()}},[]),null};var gn="colors",rr="sizes",pt="space",n6={gap:pt,gridGap:pt,columnGap:pt,gridColumnGap:pt,rowGap:pt,gridRowGap:pt,inset:pt,insetBlock:pt,insetBlockEnd:pt,insetBlockStart:pt,insetInline:pt,insetInlineEnd:pt,insetInlineStart:pt,margin:pt,marginTop:pt,marginRight:pt,marginBottom:pt,marginLeft:pt,marginBlock:pt,marginBlockEnd:pt,marginBlockStart:pt,marginInline:pt,marginInlineEnd:pt,marginInlineStart:pt,padding:pt,paddingTop:pt,paddingRight:pt,paddingBottom:pt,paddingLeft:pt,paddingBlock:pt,paddingBlockEnd:pt,paddingBlockStart:pt,paddingInline:pt,paddingInlineEnd:pt,paddingInlineStart:pt,top:pt,right:pt,bottom:pt,left:pt,scrollMargin:pt,scrollMarginTop:pt,scrollMarginRight:pt,scrollMarginBottom:pt,scrollMarginLeft:pt,scrollMarginX:pt,scrollMarginY:pt,scrollMarginBlock:pt,scrollMarginBlockEnd:pt,scrollMarginBlockStart:pt,scrollMarginInline:pt,scrollMarginInlineEnd:pt,scrollMarginInlineStart:pt,scrollPadding:pt,scrollPaddingTop:pt,scrollPaddingRight:pt,scrollPaddingBottom:pt,scrollPaddingLeft:pt,scrollPaddingX:pt,scrollPaddingY:pt,scrollPaddingBlock:pt,scrollPaddingBlockEnd:pt,scrollPaddingBlockStart:pt,scrollPaddingInline:pt,scrollPaddingInlineEnd:pt,scrollPaddingInlineStart:pt,fontSize:"fontSizes",background:gn,backgroundColor:gn,backgroundImage:gn,borderImage:gn,border:gn,borderBlock:gn,borderBlockEnd:gn,borderBlockStart:gn,borderBottom:gn,borderBottomColor:gn,borderColor:gn,borderInline:gn,borderInlineEnd:gn,borderInlineStart:gn,borderLeft:gn,borderLeftColor:gn,borderRight:gn,borderRightColor:gn,borderTop:gn,borderTopColor:gn,caretColor:gn,color:gn,columnRuleColor:gn,fill:gn,outline:gn,outlineColor:gn,stroke:gn,textDecorationColor:gn,fontFamily:"fonts",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",blockSize:rr,minBlockSize:rr,maxBlockSize:rr,inlineSize:rr,minInlineSize:rr,maxInlineSize:rr,width:rr,minWidth:rr,maxWidth:rr,height:rr,minHeight:rr,maxHeight:rr,flexBasis:rr,gridTemplateColumns:rr,gridTemplateRows:rr,borderWidth:"borderWidths",borderTopWidth:"borderWidths",borderRightWidth:"borderWidths",borderBottomWidth:"borderWidths",borderLeftWidth:"borderWidths",borderStyle:"borderStyles",borderTopStyle:"borderStyles",borderRightStyle:"borderStyles",borderBottomStyle:"borderStyles",borderLeftStyle:"borderStyles",borderRadius:"radii",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",boxShadow:"shadows",textShadow:"shadows",transition:"transitions",zIndex:"zIndices"},i6=(n,e)=>typeof e=="function"?{"()":Function.prototype.toString.call(e)}:e,xA=()=>{const n=Object.create(null);return(e,t,...i)=>{const r=(s=>JSON.stringify(s,i6))(e);return r in n?n[r]:n[r]=t(e,...i)}},lc=Symbol.for("sxs.internal"),tB=(n,e)=>Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),hM=n=>{for(const e in n)return!0;return!1},{hasOwnProperty:r6}=Object.prototype,j1=n=>n.includes("-")?n:n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),s6=/\s+(?![^()]*\))/,yu=n=>e=>n(...typeof e=="string"?String(e).split(s6):[e]),dM={appearance:n=>({WebkitAppearance:n,appearance:n}),backfaceVisibility:n=>({WebkitBackfaceVisibility:n,backfaceVisibility:n}),backdropFilter:n=>({WebkitBackdropFilter:n,backdropFilter:n}),backgroundClip:n=>({WebkitBackgroundClip:n,backgroundClip:n}),boxDecorationBreak:n=>({WebkitBoxDecorationBreak:n,boxDecorationBreak:n}),clipPath:n=>({WebkitClipPath:n,clipPath:n}),content:n=>({content:n.includes('"')||n.includes("'")||/^([A-Za-z]+\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(n)?n:`"${n}"`}),hyphens:n=>({WebkitHyphens:n,hyphens:n}),maskImage:n=>({WebkitMaskImage:n,maskImage:n}),maskSize:n=>({WebkitMaskSize:n,maskSize:n}),tabSize:n=>({MozTabSize:n,tabSize:n}),textSizeAdjust:n=>({WebkitTextSizeAdjust:n,textSizeAdjust:n}),userSelect:n=>({WebkitUserSelect:n,userSelect:n}),marginBlock:yu((n,e)=>({marginBlockStart:n,marginBlockEnd:e||n})),marginInline:yu((n,e)=>({marginInlineStart:n,marginInlineEnd:e||n})),maxSize:yu((n,e)=>({maxBlockSize:n,maxInlineSize:e||n})),minSize:yu((n,e)=>({minBlockSize:n,minInlineSize:e||n})),paddingBlock:yu((n,e)=>({paddingBlockStart:n,paddingBlockEnd:e||n})),paddingInline:yu((n,e)=>({paddingInlineStart:n,paddingInlineEnd:e||n}))},Xy=/([\d.]+)([^]*)/,o6=(n,e)=>n.length?n.reduce((t,i)=>(t.push(...e.map(r=>r.includes("&")?r.replace(/&/g,/[ +>|~]/.test(i)&&/&.*&/.test(r)?`:is(${i})`:i):i+" "+r)),t),[]):e,a6=(n,e)=>n in l6&&typeof e=="string"?e.replace(/^((?:[^]*[^\w-])?)(fit-content|stretch)((?:[^\w-][^]*)?)$/,(t,i,r,s)=>i+(r==="stretch"?`-moz-available${s};${j1(n)}:${i}-webkit-fill-available`:`-moz-fit-content${s};${j1(n)}:${i}fit-content`)+s):String(e),l6={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},Ho=n=>n?n+"-":"",M3=(n,e,t)=>n.replace(/([+-])?((?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?)?(\$|--)([$\w-]+)/g,(i,r,s,o,a)=>o=="$"==!!s?i:(r||o=="--"?"calc(":"")+"var(--"+(o==="$"?Ho(e)+(a.includes("$")?"":Ho(t))+a.replace(/\$/g,"-"):a)+")"+(r||o=="--"?"*"+(r||"")+(s||"1")+")":"")),c6=/\s*,\s*(?![^()]*\))/,u6=Object.prototype.toString,Gu=(n,e,t,i,r)=>{let s,o,a;const l=(c,u,h)=>{let d,p;const m=I=>{for(d in I){const y=d.charCodeAt(0)===64,E=y&&Array.isArray(I[d])?I[d]:[I[d]];for(p of E){const x=/[A-Z]/.test(g=d)?g:g.replace(/-[^]/g,_=>_[1].toUpperCase()),w=typeof p=="object"&&p&&p.toString===u6&&(!i.utils[x]||!u.length);if(x in i.utils&&!w){const _=i.utils[x];if(_!==o){o=_,m(_(p)),o=null;continue}}else if(x in dM){const _=dM[x];if(_!==a){a=_,m(_(p)),a=null;continue}}if(y&&(v=d.slice(1)in i.media?"@media "+i.media[d.slice(1)]:d,d=v.replace(/\(\s*([\w-]+)\s*(=|<|<=|>|>=)\s*([\w-]+)\s*(?:(<|<=|>|>=)\s*([\w-]+)\s*)?\)/g,(_,R,D,Y,M,P)=>{const z=Xy.test(R),se=.0625*(z?-1:1),[V,oe]=z?[Y,R]:[R,Y];return"("+(D[0]==="="?"":D[0]===">"===z?"max-":"min-")+V+":"+(D[0]!=="="&&D.length===1?oe.replace(Xy,(ee,he,O)=>Number(he)+se*(D===">"?1:-1)+O):oe)+(M?") and ("+(M[0]===">"?"min-":"max-")+V+":"+(M.length===1?P.replace(Xy,(ee,he,O)=>Number(he)+se*(M===">"?-1:1)+O):P):"")+")"})),w){const _=y?h.concat(d):[...h],R=y?[...u]:o6(u,d.split(c6));s!==void 0&&r(pM(...s)),s=void 0,l(p,R,_)}else s===void 0&&(s=[[],u,h]),d=y||d.charCodeAt(0)!==36?d:`--${Ho(i.prefix)}${d.slice(1).replace(/\$/g,"-")}`,p=w?p:typeof p=="number"?p&&x in A6?String(p)+"px":String(p):M3(a6(x,p??""),i.prefix,i.themeMap[x]),s[0].push(`${y?`${d} `:`${j1(d)}:`}${p}`)}}var v,g};m(c),s!==void 0&&r(pM(...s)),s=void 0};l(n,e,t)},pM=(n,e,t)=>`${t.map(i=>`${i}{`).join("")}${e.length?`${e.join(",")}{`:""}${n.join(";")}${e.length?"}":""}${Array(t.length?t.length+1:0).join("}")}`,A6={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},gM=n=>String.fromCharCode(n+(n>25?39:97)),cc=n=>(e=>{let t,i="";for(t=Math.abs(e);t>52;t=t/52|0)i=gM(t%52)+i;return gM(t%52)+i})(((e,t)=>{let i=t.length;for(;i;)e=33*e^t.charCodeAt(--i);return e})(5381,JSON.stringify(n))>>>0),Sf=["themed","global","styled","onevar","resonevar","allvar","inline"],f6=n=>{if(n.href&&!n.href.startsWith(location.origin))return!1;try{return!!n.cssRules}catch{return!1}},h6=n=>{let e;const t=()=>{const{cssRules:r}=e.sheet;return[].map.call(r,(s,o)=>{const{cssText:a}=s;let l="";if(a.startsWith("--sxs"))return"";if(r[o-1]&&(l=r[o-1].cssText).startsWith("--sxs")){if(!s.cssRules.length)return"";for(const c in e.rules)if(e.rules[c].group===s)return`--sxs{--sxs:${[...e.rules[c].cache].join(" ")}}${a}`;return s.cssRules.length?`${l}${a}`:""}return a}).join("")},i=()=>{if(e){const{rules:a,sheet:l}=e;if(!l.deleteRule){for(;Object(Object(l.cssRules)[0]).type===3;)l.cssRules.splice(0,1);l.cssRules=[]}for(const c in a)delete a[c]}const r=Object(n).styleSheets||[];for(const a of r)if(f6(a)){for(let l=0,c=a.cssRules;c[l];++l){const u=Object(c[l]);if(u.type!==1)continue;const h=Object(c[l+1]);if(h.type!==4)continue;++l;const{cssText:d}=u;if(!d.startsWith("--sxs"))continue;const p=d.slice(14,-3).trim().split(/\s+/),m=Sf[p[0]];m&&(e||(e={sheet:a,reset:i,rules:{},toString:t}),e.rules[m]={group:h,index:l,cache:new Set(p)})}if(e)break}if(!e){const a=(l,c)=>({type:c,cssRules:[],insertRule(u,h){this.cssRules.splice(h,0,a(u,{import:3,undefined:1}[(u.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return l==="@media{}"?`@media{${[].map.call(this.cssRules,u=>u.cssText).join("")}}`:l}});e={sheet:n?(n.head||n).appendChild(document.createElement("style")).sheet:a("","text/css"),rules:{},reset:i,toString:t}}const{sheet:s,rules:o}=e;for(let a=Sf.length-1;a>=0;--a){const l=Sf[a];if(!o[l]){const c=Sf[a+1],u=o[c]?o[c].index:s.cssRules.length;s.insertRule("@media{}",u),s.insertRule(`--sxs{--sxs:${a}}`,u),o[l]={group:s.cssRules[u+1],index:u,cache:new Set([a])}}d6(o[l])}};return i(),e},d6=n=>{const e=n.group;let t=e.cssRules.length;n.apply=i=>{try{e.insertRule(i,t),++t}catch{}}},mf=Symbol(),p6=xA(),mM=(n,e)=>p6(n,()=>(...t)=>{let i={type:null,composers:new Set};for(const r of t)if(r!=null)if(r[lc]){i.type==null&&(i.type=r[lc].type);for(const s of r[lc].composers)i.composers.add(s)}else r.constructor!==Object||r.$$typeof?i.type==null&&(i.type=r):i.composers.add(g6(r,n));return i.type==null&&(i.type="span"),i.composers.size||i.composers.add(["PJLV",{},[],[],{},[]]),m6(n,i,e)}),g6=({variants:n,compoundVariants:e,defaultVariants:t,...i},r)=>{const s=`${Ho(r.prefix)}c-${cc(i)}`,o=[],a=[],l=Object.create(null),c=[];for(const d in t)l[d]=String(t[d]);if(typeof n=="object"&&n)for(const d in n){u=l,h=d,r6.call(u,h)||(l[d]="undefined");const p=n[d];for(const m in p){const I={[d]:String(m)};String(m)==="undefined"&&c.push(d);const v=p[m],g=[I,v,!hM(v)];o.push(g)}}var u,h;if(typeof e=="object"&&e)for(const d of e){let{css:p,...m}=d;p=typeof p=="object"&&p||{};for(const v in m)m[v]=String(m[v]);const I=[m,p,!hM(p)];a.push(I)}return[s,i,o,a,l,c]},m6=(n,e,t)=>{const[i,r,s,o]=v6(e.composers),a=typeof e.type=="function"||e.type.$$typeof?(h=>{function d(){for(let p=0;pd.rules[p]={apply:m=>d[mf].push([p,m])}),d})(t):null,l=(a||t).rules,c=`.${i}${r.length>1?`:where(.${r.slice(1).join(".")})`:""}`,u=h=>{h=typeof h=="object"&&h||y6;const{css:d,...p}=h,m={};for(const g in s)if(delete p[g],g in h){let y=h[g];typeof y=="object"&&y?m[g]={"@initial":s[g],...y}:(y=String(y),m[g]=y!=="undefined"||o.has(g)?y:s[g])}else m[g]=s[g];const I=new Set([...r]);for(const[g,y,E,x]of e.composers){t.rules.styled.cache.has(g)||(t.rules.styled.cache.add(g),Gu(y,[`.${g}`],[],n,R=>{l.styled.apply(R)}));const w=vM(E,m,n.media),_=vM(x,m,n.media,!0);for(const R of w)if(R!==void 0)for(const[D,Y,M]of R){const P=`${g}-${cc(Y)}-${D}`;I.add(P);const z=(M?t.rules.resonevar:t.rules.onevar).cache,se=M?l.resonevar:l.onevar;z.has(P)||(z.add(P),Gu(Y,[`.${P}`],[],n,V=>{se.apply(V)}))}for(const R of _)if(R!==void 0)for(const[D,Y]of R){const M=`${g}-${cc(Y)}-${D}`;I.add(M),t.rules.allvar.cache.has(M)||(t.rules.allvar.cache.add(M),Gu(Y,[`.${M}`],[],n,P=>{l.allvar.apply(P)}))}}if(typeof d=="object"&&d){const g=`${i}-i${cc(d)}-css`;I.add(g),t.rules.inline.cache.has(g)||(t.rules.inline.cache.add(g),Gu(d,[`.${g}`],[],n,y=>{l.inline.apply(y)}))}for(const g of String(h.className||"").trim().split(/\s+/))g&&I.add(g);const v=p.className=[...I].join(" ");return{type:e.type,className:v,selector:c,props:p,toString:()=>v,deferredInjector:a}};return tB(u,{className:i,selector:c,[lc]:e,toString:()=>(t.rules.styled.cache.has(i)||u(),i)})},v6=n=>{let e="";const t=[],i={},r=[];for(const[s,,,,o,a]of n){e===""&&(e=s),t.push(s),r.push(...a);for(const l in o){const c=o[l];(i[l]===void 0||c!=="undefined"||a.includes(c))&&(i[l]=c)}}return[e,t,i,new Set(r)]},vM=(n,e,t,i)=>{const r=[];e:for(let[s,o,a]of n){if(a)continue;let l,c=0,u=!1;for(l in s){const h=s[l];let d=e[l];if(d!==h){if(typeof d!="object"||!d)continue e;{let p,m,I=0;for(const v in d){if(h===String(d[v])){if(v!=="@initial"){const g=v.slice(1);(m=m||[]).push(g in t?t[g]:v.replace(/^@media ?/,"")),u=!0}c+=I,p=!0}++I}if(m&&m.length&&(o={["@media "+m.join(", ")]:o}),!p)continue e}}}(r[c]=r[c]||[]).push([i?"cv":`${l}-${s[l]}`,o,u])}return r},y6={},E6=xA(),C6=(n,e)=>E6(n,()=>(...t)=>{const i=()=>{for(let r of t){r=typeof r=="object"&&r||{};let s=cc(r);if(!e.rules.global.cache.has(s)){if(e.rules.global.cache.add(s),"@import"in r){let o=[].indexOf.call(e.sheet.cssRules,e.rules.themed.group)-1;for(let a of[].concat(r["@import"]))a=a.includes('"')||a.includes("'")?a:`"${a}"`,e.sheet.insertRule(`@import ${a};`,o++);delete r["@import"]}Gu(r,[],[],n,o=>{e.rules.global.apply(o)})}}return""};return tB(i,{toString:i})}),I6=xA(),B6=(n,e)=>I6(n,()=>t=>{const i=`${Ho(n.prefix)}k-${cc(t)}`,r=()=>{if(!e.rules.global.cache.has(i)){e.rules.global.cache.add(i);const s=[];Gu(t,[],[],n,a=>s.push(a));const o=`@keyframes ${i}{${s.join("")}}`;e.rules.global.apply(o)}return i};return tB(r,{get name(){return r()},toString:r})}),x6=class{constructor(n,e,t,i){this.token=n==null?"":String(n),this.value=e==null?"":String(e),this.scale=t==null?"":String(t),this.prefix=i==null?"":String(i)}get computedValue(){return"var("+this.variable+")"}get variable(){return"--"+Ho(this.prefix)+Ho(this.scale)+this.token}toString(){return this.computedValue}},S6=xA(),w6=(n,e)=>S6(n,()=>(t,i)=>{i=typeof t=="object"&&t||Object(i);const r=`.${t=(t=typeof t=="string"?t:"")||`${Ho(n.prefix)}t-${cc(i)}`}`,s={},o=[];for(const l in i){s[l]={};for(const c in i[l]){const u=`--${Ho(n.prefix)}${l}-${c}`,h=M3(String(i[l][c]),n.prefix,l);s[l][c]=new x6(c,h,l,n.prefix),o.push(`${u}:${h}`)}}const a=()=>{if(o.length&&!e.rules.themed.cache.has(t)){e.rules.themed.cache.add(t);const l=`${i===n.theme?":root,":""}.${t}{${o.join(";")}}`;e.rules.themed.apply(l)}return t};return{...s,get className(){return a()},selector:r,toString:a}}),_6=xA(),yM,M6=xA(),Q6=n=>{const e=(t=>{let i=!1;const r=_6(t,s=>{i=!0;const o="prefix"in(s=typeof s=="object"&&s||{})?String(s.prefix):"",a=typeof s.media=="object"&&s.media||{},l=typeof s.root=="object"?s.root||null:globalThis.document||null,c=typeof s.theme=="object"&&s.theme||{},u={prefix:o,media:a,theme:c,themeMap:typeof s.themeMap=="object"&&s.themeMap||{...n6},utils:typeof s.utils=="object"&&s.utils||{}},h=h6(l),d={css:mM(u,h),globalCss:C6(u,h),keyframes:B6(u,h),createTheme:w6(u,h),reset(){h.reset(),d.theme.toString()},theme:{},sheet:h,config:u,prefix:o,getCssText:h.toString,toString:h.toString};return String(d.theme=d.createTheme(c)),d});return i||r.reset(),r})(n);return e.styled=(({config:t,sheet:i})=>M6(t,()=>{const r=mM(t,i);return(...s)=>{const o=r(...s),a=o[lc].type,l=Fl.forwardRef((c,u)=>{const h=c&&c.as||a,{props:d,deferredInjector:p}=o(c);return delete d.as,d.ref=u,p?Fl.createElement(Fl.Fragment,null,Fl.createElement(h,d),Fl.createElement(p,null)):Fl.createElement(h,d)});return l.className=o.className,l.displayName=`Styled.${a.displayName||a.name||a}`,l.selector=o.selector,l.toString=()=>o.selector,l[lc]=o[lc],l}}))(e),e},R6=()=>yM||(yM=Q6()),vi=(...n)=>R6().styled(...n);const T6=vi("div",{position:"fixed",top:0,right:0,zIndex:9999,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif`,backgroundColor:"rgba(36, 36, 36, .9)",color:"#fff",margin:0,minHeight:"100px",padding:"4px 0","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale",userSelect:"none","&.top-left":{right:"initial",left:0},"&.bottom-left":{right:"initial",top:"initial",bottom:0,left:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.bottom-right":{top:"initial",bottom:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.minimal":{backgroundColor:"rgba(36, 36, 36, .75)"},"*":{margin:"0",padding:"0",border:"0",fontSize:"100%",lineHeight:"1",verticalAlign:"baseline"}}),Ky=mi("small",{position:"absolute",right:0,fontSize:"10px"}),Wi=mi("div",{display:"inline-flex",fontStyle:"normal",padding:0,lineHeight:"13px",fontSize:"14px",width:"62px",position:"relative",pointerEvents:"auto",cursor:"default",fontWeight:500,letterSpacing:"0px",textAlign:"left",height:"29px",whiteSpace:"nowrap",justifyContent:"space-evenly",fontVariantNumeric:"tabular-nums",small:{paddingLeft:"12px"},svg:{padding:0,color:"rgba(145, 145, 145, 0.3)",fontSize:"40px",position:"absolute",zIndex:1,maxHeight:"20px",left:" 50%",marginLeft:"-23px",top:"4px"}}),Br=mi("span",{verticalAlign:"bottom",position:"absolute",bottom:"5px",color:"rgba(101, 197, 188, 1)",textAlign:"right",letterSpacing:"1px",fontSize:"8px",fontWeight:"500",width:"60px"}),T6=mi("div",{display:"flex"}),D6=mi("div",{backgroundColor:"#404040",padding:"6px",display:"block",fontSize:"12px",marginBottom:"6px",cursor:"pointer","*":{cursor:"pointer !important"},"> span":{},small:{fontSize:"9px"},"> b":{marginRight:"4px",cursor:"pointer"}}),b6=mi("div",{height:"66px",overflow:"hidden",position:"absolute",pointerEvents:"none",display:"flex",top:"0px",justifyContent:"center",width:"100%",minWidth:"310px",margin:"0 auto",canvas:{background:"transparent !important",position:"absolute !important"}}),L6=mi("div",{textAlign:"center",fontWeight:700,fontSize:"12px",lineHeight:"12px",display:"flex",justifyContent:"center",alignItems:"center",verticalAlign:"middle",color:"#f1f1f1",padding:"7px",width:"100%",backgroundColor:"rgba(36, 36, 37, 0.8)",zIndex:1,position:"absolute",height:"100%"}),tB=mi("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),P6=mi("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",float:"right",backgroundColor:"rgb(41, 43, 45)",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),U6=mi("div",{padding:"4px 6px",fontSize:"12px",pointerEvents:"auto"}),N6=mi("span",{fontWeight:"bold",letterSpacing:"0.08em",maxWidth:"145px",overflow:"hidden",textOverflow:"ellipsis",display:"inline-block",verticalAlign:"middle",fontSize:"11px",marginRight:"10px"}),k6=mi("div",{maxHeight:"50vh",overflowY:"auto",marginTop:"38px"}),F6=mi("div",{marginTop:"0"}),yM=mi("div",{display:"flex",position:"relative",fontWeight:"bold",color:"#fff",lineHeight:"14px",svg:{marginRight:"4px",display:"inline-block"}}),M3=mi("ul",{display:"block",position:"relative",paddingLeft:"10px",margin:"6px 6px",img:{maxHeight:"60px",maxWidth:"100%",margin:"6px auto",display:"block"},"&:after":{content:"",position:"absolute",left:"0px",top:"0px",width:"1px",height:"100%",backgroundColor:"grey",transform:"translateX(-50%)",maxHeight:"50vh",overflowY:"auto"},li:{borderBottom:"1px solid #313131",display:"block",padding:"4px",margin:0,lineHeight:1,verticalAlign:"middle",height:"24px"},b:{fontWeight:"bold"},small:{textAlign:"revert",letterSpacing:"1px",fontSize:"10px",fontWeight:"500",marginLeft:"2px",color:"rgb(101, 197, 188)"}}),Q3=mi("button",{fontWeight:"bold",letterSpacing:"0.02em",backgroundColor:"rgb(41, 43, 45)",color:"rgb(211, 211, 211)",overflow:"hidden",textOverflow:"ellipsis",cursor:"pointer",display:"block",verticalAlign:"middle",fontSize:"11px",padding:"5px",margin:"4px auto"}),O6=mi("div",{display:"flex",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0 auto",color:"rgba(145, 145, 145, 1)",textAlign:"center",position:"absolute",right:0,bottom:" -20px",svg:{width:"12px",height:"12px",float:"left"}}),G6=mi("li",{display:"flex !important",height:"auto !important",span:{height:"40px",display:"block",position:"relative"},b:{paddingLeft:"12px"}});function ti(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}var H6=["color"],R3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,H6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M0 1.5C0 1.22386 0.223858 1 0.5 1H2.5C2.77614 1 3 1.22386 3 1.5C3 1.77614 2.77614 2 2.5 2H0.5C0.223858 2 0 1.77614 0 1.5ZM4 1.5C4 1.22386 4.22386 1 4.5 1H14.5C14.7761 1 15 1.22386 15 1.5C15 1.77614 14.7761 2 14.5 2H4.5C4.22386 2 4 1.77614 4 1.5ZM4 4.5C4 4.22386 4.22386 4 4.5 4H11.5C11.7761 4 12 4.22386 12 4.5C12 4.77614 11.7761 5 11.5 5H4.5C4.22386 5 4 4.77614 4 4.5ZM0 7.5C0 7.22386 0.223858 7 0.5 7H2.5C2.77614 7 3 7.22386 3 7.5C3 7.77614 2.77614 8 2.5 8H0.5C0.223858 8 0 7.77614 0 7.5ZM4 7.5C4 7.22386 4.22386 7 4.5 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H4.5C4.22386 8 4 7.77614 4 7.5ZM4 10.5C4 10.2239 4.22386 10 4.5 10H11.5C11.7761 10 12 10.2239 12 10.5C12 10.7761 11.7761 11 11.5 11H4.5C4.22386 11 4 10.7761 4 10.5ZM0 13.5C0 13.2239 0.223858 13 0.5 13H2.5C2.77614 13 3 13.2239 3 13.5C3 13.7761 2.77614 14 2.5 14H0.5C0.223858 14 0 13.7761 0 13.5ZM4 13.5C4 13.2239 4.22386 13 4.5 13H14.5C14.7761 13 15 13.2239 15 13.5C15 13.7761 14.7761 14 14.5 14H4.5C4.22386 14 4 13.7761 4 13.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),z6=["color"],V6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,z6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M11.5 1C11.7761 1 12 1.22386 12 1.5V13.5C12 13.7761 11.7761 14 11.5 14C11.2239 14 11 13.7761 11 13.5V1.5C11 1.22386 11.2239 1 11.5 1ZM9.5 3C9.77614 3 10 3.22386 10 3.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5V3.5C9 3.22386 9.22386 3 9.5 3ZM13.5 3C13.7761 3 14 3.22386 14 3.5V13.5C14 13.7761 13.7761 14 13.5 14C13.2239 14 13 13.7761 13 13.5V3.5C13 3.22386 13.2239 3 13.5 3ZM5.5 4C5.77614 4 6 4.22386 6 4.5V13.5C6 13.7761 5.77614 14 5.5 14C5.22386 14 5 13.7761 5 13.5V4.5C5 4.22386 5.22386 4 5.5 4ZM1.5 5C1.77614 5 2 5.22386 2 5.5V13.5C2 13.7761 1.77614 14 1.5 14C1.22386 14 1 13.7761 1 13.5V5.5C1 5.22386 1.22386 5 1.5 5ZM7.5 5C7.77614 5 8 5.22386 8 5.5V13.5C8 13.7761 7.77614 14 7.5 14C7.22386 14 7 13.7761 7 13.5V5.5C7 5.22386 7.22386 5 7.5 5ZM3.5 7C3.77614 7 4 7.22386 4 7.5V13.5C4 13.7761 3.77614 14 3.5 14C3.22386 14 3 13.7761 3 13.5V7.5C3 7.22386 3.22386 7 3.5 7Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),W6=["color"],Y6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,W6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2 5H13C13.5523 5 14 5.44772 14 6V9C14 9.55228 13.5523 10 13 10H2C1.44772 10 1 9.55228 1 9V6C1 5.44772 1.44772 5 2 5ZM0 6C0 4.89543 0.895431 4 2 4H13C14.1046 4 15 4.89543 15 6V9C15 10.1046 14.1046 11 13 11H2C0.89543 11 0 10.1046 0 9V6ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5C3.75 7.91421 4.08579 8.25 4.5 8.25C4.91421 8.25 5.25 7.91421 5.25 7.5C5.25 7.08579 4.91421 6.75 4.5 6.75ZM6.75 7.5C6.75 7.08579 7.08579 6.75 7.5 6.75C7.91421 6.75 8.25 7.08579 8.25 7.5C8.25 7.91421 7.91421 8.25 7.5 8.25C7.08579 8.25 6.75 7.91421 6.75 7.5ZM10.5 6.75C10.0858 6.75 9.75 7.08579 9.75 7.5C9.75 7.91421 10.0858 8.25 10.5 8.25C10.9142 8.25 11.25 7.91421 11.25 7.5C11.25 7.08579 10.9142 6.75 10.5 6.75Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),J6=["color"],X6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,J6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.28856 0.796908C7.42258 0.734364 7.57742 0.734364 7.71144 0.796908L13.7114 3.59691C13.8875 3.67906 14 3.85574 14 4.05V10.95C14 11.1443 13.8875 11.3209 13.7114 11.4031L7.71144 14.2031C7.57742 14.2656 7.42258 14.2656 7.28856 14.2031L1.28856 11.4031C1.11252 11.3209 1 11.1443 1 10.95V4.05C1 3.85574 1.11252 3.67906 1.28856 3.59691L7.28856 0.796908ZM2 4.80578L7 6.93078V12.9649L2 10.6316V4.80578ZM8 12.9649L13 10.6316V4.80578L8 6.93078V12.9649ZM7.5 6.05672L12.2719 4.02866L7.5 1.80176L2.72809 4.02866L7.5 6.05672Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),K6=["color"],j6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,K6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.5 9.125C8.39746 9.125 9.125 8.39746 9.125 7.5C9.125 6.60254 8.39746 5.875 7.5 5.875C6.60254 5.875 5.875 6.60254 5.875 7.5C5.875 8.39746 6.60254 9.125 7.5 9.125ZM7.5 10.125C8.94975 10.125 10.125 8.94975 10.125 7.5C10.125 6.05025 8.94975 4.875 7.5 4.875C6.05025 4.875 4.875 6.05025 4.875 7.5C4.875 8.94975 6.05025 10.125 7.5 10.125Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),q6=["color"],Z6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,q6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.49999 3.09998C7.27907 3.09998 7.09999 3.27906 7.09999 3.49998C7.09999 3.72089 7.27907 3.89998 7.49999 3.89998H14.5C14.7209 3.89998 14.9 3.72089 14.9 3.49998C14.9 3.27906 14.7209 3.09998 14.5 3.09998H7.49999ZM7.49998 5.1C7.27907 5.1 7.09998 5.27908 7.09998 5.5C7.09998 5.72091 7.27907 5.9 7.49998 5.9H14.5C14.7209 5.9 14.9 5.72091 14.9 5.5C14.9 5.27908 14.7209 5.1 14.5 5.1H7.49998ZM7.1 7.5C7.1 7.27908 7.27909 7.1 7.5 7.1H14.5C14.7209 7.1 14.9 7.27908 14.9 7.5C14.9 7.72091 14.7209 7.9 14.5 7.9H7.5C7.27909 7.9 7.1 7.72091 7.1 7.5ZM7.49998 9.1C7.27907 9.1 7.09998 9.27908 7.09998 9.5C7.09998 9.72091 7.27907 9.9 7.49998 9.9H14.5C14.7209 9.9 14.9 9.72091 14.9 9.5C14.9 9.27908 14.7209 9.1 14.5 9.1H7.49998ZM7.09998 11.5C7.09998 11.2791 7.27907 11.1 7.49998 11.1H14.5C14.7209 11.1 14.9 11.2791 14.9 11.5C14.9 11.7209 14.7209 11.9 14.5 11.9H7.49998C7.27907 11.9 7.09998 11.7209 7.09998 11.5ZM2.5 9.25003L5 6.00003H0L2.5 9.25003Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),$6=["color"],e7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,$6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),t7=["color"],n7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,t7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),i7=["color"],q1=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,i7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5C1 1.67157 1.67157 1 2.5 1ZM2.5 2C2.22386 2 2 2.22386 2 2.5V8.3636L3.6818 6.6818C3.76809 6.59551 3.88572 6.54797 4.00774 6.55007C4.12975 6.55216 4.24568 6.60372 4.32895 6.69293L7.87355 10.4901L10.6818 7.6818C10.8575 7.50607 11.1425 7.50607 11.3182 7.6818L13 9.3636V2.5C13 2.22386 12.7761 2 12.5 2H2.5ZM2 12.5V9.6364L3.98887 7.64753L7.5311 11.4421L8.94113 13H2.5C2.22386 13 2 12.7761 2 12.5ZM12.5 13H10.155L8.48336 11.153L11 8.6364L13 10.6364V12.5C13 12.7761 12.7761 13 12.5 13ZM6.64922 5.5C6.64922 5.03013 7.03013 4.64922 7.5 4.64922C7.96987 4.64922 8.35078 5.03013 8.35078 5.5C8.35078 5.96987 7.96987 6.35078 7.5 6.35078C7.03013 6.35078 6.64922 5.96987 6.64922 5.5ZM7.5 3.74922C6.53307 3.74922 5.74922 4.53307 5.74922 5.5C5.74922 6.46693 6.53307 7.25078 7.5 7.25078C8.46693 7.25078 9.25078 6.46693 9.25078 5.5C9.25078 4.53307 8.46693 3.74922 7.5 3.74922Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),r7=["color"],s7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,r7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L12.058 2.05806C12.3021 1.81398 12.6978 1.81398 12.9419 2.05806C13.186 2.30214 13.186 2.69786 12.9419 2.94194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13361 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.49998 8.49998V4.09998C5.06992 4.09998 3.09998 6.06992 3.09998 8.49998C3.09998 10.93 5.06992 12.9 7.49998 12.9C8.715 12.9 9.815 12.4075 10.6112 11.6112L7.49998 8.49998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),o7=["color"],a7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,o7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.75432 0.819537C7.59742 0.726821 7.4025 0.726821 7.24559 0.819537L1.74559 4.06954C1.59336 4.15949 1.49996 4.32317 1.49996 4.5C1.49996 4.67683 1.59336 4.84051 1.74559 4.93046L7.24559 8.18046C7.4025 8.27318 7.59742 8.27318 7.75432 8.18046L13.2543 4.93046C13.4066 4.84051 13.5 4.67683 13.5 4.5C13.5 4.32317 13.4066 4.15949 13.2543 4.06954L7.75432 0.819537ZM7.49996 7.16923L2.9828 4.5L7.49996 1.83077L12.0171 4.5L7.49996 7.16923ZM1.5695 7.49564C1.70998 7.2579 2.01659 7.17906 2.25432 7.31954L7.49996 10.4192L12.7456 7.31954C12.9833 7.17906 13.2899 7.2579 13.4304 7.49564C13.5709 7.73337 13.4921 8.03998 13.2543 8.18046L7.75432 11.4305C7.59742 11.5232 7.4025 11.5232 7.24559 11.4305L1.74559 8.18046C1.50786 8.03998 1.42901 7.73337 1.5695 7.49564ZM1.56949 10.4956C1.70998 10.2579 2.01658 10.1791 2.25432 10.3195L7.49996 13.4192L12.7456 10.3195C12.9833 10.1791 13.2899 10.2579 13.4304 10.4956C13.5709 10.7334 13.4921 11.04 13.2543 11.1805L7.75432 14.4305C7.59742 14.5232 7.4025 14.5232 7.24559 14.4305L1.74559 11.1805C1.50785 11.04 1.42901 10.7334 1.56949 10.4956Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),l7=["color"],c7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,l7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M8.69667 0.0403541C8.90859 0.131038 9.03106 0.354857 8.99316 0.582235L8.0902 6.00001H12.5C12.6893 6.00001 12.8625 6.10701 12.9472 6.27641C13.0319 6.4458 13.0136 6.6485 12.8999 6.80001L6.89997 14.8C6.76167 14.9844 6.51521 15.0503 6.30328 14.9597C6.09135 14.869 5.96888 14.6452 6.00678 14.4178L6.90974 9H2.49999C2.31061 9 2.13748 8.893 2.05278 8.72361C1.96809 8.55422 1.98636 8.35151 2.09999 8.2L8.09997 0.200038C8.23828 0.0156255 8.48474 -0.0503301 8.69667 0.0403541ZM3.49999 8.00001H7.49997C7.64695 8.00001 7.78648 8.06467 7.88148 8.17682C7.97648 8.28896 8.01733 8.43723 7.99317 8.5822L7.33027 12.5596L11.5 7.00001H7.49997C7.353 7.00001 7.21347 6.93534 7.11846 6.8232C7.02346 6.71105 6.98261 6.56279 7.00678 6.41781L7.66968 2.44042L3.49999 8.00001Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),u7=["color"],A7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,u7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M1.49988 2.00012C1.77602 2.00012 1.99988 1.77626 1.99988 1.50012C1.99988 1.22398 1.77602 1.00012 1.49988 1.00012C1.22374 1.00012 0.999878 1.22398 0.999878 1.50012C0.999878 1.77626 1.22374 2.00012 1.49988 2.00012ZM4.49988 2.00012C4.77602 2.00012 4.99988 1.77626 4.99988 1.50012C4.99988 1.22398 4.77602 1.00012 4.49988 1.00012C4.22374 1.00012 3.99988 1.22398 3.99988 1.50012C3.99988 1.77626 4.22374 2.00012 4.49988 2.00012ZM7.99988 1.50012C7.99988 1.77626 7.77602 2.00012 7.49988 2.00012C7.22374 2.00012 6.99988 1.77626 6.99988 1.50012C6.99988 1.22398 7.22374 1.00012 7.49988 1.00012C7.77602 1.00012 7.99988 1.22398 7.99988 1.50012ZM10.4999 2.00012C10.776 2.00012 10.9999 1.77626 10.9999 1.50012C10.9999 1.22398 10.776 1.00012 10.4999 1.00012C10.2237 1.00012 9.99988 1.22398 9.99988 1.50012C9.99988 1.77626 10.2237 2.00012 10.4999 2.00012ZM13.9999 1.50012C13.9999 1.77626 13.776 2.00012 13.4999 2.00012C13.2237 2.00012 12.9999 1.77626 12.9999 1.50012C12.9999 1.22398 13.2237 1.00012 13.4999 1.00012C13.776 1.00012 13.9999 1.22398 13.9999 1.50012ZM1.49988 14.0001C1.77602 14.0001 1.99988 13.7763 1.99988 13.5001C1.99988 13.224 1.77602 13.0001 1.49988 13.0001C1.22374 13.0001 0.999878 13.224 0.999878 13.5001C0.999878 13.7763 1.22374 14.0001 1.49988 14.0001ZM1.99988 10.5001C1.99988 10.7763 1.77602 11.0001 1.49988 11.0001C1.22374 11.0001 0.999878 10.7763 0.999878 10.5001C0.999878 10.224 1.22374 10.0001 1.49988 10.0001C1.77602 10.0001 1.99988 10.224 1.99988 10.5001ZM1.49988 8.00012C1.77602 8.00012 1.99988 7.77626 1.99988 7.50012C1.99988 7.22398 1.77602 7.00012 1.49988 7.00012C1.22374 7.00012 0.999878 7.22398 0.999878 7.50012C0.999878 7.77626 1.22374 8.00012 1.49988 8.00012ZM1.99988 4.50012C1.99988 4.77626 1.77602 5.00012 1.49988 5.00012C1.22374 5.00012 0.999878 4.77626 0.999878 4.50012C0.999878 4.22398 1.22374 4.00012 1.49988 4.00012C1.77602 4.00012 1.99988 4.22398 1.99988 4.50012ZM13.4999 11.0001C13.776 11.0001 13.9999 10.7763 13.9999 10.5001C13.9999 10.224 13.776 10.0001 13.4999 10.0001C13.2237 10.0001 12.9999 10.224 12.9999 10.5001C12.9999 10.7763 13.2237 11.0001 13.4999 11.0001ZM13.9999 7.50012C13.9999 7.77626 13.776 8.00012 13.4999 8.00012C13.2237 8.00012 12.9999 7.77626 12.9999 7.50012C12.9999 7.22398 13.2237 7.00012 13.4999 7.00012C13.776 7.00012 13.9999 7.22398 13.9999 7.50012ZM13.4999 5.00012C13.776 5.00012 13.9999 4.77626 13.9999 4.50012C13.9999 4.22398 13.776 4.00012 13.4999 4.00012C13.2237 4.00012 12.9999 4.22398 12.9999 4.50012C12.9999 4.77626 13.2237 5.00012 13.4999 5.00012ZM4.99988 13.5001C4.99988 13.7763 4.77602 14.0001 4.49988 14.0001C4.22374 14.0001 3.99988 13.7763 3.99988 13.5001C3.99988 13.224 4.22374 13.0001 4.49988 13.0001C4.77602 13.0001 4.99988 13.224 4.99988 13.5001ZM7.49988 14.0001C7.77602 14.0001 7.99988 13.7763 7.99988 13.5001C7.99988 13.224 7.77602 13.0001 7.49988 13.0001C7.22374 13.0001 6.99988 13.224 6.99988 13.5001C6.99988 13.7763 7.22374 14.0001 7.49988 14.0001ZM10.9999 13.5001C10.9999 13.7763 10.776 14.0001 10.4999 14.0001C10.2237 14.0001 9.99988 13.7763 9.99988 13.5001C9.99988 13.224 10.2237 13.0001 10.4999 13.0001C10.776 13.0001 10.9999 13.224 10.9999 13.5001ZM13.4999 14.0001C13.776 14.0001 13.9999 13.7763 13.9999 13.5001C13.9999 13.224 13.776 13.0001 13.4999 13.0001C13.2237 13.0001 12.9999 13.224 12.9999 13.5001C12.9999 13.7763 13.2237 14.0001 13.4999 14.0001ZM3.99988 5.00012C3.99988 4.44784 4.44759 4.00012 4.99988 4.00012H9.99988C10.5522 4.00012 10.9999 4.44784 10.9999 5.00012V10.0001C10.9999 10.5524 10.5522 11.0001 9.99988 11.0001H4.99988C4.44759 11.0001 3.99988 10.5524 3.99988 10.0001V5.00012ZM4.99988 5.00012H9.99988V10.0001H4.99988V5.00012Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),f7=["color"],h7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,f7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.25 7.5C2.25 7.22386 2.47386 7 2.75 7H12.25C12.5261 7 12.75 7.22386 12.75 7.5C12.75 7.77614 12.5261 8 12.25 8H2.75C2.47386 8 2.25 7.77614 2.25 7.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),d7=["color"],p7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,d7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),g7=["color"],m7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,g7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M6.85357 3.85355L7.65355 3.05353C8.2981 2.40901 9.42858 1.96172 10.552 1.80125C11.1056 1.72217 11.6291 1.71725 12.0564 1.78124C12.4987 1.84748 12.7698 1.97696 12.8965 2.10357C13.0231 2.23018 13.1526 2.50125 13.2188 2.94357C13.2828 3.37086 13.2779 3.89439 13.1988 4.44801C13.0383 5.57139 12.591 6.70188 11.9464 7.34645L7.49999 11.7929L6.35354 10.6465C6.15827 10.4512 5.84169 10.4512 5.64643 10.6465C5.45117 10.8417 5.45117 11.1583 5.64643 11.3536L7.14644 12.8536C7.34171 13.0488 7.65829 13.0488 7.85355 12.8536L8.40073 12.3064L9.57124 14.2572C9.65046 14.3893 9.78608 14.4774 9.9389 14.4963C10.0917 14.5151 10.2447 14.4624 10.3535 14.3536L12.3535 12.3536C12.4648 12.2423 12.5172 12.0851 12.495 11.9293L12.0303 8.67679L12.6536 8.05355C13.509 7.19808 14.0117 5.82855 14.1887 4.58943C14.2784 3.9618 14.2891 3.33847 14.2078 2.79546C14.1287 2.26748 13.9519 1.74482 13.6035 1.39645C13.2552 1.04809 12.7325 0.871332 12.2045 0.792264C11.6615 0.710945 11.0382 0.721644 10.4105 0.8113C9.17143 0.988306 7.80189 1.491 6.94644 2.34642L6.32322 2.96968L3.07071 2.50504C2.91492 2.48278 2.75773 2.53517 2.64645 2.64646L0.646451 4.64645C0.537579 4.75533 0.484938 4.90829 0.50375 5.0611C0.522563 5.21391 0.61073 5.34954 0.742757 5.42876L2.69364 6.59928L2.14646 7.14645C2.0527 7.24022 2.00002 7.3674 2.00002 7.50001C2.00002 7.63261 2.0527 7.75979 2.14646 7.85356L3.64647 9.35356C3.84173 9.54883 4.15831 9.54883 4.35357 9.35356C4.54884 9.1583 4.54884 8.84172 4.35357 8.64646L3.20712 7.50001L3.85357 6.85356L6.85357 3.85355ZM10.0993 13.1936L9.12959 11.5775L11.1464 9.56067L11.4697 11.8232L10.0993 13.1936ZM3.42251 5.87041L5.43935 3.85356L3.17678 3.53034L1.80638 4.90074L3.42251 5.87041ZM2.35356 10.3535C2.54882 10.1583 2.54882 9.8417 2.35356 9.64644C2.1583 9.45118 1.84171 9.45118 1.64645 9.64644L0.646451 10.6464C0.451188 10.8417 0.451188 11.1583 0.646451 11.3535C0.841713 11.5488 1.1583 11.5488 1.35356 11.3535L2.35356 10.3535ZM3.85358 11.8536C4.04884 11.6583 4.04885 11.3417 3.85359 11.1465C3.65833 10.9512 3.34175 10.9512 3.14648 11.1465L1.14645 13.1464C0.95119 13.3417 0.951187 13.6583 1.14645 13.8535C1.34171 14.0488 1.65829 14.0488 1.85355 13.8536L3.85358 11.8536ZM5.35356 13.3535C5.54882 13.1583 5.54882 12.8417 5.35356 12.6464C5.1583 12.4512 4.84171 12.4512 4.64645 12.6464L3.64645 13.6464C3.45119 13.8417 3.45119 14.1583 3.64645 14.3535C3.84171 14.5488 4.1583 14.5488 4.35356 14.3535L5.35356 13.3535ZM9.49997 6.74881C10.1897 6.74881 10.7488 6.1897 10.7488 5.5C10.7488 4.8103 10.1897 4.25118 9.49997 4.25118C8.81026 4.25118 8.25115 4.8103 8.25115 5.5C8.25115 6.1897 8.81026 6.74881 9.49997 6.74881Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),v7=["color"],y7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,v7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M0.5 4C0.223858 4 0 4.22386 0 4.5V10.5C0 10.7761 0.223858 11 0.5 11H14.5C14.7761 11 15 10.7761 15 10.5V4.5C15 4.22386 14.7761 4 14.5 4H0.5ZM1 10V5H2.075V7.5C2.075 7.73472 2.26528 7.925 2.5 7.925C2.73472 7.925 2.925 7.73472 2.925 7.5V5H4.075V6.5C4.075 6.73472 4.26528 6.925 4.5 6.925C4.73472 6.925 4.925 6.73472 4.925 6.5V5H6.075V6.5C6.075 6.73472 6.26528 6.925 6.5 6.925C6.73472 6.925 6.925 6.73472 6.925 6.5V5H8.075V7.5C8.075 7.73472 8.26528 7.925 8.5 7.925C8.73472 7.925 8.925 7.73472 8.925 7.5V5H10.075V6.5C10.075 6.73472 10.2653 6.925 10.5 6.925C10.7347 6.925 10.925 6.73472 10.925 6.5V5H12.075V6.5C12.075 6.73472 12.2653 6.925 12.5 6.925C12.7347 6.925 12.925 6.73472 12.925 6.5V5H14V10H1Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),E7=["color"],C7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,E7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.5 4C2.22386 4 2 4.22386 2 4.5C2 4.77614 2.22386 5 2.5 5H12.5C12.7761 5 13 4.77614 13 4.5C13 4.22386 12.7761 4 12.5 4H2.5ZM2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5ZM2 10.5C2 10.2239 2.22386 10 2.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),I7=["color"],T3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,I7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M4 6H11L7.5 10.5L4 6Z",fill:i}))}),B7=["color"],D3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,B7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M4 9H11L7.5 4.5L4 9Z",fill:i}))}),x7=["color"],b3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,x7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.49998 1L6.92321 2.00307L1.17498 12L0.599976 13H1.7535H13.2464H14.4L13.825 12L8.07674 2.00307L7.49998 1ZM7.49998 3.00613L2.3285 12H12.6714L7.49998 3.00613Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))});function S7(){var n=Object.create(null);function e(r,s){var o=r.id,a=r.name,l=r.dependencies;l===void 0&&(l=[]);var c=r.init;c===void 0&&(c=function(){});var u=r.getTransferables;if(u===void 0&&(u=null),!n[o])try{l=l.map(function(d){return d&&d.isWorkerModule&&(e(d,function(p){if(p instanceof Error)throw p}),d=n[d.id].value),d}),c=i("<"+a+">.init",c),u&&(u=i("<"+a+">.getTransferables",u));var h=null;typeof c=="function"?h=c.apply(void 0,l):console.error("worker module init function failed to rehydrate"),n[o]={id:o,value:h,getTransferables:u},s(h)}catch(d){d&&d.noLog||console.error(d),s(d)}}function t(r,s){var o,a=r.id,l=r.args;(!n[a]||typeof n[a].value!="function")&&s(new Error("Worker module "+a+": not found or its 'init' did not return a function"));try{var c=(o=n[a]).value.apply(o,l);c&&typeof c.then=="function"?c.then(u,function(h){return s(h instanceof Error?h:new Error(""+h))}):u(c)}catch(h){s(h)}function u(h){try{var d=n[a].getTransferables&&n[a].getTransferables(h);(!d||!Array.isArray(d)||!d.length)&&(d=void 0),s(h,d)}catch(p){console.error(p),s(p)}}}function i(r,s){var o=void 0;self.troikaDefine=function(l){return o=l};var a=URL.createObjectURL(new Blob(["/** "+r.replace(/\*/g,"")+` **/ + sans-serif`,backgroundColor:"rgba(36, 36, 36, .9)",color:"#fff",margin:0,minHeight:"100px",padding:"4px 0","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale",userSelect:"none","&.top-left":{right:"initial",left:0},"&.bottom-left":{right:"initial",top:"initial",bottom:0,left:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.bottom-right":{top:"initial",bottom:0,".__perf_toggle":{top:"-20px",bottom:"initial"}},"&.minimal":{backgroundColor:"rgba(36, 36, 36, .75)"},"*":{margin:"0",padding:"0",border:"0",fontSize:"100%",lineHeight:"1",verticalAlign:"baseline"}}),Ky=vi("small",{position:"absolute",right:0,fontSize:"10px"}),Wi=vi("div",{display:"inline-flex",fontStyle:"normal",padding:0,lineHeight:"13px",fontSize:"14px",width:"62px",position:"relative",pointerEvents:"auto",cursor:"default",fontWeight:500,letterSpacing:"0px",textAlign:"left",height:"29px",whiteSpace:"nowrap",justifyContent:"space-evenly",fontVariantNumeric:"tabular-nums",small:{paddingLeft:"12px"},svg:{padding:0,color:"rgba(145, 145, 145, 0.3)",fontSize:"40px",position:"absolute",zIndex:1,maxHeight:"20px",left:" 50%",marginLeft:"-23px",top:"4px"}}),Br=vi("span",{verticalAlign:"bottom",position:"absolute",bottom:"5px",color:"rgba(101, 197, 188, 1)",textAlign:"right",letterSpacing:"1px",fontSize:"8px",fontWeight:"500",width:"60px"}),D6=vi("div",{display:"flex"}),b6=vi("div",{backgroundColor:"#404040",padding:"6px",display:"block",fontSize:"12px",marginBottom:"6px",cursor:"pointer","*":{cursor:"pointer !important"},"> span":{},small:{fontSize:"9px"},"> b":{marginRight:"4px",cursor:"pointer"}}),L6=vi("div",{height:"66px",overflow:"hidden",position:"absolute",pointerEvents:"none",display:"flex",top:"0px",justifyContent:"center",width:"100%",minWidth:"310px",margin:"0 auto",canvas:{background:"transparent !important",position:"absolute !important"}}),P6=vi("div",{textAlign:"center",fontWeight:700,fontSize:"12px",lineHeight:"12px",display:"flex",justifyContent:"center",alignItems:"center",verticalAlign:"middle",color:"#f1f1f1",padding:"7px",width:"100%",backgroundColor:"rgba(36, 36, 37, 0.8)",zIndex:1,position:"absolute",height:"100%"}),nB=vi("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),U6=vi("div",{pointerEvents:"auto",justifyContent:"center",cursor:"pointer",fontSize:"12px",float:"right",backgroundColor:"rgb(41, 43, 45)",width:"auto",margin:"0",color:"rgba(145, 145, 145, 1)",textAlign:"center",display:"inline-block",verticalAlign:"middle",padding:"4px 6px","&.__perf_toggle_tab_active":{backgroundColor:"rgb(31 31 31)"},svg:{width:"12px",height:"12px",float:"left"}}),N6=vi("div",{padding:"4px 6px",fontSize:"12px",pointerEvents:"auto"}),k6=vi("span",{fontWeight:"bold",letterSpacing:"0.08em",maxWidth:"145px",overflow:"hidden",textOverflow:"ellipsis",display:"inline-block",verticalAlign:"middle",fontSize:"11px",marginRight:"10px"}),F6=vi("div",{maxHeight:"50vh",overflowY:"auto",marginTop:"38px"}),O6=vi("div",{marginTop:"0"}),EM=vi("div",{display:"flex",position:"relative",fontWeight:"bold",color:"#fff",lineHeight:"14px",svg:{marginRight:"4px",display:"inline-block"}}),Q3=vi("ul",{display:"block",position:"relative",paddingLeft:"10px",margin:"6px 6px",img:{maxHeight:"60px",maxWidth:"100%",margin:"6px auto",display:"block"},"&:after":{content:"",position:"absolute",left:"0px",top:"0px",width:"1px",height:"100%",backgroundColor:"grey",transform:"translateX(-50%)",maxHeight:"50vh",overflowY:"auto"},li:{borderBottom:"1px solid #313131",display:"block",padding:"4px",margin:0,lineHeight:1,verticalAlign:"middle",height:"24px"},b:{fontWeight:"bold"},small:{textAlign:"revert",letterSpacing:"1px",fontSize:"10px",fontWeight:"500",marginLeft:"2px",color:"rgb(101, 197, 188)"}}),R3=vi("button",{fontWeight:"bold",letterSpacing:"0.02em",backgroundColor:"rgb(41, 43, 45)",color:"rgb(211, 211, 211)",overflow:"hidden",textOverflow:"ellipsis",cursor:"pointer",display:"block",verticalAlign:"middle",fontSize:"11px",padding:"5px",margin:"4px auto"}),G6=vi("div",{display:"flex",justifyContent:"center",cursor:"pointer",fontSize:"12px",backgroundColor:"rgb(41, 43, 45)",marginTop:"6px",width:"auto",margin:"0 auto",color:"rgba(145, 145, 145, 1)",textAlign:"center",position:"absolute",right:0,bottom:" -20px",svg:{width:"12px",height:"12px",float:"left"}}),H6=vi("li",{display:"flex !important",height:"auto !important",span:{height:"40px",display:"block",position:"relative"},b:{paddingLeft:"12px"}});function ti(n,e){if(n==null)return{};var t={},i=Object.keys(n),r,s;for(s=0;s=0)&&(t[r]=n[r]);return t}var z6=["color"],T3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,z6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M0 1.5C0 1.22386 0.223858 1 0.5 1H2.5C2.77614 1 3 1.22386 3 1.5C3 1.77614 2.77614 2 2.5 2H0.5C0.223858 2 0 1.77614 0 1.5ZM4 1.5C4 1.22386 4.22386 1 4.5 1H14.5C14.7761 1 15 1.22386 15 1.5C15 1.77614 14.7761 2 14.5 2H4.5C4.22386 2 4 1.77614 4 1.5ZM4 4.5C4 4.22386 4.22386 4 4.5 4H11.5C11.7761 4 12 4.22386 12 4.5C12 4.77614 11.7761 5 11.5 5H4.5C4.22386 5 4 4.77614 4 4.5ZM0 7.5C0 7.22386 0.223858 7 0.5 7H2.5C2.77614 7 3 7.22386 3 7.5C3 7.77614 2.77614 8 2.5 8H0.5C0.223858 8 0 7.77614 0 7.5ZM4 7.5C4 7.22386 4.22386 7 4.5 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H4.5C4.22386 8 4 7.77614 4 7.5ZM4 10.5C4 10.2239 4.22386 10 4.5 10H11.5C11.7761 10 12 10.2239 12 10.5C12 10.7761 11.7761 11 11.5 11H4.5C4.22386 11 4 10.7761 4 10.5ZM0 13.5C0 13.2239 0.223858 13 0.5 13H2.5C2.77614 13 3 13.2239 3 13.5C3 13.7761 2.77614 14 2.5 14H0.5C0.223858 14 0 13.7761 0 13.5ZM4 13.5C4 13.2239 4.22386 13 4.5 13H14.5C14.7761 13 15 13.2239 15 13.5C15 13.7761 14.7761 14 14.5 14H4.5C4.22386 14 4 13.7761 4 13.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),V6=["color"],W6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,V6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M11.5 1C11.7761 1 12 1.22386 12 1.5V13.5C12 13.7761 11.7761 14 11.5 14C11.2239 14 11 13.7761 11 13.5V1.5C11 1.22386 11.2239 1 11.5 1ZM9.5 3C9.77614 3 10 3.22386 10 3.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5V3.5C9 3.22386 9.22386 3 9.5 3ZM13.5 3C13.7761 3 14 3.22386 14 3.5V13.5C14 13.7761 13.7761 14 13.5 14C13.2239 14 13 13.7761 13 13.5V3.5C13 3.22386 13.2239 3 13.5 3ZM5.5 4C5.77614 4 6 4.22386 6 4.5V13.5C6 13.7761 5.77614 14 5.5 14C5.22386 14 5 13.7761 5 13.5V4.5C5 4.22386 5.22386 4 5.5 4ZM1.5 5C1.77614 5 2 5.22386 2 5.5V13.5C2 13.7761 1.77614 14 1.5 14C1.22386 14 1 13.7761 1 13.5V5.5C1 5.22386 1.22386 5 1.5 5ZM7.5 5C7.77614 5 8 5.22386 8 5.5V13.5C8 13.7761 7.77614 14 7.5 14C7.22386 14 7 13.7761 7 13.5V5.5C7 5.22386 7.22386 5 7.5 5ZM3.5 7C3.77614 7 4 7.22386 4 7.5V13.5C4 13.7761 3.77614 14 3.5 14C3.22386 14 3 13.7761 3 13.5V7.5C3 7.22386 3.22386 7 3.5 7Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),Y6=["color"],J6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,Y6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2 5H13C13.5523 5 14 5.44772 14 6V9C14 9.55228 13.5523 10 13 10H2C1.44772 10 1 9.55228 1 9V6C1 5.44772 1.44772 5 2 5ZM0 6C0 4.89543 0.895431 4 2 4H13C14.1046 4 15 4.89543 15 6V9C15 10.1046 14.1046 11 13 11H2C0.89543 11 0 10.1046 0 9V6ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5C3.75 7.91421 4.08579 8.25 4.5 8.25C4.91421 8.25 5.25 7.91421 5.25 7.5C5.25 7.08579 4.91421 6.75 4.5 6.75ZM6.75 7.5C6.75 7.08579 7.08579 6.75 7.5 6.75C7.91421 6.75 8.25 7.08579 8.25 7.5C8.25 7.91421 7.91421 8.25 7.5 8.25C7.08579 8.25 6.75 7.91421 6.75 7.5ZM10.5 6.75C10.0858 6.75 9.75 7.08579 9.75 7.5C9.75 7.91421 10.0858 8.25 10.5 8.25C10.9142 8.25 11.25 7.91421 11.25 7.5C11.25 7.08579 10.9142 6.75 10.5 6.75Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),X6=["color"],K6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,X6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.28856 0.796908C7.42258 0.734364 7.57742 0.734364 7.71144 0.796908L13.7114 3.59691C13.8875 3.67906 14 3.85574 14 4.05V10.95C14 11.1443 13.8875 11.3209 13.7114 11.4031L7.71144 14.2031C7.57742 14.2656 7.42258 14.2656 7.28856 14.2031L1.28856 11.4031C1.11252 11.3209 1 11.1443 1 10.95V4.05C1 3.85574 1.11252 3.67906 1.28856 3.59691L7.28856 0.796908ZM2 4.80578L7 6.93078V12.9649L2 10.6316V4.80578ZM8 12.9649L13 10.6316V4.80578L8 6.93078V12.9649ZM7.5 6.05672L12.2719 4.02866L7.5 1.80176L2.72809 4.02866L7.5 6.05672Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),j6=["color"],q6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,j6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.5 9.125C8.39746 9.125 9.125 8.39746 9.125 7.5C9.125 6.60254 8.39746 5.875 7.5 5.875C6.60254 5.875 5.875 6.60254 5.875 7.5C5.875 8.39746 6.60254 9.125 7.5 9.125ZM7.5 10.125C8.94975 10.125 10.125 8.94975 10.125 7.5C10.125 6.05025 8.94975 4.875 7.5 4.875C6.05025 4.875 4.875 6.05025 4.875 7.5C4.875 8.94975 6.05025 10.125 7.5 10.125Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),Z6=["color"],$6=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,Z6);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.49999 3.09998C7.27907 3.09998 7.09999 3.27906 7.09999 3.49998C7.09999 3.72089 7.27907 3.89998 7.49999 3.89998H14.5C14.7209 3.89998 14.9 3.72089 14.9 3.49998C14.9 3.27906 14.7209 3.09998 14.5 3.09998H7.49999ZM7.49998 5.1C7.27907 5.1 7.09998 5.27908 7.09998 5.5C7.09998 5.72091 7.27907 5.9 7.49998 5.9H14.5C14.7209 5.9 14.9 5.72091 14.9 5.5C14.9 5.27908 14.7209 5.1 14.5 5.1H7.49998ZM7.1 7.5C7.1 7.27908 7.27909 7.1 7.5 7.1H14.5C14.7209 7.1 14.9 7.27908 14.9 7.5C14.9 7.72091 14.7209 7.9 14.5 7.9H7.5C7.27909 7.9 7.1 7.72091 7.1 7.5ZM7.49998 9.1C7.27907 9.1 7.09998 9.27908 7.09998 9.5C7.09998 9.72091 7.27907 9.9 7.49998 9.9H14.5C14.7209 9.9 14.9 9.72091 14.9 9.5C14.9 9.27908 14.7209 9.1 14.5 9.1H7.49998ZM7.09998 11.5C7.09998 11.2791 7.27907 11.1 7.49998 11.1H14.5C14.7209 11.1 14.9 11.2791 14.9 11.5C14.9 11.7209 14.7209 11.9 14.5 11.9H7.49998C7.27907 11.9 7.09998 11.7209 7.09998 11.5ZM2.5 9.25003L5 6.00003H0L2.5 9.25003Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),e7=["color"],t7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,e7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),n7=["color"],i7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,n7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),r7=["color"],q1=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,r7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5C1 1.67157 1.67157 1 2.5 1ZM2.5 2C2.22386 2 2 2.22386 2 2.5V8.3636L3.6818 6.6818C3.76809 6.59551 3.88572 6.54797 4.00774 6.55007C4.12975 6.55216 4.24568 6.60372 4.32895 6.69293L7.87355 10.4901L10.6818 7.6818C10.8575 7.50607 11.1425 7.50607 11.3182 7.6818L13 9.3636V2.5C13 2.22386 12.7761 2 12.5 2H2.5ZM2 12.5V9.6364L3.98887 7.64753L7.5311 11.4421L8.94113 13H2.5C2.22386 13 2 12.7761 2 12.5ZM12.5 13H10.155L8.48336 11.153L11 8.6364L13 10.6364V12.5C13 12.7761 12.7761 13 12.5 13ZM6.64922 5.5C6.64922 5.03013 7.03013 4.64922 7.5 4.64922C7.96987 4.64922 8.35078 5.03013 8.35078 5.5C8.35078 5.96987 7.96987 6.35078 7.5 6.35078C7.03013 6.35078 6.64922 5.96987 6.64922 5.5ZM7.5 3.74922C6.53307 3.74922 5.74922 4.53307 5.74922 5.5C5.74922 6.46693 6.53307 7.25078 7.5 7.25078C8.46693 7.25078 9.25078 6.46693 9.25078 5.5C9.25078 4.53307 8.46693 3.74922 7.5 3.74922Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),s7=["color"],o7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,s7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L12.058 2.05806C12.3021 1.81398 12.6978 1.81398 12.9419 2.05806C13.186 2.30214 13.186 2.69786 12.9419 2.94194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13361 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.49998 8.49998V4.09998C5.06992 4.09998 3.09998 6.06992 3.09998 8.49998C3.09998 10.93 5.06992 12.9 7.49998 12.9C8.715 12.9 9.815 12.4075 10.6112 11.6112L7.49998 8.49998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),a7=["color"],l7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,a7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.75432 0.819537C7.59742 0.726821 7.4025 0.726821 7.24559 0.819537L1.74559 4.06954C1.59336 4.15949 1.49996 4.32317 1.49996 4.5C1.49996 4.67683 1.59336 4.84051 1.74559 4.93046L7.24559 8.18046C7.4025 8.27318 7.59742 8.27318 7.75432 8.18046L13.2543 4.93046C13.4066 4.84051 13.5 4.67683 13.5 4.5C13.5 4.32317 13.4066 4.15949 13.2543 4.06954L7.75432 0.819537ZM7.49996 7.16923L2.9828 4.5L7.49996 1.83077L12.0171 4.5L7.49996 7.16923ZM1.5695 7.49564C1.70998 7.2579 2.01659 7.17906 2.25432 7.31954L7.49996 10.4192L12.7456 7.31954C12.9833 7.17906 13.2899 7.2579 13.4304 7.49564C13.5709 7.73337 13.4921 8.03998 13.2543 8.18046L7.75432 11.4305C7.59742 11.5232 7.4025 11.5232 7.24559 11.4305L1.74559 8.18046C1.50786 8.03998 1.42901 7.73337 1.5695 7.49564ZM1.56949 10.4956C1.70998 10.2579 2.01658 10.1791 2.25432 10.3195L7.49996 13.4192L12.7456 10.3195C12.9833 10.1791 13.2899 10.2579 13.4304 10.4956C13.5709 10.7334 13.4921 11.04 13.2543 11.1805L7.75432 14.4305C7.59742 14.5232 7.4025 14.5232 7.24559 14.4305L1.74559 11.1805C1.50785 11.04 1.42901 10.7334 1.56949 10.4956Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),c7=["color"],u7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,c7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M8.69667 0.0403541C8.90859 0.131038 9.03106 0.354857 8.99316 0.582235L8.0902 6.00001H12.5C12.6893 6.00001 12.8625 6.10701 12.9472 6.27641C13.0319 6.4458 13.0136 6.6485 12.8999 6.80001L6.89997 14.8C6.76167 14.9844 6.51521 15.0503 6.30328 14.9597C6.09135 14.869 5.96888 14.6452 6.00678 14.4178L6.90974 9H2.49999C2.31061 9 2.13748 8.893 2.05278 8.72361C1.96809 8.55422 1.98636 8.35151 2.09999 8.2L8.09997 0.200038C8.23828 0.0156255 8.48474 -0.0503301 8.69667 0.0403541ZM3.49999 8.00001H7.49997C7.64695 8.00001 7.78648 8.06467 7.88148 8.17682C7.97648 8.28896 8.01733 8.43723 7.99317 8.5822L7.33027 12.5596L11.5 7.00001H7.49997C7.353 7.00001 7.21347 6.93534 7.11846 6.8232C7.02346 6.71105 6.98261 6.56279 7.00678 6.41781L7.66968 2.44042L3.49999 8.00001Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),A7=["color"],f7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,A7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M1.49988 2.00012C1.77602 2.00012 1.99988 1.77626 1.99988 1.50012C1.99988 1.22398 1.77602 1.00012 1.49988 1.00012C1.22374 1.00012 0.999878 1.22398 0.999878 1.50012C0.999878 1.77626 1.22374 2.00012 1.49988 2.00012ZM4.49988 2.00012C4.77602 2.00012 4.99988 1.77626 4.99988 1.50012C4.99988 1.22398 4.77602 1.00012 4.49988 1.00012C4.22374 1.00012 3.99988 1.22398 3.99988 1.50012C3.99988 1.77626 4.22374 2.00012 4.49988 2.00012ZM7.99988 1.50012C7.99988 1.77626 7.77602 2.00012 7.49988 2.00012C7.22374 2.00012 6.99988 1.77626 6.99988 1.50012C6.99988 1.22398 7.22374 1.00012 7.49988 1.00012C7.77602 1.00012 7.99988 1.22398 7.99988 1.50012ZM10.4999 2.00012C10.776 2.00012 10.9999 1.77626 10.9999 1.50012C10.9999 1.22398 10.776 1.00012 10.4999 1.00012C10.2237 1.00012 9.99988 1.22398 9.99988 1.50012C9.99988 1.77626 10.2237 2.00012 10.4999 2.00012ZM13.9999 1.50012C13.9999 1.77626 13.776 2.00012 13.4999 2.00012C13.2237 2.00012 12.9999 1.77626 12.9999 1.50012C12.9999 1.22398 13.2237 1.00012 13.4999 1.00012C13.776 1.00012 13.9999 1.22398 13.9999 1.50012ZM1.49988 14.0001C1.77602 14.0001 1.99988 13.7763 1.99988 13.5001C1.99988 13.224 1.77602 13.0001 1.49988 13.0001C1.22374 13.0001 0.999878 13.224 0.999878 13.5001C0.999878 13.7763 1.22374 14.0001 1.49988 14.0001ZM1.99988 10.5001C1.99988 10.7763 1.77602 11.0001 1.49988 11.0001C1.22374 11.0001 0.999878 10.7763 0.999878 10.5001C0.999878 10.224 1.22374 10.0001 1.49988 10.0001C1.77602 10.0001 1.99988 10.224 1.99988 10.5001ZM1.49988 8.00012C1.77602 8.00012 1.99988 7.77626 1.99988 7.50012C1.99988 7.22398 1.77602 7.00012 1.49988 7.00012C1.22374 7.00012 0.999878 7.22398 0.999878 7.50012C0.999878 7.77626 1.22374 8.00012 1.49988 8.00012ZM1.99988 4.50012C1.99988 4.77626 1.77602 5.00012 1.49988 5.00012C1.22374 5.00012 0.999878 4.77626 0.999878 4.50012C0.999878 4.22398 1.22374 4.00012 1.49988 4.00012C1.77602 4.00012 1.99988 4.22398 1.99988 4.50012ZM13.4999 11.0001C13.776 11.0001 13.9999 10.7763 13.9999 10.5001C13.9999 10.224 13.776 10.0001 13.4999 10.0001C13.2237 10.0001 12.9999 10.224 12.9999 10.5001C12.9999 10.7763 13.2237 11.0001 13.4999 11.0001ZM13.9999 7.50012C13.9999 7.77626 13.776 8.00012 13.4999 8.00012C13.2237 8.00012 12.9999 7.77626 12.9999 7.50012C12.9999 7.22398 13.2237 7.00012 13.4999 7.00012C13.776 7.00012 13.9999 7.22398 13.9999 7.50012ZM13.4999 5.00012C13.776 5.00012 13.9999 4.77626 13.9999 4.50012C13.9999 4.22398 13.776 4.00012 13.4999 4.00012C13.2237 4.00012 12.9999 4.22398 12.9999 4.50012C12.9999 4.77626 13.2237 5.00012 13.4999 5.00012ZM4.99988 13.5001C4.99988 13.7763 4.77602 14.0001 4.49988 14.0001C4.22374 14.0001 3.99988 13.7763 3.99988 13.5001C3.99988 13.224 4.22374 13.0001 4.49988 13.0001C4.77602 13.0001 4.99988 13.224 4.99988 13.5001ZM7.49988 14.0001C7.77602 14.0001 7.99988 13.7763 7.99988 13.5001C7.99988 13.224 7.77602 13.0001 7.49988 13.0001C7.22374 13.0001 6.99988 13.224 6.99988 13.5001C6.99988 13.7763 7.22374 14.0001 7.49988 14.0001ZM10.9999 13.5001C10.9999 13.7763 10.776 14.0001 10.4999 14.0001C10.2237 14.0001 9.99988 13.7763 9.99988 13.5001C9.99988 13.224 10.2237 13.0001 10.4999 13.0001C10.776 13.0001 10.9999 13.224 10.9999 13.5001ZM13.4999 14.0001C13.776 14.0001 13.9999 13.7763 13.9999 13.5001C13.9999 13.224 13.776 13.0001 13.4999 13.0001C13.2237 13.0001 12.9999 13.224 12.9999 13.5001C12.9999 13.7763 13.2237 14.0001 13.4999 14.0001ZM3.99988 5.00012C3.99988 4.44784 4.44759 4.00012 4.99988 4.00012H9.99988C10.5522 4.00012 10.9999 4.44784 10.9999 5.00012V10.0001C10.9999 10.5524 10.5522 11.0001 9.99988 11.0001H4.99988C4.44759 11.0001 3.99988 10.5524 3.99988 10.0001V5.00012ZM4.99988 5.00012H9.99988V10.0001H4.99988V5.00012Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),h7=["color"],d7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,h7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.25 7.5C2.25 7.22386 2.47386 7 2.75 7H12.25C12.5261 7 12.75 7.22386 12.75 7.5C12.75 7.77614 12.5261 8 12.25 8H2.75C2.47386 8 2.25 7.77614 2.25 7.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),p7=["color"],g7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,p7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),m7=["color"],v7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,m7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M6.85357 3.85355L7.65355 3.05353C8.2981 2.40901 9.42858 1.96172 10.552 1.80125C11.1056 1.72217 11.6291 1.71725 12.0564 1.78124C12.4987 1.84748 12.7698 1.97696 12.8965 2.10357C13.0231 2.23018 13.1526 2.50125 13.2188 2.94357C13.2828 3.37086 13.2779 3.89439 13.1988 4.44801C13.0383 5.57139 12.591 6.70188 11.9464 7.34645L7.49999 11.7929L6.35354 10.6465C6.15827 10.4512 5.84169 10.4512 5.64643 10.6465C5.45117 10.8417 5.45117 11.1583 5.64643 11.3536L7.14644 12.8536C7.34171 13.0488 7.65829 13.0488 7.85355 12.8536L8.40073 12.3064L9.57124 14.2572C9.65046 14.3893 9.78608 14.4774 9.9389 14.4963C10.0917 14.5151 10.2447 14.4624 10.3535 14.3536L12.3535 12.3536C12.4648 12.2423 12.5172 12.0851 12.495 11.9293L12.0303 8.67679L12.6536 8.05355C13.509 7.19808 14.0117 5.82855 14.1887 4.58943C14.2784 3.9618 14.2891 3.33847 14.2078 2.79546C14.1287 2.26748 13.9519 1.74482 13.6035 1.39645C13.2552 1.04809 12.7325 0.871332 12.2045 0.792264C11.6615 0.710945 11.0382 0.721644 10.4105 0.8113C9.17143 0.988306 7.80189 1.491 6.94644 2.34642L6.32322 2.96968L3.07071 2.50504C2.91492 2.48278 2.75773 2.53517 2.64645 2.64646L0.646451 4.64645C0.537579 4.75533 0.484938 4.90829 0.50375 5.0611C0.522563 5.21391 0.61073 5.34954 0.742757 5.42876L2.69364 6.59928L2.14646 7.14645C2.0527 7.24022 2.00002 7.3674 2.00002 7.50001C2.00002 7.63261 2.0527 7.75979 2.14646 7.85356L3.64647 9.35356C3.84173 9.54883 4.15831 9.54883 4.35357 9.35356C4.54884 9.1583 4.54884 8.84172 4.35357 8.64646L3.20712 7.50001L3.85357 6.85356L6.85357 3.85355ZM10.0993 13.1936L9.12959 11.5775L11.1464 9.56067L11.4697 11.8232L10.0993 13.1936ZM3.42251 5.87041L5.43935 3.85356L3.17678 3.53034L1.80638 4.90074L3.42251 5.87041ZM2.35356 10.3535C2.54882 10.1583 2.54882 9.8417 2.35356 9.64644C2.1583 9.45118 1.84171 9.45118 1.64645 9.64644L0.646451 10.6464C0.451188 10.8417 0.451188 11.1583 0.646451 11.3535C0.841713 11.5488 1.1583 11.5488 1.35356 11.3535L2.35356 10.3535ZM3.85358 11.8536C4.04884 11.6583 4.04885 11.3417 3.85359 11.1465C3.65833 10.9512 3.34175 10.9512 3.14648 11.1465L1.14645 13.1464C0.95119 13.3417 0.951187 13.6583 1.14645 13.8535C1.34171 14.0488 1.65829 14.0488 1.85355 13.8536L3.85358 11.8536ZM5.35356 13.3535C5.54882 13.1583 5.54882 12.8417 5.35356 12.6464C5.1583 12.4512 4.84171 12.4512 4.64645 12.6464L3.64645 13.6464C3.45119 13.8417 3.45119 14.1583 3.64645 14.3535C3.84171 14.5488 4.1583 14.5488 4.35356 14.3535L5.35356 13.3535ZM9.49997 6.74881C10.1897 6.74881 10.7488 6.1897 10.7488 5.5C10.7488 4.8103 10.1897 4.25118 9.49997 4.25118C8.81026 4.25118 8.25115 4.8103 8.25115 5.5C8.25115 6.1897 8.81026 6.74881 9.49997 6.74881Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),y7=["color"],E7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,y7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M0.5 4C0.223858 4 0 4.22386 0 4.5V10.5C0 10.7761 0.223858 11 0.5 11H14.5C14.7761 11 15 10.7761 15 10.5V4.5C15 4.22386 14.7761 4 14.5 4H0.5ZM1 10V5H2.075V7.5C2.075 7.73472 2.26528 7.925 2.5 7.925C2.73472 7.925 2.925 7.73472 2.925 7.5V5H4.075V6.5C4.075 6.73472 4.26528 6.925 4.5 6.925C4.73472 6.925 4.925 6.73472 4.925 6.5V5H6.075V6.5C6.075 6.73472 6.26528 6.925 6.5 6.925C6.73472 6.925 6.925 6.73472 6.925 6.5V5H8.075V7.5C8.075 7.73472 8.26528 7.925 8.5 7.925C8.73472 7.925 8.925 7.73472 8.925 7.5V5H10.075V6.5C10.075 6.73472 10.2653 6.925 10.5 6.925C10.7347 6.925 10.925 6.73472 10.925 6.5V5H12.075V6.5C12.075 6.73472 12.2653 6.925 12.5 6.925C12.7347 6.925 12.925 6.73472 12.925 6.5V5H14V10H1Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),C7=["color"],I7=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,C7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M2.5 4C2.22386 4 2 4.22386 2 4.5C2 4.77614 2.22386 5 2.5 5H12.5C12.7761 5 13 4.77614 13 4.5C13 4.22386 12.7761 4 12.5 4H2.5ZM2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5ZM2 10.5C2 10.2239 2.22386 10 2.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))}),B7=["color"],D3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,B7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M4 6H11L7.5 10.5L4 6Z",fill:i}))}),x7=["color"],b3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,x7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M4 9H11L7.5 4.5L4 9Z",fill:i}))}),S7=["color"],L3=te.forwardRef(function(n,e){var t=n.color,i=t===void 0?"currentColor":t,r=ti(n,S7);return te.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r,{ref:e}),te.createElement("path",{d:"M7.49998 1L6.92321 2.00307L1.17498 12L0.599976 13H1.7535H13.2464H14.4L13.825 12L8.07674 2.00307L7.49998 1ZM7.49998 3.00613L2.3285 12H12.6714L7.49998 3.00613Z",fill:i,fillRule:"evenodd",clipRule:"evenodd"}))});function w7(){var n=Object.create(null);function e(r,s){var o=r.id,a=r.name,l=r.dependencies;l===void 0&&(l=[]);var c=r.init;c===void 0&&(c=function(){});var u=r.getTransferables;if(u===void 0&&(u=null),!n[o])try{l=l.map(function(d){return d&&d.isWorkerModule&&(e(d,function(p){if(p instanceof Error)throw p}),d=n[d.id].value),d}),c=i("<"+a+">.init",c),u&&(u=i("<"+a+">.getTransferables",u));var h=null;typeof c=="function"?h=c.apply(void 0,l):console.error("worker module init function failed to rehydrate"),n[o]={id:o,value:h,getTransferables:u},s(h)}catch(d){d&&d.noLog||console.error(d),s(d)}}function t(r,s){var o,a=r.id,l=r.args;(!n[a]||typeof n[a].value!="function")&&s(new Error("Worker module "+a+": not found or its 'init' did not return a function"));try{var c=(o=n[a]).value.apply(o,l);c&&typeof c.then=="function"?c.then(u,function(h){return s(h instanceof Error?h:new Error(""+h))}):u(c)}catch(h){s(h)}function u(h){try{var d=n[a].getTransferables&&n[a].getTransferables(h);(!d||!Array.isArray(d)||!d.length)&&(d=void 0),s(h,d)}catch(p){console.error(p),s(p)}}}function i(r,s){var o=void 0;self.troikaDefine=function(l){return o=l};var a=URL.createObjectURL(new Blob(["/** "+r.replace(/\*/g,"")+` **/ troikaDefine( `+s+` -)`],{type:"application/javascript"}));try{importScripts(a)}catch(l){console.error(l)}return URL.revokeObjectURL(a),delete self.troikaDefine,o}self.addEventListener("message",function(r){var s=r.data,o=s.messageId,a=s.action,l=s.data;try{a==="registerModule"&&e(l,function(c){c instanceof Error?postMessage({messageId:o,success:!1,error:c.message}):postMessage({messageId:o,success:!0,result:{isCallable:typeof c=="function"}})}),a==="callModule"&&t(l,function(c,u){c instanceof Error?postMessage({messageId:o,success:!1,error:c.message}):postMessage({messageId:o,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:o,success:!1,error:c.stack})}})}function w7(n){var e=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];return e._getInitResult().then(function(r){if(typeof r=="function")return r.apply(void 0,t);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var t=n.dependencies,i=n.init;t=Array.isArray(t)?t.map(function(s){return s&&s._getInitResult?s._getInitResult():s}):[];var r=Promise.all(t).then(function(s){return i.apply(null,s)});return e._getInitResult=function(){return r},r},e}var L3=function(){var n=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),n=!0}catch(t){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+t.message+"]")}return L3=function(){return n},n},_7=0,M7=0,jy=!1,Gf=Object.create(null),Hf=Object.create(null),Z1=Object.create(null);function $h(n){if((!n||typeof n.init!="function")&&!jy)throw new Error("requires `options.init` function");var e=n.dependencies,t=n.init,i=n.getTransferables,r=n.workerId;if(!L3())return w7(n);r==null&&(r="#default");var s="workerModule"+ ++_7,o=n.name||s,a=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(jy=!0,c=$h({workerId:r,name:"<"+o+"> function dependency: "+c.name,init:`function(){return ( +)`],{type:"application/javascript"}));try{importScripts(a)}catch(l){console.error(l)}return URL.revokeObjectURL(a),delete self.troikaDefine,o}self.addEventListener("message",function(r){var s=r.data,o=s.messageId,a=s.action,l=s.data;try{a==="registerModule"&&e(l,function(c){c instanceof Error?postMessage({messageId:o,success:!1,error:c.message}):postMessage({messageId:o,success:!0,result:{isCallable:typeof c=="function"}})}),a==="callModule"&&t(l,function(c,u){c instanceof Error?postMessage({messageId:o,success:!1,error:c.message}):postMessage({messageId:o,success:!0,result:c},u||void 0)})}catch(c){postMessage({messageId:o,success:!1,error:c.stack})}})}function _7(n){var e=function(){for(var t=[],i=arguments.length;i--;)t[i]=arguments[i];return e._getInitResult().then(function(r){if(typeof r=="function")return r.apply(void 0,t);throw new Error("Worker module function was called but `init` did not return a callable function")})};return e._getInitResult=function(){var t=n.dependencies,i=n.init;t=Array.isArray(t)?t.map(function(s){return s&&s._getInitResult?s._getInitResult():s}):[];var r=Promise.all(t).then(function(s){return i.apply(null,s)});return e._getInitResult=function(){return r},r},e}var P3=function(){var n=!1;if(typeof window<"u"&&typeof window.document<"u")try{var e=new Worker(URL.createObjectURL(new Blob([""],{type:"application/javascript"})));e.terminate(),n=!0}catch(t){typeof process<"u",console.log("Troika createWorkerModule: web workers not allowed; falling back to main thread execution. Cause: ["+t.message+"]")}return P3=function(){return n},n},M7=0,Q7=0,jy=!1,Gf=Object.create(null),Hf=Object.create(null),Z1=Object.create(null);function $h(n){if((!n||typeof n.init!="function")&&!jy)throw new Error("requires `options.init` function");var e=n.dependencies,t=n.init,i=n.getTransferables,r=n.workerId;if(!P3())return _7(n);r==null&&(r="#default");var s="workerModule"+ ++M7,o=n.name||s,a=null;e=e&&e.map(function(c){return typeof c=="function"&&!c.workerModuleData&&(jy=!0,c=$h({workerId:r,name:"<"+o+"> function dependency: "+c.name,init:`function(){return ( `+Lg(c)+` -)}`}),jy=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function l(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!a){a=EM(r,"registerModule",l.workerModuleData);var h=function(){a=null,Hf[r].delete(h)};(Hf[r]||(Hf[r]=new Set)).add(h)}return a.then(function(d){var p=d.isCallable;if(p)return EM(r,"callModule",{id:s,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return l.workerModuleData={isWorkerModule:!0,id:s,name:o,dependencies:e,init:Lg(t),getTransferables:i&&Lg(i)},l}function Q7(n){Hf[n]&&Hf[n].forEach(function(e){e()}),Gf[n]&&(Gf[n].terminate(),delete Gf[n])}function Lg(n){var e=n.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function R7(n){var e=Gf[n];if(!e){var t=Lg(S7);e=Gf[n]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+n.replace(/\*/g,"")+` **/ +)}`}),jy=!1),c&&c.workerModuleData&&(c=c.workerModuleData),c});function l(){for(var c=[],u=arguments.length;u--;)c[u]=arguments[u];if(!a){a=CM(r,"registerModule",l.workerModuleData);var h=function(){a=null,Hf[r].delete(h)};(Hf[r]||(Hf[r]=new Set)).add(h)}return a.then(function(d){var p=d.isCallable;if(p)return CM(r,"callModule",{id:s,args:c});throw new Error("Worker module function was called but `init` did not return a callable function")})}return l.workerModuleData={isWorkerModule:!0,id:s,name:o,dependencies:e,init:Lg(t),getTransferables:i&&Lg(i)},l}function R7(n){Hf[n]&&Hf[n].forEach(function(e){e()}),Gf[n]&&(Gf[n].terminate(),delete Gf[n])}function Lg(n){var e=n.toString();return!/^function/.test(e)&&/^\w+\s*\(/.test(e)&&(e="function "+e),e}function T7(n){var e=Gf[n];if(!e){var t=Lg(w7);e=Gf[n]=new Worker(URL.createObjectURL(new Blob(["/** Worker Module Bootstrap: "+n.replace(/\*/g,"")+` **/ -;(`+t+")()"],{type:"application/javascript"}))),e.onmessage=function(i){var r=i.data,s=r.messageId,o=Z1[s];if(!o)throw new Error("WorkerModule response with empty or unknown messageId");delete Z1[s],o(r)}}return e}function EM(n,e,t){return new Promise(function(i,r){var s=++M7;Z1[s]=function(o){o.success?i(o.result):r(new Error("Error in worker "+e+" call: "+o.error))},R7(n).postMessage({messageId:s,action:e,data:t})})}function P3(){var n=function(e){function t(J,Z,W,ce,Ee,G,k,N){var L=1-k;N.x=L*L*J+2*L*k*W+k*k*Ee,N.y=L*L*Z+2*L*k*ce+k*k*G}function i(J,Z,W,ce,Ee,G,k,N,L,oe){var de=1-L;oe.x=de*de*de*J+3*de*de*L*W+3*de*L*L*Ee+L*L*L*k,oe.y=de*de*de*Z+3*de*de*L*ce+3*de*L*L*G+L*L*L*N}function r(J,Z){for(var W=/([MLQCZ])([^MLQCZ]*)/g,ce,Ee,G,k,N;ce=W.exec(J);){var L=ce[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(oe){return parseFloat(oe)});switch(ce[1]){case"M":k=Ee=L[0],N=G=L[1];break;case"L":(L[0]!==k||L[1]!==N)&&Z("L",k,N,k=L[0],N=L[1]);break;case"Q":{Z("Q",k,N,k=L[2],N=L[3],L[0],L[1]);break}case"C":{Z("C",k,N,k=L[4],N=L[5],L[0],L[1],L[2],L[3]);break}case"Z":(k!==Ee||N!==G)&&Z("L",k,N,Ee,G);break}}}function s(J,Z,W){W===void 0&&(W=16);var ce={x:0,y:0};r(J,function(Ee,G,k,N,L,oe,de,fe,pe){switch(Ee){case"L":Z(G,k,N,L);break;case"Q":{for(var U=G,me=k,se=1;se0;)ze[Ne]=arguments[Ne+2];var je=b[Fe]||(b[Fe]=W.getUniformLocation(q,Fe));W["uniform"+Le].apply(W,[je].concat(ze))},setAttribute:function(Le,Fe,ze,Ne,je){var De=M[Le];De||(De=M[Le]={buf:W.createBuffer(),loc:W.getAttribLocation(q,Le),data:null}),W.bindBuffer(W.ARRAY_BUFFER,De.buf),W.vertexAttribPointer(De.loc,Fe,W.FLOAT,!1,0,0),W.enableVertexAttribArray(De.loc),Ee?W.vertexAttribDivisor(De.loc,Ne):de("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(De.loc,Ne),je!==De.data&&(W.bufferData(W.ARRAY_BUFFER,je,ze),De.data=je)}})}}}k[le].transaction(X)},U=function(le,ue){L++;try{W.activeTexture(W.TEXTURE0+L);var we=N[le];we||(we=N[le]=W.createTexture(),W.bindTexture(W.TEXTURE_2D,we),W.texParameteri(W.TEXTURE_2D,W.TEXTURE_MIN_FILTER,W.NEAREST),W.texParameteri(W.TEXTURE_2D,W.TEXTURE_MAG_FILTER,W.NEAREST)),W.bindTexture(W.TEXTURE_2D,we),ue(we,L)}finally{L--}},me=function(le,ue,we){var X=W.createFramebuffer();oe.push(X),W.bindFramebuffer(W.FRAMEBUFFER,X),W.activeTexture(W.TEXTURE0+ue),W.bindTexture(W.TEXTURE_2D,le),W.framebufferTexture2D(W.FRAMEBUFFER,W.COLOR_ATTACHMENT0,W.TEXTURE_2D,le,0);try{we(X)}finally{W.deleteFramebuffer(X),W.bindFramebuffer(W.FRAMEBUFFER,oe[--oe.length-1]||null)}},se=function(){G={},k={},N={},L=-1,oe.length=0};var Ee=typeof WebGL2RenderingContext<"u"&&W instanceof WebGL2RenderingContext,G={},k={},N={},L=-1,oe=[];W.canvas.addEventListener("webglcontextlost",function(le){se(),le.preventDefault()},!1),l.set(W,ce={gl:W,isWebGL2:Ee,getExtension:de,withProgram:pe,withTexture:U,withTextureFramebuffer:me,handleContextLoss:se})}Z(ce)}function h(J,Z,W,ce,Ee,G,k,N){k===void 0&&(k=15),N===void 0&&(N=null),u(J,function(L){var oe=L.gl,de=L.withProgram,fe=L.withTexture;fe("copy",function(pe,U){oe.texImage2D(oe.TEXTURE_2D,0,oe.RGBA,Ee,G,0,oe.RGBA,oe.UNSIGNED_BYTE,Z),de("copy",o,a,function(me){var se=me.setUniform,le=me.setAttribute;le("aUV",2,oe.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),se("1i","image",U),oe.bindFramebuffer(oe.FRAMEBUFFER,N||null),oe.disable(oe.BLEND),oe.colorMask(k&8,k&4,k&2,k&1),oe.viewport(W,ce,Ee,G),oe.scissor(W,ce,Ee,G),oe.drawArrays(oe.TRIANGLES,0,3)})})})}function d(J,Z,W){var ce=J.width,Ee=J.height;u(J,function(G){var k=G.gl,N=new Uint8Array(ce*Ee*4);k.readPixels(0,0,ce,Ee,k.RGBA,k.UNSIGNED_BYTE,N),J.width=Z,J.height=W,h(k,N,0,0,ce,Ee)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:h,resizeWebGLCanvasWithoutClearing:d});function m(J,Z,W,ce,Ee,G){G===void 0&&(G=1);var k=new Uint8Array(J*Z),N=ce[2]-ce[0],L=ce[3]-ce[1],oe=[];s(W,function(le,ue,we,X){oe.push({x1:le,y1:ue,x2:we,y2:X,minX:Math.min(le,we),minY:Math.min(ue,X),maxX:Math.max(le,we),maxY:Math.max(ue,X)})}),oe.sort(function(le,ue){return le.maxX-ue.maxX});for(var de=0;deb.minX&&ue-Xb.minY){var q=g(le,ue,b.x1,b.y1,b.x2,b.y2);que!=M.y2>ue&&le<(M.x2-M.x1)*(ue-M.y1)/(M.y2-M.y1)+M.x1;b&&(we+=M.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 I(X,M){var b=36,q=0,Se=new Map,Be=M&&new Map,ye;return X.split(",").forEach(function Le(Fe){if(Fe.indexOf("+")!==-1)for(var ze=+Fe;ze--;)Le(ye);else{ye=Fe;var Ne=Fe.split(">"),je=Ne[0],De=Ne[1];je=String.fromCodePoint(q+=parseInt(je,b)),De=String.fromCodePoint(q+=parseInt(De,b)),Se.set(je,De),M&&Be.set(De,je)}}),{map:Se,reverseMap:Be}}var v,g,y;function E(){if(!v){var X=I(m.pairs,!0),M=X.map,b=X.reverseMap;v=M,g=b,y=I(m.canonical,!1).map}}function x(X){return E(),v.get(X)||null}function w(X){return E(),g.get(X)||null}function _(X){return E(),y.get(X)||null}var R=i.L,D=i.R,Y=i.EN,Q=i.ES,P=i.ET,z=i.AN,ne=i.CS,V=i.B,ae=i.S,ee=i.ON,he=i.BN,O=i.NSM,J=i.AL,Z=i.LRO,W=i.RLO,ce=i.LRE,Ee=i.RLE,G=i.PDF,k=i.LRI,N=i.RLI,L=i.FSI,oe=i.PDI;function de(X,M){for(var b=125,q=new Uint32Array(X.length),Se=0;Se0)et--;else if(Bt>0){for(mt=0;!Ye[Ye.length-1]._isolate;)Ye.pop();var ot=Ye[Ye.length-1]._isolInitIndex;ot!=null&&(Fe.set(ot,tt),Fe.set(tt,ot)),Ye.pop(),Bt--}ke=Ye[Ye.length-1],Le[tt]=ke._level,ke._override&&ye(tt,ke._override)}else Et&G?(et===0&&(mt>0?mt--:!ke._isolate&&Ye.length>1&&(Ye.pop(),ke=Ye[Ye.length-1])),Le[tt]=ke._level):Et&V&&(Le[tt]=Ne.level);else Le[tt]=ke._level,ke._override&&Et!==he&&ye(tt,ke._override)}for(var ut=[],Lt=null,Qt=Ne.start;Qt<=Ne.end;Qt++){var $t=q[Qt];if(!($t&l)){var Wt=Le[Qt],Rt=$t&s,Gt=$t===oe;Lt&&Wt===Lt._level?(Lt._end=Qt,Lt._endsWithIsolInit=Rt):ut.push(Lt={_start:Qt,_end:Qt,_level:Wt,_startsWithPDI:Gt,_endsWithIsolInit:Rt})}}for(var An=[],Xt=0;Xt=0;xe--)if(!(q[xe]&l)){j=Le[xe];break}var Re=Gn[Gn.length-1],be=Le[Re],Me=Ne.level;if(!(q[Re]&s)){for(var rt=Re+1;rt<=Ne.end;rt++)if(!(q[rt]&l)){Me=Le[rt];break}}An.push({_seqIndices:Gn,_sosType:Math.max(j,ul)%2?D:R,_eosType:Math.max(Me,be)%2?D:R})}}for(var vt=0;vt=0;yn--)if(!(q[Ge[yn]]&l)){sn=q[Ge[yn]];break}ye(Hn,sn&(s|oe)?ee:sn)}}if(Be.get(Y))for(var gt=0;gt=-1;ni--){var F=ni===-1?Tt:q[Ge[ni]];if(F&o){F===J&&ye(lt,z);break}}}if(Be.get(J))for(var H=0;H=0&&(Qe=q[Ge[He]],!!(Qe&l));He--);for(var We=ge+1;We=0&&q[Ge[Ct]]&(P|l);Ct--)ye(Ge[Ct],Y);for(Ve++;Ve=0&&q[Ge[Yt]]&l;Yt--)ye(Ge[Yt],ee);for(var bn=Ht+1;bn=0;Ao--){var Dc=aa[Ao].char;if(Dc===SA||Dc===w(_(Kt))||x(_(Dc))===Kt){Vs.push([aa[Ao].seqIndex,Ws]),aa.length=Ao;break}}}Vs.sort(function(yi,er){return yi[0]-er[0]})}for(var wA=0;wA=0;MA--){var nd=Ge[MA];if(q[nd]&Tc){var Dr=q[nd]&$r?D:R;Dr!==St?qi=Dr:qi=St;break}}}if(qi){if(q[Ge[Ln]]=q[Ge[Al]]=qi,qi!==St){for(var Zi=Ln+1;Zi=0;hl--)if(q[Ge[hl]]&l)QA=hl;else{mr=q[Ge[hl]]&$r?D:R;break}for(var dl=bt,pl=es+1;pl=0&&d(X[la])&c;la--)Le[la]=Ne.level}}return{levels:Le,paragraphs:ze};function Lc(yi,er){for(var Kn=yi;Kn=Le&&d(X[Ne])&c;Ne--)ze[Ne]=ye.level;for(var je=ye.level,De=1/0,yt=0;ytje&&(je=Ze),Ze=De;it--)for(var Ye=0;Ye=it){for(var ke=Ye;Ye+1=it;)Ye++;Ye>ke&&Be.push([ke+Le,Ye+Le])}}}),Be}function ue(X,M,b,q){var Se=we(X,M,b,q),Be=[].concat(X);return Se.forEach(function(ye,Le){Be[Le]=(M.levels[ye]&1?me(X[ye]):null)||X[ye]}),Be.join("")}function we(X,M,b,q){for(var Se=le(X,M,b,q),Be=[],ye=0;ye/gm;function t(i,r){let s=Ft[r];return s?$1(s):i}return n.replace(e,t)}const Mi=[];for(let n=0;n<256;n++)Mi[n]=(n<16?"0":"")+n.toString(16);function D7(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(Mi[n&255]+Mi[n>>8&255]+Mi[n>>16&255]+Mi[n>>24&255]+"-"+Mi[e&255]+Mi[e>>8&255]+"-"+Mi[e>>16&15|64]+Mi[e>>24&255]+"-"+Mi[t&63|128]+Mi[t>>8&255]+"-"+Mi[t>>16&255]+Mi[t>>24&255]+Mi[i&255]+Mi[i>>8&255]+Mi[i>>16&255]+Mi[i>>24&255]).toUpperCase()}const kl=Object.assign||function(){let n=arguments[0];for(let e=1,t=arguments.length;e/gm,` +;(`+t+")()"],{type:"application/javascript"}))),e.onmessage=function(i){var r=i.data,s=r.messageId,o=Z1[s];if(!o)throw new Error("WorkerModule response with empty or unknown messageId");delete Z1[s],o(r)}}return e}function CM(n,e,t){return new Promise(function(i,r){var s=++Q7;Z1[s]=function(o){o.success?i(o.result):r(new Error("Error in worker "+e+" call: "+o.error))},T7(n).postMessage({messageId:s,action:e,data:t})})}function U3(){var n=function(e){function t(J,q,W,ce,Ee,G,k,N){var L=1-k;N.x=L*L*J+2*L*k*W+k*k*Ee,N.y=L*L*q+2*L*k*ce+k*k*G}function i(J,q,W,ce,Ee,G,k,N,L,ae){var de=1-L;ae.x=de*de*de*J+3*de*de*L*W+3*de*L*L*Ee+L*L*L*k,ae.y=de*de*de*q+3*de*de*L*ce+3*de*L*L*G+L*L*L*N}function r(J,q){for(var W=/([MLQCZ])([^MLQCZ]*)/g,ce,Ee,G,k,N;ce=W.exec(J);){var L=ce[2].replace(/^\s*|\s*$/g,"").split(/[,\s]+/).map(function(ae){return parseFloat(ae)});switch(ce[1]){case"M":k=Ee=L[0],N=G=L[1];break;case"L":(L[0]!==k||L[1]!==N)&&q("L",k,N,k=L[0],N=L[1]);break;case"Q":{q("Q",k,N,k=L[2],N=L[3],L[0],L[1]);break}case"C":{q("C",k,N,k=L[4],N=L[5],L[0],L[1],L[2],L[3]);break}case"Z":(k!==Ee||N!==G)&&q("L",k,N,Ee,G);break}}}function s(J,q,W){W===void 0&&(W=16);var ce={x:0,y:0};r(J,function(Ee,G,k,N,L,ae,de,fe,pe){switch(Ee){case"L":q(G,k,N,L);break;case"Q":{for(var U=G,me=k,re=1;re0;)ze[Ne]=arguments[Ne+2];var je=b[Fe]||(b[Fe]=W.getUniformLocation(Z,Fe));W["uniform"+Le].apply(W,[je].concat(ze))},setAttribute:function(Le,Fe,ze,Ne,je){var De=Q[Le];De||(De=Q[Le]={buf:W.createBuffer(),loc:W.getAttribLocation(Z,Le),data:null}),W.bindBuffer(W.ARRAY_BUFFER,De.buf),W.vertexAttribPointer(De.loc,Fe,W.FLOAT,!1,0,0),W.enableVertexAttribArray(De.loc),Ee?W.vertexAttribDivisor(De.loc,Ne):de("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(De.loc,Ne),je!==De.data&&(W.bufferData(W.ARRAY_BUFFER,je,ze),De.data=je)}})}}}k[le].transaction(X)},U=function(le,ue){L++;try{W.activeTexture(W.TEXTURE0+L);var we=N[le];we||(we=N[le]=W.createTexture(),W.bindTexture(W.TEXTURE_2D,we),W.texParameteri(W.TEXTURE_2D,W.TEXTURE_MIN_FILTER,W.NEAREST),W.texParameteri(W.TEXTURE_2D,W.TEXTURE_MAG_FILTER,W.NEAREST)),W.bindTexture(W.TEXTURE_2D,we),ue(we,L)}finally{L--}},me=function(le,ue,we){var X=W.createFramebuffer();ae.push(X),W.bindFramebuffer(W.FRAMEBUFFER,X),W.activeTexture(W.TEXTURE0+ue),W.bindTexture(W.TEXTURE_2D,le),W.framebufferTexture2D(W.FRAMEBUFFER,W.COLOR_ATTACHMENT0,W.TEXTURE_2D,le,0);try{we(X)}finally{W.deleteFramebuffer(X),W.bindFramebuffer(W.FRAMEBUFFER,ae[--ae.length-1]||null)}},re=function(){G={},k={},N={},L=-1,ae.length=0};var Ee=typeof WebGL2RenderingContext<"u"&&W instanceof WebGL2RenderingContext,G={},k={},N={},L=-1,ae=[];W.canvas.addEventListener("webglcontextlost",function(le){re(),le.preventDefault()},!1),l.set(W,ce={gl:W,isWebGL2:Ee,getExtension:de,withProgram:pe,withTexture:U,withTextureFramebuffer:me,handleContextLoss:re})}q(ce)}function h(J,q,W,ce,Ee,G,k,N){k===void 0&&(k=15),N===void 0&&(N=null),u(J,function(L){var ae=L.gl,de=L.withProgram,fe=L.withTexture;fe("copy",function(pe,U){ae.texImage2D(ae.TEXTURE_2D,0,ae.RGBA,Ee,G,0,ae.RGBA,ae.UNSIGNED_BYTE,q),de("copy",o,a,function(me){var re=me.setUniform,le=me.setAttribute;le("aUV",2,ae.STATIC_DRAW,0,new Float32Array([0,0,2,0,0,2])),re("1i","image",U),ae.bindFramebuffer(ae.FRAMEBUFFER,N||null),ae.disable(ae.BLEND),ae.colorMask(k&8,k&4,k&2,k&1),ae.viewport(W,ce,Ee,G),ae.scissor(W,ce,Ee,G),ae.drawArrays(ae.TRIANGLES,0,3)})})})}function d(J,q,W){var ce=J.width,Ee=J.height;u(J,function(G){var k=G.gl,N=new Uint8Array(ce*Ee*4);k.readPixels(0,0,ce,Ee,k.RGBA,k.UNSIGNED_BYTE,N),J.width=q,J.height=W,h(k,N,0,0,ce,Ee)})}var p=Object.freeze({__proto__:null,withWebGLContext:u,renderImageData:h,resizeWebGLCanvasWithoutClearing:d});function m(J,q,W,ce,Ee,G){G===void 0&&(G=1);var k=new Uint8Array(J*q),N=ce[2]-ce[0],L=ce[3]-ce[1],ae=[];s(W,function(le,ue,we,X){ae.push({x1:le,y1:ue,x2:we,y2:X,minX:Math.min(le,we),minY:Math.min(ue,X),maxX:Math.max(le,we),maxY:Math.max(ue,X)})}),ae.sort(function(le,ue){return le.maxX-ue.maxX});for(var de=0;deb.minX&&ue-Xb.minY){var Z=g(le,ue,b.x1,b.y1,b.x2,b.y2);Zue!=Q.y2>ue&&le<(Q.x2-Q.x1)*(ue-Q.y1)/(Q.y2-Q.y1)+Q.x1;b&&(we+=Q.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 I(X,Q){var b=36,Z=0,Se=new Map,Be=Q&&new Map,ye;return X.split(",").forEach(function Le(Fe){if(Fe.indexOf("+")!==-1)for(var ze=+Fe;ze--;)Le(ye);else{ye=Fe;var Ne=Fe.split(">"),je=Ne[0],De=Ne[1];je=String.fromCodePoint(Z+=parseInt(je,b)),De=String.fromCodePoint(Z+=parseInt(De,b)),Se.set(je,De),Q&&Be.set(De,je)}}),{map:Se,reverseMap:Be}}var v,g,y;function E(){if(!v){var X=I(m.pairs,!0),Q=X.map,b=X.reverseMap;v=Q,g=b,y=I(m.canonical,!1).map}}function x(X){return E(),v.get(X)||null}function w(X){return E(),g.get(X)||null}function _(X){return E(),y.get(X)||null}var R=i.L,D=i.R,Y=i.EN,M=i.ES,P=i.ET,z=i.AN,se=i.CS,V=i.B,oe=i.S,ee=i.ON,he=i.BN,O=i.NSM,J=i.AL,q=i.LRO,W=i.RLO,ce=i.LRE,Ee=i.RLE,G=i.PDF,k=i.LRI,N=i.RLI,L=i.FSI,ae=i.PDI;function de(X,Q){for(var b=125,Z=new Uint32Array(X.length),Se=0;Se0)et--;else if(Bt>0){for(vt=0;!Ye[Ye.length-1]._isolate;)Ye.pop();var ot=Ye[Ye.length-1]._isolInitIndex;ot!=null&&(Fe.set(ot,tt),Fe.set(tt,ot)),Ye.pop(),Bt--}ke=Ye[Ye.length-1],Le[tt]=ke._level,ke._override&&ye(tt,ke._override)}else Ct&G?(et===0&&(vt>0?vt--:!ke._isolate&&Ye.length>1&&(Ye.pop(),ke=Ye[Ye.length-1])),Le[tt]=ke._level):Ct&V&&(Le[tt]=Ne.level);else Le[tt]=ke._level,ke._override&&Ct!==he&&ye(tt,ke._override)}for(var At=[],Lt=null,Qt=Ne.start;Qt<=Ne.end;Qt++){var $t=Z[Qt];if(!($t&l)){var Wt=Le[Qt],Rt=$t&s,Gt=$t===ae;Lt&&Wt===Lt._level?(Lt._end=Qt,Lt._endsWithIsolInit=Rt):At.push(Lt={_start:Qt,_end:Qt,_level:Wt,_startsWithPDI:Gt,_endsWithIsolInit:Rt})}}for(var An=[],Kt=0;Kt=0;xe--)if(!(Z[xe]&l)){j=Le[xe];break}var Re=Gn[Gn.length-1],be=Le[Re],Me=Ne.level;if(!(Z[Re]&s)){for(var rt=Re+1;rt<=Ne.end;rt++)if(!(Z[rt]&l)){Me=Le[rt];break}}An.push({_seqIndices:Gn,_sosType:Math.max(j,ul)%2?D:R,_eosType:Math.max(Me,be)%2?D:R})}}for(var yt=0;yt=0;yn--)if(!(Z[Ge[yn]]&l)){sn=Z[Ge[yn]];break}ye(Hn,sn&(s|ae)?ee:sn)}}if(Be.get(Y))for(var mt=0;mt=-1;ni--){var F=ni===-1?Tt:Z[Ge[ni]];if(F&o){F===J&&ye(lt,z);break}}}if(Be.get(J))for(var H=0;H=0&&(Qe=Z[Ge[He]],!!(Qe&l));He--);for(var We=ge+1;We=0&&Z[Ge[It]]&(P|l);It--)ye(Ge[It],Y);for(Ve++;Ve=0&&Z[Ge[Yt]]&l;Yt--)ye(Ge[Yt],ee);for(var bn=Ht+1;bn=0;Ao--){var Dc=aa[Ao].char;if(Dc===SA||Dc===w(_(jt))||x(_(Dc))===jt){Vs.push([aa[Ao].seqIndex,Ws]),aa.length=Ao;break}}}Vs.sort(function(Ei,er){return Ei[0]-er[0]})}for(var wA=0;wA=0;MA--){var nd=Ge[MA];if(Z[nd]&Tc){var Dr=Z[nd]&$r?D:R;Dr!==St?qi=Dr:qi=St;break}}}if(qi){if(Z[Ge[Ln]]=Z[Ge[Al]]=qi,qi!==St){for(var Zi=Ln+1;Zi=0;hl--)if(Z[Ge[hl]]&l)QA=hl;else{mr=Z[Ge[hl]]&$r?D:R;break}for(var dl=bt,pl=es+1;pl=0&&d(X[la])&c;la--)Le[la]=Ne.level}}return{levels:Le,paragraphs:ze};function Lc(Ei,er){for(var Kn=Ei;Kn=Le&&d(X[Ne])&c;Ne--)ze[Ne]=ye.level;for(var je=ye.level,De=1/0,Et=0;Etje&&(je=Ze),Ze=De;it--)for(var Ye=0;Ye=it){for(var ke=Ye;Ye+1=it;)Ye++;Ye>ke&&Be.push([ke+Le,Ye+Le])}}}),Be}function ue(X,Q,b,Z){var Se=we(X,Q,b,Z),Be=[].concat(X);return Se.forEach(function(ye,Le){Be[Le]=(Q.levels[ye]&1?me(X[ye]):null)||X[ye]}),Be.join("")}function we(X,Q,b,Z){for(var Se=le(X,Q,b,Z),Be=[],ye=0;ye/gm;function t(i,r){let s=Ft[r];return s?$1(s):i}return n.replace(e,t)}const Mi=[];for(let n=0;n<256;n++)Mi[n]=(n<16?"0":"")+n.toString(16);function b7(){const n=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,i=Math.random()*4294967295|0;return(Mi[n&255]+Mi[n>>8&255]+Mi[n>>16&255]+Mi[n>>24&255]+"-"+Mi[e&255]+Mi[e>>8&255]+"-"+Mi[e>>16&15|64]+Mi[e>>24&255]+"-"+Mi[t&63|128]+Mi[t>>8&255]+"-"+Mi[t>>16&255]+Mi[t>>24&255]+Mi[i&255]+Mi[i>>8&255]+Mi[i>>16&255]+Mi[i>>24&255]).toUpperCase()}const kl=Object.assign||function(){let n=arguments[0];for(let e=1,t=arguments.length;e/gm,` //!BEGIN_POST_CHUNK $1 $& //!END_POST_CHUNK @@ -4103,27 +4103,27 @@ troika_normal_${r} = vec3(normal); troika_uv_${r} = vec2(uv); troikaVertexTransform${r}(troika_position_${r}, troika_normal_${r}, troika_uv_${r}); ${o} -`,e=e.replace(/\b(position|normal|uv)\b/g,(I,v,g,y)=>/\battribute\s+vec[23]\s+$/.test(y.substr(0,g))?v:`troika_${v}_${r}`),n.map&&n.map.channel>0||(e=e.replace(/\bMAP_UV\b/g,`troika_uv_${r}`))),e=BM(e,r,s,o,a),t=BM(t,r,c,u,h),{vertexShader:e,fragmentShader:t}}function BM(n,e,t,i,r){return(i||r||t)&&(n=n.replace(U3,` +`,e=e.replace(/\b(position|normal|uv)\b/g,(I,v,g,y)=>/\battribute\s+vec[23]\s+$/.test(y.substr(0,g))?v:`troika_${v}_${r}`),n.map&&n.map.channel>0||(e=e.replace(/\bMAP_UV\b/g,`troika_uv_${r}`))),e=xM(e,r,s,o,a),t=xM(t,r,c,u,h),{vertexShader:e,fragmentShader:t}}function xM(n,e,t,i,r){return(i||r||t)&&(n=n.replace(N3,` ${t} void troikaOrigMain${e}() {`),n+=` void main() { ${i} troikaOrigMain${e}(); ${r} -}`),n}function U7(n,e){return n==="uniforms"?void 0:typeof e=="function"?e.toString():e}let N7=0;const xM=new Map;function k7(n){const e=JSON.stringify(n,U7);let t=xM.get(e);return t==null&&xM.set(e,t=++N7),t}function F7(n,e,t){const{defaultFontURL:i}=t,r=Object.create(null),s=1/0,o=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,a="[^\\S\\u00A0]",l=new RegExp(`${a}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(y,E){function x(){const w=_=>{console.error(`Failure loading font ${y}${y===i?"":"; trying fallback"}`,_),y!==i&&(y=i,x())};try{const _=new XMLHttpRequest;_.open("get",y,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status>=400)w(new Error(_.statusText));else if(_.status>0)try{const R=n(_.response);E(R)}catch(R){w(R)}},_.onerror=w,_.send()}catch(_){w(_)}}x()}function u(y,E){y||(y=i);let x=r[y];x?x.pending?x.pending.push(E):E(x):(r[y]={pending:[E]},c(y,w=>{let _=r[y].pending;r[y]=w,_.forEach(R=>R(w))}))}function h({text:y="",font:E=i,sdfGlyphSize:x=64,fontSize:w=1,letterSpacing:_=0,lineHeight:R="normal",maxWidth:D=s,direction:Y,textAlign:Q="left",textIndent:P=0,whiteSpace:z="normal",overflowWrap:ne="normal",anchorX:V=0,anchorY:ae=0,includeCaretPositions:ee=!1,chunkedBoundsSize:he=8192,colorRanges:O=null},J,Z=!1){const W=I(),ce={fontLoad:0,typesetting:0};y.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),y=y.replace(/\r\n/g,` +}`),n}function N7(n,e){return n==="uniforms"?void 0:typeof e=="function"?e.toString():e}let k7=0;const SM=new Map;function F7(n){const e=JSON.stringify(n,N7);let t=SM.get(e);return t==null&&SM.set(e,t=++k7),t}function O7(n,e,t){const{defaultFontURL:i}=t,r=Object.create(null),s=1/0,o=/[\u00AD\u034F\u061C\u115F-\u1160\u17B4-\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8]/,a="[^\\S\\u00A0]",l=new RegExp(`${a}|[\\-\\u007C\\u00AD\\u2010\\u2012-\\u2014\\u2027\\u2056\\u2E17\\u2E40]`);function c(y,E){function x(){const w=_=>{console.error(`Failure loading font ${y}${y===i?"":"; trying fallback"}`,_),y!==i&&(y=i,x())};try{const _=new XMLHttpRequest;_.open("get",y,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status>=400)w(new Error(_.statusText));else if(_.status>0)try{const R=n(_.response);E(R)}catch(R){w(R)}},_.onerror=w,_.send()}catch(_){w(_)}}x()}function u(y,E){y||(y=i);let x=r[y];x?x.pending?x.pending.push(E):E(x):(r[y]={pending:[E]},c(y,w=>{let _=r[y].pending;r[y]=w,_.forEach(R=>R(w))}))}function h({text:y="",font:E=i,sdfGlyphSize:x=64,fontSize:w=1,letterSpacing:_=0,lineHeight:R="normal",maxWidth:D=s,direction:Y,textAlign:M="left",textIndent:P=0,whiteSpace:z="normal",overflowWrap:se="normal",anchorX:V=0,anchorY:oe=0,includeCaretPositions:ee=!1,chunkedBoundsSize:he=8192,colorRanges:O=null},J,q=!1){const W=I(),ce={fontLoad:0,typesetting:0};y.indexOf("\r")>-1&&(console.info("Typesetter: got text with \\r chars; normalizing to \\n"),y=y.replace(/\r\n/g,` `).replace(/\r/g,` -`)),w=+w,_=+_,D=+D,R=R||"normal",P=+P,u(E,Ee=>{const G=isFinite(D);let k=null,N=null,L=null,oe=null,de=null,fe=null,pe=null,U=0,me=0,se=z!=="nowrap";const{ascender:le,descender:ue,unitsPerEm:we,lineGap:X,capHeight:M,xHeight:b}=Ee;ce.fontLoad=I()-W;const q=I(),Se=w/we;R==="normal"&&(R=(le-ue+X)/we),R=R*w;const Be=(R-(le-ue)*Se)/2,ye=-(le*Se+Be),Le=Math.min(R,(le-ue)*Se),Fe=(le+ue)/2*Se-Le/2;let ze=P,Ne=new v;const je=[Ne];Ee.forEachGlyph(y,w,_,(Ze,it,Ye)=>{const ke=y.charAt(Ye),et=Ze.advanceWidth*Se,mt=Ne.count;let Bt;if("isEmpty"in Ze||(Ze.isWhitespace=!!ke&&new RegExp(a).test(ke),Ze.canBreakAfter=!!ke&&l.test(ke),Ze.isEmpty=Ze.xMin===Ze.xMax||Ze.yMin===Ze.yMax||o.test(ke)),!Ze.isWhitespace&&!Ze.isEmpty&&me++,se&&G&&!Ze.isWhitespace&&it+et+ze>D&&mt){if(Ne.glyphAt(mt-1).glyphObj.canBreakAfter)Bt=new v,ze=-it;else for(let Et=mt;Et--;)if(Et===0&&ne==="break-word"){Bt=new v,ze=-it;break}else if(Ne.glyphAt(Et).glyphObj.canBreakAfter){Bt=Ne.splitAt(Et+1);const re=Bt.glyphAt(0).x;ze-=re;for(let Je=Bt.count;Je--;)Bt.glyphAt(Je).x-=re;break}Bt&&(Ne.isSoftWrapped=!0,Ne=Bt,je.push(Ne),U=D)}let tt=Ne.glyphAt(Ne.count);tt.glyphObj=Ze,tt.x=it+ze,tt.width=et,tt.charIndex=Ye,ke===` -`&&(Ne=new v,je.push(Ne),ze=-(it+et+_*w)+P)}),je.forEach(Ze=>{for(let it=Ze.count;it--;){let{glyphObj:Ye,x:ke,width:et}=Ze.glyphAt(it);if(!Ye.isWhitespace){Ze.width=ke+et,Ze.width>U&&(U=Ze.width);return}}});let De=0,yt=0;if(V&&(typeof V=="number"?De=-V:typeof V=="string"&&(De=-U*(V==="left"?0:V==="center"?.5:V==="right"?1:p(V)))),ae){if(typeof ae=="number")yt=-ae;else if(typeof ae=="string"){let Ze=je.length*R;yt=ae==="top"?0:ae==="top-baseline"?-ye:ae==="top-cap"?-ye-M*Se:ae==="top-ex"?-ye-b*Se:ae==="middle"?Ze/2:ae==="bottom"?Ze:ae==="bottom-baseline"?Ze-Be+ue*Se:p(ae)*Ze}}if(!Z){const Ze=e.getEmbeddingLevels(y,Y);k=new Uint16Array(me),N=new Float32Array(me*2),L={},fe=[s,s,-s,-s],pe=[];let it=ye;ee&&(de=new Float32Array(y.length*3)),O&&(oe=new Uint8Array(me*3));let Ye=0,ke=-1,et=-1,mt,Bt;if(je.forEach((tt,Et)=>{let{count:re,width:Je}=tt;if(re>0){let Xe=0;for(let Wt=re;Wt--&&tt.glyphAt(Wt).glyphObj.isWhitespace;)Xe++;let ot=0,ut=0;if(Q==="center")ot=(U-Je)/2;else if(Q==="right")ot=U-Je;else if(Q==="justify"&&tt.isSoftWrapped){let Wt=0;for(let Rt=re-Xe;Rt--;)tt.glyphAt(Rt).glyphObj.isWhitespace&&Wt++;ut=(U-Je)/Wt}if(ut||ot){let Wt=0;for(let Rt=0;Rt=Rt){let Dn=vn,fn=vn;for(;fnGt)break;fnQt=Wt;for(let Wt=0;Wt1&&m(de,ke,fn),ke=Xt}if(O){const{charIndex:Xt}=Rt;for(;Xt>et;)et++,O.hasOwnProperty(et)&&(Bt=O[et])}if(!Qt.isWhitespace&&!Qt.isEmpty){const Xt=Ye++;L[Gt]||(L[Gt]={path:Qt.path,pathBounds:[Qt.xMin,Qt.yMin,Qt.xMax,Qt.yMax]});const vn=Rt.x+De,Dn=it+yt;N[Xt*2]=vn,N[Xt*2+1]=Dn;const fn=vn+Qt.xMin*Se,hn=Dn+Qt.yMin*Se,Gn=vn+Qt.xMax*Se,ji=Dn+Qt.yMax*Se;fnfe[2]&&(fe[2]=Gn),ji>fe[3]&&(fe[3]=ji),Xt%he===0&&(mt={start:Xt,end:Xt,rect:[s,s,-s,-s]},pe.push(mt)),mt.end++;const wi=mt.rect;if(fnwi[2]&&(wi[2]=Gn),ji>wi[3]&&(wi[3]=ji),k[Xt]=Gt,O){const Qr=Xt*3;oe[Qr]=Bt>>16&255,oe[Qr+1]=Bt>>8&255,oe[Qr+2]=Bt&255}}}}it-=R}),de){const tt=y.length-ke;tt>1&&m(de,ke,tt)}}ce.typesetting=I()-q,J({glyphIds:k,glyphPositions:N,glyphData:L,caretPositions:de,caretHeight:Le,glyphColors:oe,chunkedBounds:pe,fontSize:w,unitsPerEm:we,ascender:le*Se,descender:ue*Se,capHeight:M*Se,xHeight:b*Se,lineHeight:R,topBaseline:ye,blockBounds:[De,yt-je.length*R,De+U,yt],visibleBounds:fe,timings:ce})})}function d(y,E){h(y,x=>{const[w,_,R,D]=x.blockBounds;E({width:R-w,height:D-_})},{metricsOnly:!0})}function p(y){let E=y.match(/^([\d.]+)%$/),x=E?parseFloat(E[1]):NaN;return isNaN(x)?0:x/100}function m(y,E,x){const w=y[E*3],_=y[E*3+1],R=y[E*3+2],D=(_-w)/x;for(let Y=0;Y(Object.defineProperty(y,E,{get(){return this.data[this.index*g.length+x]},set(_){this.data[this.index*g.length+x]=_}}),y),{data:null,index:0}),{typeset:h,measure:d,loadFont:u}}const uc=()=>(self.performance||Date).now(),y0=P3();let SM;function O7(n,e,t,i,r,s,o,a,l,c,u=!0){return u?H7(n,e,t,i,r,s,o,a,l,c).then(null,h=>(SM||(console.warn("WebGL SDF generation failed, falling back to JS",h),SM=!0),_M(n,e,t,i,r,s,o,a,l,c))):_M(n,e,t,i,r,s,o,a,l,c)}const Pg=[],G7=5;let tC=0;function N3(){const n=uc();for(;Pg.length&&uc()-nnew Promise((e,t)=>{Pg.push(()=>{const i=uc();try{y0.webgl.generateIntoCanvas(...n),e({timing:uc()-i})}catch(r){t(r)}}),tC||(tC=setTimeout(N3,0))}),z7=4,V7=2e3,wM={};let W7=0;function _M(n,e,t,i,r,s,o,a,l,c){const u="TroikaTextSDFGenerator_JS_"+W7++%z7;let h=wM[u];return h||(h=wM[u]={workerModule:$h({name:u,workerId:u,dependencies:[P3,uc],init(d,p){const m=d().javascript.generate;return function(...I){const v=p();return{textureData:m(...I),timing:p()-v}}},getTransferables(d){return[d.textureData.buffer]}}),requests:0,idleTimer:null}),h.requests++,clearTimeout(h.idleTimer),h.workerModule(n,e,t,i,r,s).then(({textureData:d,timing:p})=>{const m=uc(),I=new Uint8Array(d.length*4);for(let v=0;v{Q7(u)},V7)),{timing:p}})}function Y7(n){n._warm||(y0.webgl.isSupported(n),n._warm=!0)}const J7=y0.webglUtils.resizeWebGLCanvasWithoutClearing;/*! +`)),w=+w,_=+_,D=+D,R=R||"normal",P=+P,u(E,Ee=>{const G=isFinite(D);let k=null,N=null,L=null,ae=null,de=null,fe=null,pe=null,U=0,me=0,re=z!=="nowrap";const{ascender:le,descender:ue,unitsPerEm:we,lineGap:X,capHeight:Q,xHeight:b}=Ee;ce.fontLoad=I()-W;const Z=I(),Se=w/we;R==="normal"&&(R=(le-ue+X)/we),R=R*w;const Be=(R-(le-ue)*Se)/2,ye=-(le*Se+Be),Le=Math.min(R,(le-ue)*Se),Fe=(le+ue)/2*Se-Le/2;let ze=P,Ne=new v;const je=[Ne];Ee.forEachGlyph(y,w,_,(Ze,it,Ye)=>{const ke=y.charAt(Ye),et=Ze.advanceWidth*Se,vt=Ne.count;let Bt;if("isEmpty"in Ze||(Ze.isWhitespace=!!ke&&new RegExp(a).test(ke),Ze.canBreakAfter=!!ke&&l.test(ke),Ze.isEmpty=Ze.xMin===Ze.xMax||Ze.yMin===Ze.yMax||o.test(ke)),!Ze.isWhitespace&&!Ze.isEmpty&&me++,re&&G&&!Ze.isWhitespace&&it+et+ze>D&&vt){if(Ne.glyphAt(vt-1).glyphObj.canBreakAfter)Bt=new v,ze=-it;else for(let Ct=vt;Ct--;)if(Ct===0&&se==="break-word"){Bt=new v,ze=-it;break}else if(Ne.glyphAt(Ct).glyphObj.canBreakAfter){Bt=Ne.splitAt(Ct+1);const ie=Bt.glyphAt(0).x;ze-=ie;for(let Je=Bt.count;Je--;)Bt.glyphAt(Je).x-=ie;break}Bt&&(Ne.isSoftWrapped=!0,Ne=Bt,je.push(Ne),U=D)}let tt=Ne.glyphAt(Ne.count);tt.glyphObj=Ze,tt.x=it+ze,tt.width=et,tt.charIndex=Ye,ke===` +`&&(Ne=new v,je.push(Ne),ze=-(it+et+_*w)+P)}),je.forEach(Ze=>{for(let it=Ze.count;it--;){let{glyphObj:Ye,x:ke,width:et}=Ze.glyphAt(it);if(!Ye.isWhitespace){Ze.width=ke+et,Ze.width>U&&(U=Ze.width);return}}});let De=0,Et=0;if(V&&(typeof V=="number"?De=-V:typeof V=="string"&&(De=-U*(V==="left"?0:V==="center"?.5:V==="right"?1:p(V)))),oe){if(typeof oe=="number")Et=-oe;else if(typeof oe=="string"){let Ze=je.length*R;Et=oe==="top"?0:oe==="top-baseline"?-ye:oe==="top-cap"?-ye-Q*Se:oe==="top-ex"?-ye-b*Se:oe==="middle"?Ze/2:oe==="bottom"?Ze:oe==="bottom-baseline"?Ze-Be+ue*Se:p(oe)*Ze}}if(!q){const Ze=e.getEmbeddingLevels(y,Y);k=new Uint16Array(me),N=new Float32Array(me*2),L={},fe=[s,s,-s,-s],pe=[];let it=ye;ee&&(de=new Float32Array(y.length*3)),O&&(ae=new Uint8Array(me*3));let Ye=0,ke=-1,et=-1,vt,Bt;if(je.forEach((tt,Ct)=>{let{count:ie,width:Je}=tt;if(ie>0){let Xe=0;for(let Wt=ie;Wt--&&tt.glyphAt(Wt).glyphObj.isWhitespace;)Xe++;let ot=0,At=0;if(M==="center")ot=(U-Je)/2;else if(M==="right")ot=U-Je;else if(M==="justify"&&tt.isSoftWrapped){let Wt=0;for(let Rt=ie-Xe;Rt--;)tt.glyphAt(Rt).glyphObj.isWhitespace&&Wt++;At=(U-Je)/Wt}if(At||ot){let Wt=0;for(let Rt=0;Rt=Rt){let Dn=vn,fn=vn;for(;fnGt)break;fnQt=Wt;for(let Wt=0;Wt1&&m(de,ke,fn),ke=Kt}if(O){const{charIndex:Kt}=Rt;for(;Kt>et;)et++,O.hasOwnProperty(et)&&(Bt=O[et])}if(!Qt.isWhitespace&&!Qt.isEmpty){const Kt=Ye++;L[Gt]||(L[Gt]={path:Qt.path,pathBounds:[Qt.xMin,Qt.yMin,Qt.xMax,Qt.yMax]});const vn=Rt.x+De,Dn=it+Et;N[Kt*2]=vn,N[Kt*2+1]=Dn;const fn=vn+Qt.xMin*Se,hn=Dn+Qt.yMin*Se,Gn=vn+Qt.xMax*Se,ji=Dn+Qt.yMax*Se;fnfe[2]&&(fe[2]=Gn),ji>fe[3]&&(fe[3]=ji),Kt%he===0&&(vt={start:Kt,end:Kt,rect:[s,s,-s,-s]},pe.push(vt)),vt.end++;const wi=vt.rect;if(fnwi[2]&&(wi[2]=Gn),ji>wi[3]&&(wi[3]=ji),k[Kt]=Gt,O){const Qr=Kt*3;ae[Qr]=Bt>>16&255,ae[Qr+1]=Bt>>8&255,ae[Qr+2]=Bt&255}}}}it-=R}),de){const tt=y.length-ke;tt>1&&m(de,ke,tt)}}ce.typesetting=I()-Z,J({glyphIds:k,glyphPositions:N,glyphData:L,caretPositions:de,caretHeight:Le,glyphColors:ae,chunkedBounds:pe,fontSize:w,unitsPerEm:we,ascender:le*Se,descender:ue*Se,capHeight:Q*Se,xHeight:b*Se,lineHeight:R,topBaseline:ye,blockBounds:[De,Et-je.length*R,De+U,Et],visibleBounds:fe,timings:ce})})}function d(y,E){h(y,x=>{const[w,_,R,D]=x.blockBounds;E({width:R-w,height:D-_})},{metricsOnly:!0})}function p(y){let E=y.match(/^([\d.]+)%$/),x=E?parseFloat(E[1]):NaN;return isNaN(x)?0:x/100}function m(y,E,x){const w=y[E*3],_=y[E*3+1],R=y[E*3+2],D=(_-w)/x;for(let Y=0;Y(Object.defineProperty(y,E,{get(){return this.data[this.index*g.length+x]},set(_){this.data[this.index*g.length+x]=_}}),y),{data:null,index:0}),{typeset:h,measure:d,loadFont:u}}const uc=()=>(self.performance||Date).now(),y0=U3();let wM;function G7(n,e,t,i,r,s,o,a,l,c,u=!0){return u?z7(n,e,t,i,r,s,o,a,l,c).then(null,h=>(wM||(console.warn("WebGL SDF generation failed, falling back to JS",h),wM=!0),MM(n,e,t,i,r,s,o,a,l,c))):MM(n,e,t,i,r,s,o,a,l,c)}const Pg=[],H7=5;let tC=0;function k3(){const n=uc();for(;Pg.length&&uc()-nnew Promise((e,t)=>{Pg.push(()=>{const i=uc();try{y0.webgl.generateIntoCanvas(...n),e({timing:uc()-i})}catch(r){t(r)}}),tC||(tC=setTimeout(k3,0))}),V7=4,W7=2e3,_M={};let Y7=0;function MM(n,e,t,i,r,s,o,a,l,c){const u="TroikaTextSDFGenerator_JS_"+Y7++%V7;let h=_M[u];return h||(h=_M[u]={workerModule:$h({name:u,workerId:u,dependencies:[U3,uc],init(d,p){const m=d().javascript.generate;return function(...I){const v=p();return{textureData:m(...I),timing:p()-v}}},getTransferables(d){return[d.textureData.buffer]}}),requests:0,idleTimer:null}),h.requests++,clearTimeout(h.idleTimer),h.workerModule(n,e,t,i,r,s).then(({textureData:d,timing:p})=>{const m=uc(),I=new Uint8Array(d.length*4);for(let v=0;v{R7(u)},W7)),{timing:p}})}function J7(n){n._warm||(y0.webgl.isSupported(n),n._warm=!0)}const X7=y0.webglUtils.resizeWebGLCanvasWithoutClearing;/*! 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 X7(){return typeof window>"u"&&(self.window=self),function(n){var e={parse:function(r){var s=e._bin,o=new Uint8Array(r);if(s.readASCII(o,0,4)=="ttcf"){var a=4;s.readUshort(o,a),a+=2,s.readUshort(o,a),a+=2;var l=s.readUint(o,a);a+=4;for(var c=[],u=0;u>>o&1&&s++;return s},e._lctf.readClassDef=function(r,s){var o=e._bin,a=[],l=o.readUshort(r,s);if(s+=2,l==1){var c=o.readUshort(r,s);s+=2;var u=o.readUshort(r,s);s+=2;for(var h=0;h0&&(l.featureParams=a+c);var u=o.readUshort(r,s);s+=2,l.tab=[];for(var h=0;h255?-1:e.CFF.glyphByUnicode(r,e.CFF.tableSE[s])},e.CFF.readEncoding=function(r,s,o){e._bin;var a=[".notdef"],l=r[s];if(s++,l!=0)throw"error: unknown encoding format: "+l;var c=r[s];s++;for(var u=0;u>4,y=15&v;if(g!=15&&I.push(g),y!=15&&I.push(y),y==15)break}for(var E="",x=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],w=0;w=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){d=l.readUshort(r,o),o+=2;var m=l.readUshort(r,o);o+=2,p=e._lctf.numOfOnes(d);var I=e._lctf.numOfOnes(m);if(u.fmt==1){u.pairsets=[];var v=l.readUshort(r,o);o+=2;for(var g=0;g=1&&u.fmt<=2){if(u.fmt==1)u.delta=l.readShort(r,o),o+=2;else if(u.fmt==2){var d=l.readUshort(r,o);o+=2,u.newg=l.readUshorts(r,o,d),o+=2*u.newg.length}}else if(s==4){u.vals=[],d=l.readUshort(r,o),o+=2;for(var p=0;p>>8;if((m&=15)!=0)throw"unknown kern table format: "+m;s=e.kern.readFormat0(r,s,h)}return h},e.kern.parseV1=function(r,s,o,a){var l=e._bin;l.readFixed(r,s),s+=4;var c=l.readUint(r,s);s+=4;for(var u={glyph1:[],rval:[]},h=0;h>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;s=e.kern.readFormat0(r,s,u)}return u},e.kern.readFormat0=function(r,s,o){var a=e._bin,l=-1,c=a.readUshort(r,s);s+=2,a.readUshort(r,s),s+=2,a.readUshort(r,s),s+=2,a.readUshort(r,s),s+=2;for(var u=0;u=l.map.length?0:l.map[s];if(l.format==4){for(var c=-1,u=0;us?0:65535&(l.idRangeOffset[c]!=0?l.glyphIdArray[s-l.startCount[c]+(l.idRangeOffset[c]>>1)-(l.idRangeOffset.length-c)]:s+l.idDelta[c])}if(l.format==12){if(s>l.groups[l.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(a,o):e.U._compoGlyph(a,s,o))},e.U._simpleGlyph=function(r,s){for(var o=0;ol)){for(var v=!0,g=0,y=0;yl)){for(v=!0,y=0;y>1,c.length=0,h=!0;else if(z=="o3"||z=="o23")c.length%2!=0&&!h&&(d=c.shift()+a.nominalWidthX),u+=c.length>>1,c.length=0,h=!0;else if(z=="o4")c.length>1&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),p&&e.U.P.closePath(l),v+=c.pop(),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o5")for(;c.length>0;)I+=c.shift(),v+=c.shift(),e.U.P.lineTo(l,I,v);else if(z=="o6"||z=="o7")for(var ne=c.length,V=z=="o6",ae=0;aeMath.abs(D-v)?I=R+c.shift():v=D+c.shift(),e.U.P.curveTo(l,g,y,E,x,Y,Q),e.U.P.curveTo(l,w,_,R,D,I,v));else if(z=="o14"){if(c.length>0&&!h&&(d=c.shift()+o.nominalWidthX,h=!0),c.length==4){var O=c.shift(),J=c.shift(),Z=c.shift(),W=c.shift(),ce=e.CFF.glyphBySE(o,Z),Ee=e.CFF.glyphBySE(o,W);e.U._drawCFF(o.CharStrings[ce],s,o,a,l),s.x=O,s.y=J,e.U._drawCFF(o.CharStrings[Ee],s,o,a,l)}p&&(e.U.P.closePath(l),p=!1)}else if(z=="o19"||z=="o20")c.length%2!=0&&!h&&(d=c.shift()+a.nominalWidthX),u+=c.length>>1,c.length=0,h=!0,m+=u+7>>3;else if(z=="o21")c.length>2&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),v+=c.pop(),I+=c.pop(),p&&e.U.P.closePath(l),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o22")c.length>1&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),I+=c.pop(),p&&e.U.P.closePath(l),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o25"){for(;c.length>6;)I+=c.shift(),v+=c.shift(),e.U.P.lineTo(l,I,v);g=I+c.shift(),y=v+c.shift(),E=g+c.shift(),x=y+c.shift(),I=E+c.shift(),v=x+c.shift(),e.U.P.curveTo(l,g,y,E,x,I,v)}else if(z=="o26")for(c.length%2&&(I+=c.shift());c.length>0;)g=I,y=v+c.shift(),I=E=g+c.shift(),v=(x=y+c.shift())+c.shift(),e.U.P.curveTo(l,g,y,E,x,I,v);else if(z=="o27")for(c.length%2&&(v+=c.shift());c.length>0;)y=v,E=(g=I+c.shift())+c.shift(),x=y+c.shift(),I=E+c.shift(),v=x,e.U.P.curveTo(l,g,y,E,x,I,v);else if(z=="o10"||z=="o29"){var G=z=="o10"?a:o;if(c.length==0)console.debug("error: empty stack");else{var k=c.pop(),N=G.Subrs[k+G.Bias];s.x=I,s.y=v,s.nStems=u,s.haveWidth=h,s.width=d,s.open=p,e.U._drawCFF(N,s,o,a,l),I=s.x,v=s.y,u=s.nStems,h=s.haveWidth,d=s.width,p=s.open}}else if(z=="o30"||z=="o31"){var L=c.length,oe=(he=0,z=="o31");for(he+=L-(ne=-3&L);he"u"&&(self.window=self),function(n){var e={parse:function(r){var s=e._bin,o=new Uint8Array(r);if(s.readASCII(o,0,4)=="ttcf"){var a=4;s.readUshort(o,a),a+=2,s.readUshort(o,a),a+=2;var l=s.readUint(o,a);a+=4;for(var c=[],u=0;u>>o&1&&s++;return s},e._lctf.readClassDef=function(r,s){var o=e._bin,a=[],l=o.readUshort(r,s);if(s+=2,l==1){var c=o.readUshort(r,s);s+=2;var u=o.readUshort(r,s);s+=2;for(var h=0;h0&&(l.featureParams=a+c);var u=o.readUshort(r,s);s+=2,l.tab=[];for(var h=0;h255?-1:e.CFF.glyphByUnicode(r,e.CFF.tableSE[s])},e.CFF.readEncoding=function(r,s,o){e._bin;var a=[".notdef"],l=r[s];if(s++,l!=0)throw"error: unknown encoding format: "+l;var c=r[s];s++;for(var u=0;u>4,y=15&v;if(g!=15&&I.push(g),y!=15&&I.push(y),y==15)break}for(var E="",x=[0,1,2,3,4,5,6,7,8,9,".","e","e-","reserved","-","endOfNumber"],w=0;w=c.xMax||c.yMin>=c.yMax)return null;if(c.noc>0){c.endPts=[];for(var u=0;u=1&&u.fmt<=2){d=l.readUshort(r,o),o+=2;var m=l.readUshort(r,o);o+=2,p=e._lctf.numOfOnes(d);var I=e._lctf.numOfOnes(m);if(u.fmt==1){u.pairsets=[];var v=l.readUshort(r,o);o+=2;for(var g=0;g=1&&u.fmt<=2){if(u.fmt==1)u.delta=l.readShort(r,o),o+=2;else if(u.fmt==2){var d=l.readUshort(r,o);o+=2,u.newg=l.readUshorts(r,o,d),o+=2*u.newg.length}}else if(s==4){u.vals=[],d=l.readUshort(r,o),o+=2;for(var p=0;p>>8;if((m&=15)!=0)throw"unknown kern table format: "+m;s=e.kern.readFormat0(r,s,h)}return h},e.kern.parseV1=function(r,s,o,a){var l=e._bin;l.readFixed(r,s),s+=4;var c=l.readUint(r,s);s+=4;for(var u={glyph1:[],rval:[]},h=0;h>>8;if((p&=15)!=0)throw"unknown kern table format: "+p;s=e.kern.readFormat0(r,s,u)}return u},e.kern.readFormat0=function(r,s,o){var a=e._bin,l=-1,c=a.readUshort(r,s);s+=2,a.readUshort(r,s),s+=2,a.readUshort(r,s),s+=2,a.readUshort(r,s),s+=2;for(var u=0;u=l.map.length?0:l.map[s];if(l.format==4){for(var c=-1,u=0;us?0:65535&(l.idRangeOffset[c]!=0?l.glyphIdArray[s-l.startCount[c]+(l.idRangeOffset[c]>>1)-(l.idRangeOffset.length-c)]:s+l.idDelta[c])}if(l.format==12){if(s>l.groups[l.groups.length-1][1])return 0;for(u=0;u-1?e.U._simpleGlyph(a,o):e.U._compoGlyph(a,s,o))},e.U._simpleGlyph=function(r,s){for(var o=0;ol)){for(var v=!0,g=0,y=0;yl)){for(v=!0,y=0;y>1,c.length=0,h=!0;else if(z=="o3"||z=="o23")c.length%2!=0&&!h&&(d=c.shift()+a.nominalWidthX),u+=c.length>>1,c.length=0,h=!0;else if(z=="o4")c.length>1&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),p&&e.U.P.closePath(l),v+=c.pop(),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o5")for(;c.length>0;)I+=c.shift(),v+=c.shift(),e.U.P.lineTo(l,I,v);else if(z=="o6"||z=="o7")for(var se=c.length,V=z=="o6",oe=0;oeMath.abs(D-v)?I=R+c.shift():v=D+c.shift(),e.U.P.curveTo(l,g,y,E,x,Y,M),e.U.P.curveTo(l,w,_,R,D,I,v));else if(z=="o14"){if(c.length>0&&!h&&(d=c.shift()+o.nominalWidthX,h=!0),c.length==4){var O=c.shift(),J=c.shift(),q=c.shift(),W=c.shift(),ce=e.CFF.glyphBySE(o,q),Ee=e.CFF.glyphBySE(o,W);e.U._drawCFF(o.CharStrings[ce],s,o,a,l),s.x=O,s.y=J,e.U._drawCFF(o.CharStrings[Ee],s,o,a,l)}p&&(e.U.P.closePath(l),p=!1)}else if(z=="o19"||z=="o20")c.length%2!=0&&!h&&(d=c.shift()+a.nominalWidthX),u+=c.length>>1,c.length=0,h=!0,m+=u+7>>3;else if(z=="o21")c.length>2&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),v+=c.pop(),I+=c.pop(),p&&e.U.P.closePath(l),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o22")c.length>1&&!h&&(d=c.shift()+a.nominalWidthX,h=!0),I+=c.pop(),p&&e.U.P.closePath(l),e.U.P.moveTo(l,I,v),p=!0;else if(z=="o25"){for(;c.length>6;)I+=c.shift(),v+=c.shift(),e.U.P.lineTo(l,I,v);g=I+c.shift(),y=v+c.shift(),E=g+c.shift(),x=y+c.shift(),I=E+c.shift(),v=x+c.shift(),e.U.P.curveTo(l,g,y,E,x,I,v)}else if(z=="o26")for(c.length%2&&(I+=c.shift());c.length>0;)g=I,y=v+c.shift(),I=E=g+c.shift(),v=(x=y+c.shift())+c.shift(),e.U.P.curveTo(l,g,y,E,x,I,v);else if(z=="o27")for(c.length%2&&(v+=c.shift());c.length>0;)y=v,E=(g=I+c.shift())+c.shift(),x=y+c.shift(),I=E+c.shift(),v=x,e.U.P.curveTo(l,g,y,E,x,I,v);else if(z=="o10"||z=="o29"){var G=z=="o10"?a:o;if(c.length==0)console.debug("error: empty stack");else{var k=c.pop(),N=G.Subrs[k+G.Bias];s.x=I,s.y=v,s.nStems=u,s.haveWidth=h,s.width=d,s.open=p,e.U._drawCFF(N,s,o,a,l),I=s.x,v=s.y,u=s.nStems,h=s.haveWidth,d=s.width,p=s.open}}else if(z=="o30"||z=="o31"){var L=c.length,ae=(he=0,z=="o31");for(he+=L-(se=-3&L);he>>1|(21845&p)<<1;m=(61680&(m=(52428&m)>>>2|(13107&m)<<2))>>>4|(3855&m)<<4,d[p]=((65280&m)>>>8|(255&m)<<8)>>>1}var I=function(z,ne,V){for(var ae=z.length,ee=0,he=new t(ne);ee>>Z]=W}else for(O=new t(ae),ee=0;ee>>15-z[ee]);return O},v=new e(288);for(p=0;p<144;++p)v[p]=8;for(p=144;p<256;++p)v[p]=9;for(p=256;p<280;++p)v[p]=7;for(p=280;p<288;++p)v[p]=8;var g=new e(32);for(p=0;p<32;++p)g[p]=5;var y=I(v,9,1),E=I(g,5,1),x=function(z){for(var ne=z[0],V=1;Vne&&(ne=z[V]);return ne},w=function(z,ne,V){var ae=ne/8|0;return(z[ae]|z[ae+1]<<8)>>(7&ne)&V},_=function(z,ne){var V=ne/8|0;return(z[V]|z[V+1]<<8|z[V+2]<<16)>>(7&ne)},R=["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"],D=function(z,ne,V){var ae=new Error(ne||R[z]);if(ae.code=z,Error.captureStackTrace&&Error.captureStackTrace(ae,D),!V)throw ae;return ae},Y=function(z,ne,V){var ae=z.length;if(!ae||V&&!V.l&&ae<5)return ne||new e(0);var ee=!ne||V,he=!V||V.i;V||(V={}),ne||(ne=new e(3*ae));var O,J=function(ke){var et=ne.length;if(ke>et){var mt=new e(Math.max(2*et,ke));mt.set(ne),ne=mt}},Z=V.f||0,W=V.p||0,ce=V.b||0,Ee=V.l,G=V.d,k=V.m,N=V.n,L=8*ae;do{if(!Ee){V.f=Z=w(z,W,1);var oe=w(z,W+1,3);if(W+=3,!oe){var de=z[(b=((O=W)/8|0)+(7&O&&1)+4)-4]|z[b-3]<<8,fe=b+de;if(fe>ae){he&&D(0);break}ee&&J(ce+de),ne.set(z.subarray(b,fe),ce),V.b=ce+=de,V.p=W=8*fe;continue}if(oe==1)Ee=y,G=E,k=9,N=5;else if(oe==2){var pe=w(z,W,31)+257,U=w(z,W+10,15)+4,me=pe+w(z,W+5,31)+1;W+=14;for(var se=new e(me),le=new e(19),ue=0;ue>>4)<16)se[ue++]=b;else{var Se=0,Be=0;for(b==16?(Be=3+w(z,W,3),W+=2,Se=se[ue-1]):b==17?(Be=3+w(z,W,7),W+=3):b==18&&(Be=11+w(z,W,127),W+=7);Be--;)se[ue++]=Se}}var ye=se.subarray(0,pe),Le=se.subarray(pe);k=x(ye),N=x(Le),Ee=I(ye,k,1),G=I(Le,N,1)}else D(1);if(W>L){he&&D(0);break}}ee&&J(ce+131072);for(var Fe=(1<>>4;if((W+=15&Se)>L){he&&D(0);break}if(Se||D(2),je<256)ne[ce++]=je;else{if(je==256){Ne=W,Ee=null;break}var De=je-254;if(je>264){var yt=r[ue=je-257];De=w(z,W,(1<>>4;if(Ze||D(3),W+=15&Ze,Le=h[it],it>3&&(yt=s[it],Le+=_(z,W)&(1<L){he&&D(0);break}ee&&J(ce+131072);for(var Ye=ce+De;ceke.length)&&(mt=ke.length);var Bt=new(ke instanceof t?t:ke instanceof i?i:e)(mt-et);return Bt.set(ke.subarray(et,mt)),Bt}(ne,0,ce)},Q=new e(0),P=typeof TextDecoder<"u"&&new TextDecoder;try{P.decode(Q,{stream:!0})}catch{}return n.convert_streams=function(z){var ne=new DataView(z),V=0;function ae(){var pe=ne.getUint16(V);return V+=2,pe}function ee(){var pe=ne.getUint32(V);return V+=4,pe}function he(pe){de.setUint16(fe,pe),fe+=2}function O(pe){de.setUint32(fe,pe),fe+=4}for(var J={signature:ee(),flavor:ee(),length:ee(),numTables:ae(),reserved:ae(),totalSfntSize:ee(),majorVersion:ae(),minorVersion:ae(),metaOffset:ee(),metaLength:ee(),metaOrigLength:ee(),privOffset:ee(),privLength:ee()},Z=0;Math.pow(2,Z)<=J.numTables;)Z++;Z--;for(var W=16*Math.pow(2,Z),ce=16*J.numTables-W,Ee=12,G=[],k=0;k{let[Q,P]=Y.split("+");Q=parseInt(Q,36),P=P?parseInt(P,36):0,u.set(D+=Q,_[R]);for(let z=P;z--;)u.set(++D,_[R])})}}return u.get(w)||c}const d=1,p=2,m=3,I=4,v=[null,"isol","init","fina","medi"];function g(w){const _=new Uint8Array(w.length);let R=c,D=d,Y=-1;for(let Q=0;Q65535&&Q++)}return _}function y(w,_){const R=[];for(let Y=0;Y<_.length;Y++){const Q=_.codePointAt(Y);Q>65535&&Y++,R.push(n.U.codeToGlyph(w,Q))}const D=w.GSUB;if(D){const{lookupList:Y,featureList:Q}=D;let P;const z=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,ne=[];Q.forEach(V=>{if(z.test(V.tag))for(let ae=0;ae{if(W!==-1){let Ee=_[W];if(!Ee){const{cmds:G,crds:k}=n.U.glyphToPath(w,W);let N="",L=0;for(let U=0,me=G.length;U1?",":"")+k[L++]}let oe,de,fe,pe;if(k.length){oe=de=1/0,fe=pe=-1/0;for(let U=0,me=k.length;Ufe&&(fe=se),le>pe&&(pe=le)}}else oe=fe=de=pe=0;Ee=_[W]={index:W,advanceWidth:w.hmtx.aWidth[W],xMin:oe,yMin:de,xMax:fe,yMax:pe,path:N,pathCommandCount:G.length}}Z!==-1&&(ee+=n.U.getPairAdjustment(w,Z,W)*he),ae.call(null,Ee,ee,J),Ee.advanceWidth&&(ee+=Ee.advanceWidth*he),V&&(ee+=V*ne),Z=W}J+=z.codePointAt(J)>65535?2:1}),ee}};return P}return function(_){const R=new Uint8Array(_,0,4),D=n._bin.readASCII(R,0,4);if(D==="wOFF")_=e(_);else if(D==="wOF2")throw new Error("woff2 fonts not supported");return x(n.parse(_)[0])}}const q7=$h({name:"Typr Font Parser",dependencies:[X7,K7,j7],init(n,e,t){const i=n(),r=e();return t(i,r)}}),Hu={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},Z7=new st;function Eu(){return(self.performance||Date).now()}const MM=Object.create(null);function k3(n,e){n=tV({},n);const t=Eu();if(n.font=nV(n.font||Hu.defaultFontURL),n.text=""+n.text,n.sdfGlyphSize=n.sdfGlyphSize||Hu.sdfGlyphSize,n.colorRanges!=null){let h={};for(let d in n.colorRanges)if(n.colorRanges.hasOwnProperty(d)){let p=n.colorRanges[d];typeof p!="number"&&(p=Z7.set(p).getHex()),h[d]=p}n.colorRanges=h}Object.freeze(n);const{textureWidth:i,sdfExponent:r}=Hu,{sdfGlyphSize:s}=n,o=i/s*4;let a=MM[s];if(!a){const h=document.createElement("canvas");h.width=i,h.height=s*256/o,a=MM[s]={glyphCount:0,sdfGlyphSize:s,sdfCanvas:h,sdfTexture:new Qn(h,void 0,void 0,void 0,Cn,Cn),contextLost:!1,glyphsByFont:new Map},a.sdfTexture.generateMipmaps=!1,$7(a)}const{sdfTexture:l,sdfCanvas:c}=a;let u=a.glyphsByFont.get(n.font);u||a.glyphsByFont.set(n.font,u=new Map),rV(n).then(h=>{const{glyphIds:d,glyphPositions:p,fontSize:m,unitsPerEm:I,timings:v}=h,g=[],y=new Float32Array(d.length*4),E=m/I;let x=0,w=0;const _=Eu();d.forEach((P,z)=>{let ne=u.get(P);if(!ne){const{path:he,pathBounds:O}=h.glyphData[P],J=Math.max(O[2]-O[0],O[3]-O[1])/s*(Hu.sdfMargin*s+.5),Z=a.glyphCount++,W=[O[0]-J,O[1]-J,O[2]+J,O[3]+J];u.set(P,ne={path:he,atlasIndex:Z,sdfViewBox:W}),g.push(ne)}const{sdfViewBox:V}=ne,ae=p[w++],ee=p[w++];y[x++]=ae+V[0]*E,y[x++]=ee+V[1]*E,y[x++]=ae+V[2]*E,y[x++]=ee+V[3]*E,d[z]=ne.atlasIndex}),v.quads=(v.quads||0)+(Eu()-_);const R=Eu();v.sdf={};const D=c.height,Y=Math.ceil(a.glyphCount/o),Q=Math.pow(2,Math.ceil(Math.log2(Y*s)));Q>D&&(console.info(`Increasing SDF texture size ${D}->${Q}`),J7(c,i,Q),l.dispose()),Promise.all(g.map(P=>F3(P,a,n.gpuAccelerateSDF).then(({timing:z})=>{v.sdf[P.atlasIndex]=z}))).then(()=>{g.length&&!a.contextLost&&(O3(a),l.needsUpdate=!0),v.sdfTotal=Eu()-R,v.total=Eu()-t,e(Object.freeze({parameters:n,sdfTexture:l,sdfGlyphSize:s,sdfExponent:r,glyphBounds:y,glyphAtlasIndices:d,glyphColors:h.glyphColors,caretPositions:h.caretPositions,caretHeight:h.caretHeight,chunkedBounds:h.chunkedBounds,ascender:h.ascender,descender:h.descender,lineHeight:h.lineHeight,capHeight:h.capHeight,xHeight:h.xHeight,topBaseline:h.topBaseline,blockBounds:h.blockBounds,visibleBounds:h.visibleBounds,timings:h.timings}))})}),Promise.resolve().then(()=>{a.contextLost||Y7(c)})}function F3({path:n,atlasIndex:e,sdfViewBox:t},{sdfGlyphSize:i,sdfCanvas:r,contextLost:s},o){if(s)return Promise.resolve({timing:-1});const{textureWidth:a,sdfExponent:l}=Hu,c=Math.max(t[2]-t[0],t[3]-t[1]),u=Math.floor(e/4),h=u%(a/i)*i,d=Math.floor(u/(a/i))*i,p=e%4;return O7(i,i,n,t,c,l,r,h,d,p,o)}function $7(n){const e=n.sdfCanvas;e.addEventListener("webglcontextlost",t=>{console.log("Context Lost",t),t.preventDefault(),n.contextLost=!0}),e.addEventListener("webglcontextrestored",t=>{console.log("Context Restored",t),n.contextLost=!1;const i=[];n.glyphsByFont.forEach(r=>{r.forEach(s=>{i.push(F3(s,n,!0))})}),Promise.all(i).then(()=>{O3(n),n.sdfTexture.needsUpdate=!0})})}function eV({font:n,characters:e,sdfGlyphSize:t},i){let r=Array.isArray(e)?e.join(` -`):""+e;k3({font:n,sdfGlyphSize:t,text:r},i)}function tV(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}let ug;function nV(n){return ug||(ug=typeof document>"u"?{}:document.createElement("a")),ug.href=n,ug.href}function O3(n){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:t}=n,{width:i,height:r}=e,s=n.sdfCanvas.getContext("webgl");let o=t.image.data;(!o||o.length!==i*r*4)&&(o=new Uint8Array(i*r*4),t.image={width:i,height:r,data:o},t.flipY=!1,t.isDataTexture=!0),s.readPixels(0,0,i,r,s.RGBA,s.UNSIGNED_BYTE,o)}}const iV=$h({name:"Typesetter",dependencies:[Hu,q7,F7,T7],init(n,e,t,i){const{defaultFontURL:r}=n;return t(e,i(),{defaultFontURL:r})}}),rV=$h({name:"Typesetter",dependencies:[iV],init(n){return function(e){return new Promise(t=>{n.typeset(e,t)})}},getTransferables(n){const e=[n.glyphPositions.buffer,n.glyphIds.buffer];return n.caretPositions&&e.push(n.caretPositions.buffer),n.glyphColors&&e.push(n.glyphColors.buffer),e}}),QM={};function sV(n){let e=QM[n];if(!e){const t=new Gs(1,1,n,n),i=t.clone(),r=t.attributes,s=i.attributes,o=new kt,a=r.uv.count;for(let l=0;l{o.setAttribute(l,new pt([...r[l].array,...s[l].array],r[l].itemSize))}),o.setIndex([...t.index.array,...i.index.array.map(l=>l+a)]),o.translate(.5,.5,0),e=QM[n]=o}return e}const oV="aTroikaGlyphBounds",RM="aTroikaGlyphIndex",aV="aTroikaGlyphColor";class lV extends bI{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 fi,this.boundingBox=new ai}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const t=this.getIndex().count;this.setDrawRange(e===Xi?t/2:0,e===hs?t:t/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let t=sV(e);["position","normal","uv"].forEach(i=>{this.attributes[i]=t.attributes[i].clone()}),this.setIndex(t.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,t,i,r,s){qy(this,oV,e,4),qy(this,RM,t,1),qy(this,aV,s,3),this._blockBounds=i,this._chunkedBounds=r,this.instanceCount=t.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:t,boundingBox:i}=this;if(t){const{PI:r,floor:s,min:o,max:a,sin:l,cos:c}=Math,u=r/2,h=r*2,d=Math.abs(t),p=e[0]/d,m=e[2]/d,I=s((p+u)/h)!==s((m+u)/h)?-d:o(l(p)*d,l(m)*d),v=s((p-u)/h)!==s((m-u)/h)?d:a(l(p)*d,l(m)*d),g=s((p+r)/h)!==s((m+r)/h)?d*2:a(d-c(p)*d,d-c(m)*d);i.min.set(I,e[1],t<0?-g:0),i.max.set(v,e[3],t<0?0:g)}else i.min.set(e[0],e[1],0),i.max.set(e[2],e[3],0);i.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let t=this.getAttribute(RM).count,i=this._chunkedBounds;if(i)for(let r=i.length;r--;){t=i[r].end;let s=i[r].rect;if(s[1]e.y&&s[0]e.x)break}this.instanceCount=t}}function qy(n,e,t,i){const r=n.getAttribute(e);t?r&&r.array.length===t.length?(r.array.set(t),r.needsUpdate=!0):(n.setAttribute(e,new Sr(t,i)),delete n._maxInstanceCount,n.dispose()):r&&n.deleteAttribute(e)}const cV=` +*/function j7(){return function(n){var e=Uint8Array,t=Uint16Array,i=Uint32Array,r=new e([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),s=new e([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),o=new e([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(z,se){for(var V=new t(31),oe=0;oe<31;++oe)V[oe]=se+=1<>>1|(21845&p)<<1;m=(61680&(m=(52428&m)>>>2|(13107&m)<<2))>>>4|(3855&m)<<4,d[p]=((65280&m)>>>8|(255&m)<<8)>>>1}var I=function(z,se,V){for(var oe=z.length,ee=0,he=new t(se);ee>>q]=W}else for(O=new t(oe),ee=0;ee>>15-z[ee]);return O},v=new e(288);for(p=0;p<144;++p)v[p]=8;for(p=144;p<256;++p)v[p]=9;for(p=256;p<280;++p)v[p]=7;for(p=280;p<288;++p)v[p]=8;var g=new e(32);for(p=0;p<32;++p)g[p]=5;var y=I(v,9,1),E=I(g,5,1),x=function(z){for(var se=z[0],V=1;Vse&&(se=z[V]);return se},w=function(z,se,V){var oe=se/8|0;return(z[oe]|z[oe+1]<<8)>>(7&se)&V},_=function(z,se){var V=se/8|0;return(z[V]|z[V+1]<<8|z[V+2]<<16)>>(7&se)},R=["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"],D=function(z,se,V){var oe=new Error(se||R[z]);if(oe.code=z,Error.captureStackTrace&&Error.captureStackTrace(oe,D),!V)throw oe;return oe},Y=function(z,se,V){var oe=z.length;if(!oe||V&&!V.l&&oe<5)return se||new e(0);var ee=!se||V,he=!V||V.i;V||(V={}),se||(se=new e(3*oe));var O,J=function(ke){var et=se.length;if(ke>et){var vt=new e(Math.max(2*et,ke));vt.set(se),se=vt}},q=V.f||0,W=V.p||0,ce=V.b||0,Ee=V.l,G=V.d,k=V.m,N=V.n,L=8*oe;do{if(!Ee){V.f=q=w(z,W,1);var ae=w(z,W+1,3);if(W+=3,!ae){var de=z[(b=((O=W)/8|0)+(7&O&&1)+4)-4]|z[b-3]<<8,fe=b+de;if(fe>oe){he&&D(0);break}ee&&J(ce+de),se.set(z.subarray(b,fe),ce),V.b=ce+=de,V.p=W=8*fe;continue}if(ae==1)Ee=y,G=E,k=9,N=5;else if(ae==2){var pe=w(z,W,31)+257,U=w(z,W+10,15)+4,me=pe+w(z,W+5,31)+1;W+=14;for(var re=new e(me),le=new e(19),ue=0;ue>>4)<16)re[ue++]=b;else{var Se=0,Be=0;for(b==16?(Be=3+w(z,W,3),W+=2,Se=re[ue-1]):b==17?(Be=3+w(z,W,7),W+=3):b==18&&(Be=11+w(z,W,127),W+=7);Be--;)re[ue++]=Se}}var ye=re.subarray(0,pe),Le=re.subarray(pe);k=x(ye),N=x(Le),Ee=I(ye,k,1),G=I(Le,N,1)}else D(1);if(W>L){he&&D(0);break}}ee&&J(ce+131072);for(var Fe=(1<>>4;if((W+=15&Se)>L){he&&D(0);break}if(Se||D(2),je<256)se[ce++]=je;else{if(je==256){Ne=W,Ee=null;break}var De=je-254;if(je>264){var Et=r[ue=je-257];De=w(z,W,(1<>>4;if(Ze||D(3),W+=15&Ze,Le=h[it],it>3&&(Et=s[it],Le+=_(z,W)&(1<L){he&&D(0);break}ee&&J(ce+131072);for(var Ye=ce+De;ceke.length)&&(vt=ke.length);var Bt=new(ke instanceof t?t:ke instanceof i?i:e)(vt-et);return Bt.set(ke.subarray(et,vt)),Bt}(se,0,ce)},M=new e(0),P=typeof TextDecoder<"u"&&new TextDecoder;try{P.decode(M,{stream:!0})}catch{}return n.convert_streams=function(z){var se=new DataView(z),V=0;function oe(){var pe=se.getUint16(V);return V+=2,pe}function ee(){var pe=se.getUint32(V);return V+=4,pe}function he(pe){de.setUint16(fe,pe),fe+=2}function O(pe){de.setUint32(fe,pe),fe+=4}for(var J={signature:ee(),flavor:ee(),length:ee(),numTables:oe(),reserved:oe(),totalSfntSize:ee(),majorVersion:oe(),minorVersion:oe(),metaOffset:ee(),metaLength:ee(),metaOrigLength:ee(),privOffset:ee(),privLength:ee()},q=0;Math.pow(2,q)<=J.numTables;)q++;q--;for(var W=16*Math.pow(2,q),ce=16*J.numTables-W,Ee=12,G=[],k=0;k{let[M,P]=Y.split("+");M=parseInt(M,36),P=P?parseInt(P,36):0,u.set(D+=M,_[R]);for(let z=P;z--;)u.set(++D,_[R])})}}return u.get(w)||c}const d=1,p=2,m=3,I=4,v=[null,"isol","init","fina","medi"];function g(w){const _=new Uint8Array(w.length);let R=c,D=d,Y=-1;for(let M=0;M65535&&M++)}return _}function y(w,_){const R=[];for(let Y=0;Y<_.length;Y++){const M=_.codePointAt(Y);M>65535&&Y++,R.push(n.U.codeToGlyph(w,M))}const D=w.GSUB;if(D){const{lookupList:Y,featureList:M}=D;let P;const z=/^(rlig|liga|mset|isol|init|fina|medi|half|pres|blws)$/,se=[];M.forEach(V=>{if(z.test(V.tag))for(let oe=0;oe{if(W!==-1){let Ee=_[W];if(!Ee){const{cmds:G,crds:k}=n.U.glyphToPath(w,W);let N="",L=0;for(let U=0,me=G.length;U1?",":"")+k[L++]}let ae,de,fe,pe;if(k.length){ae=de=1/0,fe=pe=-1/0;for(let U=0,me=k.length;Ufe&&(fe=re),le>pe&&(pe=le)}}else ae=fe=de=pe=0;Ee=_[W]={index:W,advanceWidth:w.hmtx.aWidth[W],xMin:ae,yMin:de,xMax:fe,yMax:pe,path:N,pathCommandCount:G.length}}q!==-1&&(ee+=n.U.getPairAdjustment(w,q,W)*he),oe.call(null,Ee,ee,J),Ee.advanceWidth&&(ee+=Ee.advanceWidth*he),V&&(ee+=V*se),q=W}J+=z.codePointAt(J)>65535?2:1}),ee}};return P}return function(_){const R=new Uint8Array(_,0,4),D=n._bin.readASCII(R,0,4);if(D==="wOFF")_=e(_);else if(D==="wOF2")throw new Error("woff2 fonts not supported");return x(n.parse(_)[0])}}const Z7=$h({name:"Typr Font Parser",dependencies:[K7,j7,q7],init(n,e,t){const i=n(),r=e();return t(i,r)}}),Hu={defaultFontURL:"https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxM.woff",sdfGlyphSize:64,sdfMargin:1/16,sdfExponent:9,textureWidth:2048},$7=new st;function Eu(){return(self.performance||Date).now()}const QM=Object.create(null);function F3(n,e){n=nV({},n);const t=Eu();if(n.font=iV(n.font||Hu.defaultFontURL),n.text=""+n.text,n.sdfGlyphSize=n.sdfGlyphSize||Hu.sdfGlyphSize,n.colorRanges!=null){let h={};for(let d in n.colorRanges)if(n.colorRanges.hasOwnProperty(d)){let p=n.colorRanges[d];typeof p!="number"&&(p=$7.set(p).getHex()),h[d]=p}n.colorRanges=h}Object.freeze(n);const{textureWidth:i,sdfExponent:r}=Hu,{sdfGlyphSize:s}=n,o=i/s*4;let a=QM[s];if(!a){const h=document.createElement("canvas");h.width=i,h.height=s*256/o,a=QM[s]={glyphCount:0,sdfGlyphSize:s,sdfCanvas:h,sdfTexture:new Qn(h,void 0,void 0,void 0,Cn,Cn),contextLost:!1,glyphsByFont:new Map},a.sdfTexture.generateMipmaps=!1,eV(a)}const{sdfTexture:l,sdfCanvas:c}=a;let u=a.glyphsByFont.get(n.font);u||a.glyphsByFont.set(n.font,u=new Map),sV(n).then(h=>{const{glyphIds:d,glyphPositions:p,fontSize:m,unitsPerEm:I,timings:v}=h,g=[],y=new Float32Array(d.length*4),E=m/I;let x=0,w=0;const _=Eu();d.forEach((P,z)=>{let se=u.get(P);if(!se){const{path:he,pathBounds:O}=h.glyphData[P],J=Math.max(O[2]-O[0],O[3]-O[1])/s*(Hu.sdfMargin*s+.5),q=a.glyphCount++,W=[O[0]-J,O[1]-J,O[2]+J,O[3]+J];u.set(P,se={path:he,atlasIndex:q,sdfViewBox:W}),g.push(se)}const{sdfViewBox:V}=se,oe=p[w++],ee=p[w++];y[x++]=oe+V[0]*E,y[x++]=ee+V[1]*E,y[x++]=oe+V[2]*E,y[x++]=ee+V[3]*E,d[z]=se.atlasIndex}),v.quads=(v.quads||0)+(Eu()-_);const R=Eu();v.sdf={};const D=c.height,Y=Math.ceil(a.glyphCount/o),M=Math.pow(2,Math.ceil(Math.log2(Y*s)));M>D&&(console.info(`Increasing SDF texture size ${D}->${M}`),X7(c,i,M),l.dispose()),Promise.all(g.map(P=>O3(P,a,n.gpuAccelerateSDF).then(({timing:z})=>{v.sdf[P.atlasIndex]=z}))).then(()=>{g.length&&!a.contextLost&&(G3(a),l.needsUpdate=!0),v.sdfTotal=Eu()-R,v.total=Eu()-t,e(Object.freeze({parameters:n,sdfTexture:l,sdfGlyphSize:s,sdfExponent:r,glyphBounds:y,glyphAtlasIndices:d,glyphColors:h.glyphColors,caretPositions:h.caretPositions,caretHeight:h.caretHeight,chunkedBounds:h.chunkedBounds,ascender:h.ascender,descender:h.descender,lineHeight:h.lineHeight,capHeight:h.capHeight,xHeight:h.xHeight,topBaseline:h.topBaseline,blockBounds:h.blockBounds,visibleBounds:h.visibleBounds,timings:h.timings}))})}),Promise.resolve().then(()=>{a.contextLost||J7(c)})}function O3({path:n,atlasIndex:e,sdfViewBox:t},{sdfGlyphSize:i,sdfCanvas:r,contextLost:s},o){if(s)return Promise.resolve({timing:-1});const{textureWidth:a,sdfExponent:l}=Hu,c=Math.max(t[2]-t[0],t[3]-t[1]),u=Math.floor(e/4),h=u%(a/i)*i,d=Math.floor(u/(a/i))*i,p=e%4;return G7(i,i,n,t,c,l,r,h,d,p,o)}function eV(n){const e=n.sdfCanvas;e.addEventListener("webglcontextlost",t=>{console.log("Context Lost",t),t.preventDefault(),n.contextLost=!0}),e.addEventListener("webglcontextrestored",t=>{console.log("Context Restored",t),n.contextLost=!1;const i=[];n.glyphsByFont.forEach(r=>{r.forEach(s=>{i.push(O3(s,n,!0))})}),Promise.all(i).then(()=>{G3(n),n.sdfTexture.needsUpdate=!0})})}function tV({font:n,characters:e,sdfGlyphSize:t},i){let r=Array.isArray(e)?e.join(` +`):""+e;F3({font:n,sdfGlyphSize:t,text:r},i)}function nV(n,e){for(let t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}let ug;function iV(n){return ug||(ug=typeof document>"u"?{}:document.createElement("a")),ug.href=n,ug.href}function G3(n){if(typeof createImageBitmap!="function"){console.info("Safari<15: applying SDF canvas workaround");const{sdfCanvas:e,sdfTexture:t}=n,{width:i,height:r}=e,s=n.sdfCanvas.getContext("webgl");let o=t.image.data;(!o||o.length!==i*r*4)&&(o=new Uint8Array(i*r*4),t.image={width:i,height:r,data:o},t.flipY=!1,t.isDataTexture=!0),s.readPixels(0,0,i,r,s.RGBA,s.UNSIGNED_BYTE,o)}}const rV=$h({name:"Typesetter",dependencies:[Hu,Z7,O7,D7],init(n,e,t,i){const{defaultFontURL:r}=n;return t(e,i(),{defaultFontURL:r})}}),sV=$h({name:"Typesetter",dependencies:[rV],init(n){return function(e){return new Promise(t=>{n.typeset(e,t)})}},getTransferables(n){const e=[n.glyphPositions.buffer,n.glyphIds.buffer];return n.caretPositions&&e.push(n.caretPositions.buffer),n.glyphColors&&e.push(n.glyphColors.buffer),e}}),RM={};function oV(n){let e=RM[n];if(!e){const t=new Gs(1,1,n,n),i=t.clone(),r=t.attributes,s=i.attributes,o=new kt,a=r.uv.count;for(let l=0;l{o.setAttribute(l,new gt([...r[l].array,...s[l].array],r[l].itemSize))}),o.setIndex([...t.index.array,...i.index.array.map(l=>l+a)]),o.translate(.5,.5,0),e=RM[n]=o}return e}const aV="aTroikaGlyphBounds",TM="aTroikaGlyphIndex",lV="aTroikaGlyphColor";class cV extends bI{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 fi,this.boundingBox=new ai}computeBoundingSphere(){}computeBoundingBox(){}setSide(e){const t=this.getIndex().count;this.setDrawRange(e===Xi?t/2:0,e===hs?t:t/2)}set detail(e){if(e!==this._detail){this._detail=e,(typeof e!="number"||e<1)&&(e=1);let t=oV(e);["position","normal","uv"].forEach(i=>{this.attributes[i]=t.attributes[i].clone()}),this.setIndex(t.getIndex().clone())}}get detail(){return this._detail}set curveRadius(e){e!==this._curveRadius&&(this._curveRadius=e,this._updateBounds())}get curveRadius(){return this._curveRadius}updateGlyphs(e,t,i,r,s){qy(this,aV,e,4),qy(this,TM,t,1),qy(this,lV,s,3),this._blockBounds=i,this._chunkedBounds=r,this.instanceCount=t.length,this._updateBounds()}_updateBounds(){const e=this._blockBounds;if(e){const{curveRadius:t,boundingBox:i}=this;if(t){const{PI:r,floor:s,min:o,max:a,sin:l,cos:c}=Math,u=r/2,h=r*2,d=Math.abs(t),p=e[0]/d,m=e[2]/d,I=s((p+u)/h)!==s((m+u)/h)?-d:o(l(p)*d,l(m)*d),v=s((p-u)/h)!==s((m-u)/h)?d:a(l(p)*d,l(m)*d),g=s((p+r)/h)!==s((m+r)/h)?d*2:a(d-c(p)*d,d-c(m)*d);i.min.set(I,e[1],t<0?-g:0),i.max.set(v,e[3],t<0?0:g)}else i.min.set(e[0],e[1],0),i.max.set(e[2],e[3],0);i.getBoundingSphere(this.boundingSphere)}}applyClipRect(e){let t=this.getAttribute(TM).count,i=this._chunkedBounds;if(i)for(let r=i.length;r--;){t=i[r].end;let s=i[r].rect;if(s[1]e.y&&s[0]e.x)break}this.instanceCount=t}}function qy(n,e,t,i){const r=n.getAttribute(e);t?r&&r.array.length===t.length?(r.array.set(t),r.needsUpdate=!0):(n.setAttribute(e,new Sr(t,i)),delete n._maxInstanceCount,n.dispose()):r&&n.deleteAttribute(e)}const uV=` uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; uniform vec4 uTroikaTotalBounds; @@ -4142,7 +4142,7 @@ varying vec4 vTroikaTextureUVBounds; varying float vTroikaTextureChannel; varying vec3 vTroikaGlyphColor; varying vec2 vTroikaGlyphDimensions; -`,uV=` +`,AV=` vec4 bounds = aTroikaGlyphBounds; bounds.xz += uTroikaPositionOffset.x; bounds.yw -= uTroikaPositionOffset.y; @@ -4184,7 +4184,7 @@ vec2 txStartUV = txUvPerSquare * vec2( ); vTroikaTextureUVBounds = vec4(txStartUV, vec2(txStartUV) + txUvPerSquare); vTroikaTextureChannel = mod(aTroikaGlyphIndex, 4.0); -`,AV=` +`,fV=` uniform sampler2D uTroikaSDFTexture; uniform vec2 uTroikaSDFTextureSize; uniform float uTroikaSDFGlyphSize; @@ -4258,7 +4258,7 @@ float troikaGetEdgeAlpha(float distance, float distanceOffset, float aaDist) { return alpha; } -`,fV=` +`,hV=` float aaDist = troikaGetAADist(); float fragDistance = troikaGetFragDistValue(); float edgeAlpha = uTroikaSDFDebug ? @@ -4281,10 +4281,10 @@ gl_FragColor.a *= edgeAlpha; if (edgeAlpha == 0.0) { discard; } -`;function hV(n){const e=eC(n,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Te},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ln(0,0,0,0)},uTroikaClipRect:{value:new ln(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Te},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new st},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new Pt},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:cV,vertexTransform:uV,fragmentDefs:AV,fragmentColorTransform:fV,customRewriter({vertexShader:t,fragmentShader:i}){let r=/\buniform\s+vec3\s+diffuse\b/;return r.test(i)&&(i=i.replace(r,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),r.test(t)||(t=t.replace(U3,`uniform vec3 diffuse; +`;function dV(n){const e=eC(n,{chained:!0,extensions:{derivatives:!0},uniforms:{uTroikaSDFTexture:{value:null},uTroikaSDFTextureSize:{value:new Te},uTroikaSDFGlyphSize:{value:0},uTroikaSDFExponent:{value:0},uTroikaTotalBounds:{value:new ln(0,0,0,0)},uTroikaClipRect:{value:new ln(0,0,0,0)},uTroikaDistanceOffset:{value:0},uTroikaOutlineOpacity:{value:0},uTroikaFillOpacity:{value:1},uTroikaPositionOffset:{value:new Te},uTroikaCurveRadius:{value:0},uTroikaBlurRadius:{value:0},uTroikaStrokeWidth:{value:0},uTroikaStrokeColor:{value:new st},uTroikaStrokeOpacity:{value:1},uTroikaOrient:{value:new Pt},uTroikaUseGlyphColors:{value:!0},uTroikaSDFDebug:{value:!1}},vertexDefs:uV,vertexTransform:AV,fragmentDefs:fV,fragmentColorTransform:hV,customRewriter({vertexShader:t,fragmentShader:i}){let r=/\buniform\s+vec3\s+diffuse\b/;return r.test(i)&&(i=i.replace(r,"varying vec3 vTroikaGlyphColor").replace(/\bdiffuse\b/g,"vTroikaGlyphColor"),r.test(t)||(t=t.replace(N3,`uniform vec3 diffuse; $& vTroikaGlyphColor = uTroikaUseGlyphColors ? aTroikaGlyphColor / 255.0 : diffuse; -`))),{vertexShader:t,fragmentShader:i}}});return e.transparent=!0,Object.defineProperties(e,{isTroikaTextMaterial:{value:!0},shadowSide:{get(){return this.side},set(){}}}),e}const nB=new hr({color:16777215,side:hs,transparent:!0}),TM=8421504,DM=new _t,Ag=new K,Zy=new K,vf=[],dV=new K,$y="+x+y";function bM(n){return Array.isArray(n)?n[0]:n}let G3=()=>{const n=new rn(new Gs(1,1),nB);return G3=()=>n,n},H3=()=>{const n=new rn(new Gs(1,1,32,1),nB);return H3=()=>n,n};const pV={type:"syncstart"},gV={type:"synccomplete"},z3=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],mV=z3.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let V3=class extends rn{constructor(){const e=new lV;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,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=TM,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=$y,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(pV),k3({text:this.text,font:this.font,fontSize:this.fontSize||.1,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},t=>{this._isSyncing=!1,this._textRenderInfo=t,this.geometry.updateGlyphs(t.glyphBounds,t.glyphAtlasIndices,t.blockBounds,t.chunkedBounds,t.glyphColors);const i=this._queuedSyncs;i&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{i.forEach(r=>r&&r())})),this.dispatchEvent(gV),e&&e()})))}onBeforeRender(e,t,i,r,s,o){this.sync(),s.isTroikaTextMaterial&&this._prepareForRender(s),s._hadOwnSide=s.hasOwnProperty("side"),this.geometry.setSide(s._actualSide=s.side),s.side=Kr}onAfterRender(e,t,i,r,s,o){s._hadOwnSide?s.side=s._actualSide:delete s.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const t=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=nB.clone());if((!e||e.baseMaterial!==t)&&(e=this._derivedMaterial=hV(t),t.addEventListener("dispose",function i(){t.removeEventListener("dispose",i),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let i=e._outlineMtl;return i||(i=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),i.isTextOutlineMaterial=!0,i.depthWrite=!1,i.map=null,e.addEventListener("dispose",function r(){e.removeEventListener("dispose",r),i.dispose()})),[i,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return bM(this.material).getDepthMaterial()}get customDistanceMaterial(){return bM(this.material).getDistanceMaterial()}_prepareForRender(e){const t=e.isTextOutlineMaterial,i=e.uniforms,r=this.textRenderInfo;if(r){const{sdfTexture:a,blockBounds:l}=r;i.uTroikaSDFTexture.value=a,i.uTroikaSDFTextureSize.value.set(a.image.width,a.image.height),i.uTroikaSDFGlyphSize.value=r.sdfGlyphSize,i.uTroikaSDFExponent.value=r.sdfExponent,i.uTroikaTotalBounds.value.fromArray(l),i.uTroikaUseGlyphColors.value=!t&&!!r.glyphColors;let c=0,u=0,h=0,d,p,m,I=0,v=0;if(t){let{outlineWidth:y,outlineOffsetX:E,outlineOffsetY:x,outlineBlur:w,outlineOpacity:_}=this;c=this._parsePercent(y)||0,u=Math.max(0,this._parsePercent(w)||0),d=_,I=this._parsePercent(E)||0,v=this._parsePercent(x)||0}else h=Math.max(0,this._parsePercent(this.strokeWidth)||0),h&&(m=this.strokeColor,i.uTroikaStrokeColor.value.set(m??TM),p=this.strokeOpacity,p==null&&(p=1)),d=this.fillOpacity;i.uTroikaDistanceOffset.value=c,i.uTroikaPositionOffset.value.set(I,v),i.uTroikaBlurRadius.value=u,i.uTroikaStrokeWidth.value=h,i.uTroikaStrokeOpacity.value=p,i.uTroikaFillOpacity.value=d??1,i.uTroikaCurveRadius.value=this.curveRadius||0;let g=this.clipRect;if(g&&Array.isArray(g)&&g.length===4)i.uTroikaClipRect.value.fromArray(g);else{const y=(this.fontSize||.1)*100;i.uTroikaClipRect.value.set(l[0]-y,l[1]-y,l[2]+y,l[3]+y)}this.geometry.applyClipRect(i.uTroikaClipRect.value)}i.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const s=t?this.outlineColor||0:this.color;if(s==null)delete e.color;else{const a=e.hasOwnProperty("color")?e.color:e.color=new st;(s!==a._input||typeof s=="object")&&a.set(a._input=s)}let o=this.orientation||$y;if(o!==e._orientation){let a=i.uTroikaOrient.value;o=o.replace(/[^-+xyz]/g,"");let l=o!==$y&&o.match(/^([-+])([xyz])([-+])([xyz])$/);if(l){let[,c,u,h,d]=l;Ag.set(0,0,0)[u]=c==="-"?1:-1,Zy.set(0,0,0)[d]=h==="-"?-1:1,DM.lookAt(dV,Ag.cross(Zy),Zy),a.setFromMatrix4(DM)}else a.identity();e._orientation=o}}_parsePercent(e){if(typeof e=="string"){let t=e.match(/^(-?[\d.]+)%$/),i=t?parseFloat(t[1]):NaN;e=(isNaN(i)?0:i/100)*this.fontSize}return e}localPositionToTextCoords(e,t=new Te){t.copy(e);const i=this.curveRadius;return i&&(t.x=Math.atan2(e.x,Math.abs(i)-Math.abs(e.z))*Math.abs(i)),t}worldPositionToTextCoords(e,t=new Te){return Ag.copy(e),this.localPositionToTextCoords(this.worldToLocal(Ag),t)}raycast(e,t){const{textRenderInfo:i,curveRadius:r}=this;if(i){const s=i.blockBounds,o=r?H3():G3(),a=o.geometry,{position:l,uv:c}=a.attributes;for(let u=0;u{this[i]=e[i]}),this}clone(){return new this.constructor().copy(this)}};z3.forEach(n=>{const e="_private_"+n;Object.defineProperty(V3.prototype,n,{get(){return this[e]},set(t){t!==this[e]&&(this[e]=t,this._needsSync=!0)}})});const LM=te.forwardRef(({sdfGlyphSize:n=64,anchorX:e="center",anchorY:t="middle",font:i,fontSize:r=1,children:s,characters:o,onSync:a,...l},c)=>{const u=EA(({invalidate:m})=>m),[h]=te.useState(()=>new V3),[d,p]=te.useMemo(()=>{const m=[];let I="";return te.Children.forEach(s,v=>{typeof v=="string"||typeof v=="number"?I+=v:m.push(v)}),[m,I]},[s]);return hD(()=>new Promise(m=>eV({font:i,characters:o},m)),["troika-text",i,o]),te.useLayoutEffect(()=>void h.sync(()=>{u(),a&&a(h)})),te.useEffect(()=>()=>h.dispose(),[h]),te.createElement("primitive",Mh({object:h,ref:c,font:i,text:p,anchorX:e,anchorY:t,fontSize:r,sdfGlyphSize:n},l),d)}),cs=te.memo(({isPerf:n,color:e,colorBlind:t,customData:i,isMemory:r,isShadersInfo:s,metric:o,fontSize:a,offsetY:l=0,offsetX:c,round:u,hasInstance:h})=>{const{width:d,height:p}=EA(v=>v.viewport),m=te.useRef(null),I=te.useRef(null);return Kz("log",function([g,y]){var E;if(!g||!m.current||(i&&(m.current.text=(Math.round(gs().customData*Math.pow(10,u))/Math.pow(10,u)).toFixed(u)),!o))return;let x=g[o];if(s?x=(E=y.info.programs)==null?void 0:E.length:o==="matriceCount"?x=Wr.value:!n&&y.info.render&&(x=(r?y.info.memory:y.info.render)[o]),o==="fps"&&(m.current.color=gs().overclockingFps?Ji(t).overClock.toString():`rgb(${Ji(t).fps.toString()})`),m.current.text=(Math.round(x*Math.pow(10,u))/Math.pow(10,u)).toFixed(u),h){const w=y.info.instance;if(typeof w>"u"&&o!=="matriceCount")return;let _;o==="matriceCount"?_=Ou.value:_=w[o],_>0?(m.current.fontSize=a/1.15,I.current.fontSize=x>0?a/1.4:a,m.current.position.y=p/2-l-a/1.9,I.current.text=" ± "+(Math.round(_*Math.pow(10,u))/Math.pow(10,u)).toFixed(u)):(I.current.text&&(I.current.text=""),m.current.position.y=p/2-l-a,m.current.fontSize=a)}Wr.value-=1,m.current.updateMatrix(),m.current.matrixWorld.copy(m.current.matrix)}),$.jsxs(te.Suspense,{fallback:null,children:[$.jsxs(LM,{textAlign:"justify",matrixAutoUpdate:!1,ref:m,fontSize:a,position:[-d/2+c+a,p/2-l-a,0],color:e,characters:"0123456789",onUpdate:v=>{v.updateMatrix(),Wr.value-=1,v.matrixWorld.copy(v.matrix)},children:[$.jsx("meshBasicMaterial",{blending:Uo}),"0"]}),h&&$.jsx(LM,{textAlign:"justify",matrixAutoUpdate:!1,ref:I,fontSize:8,position:[-d/2+c+a,p/2-l-a*1.15,0],color:"lightgrey",characters:"0123456789",onUpdate:v=>{v.updateMatrix(),Wr.value-=1,v.matrixWorld.copy(v.matrix)},children:$.jsx("meshBasicMaterial",{blending:Uo})})]})}),vV=({colorBlind:n,customData:e,minimal:t,matrixUpdate:i})=>$.jsxs($.Fragment,{children:[$.jsx(cs,{colorBlind:n,color:`rgb(${Ji(n).fps.toString()})`,isPerf:!0,metric:"fps",fontSize:14,offsetX:140,round:0}),$.jsx(cs,{color:`rgb(${Ji(n).cpu.toString()})`,isPerf:!0,metric:"cpu",fontSize:14,offsetX:72,round:3}),$.jsx(cs,{color:`rgb(${Ji(n).gpu.toString()})`,isPerf:!0,metric:"gpu",fontSize:14,offsetX:10,round:3}),t?null:$.jsxs($.Fragment,{children:[$.jsx(cs,{metric:"calls",fontSize:14,offsetX:200,round:0,hasInstance:!0}),$.jsx(cs,{metric:"triangles",fontSize:14,offsetX:260,round:0,hasInstance:!0}),$.jsx(cs,{isMemory:!0,metric:"geometries",fontSize:14,offsetY:30,offsetX:0,round:0}),$.jsx(cs,{isMemory:!0,metric:"textures",fontSize:14,offsetY:30,offsetX:80,round:0}),$.jsx(cs,{isShadersInfo:!0,metric:"programs",fontSize:14,offsetY:30,offsetX:140,round:0}),$.jsx(cs,{metric:"lines",fontSize:14,offsetY:30,offsetX:200,round:0,hasInstance:!0}),$.jsx(cs,{metric:"points",fontSize:14,offsetY:30,offsetX:260,round:0,hasInstance:!0}),i&&$.jsx(cs,{isPerf:!0,metric:"matriceCount",fontSize:14,offsetY:30,offsetX:320,round:0,hasInstance:!0})]}),e&&$.jsx(cs,{color:`rgb(${Ji(n).custom.toString()})`,customData:e,fontSize:14,offsetY:0,offsetX:t?200:320,round:e.round||2})]}),yV=({colorBlind:n,minimal:e,chart:t={length:120,hz:60}})=>{const i=te.useMemo(()=>({fps:new Float32Array(t.length*3),cpu:new Float32Array(t.length*3),gpu:new Float32Array(t.length*3)}),[t]),r=te.useRef(null),s=te.useRef(null),o=te.useRef(null),a=te.useRef(null),l=te.useMemo(()=>new K(0,0,0),[]),c=(u,h=1,d,p)=>{let m=0;const{width:I,height:v}=p,g=gs().chart.data[u];if(!g||g.length===0)return;const y=e?2:6,E=e?12:50;let x=g.length;for(let w=0;wm&&(m=g[_]*h),l.set(y+w/(x-1)*(I-y*2)-I/2,Math.min(100,g[_])*h/100*(v-y*2-E)-v/2,0),l.toArray(d.attributes.position.array,w*3))}d.attributes.position.needsUpdate=!0};return o0(function({viewport:h}){c("fps",1,r.current,h),s.current&&s.current.color.set(gs().overclockingFps?Ji(n).overClock.toString():`rgb(${Ji(n).fps.toString()})`),c("gpu",5,o.current,h),c("cpu",5,a.current,h)}),$.jsxs($.Fragment,{children:[$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:r,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.fps,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{ref:s,color:`rgb(${Ji(n).fps.toString()})`,transparent:!0,opacity:.5})]}),$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:o,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.gpu,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{color:`rgb(${Ji(n).gpu.toString()})`,transparent:!0,opacity:.5})]}),$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:a,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.cpu,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{color:`rgb(${Ji(n).cpu.toString()})`,transparent:!0,opacity:.5})]})]})},EV=({colorBlind:n,chart:e,customData:t,matrixUpdate:i,showGraph:r=!0,antialias:s=!0,minimal:o})=>{const a=te.useRef(void 0),l=Is(c=>c.paused);return $.jsxs(b6,{style:{display:"flex",position:"absolute",height:`${o?37:r?100:60}px`,minWidth:`${o?"100px":t?"370px":"310px"}`},children:[$.jsx(LD,{ref:a,orthographic:!0,dpr:s?[1,2]:1,gl:{antialias:!0,alpha:!0,stencil:!1,depth:!1},onCreated:({scene:c})=>{c.traverse(u=>{u.matrixWorldAutoUpdate=!1,u.matrixAutoUpdate=!1})},flat:!0,style:{marginBottom:"-42px",position:"relative",pointerEvents:"none",background:"transparent !important",height:`${o?37:r?100:60}px`},children:l?null:$.jsxs($.Fragment,{children:[$.jsx(CV,{}),$.jsx(vV,{customData:t,minimal:o,matrixUpdate:i}),r&&$.jsx(yV,{colorBlind:n,minimal:o,chart:e})]})}),l&&$.jsxs(L6,{children:[$.jsx(p7,{})," PAUSED"]})]})},CV=()=>(o0(function({gl:e,scene:t,camera:i}){i.updateMatrix(),Wr.value-=1,i.matrixWorld.copy(i.matrix),i.matrixWorldInverse.copy(i.matrixWorld).invert(),e.render(t,i),Ou.value=0,Wr.value=0},1/0),null),IV=te.forwardRef(({portal:n,className:e,children:t,name:i,...r},s)=>{const o=EA(u=>u.gl),a=te.useRef(null),l=te.useRef(null),c=n?.current!=null?n.current:o.domElement.parentNode;return te.useLayoutEffect(()=>{if(!a.current||!c)return;const u=document.createElement("div"),h=l.current=jC(u);return c.appendChild(u),()=>{h.unmount(),l.current=null,c.removeChild(u)}},[c]),te.useLayoutEffect(()=>{const u=l.current;u&&u.render($.jsx("div",{ref:s,className:e,children:t}))}),$.jsx("group",{name:i,...r,ref:a})});function BV(n){let e=0;for(let i in n.attributes){const r=n.getAttribute(i);e+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}const t=n.getIndex();return e+=t?t.count*t.itemSize*t.array.BYTES_PER_ELEMENT:0,e}const PM=(n,e)=>{const t=r=>{switch(r){case 1e3:return"RepeatWrapping";case 1001:return"ClampToEdgeWrapping";case 1002:return"MirroredRepeatWrapping";default:return"ClampToEdgeWrapping"}},i=r=>{switch(r){case 3e3:return"LinearEncoding";case 3001:return"sRGBEncoding";case 3002:return"RGBEEncoding";case 3003:return"LogLuvEncoding";case 3004:return"RGBM7Encoding";case 3005:return"RGBM16Encoding";case 3006:return"RGBDEncoding";case 3007:return"GammaEncoding";default:return"ClampToEdgeWrapping"}};return{name:n,url:e.image.currentSrc,encoding:i(e.encoding),wrapT:t(e.wrapT),flipY:e.flipY.toString()}},xV=({program:n,material:e,setTexNumber:t})=>{const i=Is(o=>o.gl),[r,s]=te.useState(null);return te.useEffect(()=>{if(i){const o=n?.getUniforms();let a=0;const l=new Map;o.seq.forEach(c=>{if(!c.id.includes("uTroika")&&c.id!=="isOrthographic"&&c.id!=="uvTransform"&&c.id!=="lightProbe"&&c.id!=="projectionMatrix"&&c.id!=="viewMatrix"&&c.id!=="normalMatrix"&&c.id!=="modelMatrix"&&c.id!=="modelViewMatrix"){let u=[],h={name:c.id};c.cache&&(c.cache.forEach(d=>{typeof d<"u"&&u.push(d.toString().substring(0,4))}),h.value=u.join(),e[c.id]&&e[c.id].image&&e[c.id].image&&(a++,h.value=PM(c.id,e[c.id])),h.value||(h.value="empty"),l.set(c.id,h))}}),e.uniforms&&Object.keys(e.uniforms).forEach(c=>{const u=e.uniforms[c];if(u.value){const{value:h}=u;let d={name:c};if(c.includes("uTroika"))return;if(h.isTexture)a++,d.value=PM(c,h);else{let p=JSON.stringify(h);try{p=JSON.stringify(h)}catch{p=h.toString()}d.value=p}l.set(c,d)}}),a>0&&t(a),s(l)}},[]),$.jsx(M3,{children:r&&Array.from(r.values()).map(o=>$.jsx("span",{children:typeof o.value=="string"?$.jsx("li",{children:$.jsxs("span",{children:[o.name," :"," ",$.jsxs("b",{children:[o.value.substring(0,30),o.value.length>30?"...":""]})]})}):$.jsxs($.Fragment,{children:[$.jsx("li",{children:$.jsxs("b",{children:[o.value.name,":"]})}),$.jsxs("div",{children:[Object.keys(o.value).map(a=>a!=="name"?$.jsx("div",{children:a==="url"?$.jsx("a",{href:o.value[a],target:"_blank",children:$.jsx("img",{src:o.value[a]})}):$.jsxs("li",{children:[a,": ",$.jsx("b",{children:o.value[a]})]})},a):null),$.jsxs(Q3,{onClick:()=>{var a;console.info(e[o.value.name]||((a=e?.uniforms[o.value.name])==null?void 0:a.value))},children:["console.info(",o.value.name,");"]})]})]})},o.name))})},SV=({el:n})=>{Is(i=>i.log);const e=Is(i=>i.gl),t=i=>{if(!e)return 0;const r=Math.round(i.drawCounts.total/(e.info.render.triangles+e.info.render.lines+e.info.render.points)*100*10)/10;return isFinite(r)&&r||0};return $.jsx($.Fragment,{children:n.drawCounts.total>0&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[n.drawCounts.type==="Triangle"?$.jsx(b3,{style:{top:"-1px"}}):$.jsx(R3,{style:{top:"-1px"}}),n.drawCounts.total,$.jsxs("small",{children:[n.drawCounts.type,"s"]}),e&&$.jsxs(Br,{style:{bottom:"-10px",width:"40px",fontWeight:"bold"},children:[n.visible&&!n.material.wireframe?t(n):0,"%"]})]})})},wV=({el:n})=>{const[e,t]=te.useState(n.visible),[i,r]=te.useState(n.expand),[s,o]=te.useState(0),{meshes:a,program:l,material:c}=n;return $.jsxs(U6,{children:[$.jsxs(D6,{onClick:()=>{n.expand=!i,Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!1}),r(!i)},children:[$.jsx(tB,{style:{marginRight:"6px"},children:i?$.jsx("span",{children:$.jsx(T3,{})}):$.jsx("span",{children:$.jsx(D3,{})})}),l&&$.jsxs("span",{children:[$.jsx(N6,{children:l.name}),$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[$.jsx(a7,{style:{top:"-1px"}}),Object.keys(a).length,$.jsx("small",{children:Object.keys(a).length>1?"users":"user"})]}),s>0&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[s>1?$.jsx(q1,{style:{top:"-1px"}}):$.jsx(q1,{style:{top:"-1px"}}),s,$.jsx("small",{children:"tex"})]}),$.jsx(SV,{el:n}),c.glslVersion==="300 es"&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[$.jsx(m7,{style:{top:"-1px"}}),"300",$.jsx("small",{children:"es"}),$.jsx(Br,{style:{bottom:"-10px",width:"40px"},children:"glsl"})]})]}),$.jsx(P6,{onPointerEnter:()=>{Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!0})},onPointerLeave:()=>{Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!1})},onClick:u=>{u.stopPropagation(),Object.keys(a).forEach(h=>{const d=a[h],p=!e;d.visible=p,n.visible=p,t(p)})},children:e?$.jsx(n7,{}):$.jsx(e7,{})})]}),$.jsxs("div",{style:{maxHeight:i?"9999px":0,overflow:"hidden"},children:[$.jsxs(yM,{children:[$.jsx(Y6,{})," Uniforms:"]}),$.jsx(xV,{program:l,material:c,setTexNumber:o}),$.jsxs(yM,{children:[$.jsx(X6,{})," Geometries:"]}),$.jsx(M3,{children:a&&Object.keys(a).map(u=>a[u]&&a[u].geometry&&$.jsxs(G6,{children:[$.jsxs("span",{children:[a[u].geometry.type,": "]}),a[u].userData&&a[u].userData.drawCount&&$.jsxs("b",{children:[$.jsxs("div",{children:[a[u].userData.drawCount.count,$.jsxs("small",{children:[" ",a[u].userData.drawCount.type,"s"]})]}),$.jsx("br",{}),$.jsxs("div",{children:[Math.round(BV(a[u].geometry)/1024*1e3)/1e3,"Kb",$.jsx("small",{children:" memory used"})]})]})]},u))}),$.jsxs(Q3,{onClick:()=>{console.info(c)},children:["console.info(",c.type,")"]})]})]})},_V=()=>{Is(e=>e.triggerProgramsUpdate);const n=Is(e=>e.programs);return $.jsx(F6,{children:n&&Array.from(n.values()).map(e=>e&&e?$.jsx(wV,{el:e},e.material.uuid):null)})},Ji=n=>({overClock:"#ff6eff",fps:n?"100, 143, 255":"238,38,110",cpu:n?"254, 254, 98":"66,226,46",gpu:n?"254,254,254":"253,151,31",custom:n?"86,180,233":"40,255,255"}),MV=({showGraph:n,colorBlind:e})=>{const t=Is(r=>r.overclockingFps),i=Is(r=>r.fpsLimit);return $.jsxs(Br,{style:n?{color:t?Ji(e).overClock.toString():`rgb(${Ji(e).fps})`}:{},children:["FPS ",t?`${i}🚀`:""]})},QV=({showGraph:n,colorBlind:e,customData:t,minimal:i})=>{const r=Is(s=>s.gl);return r?$.jsxs(T6,{children:[$.jsxs(Wi,{children:[$.jsx(c7,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).gpu.toString()})`}:{},children:"GPU"}),$.jsx(Ky,{children:"ms"})]}),$.jsxs(Wi,{children:[$.jsx(y7,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).cpu.toString()})`}:{},children:"CPU"}),$.jsx(Ky,{children:"ms"})]}),$.jsxs(Wi,{children:[$.jsx(s7,{}),$.jsx(MV,{showGraph:n,colorBlind:e})]}),!i&&r&&$.jsxs(Wi,{children:[$.jsx(C7,{}),$.jsx(Br,{children:r.info.render.calls===1?"call":"calls"})]}),!i&&r&&$.jsxs(Wi,{children:[$.jsx(b3,{}),$.jsx(Br,{children:"Triangles"})]}),t&&$.jsxs(Wi,{children:[$.jsx(V6,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).custom})`}:{},children:t.name}),t.info&&$.jsx(Ky,{children:t.info})]})]}):null},RV=({showGraph:n,colorBlind:e,deepAnalyze:t,customData:i,matrixUpdate:r,openByDefault:s,minimal:o})=>$.jsxs($.Fragment,{children:[$.jsx(QV,{showGraph:n,colorBlind:e,customData:i,minimal:o}),!o&&$.jsx(DV,{matrixUpdate:r,openByDefault:s,deepAnalyze:t,showGraph:n})]}),TV=({matrixUpdate:n})=>$.jsxs("div",{children:[$.jsxs(Wi,{children:[$.jsx(A7,{}),$.jsx(Br,{children:"Geometries"})]}),$.jsxs(Wi,{children:[$.jsx(q1,{}),$.jsx(Br,{children:"Textures"})]}),$.jsxs(Wi,{children:[$.jsx(R3,{}),$.jsx(Br,{children:"shaders"})]}),$.jsxs(Wi,{children:[$.jsx(h7,{}),$.jsx(Br,{children:"Lines"})]}),$.jsxs(Wi,{children:[$.jsx(j6,{}),$.jsx(Br,{children:"Points"})]}),n&&$.jsxs(Wi,{children:[$.jsx(Z6,{}),$.jsx(Br,{children:"Matrices"})]})]}),UM=({tab:n,title:e,set:t})=>{const i=Is(r=>r.tab);return $.jsx(tB,{className:`${i===n?" __perf_toggle_tab_active":""}`,onClick:()=>{t(!0),Or({tab:n})},children:$.jsx("span",{children:e})})},DV=({openByDefault:n,showGraph:e,deepAnalyze:t,matrixUpdate:i})=>{const[r,s]=Fl.useState(n);return $.jsxs("span",{children:[$.jsx(bV,{show:r,showGraph:e,matrixUpdate:i}),n&&!t?null:$.jsxs(O6,{className:"__perf_toggle",children:[t&&$.jsx(UM,{tab:"programs",title:"Programs",set:s}),t&&$.jsx(UM,{tab:"infos",title:"Infos",set:s}),$.jsx(tB,{onClick:()=>{s(!r)},children:r?$.jsxs("span",{children:[$.jsx(T3,{})," Minimize"]}):$.jsxs("span",{children:[$.jsx(D3,{})," More"]})})]})]})},bV=({show:n,showGraph:e,matrixUpdate:t})=>{const i=Is(r=>r.tab);return $.jsxs($.Fragment,{children:[$.jsx(TV,{matrixUpdate:t}),n&&$.jsx("div",{children:$.jsx(k6,{style:{marginTop:e?"38px":0},children:i==="programs"&&$.jsx(_V,{})})})]})},LV=({showGraph:n=!0,colorBlind:e=!1,openByDefault:t=!0,className:i,overClock:r=!1,style:s,position:o="top-right",chart:a,logsPerSecond:l,deepAnalyze:c=!1,antialias:u=!0,customData:h,matrixUpdate:d,minimal:p})=>{const m=te.useRef(null);return $.jsxs($.Fragment,{children:[$.jsx(e6,{logsPerSecond:l,chart:a,overClock:r,deepAnalyze:c,matrixUpdate:d}),$.jsx(IV,{name:"r3f-perf",children:$.jsxs(R6,{className:(i?" ".concat(i):" ")+` ${o||""} ${p?"minimal":""}`,style:{minHeight:p?"37px":n?"100px":"60px",...s},ref:m,children:[$.jsx(EV,{perfContainerRef:m,colorBlind:e,chart:a,showGraph:n,antialias:u,customData:h,minimal:p,matrixUpdate:d}),$.jsx(RV,{colorBlind:e,showGraph:n,deepAnalyze:c,openByDefault:t,customData:h,matrixUpdate:d,minimal:p})]})})]})};EH("light");function PV(){return $.jsxs(LD,{flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},...tz,children:[$.jsx(LV,{}),$.jsx(cz,{backgroundColor:Un.background,children:$.jsx(fz,{children:$.jsx(oA,{scrollbarWidth:8,scrollbarOpacity:.1,scrollbarBorderRadius:4,children:$.jsx(UV,{})})})})]})}function UV(){return $.jsxs(Ti,{width:"100%",height:"100%",positionType:"relative",flexDirection:"row",alignItems:"center",children:[$.jsx(K1,{variant:"ghost",positionType:"absolute",positionRight:16,positionTop:16,md:{positionRight:32,positionTop:32},children:$.jsx(Ds,{children:"Login"})}),$.jsx(Ti,{positionType:"relative",flexGrow:1,flexBasis:0,maxWidth:0,overflow:"hidden",height:"100%",flexDirection:"column",dark:{borderRight:1},padding:0,lg:{padding:40,maxWidth:1e4},backgroundColor:1579035,children:$.jsxs(oA,{color:"white",children:[$.jsxs(Ti,{flexDirection:"row",alignItems:"center",children:[$.jsx(C3,{text:`{const n=new tn(new Gs(1,1),iB);return H3=()=>n,n},z3=()=>{const n=new tn(new Gs(1,1,32,1),iB);return z3=()=>n,n};const gV={type:"syncstart"},mV={type:"synccomplete"},V3=["font","fontSize","letterSpacing","lineHeight","maxWidth","overflowWrap","text","direction","textAlign","textIndent","whiteSpace","anchorX","anchorY","colorRanges","sdfGlyphSize"],vV=V3.concat("material","color","depthOffset","clipRect","curveRadius","orientation","glyphGeometryDetail");let W3=class extends tn{constructor(){const e=new cV;super(e,null),this.text="",this.anchorX=0,this.anchorY=0,this.curveRadius=0,this.direction="auto",this.font=null,this.fontSize=.1,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=DM,this.strokeOpacity=1,this.fillOpacity=1,this.depthOffset=0,this.clipRect=null,this.orientation=$y,this.glyphGeometryDetail=1,this.sdfGlyphSize=null,this.gpuAccelerateSDF=!0,this.debugSDF=!1}sync(e){this._needsSync&&(this._needsSync=!1,this._isSyncing?(this._queuedSyncs||(this._queuedSyncs=[])).push(e):(this._isSyncing=!0,this.dispatchEvent(gV),F3({text:this.text,font:this.font,fontSize:this.fontSize||.1,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},t=>{this._isSyncing=!1,this._textRenderInfo=t,this.geometry.updateGlyphs(t.glyphBounds,t.glyphAtlasIndices,t.blockBounds,t.chunkedBounds,t.glyphColors);const i=this._queuedSyncs;i&&(this._queuedSyncs=null,this._needsSync=!0,this.sync(()=>{i.forEach(r=>r&&r())})),this.dispatchEvent(mV),e&&e()})))}onBeforeRender(e,t,i,r,s,o){this.sync(),s.isTroikaTextMaterial&&this._prepareForRender(s),s._hadOwnSide=s.hasOwnProperty("side"),this.geometry.setSide(s._actualSide=s.side),s.side=Kr}onAfterRender(e,t,i,r,s,o){s._hadOwnSide?s.side=s._actualSide:delete s.side}dispose(){this.geometry.dispose()}get textRenderInfo(){return this._textRenderInfo||null}get material(){let e=this._derivedMaterial;const t=this._baseMaterial||this._defaultMaterial||(this._defaultMaterial=iB.clone());if((!e||e.baseMaterial!==t)&&(e=this._derivedMaterial=dV(t),t.addEventListener("dispose",function i(){t.removeEventListener("dispose",i),e.dispose()})),this.outlineWidth||this.outlineBlur||this.outlineOffsetX||this.outlineOffsetY){let i=e._outlineMtl;return i||(i=e._outlineMtl=Object.create(e,{id:{value:e.id+.1}}),i.isTextOutlineMaterial=!0,i.depthWrite=!1,i.map=null,e.addEventListener("dispose",function r(){e.removeEventListener("dispose",r),i.dispose()})),[i,e]}else return e}set material(e){e&&e.isTroikaTextMaterial?(this._derivedMaterial=e,this._baseMaterial=e.baseMaterial):this._baseMaterial=e}get glyphGeometryDetail(){return this.geometry.detail}set glyphGeometryDetail(e){this.geometry.detail=e}get curveRadius(){return this.geometry.curveRadius}set curveRadius(e){this.geometry.curveRadius=e}get customDepthMaterial(){return LM(this.material).getDepthMaterial()}get customDistanceMaterial(){return LM(this.material).getDistanceMaterial()}_prepareForRender(e){const t=e.isTextOutlineMaterial,i=e.uniforms,r=this.textRenderInfo;if(r){const{sdfTexture:a,blockBounds:l}=r;i.uTroikaSDFTexture.value=a,i.uTroikaSDFTextureSize.value.set(a.image.width,a.image.height),i.uTroikaSDFGlyphSize.value=r.sdfGlyphSize,i.uTroikaSDFExponent.value=r.sdfExponent,i.uTroikaTotalBounds.value.fromArray(l),i.uTroikaUseGlyphColors.value=!t&&!!r.glyphColors;let c=0,u=0,h=0,d,p,m,I=0,v=0;if(t){let{outlineWidth:y,outlineOffsetX:E,outlineOffsetY:x,outlineBlur:w,outlineOpacity:_}=this;c=this._parsePercent(y)||0,u=Math.max(0,this._parsePercent(w)||0),d=_,I=this._parsePercent(E)||0,v=this._parsePercent(x)||0}else h=Math.max(0,this._parsePercent(this.strokeWidth)||0),h&&(m=this.strokeColor,i.uTroikaStrokeColor.value.set(m??DM),p=this.strokeOpacity,p==null&&(p=1)),d=this.fillOpacity;i.uTroikaDistanceOffset.value=c,i.uTroikaPositionOffset.value.set(I,v),i.uTroikaBlurRadius.value=u,i.uTroikaStrokeWidth.value=h,i.uTroikaStrokeOpacity.value=p,i.uTroikaFillOpacity.value=d??1,i.uTroikaCurveRadius.value=this.curveRadius||0;let g=this.clipRect;if(g&&Array.isArray(g)&&g.length===4)i.uTroikaClipRect.value.fromArray(g);else{const y=(this.fontSize||.1)*100;i.uTroikaClipRect.value.set(l[0]-y,l[1]-y,l[2]+y,l[3]+y)}this.geometry.applyClipRect(i.uTroikaClipRect.value)}i.uTroikaSDFDebug.value=!!this.debugSDF,e.polygonOffset=!!this.depthOffset,e.polygonOffsetFactor=e.polygonOffsetUnits=this.depthOffset||0;const s=t?this.outlineColor||0:this.color;if(s==null)delete e.color;else{const a=e.hasOwnProperty("color")?e.color:e.color=new st;(s!==a._input||typeof s=="object")&&a.set(a._input=s)}let o=this.orientation||$y;if(o!==e._orientation){let a=i.uTroikaOrient.value;o=o.replace(/[^-+xyz]/g,"");let l=o!==$y&&o.match(/^([-+])([xyz])([-+])([xyz])$/);if(l){let[,c,u,h,d]=l;Ag.set(0,0,0)[u]=c==="-"?1:-1,Zy.set(0,0,0)[d]=h==="-"?-1:1,bM.lookAt(pV,Ag.cross(Zy),Zy),a.setFromMatrix4(bM)}else a.identity();e._orientation=o}}_parsePercent(e){if(typeof e=="string"){let t=e.match(/^(-?[\d.]+)%$/),i=t?parseFloat(t[1]):NaN;e=(isNaN(i)?0:i/100)*this.fontSize}return e}localPositionToTextCoords(e,t=new Te){t.copy(e);const i=this.curveRadius;return i&&(t.x=Math.atan2(e.x,Math.abs(i)-Math.abs(e.z))*Math.abs(i)),t}worldPositionToTextCoords(e,t=new Te){return Ag.copy(e),this.localPositionToTextCoords(this.worldToLocal(Ag),t)}raycast(e,t){const{textRenderInfo:i,curveRadius:r}=this;if(i){const s=i.blockBounds,o=r?z3():H3(),a=o.geometry,{position:l,uv:c}=a.attributes;for(let u=0;u{this[i]=e[i]}),this}clone(){return new this.constructor().copy(this)}};V3.forEach(n=>{const e="_private_"+n;Object.defineProperty(W3.prototype,n,{get(){return this[e]},set(t){t!==this[e]&&(this[e]=t,this._needsSync=!0)}})});const PM=te.forwardRef(({sdfGlyphSize:n=64,anchorX:e="center",anchorY:t="middle",font:i,fontSize:r=1,children:s,characters:o,onSync:a,...l},c)=>{const u=EA(({invalidate:m})=>m),[h]=te.useState(()=>new W3),[d,p]=te.useMemo(()=>{const m=[];let I="";return te.Children.forEach(s,v=>{typeof v=="string"||typeof v=="number"?I+=v:m.push(v)}),[m,I]},[s]);return dD(()=>new Promise(m=>tV({font:i,characters:o},m)),["troika-text",i,o]),te.useLayoutEffect(()=>void h.sync(()=>{u(),a&&a(h)})),te.useEffect(()=>()=>h.dispose(),[h]),te.createElement("primitive",Mh({object:h,ref:c,font:i,text:p,anchorX:e,anchorY:t,fontSize:r,sdfGlyphSize:n},l),d)}),cs=te.memo(({isPerf:n,color:e,colorBlind:t,customData:i,isMemory:r,isShadersInfo:s,metric:o,fontSize:a,offsetY:l=0,offsetX:c,round:u,hasInstance:h})=>{const{width:d,height:p}=EA(v=>v.viewport),m=te.useRef(null),I=te.useRef(null);return jz("log",function([g,y]){var E;if(!g||!m.current||(i&&(m.current.text=(Math.round(gs().customData*Math.pow(10,u))/Math.pow(10,u)).toFixed(u)),!o))return;let x=g[o];if(s?x=(E=y.info.programs)==null?void 0:E.length:o==="matriceCount"?x=Wr.value:!n&&y.info.render&&(x=(r?y.info.memory:y.info.render)[o]),o==="fps"&&(m.current.color=gs().overclockingFps?Ji(t).overClock.toString():`rgb(${Ji(t).fps.toString()})`),m.current.text=(Math.round(x*Math.pow(10,u))/Math.pow(10,u)).toFixed(u),h){const w=y.info.instance;if(typeof w>"u"&&o!=="matriceCount")return;let _;o==="matriceCount"?_=Ou.value:_=w[o],_>0?(m.current.fontSize=a/1.15,I.current.fontSize=x>0?a/1.4:a,m.current.position.y=p/2-l-a/1.9,I.current.text=" ± "+(Math.round(_*Math.pow(10,u))/Math.pow(10,u)).toFixed(u)):(I.current.text&&(I.current.text=""),m.current.position.y=p/2-l-a,m.current.fontSize=a)}Wr.value-=1,m.current.updateMatrix(),m.current.matrixWorld.copy(m.current.matrix)}),$.jsxs(te.Suspense,{fallback:null,children:[$.jsxs(PM,{textAlign:"justify",matrixAutoUpdate:!1,ref:m,fontSize:a,position:[-d/2+c+a,p/2-l-a,0],color:e,characters:"0123456789",onUpdate:v=>{v.updateMatrix(),Wr.value-=1,v.matrixWorld.copy(v.matrix)},children:[$.jsx("meshBasicMaterial",{blending:Uo}),"0"]}),h&&$.jsx(PM,{textAlign:"justify",matrixAutoUpdate:!1,ref:I,fontSize:8,position:[-d/2+c+a,p/2-l-a*1.15,0],color:"lightgrey",characters:"0123456789",onUpdate:v=>{v.updateMatrix(),Wr.value-=1,v.matrixWorld.copy(v.matrix)},children:$.jsx("meshBasicMaterial",{blending:Uo})})]})}),yV=({colorBlind:n,customData:e,minimal:t,matrixUpdate:i})=>$.jsxs($.Fragment,{children:[$.jsx(cs,{colorBlind:n,color:`rgb(${Ji(n).fps.toString()})`,isPerf:!0,metric:"fps",fontSize:14,offsetX:140,round:0}),$.jsx(cs,{color:`rgb(${Ji(n).cpu.toString()})`,isPerf:!0,metric:"cpu",fontSize:14,offsetX:72,round:3}),$.jsx(cs,{color:`rgb(${Ji(n).gpu.toString()})`,isPerf:!0,metric:"gpu",fontSize:14,offsetX:10,round:3}),t?null:$.jsxs($.Fragment,{children:[$.jsx(cs,{metric:"calls",fontSize:14,offsetX:200,round:0,hasInstance:!0}),$.jsx(cs,{metric:"triangles",fontSize:14,offsetX:260,round:0,hasInstance:!0}),$.jsx(cs,{isMemory:!0,metric:"geometries",fontSize:14,offsetY:30,offsetX:0,round:0}),$.jsx(cs,{isMemory:!0,metric:"textures",fontSize:14,offsetY:30,offsetX:80,round:0}),$.jsx(cs,{isShadersInfo:!0,metric:"programs",fontSize:14,offsetY:30,offsetX:140,round:0}),$.jsx(cs,{metric:"lines",fontSize:14,offsetY:30,offsetX:200,round:0,hasInstance:!0}),$.jsx(cs,{metric:"points",fontSize:14,offsetY:30,offsetX:260,round:0,hasInstance:!0}),i&&$.jsx(cs,{isPerf:!0,metric:"matriceCount",fontSize:14,offsetY:30,offsetX:320,round:0,hasInstance:!0})]}),e&&$.jsx(cs,{color:`rgb(${Ji(n).custom.toString()})`,customData:e,fontSize:14,offsetY:0,offsetX:t?200:320,round:e.round||2})]}),EV=({colorBlind:n,minimal:e,chart:t={length:120,hz:60}})=>{const i=te.useMemo(()=>({fps:new Float32Array(t.length*3),cpu:new Float32Array(t.length*3),gpu:new Float32Array(t.length*3)}),[t]),r=te.useRef(null),s=te.useRef(null),o=te.useRef(null),a=te.useRef(null),l=te.useMemo(()=>new K(0,0,0),[]),c=(u,h=1,d,p)=>{let m=0;const{width:I,height:v}=p,g=gs().chart.data[u];if(!g||g.length===0)return;const y=e?2:6,E=e?12:50;let x=g.length;for(let w=0;wm&&(m=g[_]*h),l.set(y+w/(x-1)*(I-y*2)-I/2,Math.min(100,g[_])*h/100*(v-y*2-E)-v/2,0),l.toArray(d.attributes.position.array,w*3))}d.attributes.position.needsUpdate=!0};return o0(function({viewport:h}){c("fps",1,r.current,h),s.current&&s.current.color.set(gs().overclockingFps?Ji(n).overClock.toString():`rgb(${Ji(n).fps.toString()})`),c("gpu",5,o.current,h),c("cpu",5,a.current,h)}),$.jsxs($.Fragment,{children:[$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:r,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.fps,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{ref:s,color:`rgb(${Ji(n).fps.toString()})`,transparent:!0,opacity:.5})]}),$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:o,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.gpu,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{color:`rgb(${Ji(n).gpu.toString()})`,transparent:!0,opacity:.5})]}),$.jsxs("line",{onUpdate:u=>{u.updateMatrix(),Wr.value-=1,u.matrixWorld.copy(u.matrix)},children:[$.jsx("bufferGeometry",{ref:a,children:$.jsx("bufferAttribute",{attach:"attributes-position",count:t.length,array:i.cpu,itemSize:3,usage:Ps,needsUpdate:!0})}),$.jsx("lineBasicMaterial",{color:`rgb(${Ji(n).cpu.toString()})`,transparent:!0,opacity:.5})]})]})},CV=({colorBlind:n,chart:e,customData:t,matrixUpdate:i,showGraph:r=!0,antialias:s=!0,minimal:o})=>{const a=te.useRef(void 0),l=Is(c=>c.paused);return $.jsxs(L6,{style:{display:"flex",position:"absolute",height:`${o?37:r?100:60}px`,minWidth:`${o?"100px":t?"370px":"310px"}`},children:[$.jsx(PD,{ref:a,orthographic:!0,dpr:s?[1,2]:1,gl:{antialias:!0,alpha:!0,stencil:!1,depth:!1},onCreated:({scene:c})=>{c.traverse(u=>{u.matrixWorldAutoUpdate=!1,u.matrixAutoUpdate=!1})},flat:!0,style:{marginBottom:"-42px",position:"relative",pointerEvents:"none",background:"transparent !important",height:`${o?37:r?100:60}px`},children:l?null:$.jsxs($.Fragment,{children:[$.jsx(IV,{}),$.jsx(yV,{customData:t,minimal:o,matrixUpdate:i}),r&&$.jsx(EV,{colorBlind:n,minimal:o,chart:e})]})}),l&&$.jsxs(P6,{children:[$.jsx(g7,{})," PAUSED"]})]})},IV=()=>(o0(function({gl:e,scene:t,camera:i}){i.updateMatrix(),Wr.value-=1,i.matrixWorld.copy(i.matrix),i.matrixWorldInverse.copy(i.matrixWorld).invert(),e.render(t,i),Ou.value=0,Wr.value=0},1/0),null),BV=te.forwardRef(({portal:n,className:e,children:t,name:i,...r},s)=>{const o=EA(u=>u.gl),a=te.useRef(null),l=te.useRef(null),c=n?.current!=null?n.current:o.domElement.parentNode;return te.useLayoutEffect(()=>{if(!a.current||!c)return;const u=document.createElement("div"),h=l.current=jC(u);return c.appendChild(u),()=>{h.unmount(),l.current=null,c.removeChild(u)}},[c]),te.useLayoutEffect(()=>{const u=l.current;u&&u.render($.jsx("div",{ref:s,className:e,children:t}))}),$.jsx("group",{name:i,...r,ref:a})});function xV(n){let e=0;for(let i in n.attributes){const r=n.getAttribute(i);e+=r.count*r.itemSize*r.array.BYTES_PER_ELEMENT}const t=n.getIndex();return e+=t?t.count*t.itemSize*t.array.BYTES_PER_ELEMENT:0,e}const UM=(n,e)=>{const t=r=>{switch(r){case 1e3:return"RepeatWrapping";case 1001:return"ClampToEdgeWrapping";case 1002:return"MirroredRepeatWrapping";default:return"ClampToEdgeWrapping"}},i=r=>{switch(r){case 3e3:return"LinearEncoding";case 3001:return"sRGBEncoding";case 3002:return"RGBEEncoding";case 3003:return"LogLuvEncoding";case 3004:return"RGBM7Encoding";case 3005:return"RGBM16Encoding";case 3006:return"RGBDEncoding";case 3007:return"GammaEncoding";default:return"ClampToEdgeWrapping"}};return{name:n,url:e.image.currentSrc,encoding:i(e.encoding),wrapT:t(e.wrapT),flipY:e.flipY.toString()}},SV=({program:n,material:e,setTexNumber:t})=>{const i=Is(o=>o.gl),[r,s]=te.useState(null);return te.useEffect(()=>{if(i){const o=n?.getUniforms();let a=0;const l=new Map;o.seq.forEach(c=>{if(!c.id.includes("uTroika")&&c.id!=="isOrthographic"&&c.id!=="uvTransform"&&c.id!=="lightProbe"&&c.id!=="projectionMatrix"&&c.id!=="viewMatrix"&&c.id!=="normalMatrix"&&c.id!=="modelMatrix"&&c.id!=="modelViewMatrix"){let u=[],h={name:c.id};c.cache&&(c.cache.forEach(d=>{typeof d<"u"&&u.push(d.toString().substring(0,4))}),h.value=u.join(),e[c.id]&&e[c.id].image&&e[c.id].image&&(a++,h.value=UM(c.id,e[c.id])),h.value||(h.value="empty"),l.set(c.id,h))}}),e.uniforms&&Object.keys(e.uniforms).forEach(c=>{const u=e.uniforms[c];if(u.value){const{value:h}=u;let d={name:c};if(c.includes("uTroika"))return;if(h.isTexture)a++,d.value=UM(c,h);else{let p=JSON.stringify(h);try{p=JSON.stringify(h)}catch{p=h.toString()}d.value=p}l.set(c,d)}}),a>0&&t(a),s(l)}},[]),$.jsx(Q3,{children:r&&Array.from(r.values()).map(o=>$.jsx("span",{children:typeof o.value=="string"?$.jsx("li",{children:$.jsxs("span",{children:[o.name," :"," ",$.jsxs("b",{children:[o.value.substring(0,30),o.value.length>30?"...":""]})]})}):$.jsxs($.Fragment,{children:[$.jsx("li",{children:$.jsxs("b",{children:[o.value.name,":"]})}),$.jsxs("div",{children:[Object.keys(o.value).map(a=>a!=="name"?$.jsx("div",{children:a==="url"?$.jsx("a",{href:o.value[a],target:"_blank",children:$.jsx("img",{src:o.value[a]})}):$.jsxs("li",{children:[a,": ",$.jsx("b",{children:o.value[a]})]})},a):null),$.jsxs(R3,{onClick:()=>{var a;console.info(e[o.value.name]||((a=e?.uniforms[o.value.name])==null?void 0:a.value))},children:["console.info(",o.value.name,");"]})]})]})},o.name))})},wV=({el:n})=>{Is(i=>i.log);const e=Is(i=>i.gl),t=i=>{if(!e)return 0;const r=Math.round(i.drawCounts.total/(e.info.render.triangles+e.info.render.lines+e.info.render.points)*100*10)/10;return isFinite(r)&&r||0};return $.jsx($.Fragment,{children:n.drawCounts.total>0&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[n.drawCounts.type==="Triangle"?$.jsx(L3,{style:{top:"-1px"}}):$.jsx(T3,{style:{top:"-1px"}}),n.drawCounts.total,$.jsxs("small",{children:[n.drawCounts.type,"s"]}),e&&$.jsxs(Br,{style:{bottom:"-10px",width:"40px",fontWeight:"bold"},children:[n.visible&&!n.material.wireframe?t(n):0,"%"]})]})})},_V=({el:n})=>{const[e,t]=te.useState(n.visible),[i,r]=te.useState(n.expand),[s,o]=te.useState(0),{meshes:a,program:l,material:c}=n;return $.jsxs(N6,{children:[$.jsxs(b6,{onClick:()=>{n.expand=!i,Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!1}),r(!i)},children:[$.jsx(nB,{style:{marginRight:"6px"},children:i?$.jsx("span",{children:$.jsx(D3,{})}):$.jsx("span",{children:$.jsx(b3,{})})}),l&&$.jsxs("span",{children:[$.jsx(k6,{children:l.name}),$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[$.jsx(l7,{style:{top:"-1px"}}),Object.keys(a).length,$.jsx("small",{children:Object.keys(a).length>1?"users":"user"})]}),s>0&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[s>1?$.jsx(q1,{style:{top:"-1px"}}):$.jsx(q1,{style:{top:"-1px"}}),s,$.jsx("small",{children:"tex"})]}),$.jsx(wV,{el:n}),c.glslVersion==="300 es"&&$.jsxs(Wi,{style:{height:"auto",width:"auto",margin:"0 4px"},children:[$.jsx(v7,{style:{top:"-1px"}}),"300",$.jsx("small",{children:"es"}),$.jsx(Br,{style:{bottom:"-10px",width:"40px"},children:"glsl"})]})]}),$.jsx(U6,{onPointerEnter:()=>{Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!0})},onPointerLeave:()=>{Object.keys(a).forEach(u=>{const h=a[u];h.material.wireframe=!1})},onClick:u=>{u.stopPropagation(),Object.keys(a).forEach(h=>{const d=a[h],p=!e;d.visible=p,n.visible=p,t(p)})},children:e?$.jsx(i7,{}):$.jsx(t7,{})})]}),$.jsxs("div",{style:{maxHeight:i?"9999px":0,overflow:"hidden"},children:[$.jsxs(EM,{children:[$.jsx(J6,{})," Uniforms:"]}),$.jsx(SV,{program:l,material:c,setTexNumber:o}),$.jsxs(EM,{children:[$.jsx(K6,{})," Geometries:"]}),$.jsx(Q3,{children:a&&Object.keys(a).map(u=>a[u]&&a[u].geometry&&$.jsxs(H6,{children:[$.jsxs("span",{children:[a[u].geometry.type,": "]}),a[u].userData&&a[u].userData.drawCount&&$.jsxs("b",{children:[$.jsxs("div",{children:[a[u].userData.drawCount.count,$.jsxs("small",{children:[" ",a[u].userData.drawCount.type,"s"]})]}),$.jsx("br",{}),$.jsxs("div",{children:[Math.round(xV(a[u].geometry)/1024*1e3)/1e3,"Kb",$.jsx("small",{children:" memory used"})]})]})]},u))}),$.jsxs(R3,{onClick:()=>{console.info(c)},children:["console.info(",c.type,")"]})]})]})},MV=()=>{Is(e=>e.triggerProgramsUpdate);const n=Is(e=>e.programs);return $.jsx(O6,{children:n&&Array.from(n.values()).map(e=>e&&e?$.jsx(_V,{el:e},e.material.uuid):null)})},Ji=n=>({overClock:"#ff6eff",fps:n?"100, 143, 255":"238,38,110",cpu:n?"254, 254, 98":"66,226,46",gpu:n?"254,254,254":"253,151,31",custom:n?"86,180,233":"40,255,255"}),QV=({showGraph:n,colorBlind:e})=>{const t=Is(r=>r.overclockingFps),i=Is(r=>r.fpsLimit);return $.jsxs(Br,{style:n?{color:t?Ji(e).overClock.toString():`rgb(${Ji(e).fps})`}:{},children:["FPS ",t?`${i}🚀`:""]})},RV=({showGraph:n,colorBlind:e,customData:t,minimal:i})=>{const r=Is(s=>s.gl);return r?$.jsxs(D6,{children:[$.jsxs(Wi,{children:[$.jsx(u7,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).gpu.toString()})`}:{},children:"GPU"}),$.jsx(Ky,{children:"ms"})]}),$.jsxs(Wi,{children:[$.jsx(E7,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).cpu.toString()})`}:{},children:"CPU"}),$.jsx(Ky,{children:"ms"})]}),$.jsxs(Wi,{children:[$.jsx(o7,{}),$.jsx(QV,{showGraph:n,colorBlind:e})]}),!i&&r&&$.jsxs(Wi,{children:[$.jsx(I7,{}),$.jsx(Br,{children:r.info.render.calls===1?"call":"calls"})]}),!i&&r&&$.jsxs(Wi,{children:[$.jsx(L3,{}),$.jsx(Br,{children:"Triangles"})]}),t&&$.jsxs(Wi,{children:[$.jsx(W6,{}),$.jsx(Br,{style:n?{color:`rgb(${Ji(e).custom})`}:{},children:t.name}),t.info&&$.jsx(Ky,{children:t.info})]})]}):null},TV=({showGraph:n,colorBlind:e,deepAnalyze:t,customData:i,matrixUpdate:r,openByDefault:s,minimal:o})=>$.jsxs($.Fragment,{children:[$.jsx(RV,{showGraph:n,colorBlind:e,customData:i,minimal:o}),!o&&$.jsx(bV,{matrixUpdate:r,openByDefault:s,deepAnalyze:t,showGraph:n})]}),DV=({matrixUpdate:n})=>$.jsxs("div",{children:[$.jsxs(Wi,{children:[$.jsx(f7,{}),$.jsx(Br,{children:"Geometries"})]}),$.jsxs(Wi,{children:[$.jsx(q1,{}),$.jsx(Br,{children:"Textures"})]}),$.jsxs(Wi,{children:[$.jsx(T3,{}),$.jsx(Br,{children:"shaders"})]}),$.jsxs(Wi,{children:[$.jsx(d7,{}),$.jsx(Br,{children:"Lines"})]}),$.jsxs(Wi,{children:[$.jsx(q6,{}),$.jsx(Br,{children:"Points"})]}),n&&$.jsxs(Wi,{children:[$.jsx($6,{}),$.jsx(Br,{children:"Matrices"})]})]}),NM=({tab:n,title:e,set:t})=>{const i=Is(r=>r.tab);return $.jsx(nB,{className:`${i===n?" __perf_toggle_tab_active":""}`,onClick:()=>{t(!0),Or({tab:n})},children:$.jsx("span",{children:e})})},bV=({openByDefault:n,showGraph:e,deepAnalyze:t,matrixUpdate:i})=>{const[r,s]=Fl.useState(n);return $.jsxs("span",{children:[$.jsx(LV,{show:r,showGraph:e,matrixUpdate:i}),n&&!t?null:$.jsxs(G6,{className:"__perf_toggle",children:[t&&$.jsx(NM,{tab:"programs",title:"Programs",set:s}),t&&$.jsx(NM,{tab:"infos",title:"Infos",set:s}),$.jsx(nB,{onClick:()=>{s(!r)},children:r?$.jsxs("span",{children:[$.jsx(D3,{})," Minimize"]}):$.jsxs("span",{children:[$.jsx(b3,{})," More"]})})]})]})},LV=({show:n,showGraph:e,matrixUpdate:t})=>{const i=Is(r=>r.tab);return $.jsxs($.Fragment,{children:[$.jsx(DV,{matrixUpdate:t}),n&&$.jsx("div",{children:$.jsx(F6,{style:{marginTop:e?"38px":0},children:i==="programs"&&$.jsx(MV,{})})})]})},PV=({showGraph:n=!0,colorBlind:e=!1,openByDefault:t=!0,className:i,overClock:r=!1,style:s,position:o="top-right",chart:a,logsPerSecond:l,deepAnalyze:c=!1,antialias:u=!0,customData:h,matrixUpdate:d,minimal:p})=>{const m=te.useRef(null);return $.jsxs($.Fragment,{children:[$.jsx(t6,{logsPerSecond:l,chart:a,overClock:r,deepAnalyze:c,matrixUpdate:d}),$.jsx(BV,{name:"r3f-perf",children:$.jsxs(T6,{className:(i?" ".concat(i):" ")+` ${o||""} ${p?"minimal":""}`,style:{minHeight:p?"37px":n?"100px":"60px",...s},ref:m,children:[$.jsx(CV,{perfContainerRef:m,colorBlind:e,chart:a,showGraph:n,antialias:u,customData:h,minimal:p,matrixUpdate:d}),$.jsx(TV,{colorBlind:e,showGraph:n,deepAnalyze:c,openByDefault:t,customData:h,matrixUpdate:d,minimal:p})]})})]})};CH("light");function UV(){return $.jsxs(PD,{flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},...nz,children:[$.jsx(PV,{}),$.jsx(uz,{backgroundColor:Un.background,children:$.jsx(hz,{children:$.jsx(oA,{scrollbarWidth:8,scrollbarOpacity:.1,scrollbarBorderRadius:4,children:$.jsx(NV,{})})})})]})}function NV(){return $.jsxs(Ti,{width:"100%",height:"100%",positionType:"relative",flexDirection:"row",alignItems:"center",children:[$.jsx(K1,{variant:"ghost",positionType:"absolute",positionRight:16,positionTop:16,md:{positionRight:32,positionTop:32},children:$.jsx(Ds,{children:"Login"})}),$.jsx(Ti,{positionType:"relative",flexGrow:1,flexBasis:0,maxWidth:0,overflow:"hidden",height:"100%",flexDirection:"column",dark:{borderRight:1},padding:0,lg:{padding:40,maxWidth:1e4},backgroundColor:1579035,children:$.jsxs(oA,{color:"white",children:[$.jsxs(Ti,{flexDirection:"row",alignItems:"center",children:[$.jsx(I3,{text:` - `,svgHeight:24,svgWidth:24,width:24,height:24,marginRight:8}),$.jsx(Ds,{fontSize:18,lineHeight:1.5555,fontWeight:"medium",children:"Acme Inc"})]}),$.jsx(Ti,{flexDirection:"column",marginTop:"auto",children:$.jsxs(Ti,{flexDirection:"column",gap:8,children:[$.jsx(Ds,{fontSize:18,lineHeight:1.555,children:'"Culpa eiusmod ut ipsum sunt velit labore minim eu. Occaecat magna mollit aliqua cupidatat."'}),$.jsx(Ds,{fontSize:14,lineHeight:1.43,children:"Max Mustermann"})]})})]})}),$.jsx(Ti,{flexDirection:"column",flexBasis:0,flexGrow:1,padding:16,lg:{padding:32},children:$.jsxs(Ti,{flexDirection:"column",marginX:"auto",width:"100%",justifyContent:"center",gap:24,sm:{width:350},children:[$.jsx(Ti,{alignItems:"center",flexDirection:"column",gap:8,children:$.jsxs(oA,{horizontalAlign:"center",children:[$.jsx(Ds,{fontSize:24,lineHeight:1.3333,fontWeight:"semi-bold",letterSpacing:-.4,children:"Create an account"}),$.jsx(Ds,{fontSize:14,lineHeight:1.43,color:Un.mutedForeground,children:"Enter your email below to create your account"})]})}),$.jsx(gz,{}),$.jsx(Ds,{paddingX:32,horizontalAlign:"center",fontSize:14,lineHeight:1.43,color:Un.mutedForeground,children:"By clicking continue, you agree to our Terms of Service and Privacy Policy."})]})})]})}jC(document.getElementById("root")).render($.jsx(te.StrictMode,{children:$.jsx(PV,{})})); + `,svgHeight:24,svgWidth:24,width:24,height:24,marginRight:8}),$.jsx(Ds,{fontSize:18,lineHeight:1.5555,fontWeight:"medium",children:"Acme Inc"})]}),$.jsx(Ti,{flexDirection:"column",marginTop:"auto",children:$.jsxs(Ti,{flexDirection:"column",gap:8,children:[$.jsx(Ds,{fontSize:18,lineHeight:1.555,children:'"Culpa eiusmod ut ipsum sunt velit labore minim eu. Occaecat magna mollit aliqua cupidatat."'}),$.jsx(Ds,{fontSize:14,lineHeight:1.43,children:"Max Mustermann"})]})})]})}),$.jsx(Ti,{flexDirection:"column",flexBasis:0,flexGrow:1,padding:16,lg:{padding:32},children:$.jsxs(Ti,{flexDirection:"column",marginX:"auto",width:"100%",justifyContent:"center",gap:24,sm:{width:350},children:[$.jsx(Ti,{alignItems:"center",flexDirection:"column",gap:8,children:$.jsxs(oA,{horizontalAlign:"center",children:[$.jsx(Ds,{fontSize:24,lineHeight:1.3333,fontWeight:"semi-bold",letterSpacing:-.4,children:"Create an account"}),$.jsx(Ds,{fontSize:14,lineHeight:1.43,color:Un.mutedForeground,children:"Enter your email below to create your account"})]})}),$.jsx(mz,{}),$.jsx(Ds,{paddingX:32,horizontalAlign:"center",fontSize:14,lineHeight:1.43,color:Un.mutedForeground,children:"By clicking continue, you agree to our Terms of Service and Privacy Policy."})]})})]})}jC(document.getElementById("root")).render($.jsx(te.StrictMode,{children:$.jsx(UV,{})})); diff --git a/examples/auth/index.html b/examples/auth/index.html index e752229f..f0d1557a 100644 --- a/examples/auth/index.html +++ b/examples/auth/index.html @@ -5,7 +5,7 @@ Document - +
diff --git a/examples/card/assets/index-dcKsY8JK.js b/examples/card/assets/index-dcKsY8JK.js new file mode 100644 index 00000000..522c1fe4 --- /dev/null +++ b/examples/card/assets/index-dcKsY8JK.js @@ -0,0 +1,4269 @@ +(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 mh(g){return g&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")?g.default:g}var QK={exports:{}},Lh={},eK={exports:{}},ng={};/** + * @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 Rr=Symbol.for("react.element"),a2=Symbol.for("react.portal"),r2=Symbol.for("react.fragment"),l2=Symbol.for("react.strict_mode"),c2=Symbol.for("react.profiler"),D2=Symbol.for("react.provider"),h2=Symbol.for("react.context"),w2=Symbol.for("react.forward_ref"),S2=Symbol.for("react.suspense"),G2=Symbol.for("react.memo"),y2=Symbol.for("react.lazy"),qU=Symbol.iterator;function u2(g){return g===null||typeof g!="object"?null:(g=qU&&g[qU]||g["@@iterator"],typeof g=="function"?g:null)}var EK={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},tK=Object.assign,oK={};function Qs(g,A,I){this.props=g,this.context=A,this.refs=oK,this.updater=I||EK}Qs.prototype.isReactComponent={};Qs.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")};Qs.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function nK(){}nK.prototype=Qs.prototype;function sk(g,A,I){this.props=g,this.context=A,this.refs=oK,this.updater=I||EK}var ak=sk.prototype=new nK;ak.constructor=sk;tK(ak,Qs.prototype);ak.isPureReactComponent=!0;var mU=Array.isArray,sK=Object.prototype.hasOwnProperty,rk={current:null},aK={key:!0,ref:!0,__self:!0,__source:!0};function rK(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)sK.call(A,C)&&!aK.hasOwnProperty(C)&&(B[C]=A[C]);var e=arguments.length-2;if(e===1)B.children=I;else if(1>>1,fA=b[DA];if(0>>1;DAB(v,gA))xB(H,v)?(b[DA]=H,b[x]=gA,DA=x):(b[DA]=v,b[W]=gA,DA=W);else if(xB(H,gA))b[DA]=H,b[x]=gA,DA=x;else break A}}return CA}function B(b,CA){var gA=b.sortIndex-CA.sortIndex;return gA!==0?gA:b.id-CA.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 E=[],t=[],n=1,a=null,r=3,l=!1,D=!1,G=!1,h=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(b){for(var CA=I(t);CA!==null;){if(CA.callback===null)C(t);else if(CA.startTime<=b)C(t),CA.sortIndex=CA.expirationTime,A(E,CA);else break;CA=I(t)}}function k(b){if(G=!1,S(b),!D)if(I(E)!==null)D=!0,oA(N);else{var CA=I(t);CA!==null&&GA(k,CA.startTime-b)}}function N(b,CA){D=!1,G&&(G=!1,c(q),q=-1),l=!0;var gA=r;try{for(S(CA),a=I(E);a!==null&&(!(a.expirationTime>CA)||b&&!K());){var DA=a.callback;if(typeof DA=="function"){a.callback=null,r=a.priorityLevel;var fA=DA(a.expirationTime<=CA);CA=g.unstable_now(),typeof fA=="function"?a.callback=fA:a===I(E)&&C(E),S(CA)}else C(E);a=I(E)}if(a!==null)var VA=!0;else{var W=I(t);W!==null&&GA(k,W.startTime-CA),VA=!1}return VA}finally{a=null,r=gA,l=!1}}var p=!1,f=null,q=-1,_=5,U=-1;function K(){return!(g.unstable_now()-U<_)}function z(){if(f!==null){var b=g.unstable_now();U=b;var CA=!0;try{CA=f(!0,b)}finally{CA?cA():(p=!1,f=null)}}else p=!1}var cA;if(typeof y=="function")cA=function(){y(z)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,sA=X.port2;X.port1.onmessage=z,cA=function(){sA.postMessage(null)}}else cA=function(){h(z,0)};function oA(b){f=b,p||(p=!0,cA())}function GA(b,CA){q=h(function(){b(g.unstable_now())},CA)}g.unstable_IdlePriority=5,g.unstable_ImmediatePriority=1,g.unstable_LowPriority=4,g.unstable_NormalPriority=3,g.unstable_Profiling=null,g.unstable_UserBlockingPriority=2,g.unstable_cancelCallback=function(b){b.callback=null},g.unstable_continueExecution=function(){D||l||(D=!0,oA(N))},g.unstable_forceFrameRate=function(b){0>b||125DA?(b.sortIndex=gA,A(t,b),I(E)===null&&b===I(t)&&(G?(c(q),q=-1):G=!0,GA(k,gA-DA))):(b.sortIndex=fA,A(E,b),D||l||(D=!0,oA(N))),b},g.unstable_shouldYield=K,g.unstable_wrapCallback=function(b){var CA=r;return function(){var gA=r;r=CA;try{return b.apply(this,arguments)}finally{r=gA}}}})(hK);DK.exports=hK;var J2=DK.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 wK=j,ii=J2;function CI(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"),ou=Object.prototype.hasOwnProperty,q2=/^[: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]*$/,YU={},HU={};function m2(g){return ou.call(HU,g)?!0:ou.call(YU,g)?!1:q2.test(g)?HU[g]=!0:(YU[g]=!0,!1)}function L2(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 Y2(g,A,I,C){if(A===null||typeof A>"u"||L2(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 RB(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 BB={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(g){BB[g]=new RB(g,0,!1,g,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(g){var A=g[0];BB[A]=new RB(A,1,!1,g[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(g){BB[g]=new RB(g,2,!1,g.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(g){BB[g]=new RB(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){BB[g]=new RB(g,3,!1,g.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(g){BB[g]=new RB(g,3,!0,g,null,!1,!1)});["capture","download"].forEach(function(g){BB[g]=new RB(g,4,!1,g,null,!1,!1)});["cols","rows","size","span"].forEach(function(g){BB[g]=new RB(g,6,!1,g,null,!1,!1)});["rowSpan","start"].forEach(function(g){BB[g]=new RB(g,5,!1,g.toLowerCase(),null,!1,!1)});var ck=/[\-:]([a-z])/g;function Dk(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(ck,Dk);BB[A]=new RB(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(ck,Dk);BB[A]=new RB(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(ck,Dk);BB[A]=new RB(A,1,!1,g,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(g){BB[g]=new RB(g,1,!1,g.toLowerCase(),null,!1,!1)});BB.xlinkHref=new RB("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(g){BB[g]=new RB(g,1,!1,g.toLowerCase(),null,!0,!0)});function hk(g,A,I,C){var B=BB.hasOwnProperty(A)?BB[A]:null;(B!==null?B.type!==0:C||!(2e||B[Q]!==i[e]){var E=` +`+B[Q].replace(" at new "," at ");return g.displayName&&E.includes("")&&(E=E.replace("",g.displayName)),E}while(1<=Q&&0<=e);break}}}finally{hG=!1,Error.prepareStackTrace=I}return(g=g?g.displayName||g.name:"")?ca(g):""}function H2(g){switch(g.tag){case 5:return ca(g.type);case 16:return ca("Lazy");case 13:return ca("Suspense");case 19:return ca("SuspenseList");case 0:case 2:case 15:return g=wG(g.type,!1),g;case 11:return g=wG(g.type.render,!1),g;case 1:return g=wG(g.type,!0),g;default:return""}}function ru(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 an:return"Fragment";case sn:return"Portal";case nu:return"Profiler";case wk:return"StrictMode";case su:return"Suspense";case au:return"SuspenseList"}if(typeof g=="object")switch(g.$$typeof){case yK:return(g.displayName||"Context")+".Consumer";case GK:return(g._context.displayName||"Context")+".Provider";case Sk:var A=g.render;return g=g.displayName,g||(g=A.displayName||A.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Gk:return A=g.displayName||null,A!==null?A:ru(g.type)||"Memo";case gE:A=g._payload,g=g._init;try{return ru(g(A))}catch{}}return null}function T2(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 ru(A);case 8:return A===wk?"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 NE(g){switch(typeof g){case"boolean":case"number":case"string":case"undefined":return g;case"object":return g;default:return""}}function kK(g){var A=g.type;return(g=g.nodeName)&&g.toLowerCase()==="input"&&(A==="checkbox"||A==="radio")}function x2(g){var A=kK(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 Xl(g){g._valueTracker||(g._valueTracker=x2(g))}function dK(g){if(!g)return!1;var A=g._valueTracker;if(!A)return!0;var I=A.getValue(),C="";return g&&(C=kK(g)?g.checked?"true":"false":g.value),g=C,g!==I?(A.setValue(g),!0):!1}function _D(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 lu(g,A){var I=A.checked;return IC({},A,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:I??g._wrapperState.initialChecked})}function xU(g,A){var I=A.defaultValue==null?"":A.defaultValue,C=A.checked!=null?A.checked:A.defaultChecked;I=NE(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 MK(g,A){A=A.checked,A!=null&&hk(g,"checked",A,!1)}function cu(g,A){MK(g,A);var I=NE(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")?Du(g,A.type,I):A.hasOwnProperty("defaultValue")&&Du(g,A.type,NE(A.defaultValue)),A.checked==null&&A.defaultChecked!=null&&(g.defaultChecked=!!A.defaultChecked)}function vU(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 Du(g,A,I){(A!=="number"||_D(g.ownerDocument)!==g)&&(I==null?g.defaultValue=""+g._wrapperState.initialValue:g.defaultValue!==""+I&&(g.defaultValue=""+I))}var Da=Array.isArray;function Nn(g,A,I,C){if(g=g.options,A){A={};for(var B=0;B"+A.valueOf().toString()+"",A=zl.firstChild;g.firstChild;)g.removeChild(g.firstChild);for(;A.firstChild;)g.appendChild(A.firstChild)}});function _a(g,A){if(A){var I=g.firstChild;if(I&&I===g.lastChild&&I.nodeType===3){I.nodeValue=A;return}}g.textContent=A}var pa={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},v2=["Webkit","ms","Moz","O"];Object.keys(pa).forEach(function(g){v2.forEach(function(A){A=A+g.charAt(0).toUpperCase()+g.substring(1),pa[A]=pa[g]})});function fK(g,A,I){return A==null||typeof A=="boolean"||A===""?"":I||typeof A!="number"||A===0||pa.hasOwnProperty(g)&&pa[g]?(""+A).trim():A+"px"}function FK(g,A){g=g.style;for(var I in A)if(A.hasOwnProperty(I)){var C=I.indexOf("--")===0,B=fK(I,A[I],C);I==="float"&&(I="cssFloat"),C?g.setProperty(I,B):g[I]=B}}var b2=IC({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 Su(g,A){if(A){if(b2[g]&&(A.children!=null||A.dangerouslySetInnerHTML!=null))throw Error(CI(137,g));if(A.dangerouslySetInnerHTML!=null){if(A.children!=null)throw Error(CI(60));if(typeof A.dangerouslySetInnerHTML!="object"||!("__html"in A.dangerouslySetInnerHTML))throw Error(CI(61))}if(A.style!=null&&typeof A.style!="object")throw Error(CI(62))}}function Gu(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 yu=null;function yk(g){return g=g.target||g.srcElement||window,g.correspondingUseElement&&(g=g.correspondingUseElement),g.nodeType===3?g.parentNode:g}var uu=null,fn=null,Fn=null;function _U(g){if(g=qr(g)){if(typeof uu!="function")throw Error(CI(280));var A=g.stateNode;A&&(A=vh(A),uu(g.stateNode,g.type,A))}}function RK(g){fn?Fn?Fn.push(g):Fn=[g]:fn=g}function KK(){if(fn){var g=fn,A=Fn;if(Fn=fn=null,_U(g),A)for(g=0;g>>=0,g===0?32:31-(AT(g)/IT|0)|0}var $l=64,Ac=4194304;function ha(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 jD(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=ha(e):(i&=Q,i!==0&&(C=ha(i)))}else Q=I&~B,Q!==0?C=ha(Q):i!==0&&(C=ha(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 Kr(g,A,I){g.pendingLanes|=A,A!==536870912&&(g.suspendedLanes=0,g.pingedLanes=0),g=g.eventTimes,A=31-$i(A),g[A]=I}function iT(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=Na),AN=" ",IN=!1;function $K(g,A){switch(g){case"keyup":return KT.indexOf(A.keyCode)!==-1;case"keydown":return A.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AJ(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var rn=!1;function qT(g,A){switch(g){case"compositionend":return AJ(A);case"keypress":return A.which!==32?null:(IN=!0,AN);case"textInput":return g=A.data,g===AN&&IN?null:g;default:return null}}function mT(g,A){if(rn)return g==="compositionend"||!fk&&$K(g,A)?(g=XK(),MD=pk=tE=null,rn=!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=iN(I)}}function BJ(g,A){return g&&A?g===A?!0:g&&g.nodeType===3?!1:A&&A.nodeType===3?BJ(g,A.parentNode):"contains"in g?g.contains(A):g.compareDocumentPosition?!!(g.compareDocumentPosition(A)&16):!1:!1}function iJ(){for(var g=window,A=_D();A instanceof g.HTMLIFrameElement;){try{var I=typeof A.contentWindow.location.href=="string"}catch{I=!1}if(I)g=A.contentWindow;else break;A=_D(g.document)}return A}function Fk(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 _T(g){var A=iJ(),I=g.focusedElem,C=g.selectionRange;if(A!==I&&I&&I.ownerDocument&&BJ(I.ownerDocument.documentElement,I)){if(C!==null&&Fk(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=QN(I,i);var Q=QN(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,ln=null,Nu=null,Fa=null,fu=!1;function eN(g,A,I){var C=I.window===I?I.document:I.nodeType===9?I:I.ownerDocument;fu||ln==null||ln!==_D(C)||(C=ln,"selectionStart"in C&&Fk(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}),Fa&&Xa(Fa,C)||(Fa=C,C=zD(Nu,"onSelect"),0hn||(g.current=mu[hn],mu[hn]=null,hn--)}function Yg(g,A){hn++,mu[hn]=g.current,g.current=A}var fE={},SB=YE(fE),TB=YE(!1),Ot=fE;function vn(g,A){var I=g.type.contextTypes;if(!I)return fE;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 xB(g){return g=g.childContextTypes,g!=null}function Ah(){Og(TB),Og(SB)}function rN(g,A,I){if(SB.current!==fE)throw Error(CI(168));Yg(SB,A),Yg(TB,I)}function rJ(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(CI(108,T2(g)||"Unknown",B));return IC({},I,C)}function Ih(g){return g=(g=g.stateNode)&&g.__reactInternalMemoizedMergedChildContext||fE,Ot=SB.current,Yg(SB,g),Yg(TB,TB.current),!0}function lN(g,A,I){var C=g.stateNode;if(!C)throw Error(CI(169));I?(g=rJ(g,A,Ot),C.__reactInternalMemoizedMergedChildContext=g,Og(TB),Og(SB),Yg(SB,g)):Og(TB),Yg(TB,I)}var VQ=null,bh=!1,KG=!1;function lJ(g){VQ===null?VQ=[g]:VQ.push(g)}function Cx(g){bh=!0,lJ(g)}function HE(){if(!KG&&VQ!==null){KG=!0;var g=0,A=Rg;try{var I=VQ;for(Rg=1;g>=Q,B-=Q,zQ=1<<32-$i(A)+B|I<q?(_=f,f=null):_=f.sibling;var U=r(c,f,S[q],k);if(U===null){f===null&&(f=_);break}g&&f&&U.alternate===null&&A(c,f),y=i(U,y,q),p===null?N=U:p.sibling=U,p=U,f=_}if(q===S.length)return I(c,f),Wg&&Gt(c,q),N;if(f===null){for(;qq?(_=f,f=null):_=f.sibling;var K=r(c,f,U.value,k);if(K===null){f===null&&(f=_);break}g&&f&&K.alternate===null&&A(c,f),y=i(K,y,q),p===null?N=K:p.sibling=K,p=K,f=_}if(U.done)return I(c,f),Wg&&Gt(c,q),N;if(f===null){for(;!U.done;q++,U=S.next())U=a(c,U.value,k),U!==null&&(y=i(U,y,q),p===null?N=U:p.sibling=U,p=U);return Wg&&Gt(c,q),N}for(f=C(c,f);!U.done;q++,U=S.next())U=l(f,c,q,U.value,k),U!==null&&(g&&U.alternate!==null&&f.delete(U.key===null?q:U.key),y=i(U,y,q),p===null?N=U:p.sibling=U,p=U);return g&&f.forEach(function(z){return A(c,z)}),Wg&&Gt(c,q),N}function h(c,y,S,k){if(typeof S=="object"&&S!==null&&S.type===an&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case Vl:A:{for(var N=S.key,p=y;p!==null;){if(p.key===N){if(N=S.type,N===an){if(p.tag===7){I(c,p.sibling),y=B(p,S.props.children),y.return=c,c=y;break A}}else if(p.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===gE&&yN(N)===p.type){I(c,p.sibling),y=B(p,S.props),y.ref=_s(c,p,S),y.return=c,c=y;break A}I(c,p);break}else A(c,p);p=p.sibling}S.type===an?(y=mt(S.props.children,c.mode,k,S.key),y.return=c,c=y):(k=JD(S.type,S.key,S.props,null,c.mode,k),k.ref=_s(c,y,S),k.return=c,c=k)}return Q(c);case sn:A:{for(p=S.key;y!==null;){if(y.key===p)if(y.tag===4&&y.stateNode.containerInfo===S.containerInfo&&y.stateNode.implementation===S.implementation){I(c,y.sibling),y=B(y,S.children||[]),y.return=c,c=y;break A}else{I(c,y);break}else A(c,y);y=y.sibling}y=xG(S,c.mode,k),y.return=c,c=y}return Q(c);case gE:return p=S._init,h(c,y,p(S._payload),k)}if(Da(S))return D(c,y,S,k);if(Ts(S))return G(c,y,S,k);ec(c,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,y!==null&&y.tag===6?(I(c,y.sibling),y=B(y,S),y.return=c,c=y):(I(c,y),y=TG(S,c.mode,k),y.return=c,c=y),Q(c)):I(c,y)}return h}var On=uJ(!0),kJ=uJ(!1),mr={},kQ=YE(mr),Ir=YE(mr),gr=YE(mr);function Ut(g){if(g===mr)throw Error(CI(174));return g}function Tk(g,A){switch(Yg(gr,A),Yg(Ir,g),Yg(kQ,mr),g=A.nodeType,g){case 9:case 11:A=(A=A.documentElement)?A.namespaceURI:wu(null,"");break;default:g=g===8?A.parentNode:A,A=g.namespaceURI||null,g=g.tagName,A=wu(A,g)}Og(kQ),Yg(kQ,A)}function _n(){Og(kQ),Og(Ir),Og(gr)}function dJ(g){Ut(gr.current);var A=Ut(kQ.current),I=wu(A,g.type);A!==I&&(Yg(Ir,g),Yg(kQ,I))}function xk(g){Ir.current===g&&(Og(kQ),Og(Ir))}var zg=YE(0);function eh(g){for(var A=g;A!==null;){if(A.tag===13){var I=A.memoizedState;if(I!==null&&(I=I.dehydrated,I===null||I.data==="$?"||I.data==="$!"))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===g)break;for(;A.sibling===null;){if(A.return===null||A.return===g)return null;A=A.return}A.sibling.return=A.return,A=A.sibling}return null}var JG=[];function vk(){for(var g=0;gI?I:4,g(!0);var C=qG.transition;qG.transition={};try{g(!1),A()}finally{Rg=I,qG.transition=C}}function xJ(){return Ki().memoizedState}function ex(g,A,I){var C=wE(g);if(I={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null},vJ(g))bJ(A,I);else if(I=wJ(g,A,I,C),I!==null){var B=NB();AQ(I,g,C,B),OJ(I,A,C)}}function Ex(g,A,I){var C=wE(g),B={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null};if(vJ(g))bJ(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,gQ(e,Q)){var E=A.interleaved;E===null?(B.next=B,Yk(A)):(B.next=E.next,E.next=B),A.interleaved=B;return}}catch{}finally{}I=wJ(g,A,B,C),I!==null&&(B=NB(),AQ(I,g,C,B),OJ(I,A,C))}}function vJ(g){var A=g.alternate;return g===AC||A!==null&&A===AC}function bJ(g,A){Ra=Eh=!0;var I=g.pending;I===null?A.next=A:(A.next=I.next,I.next=A),g.pending=A}function OJ(g,A,I){if(I&4194240){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,kk(g,I)}}var th={readContext:Ri,useCallback:sB,useContext:sB,useEffect:sB,useImperativeHandle:sB,useInsertionEffect:sB,useLayoutEffect:sB,useMemo:sB,useReducer:sB,useRef:sB,useState:sB,useDebugValue:sB,useDeferredValue:sB,useTransition:sB,useMutableSource:sB,useSyncExternalStore:sB,useId:sB,unstable_isNewReconciler:!1},tx={readContext:Ri,useCallback:function(g,A){return cQ().memoizedState=[g,A===void 0?null:A],g},useContext:Ri,useEffect:kN,useImperativeHandle:function(g,A,I){return I=I!=null?I.concat([g]):null,fD(4194308,4,mJ.bind(null,A,g),I)},useLayoutEffect:function(g,A){return fD(4194308,4,g,A)},useInsertionEffect:function(g,A){return fD(4,2,g,A)},useMemo:function(g,A){var I=cQ();return A=A===void 0?null:A,g=g(),I.memoizedState=[g,A],g},useReducer:function(g,A,I){var C=cQ();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=ex.bind(null,AC,g),[C.memoizedState,g]},useRef:function(g){var A=cQ();return g={current:g},A.memoizedState=g},useState:uN,useDebugValue:Pk,useDeferredValue:function(g){return cQ().memoizedState=g},useTransition:function(){var g=uN(!1),A=g[0];return g=Qx.bind(null,g[1]),cQ().memoizedState=g,[A,g]},useMutableSource:function(){},useSyncExternalStore:function(g,A,I){var C=AC,B=cQ();if(Wg){if(I===void 0)throw Error(CI(407));I=I()}else{if(I=A(),ZC===null)throw Error(CI(349));Zt&30||UJ(C,A,I)}B.memoizedState=I;var i={value:I,getSnapshot:A};return B.queue=i,kN(fJ.bind(null,C,i,g),[g]),C.flags|=2048,ir(9,NJ.bind(null,C,i,I,A),void 0,null),I},useId:function(){var g=cQ(),A=ZC.identifierPrefix;if(Wg){var I=$Q,C=zQ;I=(C&~(1<<32-$i(C)-1)).toString(32)+I,A=":"+A+"R"+I,I=Cr++,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[GQ]=A,g[Ar]=C,$J(g,A,!1,!1),A.stateNode=g;A:{switch(Q=Gu(I,C),I){case"dialog":Hg("cancel",g),Hg("close",g),B=C;break;case"iframe":case"object":case"embed":Hg("load",g),B=C;break;case"video":case"audio":for(B=0;BPn&&(A.flags|=128,C=!0,Zs(i,!1),A.lanes=4194304)}else{if(!C)if(g=eh(Q),g!==null){if(A.flags|=128,C=!0,I=g.updateQueue,I!==null&&(A.updateQueue=I,A.flags|=4),Zs(i,!0),i.tail===null&&i.tailMode==="hidden"&&!Q.alternate&&!Wg)return aB(A),null}else 2*rC()-i.renderingStartTime>Pn&&I!==1073741824&&(A.flags|=128,C=!0,Zs(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=rC(),A.sibling=null,I=zg.current,Yg(zg,C?I&1|2:I&1),A):(aB(A),null);case 22:case 23:return $k(),C=A.memoizedState!==null,g!==null&&g.memoizedState!==null!==C&&(A.flags|=8192),C&&A.mode&1?zB&1073741824&&(aB(A),A.subtreeFlags&6&&(A.flags|=8192)):aB(A),null;case 24:return null;case 25:return null}throw Error(CI(156,A.tag))}function Dx(g,A){switch(Kk(A),A.tag){case 1:return xB(A.type)&&Ah(),g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 3:return _n(),Og(TB),Og(SB),vk(),g=A.flags,g&65536&&!(g&128)?(A.flags=g&-65537|128,A):null;case 5:return xk(A),null;case 13:if(Og(zg),g=A.memoizedState,g!==null&&g.dehydrated!==null){if(A.alternate===null)throw Error(CI(340));bn()}return g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 19:return Og(zg),null;case 4:return _n(),null;case 10:return Lk(A.type._context),null;case 22:case 23:return $k(),null;case 24:return null;default:return null}}var tc=!1,DB=!1,hx=typeof WeakSet=="function"?WeakSet:Set,uI=null;function yn(g,A){var I=g.ref;if(I!==null)if(typeof I=="function")try{I(null)}catch(C){QC(g,A,C)}else I.current=null}function Wu(g,A,I){try{I()}catch(C){QC(g,A,C)}}var KN=!1;function wx(g,A){if(Fu=VD,g=iJ(),Fk(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,E=-1,t=0,n=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||(E=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&&++t===B&&(e=Q),r===i&&++n===C&&(E=Q),(l=a.nextSibling)!==null)break;a=r,r=a.parentNode}a=l}I=e===-1||E===-1?null:{start:e,end:E}}else I=null}I=I||{start:0,end:0}}else I=null;for(Ru={focusedElem:g,selectionRange:I},VD=!1,uI=A;uI!==null;)if(A=uI,g=A.child,(A.subtreeFlags&1028)!==0&&g!==null)g.return=A,uI=g;else for(;uI!==null;){A=uI;try{var D=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(D!==null){var G=D.memoizedProps,h=D.memoizedState,c=A.stateNode,y=c.getSnapshotBeforeUpdate(A.elementType===A.type?G:Zi(A.type,G),h);c.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var S=A.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(CI(163))}}catch(k){QC(A,A.return,k)}if(g=A.sibling,g!==null){g.return=A.return,uI=g;break}uI=A.return}return D=KN,KN=!1,D}function Ka(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&&Wu(A,I,i)}B=B.next}while(B!==C)}}function Zh(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 ju(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 gq(g){var A=g.alternate;A!==null&&(g.alternate=null,gq(A)),g.child=null,g.deletions=null,g.sibling=null,g.tag===5&&(A=g.stateNode,A!==null&&(delete A[GQ],delete A[Ar],delete A[qu],delete A[Ix],delete A[gx])),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 Cq(g){return g.tag===5||g.tag===3||g.tag===4}function JN(g){A:for(;;){for(;g.sibling===null;){if(g.return===null||Cq(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 Vu(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=$D));else if(C!==4&&(g=g.child,g!==null))for(Vu(g,A,I),g=g.sibling;g!==null;)Vu(g,A,I),g=g.sibling}function Xu(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(Xu(g,A,I),g=g.sibling;g!==null;)Xu(g,A,I),g=g.sibling}var zC=null,Wi=!1;function be(g,A,I){for(I=I.child;I!==null;)Bq(g,A,I),I=I.sibling}function Bq(g,A,I){if(uQ&&typeof uQ.onCommitFiberUnmount=="function")try{uQ.onCommitFiberUnmount(Yh,I)}catch{}switch(I.tag){case 5:DB||yn(I,A);case 6:var C=zC,B=Wi;zC=null,be(g,A,I),zC=C,Wi=B,zC!==null&&(Wi?(g=zC,I=I.stateNode,g.nodeType===8?g.parentNode.removeChild(I):g.removeChild(I)):zC.removeChild(I.stateNode));break;case 18:zC!==null&&(Wi?(g=zC,I=I.stateNode,g.nodeType===8?RG(g.parentNode,I):g.nodeType===1&&RG(g,I),ja(g)):RG(zC,I.stateNode));break;case 4:C=zC,B=Wi,zC=I.stateNode.containerInfo,Wi=!0,be(g,A,I),zC=C,Wi=B;break;case 0:case 11:case 14:case 15:if(!DB&&(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)&&Wu(I,A,Q),B=B.next}while(B!==C)}be(g,A,I);break;case 1:if(!DB&&(yn(I,A),C=I.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=I.memoizedProps,C.state=I.memoizedState,C.componentWillUnmount()}catch(e){QC(I,A,e)}be(g,A,I);break;case 21:be(g,A,I);break;case 22:I.mode&1?(DB=(C=DB)||I.memoizedState!==null,be(g,A,I),DB=C):be(g,A,I);break;default:be(g,A,I)}}function qN(g){var A=g.updateQueue;if(A!==null){g.updateQueue=null;var I=g.stateNode;I===null&&(I=g.stateNode=new hx),A.forEach(function(C){var B=Ux.bind(null,g,C);I.has(C)||(I.add(C),C.then(B,B))})}}function Ti(g,A){var I=A.deletions;if(I!==null)for(var C=0;CB&&(B=Q),C&=~i}if(C=B,C=rC()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*Gx(C/1960))-C,10g?16:g,oE===null)var C=!1;else{if(g=oE,oE=null,sh=0,Gg&6)throw Error(CI(331));var B=Gg;for(Gg|=4,uI=g.current;uI!==null;){var i=uI,Q=i.child;if(uI.flags&16){var e=i.deletions;if(e!==null){for(var E=0;ErC()-Xk?qt(g,0):Vk|=I),vB(g,A)}function sq(g,A){A===0&&(g.mode&1?(A=Ac,Ac<<=1,!(Ac&130023424)&&(Ac=4194304)):A=1);var I=NB();g=Ee(g,A),g!==null&&(Kr(g,A,I),vB(g,I))}function px(g){var A=g.memoizedState,I=0;A!==null&&(I=A.retryLane),sq(g,I)}function Ux(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(CI(314))}C!==null&&C.delete(A),sq(g,I)}var aq;aq=function(g,A,I){if(g!==null)if(g.memoizedProps!==A.pendingProps||TB.current)HB=!0;else{if(!(g.lanes&I)&&!(A.flags&128))return HB=!1,lx(g,A,I);HB=!!(g.flags&131072)}else HB=!1,Wg&&A.flags&1048576&&cJ(A,Ch,A.index);switch(A.lanes=0,A.tag){case 2:var C=A.type;FD(g,A),g=A.pendingProps;var B=vn(A,SB.current);Kn(A,I),B=Ok(null,A,C,g,B,I);var i=_k();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,xB(C)?(i=!0,Ih(A)):i=!1,A.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,Hk(A),B.updater=Oh,A.stateNode=B,B._reactInternals=A,xu(A,C,g,I),A=Ou(null,A,C,!0,i,I)):(A.tag=0,Wg&&i&&Rk(A),pB(null,A,B,I),A=A.child),A;case 16:C=A.elementType;A:{switch(FD(g,A),g=A.pendingProps,B=C._init,C=B(C._payload),A.type=C,B=A.tag=fx(C),g=Zi(C,g),B){case 0:A=bu(null,A,C,g,I);break A;case 1:A=fN(null,A,C,g,I);break A;case 11:A=UN(null,A,C,g,I);break A;case 14:A=NN(null,A,C,Zi(C.type,g),I);break A}throw Error(CI(306,C,""))}return A;case 0:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),bu(g,A,C,B,I);case 1:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),fN(g,A,C,B,I);case 3:A:{if(VJ(A),g===null)throw Error(CI(387));C=A.pendingProps,i=A.memoizedState,B=i.element,SJ(g,A),Qh(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=Zn(Error(CI(423)),A),A=FN(g,A,C,I,B);break A}else if(C!==B){B=Zn(Error(CI(424)),A),A=FN(g,A,C,I,B);break A}else for(Ai=cE(A.stateNode.containerInfo.firstChild),Ci=A,Wg=!0,Vi=null,I=kJ(A,null,C,I),A.child=I;I;)I.flags=I.flags&-3|4096,I=I.sibling;else{if(bn(),C===B){A=te(g,A,I);break A}pB(g,A,C,I)}A=A.child}return A;case 5:return dJ(A),g===null&&Yu(A),C=A.type,B=A.pendingProps,i=g!==null?g.memoizedProps:null,Q=B.children,Ku(C,B)?Q=null:i!==null&&Ku(C,i)&&(A.flags|=32),jJ(g,A),pB(g,A,Q,I),A.child;case 6:return g===null&&Yu(A),null;case 13:return XJ(g,A,I);case 4:return Tk(A,A.stateNode.containerInfo),C=A.pendingProps,g===null?A.child=On(A,null,C,I):pB(g,A,C,I),A.child;case 11:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),UN(g,A,C,B,I);case 7:return pB(g,A,A.pendingProps,I),A.child;case 8:return pB(g,A,A.pendingProps.children,I),A.child;case 12:return pB(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,Yg(Bh,C._currentValue),C._currentValue=Q,i!==null)if(gQ(i.value,Q)){if(i.children===B.children&&!TB.current){A=te(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 E=e.firstContext;E!==null;){if(E.context===C){if(i.tag===1){E=Be(-1,I&-I),E.tag=2;var t=i.updateQueue;if(t!==null){t=t.shared;var n=t.pending;n===null?E.next=E:(E.next=n.next,n.next=E),t.pending=E}}i.lanes|=I,E=i.alternate,E!==null&&(E.lanes|=I),Hu(i.return,I,A),e.lanes|=I;break}E=E.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(CI(341));Q.lanes|=I,e=Q.alternate,e!==null&&(e.lanes|=I),Hu(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}pB(g,A,B.children,I),A=A.child}return A;case 9:return B=A.type,C=A.pendingProps.children,Kn(A,I),B=Ri(B),C=C(B),A.flags|=1,pB(g,A,C,I),A.child;case 14:return C=A.type,B=Zi(C,A.pendingProps),B=Zi(C.type,B),NN(g,A,C,B,I);case 15:return PJ(g,A,A.type,A.pendingProps,I);case 17:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),FD(g,A),A.tag=1,xB(C)?(g=!0,Ih(A)):g=!1,Kn(A,I),yJ(A,C,B),xu(A,C,B,I),Ou(null,A,C,!0,g,I);case 19:return zJ(g,A,I);case 22:return WJ(g,A,I)}throw Error(CI(156,A.tag))};function rq(g,A){return TK(g,A)}function Nx(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 Ni(g,A,I,C){return new Nx(g,A,I,C)}function Id(g){return g=g.prototype,!(!g||!g.isReactComponent)}function fx(g){if(typeof g=="function")return Id(g)?1:0;if(g!=null){if(g=g.$$typeof,g===Sk)return 11;if(g===Gk)return 14}return 2}function SE(g,A){var I=g.alternate;return I===null?(I=Ni(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 JD(g,A,I,C,B,i){var Q=2;if(C=g,typeof g=="function")Id(g)&&(Q=1);else if(typeof g=="string")Q=5;else A:switch(g){case an:return mt(I.children,B,i,A);case wk:Q=8,B|=8;break;case nu:return g=Ni(12,I,A,B|2),g.elementType=nu,g.lanes=i,g;case su:return g=Ni(13,I,A,B),g.elementType=su,g.lanes=i,g;case au:return g=Ni(19,I,A,B),g.elementType=au,g.lanes=i,g;case uK:return Wh(I,B,i,A);default:if(typeof g=="object"&&g!==null)switch(g.$$typeof){case GK:Q=10;break A;case yK:Q=9;break A;case Sk:Q=11;break A;case Gk:Q=14;break A;case gE:Q=16,C=null;break A}throw Error(CI(130,g==null?g:typeof g,""))}return A=Ni(Q,I,A,B),A.elementType=g,A.type=C,A.lanes=i,A}function mt(g,A,I,C){return g=Ni(7,g,C,A),g.lanes=I,g}function Wh(g,A,I,C){return g=Ni(22,g,C,A),g.elementType=uK,g.lanes=I,g.stateNode={isHidden:!1},g}function TG(g,A,I){return g=Ni(6,g,null,A),g.lanes=I,g}function xG(g,A,I){return A=Ni(4,g.children!==null?g.children:[],g.key,A),A.lanes=I,A.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},A}function Fx(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=GG(0),this.expirationTimes=GG(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=GG(0),this.identifierPrefix=C,this.onRecoverableError=B,this.mutableSourceEagerHydrationData=null}function gd(g,A,I,C,B,i,Q,e,E){return g=new Fx(g,A,I,e,E),A===1?(A=1,i===!0&&(A|=8)):A=0,i=Ni(3,null,null,A),g.current=i,i.stateNode=g,i.memoizedState={element:C,isDehydrated:I,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hk(i),g}function Rx(g,A,I){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hq)}catch(g){console.error(g)}}hq(),cK.exports=Ei;var Lx=cK.exports,wq,bN=Lx;wq=bN.createRoot,bN.hydrateRoot;function FE(){return FE=Object.assign?Object.assign.bind():function(g){for(var A=1;A>8&255]+rB[g>>16&255]+rB[g>>24&255]+"-"+rB[A&255]+rB[A>>8&255]+"-"+rB[A>>16&15|64]+rB[A>>24&255]+"-"+rB[I&63|128]+rB[I>>8&255]+"-"+rB[I>>16&255]+rB[I>>24&255]+rB[C&255]+rB[C>>8&255]+rB[C>>16&255]+rB[C>>24&255]).toLowerCase()}function EC(g,A,I){return Math.max(A,Math.min(I,g))}function wd(g,A){return(g%A+A)%A}function av(g,A,I,C,B){return C+(g-A)*(B-C)/(I-A)}function rv(g,A,I){return g!==A?(I-g)/(A-g):0}function La(g,A,I){return(1-I)*g+I*A}function lv(g,A,I,C){return La(g,A,1-Math.exp(-I*C))}function cv(g,A=1){return A-Math.abs(wd(g,A*2)-A)}function Dv(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*(3-2*g))}function hv(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*g*(g*(g*6-15)+10))}function wv(g,A){return g+Math.floor(Math.random()*(A-g+1))}function Sv(g,A){return g+Math.random()*(A-g)}function Gv(g){return g*(.5-Math.random())}function yv(g){g!==void 0&&(ON=g);let A=ON+=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 uv(g){return g*Yt}function kv(g){return g*Xn}function m0(g){return(g&g-1)===0&&g!==0}function dv(g){return Math.pow(2,Math.ceil(Math.log(g)/Math.LN2))}function wh(g){return Math.pow(2,Math.floor(Math.log(g)/Math.LN2))}function Mv(g,A,I,C,B){const i=Math.cos,Q=Math.sin,e=i(I/2),E=Q(I/2),t=i((A+C)/2),n=Q((A+C)/2),a=i((A-C)/2),r=Q((A-C)/2),l=i((C-A)/2),D=Q((C-A)/2);switch(B){case"XYX":g.set(e*n,E*a,E*r,e*t);break;case"YZY":g.set(E*r,e*n,E*a,e*t);break;case"ZXZ":g.set(E*a,E*r,e*n,e*t);break;case"XZX":g.set(e*n,E*D,E*l,e*t);break;case"YXY":g.set(E*l,e*n,E*D,e*t);break;case"ZYZ":g.set(E*D,E*l,e*n,e*t);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}}function UB(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 zI(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 kE={DEG2RAD:Yt,RAD2DEG:Xn,generateUUID:Bi,clamp:EC,euclideanModulo:wd,mapLinear:av,inverseLerp:rv,lerp:La,damp:lv,pingpong:cv,smoothstep:Dv,smootherstep:hv,randInt:wv,randFloat:Sv,randFloatSpread:Gv,seededRandom:yv,degToRad:uv,radToDeg:kv,isPowerOfTwo:m0,ceilPowerOfTwo:dv,floorPowerOfTwo:wh,setQuaternionFromProperEuler:Mv,normalize:zI,denormalize:UB};class KA{constructor(A=0,I=0){KA.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(EC(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 PI{constructor(A,I,C,B,i,Q,e,E,t){PI.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,E,t)}set(A,I,C,B,i,Q,e,E,t){const n=this.elements;return n[0]=A,n[1]=B,n[2]=e,n[3]=I,n[4]=i,n[5]=E,n[6]=C,n[7]=Q,n[8]=t,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],E=C[6],t=C[1],n=C[4],a=C[7],r=C[2],l=C[5],D=C[8],G=B[0],h=B[3],c=B[6],y=B[1],S=B[4],k=B[7],N=B[2],p=B[5],f=B[8];return i[0]=Q*G+e*y+E*N,i[3]=Q*h+e*S+E*p,i[6]=Q*c+e*k+E*f,i[1]=t*G+n*y+a*N,i[4]=t*h+n*S+a*p,i[7]=t*c+n*k+a*f,i[2]=r*G+l*y+D*N,i[5]=r*h+l*S+D*p,i[8]=r*c+l*k+D*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],E=A[6],t=A[7],n=A[8];return I*Q*n-I*e*t-C*i*n+C*e*E+B*i*t-B*Q*E}invert(){const A=this.elements,I=A[0],C=A[1],B=A[2],i=A[3],Q=A[4],e=A[5],E=A[6],t=A[7],n=A[8],a=n*Q-e*t,r=e*E-n*i,l=t*i-Q*E,D=I*a+C*r+B*l;if(D===0)return this.set(0,0,0,0,0,0,0,0,0);const G=1/D;return A[0]=a*G,A[1]=(B*t-n*C)*G,A[2]=(e*C-B*Q)*G,A[3]=r*G,A[4]=(n*I-B*E)*G,A[5]=(B*i-e*I)*G,A[6]=l*G,A[7]=(C*E-t*I)*G,A[8]=(Q*I-C*i)*G,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 E=Math.cos(i),t=Math.sin(i);return this.set(C*E,C*t,-C*(E*Q+t*e)+Q+A,-B*t,B*E,-B*(-t*Q+E*e)+e+I,0,0,1),this}scale(A,I){return this.premultiply(vG.makeScale(A,I)),this}rotate(A){return this.premultiply(vG.makeRotation(-A)),this}translate(A,I){return this.premultiply(vG.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 vG=new PI;function Sm(g){for(let A=g.length-1;A>=0;--A)if(g[A]>=65535)return!0;return!1}const pv={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function kn(g,A){return new pv[g](A)}function cr(g){return document.createElementNS("http://www.w3.org/1999/xhtml",g)}function Gm(){const g=cr("canvas");return g.style.display="block",g}const _N={};function Ht(g){g in _N||(_N[g]=!0,console.warn(g))}const ZN=new PI().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),PN=new PI().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),sc={[NQ]:{transfer:nr,primaries:sr,toReference:g=>g,fromReference:g=>g},[eC]:{transfer:Lg,primaries:sr,toReference:g=>g.convertSRGBToLinear(),fromReference:g=>g.convertLinearToSRGB()},[Yr]:{transfer:nr,primaries:ar,toReference:g=>g.applyMatrix3(PN),fromReference:g=>g.applyMatrix3(ZN)},[Cw]:{transfer:Lg,primaries:ar,toReference:g=>g.convertSRGBToLinear().applyMatrix3(PN),fromReference:g=>g.applyMatrix3(ZN).convertLinearToSRGB()}},Uv=new Set([NQ,Yr]),Fg={enabled:!0,_workingColorSpace:NQ,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(g){if(!Uv.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=sc[A].toReference,B=sc[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 sc[g].primaries},getTransfer:function(g){return g===$B?nr:sc[g].transfer}};function Ln(g){return g<.04045?g*.0773993808:Math.pow(g*.9478672986+.0521327014,2.4)}function bG(g){return g<.0031308?g*12.92:1.055*Math.pow(g,.41666)-.055}let Ro;class Sd{static getDataURL(A){if(/^data:/i.test(A.src)||typeof HTMLCanvasElement>"u")return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{Ro===void 0&&(Ro=cr("canvas")),Ro.width=A.width,Ro.height=A.height;const C=Ro.getContext("2d");A instanceof ImageData?C.putImageData(A,0,0):C.drawImage(A,0,0,A.width,A.height),I=Ro}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=cr("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!==Aw)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case KE:A.x=A.x-Math.floor(A.x);break;case IB:A.x=A.x<0?0:1;break;case jn: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 KE:A.y=A.y-Math.floor(A.y);break;case IB:A.y=A.y<0?0:1;break;case jn: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)}get encoding(){return Ht("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===eC?uE:cd}set encoding(A){Ht("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=A===uE?eC:$B}}mg.DEFAULT_IMAGE=null;mg.DEFAULT_MAPPING=Aw;mg.DEFAULT_ANISOTROPY=1;class Sg{constructor(A=0,I=0,C=0,B=1){Sg.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 E=A.elements,t=E[0],n=E[4],a=E[8],r=E[1],l=E[5],D=E[9],G=E[2],h=E[6],c=E[10];if(Math.abs(n-r)<.01&&Math.abs(a-G)<.01&&Math.abs(D-h)<.01){if(Math.abs(n+r)<.1&&Math.abs(a+G)<.1&&Math.abs(D+h)<.1&&Math.abs(t+l+c-3)<.1)return this.set(1,0,0,0),this;I=Math.PI;const S=(t+1)/2,k=(l+1)/2,N=(c+1)/2,p=(n+r)/4,f=(a+G)/4,q=(D+h)/4;return S>k&&S>N?S<.01?(C=0,B=.707106781,i=.707106781):(C=Math.sqrt(S),B=p/C,i=f/C):k>N?k<.01?(C=.707106781,B=0,i=.707106781):(B=Math.sqrt(k),C=p/B,i=q/B):N<.01?(C=.707106781,B=.707106781,i=0):(i=Math.sqrt(N),C=f/i,B=q/i),this.set(C,B,i,I),this}let y=Math.sqrt((h-D)*(h-D)+(a-G)*(a-G)+(r-n)*(r-n));return Math.abs(y)<.001&&(y=1),this.x=(h-D)/y,this.y=(a-G)/y,this.z=(r-n)/y,this.w=Math.acos((t+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 ym extends ce{constructor(A=1,I=1,C={}){super(),this.isRenderTarget=!0,this.width=A,this.height=I,this.depth=1,this.scissor=new Sg(0,0,A,I),this.scissorTest=!1,this.viewport=new Sg(0,0,A,I);const B={width:A,height:I,depth:1};C.encoding!==void 0&&(Ht("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),C.colorSpace=C.encoding===uE?eC:$B),C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:hg,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},C),this.texture=new mg(B,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=C.generateMipmaps,this.texture.internalFormat=C.internalFormat,this.depthBuffer=C.depthBuffer,this.stencilBuffer=C.stencilBuffer,this.depthTexture=C.depthTexture,this.samples=C.samples}setSize(A,I,C=1){(this.width!==A||this.height!==I||this.depth!==C)&&(this.width=A,this.height=I,this.depth=C,this.texture.image.width=A,this.texture.image.height=I,this.texture.image.depth=C,this.dispose()),this.viewport.set(0,0,A,I),this.scissor.set(0,0,A,I)}clone(){return new this.constructor().copy(this)}copy(A){this.width=A.width,this.height=A.height,this.depth=A.depth,this.scissor.copy(A.scissor),this.scissorTest=A.scissorTest,this.viewport.copy(A.viewport),this.texture=A.texture.clone(),this.texture.isRenderTargetTexture=!0;const I=Object.assign({},A.texture.image);return this.texture.source=new Ft(I),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,A.depthTexture!==null&&(this.depthTexture=A.depthTexture.clone()),this.samples=A.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class SC extends ym{constructor(A=1,I=1,C={}){super(A,I,C),this.isWebGLRenderTarget=!0}}class Bw extends mg{constructor(A=null,I=1,C=1,B=1){super(null),this.isDataArrayTexture=!0,this.image={data:A,width:I,height:C,depth:B},this.magFilter=tg,this.minFilter=tg,this.wrapR=IB,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Fv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGLArrayRenderTarget=!0,this.depth=C,this.texture=new Bw(null,A,I,C),this.texture.isRenderTargetTexture=!0}}class Gd extends mg{constructor(A=null,I=1,C=1,B=1){super(null),this.isData3DTexture=!0,this.image={data:A,width:I,height:C,depth:B},this.magFilter=tg,this.minFilter=tg,this.wrapR=IB,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Rv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGL3DRenderTarget=!0,this.depth=C,this.texture=new Gd(null,A,I,C),this.texture.isRenderTargetTexture=!0}}class Kv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGLMultipleRenderTargets=!0;const i=this.texture;this.texture=[];for(let Q=0;Q=0?1:-1,S=1-c*c;if(S>Number.EPSILON){const N=Math.sqrt(S),p=Math.atan2(N,c*y);h=Math.sin(h*p)/N,e=Math.sin(e*p)/N}const k=e*y;if(E=E*h+r*k,t=t*h+l*k,n=n*h+D*k,a=a*h+G*k,h===1-e){const N=1/Math.sqrt(E*E+t*t+n*n+a*a);E*=N,t*=N,n*=N,a*=N}}A[I]=E,A[I+1]=t,A[I+2]=n,A[I+3]=a}static multiplyQuaternionsFlat(A,I,C,B,i,Q){const e=C[B],E=C[B+1],t=C[B+2],n=C[B+3],a=i[Q],r=i[Q+1],l=i[Q+2],D=i[Q+3];return A[I]=e*D+n*a+E*l-t*r,A[I+1]=E*D+n*r+t*a-e*l,A[I+2]=t*D+n*l+e*r-E*a,A[I+3]=n*D-e*a-E*r-t*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,E=Math.sin,t=e(C/2),n=e(B/2),a=e(i/2),r=E(C/2),l=E(B/2),D=E(i/2);switch(Q){case"XYZ":this._x=r*n*a+t*l*D,this._y=t*l*a-r*n*D,this._z=t*n*D+r*l*a,this._w=t*n*a-r*l*D;break;case"YXZ":this._x=r*n*a+t*l*D,this._y=t*l*a-r*n*D,this._z=t*n*D-r*l*a,this._w=t*n*a+r*l*D;break;case"ZXY":this._x=r*n*a-t*l*D,this._y=t*l*a+r*n*D,this._z=t*n*D+r*l*a,this._w=t*n*a-r*l*D;break;case"ZYX":this._x=r*n*a-t*l*D,this._y=t*l*a+r*n*D,this._z=t*n*D-r*l*a,this._w=t*n*a+r*l*D;break;case"YZX":this._x=r*n*a+t*l*D,this._y=t*l*a+r*n*D,this._z=t*n*D-r*l*a,this._w=t*n*a-r*l*D;break;case"XZY":this._x=r*n*a-t*l*D,this._y=t*l*a-r*n*D,this._z=t*n*D+r*l*a,this._w=t*n*a+r*l*D;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],E=I[9],t=I[2],n=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=(n-E)*l,this._y=(i-t)*l,this._z=(Q-B)*l}else if(C>e&&C>a){const l=2*Math.sqrt(1+C-e-a);this._w=(n-E)/l,this._x=.25*l,this._y=(B+Q)/l,this._z=(i+t)/l}else if(e>a){const l=2*Math.sqrt(1+e-C-a);this._w=(i-t)/l,this._x=(B+Q)/l,this._y=.25*l,this._z=(E+n)/l}else{const l=2*Math.sqrt(1+a-C-e);this._w=(Q-B)/l,this._x=(i+t)/l,this._y=(E+n)/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(EC(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,E=I._y,t=I._z,n=I._w;return this._x=C*n+Q*e+B*t-i*E,this._y=B*n+Q*E+i*e-C*t,this._z=i*n+Q*t+C*E-B*e,this._w=Q*n-C*e-B*E-i*t,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 E=1-e*e;if(E<=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 t=Math.sqrt(E),n=Math.atan2(t,e),a=Math.sin((1-I)*n)/t,r=Math.sin(I*n)/t;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=Math.random(),I=Math.sqrt(1-A),C=Math.sqrt(A),B=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(I*Math.cos(B),C*Math.sin(i),C*Math.cos(i),I*Math.sin(B))}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 O{constructor(A=0,I=0,C=0){O.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(WN.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(WN.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,E=A.w,t=2*(Q*B-e*C),n=2*(e*I-i*B),a=2*(i*C-Q*I);return this.x=I+E*t+Q*a-e*n,this.y=C+E*n+e*t-i*a,this.z=B+E*a+i*n-Q*t,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,E=I.z;return this.x=B*E-i*e,this.y=i*Q-C*E,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 _G.copy(this).projectOnVector(A),this.sub(_G)}reflect(A){return this.sub(_G.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(EC(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()-.5)*2,I=Math.random()*Math.PI*2,C=Math.sqrt(1-A**2);return this.x=C*Math.cos(I),this.y=C*Math.sin(I),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const _G=new O,WN=new _g;class oC{constructor(A=new O(1/0,1/0,1/0),I=new O(-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,xi),xi.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(Ws),rc.subVectors(this.max,Ws),Ko.subVectors(A.a,Ws),Jo.subVectors(A.b,Ws),qo.subVectors(A.c,Ws),Oe.subVectors(Jo,Ko),_e.subVectors(qo,Jo),it.subVectors(Ko,qo);let I=[0,-Oe.z,Oe.y,0,-_e.z,_e.y,0,-it.z,it.y,Oe.z,0,-Oe.x,_e.z,0,-_e.x,it.z,0,-it.x,-Oe.y,Oe.x,0,-_e.y,_e.x,0,-it.y,it.x,0];return!ZG(I,Ko,Jo,qo,rc)||(I=[1,0,0,0,1,0,0,0,1],!ZG(I,Ko,Jo,qo,rc))?!1:(lc.crossVectors(Oe,_e),I=[lc.x,lc.y,lc.z],ZG(I,Ko,Jo,qo,rc))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,xi).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=this.getSize(xi).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:(TQ[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),TQ[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),TQ[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),TQ[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),TQ[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),TQ[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),TQ[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),TQ[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(TQ),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 TQ=[new O,new O,new O,new O,new O,new O,new O,new O],xi=new O,ac=new oC,Ko=new O,Jo=new O,qo=new O,Oe=new O,_e=new O,it=new O,Ws=new O,rc=new O,lc=new O,Qt=new O;function ZG(g,A,I,C,B){for(let i=0,Q=g.length-3;i<=Q;i+=3){Qt.fromArray(g,i);const e=B.x*Math.abs(Qt.x)+B.y*Math.abs(Qt.y)+B.z*Math.abs(Qt.z),E=A.dot(Qt),t=I.dot(Qt),n=C.dot(Qt);if(Math.max(-Math.max(E,t,n),Math.min(E,t,n))>e)return!1}return!0}const Jv=new oC,js=new O,PG=new O;class RC{constructor(A=new O,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):Jv.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;js.subVectors(A,this.center);const I=js.lengthSq();if(I>this.radius*this.radius){const C=Math.sqrt(I),B=(C-this.radius)*.5;this.center.addScaledVector(js,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):(PG.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(js.copy(A.center).add(PG)),this.expandByPoint(js.copy(A.center).sub(PG))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return new this.constructor().copy(this)}}const xQ=new O,WG=new O,cc=new O,Ze=new O,jG=new O,Dc=new O,VG=new O;class os{constructor(A=new O,I=new O(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,xQ)),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=xQ.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(xQ.copy(this.origin).addScaledVector(this.direction,I),xQ.distanceToSquared(A))}distanceSqToSegment(A,I,C,B){WG.copy(A).add(I).multiplyScalar(.5),cc.copy(I).sub(A).normalize(),Ze.copy(this.origin).sub(WG);const i=A.distanceTo(I)*.5,Q=-this.direction.dot(cc),e=Ze.dot(this.direction),E=-Ze.dot(cc),t=Ze.lengthSq(),n=Math.abs(1-Q*Q);let a,r,l,D;if(n>0)if(a=Q*E-e,r=Q*e-E,D=i*n,a>=0)if(r>=-D)if(r<=D){const G=1/n;a*=G,r*=G,l=a*(a+Q*r+2*e)+r*(Q*a+r+2*E)+t}else r=i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*E)+t;else r=-i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*E)+t;else r<=-D?(a=Math.max(0,-(-Q*i+e)),r=a>0?-i:Math.min(Math.max(-i,-E),i),l=-a*a+r*(r+2*E)+t):r<=D?(a=0,r=Math.min(Math.max(-i,-E),i),l=r*(r+2*E)+t):(a=Math.max(0,-(Q*i+e)),r=a>0?i:Math.min(Math.max(-i,-E),i),l=-a*a+r*(r+2*E)+t);else r=Q>0?-i:i,a=Math.max(0,-(Q*r+e)),l=-a*a+r*(r+2*E)+t;return C&&C.copy(this.origin).addScaledVector(this.direction,a),B&&B.copy(WG).addScaledVector(cc,r),l}intersectSphere(A,I){xQ.subVectors(A.center,this.origin);const C=xQ.dot(this.direction),B=xQ.dot(xQ)-C*C,i=A.radius*A.radius;if(B>i)return null;const Q=Math.sqrt(i-B),e=C-Q,E=C+Q;return E<0?null:e<0?this.at(E,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,E;const t=1/this.direction.x,n=1/this.direction.y,a=1/this.direction.z,r=this.origin;return t>=0?(C=(A.min.x-r.x)*t,B=(A.max.x-r.x)*t):(C=(A.max.x-r.x)*t,B=(A.min.x-r.x)*t),n>=0?(i=(A.min.y-r.y)*n,Q=(A.max.y-r.y)*n):(i=(A.max.y-r.y)*n,Q=(A.min.y-r.y)*n),C>Q||i>B||((i>C||isNaN(C))&&(C=i),(Q=0?(e=(A.min.z-r.z)*a,E=(A.max.z-r.z)*a):(e=(A.max.z-r.z)*a,E=(A.min.z-r.z)*a),C>E||e>B)||((e>C||C!==C)&&(C=e),(E=0?C:B,I)}intersectsBox(A){return this.intersectBox(A,xQ)!==null}intersectTriangle(A,I,C,B,i){jG.subVectors(I,A),Dc.subVectors(C,A),VG.crossVectors(jG,Dc);let Q=this.direction.dot(VG),e;if(Q>0){if(B)return null;e=1}else if(Q<0)e=-1,Q=-Q;else return null;Ze.subVectors(this.origin,A);const E=e*this.direction.dot(Dc.crossVectors(Ze,Dc));if(E<0)return null;const t=e*this.direction.dot(jG.cross(Ze));if(t<0||E+t>Q)return null;const n=-e*Ze.dot(VG);return n<0?null:this.at(n/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 UI{constructor(A,I,C,B,i,Q,e,E,t,n,a,r,l,D,G,h){UI.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,E,t,n,a,r,l,D,G,h)}set(A,I,C,B,i,Q,e,E,t,n,a,r,l,D,G,h){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]=E,c[2]=t,c[6]=n,c[10]=a,c[14]=r,c[3]=l,c[7]=D,c[11]=G,c[15]=h,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 UI().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/mo.setFromMatrixColumn(A,0).length(),i=1/mo.setFromMatrixColumn(A,1).length(),Q=1/mo.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),E=Math.cos(B),t=Math.sin(B),n=Math.cos(i),a=Math.sin(i);if(A.order==="XYZ"){const r=Q*n,l=Q*a,D=e*n,G=e*a;I[0]=E*n,I[4]=-E*a,I[8]=t,I[1]=l+D*t,I[5]=r-G*t,I[9]=-e*E,I[2]=G-r*t,I[6]=D+l*t,I[10]=Q*E}else if(A.order==="YXZ"){const r=E*n,l=E*a,D=t*n,G=t*a;I[0]=r+G*e,I[4]=D*e-l,I[8]=Q*t,I[1]=Q*a,I[5]=Q*n,I[9]=-e,I[2]=l*e-D,I[6]=G+r*e,I[10]=Q*E}else if(A.order==="ZXY"){const r=E*n,l=E*a,D=t*n,G=t*a;I[0]=r-G*e,I[4]=-Q*a,I[8]=D+l*e,I[1]=l+D*e,I[5]=Q*n,I[9]=G-r*e,I[2]=-Q*t,I[6]=e,I[10]=Q*E}else if(A.order==="ZYX"){const r=Q*n,l=Q*a,D=e*n,G=e*a;I[0]=E*n,I[4]=D*t-l,I[8]=r*t+G,I[1]=E*a,I[5]=G*t+r,I[9]=l*t-D,I[2]=-t,I[6]=e*E,I[10]=Q*E}else if(A.order==="YZX"){const r=Q*E,l=Q*t,D=e*E,G=e*t;I[0]=E*n,I[4]=G-r*a,I[8]=D*a+l,I[1]=a,I[5]=Q*n,I[9]=-e*n,I[2]=-t*n,I[6]=l*a+D,I[10]=r-G*a}else if(A.order==="XZY"){const r=Q*E,l=Q*t,D=e*E,G=e*t;I[0]=E*n,I[4]=-a,I[8]=t*n,I[1]=r*a+G,I[5]=Q*n,I[9]=l*a-D,I[2]=D*a-l,I[6]=e*n,I[10]=G*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(qv,A,mv)}lookAt(A,I,C){const B=this.elements;return jB.subVectors(A,I),jB.lengthSq()===0&&(jB.z=1),jB.normalize(),Pe.crossVectors(C,jB),Pe.lengthSq()===0&&(Math.abs(C.z)===1?jB.x+=1e-4:jB.z+=1e-4,jB.normalize(),Pe.crossVectors(C,jB)),Pe.normalize(),hc.crossVectors(jB,Pe),B[0]=Pe.x,B[4]=hc.x,B[8]=jB.x,B[1]=Pe.y,B[5]=hc.y,B[9]=jB.y,B[2]=Pe.z,B[6]=hc.z,B[10]=jB.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],E=C[8],t=C[12],n=C[1],a=C[5],r=C[9],l=C[13],D=C[2],G=C[6],h=C[10],c=C[14],y=C[3],S=C[7],k=C[11],N=C[15],p=B[0],f=B[4],q=B[8],_=B[12],U=B[1],K=B[5],z=B[9],cA=B[13],X=B[2],sA=B[6],oA=B[10],GA=B[14],b=B[3],CA=B[7],gA=B[11],DA=B[15];return i[0]=Q*p+e*U+E*X+t*b,i[4]=Q*f+e*K+E*sA+t*CA,i[8]=Q*q+e*z+E*oA+t*gA,i[12]=Q*_+e*cA+E*GA+t*DA,i[1]=n*p+a*U+r*X+l*b,i[5]=n*f+a*K+r*sA+l*CA,i[9]=n*q+a*z+r*oA+l*gA,i[13]=n*_+a*cA+r*GA+l*DA,i[2]=D*p+G*U+h*X+c*b,i[6]=D*f+G*K+h*sA+c*CA,i[10]=D*q+G*z+h*oA+c*gA,i[14]=D*_+G*cA+h*GA+c*DA,i[3]=y*p+S*U+k*X+N*b,i[7]=y*f+S*K+k*sA+N*CA,i[11]=y*q+S*z+k*oA+N*gA,i[15]=y*_+S*cA+k*GA+N*DA,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],E=A[9],t=A[13],n=A[2],a=A[6],r=A[10],l=A[14],D=A[3],G=A[7],h=A[11],c=A[15];return D*(+i*E*a-B*t*a-i*e*r+C*t*r+B*e*l-C*E*l)+G*(+I*E*l-I*t*r+i*Q*r-B*Q*l+B*t*n-i*E*n)+h*(+I*t*a-I*e*l-i*Q*a+C*Q*l+i*e*n-C*t*n)+c*(-B*e*n-I*E*a+I*e*r+B*Q*a-C*Q*r+C*E*n)}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],E=A[6],t=A[7],n=A[8],a=A[9],r=A[10],l=A[11],D=A[12],G=A[13],h=A[14],c=A[15],y=a*h*t-G*r*t+G*E*l-e*h*l-a*E*c+e*r*c,S=D*r*t-n*h*t-D*E*l+Q*h*l+n*E*c-Q*r*c,k=n*G*t-D*a*t+D*e*l-Q*G*l-n*e*c+Q*a*c,N=D*a*E-n*G*E-D*e*r+Q*G*r+n*e*h-Q*a*h,p=I*y+C*S+B*k+i*N;if(p===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const f=1/p;return A[0]=y*f,A[1]=(G*r*i-a*h*i-G*B*l+C*h*l+a*B*c-C*r*c)*f,A[2]=(e*h*i-G*E*i+G*B*t-C*h*t-e*B*c+C*E*c)*f,A[3]=(a*E*i-e*r*i-a*B*t+C*r*t+e*B*l-C*E*l)*f,A[4]=S*f,A[5]=(n*h*i-D*r*i+D*B*l-I*h*l-n*B*c+I*r*c)*f,A[6]=(D*E*i-Q*h*i-D*B*t+I*h*t+Q*B*c-I*E*c)*f,A[7]=(Q*r*i-n*E*i+n*B*t-I*r*t-Q*B*l+I*E*l)*f,A[8]=k*f,A[9]=(D*a*i-n*G*i-D*C*l+I*G*l+n*C*c-I*a*c)*f,A[10]=(Q*G*i-D*e*i+D*C*t-I*G*t-Q*C*c+I*e*c)*f,A[11]=(n*e*i-Q*a*i-n*C*t+I*a*t+Q*C*l-I*e*l)*f,A[12]=N*f,A[13]=(n*G*B-D*a*B+D*C*r-I*G*r-n*C*h+I*a*h)*f,A[14]=(D*e*B-Q*G*B-D*C*E+I*G*E+Q*C*h-I*e*h)*f,A[15]=(Q*a*B-n*e*B+n*C*E-I*a*E-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,E=A.z,t=i*Q,n=i*e;return this.set(t*Q+C,t*e-B*E,t*E+B*e,0,t*e+B*E,n*e+C,n*E-B*Q,0,t*E-B*e,n*E+B*Q,i*E*E+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,E=I._w,t=i+i,n=Q+Q,a=e+e,r=i*t,l=i*n,D=i*a,G=Q*n,h=Q*a,c=e*a,y=E*t,S=E*n,k=E*a,N=C.x,p=C.y,f=C.z;return B[0]=(1-(G+c))*N,B[1]=(l+k)*N,B[2]=(D-S)*N,B[3]=0,B[4]=(l-k)*p,B[5]=(1-(r+c))*p,B[6]=(h+y)*p,B[7]=0,B[8]=(D+S)*f,B[9]=(h-y)*f,B[10]=(1-(r+G))*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=mo.set(B[0],B[1],B[2]).length();const Q=mo.set(B[4],B[5],B[6]).length(),e=mo.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],vi.copy(this);const t=1/i,n=1/Q,a=1/e;return vi.elements[0]*=t,vi.elements[1]*=t,vi.elements[2]*=t,vi.elements[4]*=n,vi.elements[5]*=n,vi.elements[6]*=n,vi.elements[8]*=a,vi.elements[9]*=a,vi.elements[10]*=a,I.setFromRotationMatrix(vi),C.x=i,C.y=Q,C.z=e,this}makePerspective(A,I,C,B,i,Q,e=yQ){const E=this.elements,t=2*i/(I-A),n=2*i/(C-B),a=(I+A)/(I-A),r=(C+B)/(C-B);let l,D;if(e===yQ)l=-(Q+i)/(Q-i),D=-2*Q*i/(Q-i);else if(e===lr)l=-Q/(Q-i),D=-Q*i/(Q-i);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+e);return E[0]=t,E[4]=0,E[8]=a,E[12]=0,E[1]=0,E[5]=n,E[9]=r,E[13]=0,E[2]=0,E[6]=0,E[10]=l,E[14]=D,E[3]=0,E[7]=0,E[11]=-1,E[15]=0,this}makeOrthographic(A,I,C,B,i,Q,e=yQ){const E=this.elements,t=1/(I-A),n=1/(C-B),a=1/(Q-i),r=(I+A)*t,l=(C+B)*n;let D,G;if(e===yQ)D=(Q+i)*a,G=-2*a;else if(e===lr)D=i*a,G=-1*a;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+e);return E[0]=2*t,E[4]=0,E[8]=0,E[12]=-r,E[1]=0,E[5]=2*n,E[9]=0,E[13]=-l,E[2]=0,E[6]=0,E[10]=G,E[14]=-D,E[3]=0,E[7]=0,E[11]=0,E[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 mo=new O,vi=new UI,qv=new O(0,0,0),mv=new O(1,1,1),Pe=new O,hc=new O,jB=new O,jN=new UI,VN=new _g;class fQ{constructor(A=0,I=0,C=0,B=fQ.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],E=B[1],t=B[5],n=B[9],a=B[2],r=B[6],l=B[10];switch(I){case"XYZ":this._y=Math.asin(EC(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(-n,l),this._z=Math.atan2(-Q,i)):(this._x=Math.atan2(r,t),this._z=0);break;case"YXZ":this._x=Math.asin(-EC(n,-1,1)),Math.abs(n)<.9999999?(this._y=Math.atan2(e,l),this._z=Math.atan2(E,t)):(this._y=Math.atan2(-a,i),this._z=0);break;case"ZXY":this._x=Math.asin(EC(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(-a,l),this._z=Math.atan2(-Q,t)):(this._y=0,this._z=Math.atan2(E,i));break;case"ZYX":this._y=Math.asin(-EC(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(r,l),this._z=Math.atan2(E,i)):(this._x=0,this._z=Math.atan2(-Q,t));break;case"YZX":this._z=Math.asin(EC(E,-1,1)),Math.abs(E)<.9999999?(this._x=Math.atan2(-n,t),this._y=Math.atan2(-a,i)):(this._x=0,this._y=Math.atan2(e,l));break;case"XZY":this._z=Math.asin(-EC(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(r,t),this._y=Math.atan2(e,i)):(this._x=Math.atan2(-n,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 jN.makeRotationFromQuaternion(A),this.setFromRotationMatrix(jN,I,C)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return VN.setFromEuler(this),this.setFromQuaternion(VN,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}}fQ.DEFAULT_ORDER="XYZ";class Tt{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,E){return e[E.uuid]===void 0&&(e[E.uuid]=E.toJSON(A)),E.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 E=e.shapes;if(Array.isArray(E))for(let t=0,n=E.length;t0){B.children=[];for(let e=0;e0){B.animations=[];for(let e=0;e0&&(C.geometries=e),E.length>0&&(C.materials=E),t.length>0&&(C.textures=t),n.length>0&&(C.images=n),a.length>0&&(C.shapes=a),r.length>0&&(C.skeletons=r),l.length>0&&(C.animations=l),D.length>0&&(C.nodes=D)}return C.object=B,C;function Q(e){const E=[];for(const t in e){const n=e[t];delete n.metadata,E.push(n)}return E}}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){bi.subVectors(B,I),bQ.subVectors(C,I),XG.subVectors(A,I);const Q=bi.dot(bi),e=bi.dot(bQ),E=bi.dot(XG),t=bQ.dot(bQ),n=bQ.dot(XG),a=Q*t-e*e;if(a===0)return i.set(0,0,0),null;const r=1/a,l=(t*E-e*n)*r,D=(Q*n-e*E)*r;return i.set(1-l-D,D,l)}static containsPoint(A,I,C,B){return this.getBarycoord(A,I,C,B,OQ)===null?!1:OQ.x>=0&&OQ.y>=0&&OQ.x+OQ.y<=1}static getInterpolation(A,I,C,B,i,Q,e,E){return this.getBarycoord(A,I,C,B,OQ)===null?(E.x=0,E.y=0,"z"in E&&(E.z=0),"w"in E&&(E.w=0),null):(E.setScalar(0),E.addScaledVector(i,OQ.x),E.addScaledVector(Q,OQ.y),E.addScaledVector(e,OQ.z),E)}static isFrontFacing(A,I,C,B){return bi.subVectors(C,I),bQ.subVectors(A,I),bi.cross(bQ).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 bi.subVectors(this.c,this.b),bQ.subVectors(this.a,this.b),bi.cross(bQ).length()*.5}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return YB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return YB.getBarycoord(A,this.a,this.b,this.c,I)}getInterpolation(A,I,C,B,i){return YB.getInterpolation(A,this.a,this.b,this.c,I,C,B,i)}containsPoint(A){return YB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return YB.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;Yo.subVectors(B,C),Ho.subVectors(i,C),zG.subVectors(A,C);const E=Yo.dot(zG),t=Ho.dot(zG);if(E<=0&&t<=0)return I.copy(C);$G.subVectors(A,B);const n=Yo.dot($G),a=Ho.dot($G);if(n>=0&&a<=n)return I.copy(B);const r=E*a-n*t;if(r<=0&&E>=0&&n<=0)return Q=E/(E-n),I.copy(C).addScaledVector(Yo,Q);Ay.subVectors(A,i);const l=Yo.dot(Ay),D=Ho.dot(Ay);if(D>=0&&l<=D)return I.copy(i);const G=l*t-E*D;if(G<=0&&t>=0&&D<=0)return e=t/(t-D),I.copy(C).addScaledVector(Ho,e);const h=n*D-l*a;if(h<=0&&a-n>=0&&l-D>=0)return If.subVectors(i,B),e=(a-n)/(a-n+(l-D)),I.copy(B).addScaledVector(If,e);const c=1/(h+G+r);return Q=G*c,e=r*c,I.copy(C).addScaledVector(Yo,Q).addScaledVector(Ho,e)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const um={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},We={h:0,s:0,l:0},Sc={h:0,s:0,l:0};function Iy(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 tI{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=eC){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(A&255)/255,Fg.toWorkingColorSpace(this,I),this}setRGB(A,I,C,B=Fg.workingColorSpace){return this.r=A,this.g=I,this.b=C,Fg.toWorkingColorSpace(this,B),this}setHSL(A,I,C,B=Fg.workingColorSpace){if(A=wd(A,1),I=EC(I,0,1),C=EC(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=Iy(Q,i,A+1/3),this.g=Iy(Q,i,A),this.b=Iy(Q,i,A-1/3)}return Fg.toWorkingColorSpace(this,B),this}setStyle(A,I=eC){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=eC){const C=um[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=Ln(A.r),this.g=Ln(A.g),this.b=Ln(A.b),this}copyLinearToSRGB(A){return this.r=bG(A.r),this.g=bG(A.g),this.b=bG(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=eC){return Fg.fromWorkingColorSpace(lB.copy(this),A),Math.round(EC(lB.r*255,0,255))*65536+Math.round(EC(lB.g*255,0,255))*256+Math.round(EC(lB.b*255,0,255))}getHexString(A=eC){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,I=Fg.workingColorSpace){Fg.fromWorkingColorSpace(lB.copy(this),I);const C=lB.r,B=lB.g,i=lB.b,Q=Math.max(C,B,i),e=Math.min(C,B,i);let E,t;const n=(e+Q)/2;if(e===Q)E=0,t=0;else{const a=Q-e;switch(t=n<=.5?a/(Q+e):a/(2-Q-e),Q){case C:E=(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&&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.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.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!==Lt&&(C.blending=this.blending),this.side!==Qi&&(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!==lh&&(C.blendSrc=this.blendSrc),this.blendDst!==ch&&(C.blendDst=this.blendDst),this.blendEquation!==eE&&(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!==er&&(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!==J0&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ut&&(C.stencilFail=this.stencilFail),this.stencilZFail!==ut&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==ut&&(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 E=i[e];delete E.metadata,Q.push(E)}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 uC extends nC{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new tI(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.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.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 XQ=bv();function bv(){const g=new ArrayBuffer(4),A=new Float32Array(g),I=new Uint32Array(g),C=new Uint32Array(512),B=new Uint32Array(512);for(let E=0;E<256;++E){const t=E-127;t<-27?(C[E]=0,C[E|256]=32768,B[E]=24,B[E|256]=24):t<-14?(C[E]=1024>>-t-14,C[E|256]=1024>>-t-14|32768,B[E]=-t-1,B[E|256]=-t-1):t<=15?(C[E]=t+15<<10,C[E|256]=t+15<<10|32768,B[E]=13,B[E|256]=13):t<128?(C[E]=31744,C[E|256]=64512,B[E]=24,B[E|256]=24):(C[E]=31744,C[E|256]=64512,B[E]=13,B[E|256]=13)}const i=new Uint32Array(2048),Q=new Uint32Array(64),e=new Uint32Array(64);for(let E=1;E<1024;++E){let t=E<<13,n=0;for(;!(t&8388608);)t<<=1,n-=8388608;t&=-8388609,n+=947912704,i[E]=t|n}for(let E=1024;E<2048;++E)i[E]=939524096+(E-1024<<13);for(let E=1;E<31;++E)Q[E]=E<<23;Q[31]=1199570944,Q[32]=2147483648;for(let E=33;E<63;++E)Q[E]=2147483648+(E-32<<23);Q[63]=3347054592;for(let E=1;E<64;++E)E!==32&&(e[E]=1024);return{floatView:A,uint32View:I,baseTable:C,shiftTable:B,mantissaTable:i,exponentTable:Q,offsetTable:e}}function mB(g){Math.abs(g)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),g=EC(g,-65504,65504),XQ.floatView[0]=g;const A=XQ.uint32View[0],I=A>>23&511;return XQ.baseTable[I]+((A&8388607)>>XQ.shiftTable[I])}function Sa(g){const A=g>>10;return XQ.uint32View[0]=XQ.mantissaTable[XQ.offsetTable[A]+(g&1023)]+XQ.exponentTable[A],XQ.floatView[0]}const Rt={toHalfFloat:mB,fromHalfFloat:Sa},hC=new O,Gc=new KA;class Ag{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=rr,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=tC,this.version=0}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Ht("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 E=this.parameters;for(const t in E)E[t]!==void 0&&(A[t]=E[t]);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 E in C){const t=C[E];A.data.attributes[E]=t.toJSON(A.data)}const B={};let i=!1;for(const E in this.morphAttributes){const t=this.morphAttributes[E],n=[];for(let a=0,r=t.length;a0&&(B[E]=n,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 t in B){const n=B[t];this.setAttribute(t,n.clone(I))}const i=A.morphAttributes;for(const t in i){const n=[],a=i[t];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))&&(gf.copy(i).invert(),et.copy(A.ray).applyMatrix4(gf),!(C.boundingBox!==null&&et.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(A,I,et)))}_computeIntersections(A,I,C){let B;const i=this.geometry,Q=this.material,e=i.index,E=i.attributes.position,t=i.attributes.uv,n=i.attributes.uv1,a=i.attributes.normal,r=i.groups,l=i.drawRange;if(e!==null)if(Array.isArray(Q))for(let D=0,G=r.length;DI.far?null:{distance:t,point:Uc.clone(),object:g}}function Nc(g,A,I,C,B,i,Q,e,E,t){g.getVertexPosition(e,xo),g.getVertexPosition(E,vo),g.getVertexPosition(t,bo);const n=zv(g,A,I,C,xo,vo,bo,pc);if(n){B&&(kc.fromBufferAttribute(B,e),dc.fromBufferAttribute(B,E),Mc.fromBufferAttribute(B,t),n.uv=YB.getInterpolation(pc,xo,vo,bo,kc,dc,Mc,new KA)),i&&(kc.fromBufferAttribute(i,e),dc.fromBufferAttribute(i,E),Mc.fromBufferAttribute(i,t),n.uv1=YB.getInterpolation(pc,xo,vo,bo,kc,dc,Mc,new KA),n.uv2=n.uv1),Q&&(Bf.fromBufferAttribute(Q,e),Qf.fromBufferAttribute(Q,E),ef.fromBufferAttribute(Q,t),n.normal=YB.getInterpolation(pc,xo,vo,bo,Bf,Qf,ef,new O),n.normal.dot(C.direction)>0&&n.normal.multiplyScalar(-1));const a={a:e,b:E,c:t,normal:new O,materialIndex:0};YB.getNormal(xo,vo,bo,a.normal),n.face=a}return n}class xE extends WI{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 E=[],t=[],n=[],a=[];let r=0,l=0;D("z","y","x",-1,-1,C,I,A,Q,i,0),D("z","y","x",1,-1,C,I,-A,Q,i,1),D("x","z","y",1,1,A,C,I,B,Q,2),D("x","z","y",1,-1,A,C,-I,B,Q,3),D("x","y","z",1,-1,A,I,C,B,i,4),D("x","y","z",-1,-1,A,I,-C,B,i,5),this.setIndex(E),this.setAttribute("position",new yI(t,3)),this.setAttribute("normal",new yI(n,3)),this.setAttribute("uv",new yI(a,2));function D(G,h,c,y,S,k,N,p,f,q,_){const U=k/f,K=N/q,z=k/2,cA=N/2,X=p/2,sA=f+1,oA=q+1;let GA=0,b=0;const CA=new O;for(let gA=0;gA0?1:-1,n.push(CA.x,CA.y,CA.z),a.push(fA/f),a.push(1-gA/q),GA+=1}}for(let gA=0;gA0&&(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 Hr extends Eg{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new UI,this.projectionMatrix=new UI,this.projectionMatrixInverse=new UI,this.coordinateSystem=yQ}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 je=new O,Ef=new KA,tf=new KA;let GC=class extends Hr{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=Xn*2*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(Yt*.5*this.fov);return .5*this.getFilmHeight()/A}getEffectiveFOV(){return Xn*2*Math.atan(Math.tan(Yt*.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){je.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),I.set(je.x,je.y).multiplyScalar(-A/je.z),je.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(je.x,je.y).multiplyScalar(-A/je.z)}getViewSize(A,I){return this.getViewBounds(A,Ef,tf),I.subVectors(tf,Ef)}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(Yt*.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 E=Q.fullWidth,t=Q.fullHeight;i+=Q.offsetX*B/E,I-=Q.offsetY*C/t,B*=Q.width/E,C*=Q.height/t}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 Oo=-90,_o=1;class dm extends Eg{constructor(A,I,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const B=new GC(Oo,_o,A,I);B.layers=this.layers,this.add(B);const i=new GC(Oo,_o,A,I);i.layers=this.layers,this.add(i);const Q=new GC(Oo,_o,A,I);Q.layers=this.layers,this.add(Q);const e=new GC(Oo,_o,A,I);e.layers=this.layers,this.add(e);const E=new GC(Oo,_o,A,I);E.layers=this.layers,this.add(E);const t=new GC(Oo,_o,A,I);t.layers=this.layers,this.add(t)}updateCoordinateSystem(){const A=this.coordinateSystem,I=this.children.concat(),[C,B,i,Q,e,E]=I;for(const t of I)this.remove(t);if(A===yQ)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),E.up.set(0,1,0),E.lookAt(0,0,-1);else if(A===lr)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),E.up.set(0,-1,0),E.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);for(const t of I)this.add(t),t.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,E,t,n]=this.children,a=A.getRenderTarget(),r=A.getActiveCubeFace(),l=A.getActiveMipmapLevel(),D=A.xr.enabled;A.xr.enabled=!1;const G=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,E),A.setRenderTarget(C,4,B),A.render(I,t),C.texture.generateMipmaps=G,A.setRenderTarget(C,5,B),A.render(I,n),A.setRenderTarget(a,r,l),A.xr.enabled=D,C.texture.needsPMREMUpdate=!0}}class Tr extends mg{constructor(A,I,C,B,i,Q,e,E,t,n){A=A!==void 0?A:[],I=I!==void 0?I:UQ,super(A,I,C,B,i,Q,e,E,t,n),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class dd extends SC{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];I.encoding!==void 0&&(Ht("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),I.colorSpace=I.encoding===uE?eC:$B),this.texture=new Tr(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 xE(5,5,5),i=new NC({name:"CubemapFromEquirect",uniforms:zn(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:fB,blending:ie});i.uniforms.tEquirect.value=I;const Q=new rg(B,i),e=I.minFilter;return I.minFilter===Ii&&(I.minFilter=hg),new dm(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 By=new O,gb=new O,Cb=new PI;class Kg{constructor(A=new O(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=By.subVectors(C,I).cross(gb.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(By),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||Cb.getNormalMatrix(A),B=this.coplanarPoint(By).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 Et=new RC,fc=new O;class xr{constructor(A=new Kg,I=new Kg,C=new Kg,B=new Kg,i=new Kg,Q=new Kg){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=yQ){const C=this.planes,B=A.elements,i=B[0],Q=B[1],e=B[2],E=B[3],t=B[4],n=B[5],a=B[6],r=B[7],l=B[8],D=B[9],G=B[10],h=B[11],c=B[12],y=B[13],S=B[14],k=B[15];if(C[0].setComponents(E-i,r-t,h-l,k-c).normalize(),C[1].setComponents(E+i,r+t,h+l,k+c).normalize(),C[2].setComponents(E+Q,r+n,h+D,k+y).normalize(),C[3].setComponents(E-Q,r-n,h-D,k-y).normalize(),C[4].setComponents(E-e,r-a,h-G,k-S).normalize(),I===yQ)C[5].setComponents(E+e,r+a,h+G,k+S).normalize();else if(I===lr)C[5].setComponents(e,a,G,S).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(),Et.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const I=A.geometry;I.boundingSphere===null&&I.computeBoundingSphere(),Et.copy(I.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Et)}intersectsSprite(A){return Et.center.set(0,0,0),Et.radius=.7071067811865476,Et.applyMatrix4(A.matrixWorld),this.intersectsSphere(Et)}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,fc.y=B.normal.y>0?A.max.y:A.min.y,fc.z=B.normal.z>0?A.max.z:A.min.z,B.distanceToPoint(fc)<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 Mm(){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 Bb(g,A){const I=A.isWebGL2,C=new WeakMap;function B(t,n){const a=t.array,r=t.usage,l=a.byteLength,D=g.createBuffer();g.bindBuffer(n,D),g.bufferData(n,a,r),t.onUploadCallback();let G;if(a instanceof Float32Array)G=g.FLOAT;else if(a instanceof Uint16Array)if(t.isFloat16BufferAttribute)if(I)G=g.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else G=g.UNSIGNED_SHORT;else if(a instanceof Int16Array)G=g.SHORT;else if(a instanceof Uint32Array)G=g.UNSIGNED_INT;else if(a instanceof Int32Array)G=g.INT;else if(a instanceof Int8Array)G=g.BYTE;else if(a instanceof Uint8Array)G=g.UNSIGNED_BYTE;else if(a instanceof Uint8ClampedArray)G=g.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+a);return{buffer:D,type:G,bytesPerElement:a.BYTES_PER_ELEMENT,version:t.version,size:l}}function i(t,n,a){const r=n.array,l=n._updateRange,D=n.updateRanges;if(g.bindBuffer(a,t),l.count===-1&&D.length===0&&g.bufferSubData(a,0,r),D.length!==0){for(let G=0,h=D.length;G 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`,Gb=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,yb=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,ub=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,kb=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,db=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,Mb=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,pb=`#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`,Ub=`#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`,Nb=`#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`,fb=`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`,Fb=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,Rb=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,Kb=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,Jb=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,qb="gl_FragColor = linearToOutputTexel( gl_FragColor );",mb=` +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 ); +}`,Lb=`#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, 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`,Yb=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif + +#endif`,Hb=`#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`,Tb=`#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`,xb=`#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`,vb=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,bb=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,Ob=`#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`,_b=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,Zb=`#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 +}`,Pb=`#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + reflectedLight.indirectDiffuse += lightMapIrradiance; +#endif`,Wb=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,jb=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,Vb=`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`,Xb=`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`,zb=`#ifdef USE_ENVMAP + vec3 getIBLIrradiance( const in vec3 normal ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, 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, 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`,$b=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,AO=`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`,IO=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,gO=`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`,CO=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + material.ior = ior; + #ifdef USE_SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULAR_COLORMAP + specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEEN_COLORMAP + material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); + #ifdef USE_SHEEN_ROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; + #endif +#endif +#ifdef USE_ANISOTROPY + #ifdef USE_ANISOTROPYMAP + mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); + vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; + vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; + #else + vec2 anisotropyV = anisotropyVector; + #endif + material.anisotropy = length( anisotropyV ); + if( material.anisotropy == 0.0 ) { + anisotropyV = vec2( 1.0, 0.0 ); + } else { + anisotropyV /= material.anisotropy; + material.anisotropy = saturate( material.anisotropy ); + } + material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); + material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; + material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; +#endif`,BO=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif + #ifdef IOR + float ior; + #endif + #ifdef USE_TRANSMISSION + float transmission; + float transmissionAlpha; + float thickness; + float attenuationDistance; + vec3 attenuationColor; + #endif + #ifdef USE_ANISOTROPY + float anisotropy; + float alphaT; + vec3 anisotropyT; + vec3 anisotropyB; + #endif +}; +vec3 clearcoatSpecularDirect = vec3( 0.0 ); +vec3 clearcoatSpecularIndirect = vec3( 0.0 ); +vec3 sheenSpecularDirect = vec3( 0.0 ); +vec3 sheenSpecularIndirect = vec3(0.0 ); +vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { + float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); + float x2 = x * x; + float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); + return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); +} +float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { + float a2 = pow2( alpha ); + float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); + float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); + return 0.5 / max( gv + gl, EPSILON ); +} +float D_GGX( const in float alpha, const in float dotNH ) { + float a2 = pow2( alpha ); + float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; + return RECIPROCAL_PI * a2 / pow2( denom ); +} +#ifdef USE_ANISOTROPY + float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { + float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); + float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); + float v = 0.5 / ( gv + gl ); + return saturate(v); + } + float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { + float a2 = alphaT * alphaB; + highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); + highp float v2 = dot( v, v ); + float w2 = a2 / v2; + return RECIPROCAL_PI * a2 * pow2 ( w2 ); + } +#endif +#ifdef USE_CLEARCOAT + vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { + vec3 f0 = material.clearcoatF0; + float f90 = material.clearcoatF90; + float roughness = material.clearcoatRoughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); + } +#endif +vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 f0 = material.specularColor; + float f90 = material.specularF90; + float roughness = material.roughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + #ifdef USE_IRIDESCENCE + F = mix( F, material.iridescenceFresnel, material.iridescence ); + #endif + #ifdef USE_ANISOTROPY + float dotTL = dot( material.anisotropyT, lightDir ); + float dotTV = dot( material.anisotropyT, viewDir ); + float dotTH = dot( material.anisotropyT, halfDir ); + float dotBL = dot( material.anisotropyB, lightDir ); + float dotBV = dot( material.anisotropyB, viewDir ); + float dotBH = dot( material.anisotropyB, halfDir ); + float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); + float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); + #else + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + #endif + return F * ( V * D ); +} +vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { + const float LUT_SIZE = 64.0; + const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; + const float LUT_BIAS = 0.5 / LUT_SIZE; + float dotNV = saturate( dot( N, V ) ); + vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); + uv = uv * LUT_SCALE + LUT_BIAS; + return uv; +} +float LTC_ClippedSphereFormFactor( const in vec3 f ) { + float l = length( f ); + return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); +} +vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { + float x = dot( v1, v2 ); + float y = abs( x ); + float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; + float b = 3.4175940 + ( 4.1616724 + y ) * y; + float v = a / b; + float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; + float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; + float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); + return saturate( DG * RECIPROCAL_PI ); +} +vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); + const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); + vec4 r = roughness * c0 + c1; + float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; + vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; + return fab; +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + vec2 fab = DFGApprox( normal, viewDir, roughness ); + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + vec2 fab = DFGApprox( normal, viewDir, roughness ); + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometryNormal; + vec3 viewDir = geometryViewDir; + vec3 position = geometryPosition; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); + #endif + #ifdef USE_SHEEN + sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); + #endif + reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); + #endif + vec3 singleScattering = vec3( 0.0 ); + vec3 multiScattering = vec3( 0.0 ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); + #else + computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); + #endif + vec3 totalScattering = singleScattering + multiScattering; + vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); + reflectedLight.indirectSpecular += radiance * singleScattering; + reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; + reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,iO=` +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`,QO=`#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`,eO=`#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`,EO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,tO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,oO=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + varying float vFragDepth; + varying float vIsPerspective; + #else + uniform float logDepthBufFC; + #endif +#endif`,nO=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); + #else + if ( isPerspectiveMatrix( projectionMatrix ) ) { + gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; + gl_Position.z *= gl_Position.w; + } + #endif +#endif`,sO=`#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`,aO=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,rO=`#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`,lO=`#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`,cO=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,DO=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,hO=`#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`,wO=`#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`,SO=`#ifdef USE_MORPHTARGETS + uniform float morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + 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`,GO=`#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`,yO=`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;`,uO=`#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`,kO=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,dO=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,MO=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,pO=`#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`,UO=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,NO=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,fO=`#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`,FO=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,RO=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,KO=`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 ); +}`,JO=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,qO=`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;`,mO=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,LO=`#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`,YO=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,HO=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,TO=`#if NUM_SPOT_LIGHT_COORDS > 0 + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#if NUM_SPOT_LIGHT_MAPS > 0 + uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { + return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); + } + vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { + return unpackRGBATo2Half( texture2D( shadow, uv ) ); + } + float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ + float occlusion = 1.0; + vec2 distribution = texture2DDistribution( shadow, uv ); + float hard_shadow = step( compare , distribution.x ); + if (hard_shadow != 1.0 ) { + float distance = compare - distribution.x ; + float variance = max( 0.00000, distribution.y * distribution.y ); + float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); + } + return occlusion; + } + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + #if defined( SHADOWMAP_TYPE_PCF ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx0 = - texelSize.x * shadowRadius; + float dy0 = - texelSize.y * shadowRadius; + float dx1 = + texelSize.x * shadowRadius; + float dy1 = + texelSize.y * shadowRadius; + float dx2 = dx0 / 2.0; + float dy2 = dy0 / 2.0; + float dx3 = dx1 / 2.0; + float dy3 = dy1 / 2.0; + shadow = ( + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) + ) * ( 1.0 / 17.0 ); + #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx = texelSize.x; + float dy = texelSize.y; + vec2 uv = shadowCoord.xy; + vec2 f = fract( uv * shadowMapSize + 0.5 ); + uv -= f * texelSize; + shadow = ( + texture2DCompare( shadowMap, uv, shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), + f.x ), + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), + f.x ), + f.y ) + ) * ( 1.0 / 9.0 ); + #elif defined( SHADOWMAP_TYPE_VSM ) + shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); + #else + shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); + #endif + } + return shadow; + } + vec2 cubeToUV( vec3 v, float texelSizeY ) { + vec3 absV = abs( v ); + float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); + absV *= scaleToCube; + v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); + vec2 planar = v.xy; + float almostATexel = 1.5 * texelSizeY; + float almostOne = 1.0 - almostATexel; + if ( absV.z >= almostOne ) { + if ( v.z > 0.0 ) + planar.x = 4.0 - v.x; + } else if ( absV.x >= almostOne ) { + float signX = sign( v.x ); + planar.x = v.z * signX + 2.0 * signX; + } else if ( absV.y >= almostOne ) { + float signY = sign( v.y ); + planar.x = v.x + 2.0 * signY + 2.0; + planar.y = v.z * signY - 2.0; + } + return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); + } + float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + vec3 lightToPosition = shadowCoord.xyz; + float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + return ( + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) + ) * ( 1.0 / 9.0 ); + #else + return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } +#endif`,xO=`#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`,vO=`#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`,bO=`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; +}`,OO=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,_O=`#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`,ZO=`#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`,PO=`#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`,WO=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,jO=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,VO=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,XO=`#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 CustomToneMapping( vec3 color ) { return color; }`,zO=`#ifdef USE_TRANSMISSION + material.transmission = transmission; + material.transmissionAlpha = 1.0; + material.thickness = thickness; + material.attenuationDistance = attenuationDistance; + material.attenuationColor = attenuationColor; + #ifdef USE_TRANSMISSIONMAP + material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; + #endif + #ifdef USE_THICKNESSMAP + material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmitted = getIBLVolumeRefraction( + n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, + material.attenuationColor, material.attenuationDistance ); + material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); + totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); +#endif`,$O=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + float w0( float a ) { + return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); + } + float w1( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); + } + float w2( float a ){ + return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); + } + float w3( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * a ); + } + float g0( float a ) { + return w0( a ) + w1( a ); + } + float g1( float a ) { + return w2( a ) + w3( a ); + } + float h0( float a ) { + return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); + } + float h1( float a ) { + return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); + } + vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { + uv = uv * texelSize.zw + 0.5; + vec2 iuv = floor( uv ); + vec2 fuv = fract( uv ); + float g0x = g0( fuv.x ); + float g1x = g1( fuv.x ); + float h0x = h0( fuv.x ); + float h1x = h1( fuv.x ); + float h0y = h0( fuv.y ); + float h1y = h1( fuv.y ); + vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); + } + vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { + vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); + vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); + vec2 fLodSizeInv = 1.0 / fLodSize; + vec2 cLodSizeInv = 1.0 / cLodSize; + vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); + vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); + return mix( fSample, cSample, fract( lod ) ); + } + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); + } + vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( isinf( attenuationDistance ) ) { + return vec3( 1.0 ); + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + vec3 attenuatedColor = transmittance * transmittedLight.rgb; + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; + return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); + } +#endif`,A4=`#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`,I4=`#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`,g4=`#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`,C4=`#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 B4=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,i4=`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 +}`,Q4=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,e4=`#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; +varying vec3 vWorldDirection; +#include +void main() { + #ifdef ENVMAP_TYPE_CUBE + vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); + #else + vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,E4=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,t4=`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 +}`,o4=`#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,n4=`#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 +}`,s4=`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,a4=`#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 ); +}`,r4=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,l4=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,c4=`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 +}`,D4=`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 +}`,h4=`#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #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 +}`,w4=`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 +}`,S4=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,G4=`#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 +}`,y4=`#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 + vViewPosition = - mvPosition.xyz; +}`,u4=`#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 +}`,k4=`#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 +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + vViewPosition = - mvPosition.xyz; +#endif +}`,d4=`#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 +}`,M4=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,p4=`#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 +}`,U4=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,N4=`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define USE_SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef USE_SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULAR_COLORMAP + uniform sampler2D specularColorMap; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEEN_COLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEEN_ROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +#ifdef USE_ANISOTROPY + uniform vec2 anisotropyVector; + #ifdef USE_ANISOTROPYMAP + uniform sampler2D anisotropyMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,f4=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,F4=`#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 +}`,R4=`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 + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,K4=`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 +}`,J4=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,q4=`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 +}`,m4=`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 +}`,L4=`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 +}`,Ig={alphahash_fragment:ib,alphahash_pars_fragment:Qb,alphamap_fragment:eb,alphamap_pars_fragment:Eb,alphatest_fragment:tb,alphatest_pars_fragment:ob,aomap_fragment:nb,aomap_pars_fragment:sb,batching_pars_vertex:ab,batching_vertex:rb,begin_vertex:lb,beginnormal_vertex:cb,bsdfs:Db,iridescence_fragment:hb,bumpmap_pars_fragment:wb,clipping_planes_fragment:Sb,clipping_planes_pars_fragment:Gb,clipping_planes_pars_vertex:yb,clipping_planes_vertex:ub,color_fragment:kb,color_pars_fragment:db,color_pars_vertex:Mb,color_vertex:pb,common:Ub,cube_uv_reflection_fragment:Nb,defaultnormal_vertex:fb,displacementmap_pars_vertex:Fb,displacementmap_vertex:Rb,emissivemap_fragment:Kb,emissivemap_pars_fragment:Jb,colorspace_fragment:qb,colorspace_pars_fragment:mb,envmap_fragment:Lb,envmap_common_pars_fragment:Yb,envmap_pars_fragment:Hb,envmap_pars_vertex:Tb,envmap_physical_pars_fragment:zb,envmap_vertex:xb,fog_vertex:vb,fog_pars_vertex:bb,fog_fragment:Ob,fog_pars_fragment:_b,gradientmap_pars_fragment:Zb,lightmap_fragment:Pb,lightmap_pars_fragment:Wb,lights_lambert_fragment:jb,lights_lambert_pars_fragment:Vb,lights_pars_begin:Xb,lights_toon_fragment:$b,lights_toon_pars_fragment:AO,lights_phong_fragment:IO,lights_phong_pars_fragment:gO,lights_physical_fragment:CO,lights_physical_pars_fragment:BO,lights_fragment_begin:iO,lights_fragment_maps:QO,lights_fragment_end:eO,logdepthbuf_fragment:EO,logdepthbuf_pars_fragment:tO,logdepthbuf_pars_vertex:oO,logdepthbuf_vertex:nO,map_fragment:sO,map_pars_fragment:aO,map_particle_fragment:rO,map_particle_pars_fragment:lO,metalnessmap_fragment:cO,metalnessmap_pars_fragment:DO,morphcolor_vertex:hO,morphnormal_vertex:wO,morphtarget_pars_vertex:SO,morphtarget_vertex:GO,normal_fragment_begin:yO,normal_fragment_maps:uO,normal_pars_fragment:kO,normal_pars_vertex:dO,normal_vertex:MO,normalmap_pars_fragment:pO,clearcoat_normal_fragment_begin:UO,clearcoat_normal_fragment_maps:NO,clearcoat_pars_fragment:fO,iridescence_pars_fragment:FO,opaque_fragment:RO,packing:KO,premultiplied_alpha_fragment:JO,project_vertex:qO,dithering_fragment:mO,dithering_pars_fragment:LO,roughnessmap_fragment:YO,roughnessmap_pars_fragment:HO,shadowmap_pars_fragment:TO,shadowmap_pars_vertex:xO,shadowmap_vertex:vO,shadowmask_pars_fragment:bO,skinbase_vertex:OO,skinning_pars_vertex:_O,skinning_vertex:ZO,skinnormal_vertex:PO,specularmap_fragment:WO,specularmap_pars_fragment:jO,tonemapping_fragment:VO,tonemapping_pars_fragment:XO,transmission_fragment:zO,transmission_pars_fragment:$O,uv_pars_fragment:A4,uv_pars_vertex:I4,uv_vertex:g4,worldpos_vertex:C4,background_vert:B4,background_frag:i4,backgroundCube_vert:Q4,backgroundCube_frag:e4,cube_vert:E4,cube_frag:t4,depth_vert:o4,depth_frag:n4,distanceRGBA_vert:s4,distanceRGBA_frag:a4,equirect_vert:r4,equirect_frag:l4,linedashed_vert:c4,linedashed_frag:D4,meshbasic_vert:h4,meshbasic_frag:w4,meshlambert_vert:S4,meshlambert_frag:G4,meshmatcap_vert:y4,meshmatcap_frag:u4,meshnormal_vert:k4,meshnormal_frag:d4,meshphong_vert:M4,meshphong_frag:p4,meshphysical_vert:U4,meshphysical_frag:N4,meshtoon_vert:f4,meshtoon_frag:F4,points_vert:R4,points_frag:K4,shadow_vert:J4,shadow_frag:q4,sprite_vert:m4,sprite_frag:L4},oI={common:{diffuse:{value:new tI(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new PI},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new PI}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new PI}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new PI}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new PI},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new PI},normalScale:{value:new KA(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new PI},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new PI}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new PI}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new PI}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new tI(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 tI(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0},uvTransform:{value:new PI}},sprite:{diffuse:{value:new tI(16777215)},opacity:{value:1},center:{value:new KA(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new PI},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0}}},Xi={basic:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.fog]),vertexShader:Ig.meshbasic_vert,fragmentShader:Ig.meshbasic_frag},lambert:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,oI.lights,{emissive:{value:new tI(0)}}]),vertexShader:Ig.meshlambert_vert,fragmentShader:Ig.meshlambert_frag},phong:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,oI.lights,{emissive:{value:new tI(0)},specular:{value:new tI(1118481)},shininess:{value:30}}]),vertexShader:Ig.meshphong_vert,fragmentShader:Ig.meshphong_frag},standard:{uniforms:MB([oI.common,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.roughnessmap,oI.metalnessmap,oI.fog,oI.lights,{emissive:{value:new tI(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ig.meshphysical_vert,fragmentShader:Ig.meshphysical_frag},toon:{uniforms:MB([oI.common,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.gradientmap,oI.fog,oI.lights,{emissive:{value:new tI(0)}}]),vertexShader:Ig.meshtoon_vert,fragmentShader:Ig.meshtoon_frag},matcap:{uniforms:MB([oI.common,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,{matcap:{value:null}}]),vertexShader:Ig.meshmatcap_vert,fragmentShader:Ig.meshmatcap_frag},points:{uniforms:MB([oI.points,oI.fog]),vertexShader:Ig.points_vert,fragmentShader:Ig.points_frag},dashed:{uniforms:MB([oI.common,oI.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ig.linedashed_vert,fragmentShader:Ig.linedashed_frag},depth:{uniforms:MB([oI.common,oI.displacementmap]),vertexShader:Ig.depth_vert,fragmentShader:Ig.depth_frag},normal:{uniforms:MB([oI.common,oI.bumpmap,oI.normalmap,oI.displacementmap,{opacity:{value:1}}]),vertexShader:Ig.meshnormal_vert,fragmentShader:Ig.meshnormal_frag},sprite:{uniforms:MB([oI.sprite,oI.fog]),vertexShader:Ig.sprite_vert,fragmentShader:Ig.sprite_frag},background:{uniforms:{uvTransform:{value:new PI},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ig.background_vert,fragmentShader:Ig.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ig.backgroundCube_vert,fragmentShader:Ig.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ig.cube_vert,fragmentShader:Ig.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ig.equirect_vert,fragmentShader:Ig.equirect_frag},distanceRGBA:{uniforms:MB([oI.common,oI.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ig.distanceRGBA_vert,fragmentShader:Ig.distanceRGBA_frag},shadow:{uniforms:MB([oI.lights,oI.fog,{color:{value:new tI(0)},opacity:{value:1}}]),vertexShader:Ig.shadow_vert,fragmentShader:Ig.shadow_frag}};Xi.physical={uniforms:MB([Xi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new PI},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new PI},clearcoatNormalScale:{value:new KA(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new PI},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new PI},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new PI},sheen:{value:0},sheenColor:{value:new tI(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new PI},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new PI},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new PI},transmissionSamplerSize:{value:new KA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new PI},attenuationDistance:{value:0},attenuationColor:{value:new tI(0)},specularColor:{value:new tI(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new PI},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new PI},anisotropyVector:{value:new KA},anisotropyMap:{value:null},anisotropyMapTransform:{value:new PI}}]),vertexShader:Ig.meshphysical_vert,fragmentShader:Ig.meshphysical_frag};const Fc={r:0,b:0,g:0};function Y4(g,A,I,C,B,i,Q){const e=new tI(0);let E=i===!0?0:1,t,n,a=null,r=0,l=null;function D(h,c){let y=!1,S=c.isScene===!0?c.background:null;S&&S.isTexture&&(S=(c.backgroundBlurriness>0?I:A).get(S)),S===null?G(e,E):S&&S.isColor&&(G(S,1),y=!0);const k=g.xr.getEnvironmentBlendMode();k==="additive"?C.buffers.color.setClear(0,0,0,1,Q):k==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,Q),(g.autoClear||y)&&g.clear(g.autoClearColor,g.autoClearDepth,g.autoClearStencil),S&&(S.isCubeTexture||S.mapping===ts)?(n===void 0&&(n=new rg(new xE(1,1,1),new NC({name:"BackgroundCubeMaterial",uniforms:zn(Xi.backgroundCube.uniforms),vertexShader:Xi.backgroundCube.vertexShader,fragmentShader:Xi.backgroundCube.fragmentShader,side:fB,depthTest:!1,depthWrite:!1,fog:!1})),n.geometry.deleteAttribute("normal"),n.geometry.deleteAttribute("uv"),n.onBeforeRender=function(N,p,f){this.matrixWorld.copyPosition(f.matrixWorld)},Object.defineProperty(n.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),B.update(n)),n.material.uniforms.envMap.value=S,n.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,n.material.uniforms.backgroundBlurriness.value=c.backgroundBlurriness,n.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,n.material.toneMapped=Fg.getTransfer(S.colorSpace)!==Lg,(a!==S||r!==S.version||l!==g.toneMapping)&&(n.material.needsUpdate=!0,a=S,r=S.version,l=g.toneMapping),n.layers.enableAll(),h.unshift(n,n.geometry,n.material,0,0,null)):S&&S.isTexture&&(t===void 0&&(t=new rg(new De(2,2),new NC({name:"BackgroundMaterial",uniforms:zn(Xi.background.uniforms),vertexShader:Xi.background.vertexShader,fragmentShader:Xi.background.fragmentShader,side:Qi,depthTest:!1,depthWrite:!1,fog:!1})),t.geometry.deleteAttribute("normal"),Object.defineProperty(t.material,"map",{get:function(){return this.uniforms.t2D.value}}),B.update(t)),t.material.uniforms.t2D.value=S,t.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,t.material.toneMapped=Fg.getTransfer(S.colorSpace)!==Lg,S.matrixAutoUpdate===!0&&S.updateMatrix(),t.material.uniforms.uvTransform.value.copy(S.matrix),(a!==S||r!==S.version||l!==g.toneMapping)&&(t.material.needsUpdate=!0,a=S,r=S.version,l=g.toneMapping),t.layers.enableAll(),h.unshift(t,t.geometry,t.material,0,0,null))}function G(h,c){h.getRGB(Fc,km(g)),C.buffers.color.setClear(Fc.r,Fc.g,Fc.b,c,Q)}return{getClearColor:function(){return e},setClearColor:function(h,c=1){e.set(h),E=c,G(e,E)},getClearAlpha:function(){return E},setClearAlpha:function(h){E=h,G(e,E)},render:D}}function H4(g,A,I,C){const B=g.getParameter(g.MAX_VERTEX_ATTRIBS),i=C.isWebGL2?null:A.get("OES_vertex_array_object"),Q=C.isWebGL2||i!==null,e={},E=h(null);let t=E,n=!1;function a(X,sA,oA,GA,b){let CA=!1;if(Q){const gA=G(GA,oA,sA);t!==gA&&(t=gA,l(t.object)),CA=c(X,GA,oA,b),CA&&y(X,GA,oA,b)}else{const gA=sA.wireframe===!0;(t.geometry!==GA.id||t.program!==oA.id||t.wireframe!==gA)&&(t.geometry=GA.id,t.program=oA.id,t.wireframe=gA,CA=!0)}b!==null&&I.update(b,g.ELEMENT_ARRAY_BUFFER),(CA||n)&&(n=!1,q(X,sA,oA,GA),b!==null&&g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,I.get(b).buffer))}function r(){return C.isWebGL2?g.createVertexArray():i.createVertexArrayOES()}function l(X){return C.isWebGL2?g.bindVertexArray(X):i.bindVertexArrayOES(X)}function D(X){return C.isWebGL2?g.deleteVertexArray(X):i.deleteVertexArrayOES(X)}function G(X,sA,oA){const GA=oA.wireframe===!0;let b=e[X.id];b===void 0&&(b={},e[X.id]=b);let CA=b[sA.id];CA===void 0&&(CA={},b[sA.id]=CA);let gA=CA[GA];return gA===void 0&&(gA=h(r()),CA[GA]=gA),gA}function h(X){const sA=[],oA=[],GA=[];for(let b=0;b=0){const W=b[fA];let v=CA[fA];if(v===void 0&&(fA==="instanceMatrix"&&X.instanceMatrix&&(v=X.instanceMatrix),fA==="instanceColor"&&X.instanceColor&&(v=X.instanceColor)),W===void 0||W.attribute!==v||v&&W.data!==v.data)return!0;gA++}return t.attributesNum!==gA||t.index!==GA}function y(X,sA,oA,GA){const b={},CA=sA.attributes;let gA=0;const DA=oA.getAttributes();for(const fA in DA)if(DA[fA].location>=0){let W=CA[fA];W===void 0&&(fA==="instanceMatrix"&&X.instanceMatrix&&(W=X.instanceMatrix),fA==="instanceColor"&&X.instanceColor&&(W=X.instanceColor));const v={};v.attribute=W,W&&W.data&&(v.data=W.data),b[fA]=v,gA++}t.attributes=b,t.attributesNum=gA,t.index=GA}function S(){const X=t.newAttributes;for(let sA=0,oA=X.length;sA=0){let VA=b[DA];if(VA===void 0&&(DA==="instanceMatrix"&&X.instanceMatrix&&(VA=X.instanceMatrix),DA==="instanceColor"&&X.instanceColor&&(VA=X.instanceColor)),VA!==void 0){const W=VA.normalized,v=VA.itemSize,x=I.get(VA);if(x===void 0)continue;const H=x.buffer,EA=x.type,UA=x.bytesPerElement,hA=C.isWebGL2===!0&&(EA===g.INT||EA===g.UNSIGNED_INT||VA.gpuType===ed);if(VA.isInterleavedBufferAttribute){const NA=VA.data,Z=NA.stride,MA=VA.offset;if(NA.isInstancedInterleavedBuffer){for(let eA=0;eA0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.HIGH_FLOAT).precision>0)return"highp";f="mediump"}return f==="mediump"&&g.getShaderPrecisionFormat(g.VERTEX_SHADER,g.MEDIUM_FLOAT).precision>0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const Q=typeof WebGL2RenderingContext<"u"&&g.constructor.name==="WebGL2RenderingContext";let e=I.precision!==void 0?I.precision:"highp";const E=i(e);E!==e&&(console.warn("THREE.WebGLRenderer:",e,"not supported, using",E,"instead."),e=E);const t=Q||A.has("WEBGL_draw_buffers"),n=I.logarithmicDepthBuffer===!0,a=g.getParameter(g.MAX_TEXTURE_IMAGE_UNITS),r=g.getParameter(g.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=g.getParameter(g.MAX_TEXTURE_SIZE),D=g.getParameter(g.MAX_CUBE_MAP_TEXTURE_SIZE),G=g.getParameter(g.MAX_VERTEX_ATTRIBS),h=g.getParameter(g.MAX_VERTEX_UNIFORM_VECTORS),c=g.getParameter(g.MAX_VARYING_VECTORS),y=g.getParameter(g.MAX_FRAGMENT_UNIFORM_VECTORS),S=r>0,k=Q||A.has("OES_texture_float"),N=S&&k,p=Q?g.getParameter(g.MAX_SAMPLES):0;return{isWebGL2:Q,drawBuffers:t,getMaxAnisotropy:B,getMaxPrecision:i,precision:e,logarithmicDepthBuffer:n,maxTextures:a,maxVertexTextures:r,maxTextureSize:l,maxCubemapSize:D,maxAttributes:G,maxVertexUniforms:h,maxVaryings:c,maxFragmentUniforms:y,vertexTextures:S,floatFragmentTextures:k,floatVertexTextures:N,maxSamples:p}}function v4(g){const A=this;let I=null,C=0,B=!1,i=!1;const Q=new Kg,e=new PI,E={value:null,needsUpdate:!1};this.uniform=E,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,n(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(a,r){I=n(a,r,0)},this.setState=function(a,r,l){const D=a.clippingPlanes,G=a.clipIntersection,h=a.clipShadows,c=g.get(a);if(!B||D===null||D.length===0||i&&!h)i?n(null):t();else{const y=i?0:C,S=y*4;let k=c.clippingState||null;E.value=k,k=n(D,r,S,l);for(let N=0;N!==S;++N)k[N]=I[N];c.clippingState=k,this.numIntersection=G?this.numPlanes:0,this.numPlanes+=y}};function t(){E.value!==I&&(E.value=I,E.needsUpdate=C>0),A.numPlanes=C,A.numIntersection=0}function n(a,r,l,D){const G=a!==null?a.length:0;let h=null;if(G!==0){if(h=E.value,D!==!0||h===null){const c=l+G*4,y=r.matrixWorldInverse;e.getNormalMatrix(y),(h===null||h.length0){const t=new dd(E.height);return t.fromEquirectangularTexture(g,Q),A.set(Q,t),Q.addEventListener("dispose",B),I(t.texture,Q.mapping)}else return null}}return Q}function B(Q){const e=Q.target;e.removeEventListener("dispose",B);const E=A.get(e);E!==void 0&&(A.delete(e),E.dispose())}function i(){A=new WeakMap}return{get:C,dispose:i}}class he extends Hr{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,E=B-I;if(this.view!==null&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,n=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=t*this.view.offsetX,Q=i+t*this.view.width,e-=n*this.view.offsetY,E=e-n*this.view.height}this.projectionMatrix.makeOrthographic(i,Q,e,E,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 dn=4,of=[.125,.215,.35,.446,.526,.582],dt=20,iy=new he,nf=new tI;let Qy=null,ey=0,Ey=0;const kt=(1+Math.sqrt(5))/2,Zo=1/kt,sf=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,kt,Zo),new O(0,kt,-Zo),new O(Zo,0,kt),new O(-Zo,0,kt),new O(kt,Zo,0),new O(-kt,Zo,0)];class L0{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){Qy=this._renderer.getRenderTarget(),ey=this._renderer.getActiveCubeFace(),Ey=this._renderer.getActiveMipmapLevel(),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=lf(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=rf(),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?S:0,S,S),n.setRenderTarget(B),G&&n.render(D,e),n.render(A,e)}D.geometry.dispose(),D.material.dispose(),n.toneMapping=r,n.autoClear=a,A.background=h}_textureToCubeUV(A,I){const C=this._renderer,B=A.mapping===UQ||A.mapping===RE;B?(this._cubemapMaterial===null&&(this._cubemapMaterial=lf()),this._cubemapMaterial.uniforms.flipEnvMap.value=A.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=rf());const i=B?this._cubemapMaterial:this._equirectMaterial,Q=new rg(this._lodPlanes[0],i),e=i.uniforms;e.envMap.value=A;const E=this._cubeSize;Rc(I,0,0,3*E,2*E),C.setRenderTarget(I),C.render(Q,iy)}_applyPMREM(A){const I=this._renderer,C=I.autoClear;I.autoClear=!1;for(let B=1;Bdt&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${h} samples when the maximum is set to ${dt}`);const c=[];let y=0;for(let f=0;fS-dn?B-S+dn:0),p=4*(this._cubeSize-k);Rc(I,N,p,3*k,2*k),E.setRenderTarget(I),E.render(a,iy)}}function O4(g){const A=[],I=[],C=[];let B=g;const i=g-dn+1+of.length;for(let Q=0;Qg-dn?E=of[Q-g+dn-1]:Q===0&&(E=0),C.push(E);const t=1/(e-2),n=-t,a=1+t,r=[n,n,a,n,a,a,n,n,a,a,n,a],l=6,D=6,G=3,h=2,c=1,y=new Float32Array(G*D*l),S=new Float32Array(h*D*l),k=new Float32Array(c*D*l);for(let p=0;p2?0:-1,_=[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];y.set(_,G*D*p),S.set(r,h*D*p);const U=[p,p,p,p,p,p];k.set(U,c*D*p)}const N=new WI;N.setAttribute("position",new Ag(y,G)),N.setAttribute("uv",new Ag(S,h)),N.setAttribute("faceIndex",new Ag(k,c)),A.push(N),B>dn&&B--}return{lodPlanes:A,sizeLods:I,sigmas:C}}function af(g,A,I){const C=new SC(g,A,I);return C.texture.mapping=ts,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function Rc(g,A,I,C,B){g.viewport.set(A,I,C,B),g.scissor.set(A,I,C,B)}function _4(g,A,I){const C=new Float32Array(dt),B=new O(0,1,0);return new NC({name:"SphericalGaussianBlur",defines:{n:dt,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:Md(),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:ie,depthTest:!1,depthWrite:!1})}function rf(){return new NC({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Md(),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:ie,depthTest:!1,depthWrite:!1})}function lf(){return new NC({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Md(),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:ie,depthTest:!1,depthWrite:!1})}function Md(){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 Z4(g){let A=new WeakMap,I=null;function C(e){if(e&&e.isTexture){const E=e.mapping,t=E===Wn||E===Er,n=E===UQ||E===RE;if(t||n)if(e.isRenderTargetTexture&&e.needsPMREMUpdate===!0){e.needsPMREMUpdate=!1;let a=A.get(e);return I===null&&(I=new L0(g)),a=t?I.fromEquirectangular(e,a):I.fromCubemap(e,a),A.set(e,a),a.texture}else{if(A.has(e))return A.get(e).texture;{const a=e.image;if(t&&a&&a.height>0||n&&a&&B(a)){I===null&&(I=new L0(g));const r=t?I.fromEquirectangular(e):I.fromCubemap(e);return A.set(e,r),e.addEventListener("dispose",i),r.texture}else return null}}}return e}function B(e){let E=0;const t=6;for(let n=0;nA.maxTextureSize&&(U=Math.ceil(_/A.maxTextureSize),_=A.maxTextureSize);const K=new Float32Array(_*U*4*D),z=new Bw(K,_,U,D);z.type=tC,z.needsUpdate=!0;const cA=q*4;for(let sA=0;sA0)return g;const B=A*I;let i=cf[B];if(i===void 0&&(i=new Float32Array(B),cf[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 KC(g,A){if(g.length!==A.length)return!1;for(let I=0,C=g.length;I":" "} ${e}: ${I[Q]}`)}return C.join(` +`)}function W3(g){const A=Fg.getPrimaries(Fg.workingColorSpace),I=Fg.getPrimaries(g);let C;switch(A===I?C="":A===ar&&I===sr?C="LinearDisplayP3ToLinearSRGB":A===sr&&I===ar&&(C="LinearSRGBToLinearDisplayP3"),g){case NQ:case Yr:return[C,"LinearTransferOETF"];case eC:case Cw:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",g),[C,"LinearTransferOETF"]}}function uf(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+` + +`+P3(g.getShaderSource(A),Q)}else return B}function j3(g,A){const I=W3(A);return`vec4 ${g}( vec4 value ) { return ${I[0]}( ${I[1]}( value ) ); }`}function V3(g,A){let I;switch(A){case Wq:I="Linear";break;case jq:I="Reinhard";break;case Vq:I="OptimizedCineon";break;case Qd:I="ACESFilmic";break;case zq:I="AgX";break;case Xq:I="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",A),I="Linear"}return"vec3 "+g+"( vec3 color ) { return "+I+"ToneMapping( color ); }"}function X3(g){return[g.extensionDerivatives||g.envMapCubeUVHeight||g.bumpMap||g.normalMapTangentSpace||g.clearcoatNormalMap||g.flatShading||g.alphaToCoverage||g.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(g.extensionFragDepth||g.logarithmicDepthBuffer)&&g.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",g.extensionDrawBuffers&&g.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(g.extensionShaderTextureLOD||g.envMap||g.transmission)&&g.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Mn).join(` +`)}function z3(g){return[g.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",g.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Mn).join(` +`)}function $3(g){const A=[];for(const I in g){const C=g[I];C!==!1&&A.push("#define "+I+" "+C)}return A.join(` +`)}function A_(g,A){const I={},C=g.getProgramParameter(A,g.ACTIVE_ATTRIBUTES);for(let B=0;B/gm;function Y0(g){return g.replace(I_,C_)}const g_=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function C_(g,A){let I=Ig[A];if(I===void 0){const C=g_.get(A);if(C!==void 0)I=Ig[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 Y0(I)}const B_=/#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 Mf(g){return g.replace(B_,i_)}function i_(g,A,I,C){let B="";for(let i=parseInt(A);i0&&(c+=` +`),y=[l,"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G].filter(Mn).join(` +`),y.length>0&&(y+=` +`)):(c=[pf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G,I.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",I.batching?"#define USE_BATCHING":"",I.instancing?"#define USE_INSTANCING":"",I.instancingColor?"#define USE_INSTANCING_COLOR":"",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 "+n:"",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&&I.isWebGL2?"#define USE_MORPHCOLORS":"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+I.morphTextureStride:"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_COUNT "+I.morphTargetsCount:"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+E:"",I.sizeAttenuation?"#define USE_SIZEATTENUATION":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",I.logarithmicDepthBuffer&&I.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(Mn).join(` +`),y=[l,pf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G,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 "+t:"",I.envMap?"#define "+n:"",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.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 "+E:"",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":"",I.logarithmicDepthBuffer&&I.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",I.toneMapping!==dQ?"#define TONE_MAPPING":"",I.toneMapping!==dQ?Ig.tonemapping_pars_fragment:"",I.toneMapping!==dQ?V3("toneMapping",I.toneMapping):"",I.dithering?"#define DITHERING":"",I.opaque?"#define OPAQUE":"",Ig.colorspace_pars_fragment,j3("linearToOutputTexel",I.outputColorSpace),I.useDepthPacking?"#define DEPTH_PACKING "+I.depthPacking:"",` +`].filter(Mn).join(` +`)),Q=Y0(Q),Q=kf(Q,I),Q=df(Q,I),e=Y0(e),e=kf(e,I),e=df(e,I),Q=Mf(Q),e=Mf(e),I.isWebGL2&&I.isRawShaderMaterial!==!0&&(S=`#version 300 es +`,c=[D,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+c,y=["precision mediump sampler2DArray;","#define varying in",I.glslVersion===q0?"":"layout(location = 0) out highp vec4 pc_fragColor;",I.glslVersion===q0?"":"#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(` +`)+` +`+y);const k=S+c+Q,N=S+y+e,p=yf(B,B.VERTEX_SHADER,k),f=yf(B,B.FRAGMENT_SHADER,N);B.attachShader(h,p),B.attachShader(h,f),I.index0AttributeName!==void 0?B.bindAttribLocation(h,0,I.index0AttributeName):I.morphTargets===!0&&B.bindAttribLocation(h,0,"position"),B.linkProgram(h);function q(z){if(g.debug.checkShaderErrors){const cA=B.getProgramInfoLog(h).trim(),X=B.getShaderInfoLog(p).trim(),sA=B.getShaderInfoLog(f).trim();let oA=!0,GA=!0;if(B.getProgramParameter(h,B.LINK_STATUS)===!1)if(oA=!1,typeof g.debug.onShaderError=="function")g.debug.onShaderError(B,h,p,f);else{const b=uf(B,p,"vertex"),CA=uf(B,f,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(h,B.VALIDATE_STATUS)+` + +Material Name: `+z.name+` +Material Type: `+z.type+` + +Program Info Log: `+cA+` +`+b+` +`+CA)}else cA!==""?console.warn("THREE.WebGLProgram: Program Info Log:",cA):(X===""||sA==="")&&(GA=!1);GA&&(z.diagnostics={runnable:oA,programLog:cA,vertexShader:{log:X,prefix:c},fragmentShader:{log:sA,prefix:y}})}B.deleteShader(p),B.deleteShader(f),_=new xD(B,h),U=A_(B,h)}let _;this.getUniforms=function(){return _===void 0&&q(this),_};let U;this.getAttributes=function(){return U===void 0&&q(this),U};let K=I.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return K===!1&&(K=B.getProgramParameter(h,_3)),K},this.destroy=function(){C.releaseStatesOfProgram(this),B.deleteProgram(h),this.program=void 0},this.type=I.shaderType,this.name=I.shaderName,this.id=Z3++,this.cacheKey=A,this.usedTimes=1,this.program=h,this.vertexShader=p,this.fragmentShader=f,this}let s_=0;class a_{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 r_(A),I.set(A,C)),C}}class r_{constructor(A){this.id=s_++,this.code=A,this.usedTimes=0}}function l_(g,A,I,C,B,i,Q){const e=new Tt,E=new a_,t=new Set,n=[],a=B.isWebGL2,r=B.logarithmicDepthBuffer,l=B.vertexTextures;let D=B.precision;const G={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 h(U){return t.add(U),U===0?"uv":`uv${U}`}function c(U,K,z,cA,X){const sA=cA.fog,oA=X.geometry,GA=U.isMeshStandardMaterial?cA.environment:null,b=(U.isMeshStandardMaterial?I:A).get(U.envMap||GA),CA=b&&b.mapping===ts?b.image.height:null,gA=G[U.type];U.precision!==null&&(D=B.getMaxPrecision(U.precision),D!==U.precision&&console.warn("THREE.WebGLProgram.getParameters:",U.precision,"not supported, using",D,"instead."));const DA=oA.morphAttributes.position||oA.morphAttributes.normal||oA.morphAttributes.color,fA=DA!==void 0?DA.length:0;let VA=0;oA.morphAttributes.position!==void 0&&(VA=1),oA.morphAttributes.normal!==void 0&&(VA=2),oA.morphAttributes.color!==void 0&&(VA=3);let W,v,x,H;if(gA){const wg=Xi[gA];W=wg.vertexShader,v=wg.fragmentShader}else W=U.vertexShader,v=U.fragmentShader,E.update(U),x=E.getVertexShaderID(U),H=E.getFragmentShaderID(U);const EA=g.getRenderTarget(),UA=X.isInstancedMesh===!0,hA=X.isBatchedMesh===!0,NA=!!U.map,Z=!!U.matcap,MA=!!b,eA=!!U.aoMap,wA=!!U.lightMap,SA=!!U.bumpMap,bA=!!U.normalMap,QA=!!U.displacementMap,F=!!U.emissiveMap,m=!!U.metalnessMap,lA=!!U.roughnessMap,PA=U.anisotropy>0,ZA=U.clearcoat>0,TA=U.iridescence>0,eI=U.sheen>0,BI=U.transmission>0,sI=PA&&!!U.anisotropyMap,hI=ZA&&!!U.clearcoatMap,fI=ZA&&!!U.clearcoatNormalMap,jA=ZA&&!!U.clearcoatRoughnessMap,OI=TA&&!!U.iridescenceMap,YI=TA&&!!U.iridescenceThicknessMap,dI=eI&&!!U.sheenColorMap,EI=eI&&!!U.sheenRoughnessMap,aI=!!U.specularMap,MI=!!U.specularColorMap,LI=!!U.specularIntensityMap,RI=BI&&!!U.transmissionMap,vI=BI&&!!U.thicknessMap,XA=!!U.gradientMap,IA=!!U.alphaMap,II=U.alphaTest>0,gI=!!U.alphaHash,lI=!!U.extensions;let FI=dQ;U.toneMapped&&(EA===null||EA.isXRRenderTarget===!0)&&(FI=g.toneMapping);const sg={isWebGL2:a,shaderID:gA,shaderType:U.type,shaderName:U.name,vertexShader:W,fragmentShader:v,defines:U.defines,customVertexShaderID:x,customFragmentShaderID:H,isRawShaderMaterial:U.isRawShaderMaterial===!0,glslVersion:U.glslVersion,precision:D,batching:hA,instancing:UA,instancingColor:UA&&X.instanceColor!==null,supportsVertexTextures:l,outputColorSpace:EA===null?g.outputColorSpace:EA.isXRRenderTarget===!0?EA.texture.colorSpace:NQ,alphaToCoverage:!!U.alphaToCoverage,map:NA,matcap:Z,envMap:MA,envMapMode:MA&&b.mapping,envMapCubeUVHeight:CA,aoMap:eA,lightMap:wA,bumpMap:SA,normalMap:bA,displacementMap:l&&QA,emissiveMap:F,normalMapObjectSpace:bA&&U.normalMapType===sm,normalMapTangentSpace:bA&&U.normalMapType===TE,metalnessMap:m,roughnessMap:lA,anisotropy:PA,anisotropyMap:sI,clearcoat:ZA,clearcoatMap:hI,clearcoatNormalMap:fI,clearcoatRoughnessMap:jA,iridescence:TA,iridescenceMap:OI,iridescenceThicknessMap:YI,sheen:eI,sheenColorMap:dI,sheenRoughnessMap:EI,specularMap:aI,specularColorMap:MI,specularIntensityMap:LI,transmission:BI,transmissionMap:RI,thicknessMap:vI,gradientMap:XA,opaque:U.transparent===!1&&U.blending===Lt&&U.alphaToCoverage===!1,alphaMap:IA,alphaTest:II,alphaHash:gI,combine:U.combine,mapUv:NA&&h(U.map.channel),aoMapUv:eA&&h(U.aoMap.channel),lightMapUv:wA&&h(U.lightMap.channel),bumpMapUv:SA&&h(U.bumpMap.channel),normalMapUv:bA&&h(U.normalMap.channel),displacementMapUv:QA&&h(U.displacementMap.channel),emissiveMapUv:F&&h(U.emissiveMap.channel),metalnessMapUv:m&&h(U.metalnessMap.channel),roughnessMapUv:lA&&h(U.roughnessMap.channel),anisotropyMapUv:sI&&h(U.anisotropyMap.channel),clearcoatMapUv:hI&&h(U.clearcoatMap.channel),clearcoatNormalMapUv:fI&&h(U.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:jA&&h(U.clearcoatRoughnessMap.channel),iridescenceMapUv:OI&&h(U.iridescenceMap.channel),iridescenceThicknessMapUv:YI&&h(U.iridescenceThicknessMap.channel),sheenColorMapUv:dI&&h(U.sheenColorMap.channel),sheenRoughnessMapUv:EI&&h(U.sheenRoughnessMap.channel),specularMapUv:aI&&h(U.specularMap.channel),specularColorMapUv:MI&&h(U.specularColorMap.channel),specularIntensityMapUv:LI&&h(U.specularIntensityMap.channel),transmissionMapUv:RI&&h(U.transmissionMap.channel),thicknessMapUv:vI&&h(U.thicknessMap.channel),alphaMapUv:IA&&h(U.alphaMap.channel),vertexTangents:!!oA.attributes.tangent&&(bA||PA),vertexColors:U.vertexColors,vertexAlphas:U.vertexColors===!0&&!!oA.attributes.color&&oA.attributes.color.itemSize===4,pointsUvs:X.isPoints===!0&&!!oA.attributes.uv&&(NA||IA),fog:!!sA,useFog:U.fog===!0,fogExp2:!!sA&&sA.isFogExp2,flatShading:U.flatShading===!0,sizeAttenuation:U.sizeAttenuation===!0,logarithmicDepthBuffer:r,skinning:X.isSkinnedMesh===!0,morphTargets:oA.morphAttributes.position!==void 0,morphNormals:oA.morphAttributes.normal!==void 0,morphColors:oA.morphAttributes.color!==void 0,morphTargetsCount:fA,morphTextureStride:VA,numDirLights:K.directional.length,numPointLights:K.point.length,numSpotLights:K.spot.length,numSpotLightMaps:K.spotLightMap.length,numRectAreaLights:K.rectArea.length,numHemiLights:K.hemi.length,numDirLightShadows:K.directionalShadowMap.length,numPointLightShadows:K.pointShadowMap.length,numSpotLightShadows:K.spotShadowMap.length,numSpotLightShadowsWithMaps:K.numSpotLightShadowsWithMaps,numLightProbes:K.numLightProbes,numClippingPlanes:Q.numPlanes,numClipIntersection:Q.numIntersection,dithering:U.dithering,shadowMapEnabled:g.shadowMap.enabled&&z.length>0,shadowMapType:g.shadowMap.type,toneMapping:FI,useLegacyLights:g._useLegacyLights,decodeVideoTexture:NA&&U.map.isVideoTexture===!0&&Fg.getTransfer(U.map.colorSpace)===Lg,premultipliedAlpha:U.premultipliedAlpha,doubleSided:U.side===pi,flipSided:U.side===fB,useDepthPacking:U.depthPacking>=0,depthPacking:U.depthPacking||0,index0AttributeName:U.index0AttributeName,extensionDerivatives:lI&&U.extensions.derivatives===!0,extensionFragDepth:lI&&U.extensions.fragDepth===!0,extensionDrawBuffers:lI&&U.extensions.drawBuffers===!0,extensionShaderTextureLOD:lI&&U.extensions.shaderTextureLOD===!0,extensionClipCullDistance:lI&&U.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:lI&&U.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionFragDepth:a||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:a||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:a||C.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:U.customProgramCacheKey()};return sg.vertexUv1s=t.has(1),sg.vertexUv2s=t.has(2),sg.vertexUv3s=t.has(3),t.clear(),sg}function y(U){const K=[];if(U.shaderID?K.push(U.shaderID):(K.push(U.customVertexShaderID),K.push(U.customFragmentShaderID)),U.defines!==void 0)for(const z in U.defines)K.push(z),K.push(U.defines[z]);return U.isRawShaderMaterial===!1&&(S(K,U),k(K,U),K.push(g.outputColorSpace)),K.push(U.customProgramCacheKey),K.join()}function S(U,K){U.push(K.precision),U.push(K.outputColorSpace),U.push(K.envMapMode),U.push(K.envMapCubeUVHeight),U.push(K.mapUv),U.push(K.alphaMapUv),U.push(K.lightMapUv),U.push(K.aoMapUv),U.push(K.bumpMapUv),U.push(K.normalMapUv),U.push(K.displacementMapUv),U.push(K.emissiveMapUv),U.push(K.metalnessMapUv),U.push(K.roughnessMapUv),U.push(K.anisotropyMapUv),U.push(K.clearcoatMapUv),U.push(K.clearcoatNormalMapUv),U.push(K.clearcoatRoughnessMapUv),U.push(K.iridescenceMapUv),U.push(K.iridescenceThicknessMapUv),U.push(K.sheenColorMapUv),U.push(K.sheenRoughnessMapUv),U.push(K.specularMapUv),U.push(K.specularColorMapUv),U.push(K.specularIntensityMapUv),U.push(K.transmissionMapUv),U.push(K.thicknessMapUv),U.push(K.combine),U.push(K.fogExp2),U.push(K.sizeAttenuation),U.push(K.morphTargetsCount),U.push(K.morphAttributeCount),U.push(K.numDirLights),U.push(K.numPointLights),U.push(K.numSpotLights),U.push(K.numSpotLightMaps),U.push(K.numHemiLights),U.push(K.numRectAreaLights),U.push(K.numDirLightShadows),U.push(K.numPointLightShadows),U.push(K.numSpotLightShadows),U.push(K.numSpotLightShadowsWithMaps),U.push(K.numLightProbes),U.push(K.shadowMapType),U.push(K.toneMapping),U.push(K.numClippingPlanes),U.push(K.numClipIntersection),U.push(K.depthPacking)}function k(U,K){e.disableAll(),K.isWebGL2&&e.enable(0),K.supportsVertexTextures&&e.enable(1),K.instancing&&e.enable(2),K.instancingColor&&e.enable(3),K.matcap&&e.enable(4),K.envMap&&e.enable(5),K.normalMapObjectSpace&&e.enable(6),K.normalMapTangentSpace&&e.enable(7),K.clearcoat&&e.enable(8),K.iridescence&&e.enable(9),K.alphaTest&&e.enable(10),K.vertexColors&&e.enable(11),K.vertexAlphas&&e.enable(12),K.vertexUv1s&&e.enable(13),K.vertexUv2s&&e.enable(14),K.vertexUv3s&&e.enable(15),K.vertexTangents&&e.enable(16),K.anisotropy&&e.enable(17),K.alphaHash&&e.enable(18),K.batching&&e.enable(19),U.push(e.mask),e.disableAll(),K.fog&&e.enable(0),K.useFog&&e.enable(1),K.flatShading&&e.enable(2),K.logarithmicDepthBuffer&&e.enable(3),K.skinning&&e.enable(4),K.morphTargets&&e.enable(5),K.morphNormals&&e.enable(6),K.morphColors&&e.enable(7),K.premultipliedAlpha&&e.enable(8),K.shadowMapEnabled&&e.enable(9),K.useLegacyLights&&e.enable(10),K.doubleSided&&e.enable(11),K.flipSided&&e.enable(12),K.useDepthPacking&&e.enable(13),K.dithering&&e.enable(14),K.transmission&&e.enable(15),K.sheen&&e.enable(16),K.opaque&&e.enable(17),K.pointsUvs&&e.enable(18),K.decodeVideoTexture&&e.enable(19),K.alphaToCoverage&&e.enable(20),U.push(e.mask)}function N(U){const K=G[U.type];let z;if(K){const cA=Xi[K];z=kd.clone(cA.uniforms)}else z=U.uniforms;return z}function p(U,K){let z;for(let cA=0,X=n.length;cA0?C.push(c):l.transparent===!0?B.push(c):I.push(c)}function E(a,r,l,D,G,h){const c=Q(a,r,l,D,G,h);l.transmission>0?C.unshift(c):l.transparent===!0?B.unshift(c):I.unshift(c)}function t(a,r){I.length>1&&I.sort(a||D_),C.length>1&&C.sort(r||Uf),B.length>1&&B.sort(r||Uf)}function n(){for(let a=A,r=g.length;a=i.length?(Q=new Nf,i.push(Q)):Q=i[B],Q}function I(){g=new WeakMap}return{get:A,dispose:I}}function w_(){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 O,color:new tI};break;case"SpotLight":I={position:new O,direction:new O,color:new tI,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":I={position:new O,color:new tI,distance:0,decay:0};break;case"HemisphereLight":I={direction:new O,skyColor:new tI,groundColor:new tI};break;case"RectAreaLight":I={color:new tI,position:new O,halfWidth:new O,halfHeight:new O};break}return g[A.id]=I,I}}}function S_(){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 KA};break;case"SpotLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new KA};break;case"PointLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new KA,shadowCameraNear:1,shadowCameraFar:1e3};break}return g[A.id]=I,I}}}let G_=0;function y_(g,A){return(A.castShadow?2:0)-(g.castShadow?2:0)+(A.map?1:0)-(g.map?1:0)}function u_(g,A){const I=new w_,C=S_(),B={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 n=0;n<9;n++)B.probe.push(new O);const i=new O,Q=new UI,e=new UI;function E(n,a){let r=0,l=0,D=0;for(let z=0;z<9;z++)B.probe[z].set(0,0,0);let G=0,h=0,c=0,y=0,S=0,k=0,N=0,p=0,f=0,q=0,_=0;n.sort(y_);const U=a===!0?Math.PI:1;for(let z=0,cA=n.length;z0&&(A.isWebGL2?g.has("OES_texture_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_FLOAT_1,B.rectAreaLTC2=oI.LTC_FLOAT_2):(B.rectAreaLTC1=oI.LTC_HALF_1,B.rectAreaLTC2=oI.LTC_HALF_2):g.has("OES_texture_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_FLOAT_1,B.rectAreaLTC2=oI.LTC_FLOAT_2):g.has("OES_texture_half_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_HALF_1,B.rectAreaLTC2=oI.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),B.ambient[0]=r,B.ambient[1]=l,B.ambient[2]=D;const K=B.hash;(K.directionalLength!==G||K.pointLength!==h||K.spotLength!==c||K.rectAreaLength!==y||K.hemiLength!==S||K.numDirectionalShadows!==k||K.numPointShadows!==N||K.numSpotShadows!==p||K.numSpotMaps!==f||K.numLightProbes!==_)&&(B.directional.length=G,B.spot.length=c,B.rectArea.length=y,B.point.length=h,B.hemi.length=S,B.directionalShadow.length=k,B.directionalShadowMap.length=k,B.pointShadow.length=N,B.pointShadowMap.length=N,B.spotShadow.length=p,B.spotShadowMap.length=p,B.directionalShadowMatrix.length=k,B.pointShadowMatrix.length=N,B.spotLightMatrix.length=p+f-q,B.spotLightMap.length=f,B.numSpotLightShadowsWithMaps=q,B.numLightProbes=_,K.directionalLength=G,K.pointLength=h,K.spotLength=c,K.rectAreaLength=y,K.hemiLength=S,K.numDirectionalShadows=k,K.numPointShadows=N,K.numSpotShadows=p,K.numSpotMaps=f,K.numLightProbes=_,B.version=G_++)}function t(n,a){let r=0,l=0,D=0,G=0,h=0;const c=a.matrixWorldInverse;for(let y=0,S=n.length;y=e.length?(E=new ff(g,A),e.push(E)):E=e[Q],E}function B(){I=new WeakMap}return{get:C,dispose:B}}class ew extends nC{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=nm,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 Ew extends nC{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 d_=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,M_=`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 p_(g,A,I){let C=new xr;const B=new KA,i=new KA,Q=new Sg,e=new ew({depthPacking:Dd}),E=new Ew,t={},n=I.maxTextureSize,a={[Qi]:fB,[fB]:Qi,[pi]:pi},r=new NC({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new KA},radius:{value:4}},vertexShader:d_,fragmentShader:M_}),l=r.clone();l.defines.HORIZONTAL_PASS=1;const D=new WI;D.setAttribute("position",new Ag(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const G=new rg(D,r),h=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=$h;let c=this.type;this.render=function(p,f,q){if(h.enabled===!1||h.autoUpdate===!1&&h.needsUpdate===!1||p.length===0)return;const _=g.getRenderTarget(),U=g.getActiveCubeFace(),K=g.getActiveMipmapLevel(),z=g.state;z.setBlending(ie),z.buffers.color.setClear(1,1,1,1),z.buffers.depth.setTest(!0),z.setScissorTest(!1);const cA=c!==Pi&&this.type===Pi,X=c===Pi&&this.type!==Pi;for(let sA=0,oA=p.length;sAn||B.y>n)&&(B.x>n&&(i.x=Math.floor(n/CA.x),B.x=i.x*CA.x,b.mapSize.x=i.x),B.y>n&&(i.y=Math.floor(n/CA.y),B.y=i.y*CA.y,b.mapSize.y=i.y)),b.map===null||cA===!0||X===!0){const DA=this.type!==Pi?{minFilter:tg,magFilter:tg}:{};b.map!==null&&b.map.dispose(),b.map=new SC(B.x,B.y,DA),b.map.texture.name=GA.name+".shadowMap",b.camera.updateProjectionMatrix()}g.setRenderTarget(b.map),g.clear();const gA=b.getViewportCount();for(let DA=0;DA0||f.map&&f.alphaTest>0){const z=U.uuid,cA=f.uuid;let X=t[z];X===void 0&&(X={},t[z]=X);let sA=X[cA];sA===void 0&&(sA=U.clone(),X[cA]=sA,f.addEventListener("dispose",N)),U=sA}if(U.visible=f.visible,U.wireframe=f.wireframe,_===Pi?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 z=g.properties.get(U);z.light=q}return U}function k(p,f,q,_,U){if(p.visible===!1)return;if(p.layers.test(f.layers)&&(p.isMesh||p.isLine||p.isPoints)&&(p.castShadow||p.receiveShadow&&U===Pi)&&(!p.frustumCulled||C.intersectsObject(p))){p.modelViewMatrix.multiplyMatrices(q.matrixWorldInverse,p.matrixWorld);const cA=A.update(p),X=p.material;if(Array.isArray(X)){const sA=cA.groups;for(let oA=0,GA=sA.length;oA=1):gA.indexOf("OpenGL ES")!==-1&&(CA=parseFloat(/^OpenGL ES (\d)/.exec(gA)[1]),b=CA>=2);let DA=null,fA={};const VA=g.getParameter(g.SCISSOR_BOX),W=g.getParameter(g.VIEWPORT),v=new Sg().fromArray(VA),x=new Sg().fromArray(W);function H(IA,II,gI,lI){const FI=new Uint8Array(4),sg=g.createTexture();g.bindTexture(IA,sg),g.texParameteri(IA,g.TEXTURE_MIN_FILTER,g.NEAREST),g.texParameteri(IA,g.TEXTURE_MAG_FILTER,g.NEAREST);for(let wg=0;wg"u"?!1:/OculusBrowser/g.test(navigator.userAgent),n=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 D(F,m){return l?new OffscreenCanvas(F,m):cr("canvas")}function G(F,m,lA,PA){let ZA=1;if((F.width>PA||F.height>PA)&&(ZA=PA/Math.max(F.width,F.height)),ZA<1||m===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap){const TA=m?wh:Math.floor,eI=TA(ZA*F.width),BI=TA(ZA*F.height);a===void 0&&(a=D(eI,BI));const sI=lA?D(eI,BI):a;return sI.width=eI,sI.height=BI,sI.getContext("2d").drawImage(F,0,0,eI,BI),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+F.width+"x"+F.height+") to ("+eI+"x"+BI+")."),sI}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+F.width+"x"+F.height+")."),F;return F}function h(F){return m0(F.width)&&m0(F.height)}function c(F){return e?!1:F.wrapS!==IB||F.wrapT!==IB||F.minFilter!==tg&&F.minFilter!==hg}function y(F,m){return F.generateMipmaps&&m&&F.minFilter!==tg&&F.minFilter!==hg}function S(F){g.generateMipmap(F)}function k(F,m,lA,PA,ZA=!1){if(e===!1)return m;if(F!==null){if(g[F]!==void 0)return g[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let TA=m;if(m===g.RED&&(lA===g.FLOAT&&(TA=g.R32F),lA===g.HALF_FLOAT&&(TA=g.R16F),lA===g.UNSIGNED_BYTE&&(TA=g.R8)),m===g.RED_INTEGER&&(lA===g.UNSIGNED_BYTE&&(TA=g.R8UI),lA===g.UNSIGNED_SHORT&&(TA=g.R16UI),lA===g.UNSIGNED_INT&&(TA=g.R32UI),lA===g.BYTE&&(TA=g.R8I),lA===g.SHORT&&(TA=g.R16I),lA===g.INT&&(TA=g.R32I)),m===g.RG&&(lA===g.FLOAT&&(TA=g.RG32F),lA===g.HALF_FLOAT&&(TA=g.RG16F),lA===g.UNSIGNED_BYTE&&(TA=g.RG8)),m===g.RGBA){const eI=ZA?nr:Fg.getTransfer(PA);lA===g.FLOAT&&(TA=g.RGBA32F),lA===g.HALF_FLOAT&&(TA=g.RGBA16F),lA===g.UNSIGNED_BYTE&&(TA=eI===Lg?g.SRGB8_ALPHA8:g.RGBA8),lA===g.UNSIGNED_SHORT_4_4_4_4&&(TA=g.RGBA4),lA===g.UNSIGNED_SHORT_5_5_5_1&&(TA=g.RGB5_A1)}return(TA===g.R16F||TA===g.R32F||TA===g.RG16F||TA===g.RG32F||TA===g.RGBA16F||TA===g.RGBA32F)&&A.get("EXT_color_buffer_float"),TA}function N(F,m,lA){return y(F,lA)===!0||F.isFramebufferTexture&&F.minFilter!==tg&&F.minFilter!==hg?Math.log2(Math.max(m.width,m.height))+1:F.mipmaps!==void 0&&F.mipmaps.length>0?F.mipmaps.length:F.isCompressedTexture&&Array.isArray(F.image)?m.mipmaps.length:1}function p(F){return F===tg||F===tr||F===EE?g.NEAREST:g.LINEAR}function f(F){const m=F.target;m.removeEventListener("dispose",f),_(m),m.isVideoTexture&&n.delete(m)}function q(F){const m=F.target;m.removeEventListener("dispose",q),K(m)}function _(F){const m=C.get(F);if(m.__webglInit===void 0)return;const lA=F.source,PA=r.get(lA);if(PA){const ZA=PA[m.__cacheKey];ZA.usedTimes--,ZA.usedTimes===0&&U(F),Object.keys(PA).length===0&&r.delete(lA)}C.remove(F)}function U(F){const m=C.get(F);g.deleteTexture(m.__webglTexture);const lA=F.source,PA=r.get(lA);delete PA[m.__cacheKey],Q.memory.textures--}function K(F){const m=F.texture,lA=C.get(F),PA=C.get(m);if(PA.__webglTexture!==void 0&&(g.deleteTexture(PA.__webglTexture),Q.memory.textures--),F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let ZA=0;ZA<6;ZA++){if(Array.isArray(lA.__webglFramebuffer[ZA]))for(let TA=0;TA=B.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+B.maxTextures),z+=1,F}function sA(F){const m=[];return m.push(F.wrapS),m.push(F.wrapT),m.push(F.wrapR||0),m.push(F.magFilter),m.push(F.minFilter),m.push(F.anisotropy),m.push(F.internalFormat),m.push(F.format),m.push(F.type),m.push(F.generateMipmaps),m.push(F.premultiplyAlpha),m.push(F.flipY),m.push(F.unpackAlignment),m.push(F.colorSpace),m.join()}function oA(F,m){const lA=C.get(F);if(F.isVideoTexture&&bA(F),F.isRenderTargetTexture===!1&&F.version>0&&lA.__version!==F.version){const PA=F.image;if(PA===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(PA.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{v(lA,F,m);return}}I.bindTexture(g.TEXTURE_2D,lA.__webglTexture,g.TEXTURE0+m)}function GA(F,m){const lA=C.get(F);if(F.version>0&&lA.__version!==F.version){v(lA,F,m);return}I.bindTexture(g.TEXTURE_2D_ARRAY,lA.__webglTexture,g.TEXTURE0+m)}function b(F,m){const lA=C.get(F);if(F.version>0&&lA.__version!==F.version){v(lA,F,m);return}I.bindTexture(g.TEXTURE_3D,lA.__webglTexture,g.TEXTURE0+m)}function CA(F,m){const lA=C.get(F);if(F.version>0&&lA.__version!==F.version){x(lA,F,m);return}I.bindTexture(g.TEXTURE_CUBE_MAP,lA.__webglTexture,g.TEXTURE0+m)}const gA={[KE]:g.REPEAT,[IB]:g.CLAMP_TO_EDGE,[jn]:g.MIRRORED_REPEAT},DA={[tg]:g.NEAREST,[tr]:g.NEAREST_MIPMAP_NEAREST,[EE]:g.NEAREST_MIPMAP_LINEAR,[hg]:g.LINEAR,[qn]:g.LINEAR_MIPMAP_NEAREST,[Ii]:g.LINEAR_MIPMAP_LINEAR},fA={[am]:g.NEVER,[wm]:g.ALWAYS,[rm]:g.LESS,[hd]:g.LEQUAL,[lm]:g.EQUAL,[hm]:g.GEQUAL,[cm]:g.GREATER,[Dm]:g.NOTEQUAL};function VA(F,m,lA){if(m.type===tC&&A.has("OES_texture_float_linear")===!1&&(m.magFilter===hg||m.magFilter===qn||m.magFilter===EE||m.magFilter===Ii||m.minFilter===hg||m.minFilter===qn||m.minFilter===EE||m.minFilter===Ii)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),lA?(g.texParameteri(F,g.TEXTURE_WRAP_S,gA[m.wrapS]),g.texParameteri(F,g.TEXTURE_WRAP_T,gA[m.wrapT]),(F===g.TEXTURE_3D||F===g.TEXTURE_2D_ARRAY)&&g.texParameteri(F,g.TEXTURE_WRAP_R,gA[m.wrapR]),g.texParameteri(F,g.TEXTURE_MAG_FILTER,DA[m.magFilter]),g.texParameteri(F,g.TEXTURE_MIN_FILTER,DA[m.minFilter])):(g.texParameteri(F,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(F,g.TEXTURE_WRAP_T,g.CLAMP_TO_EDGE),(F===g.TEXTURE_3D||F===g.TEXTURE_2D_ARRAY)&&g.texParameteri(F,g.TEXTURE_WRAP_R,g.CLAMP_TO_EDGE),(m.wrapS!==IB||m.wrapT!==IB)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),g.texParameteri(F,g.TEXTURE_MAG_FILTER,p(m.magFilter)),g.texParameteri(F,g.TEXTURE_MIN_FILTER,p(m.minFilter)),m.minFilter!==tg&&m.minFilter!==hg&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),m.compareFunction&&(g.texParameteri(F,g.TEXTURE_COMPARE_MODE,g.COMPARE_REF_TO_TEXTURE),g.texParameteri(F,g.TEXTURE_COMPARE_FUNC,fA[m.compareFunction])),A.has("EXT_texture_filter_anisotropic")===!0){const PA=A.get("EXT_texture_filter_anisotropic");if(m.magFilter===tg||m.minFilter!==EE&&m.minFilter!==Ii||m.type===tC&&A.has("OES_texture_float_linear")===!1||e===!1&&m.type===gB&&A.has("OES_texture_half_float_linear")===!1)return;(m.anisotropy>1||C.get(m).__currentAnisotropy)&&(g.texParameterf(F,PA.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(m.anisotropy,B.getMaxAnisotropy())),C.get(m).__currentAnisotropy=m.anisotropy)}}function W(F,m){let lA=!1;F.__webglInit===void 0&&(F.__webglInit=!0,m.addEventListener("dispose",f));const PA=m.source;let ZA=r.get(PA);ZA===void 0&&(ZA={},r.set(PA,ZA));const TA=sA(m);if(TA!==F.__cacheKey){ZA[TA]===void 0&&(ZA[TA]={texture:g.createTexture(),usedTimes:0},Q.memory.textures++,lA=!0),ZA[TA].usedTimes++;const eI=ZA[F.__cacheKey];eI!==void 0&&(ZA[F.__cacheKey].usedTimes--,eI.usedTimes===0&&U(m)),F.__cacheKey=TA,F.__webglTexture=ZA[TA].texture}return lA}function v(F,m,lA){let PA=g.TEXTURE_2D;(m.isDataArrayTexture||m.isCompressedArrayTexture)&&(PA=g.TEXTURE_2D_ARRAY),m.isData3DTexture&&(PA=g.TEXTURE_3D);const ZA=W(F,m),TA=m.source;I.bindTexture(PA,F.__webglTexture,g.TEXTURE0+lA);const eI=C.get(TA);if(TA.version!==eI.__version||ZA===!0){I.activeTexture(g.TEXTURE0+lA);const BI=Fg.getPrimaries(Fg.workingColorSpace),sI=m.colorSpace===$B?null:Fg.getPrimaries(m.colorSpace),hI=m.colorSpace===$B||BI===sI?g.NONE:g.BROWSER_DEFAULT_WEBGL;g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,m.flipY),g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m.premultiplyAlpha),g.pixelStorei(g.UNPACK_ALIGNMENT,m.unpackAlignment),g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,hI);const fI=c(m)&&h(m.image)===!1;let jA=G(m.image,fI,!1,B.maxTextureSize);jA=QA(m,jA);const OI=h(jA)||e,YI=i.convert(m.format,m.colorSpace);let dI=i.convert(m.type),EI=k(m.internalFormat,YI,dI,m.colorSpace,m.isVideoTexture);VA(PA,m,OI);let aI;const MI=m.mipmaps,LI=e&&m.isVideoTexture!==!0&&EI!==ad,RI=eI.__version===void 0||ZA===!0,vI=TA.dataReady,XA=N(m,jA,OI);if(m.isDepthTexture)EI=g.DEPTH_COMPONENT,e?m.type===tC?EI=g.DEPTH_COMPONENT32F:m.type===Ae?EI=g.DEPTH_COMPONENT24:m.type===GE?EI=g.DEPTH24_STENCIL8:EI=g.DEPTH_COMPONENT16:m.type===tC&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),m.format===yE&&EI===g.DEPTH_COMPONENT&&m.type!==Iw&&m.type!==Ae&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),m.type=Ae,dI=i.convert(m.type)),m.format===jt&&EI===g.DEPTH_COMPONENT&&(EI=g.DEPTH_STENCIL,m.type!==GE&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),m.type=GE,dI=i.convert(m.type))),RI&&(LI?I.texStorage2D(g.TEXTURE_2D,1,EI,jA.width,jA.height):I.texImage2D(g.TEXTURE_2D,0,EI,jA.width,jA.height,0,YI,dI,null));else if(m.isDataTexture)if(MI.length>0&&OI){LI&&RI&&I.texStorage2D(g.TEXTURE_2D,XA,EI,MI[0].width,MI[0].height);for(let IA=0,II=MI.length;IA>=1,II>>=1}}else if(MI.length>0&&OI){LI&&RI&&I.texStorage2D(g.TEXTURE_2D,XA,EI,MI[0].width,MI[0].height);for(let IA=0,II=MI.length;IA0&&vI++,I.texStorage2D(g.TEXTURE_CUBE_MAP,vI,aI,jA[0].width,jA[0].height));for(let IA=0;IA<6;IA++)if(fI){MI?RI&&I.texSubImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+IA,0,0,0,jA[IA].width,jA[IA].height,dI,EI,jA[IA].data):I.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+IA,0,aI,jA[IA].width,jA[IA].height,0,dI,EI,jA[IA].data);for(let II=0;II>TA),jA=Math.max(1,m.height>>TA);ZA===g.TEXTURE_3D||ZA===g.TEXTURE_2D_ARRAY?I.texImage3D(ZA,TA,sI,fI,jA,m.depth,0,eI,BI,null):I.texImage2D(ZA,TA,sI,fI,jA,0,eI,BI,null)}I.bindFramebuffer(g.FRAMEBUFFER,F),SA(m)?E.framebufferTexture2DMultisampleEXT(g.FRAMEBUFFER,PA,ZA,C.get(lA).__webglTexture,0,wA(m)):(ZA===g.TEXTURE_2D||ZA>=g.TEXTURE_CUBE_MAP_POSITIVE_X&&ZA<=g.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&g.framebufferTexture2D(g.FRAMEBUFFER,PA,ZA,C.get(lA).__webglTexture,TA),I.bindFramebuffer(g.FRAMEBUFFER,null)}function EA(F,m,lA){if(g.bindRenderbuffer(g.RENDERBUFFER,F),m.depthBuffer&&!m.stencilBuffer){let PA=e===!0?g.DEPTH_COMPONENT24:g.DEPTH_COMPONENT16;if(lA||SA(m)){const ZA=m.depthTexture;ZA&&ZA.isDepthTexture&&(ZA.type===tC?PA=g.DEPTH_COMPONENT32F:ZA.type===Ae&&(PA=g.DEPTH_COMPONENT24));const TA=wA(m);SA(m)?E.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,TA,PA,m.width,m.height):g.renderbufferStorageMultisample(g.RENDERBUFFER,TA,PA,m.width,m.height)}else g.renderbufferStorage(g.RENDERBUFFER,PA,m.width,m.height);g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_ATTACHMENT,g.RENDERBUFFER,F)}else if(m.depthBuffer&&m.stencilBuffer){const PA=wA(m);lA&&SA(m)===!1?g.renderbufferStorageMultisample(g.RENDERBUFFER,PA,g.DEPTH24_STENCIL8,m.width,m.height):SA(m)?E.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,PA,g.DEPTH24_STENCIL8,m.width,m.height):g.renderbufferStorage(g.RENDERBUFFER,g.DEPTH_STENCIL,m.width,m.height),g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_STENCIL_ATTACHMENT,g.RENDERBUFFER,F)}else{const PA=m.isWebGLMultipleRenderTargets===!0?m.texture:[m.texture];for(let ZA=0;ZA0){lA.__webglFramebuffer[BI]=[];for(let sI=0;sI0){lA.__webglFramebuffer=[];for(let BI=0;BI0&&SA(F)===!1){const BI=TA?m:[m];lA.__webglMultisampledFramebuffer=g.createFramebuffer(),lA.__webglColorRenderbuffer=[],I.bindFramebuffer(g.FRAMEBUFFER,lA.__webglMultisampledFramebuffer);for(let sI=0;sI0)for(let sI=0;sI0)for(let sI=0;sI0&&SA(F)===!1){const m=F.isWebGLMultipleRenderTargets?F.texture:[F.texture],lA=F.width,PA=F.height;let ZA=g.COLOR_BUFFER_BIT;const TA=[],eI=F.stencilBuffer?g.DEPTH_STENCIL_ATTACHMENT:g.DEPTH_ATTACHMENT,BI=C.get(F),sI=F.isWebGLMultipleRenderTargets===!0;if(sI)for(let hI=0;hI0&&A.has("WEBGL_multisampled_render_to_texture")===!0&&m.__useRenderToTexture!==!1}function bA(F){const m=Q.render.frame;n.get(F)!==m&&(n.set(F,m),F.update())}function QA(F,m){const lA=F.colorSpace,PA=F.format,ZA=F.type;return F.isCompressedTexture===!0||F.isVideoTexture===!0||F.format===hh||lA!==NQ&&lA!==$B&&(Fg.getTransfer(lA)===Lg?e===!1?A.has("EXT_sRGB")===!0&&PA===hB?(F.format=hh,F.minFilter=hg,F.generateMipmaps=!1):m=Sd.sRGBToLinear(m):(PA!==hB||ZA!==MQ)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",lA)),m}this.allocateTextureUnit=X,this.resetTextureUnits=cA,this.setTexture2D=oA,this.setTexture2DArray=GA,this.setTexture3D=b,this.setTextureCube=CA,this.rebindTextures=NA,this.setupRenderTarget=Z,this.updateRenderTargetMipmap=MA,this.updateMultisampleRenderTarget=eA,this.setupDepthRenderbuffer=hA,this.setupFrameBufferTexture=H,this.useMultisampledRTT=SA}function Rm(g,A,I){const C=I.isWebGL2;function B(i,Q=$B){let e;const E=Fg.getTransfer(Q);if(i===MQ)return g.UNSIGNED_BYTE;if(i===Ed)return g.UNSIGNED_SHORT_4_4_4_4;if(i===td)return g.UNSIGNED_SHORT_5_5_5_1;if(i===Am)return g.BYTE;if(i===Im)return g.SHORT;if(i===Iw)return g.UNSIGNED_SHORT;if(i===ed)return g.INT;if(i===Ae)return g.UNSIGNED_INT;if(i===tC)return g.FLOAT;if(i===gB)return C?g.HALF_FLOAT:(e=A.get("OES_texture_half_float"),e!==null?e.HALF_FLOAT_OES:null);if(i===gm)return g.ALPHA;if(i===hB)return g.RGBA;if(i===Cm)return g.LUMINANCE;if(i===Bm)return g.LUMINANCE_ALPHA;if(i===yE)return g.DEPTH_COMPONENT;if(i===jt)return g.DEPTH_STENCIL;if(i===hh)return e=A.get("EXT_sRGB"),e!==null?e.SRGB_ALPHA_EXT:null;if(i===mn)return g.RED;if(i===od)return g.RED_INTEGER;if(i===im)return g.RG;if(i===nd)return g.RG_INTEGER;if(i===sd)return g.RGBA_INTEGER;if(i===qD||i===mD||i===LD||i===YD)if(E===Lg)if(e=A.get("WEBGL_compressed_texture_s3tc_srgb"),e!==null){if(i===qD)return e.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===mD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===LD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===YD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(e=A.get("WEBGL_compressed_texture_s3tc"),e!==null){if(i===qD)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===mD)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===LD)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===YD)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===t0||i===o0||i===n0||i===s0)if(e=A.get("WEBGL_compressed_texture_pvrtc"),e!==null){if(i===t0)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===o0)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===n0)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===s0)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===ad)return e=A.get("WEBGL_compressed_texture_etc1"),e!==null?e.COMPRESSED_RGB_ETC1_WEBGL:null;if(i===a0||i===r0)if(e=A.get("WEBGL_compressed_texture_etc"),e!==null){if(i===a0)return E===Lg?e.COMPRESSED_SRGB8_ETC2:e.COMPRESSED_RGB8_ETC2;if(i===r0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:e.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===l0||i===c0||i===D0||i===h0||i===w0||i===S0||i===G0||i===y0||i===u0||i===k0||i===d0||i===M0||i===p0||i===U0)if(e=A.get("WEBGL_compressed_texture_astc"),e!==null){if(i===l0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:e.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===c0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:e.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===D0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:e.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===h0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:e.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===w0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:e.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===S0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:e.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===G0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:e.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===y0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:e.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===u0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:e.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===k0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:e.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===d0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:e.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===M0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:e.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===p0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:e.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===U0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:e.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===HD||i===N0||i===f0)if(e=A.get("EXT_texture_compression_bptc"),e!==null){if(i===HD)return E===Lg?e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:e.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===N0)return e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===f0)return e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===Qm||i===F0||i===R0||i===K0)if(e=A.get("EXT_texture_compression_rgtc"),e!==null){if(i===HD)return e.COMPRESSED_RED_RGTC1_EXT;if(i===F0)return e.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===R0)return e.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===K0)return e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===GE?C?g.UNSIGNED_INT_24_8:(e=A.get("WEBGL_depth_texture"),e!==null?e.UNSIGNED_INT_24_8_WEBGL:null):g[i]!==void 0?g[i]:null}return{convert:B}}class Km extends GC{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}}class fi extends Eg{constructor(){super(),this.isGroup=!0,this.type="Group"}}const f_={type:"move"};class oy{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new fi,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 fi,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 fi,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(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,E=this._grip,t=this._hand;if(A&&I.session.visibilityState!=="visible-blurred"){if(t&&A.hand){Q=!0;for(const G of A.hand.values()){const h=I.getJointPose(G,C),c=this._getHandJoint(t,G);h!==null&&(c.matrix.fromArray(h.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,c.jointRadius=h.radius),c.visible=h!==null}const n=t.joints["index-finger-tip"],a=t.joints["thumb-tip"],r=n.position.distanceTo(a.position),l=.02,D=.005;t.inputState.pinching&&r>l+D?(t.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!t.inputState.pinching&&r<=l-D&&(t.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else E!==null&&A.gripSpace&&(i=I.getPose(A.gripSpace,C),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));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(f_)))}return e!==null&&(e.visible=B!==null),E!==null&&(E.visible=i!==null),t!==null&&(t.visible=Q!==null),this}_getHandJoint(A,I){if(A.joints[I.jointName]===void 0){const C=new fi;C.matrixAutoUpdate=!1,C.visible=!1,A.joints[I.jointName]=C,A.add(C)}return A.joints[I.jointName]}}const F_=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,R_=` +uniform sampler2DArray depthColor; +uniform float depthWidth; +uniform float depthHeight; + +void main() { + + vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); + + if ( coord.x >= 1.0 ) { + + gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class K_{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,I,C){if(this.texture===null){const B=new mg,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 NC({extensions:{fragDepth:!0},vertexShader:F_,fragmentShader:R_,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new rg(new De(20,20),B)}A.render(this.mesh,I)}}reset(){this.texture=null,this.mesh=null}}class J_ extends ce{constructor(A,I){super();const C=this;let B=null,i=1,Q=null,e="local-floor",E=1,t=null,n=null,a=null,r=null,l=null,D=null;const G=new K_,h=I.getContextAttributes();let c=null,y=null;const S=[],k=[],N=new KA;let p=null;const f=new GC;f.layers.enable(1),f.viewport=new Sg;const q=new GC;q.layers.enable(2),q.viewport=new Sg;const _=[f,q],U=new Km;U.layers.enable(1),U.layers.enable(2);let K=null,z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getTargetRaySpace()},this.getControllerGrip=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getGripSpace()},this.getHand=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getHandSpace()};function cA(W){const v=k.indexOf(W.inputSource);if(v===-1)return;const x=S[v];x!==void 0&&(x.update(W.inputSource,W.frame,t||Q),x.dispatchEvent({type:W.type,data:W.inputSource}))}function X(){B.removeEventListener("select",cA),B.removeEventListener("selectstart",cA),B.removeEventListener("selectend",cA),B.removeEventListener("squeeze",cA),B.removeEventListener("squeezestart",cA),B.removeEventListener("squeezeend",cA),B.removeEventListener("end",X),B.removeEventListener("inputsourceschange",sA);for(let W=0;W=0&&(k[H]=null,S[H].disconnect(x))}for(let v=0;v=k.length){k.push(x),H=UA;break}else if(k[UA]===null){k[UA]=x,H=UA;break}if(H===-1)break}const EA=S[H];EA&&EA.connect(x)}}const oA=new O,GA=new O;function b(W,v,x){oA.setFromMatrixPosition(v.matrixWorld),GA.setFromMatrixPosition(x.matrixWorld);const H=oA.distanceTo(GA),EA=v.projectionMatrix.elements,UA=x.projectionMatrix.elements,hA=EA[14]/(EA[10]-1),NA=EA[14]/(EA[10]+1),Z=(EA[9]+1)/EA[5],MA=(EA[9]-1)/EA[5],eA=(EA[8]-1)/EA[0],wA=(UA[8]+1)/UA[0],SA=hA*eA,bA=hA*wA,QA=H/(-eA+wA),F=QA*-eA;v.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(F),W.translateZ(QA),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const m=hA+QA,lA=NA+QA,PA=SA-F,ZA=bA+(H-F),TA=Z*NA/lA*m,eI=MA*NA/lA*m;W.projectionMatrix.makePerspective(PA,ZA,TA,eI,m,lA),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function CA(W,v){v===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(v.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(B===null)return;G.texture!==null&&(W.near=G.depthNear,W.far=G.depthFar),U.near=q.near=f.near=W.near,U.far=q.far=f.far=W.far,(K!==U.near||z!==U.far)&&(B.updateRenderState({depthNear:U.near,depthFar:U.far}),K=U.near,z=U.far,f.near=K,f.far=z,q.near=K,q.far=z,f.updateProjectionMatrix(),q.updateProjectionMatrix(),W.updateProjectionMatrix());const v=W.parent,x=U.cameras;CA(U,v);for(let H=0;H0&&(h.alphaTest.value=c.alphaTest);const y=A.get(c).envMap;if(y&&(h.envMap.value=y,h.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,h.reflectivity.value=c.reflectivity,h.ior.value=c.ior,h.refractionRatio.value=c.refractionRatio),c.lightMap){h.lightMap.value=c.lightMap;const S=g._useLegacyLights===!0?Math.PI:1;h.lightMapIntensity.value=c.lightMapIntensity*S,I(c.lightMap,h.lightMapTransform)}c.aoMap&&(h.aoMap.value=c.aoMap,h.aoMapIntensity.value=c.aoMapIntensity,I(c.aoMap,h.aoMapTransform))}function Q(h,c){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,c.map&&(h.map.value=c.map,I(c.map,h.mapTransform))}function e(h,c){h.dashSize.value=c.dashSize,h.totalSize.value=c.dashSize+c.gapSize,h.scale.value=c.scale}function E(h,c,y,S){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,h.size.value=c.size*y,h.scale.value=S*.5,c.map&&(h.map.value=c.map,I(c.map,h.uvTransform)),c.alphaMap&&(h.alphaMap.value=c.alphaMap,I(c.alphaMap,h.alphaMapTransform)),c.alphaTest>0&&(h.alphaTest.value=c.alphaTest)}function t(h,c){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,h.rotation.value=c.rotation,c.map&&(h.map.value=c.map,I(c.map,h.mapTransform)),c.alphaMap&&(h.alphaMap.value=c.alphaMap,I(c.alphaMap,h.alphaMapTransform)),c.alphaTest>0&&(h.alphaTest.value=c.alphaTest)}function n(h,c){h.specular.value.copy(c.specular),h.shininess.value=Math.max(c.shininess,1e-4)}function a(h,c){c.gradientMap&&(h.gradientMap.value=c.gradientMap)}function r(h,c){h.metalness.value=c.metalness,c.metalnessMap&&(h.metalnessMap.value=c.metalnessMap,I(c.metalnessMap,h.metalnessMapTransform)),h.roughness.value=c.roughness,c.roughnessMap&&(h.roughnessMap.value=c.roughnessMap,I(c.roughnessMap,h.roughnessMapTransform)),A.get(c).envMap&&(h.envMapIntensity.value=c.envMapIntensity)}function l(h,c,y){h.ior.value=c.ior,c.sheen>0&&(h.sheenColor.value.copy(c.sheenColor).multiplyScalar(c.sheen),h.sheenRoughness.value=c.sheenRoughness,c.sheenColorMap&&(h.sheenColorMap.value=c.sheenColorMap,I(c.sheenColorMap,h.sheenColorMapTransform)),c.sheenRoughnessMap&&(h.sheenRoughnessMap.value=c.sheenRoughnessMap,I(c.sheenRoughnessMap,h.sheenRoughnessMapTransform))),c.clearcoat>0&&(h.clearcoat.value=c.clearcoat,h.clearcoatRoughness.value=c.clearcoatRoughness,c.clearcoatMap&&(h.clearcoatMap.value=c.clearcoatMap,I(c.clearcoatMap,h.clearcoatMapTransform)),c.clearcoatRoughnessMap&&(h.clearcoatRoughnessMap.value=c.clearcoatRoughnessMap,I(c.clearcoatRoughnessMap,h.clearcoatRoughnessMapTransform)),c.clearcoatNormalMap&&(h.clearcoatNormalMap.value=c.clearcoatNormalMap,I(c.clearcoatNormalMap,h.clearcoatNormalMapTransform),h.clearcoatNormalScale.value.copy(c.clearcoatNormalScale),c.side===fB&&h.clearcoatNormalScale.value.negate())),c.iridescence>0&&(h.iridescence.value=c.iridescence,h.iridescenceIOR.value=c.iridescenceIOR,h.iridescenceThicknessMinimum.value=c.iridescenceThicknessRange[0],h.iridescenceThicknessMaximum.value=c.iridescenceThicknessRange[1],c.iridescenceMap&&(h.iridescenceMap.value=c.iridescenceMap,I(c.iridescenceMap,h.iridescenceMapTransform)),c.iridescenceThicknessMap&&(h.iridescenceThicknessMap.value=c.iridescenceThicknessMap,I(c.iridescenceThicknessMap,h.iridescenceThicknessMapTransform))),c.transmission>0&&(h.transmission.value=c.transmission,h.transmissionSamplerMap.value=y.texture,h.transmissionSamplerSize.value.set(y.width,y.height),c.transmissionMap&&(h.transmissionMap.value=c.transmissionMap,I(c.transmissionMap,h.transmissionMapTransform)),h.thickness.value=c.thickness,c.thicknessMap&&(h.thicknessMap.value=c.thicknessMap,I(c.thicknessMap,h.thicknessMapTransform)),h.attenuationDistance.value=c.attenuationDistance,h.attenuationColor.value.copy(c.attenuationColor)),c.anisotropy>0&&(h.anisotropyVector.value.set(c.anisotropy*Math.cos(c.anisotropyRotation),c.anisotropy*Math.sin(c.anisotropyRotation)),c.anisotropyMap&&(h.anisotropyMap.value=c.anisotropyMap,I(c.anisotropyMap,h.anisotropyMapTransform))),h.specularIntensity.value=c.specularIntensity,h.specularColor.value.copy(c.specularColor),c.specularColorMap&&(h.specularColorMap.value=c.specularColorMap,I(c.specularColorMap,h.specularColorMapTransform)),c.specularIntensityMap&&(h.specularIntensityMap.value=c.specularIntensityMap,I(c.specularIntensityMap,h.specularIntensityMapTransform))}function D(h,c){c.matcap&&(h.matcap.value=c.matcap)}function G(h,c){const y=A.get(c).light;h.referencePosition.value.setFromMatrixPosition(y.matrixWorld),h.nearDistance.value=y.shadow.camera.near,h.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:B}}function m_(g,A,I,C){let B={},i={},Q=[];const e=I.isWebGL2?g.getParameter(g.MAX_UNIFORM_BUFFER_BINDINGS):0;function E(y,S){const k=S.program;C.uniformBlockBinding(y,k)}function t(y,S){let k=B[y.id];k===void 0&&(D(y),k=n(y),B[y.id]=k,y.addEventListener("dispose",h));const N=S.program;C.updateUBOMapping(y,N);const p=A.render.frame;i[y.id]!==p&&(r(y),i[y.id]=p)}function n(y){const S=a();y.__bindingPointIndex=S;const k=g.createBuffer(),N=y.__size,p=y.usage;return g.bindBuffer(g.UNIFORM_BUFFER,k),g.bufferData(g.UNIFORM_BUFFER,N,p),g.bindBuffer(g.UNIFORM_BUFFER,null),g.bindBufferBase(g.UNIFORM_BUFFER,S,k),k}function a(){for(let y=0;y0&&(k+=N-p),y.__size=k,y.__cache={},this}function G(y){const S={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(S.boundary=4,S.storage=4):y.isVector2?(S.boundary=8,S.storage=8):y.isVector3||y.isColor?(S.boundary=16,S.storage=12):y.isVector4?(S.boundary=16,S.storage=16):y.isMatrix3?(S.boundary=48,S.storage=48):y.isMatrix4?(S.boundary=64,S.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),S}function h(y){const S=y.target;S.removeEventListener("dispose",h);const k=Q.indexOf(S.__bindingPointIndex);Q.splice(k,1),g.deleteBuffer(B[S.id]),delete B[S.id],delete i[S.id]}function c(){for(const y in B)g.deleteBuffer(B[y]);Q=[],B={},i={}}return{bind:E,update:t,dispose:c}}class pd{constructor(A={}){const{canvas:I=Gm(),context:C=null,depth:B=!0,stencil:i=!0,alpha:Q=!1,antialias:e=!1,premultipliedAlpha:E=!0,preserveDrawingBuffer:t=!1,powerPreference:n="default",failIfMajorPerformanceCaveat:a=!1}=A;this.isWebGLRenderer=!0;let r;C!==null?r=C.getContextAttributes().alpha:r=Q;const l=new Uint32Array(4),D=new Int32Array(4);let G=null,h=null;const c=[],y=[];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=eC,this._useLegacyLights=!1,this.toneMapping=dQ,this.toneMappingExposure=1;const S=this;let k=!1,N=0,p=0,f=null,q=-1,_=null;const U=new Sg,K=new Sg;let z=null;const cA=new tI(0);let X=0,sA=I.width,oA=I.height,GA=1,b=null,CA=null;const gA=new Sg(0,0,sA,oA),DA=new Sg(0,0,sA,oA);let fA=!1;const VA=new xr;let W=!1,v=!1,x=null;const H=new UI,EA=new KA,UA=new O,hA={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function NA(){return f===null?GA:1}let Z=C;function MA(J,V){for(let $=0;${function FA(){if(tA.forEach(function(qA){QA.get(qA).currentProgram.isReady()&&tA.delete(qA)}),tA.size===0){iA(J);return}setTimeout(FA,10)}eA.get("KHR_parallel_shader_compile")!==null?FA():setTimeout(FA,10)})};let wg=null;function yg(J){wg&&wg(J)}function dC(){pg.stop()}function ug(){pg.start()}const pg=new Mm;pg.setAnimationLoop(yg),typeof self<"u"&&pg.setContext(self),this.setAnimationLoop=function(J){wg=J,vI.setAnimationLoop(J),J===null?pg.stop():pg.start()},vI.addEventListener("sessionstart",dC),vI.addEventListener("sessionend",ug),this.render=function(J,V){if(V!==void 0&&V.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(k===!0)return;J.matrixWorldAutoUpdate===!0&&J.updateMatrixWorld(),V.parent===null&&V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),vI.enabled===!0&&vI.isPresenting===!0&&(vI.cameraAutoUpdate===!0&&vI.updateCamera(V),V=vI.getCamera()),J.isScene===!0&&J.onBeforeRender(S,J,V,f),h=hI.get(J,y.length),h.init(),y.push(h),H.multiplyMatrices(V.projectionMatrix,V.matrixWorldInverse),VA.setFromProjectionMatrix(H),v=this.localClippingEnabled,W=fI.init(this.clippingPlanes,v),G=sI.get(J,c.length),G.init(),c.push(G),WC(J,V,0,S.sortObjects),G.finish(),S.sortObjects===!0&&G.sort(b,CA),this.info.render.frame++,W===!0&&fI.beginShadows();const $=h.state.shadowsArray;if(jA.render($,J,V),W===!0&&fI.endShadows(),this.info.autoReset===!0&&this.info.reset(),(vI.enabled===!1||vI.isPresenting===!1||vI.hasDepthSensing()===!1)&&OI.render(G,J),h.setupLights(S._useLegacyLights),V.isArrayCamera){const tA=V.cameras;for(let iA=0,FA=tA.length;iA0?h=y[y.length-1]:h=null,c.pop(),c.length>0?G=c[c.length-1]:G=null};function WC(J,V,$,tA){if(J.visible===!1)return;if(J.layers.test(V.layers)){if(J.isGroup)$=J.renderOrder;else if(J.isLOD)J.autoUpdate===!0&&J.update(V);else if(J.isLight)h.pushLight(J),J.castShadow&&h.pushShadow(J);else if(J.isSprite){if(!J.frustumCulled||VA.intersectsSprite(J)){tA&&UA.setFromMatrixPosition(J.matrixWorld).applyMatrix4(H);const qA=TA.update(J),xA=J.material;xA.visible&&G.push(J,qA,xA,$,UA.z,null)}}else if((J.isMesh||J.isLine||J.isPoints)&&(!J.frustumCulled||VA.intersectsObject(J))){const qA=TA.update(J),xA=J.material;if(tA&&(J.boundingSphere!==void 0?(J.boundingSphere===null&&J.computeBoundingSphere(),UA.copy(J.boundingSphere.center)):(qA.boundingSphere===null&&qA.computeBoundingSphere(),UA.copy(qA.boundingSphere.center)),UA.applyMatrix4(J.matrixWorld).applyMatrix4(H)),Array.isArray(xA)){const YA=qA.groups;for(let DI=0,zA=YA.length;DI0&&mi(iA,FA,V,$),tA&&SA.viewport(U.copy(tA)),iA.length>0&&eB(iA,V,$),FA.length>0&&eB(FA,V,$),qA.length>0&&eB(qA,V,$),SA.buffers.depth.setTest(!0),SA.buffers.depth.setMask(!0),SA.buffers.color.setMask(!0),SA.setPolygonOffset(!1)}function mi(J,V,$,tA){if(($.isScene===!0?$.overrideMaterial:null)!==null)return;const FA=wA.isWebGL2;x===null&&(x=new SC(1,1,{generateMipmaps:!0,type:eA.has("EXT_color_buffer_half_float")?gB:MQ,minFilter:Ii,samples:FA?4:0})),S.getDrawingBufferSize(EA),FA?x.setSize(EA.x,EA.y):x.setSize(wh(EA.x),wh(EA.y));const qA=S.getRenderTarget();S.setRenderTarget(x),S.getClearColor(cA),X=S.getClearAlpha(),X<1&&S.setClearColor(16777215,.5),S.clear();const xA=S.toneMapping;S.toneMapping=dQ,eB(J,$,tA),F.updateMultisampleRenderTarget(x),F.updateRenderTargetMipmap(x);let YA=!1;for(let DI=0,zA=V.length;DI0),$A=!!$.morphAttributes.position,GI=!!$.morphAttributes.normal,KI=!!$.morphAttributes.color;let mI=dQ;tA.toneMapped&&(f===null||f.isXRRenderTarget===!0)&&(mI=S.toneMapping);const xI=$.morphAttributes.position||$.morphAttributes.normal||$.morphAttributes.color,nI=xI!==void 0?xI.length:0,QI=QA.get(tA),XI=h.state.lights;if(W===!0&&(v===!0||J!==_)){const OA=J===_&&tA.id===q;fI.setState(tA,J,OA)}let Y=!1;tA.version===QI.__version?(QI.needsLights&&QI.lightsStateVersion!==XI.state.version||QI.outputColorSpace!==xA||iA.isBatchedMesh&&QI.batching===!1||!iA.isBatchedMesh&&QI.batching===!0||iA.isInstancedMesh&&QI.instancing===!1||!iA.isInstancedMesh&&QI.instancing===!0||iA.isSkinnedMesh&&QI.skinning===!1||!iA.isSkinnedMesh&&QI.skinning===!0||iA.isInstancedMesh&&QI.instancingColor===!0&&iA.instanceColor===null||iA.isInstancedMesh&&QI.instancingColor===!1&&iA.instanceColor!==null||QI.envMap!==YA||tA.fog===!0&&QI.fog!==FA||QI.numClippingPlanes!==void 0&&(QI.numClippingPlanes!==fI.numPlanes||QI.numIntersection!==fI.numIntersection)||QI.vertexAlphas!==DI||QI.vertexTangents!==zA||QI.morphTargets!==$A||QI.morphNormals!==GI||QI.morphColors!==KI||QI.toneMapping!==mI||wA.isWebGL2===!0&&QI.morphTargetsCount!==nI)&&(Y=!0):(Y=!0,QI.__version=tA.version);let T=QI.currentProgram;Y===!0&&(T=_I(tA,V,iA));let BA=!1,rA=!1,kA=!1;const RA=T.getUniforms(),mA=QI.uniforms;if(SA.useProgram(T.program)&&(BA=!0,rA=!0,kA=!0),tA.id!==q&&(q=tA.id,rA=!0),BA||_!==J){RA.setValue(Z,"projectionMatrix",J.projectionMatrix),RA.setValue(Z,"viewMatrix",J.matrixWorldInverse);const OA=RA.map.cameraPosition;OA!==void 0&&OA.setValue(Z,UA.setFromMatrixPosition(J.matrixWorld)),wA.logarithmicDepthBuffer&&RA.setValue(Z,"logDepthBufFC",2/(Math.log(J.far+1)/Math.LN2)),(tA.isMeshPhongMaterial||tA.isMeshToonMaterial||tA.isMeshLambertMaterial||tA.isMeshBasicMaterial||tA.isMeshStandardMaterial||tA.isShaderMaterial)&&RA.setValue(Z,"isOrthographic",J.isOrthographicCamera===!0),_!==J&&(_=J,rA=!0,kA=!0)}if(iA.isSkinnedMesh){RA.setOptional(Z,iA,"bindMatrix"),RA.setOptional(Z,iA,"bindMatrixInverse");const OA=iA.skeleton;OA&&(wA.floatVertexTextures?(OA.boneTexture===null&&OA.computeBoneTexture(),RA.setValue(Z,"boneTexture",OA.boneTexture,F)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}iA.isBatchedMesh&&(RA.setOptional(Z,iA,"batchingTexture"),RA.setValue(Z,"batchingTexture",iA._matricesTexture,F));const WA=$.morphAttributes;if((WA.position!==void 0||WA.normal!==void 0||WA.color!==void 0&&wA.isWebGL2===!0)&&YI.update(iA,$,T),(rA||QI.receiveShadow!==iA.receiveShadow)&&(QI.receiveShadow=iA.receiveShadow,RA.setValue(Z,"receiveShadow",iA.receiveShadow)),tA.isMeshGouraudMaterial&&tA.envMap!==null&&(mA.envMap.value=YA,mA.flipEnvMap.value=YA.isCubeTexture&&YA.isRenderTargetTexture===!1?-1:1),rA&&(RA.setValue(Z,"toneMappingExposure",S.toneMappingExposure),QI.needsLights&&P(mA,kA),FA&&tA.fog===!0&&BI.refreshFogUniforms(mA,FA),BI.refreshMaterialUniforms(mA,tA,GA,oA,x),xD.upload(Z,KQ(QI),mA,F)),tA.isShaderMaterial&&tA.uniformsNeedUpdate===!0&&(xD.upload(Z,KQ(QI),mA,F),tA.uniformsNeedUpdate=!1),tA.isSpriteMaterial&&RA.setValue(Z,"center",iA.center),RA.setValue(Z,"modelViewMatrix",iA.modelViewMatrix),RA.setValue(Z,"normalMatrix",iA.normalMatrix),RA.setValue(Z,"modelMatrix",iA.matrixWorld),tA.isShaderMaterial||tA.isRawShaderMaterial){const OA=tA.uniformsGroups;for(let _A=0,AI=OA.length;_A0&&F.useMultisampledRTT(J)===!1?iA=QA.get(J).__webglMultisampledFramebuffer:Array.isArray(zA)?iA=zA[$]:iA=zA,U.copy(J.viewport),K.copy(J.scissor),z=J.scissorTest}else U.copy(gA).multiplyScalar(GA).floor(),K.copy(DA).multiplyScalar(GA).floor(),z=fA;if(SA.bindFramebuffer(Z.FRAMEBUFFER,iA)&&wA.drawBuffers&&tA&&SA.drawBuffers(J,iA),SA.viewport(U),SA.scissor(K),SA.setScissorTest(z),FA){const YA=QA.get(J.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+V,YA.__webglTexture,$)}else if(qA){const YA=QA.get(J.texture),DI=V||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,YA.__webglTexture,$||0,DI)}q=-1},this.readRenderTargetPixels=function(J,V,$,tA,iA,FA,qA){if(!(J&&J.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let xA=QA.get(J).__webglFramebuffer;if(J.isWebGLCubeRenderTarget&&qA!==void 0&&(xA=xA[qA]),xA){SA.bindFramebuffer(Z.FRAMEBUFFER,xA);try{const YA=J.texture,DI=YA.format,zA=YA.type;if(DI!==hB&&aI.convert(DI)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const $A=zA===gB&&(eA.has("EXT_color_buffer_half_float")||wA.isWebGL2&&eA.has("EXT_color_buffer_float"));if(zA!==MQ&&aI.convert(zA)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_TYPE)&&!(zA===tC&&(wA.isWebGL2||eA.has("OES_texture_float")||eA.has("WEBGL_color_buffer_float")))&&!$A){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}V>=0&&V<=J.width-tA&&$>=0&&$<=J.height-iA&&Z.readPixels(V,$,tA,iA,aI.convert(DI),aI.convert(zA),FA)}finally{const YA=f!==null?QA.get(f).__webglFramebuffer:null;SA.bindFramebuffer(Z.FRAMEBUFFER,YA)}}},this.copyFramebufferToTexture=function(J,V,$=0){const tA=Math.pow(2,-$),iA=Math.floor(V.image.width*tA),FA=Math.floor(V.image.height*tA);F.setTexture2D(V,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,$,0,0,J.x,J.y,iA,FA),SA.unbindTexture()},this.copyTextureToTexture=function(J,V,$,tA=0){const iA=V.image.width,FA=V.image.height,qA=aI.convert($.format),xA=aI.convert($.type);F.setTexture2D($,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,$.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,$.unpackAlignment),V.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,iA,FA,qA,xA,V.image.data):V.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,V.mipmaps[0].width,V.mipmaps[0].height,qA,V.mipmaps[0].data):Z.texSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,qA,xA,V.image),tA===0&&$.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),SA.unbindTexture()},this.copyTextureToTexture3D=function(J,V,$,tA,iA=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const FA=J.max.x-J.min.x+1,qA=J.max.y-J.min.y+1,xA=J.max.z-J.min.z+1,YA=aI.convert(tA.format),DI=aI.convert(tA.type);let zA;if(tA.isData3DTexture)F.setTexture3D(tA,0),zA=Z.TEXTURE_3D;else if(tA.isDataArrayTexture||tA.isCompressedArrayTexture)F.setTexture2DArray(tA,0),zA=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,tA.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,tA.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,tA.unpackAlignment);const $A=Z.getParameter(Z.UNPACK_ROW_LENGTH),GI=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),KI=Z.getParameter(Z.UNPACK_SKIP_PIXELS),mI=Z.getParameter(Z.UNPACK_SKIP_ROWS),xI=Z.getParameter(Z.UNPACK_SKIP_IMAGES),nI=$.isCompressedTexture?$.mipmaps[iA]:$.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,nI.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,nI.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,J.min.x),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,J.min.y),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,J.min.z),$.isDataTexture||$.isData3DTexture?Z.texSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,DI,nI.data):$.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Z.compressedTexSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,nI.data)):Z.texSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,DI,nI),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,$A),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,GI),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,KI),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,mI),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,xI),iA===0&&tA.generateMipmaps&&Z.generateMipmap(zA),SA.unbindTexture()},this.initTexture=function(J){J.isCubeTexture?F.setTextureCube(J,0):J.isData3DTexture?F.setTexture3D(J,0):J.isDataArrayTexture||J.isCompressedArrayTexture?F.setTexture2DArray(J,0):F.setTexture2D(J,0),SA.unbindTexture()},this.resetState=function(){N=0,p=0,f=null,SA.reset(),MI.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return yQ}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const I=this.getContext();I.drawingBufferColorSpace=A===Cw?"display-p3":"srgb",I.unpackColorSpace=Fg.workingColorSpace===Yr?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===eC?uE:cd}set outputEncoding(A){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=A===uE?eC:NQ}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 Jm extends pd{}Jm.prototype.isWebGL1Renderer=!0;class tw{constructor(A,I=25e-5){this.isFogExp2=!0,this.name="",this.color=new tI(A),this.density=I}clone(){return new tw(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class ow{constructor(A,I=1,C=1e3){this.isFog=!0,this.name="",this.color=new tI(A),this.near=I,this.far=C}clone(){return new ow(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Xt extends Eg{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class vr{constructor(A,I){this.isInterleavedBuffer=!0,this.array=A,this.stride=I,this.count=A!==void 0?A.length/I:0,this.usage=rr,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Bi()}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Ht("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:E,point:zs.clone(),uv:YB.getInterpolation(zs,Kc,Aa,Jc,Ff,ny,Rf,new KA),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 qc(g,A,I,C,B,i){Vo.subVectors(g,I).addScalar(.5).multiply(C),B!==void 0?($s.x=i*Vo.x-B*Vo.y,$s.y=B*Vo.x+i*Vo.y):$s.copy(Vo),g.copy(A),g.x+=$s.x,g.y+=$s.y,g.applyMatrix4(qm)}const mc=new O,Kf=new O;class Lm extends Eg{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){mc.setFromMatrixPosition(this.matrixWorld);const B=A.ray.origin.distanceTo(mc);this.getObjectForDistance(B).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){mc.setFromMatrixPosition(A.matrixWorld),Kf.setFromMatrixPosition(this.matrixWorld);const C=mc.distanceTo(Kf)/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 zo="batchId",Ve=new UI,vf=new UI,b_=new UI,bf=new UI,ry=new xr,Hc=new oC,tt=new RC,Ca=new O,ly=new v_,cB=new rg,Tc=[];function O_(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 Ag(e,1))}const Q=B>65536?new Uint32Array(C):new Uint16Array(C);I.setAttribute(zo,new Ag(Q,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute(zo))throw new Error(`BatchedMesh: Geometry cannot use attribute "${zo}"`);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===zo)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 oC);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,E=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 t=A.getIndex(),n=t!==null;if(n&&(C===-1?B.indexCount=t.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,D=this._matricesTexture.image.data;a.push(!0),r.push(!0);const G=this._geometryCount;this._geometryCount++,b_.toArray(D,G*16),l.needsUpdate=!0,Q.push(B),e.push({start:n?B.indexStart:B.vertexStart,count:-1}),E.push({boxInitialized:!1,box:new oC,sphereInitialized:!1,sphere:new RC});const h=this.geometry.getAttribute(zo);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 E=e.vertexStart,t=e.vertexCount;for(const l in C.attributes){if(l===zo)continue;const D=I.getAttribute(l),G=C.getAttribute(l);O_(D,G,E);const h=D.itemSize;for(let c=D.count,y=t;c=I.length||I[A]===!1?this:(I[A]=!1,this._visibilityChanged=!0,this)}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,E=Q.attributes.position,t=this._drawRanges[A];for(let n=t.start,a=t.start+t.count;n=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,E=this.geometry;cB.material=this.material,cB.geometry.index=E.index,cB.geometry.attributes=E.attributes,cB.geometry.boundingBox===null&&(cB.geometry.boundingBox=new oC),cB.geometry.boundingSphere===null&&(cB.geometry.boundingSphere=new RC);for(let t=0;t({...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,E=this._active,t=this._visibility,n=this._multiDrawStarts,a=this._multiDrawCounts,r=this._drawRanges,l=this.perObjectFrustumCulled;l&&(bf.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),ry.setFromProjectionMatrix(bf,A.coordinateSystem));let D=0;if(this.sortObjects){vf.copy(this.matrixWorld).invert(),Ca.setFromMatrixPosition(C.matrixWorld).applyMatrix4(vf);for(let c=0,y=t.length;cE)continue;r.applyMatrix4(this.matrixWorld);const q=A.ray.origin.distanceTo(r);qA.far||I.push({distance:q,point:a.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const c=Math.max(0,Q.start),y=Math.min(h.count,Q.start+Q.count);for(let S=c,k=y-1;SE)continue;r.applyMatrix4(this.matrixWorld);const p=A.ray.origin.distanceTo(r);pA.far||I.push({distance:p,point:a.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const I=this.geometry.morphAttributes,C=Object.keys(I);if(C.length>0){const B=I[C[0]];if(B!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,Q=B.length;i0){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:t,distanceToRay:Math.sqrt(e),point:E,index:A,face:null,object:Q})}}class Hm extends mg{constructor(A,I,C,B,i,Q,e,E,t){super(A,I,C,B,i,Q,e,E,t),this.isVideoTexture=!0,this.minFilter=Q!==void 0?Q:hg,this.magFilter=i!==void 0?i:hg,this.generateMipmaps=!1;const n=this;function a(){n.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 __ extends mg{constructor(A,I){super({width:A,height:I}),this.isFramebufferTexture=!0,this.magFilter=tg,this.minFilter=tg,this.generateMipmaps=!1,this.needsUpdate=!0}}class aw extends mg{constructor(A,I,C,B,i,Q,e,E,t,n,a,r){super(null,Q,e,E,t,n,B,i,a,r),this.isCompressedTexture=!0,this.image={width:I,height:C},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class Z_ extends aw{constructor(A,I,C,B,i,Q){super(A,I,C,i,Q),this.isCompressedArrayTexture=!0,this.image.depth=B,this.wrapR=IB}}class P_ extends aw{constructor(A,I,C){super(void 0,A[0].width,A[0].height,I,C,UQ),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class W_ extends mg{constructor(A,I,C,B,i,Q,e,E,t){super(A,I,C,B,i,Q,e,E,t),this.isCanvasTexture=!0,this.needsUpdate=!0}}class BQ{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,E=i-1,t;for(;e<=E;)if(B=Math.floor(e+(E-e)/2),t=C[B]-Q,t<0)e=B+1;else if(t>0)E=B-1;else{E=B;break}if(B=E,C[B]===Q)return B/(i-1);const n=C[B],r=C[B+1]-n,l=(Q-n)/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),E=I||(Q.isVector2?new KA:new O);return E.copy(e).sub(Q).normalize(),E}getTangentAt(A,I){const C=this.getUtoTmapping(A);return this.getTangent(C,I)}computeFrenetFrames(A,I){const C=new O,B=[],i=[],Q=[],e=new O,E=new UI;for(let l=0;l<=A;l++){const D=l/A;B[l]=this.getTangentAt(D,new O)}i[0]=new O,Q[0]=new O;let t=Number.MAX_VALUE;const n=Math.abs(B[0].x),a=Math.abs(B[0].y),r=Math.abs(B[0].z);n<=t&&(t=n,C.set(1,0,0)),a<=t&&(t=a,C.set(0,1,0)),r<=t&&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 D=Math.acos(EC(B[l-1].dot(B[l]),-1,1));i[l].applyMatrix4(E.makeRotationAxis(e,D))}Q[l].crossVectors(B[l],i[l])}if(I===!0){let l=Math.acos(EC(i[0].dot(i[A]),-1,1));l/=A,B[0].dot(e.crossVectors(i[0],i[A]))>0&&(l=-l);for(let D=1;D<=A;D++)i[D].applyMatrix4(E.makeRotationAxis(B[D],l*D)),Q[D].crossVectors(B[D],i[D])}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 rw extends BQ{constructor(A=0,I=0,C=1,B=1,i=0,Q=Math.PI*2,e=!1,E=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=E}getPoint(A,I){const C=I||new KA,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:E===0&&e===i-1&&(e=i-2,E=1);let t,n;this.closed||e>0?t=B[(e-1)%i]:(Oc.subVectors(B[0],B[1]).add(B[0]),t=Oc);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(Xf(e,E.x,t.x,n.x,a.x),Xf(e,E.y,t.y,n.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],E=e.getLength(),t=E===0?0:1-Q/E;return e.getPointAt(t,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=t.getPoint(0);a.equals(this.currentPoint)||this.lineTo(a.x,a.y)}this.curves.push(t);const n=t.getPoint(1);return this.currentPoint.copy(n),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 Or extends WI{constructor(A=[new KA(0,-.5),new KA(.5,0),new KA(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=EC(B,0,Math.PI*2);const i=[],Q=[],e=[],E=[],t=[],n=1/I,a=new O,r=new KA,l=new O,D=new O,G=new O;let h=0,c=0;for(let y=0;y<=A.length-1;y++)switch(y){case 0:h=A[y+1].x-A[y].x,c=A[y+1].y-A[y].y,l.x=c*1,l.y=-h,l.z=c*0,G.copy(l),l.normalize(),E.push(l.x,l.y,l.z);break;case A.length-1:E.push(G.x,G.y,G.z);break;default:h=A[y+1].x-A[y].x,c=A[y+1].y-A[y].y,l.x=c*1,l.y=-h,l.z=c*0,D.copy(l),l.x+=G.x,l.y+=G.y,l.z+=G.z,l.normalize(),E.push(l.x,l.y,l.z),G.copy(D)}for(let y=0;y<=I;y++){const S=C+y*n*B,k=Math.sin(S),N=Math.cos(S);for(let p=0;p<=A.length-1;p++){a.x=A[p].x*k,a.y=A[p].y,a.z=A[p].x*N,Q.push(a.x,a.y,a.z),r.x=y/I,r.y=p/(A.length-1),e.push(r.x,r.y);const f=E[3*p+0]*k,q=E[3*p+1],_=E[3*p+0]*N;t.push(f,q,_)}}for(let y=0;y0&&S(!0),I>0&&S(!1)),this.setIndex(n),this.setAttribute("position",new yI(a,3)),this.setAttribute("normal",new yI(r,3)),this.setAttribute("uv",new yI(l,2));function y(){const k=new O,N=new O;let p=0;const f=(I-A)/C;for(let q=0;q<=i;q++){const _=[],U=q/i,K=U*(I-A)+A;for(let z=0;z<=B;z++){const cA=z/B,X=cA*E+e,sA=Math.sin(X),oA=Math.cos(X);N.x=K*sA,N.y=-U*C+h,N.z=K*oA,a.push(N.x,N.y,N.z),k.set(sA,f,oA).normalize(),r.push(k.x,k.y,k.z),l.push(cA,1-U),_.push(D++)}G.push(_)}for(let q=0;q.9&&f<.1&&(S<.2&&(Q[y+0]+=1),k<.2&&(Q[y+2]+=1),N<.2&&(Q[y+4]+=1))}}function r(y){i.push(y.x,y.y,y.z)}function l(y,S){const k=y*3;S.x=A[k+0],S.y=A[k+1],S.z=A[k+2]}function D(){const y=new O,S=new O,k=new O,N=new O,p=new KA,f=new KA,q=new KA;for(let _=0,U=0;_80*I){e=t=g[0],E=n=g[1];for(let D=I;Dt&&(t=a),r>n&&(n=r);l=Math.max(t-e,n-E),l=l!==0?32767/l:0}return Dr(i,Q,I,e,E,l,0),Q}};function Zm(g,A,I,C,B){let i,Q;if(B===hZ(g,A,I,C)>0)for(i=A;i=A;i-=C)Q=zf(i,g[i],g[i+1],Q);return Q&&ww(Q,Q.next)&&(wr(Q),Q=Q.next),Q}function zt(g,A){if(!g)return g;A||(A=g);let I=g,C;do if(C=!1,!I.steiner&&(ww(I,I.next)||$g(I.prev,I,I.next)===0)){if(wr(I),I=A=I.prev,I===I.next)break;C=!0}else I=I.next;while(C||I!==A);return A}function Dr(g,A,I,C,B,i,Q){if(!g)return;!Q&&i&&sZ(g,C,B,i);let e=g,E,t;for(;g.prev!==g.next;){if(E=g.prev,t=g.next,i?BZ(g,C,B,i):CZ(g)){A.push(E.i/I|0),A.push(g.i/I|0),A.push(t.i/I|0),wr(g),g=t.next,e=t.next;continue}if(g=t,g===e){Q?Q===1?(g=iZ(zt(g),A,I),Dr(g,A,I,C,B,i,2)):Q===2&&QZ(g,A,I,C,B,i):Dr(zt(g),A,I,C,B,i,1);break}}}function CZ(g){const A=g.prev,I=g,C=g.next;if($g(A,I,C)>=0)return!1;const B=A.x,i=I.x,Q=C.x,e=A.y,E=I.y,t=C.y,n=Bi?B>Q?B:Q:i>Q?i:Q,l=e>E?e>t?e:t:E>t?E:t;let D=C.next;for(;D!==A;){if(D.x>=n&&D.x<=r&&D.y>=a&&D.y<=l&&pn(B,e,i,E,Q,t,D.x,D.y)&&$g(D.prev,D,D.next)>=0)return!1;D=D.next}return!0}function BZ(g,A,I,C){const B=g.prev,i=g,Q=g.next;if($g(B,i,Q)>=0)return!1;const e=B.x,E=i.x,t=Q.x,n=B.y,a=i.y,r=Q.y,l=eE?e>t?e:t:E>t?E:t,h=n>a?n>r?n:r:a>r?a:r,c=T0(l,D,A,I,C),y=T0(G,h,A,I,C);let S=g.prevZ,k=g.nextZ;for(;S&&S.z>=c&&k&&k.z<=y;){if(S.x>=l&&S.x<=G&&S.y>=D&&S.y<=h&&S!==B&&S!==Q&&pn(e,n,E,a,t,r,S.x,S.y)&&$g(S.prev,S,S.next)>=0||(S=S.prevZ,k.x>=l&&k.x<=G&&k.y>=D&&k.y<=h&&k!==B&&k!==Q&&pn(e,n,E,a,t,r,k.x,k.y)&&$g(k.prev,k,k.next)>=0))return!1;k=k.nextZ}for(;S&&S.z>=c;){if(S.x>=l&&S.x<=G&&S.y>=D&&S.y<=h&&S!==B&&S!==Q&&pn(e,n,E,a,t,r,S.x,S.y)&&$g(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;k&&k.z<=y;){if(k.x>=l&&k.x<=G&&k.y>=D&&k.y<=h&&k!==B&&k!==Q&&pn(e,n,E,a,t,r,k.x,k.y)&&$g(k.prev,k,k.next)>=0)return!1;k=k.nextZ}return!0}function iZ(g,A,I){let C=g;do{const B=C.prev,i=C.next.next;!ww(B,i)&&Pm(B,C,C.next,i)&&hr(B,i)&&hr(i,B)&&(A.push(B.i/I|0),A.push(C.i/I|0),A.push(i.i/I|0),wr(C),wr(C.next),C=g=i),C=C.next}while(C!==g);return zt(C)}function QZ(g,A,I,C,B,i){let Q=g;do{let e=Q.next.next;for(;e!==Q.prev;){if(Q.i!==e.i&&lZ(Q,e)){let E=Wm(Q,e);Q=zt(Q,Q.next),E=zt(E,E.next),Dr(Q,A,I,C,B,i,0),Dr(E,A,I,C,B,i,0);return}e=e.next}Q=Q.next}while(Q!==g)}function eZ(g,A,I,C){const B=[];let i,Q,e,E,t;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>=E&&i!==I.x&&pn(QB.x||I.x===B.x&&nZ(B,I)))&&(B=I,n=a)),I=I.next;while(I!==e);return B}function nZ(g,A){return $g(g.prev,g,A.prev)<0&&$g(A.next,g,g.next)<0}function sZ(g,A,I,C){let B=g;do B.z===0&&(B.z=T0(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,aZ(B)}function aZ(g){let A,I,C,B,i,Q,e,E,t=1;do{for(I=g,g=null,i=null,Q=0;I;){for(Q++,C=I,e=0,A=0;A0||E>0&&C;)e!==0&&(E===0||!C||I.z<=C.z)?(B=I,I=I.nextZ,e--):(B=C,C=C.nextZ,E--),i?i.nextZ=B:g=B,B.prevZ=i,i=B;I=C}i.nextZ=null,t*=2}while(Q>1);return g}function T0(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 rZ(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 lZ(g,A){return g.next.i!==A.i&&g.prev.i!==A.i&&!cZ(g,A)&&(hr(g,A)&&hr(A,g)&&DZ(g,A)&&($g(g.prev,g,A.prev)||$g(g,A.prev,A))||ww(g,A)&&$g(g.prev,g,g.next)>0&&$g(A.prev,A,A.next)>0)}function $g(g,A,I){return(A.y-g.y)*(I.x-A.x)-(A.x-g.x)*(I.y-A.y)}function ww(g,A){return g.x===A.x&&g.y===A.y}function Pm(g,A,I,C){const B=jc($g(g,A,I)),i=jc($g(g,A,C)),Q=jc($g(I,C,g)),e=jc($g(I,C,A));return!!(B!==i&&Q!==e||B===0&&Wc(g,I,A)||i===0&&Wc(g,C,A)||Q===0&&Wc(I,g,C)||e===0&&Wc(I,A,C))}function Wc(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 jc(g){return g>0?1:g<0?-1:0}function cZ(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&&Pm(I,I.next,g,A))return!0;I=I.next}while(I!==g);return!1}function hr(g,A){return $g(g.prev,g,g.next)<0?$g(g,A,g.next)>=0&&$g(g,g.prev,A)>=0:$g(g,A,g.prev)<0||$g(g,g.next,A)<0}function DZ(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 Wm(g,A){const I=new x0(g.i,g.x,g.y),C=new x0(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 zf(g,A,I,C){const B=new x0(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 wr(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 x0(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 hZ(g,A,I,C){let B=0;for(let i=A,Q=I-C;i2&&g[A-1].equals(g[0])&&g.pop()}function AF(g,A){for(let I=0;INumber.EPSILON){const TA=Math.sqrt(PA),eI=Math.sqrt(m*m+lA*lA),BI=MA.x-F/TA,sI=MA.y+QA/TA,hI=eA.x-lA/eI,fI=eA.y+m/eI,jA=((hI-BI)*lA-(fI-sI)*m)/(QA*lA-F*m);wA=BI+QA*jA-Z.x,SA=sI+F*jA-Z.y;const OI=wA*wA+SA*SA;if(OI<=2)return new KA(wA,SA);bA=Math.sqrt(OI/2)}else{let TA=!1;QA>Number.EPSILON?m>Number.EPSILON&&(TA=!0):QA<-Number.EPSILON?m<-Number.EPSILON&&(TA=!0):Math.sign(F)===Math.sign(lA)&&(TA=!0),TA?(wA=-F,SA=QA,bA=Math.sqrt(PA)):(wA=QA,SA=F,bA=Math.sqrt(PA/2))}return new KA(wA/bA,SA/bA)}const CA=[];for(let Z=0,MA=X.length,eA=MA-1,wA=Z+1;Z=0;Z--){const MA=Z/h,eA=l*Math.cos(MA*Math.PI/2),wA=D*Math.sin(MA*Math.PI/2)+G;for(let SA=0,bA=X.length;SA=0;){const wA=eA;let SA=eA-1;SA<0&&(SA=Z.length-1);for(let bA=0,QA=n+h*2;bA0)&&l.push(S,k,p),(c!==C-1||E0!=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 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.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 zm extends nC{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new tI(16777215),this.specular=new tI(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,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.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 $m extends nC{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new tI(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 AL extends nC{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 IL extends nC{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new tI(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,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.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 gL extends nC{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new tI(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 CL extends GB{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 Kt(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 BL(g){return ArrayBuffer.isView(g)&&!(g instanceof DataView)}function iL(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 v0(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 E=0;E!==A;++E)B[Q++]=g[e+E]}return B}function Hd(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 yZ(g,A,I,C,B=30){const i=g.clone();i.name=A;const Q=[];for(let E=0;E=C)){a.push(t.times[l]);for(let G=0;Gi.tracks[E].times[0]&&(e=i.tracks[E].times[0]);for(let E=0;E=e.times[D]){const c=D*a+n,y=c+a-n;G=e.values.slice(c,y)}else{const c=e.createInterpolant(),y=n,S=a-n;c.evaluate(i),G=c.resultBuffer.slice(y,S)}E==="quaternion"&&new _g().fromArray(G).normalize().conjugate().toArray(G);const h=t.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 E=C[e];if(typeof E=="number"&&isNaN(E)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,E),A=!1;break}if(Q!==null&&Q>E){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,E,Q),A=!1;break}Q=E}if(B!==void 0&&BL(B))for(let e=0,E=B.length;e!==E;++e){const t=B[e];if(isNaN(t)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,t),A=!1;break}}return A}optimize(){const A=this.times.slice(),I=this.values.slice(),C=this.getValueSize(),B=this.getInterpolation()===TD,i=A.length-1;let Q=1;for(let e=1;e0){A[Q]=A[i];for(let e=i*C,E=Q*C,t=0;t!==C;++t)I[E+t]=I[e+t];++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}}iQ.prototype.TimeBufferType=Float32Array;iQ.prototype.ValueBufferType=Float32Array;iQ.prototype.DefaultInterpolation=Vt;class Eo extends iQ{}Eo.prototype.ValueTypeName="bool";Eo.prototype.ValueBufferType=Array;Eo.prototype.DefaultInterpolation=Vn;Eo.prototype.InterpolantFactoryMethodLinear=void 0;Eo.prototype.InterpolantFactoryMethodSmooth=void 0;class xd extends iQ{}xd.prototype.ValueTypeName="color";class $n extends iQ{}$n.prototype.ValueTypeName="number";class EL extends rs{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,E=(C-I)/(B-I);let t=A*e;for(let n=t+e;t!==n;t+=4)_g.slerpFlat(i,0,Q,t-e,Q,t,E);return i}}class qE extends iQ{InterpolantFactoryMethodLinear(A){return new EL(this.times,this.values,this.getValueSize(),A)}}qE.prototype.ValueTypeName="quaternion";qE.prototype.DefaultInterpolation=Vt;qE.prototype.InterpolantFactoryMethodSmooth=void 0;class to extends iQ{}to.prototype.ValueTypeName="string";to.prototype.ValueBufferType=Array;to.prototype.DefaultInterpolation=Vn;to.prototype.InterpolantFactoryMethodLinear=void 0;to.prototype.InterpolantFactoryMethodSmooth=void 0;class As extends iQ{}As.prototype.ValueTypeName="vector";class Is{constructor(A,I=-1,C,B=gw){this.name=A,this.tracks=C,this.duration=I,this.blendMode=B,this.uuid=Bi(),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(MZ(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(iQ.toJSON(C[i]));return B}static CreateFromMorphTargetSequence(A,I,C,B){const i=I.length,Q=[];for(let e=0;e1){const a=n[1];let r=B[a];r||(B[a]=r=[]),r.push(t)}}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,D,G){if(l.length!==0){const h=[],c=[];Hd(l,h,c,D),h.length!==0&&G.push(new a(r,h,c))}},B=[],i=A.name||"default",Q=A.fps||30,e=A.blendMode;let E=A.length||-1;const t=A.hierarchy||[];for(let a=0;a{I&&I(i),this.manager.itemEnd(A)},0),i;if(_Q[A]!==void 0){_Q[A].push({onLoad:I,onProgress:C,onError:B});return}_Q[A]=[],_Q[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,E=this.responseType;fetch(Q).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||t.body===void 0||t.body.getReader===void 0)return t;const n=_Q[A],a=t.body.getReader(),r=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),l=r?parseInt(r):0,D=l!==0;let G=0;const h=new ReadableStream({start(c){y();function y(){a.read().then(({done:S,value:k})=>{if(S)c.close();else{G+=k.byteLength;const N=new ProgressEvent("progress",{lengthComputable:D,loaded:G,total:l});for(let p=0,f=n.length;p{switch(E){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(n=>new DOMParser().parseFromString(n,e));case"json":return t.json();default:if(e===void 0)return t.text();{const a=/charset="?([^;"\s]*)"?/i.exec(e),r=a&&a[1]?a[1].toLowerCase():void 0,l=new TextDecoder(r);return t.arrayBuffer().then(D=>l.decode(D))}}}).then(t=>{ge.add(A,t);const n=_Q[A];delete _Q[A];for(let a=0,r=n.length;a{const n=_Q[A];if(n===void 0)throw this.manager.itemError(A),t;delete _Q[A];for(let a=0,r=n.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 UZ extends QB{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new bB(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(E){B?B(E):console.error(E),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 tI().setHex(Q.value);break;case"v2":B.uniforms[i].value=new KA().fromArray(Q.value);break;case"v3":B.uniforms[i].value=new O().fromArray(Q.value);break;case"v4":B.uniforms[i].value=new Sg().fromArray(Q.value);break;case"m3":B.uniforms[i].value=new PI().fromArray(Q.value);break;case"m4":B.uniforms[i].value=new UI().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 KA().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.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 KA().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:Vm,SpriteMaterial:Ud,RawShaderMaterial:Xm,ShaderMaterial:NC,PointsMaterial:sw,MeshPhysicalMaterial:FQ,MeshStandardMaterial:Wr,MeshPhongMaterial:zm,MeshToonMaterial:$m,MeshNormalMaterial:AL,MeshLambertMaterial:IL,MeshDepthMaterial:ew,MeshDistanceMaterial:Ew,MeshBasicMaterial:uC,MeshMatcapMaterial:gL,LineDashedMaterial:CL,LineBasicMaterial:GB,Material:nC};return new I[A]}}class pQ{static decodeText(A){if(typeof TextDecoder<"u")return new TextDecoder().decode(A);let I="";for(let C=0,B=A.length;C0){const E=new vd(I);i=new Sr(E),i.setCrossOrigin(this.crossOrigin);for(let t=0,n=A.length;t0){B=new Sr(this.manager),B.setCrossOrigin(this.crossOrigin);for(let Q=0,e=A.length;Q{const h=new oC;h.min.fromArray(G.boxMin),h.max.fromArray(G.boxMax);const c=new RC;return c.radius=G.sphereRadius,c.center.fromArray(G.sphereCenter),{boxInitialized:G.boxInitialized,box:h,sphereInitialized:G.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=t(A.matricesTexture.uuid);break;case"LOD":Q=new Lm;break;case"Line":Q=new oe(e(A.geometry),E(A.material));break;case"LineLoop":Q=new Fd(e(A.geometry),E(A.material));break;case"LineSegments":Q=new CQ(e(A.geometry),E(A.material));break;case"PointCloud":case"Points":Q=new Rd(e(A.geometry),E(A.material));break;case"Sprite":Q=new mm(E(A.material));break;case"Group":Q=new fi;break;case"Bone":Q=new nw;break;default:Q=new Eg}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=ge.get(A);if(Q!==void 0){if(i.manager.itemStart(A),Q.then){Q.then(t=>{I&&I(t),i.manager.itemEnd(A)}).catch(t=>{B&&B(t)});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 E=fetch(A,e).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(t){return ge.add(A,t),I&&I(t),i.manager.itemEnd(A),t}).catch(function(t){B&&B(t),ge.remove(A),i.manager.itemError(A),i.manager.itemEnd(A)});ge.add(A,E),i.manager.itemStart(A)}}let Vc;class Wd{static getContext(){return Vc===void 0&&(Vc=new(window.AudioContext||window.webkitAudioContext)),Vc}static setContext(A){Vc=A}}class qZ extends QB{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new bB(this.manager);Q.setResponseType("arraybuffer"),Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(E){try{const t=E.slice(0);Wd.getContext().decodeAudioData(t,function(a){I(a)}).catch(e)}catch(t){e(t)}},C,B);function e(E){B?B(E):console.error(E),i.manager.itemError(A)}}}const EF=new UI,tF=new UI,ot=new UI;class mZ{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new GC,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new GC,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,ot.copy(A.projectionMatrix);const B=I.eyeSep/2,i=B*I.near/I.focus,Q=I.near*Math.tan(Yt*I.fov*.5)/I.zoom;let e,E;tF.elements[12]=-B,EF.elements[12]=B,e=-Q*I.aspect+i,E=Q*I.aspect+i,ot.elements[0]=2*I.near/(E-e),ot.elements[8]=(E+e)/(E-e),this.cameraL.projectionMatrix.copy(ot),e=-Q*I.aspect-i,E=Q*I.aspect-i,ot.elements[0]=2*I.near/(E-e),ot.elements[8]=(E+e)/(E-e),this.cameraR.projectionMatrix.copy(ot)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(tF),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(EF)}}class jd{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=oF(),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=oF();A=(I-this.oldTime)/1e3,this.oldTime=I,this.elapsedTime+=A}return A}}function oF(){return(typeof performance>"u"?Date:performance).now()}const nt=new O,nF=new _g,LZ=new O,st=new O;class YZ extends Eg{constructor(){super(),this.type="AudioListener",this.context=Wd.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(nt,nF,LZ),st.set(0,0,-1).applyQuaternion(nF),I.positionX){const B=this.context.currentTime+this.timeDelta;I.positionX.linearRampToValueAtTime(nt.x,B),I.positionY.linearRampToValueAtTime(nt.y,B),I.positionZ.linearRampToValueAtTime(nt.z,B),I.forwardX.linearRampToValueAtTime(st.x,B),I.forwardY.linearRampToValueAtTime(st.y,B),I.forwardZ.linearRampToValueAtTime(st.z,B),I.upX.linearRampToValueAtTime(C.x,B),I.upY.linearRampToValueAtTime(C.y,B),I.upZ.linearRampToValueAtTime(C.z,B)}else I.setPosition(nt.x,nt.y,nt.z),I.setOrientation(st.x,st.y,st.z,C.x,C.y,C.z)}}class wL extends Eg{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 E=I,t=I+I;E!==t;++E)if(C[E]!==C[E+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){_g.slerpFlat(A,I,A,I,A,C,B)}_slerpAdditive(A,I,C,B,i){const Q=this._workIndex*i;_g.multiplyQuaternionsFlat(A,Q,A,I,A,C),_g.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 E=I+e;A[E]=A[E]*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 Vd="\\[\\]\\.:\\/",vZ=new RegExp("["+Vd+"]","g"),Xd="[^"+Vd+"]",bZ="[^"+Vd.replace("\\.","")+"]",OZ=/((?:WC+[\/:])*)/.source.replace("WC",Xd),_Z=/(WCOD+)?/.source.replace("WCOD",bZ),ZZ=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Xd),PZ=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Xd),WZ=new RegExp("^"+OZ+_Z+ZZ+PZ+"$"),jZ=["material","materials","bones","map"];class VZ{constructor(A,I,C){const B=C||cg.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 cg{constructor(A,I,C){this.path=I,this.parsedPath=C||cg.parseTrackName(I),this.node=cg.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 cg.Composite(A,I,C):new cg(A,I,C)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(vZ,"")}static parseTrackName(A){const I=WZ.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);jZ.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]=n,A[n]=r,I[t]=a,A[a]=E;for(let l=0,D=B;l!==D;++l){const G=C[l],h=G[a],c=G[n];G[n]=h,G[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,E=arguments.length;e!==E;++e){const t=arguments[e],n=t.uuid,a=I[n];if(a!==void 0)if(delete I[n],a0&&(I[l.uuid]=a),A[a]=l,A.pop();for(let D=0,G=B;D!==G;++D){const h=C[D];h[a]=h[r],h.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,E=this._objects,t=E.length,n=this.nCachedObjects_,a=new Array(t);B=i.length,C[A]=B,Q.push(A),e.push(I),i.push(a);for(let r=n,l=E.length;r!==l;++r){const D=E[r];a[r]=new cg(D,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,E=Q[e],t=A[e];I[t]=C,Q[C]=E,Q.pop(),i[C]=i[e],i.pop(),B[C]=B[e],B.pop()}}}class GL{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),E={endingStart:Nt,endingEnd:Nt};for(let t=0;t!==Q;++t){const n=i[t].createInterpolant(null);e[t]=n,n.settings=E}this._interpolantSettings=E,this._interpolants=e,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Em,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 E=e.parameterPositions,t=e.sampleValues;return E[0]=i,E[1]=i+C,t[0]=A/Q,t[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 E=(A-i)*C;E<0||C===0?I=0:(this._startTime=null,I=C*E)}I*=this._updateTimeScale(A);const Q=this._updateTime(I),e=this._updateWeight(A);if(e>0){const E=this._interpolants,t=this._propertyBindings;switch(this.blendMode){case rd:for(let n=0,a=E.length;n!==a;++n)E[n].evaluate(Q),t[n].accumulateAdditive(e);break;case gw:default:for(let n=0,a=E.length;n!==a;++n)E[n].evaluate(Q),t[n].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===tm;if(A===0)return i===-1?B:Q&&(i&1)===1?I-B:B;if(C===em){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 E=this.repetitions-i;if(E<=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(E===1){const t=A<0;this._setEndings(t,!t,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=ft,B.endingEnd=ft):(A?B.endingStart=this.zeroSlopeAtStart?ft:Nt:B.endingStart=or,I?B.endingEnd=this.zeroSlopeAtEnd?ft:Nt:B.endingEnd=or)}_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,E=Q.sampleValues;return e[0]=i,E[0]=I,e[1]=i+A,E[1]=C,this}}const zZ=new Float32Array(1);class $Z extends ce{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,E=C.uuid,t=this._bindingsByRootAndName;let n=t[E];n===void 0&&(n={},t[E]=n);for(let a=0;a!==i;++a){const r=B[a],l=r.name;let D=n[l];if(D!==void 0)++D.referenceCount,Q[a]=D;else{if(D=Q[a],D!==void 0){D._cacheIndex===null&&(++D.referenceCount,this._addInactiveBinding(D,E,l));continue}const G=I&&I._propertyBindings[a].binding.parsedPath;D=new SL(cg.create(C,l,G),r.ValueTypeName,r.getValueSize()),++D.referenceCount,this._addInactiveBinding(D,E,l),Q[a]=D}e[a].resultBuffer=D.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 t=0;t!==C;++t)I[t]._update(B,A,i,Q);const e=this._bindings,E=this._nActiveBindings;for(let t=0;t!==E;++t)e[t].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,rF).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 lF=new O,Xc=new O;class i1{constructor(A=new O,I=new O){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){lF.subVectors(A,this.start),Xc.subVectors(this.end,this.start);const C=Xc.dot(Xc);let i=Xc.dot(lF)/C;return I&&(i=EC(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 cF=new O;class Q1 extends Eg{constructor(A,I){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=I,this.type="SpotLightHelper";const C=new WI,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,E=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{GF.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(GF,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 w1 extends CQ{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 WI;B.setAttribute("position",new yI(I,3)),B.setAttribute("color",new yI(C,3));const i=new GB({vertexColors:!0,toneMapped:!1});super(B,i),this.type="AxesHelper"}setColors(A,I,C){const B=new tI,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 IE{constructor(){this.type="ShapePath",this.color=new tI,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new dE,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 y=[];for(let S=0,k=c.length;SNumber.EPSILON){if(U<0&&(f=y[p],_=-_,q=y[N],U=-U),c.yq.y)continue;if(c.y===f.y){if(c.x===f.x)return!0}else{const K=U*(c.x-f.x)-_*(c.y-f.y);if(K===0)return!0;if(K<0)continue;k=!k}}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 k}const B=IQ.isClockWise,i=this.subPaths;if(i.length===0)return[];let Q,e,E;const t=[];if(i.length===1)return e=i[0],E=new ME,E.curves=e.curves,t.push(E),t;let n=!B(i[0].getPoints());n=A?!n:n;const a=[],r=[];let l=[],D=0,G;r[D]=void 0,l[D]=[];for(let c=0,y=i.length;c1){let c=!1,y=0;for(let S=0,k=r.length;S0&&c===!1&&(l=a)}let h;for(let c=0,y=r.length;c{const a=typeof t=="function"?t(A):t;if(a!==A){const r=A;A=n?a:Object.assign({},A,a),I.forEach(l=>l(A,r))}},B=()=>A,i=(t,n=B,a=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let r=n(A);function l(){const D=n(A);if(!a(r,D)){const G=r;t(r=D,G)}}return I.add(l),()=>I.delete(l)},E={setState:C,getState:B,subscribe:(t,n,a)=>n||a?i(t,n,a):(I.add(t),()=>I.delete(t)),destroy:()=>I.clear()};return A=g(C,B,E),E}const y1=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),yF=y1?j.useEffect:j.useLayoutEffect;function ML(g){const A=typeof g=="function"?G1(g):g,I=(C=A.getState,B=Object.is)=>{const[,i]=j.useReducer(h=>h+1,0),Q=A.getState(),e=j.useRef(Q),E=j.useRef(C),t=j.useRef(B),n=j.useRef(!1),a=j.useRef();a.current===void 0&&(a.current=C(Q));let r,l=!1;(e.current!==Q||E.current!==C||t.current!==B||n.current)&&(r=C(Q),l=!B(a.current,r)),yF(()=>{l&&(a.current=r),e.current=Q,E.current=C,t.current=B,n.current=!1});const D=j.useRef(Q);yF(()=>{const h=()=>{try{const y=A.getState(),S=E.current(y);t.current(a.current,S)||(e.current=y,a.current=S,i())}catch{n.current=!0,i()}},c=A.subscribe(h);return A.getState()!==D.current&&h(),c},[]);const G=l?r:a.current;return j.useDebugValue(G),G};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 pL={exports:{}},UL={exports:{}},NL={};/** + * @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(b,CA){var gA=b.length;b.push(CA);A:for(;0>>1,fA=b[DA];if(0>>1;DAB(v,gA))xB(H,v)?(b[DA]=H,b[x]=gA,DA=x):(b[DA]=v,b[W]=gA,DA=W);else if(xB(H,gA))b[DA]=H,b[x]=gA,DA=x;else break A}}return CA}function B(b,CA){var gA=b.sortIndex-CA.sortIndex;return gA!==0?gA:b.id-CA.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 E=[],t=[],n=1,a=null,r=3,l=!1,D=!1,G=!1,h=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(b){for(var CA=I(t);CA!==null;){if(CA.callback===null)C(t);else if(CA.startTime<=b)C(t),CA.sortIndex=CA.expirationTime,A(E,CA);else break;CA=I(t)}}function k(b){if(G=!1,S(b),!D)if(I(E)!==null)D=!0,oA(N);else{var CA=I(t);CA!==null&&GA(k,CA.startTime-b)}}function N(b,CA){D=!1,G&&(G=!1,c(q),q=-1),l=!0;var gA=r;try{for(S(CA),a=I(E);a!==null&&(!(a.expirationTime>CA)||b&&!K());){var DA=a.callback;if(typeof DA=="function"){a.callback=null,r=a.priorityLevel;var fA=DA(a.expirationTime<=CA);CA=g.unstable_now(),typeof fA=="function"?a.callback=fA:a===I(E)&&C(E),S(CA)}else C(E);a=I(E)}if(a!==null)var VA=!0;else{var W=I(t);W!==null&&GA(k,W.startTime-CA),VA=!1}return VA}finally{a=null,r=gA,l=!1}}var p=!1,f=null,q=-1,_=5,U=-1;function K(){return!(g.unstable_now()-U<_)}function z(){if(f!==null){var b=g.unstable_now();U=b;var CA=!0;try{CA=f(!0,b)}finally{CA?cA():(p=!1,f=null)}}else p=!1}var cA;if(typeof y=="function")cA=function(){y(z)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,sA=X.port2;X.port1.onmessage=z,cA=function(){sA.postMessage(null)}}else cA=function(){h(z,0)};function oA(b){f=b,p||(p=!0,cA())}function GA(b,CA){q=h(function(){b(g.unstable_now())},CA)}g.unstable_IdlePriority=5,g.unstable_ImmediatePriority=1,g.unstable_LowPriority=4,g.unstable_NormalPriority=3,g.unstable_Profiling=null,g.unstable_UserBlockingPriority=2,g.unstable_cancelCallback=function(b){b.callback=null},g.unstable_continueExecution=function(){D||l||(D=!0,oA(N))},g.unstable_forceFrameRate=function(b){0>b||125DA?(b.sortIndex=gA,A(t,b),I(E)===null&&b===I(t)&&(G?(c(q),q=-1):G=!0,GA(k,gA-DA))):(b.sortIndex=fA,A(E,b),D||l||(D=!0,oA(N))),b},g.unstable_shouldYield=K,g.unstable_wrapCallback=function(b){var CA=r;return function(){var gA=r;r=CA;try{return b.apply(this,arguments)}finally{r=gA}}}})(NL);UL.exports=NL;var O0=UL.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 u1=function(A){var I={},C=j,B=O0,i=Object.assign;function Q(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,w=1;wyA||d[AA]!==R[yA]){var vA=` +`+d[AA].replace(" at new "," at ");return o.displayName&&vA.includes("")&&(vA=vA.replace("",o.displayName)),vA}while(1<=AA&&0<=yA);break}}}finally{zA=!1,Error.prepareStackTrace=w}return(o=o?o.displayName||o.name:"")?DI(o):""}var GI=Object.prototype.hasOwnProperty,KI=[],mI=-1;function xI(o){return{current:o}}function nI(o){0>mI||(o.current=KI[mI],KI[mI]=null,mI--)}function QI(o,s){mI++,KI[mI]=o.current,o.current=s}var XI={},Y=xI(XI),T=xI(!1),BA=XI;function rA(o,s){var w=o.type.contextTypes;if(!w)return XI;var u=o.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===s)return u.__reactInternalMemoizedMaskedChildContext;var d={},R;for(R in w)d[R]=s[R];return u&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=d),d}function kA(o){return o=o.childContextTypes,o!=null}function RA(){nI(T),nI(Y)}function mA(o,s,w){if(Y.current!==XI)throw Error(Q(168));QI(Y,s),QI(T,w)}function WA(o,s,w){var u=o.stateNode;if(s=s.childContextTypes,typeof u.getChildContext!="function")return w;u=u.getChildContext();for(var d in u)if(!(d in s))throw Error(Q(108,q(o)||"Unknown",d));return i({},w,u)}function OA(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||XI,BA=Y.current,QI(Y,o),QI(T,T.current),!0}function _A(o,s,w){var u=o.stateNode;if(!u)throw Error(Q(169));w?(o=WA(o,s,BA),u.__reactInternalMemoizedMergedChildContext=o,nI(T),nI(Y),QI(Y,o)):nI(T),QI(T,w)}var AI=Math.clz32?Math.clz32:Ug,pI=Math.log,bI=Math.LN2;function Ug(o){return o>>>=0,o===0?32:31-(pI(o)/bI|0)|0}var lg=64,YC=4194304;function jC(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 QQ(o,s){var w=o.pendingLanes;if(w===0)return 0;var u=0,d=o.suspendedLanes,R=o.pingedLanes,AA=w&268435455;if(AA!==0){var yA=AA&~d;yA!==0?u=jC(yA):(R&=AA,R!==0&&(u=jC(R)))}else AA=w&~d,AA!==0?u=jC(AA):R!==0&&(u=jC(R));if(u===0)return 0;if(s!==0&&s!==u&&!(s&d)&&(d=u&-u,R=s&-s,d>=R||d===16&&(R&4194240)!==0))return s;if(u&4&&(u|=w&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=u;0w;w++)s.push(o);return s}function ys(o,s,w){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-AI(s),o[s]=w}function pH(o,s){var w=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var u=o.eventTimes;for(o=o.expirationTimes;0>=AA,d-=AA,mQ=1<<32-AI(s)+d|w<dg?(xC=VI,VI=null):xC=VI.sibling;var Mg=HI(JA,VI,LA[dg],cI);if(Mg===null){VI===null&&(VI=xC);break}o&&VI&&Mg.alternate===null&&s(JA,VI),pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg,VI=xC}if(dg===LA.length)return w(JA,VI),Zg&&XE(JA,dg),JI;if(VI===null){for(;dgdg?(xC=VI,VI=null):xC=VI.sibling;var ve=HI(JA,VI,Mg.value,cI);if(ve===null){VI===null&&(VI=xC);break}o&&VI&&ve.alternate===null&&s(JA,VI),pA=R(ve,pA,dg),Cg===null?JI=ve:Cg.sibling=ve,Cg=ve,VI=xC}if(Mg.done)return w(JA,VI),Zg&&XE(JA,dg),JI;if(VI===null){for(;!Mg.done;dg++,Mg=LA.next())Mg=jI(JA,Mg.value,cI),Mg!==null&&(pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg);return Zg&&XE(JA,dg),JI}for(VI=u(JA,VI);!Mg.done;dg++,Mg=LA.next())Mg=Jg(VI,JA,dg,Mg.value,cI),Mg!==null&&(o&&Mg.alternate!==null&&VI.delete(Mg.key===null?dg:Mg.key),pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg);return o&&VI.forEach(function(s2){return s(JA,s2)}),Zg&&XE(JA,dg),JI}function hi(JA,pA,LA,cI){if(typeof LA=="object"&&LA!==null&&LA.type===n&&LA.key===null&&(LA=LA.props.children),typeof LA=="object"&&LA!==null){switch(LA.$$typeof){case E:A:{for(var JI=LA.key,Cg=pA;Cg!==null;){if(Cg.key===JI){if(JI=LA.type,JI===n){if(Cg.tag===7){w(JA,Cg.sibling),pA=d(Cg,LA.props.children),pA.return=JA,JA=pA;break A}}else if(Cg.elementType===JI||typeof JI=="object"&&JI!==null&&JI.$$typeof===S&&wp(JI)===Cg.type){w(JA,Cg.sibling),pA=d(Cg,LA.props),pA.ref=ds(JA,Cg,LA),pA.return=JA,JA=pA;break A}w(JA,Cg);break}else s(JA,Cg);Cg=Cg.sibling}LA.type===n?(pA=Bt(LA.props.children,JA.mode,cI,LA.key),pA.return=JA,JA=pA):(cI=Pl(LA.type,LA.key,LA.props,null,JA.mode,cI),cI.ref=ds(JA,pA,LA),cI.return=JA,JA=cI)}return AA(JA);case t:A:{for(Cg=LA.key;pA!==null;){if(pA.key===Cg)if(pA.tag===4&&pA.stateNode.containerInfo===LA.containerInfo&&pA.stateNode.implementation===LA.implementation){w(JA,pA.sibling),pA=d(pA,LA.children||[]),pA.return=JA,JA=pA;break A}else{w(JA,pA);break}else s(JA,pA);pA=pA.sibling}pA=rG(LA,JA.mode,cI),pA.return=JA,JA=pA}return AA(JA);case S:return Cg=LA._init,hi(JA,pA,Cg(LA._payload),cI)}if(sA(LA))return qI(JA,pA,LA,cI);if(p(LA))return nB(JA,pA,LA,cI);cl(JA,LA)}return typeof LA=="string"&&LA!==""||typeof LA=="number"?(LA=""+LA,pA!==null&&pA.tag===6?(w(JA,pA.sibling),pA=d(pA,LA),pA.return=JA,JA=pA):(w(JA,pA),pA=aG(LA,JA.mode,cI),pA.return=JA,JA=pA),AA(JA)):w(JA,pA)}return hi}var uo=Sp(!0),Gp=Sp(!1),Ms={},ri=xI(Ms),ps=xI(Ms),ko=xI(Ms);function nQ(o){if(o===Ms)throw Error(Q(174));return o}function FS(o,s){QI(ko,s),QI(ps,o),QI(ri,Ms),o=GA(s),nI(ri),QI(ri,o)}function Mo(){nI(ri),nI(ps),nI(ko)}function yp(o){var s=nQ(ko.current),w=nQ(ri.current);s=b(w,o.type,s),w!==s&&(QI(ps,o),QI(ri,s))}function RS(o){ps.current===o&&(nI(ri),nI(ps))}var jg=xI(0);function Dl(o){for(var s=o;s!==null;){if(s.tag===13){var w=s.memoizedState;if(w!==null&&(w=w.dehydrated,w===null||yB(w)||mi(w)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if(s.flags&128)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var KS=[];function JS(){for(var o=0;ow?w:4,o(!0);var u=li.transition;li.transition={};try{o(!1),s()}finally{kg=w,li.transition=u}}function mp(){return sQ().memoizedState}function HH(o,s,w){var u=He(o);w={lane:u,action:w,hasEagerState:!1,eagerState:null,next:null},Lp(o)?Yp(s,w):(Hp(o,s,w),w=kB(),o=ci(o,u,w),o!==null&&Tp(o,s,u))}function TH(o,s,w){var u=He(o),d={lane:u,action:w,hasEagerState:!1,eagerState:null,next:null};if(Lp(o))Yp(s,d);else{Hp(o,s,d);var R=o.alternate;if(o.lanes===0&&(R===null||R.lanes===0)&&(R=s.lastRenderedReducer,R!==null))try{var AA=s.lastRenderedState,yA=R(AA,w);if(d.hasEagerState=!0,d.eagerState=yA,EQ(yA,AA))return}catch{}finally{}w=kB(),o=ci(o,u,w),o!==null&&Tp(o,s,u)}}function Lp(o){var s=o.alternate;return o===gC||s!==null&&s===gC}function Yp(o,s){Us=wl=!0;var w=o.pending;w===null?s.next=s:(s.next=w.next,w.next=s),o.pending=s}function Hp(o,s,w){cC!==null&&o.mode&1&&!(Bg&2)?(o=s.interleaved,o===null?(w.next=w,oQ===null?oQ=[s]:oQ.push(s)):(w.next=o.next,o.next=w),s.interleaved=w):(o=s.pending,o===null?w.next=w:(w.next=o.next,o.next=w),s.pending=w)}function Tp(o,s,w){if(w&4194240){var u=s.lanes;u&=o.pendingLanes,w|=u,s.lanes=w,rS(o,w)}}var kl={readContext:ni,useCallback:tB,useContext:tB,useEffect:tB,useImperativeHandle:tB,useInsertionEffect:tB,useLayoutEffect:tB,useMemo:tB,useReducer:tB,useRef:tB,useState:tB,useDebugValue:tB,useDeferredValue:tB,useTransition:tB,useMutableSource:tB,useSyncExternalStore:tB,useId:tB,unstable_isNewReconciler:!1},xH={readContext:ni,useCallback:function(o,s){return YQ().memoizedState=[o,s===void 0?null:s],o},useContext:ni,useEffect:HS,useImperativeHandle:function(o,s,w){return w=w!=null?w.concat([o]):null,yl(4194308,4,Rp.bind(null,s,o),w)},useLayoutEffect:function(o,s){return yl(4194308,4,o,s)},useInsertionEffect:function(o,s){return yl(4,2,o,s)},useMemo:function(o,s){var w=YQ();return s=s===void 0?null:s,o=o(),w.memoizedState=[o,s],o},useReducer:function(o,s,w){var u=YQ();return s=w!==void 0?w(s):s,u.memoizedState=u.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},u.queue=o,o=o.dispatch=HH.bind(null,gC,o),[u.memoizedState,o]},useRef:function(o){var s=YQ();return o={current:o},s.memoizedState=o},useState:YS,useDebugValue:TS,useDeferredValue:function(o){var s=YS(o),w=s[0],u=s[1];return HS(function(){var d=li.transition;li.transition={};try{u(o)}finally{li.transition=d}},[o]),w},useTransition:function(){var o=YS(!1),s=o[0];return o=YH.bind(null,o[1]),YQ().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,w){var u=gC,d=YQ();if(Zg){if(w===void 0)throw Error(Q(407));w=w()}else{if(w=s(),cC===null)throw Error(Q(349));po&30||dp(u,s,w)}d.memoizedState=w;var R={value:w,getSnapshot:s};return d.queue=R,HS(pp.bind(null,u,R,o),[o]),u.flags|=2048,fs(9,Mp.bind(null,u,R,w,s),void 0,null),w},useId:function(){var o=YQ(),s=cC.identifierPrefix;if(Zg){var w=LQ,u=mQ;w=(u&~(1<<32-AI(u)-1)).toString(32)+w,s=":"+s+"R"+w,w=Ns++,0iG&&(s.flags|=128,u=!0,Js(d,!1),s.lanes=4194304)}else{if(!u)if(o=Dl(R),o!==null){if(s.flags|=128,u=!0,o=o.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),Js(d,!0),d.tail===null&&d.tailMode==="hidden"&&!R.alternate&&!Zg)return oB(s),null}else 2*HC()-d.renderingStartTime>iG&&w!==1073741824&&(s.flags|=128,u=!0,Js(d,!1),s.lanes=4194304);d.isBackwards?(R.sibling=s.child,s.child=R):(o=d.last,o!==null?o.sibling=R:s.child=R,d.last=R)}return d.tail!==null?(s=d.tail,d.rendering=s,d.tail=s.sibling,d.renderingStartTime=HC(),s.sibling=null,o=jg.current,QI(jg,u?o&1|2:o&1),s):(oB(s),null);case 22:case 23:return oG(),u=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==u&&(s.flags|=8192),u&&s.mode&1?WB&1073741824&&(oB(s),NA&&s.subtreeFlags&6&&(s.flags|=8192)):oB(s),null;case 24:return null;case 25:return null}throw Error(Q(156,s.tag))}var ZH=e.ReactCurrentOwner,PB=!1;function uB(o,s,w,u){s.child=o===null?Gp(s,null,w,u):uo(s,o.child,w,u)}function Wp(o,s,w,u,d){w=w.render;var R=s.ref;return wo(s,d),u=mS(o,s,w,u,R,d),w=LS(),o!==null&&!PB?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~d,HQ(o,s,d)):(Zg&&w&&MS(s),s.flags|=1,uB(o,s,u,d),s.child)}function jp(o,s,w,u,d){if(o===null){var R=w.type;return typeof R=="function"&&!sG(R)&&R.defaultProps===void 0&&w.compare===null&&w.defaultProps===void 0?(s.tag=15,s.type=R,Vp(o,s,R,u,d)):(o=Pl(w.type,null,u,s,s.mode,d),o.ref=s.ref,o.return=s,s.child=o)}if(R=o.child,!(o.lanes&d)){var AA=R.memoizedProps;if(w=w.compare,w=w!==null?w:El,w(AA,u)&&o.ref===s.ref)return HQ(o,s,d)}return s.flags|=1,o=xe(R,u),o.ref=s.ref,o.return=s,s.child=o}function Vp(o,s,w,u,d){if(o!==null&&El(o.memoizedProps,u)&&o.ref===s.ref)if(PB=!1,(o.lanes&d)!==0)o.flags&131072&&(PB=!0);else return s.lanes=o.lanes,HQ(o,s,d);return bS(o,s,w,u,d)}function Xp(o,s,w){var u=s.pendingProps,d=u.children,R=o!==null?o.memoizedState:null;if(u.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null},QI(Uo,WB),WB|=w;else if(w&1073741824)s.memoizedState={baseLanes:0,cachePool:null},u=R!==null?R.baseLanes:w,QI(Uo,WB),WB|=u;else return o=R!==null?R.baseLanes|w:w,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null},s.updateQueue=null,QI(Uo,WB),WB|=o,null;else R!==null?(u=R.baseLanes|w,s.memoizedState=null):u=w,QI(Uo,WB),WB|=u;return uB(o,s,d,w),s.child}function zp(o,s){var w=s.ref;(o===null&&w!==null||o!==null&&o.ref!==w)&&(s.flags|=512,s.flags|=2097152)}function bS(o,s,w,u,d){var R=kA(w)?BA:Y.current;return R=rA(s,R),wo(s,d),w=mS(o,s,w,u,R,d),u=LS(),o!==null&&!PB?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~d,HQ(o,s,d)):(Zg&&u&&MS(s),s.flags|=1,uB(o,s,w,d),s.child)}function $p(o,s,w,u,d){if(kA(w)){var R=!0;OA(s)}else R=!1;if(wo(s,d),s.stateNode===null)o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2),ap(s,w,u),dS(s,w,u,d),u=!0;else if(o===null){var AA=s.stateNode,yA=s.memoizedProps;AA.props=yA;var vA=AA.context,iI=w.contextType;typeof iI=="object"&&iI!==null?iI=ni(iI):(iI=kA(w)?BA:Y.current,iI=rA(s,iI));var kI=w.getDerivedStateFromProps,jI=typeof kI=="function"||typeof AA.getSnapshotBeforeUpdate=="function";jI||typeof AA.UNSAFE_componentWillReceiveProps!="function"&&typeof AA.componentWillReceiveProps!="function"||(yA!==u||vA!==iI)&&rp(s,AA,u,iI),qe=!1;var HI=s.memoizedState;AA.state=HI,sl(s,u,AA,d),vA=s.memoizedState,yA!==u||HI!==vA||T.current||qe?(typeof kI=="function"&&(kS(s,w,kI,u),vA=s.memoizedState),(yA=qe||sp(s,w,yA,u,HI,vA,iI))?(jI||typeof AA.UNSAFE_componentWillMount!="function"&&typeof AA.componentWillMount!="function"||(typeof AA.componentWillMount=="function"&&AA.componentWillMount(),typeof AA.UNSAFE_componentWillMount=="function"&&AA.UNSAFE_componentWillMount()),typeof AA.componentDidMount=="function"&&(s.flags|=4194308)):(typeof AA.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=u,s.memoizedState=vA),AA.props=u,AA.state=vA,AA.context=iI,u=yA):(typeof AA.componentDidMount=="function"&&(s.flags|=4194308),u=!1)}else{AA=s.stateNode,Ep(o,s),yA=s.memoizedProps,iI=s.type===s.elementType?yA:Yi(s.type,yA),AA.props=iI,jI=s.pendingProps,HI=AA.context,vA=w.contextType,typeof vA=="object"&&vA!==null?vA=ni(vA):(vA=kA(w)?BA:Y.current,vA=rA(s,vA));var Jg=w.getDerivedStateFromProps;(kI=typeof Jg=="function"||typeof AA.getSnapshotBeforeUpdate=="function")||typeof AA.UNSAFE_componentWillReceiveProps!="function"&&typeof AA.componentWillReceiveProps!="function"||(yA!==jI||HI!==vA)&&rp(s,AA,u,vA),qe=!1,HI=s.memoizedState,AA.state=HI,sl(s,u,AA,d);var qI=s.memoizedState;yA!==jI||HI!==qI||T.current||qe?(typeof Jg=="function"&&(kS(s,w,Jg,u),qI=s.memoizedState),(iI=qe||sp(s,w,iI,u,HI,qI,vA)||!1)?(kI||typeof AA.UNSAFE_componentWillUpdate!="function"&&typeof AA.componentWillUpdate!="function"||(typeof AA.componentWillUpdate=="function"&&AA.componentWillUpdate(u,qI,vA),typeof AA.UNSAFE_componentWillUpdate=="function"&&AA.UNSAFE_componentWillUpdate(u,qI,vA)),typeof AA.componentDidUpdate=="function"&&(s.flags|=4),typeof AA.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof AA.componentDidUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(s.flags|=4),typeof AA.getSnapshotBeforeUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(s.flags|=1024),s.memoizedProps=u,s.memoizedState=qI),AA.props=u,AA.state=qI,AA.context=vA,u=iI):(typeof AA.componentDidUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(s.flags|=4),typeof AA.getSnapshotBeforeUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(s.flags|=1024),u=!1)}return OS(o,s,w,u,R,d)}function OS(o,s,w,u,d,R){zp(o,s);var AA=(s.flags&128)!==0;if(!u&&!AA)return d&&_A(s,w,!1),HQ(o,s,R);u=s.stateNode,ZH.current=s;var yA=AA&&typeof w.getDerivedStateFromError!="function"?null:u.render();return s.flags|=1,o!==null&&AA?(s.child=uo(s,o.child,null,R),s.child=uo(s,null,yA,R)):uB(o,s,yA,R),s.memoizedState=u.state,d&&_A(s,w,!0),s.child}function AU(o){var s=o.stateNode;s.pendingContext?mA(o,s.pendingContext,s.pendingContext!==s.context):s.context&&mA(o,s.context,!1),FS(o,s.containerInfo)}function IU(o,s,w,u,d){return yo(),fS(d),s.flags|=256,uB(o,s,w,u),s.child}var pl={dehydrated:null,treeContext:null,retryLane:0};function Ul(o){return{baseLanes:o,cachePool:null}}function gU(o,s,w){var u=s.pendingProps,d=jg.current,R=!1,AA=(s.flags&128)!==0,yA;if((yA=AA)||(yA=o!==null&&o.memoizedState===null?!1:(d&2)!==0),yA?(R=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&(d|=1),QI(jg,d&1),o===null)return NS(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?mi(o)?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(d=u.children,o=u.fallback,R?(u=s.mode,R=s.child,d={mode:"hidden",children:d},!(u&1)&&R!==null?(R.childLanes=0,R.pendingProps=d):R=Wl(d,u,0,null),o=Bt(o,u,w,null),R.return=s,o.return=s,R.sibling=o,s.child=R,s.child.memoizedState=Ul(w),s.memoizedState=pl,o):_S(s,d));if(d=o.memoizedState,d!==null){if(yA=d.dehydrated,yA!==null){if(AA)return s.flags&256?(s.flags&=-257,Nl(o,s,w,Error(Q(422)))):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(R=u.fallback,d=s.mode,u=Wl({mode:"visible",children:u.children},d,0,null),R=Bt(R,d,w,null),R.flags|=2,u.return=s,R.return=s,u.sibling=R,s.child=u,s.mode&1&&uo(s,o.child,null,w),s.child.memoizedState=Ul(w),s.memoizedState=pl,R);if(!(s.mode&1))s=Nl(o,s,w,null);else if(mi(yA))s=Nl(o,s,w,Error(Q(419)));else if(u=(w&o.childLanes)!==0,PB||u){if(u=cC,u!==null){switch(w&-w){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|w)?0:R,u!==0&&u!==d.retryLane&&(d.retryLane=u,ci(o,u,-1))}nG(),s=Nl(o,s,w,Error(Q(421)))}else yB(yA)?(s.flags|=128,s.child=o.child,s=i2.bind(null,o),eB(yA,s),s=null):(w=d.treeContext,MA&&(ZB=Je(yA),_B=s,Zg=!0,Hi=null,us=!1,w!==null&&(si[ai++]=mQ,si[ai++]=LQ,si[ai++]=VE,mQ=w.id,LQ=w.overflow,VE=s)),s=_S(s,s.pendingProps.children),s.flags|=4096);return s}return R?(u=BU(o,s,u.children,u.fallback,w),R=s.child,d=o.child.memoizedState,R.memoizedState=d===null?Ul(w):{baseLanes:d.baseLanes|w,cachePool:null},R.childLanes=o.childLanes&~w,s.memoizedState=pl,u):(w=CU(o,s,u.children,w),s.memoizedState=null,w)}return R?(u=BU(o,s,u.children,u.fallback,w),R=s.child,d=o.child.memoizedState,R.memoizedState=d===null?Ul(w):{baseLanes:d.baseLanes|w,cachePool:null},R.childLanes=o.childLanes&~w,s.memoizedState=pl,u):(w=CU(o,s,u.children,w),s.memoizedState=null,w)}function _S(o,s){return s=Wl({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function CU(o,s,w,u){var d=o.child;return o=d.sibling,w=xe(d,{mode:"visible",children:w}),!(s.mode&1)&&(w.lanes=u),w.return=s,w.sibling=null,o!==null&&(u=s.deletions,u===null?(s.deletions=[o],s.flags|=16):u.push(o)),s.child=w}function BU(o,s,w,u,d){var R=s.mode;o=o.child;var AA=o.sibling,yA={mode:"hidden",children:w};return!(R&1)&&s.child!==o?(w=s.child,w.childLanes=0,w.pendingProps=yA,s.deletions=null):(w=xe(o,yA),w.subtreeFlags=o.subtreeFlags&14680064),AA!==null?u=xe(AA,u):(u=Bt(u,R,d,null),u.flags|=2),u.return=s,w.return=s,w.sibling=u,s.child=w,u}function Nl(o,s,w,u){return u!==null&&fS(u),uo(s,o.child,null,w),o=_S(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function iU(o,s,w){o.lanes|=s;var u=o.alternate;u!==null&&(u.lanes|=s),yS(o.return,s,w)}function ZS(o,s,w,u,d){var R=o.memoizedState;R===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:u,tail:w,tailMode:d}:(R.isBackwards=s,R.rendering=null,R.renderingStartTime=0,R.last=u,R.tail=w,R.tailMode=d)}function QU(o,s,w){var u=s.pendingProps,d=u.revealOrder,R=u.tail;if(uB(o,s,u.children,w),u=jg.current,u&2)u=u&1|2,s.flags|=128;else{if(o!==null&&o.flags&128)A:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&iU(o,w,s);else if(o.tag===19)iU(o,w,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break A;for(;o.sibling===null;){if(o.return===null||o.return===s)break A;o=o.return}o.sibling.return=o.return,o=o.sibling}u&=1}if(QI(jg,u),!(s.mode&1))s.memoizedState=null;else switch(d){case"forwards":for(w=s.child,d=null;w!==null;)o=w.alternate,o!==null&&Dl(o)===null&&(d=w),w=w.sibling;w=d,w===null?(d=s.child,s.child=null):(d=w.sibling,w.sibling=null),ZS(s,!1,d,w,R);break;case"backwards":for(w=null,d=s.child,s.child=null;d!==null;){if(o=d.alternate,o!==null&&Dl(o)===null){s.child=d;break}o=d.sibling,d.sibling=w,w=d,d=o}ZS(s,!0,w,null,R);break;case"together":ZS(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function HQ(o,s,w){if(o!==null&&(s.dependencies=o.dependencies),No|=s.lanes,!(w&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(Q(153));if(s.child!==null){for(o=s.child,w=xe(o,o.pendingProps),s.child=w,w.return=s;o.sibling!==null;)o=o.sibling,w=w.sibling=xe(o,o.pendingProps),w.return=s;w.sibling=null}return s.child}function PH(o,s,w){switch(s.tag){case 3:AU(s),yo();break;case 5:yp(s);break;case 1:kA(s.type)&&OA(s);break;case 4:FS(s,s.stateNode.containerInfo);break;case 10:ep(s,s.type._context,s.memoizedProps.value);break;case 13:var u=s.memoizedState;if(u!==null)return u.dehydrated!==null?(QI(jg,jg.current&1),s.flags|=128,null):w&s.child.childLanes?gU(o,s,w):(QI(jg,jg.current&1),o=HQ(o,s,w),o!==null?o.sibling:null);QI(jg,jg.current&1);break;case 19:if(u=(w&s.childLanes)!==0,o.flags&128){if(u)return QU(o,s,w);s.flags|=128}var d=s.memoizedState;if(d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),QI(jg,jg.current),u)break;return null;case 22:case 23:return s.lanes=0,Xp(o,s,w)}return HQ(o,s,w)}function WH(o,s){switch(pS(s),s.tag){case 1:return kA(s.type)&&RA(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return Mo(),nI(T),nI(Y),JS(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return RS(s),null;case 13:if(nI(jg),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(Q(340));yo()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return nI(jg),null;case 4:return Mo(),null;case 10:return GS(s.type._context),null;case 22:case 23:return oG(),null;case 24:return null;default:return null}}var fl=!1,$E=!1,jH=typeof WeakSet=="function"?WeakSet:Set,rI=null;function Fl(o,s){var w=o.ref;if(w!==null)if(typeof w=="function")try{w(null)}catch(u){qB(o,s,u)}else w.current=null}function PS(o,s,w){try{w()}catch(u){qB(o,s,u)}}var eU=!1;function VH(o,s){for(CA(o.containerInfo),rI=s;rI!==null;)if(o=rI,s=o.child,(o.subtreeFlags&1028)!==0&&s!==null)s.return=o,rI=s;else for(;rI!==null;){o=rI;try{var w=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var u=w.memoizedProps,d=w.memoizedState,R=o.stateNode,AA=R.getSnapshotBeforeUpdate(o.elementType===o.type?u:Yi(o.type,u),d);R.__reactInternalSnapshotBeforeUpdate=AA}break;case 3:NA&&II(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(yA){qB(o,o.return,yA)}if(s=o.sibling,s!==null){s.return=o.return,rI=s;break}rI=o.return}return w=eU,eU=!1,w}function At(o,s,w){var u=s.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var d=u=u.next;do{if((d.tag&o)===o){var R=d.destroy;d.destroy=void 0,R!==void 0&&PS(s,w,R)}d=d.next}while(d!==u)}}function qs(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var w=s=s.next;do{if((w.tag&o)===o){var u=w.create;w.destroy=u()}w=w.next}while(w!==s)}}function WS(o){var s=o.ref;if(s!==null){var w=o.stateNode;switch(o.tag){case 5:o=oA(w);break;default:o=w}typeof s=="function"?s(o):s.current=o}}function EU(o,s,w){if(eQ&&typeof eQ.onCommitFiberUnmount=="function")try{eQ.onCommitFiberUnmount(Ql,s)}catch{}switch(s.tag){case 0:case 11:case 14:case 15:if(o=s.updateQueue,o!==null&&(o=o.lastEffect,o!==null)){var u=o=o.next;do{var d=u,R=d.destroy;d=d.tag,R!==void 0&&(d&2||d&4)&&PS(s,w,R),u=u.next}while(u!==o)}break;case 1:if(Fl(s,w),o=s.stateNode,typeof o.componentWillUnmount=="function")try{o.props=s.memoizedProps,o.state=s.memoizedState,o.componentWillUnmount()}catch(AA){qB(s,w,AA)}break;case 5:Fl(s,w);break;case 4:NA?rU(o,s,w):Z&&Z&&(s=s.stateNode.containerInfo,w=lI(s),wg(s,w))}}function tU(o,s,w){for(var u=s;;)if(EU(o,u,w),u.child===null||NA&&u.tag===4){if(u===s)break;for(;u.sibling===null;){if(u.return===null||u.return===s)return;u=u.return}u.sibling.return=u.return,u=u.sibling}else u.child.return=u,u=u.child}function oU(o){var s=o.alternate;s!==null&&(o.alternate=null,oU(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&bA(s)),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 nU(o){return o.tag===5||o.tag===3||o.tag===4}function sU(o){A:for(;;){for(;o.sibling===null;){if(o.return===null||nU(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 aU(o){if(NA){A:{for(var s=o.return;s!==null;){if(nU(s))break A;s=s.return}throw Error(Q(160))}var w=s;switch(w.tag){case 5:s=w.stateNode,w.flags&32&&(LI(s),w.flags&=-33),w=sU(o),VS(o,w,s);break;case 3:case 4:s=w.stateNode.containerInfo,w=sU(o),jS(o,w,s);break;default:throw Error(Q(161))}}}function jS(o,s,w){var u=o.tag;if(u===5||u===6)o=o.stateNode,s?EI(w,o,s):fI(w,o);else if(u!==4&&(o=o.child,o!==null))for(jS(o,s,w),o=o.sibling;o!==null;)jS(o,s,w),o=o.sibling}function VS(o,s,w){var u=o.tag;if(u===5||u===6)o=o.stateNode,s?dI(w,o,s):hI(w,o);else if(u!==4&&(o=o.child,o!==null))for(VS(o,s,w),o=o.sibling;o!==null;)VS(o,s,w),o=o.sibling}function rU(o,s,w){for(var u=s,d=!1,R,AA;;){if(!d){d=u.return;A:for(;;){if(d===null)throw Error(Q(160));switch(R=d.stateNode,d.tag){case 5:AA=!1;break A;case 3:R=R.containerInfo,AA=!0;break A;case 4:R=R.containerInfo,AA=!0;break A}d=d.return}d=!0}if(u.tag===5||u.tag===6)tU(o,u,w),AA?MI(R,u.stateNode):aI(R,u.stateNode);else if(u.tag===18)AA?iA(R,u.stateNode):tA(R,u.stateNode);else if(u.tag===4){if(u.child!==null){R=u.stateNode.containerInfo,AA=!0,u.child.return=u,u=u.child;continue}}else if(EU(o,u,w),u.child!==null){u.child.return=u,u=u.child;continue}if(u===s)break;for(;u.sibling===null;){if(u.return===null||u.return===s)return;u=u.return,u.tag===4&&(d=!1)}u.sibling.return=u.return,u=u.sibling}}function XS(o,s){if(NA){switch(s.tag){case 0:case 11:case 14:case 15:At(3,s,s.return),qs(3,s),At(5,s,s.return);return;case 1:return;case 5:var w=s.stateNode;if(w!=null){var u=s.memoizedProps;o=o!==null?o.memoizedProps:u;var d=s.type,R=s.updateQueue;s.updateQueue=null,R!==null&&YI(w,R,d,o,u,s)}return;case 6:if(s.stateNode===null)throw Error(Q(162));w=s.memoizedProps,jA(s.stateNode,o!==null?o.memoizedProps:w,w);return;case 3:MA&&o!==null&&o.memoizedState.isDehydrated&&V(s.stateNode.containerInfo);return;case 12:return;case 13:Rl(s);return;case 19:Rl(s);return;case 17:return}throw Error(Q(163))}switch(s.tag){case 0:case 11:case 14:case 15:At(3,s,s.return),qs(3,s),At(5,s,s.return);return;case 12:return;case 13:Rl(s);return;case 19:Rl(s);return;case 3:MA&&o!==null&&o.memoizedState.isDehydrated&&V(s.stateNode.containerInfo);break;case 22:case 23:return}A:if(Z){switch(s.tag){case 1:case 5:case 6:break A;case 3:case 4:s=s.stateNode,wg(s.containerInfo,s.pendingChildren);break A}throw Error(Q(163))}}function Rl(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var w=o.stateNode;w===null&&(w=o.stateNode=new jH),s.forEach(function(u){var d=Q2.bind(null,o,u);w.has(u)||(w.add(u),u.then(d,d))})}}function XH(o,s){for(rI=s;rI!==null;){s=rI;var w=s.deletions;if(w!==null)for(var u=0;u";case Jl:return":has("+(AG(o)||"")+")";case ql:return'[role="'+o.value+'"]';case Ll:return'"'+o.value+'"';case ml:return'[data-testname="'+o.value+'"]';default:throw Error(Q(365))}}function wU(o,s){var w=[];o=[o,0];for(var u=0;ud&&(d=AA),u&=~R}if(u=d,u=HC()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*$H(u/1960))-u,10o?16:o,Ye===null)var u=!1;else{if(o=Ye,Ye=null,vl=0,Bg&6)throw Error(Q(331));var d=Bg;for(Bg|=4,rI=o.current;rI!==null;){var R=rI,AA=R.child;if(rI.flags&16){var yA=R.deletions;if(yA!==null){for(var vA=0;vAHC()-BG?It(o,0):CG|=w),JB(o,s)}function UU(o,s){s===0&&(o.mode&1?(s=YC,YC<<=1,!(YC&130023424)&&(YC=4194304)):s=1);var w=kB();o=_l(o,s),o!==null&&(ys(o,s,w),JB(o,w))}function i2(o){var s=o.memoizedState,w=0;s!==null&&(w=s.retryLane),UU(o,w)}function Q2(o,s){var w=0;switch(o.tag){case 13:var u=o.stateNode,d=o.memoizedState;d!==null&&(w=d.retryLane);break;case 19:u=o.stateNode;break;default:throw Error(Q(314))}u!==null&&u.delete(s),UU(o,w)}var NU;NU=function(o,s,w){if(o!==null)if(o.memoizedProps!==s.pendingProps||T.current)PB=!0;else{if(!(o.lanes&w)&&!(s.flags&128))return PB=!1,PH(o,s,w);PB=!!(o.flags&131072)}else PB=!1,Zg&&s.flags&1048576&&lp(s,ll,s.index);switch(s.lanes=0,s.tag){case 2:var u=s.type;o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2),o=s.pendingProps;var d=rA(s,Y.current);wo(s,w),d=mS(null,s,u,o,d,w);var R=LS();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,kA(u)?(R=!0,OA(s)):R=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,uS(s),d.updater=al,s.stateNode=d,d._reactInternals=s,dS(s,u,o,w),s=OS(null,s,u,!0,R,w)):(s.tag=0,Zg&&R&&MS(s),uB(null,s,d,w),s=s.child),s;case 16:u=s.elementType;A:{switch(o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2),o=s.pendingProps,d=u._init,u=d(u._payload),s.type=u,d=s.tag=E2(u),o=Yi(u,o),d){case 0:s=bS(null,s,u,o,w);break A;case 1:s=$p(null,s,u,o,w);break A;case 11:s=Wp(null,s,u,o,w);break A;case 14:s=jp(null,s,u,Yi(u.type,o),w);break A}throw Error(Q(306,u,""))}return s;case 0:return u=s.type,d=s.pendingProps,d=s.elementType===u?d:Yi(u,d),bS(o,s,u,d,w);case 1:return u=s.type,d=s.pendingProps,d=s.elementType===u?d:Yi(u,d),$p(o,s,u,d,w);case 3:A:{if(AU(s),o===null)throw Error(Q(387));u=s.pendingProps,R=s.memoizedState,d=R.element,Ep(o,s),sl(s,u,null,w);var AA=s.memoizedState;if(u=AA.element,MA&&R.isDehydrated)if(R={element:u,isDehydrated:!1,cache:AA.cache,transitions:AA.transitions},s.updateQueue.baseState=R,s.memoizedState=R,s.flags&256){d=Error(Q(423)),s=IU(o,s,u,w,d);break A}else if(u!==d){d=Error(Q(424)),s=IU(o,s,u,w,d);break A}else for(MA&&(ZB=KQ(s.stateNode.containerInfo),_B=s,Zg=!0,Hi=null,us=!1),w=Gp(s,null,u,w),s.child=w;w;)w.flags=w.flags&-3|4096,w=w.sibling;else{if(yo(),u===d){s=HQ(o,s,w);break A}uB(o,s,u,w)}s=s.child}return s;case 5:return yp(s),o===null&&NS(s),u=s.type,d=s.pendingProps,R=o!==null?o.memoizedProps:null,AA=d.children,v(u,d)?AA=null:R!==null&&v(u,R)&&(s.flags|=32),zp(o,s),uB(o,s,AA,w),s.child;case 6:return o===null&&NS(s),null;case 13:return gU(o,s,w);case 4:return FS(s,s.stateNode.containerInfo),u=s.pendingProps,o===null?s.child=uo(s,null,u,w):uB(o,s,u,w),s.child;case 11:return u=s.type,d=s.pendingProps,d=s.elementType===u?d:Yi(u,d),Wp(o,s,u,d,w);case 7:return uB(o,s,s.pendingProps,w),s.child;case 8:return uB(o,s,s.pendingProps.children,w),s.child;case 12:return uB(o,s,s.pendingProps.children,w),s.child;case 10:A:{if(u=s.type._context,d=s.pendingProps,R=s.memoizedProps,AA=d.value,ep(s,u,AA),R!==null)if(EQ(R.value,AA)){if(R.children===d.children&&!T.current){s=HQ(o,s,w);break A}}else for(R=s.child,R!==null&&(R.return=s);R!==null;){var yA=R.dependencies;if(yA!==null){AA=R.child;for(var vA=yA.firstContext;vA!==null;){if(vA.context===u){if(R.tag===1){vA=qQ(-1,w&-w),vA.tag=2;var iI=R.updateQueue;if(iI!==null){iI=iI.shared;var kI=iI.pending;kI===null?vA.next=vA:(vA.next=kI.next,kI.next=vA),iI.pending=vA}}R.lanes|=w,vA=R.alternate,vA!==null&&(vA.lanes|=w),yS(R.return,w,s),yA.lanes|=w;break}vA=vA.next}}else if(R.tag===10)AA=R.type===s.type?null:R.child;else if(R.tag===18){if(AA=R.return,AA===null)throw Error(Q(341));AA.lanes|=w,yA=AA.alternate,yA!==null&&(yA.lanes|=w),yS(AA,w,s),AA=R.sibling}else AA=R.child;if(AA!==null)AA.return=R;else for(AA=R;AA!==null;){if(AA===s){AA=null;break}if(R=AA.sibling,R!==null){R.return=AA.return,AA=R;break}AA=AA.return}R=AA}uB(o,s,d.children,w),s=s.child}return s;case 9:return d=s.type,u=s.pendingProps.children,wo(s,w),d=ni(d),u=u(d),s.flags|=1,uB(o,s,u,w),s.child;case 14:return u=s.type,d=Yi(u,s.pendingProps),d=Yi(u.type,d),jp(o,s,u,d,w);case 15:return Vp(o,s,s.type,s.pendingProps,w);case 17:return u=s.type,d=s.pendingProps,d=s.elementType===u?d:Yi(u,d),o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2),s.tag=1,kA(u)?(o=!0,OA(s)):o=!1,wo(s,w),ap(s,u,d),dS(s,u,d,w),OS(null,s,u,!0,o,w);case 19:return QU(o,s,w);case 22:return Xp(o,s,w)}throw Error(Q(156,s.tag))};function fU(o,s){return lS(o,s)}function e2(o,s,w,u){this.tag=o,this.key=w,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,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 Di(o,s,w,u){return new e2(o,s,w,u)}function sG(o){return o=o.prototype,!(!o||!o.isReactComponent)}function E2(o){if(typeof o=="function")return sG(o)?1:0;if(o!=null){if(o=o.$$typeof,o===G)return 11;if(o===y)return 14}return 2}function xe(o,s){var w=o.alternate;return w===null?(w=Di(o.tag,s,o.key,o.mode),w.elementType=o.elementType,w.type=o.type,w.stateNode=o.stateNode,w.alternate=o,o.alternate=w):(w.pendingProps=s,w.type=o.type,w.flags=0,w.subtreeFlags=0,w.deletions=null),w.flags=o.flags&14680064,w.childLanes=o.childLanes,w.lanes=o.lanes,w.child=o.child,w.memoizedProps=o.memoizedProps,w.memoizedState=o.memoizedState,w.updateQueue=o.updateQueue,s=o.dependencies,w.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},w.sibling=o.sibling,w.index=o.index,w.ref=o.ref,w}function Pl(o,s,w,u,d,R){var AA=2;if(u=o,typeof o=="function")sG(o)&&(AA=1);else if(typeof o=="string")AA=5;else A:switch(o){case n:return Bt(w.children,d,R,s);case a:AA=8,d|=8;break;case r:return o=Di(12,w,s,d|2),o.elementType=r,o.lanes=R,o;case h:return o=Di(13,w,s,d),o.elementType=h,o.lanes=R,o;case c:return o=Di(19,w,s,d),o.elementType=c,o.lanes=R,o;case k:return Wl(w,d,R,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case l:AA=10;break A;case D:AA=9;break A;case G:AA=11;break A;case y:AA=14;break A;case S:AA=16,u=null;break A}throw Error(Q(130,o==null?o:typeof o,""))}return s=Di(AA,w,s,d),s.elementType=o,s.type=u,s.lanes=R,s}function Bt(o,s,w,u){return o=Di(7,o,u,s),o.lanes=w,o}function Wl(o,s,w,u){return o=Di(22,o,u,s),o.elementType=k,o.lanes=w,o.stateNode={},o}function aG(o,s,w){return o=Di(6,o,null,s),o.lanes=w,o}function rG(o,s,w){return s=Di(4,o.children!==null?o.children:[],o.key,s),s.lanes=w,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function t2(o,s,w,u,d){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=UA,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=aS(0),this.expirationTimes=aS(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=aS(0),this.identifierPrefix=u,this.onRecoverableError=d,MA&&(this.mutableSourceEagerHydrationData=null)}function FU(o,s,w,u,d,R,AA,yA,vA){return o=new t2(o,s,w,yA,vA),s===1?(s=1,R===!0&&(s|=8)):s=0,R=Di(3,null,null,s),o.current=R,R.stateNode=o,R.memoizedState={element:u,isDehydrated:w,cache:null,transitions:null},uS(R),o}function RU(o){if(!o)return XI;o=o._reactInternals;A:{if(_(o)!==o||o.tag!==1)throw Error(Q(170));var s=o;do{switch(s.tag){case 3:s=s.stateNode.context;break A;case 1:if(kA(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break A}}s=s.return}while(s!==null);throw Error(Q(171))}if(o.tag===1){var w=o.type;if(kA(w))return WA(o,w,s)}return s}function KU(o){var s=o._reactInternals;if(s===void 0)throw typeof o.render=="function"?Error(Q(188)):(o=Object.keys(o).join(","),Error(Q(268,o)));return o=z(s),o===null?null:o.stateNode}function JU(o,s){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var w=o.retryLane;o.retryLane=w!==0&&w=iI&&R>=jI&&d<=kI&&AA<=HI){o.splice(s,1);break}else if(u!==iI||w.width!==vA.width||HIAA){if(!(R!==jI||w.height!==vA.height||kId)){iI>u&&(vA.width+=iI-u,vA.x=u),kIR&&(vA.height+=jI-R,vA.y=R),HIw&&(w=AA)),AA ")+` + +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 oA(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:o2,findFiberByHostInstance:o.findFiberByHostInstance||n2,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 s=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(s.isDisabled||!s.supportsFiber)o=!0;else{try{Ql=s.inject(o),eQ=s}catch{}o=!!s.checkDCE}}return o},I.isAlreadyRendering=function(){return!1},I.observeVisibleRects=function(o,s,w,u){if(!m)throw Error(Q(363));o=IG(o,s);var d=sI(o,w,u).disconnect;return{disconnect:function(){d()}}},I.registerMutableSourceForHydration=function(o,s){var w=s._getVersion;w=w(s._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[s,w]:o.mutableSourceEagerHydrationData.push(s,w)},I.runWithPriority=function(o,s){var w=kg;try{return kg=o,s()}finally{kg=w}},I.shouldError=function(){return null},I.shouldSuspend=function(){return!1},I.updateContainer=function(o,s,w,u){var d=s.current,R=kB(),AA=He(d);return w=RU(w),s.context===null?s.context=w:s.pendingContext=w,s=qQ(R,AA),s.payload={element:o},u=u===void 0?null:u,u!==null&&(s.callback=u),me(d,s),o=ci(d,AA,R),o!==null&&nl(o,d,AA),AA},I};pL.exports=u1;var k1=pL.exports;const d1=mh(k1),M1=g=>typeof g=="object"&&typeof g.then=="function",Jt=[];function fL(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=Jt.indexOf(B);i!==-1&&Jt.splice(i,1)},promise:(M1(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(Jt.push(B),!I)throw B.promise}const p1=(g,A,I)=>FL(g,A,!1,I),U1=(g,A,I)=>void FL(g,A,!0,I),N1=g=>{if(g===void 0||g.length===0)Jt.splice(0,Jt.length);else{const A=Jt.find(I=>fL(g,I.keys,I.equal));A&&A.remove()}},AM={},IM=g=>void Object.assign(AM,g);function f1(g,A){function I(n,{args:a=[],attach:r,...l},D){let G=`${n[0].toUpperCase()}${n.slice(1)}`,h;if(n==="primitive"){if(l.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const c=l.object;h=tn(c,{type:n,root:D,attach:r,primitive:!0})}else{const c=AM[G];if(!c)throw new Error(`R3F: ${G} 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!");h=tn(new c(...a),{type:n,root:D,attach:r,memoizedProps:{args:a}})}return h.__r3f.attach===void 0&&(h instanceof WI?h.__r3f.attach="geometry":h instanceof nC&&(h.__r3f.attach="material")),G!=="inject"&&py(h,l),h}function C(n,a){let r=!1;if(a){var l,D;(l=a.__r3f)!=null&&l.attach?My(n,a,a.__r3f.attach):a.isObject3D&&n.isObject3D&&(n.add(a),r=!0),r||(D=n.__r3f)==null||D.objects.push(a),a.__r3f||tn(a,{}),a.__r3f.parent=n,Z0(a),on(a)}}function B(n,a,r){let l=!1;if(a){var D,G;if((D=a.__r3f)!=null&&D.attach)My(n,a,a.__r3f.attach);else if(a.isObject3D&&n.isObject3D){a.parent=n,a.dispatchEvent({type:"added"});const h=n.children.filter(y=>y!==a),c=h.indexOf(r);n.children=[...h.slice(0,c),a,...h.slice(c)],l=!0}l||(G=n.__r3f)==null||G.objects.push(a),a.__r3f||tn(a,{}),a.__r3f.parent=n,Z0(a),on(a)}}function i(n,a,r=!1){n&&[...n].forEach(l=>Q(a,l,r))}function Q(n,a,r){if(a){var l,D,G;if(a.__r3f&&(a.__r3f.parent=null),(l=n.__r3f)!=null&&l.objects&&(n.__r3f.objects=n.__r3f.objects.filter(k=>k!==a)),(D=a.__r3f)!=null&&D.attach)pF(n,a,a.__r3f.attach);else if(a.isObject3D&&n.isObject3D){var h;n.remove(a),(h=a.__r3f)!=null&&h.root&&Y1(a.__r3f.root,a)}const y=(G=a.__r3f)==null?void 0:G.primitive,S=!y&&(r===void 0?a.dispose!==null:r);if(!y){var c;i((c=a.__r3f)==null?void 0:c.objects,a,S),i(a.children,a,S)}if(delete a.__r3f,S&&a.dispose&&a.type!=="Scene"){const k=()=>{try{a.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?O0.unstable_scheduleCallback(O0.unstable_IdlePriority,k):k()}on(n)}}function e(n,a,r,l){var D;const G=(D=n.__r3f)==null?void 0:D.parent;if(!G)return;const h=I(a,r,n.__r3f.root);if(n.children){for(const c of n.children)c.__r3f&&C(h,c);n.children=n.children.filter(c=>!c.__r3f)}n.__r3f.objects.forEach(c=>C(h,c)),n.__r3f.objects=[],n.__r3f.autoRemovedBeforeAppend||Q(G,n),h.parent&&(h.__r3f.autoRemovedBeforeAppend=!0),C(G,h),h.raycast&&h.__r3f.eventCount&&h.__r3f.root.getState().internal.interaction.push(h),[l,l.alternate].forEach(c=>{c!==null&&(c.stateNode=h,c.ref&&(typeof c.ref=="function"?c.ref(h):c.ref.current=h))})}const E=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:d1({createInstance:I,removeChild:Q,appendChild:C,appendInitialChild:C,insertBefore:B,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(n,a)=>{if(!a)return;const r=n.getState().scene;r.__r3f&&(r.__r3f.root=n,C(r,a))},removeChildFromContainer:(n,a)=>{a&&Q(n.getState().scene,a)},insertInContainerBefore:(n,a,r)=>{if(!a||!r)return;const l=n.getState().scene;l.__r3f&&B(l,a,r)},getRootHostContext:()=>null,getChildHostContext:n=>n,finalizeInitialChildren(n){var a;return!!((a=n?.__r3f)!=null?a:{}).handlers},prepareUpdate(n,a,r,l){var D;if(((D=n?.__r3f)!=null?D:{}).primitive&&l.object&&l.object!==n)return[!0];{const{args:h=[],children:c,...y}=l,{args:S=[],children:k,...N}=r;if(!Array.isArray(h))throw new Error("R3F: the args prop must be an array!");if(h.some((f,q)=>f!==S[q]))return[!0];const p=YL(n,y,N,!0);return p.changes.length?[!1,p]:null}},commitUpdate(n,[a,r],l,D,G,h){a?e(n,l,G,h):py(n,r)},commitMount(n,a,r,l){var D;const G=(D=n.__r3f)!=null?D:{};n.raycast&&G.handlers&&G.eventCount&&n.__r3f.root.getState().internal.interaction.push(n)},getPublicInstance:n=>n,prepareForCommit:()=>null,preparePortalMount:n=>tn(n.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(n){var a;const{attach:r,parent:l}=(a=n.__r3f)!=null?a:{};r&&l&&pF(l,n,r),n.isObject3D&&(n.visible=!1),on(n)},unhideInstance(n,a){var r;const{attach:l,parent:D}=(r=n.__r3f)!=null?r:{};l&&D&&My(D,n,l),(n.isObject3D&&a.visible==null||a.visible)&&(n.visible=!0),on(n)},createTextInstance:E,hideTextInstance:E,unhideTextInstance:E,getCurrentEventPriority:()=>A?A():Un.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&vg.fun(performance.now)?performance.now:vg.fun(Date.now)?Date.now:()=>0,scheduleTimeout:vg.fun(setTimeout)?setTimeout:void 0,cancelTimeout:vg.fun(clearTimeout)?clearTimeout:void 0}),applyProps:py}}var uF,kF;const dy=g=>"colorSpace"in g||"outputColorSpace"in g,RL=()=>{var g;return(g=AM.ColorManagement)!=null?g:null},KL=g=>g&&g.isOrthographicCamera,F1=g=>g&&g.hasOwnProperty("current"),Vr=typeof window<"u"&&((uF=window.document)!=null&&uF.createElement||((kF=window.navigator)==null?void 0:kF.product)==="ReactNative")?j.useLayoutEffect:j.useEffect;function JL(g){const A=j.useRef(g);return Vr(()=>void(A.current=g),[g]),A}function R1({set:g}){return Vr(()=>(g(new Promise(()=>null)),()=>g(!1)),[g]),null}class qL extends j.Component{constructor(...A){super(...A),this.state={error:!1}}componentDidCatch(A){this.props.set(A)}render(){return this.state.error?null:this.props.children}}qL.getDerivedStateFromError=()=>({error:!0});const mL="__default",dF=new Map,K1=g=>g&&!!g.memoized&&!!g.changes;function LL(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 ia=g=>{var A;return(A=g.__r3f)==null?void 0:A.root.getState()},vg={obj:g=>g===Object(g)&&!vg.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(vg.str(g)||vg.num(g))return g===A;const i=vg.obj(g);if(i&&C==="reference")return g===A;const Q=vg.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(!vg.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(vg.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 J1(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 q1(g){g.dispose&&g.type!=="Scene"&&g.dispose();for(const A in g)A.dispose==null||A.dispose(),delete g[A]}function tn(g,A){const I=g;return I.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...A},g}function _0(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 MF=/-\d+$/;function My(g,A,I){if(vg.str(I)){if(MF.test(I)){const i=I.replace(MF,""),{target:Q,key:e}=_0(g,i);Array.isArray(Q[e])||(Q[e]=[])}const{target:C,key:B}=_0(g,I);A.__r3f.previousAttach=C[B],C[B]=A}else A.__r3f.previousAttach=I(g,A)}function pF(g,A,I){var C,B;if(vg.str(I)){const{target:i,key:Q}=_0(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 YL(g,{children:A,key:I,ref:C,...B},{children:i,key:Q,ref:e,...E}={},t=!1){var n;const a=(n=g?.__r3f)!=null?n:{},r=Object.entries(B),l=[];if(t){const G=Object.keys(E);for(let h=0;h{var c;if((c=g.__r3f)!=null&&c.primitive&&G==="object"||vg.equ(h,E[G]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(G))return l.push([G,h,!0,[]]);let y=[];G.includes("-")&&(y=G.split("-")),l.push([G,h,!1,y]);for(const S in B){const k=B[S];S.startsWith(`${G}-`)&&l.push([S,k,!1,S.split("-")])}});const D={...B};return a.memoizedProps&&a.memoizedProps.args&&(D.args=a.memoizedProps.args),a.memoizedProps&&a.memoizedProps.attach&&(D.attach=a.memoizedProps.attach),{memoized:D,changes:l}}const m1=typeof process<"u"&&!1;function py(g,A){var I,C,B;const i=(I=g.__r3f)!=null?I:{},Q=i.root,e=(C=Q==null||Q.getState==null?void 0:Q.getState())!=null?C:{},{memoized:E,changes:t}=K1(A)?A:YL(g,A),n=i.eventCount;g.__r3f&&(g.__r3f.memoizedProps=E);for(let r=0;rS[k],g),!(y&&y.set))){const[S,...k]=h.reverse();c=k.reverse().reduce((N,p)=>N[p],g),l=S}if(D===mL+"remove")if(c.constructor){let S=dF.get(c.constructor);S||(S=new c.constructor,dF.set(c.constructor,S)),D=S[l]}else D=0;if(G)D?i.handlers[l]=D:delete i.handlers[l],i.eventCount=Object.keys(i.handlers).length;else if(y&&y.set&&(y.copy||y instanceof Tt)){if(Array.isArray(D))y.fromArray?y.fromArray(D):y.set(...D);else if(y.copy&&D&&D.constructor&&(m1?y.constructor.name===D.constructor.name:y.constructor===D.constructor))y.copy(D);else if(D!==void 0){const S=y instanceof tI;!S&&y.setScalar?y.setScalar(D):y instanceof Tt&&D instanceof Tt?y.mask=D.mask:y.set(D),!RL()&&!e.linear&&S&&y.convertSRGBToLinear()}}else if(c[l]=D,c[l]instanceof mg&&c[l].format===hB&&c[l].type===MQ){const S=c[l];dy(S)&&dy(e.gl)?S.colorSpace=e.gl.outputColorSpace:S.encoding=e.gl.outputEncoding}on(g)}if(i.parent&&e.internal&&g.raycast&&n!==i.eventCount){const r=e.internal.interaction.indexOf(g);r>-1&&e.internal.interaction.splice(r,1),i.eventCount&&e.internal.interaction.push(g)}return!(t.length===1&&t[0][0]==="onUpdate")&&t.length&&(B=g.__r3f)!=null&&B.parent&&Z0(g),g}function on(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 Z0(g){g.onUpdate==null||g.onUpdate(g)}function HL(g,A){g.manual||(KL(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 CD(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 Un.DefaultEventPriority;switch((g=A.event)==null?void 0:g.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Un.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Un.ContinuousEventPriority;default:return Un.DefaultEventPriority}}function TL(g,A,I,C){const B=I.get(A);B&&(I.delete(A),I.size===0&&(g.delete(C),B.target.releasePointerCapture(C)))}function Y1(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)=>{TL(I.capturedMap,A,C,B)})}function H1(g){function A(E){const{internal:t}=g.getState(),n=E.offsetX-t.initialClick[0],a=E.offsetY-t.initialClick[1];return Math.round(Math.sqrt(n*n+a*a))}function I(E){return E.filter(t=>["Move","Over","Enter","Out","Leave"].some(n=>{var a;return(a=t.__r3f)==null?void 0:a.handlers["onPointer"+n]}))}function C(E,t){const n=g.getState(),a=new Set,r=[],l=t?t(n.internal.interaction):n.internal.interaction;for(let c=0;c{const S=ia(c.object),k=ia(y.object);return!S||!k?c.distance-y.distance:k.events.priority-S.events.priority||c.distance-y.distance}).filter(c=>{const y=CD(c);return a.has(y)?!1:(a.add(y),!0)});n.events.filter&&(G=n.events.filter(G,n));for(const c of G){let y=c.object;for(;y;){var h;(h=y.__r3f)!=null&&h.eventCount&&r.push({...c,eventObject:y}),y=y.parent}}if("pointerId"in E&&n.internal.capturedMap.has(E.pointerId))for(let c of n.internal.capturedMap.get(E.pointerId).values())a.has(CD(c.intersection))||r.push(c.intersection);return r}function B(E,t,n,a){const r=g.getState();if(E.length){const l={stopped:!1};for(const D of E){const G=ia(D.object)||r,{raycaster:h,pointer:c,camera:y,internal:S}=G,k=new O(c.x,c.y,0).unproject(y),N=U=>{var K,z;return(K=(z=S.capturedMap.get(U))==null?void 0:z.has(D.eventObject))!=null?K:!1},p=U=>{const K={intersection:D,target:t.target};S.capturedMap.has(U)?S.capturedMap.get(U).set(D.eventObject,K):S.capturedMap.set(U,new Map([[D.eventObject,K]])),t.target.setPointerCapture(U)},f=U=>{const K=S.capturedMap.get(U);K&&TL(S.capturedMap,D.eventObject,K,U)};let q={};for(let U in t){let K=t[U];typeof K!="function"&&(q[U]=K)}let _={...D,...q,pointer:c,intersections:E,stopped:l.stopped,delta:n,unprojectedPoint:k,ray:h.ray,camera:y,stopPropagation(){const U="pointerId"in t&&S.capturedMap.get(t.pointerId);if((!U||U.has(D.eventObject))&&(_.stopped=l.stopped=!0,S.hovered.size&&Array.from(S.hovered.values()).find(K=>K.eventObject===D.eventObject))){const K=E.slice(0,E.indexOf(D));i([...K,D])}},target:{hasPointerCapture:N,setPointerCapture:p,releasePointerCapture:f},currentTarget:{hasPointerCapture:N,setPointerCapture:p,releasePointerCapture:f},nativeEvent:t};if(a(_),l.stopped===!0)break}}return E}function i(E){const{internal:t}=g.getState();for(const n of t.hovered.values())if(!E.length||!E.find(a=>a.object===n.object&&a.index===n.index&&a.instanceId===n.instanceId)){const r=n.eventObject.__r3f,l=r?.handlers;if(t.hovered.delete(CD(n)),r!=null&&r.eventCount){const D={...n,intersections:E};l.onPointerOut==null||l.onPointerOut(D),l.onPointerLeave==null||l.onPointerLeave(D)}}}function Q(E,t){for(let n=0;ni([]);case"onLostPointerCapture":return t=>{const{internal:n}=g.getState();"pointerId"in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),i([]))})}}return function(n){const{onPointerMissed:a,internal:r}=g.getState();r.lastEvent.current=n;const l=E==="onPointerMove",D=E==="onClick"||E==="onContextMenu"||E==="onDoubleClick",h=C(n,l?I:void 0),c=D?A(n):0;E==="onPointerDown"&&(r.initialClick=[n.offsetX,n.offsetY],r.initialHits=h.map(S=>S.eventObject)),D&&!h.length&&c<=2&&(Q(n,r.interaction),a&&a(n)),l&&i(h);function y(S){const k=S.eventObject,N=k.__r3f,p=N?.handlers;if(N!=null&&N.eventCount)if(l){if(p.onPointerOver||p.onPointerEnter||p.onPointerOut||p.onPointerLeave){const f=CD(S),q=r.hovered.get(f);q?q.stopped&&S.stopPropagation():(r.hovered.set(f,S),p.onPointerOver==null||p.onPointerOver(S),p.onPointerEnter==null||p.onPointerEnter(S))}p.onPointerMove==null||p.onPointerMove(S)}else{const f=p[E];f?(!D||r.initialHits.includes(k))&&(Q(n,r.interaction.filter(q=>!r.initialHits.includes(q))),f(S)):D&&r.initialHits.includes(k)&&Q(n,r.interaction.filter(q=>!r.initialHits.includes(q)))}}B(h,n,c,y)}}return{handlePointer:e}}const T1=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],xL=g=>!!(g!=null&&g.render),gM=j.createContext(null),x1=(g,A)=>{const I=ML((e,E)=>{const t=new O,n=new O,a=new O;function r(c=E().camera,y=n,S=E().size){const{width:k,height:N,top:p,left:f}=S,q=k/N;y instanceof O?a.copy(y):a.set(...y);const _=c.getWorldPosition(t).distanceTo(a);if(KL(c))return{width:k/c.zoom,height:N/c.zoom,top:p,left:f,factor:1,distance:_,aspect:q};{const U=c.fov*Math.PI/180,K=2*Math.tan(U/2)*_,z=K*(k/N);return{width:z,height:K,top:p,left:f,factor:k/z,distance:_,aspect:q}}}let l;const D=c=>e(y=>({performance:{...y.performance,current:c}})),G=new KA;return{set:e,get:E,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(c=1)=>g(E(),c),advance:(c,y)=>A(c,y,E()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new jd,pointer:G,mouse:G,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const c=E();l&&clearTimeout(l),c.performance.current!==c.performance.min&&D(c.performance.min),l=setTimeout(()=>D(E().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(y=>({...y,events:{...y.events,...c}})),setSize:(c,y,S,k,N)=>{const p=E().camera,f={width:c,height:y,top:k||0,left:N||0,updateStyle:S};e(q=>({size:f,viewport:{...q.viewport,...r(p,n,f)}}))},setDpr:c=>e(y=>{const S=LL(c);return{viewport:{...y.viewport,dpr:S,initialDpr:y.viewport.initialDpr||S}}}),setFrameloop:(c="always")=>{const y=E().clock;y.stop(),y.elapsedTime=0,c!=="never"&&(y.start(),y.elapsedTime=0),e(()=>({frameloop:c}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:j.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(c,y,S)=>{const k=E().internal;return k.priority=k.priority+(y>0?1:0),k.subscribers.push({ref:c,priority:y,store:S}),k.subscribers=k.subscribers.sort((N,p)=>N.priority-p.priority),()=>{const N=E().internal;N!=null&&N.subscribers&&(N.priority=N.priority-(y>0?1:0),N.subscribers=N.subscribers.filter(p=>p.ref!==c))}}}}}),C=I.getState();let B=C.size,i=C.viewport.dpr,Q=C.camera;return I.subscribe(()=>{const{camera:e,size:E,viewport:t,gl:n,set:a}=I.getState();if(E.width!==B.width||E.height!==B.height||t.dpr!==i){var r;B=E,i=t.dpr,HL(e,E),n.setPixelRatio(t.dpr);const l=(r=E.updateStyle)!=null?r:typeof HTMLCanvasElement<"u"&&n.domElement instanceof HTMLCanvasElement;n.setSize(E.width,E.height,l)}e!==Q&&(Q=e,a(l=>({viewport:{...l.viewport,...l.viewport.getCurrentViewport(e)}})))}),I.subscribe(e=>g(e)),I};function vL(g,A){const I={callback:g};return A.add(I),()=>void A.delete(I)}let BD,bL=new Set,OL=new Set,v1=new Set;const b1=g=>vL(g,bL),O1=g=>vL(g,OL);function Uy(g,A){if(g.size)for(const{callback:I}of g.values())I(A)}function Qa(g,A){switch(g){case"before":return Uy(bL,A);case"after":return Uy(OL,A);case"tail":return Uy(v1,A)}}let Ny,fy;function Fy(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),Ny=A.internal.subscribers,BD=0;BD0)&&!((t=B.gl.xr)!=null&&t.isPresenting)&&(I+=Fy(E,B))}if(Qa("after",E),I===0)return Qa("tail",E),A=!1,cancelAnimationFrame(C)}function Q(E,t=1){var n;if(!E)return g.forEach(a=>Q(a.store.getState()),t);(n=E.gl.xr)!=null&&n.isPresenting||!E.internal.active||E.frameloop==="never"||(E.internal.frames=Math.min(60,E.internal.frames+t),A||(A=!0,requestAnimationFrame(i)))}function e(E,t=!0,n,a){if(t&&Qa("before",E),n)Fy(E,n,a);else for(const r of g.values())Fy(E,r.store.getState());t&&Qa("after",E)}return{loop:i,invalidate:Q,advance:e}}function ls(){const g=j.useContext(gM);if(!g)throw new Error("R3F: Hooks can only be used within the Canvas component!");return g}function wB(g=I=>I,A){return ls()(g,A)}function OB(g,A=0){const I=ls(),C=I.getState().internal.subscribe,B=JL(g);return Vr(()=>C(B,A,I),[A,C,I]),null}const UF=new WeakMap;function _L(g,A){return function(I,...C){let B=UF.get(I);return B||(B=new I,UF.set(I,B)),g&&g(B),Promise.all(C.map(i=>new Promise((Q,e)=>B.load(i,E=>{E.scene&&Object.assign(E,J1(E.scene)),Q(E)},A,E=>e(new Error(`Could not load ${i}: ${E?.message}`)))))).finally(()=>B.dispose==null?void 0:B.dispose())}}function no(g,A,I,C){const B=Array.isArray(A)?A:[A],i=p1(_L(I,C),[g,...B],{equal:vg.equ});return Array.isArray(A)?i:i[0]}no.preload=function(g,A,I){const C=Array.isArray(A)?A:[A];return U1(_L(I),[g,...C])};no.clear=function(g,A){const I=Array.isArray(A)?A:[A];return N1([g,...I])};const gs=new Map,{invalidate:NF,advance:fF}=_1(gs),{reconciler:Gr,applyProps:$o}=f1(gs,L1),An={objects:"shallow",strict:!1},Z1=(g,A)=>{const I=typeof g=="function"?g(A):g;return xL(I)?I:new pd({powerPreference:"high-performance",canvas:A,antialias:!0,alpha:!0,...g})};function P1(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 W1(g){const A=gs.get(g),I=A?.fiber,C=A?.store;A&&console.warn("R3F.createRoot should only be called once!");const B=typeof reportError=="function"?reportError:console.error,i=C||x1(NF,fF),Q=I||Gr.createContainer(i,Un.ConcurrentRoot,null,!1,null,"",B,null);A||gs.set(g,{fiber:Q,store:i});let e,E=!1,t;return{configure(n={}){let{gl:a,size:r,scene:l,events:D,onCreated:G,shadows:h=!1,linear:c=!1,flat:y=!1,legacy:S=!1,orthographic:k=!1,frameloop:N="always",dpr:p=[1,2],performance:f,raycaster:q,camera:_,onPointerMissed:U}=n,K=i.getState(),z=K.gl;K.gl||K.set({gl:z=Z1(a,g)});let cA=K.raycaster;cA||K.set({raycaster:cA=new $d});const{params:X,...sA}=q||{};if(vg.equ(sA,cA,An)||$o(cA,{...sA}),vg.equ(X,cA.params,An)||$o(cA,{params:{...cA.params,...X}}),!K.camera||K.camera===t&&!vg.equ(t,_,An)){t=_;const fA=_ instanceof Hr,VA=fA?_:k?new he(0,0,0,0,.1,1e3):new GC(75,0,.1,1e3);fA||(VA.position.z=5,_&&$o(VA,_),!K.camera&&!(_!=null&&_.rotation)&&VA.lookAt(0,0,0)),K.set({camera:VA}),cA.camera=VA}if(!K.scene){let fA;l instanceof Xt?fA=l:(fA=new Xt,l&&$o(fA,l)),K.set({scene:tn(fA)})}if(!K.xr){var oA;const fA=(v,x)=>{const H=i.getState();H.frameloop!=="never"&&fF(v,!0,H,x)},VA=()=>{const v=i.getState();v.gl.xr.enabled=v.gl.xr.isPresenting,v.gl.xr.setAnimationLoop(v.gl.xr.isPresenting?fA:null),v.gl.xr.isPresenting||NF(v)},W={connect(){const v=i.getState().gl;v.xr.addEventListener("sessionstart",VA),v.xr.addEventListener("sessionend",VA)},disconnect(){const v=i.getState().gl;v.xr.removeEventListener("sessionstart",VA),v.xr.removeEventListener("sessionend",VA)}};typeof((oA=z.xr)==null?void 0:oA.addEventListener)=="function"&&W.connect(),K.set({xr:W})}if(z.shadowMap){const fA=z.shadowMap.enabled,VA=z.shadowMap.type;if(z.shadowMap.enabled=!!h,vg.boo(h))z.shadowMap.type=ma;else if(vg.str(h)){var GA;const W={basic:yq,percentage:$h,soft:ma,variance:Pi};z.shadowMap.type=(GA=W[h])!=null?GA:ma}else vg.obj(h)&&Object.assign(z.shadowMap,h);(fA!==z.shadowMap.enabled||VA!==z.shadowMap.type)&&(z.shadowMap.needsUpdate=!0)}const b=RL();b&&("enabled"in b?b.enabled=!S:"legacyMode"in b&&(b.legacyMode=S)),$o(z,{outputEncoding:c?3e3:3001,toneMapping:y?dQ:Qd}),K.legacy!==S&&K.set(()=>({legacy:S})),K.linear!==c&&K.set(()=>({linear:c})),K.flat!==y&&K.set(()=>({flat:y})),a&&!vg.fun(a)&&!xL(a)&&!vg.equ(a,z,An)&&$o(z,a),D&&!K.events.handlers&&K.set({events:D(i)});const DA=P1(g,r);return vg.equ(DA,K.size,An)||K.setSize(DA.width,DA.height,DA.updateStyle,DA.top,DA.left),p&&K.viewport.dpr!==LL(p)&&K.setDpr(p),K.frameloop!==N&&K.setFrameloop(N),K.onPointerMissed||K.set({onPointerMissed:U}),f&&!vg.equ(f,K.performance,An)&&K.set(fA=>({performance:{...fA.performance,...f}})),e=G,E=!0,this},render(n){return E||this.configure(),Gr.updateContainer(j.createElement(j1,{store:i,children:n,onCreated:e,rootElement:g}),Q,null,()=>{}),i},unmount(){ZL(g)}}}function j1({store:g,children:A,onCreated:I,rootElement:C}){return Vr(()=>{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)},[]),j.createElement(gM.Provider,{value:g},A)}function ZL(g,A){const I=gs.get(g),C=I?.fiber;if(C){const B=I?.store.getState();B&&(B.internal.active=!1),Gr.updateContainer(null,C,null,()=>{B&&setTimeout(()=>{try{var i,Q,e,E;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(),(E=B.gl)!=null&&E.xr&&B.xr.disconnect(),q1(B),gs.delete(g),A&&A(g)}catch{}},500)})}}function pw(g,A,I){return j.createElement(V1,{key:A.uuid,children:g,container:A,state:I})}function V1({state:g={},children:A,container:I}){const{events:C,size:B,...i}=g,Q=ls(),[e]=j.useState(()=>new $d),[E]=j.useState(()=>new KA),t=j.useCallback((a,r)=>{const l={...a};Object.keys(a).forEach(G=>{(T1.includes(G)||a[G]!==r[G]&&r[G])&&delete l[G]});let D;if(r&&B){const G=r.camera;D=a.viewport.getCurrentViewport(G,new O,B),G!==a.camera&&HL(G,B)}return{...l,scene:I,raycaster:e,pointer:E,mouse:E,previousRoot:Q,events:{...a.events,...r?.events,...C},size:{...a.size,...B},viewport:{...a.viewport,...D},...i}},[g]),[n]=j.useState(()=>{const a=Q.getState();return ML((l,D)=>({...a,scene:I,raycaster:e,pointer:E,mouse:E,previousRoot:Q,events:{...a.events,...C},size:{...a.size,...B},...i,set:l,get:D,setEvents:G=>l(h=>({...h,events:{...h.events,...G}}))}))});return j.useEffect(()=>{const a=Q.subscribe(r=>n.setState(l=>t(r,l)));return()=>{a(),n.destroy()}},[]),j.useEffect(()=>{n.setState(a=>t(Q.getState(),a))},[t]),j.createElement(j.Fragment,null,Gr.createPortal(j.createElement(gM.Provider,{value:n},A),n,null))}Gr.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:j.version});function P0(g,A,I){var C,B,i,Q,e;A==null&&(A=100);function E(){var n=Date.now()-Q;n=0?C=setTimeout(E,A-n):(C=null,I||(e=g.apply(i,B),i=B=null))}var t=function(){i=this,B=arguments,Q=Date.now();var n=I&&!C;return C||(C=setTimeout(E,A)),n&&(e=g.apply(i,B),i=B=null),e};return t.clear=function(){C&&(clearTimeout(C),C=null)},t.flush=function(){C&&(e=g.apply(i,B),i=B=null,clearTimeout(C),C=null)},t}P0.debounce=P0;var X1=P0;const FF=mh(X1);function z1(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]=j.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),E=j.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:Q}),t=A?typeof A=="number"?A:A.scroll:null,n=A?typeof A=="number"?A:A.resize:null,a=j.useRef(!1);j.useEffect(()=>(a.current=!0,()=>void(a.current=!1)));const[r,l,D]=j.useMemo(()=>{const y=()=>{if(!E.current.element)return;const{left:S,top:k,width:N,height:p,bottom:f,right:q,x:_,y:U}=E.current.element.getBoundingClientRect(),K={left:S,top:k,width:N,height:p,bottom:f,right:q,x:_,y:U};E.current.element instanceof HTMLElement&&B&&(K.height=E.current.element.offsetHeight,K.width=E.current.element.offsetWidth),Object.freeze(K),a.current&&!gP(E.current.lastBounds,K)&&e(E.current.lastBounds=K)};return[y,n?FF(y,n):y,t?FF(y,t):y]},[e,B,t,n]);function G(){E.current.scrollContainers&&(E.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",D,!0)),E.current.scrollContainers=null),E.current.resizeObserver&&(E.current.resizeObserver.disconnect(),E.current.resizeObserver=null)}function h(){E.current.element&&(E.current.resizeObserver=new i(D),E.current.resizeObserver.observe(E.current.element),I&&E.current.scrollContainers&&E.current.scrollContainers.forEach(y=>y.addEventListener("scroll",D,{capture:!0,passive:!0})))}const c=y=>{!y||y===E.current.element||(G(),E.current.element=y,E.current.scrollContainers=PL(y),h())};return AP(D,!!I),$1(l),j.useEffect(()=>{G(),h()},[I,D,l]),j.useEffect(()=>G,[]),[c,Q,r]}function $1(g){j.useEffect(()=>{const A=g;return window.addEventListener("resize",A),()=>void window.removeEventListener("resize",A)},[g])}function AP(g,A){j.useEffect(()=>{if(A){const I=g;return window.addEventListener("scroll",I,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",I,!0)}},[g,A])}function PL(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,...PL(g.parentElement)]}const IP=["x","y","top","bottom","left","right","width","height"],gP=(g,A)=>IP.every(I=>g[I]===A[I]);var CP=Object.defineProperty,BP=Object.defineProperties,iP=Object.getOwnPropertyDescriptors,RF=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,eP=Object.prototype.propertyIsEnumerable,KF=(g,A,I)=>A in g?CP(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,JF=(g,A)=>{for(var I in A||(A={}))QP.call(A,I)&&KF(g,I,A[I]);if(RF)for(var I of RF(A))eP.call(A,I)&&KF(g,I,A[I]);return g},EP=(g,A)=>BP(g,iP(A));function WL(g,A,I){if(!g)return;if(I(g)===!0)return g;let C=A?g.return:g.child;for(;C;){const B=WL(C,A,I);if(B)return B;C=A?null:C.sibling}}function jL(g){try{return Object.defineProperties(g,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return g}}const CM=jL(j.createContext(null));class VL extends j.Component{render(){return j.createElement(CM.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:qF,ReactCurrentDispatcher:mF}=j.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function tP(){const g=j.useContext(CM);if(g===null)throw new Error("its-fine: useFiber must be called within a !");const A=j.useId();return j.useMemo(()=>{for(const C of[qF?.current,g,g?.alternate]){if(!C)continue;const B=WL(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 oP(){var g,A;const I=tP(),[C]=j.useState(()=>new Map);C.clear();let B=I;for(;B;){const i=(g=B.type)==null?void 0:g._context;i&&i!==CM&&!C.has(i)&&C.set(i,(A=mF?.current)==null?void 0:A.readContext(jL(i))),B=B.return}return C}function nP(){const g=oP();return j.useMemo(()=>Array.from(g.keys()).reduce((A,I)=>C=>j.createElement(A,null,j.createElement(I.Provider,EP(JF({},C),{value:g.get(I)}))),A=>j.createElement(VL,JF({},A))),[g])}const Ry={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 sP(g){const{handlePointer:A}=H1(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(Ry).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[E,t]=Ry[Q];I.addEventListener(E,e,{passive:t})})},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]=Ry[i];C.connected.removeEventListener(e,Q)}}),I(i=>({events:{...i.events,connected:void 0}}))}}}}const aP=j.forwardRef(function({children:A,fallback:I,resize:C,style:B,gl:i,events:Q=sP,eventSource:e,eventPrefix:E,shadows:t,linear:n,flat:a,legacy:r,orthographic:l,frameloop:D,dpr:G,performance:h,raycaster:c,camera:y,scene:S,onPointerMissed:k,onCreated:N,...p},f){j.useMemo(()=>IM(S1),[]);const q=nP(),[_,U]=z1({scroll:!0,debounce:{scroll:50,resize:0},...C}),K=j.useRef(null),z=j.useRef(null);j.useImperativeHandle(f,()=>K.current);const cA=JL(k),[X,sA]=j.useState(!1),[oA,GA]=j.useState(!1);if(X)throw X;if(oA)throw oA;const b=j.useRef(null);Vr(()=>{const gA=K.current;U.width>0&&U.height>0&&gA&&(b.current||(b.current=W1(gA)),b.current.configure({gl:i,events:Q,shadows:t,linear:n,flat:a,legacy:r,orthographic:l,frameloop:D,dpr:G,performance:h,raycaster:c,camera:y,scene:S,size:U,onPointerMissed:(...DA)=>cA.current==null?void 0:cA.current(...DA),onCreated:DA=>{DA.events.connect==null||DA.events.connect(e?F1(e)?e.current:e:z.current),E&&DA.setEvents({compute:(fA,VA)=>{const W=fA[E+"X"],v=fA[E+"Y"];VA.pointer.set(W/VA.size.width*2-1,-(v/VA.size.height)*2+1),VA.raycaster.setFromCamera(VA.pointer,VA.camera)}}),N?.(DA)}}),b.current.render(j.createElement(q,null,j.createElement(qL,{set:GA},j.createElement(j.Suspense,{fallback:j.createElement(R1,{set:sA})},A)))))}),j.useEffect(()=>{const gA=K.current;if(gA)return()=>ZL(gA)},[]);const CA=e?"none":"auto";return j.createElement("div",FE({ref:z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:CA,...B}},p),j.createElement("div",{ref:_,style:{width:"100%",height:"100%"}},j.createElement("canvas",{ref:K,style:{display:"block"}},I)))}),rP=j.forwardRef(function(A,I){return j.createElement(VL,null,j.createElement(aP,FE({},A,{ref:I})))});function XL(g){return function(A){g.forEach(function(I){typeof I=="function"?I(A):I!=null&&(I.current=A)})}}function Ta(g,A,I){return A in g?Object.defineProperty(g,A,{value:I,enumerable:!0,configurable:!0,writable:!0}):g[A]=I,g}function W0(g,A){return W0=Object.setPrototypeOf||function(C,B){return C.__proto__=B,C},W0(g,A)}function lP(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j0(g,A){(A==null||A>g.length)&&(A=g.length);for(var I=0,C=new Array(A);IMath.PI&&(I-=Math.PI*2),I}function BM(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")}var Si=function g(A,I,C){var B=this;BM(this,g),Ta(this,"dot2",function(i,Q){return B.x*i+B.y*Q}),Ta(this,"dot3",function(i,Q,e){return B.x*i+B.y*Q+B.z*e}),this.x=A,this.y=I,this.z=C},kP=[new Si(1,1,0),new Si(-1,1,0),new Si(1,-1,0),new Si(-1,-1,0),new Si(1,0,1),new Si(-1,0,1),new Si(1,0,-1),new Si(-1,0,-1),new Si(0,1,1),new Si(0,-1,1),new Si(0,1,-1),new Si(0,-1,-1)],LF=[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],YF=new Array(512),HF=new Array(512),dP=function(A){A>0&&A<1&&(A*=65536),A=Math.floor(A),A<256&&(A|=A<<8);for(var I=0;I<256;I++){var C;I&1?C=LF[I]^A&255:C=LF[I]^A>>8&255,YF[I]=YF[I+256]=C,HF[I]=HF[I+256]=kP[C%12]}};dP(0);function MP(g){if(typeof g=="number")g=Math.abs(g);else if(typeof g=="string"){var A=g;g=0;for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:.01,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1/(2*Math.PI);return C/Math.atan(1/I)*Math.atan(Math.sin(2*Math.PI*A*B)/I)},zL=function(A){return 1/(1+A+.48*A*A+.235*A*A*A)},NP=function(A){return A},fP={in:function(A){return 1-Math.cos(A*Math.PI/2)},out:function(A){return Math.sin(A*Math.PI/2)},inOut:function(A){return-(Math.cos(Math.PI*A)-1)/2}},FP={in:function(A){return A*A*A},out:function(A){return 1-Math.pow(1-A,3)},inOut:function(A){return A<.5?4*A*A*A:1-Math.pow(-2*A+2,3)/2}},RP={in:function(A){return A*A*A*A*A},out:function(A){return 1-Math.pow(1-A,5)},inOut:function(A){return A<.5?16*A*A*A*A*A:1-Math.pow(-2*A+2,5)/2}},KP={in:function(A){return 1-Math.sqrt(1-Math.pow(A,2))},out:function(A){return Math.sqrt(1-Math.pow(A-1,2))},inOut:function(A){return A<.5?(1-Math.sqrt(1-Math.pow(2*A,2)))/2:(Math.sqrt(1-Math.pow(-2*A+2,2))+1)/2}},JP={in:function(A){return A*A*A*A},out:function(A){return 1- --A*A*A*A},inOut:function(A){return A<.5?8*A*A*A*A:1-8*--A*A*A*A}},qP={in:function(A){return A===0?0:Math.pow(2,10*A-10)},out:function(A){return A===1?1:1-Math.pow(2,-10*A)},inOut:function(A){return A===0?0:A===1?1:A<.5?Math.pow(2,20*A-10)/2:(2-Math.pow(2,-20*A+10))/2}};function FC(g,A,I){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.25,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:.01,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:1/0,Q=arguments.length>6&&arguments[6]!==void 0?arguments[6]:zL,e=arguments.length>7&&arguments[7]!==void 0?arguments[7]:.001,E="velocity_"+A;if(g.__damp===void 0&&(g.__damp={}),g.__damp[E]===void 0&&(g.__damp[E]=0),Math.abs(g[A]-I)<=e)return g[A]=I,!1;C=Math.max(1e-4,C);var t=2/C,n=Q(t*B),a=g[A]-I,r=I,l=i*C;a=Math.min(Math.max(a,-l),l),I=g[A]-a;var D=(g.__damp[E]+t*a)*B;g.__damp[E]=(g.__damp[E]-t*D)*n;var G=I+(a+D)*n;return r-g[A]>0==G>r&&(G=r,g.__damp[E]=(G-r)/B),g[A]=G,!0}var mP=function(A){return A&&A.isCamera},LP=function(A){return A&&A.isLight},ea=new O,xF=new _g,vF=new _g,Ea=new UI,Ky=new O;function YP(g,A,I,C,B,i,Q){typeof A=="number"?ea.setScalar(A):Array.isArray(A)?ea.set(A[0],A[1],A[2]):ea.copy(A);var e=g.parent;g.updateWorldMatrix(!0,!1),Ky.setFromMatrixPosition(g.matrixWorld),mP(g)||LP(g)?Ea.lookAt(Ky,ea,g.up):Ea.lookAt(ea,Ky,g.up),Gh(g.quaternion,vF.setFromRotationMatrix(Ea),I,C,B,i,Q),e&&(Ea.extractRotation(e.matrixWorld),xF.setFromRotationMatrix(Ea),Gh(g.quaternion,vF.copy(g.quaternion).premultiply(xF.invert()),I,C,B,i,Q))}function Yn(g,A,I,C,B,i,Q,e){return FC(g,A,g[A]+uP(g[A],I),C,B,i,Q,e)}var ta=new KA,bF,OF;function HP(g,A,I,C,B,i,Q){return typeof A=="number"?ta.setScalar(A):Array.isArray(A)?ta.set(A[0],A[1]):ta.copy(A),bF=FC(g,"x",ta.x,I,C,B,i,Q),OF=FC(g,"y",ta.y,I,C,B,i,Q),bF||OF}var In=new O,_F,ZF,PF;function V0(g,A,I,C,B,i,Q){return typeof A=="number"?In.setScalar(A):Array.isArray(A)?In.set(A[0],A[1],A[2]):In.copy(A),_F=FC(g,"x",In.x,I,C,B,i,Q),ZF=FC(g,"y",In.y,I,C,B,i,Q),PF=FC(g,"z",In.z,I,C,B,i,Q),_F||ZF||PF}var lt=new Sg,WF,jF,VF,XF;function TP(g,A,I,C,B,i,Q){return typeof A=="number"?lt.setScalar(A):Array.isArray(A)?lt.set(A[0],A[1],A[2],A[3]):lt.copy(A),WF=FC(g,"x",lt.x,I,C,B,i,Q),jF=FC(g,"y",lt.y,I,C,B,i,Q),VF=FC(g,"z",lt.z,I,C,B,i,Q),XF=FC(g,"w",lt.w,I,C,B,i,Q),WF||jF||VF||XF}var oa=new fQ,zF,$F,AR;function xP(g,A,I,C,B,i,Q){return Array.isArray(A)?oa.set(A[0],A[1],A[2],A[3]):oa.copy(A),zF=Yn(g,"x",oa.x,I,C,B,i,Q),$F=Yn(g,"y",oa.y,I,C,B,i,Q),AR=Yn(g,"z",oa.z,I,C,B,i,Q),zF||$F||AR}var gn=new tI,IR,gR,CR;function vP(g,A,I,C,B,i,Q){return A instanceof tI?gn.copy(A):Array.isArray(A)?gn.setRGB(A[0],A[1],A[2]):gn.set(A),IR=FC(g,"r",gn.r,I,C,B,i,Q),gR=FC(g,"g",gn.g,I,C,B,i,Q),CR=FC(g,"b",gn.b,I,C,B,i,Q),IR||gR||CR}var Oi=new _g,ZQ=new Sg,BR=new Sg,na=new Sg,iR,QR,eR,ER;function Gh(g,A,I,C,B,i,Q){var e=g;Array.isArray(A)?Oi.set(A[0],A[1],A[2],A[3]):Oi.copy(A);var E=g.dot(Oi)>0?1:-1;return Oi.x*=E,Oi.y*=E,Oi.z*=E,Oi.w*=E,iR=FC(g,"x",Oi.x,I,C,B,i,Q),QR=FC(g,"y",Oi.y,I,C,B,i,Q),eR=FC(g,"z",Oi.z,I,C,B,i,Q),ER=FC(g,"w",Oi.w,I,C,B,i,Q),ZQ.set(g.x,g.y,g.z,g.w).normalize(),BR.set(e.__damp.velocity_x,e.__damp.velocity_y,e.__damp.velocity_z,e.__damp.velocity_w),na.copy(ZQ).multiplyScalar(BR.dot(ZQ)/ZQ.dot(ZQ)),e.__damp.velocity_x-=na.x,e.__damp.velocity_y-=na.y,e.__damp.velocity_z-=na.z,e.__damp.velocity_w-=na.w,g.set(ZQ.x,ZQ.y,ZQ.z,ZQ.w),iR||QR||eR||ER}var sa=new yL,tR,oR,nR;function bP(g,A,I,C,B,i,Q){return Array.isArray(A)?sa.set(A[0],A[1],A[2]):sa.copy(A),tR=FC(g,"radius",sa.radius,I,C,B,i,Q),oR=Yn(g,"phi",sa.phi,I,C,B,i,Q),nR=Yn(g,"theta",sa.theta,I,C,B,i,Q),tR||oR||nR}var iD=new UI,sR=new O,aR=new _g,rR=new O,lR,cR,DR;function OP(g,A,I,C,B,i,Q){var e=g;return e.__damp===void 0&&(e.__damp={position:new O,rotation:new _g,scale:new O},g.decompose(e.__damp.position,e.__damp.rotation,e.__damp.scale)),Array.isArray(A)?iD.set.apply(iD,SP(A)):iD.copy(A),iD.decompose(sR,aR,rR),lR=V0(e.__damp.position,sR,I,C,B,i,Q),cR=Gh(e.__damp.rotation,aR,I,C,B,i,Q),DR=V0(e.__damp.scale,rR,I,C,B,i,Q),g.compose(e.__damp.position,e.__damp.rotation,e.__damp.scale),lR||cR||DR}var X0=Object.freeze({__proto__:null,rsqw:UP,exp:zL,linear:NP,sine:fP,cubic:FP,quint:RP,circ:KP,quart:JP,expo:qP,damp:FC,dampLookAt:YP,dampAngle:Yn,damp2:HP,damp3:V0,damp4:TP,dampE:xP,dampC:vP,dampQ:Gh,dampS:bP,dampM:OP});function _P(g,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function");g.prototype=Object.create(A&&A.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),A&&W0(g,A)}function yh(g){return yh=Object.setPrototypeOf?Object.getPrototypeOf:function(I){return I.__proto__||Object.getPrototypeOf(I)},yh(g)}function ZP(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}function PP(g,A){if(A&&(typeof A=="object"||typeof A=="function"))return A;if(A!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ZP(g)}function WP(g){var A=lP();return function(){var C=yh(g),B;if(A){var i=yh(this).constructor;B=Reflect.construct(C,arguments,i)}else B=C.apply(this,arguments);return PP(this,B)}}var jP=function(g){_P(I,g);var A=WP(I);function I(){var C,B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:2,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:.2,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:16;BM(this,I),C=A.call(this),C.parameters={width:B,height:i,radius:Q,segments:e};for(var E=B/2-Q,t=i/2-Q,n=Q/B,a=(B-Q)/B,r=Q/i,l=(i-Q)/i,D=[E,t,0,-E,t,0,-E,-t,0,E,-t,0],G=[a,l,n,l,n,r,a,r],h=[3*(e+1)+3,3*(e+1)+4,e+4,e+5,2*(e+1)+4,2,1,2*(e+1)+3,3,4*(e+1)+3,4,0],c=[h[0],h[1],h[2],h[0],h[2],h[3],h[4],h[5],h[6],h[4],h[6],h[7],h[8],h[9],h[10],h[8],h[10],h[11]],y,S,k,N,p,f,q,_,U=0;U<4;U++){N=U<1||U>2?E:-E,p=U<2?t:-t,f=U<1||U>2?a:n,q=U<2?l:r;for(var K=0;K<=e;K++)y=Math.PI/2*(U+K/e),S=Math.cos(y),k=Math.sin(y),D.push(N+Q*S,p+Q*k,0),G.push(f+n*S,q+r*k),KEA.x&&EA.y>EA.z?(UA.x=(v.x-I.min.x)/C,UA.y=(I.max.z-v.z)/C,hA.x=(x.x-I.min.x)/C,hA.y=(I.max.z-x.z)/C,NA.x=(H.x-I.min.x)/C,NA.y=(I.max.z-H.z)/C):EA.x>EA.y&&EA.x>EA.z?(UA.x=(v.z-I.min.z)/C,UA.y=(v.y-I.min.y)/C,hA.x=(x.z-I.min.z)/C,hA.y=(x.y-I.min.y)/C,NA.x=(H.z-I.min.z)/C,NA.y=(H.y-I.min.y)/C):EA.z>EA.y&&EA.z>EA.x&&(UA.x=(v.x-I.min.x)/C,UA.y=(v.y-I.min.y)/C,hA.x=(x.x-I.min.x)/C,hA.y=(x.y-I.min.y)/C,NA.x=(H.x-I.min.x)/C,NA.y=(H.y-I.min.y)/C),{uv0:UA,uv1:hA,uv2:NA}};if(g.index)for(var Q=0;Q>>1|(bg&21845)<<1;ze=(ze&52428)>>>2|(ze&13107)<<2,ze=(ze&61680)>>>4|(ze&3855)<<4,$0[bg]=((ze&65280)>>>8|(ze&255)<<8)>>>1}var xa=function(g,A,I){for(var C=g.length,B=0,i=new nE(A);B>>E]=t}else for(e=new nE(C),B=0;B>>15-g[B]);return e},Xr=new Ui(288);for(var bg=0;bg<144;++bg)Xr[bg]=8;for(var bg=144;bg<256;++bg)Xr[bg]=9;for(var bg=256;bg<280;++bg)Xr[bg]=7;for(var bg=280;bg<288;++bg)Xr[bg]=8;var BY=new Ui(32);for(var bg=0;bg<32;++bg)BY[bg]=5;var eW=xa(Xr,9,1),EW=xa(BY,5,1),Jy=function(g){for(var A=g[0],I=1;IA&&(A=g[I]);return A},_i=function(g,A,I){var C=A/8|0;return(g[C]|g[C+1]<<8)>>(A&7)&I},qy=function(g,A){var I=A/8|0;return(g[I]|g[I+1]<<8|g[I+2]<<16)>>(A&7)},tW=function(g){return(g/8|0)+(g&7&&1)},oW=function(g,A,I){(A==null||A<0)&&(A=0),(I==null||I>g.length)&&(I=g.length);var C=new(g instanceof nE?nE:g instanceof z0?z0:Ui)(I-A);return C.set(g.subarray(A,I)),C},nW=function(g,A,I){var C=g.length;if(!C||I&&!I.l&&C<5)return A||new Ui(0);var B=!A||I,i=!I||I.i;I||(I={}),A||(A=new Ui(C*3));var Q=function(x){var H=A.length;if(x>H){var EA=new Ui(Math.max(H*2,x));EA.set(A),A=EA}},e=I.f||0,E=I.p||0,t=I.b||0,n=I.l,a=I.d,r=I.m,l=I.n,D=C*8;do{if(!n){I.f=e=_i(g,E,1);var G=_i(g,E+1,3);if(E+=3,G)if(G==1)n=eW,a=EW,r=9,l=5;else if(G==2){var S=_i(g,E,31)+257,k=_i(g,E+10,15)+4,N=S+_i(g,E+5,31)+1;E+=14;for(var p=new Ui(N),f=new Ui(19),q=0;q>>4;if(h<16)p[q++]=h;else{var cA=0,X=0;for(h==16?(X=3+_i(g,E,3),E+=2,cA=p[q-1]):h==17?(X=3+_i(g,E,7),E+=3):h==18&&(X=11+_i(g,E,127),E+=7);X--;)p[q++]=cA}}var sA=p.subarray(0,S),oA=p.subarray(S);r=Jy(sA),l=Jy(oA),n=xa(sA,r,1),a=xa(oA,l,1)}else throw"invalid block type";else{var h=tW(E)+4,c=g[h-4]|g[h-3]<<8,y=h+c;if(y>C){if(i)throw"unexpected EOF";break}B&&Q(t+c),A.set(g.subarray(h,y),t),I.b=t+=c,I.p=E=y*8;continue}if(E>D){if(i)throw"unexpected EOF";break}}B&&Q(t+131072);for(var GA=(1<>>4;if(E+=cA&15,E>D){if(i)throw"unexpected EOF";break}if(!cA)throw"invalid length/literal";if(gA<256)A[t++]=gA;else if(gA==256){CA=E,n=null;break}else{var DA=gA-254;if(gA>264){var q=gA-257,fA=$L[q];DA=_i(g,E,(1<>>4;if(!VA)throw"invalid distance";E+=VA&15;var oA=QW[W];if(W>3){var fA=AY[W];oA+=qy(g,E)&(1<D){if(i)throw"unexpected EOF";break}B&&Q(t+131072);for(var v=t+DA;t>>4>7||(g[0]<<8|g[1])%31)throw"invalid zlib data";if(g[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function QD(g,A){return nW((aW(g),g.subarray(2,-4)),A)}var rW=typeof TextDecoder<"u"&&new TextDecoder,lW=0;try{rW.decode(sW,{stream:!0}),lW=1}catch{}const cW=g=>g&&g.isCubeTexture;class DW extends rg{constructor(A,I){var C,B;const i=cW(A),e=((B=i?(C=A.image[0])==null?void 0:C.width:A.image.width)!=null?B:1024)/4,E=Math.floor(Math.log2(e)),t=Math.pow(2,E),n=3*Math.max(t,16*7),a=4*t,r=[i?"#define ENVMAP_TYPE_CUBE":"",`#define CUBEUV_TEXEL_WIDTH ${1/n}`,`#define CUBEUV_TEXEL_HEIGHT ${1/a}`,`#define CUBEUV_MAX_MIP ${E}.0`],l=` + varying vec3 vWorldPosition; + void main() + { + vec4 worldPosition = ( modelMatrix * vec4( position, 1.0 ) ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + } + `,D=r.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(eo.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}> + } + `,G={map:{value:A},height:{value:I?.height||15},radius:{value:I?.radius||100}},h=new _r(1,16),c=new NC({uniforms:G,fragmentShader:D,vertexShader:l,side:pi});super(h,c)}set radius(A){this.material.uniforms.radius.value=A}get radius(){return this.material.uniforms.radius.value}set height(A){this.material.uniforms.height.value=A}get height(){return this.material.uniforms.height.value}}var hW=Object.defineProperty,wW=(g,A,I)=>A in g?hW(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,my=(g,A,I)=>(wW(g,typeof A!="symbol"?A+"":A,I),I);class nn{constructor(A){my(this,"camera",new he(-1,1,1,-1,0,1)),my(this,"geometry",new De(2,2)),my(this,"mesh"),this.mesh=new rg(this.geometry,A)}get material(){return this.mesh.material}set material(A){this.mesh.material=A}dispose(){this.mesh.geometry.dispose()}render(A){A.render(this.mesh,this.camera)}}class iM extends QB{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(I){return new kW(I)}),this.register(function(I){return new RW(I)}),this.register(function(I){return new KW(I)}),this.register(function(I){return new JW(I)}),this.register(function(I){return new MW(I)}),this.register(function(I){return new pW(I)}),this.register(function(I){return new UW(I)}),this.register(function(I){return new NW(I)}),this.register(function(I){return new uW(I)}),this.register(function(I){return new fW(I)}),this.register(function(I){return new dW(I)}),this.register(function(I){return new FW(I)}),this.register(function(I){return new GW(I)}),this.register(function(I){return new qW(I)}),this.register(function(I){return new mW(I)})}load(A,I,C,B){const i=this;let Q;this.resourcePath!==""?Q=this.resourcePath:this.path!==""?Q=this.path:Q=pQ.extractUrlBase(A),this.manager.itemStart(A);const e=function(t){B?B(t):console.error(t),i.manager.itemError(A),i.manager.itemEnd(A)},E=new bB(this.manager);E.setPath(this.path),E.setResponseType("arraybuffer"),E.setRequestHeader(this.requestHeader),E.setWithCredentials(this.withCredentials),E.load(A,function(t){try{i.parse(t,Q,function(n){I(n),i.manager.itemEnd(A)},e)}catch(n){e(n)}},C,e)}setDRACOLoader(A){return this.dracoLoader=A,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,I,C,B){let i;const Q={},e={};if(typeof A=="string")i=JSON.parse(A);else if(A instanceof ArrayBuffer)if(pQ.decodeText(new Uint8Array(A.slice(0,4)))===iY){try{Q[ag.KHR_BINARY_GLTF]=new LW(A)}catch(n){B&&B(n);return}i=JSON.parse(Q[ag.KHR_BINARY_GLTF].content)}else i=JSON.parse(pQ.decodeText(new Uint8Array(A)));else i=A;if(i.asset===void 0||i.asset.version[0]<2){B&&B(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const E=new VW(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 t=0;t=0&&e[n]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+n+'".')}}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 SW(){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 ag={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_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_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 GW{constructor(A){this.parser=A,this.name=ag.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 KW{constructor(A){this.parser=A,this.name=ag.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 E=C.textureLoader;if(e.uri){const t=C.options.manager.getHandler(e.uri);t!==null&&(E=t)}return this.detectSupport().then(function(t){if(t)return C.loadTextureImage(A,Q.source,E);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 JW{constructor(A){this.parser=A,this.name=ag.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 E=C.textureLoader;if(e.uri){const t=C.options.manager.getHandler(e.uri);t!==null&&(E=t)}return this.detectSupport().then(function(t){if(t)return C.loadTextureImage(A,Q.source,E);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 qW{constructor(A){this.name=ag.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 E=B.byteOffset||0,t=B.byteLength||0,n=B.count,a=B.byteStride,r=new Uint8Array(e,E,t);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(n,a,r,B.mode,B.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(n*a);return Q.decodeGltfBuffer(new Uint8Array(l),n,a,r,B.mode,B.filter),l})})}else return null}}class mW{constructor(A){this.name=ag.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 t of B.primitives)if(t.mode!==yi.TRIANGLES&&t.mode!==yi.TRIANGLE_STRIP&&t.mode!==yi.TRIANGLE_FAN&&t.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],E={};for(const t in Q)e.push(this.parser.getDependency("accessor",Q[t]).then(n=>(E[t]=n,E[t])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(t=>{const n=t.pop(),a=n.isGroup?n.children:[n],r=t[0].count,l=[];for(const D of a){const G=new UI,h=new O,c=new _g,y=new O(1,1,1),S=new fd(D.geometry,D.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"},$e={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},bW={CUBICSPLINE:void 0,LINEAR:Vt,STEP:Vn},Yy={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function OW(g){return g.DefaultMaterial===void 0&&(g.DefaultMaterial=new Wr({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Qi})),g.DefaultMaterial}function ct(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 BE(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 _W(g,A,I){let C=!1,B=!1,i=!1;for(let t=0,n=A.length;t0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const jW=new UI;class VW{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new SW,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 jr(this.options.manager):this.textureLoader=new hL(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new bB(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:{}};ct(i,e,B),BE(e,B),Promise.all(C._invokeAll(function(E){return E.afterRoot&&E.afterRoot(e)})).then(function(){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 E=this.associations.get(Q);E!=null&&this.associations.set(e,E);for(const[t,n]of Q.children.entries())i(n,e.children[t])};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&&h.setY(_,p[f*E+1]),E>=3&&h.setZ(_,p[f*E+2]),E>=4&&h.setW(_,p[f*E+3]),E>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return h})}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 E=C.manager.getHandler(Q.uri);E!==null&&(e=E)}return this.loadTextureImage(A,i,e)}loadTextureImage(A,I,C){const B=this,i=this.json,Q=i.textures[A],e=i.images[I],E=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[E])return this.textureCache[E];const t=this.loadImageSource(I,C).then(function(n){n.flipY=!1,n.name=Q.name||e.name||"",n.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(n.name=e.uri);const r=(i.samplers||{})[Q.sampler]||{};return n.magFilter=GR[r.magFilter]||hg,n.minFilter=GR[r.minFilter]||Ii,n.wrapS=yR[r.wrapS]||KE,n.wrapT=yR[r.wrapT]||KE,B.associations.set(n,{textures:A}),n}).catch(function(){return null});return this.textureCache[E]=t,t}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 E=Q.uri||"",t=!1;if(Q.bufferView!==void 0)E=C.getDependency("bufferView",Q.bufferView).then(function(a){t=!0;const r=new Blob([a],{type:Q.mimeType});return E=e.createObjectURL(r),E});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const n=Promise.resolve(E).then(function(a){return new Promise(function(r,l){let D=r;I.isImageBitmapLoader===!0&&(D=function(G){const h=new mg(G);h.needsUpdate=!0,r(h)}),I.load(pQ.resolveURL(a,i.path),D,void 0,l)})}).then(function(a){return t===!0&&e.revokeObjectURL(E),a.userData.mimeType=Q.mimeType||WW(Q.uri),a}).catch(function(a){throw console.error("THREE.GLTFLoader: Couldn't load texture",E),a});return this.sourceCache[A]=n,n}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[ag.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[ag.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const E=i.associations.get(Q);Q=i.extensions[ag.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),i.associations.set(Q,E)}}return B!==void 0&&("colorSpace"in Q?Q.colorSpace=B===3001?"srgb":"srgb-linear":Q.encoding=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 E=this.cache.get(e);E||(E=new sw,nC.prototype.copy.call(E,C),E.color.copy(C.color),E.map=C.map,E.sizeAttenuation=!1,this.cache.add(e,E)),C=E}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let E=this.cache.get(e);E||(E=new GB,nC.prototype.copy.call(E,C),E.color.copy(C.color),E.map=C.map,this.cache.add(e,E)),C=E}if(B||i||Q){let e="ClonedMaterial:"+C.uuid+":";B&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let E=this.cache.get(e);E||(E=C.clone(),i&&(E.vertexColors=!0),Q&&(E.flatShading=!0),B&&(E.normalScale&&(E.normalScale.y*=-1),E.clearcoatNormalScale&&(E.clearcoatNormalScale.y*=-1)),this.cache.add(e,E),this.associations.set(E,this.associations.get(C))),C=E}A.material=C}getMaterialType(){return Wr}loadMaterial(A){const I=this,C=this.json,B=this.extensions,i=C.materials[A];let Q;const e={},E=i.extensions||{},t=[];if(E[ag.KHR_MATERIALS_UNLIT]){const a=B[ag.KHR_MATERIALS_UNLIT];Q=a.getMaterialType(),t.push(a.extendParams(e,i,I))}else{const a=i.pbrMetallicRoughness||{};if(e.color=new tI(1,1,1),e.opacity=1,Array.isArray(a.baseColorFactor)){const r=a.baseColorFactor;e.color.fromArray(r),e.opacity=r[3]}a.baseColorTexture!==void 0&&t.push(I.assignTexture(e,"map",a.baseColorTexture,3001)),e.metalness=a.metallicFactor!==void 0?a.metallicFactor:1,e.roughness=a.roughnessFactor!==void 0?a.roughnessFactor:1,a.metallicRoughnessTexture!==void 0&&(t.push(I.assignTexture(e,"metalnessMap",a.metallicRoughnessTexture)),t.push(I.assignTexture(e,"roughnessMap",a.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),t.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}i.doubleSided===!0&&(e.side=pi);const n=i.alphaMode||Yy.OPAQUE;if(n===Yy.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,n===Yy.MASK&&(e.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&Q!==uC&&(t.push(I.assignTexture(e,"normalMap",i.normalTexture)),e.normalScale=new KA(1,1),i.normalTexture.scale!==void 0)){const a=i.normalTexture.scale;e.normalScale.set(a,a)}return i.occlusionTexture!==void 0&&Q!==uC&&(t.push(I.assignTexture(e,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&Q!==uC&&(e.emissive=new tI().fromArray(i.emissiveFactor)),i.emissiveTexture!==void 0&&Q!==uC&&t.push(I.assignTexture(e,"emissiveMap",i.emissiveTexture,3001)),Promise.all(t).then(function(){const a=new Q(e);return i.name&&(a.name=i.name),BE(a,i),I.associations.set(a,{materials:A}),i.extensions&&ct(B,a,i),a})}createUniqueName(A){const I=cg.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[ag.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(E){return uR(E,e,I)})}const Q=[];for(let e=0,E=A.length;e0&&ZW(c,i),c.name=I.createUniqueName(i.name||"mesh_"+A),BE(c,i),h.extensions&&ct(B,c,h),I.assignFinalMaterial(c),a.push(c)}for(let l=0,D=a.length;l1?n=new fi:t.length===1?n=t[0]:n=new Eg,n!==t[0])for(let a=0,r=t.length;a{const a=new Map;for(const[r,l]of B.associations)(r instanceof nC||r instanceof mg)&&a.set(r,l);return n.traverse(r=>{const l=B.associations.get(r);l!=null&&a.set(r,l)}),a};return B.associations=t(i),i})}}function XW(g,A,I){const C=A.attributes,B=new oC;if(C.POSITION!==void 0){const e=I.json.accessors[C.POSITION],E=e.min,t=e.max;if(E!==void 0&&t!==void 0){if(B.set(new O(E[0],E[1],E[2]),new O(t[0],t[1],t[2])),e.normalized){const n=Ik(Hn[e.componentType]);B.min.multiplyScalar(n),B.max.multiplyScalar(n)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const i=A.targets;if(i!==void 0){const e=new O,E=new O;for(let t=0,n=i.length;t(q=K.indexOf(a))&&_=S.byteLength||!(U=r(S)))return e(1,"no header found");if(!(K=U.match(k)))return e(3,"bad initial token");for(_.valid|=1,_.programtype=K[1],_.string+=U+` +`;U=r(S),U!==!1;){if(_.string+=U+` +`,U.charAt(0)==="#"){_.comments+=U+` +`;continue}if((K=U.match(N))&&(_.gamma=parseFloat(K[1])),(K=U.match(p))&&(_.exposure=parseFloat(K[1])),(K=U.match(f))&&(_.valid|=2,_.format=K[1]),(K=U.match(q))&&(_.valid|=4,_.height=parseInt(K[1],10),_.width=parseInt(K[2],10)),_.valid&2&&_.valid&4)break}return _.valid&2?_.valid&4?_:e(3,"missing image size specifier"):e(3,"missing format specifier")},D=function(S,k,N){const p=k;if(p<8||p>32767||S[0]!==2||S[1]!==2||S[2]&128)return new Uint8Array(S);if(p!==(S[2]<<8|S[3]))return e(3,"wrong scanline width");const f=new Uint8Array(4*k*N);if(!f.length)return e(4,"unable to allocate buffer space");let q=0,_=0;const U=4*p,K=new Uint8Array(4),z=new Uint8Array(U);let cA=N;for(;cA>0&&_S.byteLength)return e(1);if(K[0]=S[_++],K[1]=S[_++],K[2]=S[_++],K[3]=S[_++],K[0]!=2||K[1]!=2||(K[2]<<8|K[3])!=p)return e(3,"bad rgbe scanline format");let X=0,sA;for(;X128;if(GA&&(sA-=128),sA===0||X+sA>U)return e(3,"bad scanline data");if(GA){const b=S[_++];for(let CA=0;CA>3]&1<<(J&7))&&(P[aA++]=J);for(var V=aA-1;aA<65536;)P[aA++]=0;return V}function K(L){for(var P=0;P<16384;P++)L[P]={},L[P].len=0,L[P].lit=0,L[P].p=null}const z={l:0,c:0,lc:0};function cA(L,P,aA,J,V){for(;aA>aA&(1<0;--P){var J=aA+X[P]>>1;X[P]=aA,aA=J}for(var P=0;P<65537;++P){var V=L[P];V>0&&(L[P]=V|X[V]++<<6)}}function oA(L,P,aA,J,V,$,tA){for(var iA=aA,FA=0,qA=0;V<=$;V++){if(iA.value-aA.value>J)return!1;cA(6,FA,qA,L,iA);var xA=z.l;if(FA=z.c,qA=z.lc,tA[V]=xA,xA==63){if(iA.value-aA.value>J)throw"Something wrong with hufUnpackEncTable";cA(8,FA,qA,L,iA);var YA=z.l+6;if(FA=z.c,qA=z.lc,V+YA>$+1)throw"Something wrong with hufUnpackEncTable";for(;YA--;)tA[V++]=0;V--}else if(xA>=59){var YA=xA-59+2;if(V+YA>$+1)throw"Something wrong with hufUnpackEncTable";for(;YA--;)tA[V++]=0;V--}}sA(tA)}function GA(L){return L&63}function b(L){return L>>6}function CA(L,P,aA,J){for(;P<=aA;P++){var V=b(L[P]),$=GA(L[P]);if(V>>$)throw"Invalid table entry";if($>14){var tA=J[V>>$-14];if(tA.len)throw"Invalid table entry";if(tA.lit++,tA.p){var iA=tA.p;tA.p=new Array(tA.lit);for(var FA=0;FA0;FA--){var tA=J[(V<<14-$)+qA];if(tA.len||tA.p)throw"Invalid table entry";tA.len=$,tA.lit=P,qA++}}return!0}const gA={c:0,lc:0};function DA(L,P,aA,J){L=L<<8|aI(aA,J),P+=8,gA.c=L,gA.lc=P}const fA={c:0,lc:0};function VA(L,P,aA,J,V,$,tA,iA,FA,qA){if(L==P){J<8&&(DA(aA,J,V,tA),aA=gA.c,J=gA.lc),J-=8;var xA=aA>>J,xA=new Uint8Array([xA])[0];if(FA.value+xA>qA)return!1;for(var YA=iA[FA.value-1];xA-- >0;)iA[FA.value++]=YA}else if(FA.value32767?P-65536:P}const x={a:0,b:0};function H(L,P){var aA=v(L),J=v(P),V=J,$=aA+(V&1)+(V>>1),tA=$,iA=$-V;x.a=tA,x.b=iA}function EA(L,P){var aA=W(L),J=W(P),V=aA-(J>>1)&65535,$=J+V-32768&65535;x.a=$,x.b=V}function UA(L,P,aA,J,V,$,tA){for(var iA=tA<16384,FA=aA>V?V:aA,qA=1,xA;qA<=FA;)qA<<=1;for(qA>>=1,xA=qA,qA>>=1;qA>=1;){for(var YA=0,DI=YA+$*(V-xA),zA=$*qA,$A=$*xA,GI=J*qA,KI=J*xA,mI,xI,nI,QI;YA<=DI;YA+=$A){for(var XI=YA,Y=YA+J*(aA-xA);XI<=Y;XI+=KI){var T=XI+GI,BA=XI+zA,rA=BA+GI;iA?(H(L[XI+P],L[BA+P]),mI=x.a,nI=x.b,H(L[T+P],L[rA+P]),xI=x.a,QI=x.b,H(mI,xI),L[XI+P]=x.a,L[T+P]=x.b,H(nI,QI),L[BA+P]=x.a,L[rA+P]=x.b):(EA(L[XI+P],L[BA+P]),mI=x.a,nI=x.b,EA(L[T+P],L[rA+P]),xI=x.a,QI=x.b,EA(mI,xI),L[XI+P]=x.a,L[T+P]=x.b,EA(nI,QI),L[BA+P]=x.a,L[rA+P]=x.b)}if(aA&qA){var BA=XI+zA;iA?H(L[XI+P],L[BA+P]):EA(L[XI+P],L[BA+P]),mI=x.a,L[BA+P]=x.b,L[XI+P]=mI}}if(V&qA)for(var XI=YA,Y=YA+J*(aA-xA);XI<=Y;XI+=KI){var T=XI+GI;iA?H(L[XI+P],L[T+P]):EA(L[XI+P],L[T+P]),mI=x.a,L[T+P]=x.b,L[XI+P]=mI}xA=qA,qA>>=1}return YA}function hA(L,P,aA,J,V,$,tA,iA,FA,qA){for(var xA=0,YA=0,DI=iA,zA=Math.trunc(V.value+($+7)/8);V.value=14;){var $A=xA>>YA-14&16383,GI=P[$A];if(GI.len)YA-=GI.len,VA(GI.lit,tA,xA,YA,aA,J,V,FA,qA,DI),xA=fA.c,YA=fA.lc;else{if(!GI.p)throw"hufDecode issues";var KI;for(KI=0;KI=mI&&b(L[GI.p[KI]])==(xA>>YA-mI&(1<>=xI,YA-=xI;YA>0;){var GI=P[xA<<14-YA&16383];if(GI.len)YA-=GI.len,VA(GI.lit,tA,xA,YA,aA,J,V,FA,qA,DI),xA=fA.c,YA=fA.lc;else throw"hufDecode issues"}return!0}function NA(L,P,aA,J,V,$){var tA={value:0},iA=aA.value,FA=EI(P,aA),qA=EI(P,aA);aA.value+=4;var xA=EI(P,aA);if(aA.value+=4,FA<0||FA>=65537||qA<0||qA>=65537)throw"Something wrong with HUF_ENCSIZE";var YA=new Array(65537),DI=new Array(16384);K(DI);var zA=J-(aA.value-iA);if(oA(L,P,aA,zA,FA,qA,YA),xA>8*(J-(aA.value-iA)))throw"Something wrong with hufUncompress";CA(YA,FA,qA,DI),hA(YA,DI,L,P,aA,xA,qA,$,V,tA)}function Z(L,P,aA){for(var J=0;J$||(P[V++]=L[aA++],V>$));)P[V++]=L[J++]}function wA(L){for(var P=L.byteLength,aA=new Array,J=0,V=new DataView(L);P>0;){var $=V.getInt8(J++);if($<0){var tA=-$;P-=tA+1;for(var iA=0;iA>8==255?V+=J&255:(aA[V]=J,V++),L.value++}function QA(L,P){P[0]=XA(L[0]),P[1]=XA(L[1]),P[2]=XA(L[5]),P[3]=XA(L[6]),P[4]=XA(L[14]),P[5]=XA(L[15]),P[6]=XA(L[27]),P[7]=XA(L[28]),P[8]=XA(L[2]),P[9]=XA(L[4]),P[10]=XA(L[7]),P[11]=XA(L[13]),P[12]=XA(L[16]),P[13]=XA(L[26]),P[14]=XA(L[29]),P[15]=XA(L[42]),P[16]=XA(L[3]),P[17]=XA(L[8]),P[18]=XA(L[12]),P[19]=XA(L[17]),P[20]=XA(L[25]),P[21]=XA(L[30]),P[22]=XA(L[41]),P[23]=XA(L[43]),P[24]=XA(L[9]),P[25]=XA(L[11]),P[26]=XA(L[18]),P[27]=XA(L[24]),P[28]=XA(L[31]),P[29]=XA(L[40]),P[30]=XA(L[44]),P[31]=XA(L[53]),P[32]=XA(L[10]),P[33]=XA(L[19]),P[34]=XA(L[23]),P[35]=XA(L[32]),P[36]=XA(L[39]),P[37]=XA(L[45]),P[38]=XA(L[52]),P[39]=XA(L[54]),P[40]=XA(L[20]),P[41]=XA(L[22]),P[42]=XA(L[33]),P[43]=XA(L[38]),P[44]=XA(L[46]),P[45]=XA(L[51]),P[46]=XA(L[55]),P[47]=XA(L[60]),P[48]=XA(L[21]),P[49]=XA(L[34]),P[50]=XA(L[37]),P[51]=XA(L[47]),P[52]=XA(L[50]),P[53]=XA(L[56]),P[54]=XA(L[59]),P[55]=XA(L[61]),P[56]=XA(L[35]),P[57]=XA(L[36]),P[58]=XA(L[48]),P[59]=XA(L[49]),P[60]=XA(L[57]),P[61]=XA(L[58]),P[62]=XA(L[62]),P[63]=XA(L[63])}function F(L){const P=.5*Math.cos(.7853975),aA=.5*Math.cos(3.14159/16),J=.5*Math.cos(3.14159/8),V=.5*Math.cos(3*3.14159/16),$=.5*Math.cos(5*3.14159/16),tA=.5*Math.cos(3*3.14159/8),iA=.5*Math.cos(7*3.14159/16);for(var FA=new Array(4),qA=new Array(4),xA=new Array(4),YA=new Array(4),DI=0;DI<8;++DI){var zA=DI*8;FA[0]=J*L[zA+2],FA[1]=tA*L[zA+2],FA[2]=J*L[zA+6],FA[3]=tA*L[zA+6],qA[0]=aA*L[zA+1]+V*L[zA+3]+$*L[zA+5]+iA*L[zA+7],qA[1]=V*L[zA+1]-iA*L[zA+3]-aA*L[zA+5]-$*L[zA+7],qA[2]=$*L[zA+1]-aA*L[zA+3]+iA*L[zA+5]+V*L[zA+7],qA[3]=iA*L[zA+1]-$*L[zA+3]+V*L[zA+5]-aA*L[zA+7],xA[0]=P*(L[zA+0]+L[zA+4]),xA[3]=P*(L[zA+0]-L[zA+4]),xA[1]=FA[0]+FA[3],xA[2]=FA[1]-FA[2],YA[0]=xA[0]+xA[1],YA[1]=xA[3]+xA[2],YA[2]=xA[3]-xA[2],YA[3]=xA[0]-xA[1],L[zA+0]=YA[0]+qA[0],L[zA+1]=YA[1]+qA[1],L[zA+2]=YA[2]+qA[2],L[zA+3]=YA[3]+qA[3],L[zA+4]=YA[3]-qA[3],L[zA+5]=YA[2]-qA[2],L[zA+6]=YA[1]-qA[1],L[zA+7]=YA[0]-qA[0]}for(var $A=0;$A<8;++$A)FA[0]=J*L[16+$A],FA[1]=tA*L[16+$A],FA[2]=J*L[48+$A],FA[3]=tA*L[48+$A],qA[0]=aA*L[8+$A]+V*L[24+$A]+$*L[40+$A]+iA*L[56+$A],qA[1]=V*L[8+$A]-iA*L[24+$A]-aA*L[40+$A]-$*L[56+$A],qA[2]=$*L[8+$A]-aA*L[24+$A]+iA*L[40+$A]+V*L[56+$A],qA[3]=iA*L[8+$A]-$*L[24+$A]+V*L[40+$A]-aA*L[56+$A],xA[0]=P*(L[$A]+L[32+$A]),xA[3]=P*(L[$A]-L[32+$A]),xA[1]=FA[0]+FA[3],xA[2]=FA[1]-FA[2],YA[0]=xA[0]+xA[1],YA[1]=xA[3]+xA[2],YA[2]=xA[3]-xA[2],YA[3]=xA[0]-xA[1],L[0+$A]=YA[0]+qA[0],L[8+$A]=YA[1]+qA[1],L[16+$A]=YA[2]+qA[2],L[24+$A]=YA[3]+qA[3],L[32+$A]=YA[3]-qA[3],L[40+$A]=YA[2]-qA[2],L[48+$A]=YA[1]-qA[1],L[56+$A]=YA[0]-qA[0]}function m(L){for(var P=0;P<64;++P){var aA=L[0][P],J=L[1][P],V=L[2][P];L[0][P]=aA+1.5747*V,L[1][P]=aA-.1873*J-.4682*V,L[2][P]=aA+1.8556*J}}function lA(L,P,aA){for(var J=0;J<64;++J)P[aA+J]=Rt.toHalfFloat(PA(L[J]))}function PA(L){return L<=1?Math.sign(L)*Math.pow(Math.abs(L),2.2):Math.sign(L)*Math.pow(_,Math.abs(L)-1)}function ZA(L){return new DataView(L.array.buffer,L.offset.value,L.size)}function TA(L){var P=L.viewer.buffer.slice(L.offset.value,L.offset.value+L.size),aA=new Uint8Array(wA(P)),J=new Uint8Array(aA.length);return MA(aA),eA(aA,J),new DataView(J.buffer)}function eI(L){var P=L.array.slice(L.offset.value,L.offset.value+L.size),aA=QD(P),J=new Uint8Array(aA.length);return MA(aA),eA(aA,J),new DataView(J.buffer)}function BI(L){for(var P=L.viewer,aA={value:L.offset.value},J=new Uint16Array(L.width*L.scanlineBlockSize*(L.channels*L.type)),V=new Uint8Array(8192),$=0,tA=new Array(L.channels),iA=0;iA=8192)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(FA<=qA)for(var iA=0;iA0;){var iA=fI(P.buffer,aA),FA=MI(P,aA),qA=FA>>2&3,xA=(FA>>4)-1,YA=new Int8Array([xA])[0],DI=MI(P,aA);$.push({name:iA,index:YA,type:DI,compression:qA}),tA-=iA.length+3}for(var zA=LC.channels,$A=new Array(L.channels),GI=0;GI=0&&(xI.idx[QI.index]=nI),KI.offset=nI)}if(V.acCompressedSize>0)switch(V.acCompression){case 0:var T=new Uint16Array(V.totalAcUncompressedCount);NA(L.array,P,aA,V.acCompressedSize,T,V.totalAcUncompressedCount);break;case 1:var XI=L.array.slice(aA.value,aA.value+V.totalAcUncompressedCount),Y=QD(XI),T=new Uint16Array(Y.buffer);aA.value+=V.totalAcUncompressedCount;break}if(V.dcCompressedSize>0){var BA={array:L.array,offset:aA,size:V.dcCompressedSize},rA=new Uint16Array(eI(BA).buffer);aA.value+=V.dcCompressedSize}if(V.rleRawSize>0){var XI=L.array.slice(aA.value,aA.value+V.rleCompressedSize),Y=QD(XI),kA=wA(Y.buffer);aA.value+=V.rleCompressedSize}for(var RA=0,mA=new Array($A.length),GI=0;GI>10,aA=L&1023;return(L>>15?-1:1)*(P?P===31?aA?NaN:1/0:Math.pow(2,P-15)*(1+aA/1024):6103515625e-14*(aA/1024))}function IA(L,P){var aA=L.getUint16(P.value,!0);return P.value+=2,aA}function II(L,P){return XA(IA(L,P))}function gI(L,P,aA,J){for(var V=aA.value,$=[];aA.value_I.height?_I.height-P:_I.scanlineBlockSize;const J=_I.size<_I.lines*_I.bytesPerLine?_I.uncompress(_I):ZA(_I);eB.value+=_I.size;for(let V=0;V<_I.scanlineBlockSize;V++){const $=V+L*_I.scanlineBlockSize;if($>=_I.height)break;for(let tA=0;tA<_I.channels;tA++){const iA=Je[LC.channels[tA].name];for(let FA=0;FA<_I.width;FA++){KQ.value=(V*(_I.channels*_I.width)+tA*_I.width+FA)*_I.inputSize;const qA=(_I.height-1-$)*(_I.width*_I.outputChannels)+FA*_I.outputChannels+iA;_I.byteArray[qA]=_I.getter(J,KQ)}}}}return{header:LC,width:_I.width,height:_I.height,data:_I.byteArray,format:_I.format,[ra?"colorSpace":"encoding"]:_I[ra?"colorSpace":"encoding"],type:this.type}}setDataType(A){return this.type=A,this}load(A,I,C,B){function i(Q,e){ra?Q.colorSpace=e.colorSpace:Q.encoding=e.encoding,Q.minFilter=hg,Q.magFilter=hg,Q.generateMipmaps=!1,Q.flipY=!1,I&&I(Q,e)}return super.load(A,i,C,B)}}const Ty=new WeakMap;class A8 extends QB{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,I,C,B){const i=new bB(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,Q=>{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 E in I.attributeTypes){const t=I.attributeTypes[E];t.BYTES_PER_ELEMENT!==void 0&&(I.attributeTypes[E]=t.name)}const C=JSON.stringify(I);if(Ty.has(A)){const E=Ty.get(A);if(E.key===C)return E.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(E=>(B=E,new Promise((t,n)=>{B._callbacks[i]={resolve:t,reject:n},B.postMessage({type:"decode",id:i,taskConfig:I,buffer:A},[A])}))).then(E=>this._createGeometry(E.geometry));return e.catch(()=>!0).then(()=>{B&&i&&this._releaseTask(B,i)}),Ty.set(A,{key:C,promise:e}),e}_createGeometry(A){const I=new WI;A.index&&I.setIndex(new Ag(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=I8.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=n.draco,r=new a.Decoder,l=new a.DecoderBuffer;l.Init(new Int8Array(E),E.byteLength);try{const D=I(a,r,l,t),G=D.attributes.map(h=>h.array.buffer);D.index&&G.push(D.index.array.buffer),self.postMessage({type:"decode",id:e.id,geometry:D},G)}catch(D){console.error(D),self.postMessage({type:"error",id:e.id,error:D.message})}finally{a.destroy(l),a.destroy(r)}});break}};function I(Q,e,E,t){const n=t.attributeIDs,a=t.attributeTypes;let r,l;const D=e.GetEncodedGeometryType(E);if(D===Q.TRIANGULAR_MESH)r=new Q.Mesh,l=e.DecodeBufferToMesh(E,r);else if(D===Q.POINT_CLOUD)r=new Q.PointCloud,l=e.DecodeBufferToPointCloud(E,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 G={index:null,attributes:[]};for(const h in n){const c=self[a[h]];let y,S;if(t.useUniqueIDs)S=n[h],y=e.GetAttributeByUniqueId(r,S);else{if(S=e.GetAttributeId(r,Q[n[h]]),S===-1)continue;y=e.GetAttribute(r,S)}G.attributes.push(B(Q,e,r,h,c,y))}return D===Q.TRIANGULAR_MESH&&(G.index=C(Q,e,r)),Q.destroy(r),G}function C(Q,e,E){const n=E.num_faces()*3,a=n*4,r=Q._malloc(a);e.GetTrianglesUInt32Array(E,a,r);const l=new Uint32Array(Q.HEAPF32.buffer,r,n).slice();return Q._free(r),{array:l,itemSize:1}}function B(Q,e,E,t,n,a){const r=a.num_components(),D=E.num_points()*r,G=D*n.BYTES_PER_ELEMENT,h=i(Q,n),c=Q._malloc(G);e.GetAttributeDataArrayForAllPoints(E,a,h,G,c);const y=new n(Q.HEAPF32.buffer,c,D).slice();return Q._free(c),{name:t,array:y,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 eD;const xy=()=>{if(eD)return eD;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 D=0;D96?G-71:G>64?G-65:G>47?G+4:G>46?63:62}let l=0;for(let D=0;D{const a=kd.clone({[t]:{value:n}});return{...E,...a}},{}),vertexShader:A,fragmentShader:I}),this.key="",e.forEach(([E])=>Object.defineProperty(this,E,{get:()=>this.uniforms[E].value,set:t=>this.uniforms[E].value=t})),Object.assign(this,Q),C&&C(this)}};return B.key=kE.generateUUID(),B}const C8=()=>parseInt(eo.replace(/\D+/g,"")),eY=C8();let ED=null,EY="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function tY(g,A,I){return C=>{I&&I(C),g&&(ED||(ED=new A8),ED.setDecoderPath(typeof g=="string"?g:EY),C.setDRACOLoader(ED)),A&&C.setMeshoptDecoder(typeof xy=="function"?xy():xy)}}function zr(g,A=!0,I=!0,C){return no(iM,g,tY(A,I,C))}zr.preload=(g,A=!0,I=!0,C)=>no.preload(iM,g,tY(A,I,C));zr.clear=g=>no.clear(iM,g);zr.setDecoderPath=g=>{EY=g};function yr(g,A,I){const C=wB(r=>r.size),B=wB(r=>r.viewport),i=typeof g=="number"?g:C.width*B.dpr,Q=typeof A=="number"?A:C.height*B.dpr,e=(typeof g=="number"?I:g)||{},{samples:E=0,depth:t,...n}=e,a=j.useMemo(()=>{const r=new SC(i,Q,{minFilter:hg,magFilter:hg,type:gB,...n});return t&&(r.depthTexture=new iw(i,Q,tC)),r.samples=E,r},[]);return j.useLayoutEffect(()=>{a.setSize(i,Q),E&&(a.samples=E)},[E,a,i,Q]),j.useEffect(()=>()=>a.dispose(),[]),a}const B8=g=>typeof g=="function",i8=j.forwardRef(({envMap:g,resolution:A=256,frames:I=1/0,makeDefault:C,children:B,...i},Q)=>{const e=wB(({set:h})=>h),E=wB(({camera:h})=>h),t=wB(({size:h})=>h),n=j.useRef(null),a=j.useRef(null),r=yr(A);j.useLayoutEffect(()=>{i.manual||(n.current.aspect=t.width/t.height)},[t,i]),j.useLayoutEffect(()=>{n.current.updateProjectionMatrix()});let l=0,D=null;const G=B8(B);return OB(h=>{G&&(I===1/0||l{if(C){const h=E;return e(()=>({camera:n.current})),()=>e(()=>({camera:h}))}},[n,C,e]),j.createElement(j.Fragment,null,j.createElement("perspectiveCamera",FE({ref:XL([n,Q])},i),!G&&B),j.createElement("group",{ref:a},G&&B(r.texture)))});function Q8(g){const A=j.useRef(null),I=j.useRef(!1),C=j.useRef(!1),B=j.useRef(g);return j.useLayoutEffect(()=>void(B.current=g),[g]),j.useEffect(()=>{const i=A.current;if(i){const Q=b1(()=>(I.current=!1,!0)),e=i.onBeforeRender;i.onBeforeRender=()=>I.current=!0;const E=O1(()=>(I.current!==C.current&&(B.current==null||B.current(C.current=I.current)),!0));return()=>{i.onBeforeRender=e,Q(),E()}}},[]),A}const la=j.forwardRef(({children:g,enabled:A=!0,speed:I=1,rotationIntensity:C=1,floatIntensity:B=1,floatingRange:i=[-.1,.1],...Q},e)=>{const E=j.useRef(null),t=j.useRef(Math.random()*1e4);return OB(n=>{var a,r;if(!A||I===0)return;const l=t.current+n.clock.getElapsedTime();E.current.rotation.x=Math.cos(l/4*I)/8*C,E.current.rotation.y=Math.sin(l/4*I)/8*C,E.current.rotation.z=Math.sin(l/4*I)/20*C;let D=Math.sin(l/4*I)/10;D=kE.mapLinear(D,-.1,.1,(a=i?.[0])!==null&&a!==void 0?a:-.1,(r=i?.[1])!==null&&r!==void 0?r:.1),E.current.position.y=D*B,E.current.updateMatrix()}),j.createElement("group",Q,j.createElement("group",{ref:XL([E,e]),matrixAutoUpdate:!1},g))}),vy={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"},e8="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/",kR=g=>Array.isArray(g);function oY({files:g=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:A="",preset:I=void 0,encoding:C=void 0,extensions:B}={}){var i;let Q=null,e=!1,E;if(I){if(!(I in vy))throw new Error("Preset must be one of: "+Object.keys(vy).join(", "));g=vy[I],A=e8}if(e=kR(g),E=kR(g)?"cube":g.startsWith("data:application/exr")?"exr":g.startsWith("data:application/hdr")?"hdr":(i=g.split(".").pop())==null||(i=i.split("?"))==null||(i=i.shift())==null?void 0:i.toLowerCase(),Q=e?oL:E==="hdr"?zW:E==="exr"?$W:null,!Q)throw new Error("useEnvironment: Unrecognized file extension: "+g);const t=no(Q,e?[g]:g,l=>{l.setPath==null||l.setPath(A),B&&B(l)}),n=e?t[0]:t;n.mapping=e?UQ:Wn;const a=3001,r=3e3;return"colorSpace"in n?n.colorSpace=C??e?"srgb":"srgb-linear":n.encoding=C??e?a:r,n}const E8=g=>g.current&&g.current.isScene,t8=g=>E8(g)?g.current:g;function QM(g,A,I,C,B=0){const i=t8(A||I),Q=i.background,e=i.environment,E=i.backgroundBlurriness||0;return g!=="only"&&(i.environment=C),g&&(i.background=C),g&&i.backgroundBlurriness!==void 0&&(i.backgroundBlurriness=B),()=>{g!=="only"&&(i.environment=e),g&&(i.background=Q),g&&i.backgroundBlurriness!==void 0&&(i.backgroundBlurriness=E)}}function eM({scene:g,background:A=!1,blur:I,map:C}){const B=wB(i=>i.scene);return j.useLayoutEffect(()=>{if(C)return QM(A,g,B,C,I)},[B,g,C,A,I]),null}function nY({background:g=!1,scene:A,blur:I,...C}){const B=oY(C),i=wB(Q=>Q.scene);return j.useLayoutEffect(()=>QM(g,A,i,B,I),[B,g,A,i,I]),null}function o8({children:g,near:A=1,far:I=1e3,resolution:C=256,frames:B=1,map:i,background:Q=!1,blur:e,scene:E,files:t,path:n,preset:a=void 0,extensions:r}){const l=wB(S=>S.gl),D=wB(S=>S.scene),G=j.useRef(null),[h]=j.useState(()=>new Xt),c=j.useMemo(()=>{const S=new dd(C);return S.texture.type=gB,S},[C]);j.useLayoutEffect(()=>(B===1&&G.current.update(l,h),QM(Q,E,D,c.texture,e)),[g,h,c.texture,E,D,Q,B,l]);let y=1;return OB(()=>{(B===1/0||yIM({GroundProjectedEnvImpl:DW}),[]);const e=j.useMemo(()=>[Q],[Q]),E=(A=g.ground)==null?void 0:A.height,t=(I=g.ground)==null?void 0:I.radius,n=(C=(B=g.ground)==null?void 0:B.scale)!==null&&C!==void 0?C:1e3;return j.createElement(j.Fragment,null,j.createElement(eM,FE({},g,{map:Q})),j.createElement("groundProjectedEnvImpl",{args:e,scale:n,height:E,radius:t}))}function sY(g){return g.ground?j.createElement(n8,g):g.map?j.createElement(eM,g):g.children?j.createElement(o8,g):j.createElement(nY,g)}const s8=j.forwardRef(({children:g,compute:A,width:I,height:C,samples:B=8,renderPriority:i=0,eventPriority:Q=0,frames:e=1/0,stencilBuffer:E=!1,depthBuffer:t=!0,generateMipmaps:n=!1,...a},r)=>{const{size:l,viewport:D}=wB(),G=yr((I||l.width)*D.dpr,(C||l.height)*D.dpr,{samples:B,stencilBuffer:E,depthBuffer:t,generateMipmaps:n}),[h]=j.useState(()=>new Xt),c=j.useCallback((y,S,k)=>{var N,p;let f=(N=G.texture)==null?void 0:N.__r3f.parent;for(;f&&!(f instanceof Eg);)f=f.__r3f.parent;if(!f)return!1;k.raycaster.camera||k.events.compute(y,k,(p=k.previousRoot)==null?void 0:p.getState());const[q]=k.raycaster.intersectObject(f);if(!q)return!1;const _=q.uv;if(!_)return!1;S.raycaster.setFromCamera(S.pointer.set(_.x*2-1,_.y*2-1),S.camera)},[]);return j.useImperativeHandle(r,()=>G.texture,[G]),j.createElement(j.Fragment,null,pw(j.createElement(a8,{renderPriority:i,frames:e,fbo:G},g,j.createElement("group",{onPointerOver:()=>null})),h,{events:{compute:A||c,priority:Q}}),j.createElement("primitive",FE({object:G.texture},a)))});function a8({frames:g,renderPriority:A,children:I,fbo:C}){let B=0,i;return OB(Q=>{(g===1/0||B + void main() { + vec2 uv = gl_FragCoord.xy / resolution.xy; + vec4 t = texture2D(map, uv); + float k = blur; + float d = texture2D(sdf, vUv).r/size; + float alpha = 1.0 - smoothstep(0.0, 1.0, clamp(d/k + 1.0, 0.0, 1.0)); + gl_FragColor = vec4(t.rgb, blur == 0.0 ? t.a : t.a * alpha); + #include + #include <${eY>=154?"colorspace_fragment":"encodings_fragment"}> + }`),l8=j.forwardRef(({children:g,events:A=void 0,blur:I=0,eventPriority:C=0,renderPriority:B=0,worldUnits:i=!1,resolution:Q=512,...e},E)=>{IM({PortalMaterialImpl:r8});const t=j.useRef(null),{scene:n,gl:a,size:r,viewport:l,setEvents:D}=wB(),G=yr(Q,Q),[h,c]=j.useState(0);OB(()=>{const p=t.current.blend>0?Math.max(1,B):0;h!==p&&c(p)}),j.useEffect(()=>{A!==void 0&&D({enabled:!A})},[A]);const[y,S]=j.useState(!0),k=Q8(S);j.useLayoutEffect(()=>{var p;k.current=(p=t.current)==null?void 0:p.__r3f.parent},[]),j.useLayoutEffect(()=>{if(k.current&&I&&t.current.sdf===null){const p=new rg(k.current.geometry,new uC),f=new oC().setFromBufferAttribute(p.geometry.attributes.position),q=new he(f.min.x*(1+2/Q),f.max.x*(1+2/Q),f.max.y*(1+2/Q),f.min.y*(1+2/Q),.1,1e3);q.position.set(0,0,1),q.lookAt(0,0,0),a.setRenderTarget(G),a.render(p,q);const U=D8(Q,Q,a)(G.texture),K=new Float32Array(Q*Q);a.readRenderTargetPixels(U,0,0,Q,Q,K);let z=1/0;for(let cA=0;cAt.current);const N=j.useCallback((p,f,q)=>{var _;if(!k.current)return!1;if(f.pointer.set(p.offsetX/f.size.width*2-1,-(p.offsetY/f.size.height)*2+1),f.raycaster.setFromCamera(f.pointer,f.camera),((_=t.current)==null?void 0:_.blend)===0){const[U]=f.raycaster.intersectObject(k.current);if(!U)return f.raycaster.camera=void 0,!1}},[]);return j.createElement("portalMaterialImpl",FE({ref:t,blur:I,blend:0,resolution:[r.width*l.dpr,r.height*l.dpr],attach:"material"},e),j.createElement(s8,{attach:"map",frames:y?1/0:0,eventPriority:C,renderPriority:B,compute:N},g,j.createElement(c8,{events:A,rootScene:n,priority:h,material:t,worldUnits:i})))});function c8({events:g=void 0,rootScene:A,material:I,priority:C,worldUnits:B}){const i=wB(a=>a.scene),Q=wB(a=>a.setEvents),e=yr(),E=yr();j.useLayoutEffect(()=>{i.matrixAutoUpdate=!1},[]),j.useEffect(()=>{g!==void 0&&Q({enabled:g})},[g]);const[t,n]=j.useMemo(()=>{const a={value:0};return[new nn(new NC({uniforms:{a:{value:e.texture},b:{value:E.texture},blend:a},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + uniform sampler2D a; + uniform sampler2D b; + uniform float blend; + varying vec2 vUv; + #include + void main() { + vec4 ta = texture2D(a, vUv); + vec4 tb = texture2D(b, vUv); + gl_FragColor = mix(tb, ta, blend); + #include + #include <${eY>=154?"colorspace_fragment":"encodings_fragment"}> + }`})),a]},[]);return OB(a=>{var r;let l=I==null||(r=I.current)==null?void 0:r.__r3f.parent;if(l){if(B)i.matrixWorld.identity();else{var D;C&&((D=I.current)==null?void 0:D.blend)===1&&l.updateWorldMatrix(!0,!1),i.matrixWorld.copy(l.matrixWorld)}if(C){var G,h,c;((G=I.current)==null?void 0:G.blend)>0&&((h=I.current)==null?void 0:h.blend)<1?(n.value=I.current.blend,a.gl.setRenderTarget(e),a.gl.render(i,a.camera),a.gl.setRenderTarget(E),a.gl.render(A,a.camera),a.gl.setRenderTarget(null),t.render(a.gl)):((c=I.current)==null?void 0:c.blend)===1&&a.gl.render(i,a.camera)}}},C),j.createElement(j.Fragment,null)}const D8=(g,A,I)=>{let C=new SC(g,A,{minFilter:Ii,magFilter:hg,type:tC,format:mn,generateMipmaps:!0}),B=new SC(g,A,{minFilter:tg,magFilter:tg}),i=new SC(g,A,{minFilter:tg,magFilter:tg}),Q=new SC(g,A,{minFilter:tg,magFilter:tg}),e=new SC(g,A,{minFilter:tg,magFilter:tg}),E=new SC(g,A,{minFilter:tg,magFilter:tg,type:tC,format:mn}),t=new SC(g,A,{minFilter:tg,magFilter:tg,type:tC,format:mn});const n=new nn(new NC({uniforms:{tex:{value:null}},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + uniform sampler2D tex; + varying vec2 vUv; + #include + void main() { + gl_FragColor = pack2HalfToRGBA(vUv * (round(texture2D(tex, vUv).x))); + }`})),a=new nn(new NC({uniforms:{tex:{value:null}},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + uniform sampler2D tex; + varying vec2 vUv; + #include + void main() { + gl_FragColor = pack2HalfToRGBA(vUv * (1.0 - round(texture2D(tex, vUv).x))); + }`})),r=new nn(new NC({uniforms:{tex:{value:null},offset:{value:0},level:{value:0},maxSteps:{value:0}},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + varying vec2 vUv; + uniform sampler2D tex; + uniform float offset; + uniform float level; + uniform float maxSteps; + #include + void main() { + float closestDist = 9999999.9; + vec2 closestPos = vec2(0.0); + for (float x = -1.0; x <= 1.0; x += 1.0) { + for (float y = -1.0; y <= 1.0; y += 1.0) { + vec2 voffset = vUv; + voffset += vec2(x, y) * vec2(${1/g}, ${1/A}) * offset; + vec2 pos = unpackRGBATo2Half(texture2D(tex, voffset)); + float dist = distance(pos.xy, vUv); + if(pos.x != 0.0 && pos.y != 0.0 && dist < closestDist) { + closestDist = dist; + closestPos = pos; + } + } + } + gl_FragColor = pack2HalfToRGBA(closestPos); + }`})),l=new nn(new NC({uniforms:{tex:{value:null},size:{value:new KA(g,A)}},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + varying vec2 vUv; + uniform sampler2D tex; + uniform vec2 size; + #include + void main() { + gl_FragColor = vec4(distance(size * unpackRGBATo2Half(texture2D(tex, vUv)), size * vUv), 0.0, 0.0, 0.0); + }`})),D=new nn(new NC({uniforms:{inside:{value:t.texture},outside:{value:E.texture},tex:{value:null}},vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + }`,fragmentShader:` + varying vec2 vUv; + uniform sampler2D inside; + uniform sampler2D outside; + uniform sampler2D tex; + #include + void main() { + float i = texture2D(inside, vUv).x; + float o =texture2D(outside, vUv).x; + if (texture2D(tex, vUv).x == 0.0) { + gl_FragColor = vec4(o, 0.0, 0.0, 0.0); + } else { + gl_FragColor = vec4(-i, 0.0, 0.0, 0.0); + } + }`}));return G=>{let h=C;G.minFilter=tg,G.magFilter=tg,n.material.uniforms.tex.value=G,I.setRenderTarget(B),n.render(I);const c=Math.ceil(Math.log(Math.max(g,A))/Math.log(2));let y=B,S=null;for(let k=0;k0){const i=document.getElementsByTagName("link");B=Promise.all(I.map(Q=>{if(Q=w8(Q),Q in dR)return;dR[Q]=!0;const e=Q.endsWith(".css"),E=e?'[rel="stylesheet"]':"";if(!!C)for(let a=i.length-1;a>=0;a--){const r=i[a];if(r.href===Q&&(!e||r.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${Q}"]${E}`))return;const n=document.createElement("link");if(n.rel=e?"stylesheet":h8,e||(n.as="script",n.crossOrigin=""),n.href=Q,document.head.appendChild(n),e)return new Promise((a,r)=>{n.addEventListener("load",a),n.addEventListener("error",()=>r(new Error(`Unable to preload CSS for ${Q}`)))})}))}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})},G8=j.createContext(null);function aY(){return j.useContext(G8)}const rY=j.createContext(void 0);function OE(){const g=j.useContext(rY);if(g==null)throw new Error("Cannot be used outside of a uikit component.");return g}const cs=rY.Provider;function Uw(){throw new Error("Cycle detected")}var y8=Symbol.for("preact-signals");function Nw(){if(pE>1)pE--;else{for(var g,A=!1;va!==void 0;){var I=va;for(va=void 0,gk++;I!==void 0;){var C=I.o;if(I.o=void 0,I.f&=-3,!(8&I.f)&&DY(I))try{I.c()}catch(B){A||(g=B,A=!0)}I=C}}if(gk=0,pE--,A)throw g}}function lY(g){if(pE>0)return g();pE++;try{return g()}finally{Nw()}}var xg=void 0,by=0;function u8(g){if(by>0)return g();var A=xg;xg=void 0,by++;try{return g()}finally{by--,xg=A}}var va=void 0,pE=0,gk=0,uh=0;function cY(g){if(xg!==void 0){var A=g.n;if(A===void 0||A.t!==xg)return A={i:0,S:g,p:xg.s,n:void 0,t:xg,e:void 0,x:void 0,r:A},xg.s!==void 0&&(xg.s.n=A),xg.s=A,g.n=A,32&xg.f&&g.S(A),A;if(A.i===-1)return A.i=0,A.n!==void 0&&(A.n.p=A.p,A.p!==void 0&&(A.p.n=A.n),A.p=xg.s,A.n=void 0,xg.s.n=A,xg.s=A),A}}function qC(g){this.v=g,this.i=0,this.n=void 0,this.t=void 0}qC.prototype.brand=y8;qC.prototype.h=function(){return!0};qC.prototype.S=function(g){this.t!==g&&g.e===void 0&&(g.x=this.t,this.t!==void 0&&(this.t.e=g),this.t=g)};qC.prototype.U=function(g){if(this.t!==void 0){var A=g.e,I=g.x;A!==void 0&&(A.x=I,g.e=void 0),I!==void 0&&(I.e=A,g.x=void 0),g===this.t&&(this.t=I)}};qC.prototype.subscribe=function(g){var A=this;return wI(function(){var I=A.value,C=32&this.f;this.f&=-33;try{g(I)}finally{this.f|=C}})};qC.prototype.valueOf=function(){return this.value};qC.prototype.toString=function(){return this.value+""};qC.prototype.toJSON=function(){return this.value};qC.prototype.peek=function(){return this.v};Object.defineProperty(qC.prototype,"value",{get:function(){var g=cY(this);return g!==void 0&&(g.i=this.i),this.v},set:function(g){if(xg instanceof _E&&function(){throw new Error("Computed cannot have side-effects")}(),g!==this.v){gk>100&&Uw(),this.v=g,this.i++,uh++,pE++;try{for(var A=this.t;A!==void 0;A=A.x)A.t.N()}finally{Nw()}}}});function SI(g){return new qC(g)}function DY(g){for(var A=g.s;A!==void 0;A=A.n)if(A.S.i!==A.i||!A.S.h()||A.S.i!==A.i)return!0;return!1}function hY(g){for(var A=g.s;A!==void 0;A=A.n){var I=A.S.n;if(I!==void 0&&(A.r=I),A.S.n=A,A.i=-1,A.n===void 0){g.s=A;break}}}function wY(g){for(var A=g.s,I=void 0;A!==void 0;){var C=A.p;A.i===-1?(A.S.U(A),C!==void 0&&(C.n=A.n),A.n!==void 0&&(A.n.p=C)):I=A,A.S.n=A.r,A.r!==void 0&&(A.r=void 0),A=C}g.s=I}function _E(g){qC.call(this,void 0),this.x=g,this.s=void 0,this.g=uh-1,this.f=4}(_E.prototype=new qC).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===uh))return!0;if(this.g=uh,this.f|=1,this.i>0&&!DY(this))return this.f&=-2,!0;var g=xg;try{hY(this),xg=this;var A=this.x();(16&this.f||this.v!==A||this.i===0)&&(this.v=A,this.f&=-17,this.i++)}catch(I){this.v=I,this.f|=16,this.i++}return xg=g,wY(this),this.f&=-2,!0};_E.prototype.S=function(g){if(this.t===void 0){this.f|=36;for(var A=this.s;A!==void 0;A=A.n)A.S.S(A)}qC.prototype.S.call(this,g)};_E.prototype.U=function(g){if(this.t!==void 0&&(qC.prototype.U.call(this,g),this.t===void 0)){this.f&=-33;for(var A=this.s;A!==void 0;A=A.n)A.S.U(A)}};_E.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var g=this.t;g!==void 0;g=g.x)g.t.N()}};_E.prototype.peek=function(){if(this.h()||Uw(),16&this.f)throw this.v;return this.v};Object.defineProperty(_E.prototype,"value",{get:function(){1&this.f&&Uw();var g=cY(this);if(this.h(),g!==void 0&&(g.i=this.i),16&this.f)throw this.v;return this.v}});function og(g){return new _E(g)}function SY(g){var A=g.u;if(g.u=void 0,typeof A=="function"){pE++;var I=xg;xg=void 0;try{A()}catch(C){throw g.f&=-2,g.f|=8,EM(g),C}finally{xg=I,Nw()}}}function EM(g){for(var A=g.s;A!==void 0;A=A.n)A.S.U(A);g.x=void 0,g.s=void 0,SY(g)}function k8(g){if(xg!==this)throw new Error("Out-of-order effect");wY(this),xg=g,this.f&=-2,8&this.f&&EM(this),Nw()}function $r(g){this.x=g,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}$r.prototype.c=function(){var g=this.S();try{if(8&this.f||this.x===void 0)return;var A=this.x();typeof A=="function"&&(this.u=A)}finally{g()}};$r.prototype.S=function(){1&this.f&&Uw(),this.f|=1,this.f&=-9,SY(this),hY(this),pE++;var g=xg;return xg=this,k8.bind(this,g)};$r.prototype.N=function(){2&this.f||(this.f|=2,this.o=va,va=this)};$r.prototype.d=function(){this.f|=8,1&this.f||EM(this)};function wI(g){var A=new $r(g);try{A.c()}catch(I){throw A.d(),I}return A.d.bind(A)}var d8=(()=>{var g=import.meta.url;return function(A){A=A||{};var I;I||(I=typeof A<"u"?A:{});var C,B;I.ready=new Promise(function(Y,T){C=Y,B=T});var i=Object.assign({},I),Q="";typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),g&&(Q=g),Q.indexOf("blob:")!==0?Q=Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):Q="";var e=I.print||console.log.bind(console),E=I.printErr||console.warn.bind(console);Object.assign(I,i),i=null;var t;I.wasmBinary&&(t=I.wasmBinary),I.noExitRuntime,typeof WebAssembly!="object"&&X("no native wasm support detected");var n,a=!1;function r(Y,T,BA){BA=T+BA;for(var rA="";!(T>=BA);){var kA=Y[T++];if(!kA)break;if(kA&128){var RA=Y[T++]&63;if((kA&224)==192)rA+=String.fromCharCode((kA&31)<<6|RA);else{var mA=Y[T++]&63;kA=(kA&240)==224?(kA&15)<<12|RA<<6|mA:(kA&7)<<18|RA<<12|mA<<6|Y[T++]&63,65536>kA?rA+=String.fromCharCode(kA):(kA-=65536,rA+=String.fromCharCode(55296|kA>>10,56320|kA&1023))}}else rA+=String.fromCharCode(kA)}return rA}var l,D,G,h,c,y,S,k,N;function p(){var Y=n.buffer;l=Y,I.HEAP8=D=new Int8Array(Y),I.HEAP16=h=new Int16Array(Y),I.HEAP32=y=new Int32Array(Y),I.HEAPU8=G=new Uint8Array(Y),I.HEAPU16=c=new Uint16Array(Y),I.HEAPU32=S=new Uint32Array(Y),I.HEAPF32=k=new Float32Array(Y),I.HEAPF64=N=new Float64Array(Y)}var f,q=[],_=[],U=[];function K(){var Y=I.preRun.shift();q.unshift(Y)}var z=0,cA=null;function X(Y){throw I.onAbort&&I.onAbort(Y),Y="Aborted("+Y+")",E(Y),a=!0,Y=new WebAssembly.RuntimeError(Y+". Build with -sASSERTIONS for more info."),B(Y),Y}function sA(Y){return Y.startsWith("data:application/octet-stream;base64,")}var oA;if(oA="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!sA(oA)){var GA=oA;oA=I.locateFile?I.locateFile(GA,Q):Q+GA}function b(){var Y=oA;try{if(Y==oA&&t)return new Uint8Array(t);if(sA(Y))try{var T=GI(Y.slice(37)),BA=new Uint8Array(T.length);for(Y=0;Y=T?"_"+Y:Y}function fA(Y,T){return Y=DA(Y),function(){return T.apply(this,arguments)}}var VA=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function v(Y){var T=Error,BA=fA(Y,function(rA){this.name=Y,this.message=rA,rA=Error(rA).stack,rA!==void 0&&(this.stack=this.toString()+` +`+rA.replace(/^Error(:[^\n]*)?\n/,""))});return BA.prototype=Object.create(T.prototype),BA.prototype.constructor=BA,BA.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},BA}var x=void 0;function H(Y){throw new x(Y)}var EA=Y=>(Y||H("Cannot use deleted val. handle = "+Y),VA[Y].value),UA=Y=>{switch(Y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var T=W.length?W.pop():VA.length;return VA[T]={ga:1,value:Y},T}},hA=void 0,NA=void 0;function Z(Y){for(var T="";G[Y];)T+=NA[G[Y++]];return T}var MA=[];function eA(){for(;MA.length;){var Y=MA.pop();Y.M.$=!1,Y.delete()}}var wA=void 0,SA={};function bA(Y,T){for(T===void 0&&H("ptr should not be undefined");Y.R;)T=Y.ba(T),Y=Y.R;return T}var QA={};function F(Y){Y=mI(Y);var T=Z(Y);return nI(Y),T}function m(Y,T){var BA=QA[Y];return BA===void 0&&H(T+" has unknown type "+F(Y)),BA}function lA(){}var PA=!1;function ZA(Y){--Y.count.value,Y.count.value===0&&(Y.T?Y.U.W(Y.T):Y.P.N.W(Y.O))}function TA(Y,T,BA){return T===BA?Y:BA.R===void 0?null:(Y=TA(Y,T,BA.R),Y===null?null:BA.na(Y))}var eI={};function BI(Y,T){return T=bA(Y,T),SA[T]}var sI=void 0;function hI(Y){throw new sI(Y)}function fI(Y,T){return T.P&&T.O||hI("makeClassHandle requires ptr and ptrType"),!!T.U!=!!T.T&&hI("Both smartPtrType and smartPtr must be specified"),T.count={value:1},jA(Object.create(Y,{M:{value:T}}))}function jA(Y){return typeof FinalizationRegistry>"u"?(jA=T=>T,Y):(PA=new FinalizationRegistry(T=>{ZA(T.M)}),jA=T=>{var BA=T.M;return BA.T&&PA.register(T,{M:BA},T),T},lA=T=>{PA.unregister(T)},jA(Y))}var OI={};function YI(Y){for(;Y.length;){var T=Y.pop();Y.pop()(T)}}function dI(Y){return this.fromWireType(y[Y>>2])}var EI={},aI={};function MI(Y,T,BA){function rA(WA){WA=BA(WA),WA.length!==Y.length&&hI("Mismatched type converter count");for(var OA=0;OA{QA.hasOwnProperty(WA)?kA[OA]=QA[WA]:(RA.push(WA),EI.hasOwnProperty(WA)||(EI[WA]=[]),EI[WA].push(()=>{kA[OA]=QA[WA],++mA,mA===RA.length&&rA(kA)}))}),RA.length===0&&rA(kA)}function LI(Y){switch(Y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+Y)}}function RI(Y,T,BA={}){if(!("argPackAdvance"in T))throw new TypeError("registerType registeredInstance requires argPackAdvance");var rA=T.name;if(Y||H('type "'+rA+'" must have a positive integer typeid pointer'),QA.hasOwnProperty(Y)){if(BA.ua)return;H("Cannot register type '"+rA+"' twice")}QA[Y]=T,delete aI[Y],EI.hasOwnProperty(Y)&&(T=EI[Y],delete EI[Y],T.forEach(kA=>kA()))}function vI(Y){H(Y.M.P.N.name+" instance already deleted")}function XA(){}function IA(Y,T,BA){if(Y[T].S===void 0){var rA=Y[T];Y[T]=function(){return Y[T].S.hasOwnProperty(arguments.length)||H("Function '"+BA+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+Y[T].S+")!"),Y[T].S[arguments.length].apply(this,arguments)},Y[T].S=[],Y[T].S[rA.Z]=rA}}function II(Y,T){I.hasOwnProperty(Y)?(H("Cannot register public name '"+Y+"' twice"),IA(I,Y,Y),I.hasOwnProperty(void 0)&&H("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),I[Y].S[void 0]=T):I[Y]=T}function gI(Y,T,BA,rA,kA,RA,mA,WA){this.name=Y,this.constructor=T,this.X=BA,this.W=rA,this.R=kA,this.pa=RA,this.ba=mA,this.na=WA,this.ja=[]}function lI(Y,T,BA){for(;T!==BA;)T.ba||H("Expected null or instance of "+BA.name+", got an instance of "+T.name),Y=T.ba(Y),T=T.R;return Y}function FI(Y,T){return T===null?(this.ea&&H("null is not a valid "+this.name),0):(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),lI(T.M.O,T.M.P.N,this.N))}function sg(Y,T){if(T===null){if(this.ea&&H("null is not a valid "+this.name),this.da){var BA=this.fa();return Y!==null&&Y.push(this.W,BA),BA}return 0}if(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&T.M.P.ca&&H("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name),BA=lI(T.M.O,T.M.P.N,this.N),this.da)switch(T.M.T===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:T.M.U===this?BA=T.M.T:H("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name);break;case 1:BA=T.M.T;break;case 2:if(T.M.U===this)BA=T.M.T;else{var rA=T.clone();BA=this.xa(BA,UA(function(){rA.delete()})),Y!==null&&Y.push(this.W,BA)}break;default:H("Unsupporting sharing policy")}return BA}function wg(Y,T){return T===null?(this.ea&&H("null is not a valid "+this.name),0):(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),T.M.P.ca&&H("Cannot convert argument of type "+T.M.P.name+" to parameter type "+this.name),lI(T.M.O,T.M.P.N,this.N))}function yg(Y,T,BA,rA){this.name=Y,this.N=T,this.ea=BA,this.ca=rA,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,T.R!==void 0?this.toWireType=sg:(this.toWireType=rA?FI:wg,this.V=null)}function dC(Y,T){I.hasOwnProperty(Y)||hI("Replacing nonexistant public symbol"),I[Y]=T,I[Y].Z=void 0}function ug(Y,T){var BA=[];return function(){if(BA.length=0,Object.assign(BA,arguments),Y.includes("j")){var rA=I["dynCall_"+Y];rA=BA&&BA.length?rA.apply(null,[T].concat(BA)):rA.call(null,T)}else rA=f.get(T).apply(null,BA);return rA}}function pg(Y,T){Y=Z(Y);var BA=Y.includes("j")?ug(Y,T):f.get(T);return typeof BA!="function"&&H("unknown function pointer with signature "+Y+": "+T),BA}var WC=void 0;function yB(Y,T){function BA(RA){kA[RA]||QA[RA]||(aI[RA]?aI[RA].forEach(BA):(rA.push(RA),kA[RA]=!0))}var rA=[],kA={};throw T.forEach(BA),new WC(Y+": "+rA.map(F).join([", "]))}function mi(Y,T,BA,rA,kA){var RA=T.length;2>RA&&H("argTypes array size mismatch! Must at least get return value and 'this' types!");var mA=T[1]!==null&&BA!==null,WA=!1;for(BA=1;BA>2]);return BA}function LC(Y){4>2])};case 3:return function(BA){return this.fromWireType(N[BA>>3])};default:throw new TypeError("Unknown float type: "+Y)}}function Je(Y,T,BA){switch(T){case 0:return BA?function(rA){return D[rA]}:function(rA){return G[rA]};case 1:return BA?function(rA){return h[rA>>1]}:function(rA){return c[rA>>1]};case 2:return BA?function(rA){return y[rA>>2]}:function(rA){return S[rA>>2]};default:throw new TypeError("Unknown integer type: "+Y)}}function L(Y,T){for(var BA="",rA=0;!(rA>=T/2);++rA){var kA=h[Y+2*rA>>1];if(kA==0)break;BA+=String.fromCharCode(kA)}return BA}function P(Y,T,BA){if(BA===void 0&&(BA=2147483647),2>BA)return 0;BA-=2;var rA=T;BA=BA<2*Y.length?BA/2:Y.length;for(var kA=0;kA>1]=Y.charCodeAt(kA),T+=2;return h[T>>1]=0,T-rA}function aA(Y){return 2*Y.length}function J(Y,T){for(var BA=0,rA="";!(BA>=T/4);){var kA=y[Y+4*BA>>2];if(kA==0)break;++BA,65536<=kA?(kA-=65536,rA+=String.fromCharCode(55296|kA>>10,56320|kA&1023)):rA+=String.fromCharCode(kA)}return rA}function V(Y,T,BA){if(BA===void 0&&(BA=2147483647),4>BA)return 0;var rA=T;BA=rA+BA-4;for(var kA=0;kA=RA){var mA=Y.charCodeAt(++kA);RA=65536+((RA&1023)<<10)|mA&1023}if(y[T>>2]=RA,T+=4,T+4>BA)break}return y[T>>2]=0,T-rA}function $(Y){for(var T=0,BA=0;BA=rA&&++BA,T+=4}return T}var tA={};function iA(Y){var T=tA[Y];return T===void 0?Z(Y):T}var FA=[];function qA(Y){var T=FA.length;return FA.push(Y),T}function xA(Y,T){for(var BA=Array(Y),rA=0;rA>2],"parameter "+rA);return BA}var YA=[],DI=[null,[],[]];x=I.BindingError=v("BindingError"),I.count_emval_handles=function(){for(var Y=0,T=5;T$A;++$A)zA[$A]=String.fromCharCode($A);NA=zA,I.getInheritedInstanceCount=function(){return Object.keys(SA).length},I.getLiveInheritedInstances=function(){var Y=[],T;for(T in SA)SA.hasOwnProperty(T)&&Y.push(SA[T]);return Y},I.flushPendingDeletes=eA,I.setDelayFunction=function(Y){wA=Y,MA.length&&wA&&wA(eA)},sI=I.InternalError=v("InternalError"),XA.prototype.isAliasOf=function(Y){if(!(this instanceof XA&&Y instanceof XA))return!1;var T=this.M.P.N,BA=this.M.O,rA=Y.M.P.N;for(Y=Y.M.O;T.R;)BA=T.ba(BA),T=T.R;for(;rA.R;)Y=rA.ba(Y),rA=rA.R;return T===rA&&BA===Y},XA.prototype.clone=function(){if(this.M.O||vI(this),this.M.aa)return this.M.count.value+=1,this;var Y=jA,T=Object,BA=T.create,rA=Object.getPrototypeOf(this),kA=this.M;return Y=Y(BA.call(T,rA,{M:{value:{count:kA.count,$:kA.$,aa:kA.aa,O:kA.O,P:kA.P,T:kA.T,U:kA.U}}})),Y.M.count.value+=1,Y.M.$=!1,Y},XA.prototype.delete=function(){this.M.O||vI(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),lA(this),ZA(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},XA.prototype.isDeleted=function(){return!this.M.O},XA.prototype.deleteLater=function(){return this.M.O||vI(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),MA.push(this),MA.length===1&&wA&&wA(eA),this.M.$=!0,this},yg.prototype.qa=function(Y){return this.ka&&(Y=this.ka(Y)),Y},yg.prototype.ha=function(Y){this.W&&this.W(Y)},yg.prototype.argPackAdvance=8,yg.prototype.readValueFromPointer=dI,yg.prototype.deleteObject=function(Y){Y!==null&&Y.delete()},yg.prototype.fromWireType=function(Y){function T(){return this.da?fI(this.N.X,{P:this.wa,O:BA,U:this,T:Y}):fI(this.N.X,{P:this,O:Y})}var BA=this.qa(Y);if(!BA)return this.ha(Y),null;var rA=BI(this.N,BA);if(rA!==void 0)return rA.M.count.value===0?(rA.M.O=BA,rA.M.T=Y,rA.clone()):(rA=rA.clone(),this.ha(Y),rA);if(rA=this.N.pa(BA),rA=eI[rA],!rA)return T.call(this);rA=this.ca?rA.la:rA.pointerType;var kA=TA(BA,this.N,rA.N);return kA===null?T.call(this):this.da?fI(rA.N.X,{P:rA,O:kA,U:this,T:Y}):fI(rA.N.X,{P:rA,O:kA})},WC=I.UnboundTypeError=v("UnboundTypeError");var GI=typeof atob=="function"?atob:function(Y){var T="",BA=0;Y=Y.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),kA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),RA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),mA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++));rA=rA<<2|kA>>4,kA=(kA&15)<<4|RA>>2;var WA=(RA&3)<<6|mA;T+=String.fromCharCode(rA),RA!==64&&(T+=String.fromCharCode(kA)),mA!==64&&(T+=String.fromCharCode(WA))}while(BAmA.ta).concat(kA.map(mA=>mA.za));MI([Y],RA,mA=>{var WA={};return kA.forEach((OA,_A)=>{var AI=mA[_A],pI=OA.ra,bI=OA.sa,Ug=mA[_A+kA.length],lg=OA.ya,YC=OA.Aa;WA[OA.oa]={read:jC=>AI.fromWireType(pI(bI,jC)),write:(jC,QQ)=>{var Li=[];lg(YC,jC,Ug.toWireType(Li,QQ)),YI(Li)}}}),[{name:T.name,fromWireType:function(OA){var _A={},AI;for(AI in WA)_A[AI]=WA[AI].read(OA);return rA(OA),_A},toWireType:function(OA,_A){for(var AI in WA)if(!(AI in _A))throw new TypeError('Missing field: "'+AI+'"');var pI=BA();for(AI in WA)WA[AI].write(pI,_A[AI]);return OA!==null&&OA.push(rA,pI),pI},argPackAdvance:8,readValueFromPointer:dI,V:rA}]})},v:function(){},B:function(Y,T,BA,rA,kA){var RA=LI(BA);T=Z(T),RI(Y,{name:T,fromWireType:function(mA){return!!mA},toWireType:function(mA,WA){return WA?rA:kA},argPackAdvance:8,readValueFromPointer:function(mA){if(BA===1)var WA=D;else if(BA===2)WA=h;else if(BA===4)WA=y;else throw new TypeError("Unknown boolean type size: "+T);return this.fromWireType(WA[mA>>RA])},V:null})},f:function(Y,T,BA,rA,kA,RA,mA,WA,OA,_A,AI,pI,bI){AI=Z(AI),RA=pg(kA,RA),WA&&(WA=pg(mA,WA)),_A&&(_A=pg(OA,_A)),bI=pg(pI,bI);var Ug=DA(AI);II(Ug,function(){yB("Cannot construct "+AI+" due to unbound types",[rA])}),MI([Y,T,BA],rA?[rA]:[],function(lg){if(lg=lg[0],rA)var YC=lg.N,jC=YC.X;else jC=XA.prototype;lg=fA(Ug,function(){if(Object.getPrototypeOf(this)!==QQ)throw new x("Use 'new' to construct "+AI);if(Li.Y===void 0)throw new x(AI+" has no accessible constructor");var Do=Li.Y[arguments.length];if(Do===void 0)throw new x("Tried to invoke ctor of "+AI+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Li.Y).toString()+") parameters instead!");return Do.apply(this,arguments)});var QQ=Object.create(jC,{constructor:{value:lg}});lg.prototype=QQ;var Li=new gI(AI,lg,QQ,bI,YC,RA,WA,_A);YC=new yg(AI,Li,!0,!1),jC=new yg(AI+"*",Li,!1,!1);var il=new yg(AI+" const*",Li,!1,!0);return eI[Y]={pointerType:jC,la:il},dC(Ug,lg),[YC,jC,il]})},d:function(Y,T,BA,rA,kA,RA,mA){var WA=eB(BA,rA);T=Z(T),RA=pg(kA,RA),MI([],[Y],function(OA){function _A(){yB("Cannot call "+AI+" due to unbound types",WA)}OA=OA[0];var AI=OA.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]);var pI=OA.N.constructor;return pI[T]===void 0?(_A.Z=BA-1,pI[T]=_A):(IA(pI,T,AI),pI[T].S[BA-1]=_A),MI([],WA,function(bI){return bI=mi(AI,[bI[0],null].concat(bI.slice(1)),null,RA,mA),pI[T].S===void 0?(bI.Z=BA-1,pI[T]=bI):pI[T].S[BA-1]=bI,[]}),[]})},p:function(Y,T,BA,rA,kA,RA){0{yB("Cannot construct "+WA.name+" due to unbound types",mA)},MI([],mA,function(_A){return _A.splice(1,0,null),WA.N.Y[T-1]=mi(OA,_A,null,kA,RA),[]}),[]})},a:function(Y,T,BA,rA,kA,RA,mA,WA){var OA=eB(BA,rA);T=Z(T),RA=pg(kA,RA),MI([],[Y],function(_A){function AI(){yB("Cannot call "+pI+" due to unbound types",OA)}_A=_A[0];var pI=_A.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]),WA&&_A.N.ja.push(T);var bI=_A.N.X,Ug=bI[T];return Ug===void 0||Ug.S===void 0&&Ug.className!==_A.name&&Ug.Z===BA-2?(AI.Z=BA-2,AI.className=_A.name,bI[T]=AI):(IA(bI,T,pI),bI[T].S[BA-2]=AI),MI([],OA,function(lg){return lg=mi(pI,lg,_A,RA,mA),bI[T].S===void 0?(lg.Z=BA-2,bI[T]=lg):bI[T].S[BA-2]=lg,[]}),[]})},A:function(Y,T){T=Z(T),RI(Y,{name:T,fromWireType:function(BA){var rA=EA(BA);return LC(BA),rA},toWireType:function(BA,rA){return UA(rA)},argPackAdvance:8,readValueFromPointer:dI,V:null})},n:function(Y,T,BA){BA=LI(BA),T=Z(T),RI(Y,{name:T,fromWireType:function(rA){return rA},toWireType:function(rA,kA){return kA},argPackAdvance:8,readValueFromPointer:KQ(T,BA),V:null})},e:function(Y,T,BA,rA,kA){T=Z(T),kA===-1&&(kA=4294967295),kA=LI(BA);var RA=WA=>WA;if(rA===0){var mA=32-8*BA;RA=WA=>WA<>>mA}BA=T.includes("unsigned")?function(WA,OA){return OA>>>0}:function(WA,OA){return OA},RI(Y,{name:T,fromWireType:RA,toWireType:BA,argPackAdvance:8,readValueFromPointer:Je(T,kA,rA!==0),V:null})},b:function(Y,T,BA){function rA(RA){RA>>=2;var mA=S;return new kA(l,mA[RA+1],mA[RA])}var kA=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][T];BA=Z(BA),RI(Y,{name:BA,fromWireType:rA,argPackAdvance:8,readValueFromPointer:rA},{ua:!0})},o:function(Y,T){T=Z(T);var BA=T==="std::string";RI(Y,{name:T,fromWireType:function(rA){var kA=S[rA>>2],RA=rA+4;if(BA)for(var mA=RA,WA=0;WA<=kA;++WA){var OA=RA+WA;if(WA==kA||G[OA]==0){if(mA=mA?r(G,mA,OA-mA):"",_A===void 0)var _A=mA;else _A+="\0",_A+=mA;mA=OA+1}}else{for(_A=Array(kA),WA=0;WA=OA?WA++:2047>=OA?WA+=2:55296<=OA&&57343>=OA?(WA+=4,++RA):WA+=3}RA=WA}else RA=kA.length;if(WA=xI(4+RA+1),OA=WA+4,S[WA>>2]=RA,BA&&mA){if(mA=OA,OA=RA+1,RA=G,0=AI){var pI=kA.charCodeAt(++_A);AI=65536+((AI&1023)<<10)|pI&1023}if(127>=AI){if(mA>=OA)break;RA[mA++]=AI}else{if(2047>=AI){if(mA+1>=OA)break;RA[mA++]=192|AI>>6}else{if(65535>=AI){if(mA+2>=OA)break;RA[mA++]=224|AI>>12}else{if(mA+3>=OA)break;RA[mA++]=240|AI>>18,RA[mA++]=128|AI>>12&63}RA[mA++]=128|AI>>6&63}RA[mA++]=128|AI&63}}RA[mA]=0}}else if(mA)for(mA=0;mAc,WA=1;else T===4&&(rA=J,kA=V,RA=$,mA=()=>S,WA=2);RI(Y,{name:BA,fromWireType:function(OA){for(var _A=S[OA>>2],AI=mA(),pI,bI=OA+4,Ug=0;Ug<=_A;++Ug){var lg=OA+4+Ug*T;(Ug==_A||AI[lg>>WA]==0)&&(bI=rA(bI,lg-bI),pI===void 0?pI=bI:(pI+="\0",pI+=bI),bI=lg+T)}return nI(OA),pI},toWireType:function(OA,_A){typeof _A!="string"&&H("Cannot pass non-string to C++ string type "+BA);var AI=RA(_A),pI=xI(4+AI+T);return S[pI>>2]=AI>>WA,kA(_A,pI+4,AI+T),OA!==null&&OA.push(nI,pI),pI},argPackAdvance:8,readValueFromPointer:dI,V:function(OA){nI(OA)}})},k:function(Y,T,BA,rA,kA,RA){OI[Y]={name:Z(T),fa:pg(BA,rA),W:pg(kA,RA),ia:[]}},h:function(Y,T,BA,rA,kA,RA,mA,WA,OA,_A){OI[Y].ia.push({oa:Z(T),ta:BA,ra:pg(rA,kA),sa:RA,za:mA,ya:pg(WA,OA),Aa:_A})},C:function(Y,T){T=Z(T),RI(Y,{va:!0,name:T,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(Y,T,BA,rA,kA){Y=FA[Y],T=EA(T),BA=iA(BA);var RA=[];return S[rA>>2]=UA(RA),Y(T,BA,RA,kA)},t:function(Y,T,BA,rA){Y=FA[Y],T=EA(T),BA=iA(BA),Y(T,BA,null,rA)},g:LC,m:function(Y,T){var BA=xA(Y,T),rA=BA[0];T=rA.name+"_$"+BA.slice(1).map(function(mA){return mA.name}).join("_")+"$";var kA=YA[T];if(kA!==void 0)return kA;var RA=Array(Y-1);return kA=qA((mA,WA,OA,_A)=>{for(var AI=0,pI=0;pI>>=0,2147483648=BA;BA*=2){var rA=T*(1+.2/BA);rA=Math.min(rA,Y+100663296);var kA=Math;rA=Math.max(Y,rA),kA=kA.min.call(kA,2147483648,rA+(65536-rA%65536)%65536);A:{try{n.grow(kA-l.byteLength+65535>>>16),p();var RA=1;break A}catch{}RA=void 0}if(RA)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(Y,T,BA,rA){for(var kA=0,RA=0;RA>2],WA=S[T+4>>2];T+=8;for(var OA=0;OA>2]=kA,0}};(function(){function Y(kA){I.asm=kA.exports,n=I.asm.E,p(),f=I.asm.J,_.unshift(I.asm.F),z--,I.monitorRunDependencies&&I.monitorRunDependencies(z),z==0&&cA&&(kA=cA,cA=null,kA())}function T(kA){Y(kA.instance)}function BA(kA){return CA().then(function(RA){return WebAssembly.instantiate(RA,rA)}).then(function(RA){return RA}).then(kA,function(RA){E("failed to asynchronously prepare wasm: "+RA),X(RA)})}var rA={a:KI};if(z++,I.monitorRunDependencies&&I.monitorRunDependencies(z),I.instantiateWasm)try{return I.instantiateWasm(rA,Y)}catch(kA){E("Module.instantiateWasm callback failed with error: "+kA),B(kA)}return function(){return t||typeof WebAssembly.instantiateStreaming!="function"||sA(oA)||typeof fetch!="function"?BA(T):fetch(oA,{credentials:"same-origin"}).then(function(kA){return WebAssembly.instantiateStreaming(kA,rA).then(T,function(RA){return E("wasm streaming compile failed: "+RA),E("falling back to ArrayBuffer instantiation"),BA(T)})})}().catch(B),{}})(),I.___wasm_call_ctors=function(){return(I.___wasm_call_ctors=I.asm.F).apply(null,arguments)};var mI=I.___getTypeName=function(){return(mI=I.___getTypeName=I.asm.G).apply(null,arguments)};I.__embind_initialize_bindings=function(){return(I.__embind_initialize_bindings=I.asm.H).apply(null,arguments)};var xI=I._malloc=function(){return(xI=I._malloc=I.asm.I).apply(null,arguments)},nI=I._free=function(){return(nI=I._free=I.asm.K).apply(null,arguments)};I.dynCall_jiji=function(){return(I.dynCall_jiji=I.asm.L).apply(null,arguments)};var QI;cA=function Y(){QI||XI(),QI||(cA=Y)};function XI(){function Y(){if(!QI&&(QI=!0,I.calledRun=!0,!a)){if(gA(_),C(I),I.onRuntimeInitialized&&I.onRuntimeInitialized(),I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;){var T=I.postRun.shift();U.unshift(T)}gA(U)}}if(!(01?e-1:0),t=1;ti?g.Node.createWithConfig(i):g.Node.createDefault()),A(g.Node.prototype,"free",function(){g.Node.destroy(this)}),A(g.Node.prototype,"freeRecursive",function(){for(let B=0,i=this.getChildCount();B1&&arguments[1]!==void 0?arguments[1]:NaN,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:vD.LTR;return B.call(this,i,Q,e)}),{Config:g.Config,Node:g.Node,...p8}}const GY=U8(await d8());function WQ(g,A,I){if(A==null)return I;const C=g[A];if(C==null)throw new Error(`unexpected value ${A}, expected ${Object.keys(g).join(", ")}`);return C}const N8={static:0,relative:1,absolute:2},Py={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},f8={column:0,"column-reverse":1,row:2,"row-reverse":3},F8={"no-wrap":0,wrap:1,"wrap-reverse":2},R8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},K8={visible:0,hidden:1,scroll:2},J8={flex:0,none:1},yY={positionType:(g,A)=>g.setPositionType(WQ(N8,A,1)),positionTop:(g,A)=>g.setPosition(1,A??NaN),positionLeft:(g,A)=>g.setPosition(0,A??NaN),positionRight:(g,A)=>g.setPosition(2,A??NaN),positionBottom:(g,A)=>g.setPosition(3,A??NaN),alignContent:(g,A)=>g.setAlignContent(WQ(Py,A,4)),alignItems:(g,A)=>g.setAlignItems(WQ(Py,A,4)),alignSelf:(g,A)=>g.setAlignSelf(WQ(Py,A,0)),flexDirection:(g,A)=>g.setFlexDirection(WQ(f8,A,2)),flexWrap:(g,A)=>g.setFlexWrap(WQ(F8,A,0)),justifyContent:(g,A)=>g.setJustifyContent(WQ(R8,A,0)),marginTop:(g,A)=>g.setMargin(1,A??NaN),marginLeft:(g,A)=>g.setMargin(0,A??NaN),marginRight:(g,A)=>g.setMargin(2,A??NaN),marginBottom:(g,A)=>g.setMargin(3,A??NaN),flexBasis:(g,A)=>g.setFlexBasis(A??NaN),flexGrow:(g,A)=>g.setFlexGrow(A??0),flexShrink:(g,A)=>g.setFlexShrink(A??1),width:(g,A)=>g.setWidth(A??NaN),height:(g,A)=>g.setHeight(A??NaN),minWidth:(g,A)=>g.setMinWidth(A??NaN),minHeight:(g,A)=>g.setMinHeight(A??NaN),maxWidth:(g,A)=>g.setMaxWidth(A??NaN),maxHeight:(g,A)=>g.setMaxHeight(A??NaN),aspectRatio:(g,A)=>g.setAspectRatio(A??NaN),borderTop:(g,A)=>g.setBorder(1,A??NaN),borderLeft:(g,A)=>g.setBorder(0,A??NaN),borderRight:(g,A)=>g.setBorder(2,A??NaN),borderBottom:(g,A)=>g.setBorder(3,A??NaN),overflow:(g,A)=>g.setOverflow(WQ(K8,A,0)),display:(g,A)=>g.setDisplay(WQ(J8,A,0)),paddingTop:(g,A)=>g.setPadding(1,A??NaN),paddingLeft:(g,A)=>g.setPadding(0,A??NaN),paddingRight:(g,A)=>g.setPadding(2,A??NaN),paddingBottom:(g,A)=>g.setPadding(3,A??NaN),gapRow:(g,A)=>g.setGap(1,A??NaN),gapColumn:(g,A)=>g.setGap(0,A??NaN)};function tM(g,A,I,C,B){let i=!1,Q,e={};B.push(wI(()=>{const E=g.value;i&&NR(I,E,Q,e,C),Q=E}),wI(()=>{if(i=A.value,!!i&&Q!=null)return NR(I,Q,void 0,e,C),()=>{q8(e),e={}}}))}function NR(g,A,I,C,B){const i=E=>C[E]=wI(()=>B(E,A.read(E,void 0))),Q=E=>{C[E]?.(),delete C[E],I.read(E,void 0)!==void 0&&B(E,void 0)},e=E=>{C[E]?.(),i(E)};u8(()=>A.filterCompare(g,I,i,e,Q))}function q8(g){for(const A in g)g[A]()}const Ga=100,oM=GY.Config.create();oM.setUseWebDefaults(!0);oM.setPointScaleFactor(Ga);function m8(g){return g==="measureFunc"?!0:g in yY}function we(){const g=SI([!1,!1]);return{size:SI(void 0),relativeCenter:SI(void 0),borderInset:SI(void 0),overflow:SI(vt.Visible),scrollable:g,paddingInset:SI(void 0),maxScrollPosition:SI([void 0,void 0])}}class uY{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=SI(!1);constructor(A,I,C,B,i){this.state=A,this.requestCalculateLayout=C,this.object=B,this.yogaNode=GY.Node.create(oM),this.active.value=!0,i.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),tM(I,this.active,m8,(Q,e)=>{yY[Q](this.yogaNode,e),this.requestCalculateLayout()},i)}setMeasureFunc(A){if(!this.active.value)return;if(A.value==null){this.yogaNode.setMeasureFunc(null);return}const I=A.value;this.yogaNode.setMeasureFunc((C,B,i,Q)=>{const e=I(C,B,i,Q);return{width:Math.ceil(e.width*Ga+1)/Ga,height:Math.ceil(e.height*Ga+1)/Ga}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),lY(()=>this.updateMeasurements(void 0,void 0)))}addChild(A){this.children.push(A),this.requestCalculateLayout()}removeChild(A){const I=this.children.indexOf(A);I!==-1&&(this.children.splice(I,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let A;this.children.sort((Q,e)=>{if(A??=Q.object.current?.parent?.children,A==null)return 0;const E=Q.object.current,t=e.object.current;if(E==null||t==null)return 0;const n=A.indexOf(E);if(n===-1)throw new Error("parent mismatch");const a=A.indexOf(t);if(a===-1)throw new Error("parent mismatch");return n-a});let I=0,C=this.yogaNode.getChild(I),B=this.children[I];for(;B!=null||C!=null;){if(B!=null&&C!=null&&L8(C,FR(B.yogaNode))){B=this.children[++I],C=this.yogaNode.getChild(I);continue}if(C!=null&&this.yogaNode.removeChild(C),B!=null){const Q=FR(B.yogaNode);Q.getParent()?.removeChild(Q),this.yogaNode.insertChild(Q,I),B=this.children[++I]}C=this.yogaNode.getChild(I)}const i=this.children.length;for(let Q=0;Q.5,U=q>.5;en(this.state.maxScrollPosition,_?f:void 0,U?q:void 0),en(this.state.scrollable,_,U)}else en(this.state.maxScrollPosition,void 0,void 0),en(this.state.scrollable,!1,!1);const k=this.state.overflow.value===vt.Visible;return[i+Math.max(C,k?y:0),Q+Math.max(B,k?S:0)]}addLayoutChangeListener(A){return this.layoutChangeListeners.add(A),()=>void this.layoutChangeListeners.delete(A)}}function en(g,A,I){if(g.value!=null){const[C,B]=g.value;if(C===A&&B===I)return}g.value=[A,I]}function fR(g,A,I,C,B){if(g.value!=null){const[i,Q,e,E]=g.value;if(i==A&&Q==I&&e==C&&E==B)return}g.value=[A,I,C,B]}function FR(g){if(g==null)throw new Error("commit cannot be called with a children that miss a yoga node");return g}function L8(g,A){return g.M.O===A.M.O}function fw(g,A,I,C){I!=null&&(Wy(I.classes,C),C(I)),A!=null&&(Wy(A.classes,C),C(A)),g!=null&&(Wy(g.classes,C),C(g))}function Wy(g,A){if(g==null)return;if(!Array.isArray(g)){A(g);return}const I=g.length;for(let C=0;Cg.value.read(A,I))}class Z8{preTransformers;propertyMap=new Map;constructor(A){this.preTransformers=A}add(A,I){if(I===void 0)return;const C=this.preTransformers?.[A];if(C!=null){C(I,this);return}const B=_8[A];if(B==null){this.addToMap(A,I);return}const i=B.length;for(let Q=0;Q=0;i--){const Q=C[i],e=Q instanceof qC?Q.value:Q;if(e!==void 0)return e}return I}filterCompare(A,I,C,B,i){for(const Q of this.propertyMap.keys()){if(!A(Q))continue;if(I==null){C(Q);continue}const e=I.propertyMap.get(Q);if(e==null){C(Q);continue}const E=this.propertyMap.get(Q);RR(e,E)||B(Q)}if(I!=null)for(const Q of I.propertyMap.keys())A(Q)&&(this.propertyMap.has(Q)||i(Q))}isEqual(A,I){const C=this.propertyMap.get(I),B=A.propertyMap.get(I);return C==null||B==null?C===B:RR(C,B)}addAll(A,I,C,B){fw(A,I,C,i=>{for(const Q in i)this.add(Q,i[Q]);for(const Q in B){const e=i[Q];e!=null&&B[Q](e,this)}})}}function RR(g,A){const I=g.length;if(I!=A.length)return!1;for(let C=0;C{let i;if(C==null)i=void 0;else{if(C.value==null)return;i=C.value}const Q=B?.value,e=typeof Q=="number"?Q:Q?.major??0,E=typeof Q=="number"?0:Q?.minor??0;let t,n;return i==null?(t=0,n=0):A>i.elementType?(t=i.majorIndex,n=0):A!=i.elementType||!j8(Ji(I),Ji(i.instancedGroupDependencies))?(t=i.majorIndex+1,n=0):(t=i.majorIndex,n=i.minorIndex+1),e>0&&(t+=e,n=0),n+=E,{instancedGroupDependencies:I,elementType:A,majorIndex:t,minorIndex:n}})}function j8(g,A){if(g===A)return!0;if(g==null||A==null)return!1;let I=0;for(const C in g){if(g[C]!=A[C])return!1;++I}return I===Object.keys(A).length}function so(g,A,I){return g[Ck]=A,g[Bk]=I,g}function Se(g,A,I,C){let B=!0;C.push(()=>wI(()=>{const i=I.value;if(i!=null){if(B){B=!1;return}g.peek()?.onSizeChange?.(...i),A.peek()?.onSizeChange?.(...i)}}))}function ZE(g,A,I,C){let B=!0;C.push(()=>wI(()=>{const i=!I.value;if(B){B=!1;return}g.peek()?.onIsInViewportChange?.(i),A.peek()?.onIsInViewportChange?.(i)}))}const V8=new O,X8=new O,oD=new O,jy=new UI,z8=new fQ,$8=new _g,Vy=Math.PI/180;function Aj([g,A,I]){return $8.setFromEuler(z8.set(g*Vy,A*Vy,I*Vy))}const Ij="center",gj="center";function Ge(g,{relativeCenter:A,size:I},C){const B=ig(g,"transformTranslateX",0),i=ig(g,"transformTranslateY",0),Q=ig(g,"transformTranslateZ",0),e=ig(g,"transformRotateX",0),E=ig(g,"transformRotateY",0),t=ig(g,"transformRotateZ",0),n=ig(g,"transformScaleX",1),a=ig(g,"transformScaleY",1),r=ig(g,"transformScaleZ",1),l=ig(g,"transformOriginX",Ij),D=ig(g,"transformOriginY",gj);return og(()=>{if(A.value==null)return;const[G,h]=A.value,c=C.value,y=new UI().makeTranslation(G*c,h*c,0);let S=!0;if(l.value!="center"||D.value!="center"){if(I.value==null)return;const[f,q]=I.value;S=!1,oD.set(-jY[l.value]*f*c,-VY[D.value]*q*c,0),y.multiply(jy.makeTranslation(oD)),oD.negate()}const k=[e.value,E.value,t.value],N=[B.value,-i.value,Q.value],p=[n.value,a.value,r.value];return(N.some(f=>f!=0)||k.some(f=>f!=0)||p.some(f=>f!=1))&&y.multiply(jy.compose(V8.fromArray(N).multiplyScalar(c),Aj(k),X8.fromArray(p))),S||y.multiply(jy.makeTranslation(oD)),y})}function ye(g,A,I){I.push(()=>wI(()=>{if(A.value==null){g.current?.matrix.elements.fill(0);return}g.current?.matrix.copy(A.value)}))}const Cj=Math.cos(45/180*Math.PI),Xy=[new Kg,new Kg,new Kg,new Kg],KR=new O;class Bj{planes;facePlane;originalCenter;constructor(A,I,C,B,i){this.originalCenter=new O(I,C,0).applyMatrix4(A),this.facePlane=new Kg(new O(0,0,1),0).applyMatrix4(A);const Q=B/2,e=i/2,E=C+e,t=I+Q,n=-C+e,a=-I+Q;this.planes=[new Kg(new O(0,-1,0),n).applyMatrix4(A),new Kg(new O(-1,0,0),a).applyMatrix4(A),new Kg(new O(0,1,0),E).applyMatrix4(A),new Kg(new O(1,0,0),t).applyMatrix4(A)]}min({planes:A}){for(let B=0;B<4;B++){const i=this.facePlane,Q=A[B],e=i.normal.dot(Q.normal);if(Math.abs(e)>.99)return this;const E=Xy[B];if(Math.abs(e)<.01){E.copy(Q);continue}E.normal.crossVectors(i.normal,Q.normal).normalize().cross(i.normal).negate();const t=1-e*e,n=(i.constant-Q.constant*e)/t,a=(Q.constant-i.constant*e)/t;KR.copy(i.normal).multiplyScalar(n).addScaledVector(Q.normal,a),E.constant=-KR.dot(E.normal)}let I=0;const C=this.planes[0].normal;for(;Xy[I].normal.dot(C)>Cj;)break;for(let B=0;B<4;B++){const i=this.planes[B],Q=(B+I)%4;Xy[Q].distanceToPoint(this.originalCenter){if(I.value==null)return!0;const B=A.value,i=g?.value;if(i==null||B==null)return!1;const[Q,e]=I.value,E=C.value;for(let a=0;a<4;a++){const[r,l]=ij[a];JR[a].set(r*E*Q,l*E*e,0).applyMatrix4(B)}const{planes:t}=i;let n;for(let a=0;a<4;a++){const r=t[a];n=!0;for(let l=0;l<4;l++){const D=JR[l];r.distanceToPoint(D)>=0&&(n=!1)}if(n)return!0}return!1})}function Fw(g,{overflow:A,borderInset:I,size:C},B,i){return og(()=>{const Q=g.value;if(Q==null||A.value===vt.Visible)return i?.value;if(C.value==null||I.value==null)return;const[e,E]=C.value,[t,n,a,r]=I.value,l=B.value,D=new Bj(Q,(n-r)*l/2,(t-a)*l/2,(e-r-n)*l,(E-t-a)*l);return i?.value!=null&&D.min(i.value),D})}const ik=new Kg(new O(-1,0,0),Number.MAX_SAFE_INTEGER),kh=new Float32Array(16);for(let g=0;g<4;g++)ik.normal.toArray(kh,g*4),kh[g*4+3]=ik.constant;function Al(g,A,I){const C=[new Kg,new Kg,new Kg,new Kg],B=()=>{if(g.object.current==null)return;const i=A?.value?.planes;if(i==null){for(let Q=0;Q<4;Q++)C[Q].copy(ik);return}for(let Q=0;Q<4;Q++)C[Q].copy(i[Q]).applyMatrix4(g.object.current.matrixWorld)};return I.push(()=>(g.onFrameSet.add(B),()=>g.onFrameSet.delete(B))),C}function kY(g,A){for(;A>=g.length;){let I=0,C=0;if(g.length>0){const B=g[g.length-1];I+=B.offset+B.elements.length,C=Math.min(0,B.missingSpace),B.missingSpace-=C}g.push({add:[],missingSpace:C,offset:I,elements:[]})}}function Qj(g,A,I){kY(g,0);const C=g[g.length-1];C.missingSpace+=A-I}function ej(g,A,I,C){kY(g,A);const B=g[A];return B.missingSpace+=1,B.missingSpace<=0?(C(I,B,B.elements.length),B.elements.push(I),!1):(B.add.push(I),!0)}function Ej(g,A,I,C,B,i,Q,e){if(A>=g.length)throw new Error(`no bucket at index ${A}`);const E=g[A];E.missingSpace-=1;const t=E.add.indexOf(I);if(t!=-1)return E.add.splice(t,1),!1;if(C==null||C>=E.elements.length)throw new Error(`no element at index ${C}`);if(E.add.length>0){const l=E.add.shift();return E.elements[C]=l,B(l,E,C),!1}const n=E.offset,a=E.elements.length-1;if(a!=C){const l=n+a,D=n+C;e(D,l,l+1);const G=E.elements[a];E.elements[C]=G,Q(G,C)}if(i(n+a),E.elements.length-=1,A0;){const l=g[A-1];l.missingSpace+=r.missingSpace,r=g[--A]}return g.length=A+1,!1}function tj(g,A,I){let C=g.length,B=-1;for(let Q=0;Q0&&(B=Q);const E=Q===C-1;if(!E&&e.missingSpace===0)continue;const t=e.missingSpace<0;for(let n=Q-1;n>=0;n--){const a=g[n];if(a.missingSpace===0)continue;const r=a.missingSpace<0;if(r&&(E||t)){qR(g,I,n,Q,Math.abs(a.missingSpace));continue}if(!t&&!r)continue;const l=Math.min(Math.abs(a.missingSpace),Math.abs(e.missingSpace));t?oj(g,I,n,Q,l):qR(g,I,n,Q,l)}}const i=g[B];for(let Q=B+1;Q"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),MY=SI(dY?.matches??!1);dY?.addEventListener("change",g=>MY.value=g.matches);const pY=SI("system"),UY=og(()=>{switch(pY.value){case"system":return MY.value;case"dark":return!0;case"light":return!1}});function nj(g){pY.value=g}const ue={dark:gl(()=>UY.value)};function sj({dark:g,light:A}){const I={};for(const C in g)I[C]=og(()=>UY.value?g[C]:A[C]);return I}const NY={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},fY=Object.keys(NY),aj=fY.length;function ke(g){const A={};for(let I=0;I(g.value?.[0]??0)>NY[C])}return A}function mR(g,A,I,C){return((C==null?0:g.getKerning(C,I.id))+I.xoffset)*A}function zy(g,A,I){return((I?.yoffset??0)+(A-1)/2)*g}function ur(g,A,I){return A.xadvance*g+I}function nD(g,A){return g*A}function Qk(g,{lineHeight:A,fontSize:I}){return Math.max(g,1)*I*A}const rj=({text:g,fontSize:A,font:I,letterSpacing:C},B,i,Q)=>{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;iB)break;Q.nonWhitespaceCharLength=i-e+1,Q.nonWhitespaceWidth=E,Q.whitespacesBetween=t}Q.charLength=i-e},lj=({text:g,fontSize:A,font:I,letterSpacing:C},B,i,Q)=>{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;i{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;i0&&B!=null&&E>B)break;const a=g[i+1];(a===" "||a===` +`||a==null)&&(Q.charLength=i-e+1,Q.nonWhitespaceCharLength=Q.charLength,Q.nonWhitespaceWidth=E,Q.whitespacesBetween=t)}};function nM(g,A){const I=g.length;for(;g[A]===" "&&A{for(const Q of B)Q(i);$y.set(g,i)}).catch(console.error)}async function wj(g,A){const I=await(await fetch(g)).json();if(I.pages.length!==1)throw new Error("only supporting exactly 1 page");const C=await Dj.loadAsync(new URL(I.pages[0],new URL(g,window.location.href)).href);return C.anisotropy=A.capabilities.getMaxAnisotropy(),C.flipY=!1,new uj(I,C)}const ek={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},Sj={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function FY(g,A,I,C){const B=SI(void 0),i=ig(g,"fontFamily",void 0),Q=ig(g,"fontWeight","normal");return C.push(()=>wI(()=>{const e=A?.value??Sj;let E=i.value;E==null&&(E=Object.keys(e)[0]);const t=Gj(e[E],typeof Q.value=="string"?ek[Q.value]:Q.value);let n=!1;return hj(t,I,a=>n?void 0:B.value=a),()=>n=!0})),B}function Gj(g,A){let I=1/0,C;for(const B in g){const i=Math.abs(A-yj(B));if(i===0)return g[B];i{const E=A.value;if(E==null)return;const t=I.value,n={font:E,fontSize:B.value,letterSpacing:i.value,lineHeight:Q.value,text:Array.isArray(t)?t.map(a=>Ji(a)).join(""):Ji(t),wordBreak:e.value};return C.current=n,(a,r)=>pj(n,r===bD.Undefined?void 0:a)})}const RY={"keep-all":lj,"break-all":rj,"break-word":cj},sD={};function pj(g,A){const I=RY[g.wordBreak],C=g.text;let B=0,i=0,Q=0;for(;Q{I.uniforms.fontPage={value:A.page},I.uniforms.pageSize={value:[A.pageWidth,A.pageHeight]},I.uniforms.distanceRange={value:A.distanceRange},I.uniforms.v_weight={value:.3},I.vertexShader=`attribute vec4 instanceUVOffset; + varying vec2 fontUv; + attribute vec4 instanceRGBA; + varying vec4 rgba; + attribute mat4 instanceClipping; + varying mat4 clipping; + varying vec3 localPosition; + `+I.vertexShader,I.vertexShader=I.vertexShader.replace("#include ",`#include + fontUv = instanceUVOffset.xy + uv * instanceUVOffset.zw; + rgba = instanceRGBA; + clipping = instanceClipping; + localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`),I.fragmentShader=`uniform sampler2D fontPage; + uniform vec2 pageSize; + uniform int distanceRange; + uniform float v_weight; + varying vec2 fontUv; + varying vec4 rgba; + varying mat4 clipping; + varying vec3 localPosition; + float median(float r, float g, float b) { + return max(min(r, g), min(max(r, g), b)); + } + float getDistance() { + vec3 msdf = texture(fontPage, fontUv).rgb; + return median(msdf.r, msdf.g, msdf.b); + } + `+I.fragmentShader,I.fragmentShader=I.fragmentShader.replace("#include ",` #include + vec4 plane; + float distanceToPlane, distanceGradient; + float clipOpacity = 1.0; + for(int i = 0; i < 4; i++) { + plane = clipping[ i ]; + distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + + if ( clipOpacity == 0.0 ) discard; + } + vec2 dxdy = fwidth(fontUv) * pageSize; + float dist = getDistance() + min(float(v_weight), 0.5 - 1.0 / float(distanceRange)) - 0.5; + float multiplier = clamp(dist * float(distanceRange) / length(dxdy) + 0.5, 0.0, 1.0); + if(multiplier <= 0.5) { + discard; + } + diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); + diffuseColor *= rgba; + `)}}}class fj extends rg{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new oC;boundingSphere=new RC;constructor(A,I,C,B,i){const Q=new De;Q.translate(.5,-.5,0),super(Q,i),this.instanceMatrix=A,this.instanceRGBA=I,this.instanceUV=C,this.instanceClipping=B,Q.attributes.instanceUVOffset=C,Q.attributes.instanceRGBA=I,Q.attributes.instanceClipping=B,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const LR=new UI,Fj=new UI;function KY(g){return og(()=>({font:g.value}))}class Rj{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(A,I,C,B,i){this.group=A,this.baseMatrix=I,this.color=C,this.opacity=B,this.clippingRect=i}getX(A){return this.glyphInfo==null?this.x:this.x+A*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(A){this.index=A,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(A){this.index=A}updateClippingRect(A){if(this.clippingRect=A,this.index==null)return;const I=this.index*16,{instanceClipping:C}=this.group;this.clippingRect==null?C.set(kh,I):this.clippingRect.toArray(C.array,I),C.addUpdateRange(I,16),C.needsUpdate=!0}updateColor(A){if(this.color=A,this.index==null)return;const{instanceRGBA:I}=this.group,C=I.itemSize*this.index;kr(I.array,C,A,void 0),I.addUpdateRange(C,3),I.needsUpdate=!0}updateOpacity(A){if(this.opacity=A,this.index==null)return;const{instanceRGBA:I}=this.group,C=this.index*4+3;I.array[C]=A,I.addUpdateRange(C,1),I.needsUpdate=!0}updateGlyphAndTransformation(A,I,C,B,i){this.glyphInfo===A&&this.x===I&&this.y===C&&this.fontSize===B&&this.pixelSize===i||(this.glyphInfo!=A&&(this.glyphInfo=A,this.writeUV()),this.x=I,this.y=C,this.fontSize=B,this.pixelSize=i,this.writeUpdatedMatrix())}updateBaseMatrix(A){this.baseMatrix!==A&&(this.baseMatrix=A,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const A=this.index*4,{instanceUV:I}=this.group;kj(this.glyphInfo,I.array,A),I.addUpdateRange(A,4),I.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const A=this.index*16,{instanceMatrix:I}=this.group;I.addUpdateRange(A,16),LR.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(Fj.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),LR.toArray(I.array,A),I.needsUpdate=!0}}class Kj{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(A,I,C,B,i,Q){this.renderOrder=A,this.depthTest=I,this.pixelSize=C,this.root=B,this.object=i,Q.push(()=>{const e=E=>this.traverse(t=>t.onFrame(E));return B.onFrameSet.add(e),()=>B.onFrameSet.delete(e)},()=>wI(()=>{const e=A.value;this.traverse(E=>E.setRenderOrder(e))}),()=>wI(()=>{const e=I.value;this.traverse(E=>E.setDepthTest(e))}))}traverse(A){for(const I of this.map.values())for(const C of I.values())A(C)}getGroup(A,I){let C=this.map.get(I);C==null&&this.map.set(I,C=new Map);let B=C?.get(A);return B==null&&C.set(A,B=new Jj(this.renderOrder.peek(),this.depthTest.peek(),this.object,I,this.pixelSize,this.root,{majorIndex:A,elementType:mC.Text,minorIndex:0})),B}}class Jj{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(A,I,C,B,i,Q,e){this.renderOrder=A,this.object=C,this.pixelSize=i,this.rootCameraDistance=Q,this.orderInfo=e,this.instanceMaterial=new Nj(B),this.instanceMaterial.depthTest=I}setDepthTest(A){this.instanceMaterial.depthTest=A}setRenderOrder(A){this.renderOrder=A,this.mesh!=null&&(this.mesh.renderOrder=A)}requestActivate(A){const I=this.holeIndicies.shift();if(I!=null){this.glyphs[I]=A,A.activate(I);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(A);return}const C=this.mesh.count;this.glyphs[C]=A,A.activate(C),this.mesh.count+=1}delete(A){if(A.index==null){const B=this.requestedGlyphs.indexOf(A);if(B===-1)return;this.requestedGlyphs.splice(B,1);return}const I=this.requestedGlyphs.shift();if(I!=null){I.activate(A.index),this.glyphs[A.index]=I,A.index=void 0;return}if(A.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,A.index=void 0;return}const C=A.index*16;this.instanceMatrix.array.fill(0,C,C+16),this.instanceMatrix.addUpdateRange(C,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(A.index),this.glyphs[A.index]=void 0,A.index=void 0}onFrame(A){const I=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=I>0),I===0)return;const C=this.instanceMatrix?.count??0;if(I0)&&I<=C)return;this.timeTillDecimate=void 0,this.resize(I);const B=this.mesh.count,i=this.requestedGlyphs.length;for(let Q=0;Qa-r);const E=this.holeIndicies.length;let t=0,n=0;for(;n0)for(let a=this.holeIndicies[0];awI(()=>C.value?.addLayoutChangeListener(()=>{const p=G.current,{size:{value:f},paddingInset:{value:q},borderInset:{value:_}}=B;if(p==null||f==null||q==null||_==null)return;const[U,K]=f,[z,cA,X,sA]=q,[oA,GA,b,CA]=_,gA=U-cA-sA-GA-CA,DA=K-z-X-oA-b;N.value=Uj(p,gA,DA)})),()=>wI(()=>{const p=E.value;if(p==null||e.value==null)return;const f=new Yj(t.getGroup(e.value.majorIndex,p),y,c,S,k,N,I,i,Q,n,a,r);return l!=null&&(l.current=f),()=>f.destroy()})),h}const Lj=[];class Yj{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(A,I,C,B,i,Q,e,E,t,n,a,r){this.group=A,this.horizontalAlign=I,this.verticalAlign=C,this.color=B,this.opacity=i,this.layoutSignal=Q,this.matrix=e,this.parentClippingRect=t,this.selectionRange=n,this.selectionBoxes=a,this.caretPosition=r,this.unsubscribeInitialList=[wI(()=>{if(E?.value===!0||i.value<.01){this.hide();return}this.show()}),wI(()=>this.updateSelectionBoxes(this.lastLayout,n?.value,C.peek(),I.peek()))]}getCharIndex(A,I){const C=this.lastLayout;if(C==null)return 0;I-=-rD(C,this.verticalAlign.peek());const B=Math.floor(I/-nD(C.lineHeight,C.fontSize)),i=C.lines;if(B<0||i.length===0)return 0;if(B>=i.length){const n=i[i.length-1];return n.charIndexOffset+n.charLength+1}const Q=i[B],e=C.font.getGlyphInfo(" ").xadvance*C.fontSize,E=this.glyphLines[B];let t=E.length;for(let n=0;n=a.charIndexOffset+a.charLength)continue;const r=this.glyphLines[n][Math.max(C-a.charIndexOffset,0)];return{lineIndex:n,x:this.getGlyphX(r,B?0:1,i)}}const E=A[e-1];if(E.charLength===0)return{lineIndex:e-1,x:HR(I,E.nonWhitespaceWidth,Q)-I/2};const t=this.glyphLines[e-1][E.charLength-1];return{lineIndex:e-1,x:this.getGlyphX(t,1,i)}}getGlyphX(A,I,C){return typeof A=="number"?A+I*C:A.getX(I)}show(){this.unsubscribeShowList.length>0||(Dt(this.glyphLines,A=>A.show()),this.unsubscribeShowList.push(wI(()=>{const A=this.matrix.value;A!=null&&Dt(this.glyphLines,I=>I.updateBaseMatrix(A))}),wI(()=>{const A=this.parentClippingRect?.value;Dt(this.glyphLines,I=>I.updateClippingRect(A))}),wI(()=>{const A=this.color.value;Dt(this.glyphLines,I=>I.updateColor(A))}),wI(()=>{const A=this.opacity.value;Dt(this.glyphLines,I=>I.updateOpacity(A))}),wI(()=>{const A=this.layoutSignal.value;if(A==null)return;const{text:I,font:C,lines:B,letterSpacing:i=0,fontSize:Q=16,lineHeight:e=1.2,availableWidth:E}=A;let t=rD(A,this.verticalAlign.value)-A.availableHeight/2;const n=B.length,a=this.group.pixelSize.value;for(let r=0;rh+G){k=K.id;const X=S+mR(C,Q,K,k);typeof N[_]=="number"?N[_]=S:N.splice(_,0,X),S+=y+ur(Q,K,i);continue}let z=N[_];for(;_r.hide(),n),this.glyphLines.length=n,this.lastLayout=A,this.updateSelectionBoxes(A,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const A=this.unsubscribeShowList.length;if(A!==0){for(let I=0;II.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const A=this.unsubscribeInitialList.length;for(let I=0;I{const C=g.matrixWorld;if(DQ.constant=0,DQ.normal.set(0,0,1),DQ.applyMatrix4(C),DQ.distanceToPoint(A.ray.origin)<=0||A.ray.intersectPlane(DQ,lD)==null)return;const B=DQ.normal.clone();for(let i=0;i<4;i++){const Q=xj[i];if(DQ.copy(Q).applyMatrix4(C),(ht[i]=DQ.distanceToPoint(lD))<0)return}I.push({distance:lD.distanceTo(A.ray.origin),object:g,point:lD.clone(),uv:new KA(ht[0]/(ht[0]+ht[1]),ht[3]/(ht[2]+ht[3])),normal:B})}}function Ds(g,A,I,C,B){return(i,Q)=>{const e=I instanceof Eg?I:I.current;if(e==null||B.value==null)return;const{majorIndex:E,minorIndex:t,elementType:n}=B.value,a=Q.length;A.call(g,i,Q);const r=C?.value?.planes,l=e.matrixWorld;A:for(let D=Q.length-1;D>=a;D--){const G=Q[D];if(G.distance-=E*.01+n*.001+t*1e-5,r!=null){for(let h=0;h<4;h++)if(DQ.copy(r[h]).applyMatrix4(l),DQ.distanceToPoint(G.point)<0){Q.splice(D,1);continue A}}}}}const LY=new tI(-1,-1,-1),YY={backgroundColor:LY,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Au;function ao(){if(Au==null){const g={};for(const A in YY)g[A]=A;Au=Il(g)}return Au}function Il(g,A){const I={...YY,...A},C={};for(const i in g){const Q=vj[i],e=I[i];C[g[i]]=(E,t,n,a,r)=>Q(E,t,n??e,a,r)}const B=new Float32Array(16);return kr(B,4,I.backgroundColor,void 0),kr(B,8,I.borderColor,void 0),B[11]=I.borderBend,B[12]=I.borderOpacity,B[15]=I.backgroundOpacity,{hasProperty:i=>i in C,defaultData:B,setters:C,computedIsVisibile:(i,Q,e,E)=>og(()=>{if(Q.value==null||e.value==null)return!0;const t=g.borderOpacity==null?I.borderOpacity:i.value.read(g.borderOpacity,I.borderOpacity),n=g.backgroundOpacity==null?I.backgroundOpacity:i.value.read(g.backgroundOpacity,I.backgroundOpacity),a=g.backgroundColor==null?I.backgroundColor:i.value.read(g.backgroundColor,I.backgroundColor),r=Q.value.some(h=>h>0)&&t>0,[l,D]=e.value;return!(l>0&&D>0&&(n===-1||n>0)&&a!=LY)&&!r?!1:E==null?!0:!E.value})}}const vj={backgroundColor:(g,A,I,C,B)=>kr(g,A+4,I,B),borderBottomLeftRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,0,I,C[1],B),borderBottomRightRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,1,I,C[1],B),borderTopRightRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,2,I,C[1],B),borderTopLeftRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,3,I,C[1],B),borderColor:(g,A,I,C,B)=>kr(g,A+8,I,B),borderBend:(g,A,I,C,B)=>Iu(g,A+11,I,B),borderOpacity:(g,A,I,C,B)=>Iu(g,A+12,I,B),backgroundOpacity:(g,A,I,C,B)=>Iu(g,A+15,I,B)};function cD(g,A,I,C,B,i){Tj(g,A,I,C,B),i?.(A,1)}function Iu(g,A,I,C){g[A]=I,C?.(A,1)}const bj=new tI;function kr(g,A,I,C){Array.isArray(I)?g.set(I,A):bj.set(I).toArray(g,A),C?.(A,3)}function HY(g,A){const I=new g;I.defines==null&&(I.defines={}),I.side=Qi,I.clipShadows=!0,I.transparent=!0,I.toneMapped=!1,I.depthWrite=!1,I.shadowSide=Qi,I.defines.USE_UV="",I.defines.USE_TANGENT="";const C=I.onBeforeCompile;return I.onBeforeCompile=(B,i)=>{C.call(I,B,i),A.type==="normal"&&(B.uniforms.data={value:A.data}),Zj(B,A.type==="instanced")},I}class TY extends Ew{info;constructor(A){super(),this.info=A,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(A,I){super.onBeforeCompile(A,I),this.info.type==="normal"&&(A.uniforms.data={value:this.info.data}),vY(A,this.info.type==="instanced")}}class xY extends ew{info;constructor(A){super({depthPacking:Dd}),this.info=A,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(A,I){super.onBeforeCompile(A,I),this.info.type==="normal"&&(A.uniforms.data={value:this.info.data}),vY(A,this.info.type==="instanced")}}const Oj=new xY({type:"instanced"}),_j=new TY({type:"instanced"});function vY(g,A){bY(g,A),g.fragmentShader=g.fragmentShader.replace("#include ",`#include + ${OY(A,void 0)} + `)}function bY(g,A){g.vertexShader=g.vertexShader.replace("#include ",` #include + out vec4 borderRadius; + ${A?"":"uniform highp mat4 data;"}`),g.vertexShader=g.vertexShader.replace("#include ",` #include + highp int packedBorderRadius = int(data[1].w); + borderRadius = vec4( + packedBorderRadius / 125000 % 50, + packedBorderRadius / 2500 % 50, + packedBorderRadius / 50 % 50, + packedBorderRadius % 50 + ) * vec4(0.5 / 50.0);`),A&&(g.vertexShader=g.vertexShader.replace("#include ",` #include + attribute highp mat4 aData; + attribute mat4 aClipping; + out mat4 data; + out mat4 clipping; + out vec3 localPosition;`),g.vertexShader=g.vertexShader.replace("#include ",` #include + data = aData; + clipping = aClipping; + localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`)),g.fragmentShader=`${A?"in":"uniform"} highp mat4 data; + in vec4 borderRadius; + ${A?` + in vec3 localPosition; + in mat4 clipping; + `:""} + + float min4 (vec4 v) { + return min(min(min(v.x,v.y),v.z),v.w); + } + float max4 (vec4 v) { + return max(max(max(v.x,v.y),v.z),v.w); + } + vec2 radiusDistance(float radius, vec2 outside, vec2 border, vec2 borderSize) { + vec2 outerRadiusXX = vec2(radius, radius); + vec2 innerRadiusXX = outerRadiusXX - borderSize; + vec2 radiusWeightUnnormalized = abs(innerRadiusXX - border); + vec2 radiusWeight = radiusWeightUnnormalized / vec2(radiusWeightUnnormalized.x + radiusWeightUnnormalized.y); + return vec2( + radius - distance(outside, outerRadiusXX), + dot(radiusWeight, innerRadiusXX) - distance(border, innerRadiusXX) + ); + } + `+g.fragmentShader,g.fragmentShader=g.fragmentShader.replace("#include ",` ${A?` + vec4 plane; + float distanceToPlane, distanceGradient; + float clipOpacity = 1.0; + + for(int i = 0; i < 4; i++) { + plane = clipping[ i ]; + distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + + if ( clipOpacity < 0.01 ) discard; + } + `:""} + vec4 absoluteBorderSize = data[0]; + vec3 backgroundColor = data[1].xyz; + vec3 borderColor = data[2].xyz; + float borderBend = data[2].w; + float borderOpacity = data[3].x; + float width = data[3].y; + float height = data[3].z; + float backgroundOpacity = data[3].w; + float ratio = width / height; + vec4 relative = vec4(height, height, height, height); + vec4 borderSize = absoluteBorderSize / relative; + vec4 v_outsideDistance = vec4(1.0 - vUv.y, (1.0 - vUv.x) * ratio, vUv.y, vUv.x * ratio); + vec4 v_borderDistance = v_outsideDistance - borderSize; + + vec2 distance = vec2(min4(v_outsideDistance), min4(v_borderDistance)); + vec4 negateBorderDistance = vec4(1.0) - v_borderDistance; + float maxWeight = max4(negateBorderDistance); + vec4 borderWeight = step(maxWeight, negateBorderDistance); + + vec4 insideBorder; + + if(all(lessThan(v_outsideDistance.xw, borderRadius.xx))) { + distance = radiusDistance(borderRadius.x, v_outsideDistance.xw, v_borderDistance.xw, borderSize.xw); + + float tmp = borderRadius.x - borderSize.w; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.x - borderSize.x; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.yz = vec2(0.0); + insideBorder.xw = max(vec2(0.0), lineIntersection - v_borderDistance.xw); + + } else if(all(lessThan(v_outsideDistance.xy, borderRadius.yy))) { + distance = radiusDistance(borderRadius.y, v_outsideDistance.xy, v_borderDistance.xy, borderSize.xy); + + float tmp = borderRadius.y - borderSize.y; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.y - borderSize.x; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.zw = vec2(0.0); + insideBorder.xy = max(vec2(0.0), lineIntersection - v_borderDistance.xy); + + } else if(all(lessThan(v_outsideDistance.zy, borderRadius.zz))) { + distance = radiusDistance(borderRadius.z, v_outsideDistance.zy, v_borderDistance.zy, borderSize.zy); + + float tmp = borderRadius.z - borderSize.y; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.z - borderSize.z; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.xw = vec2(0.0); + insideBorder.zy =max(vec2(0.0), lineIntersection - v_borderDistance.zy); + + } else if(all(lessThan(v_outsideDistance.zw, borderRadius.ww))) { + distance = radiusDistance(borderRadius.w, v_outsideDistance.zw, v_borderDistance.zw, borderSize.zw); + + float tmp = borderRadius.w - borderSize.w; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.w - borderSize.z; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.xy = vec2(0.0); + insideBorder.zw = max(vec2(0.0), lineIntersection - v_borderDistance.zw); + + } + + if(insideBorder.x + insideBorder.y + insideBorder.z + insideBorder.w > 0.0) { + borderWeight = normalize(insideBorder); + } + + #include `)}function OY(g,A){return`float ddx = fwidth(distance.x); + float outer = smoothstep(-ddx, ddx, distance.x); + + float ddy = fwidth(distance.y); + float inner = smoothstep(-ddy, ddy, distance.y); + + float transition = 1.0 - step(0.1, outer - inner) * (1.0 - inner); + + if(backgroundColor.r < 0.0 && backgroundOpacity >= 0.0) { + backgroundColor = vec3(1.0); + } + if(backgroundOpacity < 0.0) { + backgroundOpacity = backgroundColor.r >= 0.0 ? 1.0 : 0.0; + } + + if(backgroundOpacity < 0.0) { + backgroundOpacity = 0.0; + } + + float outOpacity = ${g?"clipOpacity * ":""} outer * mix(borderOpacity, ${A==null?"":`${A} *`} backgroundOpacity, transition); + + if(outOpacity < 0.01) { + discard; + }`}function Zj(g,A){bY(g,A),g.fragmentShader=g.fragmentShader.replace("#include ",` #include + ${OY(A,"diffuseColor.a")} + diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); + diffuseColor.a = outOpacity; + `),g.fragmentShader=g.fragmentShader.replace("#include ",` #include + vec3 b = normalize(vBitangent); + vec3 t = normalize(vTangent); + mat4 directions = mat4(vec4(b, 1.0), vec4(t, 1.0), vec4(-b, 1.0), vec4(-t, 1.0)); + float currentBorderSize = distance.x - distance.y; + float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; + vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; + normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); + `)}function ro(g,A,I,C,B){const i=new rg(aM);return i.matrixAutoUpdate=!1,i.raycast=Ds(i,mY(i),A.object,I,g),i.visible=!1,B.push(()=>wI(()=>{if(C.value==null)return;const[Q,e]=C.value,E=A.pixelSize.value;i.scale.set(Q*E,e*E,1),i.updateMatrix()})),i}class Pj extends rg{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new oC;boundingSphere=new RC;constructor(A,I,C){const B=qY();super(B),this.instanceMatrix=A,this.frustumCulled=!1,B.attributes.aData=I,B.attributes.aClipping=C,this.customDepthMaterial=Oj,this.customDistanceMaterial=_j}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function lo(g){const A=ig(g,"panelMaterialClass",uC),I=ig(g,"castShadow",!1),C=ig(g,"receiveShadow",!1);return og(()=>({panelMaterialClass:A.value,castShadow:I.value,receiveShadow:C.value}))}const Rw={panelMaterialClass:uC,castShadow:!1,receiveShadow:!1};class Wj{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(A,I,C,B,i,Q){this.renderOrder=A,this.depthTest=I,this.pixelSize=C,this.root=B,this.object=i,Q.push(()=>{const e=E=>this.traverse(t=>t.onFrame(E));return B.onFrameSet.add(e),()=>B.onFrameSet.delete(e)},()=>wI(()=>{const e=A.value;this.traverse(E=>E.setRenderOrder(e))}),()=>wI(()=>{const e=I.value;this.traverse(E=>E.setDepthTest(e))}))}traverse(A){for(const I of this.map.values())for(const C of I.values())A(C)}getGroup(A,{panelMaterialClass:I,receiveShadow:C,castShadow:B}=Rw){let i=this.map.get(I);i==null&&this.map.set(I,i=new Map);const Q=(A<<2)+((C?1:0)<<1)+(B?1:0);let e=i.get(Q);return e==null&&i.set(Q,e=new jj(this.renderOrder.peek(),this.depthTest.peek(),this.object,I,this.pixelSize,this.root,{elementType:mC.Panel,majorIndex:A,minorIndex:0},C,B)),e}}class jj{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(A,I,C)=>{const B=I.offset+C;this.instanceData.set(A.materialConfig.defaultData,16*B),this.instanceData.addUpdateRange(16*B,16),this.instanceData.needsUpdate=!0,A.activate(I,C)};setElementIndex=(A,I)=>{A.setIndexInBucket(I)};bufferCopyWithin=(A,I,C)=>{gu(this.instanceMatrix,A,I,C),gu(this.instanceData,A,I,C),gu(this.instanceClipping,A,I,C)};clearBufferAt=A=>{const I=A*16;this.instanceMatrix.array.fill(0,I,I+16),this.instanceMatrix.addUpdateRange(I,16),this.instanceMatrix.needsUpdate=!0};constructor(A,I,C,B,i,Q,e,E,t){this.renderOrder=A,this.object=C,this.pixelSize=i,this.root=Q,this.orderInfo=e,this.meshReceiveShadow=E,this.meshCastShadow=t,this.instanceMaterial=HY(B,{type:"instanced"}),this.instanceMaterial.depthTest=I}updateCount(){const A=this.buckets[this.buckets.length-1],I=A.offset+A.elements.length;this.mesh!=null&&(this.mesh.count=I,this.mesh.visible=I>0)}setDepthTest(A){this.instanceMaterial.depthTest=A}setRenderOrder(A){this.renderOrder=A,this.mesh!=null&&(this.mesh.renderOrder=A)}insert(A,I){if(this.elementCount+=1,!ej(this.buckets,A,I,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(A,I,C){if(this.elementCount-=1,!Ej(this.buckets,A,C,I,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(A){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=A,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(A){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,A)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),tj(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const A=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),Qj(this.buckets,A,this.bufferElementSize);const I=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&I.set(this.instanceMatrix.array.subarray(0,I.length)),this.instanceMatrix=new gi(I,16,!1),this.instanceMatrix.setUsage(Ie);const C=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&C.set(this.instanceData.array.subarray(0,C.length)),this.instanceData=new gi(C,16,!1),this.instanceDataOnUpdate=(i,Q)=>{this.instanceData.addUpdateRange(i,Q),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Ie);const B=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&B.set(this.instanceClipping.array.subarray(0,B.length)),this.instanceClipping=new gi(B,16,!1),this.instanceClipping.setUsage(Ie),this.mesh=new Pj(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,so(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function gu(g,A,I,C){const B=g.itemSize,i=I*B,Q=C*B,e=A*B;g.array.copyWithin(e,i,Q);const E=Q-i;g.addUpdateRange(i,E),g.addUpdateRange(e,E),g.needsUpdate=!0}function RQ(g,A,I,C,B,i,Q,e,E,t,n,a){return a.push(wI(()=>{if(A.value==null)return;const r=[],l=C.getGroup(A.value.majorIndex,I?.value);return new Xj(g,l,A.value.minorIndex,B,i,Q,e,E,t,n,r),()=>ei(r)})),a}const DD=new UI,Vj=new UI;class Xj{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=SI(!1);constructor(A,I,C,B,i,Q,e,E,t,n,a){this.group=I,this.minorIndex=C,this.matrix=B,this.size=i,this.offset=Q,this.borderInset=e,this.clippingRect=E,this.materialConfig=n;const r=n.setters;tM(A,this.active,n.hasProperty,(D,G)=>{const h=this.getIndexInBuffer();if(h==null)return;const{instanceData:c,instanceDataOnUpdate:y}=this.group;r[D](c.array,c.itemSize*h,G,i,y)},a);const l=n.computedIsVisibile(A,e,i,t);a.push(wI(()=>{if(l.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(A){this.indexInBucket=A}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(A,I){this.bucket=A,this.indexInBucket=I,this.active.value=!0,this.unsubscribeList.push(wI(()=>{if(this.matrix.value==null||this.size.value==null)return;const C=this.getIndexInBuffer();if(C==null)return;const B=C*16,[i,Q]=this.size.value,e=this.group.pixelSize.value;if(DD.makeScale(i*e,Q*e,1),this.offset!=null){const[t,n]=this.offset.value;DD.premultiply(Vj.makeTranslation(t*e,n*e,0))}DD.premultiply(this.matrix.value);const{instanceMatrix:E}=this.group;DD.toArray(E.array,B),E.addUpdateRange(B,16),E.needsUpdate=!0}),wI(()=>{const C=this.getIndexInBuffer();if(C==null||this.size.value==null)return;const[B,i]=this.size.value,{instanceData:Q}=this.group,{array:e}=Q,E=C*16+13;e[E]=B,e[E+1]=i,Q.addUpdateRange(E,2),Q.needsUpdate=!0}),wI(()=>{const C=this.getIndexInBuffer();if(C==null||this.borderInset.value==null)return;const{instanceData:B}=this.group,i=C*16+0;B.array.set(this.borderInset.value,i),B.addUpdateRange(i,4),B.needsUpdate=!0}),wI(()=>{const{instanceClipping:C}=this.group,B=this.getIndexInBuffer();if(B==null)return;const i=B*16,Q=this.clippingRect?.value;Q!=null?Q.toArray(C.array,i):C.array.set(kh,i),C.addUpdateRange(i,16),C.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const A=this.unsubscribeList.length;for(let I=0;I{const C=A.value;if(C==null)return;const[B,i]=g.value,Q=I.value;return new UI().makeTranslation(-B*Q,i*Q,0).premultiply(C)})}function qw(g,A,I,C){return C.push(()=>wI(()=>{const[B,i]=A.value,Q=I.value;g.current?.position.set(-B*Q,i*Q,0),g.current?.updateMatrix()}))}function rM(g,A){return og(()=>{const[I,C]=A?.value??[!1,!1],[B,i]=g.value;return[I||B,C||i]})}function mw(g,A,{scrollable:I,maxScrollPosition:C},B,i,Q,e,E){const t=og(()=>I.value?.some(D=>D)??!1),n=new Map,a=new KA,r=(D,G,h,c,y)=>{if(g.value==null)return;const[S,k]=D==null?[!1,!1]:zj(D.nativeEvent);S&&(G=0),k&&(h=0);const[N,p]=g.value,[f,q]=C.value;let[_,U]=g.value;const[K,z]=A?.value??[!1,!1];_=TR(N,f,G,y&&!K),U=TR(p,q,h,y&&!z),c!=null&&c>0&&a.set(G,h).divideScalar(c),D!=null&&$j(D.nativeEvent,S||Math.min(N,(f??0)-N)>5,k||Math.min(p,(q??0)-p)>5),!(i.peek()?.onScroll?.(_,U,g,D)===!1||N===_&&p===U)&&(g.value=[_,U])},l=D=>{if(n.size>0||g.value==null)return;let G=0,h=0;const[c,y]=g.value,[S,k]=C.value;G+=Ek(c,0,S??0)*-.3,h+=Ek(y,0,k??0)*-.3,G+=a.x*D,h+=a.y*D,a.multiplyScalar(.9),Math.abs(a.x)<.01&&(a.x=0),Math.abs(a.y)<.01&&(a.y=0),!(G===0&&h===0)&&r(void 0,G,h,void 0,!0)};return E.push(()=>wI(()=>{if(t.value)return e.add(l),()=>e.delete(l)})),og(()=>{if(t.value)return{onPointerDown:({nativeEvent:D,point:G})=>{let h=n.get(D.pointerId);h==null&&n.set(D.pointerId,h={timestamp:0,point:new O}),h.timestamp=performance.now()/1e3,B.current.worldToLocal(h.point.copy(G))},onPointerUp:({nativeEvent:D})=>n.delete(D.pointerId),onPointerLeave:({nativeEvent:D})=>n.delete(D.pointerId),onPointerCancel:({nativeEvent:D})=>n.delete(D.pointerId),onPointerMove:D=>{const G=n.get(D.nativeEvent.pointerId);if(G==null)return;B.current.worldToLocal(Bu.copy(D.point)),Cu.copy(Bu).sub(G.point).divideScalar(Q.peek());const h=performance.now()/1e3,c=h-G.timestamp;G.point.copy(Bu),G.timestamp=h,!D.defaultPrevented&&r(D,-Cu.x,Cu.y,c,!0)},onWheel:D=>{if(D.defaultPrevented)return;const{nativeEvent:G}=D;r(D,G.deltaX,G.deltaY,void 0,!1)}}})}const _Y=Symbol("was-scrolled");function zj(g){return g[_Y]??[!1,!1]}function $j(g,A,I){g[_Y]=[A,I]}function TR(g,A,I,C){if(I===0)return g;const B=Ek(g,0,A??0);xR(I)===xR(B)&&(I*=Math.max(0,1-Math.abs(B)/100));let i=g+I;return C&&A!=null?i:sM(i,0,A??0)}function xR(g){return g>=0}function Ek(g,A,I){return gI?g-I:0}const A5=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Lw(g,A,I,C,B,i,Q,e,E){const t=iB(void 0,mC.Panel,Rw,Q),n=ig(g,"scrollbarWidth",10),a=lM(g,A5);bR(g,0,A,I,C,B,i,t,e,n,a,E),bR(g,1,A,I,C,B,i,t,e,n,a,E)}let vR;function I5(){return vR??=Il({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),vR}function bR(g,A,I,C,B,i,Q,e,E,t,n,a){const r=og(()=>g5(A,t.value,C.size.value,C.maxScrollPosition.value,C.borderInset.value,I.value)),l=og(()=>r.value?.slice(0,2)??[0,0]),D=og(()=>r.value?.slice(2,4)??[0,0]);a.push(G=>RQ(g,e,void 0,E,B,D,l,n,Q,i,I5(),G))}function g5(g,A,I,C,B,i){if(I==null||B==null||i==null)return;const Q=C[g];if(Q==null)return;const e=[0,0,0,0],E=1-g,t=I[g]-B[E]-B[E+2],n=Math.max(A,t*t/(Q+t)),a=t-n,r=i[g];return e[g]=I[g]*.5-n*.5-B[(g+3)%4]-a*sM(r/Q,0,1),e[E]=I[E]*.5-A*.5-B[E+1],g===0&&(e[0]*=-1,e[1]*=-1),e[g+2]=n,e[E+2]=A,e}function C5(g,A,I,C,B){let i=!1;if(fw(A,C,I,e=>{"active"in e&&(i=!0)}),!i&&A?.onActiveChange==null&&I?.onActiveChange==null){B.value.length=0;return}const Q=({nativeEvent:e})=>{B.value=B.value.filter(E=>E!=e.pointerId),!(B.value.length>0)&&(I?.onActiveChange?.(!1),A?.onActiveChange?.(!1))};bt("onPointerDown",g,({nativeEvent:e})=>{B.value=[e.pointerId,...B.value],B.value.length==1&&(I?.onActiveChange?.(!0),A?.onActiveChange?.(!0))}),bt("onPointerUp",g,Q),bt("onPointerLeave",g,Q)}function de(g){return{active:gl(()=>g.value.length>0)}}function WE(g,A){return og(()=>{const I=A.value,C=g.value;if(!(I==null||C==null))return C.clone().multiply(I)})}function ZY(g,A,I,C,...B){I.push(i=>{if(!(C instanceof qC)){let Q=!1;return A(C,...B).then(e=>Q?void 0:g.value=e),i.push(()=>Q=!0),i}return i.push(wI(()=>{let Q=!1;return A(C.value,...B).then(e=>Q?void 0:g.value=e).catch(console.error),()=>Q=!0})),i})}function jE(g,A,I,C,B,i){i.push(Q=>{const e=new uY(A,C,I.root.requestCalculateLayout,B,Q);return g!=null&&(g.value=e),Q.push(wI(()=>{const E=I.node.value;if(E!=null)return E.addChild(e),()=>E.removeChild(e)})),Q})}const OR=new Map,Yw={keepAspectRatio:(g,A)=>{let I=OR.get(g);I==null&&OR.set(g,I=og(()=>Ji(g)===!1?null:void 0)),A.add("aspectRatio",I)}};function Me(g,A,I,C,B,i,Q){return og(()=>{const e={};return B5(e,i?.value),m5(e,g.value,A.value,I.value,C,Q),C5(e,g.value,A.value,I.value,B),e})}function B5(g,A){for(const I in A)bt(I,g,A[I])}function bt(g,A,I){if(I==null)return;const C=A[g];if(C==null){A[g]=I;return}A[g]=B=>{C(B),!("stopped"in B&&B.stopped)&&I(B)}}function pe(g,A,I,C,B,i){return og(()=>{const Q=new Z8(B);return i?.(Q),Q.addAll(g.value,A.value,I.value,C),Q})}const _R=new tI;function PY(g,A,I,C){const B=ig(g,"color",void 0),i=ig(g,"opacity",1);I.push(()=>wI(()=>{let Q;Array.isArray(B.value)?Q=_R.setRGB(...B.value):B.value!=null&&(Q=_R.set(B.value)),Ji(A)?.traverse(e=>{if(!(e instanceof rg))return;e.renderOrder=C.renderOrder.value;const E=e.material;E.color.copy(Q??e.userData.color),E.opacity=i.value,E.depthTest=C.depthTest.value})}))}const i5=.01,ZR=new O,hD=new Kg,wD=SI(new UI);function Q5(g,A,I,C,B,i,Q,e,E){const t=SI([0,0]),n=SI([]),a=SI([]),r=[];Ne(n,r);const l=pe(A,I,C,{...ue,...ke(t),...fe(n),...de(a)},{...PR(g,"sizeX","width"),...PR(g,"sizeY","height")}),D=ig(l,"renderOrder",0),G=ig(l,"depthTest",!0),h=SI(void 0),c=e5(E,h,r),y=we();r.push(sA=>{const oA=new uY(y,l,c,B,sA);return h.value=oA,sA});const S=Ge(l,y,g),k=n5(l,S,y.size,g);ye(B,k,r);const N=lo(l),p=iB(void 0,mC.Panel,N,void 0),f={cameraDistance:0,onFrameSet:E},q=new Wj(D,G,g,f,B,r),_=()=>{if(B.current==null){f.cameraDistance=0;return}hD.normal.set(0,0,1),hD.constant=0,hD.applyMatrix4(B.current.matrixWorld),ZR.setFromMatrixPosition(Q().matrixWorld),f.cameraDistance=hD.distanceToPoint(ZR)};r.push(()=>(E.add(_),()=>E.delete(_))),r.push(sA=>RQ(l,p,N,q,wD,y.size,void 0,y.borderInset,void 0,void 0,ao(),sA));const U=Kw();qw(i,U,g,r);const K=Jw(U,wD,g);Lw(l,U,y,wD,void 0,void 0,p,q,r);const z=mw(U,void 0,y,B,I,g,E,r);Se(A,I,y.size,r);const cA=new Kj(D,G,g,f,B,r),X=Object.assign(f,{requestCalculateLayout:c,cameraDistance:0,gylphGroupManager:cA,object:B,panelGroupManager:q,pixelSize:g,renderOrder:D,depthTest:G,renderer:e,size:y.size});return Object.assign(y,{anyAncestorScrollable:y.scrollable,clippingRect:Fw(wD,y,g,void 0),childrenMatrix:K,node:h,orderInfo:p,initializers:r,interactionPanel:ro(p,X,void 0,y.size,r),handlers:Me(A,I,C,n,a,z),root:X})}function e5(g,A,I){let C=!1;const B=()=>{const i=A.peek();!C||i==null||(C=!1,i.calculateLayout())};return I.push(()=>(g.add(B),()=>g.delete(B))),()=>C=!0}function PR(g,A,I){const C=new Map;return{[A]:(B,i)=>{let Q=C.get(B);Q==null&&C.set(B,Q=og(()=>{const e=Ji(B);if(e!=null)return e/g.value})),i.add(I,Q)}}}const E5=new UI,t5="center",o5="center";function n5(g,A,I,C){const B=ig(g,"anchorX",t5),i=ig(g,"anchorY",o5);return og(()=>{if(I.value==null)return;const[Q,e]=I.value;return A.value?.clone().premultiply(E5.makeTranslation(jY[B.value]*Q*C.value,VY[i.value]*e*C.value,0))})}function s5(g,A,I,C,B,i){const Q=SI(void 0),e=we(),E=SI([]),t=SI([]),n=[];Ne(E,n);const a=pe(A,I,C,{...ue,...ke(g.root.size),...fe(E),...de(t)});jE(Q,e,g,a,B,n);const r=Ge(a,e,g.root.pixelSize);ye(B,r,n);const l=WE(g.childrenMatrix,r),D=PE(g.clippingRect,l,e.size,g.root.pixelSize),G=lo(a),h=iB(a,mC.Panel,G,g.orderInfo);n.push(k=>RQ(a,h,G,g.root.panelGroupManager,l,e.size,void 0,e.borderInset,g.clippingRect,D,ao(),k));const c=Kw();qw(i,c,g.root.pixelSize,n);const y=Jw(c,l,g.root.pixelSize);Lw(a,c,e,l,D,g.clippingRect,h,g.root.panelGroupManager,n);const S=mw(c,g.anyAncestorScrollable,e,B,I,g.root.pixelSize,g.root.onFrameSet,n);return Se(A,I,e.size,n),ZE(A,I,D,n),Object.assign(e,{anyAncestorScrollable:rM(e.scrollable,g.anyAncestorScrollable),clippingRect:Fw(l,e,g.root.pixelSize,g.clippingRect),childrenMatrix:y,node:Q,orderInfo:h,root:g.root,scrollPosition:c,interactionPanel:ro(h,g.root,g.clippingRect,e.size,n),handlers:Me(A,I,C,E,t,S),initializers:n})}const a5="fill";function r5(g,A,I,C,B,i,Q){const e=[],E=SI(void 0),t=SI([]),n=SI([]);Ne(t,e);const a=og(()=>Ji(A.value));ZY(E,h5,e,a);const r=og(()=>{const q=E.value;if(q==null)return;const _=q.source.data;return _.width/_.height}),l=pe(I,C,B,{...ue,...ke(g.root.size),...fe(t),...de(n)},Yw,q=>q.add("aspectRatio",r)),D=SI(void 0),G=we();jE(D,G,g,l,i,e);const h=Ge(l,G,g.root.pixelSize);ye(i,h,e);const c=WE(g.childrenMatrix,h),y=PE(g.clippingRect,c,G.size,g.root.pixelSize),S=og(()=>y.value||E.value==null),k=iB(l,mC.Image,void 0,g.orderInfo),N=Kw();qw(Q,N,g.root.pixelSize,e);const p=Jw(N,c,g.root.pixelSize);Lw(l,N,G,c,y,g.clippingRect,k,g.root.panelGroupManager,e);const f=mw(N,g.anyAncestorScrollable,G,i,C,g.root.pixelSize,g.root.onFrameSet,e);return Se(I,C,G.size,e),ZE(I,C,y,e),Object.assign(G,{anyAncestorScrollable:rM(G.scrollable,g.anyAncestorScrollable),initializers:e,handlers:Me(I,C,B,t,n,f),interactionPanel:l5(l,E,g,G,k,g.root,S,e),clippingRect:Fw(c,G,g.root.pixelSize,g.clippingRect),childrenMatrix:p,node:D,orderInfo:k,root:g.root})}let WR;function WY(){return WR??=Il({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),WR}function l5(g,A,I,C,B,i,Q,e){const E=new rg(aM);E.matrixAutoUpdate=!1;const t=Al(i,I.clippingRect,e),n=WY().computedIsVisibile(g,C.borderInset,C.size,Q);return w5(g,E,C.size,C.borderInset,n,t,i,e),E.raycast=Ds(E,mY(E),i.object,I.clippingRect,B),so(E,i,B),c5(g,A,C.borderInset,C.size,e),e.push(()=>wI(()=>E.visible=n.value)),e.push(()=>wI(()=>{const a=A.value??null;E.material.map!==a&&(E.material.map=a,E.material.needsUpdate=!0)}),()=>wI(()=>{if(C.size.value==null)return;const[a,r]=C.size.value,l=I.root.pixelSize.value;E.scale.set(a*l,r*l,1),E.updateMatrix()})),E}function c5(g,A,I,C,B){const i=ig(g,"fit",a5);B.push(()=>wI(()=>{const Q=A.value;if(Q==null||C.value==null||I.value==null)return;if(Q.matrix.identity(),i.value==="fill"||Q==null){jR(I,C,Q);return}const{width:e,height:E}=Q.source.data,t=e/E,[n,a]=C.value,[r,l,D,G]=I.value,h=(n-G-l)/(a-r-D);t>h?Q.matrix.translate(-(.5*(h-t))/h,0).scale(h/t,1):Q.matrix.translate(0,-(.5*(t-h))/t).scale(1,t/h),jR(I,C,Q)}))}function jR(g,A,I){if(A.value==null||g.value==null)return;const[C,B]=A.value,[i,Q,e,E]=g.value,t=C-E-Q,n=B-i-e;I.matrix.translate(-1+(E+t)/C,-1+(i+n)/B).scale(C/t,B/n)}const D5=new jr;async function h5(g){if(g==null)return Promise.resolve(void 0);if(g instanceof mg)return Promise.resolve(g);try{const A=await D5.loadAsync(g);return A.colorSpace=eC,A.matrixAutoUpdate=!1,A}catch(A){console.error(A);return}}function w5(g,A,I,C,B,i,Q,e){const E=new Float32Array(16),t={data:E,type:"normal"};A.customDepthMaterial=new xY(t),A.customDistanceMaterial=new TY(t),A.customDepthMaterial.clippingPlanes=i,A.customDistanceMaterial.clippingPlanes=i;const n=ig(g,"panelMaterialClass",uC);e.push(D=>(D.push(wI(()=>{const G=HY(n.value,t);return G.clippingPlanes=i,A.material=G,wI(()=>G.depthTest=Q.depthTest.value)}),wI(()=>A.renderOrder=Q.renderOrder.value),wI(()=>A.castShadow=g.value.read("castShadow",!1)),wI(()=>A.receiveShadow=g.value.read("receiveShadow",!1))),D));const a=WY(),r=[];e.push(()=>wI(()=>{if(B.value)return E.set(a.defaultData),r.push(wI(()=>I.value!=null&&E.set(I.value,13)),wI(()=>C.value!=null&&E.set(C.value,0))),()=>ei(r)}));const l=a.setters;e.push(D=>(tM(g,B,a.hasProperty,(G,h)=>l[G](E,0,h,I,void 0),D),D))}function S5(g,A,I,C,B,i,Q){const e=SI([]),E=SI([]),t=[];Ne(e,t);const n=pe(C,B,i,{...ue,...ke(g.root.size),...fe(e),...de(E)}),a=SI(void 0),r=we();jE(a,r,g,n,Q,t);const l=Ge(n,r,g.root.pixelSize);ye(Q,l,t);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,r.size,g.root.pixelSize),h=lo(n),c=iB(n,mC.Panel,h,g.orderInfo);t.push(N=>RQ(n,c,h,g.root.panelGroupManager,D,r.size,void 0,r.borderInset,g.clippingRect,G,ao(),N));const y=FY(n,I,g.root.renderer,t),S=iB(void 0,mC.Text,KY(y),c),k=JY(n,A,D,a,r,G,g.clippingRect,S,y,g.root.gylphGroupManager,void 0,void 0,void 0,void 0,t);return t.push(()=>wI(()=>a.value?.setMeasureFunc(k))),Se(C,B,r.size,t),ZE(C,B,G,t),Object.assign(r,{interactionPanel:ro(c,g.root,g.clippingRect,r.size,t),handlers:Me(C,B,i,e,E),initializers:t})}const G5=eC;class hs extends QB{constructor(A){super(A),this.defaultDPI=90,this.defaultUnit="px"}load(A,I,C,B){const i=this,Q=new bB(i.manager);Q.setPath(i.path),Q.setRequestHeader(i.requestHeader),Q.setWithCredentials(i.withCredentials),Q.load(A,function(e){try{I(i.parse(e))}catch(E){B?B(E):console.error(E),i.manager.itemError(A)}},C,B)}parse(A){const I=this;function C(W,v){if(W.nodeType!==1)return;const x=k(W);let H=!1,EA=null;switch(W.nodeName){case"svg":v=D(W,v);break;case"style":i(W);break;case"g":v=D(W,v);break;case"path":v=D(W,v),W.hasAttribute("d")&&(EA=B(W));break;case"rect":v=D(W,v),EA=E(W);break;case"polygon":v=D(W,v),EA=t(W);break;case"polyline":v=D(W,v),EA=n(W);break;case"circle":v=D(W,v),EA=a(W);break;case"ellipse":v=D(W,v),EA=r(W);break;case"line":v=D(W,v),EA=l(W);break;case"defs":H=!0;break;case"use":v=D(W,v);const NA=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),Z=W.viewportElement.getElementById(NA);Z?C(Z,v):console.warn("SVGLoader: 'use node' references non-existent node id: "+NA);break}EA&&(v.fill!==void 0&&v.fill!=="none"&&EA.color.setStyle(v.fill,G5),p(EA,DA),z.push(EA),EA.userData={node:W,style:v});const UA=W.childNodes;for(let hA=0;hA0?DA.copy(X[X.length-1]):DA.identity())}function B(W){const v=new IE,x=new KA,H=new KA,EA=new KA;let UA=!0,hA=!1;const NA=W.getAttribute("d");if(NA===""||NA==="none")return null;const Z=NA.match(/[a-df-z][^a-df-z]*/ig);for(let MA=0,eA=Z.length;MA0&&(x.copy(EA),v.currentPath.currentPoint.copy(x),UA=!0);break;default:console.warn(wA)}hA=!1}return v}function i(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let v=0;vEA.trim());for(let EA=0;EAhA!==""));cA[H[EA]]=Object.assign(cA[H[EA]]||{},UA)}}}function Q(W,v,x,H,EA,UA,hA,NA){if(v==0||x==0){W.lineTo(NA.x,NA.y);return}H=H*Math.PI/180,v=Math.abs(v),x=Math.abs(x);const Z=(hA.x-NA.x)/2,MA=(hA.y-NA.y)/2,eA=Math.cos(H)*Z+Math.sin(H)*MA,wA=-Math.sin(H)*Z+Math.cos(H)*MA;let SA=v*v,bA=x*x;const QA=eA*eA,F=wA*wA,m=QA/SA+F/bA;if(m>1){const jA=Math.sqrt(m);v=jA*v,x=jA*x,SA=v*v,bA=x*x}const lA=SA*F+bA*QA,PA=(SA*bA-lA)/lA;let ZA=Math.sqrt(Math.max(0,PA));EA===UA&&(ZA=-ZA);const TA=ZA*v*wA/x,eI=-ZA*x*eA/v,BI=Math.cos(H)*TA-Math.sin(H)*eI+(hA.x+NA.x)/2,sI=Math.sin(H)*TA+Math.cos(H)*eI+(hA.y+NA.y)/2,hI=e(1,0,(eA-TA)/v,(wA-eI)/x),fI=e((eA-TA)/v,(wA-eI)/x,(-eA-TA)/v,(-wA-eI)/x)%(Math.PI*2);W.currentPath.absellipse(BI,sI,v,x,hI,hI+fI,UA===0,H)}function e(W,v,x,H){const EA=W*x+v*H,UA=Math.sqrt(W*W+v*v)*Math.sqrt(x*x+H*H);let hA=Math.acos(Math.max(-1,Math.min(1,EA/UA)));return W*H-v*x<0&&(hA=-hA),hA}function E(W){const v=S(W.getAttribute("x")||0),x=S(W.getAttribute("y")||0),H=S(W.getAttribute("rx")||W.getAttribute("ry")||0),EA=S(W.getAttribute("ry")||W.getAttribute("rx")||0),UA=S(W.getAttribute("width")),hA=S(W.getAttribute("height")),NA=1-.551915024494,Z=new IE;return Z.moveTo(v+H,x),Z.lineTo(v+UA-H,x),(H!==0||EA!==0)&&Z.bezierCurveTo(v+UA-H*NA,x,v+UA,x+EA*NA,v+UA,x+EA),Z.lineTo(v+UA,x+hA-EA),(H!==0||EA!==0)&&Z.bezierCurveTo(v+UA,x+hA-EA*NA,v+UA-H*NA,x+hA,v+UA-H,x+hA),Z.lineTo(v+H,x+hA),(H!==0||EA!==0)&&Z.bezierCurveTo(v+H*NA,x+hA,v,x+hA-EA*NA,v,x+hA-EA),Z.lineTo(v,x+EA),(H!==0||EA!==0)&&Z.bezierCurveTo(v,x+EA*NA,v+H*NA,x,v+H,x),Z}function t(W){function v(UA,hA,NA){const Z=S(hA),MA=S(NA);EA===0?H.moveTo(Z,MA):H.lineTo(Z,MA),EA++}const x=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,H=new IE;let EA=0;return W.getAttribute("points").replace(x,v),H.currentPath.autoClose=!0,H}function n(W){function v(UA,hA,NA){const Z=S(hA),MA=S(NA);EA===0?H.moveTo(Z,MA):H.lineTo(Z,MA),EA++}const x=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,H=new IE;let EA=0;return W.getAttribute("points").replace(x,v),H.currentPath.autoClose=!1,H}function a(W){const v=S(W.getAttribute("cx")||0),x=S(W.getAttribute("cy")||0),H=S(W.getAttribute("r")||0),EA=new dE;EA.absarc(v,x,H,0,Math.PI*2);const UA=new IE;return UA.subPaths.push(EA),UA}function r(W){const v=S(W.getAttribute("cx")||0),x=S(W.getAttribute("cy")||0),H=S(W.getAttribute("rx")||0),EA=S(W.getAttribute("ry")||0),UA=new dE;UA.absellipse(v,x,H,EA,0,Math.PI*2);const hA=new IE;return hA.subPaths.push(UA),hA}function l(W){const v=S(W.getAttribute("x1")||0),x=S(W.getAttribute("y1")||0),H=S(W.getAttribute("x2")||0),EA=S(W.getAttribute("y2")||0),UA=new IE;return UA.moveTo(v,x),UA.lineTo(H,EA),UA.currentPath.autoClose=!1,UA}function D(W,v){v=Object.assign({},v);let x={};if(W.hasAttribute("class")){const hA=W.getAttribute("class").split(/\s/).filter(Boolean).map(NA=>NA.trim());for(let NA=0;NA0&&v.premultiply(X[X.length-1]),DA.copy(v),X.push(v),v}function N(W){const v=new PI,x=sA;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const H=S(W.getAttribute("x")),EA=S(W.getAttribute("y"));v.translate(H,EA)}if(W.hasAttribute("transform")){const H=W.getAttribute("transform").split(")");for(let EA=H.length-1;EA>=0;EA--){const UA=H[EA].trim();if(UA==="")continue;const hA=UA.indexOf("("),NA=UA.length;if(hA>0&&hA=1){const eA=MA[0];let wA=0;MA.length>=2&&(wA=MA[1]),x.translate(eA,wA)}break;case"rotate":if(MA.length>=1){let eA=0,wA=0,SA=0;eA=MA[0]*Math.PI/180,MA.length>=3&&(wA=MA[1],SA=MA[2]),oA.makeTranslation(-wA,-SA),GA.makeRotation(eA),b.multiplyMatrices(GA,oA),oA.makeTranslation(wA,SA),x.multiplyMatrices(oA,b)}break;case"scale":if(MA.length>=1){const eA=MA[0];let wA=eA;MA.length>=2&&(wA=MA[1]),x.scale(eA,wA)}break;case"skewX":MA.length===1&&x.set(1,Math.tan(MA[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":MA.length===1&&x.set(1,0,0,Math.tan(MA[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":MA.length===6&&x.set(MA[0],MA[2],MA[4],MA[1],MA[3],MA[5],0,0,1);break}}v.premultiply(x)}}return v}function p(W,v){function x(hA){gA.set(hA.x,hA.y,1).applyMatrix3(v),hA.set(gA.x,gA.y)}function H(hA){const NA=hA.xRadius,Z=hA.yRadius,MA=Math.cos(hA.aRotation),eA=Math.sin(hA.aRotation),wA=new O(NA*MA,NA*eA,0),SA=new O(-Z*eA,Z*MA,0),bA=wA.applyMatrix3(v),QA=SA.applyMatrix3(v),F=sA.set(bA.x,QA.x,0,bA.y,QA.y,0,0,0,1),m=oA.copy(F).invert(),ZA=GA.copy(m).transpose().multiply(m).elements,TA=K(ZA[0],ZA[1],ZA[4]),eI=Math.sqrt(TA.rt1),BI=Math.sqrt(TA.rt2);if(hA.xRadius=1/eI,hA.yRadius=1/BI,hA.aRotation=Math.atan2(TA.sn,TA.cs),!((hA.aEndAngle-hA.aStartAngle)%(2*Math.PI){const{x:dI,y:EI}=new O(Math.cos(YI),Math.sin(YI),0).applyMatrix3(jA);return Math.atan2(EI,dI)};hA.aStartAngle=OI(hA.aStartAngle),hA.aEndAngle=OI(hA.aEndAngle),f(v)&&(hA.aClockwise=!hA.aClockwise)}}function EA(hA){const NA=_(v),Z=U(v);hA.xRadius*=NA,hA.yRadius*=Z;const MA=NA>Number.EPSILON?Math.atan2(v.elements[1],v.elements[0]):Math.atan2(-v.elements[3],v.elements[4]);hA.aRotation+=MA,f(v)&&(hA.aStartAngle*=-1,hA.aEndAngle*=-1,hA.aClockwise=!hA.aClockwise)}const UA=W.subPaths;for(let hA=0,NA=UA.length;hANumber.EPSILON}function _(W){const v=W.elements;return Math.sqrt(v[0]*v[0]+v[1]*v[1])}function U(W){const v=W.elements;return Math.sqrt(v[3]*v[3]+v[4]*v[4])}function K(W,v,x){let H,EA,UA,hA,NA;const Z=W+x,MA=W-x,eA=Math.sqrt(MA*MA+4*v*v);return Z>0?(H=.5*(Z+eA),NA=1/H,EA=W*NA*x-v*NA*v):Z<0?EA=.5*(Z-eA):(H=.5*eA,EA=-.5*eA),MA>0?UA=MA+eA:UA=MA-eA,Math.abs(UA)>2*Math.abs(v)?(NA=-2*v/UA,hA=1/Math.sqrt(1+NA*NA),UA=NA*hA):Math.abs(v)===0?(UA=1,hA=0):(NA=-.5*UA/v,UA=1/Math.sqrt(1+NA*NA),hA=NA*UA),MA>0&&(NA=UA,UA=-hA,hA=NA),{rt1:H,rt2:EA,cs:UA,sn:hA}}const z=[],cA={},X=[],sA=new PI,oA=new PI,GA=new PI,b=new PI,CA=new KA,gA=new O,DA=new PI,fA=new DOMParser().parseFromString(A,"image/svg+xml");return C(fA.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:z,xml:fA.documentElement}}static createShapes(A){const C={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},B={loc:C.ORIGIN,t:0};function i(G,h,c,y){const S=G.x,k=h.x,N=c.x,p=y.x,f=G.y,q=h.y,_=c.y,U=y.y,K=(p-N)*(f-_)-(U-_)*(S-N),z=(k-S)*(f-_)-(q-f)*(S-N),cA=(U-_)*(k-S)-(p-N)*(q-f),X=K/cA,sA=z/cA;if(cA===0&&K!==0||X<=0||X>=1||sA<0||sA>1)return null;if(K===0&&cA===0){for(let oA=0;oA<2;oA++)if(Q(oA===0?c:y,G,h),B.loc==C.ORIGIN){const GA=oA===0?c:y;return{x:GA.x,y:GA.y,t:B.t}}else if(B.loc==C.BETWEEN){const GA=+(S+B.t*(k-S)).toPrecision(10),b=+(f+B.t*(q-f)).toPrecision(10);return{x:GA,y:b,t:B.t}}return null}else{for(let b=0;b<2;b++)if(Q(b===0?c:y,G,h),B.loc==C.ORIGIN){const CA=b===0?c:y;return{x:CA.x,y:CA.y,t:B.t}}const oA=+(S+X*(k-S)).toPrecision(10),GA=+(f+X*(q-f)).toPrecision(10);return{x:oA,y:GA,t:X}}}function Q(G,h,c){const y=c.x-h.x,S=c.y-h.y,k=G.x-h.x,N=G.y-h.y,p=y*N-k*S;if(G.x===h.x&&G.y===h.y){B.loc=C.ORIGIN,B.t=0;return}if(G.x===c.x&&G.y===c.y){B.loc=C.DESTINATION,B.t=1;return}if(p<-Number.EPSILON){B.loc=C.LEFT;return}if(p>Number.EPSILON){B.loc=C.RIGHT;return}if(y*k<0||S*N<0){B.loc=C.BEHIND;return}if(Math.sqrt(y*y+S*S)U.t<=_.t+Number.EPSILON&&U.t>=_.t-Number.EPSILON)===void 0&&(c.push(_),y.push(new KA(_.x,_.y)))}}return y}function E(G,h,c){const y=new KA;h.getCenter(y);const S=[];return c.forEach(k=>{k.boundingBox.containsPoint(y)&&e(G,k.points).forEach(p=>{S.push({identifier:k.identifier,isCW:k.isCW,point:p})})}),S.sort((k,N)=>k.point.x-N.point.x),S}function t(G,h,c,y,S){(S==null||S==="")&&(S="nonzero");const k=new KA;G.boundingBox.getCenter(k);const N=[new KA(c,k.y),new KA(y,k.y)],p=E(N,G.boundingBox,h);p.sort((z,cA)=>z.point.x-cA.point.x);const f=[],q=[];p.forEach(z=>{z.identifier===G.identifier?f.push(z):q.push(z)});const _=f[0].point.x,U=[];let K=0;for(;K0&&U[U.length-1]===q[K].identifier?U.pop():U.push(q[K].identifier),K++;if(U.push(G.identifier),S==="evenodd"){const z=U.length%2===0,cA=U[U.length-2];return{identifier:G.identifier,isHole:z,for:cA}}else if(S==="nonzero"){let z=!0,cA=null,X=null;for(let sA=0;sA{const h=G.getPoints();let c=-999999999,y=999999999,S=-999999999,k=999999999;for(let N=0;Nc&&(c=p.y),p.yS&&(S=p.x),p.x=k&&(n=k-1),{curves:G.curves,points:h,isCW:IQ.isClockWise(h),identifier:-1,boundingBox:new uL(new KA(k,y),new KA(S,c))}});r=r.filter(G=>G.points.length>1);for(let G=0;Gt(G,r,n,a,A.userData?A.userData.style.fillRule:void 0)),D=[];return r.forEach(G=>{if(!l[G.identifier].isHole){const c=new ME;c.curves=G.curves,l.filter(S=>S.isHole&&S.for===G.identifier).forEach(S=>{const k=r[S.identifier],N=new dE;N.curves=k.curves,c.holes.push(N)}),D.push(c)}}),D}static getStrokeStyle(A,I,C,B,i){return A=A!==void 0?A:1,I=I!==void 0?I:"#000",C=C!==void 0?C:"miter",B=B!==void 0?B:"butt",i=i!==void 0?i:4,{strokeColor:I,strokeWidth:A,strokeLineJoin:C,strokeLineCap:B,strokeMiterLimit:i}}static pointsToStroke(A,I,C,B){const i=[],Q=[],e=[];if(hs.pointsToStrokeWithBuffers(A,I,C,B,i,Q,e)===0)return null;const E=new WI;return E.setAttribute("position",new yI(i,3)),E.setAttribute("normal",new yI(Q,3)),E.setAttribute("uv",new yI(e,2)),E}static pointsToStrokeWithBuffers(A,I,C,B,i,Q,e,E){const t=new KA,n=new KA,a=new KA,r=new KA,l=new KA,D=new KA,G=new KA,h=new KA,c=new KA,y=new KA,S=new KA,k=new KA,N=new KA,p=new KA,f=new KA,q=new KA,_=new KA;C=C!==void 0?C:12,B=B!==void 0?B:.001,E=E!==void 0?E:0,A=MA(A);const U=A.length;if(U<2)return 0;const K=A[0].equals(A[U-1]);let z,cA=A[0],X;const sA=I.strokeWidth/2,oA=1/(U-1);let GA=0,b,CA,gA,DA,fA=!1,VA=0,W=E*3,v=E*2;x(A[0],A[1],t).multiplyScalar(sA),h.copy(A[0]).sub(t),c.copy(A[0]).add(t),y.copy(h),S.copy(c);for(let eA=1;eANumber.EPSILON){const bA=sA/SA;a.multiplyScalar(-bA),r.subVectors(z,cA),l.copy(r).setLength(bA).add(a),q.copy(l).negate();const QA=l.length(),F=r.length();r.divideScalar(F),D.subVectors(X,z);const m=D.length();switch(D.divideScalar(m),r.dot(q)=B&&SA.push(eA[bA]);return SA.push(eA[eA.length-1]),SA}}}function y5(g,A,I,C,B,i,Q){const e=[],E=SI([]),t=SI([]);Ne(E,e);const n=SI(void 0),a=pe(I,C,B,{...ue,...ke(g.root.size),...fe(E),...de(t)},Yw,K=>K.add("aspectRatio",n)),r=SI(void 0),l=we();jE(r,l,g,a,i,e);const D=Ge(a,l,g.root.pixelSize);ye(i,D,e);const G=WE(g.childrenMatrix,D),h=PE(g.clippingRect,G,l.size,g.root.pixelSize),c=lo(a),y=iB(a,mC.Panel,c,g.orderInfo);e.push(K=>RQ(a,y,c,g.root.panelGroupManager,G,l.size,void 0,l.borderInset,g.clippingRect,h,ao(),K));const S=iB(void 0,mC.Svg,void 0,y),k=og(()=>Ji(A.value)),N=SI(void 0),p=Al(g.root,g.clippingRect,e);ZY(N,d5,e,k,g.root,p,g.clippingRect,S,n),PY(a,N,e,g.root);const f=u5(l,g.root.pixelSize,N,n,h,e),q=Kw();qw(Q,q,g.root.pixelSize,e);const _=Jw(q,G,g.root.pixelSize);Lw(a,q,l,G,h,g.clippingRect,S,g.root.panelGroupManager,e);const U=mw(q,g.anyAncestorScrollable,l,i,C,g.root.pixelSize,g.root.onFrameSet,e);return Se(I,C,l.size,e),ZE(I,C,h,e),Object.assign(l,{anyAncestorScrollable:rM(l.scrollable,g.anyAncestorScrollable),clippingRect:Fw(G,l,g.root.pixelSize,g.clippingRect),childrenMatrix:_,node:r,orderInfo:S,root:g.root,initializers:e,centerGroup:f,handlers:Me(I,C,B,E,t,U),interactionPanel:ro(S,g.root,g.clippingRect,l.size,e)})}function u5(g,A,I,C,B,i){const Q=new fi;return Q.matrixAutoUpdate=!1,i.push(()=>wI(()=>{XY(Q.position,Q.scale,g.size,g.paddingInset,g.borderInset,A.value,C.value??1),Q.updateMatrix()}),()=>wI(()=>{const e=I.value;if(e!=null)return Q.add(e),()=>Q.remove(e)}),()=>wI(()=>void(Q.visible=I.value!=null&&!B.value))),Q}const k5=new hs,SD=new oC,wt=new O;async function d5(g,A,I,C,B,i){const Q=new fi;Q.matrixAutoUpdate=!1;const e=await k5.loadAsync(g);SD.makeEmpty();for(const t of e.paths){const n=hs.createShapes(t),a=new uC;a.transparent=!0,a.depthWrite=!1,a.toneMapped=!1,a.clippingPlanes=I;for(const r of n){const l=new as(r);l.computeBoundingBox(),SD.union(l.boundingBox);const D=new rg(l,a);D.matrixAutoUpdate=!1,D.raycast=Ds(D,D.raycast,A.object,C,B),so(D,A,B),D.userData.color=t.color,D.scale.y=-1,D.updateMatrix(),Q.add(D)}}SD.getSize(wt),i.value=wt.x/wt.y;const E=1/wt.y;return Q.scale.set(1,1,1).multiplyScalar(E),SD.getCenter(wt),wt.y*=-1,Q.position.copy(wt).negate().multiplyScalar(E),Q.updateMatrix(),Q}function M5(g,A,I,C,B,i,Q,e){const E=[],t=SI([]),n=SI([]);Ne(t,E);const a=pe(B,i,Q,{...ue,...ke(g.root.size),...fe(t),...de(n)},Yw,N=>{N.add("aspectRatio",I/C),N.add("width",I),N.add("height",C)}),r=we();jE(void 0,r,g,a,e,E);const l=Ge(a,r,g.root.pixelSize);ye(e,l,E);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,r.size,g.root.pixelSize),h=lo(a),c=iB(a,mC.Panel,h,g.orderInfo);E.push(N=>RQ(a,c,h,g.root.panelGroupManager,D,r.size,void 0,r.borderInset,g.clippingRect,G,ao(),N));const y=iB(void 0,mC.Svg,void 0,c),S=Al(g.root,g.clippingRect,E),k=U5(a,A,I,C,g,y,r,G,S,E);return Se(B,i,r.size,E),ZE(B,i,G,E),Object.assign(r,{initializers:E,iconGroup:k,handlers:Me(B,i,Q,t,n),interactionPanel:ro(y,g.root,g.clippingRect,r.size,E)})}const p5=new hs;function U5(g,A,I,C,B,i,Q,e,E,t){const n=new fi;n.matrixAutoUpdate=!1;const a=p5.parse(A);for(const l of a.paths){const D=hs.createShapes(l),G=new uC;G.transparent=!0,G.depthWrite=!1,G.toneMapped=!1,G.clippingPlanes=E;for(const h of D){const c=new as(h);c.computeBoundingBox();const y=new rg(c,G);y.matrixAutoUpdate=!1,y.raycast=Ds(y,y.raycast,B.root.object,B.clippingRect,i),so(y,B.root,i),y.userData.color=l.color,y.scale.y=-1,y.updateMatrix(),n.add(y)}}const r=I/C;return t.push(()=>wI(()=>{XY(n.position,n.scale,Q.size,Q.paddingInset,Q.borderInset,B.root.pixelSize.value,r),n.position.x-=n.scale.x*r/2,n.position.y+=n.scale.x/2,n.scale.divideScalar(C),n.updateMatrix()}),()=>wI(()=>void(n.visible=!e.value))),PY(g,n,t,B.root),n}function N5(g,A,I,C,B,i){const Q=SI([]),e=SI([]),E=[];Ne(Q,E);const t=pe(A,I,C,{...ue,...ke(g.root.size),...fe(Q),...de(e)}),n=we();jE(void 0,n,g,t,B,E);const a=Ge(t,n,g.root.pixelSize);ye(B,a,E);const r=WE(g.childrenMatrix,a),l=PE(g.clippingRect,r,n.size,g.root.pixelSize),D=iB(t,mC.Custom,void 0,g.orderInfo),G=Al(g.root,g.clippingRect,E);return E.push(h=>{const c=i.current;if(c==null)return h;if(c.matrixAutoUpdate=!1,c.material instanceof nC){const y=c.material;y.clippingPlanes=G,y.needsUpdate=!0,y.shadowSide=Qi,h.push(()=>wI(()=>y.depthTest=g.root.depthTest.value))}return c.raycast=Ds(c,c.raycast,g.root.object,g.clippingRect,D),so(c,g.root,D),h.push(wI(()=>c.renderOrder=g.root.renderOrder.value),wI(()=>c.receiveShadow=t.value.read("receiveShadow",!1)),wI(()=>c.castShadow=t.value.read("castShadow",!1)),wI(()=>{if(n.size.value==null)return;const[y,S]=n.size.value,k=g.root.pixelSize.value;c.scale.set(y*k,S*k,1),c.updateMatrix()}),wI(()=>void(c.visible=!l.value))),h}),Se(A,I,n.size,E),ZE(A,I,l,E),Object.assign(n,{root:g.root,handlers:Me(A,I,C,Q,e),initializers:E})}function f5(g,A,I,C,B,i){const Q=SI([]),e=SI([]),E=[],t=we();Ne(Q,E);const n=SI(new O(1,1,1)),a=og(()=>n.value.x/n.value.y),r=pe(A,I,C,{...ue,...ke(g.root.size),...fe(Q),...de(e)},Yw,S=>S.add("aspectRatio",a));jE(void 0,t,g,r,B,E);const l=Ge(r,t,g.root.pixelSize);ye(B,l,E);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,t.size,g.root.pixelSize),h=lo(r),c=iB(r,mC.Panel,h,g.orderInfo);E.push(S=>RQ(r,c,h,g.root.panelGroupManager,D,t.size,void 0,t.borderInset,g.clippingRect,G,ao(),S));const y=iB(void 0,mC.Object,void 0,c);return Se(A,I,t.size,E),ZE(A,I,G,E),Object.assign(t,{remeasureContent:K5(r,g.root,t,g.clippingRect,y,n,i,E),interactionPanel:ro(c,g.root,g.clippingRect,t.size,E),handlers:Me(A,I,C,Q,e),initializers:E})}const iu=new oC,VR=new O().setScalar(.001),F5=new O,R5="back";function K5(g,A,I,C,B,i,Q,e){const E=Al(A,C,e),t=ig(g,"depthAlign",R5),n=ig(g,"keepAspectRatio",!0),a=new O,r=new O,l=(G,h,c)=>G?.traverse(y=>{y instanceof rg&&(y.renderOrder=h,y.material instanceof nC&&(y.material.depthTest=c))}),D=()=>{const G=Q.current;if(G==null){a.copy(VR),r.set(0,0,0);return}G.traverse(c=>{c instanceof rg&&(so(c,A,B),c.material.clippingPlanes=E,c.material.needsUpdate=!0,c.raycast=Ds(c,c.raycast,A.object,C,B))});const h=G.parent;G.parent=null,iu.setFromObject(G),iu.getSize(a).max(VR),i.value=a,h!=null&&(G.parent=h),iu.getCenter(r)};return e.push(()=>wI(()=>l(Q.current,A.renderOrder.value,A.depthTest.value)),G=>{const h=Q.current;return h==null||(D(),G.push(wI(()=>{const{size:{value:c},paddingInset:{value:y},borderInset:{value:S}}=I;if(c==null||y==null||S==null)return;const[k,N]=c,[p,f,q,_]=y,[U,K,z,cA]=S,X=p+U,sA=f+K,oA=q+z,GA=_+cA,b=k-GA-sA,CA=N-X-oA,gA=A.pixelSize.value;h.scale.set(b*gA,CA*gA,n.value?CA*gA*a.z/a.y:a.z).divide(a),h.position.copy(r).negate(),h.position.z-=q5[t.value]*a.z,h.position.multiply(h.scale),h.position.add(F5.set((GA-sA)*.5*gA,(oA-X)*.5*gA,0)),h.updateMatrix()}))),G}),()=>{l(Q.current,A.renderOrder.peek(),A.depthTest.peek()),D()}}function J5(g,A,I,C,B,i){if(B instanceof GC){const Q=2*Math.tan(Math.PI*B.fov/360)*C;I.value=Q/i,A.value=Q,g.value=Q*B.aspect}if(B instanceof he){const Q=B.top-B.bottom,e=B.right-B.left;I.value=Q/i,A.value=Q,g.value=e}}function ei(g){const A=g.length;for(let I=0;IQ){A.setScalar(p*i);return}A.setScalar(N*i/Q)}function Ji(g){return g instanceof qC?g.value:g}function gl(g){const A=new Map;return(I,C)=>{if(typeof I!="object")throw new Error(`Invalid properties "${I}"`);for(const B in I){const i=I[B];if(i===void 0)return;let Q=A.get(i);Q==null&&A.set(i,Q=og(()=>g()?Ji(i):void 0)),C.add(B,Q)}}}function lM(g,A){const I=A.map(C=>ig(g,C,0));return og(()=>I.map(C=>C.value))}function Ne(g,A){A.push(()=>()=>zY(g))}function m5(g,A,I,C,B,i){let Q=!1;fw(A,I,C,E=>{"hover"in E&&(Q=!0)});const e=A?.cursor??I?.cursor??i;if(!Q&&A?.onHoverChange==null&&I?.onHoverChange==null&&e==null){B.value.length=0;return}bt("onPointerOver",g,({nativeEvent:E})=>{B.value=[E.pointerId,...B.value],B.value.length===1&&(I?.onHoverChange?.(!0),A?.onHoverChange?.(!0)),e!=null&&L5(B,e)}),bt("onPointerOut",g,({nativeEvent:E})=>{B.value=B.value.filter(t=>t!=E.pointerId),B.value.length===0&&(I?.onHoverChange?.(!1),A?.onHoverChange?.(!1)),zY(B)})}function fe(g){return{hover:gl(()=>g.value.length>0)}}const tk=[],OD=[];function L5(g,A){tk.push(g),OD.push(A),document.body.style.cursor=A}function zY(g){const A=tk.indexOf(g);A!=-1&&(tk.splice(A,1),OD.splice(A,1),document.body.style.cursor=OD[OD.length-1]??"default")}const Y5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let XR;function H5(){return XR??=Il({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),XR}function T5(g,A,I,C,B,i,Q,e){const E=iB(void 0,mC.Panel,Rw,B),t=SI(void 0);e.push(()=>wI(()=>{const r=I.value;r==null&&(t.value=void 0),t.value=r;const l=setInterval(()=>t.value=t.peek()==null?r:void 0,500);return()=>clearInterval(l)}));const n=lM(g,Y5),a=ig(g,"caretWidth",1.5);e.push(r=>RQ(g,E,void 0,Q,A,og(()=>{const l=t.value;return l==null?[0,0]:[a.value,l[2]]}),og(()=>{const l=t.value;return l==null?[0,0]:[l[0]-a.value/2,l[1]]}),n,i,C,H5(),r))}const x5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let zR;function v5(){return zR??=Il({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),zR}function b5(g,A,I,C,B,i,Q,e){const E=[],t=iB(void 0,mC.Panel,Rw,B),n=lM(g,x5);return e.push(()=>wI(()=>{const a=I.value,r=a.length;for(let D=0;D()=>{const a=E.length;for(let r=0;rg.value)}}const _5=new Set;function Z5(g){_5.add(g)}function P5(g,A,I,C,B,i,Q,e,E){const t=SI([]),n=SI([]),a=SI(!1),r=[];Ne(t,r);const l=pe(i,Q,e,{...ue,...ke(g.root.size),...fe(t),...de(n),...O5(a)},void 0,GA=>{fw(i.value,Q.value,e.value,b=>{GA.add("caretOpacity",b.opacity),GA.add("caretColor",b.color)})}),D=we(),G=SI(void 0);jE(G,D,g,l,E,r);const h=Ge(l,D,g.root.pixelSize);ye(E,h,r);const c=WE(g.childrenMatrix,h),y=PE(g.clippingRect,c,D.size,g.root.pixelSize),S=lo(l),k=iB(l,mC.Panel,S,g.orderInfo);r.push(GA=>RQ(l,k,S,g.root.panelGroupManager,c,D.size,void 0,D.borderInset,g.clippingRect,y,ao(),GA));const N={},p=SI([]),f=SI(void 0),q=SI(void 0);T5(l,c,f,y,k,g.clippingRect,g.root.panelGroupManager,r);const _=b5(l,c,p,y,k,g.clippingRect,g.root.panelGroupManager,r),U=FY(l,B,g.root.renderer,r),K=iB(void 0,mC.Text,KY(U),_),z=JY(l,A,c,G,D,y,g.clippingRect,K,U,g.root.gylphGroupManager,q,p,f,N,r);r.push(()=>wI(()=>G.value?.setMeasureFunc(z))),Se(i,Q,D.size,r),ZE(i,Q,y,r);const cA=ig(l,"disabled",!1),X=j5(A,q,I,C,cA,r),sA=()=>{a.peek()||X.peek()?.focus()};V5(X,a,r);const oA=W5(D,X,N,q,sA,cA);return Object.assign(D,{focus:sA,root:g.root,element:X,node:G,interactionPanel:ro(k,g.root,g.clippingRect,D.size,r),handlers:Me(i,Q,e,t,n,oA,"text"),initializers:r})}function W5(g,A,I,C,B,i){return og(()=>{if(i.value)return;let Q;return{onPointerDown:e=>{if(e.defaultPrevented||e.uv==null||I.current==null)return;Z5(e.nativeEvent),e.stopPropagation?.();const E=$R(g,e.uv,I.current);Q=E,setTimeout(()=>{B(),C.value=[E,E],A.peek()?.setSelectionRange(E,E)})},onPointerUp:e=>{Q=void 0},onPointerLeave:e=>{Q=void 0},onPointerMove:e=>{if(Q==null||e.uv==null||I.current==null)return;e.stopPropagation?.();const E=$R(g,e.uv,I.current),t=Math.min(Q,E),n=Math.max(Q,E),a=Q{B(),C.value=[t,n],A.peek()?.setSelectionRange(t,n,a)})}}})}function j5(g,A,I,C,B,i){const Q=SI(void 0);return i.push(e=>{const E=document.createElement(C?"textarea":"input"),t=E.style;t.setProperty("position","absolute"),t.setProperty("left","-1000vw"),t.setProperty("pointerEvents","none"),t.setProperty("opacity","0"),E.addEventListener("input",()=>{I?.(E.value),n()});const n=()=>{const{selectionStart:a,selectionEnd:r}=E;if(a==null||r==null){A.value=void 0;return}const l=A.peek();l!=null&&l[0]===a&&l[1]===r||(A.value=[a,r])};return E.addEventListener("keydown",n),E.addEventListener("keyup",n),E.addEventListener("blur",()=>A.value=void 0),document.body.appendChild(E),Q.value=E,e.push(()=>{Q.value=void 0,E.remove()},wI(()=>E.value=g.value),wI(()=>E.disabled=B.value)),e}),Q}function V5(g,A,I){I.push(()=>wI(()=>{const C=g.value;if(C==null)return;const B=()=>A.value=document.activeElement===C;return B(),C.addEventListener("focus",B),C.addEventListener("blur",B),()=>{C.removeEventListener("focus",B),C.removeEventListener("blur",B)}}))}function $R({size:g,borderInset:A,paddingInset:I},C,B){const i=g.peek(),Q=A.peek(),e=I.peek();if(i==null||Q==null||e==null)return 0;const[E,t]=i,[n,,,a]=Q,[r,,,l]=e,D=C.x*E-a-l,G=-C.y*t+n+r;return B.getCharIndex(D,G)}new KA;const ok=j.createContext(void 0);function X5(){return j.useContext(ok)}function Hw(g){const I={...j.useContext(ok)};for(const C in g){if(C==="children")continue;const B=g[C];B!=null&&(I[C]=B)}return HA.jsx(ok.Provider,{value:I,children:g.children})}const AK=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Fe=j.forwardRef(({handlers:g,userHandlers:A,children:I},C)=>{const[B,i]=j.useState(()=>g.value);j.useEffect(()=>wI(()=>{const e=g.value,E=void setTimeout(()=>i(e),0);return()=>clearTimeout(E)}),[g]);const Q=j.useMemo(()=>{const e={...B},E=AK.length;for(let t=0;t({style:SI(void 0),properties:SI(void 0),default:SI(void 0)}),[]);return A.properties.value=g,A.default.value=X5(),A}function Ke(g,A,I,C,B,i){j.useImperativeHandle(g,()=>{const{scrollPosition:Q,paddingInset:e,borderInset:E,relativeCenter:t,size:n,maxScrollPosition:a}=C;return{setStyle:r=>I.value=r,pixelSize:A,borderInset:E,paddingInset:e,center:t,maxScrollPosition:a,size:n,interactionPanel:B instanceof rg?B:B.current,scrollPosition:Q,...i}},[C,A,B,i,I])}const pC=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>s5(I,i.style,i.properties,i.default,C,B),[I,i]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[I,i,Q]),Ke(A,I.root.pixelSize,i.style,Q,Q.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:[HA.jsx("primitive",{object:Q.interactionPanel}),HA.jsx("object3D",{ref:B,children:HA.jsx(cs,{value:Q,children:g.children})})]})}),$Y=j.forwardRef((g,A)=>{const I=wB(n=>n.gl);I.setTransparentSort(P8);const C=ls(),B=j.useRef(null),i=j.useRef(null),Q=j.useMemo(()=>SI(void 0),[]);Q.value=g.pixelSize;const e=Re(g),E=j.useMemo(()=>new Set,[]),t=j.useMemo(()=>Q5(og(()=>Ji(Q.value)??i5),e.style,e.properties,e.default,B,i,()=>C.getState().camera,I,E),[]);return j.useEffect(()=>{const n=[];return Ue(t.initializers,n),()=>ei(n)},[t]),OB((n,a)=>{for(const r of E)r(a)}),Ke(A,t.root.pixelSize,e.style,t,t.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:t.handlers,ref:B,children:[HA.jsx("primitive",{object:t.interactionPanel}),HA.jsx("object3D",{ref:i,children:HA.jsx(cs,{value:t,children:g.children})})]})}),Tw=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>SI(void 0),[]);Q.value=g.src;const e=j.useMemo(()=>r5(I,Q,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,i.style,e,e.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:e.handlers,children:[HA.jsx("primitive",{object:e.interactionPanel}),HA.jsx("object3D",{ref:B,children:HA.jsx(cs,{value:e,children:g.children})})]})}),lQ=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>SI(void 0),[]);i.value=g.children;const Q=j.useMemo(()=>SI(void 0),[]);Q.value=aY();const e=j.useMemo(()=>S5(I,i,Q,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,B.style,e,e.interactionPanel),HA.jsx(Fe,{userHandlers:g,handlers:e.handlers,ref:C,children:HA.jsx("primitive",{object:e.interactionPanel})})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>SI(""),[]);Q.value=g.src;const e=j.useMemo(()=>y5(I,Q,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,i.style,e,e.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:e.handlers,children:[HA.jsx("primitive",{object:e.interactionPanel}),HA.jsx("primitive",{object:e.centerGroup}),HA.jsx("object3D",{ref:B,children:HA.jsx(cs,{value:e,children:g.children})})]})});const AH=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>M5(I,g.text,g.svgWidth,g.svgHeight,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const Q=[];return Ue(i.initializers,Q),()=>ei(Q)},[i]),Ke(A,I.root.pixelSize,B.style,i,i.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:i.handlers,children:[HA.jsx("primitive",{object:i.interactionPanel}),HA.jsx("primitive",{object:i.iconGroup})]})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>SI(""),[]),Q=j.useRef(g.value!=null);i.value=(Q.current?g.value:g.defaultValue)??"";const e=j.useMemo(()=>og(()=>Ji(i.value)),[i]),E=j.useMemo(()=>SI(void 0),[]);E.value=aY();const t=j.useMemo(()=>P5(I,e,n=>{Q.current||(i.value=n),B.style.peek()?.onValueChange?.(n),B.properties.peek()?.onValueChange?.(n)},g.multiline??!1,E,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const n=[];return Ue(t.initializers,n),()=>ei(n)},[t]),j.useEffect(()=>wI(()=>{t.element.value!=null&&(t.element.value.tabIndex=g.tabIndex??0)}),[t,g.tabIndex]),Ke(A,I.root.pixelSize,B.style,t,t.interactionPanel,j.useMemo(()=>({focus:t.focus,current:e}),[t.focus,e])),HA.jsx(Fe,{userHandlers:g,handlers:t.handlers,ref:C,children:HA.jsx("primitive",{object:t.interactionPanel})})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>N5(I,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[Q]),Ke(A,I.root.pixelSize,i.style,Q,B),HA.jsx(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:HA.jsx(cs,{value:void 0,children:HA.jsx("mesh",{ref:B,matrixAutoUpdate:!1,geometry:aM,customDepthMaterial:g.customDepthMaterial,customDistanceMaterial:g.customDistanceMaterial,children:g.children})})})});const z5=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>f5(I,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[Q]),Ke(A,I.root.pixelSize,i.style,Q,Q.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:[HA.jsx("primitive",{object:Q.interactionPanel}),HA.jsx("object3D",{matrixAutoUpdate:!1,ref:B,children:HA.jsx(cs,{value:void 0,children:g.children})})]})}),$5=j.forwardRef((g,A)=>{const I=ls(),[C,B,i]=j.useMemo(()=>[SI(1),SI(1),SI(1)],[]),Q=wB(t=>t.camera),e=g.distanceToCamera??Q.near+.01;j.useEffect(()=>{const t=({camera:n,size:{height:a}})=>lY(()=>J5(C,B,i,e,n,a));return t(I.getState()),I.subscribe(t)},[i,C,B,I,e]);const E=g.attachCamera??!0;return HA.jsxs(HA.Fragment,{children:[E&&HA.jsx("primitive",{object:Q}),pw(HA.jsx("group",{"position-z":-e,children:HA.jsx($Y,{ref:A,...g,sizeX:C,sizeY:B,pixelSize:i,children:g.children})}),Q)]})});j.forwardRef(({src:g,...A},I)=>{const C=no(jr,g);return C.colorSpace=eC,C.matrixAutoUpdate=!1,HA.jsx(Tw,{ref:I,src:C,...A})});j.forwardRef(({children:g,resolution:A=1,frames:I=1/0,renderPriority:C=0,eventPriority:B=0,...i},Q)=>{const e=j.useMemo(()=>new SC(1,1,{minFilter:hg,magFilter:hg,type:gB}),[]),E=j.useRef(null),t=j.useMemo(()=>({events:{compute:AV.bind(null,E),priority:B},size:{width:1,height:1,left:0,top:0}}),[B]);j.useEffect(()=>{if(E.current==null)return;const{size:a}=E.current,r=wI(()=>{if(a.value==null)return;const[l,D]=a.value;e.setSize(l,D),t.size.width=l,t.size.height=D});return()=>{r(),e.dispose()}},[e,t]),j.useImperativeHandle(Q,()=>E.current,[]);const n=j.useMemo(()=>new Xt,[]);return HA.jsxs(HA.Fragment,{children:[pw(HA.jsxs(IV,{imageRef:E,renderPriority:C,frames:I,fbo:e,children:[g,HA.jsx("group",{onPointerOver:()=>null})]}),n,t),HA.jsx(Tw,{src:e.texture,fit:"fill",keepAspectRatio:!1,...i,ref:E})]})});function AV({current:g},A,I,C){if(g==null||C==null)return!1;C.raycaster.camera||C.events.compute?.(A,C,C.previousRoot?.getState());const[B]=C.raycaster.intersectObject(g.interactionPanel);if(!B)return!1;const i=B.uv;if(!i)return!1;I.raycaster.setFromCamera(I.pointer.set(i.x*2-1,i.y*2-1),I.camera)}function IV({frames:g,renderPriority:A,children:I,fbo:C,imageRef:B}){const i=ls();j.useEffect(()=>{if(B.current==null)return;const{size:t}=B.current;return wI(()=>{if(t.value==null)return;const[n,a]=t.value;i.setState({size:{width:n,height:a,top:0,left:0}})})});let Q=0,e,E;return OB(t=>{(g===1/0||Q{const I=j.useMemo(()=>SI(void 0),[]),C=j.useMemo(()=>SI(1),[]),B=j.useMemo(()=>document.createElement("video"),[]);return j.useEffect(()=>{if(g.autoplay)return B.style.position="absolute",B.style.width="1px",B.style.zIndex="-1000",B.style.top="0px",B.style.left="0px",document.body.append(B),()=>B.remove()},[g.autoplay,B]),B.playsInline=!0,B.volume=g.volume??1,B.preservesPitch=g.preservesPitch??!0,B.playbackRate=g.playbackRate??1,B.muted=g.muted??!1,B.loop=g.loop??!1,B.autoplay=g.autoplay??!1,j.useEffect(()=>{typeof g.src=="string"?B.src=g.src:B.srcObject=g.src;const i=()=>C.value=B.videoWidth/B.videoHeight;return i(),B.addEventListener("resize",i),()=>B.removeEventListener("resize",i)},[C,g.src,B]),j.useEffect(()=>{const i=new Hm(B);return I.value=i,()=>i.dispose()},[I,B]),j.useImperativeHandle(A,()=>B,[B]),HA.jsx(Tw,{aspectRatio:C,...g,src:I})});const gV='',CV=j.forwardRef((g,A)=>HA.jsx(AH,{...g,ref:A,text:gV,svgWidth:24,svgHeight:24})),BV='',iV=j.forwardRef((g,A)=>HA.jsx(AH,{...g,ref:A,text:BV,svgWidth:24,svgHeight:24}));function Qg(g,A,I){return new tI().setHSL(g/360,A/100,I/100,"srgb")}const Vg=sj({light:{background:Qg(0,0,100),foreground:Qg(222.2,84,4.9),card:Qg(0,0,100),cardForeground:Qg(222.2,84,4.9),popover:Qg(0,0,100),popoverForeground:Qg(222.2,84,4.9),primary:Qg(222.2,47.4,11.2),primaryForeground:Qg(210,40,98),secondary:Qg(210,40,96.1),secondaryForeground:Qg(222.2,47.4,11.2),muted:Qg(210,40,96.1),mutedForeground:Qg(215.4,16.3,46.9),accent:Qg(210,40,96.1),accentForeground:Qg(222.2,47.4,11.2),destructive:Qg(0,72.22,50.59),destructiveForeground:Qg(210,40,98),border:Qg(214.3,31.8,91.4),input:Qg(214.3,31.8,91.4),ring:Qg(222.2,84,4.9)},dark:{background:Qg(222.2,84,4.9),foreground:Qg(210,40,98),card:Qg(222.2,84,4.9),cardForeground:Qg(210,40,98),popover:Qg(222.2,84,4.9),popoverForeground:Qg(210,40,98),primary:Qg(210,40,98),primaryForeground:Qg(222.2,47.4,11.2),secondary:Qg(217.2,32.6,17.5),secondaryForeground:Qg(210,40,98),muted:Qg(217.2,32.6,17.5),mutedForeground:Qg(215,20.2,65.1),accent:Qg(217.2,32.6,17.5),accentForeground:Qg(210,40,98),destructive:Qg(0,62.8,30.6),destructiveForeground:Qg(210,40,98),border:Qg(217.2,32.6,17.5),input:Qg(217.2,32.6,17.5),ring:Qg(212.7,26.8,83.9)}});function IH(g){return HA.jsx(Hw,{scrollbarColor:Vg.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Vg.border,color:Vg.foreground,...g})}function Qu(g){return HA.jsx(Tw,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...g})}const QV={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Vg.primary},defaultProps:{color:Vg.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Vg.destructive},defaultProps:{color:Vg.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Vg.accent},containerProps:{border:1,borderColor:Vg.input,backgroundColor:Vg.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Vg.secondary},defaultProps:{color:Vg.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Vg.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Vg.primary}}},eV={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function gH({children:g,variant:A="default",size:I="default",disabled:C=!1,hover:B,...i}){const{containerProps:Q,defaultProps:e,containerHoverProps:E}=QV[A],t=eV[I];return HA.jsx(pC,{borderRadius:6,alignItems:"center",justifyContent:"center",...Q,...t,borderOpacity:C?.5:void 0,backgroundOpacity:C?.5:void 0,cursor:C?void 0:"pointer",flexDirection:"row",hover:{...E,...B},...i,children:HA.jsx(Hw,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...e,opacity:C?.5:void 0,children:g})})}function EV(g){return HA.jsx(pC,{padding:24,flexDirection:"column",gap:6,...g})}function tV({children:g}){return HA.jsx(Hw,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:g})}function oV({children:g}){return HA.jsx(Hw,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:g})}function nV(g){return HA.jsx(pC,{padding:24,paddingTop:0,...g})}function sV(g){return HA.jsx(pC,{flexDirection:"row",alignItems:"center",padding:24,paddingTop:0,...g})}function aV({defaultChecked:g,checked:A,disabled:I=!1,onCheckedChange:C,...B}){const[i,Q]=j.useState(g??!1),e=A??i;return HA.jsx(pC,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:I?.5:void 0,borderRadius:1e3,backgroundColor:e?Vg.primary:Vg.input,cursor:I?void 0:"pointer",onClick:I?void 0:()=>{A==null&&Q(!e),C?.(!e)},...B,children:HA.jsx(pC,{width:20,height:20,borderRadius:1e3,transformTranslateX:e?20:0,backgroundColor:Vg.background})})}let M;const Dg=new Array(128).fill(void 0);Dg.push(void 0,null,!0,!1);let ba=Dg.length;function wC(g){ba===Dg.length&&Dg.push(Dg.length+1);const A=ba;return ba=Dg[A],Dg[A]=g,A}function Ng(g){return Dg[g]}function dr(g){const A=Ng(g);return function(I){I<132||(Dg[I]=ba,ba=I)}(g),A}function NI(g){return g==null}let ya=null;function Mr(){return ya!==null&&ya.byteLength!==0||(ya=new Float64Array(M.memory.buffer)),ya}let ua=null;function ZI(){return ua!==null&&ua.byteLength!==0||(ua=new Int32Array(M.memory.buffer)),ua}const CH=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&CH.decode();let ka=null;function BH(g,A){return g>>>=0,CH.decode((ka!==null&&ka.byteLength!==0||(ka=new Uint8Array(M.memory.buffer)),ka).subarray(g,g+A))}function nA(g,A){if(!(g instanceof A))throw new Error(`expected instance of ${A.name}`);return g.ptr}let da=null;function Tg(){return da!==null&&da.byteLength!==0||(da=new Float32Array(M.memory.buffer)),da}let qg=128;function Pg(g){if(qg==1)throw new Error("out of js stack");return Dg[--qg]=g,qg}function IK(g,A){return g>>>=0,Tg().subarray(g/4,g/4+A)}let Ma=null;function iH(){return Ma!==null&&Ma.byteLength!==0||(Ma=new Uint32Array(M.memory.buffer)),Ma}let XB=0;function St(g,A){const I=A(4*g.length,4)>>>0;return Tg().set(g,I/4),XB=g.length,I}function GD(g,A){const I=A(4*g.length,4)>>>0;return iH().set(g,I/4),XB=g.length,I}function eu(g,A){try{return g.apply(this,A)}catch(I){M.__wbindgen_exn_store(wC(I))}}const XC=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"}),xw=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"}),ji=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 $t{static __wrap(A){A>>>=0;const I=Object.create($t.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 nk{__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}}class QH{__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 dA.__wrap(A)}translationDeltaRemaining(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const A=M.rawcharactercollision_worldWitness1(this.__wbg_ptr);return dA.__wrap(A)}worldWitness2(){const A=M.rawcharactercollision_worldWitness2(this.__wbg_ptr);return dA.__wrap(A)}worldNormal1(){const A=M.rawcharactercollision_worldNormal1(this.__wbg_ptr);return dA.__wrap(A)}worldNormal2(){const A=M.rawcharactercollision_worldNormal2(this.__wbg_ptr);return dA.__wrap(A)}}class Xg{static __wrap(A){A>>>=0;const I=Object.create(Xg.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 dA.__wrap(I)}coRotation(A){const I=M.rawcolliderset_coRotation(this.__wbg_ptr,A);return eg.__wrap(I)}coSetTranslation(A,I,C,B){M.rawcolliderset_coSetTranslation(this.__wbg_ptr,A,I,C,B)}coSetTranslationWrtParent(A,I,C,B){M.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,A,I,C,B)}coSetRotation(A,I,C,B,i){M.rawcolliderset_coSetRotation(this.__wbg_ptr,A,I,C,B,i)}coSetRotationWrtParent(A,I,C,B,i){M.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,A,I,C,B,i)}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:dA.__wrap(I)}coHalfExtents(A){const I=M.rawcolliderset_coHalfExtents(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}coSetHalfExtents(A,I){nA(I,dA),M.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,A,I.__wbg_ptr)}coRadius(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRadius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHalfHeight(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRoundRadius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coVertices(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=IK(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coIndices(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coIndices(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=function(Q,e){return Q>>>=0,iH().subarray(Q/4,Q/4+e)}(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldHeights(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldHeights(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=IK(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(A){const I=M.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}coHeightfieldNRows(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNRows(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldNCols(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNCols(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coParent(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coParent(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Mr()[B/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}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 nA(I,dA),M.rawcolliderset_coContainsPoint(this.__wbg_ptr,A,I.__wbg_ptr)!==0}coCastShape(A,I,C,B,i,Q,e,E){nA(I,dA),nA(C,TI),nA(B,dA),nA(i,eg),nA(Q,dA);const t=M.rawcolliderset_coCastShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,E);return t===0?void 0:Zw.__wrap(t)}coCastCollider(A,I,C,B,i,Q){nA(I,dA),nA(B,dA);const e=M.rawcolliderset_coCastCollider(this.__wbg_ptr,A,I.__wbg_ptr,C,B.__wbg_ptr,i,Q);return e===0?void 0:_w.__wrap(e)}coIntersectsShape(A,I,C,B){return nA(I,TI),nA(C,dA),nA(B,eg),M.rawcolliderset_coIntersectsShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr)!==0}coContactShape(A,I,C,B,i){nA(I,TI),nA(C,dA),nA(B,eg);const Q=M.rawcolliderset_coContactShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i);return Q===0?void 0:pr.__wrap(Q)}coContactCollider(A,I,C){const B=M.rawcolliderset_coContactCollider(this.__wbg_ptr,A,I,C);return B===0?void 0:pr.__wrap(B)}coProjectPoint(A,I,C){nA(I,dA);const B=M.rawcolliderset_coProjectPoint(this.__wbg_ptr,A,I.__wbg_ptr,C);return vw.__wrap(B)}coIntersectsRay(A,I,C,B){return nA(I,dA),nA(C,dA),M.rawcolliderset_coIntersectsRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)!==0}coCastRay(A,I,C,B,i){return nA(I,dA),nA(C,dA),M.rawcolliderset_coCastRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i)}coCastRayAndGetNormal(A,I,C,B,i){nA(I,dA),nA(C,dA);const Q=M.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i);return Q===0?void 0:Ow.__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){nA(I,TI),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,B,i){nA(C,dA),nA(B,dA),nA(i,eg),M.rawcolliderset_coSetMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__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,B,i,Q,e,E,t,n,a,r,l,D,G,h,c,y,S,k,N,p,f,q){try{const K=M.__wbindgen_add_to_stack_pointer(-16);nA(I,TI),nA(C,dA),nA(B,eg),nA(e,dA),nA(E,dA),nA(t,eg),nA(q,iC),M.rawcolliderset_createCollider(K,this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e.__wbg_ptr,E.__wbg_ptr,t.__wbg_ptr,n,a,r,l,D,G,h,c,y,S,k,N,p,f,q.__wbg_ptr);var _=ZI()[K/4+0],U=Mr()[K/8+1];return _===0?void 0:U}finally{M.__wbindgen_add_to_stack_pointer(16)}}remove(A,I,C,B){nA(I,se),nA(C,iC),M.rawcolliderset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}isHandleValid(A){return M.rawcolliderset_contains(this.__wbg_ptr,A)!==0}forEachColliderHandle(A){try{M.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,Pg(A))}finally{Dg[qg++]=void 0}}}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();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 dA.__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 dA.__wrap(A)}max_force_magnitude(){return M.rawcontactforceevent_max_force_magnitude(this.__wbg_ptr)}}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();M.__wbg_rawcontactmanifold_free(A)}normal(){const A=M.rawcontactmanifold_normal(this.__wbg_ptr);return dA.__wrap(A)}local_n1(){const A=M.rawcontactmanifold_local_n1(this.__wbg_ptr);return dA.__wrap(A)}local_n2(){const A=M.rawcontactmanifold_local_n2(this.__wbg_ptr);return dA.__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:dA.__wrap(I)}contact_local_p2(A){const I=M.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,A);return I===0?void 0:dA.__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:dA.__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 dA.__wrap(I)}}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();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:DM.__wrap(I)}}class rV{__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 dr(M.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return dr(M.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(A,I,C,B,i){nA(A,iC),nA(I,Xg),nA(C,ne),nA(B,ae),nA(i,mE),M.rawdebugrenderpipeline_render(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr)}}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();M.__wbg_rawdeserializedworld_free(A)}takeGravity(){const A=M.rawdeserializedworld_takeGravity(this.__wbg_ptr);return A===0?void 0:dA.__wrap(A)}takeIntegrationParameters(){const A=M.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return A===0?void 0:Ao.__wrap(A)}takeIslandManager(){const A=M.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return A===0?void 0:se.__wrap(A)}takeBroadPhase(){const A=M.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return A===0?void 0:$t.__wrap(A)}takeNarrowPhase(){const A=M.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return A===0?void 0:mE.__wrap(A)}takeBodies(){const A=M.rawdeserializedworld_takeBodies(this.__wbg_ptr);return A===0?void 0:iC.__wrap(A)}takeColliders(){const A=M.rawdeserializedworld_takeColliders(this.__wbg_ptr);return A===0?void 0:Xg.__wrap(A)}takeImpulseJoints(){const A=M.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return A===0?void 0:ne.__wrap(A)}takeMultibodyJoints(){const A=M.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return A===0?void 0:ae.__wrap(A)}}class lV{__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,B,i){nA(A,dA),nA(I,dA),nA(C,dA),M.rawdynamicraycastvehiclecontroller_add_wheel(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i)}num_wheels(){return M.rawdynamicraycastvehiclecontroller_num_wheels(this.__wbg_ptr)>>>0}update_vehicle(A,I,C,B,i,Q,e){try{nA(I,iC),nA(C,Xg),nA(B,SM),M.rawdynamicraycastvehiclecontroller_update_vehicle(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,!NI(Q),NI(Q)?0:Q,Pg(e))}finally{Dg[qg++]=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:dA.__wrap(I)}set_wheel_chassis_connection_point_cs(A,I){nA(I,dA),M.rawdynamicraycastvehiclecontroller_set_wheel_chassis_connection_point_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_suspension_rest_length(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_rest_length(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_travel(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_radius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_stiffness(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_compression(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_relaxation(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_brake(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_steering(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_engine_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__wrap(I)}set_wheel_direction_cs(A,I){nA(I,dA),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:dA.__wrap(I)}set_wheel_axle_cs(A,I){nA(I,dA),M.rawdynamicraycastvehiclecontroller_set_wheel_axle_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_friction_slip(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_friction_slip(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_friction_stiffness(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_rotation(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_forward_impulse(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_forward_impulse(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_side_impulse(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_impulse(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_suspension_force(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__wrap(I)}wheel_contact_point_ws(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_contact_point_ws(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}wheel_suspension_length(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_length(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_ground_object(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Mr()[B/8+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class eH{__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,Pg(A))}finally{Dg[qg++]=void 0}}drainContactForceEvents(A){try{M.raweventqueue_drainContactForceEvents(this.__wbg_ptr,Pg(A))}finally{Dg[qg++]=void 0}}clear(){M.raweventqueue_clear(this.__wbg_ptr)}}class _C{static __wrap(A){A>>>=0;const I=Object.create(_C.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,B){nA(A,dA),nA(I,dA),nA(C,dA);const i=M.rawgenericjoint_generic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return i===0?void 0:_C.__wrap(i)}static spring(A,I,C,B,i){nA(B,dA),nA(i,dA);const Q=M.rawgenericjoint_spring(A,I,C,B.__wbg_ptr,i.__wbg_ptr);return _C.__wrap(Q)}static rope(A,I,C){nA(I,dA),nA(C,dA);const B=M.rawgenericjoint_rope(A,I.__wbg_ptr,C.__wbg_ptr);return _C.__wrap(B)}static spherical(A,I){nA(A,dA),nA(I,dA);const C=M.rawgenericjoint_spherical(A.__wbg_ptr,I.__wbg_ptr);return _C.__wrap(C)}static prismatic(A,I,C,B,i,Q){nA(A,dA),nA(I,dA),nA(C,dA);const e=M.rawgenericjoint_prismatic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,Q);return e===0?void 0:_C.__wrap(e)}static fixed(A,I,C,B){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,eg);const i=M.rawgenericjoint_fixed(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr);return _C.__wrap(i)}static revolute(A,I,C){nA(A,dA),nA(I,dA),nA(C,dA);const B=M.rawgenericjoint_revolute(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return B===0?void 0:_C.__wrap(B)}}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_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 eg.__wrap(I)}jointFrameX2(A){const I=M.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,A);return eg.__wrap(I)}jointAnchor1(A){const I=M.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,A);return dA.__wrap(I)}jointAnchor2(A){const I=M.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,A);return dA.__wrap(I)}jointSetAnchor1(A,I){nA(I,dA),M.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,A,I.__wbg_ptr)}jointSetAnchor2(A,I){nA(I,dA),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,B){M.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorModel(A,I,C){M.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,A,I,C)}jointConfigureMotorVelocity(A,I,C,B){M.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorPosition(A,I,C,B,i){M.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,A,I,C,B,i)}jointConfigureMotor(A,I,C,B,i,Q){M.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,A,I,C,B,i,Q)}constructor(){const A=M.rawimpulsejointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,B){return nA(A,_C),M.rawimpulsejointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}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,Pg(A))}finally{Dg[qg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,Pg(I))}finally{Dg[qg++]=void 0}}}class Ao{static __wrap(A){A>>>=0;const I=Object.create(Ao.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 allowedLinearError(){return M.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}get predictionDistance(){return M.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}get numSolverIterations(){return M.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numAdditionalFrictionIterations(){return M.rawintegrationparameters_numAdditionalFrictionIterations(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return M.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr)>>>0}get minIslandSize(){return M.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return M.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}set dt(A){M.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}set erp(A){M.rawintegrationparameters_set_erp(this.__wbg_ptr,A)}set allowedLinearError(A){M.rawintegrationparameters_set_allowedLinearError(this.__wbg_ptr,A)}set predictionDistance(A){M.rawintegrationparameters_set_predictionDistance(this.__wbg_ptr,A)}set numSolverIterations(A){M.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,A)}set numAdditionalFrictionIterations(A){M.rawintegrationparameters_set_numAdditionalFrictionIterations(this.__wbg_ptr,A)}set numInternalPgsIterations(A){M.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr,A)}set minIslandSize(A){M.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}set maxCcdSubsteps(A){M.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}switchToStandardPgsSolver(){M.rawintegrationparameters_switchToStandardPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolver(){M.rawintegrationparameters_switchToSmallStepsPgsSolver(this.__wbg_ptr)}}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_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,Pg(A))}finally{Dg[qg++]=void 0}}}class cV{__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 dA.__wrap(A)}setUp(A){nA(A,dA),M.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,A.__wbg_ptr)}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=ZI()[C/4+0],I=Tg()[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=ZI()[C/4+0],I=Tg()[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=ZI()[C/4+0],I=Tg()[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,B,i,Q,e,E,t,n,a){try{nA(I,iC),nA(C,Xg),nA(B,SM),nA(Q,dA),M.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q.__wbg_ptr,e,!NI(E),NI(E)?0:E,t,!NI(n),NI(n)?0:n,Pg(a))}finally{Dg[qg++]=void 0}}computedMovement(){const A=M.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return dA.__wrap(A)}computedGrounded(){return M.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)!==0}numComputedCollisions(){return M.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(A,I){return nA(I,QH),M.rawkinematiccharactercontroller_computedCollision(this.__wbg_ptr,A,I.__wbg_ptr)!==0}}class ae{static __wrap(A){A>>>=0;const I=Object.create(ae.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 eg.__wrap(I)}jointFrameX2(A){const I=M.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,A);return eg.__wrap(I)}jointAnchor1(A){const I=M.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,A);return dA.__wrap(I)}jointAnchor2(A){const I=M.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,A);return dA.__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,B){return nA(A,_C),M.rawmultibodyjointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}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,Pg(A))}finally{Dg[qg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,Pg(I))}finally{Dg[qg++]=void 0}}}class mE{static __wrap(A){A>>>=0;const I=Object.create(mE.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,wC(I))}contact_pair(A,I){const C=M.rawnarrowphase_contact_pair(this.__wbg_ptr,A,I);return C===0?void 0:hM.__wrap(C)}intersection_pairs_with(A,I){M.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,A,wC(I))}intersection_pair(A,I){return M.rawnarrowphase_intersection_pair(this.__wbg_ptr,A,I)!==0}}class DV{__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,B,i,Q,e,E,t,n){nA(A,dA),nA(I,Ao),nA(C,se),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,ae),nA(n,nk),M.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,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr)}stepWithEvents(A,I,C,B,i,Q,e,E,t,n,a,r,l,D){nA(A,dA),nA(I,Ao),nA(C,se),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,ae),nA(n,nk),nA(a,eH),M.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,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr,wC(r),wC(l),wC(D))}}class dh{static __wrap(A){A>>>=0;const I=Object.create(dh.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 dA.__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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class vw{static __wrap(A){A>>>=0;const I=Object.create(vw.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 dA.__wrap(A)}isInside(){return M.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();M.__wbg_rawquerypipeline_free(A)}constructor(){const A=M.rawquerypipeline_new();return this.__wbg_ptr=A>>>0,this}update(A,I){nA(A,iC),nA(I,Xg),M.rawquerypipeline_update(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr)}castRay(A,I,C,B,i,Q,e,E,t,n,a){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA);const r=M.rawquerypipeline_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!NI(E),NI(E)?0:E,!NI(t),NI(t)?0:t,!NI(n),NI(n)?0:n,Pg(a));return r===0?void 0:GM.__wrap(r)}finally{Dg[qg++]=void 0}}castRayAndGetNormal(A,I,C,B,i,Q,e,E,t,n,a){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA);const r=M.rawquerypipeline_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!NI(E),NI(E)?0:E,!NI(t),NI(t)?0:t,!NI(n),NI(n)?0:n,Pg(a));return r===0?void 0:bw.__wrap(r)}finally{Dg[qg++]=void 0}}intersectionsWithRay(A,I,C,B,i,Q,e,E,t,n,a,r){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA),M.rawquerypipeline_intersectionsWithRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,Pg(e),E,!NI(t),NI(t)?0:t,!NI(n),NI(n)?0:n,!NI(a),NI(a)?0:a,Pg(r))}finally{Dg[qg++]=void 0,Dg[qg++]=void 0}}intersectionWithShape(A,I,C,B,i,Q,e,E,t,n){try{const l=M.__wbindgen_add_to_stack_pointer(-16);nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,TI),M.rawquerypipeline_intersectionWithShape(l,this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q,!NI(e),NI(e)?0:e,!NI(E),NI(E)?0:E,!NI(t),NI(t)?0:t,Pg(n));var a=ZI()[l/4+0],r=Mr()[l/8+1];return a===0?void 0:r}finally{M.__wbindgen_add_to_stack_pointer(16),Dg[qg++]=void 0}}projectPoint(A,I,C,B,i,Q,e,E,t){try{nA(A,iC),nA(I,Xg),nA(C,dA);const n=M.rawquerypipeline_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,!NI(Q),NI(Q)?0:Q,!NI(e),NI(e)?0:e,!NI(E),NI(E)?0:E,Pg(t));return n===0?void 0:dh.__wrap(n)}finally{Dg[qg++]=void 0}}projectPointAndGetFeature(A,I,C,B,i,Q,e,E){try{nA(A,iC),nA(I,Xg),nA(C,dA);const t=M.rawquerypipeline_projectPointAndGetFeature(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,!NI(i),NI(i)?0:i,!NI(Q),NI(Q)?0:Q,!NI(e),NI(e)?0:e,Pg(E));return t===0?void 0:dh.__wrap(t)}finally{Dg[qg++]=void 0}}intersectionsWithPoint(A,I,C,B,i,Q,e,E,t){try{nA(A,iC),nA(I,Xg),nA(C,dA),M.rawquerypipeline_intersectionsWithPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,Pg(B),i,!NI(Q),NI(Q)?0:Q,!NI(e),NI(e)?0:e,!NI(E),NI(E)?0:E,Pg(t))}finally{Dg[qg++]=void 0,Dg[qg++]=void 0}}castShape(A,I,C,B,i,Q,e,E,t,n,a,r,l){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,dA),nA(Q,TI);const D=M.rawquerypipeline_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,E,t,!NI(n),NI(n)?0:n,!NI(a),NI(a)?0:a,!NI(r),NI(r)?0:r,Pg(l));return D===0?void 0:_w.__wrap(D)}finally{Dg[qg++]=void 0}}intersectionsWithShape(A,I,C,B,i,Q,e,E,t,n,a){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,TI),M.rawquerypipeline_intersectionsWithShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Pg(Q),e,!NI(E),NI(E)?0:E,!NI(t),NI(t)?0:t,!NI(n),NI(n)?0:n,Pg(a))}finally{Dg[qg++]=void 0,Dg[qg++]=void 0}}collidersWithAabbIntersectingAabb(A,I,C){try{nA(A,dA),nA(I,dA),M.rawquerypipeline_collidersWithAabbIntersectingAabb(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,Pg(C))}finally{Dg[qg++]=void 0}}}class bw{static __wrap(A){A>>>=0;const I=Object.create(bw.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.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawraycolliderintersection_toi(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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class GM{static __wrap(A){A>>>=0;const I=Object.create(GM.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_rawraycollidertoi_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}toi(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}}class Ow{static __wrap(A){A>>>=0;const I=Object.create(Ow.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.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawraycolliderintersection_toi(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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class iC{static __wrap(A){A>>>=0;const I=Object.create(iC.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 dA.__wrap(I)}rbRotation(A){const I=M.rawrigidbodyset_rbRotation(this.__wbg_ptr,A);return eg.__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 dA.__wrap(I)}rbNextRotation(A){const I=M.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,A);return eg.__wrap(I)}rbSetTranslation(A,I,C,B,i){M.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,A,I,C,B,i)}rbSetRotation(A,I,C,B,i,Q){M.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,A,I,C,B,i,Q)}rbSetLinvel(A,I,C){nA(I,dA),M.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetAngvel(A,I,C){nA(I,dA),M.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetNextKinematicTranslation(A,I,C,B){M.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,A,I,C,B)}rbSetNextKinematicRotation(A,I,C,B,i){M.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,A,I,C,B,i)}rbRecomputeMassPropertiesFromColliders(A,I){nA(I,Xg),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,B,i,Q){nA(C,dA),nA(B,dA),nA(i,eg),M.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q)}rbLinvel(A){const I=M.rawrigidbodyset_rbLinvel(this.__wbg_ptr,A);return dA.__wrap(I)}rbAngvel(A){const I=M.rawrigidbodyset_rbAngvel(this.__wbg_ptr,A);return dA.__wrap(I)}rbLockTranslations(A,I,C){M.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,A,I,C)}rbSetEnabledTranslations(A,I,C,B,i){M.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,A,I,C,B,i)}rbLockRotations(A,I,C){M.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,A,I,C)}rbSetEnabledRotations(A,I,C,B,i){M.rawrigidbodyset_rbSetEnabledRotations(this.__wbg_ptr,A,I,C,B,i)}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)}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 dA.__wrap(I)}rbLocalCom(A){const I=M.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,A);return dA.__wrap(I)}rbWorldCom(A){const I=M.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,A);return dA.__wrap(I)}rbInvPrincipalInertiaSqrt(A){const I=M.rawrigidbodyset_rbInvPrincipalInertiaSqrt(this.__wbg_ptr,A);return dA.__wrap(I)}rbPrincipalInertiaLocalFrame(A){const I=M.rawrigidbodyset_rbPrincipalInertiaLocalFrame(this.__wbg_ptr,A);return eg.__wrap(I)}rbPrincipalInertia(A){const I=M.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,A);return dA.__wrap(I)}rbEffectiveWorldInvInertiaSqrt(A){const I=M.rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt(this.__wbg_ptr,A);return Mh.__wrap(I)}rbEffectiveAngularInertia(A){const I=M.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,A);return Mh.__wrap(I)}rbWakeUp(A){M.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,A)}rbIsCcdEnabled(A){return M.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,A)!==0}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){nA(I,dA),M.rawrigidbodyset_rbAddForce(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyImpulse(A,I,C){nA(I,dA),M.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddTorque(A,I,C){nA(I,dA),M.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyTorqueImpulse(A,I,C){nA(I,dA),M.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddForceAtPoint(A,I,C,B){nA(I,dA),nA(C,dA),M.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}rbApplyImpulseAtPoint(A,I,C,B){nA(I,dA),nA(C,dA),M.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}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,B,i,Q,e,E,t,n,a,r,l,D,G,h,c,y,S,k,N,p,f,q,_){return nA(I,dA),nA(C,eg),nA(e,dA),nA(E,dA),nA(t,dA),nA(n,dA),nA(a,eg),M.rawrigidbodyset_createRigidBody(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i,Q,e.__wbg_ptr,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,a.__wbg_ptr,r,l,D,G,h,c,y,S,k,N,p,f,q,_)}remove(A,I,C,B,i){nA(I,se),nA(C,Xg),nA(B,ne),nA(i,ae),M.rawrigidbodyset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__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,Pg(A))}finally{Dg[qg++]=void 0}}propagateModifiedBodyPositionsToColliders(A){nA(A,Xg),M.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,A.__wbg_ptr)}}class eg{static __wrap(A){A>>>=0;const I=Object.create(eg.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,B){const i=M.rawrotation_new(A,I,C,B);return this.__wbg_ptr=i>>>0,this}static identity(){const A=M.rawrotation_identity();return eg.__wrap(A)}get x(){return M.rawrotation_x(this.__wbg_ptr)}get y(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}get z(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}get w(){return M.rawintegrationparameters_erp(this.__wbg_ptr)}}class Mh{static __wrap(A){A>>>=0;const I=Object.create(Mh.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 dr(M.rawsdpmatrix3_elements(this.__wbg_ptr))}}class hV{__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,B,i,Q,e,E,t){return nA(A,dA),nA(I,Ao),nA(C,se),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,ae),dr(M.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,E.__wbg_ptr,t.__wbg_ptr))}deserializeAll(A){const I=M.rawserializationpipeline_deserializeAll(this.__wbg_ptr,wC(A));return I===0?void 0:wM.__wrap(I)}}class TI{static __wrap(A){A>>>=0;const I=Object.create(TI.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 B=M.rawshape_cuboid(A,I,C);return TI.__wrap(B)}static roundCuboid(A,I,C,B){const i=M.rawshape_roundCuboid(A,I,C,B);return TI.__wrap(i)}static ball(A){const I=M.rawshape_ball(A);return TI.__wrap(I)}static halfspace(A){nA(A,dA);const I=M.rawshape_halfspace(A.__wbg_ptr);return TI.__wrap(I)}static capsule(A,I){const C=M.rawshape_capsule(A,I);return TI.__wrap(C)}static cylinder(A,I){const C=M.rawshape_cylinder(A,I);return TI.__wrap(C)}static roundCylinder(A,I,C){const B=M.rawshape_roundCylinder(A,I,C);return TI.__wrap(B)}static cone(A,I){const C=M.rawshape_cone(A,I);return TI.__wrap(C)}static roundCone(A,I,C){const B=M.rawshape_roundCone(A,I,C);return TI.__wrap(B)}static polyline(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_polyline(C,B,i,Q);return TI.__wrap(e)}static trimesh(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_trimesh(C,B,i,Q);return TI.__wrap(e)}static heightfield(A,I,C,B){const i=St(C,M.__wbindgen_malloc),Q=XB;nA(B,dA);const e=M.rawshape_heightfield(A,I,i,Q,B.__wbg_ptr);return TI.__wrap(e)}static segment(A,I){nA(A,dA),nA(I,dA);const C=M.rawshape_segment(A.__wbg_ptr,I.__wbg_ptr);return TI.__wrap(C)}static triangle(A,I,C){nA(A,dA),nA(I,dA),nA(C,dA);const B=M.rawshape_triangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return TI.__wrap(B)}static roundTriangle(A,I,C,B){nA(A,dA),nA(I,dA),nA(C,dA);const i=M.rawshape_roundTriangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return TI.__wrap(i)}static convexHull(A){const I=St(A,M.__wbindgen_malloc),C=XB,B=M.rawshape_convexHull(I,C);return B===0?void 0:TI.__wrap(B)}static roundConvexHull(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=M.rawshape_roundConvexHull(C,B,I);return i===0?void 0:TI.__wrap(i)}static convexMesh(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_convexMesh(C,B,i,Q);return e===0?void 0:TI.__wrap(e)}static roundConvexMesh(A,I,C){const B=St(A,M.__wbindgen_malloc),i=XB,Q=GD(I,M.__wbindgen_malloc),e=XB,E=M.rawshape_roundConvexMesh(B,i,Q,e,C);return E===0?void 0:TI.__wrap(E)}castShape(A,I,C,B,i,Q,e,E,t){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,TI),nA(i,dA),nA(Q,eg),nA(e,dA);const n=M.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,E,t);return n===0?void 0:Zw.__wrap(n)}intersectsShape(A,I,C,B,i){return nA(A,dA),nA(I,eg),nA(C,TI),nA(B,dA),nA(i,eg),M.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){nA(A,dA),nA(I,eg),nA(C,TI),nA(B,dA),nA(i,eg);const e=M.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:pr.__wrap(e)}containsPoint(A,I,C){return nA(A,dA),nA(I,eg),nA(C,dA),M.rawshape_containsPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr)!==0}projectPoint(A,I,C,B){nA(A,dA),nA(I,eg),nA(C,dA);const i=M.rawshape_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return vw.__wrap(i)}intersectsRay(A,I,C,B,i){return nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA),M.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 nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA),M.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){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA);const e=M.rawshape_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q);return e===0?void 0:Ow.__wrap(e)}}class _w{static __wrap(A){A>>>=0;const I=Object.create(_w.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_rawshapecollidertoi_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}toi(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}witness1(){const A=M.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}witness2(){const A=M.rawshapecollidertoi_witness2(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return dA.__wrap(A)}}class pr{static __wrap(A){A>>>=0;const I=Object.create(pr.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 dA.__wrap(A)}point2(){const A=M.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawshapecollidertoi_witness2(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return dA.__wrap(A)}}class Zw{static __wrap(A){A>>>=0;const I=Object.create(Zw.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_rawshapetoi_free(A)}toi(){return M.rawrotation_x(this.__wbg_ptr)}witness1(){const A=M.rawshapetoi_witness1(this.__wbg_ptr);return dA.__wrap(A)}witness2(){const A=M.rawcontactforceevent_total_force(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawshapetoi_normal1(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawshapetoi_normal2(this.__wbg_ptr);return dA.__wrap(A)}}class dA{static __wrap(A){A>>>=0;const I=Object.create(dA.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 dA.__wrap(A)}constructor(A,I,C){const B=M.rawvector_new(A,I,C);return this.__wbg_ptr=B>>>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.rawraycolliderintersection_toi(this.__wbg_ptr)}set z(A){M.rawvector_set_z(this.__wbg_ptr,A)}xyz(){const A=M.rawvector_xyz(this.__wbg_ptr);return dA.__wrap(A)}yxz(){const A=M.rawvector_yxz(this.__wbg_ptr);return dA.__wrap(A)}zxy(){const A=M.rawvector_zxy(this.__wbg_ptr);return dA.__wrap(A)}xzy(){const A=M.rawvector_xzy(this.__wbg_ptr);return dA.__wrap(A)}yzx(){const A=M.rawvector_yzx(this.__wbg_ptr);return dA.__wrap(A)}zyx(){const A=M.rawvector_zyx(this.__wbg_ptr);return dA.__wrap(A)}}async function EH(g){if(M!==void 0)return M;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 wC(i)},B.wbg.__wbindgen_boolean_get=function(i){const Q=Ng(i);return typeof Q=="boolean"?Q?1:0:2},B.wbg.__wbindgen_object_drop_ref=function(i){dr(i)},B.wbg.__wbindgen_number_get=function(i,Q){const e=Ng(Q),E=typeof e=="number"?e:void 0;Mr()[i/8+1]=NI(E)?0:E,ZI()[i/4+0]=!NI(E)},B.wbg.__wbindgen_is_function=function(i){return typeof Ng(i)=="function"},B.wbg.__wbg_rawraycolliderintersection_new=function(i){return wC(bw.__wrap(i))},B.wbg.__wbg_rawcontactforceevent_new=function(i){return wC(cM.__wrap(i))},B.wbg.__wbg_call_01734de55d61e11d=function(){return eu(function(i,Q,e){return wC(Ng(i).call(Ng(Q),Ng(e)))},arguments)},B.wbg.__wbg_call_4c92f6aec1e1d6e6=function(){return eu(function(i,Q,e,E){return wC(Ng(i).call(Ng(Q),Ng(e),Ng(E)))},arguments)},B.wbg.__wbg_call_776890ca77946e2f=function(){return eu(function(i,Q,e,E,t){return wC(Ng(i).call(Ng(Q),Ng(e),Ng(E),Ng(t)))},arguments)},B.wbg.__wbg_bind_60a9a80cada2f33c=function(i,Q,e,E){return wC(Ng(i).bind(Ng(Q),Ng(e),Ng(E)))},B.wbg.__wbg_buffer_085ec1f694018c4f=function(i){return wC(Ng(i).buffer)},B.wbg.__wbg_newwithbyteoffsetandlength_6da8e527659b86aa=function(i,Q,e){return wC(new Uint8Array(Ng(i),Q>>>0,e>>>0))},B.wbg.__wbg_new_8125e318e6245eed=function(i){return wC(new Uint8Array(Ng(i)))},B.wbg.__wbg_set_5cf90238115182c3=function(i,Q,e){Ng(i).set(Ng(Q),e>>>0)},B.wbg.__wbg_length_72e2208bbc0efc61=function(i){return Ng(i).length},B.wbg.__wbg_newwithbyteoffsetandlength_69193e31c844b792=function(i,Q,e){return wC(new Float32Array(Ng(i),Q>>>0,e>>>0))},B.wbg.__wbg_set_6146c51d49a2c0df=function(i,Q,e){Ng(i).set(Ng(Q),e>>>0)},B.wbg.__wbg_length_d7327c75a759af37=function(i){return Ng(i).length},B.wbg.__wbg_newwithlength_68d29ab115d0099c=function(i){return wC(new Float32Array(i>>>0))},B.wbg.__wbindgen_throw=function(i,Q){throw new Error(BH(i,Q))},B.wbg.__wbindgen_memory=function(){return wC(M.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 M=B.exports,EH.__wbindgen_wasm_module=i,da=null,ya=null,ua=null,Ma=null,ka=null,M}(I,C)}class Tn{constructor(A,I,C){this.x=A,this.y=I,this.z=C}}class uA{static new(A,I,C){return new Tn(A,I,C)}static intoRaw(A){return new dA(A.x,A.y,A.z)}static zeros(){return uA.new(0,0,0)}static fromRaw(A){if(!A)return null;let I=uA.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 ph{constructor(A,I,C,B){this.x=A,this.y=I,this.z=C,this.w=B}}class gg{static identity(){return new ph(0,0,0,1)}static fromRaw(A){if(!A)return null;let I=new ph(A.x,A.y,A.z,A.w);return A.free(),I}static intoRaw(A){return new eg(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 yM{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 Uh{static fromRaw(A){const I=new yM(A.elements());return A.free(),I}}var ui,bC,Nh,fh,Cs,Io,lC,Fh,Ce,Ur,Rh,Nr,sE;(function(g){g[g.Dynamic=0]="Dynamic",g[g.Fixed=1]="Fixed",g[g.KinematicPositionBased=2]="KinematicPositionBased",g[g.KinematicVelocityBased=3]="KinematicVelocityBased"})(ui||(ui={}));class Kh{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)}translation(){let A=this.rawSet.rbTranslation(this.handle);return uA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return gg.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return uA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return gg.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,A.z,I)}setLinvel(A,I){let C=uA.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=uA.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 uA.fromRaw(this.rawSet.rbLinvel(this.handle))}angvel(){return uA.fromRaw(this.rawSet.rbAngvel(this.handle))}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return uA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return uA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return uA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertiaSqrt(){return uA.fromRaw(this.rawSet.rbInvPrincipalInertiaSqrt(this.handle))}principalInertia(){return uA.fromRaw(this.rawSet.rbPrincipalInertia(this.handle))}principalInertiaLocalFrame(){return gg.fromRaw(this.rawSet.rbPrincipalInertiaLocalFrame(this.handle))}effectiveWorldInvInertiaSqrt(){return Uh.fromRaw(this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle))}effectiveAngularInertia(){return Uh.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=uA.intoRaw(I),e=uA.intoRaw(C),E=gg.intoRaw(B);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,e,E,i),Q.free(),e.free(),E.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=uA.intoRaw(A);this.rawSet.rbAddForce(this.handle,C,I),C.free()}applyImpulse(A,I){const C=uA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,C,I),C.free()}addTorque(A,I){const C=uA.intoRaw(A);this.rawSet.rbAddTorque(this.handle,C,I),C.free()}applyTorqueImpulse(A,I){const C=uA.intoRaw(A);this.rawSet.rbApplyTorqueImpulse(this.handle,C,I),C.free()}addForceAtPoint(A,I,C){const B=uA.intoRaw(A),i=uA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,B,i,C),B.free(),i.free()}applyImpulseAtPoint(A,I,C){const B=uA.intoRaw(A),i=uA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,B,i,C),B.free(),i.free()}}class ki{constructor(A){this.enabled=!0,this.status=A,this.translation=uA.zeros(),this.rotation=gg.identity(),this.gravityScale=1,this.linvel=uA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=uA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=uA.zeros(),this.principalAngularInertia=uA.zeros(),this.angularInertiaLocalFrame=gg.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.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new ki(ui.Dynamic)}static kinematicPositionBased(){return new ki(ui.KinematicPositionBased)}static kinematicVelocityBased(){return new ki(ui.KinematicVelocityBased)}static fixed(){return new ki(ui.Fixed)}static newDynamic(){return new ki(ui.Dynamic)}static newKinematicPositionBased(){return new ki(ui.KinematicPositionBased)}static newKinematicVelocityBased(){return new ki(ui.KinematicVelocityBased)}static newStatic(){return new ki(ui.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 gg.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 uA.copy(this.angvel,A),this}setAdditionalMassProperties(A,I,C,B){return this.mass=A,uA.copy(this.centerOfMass,I),uA.copy(this.principalAngularInertia,C),gg.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}setUserData(A){return this.userData=A,this}}class Pw{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 uM{constructor(A){this.raw=A||new iC,this.map=new Pw,A&&A.forEachRigidBodyHandle(I=>{this.map.set(I,new Kh(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=uA.intoRaw(I.translation),B=gg.intoRaw(I.rotation),i=uA.intoRaw(I.linvel),Q=uA.intoRaw(I.centerOfMass),e=uA.intoRaw(I.angvel),E=uA.intoRaw(I.principalAngularInertia),t=gg.intoRaw(I.angularInertiaLocalFrame),n=this.raw.createRigidBody(I.enabled,C,B,I.gravityScale,I.mass,I.massOnly,Q,i,e,E,t,I.translationsEnabledX,I.translationsEnabledY,I.translationsEnabledZ,I.rotationsEnabledX,I.rotationsEnabledY,I.rotationsEnabledZ,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);C.free(),B.free(),i.free(),Q.free(),e.free(),E.free(),t.free();const a=new Kh(this.raw,A,n);return a.userData=I.userData,this.map.set(n,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 kM{constructor(A){this.raw=A||new Ao}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get erp(){return this.raw.erp}get allowedLinearError(){return this.raw.allowedLinearError}get predictionDistance(){return this.raw.predictionDistance}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 allowedLinearError(A){this.raw.allowedLinearError=A}set predictionDistance(A){this.raw.predictionDistance=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()}}(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"})(bC||(bC={})),function(g){g[g.AccelerationBased=0]="AccelerationBased",g[g.ForceBased=1]="ForceBased"}(Nh||(Nh={})),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"}(fh||(fh={}));class qi{constructor(A,I,C){this.rawSet=A,this.bodySet=I,this.handle=C}static newTyped(A,I,C){switch(A.jointType(C)){case ji.Revolute:return new NM(A,I,C);case ji.Prismatic:return new UM(A,I,C);case ji.Fixed:return new dM(A,I,C);case ji.Spring:return new pM(A,I,C);case ji.Rope:return new MM(A,I,C);case ji.Spherical:return new FM(A,I,C);case ji.Generic:return new fM(A,I,C);default:return new qi(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 gg.fromRaw(this.rawSet.jointFrameX1(this.handle))}frameX2(){return gg.fromRaw(this.rawSet.jointFrameX2(this.handle))}anchor1(){return uA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return uA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=uA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=uA.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 Ww extends qi{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 dM extends qi{}class MM extends qi{}class pM extends qi{}class UM extends Ww{rawAxis(){return xw.X}}class NM extends Ww{rawAxis(){return xw.AngX}}class fM extends qi{}class FM extends qi{}class hQ{constructor(){}static fixed(A,I,C,B){let i=new hQ;return i.anchor1=A,i.anchor2=C,i.frame1=I,i.frame2=B,i.jointType=bC.Fixed,i}static spring(A,I,C,B,i){let Q=new hQ;return Q.anchor1=B,Q.anchor2=i,Q.length=A,Q.stiffness=I,Q.damping=C,Q.jointType=bC.Spring,Q}static rope(A,I,C){let B=new hQ;return B.anchor1=I,B.anchor2=C,B.length=A,B.jointType=bC.Rope,B}static generic(A,I,C,B){let i=new hQ;return i.anchor1=A,i.anchor2=I,i.axis=C,i.axesMask=B,i.jointType=bC.Generic,i}static spherical(A,I){let C=new hQ;return C.anchor1=A,C.anchor2=I,C.jointType=bC.Spherical,C}static prismatic(A,I,C){let B=new hQ;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=bC.Prismatic,B}static revolute(A,I,C){let B=new hQ;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=bC.Revolute,B}intoRaw(){let A,I,C=uA.intoRaw(this.anchor1),B=uA.intoRaw(this.anchor2),i=!1,Q=0,e=0;switch(this.jointType){case bC.Fixed:let E=gg.intoRaw(this.frame1),t=gg.intoRaw(this.frame2);I=_C.fixed(C,E,B,t),E.free(),t.free();break;case bC.Spring:I=_C.spring(this.length,this.stiffness,this.damping,C,B);break;case bC.Rope:I=_C.rope(this.length,C,B);break;case bC.Prismatic:A=uA.intoRaw(this.axis),this.limitsEnabled&&(i=!0,Q=this.limits[0],e=this.limits[1]),I=_C.prismatic(C,B,A,i,Q,e),A.free();break;case bC.Generic:A=uA.intoRaw(this.axis);let n=this.axesMask;I=_C.generic(C,B,A,n);break;case bC.Spherical:I=_C.spherical(C,B);break;case bC.Revolute:A=uA.intoRaw(this.axis),I=_C.revolute(C,B,A),A.free()}return C.free(),B.free(),I}}class RM{constructor(A){this.raw=A||new ne,this.map=new Pw,A&&A.forEachJointHandle(I=>{this.map.set(I,qi.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 E=qi.newTyped(this.raw,A,e);return this.map.set(e,E),E}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 re{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case ji.Revolute:return new qM(A,I);case ji.Prismatic:return new JM(A,I);case ji.Fixed:return new KM(A,I);case ji.Spherical:return new mM(A,I);default:return new re(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 jw extends re{}class KM extends re{}class JM extends jw{rawAxis(){return xw.X}}class qM extends jw{rawAxis(){return xw.AngX}}class mM extends re{}class LM{constructor(A){this.raw=A||new ae,this.map=new Pw,A&&A.forEachJointHandle(I=>{this.map.set(I,re.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=re.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"})(Cs||(Cs={}));class YM{constructor(A){this.raw=A||new nk}free(){this.raw&&this.raw.free(),this.raw=void 0}}class HM{constructor(A){this.raw=A||new se}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}class TM{constructor(A){this.raw=A||new $t}free(){this.raw&&this.raw.free(),this.raw=void 0}}class xM{constructor(A){this.raw=A||new mE,this.tempManifold=new vM(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(is.fromRaw(I,D)),e,E,t,n,a),r.free(),l.free()}intersectionWithShape(A,I,C,B,i,Q,e,E,t,n){let a=uA.intoRaw(C),r=gg.intoRaw(B),l=i.intoRaw(),D=this.raw.intersectionWithShape(A.raw,I.raw,a,r,l,Q,e,E,t,n);return a.free(),r.free(),l.free(),D}projectPoint(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(C),a=Bs.fromRaw(I,this.raw.projectPoint(A.raw,I.raw,n,B,i,Q,e,E,t));return n.free(),a}projectPointAndGetFeature(A,I,C,B,i,Q,e,E){let t=uA.intoRaw(C),n=Bs.fromRaw(I,this.raw.projectPointAndGetFeature(A.raw,I.raw,t,B,i,Q,e,E));return t.free(),n}intersectionsWithPoint(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,n,B,i,Q,e,E,t),n.free()}castShape(A,I,C,B,i,Q,e,E,t,n,a,r,l){let D=uA.intoRaw(C),G=gg.intoRaw(B),h=uA.intoRaw(i),c=Q.intoRaw(),y=Gs.fromRaw(I,this.raw.castShape(A.raw,I.raw,D,G,h,c,e,E,t,n,a,r,l));return D.free(),G.free(),h.free(),c.free(),y}intersectionsWithShape(A,I,C,B,i,Q,e,E,t,n,a){let r=uA.intoRaw(C),l=gg.intoRaw(B),D=i.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,r,l,D,Q,e,E,t,n,a),r.free(),l.free(),D.free()}collidersWithAabbIntersectingAabb(A,I,C){let B=uA.intoRaw(A),i=uA.intoRaw(I);this.raw.collidersWithAabbIntersectingAabb(B,i,C),B.free(),i.free()}}class Jh{constructor(A){this.raw=A||new hV}free(){this.raw&&this.raw.free(),this.raw=void 0}serializeAll(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(A);const a=this.raw.serializeAll(n,I.raw,C.raw,B.raw,i.raw,Q.raw,e.raw,E.raw,t.raw);return n.free(),a}deserializeAll(A){return Bl.fromRaw(this.raw.deserializeAll(A))}}class ZM{constructor(A,I){this.vertices=A,this.colors=I}}class PM{constructor(A){this.raw=A||new rV}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 jM{constructor(A,I,C,B,i){this.params=I,this.bodies=C,this.colliders=B,this.queries=i,this.raw=new cV(A),this.rawCharacterCollision=new QH,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=uA.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)}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=uA.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 uA.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=uA.fromRaw(C.translationDeltaApplied()),I.translationDeltaRemaining=uA.fromRaw(C.translationDeltaRemaining()),I.toi=C.toi(),I.witness1=uA.fromRaw(C.worldWitness1()),I.witness2=uA.fromRaw(C.worldWitness2()),I.normal1=uA.fromRaw(C.worldNormal1()),I.normal2=uA.fromRaw(C.worldNormal2()),I.collider=this.colliders.get(C.handle()),I}return null}}class VM{constructor(A,I,C,B){this.raw=new lV(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=uA.intoRaw(A),e=uA.intoRaw(I),E=uA.intoRaw(C);this.raw.add_wheel(Q,e,E,B,i),Q.free(),e.free(),E.free()}numWheels(){return this.raw.num_wheels()}wheelChassisConnectionPointCs(A){return uA.fromRaw(this.raw.wheel_chassis_connection_point_cs(A))}setWheelChassisConnectionPointCs(A,I){let C=uA.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 uA.fromRaw(this.raw.wheel_direction_cs(A))}setWheelDirectionCs(A,I){let C=uA.intoRaw(I);this.raw.set_wheel_direction_cs(A,C),C.free()}wheelAxleCs(A){return uA.fromRaw(this.raw.wheel_axle_cs(A))}setWheelAxleCs(A,I){let C=uA.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 uA.fromRaw(this.raw.wheel_contact_normal_ws(A))}wheelContactPoint(A){return uA.fromRaw(this.raw.wheel_contact_point_ws(A))}wheelSuspensionLength(A){return this.raw.wheel_suspension_length(A)}wheelHardPoint(A){return uA.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 Bl{constructor(A,I,C,B,i,Q,e,E,t,n,a,r,l,D){this.gravity=A,this.integrationParameters=new kM(I),this.islands=new HM(C),this.broadPhase=new TM(B),this.narrowPhase=new xM(i),this.bodies=new uM(Q),this.colliders=new $M(e),this.impulseJoints=new RM(E),this.multibodyJoints=new LM(t),this.ccdSolver=new YM(n),this.queryPipeline=new _M(a),this.physicsPipeline=new OM(r),this.serializationPipeline=new Jh(l),this.debugRenderPipeline=new PM(D),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 Bl(uA.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 Jh().deserializeAll(A)}debugRender(){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase),new ZM(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 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()}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new jM(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 VM(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,E){return this.queryPipeline.castRay(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E))}castRayAndGetNormal(A,I,C,B,i,Q,e,E){return this.queryPipeline.castRayAndGetNormal(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E))}intersectionsWithRay(A,I,C,B,i,Q,e,E,t){this.queryPipeline.intersectionsWithRay(this.bodies,this.colliders,A,I,C,B,i,Q,e?e.handle:null,E?E.handle:null,this.colliders.castClosure(t))}intersectionWithShape(A,I,C,B,i,Q,e,E){let t=this.queryPipeline.intersectionWithShape(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E));return t!=null?this.colliders.get(t):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,E,t,n,a){return this.queryPipeline.castShape(this.bodies,this.colliders,A,I,C,B,i,Q,e,E,t?t.handle:null,n?n.handle:null,this.colliders.castClosure(a))}intersectionsWithShape(A,I,C,B,i,Q,e,E,t){this.queryPipeline.intersectionsWithShape(this.bodies,this.colliders,A,I,C,this.colliders.castClosure(B),i,Q,e?e.handle:null,E?E.handle:null,this.colliders.castClosure(t))}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"})(Ce||(Ce={}));class XM{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return uA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return uA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class zM{constructor(A,I){this.raw=I||new eH(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"})(Ur||(Ur={})),function(g){g[g.EMPTY=0]="EMPTY",g[g.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE"}(Rh||(Rh={})),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"}(Nr||(Nr={}));class qh{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=kC.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return uA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}rotation(){return gg.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)}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=uA.intoRaw(I),Q=uA.intoRaw(C),e=gg.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 uA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=uA.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 uA.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=uA.intoRaw(A),C=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),C}projectPoint(A,I){let C=uA.intoRaw(A),B=ws.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,C,I));return C.free(),B}intersectsRay(A,I){let C=uA.intoRaw(A.origin),B=uA.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){let E=uA.intoRaw(A),t=uA.intoRaw(C),n=gg.intoRaw(B),a=uA.intoRaw(i),r=I.intoRaw(),l=co.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,E,r,t,n,a,Q,e));return E.free(),t.free(),n.free(),a.free(),r.free(),l}castCollider(A,I,C,B,i){let Q=uA.intoRaw(A),e=uA.intoRaw(C),E=Gs.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,Q,I.handle,e,B,i));return Q.free(),e.free(),E}intersectsShape(A,I,C){let B=uA.intoRaw(I),i=gg.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=uA.intoRaw(I),Q=gg.intoRaw(C),e=A.intoRaw(),E=go.fromRaw(this.colliderSet.raw.coContactShape(this.handle,e,i,Q,B));return i.free(),Q.free(),e.free(),E}contactCollider(A,I){return go.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,C){let B=uA.intoRaw(A.origin),i=uA.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=uA.intoRaw(A.origin),i=uA.intoRaw(A.dir),Q=Ss.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"})(sE||(sE={}));class BC{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=sE.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=gg.identity(),this.translation=uA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=Cs.Average,this.restitutionCombineRule=Cs.Average,this.activeCollisionTypes=Nr.DEFAULT,this.activeEvents=Ce.NONE,this.activeHooks=Ur.NONE,this.mass=0,this.centerOfMass=uA.zeros(),this.contactForceEventThreshold=0,this.principalAngularInertia=uA.zeros(),this.angularInertiaLocalFrame=gg.identity()}static ball(A){const I=new Vw(A);return new BC(I)}static capsule(A,I){const C=new $w(A,I);return new BC(C)}static segment(A,I){const C=new AS(A,I);return new BC(C)}static triangle(A,I,C){const B=new IS(A,I,C);return new BC(B)}static roundTriangle(A,I,C,B){const i=new gS(A,I,C,B);return new BC(i)}static polyline(A,I){const C=new CS(A,I);return new BC(C)}static trimesh(A,I){const C=new BS(A,I);return new BC(C)}static cuboid(A,I,C){const B=new Xw(A,I,C);return new BC(B)}static roundCuboid(A,I,C,B){const i=new zw(A,I,C,B);return new BC(i)}static heightfield(A,I,C,B){const i=new iS(A,I,C,B);return new BC(i)}static cylinder(A,I){const C=new QS(A,I);return new BC(C)}static roundCylinder(A,I,C){const B=new eS(A,I,C);return new BC(B)}static cone(A,I){const C=new ES(A,I);return new BC(C)}static roundCone(A,I,C){const B=new tS(A,I,C);return new BC(B)}static convexHull(A){const I=new fr(A,null);return new BC(I)}static convexMesh(A,I){const C=new fr(A,I);return new BC(C)}static roundConvexHull(A,I){const C=new Fr(A,null,I);return new BC(C)}static roundConvexMesh(A,I,C){const B=new Fr(A,I,C);return new BC(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 gg.copy(this.rotation,A),this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setDensity(A){return this.massPropsMode=sE.Density,this.density=A,this}setMass(A){return this.massPropsMode=sE.Mass,this.mass=A,this}setMassProperties(A,I,C,B){return this.massPropsMode=sE.MassProps,this.mass=A,uA.copy(this.centerOfMass,I),uA.copy(this.principalAngularInertia,C),gg.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 Xg,this.map=new Pw,A&&A.forEachColliderHandle(I=>{this.map.set(I,new qh(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=uA.intoRaw(I.translation),e=gg.intoRaw(I.rotation),E=uA.intoRaw(I.centerOfMass),t=uA.intoRaw(I.principalAngularInertia),n=gg.intoRaw(I.angularInertiaLocalFrame),a=this.raw.createCollider(I.enabled,i,Q,e,I.massPropsMode,I.mass,E,t,n,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,B,B?C:0,A.raw);i.free(),Q.free(),e.free(),E.free(),t.free(),n.free();let r=B?A.get(C):null,l=new qh(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 wV(g,A,I,C){return new(I||(I=Promise))(function(B,i){function Q(t){try{E(C.next(t))}catch(n){i(n)}}function e(t){try{E(C.throw(t))}catch(n){i(n)}}function E(t){var n;t.done?B(t.value):(n=t.value,n instanceof I?n:new I(function(a){a(n)})).then(Q,e)}E((C=C.apply(g,A||[])).next())})}for(var SV={byteLength:function(g){var A=gK(g),I=A[0],C=A[1];return 3*(I+C)/4-C},toByteArray:function(g){var A,I,C=gK(g),B=C[0],i=C[1],Q=new GV(function(t,n,a){return 3*(n+a)/4-a}(0,B,i)),e=0,E=i>0?B-4:B;for(I=0;I>16&255,Q[e++]=A>>8&255,Q[e++]=255&A;return i===2&&(A=Gi[g.charCodeAt(I)]<<2|Gi[g.charCodeAt(I+1)]>>4,Q[e++]=255&A),i===1&&(A=Gi[g.charCodeAt(I)]<<10|Gi[g.charCodeAt(I+1)]<<4|Gi[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(SQ[A>>2]+SQ[A<<4&63]+"==")):C===2&&(A=(g[I-2]<<8)+g[I-1],B.push(SQ[A>>10]+SQ[A>>4&63]+SQ[A<<2&63]+"=")),B.join("")}},SQ=[],Gi=[],GV=typeof Uint8Array<"u"?Uint8Array:Array,Eu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",En=0,yV=Eu.length;En0)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 uV(g,A,I){for(var C,B,i=[],Q=A;Q>18&63]+SQ[B>>12&63]+SQ[B>>6&63]+SQ[63&B]);return i.join("")}function oH(){return wV(this,void 0,void 0,function*(){yield EH(SV.toByteArray("AGFzbQEAAAAB+wuZAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGAGf39/f31/AGACf3wBf2ABfwF9YAV/f399fwBgBX9/f399AGADf399AGADf3x/AGAGf39/f399AGAEf39/fQF/YAABf2AEf39/fwF9YAR/f39/AX9gA39/fwF9YAN/f30Bf2ACf30AYAZ/f39/f38Bf2AGf39/f39/AGABfQF9YAR/fH9/AGACf3wBfWADf3x9AGAIf39/f39/fX8Bf2ADf398AGAHf39/f39/fwBgAn9/AX1gBX9/f39/AX9gCH9/f39/f39/AGAAAGABfwF8YAh/f39/f39/fQBgA398fwF9YAN9fX0Bf2APf39/f39/f39/f39/f39/AGAGf31/f399AGAKf39/f39/f399fwBgC39/f39/f39/fX1/AGAFf399f38AYAZ/fH9/f38AYAN/fH8Bf2AFf3x/f38AYAZ/fH19fX0AYAJ9fQF/YAV/fH19fQBgAXwBf2AKf39/f39/fX9/fwBgCX9/f39/f39/fwBgB39/f399f38AYAl/f39/f399f38Bf2AGf319f399AGALf39/f39/f39/f38AYAR/fX9/AX9gBn9/f399fQBgD39/f39/f39/f39/fH98fwBgA35+fwF+YAN/fX0AYA9/f39/f31/f39/f3x/fH8Bf2ABfQF/YAN/fHwBf2AFf3x/fX0AYAR/fH1/AGACf3wAYAJ/fAF8YAV/f3x8fwF8YAR9fX19AX9gDn9/f39/f39/f39/f39/AGADf31/AGAIf39/f31/f38AYAl/f39/f31/f38AYAd/f39/f399AGALf39/f39/f399f38AYAx/fX9/f39/f39/f38Bf2APf39/f39/f39/f39/fX1/AGALf39/fX9/fX99fX8AYAl/f39/f39/fX8AYAl/f39/f39/f30AYAh/f39/f31/fwBgBn9/f39/fwF9YBJ/f39/f39/f39/f399f319fX0AYAd/f39/f39/AX1gCH9/f399fX9/AGAJf39/f39/fX9/AGAGf399f31/AGAHf399f399fwBgCn9/f39/f39/fX8Bf2AIf31/f39/f38AYAp/fX9/f39/f39/AGAMf39/f31/f39/f39/AGAHf39/f39/fQF/YAd/f399fX9/AGAGf31/f39/AGARf39/f39/f31/f39/f3x/fH8Bf2AIf39/f39/fX8AYAZ/fH9/f30Bf2AIf31/fX99f38AYAt/f39/fX9/f39/fwBgBH9/fX8AYAN/fn4Bf2AFf39+fn8AYAt/f39/f39/f399fwBgB39/f39/fX8Bf2AGf39/f319AX9gEH9/f39/fX9/f39/f3x/fH8AYAp/f39/f39/f39/AX9gBn98f399fwF/YAl/fH9/f39/fX8Bf2ANf39/f39/f319fX19fQBgGn9/f399fX9/f39/f39/f39/f319f39/f39/AXxgDX9/f39/f39/f3x/fH8AYBp/f39/f39/fX9/f319fX9/f39/f39/fX98fwBgB39/f39/fX8BfWAJf39/f39/fn5+AGAGf39/f399AX9gDX9/f39/f39/f3x/fH8Bf2AMf39/f39/f398f3x/AX9gBX98f39/AX9gB39/f39/f38Bf2AHf3x/fH99fwF/YAN/fn8Bf2AGf3x/f31/AX1gA35/fwF/YAJ9fQF9YAV/fH9/fQF/YAR/fH9/AX9gBX19fX9/AX9gA31/fwF/YA5/fX9/f3x/f399f39/fwBgBH98fH0Bf2AHf3x9f39/fwBgBn98fX9/fwBgBH9/f30AYAJ/fgBgEn99f39/f39/f39/f39/f39/fwBgCX99f39/f39/fwBgA398fwF8YAV/f39/fQF/YAZ/fH99fX0AYAd/fH99fX19AGAEf319fwBgBn9/fX19fQBgB398fX19fX8AYAZ/fH19fX8AYAR/fX9/AGAFf39+f38AYAR/fn9/AGAFf398f38AAoUGFgN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ADMDd2JnFl9fd2JpbmRnZW5fYm9vbGVhbl9nZXQABAN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABgN3YmcVX193YmluZGdlbl9udW1iZXJfZ2V0AAADd2JnFl9fd2JpbmRnZW5faXNfZnVuY3Rpb24ABAN3YmckX193YmdfcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbmV3AAQDd2JnHl9fd2JnX3Jhd2NvbnRhY3Rmb3JjZWV2ZW50X25ldwAEA3diZxtfX3diZ19jYWxsXzAxNzM0ZGU1NWQ2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X2F1dG9zdGVwSW5jbHVkZXNEeW5hbWljQm9kaWVzAJMKL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBFbmFibGVkAIcLLnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlQXV0b3N0ZXAAywkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9kaXNhYmxlQXV0b3N0ZXAAiAsycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9tYXhTbG9wZUNsaW1iQW5nbGUAows1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNYXhTbG9wZUNsaW1iQW5nbGUAiQsycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9taW5TbG9wZVNsaWRlQW5nbGUApAs1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNaW5TbG9wZVNsaWRlQW5nbGUAigs0cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmREaXN0YW5jZQCOCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2VuYWJsZVNuYXBUb0dyb3VuZADMCjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVTbmFwVG9Hcm91bmQAiwszcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmRFbmFibGVkAIwLN3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZUNvbGxpZGVyTW92ZW1lbnQAmgUwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZE1vdmVtZW50AMkHMHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRHcm91bmRlZAClCzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX251bUNvbXB1dGVkQ29sbGlzaW9ucwCmCzFyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkQ29sbGlzaW9uALcHIF9fd2JnX3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl9mcmVlAMALGXJhd2NoYXJhY3RlcmNvbGxpc2lvbl9uZXcAuAkccmF3Y2hhcmFjdGVyY29sbGlzaW9uX2hhbmRsZQDBCy1yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YUFwcGxpZWQAygcvcmF3Y2hhcmFjdGVyY29sbGlzaW9uX3RyYW5zbGF0aW9uRGVsdGFSZW1haW5pbmcAywcZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX3RvaQCnCyNyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGRXaXRuZXNzMQDMByNyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGRXaXRuZXNzMgDXBCJyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGROb3JtYWwxAM0HInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDIAiAUtX193YmdfcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9mcmVlAJIHJnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfbmV3ALkJOHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfY3VycmVudF92ZWhpY2xlX3NwZWVkAKgLKnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfY2hhc3NpcwCpCzByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2luZGV4X3VwX2F4aXMAqgs0cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfaW5kZXhfdXBfYXhpcwCNCzVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2luZGV4X2ZvcndhcmRfYXhpcwCrCzlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF9pbmRleF9mb3J3YXJkX2F4aXMAjgsscmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9hZGRfd2hlZWwAwAUtcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9udW1fd2hlZWxzAKwLMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfdXBkYXRlX3ZlaGljbGUAgAZEcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jaGFzc2lzX2Nvbm5lY3Rpb25fcG9pbnRfY3MAgQZIcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfY2hhc3Npc19jb25uZWN0aW9uX3BvaW50X2NzAJ0HP3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9yZXN0X2xlbmd0aACICENyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3Jlc3RfbGVuZ3RoAPIJPnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfbWF4X3N1c3BlbnNpb25fdHJhdmVsAIkIQnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX21heF9zdXNwZW5zaW9uX3RyYXZlbADzCS9yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3JhZGl1cwCKCDNyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9yYWRpdXMA9Ak9cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX3N0aWZmbmVzcwCLCEFyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3N0aWZmbmVzcwD1CT9yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fY29tcHJlc3Npb24AjAhDcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc3VzcGVuc2lvbl9jb21wcmVzc2lvbgD2CT5yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fcmVsYXhhdGlvbgCNCEJyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3JlbGF4YXRpb24A9wk9cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9tYXhfc3VzcGVuc2lvbl9mb3JjZQCOCEFyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9tYXhfc3VzcGVuc2lvbl9mb3JjZQD4CS5yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2JyYWtlAI8IMnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX2JyYWtlAPkJMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3RlZXJpbmcAkAg1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc3RlZXJpbmcA+gk1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9lbmdpbmVfZm9yY2UAkQg5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZW5naW5lX2ZvcmNlAPsJNXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZGlyZWN0aW9uX2NzAIIGOXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX2RpcmVjdGlvbl9jcwCeBzByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2F4bGVfY3MAgwY0cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfYXhsZV9jcwCfBzZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2ZyaWN0aW9uX3NsaXAAkgg6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZnJpY3Rpb25fc2xpcAD8CUByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3NpZGVfZnJpY3Rpb25fc3RpZmZuZXNzAJMIRHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3NpZGVfZnJpY3Rpb25fc3RpZmZuZXNzAP0JMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfcm90YXRpb24AlAg4cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9mb3J3YXJkX2ltcHVsc2UAlQg1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zaWRlX2ltcHVsc2UAlgg5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX2ZvcmNlAJcIOnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfY29udGFjdF9ub3JtYWxfd3MAhAY5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jb250YWN0X3BvaW50X3dzAIUGOnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9sZW5ndGgAmAg2cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9oYXJkX3BvaW50X3dzAIYGNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfaXNfaW5fY29udGFjdACECTZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2dyb3VuZF9vYmplY3QAqQcXX193YmdfcmF3Y2Nkc29sdmVyX2ZyZWUA4gkQcmF3Y2Nkc29sdmVyX25ldwDjCRxyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRUeXBlAKoHI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUxAOcII3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUyALgIH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEZyYW1lWDEAjgYfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMgCPBh9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRBbmNob3IxAJAGH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjIAkQYicmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0QW5jaG9yMQCYByJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IyAJkHJ3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbnRhY3RzRW5hYmxlZAC5CCpyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAjQklcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZACgByFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNaW4AzgchcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzTWF4AM8HIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldExpbWl0cwChBytyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3Rvck1vZGVsAKwHLnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yVmVsb2NpdHkAhAgucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JQb3NpdGlvbgCFCCZyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvcgCGCB1fX3diZ19yYXdpbXB1bHNlam9pbnRzZXRfZnJlZQDkCRZyYXdpbXB1bHNlam9pbnRzZXRfbmV3AOUJHnJhd2ltcHVsc2Vqb2ludHNldF9jcmVhdGVKb2ludADSCBlyYXdpbXB1bHNlam9pbnRzZXRfcmVtb3ZlAMYJFnJhd2ltcHVsc2Vqb2ludHNldF9sZW4ArQsbcmF3aW1wdWxzZWpvaW50c2V0X2NvbnRhaW5zAMwJJXJhd2ltcHVsc2Vqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUA1QUycmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAjgkjX193YmdfcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2ZyZWUAwAsccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25ldwD7BhtyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZHQArgsccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2VycACvCyxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtU29sdmVySXRlcmF0aW9ucwDCCzhyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtQWRkaXRpb25hbEZyaWN0aW9uSXRlcmF0aW9ucwCwCzFyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtSW50ZXJuYWxQZ3NJdGVyYXRpb25zALELH3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZHQAjwsgcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9lcnAAkAsvcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9hbGxvd2VkTGluZWFyRXJyb3IAkQsvcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9wcmVkaWN0aW9uRGlzdGFuY2UAkgswcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAN4KPHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbnVtQWRkaXRpb25hbEZyaWN0aW9uSXRlcmF0aW9ucwCTCzVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X251bUludGVybmFsUGdzSXRlcmF0aW9ucwCUCzJyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TdGFuZGFyZFBnc1NvbHZlcgDoCjRyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TbWFsbFN0ZXBzUGdzU29sdmVyAOkKG19fd2JnX3Jhd2lzbGFuZG1hbmFnZXJfZnJlZQDmCRRyYXdpc2xhbmRtYW5hZ2VyX25ldwDHCS1yYXdpc2xhbmRtYW5hZ2VyX2ZvckVhY2hBY3RpdmVSaWdpZEJvZHlIYW5kbGUA4gUaX193YmdfcmF3Z2VuZXJpY2pvaW50X2ZyZWUAwAsXcmF3Z2VuZXJpY2pvaW50X2dlbmVyaWMAmwUWcmF3Z2VuZXJpY2pvaW50X3NwcmluZwCBBRRyYXdnZW5lcmljam9pbnRfcm9wZQCEBRlyYXdnZW5lcmljam9pbnRfc3BoZXJpY2FsAIUFGXJhd2dlbmVyaWNqb2ludF9wcmlzbWF0aWMA5QIVcmF3Z2VuZXJpY2pvaW50X2ZpeGVkAOYCGHJhd2dlbmVyaWNqb2ludF9yZXZvbHV0ZQCoAx5yYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludFR5cGUA5QUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgxAJ4FIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50RnJhbWVYMgCfBSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjEAoAUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRBbmNob3IyAKEFKXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAOAGLHJhd211bHRpYm9keWpvaW50c2V0X2pvaW50U2V0Q29udGFjdHNFbmFibGVkAPUGJ3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZADjBSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01pbgCHBiNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01heACIBh9fX3diZ19yYXdtdWx0aWJvZHlqb2ludHNldF9mcmVlAOcJGHJhd211bHRpYm9keWpvaW50c2V0X25ldwDoCSByYXdtdWx0aWJvZHlqb2ludHNldF9jcmVhdGVKb2ludADTCBtyYXdtdWx0aWJvZHlqb2ludHNldF9yZW1vdmUAkQodcmF3bXVsdGlib2R5am9pbnRzZXRfY29udGFpbnMAnAgncmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50SGFuZGxlALEJNHJhd211bHRpYm9keWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAjwkdcmF3cmlnaWRib2R5c2V0X3JiVHJhbnNsYXRpb24AkgYacmF3cmlnaWRib2R5c2V0X3JiUm90YXRpb24AuwYXcmF3cmlnaWRib2R5c2V0X3JiU2xlZXAA2QkccmF3cmlnaWRib2R5c2V0X3JiSXNTbGVlcGluZwC6CBpyYXdyaWdpZGJvZHlzZXRfcmJJc01vdmluZwDoCCFyYXdyaWdpZGJvZHlzZXRfcmJOZXh0VHJhbnNsYXRpb24AkwYecmF3cmlnaWRib2R5c2V0X3JiTmV4dFJvdGF0aW9uAJQGIHJhd3JpZ2lkYm9keXNldF9yYlNldFRyYW5zbGF0aW9uAKwKHXJhd3JpZ2lkYm9keXNldF9yYlNldFJvdGF0aW9uAJ8KG3Jhd3JpZ2lkYm9keXNldF9yYlNldExpbnZlbADABxtyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd2ZWwAwQctcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1RyYW5zbGF0aW9uAPcHKnJhd3JpZ2lkYm9keXNldF9yYlNldE5leHRLaW5lbWF0aWNSb3RhdGlvbgDMBjZyYXdyaWdpZGJvZHlzZXRfcmJSZWNvbXB1dGVNYXNzUHJvcGVydGllc0Zyb21Db2xsaWRlcnMA4QcjcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3MA+ActcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3NQcm9wZXJ0aWVzAKYFGHJhd3JpZ2lkYm9keXNldF9yYkxpbnZlbAC8BhhyYXdyaWdpZGJvZHlzZXRfcmJBbmd2ZWwAlQYicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDNBihyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAIcKH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMAzgYlcmF3cmlnaWRib2R5c2V0X3JiU2V0RW5hYmxlZFJvdGF0aW9ucwCuBSByYXdyaWdpZGJvZHlzZXRfcmJEb21pbmFuY2VHcm91cAC7CCNyYXdyaWdpZGJvZHlzZXRfcmJTZXREb21pbmFuY2VHcm91cACdCBtyYXdyaWdpZGJvZHlzZXRfcmJFbmFibGVDY2QAkAkWcmF3cmlnaWRib2R5c2V0X3JiTWFzcwD5BxlyYXdyaWdpZGJvZHlzZXRfcmJJbnZNYXNzALwIInJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUludk1hc3MAlgYacmF3cmlnaWRib2R5c2V0X3JiTG9jYWxDb20AlwYacmF3cmlnaWRib2R5c2V0X3JiV29ybGRDb20AmAYpcmF3cmlnaWRib2R5c2V0X3JiSW52UHJpbmNpcGFsSW5lcnRpYVNxcnQAmQYscmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYUxvY2FsRnJhbWUAmgYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDdBi5yYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWFTcXJ0AMEFKXJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUFuZ3VsYXJJbmVydGlhAL0GGHJhd3JpZ2lkYm9keXNldF9yYldha2VVcAD6Bx5yYXdyaWdpZGJvZHlzZXRfcmJJc0NjZEVuYWJsZWQAvQgecmF3cmlnaWRib2R5c2V0X3JiTnVtQ29sbGlkZXJzAL4IGnJhd3JpZ2lkYm9keXNldF9yYkNvbGxpZGVyAKIHGnJhd3JpZ2lkYm9keXNldF9yYkJvZHlUeXBlAL8IHXJhd3JpZ2lkYm9keXNldF9yYlNldEJvZHlUeXBlAKsIGXJhd3JpZ2lkYm9keXNldF9yYklzRml4ZWQAoggdcmF3cmlnaWRib2R5c2V0X3JiSXNLaW5lbWF0aWMAowgbcmF3cmlnaWRib2R5c2V0X3JiSXNEeW5hbWljAKwIH3Jhd3JpZ2lkYm9keXNldF9yYkxpbmVhckRhbXBpbmcAwAggcmF3cmlnaWRib2R5c2V0X3JiQW5ndWxhckRhbXBpbmcAwQgicmF3cmlnaWRib2R5c2V0X3JiU2V0TGluZWFyRGFtcGluZwDNCSNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd1bGFyRGFtcGluZwC6CRxyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkAOgHG3Jhd3JpZ2lkYm9keXNldF9yYklzRW5hYmxlZADCCB5yYXdyaWdpZGJvZHlzZXRfcmJHcmF2aXR5U2NhbGUAwwghcmF3cmlnaWRib2R5c2V0X3JiU2V0R3Jhdml0eVNjYWxlALAHHXJhd3JpZ2lkYm9keXNldF9yYlJlc2V0Rm9yY2VzALsJHnJhd3JpZ2lkYm9keXNldF9yYlJlc2V0VG9ycXVlcwC8CRpyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZQDCBx5yYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2UAwwcbcmF3cmlnaWRib2R5c2V0X3JiQWRkVG9ycXVlAMQHJHJhd3JpZ2lkYm9keXNldF9yYkFwcGx5VG9ycXVlSW1wdWxzZQDFByFyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZUF0UG9pbnQA5AYlcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlJbXB1bHNlQXRQb2ludADmBSxyYXdyaWdpZGJvZHlzZXRfcmJBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDECC9yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDOCRpyYXdyaWdpZGJvZHlzZXRfcmJVc2VyRGF0YQDFCB1yYXdyaWdpZGJvZHlzZXRfcmJTZXRVc2VyRGF0YQCFCRpfX3diZ19yYXdyaWdpZGJvZHlzZXRfZnJlZQDaBxNyYXdyaWdpZGJvZHlzZXRfbmV3ANsHH3Jhd3JpZ2lkYm9keXNldF9jcmVhdGVSaWdpZEJvZHkAswMWcmF3cmlnaWRib2R5c2V0X3JlbW92ZQCiBRhyYXdyaWdpZGJvZHlzZXRfY29udGFpbnMAzwkmcmF3cmlnaWRib2R5c2V0X2ZvckVhY2hSaWdpZEJvZHlIYW5kbGUAsgk5cmF3cmlnaWRib2R5c2V0X3Byb3BhZ2F0ZU1vZGlmaWVkQm9keVBvc2l0aW9uc1RvQ29sbGlkZXJzAP4JGF9fd2JnX3Jhd2Jyb2FkcGhhc2VfZnJlZQDpCRFyYXdicm9hZHBoYXNlX25ldwDqCRxyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uAJsGGXJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb24AvgYfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgD7ByhyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50ANwHHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A1gYlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudADFChlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAMYIGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAIgKIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAJ0FHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMAkAUfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwCRCRdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwD8BxpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwDVChtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQA/QcecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0ANYKHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMA/gcfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwDXChlyYXdjb2xsaWRlcnNldF9jb1ZlcnRpY2VzALIGGHJhd2NvbGxpZGVyc2V0X2NvSW5kaWNlcwCzBiNyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkSGVpZ2h0cwC0BiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkU2NhbGUAhgUhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZE5Sb3dzAOcFIXJhd2NvbGxpZGVyc2V0X2NvSGVpZ2h0ZmllbGROQ29scwDoBRdyYXdjb2xsaWRlcnNldF9jb1BhcmVudADiBxtyYXdjb2xsaWRlcnNldF9jb1NldEVuYWJsZWQAuAcacmF3Y29sbGlkZXJzZXRfY29Jc0VuYWJsZWQArQgZcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbgDHCBxyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uAMgIGHJhd2NvbGxpZGVyc2V0X2NvRGVuc2l0eQDpCBVyYXdjb2xsaWRlcnNldF9jb01hc3MA6ggXcmF3Y29sbGlkZXJzZXRfY29Wb2x1bWUA6wggcmF3Y29sbGlkZXJzZXRfY29Db2xsaXNpb25Hcm91cHMA6QcdcmF3Y29sbGlkZXJzZXRfY29Tb2x2ZXJHcm91cHMA6gcccmF3Y29sbGlkZXJzZXRfY29BY3RpdmVIb29rcwDJCCVyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUNvbGxpc2lvblR5cGVzAMoIHXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlRXZlbnRzAMsIK3Jhd2NvbGxpZGVyc2V0X2NvQ29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAzAgecmF3Y29sbGlkZXJzZXRfY29Db250YWluc1BvaW50ANoFGnJhd2NvbGxpZGVyc2V0X2NvQ2FzdFNoYXBlAKUDHXJhd2NvbGxpZGVyc2V0X2NvQ2FzdENvbGxpZGVyAMEEIHJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1NoYXBlALYEHXJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNoYXBlAPUBIHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdENvbGxpZGVyAJwFHXJhd2NvbGxpZGVyc2V0X2NvUHJvamVjdFBvaW50AP8EHnJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1JheQD4BBhyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXkA1AQkcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5QW5kR2V0Tm9ybWFsAJ8DGnJhd2NvbGxpZGVyc2V0X2NvU2V0U2Vuc29yAIEIH3Jhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb24AvQkccmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbgDQCSRyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uQ29tYmluZVJ1bGUAzQgncmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbkNvbWJpbmVSdWxlAPYIJ3Jhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb25Db21iaW5lUnVsZQDOCCpyYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uQ29tYmluZVJ1bGUA9wgjcmF3Y29sbGlkZXJzZXRfY29TZXRDb2xsaXNpb25Hcm91cHMAowcgcmF3Y29sbGlkZXJzZXRfY29TZXRTb2x2ZXJHcm91cHMAkwcfcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVIb29rcwD4CCByYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUV2ZW50cwD5CChyYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUNvbGxpc2lvblR5cGVzAPoIGXJhd2NvbGxpZGVyc2V0X2NvU2V0U2hhcGUA9wYucmF3Y29sbGlkZXJzZXRfY29TZXRDb250YWN0Rm9yY2VFdmVudFRocmVzaG9sZADRCRtyYXdjb2xsaWRlcnNldF9jb1NldERlbnNpdHkA0gkYcmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzANMJInJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzc1Byb3BlcnRpZXMAqgUZX193YmdfcmF3Y29sbGlkZXJzZXRfZnJlZQD8BhJyYXdjb2xsaWRlcnNldF9uZXcA/QYScmF3Y29sbGlkZXJzZXRfbGVuALILF3Jhd2NvbGxpZGVyc2V0X2NvbnRhaW5zANQJHXJhd2NvbGxpZGVyc2V0X2NyZWF0ZUNvbGxpZGVyAOMDFXJhd2NvbGxpZGVyc2V0X3JlbW92ZQDpBSRyYXdjb2xsaWRlcnNldF9mb3JFYWNoQ29sbGlkZXJIYW5kbGUAswkaX193YmdfcmF3c2hhcGVjb250YWN0X2ZyZWUAwAsZX193YmdfcmF3bmFycm93cGhhc2VfZnJlZQDrCRJyYXduYXJyb3dwaGFzZV9uZXcA7AkhcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyc193aXRoAJQKG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgCaByZyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcnNfd2l0aACVCiByYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcgDuCB1fX3diZ19yYXdjb250YWN0bWFuaWZvbGRfZnJlZQDACxhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjEAsgoYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIyALMKInJhd2NvbnRhY3RwYWlyX251bUNvbnRhY3RNYW5pZm9sZHMAoAoecmF3Y29udGFjdHBhaXJfY29udGFjdE1hbmlmb2xkANAHGXJhd2NvbnRhY3RtYW5pZm9sZF9ub3JtYWwA/gYbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24xAIMHG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMgCEBxxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUxALQKHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTIAtQofcmF3Y29udGFjdG1hbmlmb2xkX251bV9jb250YWN0cwChCiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMQDCBiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMgDDBh9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9kaXN0AL4JH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDEAvwkfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMgDACSJyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9pbXB1bHNlAJIJLHJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZV94AMEJLHJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZV95AJMJJnJhd2NvbnRhY3RtYW5pZm9sZF9udW1fc29sdmVyX2NvbnRhY3RzAKIKJ3Jhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9wb2ludAC1BiZyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfZGlzdACUCSpyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfZnJpY3Rpb24A7wgtcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3Jlc3RpdHV0aW9uAPAIMnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF90YW5nZW50X3ZlbG9jaXR5AL8GHV9fd2JnX3Jhd3BvaW50cHJvamVjdGlvbl9mcmVlAMALGHJhd3BvaW50cHJvamVjdGlvbl9wb2ludADjBxtyYXdwb2ludHByb2plY3Rpb25faXNJbnNpZGUAswslX193YmdfcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZnJlZQDACylyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9jb2xsaWRlckhhbmRsZQC0CyByYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9wb2ludADRByNyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9pc0luc2lkZQC1CyZyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mZWF0dXJlVHlwZQDCCyRyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mZWF0dXJlSWQA/wkdX193YmdfcmF3cmF5aW50ZXJzZWN0aW9uX2ZyZWUAwAshcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsANIHHnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX3RvaQC2CxxfX3diZ19yYXdyYXljb2xsaWRlcnRvaV9mcmVlAMALE19fd2JnX3Jhd3NoYXBlX2ZyZWUApAgPcmF3c2hhcGVfY3Vib2lkAMIJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALQJDXJhd3NoYXBlX2JhbGwA1QkScmF3c2hhcGVfaGFsZnNwYWNlAOQFEHJhd3NoYXBlX2NhcHN1bGUArQcRcmF3c2hhcGVfY3lsaW5kZXIAyAkWcmF3c2hhcGVfcm91bmRDeWxpbmRlcgDDCQ1yYXdzaGFwZV9jb25lAMkJEnJhd3NoYXBlX3JvdW5kQ29uZQDECRFyYXdzaGFwZV9wb2x5bGluZQDlBxByYXdzaGFwZV90cmltZXNoAOYHFHJhd3NoYXBlX2hlaWdodGZpZWxkAMIFEHJhd3NoYXBlX3NlZ21lbnQA1wYRcmF3c2hhcGVfdHJpYW5nbGUAwwUWcmF3c2hhcGVfcm91bmRUcmlhbmdsZQC4BRNyYXdzaGFwZV9jb252ZXhIdWxsAPAHGHJhd3NoYXBlX3JvdW5kQ29udmV4SHVsbADrBxNyYXdzaGFwZV9jb252ZXhNZXNoAKsHGHJhd3NoYXBlX3JvdW5kQ29udmV4TWVzaACkBxJyYXdzaGFwZV9jYXN0U2hhcGUAuAEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlALoDFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQDbARZyYXdzaGFwZV9jb250YWluc1BvaW50AOkEFXJhd3NoYXBlX3Byb2plY3RQb2ludACUBBZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AJcEEHJhd3NoYXBlX2Nhc3RSYXkAiAQccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADQAhRyYXdzaGFwZXRvaV93aXRuZXNzMQDTBxNyYXdzaGFwZXRvaV9ub3JtYWwxANQHE3Jhd3NoYXBldG9pX25vcm1hbDIA1QceX193YmdfcmF3c2hhcGVjb2xsaWRlcnRvaV9mcmVlAMALHHJhd3NoYXBlY29sbGlkZXJ0b2lfd2l0bmVzczIA1gcPcmF3cm90YXRpb25fbmV3ALYKFHJhd3JvdGF0aW9uX2lkZW50aXR5ANgKDXJhd3JvdGF0aW9uX3gAwwsOcmF3dmVjdG9yX3plcm8A/goNcmF3dmVjdG9yX25ldwDNCg9yYXd2ZWN0b3Jfc2V0X3gAtwsPcmF3dmVjdG9yX3NldF96AJULDXJhd3ZlY3Rvcl94eXoArggNcmF3dmVjdG9yX3l4egCvCA1yYXd2ZWN0b3Jfenh5ALAIDXJhd3ZlY3Rvcl94enkAsQgNcmF3dmVjdG9yX3l6eACyCA1yYXd2ZWN0b3Jfenl4ALMIFnJhd3NkcG1hdHJpeDNfZWxlbWVudHMAmwchX193YmdfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9mcmVlAI8KGnJhd2RlYnVncmVuZGVycGlwZWxpbmVfbmV3AOwHH3Jhd2RlYnVncmVuZGVycGlwZWxpbmVfdmVydGljZXMAnggdcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9jb2xvcnMAnwgdcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9yZW5kZXIAlAUYX193YmdfcmF3ZXZlbnRxdWV1ZV9mcmVlAN0HH19fd2JnX3Jhd2NvbnRhY3Rmb3JjZWV2ZW50X2ZyZWUAwAsecmF3Y29udGFjdGZvcmNlZXZlbnRfY29sbGlkZXIyALgLIHJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlANcHKnJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlX21hZ25pdHVkZQC5CyhyYXdjb250YWN0Zm9yY2VldmVudF9tYXhfZm9yY2VfZGlyZWN0aW9uANgHKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUAugsRcmF3ZXZlbnRxdWV1ZV9uZXcAuQcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwCACiVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAIEKE3Jhd2V2ZW50cXVldWVfY2xlYXIAxgcdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUA7QkWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwD7CBdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcAChBCFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMAjQQbX193YmdfcmF3cXVlcnlwaXBlbGluZV9mcmVlAOIJFHJhd3F1ZXJ5cGlwZWxpbmVfbmV3AO4JF3Jhd3F1ZXJ5cGlwZWxpbmVfdXBkYXRlALoHGHJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFJheQCYBCRyYXdxdWVyeXBpcGVsaW5lX2Nhc3RSYXlBbmRHZXROb3JtYWwA9QMlcmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFJheQDsAiZyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbldpdGhTaGFwZQCbBB1yYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludACtBCpyYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludEFuZEdldEZlYXR1cmUAsQQncmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFBvaW50AMgDGnJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFNoYXBlAPEBJ3Jhd3F1ZXJ5cGlwZWxpbmVfaW50ZXJzZWN0aW9uc1dpdGhTaGFwZQDiAjJyYXdxdWVyeXBpcGVsaW5lX2NvbGxpZGVyc1dpdGhBYWJiSW50ZXJzZWN0aW5nQWFiYgDhBh9fX3diZ19yYXdkZXNlcmlhbGl6ZWR3b3JsZF9mcmVlAJAKIHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VHcmF2aXR5AIwHLnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJbnRlZ3JhdGlvblBhcmFtZXRlcnMA0AQmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUlzbGFuZE1hbmFnZXIAiQcjcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUJyb2FkUGhhc2UAlAckcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU5hcnJvd1BoYXNlAMcEH3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCb2RpZXMAlQUicmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUNvbGxpZGVycwCCBSZyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW1wdWxzZUpvaW50cwCFByhyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlTXVsdGlib2R5Sm9pbnRzAIYHHHJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9uZXcAxAslcmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX3NlcmlhbGl6ZUFsbACCAydyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZGVzZXJpYWxpemVBbGwApQcqcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9taW5Jc2xhbmRTaXplAI0LK3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWF4Q2NkU3Vic3RlcHMAjgsPcmF3dmVjdG9yX3NldF95AI8LInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAAygcXcmF3c2hhcGVjb250YWN0X25vcm1hbDIAygcWcmF3c2hhcGVjb250YWN0X3BvaW50MQDjBxZyYXdzaGFwZWNvbnRhY3RfcG9pbnQyANIHGXJhd3JheWludGVyc2VjdGlvbl9ub3JtYWwA0gcccmF3c2hhcGVjb2xsaWRlcnRvaV93aXRuZXNzMQDSBxdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMQDWBxtyYXdzaGFwZWNvbGxpZGVydG9pX25vcm1hbDEAygcbcmF3c2hhcGVjb2xsaWRlcnRvaV9ub3JtYWwyAMsHFHJhd3NoYXBldG9pX3dpdG5lc3MyANcHJnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfb2Zmc2V0AK4LK3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19wcmVkaWN0aW9uRGlzdGFuY2UAqAsmcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21pbklzbGFuZFNpemUAqgsncmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heENjZFN1YnN0ZXBzAKsLE3Jhd3JpZ2lkYm9keXNldF9sZW4AsgsYcmF3c2hhcGVjb250YWN0X2Rpc3RhbmNlAKMLHnJhd3JheWludGVyc2VjdGlvbl9mZWF0dXJlVHlwZQDCCylyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9jb2xsaWRlckhhbmRsZQC0CxZyYXdyYXlpbnRlcnNlY3Rpb25fdG9pALYLJnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAMILIHJhd3JheWNvbGxpZGVydG9pX2NvbGxpZGVySGFuZGxlAMELFXJhd3JheWNvbGxpZGVydG9pX3RvaQC2CyJyYXdzaGFwZWNvbGxpZGVydG9pX2NvbGxpZGVySGFuZGxlAMELF3Jhd3NoYXBlY29sbGlkZXJ0b2lfdG9pALYLD3Jhd3NoYXBldG9pX3RvaQDDCw1yYXdyb3RhdGlvbl95AK4LDXJhd3JvdGF0aW9uX3oAtgsNcmF3cm90YXRpb25fdwCvCwtyYXd2ZWN0b3JfeADDCwtyYXd2ZWN0b3JfeQCuCwtyYXd2ZWN0b3JfegC2Cx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjEAwQsrcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2FsbG93ZWRMaW5lYXJFcnJvcgC5CxxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkANQJI19fd2JnX3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9mcmVlAMALHHJhd3JheWludGVyc2VjdGlvbl9mZWF0dXJlSWQA/wkkcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fZmVhdHVyZUlkAP8JGV9fd2JnX3Jhd2NvbnRhY3RwYWlyX2ZyZWUAwAslX193YmdfcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fZnJlZQDACxZfX3diZ19yYXdzaGFwZXRvaV9mcmVlAMALFl9fd2JnX3Jhd3JvdGF0aW9uX2ZyZWUAwAsUX193YmdfcmF3dmVjdG9yX2ZyZWUAwAsYX193YmdfcmF3c2RwbWF0cml4M19mcmVlAMALH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIA8AwPX193YmluZGdlbl9mcmVlAO4LEV9fd2JpbmRnZW5fbWFsbG9jALgKFF9fd2JpbmRnZW5fZXhuX3N0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/ABqQQBBxAAQiQ0aIANBxAFqQgA3AgAgA0HAAWpBgICA/AM2AgAgA0HMAWpCADcCACADQdQBakIANwIAIANB3AFqQgA3AgAgA0HkAWpCADcCACADQewBakIANwIAIANB9AFqQQA2AgAgA0H4AWpBAEHEABCJDRogA0HAAmpCADcCACADQbwCakGAgID8AzYCACADQcgCakIANwIAIANB0AJqQgA3AgAgA0HYAmpCADcCACADQeACakIANwIAIANB6AJqQgA3AgAgA0HwAmpBADYCACADQfQCakEAQcQAEIkNGiADQbwDakIANwIAIANBuANqQYCAgPwDNgIAIANBxANqQgA3AgAgA0HMA2pCADcCACADQdQDakIANwIAIANB3ANqQgA3AgAgA0HkA2pCADcCACADQewDakEANgIAIANB8ANqIQMgY0EEayJjDQALCyABBEADQCADQQBBxAAQiQ0iA0IANwJIIANBgICA/AM2AkQgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANB+ABqQQA2AgAgA0H8AGohAyABQQFrIgENAAsLIGYgZ2pBAWshZgsgA0EAQcQAEIkNIgFCADcCSCABQYCAgPwDNgJEIAFB0ABqQgA3AgAgAUHYAGpCADcCACABQeAAakIANwIAIAFB6ABqQgA3AgAgAUHwAGpCADcCACABQfgAakEANgIAIABBkANqQQA2AgAgACBmQQFqNgL4AiCcASgCACIBIJsBKAIAIgNLDQELIAMgigFNBEACQAJAIAEgA0YEQCAAQQA2ApADIABBhANqImlBADYCACABIQMMAQtBACFmIAMgAWsiYiAAQYwDaigCAEsEQCAAQYgDakEAIGIQnQYgACgCkAMhZgsgACgCiAMiZyBmQRhsaiFjIGJBAk8EQCBjQQAgAyABQX9zakEYbBCJDRogYiBmaiIBQQFrIWYgAUEYbCBnakEYayFjCyBjQgA3AgAgY0EQakIANwIAIGNBCGpCADcCACAAIGZBAWo2ApADIABBhANqImlBADYCACCcASgCACIBIJsBKAIAIgNLDQELIAMgigFNBEACQCABIANGBEAgaUEANgIAIAMhAQwBC0EAIWYgAyABayJiIABBgANqKAIASwRAIABB/AJqQQAgYhCd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QewAaioCACEPIGNB6ABqKgIAIRAgY0HUAGooAgAhDSBjQdAAaigCACEDIGNBzABqKAIAIQUgY0HIAGooAgAhASBjQcQAaigCACEIIGMoAkAhYgJ9IGNB+ABqLgEAQQBIBEAgASEHIAghBiBiIWdDAACAvwwBCyAOjCEOIA+MIQ8gEIwhECANIQcgAyEGIAUhZyABIQ0gCCEDIGIhBUMAAIA/CyETIGkoAgAhaSBqKAKgASFiIGooAnAhCAJAAkAgBQRAAkAgdUUNACADIHJPDQAgdSADQegCbGoiASgCAEUNACABKAIEIA1GDQILQeybwQBBE0G0zcEAEOEJAAsgZEGIBWoiAUEIakIANwMAIAFBEGpCADcDACABQRhqQgA3AwAgZUIANwMAIH5CADcDACBkQZAKaiIBQQhqQgA3AwAgAUEQakIANwMAIGRBwApqQQA2AgAgZEIANwOIBSBkQgA3A5AKIGRCADcDuApDAACAPyEVQwAAAAAhKEMAAAAAISNDAAAAACExQwAAAAAhIkMAAAAAIR1DAAAAACEkQwAAAAAhFkMAAAAAIRpDAAAAACEXQwAAAAAhLUMAAAAAISxDAAAAACE1QwAAAAAhLkMAAAAAIRJDAAAAACERQwAAAAAhFEMAAAAAISlDAAAAACE6DAELIAFB6AFqIgUqAgAhFyABQeQBaioCACEaIAFB4AFqIg0qAgAhFiABQYwBaioCACEkIAFBiAFqKgIAIR0gAUGEAWoqAgAhIiABQYABaioCACExIAFB/ABqKgIAISMgAUH4AGoqAgAhKCABQUBrKgIAIS4gAUE8aioCACE1IAFBOGoqAgAhLCABQTRqKgIAIRUgAUEwaioCACESIAFBLGoqAgAhESABQShqKgIAIRQgZEEIaiIDQRBqImxCADcDACADQQhqImhCADcDACBkQgA3AwggZEHICmoic0EIaiJ0IAFB9AFqKAIANgIAIGQgAUHsAWopAgA3A8gKIHFBEGogAUGoAWopAwA3AwAgcUEIaiABQaABaikDADcDACBxIAFBmAFqKQMANwMAIHkgDSkCADcCACB5QQhqIAUoAgA2AgAgAUHYAmoqAgAhLSABQZABaioCACE6IAFBlAFqKgIAISkgZEHACmogAUHIAWooAgA2AgAgZCABQcABaikCADcDuAogfiADQShqKQMANwMA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IGooArQBIgEgB08EfyAHBSAHIAEiBWsiBiBqQbABaigCACABa0sEQCMAQSBrImIkACABIAZqIgUgAUkNGUEEIGpBrAFqIgMoAgQiCEEBdCINIAUgBSANSRsiBSAFQQRNGyINQdgCbCEFIA1B/oL9AklBAnQhYwJAIAhFBEAgYkEANgIYDAELIGJBBDYCGCBiIAhB2AJsNgIcIGIgAygCADYCFAsgYkEIaiBjIAUgYkEUahDaBiBiKAIMIQUCQCBiKAIIRQRAIAMgDTYCBCADIAU2AgAMAQsgBUGBgICAeEYNACAFRQ0aDBwLIGJBIGokACBqKAK0ASEFCyBqKAKsASAFQdgCbGohAyAGQQJPBEAgByABQX9zaiIBQQNxIQcgBkECa0EDTwRAIAFBfHEhbQNAIANBfzYCCCADQn83AgAgA0EMakEAQZQCEIkNGiADQgA3AqQCIANBgICA/AM2AqACIANBrAJqQgA3AgAgA0G0AmpCADcCACADQbwCakIANwIAIANBxAJqQgA3AgAgA0HMAmpCADcCACADQdQCakEANgIAIANB4AJqQX82AgAgA0HYAmpCfzcCACADQeQCakEAQZQCEIkNGiADQfwEakIANwIAIANB+ARqQYCAgPwDNgIAIANBhAVqQgA3AgAgA0GMBWpCADcCACADQZQFakIANwIAIANBnAVqQgA3AgAgA0GkBWpCADcCACADQawFakEANgIAIANBuAVqQX82AgAgA0GwBWpCfzcCACADQbwFakEAQZQCEIkNGiADQdQHakIANwIAIANB0AdqQYCAgPwDNgIAIANB3AdqQgA3AgAgA0HkB2pCADcCACADQewHakIANwIAIANB9AdqQgA3AgAgA0H8B2pCADcCACADQYQIakEANgIAIANBkAhqQX82AgAgA0GICGpCfzcCACADQZQIakEAQZQCEIkNGiADQawKakIANwIAIANBqApqQYCAgPwDNgIAIANBtApqQgA3AgAgA0G8CmpCADcCACADQcQKakIANwIAIANBzApqQgA3AgAgA0HUCmpCADcCACADQdwKakEANgIAIANB4ApqIQMgbUEEayJtDQALCyAHBEADQCADQX82AgggA0J/NwIAIANBDGpBAEGUAhCJDRogA0IANwKkAiADQYCAgPwDNgKgAiADQawCakIANwIAIANBtAJqQgA3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A0EQakIANwMAIANBGGpCADcDACBzQgA3AwAgdEIANwMAIGRBkApqIgNBCGpCADcDACADQRBqQgA3AwAgZEGICmpBADYCACBkQgA3A4gFIGRCADcDkAogZEIANwOACkMAAIA/ISFDAAAAACEZQwAAAAAhH0MAAAAAISVDAAAAACEiQwAAAAAhHUMAAAAAISRDAAAAACE8QwAAAAAhM0MAAAAAIRZDAAAAACEwQwAAAAAhKkMAAAAAIStDAAAAACEnQwAAAAAhEkMAAAAAIRFDAAAAACEUQwAAAAAhGkMAAAAAIRcMAQsgA0HoAWoiYioCACEWIANB5AFqKgIAITMgA0HgAWoiYyoCACE8IANBjAFqKgIAISQgA0GIAWoqAgAhHSADQYQBaioCACEiIANBgAFqKgIAISUgA0H8AGoqAgAhHyADQfgAaioCACEZIANBQGsqAgAhJyADQTxqKgIAISsgA0E4aioCACEqIANBNGoqAgAhISADQTBqKgIAIRIgA0EsaioCACERIANBKGoqAgAhFCBkQQhqIgZBEGoicEIANwMAIAZBCGoibkIANwMAIGRCADcDCCBkQcgKaiJvQQhqIncgA0H0AWooAgA2AgAgZCADQewBaikCADcDyAogeEEQaiADQagBaikDADcDACB4QQhqIANBoAFqKQMANwMAIHggA0GYAWopAwA3AwAggwEgYykCADcCACCDAUEIaiBiKAIANgIAIANB2AJqKgIAITAgA0GQAWoqAgAhFyADQZQBaioCACEaIGRBiApqIANByAFqKAIANgIAIGQgA0HAAWopAgA3A4AKIHQgBkEoaikDADcDACBzIAZBIGopAwA3AwAgZEGIBWoiA0EYaiB4KQMANwMAIANBEGogcCkDADcDACADQQhqIG4pAwA3AwAgZCBkKQMINwOIBSBkQZAKaiIDQRBqIG9BEGopAwA3AwAgA0EIaiB3KQMANwMAIGQgZCkDyAo3A5AKCyAHRQ0EIHVFDQUgBSByTw0FIHUgBUHoAmxqIm4oAgBFDQUgbigCBCANRw0FIAUglQFPDQYghAFFDQYghAEgBUEUbGoiAygCACANRw0GIAMoAgQieyCJAU8NByCAAUUNByCAASB7QZQCbGoiZS0AkAJBAkYNByADQQhqKAIAIoYBIGUoAgBHDQcgA0EQaigCACFxIANBDGoo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ayBrKQDrATcDOCBrQdACaiIDQShqQgA3AwAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIGtCADcD0AIgACJqKALUAiIAIAFPBH8gAQUgASAAImJrIgUgakHQAmooAgAgAGtLBEAjAEEgayIDJAAgACAFaiIHIABJDQhBBCBqQcwCaiIIKAIEIgtBAXQiDCAHIAcgDEkbIgcgB0EETRsiDEHgA2whByAMQcWIkQJJQQN0IQ0CQCALRQRAIANBADYCGAwBCyADQQg2AhggAyALQeADbDYCHCADIAgoAgA2AhQLIANBCGogDSAHIANBFGoQ2gYgAygCDCEHAkAgAygCCEUEQCAIIAw2AgQgCCAHNgIADAELIAdBgYCAgHhGDQAgB0UNCSAHIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsgA0EgaiQAIGooAtQCIWILIGooAswCIGJB4ANsaiEDIAVBAk8EQCAAQX9zIAFqIQEga0GTAmohBwNAIANCADcDCCADQgA3AwAgA0H////7BzYCUCADQoCAgIDw//+/fzcDSCADQv////v///+//wA3A0AgA0L////7BzcDOCADQoCAgIDw//+/fzcDMCADQv////v///+//wA3AyggA0L////7BzcDICADQoCAgIDw//+/fzcDGCADQv////v///+//wA3AxAgAyBrKQPYATcCVCADQYCAgPwDNgJkIAMgaykDwAE3A2ggA0HcAGoga0HgAWopAwA3AgAgA0HwAGoga0HAAWoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgaykDsAE3A5ABIANBmAFqIGtBuAFqKQMANwMAIAMgaykDmAE3AKkBIANBsQFqIGtBmAFqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIGspA4ABNwDFASADQc0BaiBrQYABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWoga0HoAGoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgaykDaDcA4QEgA0GMAmoga0HQAGoiAEEPaigAADYAACADQYUCaiAAQQhqKQMANwAAIAMgaykDUDcA/QEgA0GoAmoga0E4aiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBrKQM4NwCZAiADQQA6ALQCIANC////+wc3AqwCIANBtwJqIActAAA6AAAgAyBrLwCRAjsAtQIgA0J/NwPAAiADQYACOwG8AiADQQA2ArgCIANB8AJqIGtBgANqIgBBKGopAwA3AwAgA0HoAmogAEEgaikDADcDACADQeACaiAAQRhqKQMANwMAIANB2AJqIABBEGopAwA3AwAgA0HQAmogAEEIaikDADcDACADIGspA4ADNwPIAiADQX82AvgCIANBpANqIGtB0AJqIgBBKGopAwA3AgAgA0GcA2ogAEEgaikDADcCACADQZQDaiAAQRhqKQMANwIAIANBjANqIABBEGopAwA3AgAgA0GEA2ogAEEIaikDADcCACADIGspA9ACNwL8AiADQX82ArwDIANC/////x83ArQDIANCfzcCrAMgA0HIA2oga0HAAmooAgA2AgAgAyBrKQO4AjcDwAMgA0KBgICAcDcCzAMgA0HcA2oga0GsAmooAgA2AgAgAyBrKQKkAjcC1AMgA0HgA2ohAyABQQFrIgENAAsgBSBiakEBayFiCyADQv////v///+//wA3AxAgA0IANwMIIANCADcDACADQf////sHNgJQIANCgICAgPD//79/NwNIIANC////+////7//ADcDQCADQv////sHNwM4IANCgICAgPD//79/NwMwIANC////+////7//ADcDKCADQv////sHNwMgIANCgICAgPD//79/NwMYIAMgaykD2AE3AlQgA0GAgID8AzYCZCADIGspA8ABNwNoIANB3ABqIGtB4AFqKQMANwIAIANB8ABqIGtBwAFqIgBBCGopAwA3AwAgA0H4AGogAEEQaikDADcDACADQgA3A4gBIANCgICA/AM3A4ABIANC////+wc3A6ABIANBADoAqAEgA0L////7BzcCvAEgA0EAOgDEASADIGspA7ABNwOQASADQZgBaiBrQbgBaikDADcDACADIGspA5gBNwCpASADQbEBaiBrQZgBaiIAQQhqKQMANwAAIANBuAFqIABBD2ooAAA2AAAgAyBrKQOAATcAxQEgA0HNAWoga0GAAWoiAEEIaikDADcAACADQdQBaiAAQQ9qKAAANgAAIANBADoA4AEgA0L////7BzcD2AEgA0EAOgD8ASADQv////sHNwL0ASADQQA6AJgCIANC////+wc3A5ACIANB8AFqIGtB6ABqIgBBD2ooAAA2AAAgA0HpAWogAEEIaikDADcAACADIGspA2g3AOEBIANBjAJqIGtB0ABqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIGspA1A3AP0BIANBqAJqIGtBOGoiAEEPaigAADYAACADQaECaiAAQQhqKQMANwAAIAMgaykDODcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiBrQZMCai0AADoAACADIGsvAJECOwC1AiADQn83A8ACIANBgAI7AbwCIANBADYCuAIgA0HwAmoga0GAA2oiAEEoaikDADcDACADQegCaiAAQSBqKQMANwMAIANB4AJqIABBGGopAwA3AwAgA0HYAmogAEEQaikDADcDACADQdACaiAAQQhqKQMANwMAIAMgaykDgAM3A8gCIANBfzYC+AIgA0GkA2oga0HQAmoiAEEoaikDADcCACADQZwDaiAAQSBqKQMANwIAIANBlANqIABBGGopAwA3AgAgA0GMA2ogAEEQaikDADcCACADQYQDaiAAQQhqKQMANwIAIAMgaykD0AI3AvwCIANBfzYCvAMgA0L/////HzcCtAMgA0J/NwKsAyADQcgDaiBrQcACaigCADYCACADIGspA7gCNwPAAyADQoGAgIBwNwLMAyADQdwDaiBrQawCaigCADYCACADIGspAqQCNwLUAyAGKAIAIQEgYkEBagshACBqIAA2AtQCQQAhBUEAIW4CQAJAAkACQCABIAAgACABSxsiZ0UNACBqKALgASEHIHVFDQEgaigCzAIhYiB6KAIQIW0geigCCCFsIHooAiQhcSB6KAIcIXAga0GAA2oiAEEkaiFkIABBGGohdyBrQdACaiIAQSRqIWUgAEEYaiFoQQAhCwJAAkACQANAIAogBygCACIITQ0GIAkgCEGAA2xqImMoAhAiDSByTw0HIHUgDUHoAmxqIgAoAgBFDQcgY0EUaigCACJ+IAAoAgRHDQcCQCBjQRhqKAIAImkgck8NACB1IGlB6AJsaiIBKAIARQ0AIGNBHGooAgAieCABKAIERw0AIGhBCGogAEH0AWooAgA2AgAgaCAAQewBaikCADcCACBrQdACaiIDQRBqInMgAEGoAWopAwA3AwAgA0EIaiJ0IABBoAFqKQMANwMAIGsgAEGYAWopAwA3A9ACIGVBCGogAEHIAWooAgA2AgAgZSAAQcABaikCADcCACAAQRBqKAIAIXkgd0EIaiABQfQBaigCADYCACB3IAFB7AFqKQIANwIAIGtBgANqIgBBCGoidiABQaABaikDADcDACAAQRBqInwgAUGoAWopAwA3AwAgayABQZgBaikDADcDgAMgZCABQcABaikCADcCACBkQQhqIAFByAFqKAIANgIAIAFBEGooAgAhAUEBIQxBBiEDAkAgDSBxTwRAIAEhBgwBCyBwRQRAIAEhBgwBCyABIQYgcCANQRRsaiIAKAIAIH5HDQAgbSAAKAIEIgZNDQMgbEUNAyBsIAZBlAJsaiIDLQCQAkECRg0DIAMoAgAgAEEIaiIAKAIARw0DIGtBwAJqIABBCGooAgA2AgAgayAAKQIANwO4AiADQYgCaigCACEDQQAhDAsCfwJAAkAgaSBxTw0AIHBFDQAgcCBpQRRsaiINKAIAIHhGDQELIANBBmohaSABIQBBAQwBCyBtIA0oAgQiAE0NBCBsRQ0EIGwgAEGUAmxqImktAJACQQJGDQQgaSgCACANQQhqIg0oAgBHDQQga0HIAWogDUEIaigCADYCACBrIA0pAgA3A8ABIGlBiAJqKAIAIANqIWlBAAshAwJAIGlFBEAgYkGwA2pBADYCAAwBCyBpQQxsIAtqIgUgaigCxAFLBEAgbyAFEPQCCyBiQcADaiBrKQO4AjcCACBiQcgDaiBrQcACaigCADYCACBiIGNBQGtBwAIQiA0iDUH4AmogeTYCACANQcQCaiALNgIAIA1BwAJqIAg2AgAgDUHwAmoga0HQAmoiCEEoaikDADcDACANQegCaiAIQSBqKQMANwMAIA1B4AJqIGgpAwA3AwAgDUHYAmogcykDADcDACANQdACaiB0KQMANwMAIA1ByAJqIGspA9ACNwMAIA1B/AJqIGspA4ADNwIAIA1BhANqIHYpAwA3AgAgDUGMA2ogfCkDADcCACANQZQDaiB3KQMANwIAIA1BnANqIGtBgANqIghBIGopAwA3AgAgDUGkA2ogCEEoaikDADcCACANQdADaiAANgIAIA1BzANqIAM2AgAgDUG8A2ogBjYCACANQbgDaiAMNgIAIA1BtANqIG42AgAgDUGwA2ogaTYCACANQawDaiABNgIAIA1B1ANqIGspA8ABNwIAIA1B3ANqIGtByAFqKAIANgIAIG4gY0H7AmotAAAiACBjQfgCai0AACIBQX9zIgMgY0H6AmotAABxIgZxIghBOHFBAEdqIAhBB3FBAEdqIGNB+QJqLQAAIANxIgMgAHEiCEE4cUEAR2ogCEEHcUEAR2ogAEF/cyIAIANxaSAAIAZxaSABaWpqaiFuIAUhCwsgB0EEaiEHIGJB4ANqIWIgZ0EBayJnRQ0EDAELC0Hsm8EAQRNB0N3BABDhCQALQeybwQBBE0Hg3cEAEOEJAAtB7JvBAEETQfDdwQAQ4QkACyBqKAKkAiIAIG5PDQAgbiAAImNrIgYgakGgAmooAgAgAGtLBEAgakGcAmogACAGEJ4GIGooAqQCIWMLIGooApwCIGNByABsaiEDIAZBAk8EQCBuIABBf3NqIgBBAXEhByAGQQJHBEAgAEF+cSEBA0AgA0J/NwIIIANCADcCACADQQA7AUQgA0L////79///v/8ANwI8IANC////+/f//7//ADcCNCADQv////v3//+//wA3AiwgA0KAgICA8P//v383AiQgA0EQakJ/NwIAIANBGGpCfzcCACADQSBqQX82AgAgA0HIAGpCADcCACADQdAAakJ/NwIAIANB2ABqQn83AgAgA0HgAGpCfzcCACADQegAakF/NgIAIANBhAFqQv////v3//+//wA3AgAgA0H8AGpC////+/f//7//ADcCACADQfQAakL////79///v/8ANwIAIANB7ABqQoCAgIDw//+/fzcCACADQYwBakEAOwEAIANBkAFqIQMgAUECayIBDQALCyAGIGNqQQFrIWMgBwRAIANCfzcCCCADQgA3AgAgA0EAOwFEIANC////+/f//7//ADcCPCADQv////v3//+//wA3AjQgA0L////79///v/8ANwIsIANCgICAgPD//79/NwIkIANBEGpCfzcCACADQRhqQn83AgAgA0EgakF/NgIAIANByABqIQMLCyADQn83AgggA0IANwIA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//8PNwIQIANC/////w83AgggA0IANwIAIANBLGpCADcCACADQTRqQQA2AgAgA0HYAGpB////+wc2AgAgA0HQAGpCgICAgPD//79/NwIAIANByABqQv////8PNwIAIANBQGtC/////w83AgAgA0E4akIANwIAIANB3ABqQgA3AgAgA0HkAGpCADcCACADQewAakEANgIAIANB8ABqIQMgAUECayIBDQALCyAFIGNqQQFrIWMgBwRAIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACADQThqIQMLCyADQgA3AiQgA0H////7BzYCICADQoCAgIDw//+/fzcCGCADQv////8PNwIQIANC/////w83AgggA0IANwIAIANBLGpCADcCACADQTRqQQA2AgAgY0EBaiEGCyBqIAY2ArwCIJ4BBEAgngFBAWshhgEgBCgCECGLASAEKAIIIYwBIHooAiQhkAEgeigCHCGCASB6KAIQIXcgeigCCCFwIGsoAighkQEgaygCLCGSASBrKgIEISRBACFtA0AgaigC/AIhASBqKAKEAyJkIGooApADIgAgACBkSxsiYgRAIGooAogDIQVBACFnA0AgBSBnaiIDQQhqKgIAIQ8gA0EEaioCACEOIAEgZ2oiACADKgIAIAAqAgCSOAIAIABBBGoiBiAOIAYqAgCSOAIAIABBCGoiBiAPIAYqAgCSOAIAIANBFGoqAgAhDyADQRBqKgIAIQ4gAEEMaiIGIANBDGoqAgAgBioCAJI4AgAgAEEQaiIDIA4gAyoCAJI4AgAgAEEUaiIAIA8gACoCAJI4AgAgZ0EYaiFnIGJBAWsiYg0ACwsga0EBNgLEASBrIGooAqADIng2AsABIGtBATYC1AIgayBqKAKwAyIANgLQAgJAAkACQAJAAkACQCAAIHhGBEAgaigClAMhfgJAIGooAqwDIgBFDQAgaigCpAMhBSAAQQNxIWJBACFpIABBBE8EQCAAQXxxIQZBACFmA0AgZiB+aiIAIAUgZmoiAyoCACAAKgIAkjgCACAAQQRqIgcgA0EEaioCACAHKgIAkjgCACAAQQhqIgcgA0EIaioCACAHKgIAkjgCACAAQQxqIgAgA0EMaioC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GGogA0EcaioCADgCACADQdwAaiADQeQAaikCADcCACADQaABaiADQaQBaioCADgCACADQeQBaiADQewBaikCADcCACADQagCaiADQawCaioCADgCACADQewCaiADQfQCaikCADcCACADQbADaiADQbQDaioCADgCACADQfQDaiADQfwDaikCADcCACADIAUgAEEBQQAQZSADQewEaiEDDAELIGlBgICA/AM2AtAEIGkgaSoCHDgCGCBpQdwAaiBpQeQAaikCADcCACBpQaABaiBpQaQBaioCADgCACBpQeQBaiBpQewBaikCADcCACBpQagCaiBpQawCaioCADgCACBpQewCaiBpQfQCaikCADcCACBpQbADaiBpQbQDaioCADgCACBpQfQDaiBpQfwDaikCADcCAEEAIQMgaSAMIAsgBSAAIAcgBkEBQQAQJiBpQfwEaiFpDAALAAtB9MLAAEErQbTowQAQqgoACyAAIAxB0LLBABDiCAALIGtCADcC3AIga0GYv8AANgLYAiBrQQE2AtQCIGtBwIjBADYC0AIga0G4Amoga0HAAWoga0HQAmpBsInBABDgCgALQeybwQBBE0GkyMEAEOEJAAsgbSCeAUcNAAsgaigCvAIhBgsgakGoAmooAgAiYyBqKAKwAkHUAGxqIQggakGcAmooAgAiZiBqKAKkAkHIAGxqIQsgakGQAmooAgAiAyBqKAKYAkHwAGxqIQwgaigCtAIiASAGQThsaiEGQQEhBwNAAkACfwJAAkACQCAHDgMBAAIACwJAIANFDQAgAyAMRg0AIANB8ABqIWJBAQwDC0EAIQMgZkUNACALIGZGDQBBACFiIGYiA0HIAGohZkEDDAILIGNFDQAgCCBjRg0AQQAhByADIWIgYyIDQdQAaiFjQQAMAQsgAUUNASABIAZGDQFBAiEHIAMhYiABIgNBOGohAUECCyFpIGsgAzYChAMgayBpNgKAAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAga0GAA2oiACgCAEEBaw4DAQIDAAsCQAJAAkAgACgCBCIAKAIMIgMgCkkEQCAAKAIAQQFrDgICAwELIAMgCkGY5sEAEOMIAAsgACgCBCIFQQZPDQYgCSADQYADbGogBUECdGpBIGogACoCEDgCAAwOCyAAKAIEIgVBBkkNBCAFQQZBuObB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KQAANwMAIBQgFCkAMDcDyAEgFEGwAWoiLkEPaiIiIBRBqAJqIi1BD2ooAAA2AAAgLkEIaiI0IC1BCGopAAA3AwAgFCAUKQCoAjcDsAEgFEGYAWoiLkEPaiItIBRBlQJqIh5BD2ooAAA2AAAgLkEIaiIjIB5BCGopAAA3AwAgFCAUKQCVAjcDmAEgFEGAAWoiLkEPaiIeIBRBggJqIidBD2ooAAA2AAAgLkEIaiIQICdBCGopAAA3AwAgFCAUKQCCAjcDgAEgFEHoAGoiLkEPaiInIBRB7wFqIiFBD2ooAAA2AAAgLkEIaiIkICFBCGopAAA3AwAgFCAUKQDvATcDaCAWQQhqQQA2AgAgFkIANwIAIA9BEGoiLiAXKQMANwMAIBEgFSkDADcDACAUIBQpA8gCNwMwIAhBKGoghgE3AwAgCCCFATcDICAIQdAAakIANwMAIAhByABqQgA3AwAgCEGYAWpB////+wc2AgAgCEGQAWpCgICAgPD//79/NwMAIAhBiAFqQv////v///+//wA3AwAgCEGAAWpC////+wc3AwAgCEH4AGpCgICAgPD//79/NwMAIAhB8ABqQv////v///+//wA3AwAgCEHoAGpC////+wc3AwAgCEHgAGpCgICAgPD//79/NwMAIAhB2ABqQv////v///+//wA3AwAgCEGAA2oiDy0AACEhIAhBMGogFCkDMDcDACAIQThqIBEpAwA3AwAgCEFAayAuKQMANwMAIAhBpAFqQgA3AgAgCEGcAWpCADcCACAIQawBakGAgID8AzYCACAIQbABakIANwMAIAhBuAFqQgA3AwAgCEHAAWpCADcDACAIQcgBakGAgID8AzYCACAIQcwBakIANwIAIAhB1AFqQgA3AgAgCEHcAWpCADcCACAIQeQBakEANgIAIAhB8AFqQQA6AAAgCEHoAWpC////+wc3AwAgCEHxAWogFCkDyAE3AAAgCEH5AWogGikDADcAACAIQYACaiAdKAAANgAAIAhBjAJqQQA6AAAgCEGEAmpC////+wc3AgAgCEGoAmpBADoAACAIQaACakL////7BzcDACAIQcQCakEAOgAAIAhBvAJqQv////sHNwIAIAhBnAJqICIoAAA2AAAgCEGVAmogNCkDADcAACAIQY0CaiAUKQOwATcAACAIQbgCaiAtKAAANgAAIAhB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ECAnQQhqKQAANwMAIBQgFCkAlQI3A5gBIBRBgAFqIi5BD2oiJyAUQYICaiIhQQ9qKAAANgAAIC5BCGoiJCAhQQhqKQAANwMAIBQgFCkAggI3A4ABIBRB6ABqIiFBD2oiLiAUQe8BaiIoQQ9qKAAANgAAICFBCGoiISAoQQhqKQAANwMAIBQgFCkA7wE3A2ggFkEIakEANgIAIBZCADcCACAPQRBqIg8gFykDADcDACAVIBopAwA3AwAgFCAUKQPIAjcDMCAIQTBqQgA3AwAgCEEoakKAgICAgICAwD83AwAgCEIANwMgIAhBOGpCADcDACAIQUBrQgA3AwAgCEHIAGpCADcDACAIQdAAakIANwMAIAhBmAFqQv////sHNwMAIAhBkAFqQoCAgIDw//+/fzcDACAIQYgBakL////7////v/8ANwMAIAhBgAFqQv////sHNwMAIAhB+ABqQoCAgIDw//+/fzcDACAIQfAAakL////7////v/8ANwMAIAhB6ABqQv////sHNwMAIAhB4ABqQoCAgIDw//+/fzcDACAIQdgAakL////7////v/8ANwMAIAhBgANqIhotAAAhKCAIQawBaiBZOAIAIAhByAFqQYCAgPwDNgIAIAhBzAFqQgA3AgAgCEHUAWpCADcCACAIQdwBakIANwIAIAhB5AFqQQA2AgAgCEHwAWpBADoAACAIQegBakL////7BzcDACAIQagBaiAdKAIANgIAIAhBoAFqIBQpA+ABNwIAIAhBwAFqIA8pAwA3AwAgCEG4AWogFSkDADcDACAIQbABaiAUKQMwNwMAIAhBhAJqQv////sHNwIAIAhBjAJqQQA6AAAgCEGgAmpC////+wc3AwAgCEGoAmpBADoAACAIQYACaiAiKAAANgAAIAhB+QFqIC0pAwA3AAAgCEHxAWogFCkDyAE3AAAgCEGNAmogFCkDsAE3AAAgCEGVAmogHikDADcAACAIQZwCaiA0KAAANgAAIAhBqQJqIBQpA5gBNwAAIAhBsQJqIBApAwA3AAAgCEG4AmogIygAADYAACAIQcQCakEAOgAAIAhBvAJqQv////sHNwIAIAhB1AJqICcoAAA2AAAgCEHNAmogJCkDADcAACAIQcUCaiAUKQOAATcAACAIQeACakEAOgAAIAhB2AJqQv////sHNwMAIAhB/AJqQQA6AAAgCEH0AmpC////+wc3AgAgCEGEA2pBgAI7AQAgGkE/NgIAIAhB8AJqIC4oAAA2AAAgCEHpAmogISkDADcAACAIQeECaiAUKQNoNwAAIBMoAgxFDQEgE0EQaiEIIBNBIGohDyATQTBqIR0gEygCBEEANgKMAyATQYgCaiIVKAIAIRogFSAaQQYgKGlrIhVrNgIAIBUgGkYEQCATQRRqKAIABEAgCCgCABCaAgsgE0IENwIQIBNBGGpCADcCACATQSRqKAIABEAgDygCABCaAgsgE0IENwIgIBNBKGpCADcCACATQTRqKAIABEAgHSgCABCaAgsgE0IENwIwIBNBOGpCADcCAAwLCyATKAIcIhogFU0NFiAUIBVBAnQiIiATKAIQaiItNgLMAiAUIC02AsgCIBQgGjYC2AIgFCAaIBVrIjRBACAaIDRPGyIaNgLUAiAUIC0gGkECdGo2AtACIBRBqAJqIBogFEHIAmoQhQMgE0EUaigCAARAIAgoAgAQmgILIAggFCkDqAI3AgAgCEEIaiARKQMANwIAIBMoAiwiCCAVTQ0WIBQgEygCICAiaiIaNgLMAiAUIBo2AsgCIBQgCDYC2AIgFCAIIBVrIi1BACAIIC1PGyIINgLUAiAUIBogCEECdGo2AtACIBRBqAJqIAggFEHIAmoQhQMgE0EkaigCAARAIA8oAgAQmgILIA8gFCkDqAI3AgAgD0EIaiARKQMANwIAIBMoAjwiCCAVTQ0WIBQgEygCMCAiaiIPNgLMAiAUIA82AsgCIBQgCDYC2AIgFCAIIBVrIhpBACAIIBpPGyIINgLUAiAUIA8gCEECdGo2AtACIBRBqAJqIAggFEHIAmoQhQMgE0E0aigCAARAIB0oAgAQmgILIB0gFCkDqAI3AgAgHUEIaiARKQMANwIADAoLIAAgAioCJCADIAQgBSAGIAcgMSAJIBQoAhAiCCAUKAIYIhIgFCgCICAUKAIoIAsgDCANIA5BARDqBSAUQQA2AhgCQCASRQ0AIAcoAggiFUUNACAHKAIQIREgEkEBa0H/////AXEhEyAIIQ8CQCASQQFxRQ0AIAhBCGohDyARIAgoAgAiG00NACAVIBtBqAFsaiIbKAIARQ0AIBsoAgQgCCgCBEcNACAbQfgAakEANgIACyATRQ0AIAggEkEDdGohEwNAAkAgDygCACIIIBFPDQAgFSAIQagBbGoiCCgCAEUNACAIKAIEIA9BBGooAgBHDQAgCEH4AGpBADYCAAsCQCARIA9BCGooAgAiEk0NACAVIBJBqAFsaiISKAIARQ0AIBIoAgQgD0EMaigCAEcNACASQfgAakEANgIACyATIA9BEGoiD0cNAAsLAkAgJkUNACAGKAIIIhVFDQAgBigCECEIICZBAWtB/////wFxIRIgQSEPAkAgJkEBcUUNACBBQQhqIQ8gQSgCACIRIAhPDQAgFSARQegCbGoiESgCAEUNACARKAIEIEEoAgRHDQAgEUGwAmpBADYCAAsgEkUNACBBICZBA3RqIREDQAJAIA8oAgAiEiAITw0AIBUgEkHoAmxqIhIoAgBFDQAgEigCBCAPQQRqKAIARw0AIBJBsAJqQQA2AgALAkAgCCAPQQhqKAIAIhJNDQAgFSASQegCbGoiEigCAEUNACASKAIEIA9BDGooAgBHDQAgEkGwAmpBADYCAAsgESAPQRBqIg9HDQALCyAUQQA2AiggAioCBCFlIBRBMGoiCEEwaiACQTBqKQIANwMAIAhBKGogAkEoaikCADcDACAIQSBqIAJBIGopAgA3AwAgCEEYaiACQRhqKQIANwMAIAhBEGogAkEQaikCADcDACAIQQhqIAJBCGopAgA3AwAgFCACKQIANwMwIABB0ANqIVUgAEHoA2ohViAAQdwDaiFXIAlBKGohRyAxQShqIUsgA0EYaiFOIANBJGohUiAFQQhqIUAgA0E4aiE0IANBMGohUyADQcQAaiEpIANBPGohOSAUKAJkIk9BASBPGyEtIBRB5AJqIUwgASoCCCGCASABKgIEIYMBIAEqAgAhhAEgAEGMBGohTQNAAkACQAJAIE9FDQAgLUEBRg0AAn8CQCADKAIIIgFFDQACQCAGKAIIIgJFDQAgAygCACIIIAFBA3RqIQ8gBigCECEVQQAhEgNAIAgoAgAiASAVTw0BIAIgAUHoAmxqIgEoAgBFDQEgASgCBCAIQQRqKAIARw0BIAFB4QJqLQAABEAgAUHYAmoqAgAhWSABQeACaiABQeAAaioCACBlIAFB/AFqKgIAlJIiWiBalCABQeQAaioCACBlIAFBgAJqKgIAlJIiWiBalJIgAUHoAGoqAgAgZSABQYQCaioCAJSSIlogWpSSEJsBIAFB7ABqKgIAIGUgAUGIAmoqAgCUkiJaIFqUIAFB8ABqKgIAIGUgAUGMAmoqAgCUkiJaIFqUkiABQfQAaioCACBlIAFBkAJqKgIAlJIiWiBalJIQmwEgAUHcAmoqAgCUkiBZQwAAIEGVXiIBOgAAIAEgEnIhEgsgDyAIQQhqIghHDQALIBJBAXFFDQEgFEEIaiEsIwBB8AJrIhYkACAKIAYgB0ECIGUQQyAWQgA3AhQgFkKAgICAwAA3AgwgFkIANwIEIBZBwPrAADYCACAWIGU4AhwCQAJAAkAgAygCCCIBRQRAIGUhWQwBCyAGKAIIIj5FDQEgAygCACIlIAFBA3RqIT8gBygCECFCIAYoAhAhQyAHKAIIISsDQCAlKAIAIgEgQ08NAiA+IAFB6AJsaiIBKAIARQ0CIAEoAgQgJSgCBEcNAgJAIAFB4AJqLQAARQ0AIAFB7ABqKgIAIWMgAUHwAGoqAgAhZCABQfQAaioCACFgIAFBrAFqKgIAIWIgAUGgAWoqAgAhWSABQZgBaioCACFfIAFBkAJqKgIAIV0gAUGoAWoqAgAhWiABQYgCaioCACFcIAFBnAFqKgIAIVsgAUGMAmoqAgAhXiABQaQBaioCACFhIAFB4ABqKgIAIWcgAUHsAWoqAgAhZiABQfwBaioCACFuIAFB5ABqKgIAIWsgAUHwAWoqAgAhbCABQYACaioCACFwIBYgAUGEAmoqAgAgAUH0AWoqAgCUIGWUIAFB6ABqKgIAkjgCmAEgFiBrIHAgbJQgZZSSOAKUASAWIGcgbiBmlCBllJI4ApABIBYgYCBiIFkgXJQgWiBelJIgYiBdlJIiYpQgWSBfIFyUIFsgXpSSIFkgXZSSImCUIFogWyBclCBhIF6UkiBaIF2UkiJdlJKSIGWUkjgCpAEgFiBkIFogYpQgWyBglCBhIF2UkpIgZZSSOAKgASAWIGMgWSBilCBfIGCUIFsgXZSSkiBllJI4ApwBIBZBIGogFkGQAWogZSABQShqIAFBwAFqENkBIAFBwAJqKAIAIgJFDQACQCArRQ0AIAFBCGohRCABQbgCaigCACIjIAJBA3RqITcDQCAjKAIAIgEgQk8NASArIAFBqAFsaiIBKAIARQ0BIAEoAgQgIygCBEcNASABKAIIBEACQCABQaABai0AAA0AIAFBJGoqAgAhXCABQSxqKgIAIV4gAUEoaioCACFiIBYgFioCLCJdIAFBIGoqAgAiX5QgFioCICJZIAFBFGoqAgAiYZSTIBYqAiQiWiABQRhqKgIAImCUkyAWKgIoIlsgAUEcaioCACJjlJM4AkggFiBbIF+UIFkgYJQgXSBjlJIgWiBhlJOSOAJEIBYgWyBhlCBaIF+UIF0gYJQgWSBjlJOSkjgCQCAWIFogY5QgXSBhlCBZIF+UkpIgWyBglJM4AjwgFiAWKgI4IF4gXSBZIGKUIFogXJSTIl8gX5IiX5QgWSBbIFyUIFkgXpSTImEgYZIiYZQgWiBaIF6UIFsgYpSTIl4gXpIiXpSTkpKSOAJUIBYgFioCNCBiIF0gYZQgWyBelCBZIF+Uk5KSkjgCUCAWIBYqAjAgXCBdIF6UIFogX5QgWyBhlJOSkpI4AkwgFkHYAGoiAiABQThqKAIAIAFBPGooAgAiCCgCCEEBa0F4cWpBCGogAUH8AGogFkE8aiAIKAK4ARECACAWIEQ2AogBIBYgBjYCgAEgFiAFNgJ8IBYgBzYCeCAWICM2AnAgFiAWQRxqNgKMASAWIBY2AnQgFiAKNgKEASAWQZABaiACEOsFIBYgFkHwAGo2AvABIBZBADYCjAIgFkIENwKEAgJAIAooAnAiJkUNACAWQYQCakEAEKgGIBYoAoQCIhwgFigCjAIiAUECdGpBADYCACABQQFqIgJFDQAgCigClAEhJyAKKAKMASEQIAooAmghOgNAIBYgAkEBayIBNgKMAgJAAkAgAUECdCI9IBxqKAIAIgggJkkEQCAWKAKIAiEqIDogCEEHdGoiGC0AeEEBcUUNASAYQeQAaigCACEIIBhB6ABqKAIAIQ8gGEHsAGooAgAhESAYKAJgIRMgFkGQAmogGCAWQZABahDgAiAWIBAgE0EEdGpBACATICdJGyITQQhqQQAgExs2AqgCIBYgECARQQR0akEAIBEgJ0kbIhFBCGpBACARGzYCtAIgFiAQIA9BBHRqQQAgDyAnSRsiD0EIakEAIA8bNgKwAiAWIBAgCEEEdGpBACAIICdJGyIIQQhqQQAgCBs2AqwCIBYtAJMCQQN0IjYgFi0AkgJBAnQiMyAWLQCRAkEBdCIwIBYtAJACIjVycnKtQv8BgyGGAUIAIYUBA0ACQCCGASCFAYinQQFxRQ0AIBZBqAJqIIUBp0ECdGooAgAiEUUNACARQQRqKAIAISEgFigC8AEiHigCACIIKAIAIg8gESgCACIiRgRAIAgoAgQgIUYNAQsgHigCBCERIBYgDyAiIA8gIksiExs2ArwCIBYgIiAPIBMbNgK4AiARIBZBuAJqENcBQQFxDQACQAJAAkACQCAeKAIIIg8oAhAiESAIKAIAIiRNDQAgDygCCCIPRQ0AIA8gJEGoAWxqIiAoAgBFDQAgCCgCBCI7ICAoAgRHDQAgESAiTQ0BIA8gIkGoAWxqIhooAgBFDQEgGigCBCAhRw0BIBpBEGooAgAhPCAaQQxqKAIAISggGigCCCEvICAoAghFBEAgL0UhGQwDCwJAIC9BAUcNACAgQQxqKAIAIChHDQAgIEEQaigCACA8RiEZDAMLDAMLQeybwQBBE0GsosEAEOEJAAtB7JvBAEETQbyiwQAQ4QkACyAZDQELICBBoAFqLQAADQAgGkGgAWotAAANACAaQdQAaigCACAgQdAAaigCAHFFDQAgIEHUAGooAgAgGkHQAGooAgBxRQ0AIBpB3ABqKAIAICBB2ABqKAIAcUUNACAgQdwAaigCACAaQdgAaigCAHFFDQBDAAAAACFZAkAgHigCDCIRQUBrKAIAIg8gJE0NACARKAI4IghFDQAgDyAiTQ0AIAggJEEMbGoiDygCACA7Rw0AIAggIkEMbGoiCCgCACAhRw0AIBFBEGooAgAiFyAPQQRqKAIAIhlNDQAgEUEUaigCACITRQ0AIAgoAgQhMgJAIBEoAggiDyAZQQR0aiJFKAIIIgggEUEcaigCACIRSQRAA0AgEyAIQThsaiJKQQxqKAIAIDJGDQIgESBKKAIAIghLDQALCyARIEVBACAXIBlLG0EMaigCACIITQ0BIBNBBGohGQNAIAhBOGwiRSATaigCCCAyRg0BIBEgGSBFaigCACIISw0ACwwBCyAIIBFPDQAgFyATIAhBOGxqIggoAghNDQAgD0UNACAXIAhBDGooAgBNDQAgCEEwaigCACIRRQ0AIBFBqAFsIAhBKGooAgAiEWohRUEAIRMDQAJAIBFBhAFqKAIAIjJFDQAgEUH8AGooAgAiF0UNACAXIgghGSAyQTBsIkpBMGsiRkEwbkEBakEDcSIyBEAgMkEwbCEyA0AgGSAIIBlBGGoqAgAgCCoCGF0bIQggGUEwaiEZIDJBMGsiMg0ACwsgRkGQAU8EQCAXIEpqIRcDQCAZQZABaiAZQeAAaiAZQTBqIBkgCCAZQRhqKgIAIAgqAhhdGyIIIBlByABqKgIAIAgqAhhdGyIIIBlB+ABqKgIAIAgqAhhdGyIIIBlBqAFqKgIAIAgqAhhdGyEIIBcgGUHAAWoiGUcNAAsLIAhFDQAgE0UEQCARIRMgCCEPDAELIA8gCCAPKgIYIAgqAhhfIggbIQ8gEyARIAgbIRMLIEUgEUGoAWoiEUcNAAsgE0UNACAPKgIYIVkLICBBCGohESAaQQhqIRNBACEIAkAgL0UNACAeKAIQIg8oAhAgKE0NACAPKAIIIg9FDQAgDyAoQegCbGoiDygCAEUNACAPQQhqQQAgDygCBCA8RhshCAsgHigCFCIXKAIEIQ8gFkG4AmogFygCACAPKAIIQQFrQXhxakEIaiAPICQgOyAiICEgESATIB4oAhggCEEAIFlBACBZQwAAAAAgHigCHCIIKgIAIFkQbyAWKAK4AkECRg0AIAggCCoCACJaIFogFioC0AIiWSBZIFpeGyBZIFlcGzgCAAsghQFCAXwihQFCBFINAAsMAgsgCCAmQcjgwAAQ4wgACyAWQZACaiAYIBZBkAFqEOACIBYtAJACIjVBAkYNAiAWLQCTAkEDdCE2IBYtAJICQQJ0ITMgFi0AkQJBAXQhMAsgGEH4AGohCAJAIDVBAXEgMEECcSAzQQRxIDZBCHFycnIiD60ihQFCAYNQDQAgCC0AAEEBcQ0AIBgoAmAiESAmSw0AIBwgPWogETYCACAWIAI2AowCIAIhAQsCQCCFAUICg1ANACAILQAAQQFxDQAgGEHkAGooAgAiAiAmSw0AIAEgKkYEQCAWQYQCaiAqEKgGIBYoAoQCIRwgFigCjAIhAQsgHCABQQJ0aiACNgIAIBYgAUEBaiIBNgKMAgsCQCCFAUIEg1ANACAILQAAQQFxDQAgGEHoAGooAgAiAiAmSw0AIBYoAogCIAFGBEAgFkGEAmogARCoBiAWKAKEAiEcIBYoAowCIQELIBwgAUECdGogAjYCACAWIAFBAWoiATYCjAILAkAgD0EISQRAIAEhAgwBCyAILQAAQQFxBEAgASECDAELIBhB7ABqKAIAIgIgJksEQCABIQIMAQsgFigCiAIgAUYEQCAWQYQCaiABEKgGIBYoAoQCIRwgFigCjAIhAQsgHCABQQJ0aiACNgIAIBYgAUEBaiICNgKMAgsgAg0ACwsgFigCiAJFDQAgFigChAIQmgILIDcgI0EIaiIjRg0DDAELC0HwocEAQSxBnKLBABDhCQALQeybwQBBE0HgocEAEOEJAAsgPyAlQQhqIiVHDQALIBYqAhwhWSAWKAIEIgFFDQAgFigCACABQQJ0QQtqQXhxaxCaAgsgFigCFARAIBYoAhAQmgILICwgWTgCBCAsIFkgZV02AgAgFkHwAmokAAwBC0Hsm8EAQRNB0KHBABDhCQALIBQoAghBAUcNASBlIC2zIluVIlkgFCoCDCJaXkUEQCBaIGUgWpMgW5WSIVkLIBQgWTgCNCAtQQFrDAILDBgLIBQgZTgCNCBlIVlBAAshLSBlIFmTImUgFCoCOF9FDQIgWSBlkiFZDAELIGUhWUMAAAAAIWULIBQgWTgCNEEAIS0LIAAgACgCwANBAWo2AsADIAYoAhAhISAGKAIIIRkgAygCFCIBBEAgGUUNFCADKAIMIgggAUEDdGohEkMAAAAAQwAAgD8gWZUgWUMAAAAAWxshZANAIAgoAgAiASAhTw0VIBkgAUHoAmxqIgEoAgBFDRUgASgCBCAIQQRqKAIARw0VAkACQAJAIAFB5QJqLQAAQQJrDgIAAQILIBRByAJqIQ9DAAAAACFmQwAAAAAhbkMAAAAAIWsgAUEoaiICQTRqKgIAIXggAkEwaioCACFoIAJBLGoqAgAhbyABQcABaiIRKgIAIXEgESoCBCFyIBEqAgghbSACKgIYIWwgAioCFCFwIAIqAhAhdSACKgIMIlwgAkEkaioCACJelCACKgIAIlogAkEgaioCACJilCACQShqKgIAImcgAioCCCJbjJQgAioCBCJdIAIqAhwiX5STkpIiYSBhjCBbIF6UIF0gYpQgWiBflCBcIGeUkpKSInZDAAAAAGAiAhsiaSBplCBdIF6UIFwgX5QgWiBnlJMgWyBilJOSImAgYIwgAhsicyBzlCBcIGKUIFsgX5QgXSBnlJOSIFogXpSTImMgY4wgAhsidyB3lJKSImpDAAAAAF4EQCBpIGoQmwEiZpUgYSBhlCBgIGCUIGMgY5SSkhCbASB2ixD0BCJuIG6SImmUIWsgdyBmlSBplCFuIHMgZpUgaZQhZgsgD0EUaiBrIGSUOAIAIA9BEGoiAiBuIGSUOAIAIA8gZiBklDgCDCAPIGwgbSBcIFogcpQgXSBxlJMiZiBmkiJrlCBaIFsgcZQgWiBtlJMiZiBmkiJplCBdIF0gbZQgWyBylJMiZiBmkiJtlJOSkpIiZiB2IHAgciBcIGmUIFsgbZQgWiBrlJOSkpIibiBglCBjIHUgcSBcIG2UIF0ga5QgWyBplJOSkpIia5STInEgcZIicZQgYCBhIGuUIGYgYJSTInIgcpIicpQgYyBjIGaUIGEgbpSTIm0gbZIibZSTkpIgeCBmkyBcIFogcJQgXSB1lJMiZiBmkiJmlCBdIF0gbJQgWyBwlJMiaSBpkiJplCBaIFsgdZQgWiBslJMicyBzkiJzlJOSIGyTImwgZyBfIFwgc5QgWiBmlCBbIGmUk5IgcJMiWpQgYiBcIGmUIFsgc5QgXSBmlJOSIHWTIluUkyJdIF2SIl2UIF8gXiBblCBfIGyUkyJcIFySIlyUIGIgYiBslCBeIFqUkyJmIGaSImaUk5KSkpIgZJQ4AgggDyBuIHYgcpQgYSBtlCBgIHGUk5KSIGggbpMgWiBnIFyUIF4gZpQgXyBdlJOSkpKSIGSUOAIEIA8gayB2IG2UIGMgcZQgYSBylJOSkiBvIGuTIFsgZyBmlCBiIF2UIF4gXJSTkpKSkiBklDgCACABQYgBaiACKQIANwIAIAFBgAFqIA9BCGopAgA3AgAgAUH4AGogFCkCyAI3AgAMAQsgFEGoAmoiDyABQfgAaiBZIAFBKGoiFSABQcABahDZASAUQcgCaiICQRhqIhEgD0EYaigCACITNgIAIAJBEGogD0EQaikCACKFATcDACACQQhqIA9BCGopAgAihgE3AwAgTEEYaiATNgIAIExBEGoghQE3AgAgTEEIaiCGATcCACBMIBQpAqgCIocBNwIAIBQghwE3A8gCIAFBMGoghgE3AgAgAUE4aiCFATcCACAVIIcBNwIAIAFBQGsgESkDADcCACABQcgAaiACQSBqKQMANwIAIAFB0ABqIAJBKGopAwA3AgAgAUHYAGogAkEwaikDADcCAAsgEiAIQQhqIghHDQALIAYoAhAhISAGKAIIIRkgFCoCNCFZCwJAIBQoAmAiQgRAIAcoAhAhMCAHKAIIIScgA0EANgJEIANBADYCOCADKAIIIQEgA0EANgIIIAMgAygCSEEBajYCSCABRQ0BIBlFDRUgAygCACETIAFBA3QhCANAIAggE2oiD0EIaygCACICICFPDRYgGSACQegCbGoiASgCAEUNFiAPQQRrKAIAIhUgASgCBEcNFgJAAkAgAUH4AGoqAgAiWiBalCABQfwAaioCACJaIFqUkiABQYABaioCACJaIFqUkiABQcQCaioCACJaIFqLlF0EQCABQYQBaioCACJaIFqUIAFBiAFqKgIAIlogWpSSIAFBjAFqKgIAIlogWpSSIAFByAJqKgIAIlogWouUXQ0BCyABQdACakEANgIAQwAAAAAhXAwBCyBZIAFB0AJqIg8qAgCSIVwgDyBcOAIACwJ/IFwgAUHMAmoqAgBgRQRAIAMoAkQiDyADKAJARgRAIDkgDxCrBiApKAIAIQ8LIDkoAgAgD0EDdGoiASACNgIAICkhESABQQRqDAELIAFB1AJqQQE6AAAgAygCOCIPIAMoAjRGBEAgUyAPEKsGIDQoAgAhDwsgUygCACAPQQN0aiIBIAI2AgAgNCERIAFBBGoLIhIgFTYCACARIA9BAWo2AgAgCEEIayIIDQALDAELIBRB1AJqQgA3AgAgFEEBNgLMAiAUQYSqwQA2AsgCIBRBmL/AADYC0AIgFEHIAmpBjKrBABDcCgALIAMoAhQiAQRAIBlFDQkgAygCDCIYIAFBA3RqISIgBSgCCCElIAUoAhAhICAFKAIcIRwgBSgCFCEWIAUoAkAhHiAFKAI4IRoDQCAYKAIAIgEgIU8NCiAZIAFB6AJsaiIBKAIARQ0KIAEoAgQgGCgCBEcNCgJAAkAgAUH4AGoqAgBDAAAAAFwNACABQfwAaioCAEMAAAAAXA0AIAFBgAFqKgIAQwAAAABcDQAgAUGEAWoqAgBDAAAAAFwNACABQYgBaioCAEMAAAAAXA0AIAFBjAFqKgIAQwAAAABbDQELIAFBwAJqKAIAIgJFDQAgAUG4AmooAgAiFyACQQN0aiEjA0BBACETAkAgFygCACIBIB5PDQAgGkUNACAaIAFBDGxqIgEoAgAgFygCBEcNACABKAIEIRtBASETCyAXQQhqIREgJSAbQQR0aiIBQQxqISYgAUEIaiEQIBsgIEkhJEECIQIDQAJAAkACQAJAIAJB/wFxQQJGDQACQCAcIB1LBEAgFiAdQThsaigCACEVDAELA0AgHCASIgFNDQIgFiABQThsaiIIKAIEIRIgCCgCCCAbRg0ACyAdIRUgASEdCyBAQRRqKAIAIB1NDR4gQEEMaigCACIIRQ0eIEBBCGooAgAiASAIIB1BOGwiCGoiDygCCCIdTQ0BIA9BDGooAgAiDyABSQRAIAggFmpBEGohHyAVIR0MBAsgDyABQfj9wQAQ4wgACwJAICRFDQACQAJAA0ACQCATDgMEAAQACyAmKAIAIRIgHCAQKAIAIhVLDQEDQCAcIBIiAU0EQEEAIRMMAgsgFiABQThsaiICKAIEIRIgGyACKAIIIghGDQALCyAVIR0gASEVDAELIBYgFUE4bGoiASgCCCEIIAEoAgAhHQsgCCAgTw0CIBYgFUE4bGoiAUEMaigCACICICBJBEAgAUEQaiEfQQAhAkEAIRMMBAsgAiAgQfj9wQAQ4wgACyAjIBEiF0cNBAwFCyAdIAFB6P3BABDjCAALIAggIEHo/cEAEOMIAAsgH0EgaigCAEGoAWwhDyAfQRhqKAIAIQgDQCAPRQ0BIA9BqAFrIQ8gCEHgAGohFSAIQagBaiEIIBUoAgBFDQALIB8oAgAiASAXKAIARiAfKAIEIgggFygCBEZxIRUCQAJAIB8oAgggASAVGyIBIDBPDQAgJ0UNACAnIAFBqAFsaiIBKAIARQ0AIAEoAgQgH0EMaigCACAIIBUbRg0BC0Hsm8EAQRNBzKrBABDhCQALIAEoAghFDQAgAUEQaigCACEIIAFBDGooAgAhFSADKAJEIg8gAygCQEYEQCA5IA8QqwYgKSgCACEPCyApIA9BAWo2AgAgOSgCACAPQQN0aiIBIAg2AgQgASAVNgIADAALAAsACyAiIBhBCGoiGEcNAAsLQQAhDyADQQA2AiAgA0EANgIsIAMoAhxFBEAgTkEAEKgGIAMoAiAhDwsgAygCGCAPQQJ0akEANgIAIAMgD0EBajYCICADKAJEIQECQCAZBEBBASABIAFBAU0bQQFrIRYgCSgCJCFDIAkoAhwhNiAxKAIoISggMSgCMCEeIDEoAjwhIyAxKAIkIUQgMSgCHCE7IAUoAgghNyAFKAIQISYgBSgCHCEQIAUoAhQhJSAFKAJAITogBSgCOCE8IDEoAjQhIkEAISADQCADKAI8IAFBA3RqQQhrIQ8gAygCSCECA0AgAUUNAyApIAFBAWsiATYCACAPKAIAIhwgIU8NFyAZIBxB6AJsaiIYKAIARQ0XIA9BBGooAgAiGiAYKAIERw0XIA9BCGshDyAYQRRqKAIAIAJGDQAgGEHlAmotAAANAAsgASAWSQRAAkACQCAgIBhBtAJqKAIARw0AIAMoAiAiAgRAIAMoAgggAygCGCACQQJ0akEEaygCAGsgQk8NAQwCC0H0wsAAQStBnKrBABCqCgALIAMoAiwiDyADKAIoRgRAIFIgDxCoBiADKAIsIQ8LIAMoAiQgD0ECdGogIDYCACADIA9BAWo2AiwgAygCCCEBIAMoAiAiDyADKAIcRgRAIE4gDxCoBiADKAIgIQ8LIAMoAhggD0ECdGogATYCACADIA9BAWo2AiAgAygCRCEBQQAhIAsgASEWCyAYQbQCaigCACEkAkAgGEHAAmooAgAiAkUNACAYQbgCaigCACIXIAJBA3RqIS8DQEEAIRMCQCAXKAIAIgIgOk8NACA8RQ0AIDwgAkEMbGoiAigCACAXKAIERw0AIAIoAgQhG0EBIRMLIBdBCGohESA3IBtBBHRqIgJBDGohLCACQQhqISsgGyAmSSEqQQIhAgNAAkACQAJAAkAgAkH/AXFBAkYNAAJAIBAgHUsEQCAlIB1BOGxqKAIAIRUMAQsDQCAQIBIiCE0NAiAlIAhBOGxqIg8oAgQhEiAPKAIIIBtGDQALIB0hFSAIIR0LIEBBFGooAgAgHU0NHyBAQQxqKAIAIg9FDR8gQEEIaigCACIIIA8gHUE4bCIPaiIdKAIIIh9NDQEgHUEMaigCACIdIAhJBEAgDyAlakEQaiEfIBUhHQwECyAdIAhB+P3BABDjCAALAkAgKkUNAAJAAkADQAJAIBMOAwQABAALICwoAgAhEiAQICsoAgAiFUsNAQNAIBAgEiICTQRAQQAhEwwCCyAlIAJBOGxqIggoAgQhEiAbIAgoAggiCEYNAAsLIBUhHSACIRUMAQsgJSAVQThsaiICKAIIIQggAigCACEdCyAIICZPDQIgJSAVQThsaiICQQxqKAIAIgggJkkEQCACQRBqIR9BACECQQAhEwwECyAIICZB+P3BABDjCAALIC8gESIXRw0EDAULIB8gCEHo/cEAEOMIAAsgCCAmQej9wQAQ4wgACyAfQSBqKAIAQagBbCEPIB9BGGooAgAhCANAIA9FDQEgD0GoAWshDyAIQeAAaiEVIAhBqAFqIQggFSgCAEUNAAsgHygCACIIIBcoAgBGIB8oAgQiDyAXKAIERnEhFQJAAkAgHygCCCAIIBUbIgggME8NACAnRQ0AICcgCEGoAWxqIggoAgBFDQAgCCgCBCAfQQxqKAIAIA8gFRtGDQELQeybwQBBE0HMqsEAEOEJAAsgCCgCCEUNACAIQRBqKAIAIQ8gCEEMaigCACEVICkgAygCQCABRwR/IAEFIDkgARCrBiApKAIACyIIQQFqIgE2AgAgOSgCACAIQQN0aiIIIA82AgQgCCAVNgIADAALAAsACyAgICRLIQ9BACEdAkAgHCBETw0AIDtFDQAgOyAcQQN0aiICQQRqQQAgAigCACAaRhshHQsgICAkIA8bISBBAiEXA0ACQAJAAkACQAJAAkACQAJAIBdB/wFxQQJGDQAgHyEbA0ACQCAbICNJBEAgIiAbQYADbGooAgAiHyETDAELA0AgIyAPIgJNDQMgIiACQYADbGoiCCgCBCEPIAgoAgggFUYNAAsgGyETIAIhGwsgS0EUaigCACAbTQ0iIEtBDGooAgAiCEUNIiBLQQhqKAIAIgIgG0GAA2wiESAIaiISKAIIIghNDQIgEkEMaigCACISIAJPDQMgEyEbIBEgImpB/AJqLQAADQALIEsoAgAiAiAIQQR0aiEIIAIgEkEEdGohEgwHCyAdRQ0FQX8hD0F/IR8gHiAdKAIAIhVLBEAgKCAVQQR0aiICKAIIIR8gAkEMaigCACEPCyAiRQ0EIB8hGwNAAkAgGyAjSQRAICIgG0GAA2xqIgIoAgghEiACKAIAIh8hHQwBCwNAICMgDyICTQ0IICIgAkGAA2xqIggoAgQhDyAVIAgoAggiEkYNAAsgGyEdIAIhGwsgEiAeTw0DICIgG0GAA2xqIghBDGooAgAiAiAeTw0EIB0hGyAIQfwCai0AAA0ACyAoIBJBBHRqIQggKCACQQR0aiESQQAhHUEAIRcMBgsgCCACQej9wQAQ4wgACyASIAJB+P3BABDjCAALIBIgHkHo/cEAEOMIAAsgAiAeQfj9wQAQ4wgACyAfICNPDQAMGwtBACECAkAgHCBDTw0AIDZFDQAgNiAcQRRsaiICQQRqQQAgAigCACAaRhshAgsgCSgCHCIvIBxBFGxqIixBEGohMiAsQQRqIRcgL0UgCSgCJCI+IBxNciEdIAkoAighKyAJKAIwIR8gCSgCPCESIAkoAhAhPyAJKAIIISQgCSgCNCEVQQIhNQJAAkADQAJAAkACQCA1QQJGDQAgSCEbA0ACQAJAIBsgOE8EQCA4IC4iD0sNAQwECyBJIBtBBHRqKAIAIkghCAwBCwNAAkAgSSAPQQR0aiIIKAIEIS4gCCgCCCBQRw0AIDggLiIPSw0BDAQLCyAbIQggDyEbCyBHQRRqKAIAIBtNDSEgR0EMaigCACIRRQ0hAkACQAJAIEdBCGooAgAiDyARIBtBBHRqIhsoAggiEUsEQCAbQQxqKAIAIhMgD08NASAIIRsgHQ0EID4gRygCACIPIBNBBHRqIhMoAgAgDyARQQR0aiIPKAIAIhEgDygCBCIqIBpGIBEgHEZxIjMbIg9NDQQgLCgCACAaRw0EIBMoAgQgKiAzGyIzIC8gD0EUbGoiESgCAEcNBCAXKAIAIhMgEUEEaiIqKAIARw0EIBcoAgQiPSAqKAIERw0EIBMgP08NBCAkRQ0EICQgE0GUAmxqIiotAJACQQJGDQQgKigCACA9Rw0EICpBDGooAgAiPSAyKAIAIhNNDQQgKkEEaigCACIqRQ0EICogE0HoA2xqIhsoAogDRQRAIBFBEGooAgAhEQwDCyARQRBqKAIAIhEgGygCkANHDQIgEyERDAMLIBEgD0Ho/cEAEOMIAAsgEyAPQfj9wQAQ4wgACyAIIRsgESA9Tw0BICogEUHoA2xqIj0oAogDRQ0BID0oApADIBNHDQELIAghGyAqIBFB6ANsakGEA2otAAANAAsMAQsgAkUNBEF/IS5BfyFIIAJBCGooAgAiUCAfSQRAICsgUEEEdGoiAigCCCFIIAJBDGooAgAhLgsgFUUNASBIIRsDQAJAAkAgEiAbTQRAIBIgLiIPSw0BDAcLIBUgG0EEdGooAgAiSCEIDAELA0ACQCAVIA9BBHRqIgIoAgQhLiACKAIIIFBHDQAgEiAuIg9LDQEMBwsLIBshCCAPIRsLIBIgG00NIAJAAkACQCAVIBtBBHRqIg8oAggiAiAfSQRAIA9BDGooAgAiDyAfTw0BIAghGyAdDQQgPiArIA9BBHRqIhMoAgAgKyACQQR0aiICKAIAIg8gAigCBCICIBpGIA8gHEZxIjgbIg9NDQQgLCgCACAaRw0EIBMoAgQgAiA4GyIzIC8gD0EUbGoiESgCAEcNBCAXKAIAIgIgEUEEaiITKAIARw0EIBcoAgQiOCATKAIERw0EIAIgP08NBCAkRQ0EICQgAkGUAmxqIhMtAJACQQJGDQQgEygCACA4Rw0EIBNBDGooAgAiSSAyKAIAIgJNDQQgE0EEaigCACITRQ0EIBMgAkHoA2xqIhsoAogDRQRAIBFBEGooAgAhOAwDCyARQRBqKAIAIjggGygCkANHDQIgAiE4DAMLIAIgH0Ho/cEAEOMIAAsgDyAfQfj9wQAQ4wgACyAIIRsgOCBJTw0BIBMgOEHoA2xqIhEoAogDRQ0BIBEoApADIAJHDQELIAghGyATIDhB6ANsakGEA2otAAANAAtBACECIBUhSSASIThBACE1CyApIAMoAkAgAUcEfyABBSA5IAEQqwYgKSgCAAsiCEEBaiIBNgIAIDkoAgAgCEEDdGoiCCAzNgIEIAggDzYCAAwBCwtBACFJIEggEiI4Tw0BDBwLIBUhSSASITgLIBhB1AJqQQA6AAAgGCADKAIgIgFBAWsiEjYCCCAYQQxqIAMoAggiDzYCACABBEAgGEEQaiAPIAMoAhggEkECdGooAgBrNgIAIBggAygCSDYCFCADKAIEIA9GBEAgAyAPEKsGIAMoAgghDwsgAygCACAPQQN0aiIBIBo2AgQgASAcNgIAIAMgD0EBajYCCCADKAJEIQEMAwsgEkEAQayqwQAQ4wgACyAIKAIAIgIgHEYgCCgCBCIIIBpGcSEbIBIoAgQgCCAbGyEIIBIoAgAgAiAbGyESICkgAygCQCABRwR/IAEFIDkgARCrBiApKAIACyICQQFqIgE2AgAgOSgCACACQQN0aiICIAg2AgQgAiASNgIADAALAAsAC0EAISAgAUUNACApIAFBAWs2AgAMFAsgAygCLCIPIAMoAihGBEAgUiAPEKgGIAMoAiwhDwsgAygCJCAPQQJ0aiAgNgIAIAMgD0EBajYCLCADKAIIIQEgAygCICIPIAMoAhxGBEAgTiAPEKgGIAMoAiAhDwsgAygCGCAPQQJ0aiABNgIAIAMgD0EBaiIBNgIgIAMoAjgiAgRAIBlFDRQgAygCMCIIIAJBA3RqIQIDQCAIKAIAIgEgIU8NFSAZIAFB6AJsaiIBKAIARQ0VIAEoAgQgCEEEaigCAEcNFSABQdQCai0AAARAIAFBAToA1AIgAUGIAWpCADcDACABQYABakIANwMAIAFB+ABqQgA3AwAgAUHQAmogAUHMAmoqAgA4AgALIAIgCEEIaiIIRw0ACyADKAIgIQELIAFBAWsiCCAAKALkA0sEQCAUQQA2AtACIBRCBDcCyAIgVyAIIBRByAJqEPoBIAMoAiBBAWshCAsgCCAAKALwA0sEQCAUQQA2AtACIBRCBDcCyAIgViAIIBRByAJqEPoBIAMoAiBBAWshCAsgFEEANgKwAiAUQgQ3AqgCAkAgACgC5AMiHCAITwRAIAAoAtwDIQIgBigCECEZIAUoAhwhASAFKAIUIRcgBigCCCERAkAgCEUNACACIQ8gCEEMbCIbQQxrIhJBDG5BAWpBB3EiCARAIAhBDGwhCANAIA9BCGpBADYCACAPQQxqIQ8gCEEMayIIDQALCyASQdQASQ0AIAIgG2ohCANAIA9B3ABqQQA2AgAgD0HQAGpBADYCACAPQcQAakEANgIAIA9BOGpBADYCACAPQSxqQQA2AgAgD0EgakEANgIAIA9BFGpBADYCACAPQQhqQQA2AgAgCCAPQeAAaiIPRw0ACwsgAQRAIBcgAUE4bGohIkEAIRZBBCEYQQAhAQNAAkAgF0EwaigCACIIRQ0AIAhBqAFsIQggF0EoaigCACEPAkACQAJAAkAgEQRAIAggD2ohGkEAISAMAQsgD0HkAGohDwNAAkAgDy0AAEEBcUUNACAPQQRrKAIARQ0AIA9BJGsoAgANAyAPQRhrKAIADQQLIA9BqAFqIQ8gCEGoAWsiCA0ACwwECwNAAkADQAJAIA9B5ABqLQAAQQFxRQ0AIA9B4ABqKAIARQ0AQQEhFUEAIR8CfyAPQUBrKAIARQRAQQEhHUEBIRNBAAwBCyAPQcQAaigCACIIIBlPDQUgESAIQegCbGoiCCgCAEUNBSAIKAIEIA9ByABqKAIARw0FIAhB1AJqLQAAQQBHIRMgCEHlAmotAAAhHSAIKAIICyEIIA9BzABqKAIABH8gD0HQAGooAgAiEiAZTw0GIBEgEkHoAmxqIhIoAgBFDQYgEigCBCAPQdQAaigCAEcNBiASQeUCai0AACEVIBIoAgghHyASQdQCai0AAEEARwVBAQshGyAbIBVB/wFxIhJFcQ0AIBJBAEcgEyAdQf8BcSISG0UNAgsgGiAPQagBaiIPRw0ACyAgRQ0FDAQLIB8gCCASGyIIIBxJBEAgAiAIQQxsaiIIQQhqIhsgCCgCCCIVIAgoAgRGBEAgCCAVEKgGIBsoAgAhFQsgFUEBajYCACAIKAIAIBVBAnRqIBY2AgAgFCgCrAIgFkYEQCAUQagCaiAWEKgGIBQoAqgCIRggFCgCsAIhFgsgGCAWQQJ0aiAPNgIAQQEhICAUIBZBAWoiFjYCsAIgGiAPQagBaiIPRg0EDAELCyAIIBxB+ILCABDjCAALQeybwQBBE0HYgsIAEOEJAAtB7JvBAEETQeiCwgAQ4QkACyAAKALYAyIPIAAoAtQDRgRAIFUgDxCoBiAAKALYAyEPCyAAIA9BAWo2AtgDIAAoAtADIA9BAnRqIAE2AgALIAFBAWohASAiIBdBOGoiF0cNAAsgBigCECEZIAYoAgghEQsgAygCICIIQQFrIhUgACgC8AMiE00EQCAAKALoAyEBIDEoAjwhAiAxKAI0IR8CQCAVRQ0AIAEhDyAIQQxsQRhrIhtBDG5BAWpBB3EiCARAIAhBDGwhCANAIA9BCGpBADYCACAPQQxqIQ8gCEEMayIIDQALCyAbQdQASQ0AIAEgFUEMbGohCANAIA9B3ABqQQA2AgAgD0HQAGpBADYCACAPQcQAakEANgIAIA9BOGpBADYCACAPQSxqQQA2AgAgD0EgakEANgIAIA9BFGpBADYCACAPQQhqQQA2AgAgCCAPQeAAaiIPRw0ACwsCQCACBEAgEUUNASACQYADbCEbIB9B/AJqIQ9BACEVA0AgD0HsAmsoAgAiAiAZTw0CIBEgAkHoAmxqIgIoAgBFDQIgAigCBCAPQegCaygCAEcNAgJAAkAgD0HkAmsoAgAiCCAZTw0AIBEgCEHoAmxqIggoAgBFDQAgCCgCBCAPQeACaygCAEcNACAPLQAADQEgAkHlAmotAAAiHUEAIAhB5QJqLQAAIh8bDQEgHUUEQCACQdQCai0AAA0CCyAfQf8BcUUEQCAIQdQCai0AAA0CCyAIIAIgHRsoAggiAiATSQRAIAEgAkEMbGoiAkEIaiIfIAIoAggiEiACKAIERgRAIAIgEhCoBiAfKAIAIRILIBJBAWo2AgAgAigCACASQQJ0aiAVNgIADAILIAIgE0GYrMEAEOMIAAtB7JvBAEETQYiswQAQ4QkACyAVQQFqIRUgD0GAA2ohDyAbQYADayIbDQALCyADKAIIIgFFDQMgEUUNFyADKAIAIhIgAUEDdGohHQNAIBIoAgAiASAZTw0YIBEgAUHoAmxqIgEoAgBFDRggASgCBCASQQRqKAIARw0YIBRByAJqIgIgAUGwAWoiCCABQShqIg8Q/QUgAUHoAWogAkEIaiIbKAIANgIAIAFB4AFqIBQpAsgCNwIAIAFB9AFqIAFBzAFqKgIAIlo4AgAgAUHwAWogWjgCACABQewBaiBaOAIAIAIgCCAPEMUCIAFBqAFqIh8gAkEQaikCADcCACABQaABaiIVIBspAgA3AgAgAUGYAWogFCkCyAI3AgAgAUH4AWotAAAiAkEBcQRAIAFBADYC7AELIAJBAnEEQCABQQA2AvABCyACQQRxBEAgAUEANgL0AQsgAkEIcQRAIAFCADcCmAEgFUEANgIACyACQRBxBEAgAUGcAWpBADYCACABQaQBakIANwIACyACQSBxBEAgFUEANgIAIB9CADcCAAsgAUGIAmogAUGkAmopAgA3AgAgAUGQAmogAUGsAmooAgA2AgAgAUGEAmogAUGgAmoqAgAgggFDAAAAAEMAAIA/IAEqAvQBIlqVIlsgWkMI5TweXxsgWyBaQwjlPJ5gG5QgAUGUAmoqAgAiWpSSOAIAIAFBgAJqIAFBnAJqKgIAIFoggwFDAAAAAEMAAIA/IAEqAvABIluVIl0gW0MI5TweXxsgXSBbQwjlPJ5gG5SUkjgCACABQfwBaiABQZgCaioCACBaIIQBQwAAAABDAACAPyABKgLsASJalSJbIFpDCOU8Hl8bIFsgWkMI5TyeYBuUlJI4AgAgHSASQQhqIhJHDQALDAMLQeybwQBBE0H4q8EAEOEJAAsgFSATQeirwQAQ5AgACyAIIBxByILCABDkCAALAkAgAygCICIPQQFrIhEgACgClAQiAU0EQCABIRMMAQsCQAJAIBEgAWsiFSAAKAKQBCABa0sEQCMAQSBrIgIkAAJAAkAgASAVaiIIIAFJDQBBBCBNKAIEIhJBAXQiESAIIAggEUkbIgggCEEETRsiEUHAA2whCCARQZPJpAJJQQJ0IRMCQCASRQRAIAJBADYCGAwBCyACQQQ2AhggAiASQcADbDYCHCACIE0oAgA2AhQLIAJBCGogEyAIIAJBFGoQ2gYgAigCDCEIIAIoAghFBEAgTSARNgIEIE0gCDYCAAwCCyAIQYGAgIB4Rg0BIAhFDQAgCCACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAIAAoApQEIRIMAQsgASESIBUNACABIRMMAQsgDyASaiABQX9zaiETIAEgD2tBAWohCCAAKAKMBCASQcADbGohDwNAIA9CBDcCACAPQbgDakIANwIAIA9BsANqQoCAgIDAADcCACAPQagDakIANwIAIA9BoANqQoCAgIDAADcCACAPQZgDakIANwIAIA9BkANqQoCAgIDAADcCACAPQYgDakIENwIAIA9BgANqQgA3AgAgD0H4AmpCgICAgMAANwIAIA9B8AJqQgQ3AgAgD0HoAmpCADcCACAPQeACakKAgICAgAE3AgAgD0HYAmpCCDcCACAPQdACakIANwIAIA9ByAJqQoCAgICAATcCACAPQcACakIINwIAIA9BuAJqQgA3AgAgD0GwAmpCgICAgMAANwIAIA9BqAJqQgQ3AgAgD0GgAmpCADcCACAPQZgCakKAgICAwAA3AgAgD0GQAmpCBDcCACAPQYgCakIANwIAIA9BgAJqQoCAgIDAADcCACAPQfgBakIENwIAIA9B8AFqQgA3AgAgD0HoAWpCgICAgMAANwIAIA9B4AFqQgQ3AgAgD0HYAWpCADcCACAPQdABakKAgICAwAA3AgAgD0HIAWpCBDcCACAPQcABakIANwIAIA9BuAFqQgQ3AgAgD0GwAWpCADcCACAPQagBakKAgICAwAA3AgAgD0GgAWpCBDcCACAPQZgBakIANwIAIA9BkAFqQoCAgIDAADcCACAPQYgBakIENwIAIA9BgAFqQgA3AgAgD0H4AGpCgICAgMAANwIAIA9B8ABqQgQ3AgAgD0HoAGpCADcCACAPQeAAakKAgICAwAA3AgAgD0HYAGpCBDcCACAPQdAAakIANwIAIA9ByABqQoCAgIDAADcCACAPQUBrQgQ3AgAgD0E4akIANwIAIA9BMGpCgICAgMAANwIAIA9BKGpCBDcCACAPQSBqQgA3AgAgD0EYakKAgICAwAA3AgAgD0EQakIENwIAIA9BCGpCADcCACAPQcADaiEPIAhBAWoiCA0ACyADKAIgQQFrIRELIAAgEzYClAQLAkACQAJAAkACQCARRQ0AIAAoAtwDIQ8gMSgCNCECIDEoAjwhGyAAKALoAyEIIAAoAowEIRIgACgC8AMhASAUKAKwAiEfIBQoAqgCIR0gACgC5AMiFyATSQRAQQAhFQNAIBUgF0YNBCABIBVGDQMgEiAVIBRBMGogAyAGIB0gHyAPKAIAIA9BCGooAgAgAiAbIAgoAgAgCEEIaigCACAJEBYgEkHAA2ohEiAPQQxqIQ8gCEEMaiEIIBVBAWoiFSARRw0ACwwBCyABIBNPBEBBACEVA0AgEyAVRg0FIBIgFSAUQTBqIAMgBiAdIB8gDygCACAPQQhqKAIAIAIgGyAIKAIAIAhBCGooAgAgCRAWIBJBwANqIRIgD0EMaiEPIAhBDGohCCAVQQFqIhUgEUcNAAsMAQtBACEVA0AgASAVRg0CIBIgFSAUQTBqIAMgBiAdIB8gDygCACAPQQhqKAIAIAIgGyAIKAIAIAhBCGooAgAgCRAWIBJBwANqIRIgD0EMaiEPIAhBDGohCCAVQQFqIhUgEUcNAAsLIAAoAtgDIQEgAEEANgLYAyABBEBDAAAAAEMAAIA/IFmVIlogWUMI5TweXxsgWiBZQwjlPJ5gGyFdIAAoAtADIhMgAUECdGohFwNAAkACQAJAIAUoAhwiAiATKAIAIgFLBEAgBygCECIIIAUoAhQgAUE4bGoiHSgCECIBTQ0BIAcoAggiAkUNASACIAFBqAFsaiIBKAIARQ0BIAEoAgQgHUEUaigCAEcNASAIIB1BGGooAgAiFU0NAiACIBVBqAFsaiICKAIARQ0CIAIoAgQgHUEcaigCAEcNAiABQZwBaioCAEP//39/IAFB5ABqLQAAQQJxGyJbIFsgAkGcAWoqAgBD//9/fyACQeQAai0AAEECcRsiWiBaIFteGyBaIFpcGyJaQ///f39dRQ0DAkAgHUEwaigCACIbRQRAQwAAAAAhWwwBCyAdQShqKAIAIR9BACERQwAAAAAhWwNAQwAAAAAhXAJAIB8gEUGoAWxqIgJBhAFqKAIAIgFFDQAgAkH8AGooAgAhAiABQQNxIQgCQCABQQRJBEBBACESDAELIAJBvAFqIQ8gAUF8cSEVQQAhEgNAIFwgD0GQAWsqAgCSIA9B4ABrKgIAkiAPQTBrKgIAkiAPKgIAkiFcIA9BwAFqIQ8gFSASQQRqIhJHDQALCyAIRQ0AIAIgEkEwbGpBLGohDwNAIFwgDyoCAJIhXCAPQTBqIQ8gCEEBayIIDQALCyBbIFySIVsgGyARQQFqIhFHDQALCyBaIF0gW5QiWl1FDQMgDSBZIAYgByAdQRBqIFogDigCEBEpAAwDCyABIAJB3P/BABDjCAALQeybwQBBE0GUhcIAEOEJAAtB7JvBAEETQaSFwgAQ4QkACyAXIBNBBGoiE0cNAAsLIBQoAqwCBEAgFCgCqAIQmgILIE9FDQMgAygCCCIBRQ0DAkAgBigCCCICRQ0AIAMoAgAiCCABQQN0aiEPIBQqAjQhWSAGKAIQIRVBACESA0AgCCgCACIBIBVPDQEgAiABQegCbGoiASgCAEUNASABKAIEIAhBBGooAgBHDQEgAUHhAmotAAAEQCABQdgCaioCACFaIAFB4AJqIFkgAUHgAGoqAgAiWyBblCABQeQAaioCACJbIFuUkiABQegAaioCACJbIFuUkhCbASABQewAaioCACJbIFuUIAFB8ABqKgIAIlsgW5SSIAFB9ABqKgIAIlsgW5SSEJsBIAFB3AJqKgIAlJKUIFpDAAAgQZVeIgE6AAAgASASciESCyAPIAhBCGoiCEcNAAsgEkEBcUUNBCAUKgI0InkhWUEAISNDAAAAACFsQwAAAAAhcEMAAAAAIXVDAAAAACF2QwAAAAAhcUMAAAAAIXJDAAAAACFtQwAAAAAhZkMAAAAAIW5DAAAAACFrQwAAAAAhaUMAAAAAIXNDAAAAACF3QwAAAAAheCMAQfADayIQJAAgECBZOAIMIBBCADcCJCAQQoCAgIDAADcCHCAQQgA3AhQgEEHA+sAANgIQIBBBADYCNCAQQgQ3AiwgEEIANwJMIBBCgICAgMAANwJEIBBCADcCPCAQQcD6wAA2AjggECBZOAJUIAogBiAHQQEgWRBDIFkhXgJAAkACQAJAIBRByAJqIi8CfyADKAIIIgEEQCAGKAIIIkJFDQQgAygCACIkIAFBA3RqIUMgEEGkA2ohMCAHKAIQIUQgBigCECE3IAcoAgghOwNAICQoAgAiASA3Tw0FIEIgAUHoAmxqIgEoAgBFDQUgASgCBCAkKAIERw0FAkAgAUHgAmotAABFDQAgAUHsAGoqAgAhZCABQfAAaioCACFnIAFB9ABqKgIAIWMgAUGsAWoqAgAhXyABQaABaioCACFaIAFBmAFqKgIAIWEgAUGQAmoqAgAhXCABQagBaioCACFbIAFBiAJqKgIAIV4gAUGcAWoqAgAhXSABQYwCaioCACFiIAFBpAFqKgIAIWAgAUHgAGoqAgAhaCABQewBaioCACFvIAFB/AFqKgIAIWogAUHkAGoqAgAheiABQfABaioCACFsIAFBgAJqKgIAIXAgECAQKgIMIlkgAUGEAmoqAgAgAUH0AWoqAgCUlCABQegAaioCAJI4AugBIBAgeiBZIHAgbJSUkjgC5AEgECBoIFkgaiBvlJSSOALgASAQIGMgWSBfIFogXpQgWyBilJIgXyBclJIiX5QgWiBhIF6UIF0gYpSSIFogXJSSImOUIFsgXSBelCBgIGKUkiBbIFyUkiJclJKSlJI4AvQBIBAgZyBZIFsgX5QgXSBjlCBgIFyUkpKUkjgC8AEgECBkIFkgWiBflCBhIGOUIF0gXJSSkpSSOALsASAQQdgAaiAQQeABaiBZIAFBKGogAUHAAWoQ2QEgAUHAAmooAgAiAkUNAAJAIDtFDQAgAUG4AmooAgAiFiACQQN0aiE6A0AgFigCACIBIERPDQEgOyABQagBbGoiASgCAEUNASABKAIEIBYoAgRHDQEgASgCCARAIAFBJGoqAgAhXCABQSxqKgIAIV4gAUEoaioCACFiIBAgECoCZCJdIAFBIGoqAgAiX5QgECoCWCJZIAFBFGoqAgAiYZSTIBAqAlwiWiABQRhqKgIAImCUkyAQKgJgIlsgAUEcaioCACJjlJM4AqgBIBAgWyBflCBZIGCUIF0gY5SSIFogYZSTkjgCpAEgECBbIGGUIFogX5QgXSBglCBZIGOUk5KSOAKgASAQIFogY5QgXSBhlCBZIF+UkpIgWyBglJM4ApwBIBAgECoCcCBeIF0gWSBilCBaIFyUkyJfIF+SIl+UIFkgWyBclCBZIF6UkyJhIGGSImGUIFogWiBelCBbIGKUkyJeIF6SIl6Uk5KSkjgCtAEgECAQKgJsIGIgXSBhlCBbIF6UIFkgX5STkpKSOAKwASAQIBAqAmggXCBdIF6UIFogX5QgWyBhlJOSkpI4AqwBIBBB9ABqIgIgAUE4aigCACABQTxqKAIAIggoAghBAWtBeHFqQQhqIAFB/ABqIBBBnAFqIAgoArgBEQIAIBAgBjYCyAEgECAFNgLEASAQIAc2AsABIBAgFjYCuAEgECAQQSxqNgLYASAQIBBBDGo2AtQBIBAgEEHUAGo2AtABIBAgEEE4ajYCvAEgECAKNgLMASAQQeABaiACEOsFIBAgEEG4AWo2AsACIBBBADYC3AIgEEIENwLUAgJAIAooAnAiJkUNACAQQdQCakEAEKgGIBAoAtQCIhogECgC3AIiAUECdGpBADYCACABQQFqIhFFDQAgCigClAEhKCAKKAKMASEsIAooAmghPQNAIBAgEUEBayIPNgLcAgJAAkAgD0ECdCJFIBpqKAIAIgEgJkkEQCAQKALYAiE8ID0gAUEHdGoiGS0AeEEBcUUNASAZQeQAaigCACEBIBlB6ABqKAIAIQIgGUHsAGooAgAhCCAZKAJgIRIgEEHgAmogGSAQQeABahDgAiAQICwgEkEEdGpBACASIChJGyISQQhqQQAgEhs2AvACIBAgLCAIQQR0akEAIAggKEkbIghBCGpBACAIGzYC/AIgECAsIAJBBHRqQQAgAiAoSRsiAkEIakEAIAIbNgL4AiAQICwgAUEEdGpBACABIChJGyIBQQhqQQAgARs2AvQCIBAtAOMCQQN0IicgEC0A4gJBAnQiICAQLQDhAkEBdCISIBAtAOACIiJycnKtQv8BgyGGAUIAIYUBA0ACQCCGASCFAYinQQFxRQ0AIBBB8AJqIIUBp0ECdGooAgAiCEUNACAIQQRqKAIAISsgECgCwAIiHCgCACIBKAIAIgIgCCgCACIlRgRAIAEoAgQgK0YNAQsgHCgCBCEIIBAgAiAlIAIgJUsiExs2AowDIBAgJSACIBMbNgKIAyAIIBBBiANqENcBQQFxDQACQAJAAkACQAJAIBwoAggiAigCECIIIAEoAgAiKk0NACACKAIIIgJFDQAgAiAqQagBbGoiHigCAEUNACABKAIEIjIgHigCBEcNACAIICVNDQEgAiAlQagBbGoiIygCAEUNASAjKAIEICtHDQEgI0EQaigCACE+ICNBDGooAgAhNSAeQRBqKAIAIT8gHkEMaigCACEzICMoAgghNgJAIB4oAggiSgRAIDZBAUcNASAzIDVHDQEgPiA/Rg0HDAELIDZFDQYLICNB1ABqKAIAIB5B0ABqKAIAcUUNBSAeQdQAaigCACAjQdAAaigCAHFFDQVDAAAAACFZIBwoAgwiAUFAaygCACIIICpNDQQgASgCOCICRQ0EIAggJU0NBCACICpBDGxqIggoAgAgMkcNBCACICVBDGxqIgIoAgAgK0cNBCABQRBqKAIAIhcgCEEEaigCACIYTQ0EIAFBFGooAgAiCEUNBCACKAIEISEgASgCCCICIBhBBHRqIkYoAggiEyABQRxqKAIAIgFPDQIDQCAIIBNBOGxqIlFBDGooAgAgIUYNBCABIFEoAgAiE0sNAAsMAgtB7JvBAEETQZylwQAQ4QkAC0Hsm8EAQRNBrKXBABDhCQALIAEgRkEAIBcgGEsbQQxqKAIAIhNNDQEgCEEEaiEYA0AgE0E4bCJGIAhqKAIIICFGDQEgASAYIEZqKAIAIhNLDQALDAELIAEgE00NACAXIAggE0E4bGoiASgCCE0NACACRQ0AIBcgAUEMaigCAE0NACABQTBqKAIAIhNFDQAgAUEoaigCACIIIBNBqAFsaiFGQQAhFwNAAkAgCEGEAWooAgAiIUUNACAIQfwAaigCACIBRQ0AIAEiEyEYICFBMGwiUUEwayJYQTBuQQFqQQNxIiEEQCAhQTBsISEDQCAYIBMgGEEYaioCACATKgIYXRshEyAYQTBqIRggIUEwayIhDQALCyBYQZABTwRAIAEgUWohAQNAIBhBkAFqIBhB4ABqIBhBMGogGCATIBhBGGoqAgAgEyoCGF0bIhMgGEHIAGoqAgAgEyoCGF0bIhMgGEH4AGoqAgAgEyoCGF0bIhMgGEGoAWoqAgAgEyoCGF0bIRMgASAYQcABaiIYRw0ACwsgE0UNACAXRQRAIAghFyATIQIMAQsgAiATIAIqAhggEyoCGF8iARshAiAXIAggARshFwsgRiAIQagBaiIIRw0ACyAXRQ0AIAIqAhghWQtBACETQQAhGAJAAkAgSgRAIBwoAhAiASgCECAzTQ0BIAEoAggiAUUNASABIDNB6AJsaiIBKAIARQ0BIAEoAgQgP0cNASABQQhqIRgLIDYEQCAcKAIQIgEoAhAgNU0NAiABKAIIIgFFDQIgASA1QegCbGoiASgCAEUNAiABKAIEID5HDQIgAUEIaiETCyAcKAIUIgIoAgQhASAQQYgDaiACKAIAIAEoAghBAWtBeHFqQQhqIAEgKiAyICUgKyAeQQhqICNBCGogGCATQQAgWUEAIFlDAAAAACAcKAIYIgEqAgAgWRBvIBAoAogDQQJGDQIgECoCoAMiWSAcKAIcKgIAIlpeRQRAIAEgWjgCACAcKAIgIggoAggiAiEXIBcgCCgCBEYEQCAIIAIQtgYgCCgCCCEXCyAIKAIAIhMgF0E0bGoiASAwKQIANwIcIAEgECkCiAM3AgAgAUEQaiAQQYgDaiIYQRBqKQIANwIAIAFBCGogGEEIaikCADcCACABQSRqIDBBCGopAgA3AgAgAUEsaiAwQRBqKQIANwIAIAEgWTgCGCAIIBdBAWo2AgggEEHYA2oiCEEIaiIXIBMgAkE0bGoiAUEIaikCADcDACAIQRBqIhggAUEQaikCADcDACAQQcADaiIIQQhqIhwgAUEkaikCADcDACAIQRBqIiUgAUEsaikCADcDACAQIAEpAgA3A9gDIBAgASkCHDcDwAMgASoCGCFZAkAgAkUEQEEAIQEMAQsDQEEAQX8gEyACQQFrIh5BAXYiAUE0bGoiCEEYaiIjKgIAIlogWWAiIRtBAUECICEbIFkgWmAbQQFqQQJJBEAgAiEBDAILIBMgAkE0bGoiAiAIKQIANwIAIAJBMGogCEEwaigCADYCACACQShqIAhBKGopAgA3AgAgAkEgaiAIQSBqKQIANwIAIAJBGGogIykCADcCACACQRBqIAhBEGopAgA3AgAgAkEIaiAIQQhqKQIANwIAIAEhAiAeQQFLDQALCyATIAFBNGxqIgEgECkD2AM3AgAgASBZOAIYIAEgECkDwAM3AhwgAUEQaiAYKQMANwIAIAFBCGogFykDADcCACABQSRqIBwpAwA3AgAgAUEsaiAlKQMANwIADAMLIAEgASoCACJaIFogWSBZIFpeGyBZIFlcGzgCAAwCC0Hsm8EAQRNBvKXBABDhCQALQeybwQBBE0HMpcEAEOEJAAsghQFCAXwihQFCBFINAAsMAgsgASAmQcjgwAAQ4wgACyAQQeACaiAZIBBB4AFqEOACIBAtAOACIiJBAkYNAiAQLQDjAkEDdCEnIBAtAOICQQJ0ISAgEC0A4QJBAXQhEgsgGUH4AGohAQJAICJBAXEgEkECcSAgQQRxICdBCHFycnIiAq0ihQFCAYNQDQAgAS0AAEEBcQ0AIBkoAmAiCCAmSw0AIBogRWogCDYCACAQIBE2AtwCIBEhDwsCQCCFAUICg1ANACABLQAAQQFxDQAgGUHkAGooAgAiCCAmSw0AIA8gPEYEQCAQQdQCaiA8EKgGIBAoAtQCIRogECgC3AIhDwsgGiAPQQJ0aiAINgIAIBAgD0EBaiIPNgLcAgsCQCCFAUIEg1ANACABLQAAQQFxDQAgGUHoAGooAgAiCCAmSw0AIBAoAtgCIA9GBEAgEEHUAmogDxCoBiAQKALUAiEaIBAoAtwCIQ8LIBogD0ECdGogCDYCACAQIA9BAWoiDzYC3AILAkAgAkEISQRAIA8hEQwBCyABLQAAQQFxBEAgDyERDAELIBlB7ABqKAIAIgEgJksEQCAPIREMAQsgECgC2AIgD0YEQCAQQdQCaiAPEKgGIBAoAtQCIRogECgC3AIhDwsgGiAPQQJ0aiABNgIAIBAgD0EBaiIRNgLcAgsgEQ0ACwsgECgC2AIEQCAQKALUAhCaAgsgOiAWQQhqIhZGDQMMAQsLQfChwQBBLEGMpcEAEOEJAAtB7JvBAEETQfykwQAQ4QkACyBDICRBCGoiJEcNAAsgECgCNCEjIBAqAlQhXiAQKgIMIVkLIFkgXlsEQEECICNFDQEaCyBZIF5dRQ0BIC8gXjgCBEEBCzYCACAQKAI8IgEEQCAQKAI4IAFBAnRBC2pBeHFrEJoCCyAQKAJMBEAgECgCSBCaAgsgECgCMARAIBAoAiwQmgILIBAoAhQiAQRAIBAoAhAgAUECdEELakF4cWsQmgILIBAoAiRFDQEgECgCIBCaAgwBC0EAISUgEEEANgKUASAQQgQ3AowBAkACQAJAAkACQAJAICMEQCAHKAIQIT4gBigCECE8IAcoAgghMiAGKAIIISoCQAJAAkADQCAQICNBAWsiJjYCNCAQKAIsIh4gJkE0bGoiDygCACIBQQJGDQUgDygCMCECIA8oAiwhESAPKAIoIRkgDygCJCESIA8oAiAhCCAPKAIcISAgDyoCGCFZIA8oAhQhGiAPKAIQISUgDygCDCEXIA8oAgghHCAPKAIEIQ8CQCAmRQRAIAEhFiAPIRMgHCEPIBchGCAlIRwgGiEXIFkhYiAgISIgCCEaIBIhCCAZIRIgESEgIAIhGQwBCyAeKAIAIRYgHiABNgIAIB4oAgQhEyAeIA82AgQgHigCDCEYIB4gFzYCDCAeKAIUIRcgHiAaNgIUIB4oAhwhIiAeICA2AhwgHkEIaiInKAIAIQ8gJyAcNgIAIB5BEGoiISgCACEcICEgJTYCACAeQRhqIiUqAgAhYiAlIFk4AgAgHkEgaiIkKAIAIRogJCAINgIAIB4oAiQhCCAeIBI2AiQgHkEoaiIoKAIAIRIgKCAZNgIAIB4oAiwhICAeIBE2AiwgHkEwaiIRKAIAIRkgESACNgIAIBBB4AFqIgFBMGoiLCARKAIANgIAIAFBKGoiKyAoKQIANwMAIAFBIGoiKCAkKQIANwMAIAFBGGoiJCAlKQIANwMAIAFBEGoiJSAhKQIANwMAIAFBCGoiISAnKQIANwMAIBAgHikCADcD4AFBACEBQQEhAiAjQQRPBEAgJkECayIBQQAgASAmTRshJkEAIQEDQCAeIAFBNGxqIhEgHiACQQBBfyAeIAJBNGxqIgFBGGoqAgAiWSABQcwAaioCACJaXyIBG0EBQQIgARsgWSBaYBtBAWpBAklqIgFBNGxqIgIpAgA3AgAgEUEwaiACQTBqKAIANgIAIBFBKGogAkEoaikCADcCACARQSBqIAJBIGopAgA3AgAgEUEYaiACQRhqKQIANwIAIBFBEGogAkEQaikCADcCACARQQhqIAJBCGopAgA3AgAgJiABQQF0QQFyIgJPDQALCwJAICNBAmsgAkcEQCABIQIMAQsgHiABQTRsaiIBIB4gAkE0bGoiESkCADcCACABQTBqIBFBMGooAgA2AgAgAUEoaiARQShqKQIANwIAIAFBIGogEUEgaikCADcCACABQRhqIBFBGGopAgA3AgAgAUEQaiARQRBqKQIANwIAIAFBCGogEUEIaikCADcCAAsgHiACQTRsaiIBIBApA+ABNwIAIAFBMGogLCgCADYCACABQShqICspAwA3AgAgAUEgaiAoKQMANwIAIAFBGGoiESAkKQMANwIAIAFBEGogJSkDADcCACABQQhqICEpAwA3AgAgEEGIA2oiI0EIaiImIAFBJGopAgA3AwAgI0EQaiIjIAFBLGopAgA3AwAgECABKQIcNwOIAyARKgIAIVkCQCACRQRAQQAhAQwBCwNAQQBBfyAeIAJBAWsiJ0EBdiIBQTRsaiIRQRhqIiQqAgAiWiBZYCIoG0EBQQIgKBsgWSBaYBtBAWpBAkkEQCACIQEMAgsgHiACQTRsaiICIBEpAgA3AgAgAkEwaiARQTBqKAIANgIAIAJBKGogEUEoaikCADcCACACQSBqIBFBIGopAgA3AgAgAkEYaiAkKQIANwIAIAJBEGogEUEQaikCADcCACACQQhqIBFBCGopAgA3AgAgASECICdBAUsNAAsLIB4gAUE0bGoiASAQKQPgATcCACABIFk4AhggASAQKQOIAzcCHCABQRBqICUpAwA3AgAgAUEIaiAhKQMANwIAIAFBJGogJikDADcCACABQSxqICMpAwA3AgAgFkECRg0GCyAQKgIMIGJgRQRAQcyiwQBBH0HsosEAEKoKAAtBACElAn9BACAWRQ0AGkEAIBMgPE8NABpBACAqRQ0AGkEAICogE0HoAmxqIgIoAgBFDQAaIAJBCGpBACACKAIEIA9GGwshAgJAIBhFDQAgHCA8Tw0AICpFDQAgKiAcQegCbGoiASgCAEUNACABQQhqQQAgASgCBCAXRhshJQtBACERIBBBADYC3AIgEEIENwLUAgJAAkACQAJAAkACQAJAAkACQAJAIAJFDQAgAkHYAmotAABFDQAgFkUNAUEBIREgECgCHEUNACAQKAIQIidBBGshJCATQbnz3fF5bEEFdyAPc0G5893xeWwiAUEZdq1CgYKEiJCgwIABfiGHAUEAISEgECgCFCEeIBAoAighIyAQKAIgISgDQCABIB5xIgEgJ2opAAAihgEghwGFIoUBQoGChIiQoMCAAX0ghQFCf4WDQoCBgoSIkKDAgH+DIYUBA0AghQFQBEAghgEghgFCAYaDQoCBgoSIkKDAgH+DQgBSDQMgASAhQQhqIiFqIQEMAgsgJCCFAXqnQQN2IAFqIB5xQQJ0aygCACImICNPDQQghQFCAX0ghQGDIYUBICggJkEEdGoiJigCACATRw0AICZBBGooAgAgD0cNAAsLQQAhEQsCQAJAICVFDQAgJUHYAmotAABFDQAgGEUNBEEBISEgECgCHEUNASAQKAIQIiRBBGshKCAcQbnz3fF5bEEFdyAXc0G5893xeWwiAUEZdq1CgYKEiJCgwIABfiGHAUEAIScgECgCFCEeIBAoAighIyAQKAIgISwDQCABIB5xIgEgJGopAAAihgEghwGFIoUBQoGChIiQoMCAAX0ghQFCf4WDQoCBgoSIkKDAgH+DIYUBA0AghQFQBEAghgEghgFCAYaDQoCBgoSIkKDAgH+DQgBSDQQgASAnQQhqIidqIQEMAgsgKCCFAXqnQQN2IAFqIB5xQQJ0aygCACImICNPDQcghQFCAX0ghQGDIYUB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GCAAICs4AhQgACAoOAIQIAAgJzgCDCAAICk4AgggACAqOAIEIAAgJDgCAAwZCyABKAIAIgBBgICAgHw2AiAgAEGAgICAfDYCHCAAICc4AgwgACApOAIIIAAgKjgCBCAAICQ4AgAgACA1OAIYIABBFGogKzgCACAAQRBqICg4AgAMGAsgAiADEJ0JIQwgBCAFEJ0JIQkgDEUNGCAJRQ0YIAcgARCgAg0YIAggASoCDCIpOALcByAIIAEqAggiK4w4AtgHIAggASoCBCIojDgC1AcgCCABKgIAIieMOALQByAIICkgJyABQRRqKgIAIiWUICggASoCECIklJMiISAhkiImlCAoICggAUEYaioCACIjlCArICWUkyIhICGSIiKUICcgKyAklCAnICOUkyIhICGSIiGUk5IgI5M4AugHIAggKSAhlCAnICaUICsgIpSTkiAlkzgC5AcgCCApICKUICsgIZQgKCAmlJOSICSTOALgByAIQYAFaiAMIAkgARDVASAIKgKABSIiIAZeDQogCEHoBWogCSAMIAhB0AdqENUBAkAgCCoC6AUiKiAGXg0AIAhBoAZqIAwgCSABEOgBIAgqAqAGIiEgBl4NACAIQeAGaiAIQYgFaikCADcDACAIIAgpAoAFNwPYBiAiICpdICEgKl1xDQwgISAiXkUNFSAIQeAGaiAIQagGaikCADcDACAIIAgpAqAGNwPYBgwVCyAHQYQBakEANgIADBgLIAIgAxCfCSEJIAQgBRCfCSEDIAlFDRcgA0UNFyAJKgIUITEgCSoCDCEyIAkqAhAhNSAJKgIIITkgCSoCACEuIAkqAgQhMyADKgIEIiogASoCACIvlCADKgIAIiQgASoCBCIwlJMiISAhkiEnICQgASoCCCItlCADKgIIIiIgL5STIiEgIZIhKSAIQSBqIgAgAUEYaioCACImICIgASoCDCIrICeUIC8gKZQgMCAiIDCUICogLZSTIiEgIZIiIZSTkpKSOAIIIAAgAUEUaioCACIjICogKyAplCAtICGUIC8gJ5STkpKSOAIEIAAgASoCECIiICQgKyAhlCAwICeUIC0gKZSTkpKSOAIAIC8gA0EQaioCACIplCAwIAMqAgwiKpSTIiEgIZIhKCAtICqUIC8gA0EUaioCACIklJMiISAhkiEnIABBFGogJiAkICsgKJQgLyAn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IAYgBTYCzAEgBiACNgLIASAGIABBkAFqKQIANwLUASAAQZgBaiECIAZB2AJqIAZByAFqEGMgAEGcAWooAgAEQCACKAIAEJoCCyAAQbABaigCAARAIABBrAFqKAIAEJoCCyACIAYpAtgCNwIAIAJBIGogBkHYAmoiBEEgaikCADcCACACQRhqIARBGGopAgA3AgAgAkEQaiAEQRBqKQIANwIAIAJBCGogBEEIaikCADcCACAAKAJIIQdBBCEDQQAhBAJAIABB0ABqKAIAIgVFDQAgBUH/////AUsNAiAFQQJ0IgJBAEgNAiACRQ0AQZH7wwAtAAAaIAJBBBCCDCIDRQ0HIAIhBAsgAyAHIAQQiA0hAiAGIAU2AtABIAYgBTYCzAEgBiACNgLIASAGIAApAlQ3AtQBIABB3ABqIQIgBkHYAmogBkHIAWoQYyAAQeAAaigCAARAIAIoAgAQmgILIABB9ABqKAIABEAgAEHwAGooAgAQmgILIAIgBikC2AI3AgAgAkEgaiAGQdgCaiIAQSBqKQIANwIAIAJBGGogAEEYaikCADcCACACQRBqIABBEGopAgA3AgAgAkEIaiAAQQhqKQIANwIACyAGQYAEaiQADwsQ2woAC0Hsm8EAQRNBkLHBABDhCQALQdiLwQBBNEGMjMEAELsLAAsgBkHkAmpCADcCACAGQQE2AtwCIAZBsInCADYC2AIgBkGYv8AANgLgAiAGQdgCakG4icIAENwKAAtBpv7AAEEdQcD/wAAQuwsAC0EEIAJB0IHEACgCACIAQZcHIAAbEQAAAAuAVgMnfwt9An4jAEGQAmsiCSQAIwBBIGsiCiQAAkACQAJAAkAgBigCACIMRQ0AIApBGGogDCAGKAIEKAIcEQAAIApBCGogCigCGCIIIAooAhxBDGooAgARAAAgCEUNACAKKQMIQvSkgrLsqMOpfYUgCkEQaikDAELy4qm04KmkxASFhFANAQtBkfvDAC0AABpB2ABBBBCCDCILRQ0BIAtC////+////79/NwJQIAtC////+/f//79/NwJIIAtC////+/f//7//ADcCQCALQgA3AjggC0KAgICAwAA3AjAgC0IANwIoIAtB+JDCADYCJCALQQA2AiAgC0IENwIYIAtCADcCECALQoCAgIDAADcCCCALQgQ3AgACQCAMRQ0AIAwgBigCBCII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KgIAIAQqAhhdGyEFIAAgCEHAAWoiCEcNAAsLIAVFDQACQCAFIA5qKAIAQf////97TQ0AAkACQAJAAkAgC0UEQCAKQZABaiADIAEoAqABEPIDIAooApABRQ0OIAxFDQIgCigCnAEhCSAKKAKYASEAIAooApQBIQUgASgCoAEiBCASSSEIIARBACASIAgbayIRIAxuIQQgESAEIAxsayERAn0gCEUEQCAKQZABaiADIBEgBBCoAiAKKgLcASEnIAoqAtgBISQgCioC1AEhIiAKKgLQASEhIAoqAswBISUgCioCyAEhKCAKKgLEASEjIAoqArwBISYgCigCuAEhCCAKKgLAAQwBCyAKQZABaiADIBEgBBCoAiAKKgK0ASEnIAoqArABISQgCioCrAEhIiAKKgKoASEhIAoqAqQBISUgCioCoAEhKCAKKgKcASEjIAoqApQBISYgCigCkAEhCCAKKgKYAQshBiAIDQFB9MLAAEErQaztwAAQqgoACyAKQZABaiADIAEoAqQBEPIDIAooApABRQ0NIAxFDQIgCigCnAEhCSAKKAKYASEAIAooApQBIQUgASgCpAEiBCASSSEIIARBACASIAgbayIRIAxuIQQgESAEIAxsayERAn0gCEUEQCAKQZABaiADIBEgBBCoAiAKKgLcASEnIAoqAtgBISQgCioC1AEhIiAKKgLQASEhIAoqAswBISUgCioCyAEhKCAKKgLEASEjIAoqArwBISYgCigCuAEhCCAKKgLAAQwBCyAKQZABaiADIBEgBBCoAiAKKgK0ASEnIAoqArABISQgCioCrAEhIiAKKgKoASEhIAoqAqQBISUgCioCoAEhKCAKKgKcASEjIAoqApQBISYgCigCkAEhCCAKKgKYAQshBiAIRQ0DCyAoICaTIiggJCAGkyIklCAlIAaTIiUgIiAmkyImlJMiBiAGlCAlICcgI5MiJ5QgISAjkyIiICSUkyIjICOUICIgJpQgKCAnlJMiJiAmlJKSIidDAACAKF5FDQMgAUGUAUGIASALG2oqAgAhJCABQZgBQYwBIAsbaioCACEiIAFBnAFBkAEgCxtqKgIAIAYgJxCbASIGlZQgJCAjIAaVlCAiICYgBpWUkpKLQ3L5fz9eRQ0DIA0gBRDfASANIAAQ3wEgDSAJEN8BDAQLQbDQwABBGUGg9sAAEKoKAAtBsNDAAEEZQaD2wAAQqgoAC0H0wsAAQStBrO3AABCqCgALIBAoAiQiCCAQKAIgRgRAIBMgCBCoBiAQKAIkIQgLIBAgCEEBajYCJCAQKAIcIAhBAnRqIAI2AgALIAJBAWohAiAVIAFBqAFqIgFHDQALDAQLQfz7wABBxQBBrP3AABCqCgALIApBnAFqQgA3AgAgCkEBNgKUASAKQcC/wAA2ApABIApBmL/AADYCmAEgCkGQAWpBuMDAABDcCgALQfTCwABBK0Gc7cAAEKoKAAtB9MLAAEErQYztwAAQqgoACyAQQSRqKAIAIRMgECgCHCEVIAogBzYCjAEgCiAKQYwBajYCSAJAAkACQAJAAkAgE0EVTwRAQZH7wwAtAAAaIBNBAXRB/P///wdxQQQQggwiGQRAQZH7wwAtAAAaQYABQQQQggwiEkUNBiAVQQRrISBBECEdQQAhC0EAIQkDQCAVIAsiAkECdGohDAJAAkACQCATIAtrIgBBAkkNAAJAAkACQAJAAkACQAJAAkAgDCgCBCIEIAooAowBIgUoAggiEUkEQCAMKAIAIgEgEU8NASAFKAIAIg4gAUGoAWxqIQ1D//9/fyEGAn1D//9/fyAOIARBqAFsaiIBQYQBaigCACIPRQ0AGkP//39/IAFB/ABqKAIAIgtFDQAaIAsiBSEIIA9BMGwiD0EwayIUQTBuQQFqQQNxIgEEQCABQTBsIQEDQCAIIAUgCEEYaioCACAFKgIYXRshBSAIQTBqIQggAUEwayIBDQALCyAUQZABTwRAIAsgD2ohAQNAIAhBkAFqIAhB4ABqIAhBMGogCCAFIAhBGGoqAgAgBSoCGF0bIgUgCEHIAGoqAgAgBSoCGF0bIgUgCEH4AGoqAgAgBSoCGF0bIgUgCEGoAWoqAgAgBSoCGF0bIQUgASAIQcABaiIIRw0ACwtD//9/fyAFRQ0AGiAFKgIYCyEjAkAgDUGEAWooAgAiAUUNACANQfwAaigCACILRQ0AIAsiBSEIIAFBMGwiDUEwayIPQTBuQQFqQQNxIgEEQCABQTBsIQEDQCAIIAUgCEEYaioCACAFKgIYXRshBSAIQTBqIQggAUEwayIBDQALCyAPQZABTwRAIAsgDWohAQNAIAhBkAFqIAhB4ABqIAhBMGogCCAFIAhBGGoqAgAgBSoCGF0bIgUgCEHIAGoqAgAgBSoCGF0bIgUgCEH4AGoqAgAgBSoCGF0bIgUgCEGoAWoqAgAgBSoCGF0bIQUgASAIQcABaiIIRw0ACwsgBUUNACAFKgIYIQYLIAYgI15FBEBBAiEBIABBA0kNCwNAIAwgAUECdGooAgAiCyARTw0EIAQgEU8NBSAOIARBqAFsaiEPQ///f38hBgJ9Q///f38gDiALQagBbGoiBEGEAWooAgAiFEUNABpD//9/fyAEQfwAaigCACINRQ0AGiANIgUhCCAUQTBsIhRBMGsiFkEwbkEBakEDcSIEBEAgBEEwbCEEA0AgCCAFIAhBGGoqAgAgBSoCGF0bIQUgCEEwaiEIIARBMGsiBA0ACwsgFkGQAU8EQCANIBRqIQQDQCAIQZABaiAIQeAAaiAIQTBqIAggBSAIQRhqKgIAIAUqAhhdGyIFIAhByABqKgIAIAUqAhhdGyIFIAhB+ABqKgIAIAUqAhhdGyIFIAhBqAFqKgIAIAUqAhhdGyEFIAQgCEHAAWoiCEcNAAsLQ///f38gBUUNABogBSoCGAshIwJAIA9BhAFqKAIAIgRFDQAgD0H8AGooAgAiDUUNACANIgUhCCAEQTBsIg9BMGsiFEEwbkEBakEDcSIEBEAgBEEwbCEEA0AgCCAFIAhBGGoqAgAgBSoCGF0bIQUgCEEwaiEIIARBMGsiBA0ACwsgFEGQAU8EQCANIA9qIQQDQCAIQZABaiAIQeAAaiAIQTBqIAggBSAIQRhqKgIAIAUqAhhdGyIFIAhByABqKgIAIAUqAhhdGyIFIAhB+ABqKgIAIAUqAhhdGyIFIAhBqAFqKgIAIAUqAhhdGyEFIAQgCEHAAWoiCEcNAAsLIAVFDQAgBSoCGCEGCyAGICNeDQwgCyEEIAAgAUEBaiIBRw0ACwwKC0ECIQECQCAAQQNJDQADQCAMIAFBAnRqKAIAIgsgEU8NBiAEIBFPDQcgDiAEQagBbGohD0P//39/IQYCfUP//39/IA4gC0GoAWxqIgRBhAFqKAIAIhRFDQAaQ///f38gBEH8AGooAgAiDUUNABogDSIFIQggFEEwbCIUQTBrIhZBMG5BAWpBA3EiBARAIARBMGwhBANAIAggBSAIQRhqKgIAIAUqAhhdGyEFIAhBMGohCCAEQTBrIgQNAAsLIBZBkAFPBEAgDSAUaiEEA0AgCEGQAWogCEHgAGogCEEwaiAIIAUgCEEYaioCACAFKgIYXRsiBSAIQcgAaioCACAFKgIYXRsiBSAIQfgAaioCACAFKgIYXRsiBSAIQagBaioCACAFKgIYXRshBSAEIAhBwAFqIghHDQALC0P//39/IAVFDQAaIAUqAhgLISMCQCAPQYQBaigCACIERQ0AIA9B/ABqKAIAIg1FDQAgDSIFIQggBEEwbCIPQTBrIhRBMG5BAWpBA3EiBARAIARBMGwhBANAIAggBSAIQRhqKgIAIAUqAhhdGyEFIAhBMGohCCAEQTBrIgQNAAsLIBRBkAFPBEAgDSAPaiEEA0AgCEGQAWogCEHgAGogCEEwaiAIIAUgCEEYaioCACAFKgIYXRsiBSAIQcgAaioCACAFKgIYXRsiBSAIQfgAaioCACAFKgIYXRsiBSAIQagBaioCACAFKgIYXRshBSAEIAhBwAFqIghHDQALCyAFRQ0AIAUqAhghBgsgBiAjXkUNASALIQQgACABQQFqIgFHDQALIAAhAQsgASACaiILIAFJDQYgCyATSw0HIAFBAkkNCyAMIAFBAnRqIAFBAXYiAEECdGshDUEAIQQgAEEBRg0IIABB/v///wdxIREgICALQQJ0aiEFIAwhCANAIAUoAgAhDiAFIAgoAgA2AgAgCCAONgIAIA0gACAEQf7///8Dc2pBAnRqIg4oAgAhDyAOIAhBBGoiDigCADYCACAOIA82AgAgBUEIayEFIAhBCGohCCARIARBAmoiBEcNAAsMCAsgBCARQfDhwAAQ4wgACyABIBFBgOLAABDjCAALIAsgEUHw4cAAEOMIAAsgBCARQYDiwAAQ4wgACyALIBFB8OHAABDjCAALIAQgEUGA4sAAEOMIAAsgAiALQejSwAAQ5QgACyALIBNB6NLAABDkCAALIAFBAnFFDQIgDCAEQQJ0aiIFKAIAIQggBSANIAAgBEF/c2pBAnRqIgAoAgA2AgAgACAINgIADAILIAAhAQsgASACaiELCwJAAkAgAiALSw0AIAsgE0sNAAJAAkAgCyATSSABQQpJcUUEQCALIAJrIQgMAQsgAiACQQpqIgAgEyAAIBNJGyILSw0BIAwgCyACayIIQQEgASABQQFNGyAKQcgAahCDAQsCQCAJIB1GBEBBkfvDAC0AABogCUEEdEEEEIIMIgBFDQEgCUEBdCEdIAAgEiAJQQN0EIgNIQAgEhCaAiAAIRILIBIgCUEDdGoiACACNgIEIAAgCDYCACAJQQFqIhEiCUECSQ0DA0AgEiARIgxBAWsiEUEDdGoiASgCACEAAkACQAJAAkAgACABKAIEaiATRg0AIAxBA3QgEmoiAkEQaygCACIBIABNDQBBAiEJIAxBAk0NCCASIAxBA2siDUEDdGooAgAiBSAAIAFqTQ0BQQMhCSAMQQNNDQggAkEgaygCACABIAVqTQ0BIAwhCQwICyAMQQNJDQEgEiAMQQNrIg1BA3RqKAIAIQULIAAgBUsNAQsgDEECayENCwJAAkACQAJAAkACQAJAAkACQCAMIA1LBEAgDUEBaiIAIAxPDQEgEiAAQQN0aiIbKAIAIR4gHiAbKAIEaiIAIBIgDUEDdGoiHCgCBCIWSQ0CIAAgE0sNAyAVIBZBAnRqIgIgHCgCACIUQQJ0IgRqIQEgFSAAQQJ0aiEPIAAgFmsiCCAUayIFIBRJBEAgGSABIAVBAnQiBBCIDSIAIARqIQkgFEEATA0JIAVBAEwNCSAKKAKMASEaA0AgGigCCCIEIAlBBGsoAgAiBU0NBiABQQRrKAIAIgggBE8NByAaKAIAIgQgCEGoAWxqIRdD//9/fyEGAn1D//9/fyAEIAVBqAFsaiIEQYQBaigCACIYRQ0AGkP//39/IARB/ABqKAIAIg5FDQAaIA4iBSEIIBhBMGwiGEEwayIfQTBuQQFqQQNxIgQEQCAEQTBsIQQDQCAIIAUgCEEYaioCACAFKgIYXRshBSAIQTBqIQggBEEwayIEDQALCyAfQZABTwRAIA4gGGohBANAIAhBkAFqIAhB4ABqIAhBMGogCCAFIAhBGGoqAgAgBSoCGF0bIgUgCEHIAGoqAgAgBSoCGF0bIgUgCEH4AGoqAgAgBSoCGF0bIgUgCEGoAWoqAgAgBSoCGF0bIQUgBCAIQcABaiIIRw0ACwtD//9/fyAFRQ0AGiAFKgIYCyEjAkAgF0GEAWooAgAiBEUNACAXQfwAaigCACIORQ0AIA4iBSEIIARBMGwiF0EwayIYQTBuQQFqQQNxIgQEQCAEQTBsIQQDQCAIIAUgCEEYaioCACAFKgIYXRshBSAIQTBqIQggBEEwayIEDQALCyAYQZABTwRAIA4gF2ohBANAIAhBkAFqIAhB4ABqIAhBMGogCCAFIAhBGGoqAgAgBSoCGF0bIgUgCEHIAGoqAgAgBSoCGF0bIgUgCEH4AGoqAgAgBSoCGF0bIgUgCEGoAWoqAgAgBSoCGF0bIQUgBCAIQcABaiIIRw0ACwsgBUUNACAFKgIYIQYLIA9BBGsiDyABQXxBACAGICNeIgQbaiIBIAlBAEF8IAQbaiIJIAQbKAIANgIAIAEgAk0NCiAAIAlJDQALDAkLIAQgGSACIAQQiA0iAGohCSAUQQBMDQkgCCAUTA0JIAooAowBIRoDQCAaKAIIIgQgASgCACIFTQ0HIAAoAgAiCCAETw0IIBooAgAiBCAIQagBbGohF0P//39/IQYCfUP//39/IAQgBUGoAWxqIgRBhAFqKAIAIhhFDQAaQ///f38gBEH8AGooAgAiDkUNABogDiIFIQggGEEwbCIYQTBrIh9BMG5BAWpBA3EiBARAIARBMGwhBANAIAggBSAIQRhqKgIAIAUqAhhdGyEFIAhBMGohCCAEQTBrIgQNAAsLIB9BkAFPBEAgDiAYaiEEA0AgCEGQAWogCEHgAGogCEEwaiAIIAUgCEEYaioCACAFKgIYXRsiBSAIQcgAaioCACAFKgIYXRsiBSAIQfgAaioCACAFKgIYXRsiBSAIQagBaioCACAFKgIYXRshBSAEIAhBwAFqIghHDQALC0P//39/IAVFDQAaIAUqAhgLISMCQCAXQYQBaigCACIERQ0AIBdB/ABqKAIAIg5FDQAgDiIFIQggBEEwbCIXQTBrIhhBMG5BAWpBA3EiBARAIARBMGwhBANAIAggBSAIQRhqKgIAIAUqAhhdGyEFIAhBMGohCCAEQTBrIgQNAAsLIBhBkAFPBEAgDiAXaiEEA0AgCEGQAWogCEHgAGogCEEwaiAIIAUgCEEYaioCACAFKgIYXRsiBSAIQcgAaioCACAFKgIYXRsiBSAIQfgAaioCACAFKgIYXRsiBSAIQagBaioCACAFKgIYXRshBSAEIAhBwAFqIghHDQALCyAFRQ0AIAUqAhghBgsgAiABIAAgBiAjXiIEGygCADYCACACQQRqIQIgCSAAIARFQQJ0aiIATQ0KIA8gASAEQQJ0aiIBSw0ACwwJCyAKQZwBakIANwIAIApBATYClAEgCkHcwMAANgKQASAKQZi/wAA2ApgBIApBkAFqQfjSwAAQ3AoACyAKQZwBakIANwIAIApBATYClAEgCkHcwMAANgKQASAKQZi/wAA2ApgBIApBkAFqQYjTwAAQ3AoACyAWIABBmNPAABDlCAALIAAgE0GY08AAEOQIAAsgBSAEQfDhwAAQ4wgACyAIIARBgOLAABDjCAALIAUgBEHw4cAAEOMIAAsgCCAEQYDiwAAQ4wgACyABIQILIAIgACAJIABrEIgNGiAbQQRqIBY2AgAgGyAUIB5qNgIAIBwgHEEIaiAMIA1Bf3NqQQN0EIoNGkEBIQkgEUEBSw0ACwwDC0H0wsAAQStByNPAABCqCgALIAIgC0GU1MAAEOUIAAtB2NPAAEEsQYTUwAAQqgoACyALIBNJDQALIBIQmgIgGRCaAgwCC0H0wsAAQStBqNPAABCqCgALIBNBAUsNAQsgE0UNAgwBCyAVIBNBASAKQcgAahCDAQsgEEEoaiECIBUgE0ECdGohCyAKQZQBaiEMAkADQCAVKAIAIgAgBygCCCIBTw0BIAcoAgAhAQJAAkAgCi0AiwFFBEAgCkGQAWogAyABIABBqAFsaigCoAEQ8gMgCigCkAFFDQgMAQsgCkGQAWogAyABIABBqAFsaigCpAEQ8gMgCigCkAFFDQELIApB0ABqIAxBCGooAgA2AgAgCiAMKQIANwNIIAogAjYClAEgASAAQagBbGoiAUH8AGohACAKIApByABqNgKYASAKIApBiwFqNgKQAQJAAn8gAUGEAWoiEigCACIJRQRAQQAhCEEADAELIAAoAgBBIGohCEEAIQUCQANAIApBkAFqIAhBBGsoAgAgCCgCABBwRQ0BIAhBMGohCCAJIAVBAWoiBUcNAAtBACEBDAILIAVBAWohCEEBCyEBIAggCUYNACAJIAhrIQQgACgCACAIQTBsaiEIA0ACQCAKQZABaiAIQRxqKAIAIAhBIGoiBSgCABBwRQRAIAFBAWohAQwBCyAIIAFBUGxqIgAgCCkCADcCACAAQShqIAhBKGopAgA3AgAgAEEgaiAFKQIANwIAIABBGGogCEEYaikCADcCACAAQRBqIAhBEGopAgA3AgAgAEEIaiAIQQhqKQIANwIACyAIQTBqIQggBEEBayIEDQALCyASIAkgAWs2AgAgAiAKKAJIEN8BIAIgCigCTBDfASACIAooAlAQ3wEgCyAVQQRqIhVHDQEMAwsLDAQLIAAgAUHg4cAAEOMIAAsgEEEsaigCACIABEAgEEEoaigCAEH/ASAAQQlqEIkNGgsgEEEANgIkIBBBQGtBADYCACAQQTRqQQA2AgAgEEEwaiAAIABBAWpBA3ZBB2wgAEEISRs2AgAgCigCOCEAIAooAkAiBQRAIABB2ABqIQgDQCAIQShqKAIABEAgCEEkaigCABCaAgsgCEEEaigCAARAIAgoAgAQmgILIAhBqAFqIQggBUEBayIFDQALCyAKKAI8BEAgABCaAgsgCigCMARAIAooAiwQmgILIApB4AFqJAAPC0H0wsAAQStBuNPAABCqCgALQcCFwQBBG0HQzsAAELsLAAtB9MLAAEErQbztwAAQqgoAC/hJAxh/D30DfiMAQcABayIJJAAgCSAIOgAeIAkgBTgCGCMAQSBrIgokAAJAAkACQAJAIAcoAgAiC0UNACAKQRhqIAsgBygCBCgCGBEAACAKQQhqIAooAhgiCCAKKAIcQQxqKAIAEQAAIAhFDQAgCikDCELTu8P0sYPukNMAhSAKQRBqKQMAQpbGvO3Sz77KQYWEUA0BC0GR+8MALQAAGkHIAEEEEIIMIghFDQEgCEIANwI8IAhCgICAgMAANwI0IAhCADcCLCAIQfiQwgA2AiggCEEANgIkIAhCBDcCHCAIQgA3AhQgCEKAgICAwAA3AgwgCEIANwIEIAhB+JDCADYCACAIQcQAakEAOgAAAkAgC0UNACALIAcoAgQiDCgCABEGACAMKAIERQ0AIAwoAggaIAsQmgILIAdBpK7CADYCBCAHIAg2AgALIApBIGokAAwBC0EEQcgAQdCBxAAoAgAiAEGXByAAGxEAAAALAkACQAJAIAcoAgAiCARAIAlBEGogCCAHKAIEKAIcEQAAIAkgCSgCECIQIAkoAhRBDGooAgARAAACQCAQRQ0AIAkpAwBC07vD9LGD7pDTAIUgCUEIaikDAEKWxrzt0s++ykGFhEIAUg0AIBAgEC0AREEBcyIHOgBEIAkgBzoAHyAJQTBqIAMgASAEKAKIAREBACAJKgIYIgVDAAAAAGAEQCAJQUBrKgIAISUgCUHEAGoqAgAhJCAJKgI8ISMgCSoCMCEhIAkqAjQhLCAJKgI4ISggCUEgaiIHQQhqIAZBCGoiCCgCADYCACAIQQA2AgAgBikCACEwIAZCBDcCACAJIDA3AyAgCUGUAWogBDYCACAJQYgBakHIwsAANgIAIAkgAzYCkAEgCSABNgKMASAJIAA2AoQBIAkgBjYCeCAJIBA2AnAgAkEwaioCACEmIAJBLGoqAgAhIiACKgIoIScgAigCDCENIAIoAhAhESAJIAlBGGo2ApgBIAkgCUEeajYCgAEgCSAJQR9qNgJ8IAkgBzYCdAJAIAUgI5IgJ5UiI0MAAAC/Xw0AIAUgJJIgJpUiK0MAAAC/Xw0AICEgBZMgJ5UiIUMAAAA/YA0AICggBZMgJpUiKkMAAAA/YA0AIA2zQwAAgL+SISkCfyAjQwAAAD+SQwAAgD8gEbNDAACAv5KVIiiVjSIkIBFBAWuzIiMgIyAkXhtDAAAAACAkQwAAAABeGyIjQwAAAABgIQAgACAjQwAAgE9dcQRAICOpDAELQQALIQFDAACAPyAplSEkICFDAAAAP5IgKJWOIiEgEUECa7MiKSAhICldG0MAAAAAICFDAAAAAF4bIiFDAAAAAGAhA0F/IAFBACAAGyAjQ///f09eGyEbQX8CfyADICFDAACAT11xBEAgIakMAQtBAAtBACADGyAhQ///f09eGyEBAn8gK0MAAAA/kiAklY0iIyANQQFrIhKzIiEgISAjXhtDAAAAACAjQwAAAABeGyIjQwAAgE9dICNDAAAAAGBxBEAgI6kMAQtBAAshACABIBtPIQQCfyAqQwAAAD+SICSVjiIhIA1BAmuzIisgISArXRtDAAAAACAhQwAAAABeGyIhQwAAgE9dICFDAAAAAGBxBEAgIakMAQtBAAshAyAEDQBBfyAAQQAgI0MAAAAAYBsgI0P//39PXhsiHEF/IANBACAhQwAAAABgGyAhQ///f09eGyIITQ0AIAUgJZIgIpUhIyAsIAWTICKVIQUgAkEkaigCACEeIAIoAgAiAyANIAFBAWpsQQJ0IAhBAnRqaiEMIA1BAnQhHSAcIAhrIRQgAigCFCIEIAJBIGooAgAiFSABbCIHaiEAIAEgEmwiFiACKAJMQQF2aiEZIAggFSAIIBVLGyIaIAhrIRMgBCAHIAhqaiEKIAMgCCABIA1sakECdGohDgNAIAEgHk8NBiABQQFqIQsgFCEDIBMhByAKIQQCQCABIBFJBEAgJyAoIAGzlEMAAAC/kiIhlCEsICcgKCAhkpQhKyAOIQMgDCEBIAghBANAIAQgGkYNCSAEIgdBAWohBAJAIAAgB2otAAAiD0EGcUEGRg0AIAcgDU8NCiAEIA1PDQogCyARTw0KIANBBGoqAgAhJSABQQRqKgIAISEgASoCACEqAkAgAyoCACIpICNeRQ0AICMgJV1FDQAgIyAqXUUNACAhICNeDQELAkAgBSApXkUNACAFICVeRQ0AIAUgKl5FDQAgBSAhXg0BCyAiICGUIS0gIiAqlCEqICYgJCAkIAezlEMAAAC/kiIvkpQhISAiICWUIS4gJiAvlCElICIgKZQhKSAPQQJxRQRAIAkgKzgCSCAJIC44AkAgCSAsOAI8IAkgKTgCNCAJICw4AjAgCSAlOAI4IAkgITgCRCAJICEgJSAPQQFxIhcbOAJQIAkgLSAqIBcbOAJMIAlB8ABqIAcgFmogCUEwahB7CyAPQQRxDQAgCSAqOAJMIAkgKzgCSCAJIC04AkAgCSArOAI8IAkgLDgCMCAJICE4AkQgCSAlOAJQIAkgJSAhIA9BAXEiDxs4AjggCSApIC4gDxs4AjQgCUHwAGogByAZaiAJQTBqEHsLIANBBGohAyABQQRqIQEgBCAcRw0ACwwBCwNAIAdFDQggBC0AAEEGcUEGRw0IIAdBAWshByAEQQFqIQQgA0EBayIDDQALCyAAIBVqIQAgDiAdaiEOIAwgHWohDCASIBZqIRYgEiAZaiEZIAogFWohCiAbIAsiAUcNAAsLAkACQCAQQRhqKAIAIgpFDQAgCkEBayEAIBAoAhAhB0EAIQMgCS0AH0EARyEIQQAhBANAAkACQAJAIAggB0EMai0AAEVzRQRAIANBAWohAwwBCwJAIAMEQCAEIANrIgEgCk8NASAHIANBBHRrIgEpAgAhMCAHQQhqIgspAgAhMSABIAcpAgA3AgAgAUEIaiIBKQIAITIgASAxNwIAIAsgMjcCACAHIDA3AgAMAgtBACEDIAAgBEcNAgwFCyABIApBzPvAABDjCAALIAAgBEYNAQsgBEEBaiEEIAdBEGohBwwBCwsgA0UNACADIApNBEAgECAKIANrIgo2AhgLIBAoAgQiAQRAIBAoAgBB/wEgAUEJahCJDRoLIBBBADYCDCAQIAEgAUEBakEDdkEHbCABQQhJGyIPNgIIIAogD0sNASAKRQ0AIBAoAhAiACAKQQR0aiEKIBAoAgAiA0EEayELQQAhCANAIAMgACgCACIMIAFxIgRqKQAAQoCBgoSIkKDAgH+DIjBQBEBBCCEHA0AgBCAHaiEEIAdBCGohByADIAEgBHEiBGopAABCgIGChIiQoMCAf4MiMFANAAsLIAMgMHqnQQN2IARqIAFxIgdqLAAAIgRBAE4EQCADIAMpAwBCgIGChIiQoMCAf4N6p0EDdiIHai0AACEECyADIAdqIAxBGXYiDDoAACAHQQhrIAFxIANqQQhqIAw6AAAgCyAHQQJ0ayAINgIAIAhBAWohCCAPIARBAXFrIQ8gCiAAQRBqIgBHDQALIBAgCDYCDCAQIA82AggLIAkgCS0AHiIUOgBrIAYoAggiAEUNBCAQQRxqIREgBigCACIBIABBqAFsaiEVIBBBKGohEyANQQFrIQsgAigCTEEBdiEOQSBBHCAUGyENQQAhAANAAkAgAUGEAWooAgAiA0UNACABQfwAaigCACIIRQ0AIAgiBCEHIANBMGwiCkEwayIMQTBuQQFqQQNxIgMEQCADQTBsIQMDQCAHIAQgB0EYaioCACAEKgIYXRshBCAHQTBqIQcgA0EwayIDDQALCyAMQZABTwRAIAggCmohAwNAIAdBkAFqIAdB4ABqIAdBMGogByAEIAdBGGoqAgAgBCoCGF0bIgQgB0HIAGoqAgAgBCoCGF0bIgQgB0H4AGoqAgAgBCoCGF0bIgQgB0GoAWoqAgAgBCoCGF0bIQQgAyAHQcABaiIHRw0ACwsgBEUNAAJAIAQgDWooAgBB/////3tNDQACQAJAAkACQCAURQRAIAlB8ABqIAIgASgCoAEQ8gMgCSgCcEUNDiALRQ0CIAkoAnwhCCAJKAJ4IQwgCSgCdCEKIAEoAqABIgMgDkkhBCADQQAgDiAEG2siByALbiEDIAcgAyALbGshBwJ9IARFBEAgCUHwAGogAiAHIAMQqAIgCSoCvAEhJyAJKgK4ASEkIAkqArQBISMgCSoCsAEhISAJKgKsASElIAkqAqgBISggCSoCoAEhIiAJKgKcASEmIAkoApgBIQcgCSoCpAEMAQsgCUHwAGogAiAHIAMQqAIgCSoClAEhJyAJKgKQASEkIAkqAowBISMgCSoCiAEhISAJKgKEASElIAkqAoABISggCSoCeCEiIAkqAnQhJiAJKAJwIQcgCSoCfAshBSAHDQFB9MLAAEErQdjpwAAQqgoACyAJQfAAaiACIAEoAqQBEPIDIAkoAnBFDQ0gC0UNAiAJKAJ8IQggCSgCeCEMIAkoAnQhCiABKAKkASIDIA5JIQQgA0EAIA4gBBtrIgcgC24hAyAHIAMgC2xrIQcCfSAERQRAIAlB8ABqIAIgByADEKgCIAkqArwBIScgCSoCuAEhJCAJKgK0ASEjIAkqArABISEgCSoCrAEhJSAJKgKoASEoIAkqAqABISIgCSoCnAEhJiAJKAKYASEHIAkqAqQBDAELIAlB8ABqIAIgByADEKgCIAkqApQBIScgCSoCkAEhJCAJKgKMASEjIAkqAogBISEgCSoChAEhJSAJKgKAASEoIAkqAnghIiAJKgJ0ISYgCSgCcCEHIAkqAnwLIQUgB0UNAwsgKCAmkyIoICQgIpMiJJQgJSAikyIlICMgJpMiJpSTIiIgIpQgJSAnIAWTIieUICEgBZMiIyAklJMiBSAFlCAjICaUICggJ5STIiYgJpSSkiInQwAAgCheRQ0DIAFBlAFBiAEgFBtqKgIAISQgAUGYAUGMASAUG2oqAgAhIyABQZwBQZABIBQbaioCACAiICcQmwEiIpWUICQgBSAilZQgIyAmICKVlJKSi0Ny+X8/XkUNAyATIAoQ3wEgEyAMEN8BIBMgCBDfAQwEC0Gw0MAAQRlBoPbAABCqCgALQbDQwABBGUGg9sAAEKoKAAtB9MLAAEErQdjpwAAQqgoACyAQKAIkIgcgECgCIEYEQCARIAcQqAYgECgCJCEHCyAQIAdBAWo2AiQgECgCHCAHQQJ0aiAANgIACyAAQQFqIQAgFSABQagBaiIBRw0ACwwEC0H8+8AAQcUAQaz9wAAQqgoACyAJQfwAakIANwIAIAlBATYCdCAJQcC/wAA2AnAgCUGYv8AANgJ4IAlB8ABqQbjAwAAQ3AoAC0H0wsAAQStBqOnAABCqCgALQfTCwABBK0GY6cAAEKoKAAsgEEEkaigCACERIBAoAhwhFSAJIAY2AmwgCSAJQewAajYCMAJAAkACQAJAAkAgEUEVTwRAQZH7wwAtAAAaIBFBAXRB/P///wdxQQQQggwiGQRAQZH7wwAtAAAaQYABQQQQggwiFEUNBiAVQQRrISBBECEdQQAhC0EAIQgDQCAVIAsiCkECdGohDAJAAkACQCARIAprIgBBAkkNAAJAAkACQAJAAkACQAJAAkAgDCgCBCIDIAkoAmwiBCgCCCITSQRAIAwoAgAiASATTw0BIAQoAgAiDSABQagBbGohDkP//39/ISICfUP//39/IA0gA0GoAWxqIgFBhAFqKAIAIg9FDQAaQ///f38gAUH8AGooAgAiC0UNABogCyIEIQcgD0EwbCIPQTBrIhJBMG5BAWpBA3EiAQRAIAFBMGwhAQNAIAcgBCAHQRhqKgIAIAQqAhhdGyEEIAdBMGohByABQTBrIgENAAsLIBJBkAFPBEAgCyAPaiEBA0AgB0GQAWogB0HgAGogB0EwaiAHIAQgB0EYaioCACAEKgIYXRsiBCAHQcgAaioCACAEKgIYXRsiBCAHQfgAaioCACAEKgIYXRsiBCAHQagBaioCACAEKgIYXRshBCABIAdBwAFqIgdHDQALC0P//39/IARFDQAaIAQqAhgLIQUCQCAOQYQBaigCACIBRQ0AIA5B/ABqKAIAIgtFDQAgCyIEIQcgAUEwbCIOQTBrIg9BMG5BAWpBA3EiAQRAIAFBMGwhAQNAIAcgBCAHQRhqKgIAIAQqAhhdGyEEIAdBMGohByABQTBrIgENAAsLIA9BkAFPBEAgCyAOaiEBA0AgB0GQAWogB0HgAGogB0EwaiAHIAQgB0EYaioCACAEKgIYXRsiBCAHQcgAaioCACAEKgIYXRsiBCAHQfgAaioCACAEKgIYXRsiBCAHQagBaioCACAEKgIYXRshBCABIAdBwAFqIgdHDQALCyAERQ0AIAQqAhghIgsgBSAiXUUEQEECIQEgAEEDSQ0LA0AgDCABQQJ0aigCACILIBNPDQQgAyATTw0FIA0gA0GoAWxqIQ9D//9/fyEiAn1D//9/fyANIAtBqAFsaiIDQYQBaigCACISRQ0AGkP//39/IANB/ABqKAIAIg5FDQAaIA4iBCEHIBJBMGwiEkEwayIWQTBuQQFqQQNxIgMEQCADQTBsIQMDQCAHIAQgB0EYaioCACAEKgIYXRshBCAHQTBqIQcgA0EwayIDDQALCyAWQZABTwRAIA4gEmohAwNAIAdBkAFqIAdB4ABqIAdBMGogByAEIAdBGGoqAgAgBCoCGF0bIgQgB0HIAGoqAgAgBCoCGF0bIgQgB0H4AGoqAgAgBCoCGF0bIgQgB0GoAWoqAgAgBCoCGF0bIQQgAyAHQcABaiIHRw0ACwtD//9/fyAERQ0AGiAEKgIYCyEFAkAgD0GEAWooAgAiA0UNACAPQfwAaigCACIORQ0AIA4iBCEHIANBMGwiD0EwayISQTBuQQFqQQNxIgMEQCADQTBsIQMDQCAHIAQgB0EYaioCACAEKgIYXRshBCAHQTBqIQcgA0EwayIDDQALCyASQZABTwRAIA4gD2ohAwNAIAdBkAFqIAdB4ABqIAdBMGogByAEIAdBGGoqAgAgBCoCGF0bIgQgB0HIAGoqAgAgBCoCGF0bIgQgB0H4AGoqAgAgBCoCGF0bIgQgB0GoAWoqAgAgBCoCGF0bIQQgAyAHQcABaiIHRw0ACwsgBEUNACAEKgIYISILIAUgIl0NDCALIQMgACABQQFqIgFHDQALDAoLQQIhAQJAIABBA0kNAANAIAwgAUECdGooAgAiCyATTw0GIAMgE08NByANIANBqAFsaiEPQ///f38hIgJ9Q///f38gDSALQagBbGoiA0GEAWooAgAiEkUNABpD//9/fyADQfwAaigCACIORQ0AGiAOIgQhByASQTBsIhJBMGsiFkEwbkEBakEDcSIDBEAgA0EwbCEDA0AgByAEIAdBGGoqAgAgBCoCGF0bIQQgB0EwaiEHIANBMGsiAw0ACwsgFkGQAU8EQCAOIBJqIQMDQCAHQZABaiAHQeAAaiAHQTBqIAcgBCAHQRhqKgIAIAQqAhhdGyIEIAdByABqKgIAIAQqAhhdGyIEIAdB+ABqKgIAIAQqAhhdGyIEIAdBqAFqKgIAIAQqAhhdGyEEIAMgB0HAAWoiB0cNAAsLQ///f38gBEUNABogBCoCGAshBQJAIA9BhAFqKAIAIgNFDQAgD0H8AGooAgAiDkUNACAOIgQhByADQTBsIg9BMGsiEkEwbkEBakEDcSIDBEAgA0EwbCEDA0AgByAEIAdBGGoqAgAgBCoCGF0bIQQgB0EwaiEHIANBMGsiAw0ACwsgEkGQAU8EQCAOIA9qIQMDQCAHQZABaiAHQeAAaiAHQTBqIAcgBCAHQRhqKgIAIAQqAhhdGyIEIAdByABqKgIAIAQqAhhdGyIEIAdB+ABqKgIAIAQqAhhdGyIEIAdBqAFqKgIAIAQqAhhdGyEEIAMgB0HAAWoiB0cNAAsLIARFDQAgBCoCGCEiCyAFICJdRQ0BIAshAyAAIAFBAWoiAUcNAAsgACEBCyABIApqIgsgAUkNBiALIBFLDQcgAUECSQ0LIAwgAUECdGogAUEBdiIAQQJ0ayEOQQAhAyAAQQFGDQggAEH+////B3EhEyAgIAtBAnRqIQQgDCEHA0AgBCgCACENIAQgBygCADYCACAHIA02AgAgDiAAIANB/v///wNzakECdGoiDSgCACEPIA0gB0EEaiINKAIANgIAIA0gDzYCACAEQQhrIQQgB0EIaiEHIBMgA0ECaiIDRw0ACwwICyADIBNB8OHAABDjCAALIAEgE0GA4sAAEOMIAAsgCyATQfDhwAAQ4wgACyADIBNBgOLAABDjCAALIAsgE0Hw4cAAEOMIAAsgAyATQYDiwAAQ4wgACyAKIAtB6NLAABDlCAALIAsgEUHo0sAAEOQIAAsgAUECcUUNAiAMIANBAnRqIgQoAgAhByAEIA4gACADQX9zakECdGoiACgCADYCACAAIAc2AgAMAgsgACEBCyABIApqIQsLAkACQCAKIAtLDQAgCyARSw0AAkACQCALIBFJIAFBCklxRQRAIAsgCmshBwwBCyAKIApBCmoiACARIAAgEUkbIgtLDQEgDCALIAprIgdBASABIAFBAU0bIAlBMGoQgwELAkAgCCAdRgRAQZH7wwAtAAAaIAhBBHRBBBCCDCIARQ0BIAhBAXQhHSAAIBQgCEEDdBCIDSEAIBQQmgIgACEUCyAUIAhBA3RqIgAgCjYCBCAAIAc2AgAgCEEBaiITIghBAkkNAwNAIBQgEyIKQQFrIhNBA3RqIgEoAgAhAAJAAkACQAJAIAAgASgCBGogEUYNACAKQQN0IBRqIgNBEGsoAgAiASAATQ0AQQIhCCAKQQJNDQggFCAKQQNrIg5BA3RqKAIAIgQgACABak0NAUEDIQggCkEDTQ0IIANBIGsoAgAgASAEak0NASAKIQgMCAsgCkEDSQ0BIBQgCkEDayIOQQN0aigCACEECyAAIARLDQELIApBAmshDgsCQAJAAkACQAJAAkACQAJAAkAgCiAOSwRAIA5BAWoiACAKTw0BIBQgAEEDdGoiGygCACEeIB4gGygCBGoiAyAUIA5BA3RqIhwoAgQiFkkNAiADIBFLDQMgFSAWQQJ0aiIAIBwoAgAiEkECdCIEaiEBIBUgA0ECdGohDyADIBZrIgcgEmsiAyASSQRAIBkgASADQQJ0IgQQiA0iDCAEaiEIIBJBAEwNCSADQQBMDQkgCSgCbCEaA0AgGigCCCIDIAhBBGsoAgAiBE0NBiABQQRrKAIAIgcgA08NByAaKAIAIgMgB0GoAWxqIRdD//9/fyEiAn1D//9/fyADIARBqAFsaiIDQYQBaigCACIYRQ0AGkP//39/IANB/ABqKAIAIg1FDQAaIA0iBCEHIBhBMGwiGEEwayIfQTBuQQFqQQNxIgMEQCADQTBsIQMDQCAHIAQgB0EYaioCACAEKgIYXRshBCAHQTBqIQcgA0EwayIDDQALCyAfQZABTwRAIA0gGGohAwNAIAdBkAFqIAdB4ABqIAdBMGogByAEIAdBGGoqAgAgBCoCGF0bIgQgB0HIAGoqAgAgBCoCGF0bIgQgB0H4AGoqAgAgBCoCGF0bIgQgB0GoAWoqAgAgBCoCGF0bIQQgAyAHQcABaiIHRw0ACwtD//9/fyAERQ0AGiAEKgIYCyEFAkAgF0GEAWooAgAiA0UNACAXQfwAaigCACINRQ0AIA0iBCEHIANBMGwiF0EwayIYQTBuQQFqQQNxIgMEQCADQTBsIQMDQCAHIAQgB0EYaioCACAEKgIYXRshBCAHQTBqIQcgA0EwayIDDQALCyAYQZABTwRAIA0gF2ohAwNAIAdBkAFqIAdB4ABqIAdBMGogByAEIAdBGGoqAgAgBCoCGF0bIgQgB0HIAGoqAgAgBCoCGF0bIgQgB0H4AGoqAgAgBCoCGF0bIgQgB0GoAWoqAgAgBCoCGF0bIQQgAyAHQcABaiIHRw0ACwsgBEUNACAEKgIYISILIA9BBGsiDyABQXxBACAFICJdIgMbaiIBIAhBAEF8IAMbaiIIIAMbKAIANgIAIAAgAU8NCiAIIAxLDQALDAkLIAQgGSAAIAQQiA0iDGohCCASQQBMDQkgByASTA0JIAkoAmwhGgNAIBooAggiAyABKAIAIgRNDQcgDCgCACIHIANPDQggGigCACIDIAdBqAFsaiEXQ///f38hIgJ9Q///f38gAyAEQagBbGoiA0GEAWooAgAiGEUNABpD//9/fyADQfwAaigCACINRQ0AGiANIgQhByAYQTBsIhhBMGsiH0EwbkEBakEDcSIDBEAgA0EwbCEDA0AgByAEIAdBGGoqAgAgBCoCGF0bIQQgB0EwaiEHIANBMGsiAw0ACwsgH0GQAU8EQCANIBhqIQMDQCAHQZABaiAHQeAAaiAHQTBqIAcgBCAHQRhqKgIAIAQqAhhdGyIEIAdByABqKgIAIAQqAhhdGyIEIAdB+ABqKgIAIAQqAhhdGyIEIAdBqAFqKgIAIAQqAhhdGyEEIAMgB0HAAWoiB0cNAAsLQ///f38gBEUNABogBCoCGAshBQJAIBdBhAFqKAIAIgNFDQAgF0H8AGooAgAiDUUNACANIgQhByADQTBsIhdBMGsiGEEwbkEBakEDcSIDBEAgA0EwbCEDA0AgByAEIAdBGGoqAgAgBCoCGF0bIQQgB0EwaiEHIANBMGsiAw0ACwsgGEGQAU8EQCANIBdqIQMDQCAHQZABaiAHQeAAaiAHQTBqIAcgBCAHQRhqKgIAIAQqAhhdGyIEIAdByABqKgIAIAQqAhhdGyIEIAdB+ABqKgIAIAQqAhhdGyIEIAdBqAFqKgIAIAQqAhhdGyEEIAMgB0HAAWoiB0cNAAsLIARFDQAgBCoCGCEiCyAAIAEgDCAFICJdIgMbKAIANgIAIABBBGohACAMIANFQQJ0aiIMIAhPDQogDyABIANBAnRqIgFLDQALDAkLIAlB/ABqQgA3AgAgCUEBNgJ0IAlB3MDAADYCcCAJQZi/wAA2AnggCUHwAGpB+NLAABDcCgALIAlB/ABqQgA3AgAgCUEBNgJ0IAlB3MDAADYCcCAJQZi/wAA2AnggCUHwAGpBiNPAABDcCgALIBYgA0GY08AAEOUIAAsgAyARQZjTwAAQ5AgACyAEIANB8OHAABDjCAALIAcgA0GA4sAAEOMIAAsgBCADQfDhwAAQ4wgACyAHIANBgOLAABDjCAALIAEhAAsgACAMIAggDGsQiA0aIBtBBGogFjYCACAbIBIgHmo2AgAgHCAcQQhqIAogDkF/c2pBA3QQig0aQQEhCCATQQFLDQALDAMLQfTCwABBK0HI08AAEKoKAAsgCiALQZTUwAAQ5QgAC0HY08AAQSxBhNTAABCqCgALIAsgEUkNAAsgFBCaAiAZEJoCDAILQfTCwABBK0Go08AAEKoKAAsgEUEBSw0BCyARRQ0CDAELIBUgEUEBIAlBMGoQgwELIBBBKGohCCAVIBFBAnRqIQwgCUH0AGohCwJAA0AgFSgCACIAIAYoAggiAU8NASAGKAIAIQECQAJAIAktAGtFBEAgCUHwAGogAiABIABBqAFsaigCoAEQ8gMgCSgCcEUNCAwBCyAJQfAAaiACIAEgAEGoAWxqKAKkARDyAyAJKAJwRQ0BCyAJQThqIAtBCGooAgA2AgAgCSALKQIANwMwIAkgCDYCdCABIABBqAFsaiIBQfwAaiEAIAkgCUEwajYCeCAJIAlB6wBqNgJwAkACfyABQYQBaiIUKAIAIgpFBEBBACEHQQAMAQsgACgCAEEgaiEHQQAhBAJAA0AgCUHwAGogB0EEaygCACAHKAIAEHBFDQEgB0EwaiEHIAogBEEBaiIERw0AC0EAIQEMAgsgBEEBaiEHQQELIQEgByAKRg0AIAogB2shAyAAKAIAIAdBMGxqIQcDQAJAIAlB8ABqIAdBHGooAgAgB0EgaiIEKAIAEHBFBEAgAUEBaiEBDAELIAcgAUFQbGoiACAHKQIANwIAIABBKGogB0EoaikCADcCACAAQSBqIAQpAgA3AgAgAEEYaiAHQRhqKQIANwIAIABBEGogB0EQaikCADcCACAAQQhqIAdBCGopAgA3AgALIAdBMGohByADQQFrIgMNAAsLIBQgCiABazYCACAIIAkoAjAQ3wEgCCAJKAI0EN8BIAggCSgCOBDfASAMIBVBBGoiFUcNAQwDCwsMBAsgACABQeDhwAAQ4wgACyAQQSxqKAIAIgAEQCAQQShqKAIAQf8BIABBCWoQiQ0aCyAQQQA2AiQgEEFAa0EANgIAIBBBNGpBADYCACAQQTBqIAAgAEEBakEDdkEHbCAAQQhJGzYCACAJKAIgIQAgCSgCKCIEBEAgAEHYAGohBwNAIAdBKGooAgAEQCAHQSRqKAIAEJoCCyAHQQRqKAIABEAgBygCABCaAgsgB0GoAWohByAEQQFrIgQNAAsLIAkoAiQEQCAAEJoCCyAJQcABaiQADwtB9MLAAEErQbjTwAAQqgoAC0HAhcEAQRtB0M7AABC7CwALQfTCwABBK0Ho6cAAEKoKAAvwSQMYfw99An4jAEGACGsiByQAIAdBqAFqQgA3AwAgB0G4AWpBADYCACAHQoKAgIAwNwMIIAdCgICAgBA3AwAgB0IANwOgASAHQgA3A7ABIAdBEGpBAEGQARCJDSEIIAdBADYCvAECfSABKgIQIikgKZQgAUEUaioCACIqICqUkiABQRhqKgIAIisgK5SSIh9DAACAKF5FBEBDAACAPyEiQwAAAAAhH0MAAAAADAELICsgHxCbASIglSEfICkgIJUhIiAqICCVCyEgIAcgHzgCzAEgByAgOALIASAHICI4AsQBIAdBiAZqIgkgAiAHQcQBaiADKAIMIhkRAQAgByAHKgLMAYw4AuAGIAcgByoCyAGMOALcBiAHIAcqAsQBjDgC2AYgB0GQB2oiDyAEIAEgB0HYBmogBSgCFCIaEQIAIAdBHGogBykCiAY3AgAgB0EkaiAJQQhqIgkoAgA2AgAgB0EoaiAHKQKQBzcDACAHQTBqIA9BCGoiDygCADYCACAHQQA2ArwBIAdBADYCrAEgByoCiAYhHyAHKgKQByEgIAcqAowGISEgByoClAchIiAHQRhqIAkqAgAgDyoCAJM4AgAgB0EUaiAhICKTOAIAIAcgHyAgkzgCECAHQdABaiABIAIgAyAEIAUgBkEBIAcQowECQAJAAkACQAJAAkACQAJAAn0CQAJAAkACQAJAAkACQAJAAkACQCAHKALQASIDRQRAIAdCBDcCnAIgB0IENwKQAiAHQgQ3AoQCIAdCBDcC+AEgB0GkAmpBADYCACAHQYwCakEANgIAIAdBADYCgAIgB0H4AWoiA0EgakEANgIAIANBJGohDyAHQYQCaiEUQQAhBQJAIAcoArwBIgpBAWoiCUUNACAHQfgBakEAEKcGIAcoAvgBIAcoAoACIgVBJGxqIgMgCCkCADcCACADQSBqIAhBIGooAgA2AgAgA0EYaiAIQRhqKQIANwIAIANBEGogCEEQaikCADcCACADQQhqIAhBCGopAgA3AgAgByAFQQFqIgM2AoACIApFBEBDAACAPyEfQwAAAAAhIkMAAAAAISBDAAAAACEhQwAAAAAMDQsgB0E0aiEFIAcoAvwBIANGBEAgB0H4AWogAxCnBiAHKAKAAiEDCyAHKAL4ASADQSRsaiIIIAUpAgA3AgAgCEEgaiAFQSBqKAIANgIAIAhBGGogBUEYaikCADcCACAIQRBqIAVBEGopAgA3AgAgCEEIaiAFQQhqKQIANwIAIAcgA0EBaiIFNgKAAiAJQQJHBEAgB0HYAGohAyAHKAL8ASAFRgRAIAdB+AFqIAUQpwYgBygCgAIhBQsgBygC+AEgBUEkbGoiCCADKQIANwIAIAhBIGogA0EgaigCADYCACAIQRhqIANBGGopAgA3AgAgCEEQaiADQRBqKQIANwIAIAhBCGogA0EIaikCADcCACAHIAVBAWoiBTYCgAIgCUEDRg0BIAdB/ABqIQMgBygC/AEgBUYEQCAHQfgBaiAFEKcGIAcoAoACIQULIAcoAvgBIAVBJGxqIgggAykCADcCACAIQSBqIANBIGooAgA2AgAgCEEYaiADQRhqKQIANwIAIAhBEGogA0EQaikCADcCACAIQQhqIANBCGopAgA3AgAgByAFQQFqIgg2AoACIAlBBEcNAyAIQQFNDQQgCEECRg0FIAhBA00NBiAHKAL4ASIDKgIEIQYgAyoCSCADKgIAIh+TISAgA0EoaioCACAGkyIiIANB0ABqKgIAIAMqAggiIZMiI5QgA0EsaioCACAhkyIkIANBzABqKgIAIAaTIiWUkyADKgJsIB+TlCAkICCUIAMqAiQgH5MiHyAjlJMgA0HwAGoqAgAgBpOUkiAfICWUICIgIJSTIANB9ABqKgIAICGTlJJDAAAAAF4EQCADQSRqIgUpAgAhLiAFIANByABqIgkpAgA3AgAgB0HYBmoiCkEgaiINIAVBIGoiCygCADYCACAKQRhqIgwgBUEYaiIQKQIANwMAIApBEGoiEiAFQRBqIhEpAgA3AwAgCkEIaiIKIAVBCGoiBSkCADcDACAFIAlBCGoiBSkCADcCACARIAlBEGoiESkCADcCACAQIAlBGGoiECkCADcCACALIAlBIGoiCygCADYCACAHIC43A9gGIAkgBykD2AY3AgAgCyANKAIANgIAIBAgDCkDADcCACARIBIpAwA3AgAgBSAKKQMANwIACyAHQQI2ArACIAdCgICAgBA3AqgCIAdBAjYCvAIgB0KBgICAMDcCtAIgB0EDNgLIAiAHQoCAgIAgNwLAAiAHQQE2AtQCIAdCgICAgDA3AswCIAdBAjYC4AIgB0KDgICAEDcC2AIgB0EANgLsAiAHQoOAgIAgNwLkAiAHQQM2AvgCIAdCgICAgBA3AvACIAdBADYChAMgB0KCgICAEDcC/AIgB0HYBmoiBSADIAggB0GoAmogB0HYAmoQvwQgB0GIA2oiA0EwaiIQIAVBMGoiCCgCADYCACADQShqIhIgBUEoaiIJKQIANwMAIANBIGoiESAFQSBqIgopAgA3AwAgA0EYaiIOIAVBGGoiDSkCADcDACADQRBqIhcgBUEQaiILKQIANwMAIANBCGoiGCAFQQhqIgwpAgA3AwAgByAHKQLYBjcDiAMgBy0AjAchEyAFIAcoAvgBIAcoAoACIAdBtAJqIAdB5AJqEL8EIAdBwANqIgNBMGogCCgCADYCACADQShqIAkpAgA3AwAgA0EgaiAKKQIANwMAIANBGGogDSkCADcDACADQRBqIAspAgA3AwAgA0EIaiAMKQIANwMAIAcgBykC2AY3A8ADIActAIwHIRUgBSAHKAL4ASAHKAKAAiAHQcACaiAHQfACahC/BCAHQfgDaiIDQTBqIAgoAgA2AgAgA0EoaiAJKQIANwMAIANBIGogCikCADcDACADQRhqIA0pAgA3AwAgA0EQaiALKQIANwMAIANBCGogDCkCADcDACAHIAcpAtgGNwP4AyAHLQCMByEWIAUgBygC+AEgBygCgAIgB0HMAmogB0H8AmoQvwQgB0GwBGoiA0EwaiAIKAIANgIAIANBKGogCSkCADcDACADQSBqIAopAgA3AwAgA0EYaiANKQIANwMAIANBEGogCykCADcDACADQQhqIAwpAgA3AwAgByAHKQLYBjcDsAQgBy0AjAchDSAHKAKIAiIDIAcoAowCIglGBEAgFCAJELYGIAcoAowCIQkgBygCiAIhAwsgBygChAIiBSAJQTRsaiIIIAcpA4gDNwIAIAhBMGogECgCADYCACAIQShqIBIpAwA3AgAgCEEgaiARKQMANwIAIAhBGGogDikDADcCACAIQRBqIBcpAwA3AgAgCEEIaiAYKQMANwIAIAcgCUEBaiIJNgKMAiADIAlGBEAgFCADELYGIAcoAoQCIQUgBygCjAIhCSAHKAKIAiEDCyAFIAlBNGxqIgggBykDwAM3AgAgCEEwaiAHQcADaiIKQTBqKAIANgIAIAhBKGogCkEoaikDADcCACAIQSBqIApBIGopAwA3AgAgCEEYaiAKQRhqKQMANwIAIAhBEGogCkEQaikDADcCACAIQQhqIApBCGopAwA3AgAgByAJQQFqIgk2AowCIAMgCUYEQCAUIAMQtgYgBygChAIhBSAHKAKMAiEJIAcoAogCIQMLIAUgCUE0bGoiCCAHKQP4AzcCACAIQTBqIAdB+ANqIgpBMGooAgA2AgAgCEEoaiAKQShqKQMANwIAIAhBIGogCkEgaikDADcCACAIQRhqIApBGGopAwA3AgAgCEEQ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QwAAAAAhiAFD//9/fyGHAUP//3//IYYBQwAAAAAhhQFD//9/fyGEAUP//3//IYMBQwAAAAAhggFD//9/fyGBAUP//3//IYABQwAAAAAhf0P//39/IX5D//9//yF9QwAAAAAhfEP//39/IXtD//9//yF6QwAAgD8heUMAAAAAIXhDAAAAACF3QwAAAAAhdkP//39/IZIBQwAAAAAhkwFBACE3Q///f38hlAFDAAAAACGVAUEAITpD//9/fyGWAUMAAAAAIZcBQQAhPUP//39/IZgBQwAAAAAhmQFBACFAQ///f38hmgFDAAAAACGbAUEAIUNBACEvQT8hB0EBIQULIAogCigChAIgB0H/AXFpa0EGajYChAIgCigCCCIDIAooAgRGBEAgCiADELEGIAooAgghAwsgCigCACADQegDbGoiASAEKQPoBjcDACABIHk4AiwgASB4OAIoIAEgdzgCJCABIHY4AiAgASAEKQPABjcDMCABQRhqIG4pAwA3AwAgAUEQaiBvKQMANwMAIAFBCGogcCkDADcDACABQThqIC4pAwA3AwAgAUFAayAtKQMANwMAIAFByABqICwpAwA3AwAgAUHQAGogHykDADcDACABIC82ApwBIAEgigE4ApgBIAEgiQE4ApQBIAEgiAE4ApABIAEghwE4AowBIAEghgE4AogBIAEghQE4AoQBIAEghAE4AoABIAEggwE4AnwgASCCATgCeCABIIEBOAJ0IAEggAE4AnAgASB/OAJsIAEgfjgCaCABIH04AmQgASB8OAJgIAEgezgCXCABIHo4AlggASCLATgCrAEgASCMATgCyAEgASCNATgCzAEgASCOATgC0AEgASCPATgC1AEgAUGoAWogMCgCADYCACABIAQpA7AGNwKgASABIAQpA5gGNwOwASABQbgBaiAyKQMANwMAIAFBwAFqIDEpAwA3AwAgASAEKQOIBjcD2AEgAUHgAWogMykDADcDACABIDQ6APABIAEgkQE4AuwBIAEgkAE4AugBIAEgNzoAjAIgASCTATgCiAIgASCSATgChAIgASAEKQPwBTcA8QEgAUH5AWogNikDADcAACABQYACaiA1KAAANgAAIAEgBCkD2AU3AI0CIAFBlQJqIDkpAwA3AAAgAUGcAmogOCgAADYAACABIDo6AKgCIAEglQE4AqQCIAEglAE4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iKe+ICSTlJMhGwJAIBxDAAAAAFsEQCAbIRwMAQsgHCAblEMAAAAAXQ0ECyAAQQhqIQAgHSEbIAFBAWsiAQ0ACwwBC0EEQQRBvPfAABDjCAALIAdByABqIAIgCEEMbGoiAEEIaiIBKAIANgIAIAcgACkCADcDQCA3ICwgACoCACIck5QgNSAwIAAqAgQiHZOUkiA0ICcgASoCACIkk5SSICOVIhsgBF9FDQAgISAcICsgG5SSIDaTIiKUIB8gHSAmIBuUkiAzkyIplJMiHCAckiEcICAgKZQgISAkICggG5SSICqTIiSUkyIdIB2SIR0gByAkICUgHJQgISAdlCAfIB8gJJQgICAilJMiJCAkkiIklJOSkjgCYCAHICkgJSAklCAfIByUICAgHZSTkpI4AlwgByAiICUgHZQgICAklCAhIByUk5KSOAJYIAdBiAFqIgEgC0EIaigCADYCACANIA4pAgA3AgAgDUEIaiAOQQhqKAIANgIAIAcgCykCADcDgAEgAiAIQQJ0akEwaigCACIAIBEgBhshCCARIAAgBhshFCAFKAKEASIAIAUoAoABRgRAIBMgABChBiAFKAKEASEACyAFIABBAWo2AoQBIAUoAnwgAEEwbGoiACAHKQOAATcCACAAQQA2AiwgAEIANwIkIAAgCDYCICAAIBQ2AhwgACAbOAIYIABBCGogASkDADcCACAAQRBqIAdBkAFqKQMANwIACyAJIAxHDQALDAILIAEqAggiKbxBgICAgHhxQYCAgPwDcr4hGyADKgIIIiEgACoCBCIllCADKgIEIiAgACoCCCImlJMiHCAckiEcICAgACoCACIrlCADKgIAIh8gJZSTIh4gHpIhHSABKgIAIjYgASoCBCIzlEMAAIC/ICkgG5KVIiiUIh4gACoCECIkIB8gACoCDCIjIByUICUgHZQgJiAfICaUICEgK5STIh8gH5IiKpSTkpKSIiKUIDMgM5QgKJQgG5IiHyAAQRRqKgIAIicgICAjICqUICYgHJQgKyAdlJOSkpIiLJSSIDMgAEEYaioCACIwICEgIyAdlCArICqUICUgHJSTkpKSIjGUkyEcIDYgG4yUIh0gMZQgNiA2IBuUlCAolEMAAIA/kiIhICKUIB4gG5QiGyAslJKSISogJSADQRRqKgIAIi6UICYgA0EQaioCACIvlJMiICAg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IAcgLDgChAEgByAxOAKAASAlICIgJJMiLZQgKyAoICeTIi+UkyIEIASSIQQgJiAvlCAlICogMJMiLpSTIhsgG5IhGyAHIC4gIyAElCAlIBuUICsgKyAulCAmIC2UkyIuIC6SIi6Uk5KSOAIIIAcgLyAjIC6UICsgBJQgJiAblJOSkjgCBCAHIC0gIyAblCAmIC6UICUgBJSTkpI4AgACfwJAAkACQCABDgMAAQILCyACQTBqDAILIAJBQGsMAQsgAkE0agsoAgAhAQJ/AkACQAJAIAgOAwABAgsLIANBMGoMAgsgA0FAawwBCyADQTRqCyEAIAVB/ABqIQ8gB0EoaiINIAcgB0GAAWoiCSAGGyIIQQhqKAIANgIAIAdBNGogCSAHIAYbIglBCGooAgA2AgAgByAIKQIANwMgIAcgCSkCADcCLCABIAAoAgAiACAGGyEOIAAgASAGGyELIDYgIiAxk5QgMyAoICyTlJIgKSAqIDKTlJIhBCAFQYQBaigCACIAIAVBgAFqKAIARgRAIA8gABChBiAFKAKEASEACyAFIABBAWoiATYChAEgBSgCfCIKIABBMGxqIgAgBykDIDcCACAAQQA2AiwgAEIANwIkIAAgDjYCICAAIAs2AhwgACAEOAIYIABBCGogDSkDADcCACAAQRBqIAdBMGopAwA3AgAgByAfOAKIASAHICE4AoQBIAcgIDgCgAEgJSAdICSTIiiUICsgHiAnkyIqlJMiBCAEkiEEICYgKpQgJSAcIDCTIiKUkyIbIBuSIRsgByAiICMgBJQgJSAblCArICsgIpQgJiAolJMiIiAikiIilJOSkjgCCCAHICogIyAilCArIASUICYgG5STkpI4AgQgByAoICMgG5QgJiAilCAlIASUk5KSOAIAAn8CQAJAAkAgEA4DAAECCwsgAkEwagwCCyACQUBrDAELIAJBNGoLKAIAIQICfwJAAkACQCAMDgMAAQILCyADQTBqDAILIANBQGsMAQsgA0E0agshACAHQShqIgMgCEEIaigCADYCACAHQTRqIAlBCGooAgA2AgAgByAIKQIANwMgIAcgCSkCADcCLCACIAAoAgAiACAGGyEIIAAgAiAGGyECIDYgHSAgk5QgMyAeICGTlJIgKSAcIB+TlJIhBCAFKAKAASABRgRAIA8gARChBiAFKAJ8IQogBSgC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NwMAIAtB4ghqIgcgIUECai0AADoAACALIBMpAgA3A4AKIAsgIS8AADsB4AggCy0A/AkiDUEERg0AIAsqAsgJIS4gC0HgBmogAWoiBCAPNgIAIARBCGogLjgCACAEQQRqICM2AgAgBEEMaiALKQOACjcCACAEQRRqIBgpAwA3AgAgBEEcaiAXKQMANwIAIARBJGogFikDADcCACAEQSxqIBIpAwA3AgAgBEE0aiAQKQMANwIAIARBPGogDToAACAEQT1qIAsvAeAIOwAAIARBP2ogBy0AADoAACALQcgGaiAKaiAuOAIAIAUgCCAuXjoAAAsgAUFAayEBIAVBAWohBSAKQQRqIQogXUIBfCJdQgRSDQALIA4gCykC4AY3AgAgDkEIaiALQeAGaiIBQQhqKQIANwIAIA5BEGogAUEQaikCADcCACAOQRhqIAFBGGopAgA3AgAgDkEgaiABQSBqKQIANwIAIA5BKGogAUEoaikCADcCACALKALcBiEKIAsqAtQGITIgCyoC0AYhMCALKgLMBiEvIAsqAsgGIS4gC0HeBGogGkECai0AADoAACALQZgEaiIBQTdqIAxBN2opAAA3AAAgAUEwaiAMQTBqKQAANwMAIAFBKGogDEEoaikAADcDACABQSBqIAxBIGopAAA3AwAgAUEYaiAMQRhqKQAANwMAIAFBEGogDEEQaikAADcDACABQQhqIAxBCGopAAA3AwAgCyAaLwAAOwHcBCALIAwpAAA3A5gEIAstAJAHIQ0gCy0AnAchASALKQKUByFeIAstANwHIQUgC0HYA2oiBEE3aiAJQTdqKQAANwAAIARBMGogCUEwaikAADcDACAEQShqIAlBKGopAAA3AwAgBEEgaiAJQSBqKQAANwMAIARBGGogCUEYaikAADcDACAEQRBqIAlBEGopAAA3AwAgBEEIaiAJQQhqKQAANwMAIAsgCSkAADcD2AMgCy0AnAghByALQZgDaiIEQTdqIAZBN2opAAA3AAAgBEEwaiAGQTBqKQAANwMAIARBKGogBkEoaikAADcDACAEQSBqIAZBIGopAAA3AwAgBEEYaiAGQRhqKQAANwMAIARBEGogBkEQaikAADcDACAEQQhqIAZBCGopAAA3AwAgCyAGKQAANwOYAyALLQDcCCEEIAtBlgNqIBlBAmotAAA6AAAgCyAZLwAAOwGUAwwCCyABIBxBuODAABDjCAALIAtB6ARqICBBCGooAgA2AgAgCyAgKQIANwPgBEEEIQQgCygCkAYhCkEEIQdBBCEFQQQhAQsgCkH/AXFBAkcEQCADQfgAaiEQIAsgMjgCrAUgCyAwOAKoBSALIC84AqQFIAsgLjgCoAUgC0HgBmoiD0EoaiAOQShqKQIANwMAIA9BIGogDkEgaikCADcDACAPQRhqIA5BGGopAgA3AwAgD0EQaiAOQRBqKQIANwMAIA9BCGogDkEIaikCADcDACALIA06AJAHIAsgDikCADcD4AYgGiALLwHcBDsAACAaQQJqIAtB3gRqLQAAOgAAIAsgAToAnAcgCyBeNwKUByAMQTdqIAtBmARqIgFBN2opAAA3AAAgDEEwaiABQTBqKQMANwAAIAxBKGogAUEoaikDADcAACAMQSBqIAFBIGopAwA3AAAgDEEYaiABQRhqKQMANwAAIAxBEGogAUEQaikDADcAACAMQQhqIAFBCGopAwA3AAAgDCALKQOYBDcAACALIAU6ANwHIAlBN2ogC0HYA2oiAUE3aikAADcAACAJQTBqIAFBMGopAwA3AAAgCUEoaiABQShqKQMANwAAIAlBIGogAUEgaikDADcAACAJQRhqIAFBGGopAwA3AAAgCUEQaiABQRBqKQMANwAAIAlBCGogAUEIaikDADcAACAJIAspA9gDNwAAIAsgBzoAnAggBkE3aiALQZgDaiIBQTdqKQAANwAAIAZBMGogAUEwaikDADcAACAGQShqIAFBKGopAwA3AAAgBkEgaiABQSBqKQMANwAAIAZBGGogAUEYaikDADcAACAGQRBqIAFBEGopAwA3AAAgBkEIaiABQQhqKQMANwAAIAYgCykDmAM3AAAgCyAEOgDcCCAZQQJqIAtBlgNqLQAAOgAAIBkgCy8BlAM7AAAgCkEVdkEIcSAKQQ52QQRxIApBB3ZBAnEgCkEBcXJycq0hX0IAIV0DQAJAIF8gXYhCAYNQDQAgXachASAQLQAAQQFxBEAgAUECdCIFIAtBoAVqaioCACIuIAhdRQ0BIAtB4AZqIAFBBnRqIgQtADwiAUEERg0BIBQgAyAFakHgAGooAgBNDQEgFUUNASARIAQpAAA3AAAgEUE4aiAEQThqKAAANgAAIBFBMGogBEEwaikAADcAACARQShqIARBKGopAAA3AAAgEUEgaiAEQSBqKQAANwAAIBFBGGogBEEYaikAADcAACARQRBqIARBEGopAAA3AAAgEUEIaiAEQQhqKQAANwAAIAtBxgJqIARBP2otAAA6AAAgCyAELwA9OwHEAiALQcgCaiICQTdqIAtBsAVqIgRBN2opAAA3AAAgAkEwaiAEQTBqKQAANwMAIAJBKGogBEEoaikAADcDACACQSBqIARBIGopAAA3AwAgAkEYaiAEQRhqKQAANwMAIAJBEGogBEEQaikAADcDACACQQhqIARBCGopAAA3AwAgCyALKQCwBTcDyAIgASECIC4hCAwBCyABQQJ0IgEgA2pB4ABqKAIAIgQgHE8NACALQaAFaiABaioCAIwhLiALKALAAiIKIQUgCygCvAIgCkYEQCALQbgCaiAKEKsGIAsoAsACIQULIAsoArgCIgEgBUEDdGoiByAuOAIEIAcgBDYCACALIAVBAWo2AsACIAEgCkEDdGoiBCoCBCEuIAQoAgAhBAJAIApFBEBBACEFDAELA0BBAEF/IAEgCkEBayIHQQF2IgVBA3RqIg9BBGoqAgAiLyAuXyISG0EBQQIgEhsgLiAvXxtBAWpBAkkEQCAKIQUMAgsgASAKQQN0aiAPKQIANwIAIAUhCiAHQQFLDQALCyABIAVBA3RqIgEgLjgCBCABIAQ2AgALIF1CAXwiXUIEUg0ACyALQYgDaiALQbgCahChAyALKAKIAw0BDAILCwJAIA1BBEcEQCALQYIKaiALQd4Eai0AADoAACALIAsvAdwEOwGACiALQZsHaiALQZgFaigCADYAACALQZMHaiALQeAEaiIBQTBqKQMANwAAIAtBiwdqIAFBKGopAwA3AAAgC0GDB2ogAUEgaikDADcAACALQfsGaiABQRhqKQMANwAAIAtB8wZqIAFBEGopAwA3AAAgC0HrBmogAUEIaikDADcAACALIAspA+AENwDjBiALQbAFaiIBQTdqIAtB4AZqIgJBN2opAAA3AAAgAUEwaiACQTBqKQAANwMAIAFBKGogAkEoaikAADcDACABQSBqIAJBIGopAAA3AwAgAUEYaiACQRhqKQAANwMAIAFBEGogAkEQaikAADcDACABQQhqIAJBCGopAAA3AwAgCyALKQDgBjcDsAUgDSECDAELIAtBsAVqIgFBN2ogC0HIAmoiA0E3aikAADcAACABQTBqIANBMGopAwA3AwAgAUEoaiADQShqKQMANwMAIAFBIGogA0EgaikDADcDACABQRhqIANBGGopAwA3AwAgAUEQaiADQRBqKQMANwMAIAFBCGogA0EIaikDADcDACALQYIKaiALQcYCai0AADoAACALIAspA8gCNwOwBSALIAsvAcQCOwGACgsgCygCvAJFDQEgCygCuAIQmgIMAQsgC0GwBWoiAUEIaiALQcgCaiIDQQhqKQMANwMAIAFBEGogA0EQaikDADcDACABQRhqIANBGGopAwA3AwAgAUEgaiADQSBqKQMANwMAIAFBKGogA0EoaikDADcDACABQTBqIANBMGopAwA3AwAgAUE3aiADQTdqKQAANwAAIAtBggpqIAtBxgJqLQAAOgAAIAsgCykDyAI3A7AFIAsgCy8BxAI7AYAKIAsoArwCRQ0AIAsoArgCEJoCCyACQf8BcUEERw0BCyAAQQQ6ADwMAQsgACALKQCzBTcAACAAIAsvAYAKOwA9IABBOGogC0HrBWooAAA2AAAgAEEwaiALQeMFaikAADcAACAAQShqIAtB2wVqKQAANwAAIABBIGogC0HTBWopAAA3AAAgAEEYaiALQcsFaikAADcAACAAQRBqIAtBwwVqKQAANwAAIABBCGogC0G7BWopAAA3AAAgAEE/aiALQYIKai0AADoAACAAIAI6ADwLIAtBwApqJAAL9y8DFH8bfQN+IwBBsAFrIgQkAAJAIAAoAggiDgRAIARBCGogACgCACIJQSBqEMoBIAlByANqIgYgBEEgaigCADYCACAJQcADaiIDIARBGGopAgA3AgAgCUG4A2oiDyAEQRBqKQIANwIAIAkgBCkCCDcCsAMgCUGsA2ogBigCADYCACAJQaQDaiADKQIANwIAIAlBnANqIA8pAgA3AgAgCSAJKQKwAzcClAMgASgCCCELIAEoAhAiESAJKAIAIgFNDQEgC0UNASALIAFB6AJsaiIBKAIARQ0BIAEoAgQgCSgCBEcNASAJQbADaiIGQQhqKQIAITIgBkEQaikCACEzIAYpAgAhNCABQdwAaiAGQRhqKAIANgIAIAFB1ABqIDM3AgAgAUHMAGogMjcCACABQcQAaiA0NwIAIAJFDQEgBEEIaiIGIAFBsAFqIgMgCUGUA2oiDxD9BSAB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AiAAQQRqNgIIIAIoAgAgAGpBDjYAACADIAEQ3AYiAA0GIANBDGogARDcBiIADQYgA0EYaiABENwGIgANBiADKgIkIQogAigCBCACKAIIIgFrQQNNBEAgAiABQQQQyAYgAigCCCEBCyACIAFBBGo2AgggAigCACABaiAKOAAADAULIAkoAgwhAyABKAIAIgEoAgghACABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqQQ82AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqIAo4AAAgASAAQQRqIgA2AgggASgCBCAAa0EDTQRAIAEgAEEEEMgGIAEoAgghAAsgASgCACAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABIABBBGo2AgggASgCACAAaiAKOAAADAQLIAkoAgwhAyABKAIAIgEoAgghACABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqQRA2AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqIAo4AAAgASAAQQRqIgA2AgggASgCBCAAa0EDTQRAIAEgAEEEEMgGIAEoAgghAAsgASgCACAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABIABBBGo2AgggASgCACAAaiAKOAAADAMLIAkoAgwhAyABKAIAIgAoAgghAiAAKAIEIAJrQQNNBEAgACACQQQQyAYgACgCCCECCyAAIAJBBGo2AgggACgCACACakERNgAAIAMgARC2ASIADQMgAyoCYCEKIAEoAgAiASgCCCEAIAEoAgQgAGtBA00EQCABIABBBBDIBiABKAIIIQALIAEgAEEEajYCCCABKAIAIABqIAo4AAAMAgsgCSgCDCEDIAEoAgAiASgCCCEAIAEoAgQgAGtBA00EQCABIABBBBDIBiABKAIIIQALIAEoAgAgAGpBEjYAACABIABBBGoiADYCCCABKAIEIABrQQNNBEAgASAA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P5QiLTgCACAKQThqIC04AgAgCkE0aiAtOAIAIAogLTgCMCAKIC8gLpJDAAAAv5QiLTgCLCAKIC04AiggCiAtOAIkIAogLTgCICAKIDEgMJJDAAAAv5QiLTgCHCAKIC04AhggCiAtOAIUIAogLTgCECAKIDMgMpJDAAAAv5QiLTgCDCAKIC04AgggCiAtOAIEIAogLTgCACADKgIIIS0gAyoCBCEuIAMqAgAhLyAKQYgBakIANwMAIApBgAFqQgA3AwAgCkH4AGpCADcDACAKQfAAakIANwMAIApB6ABqQgA3AwAgCkGQAWogLzgCACAKQZQBaiAvOAIAIApBmAFqIC84AgAgCkGcAWogLzgCACAKQaABaiAuOAIAIApBpAFqIC44AgAgCkGoAWogLjgCACAKQawBaiAuOAIAIApBsAFqIC04AgAgCkG0AWogLTgCACAKQbgBaiAtOAIAIApBvAFqIC04AgAgCkIANwNgIAogATYC0AEgCiACNgLUASAKIAM2AtgBIApBzAFqIAc2AgAgCkHEAWogBTYCACAKIAk6AOABIAogCDgC3AEgCiAGNgLIASAKIAQ2AsABAkACQCAEIAUoAhARBAAiAUEgaigCACIaBEAgCkEANgL4ASAKQgQ3AvABIApB8AFqIgJBABCrBiAKKALwASAKKAL4ASIDQQN0akKAgICA8P///343AgAgCiADQQFqNgL4ASAKQagCaiACEKEDAkACQCAKKAKoAkUEQEEEIQEMAQsgCkHgAWohFiAKQdwBaiEXIApB1AFqIRggCkHgAGohKyABQcQAaigCACETIApB/QVqIR4gCkHMBWohECAKQcEFaiEfIApBkAVqIREgCkGFBWohICAKQZAEaiICQcQAaiESIApByQRqISEgCkG9BGohIiACQQhqIRQgCkG5CGohIyAKQcUIaiEPIApBlAhqIQ0gASgCPCEVIAEoAhghLEP//39/IS5BBCEBA0AgLiAKKgKwAoxfDQECQAJ9AkAgCigCrAIiAiAaSQRAICwgAkEHdGoiCy0AeEEBcSICBEAgFSALKAJgIgNBDGxqQQAgAyATSRsiA0EIakEAIAMbISQgFSALQewAaigCACIDQQxsakEAIAMgE0kbIgNBCGpBACADGyElIBUgC0HoAGooAgAiA0EMbGpBACADIBNJGyIDQQhqQQAgAxsh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aiAMQRhqKQMANwMAIA5BEGogDEEQaikDADcDACAKIAopA7AHNwOwAyAKIAovAawHOwGsAyAKIAxBCGopAwA3A/gCIAogCikD+AY3A/ACIApB7gJqIApB9gZqLQAAOgAAIAogCi8B9AY7AewCIApBuAJqIgxBKGogCkHABmoiDkEoaikDADcDACAMQSBqIA5BIGopAwA3AwAgDEEYaiAOQRhqKQMANwMAIAxBEGogDkEQaikDADcDACAMQQhqIA5BCGopAwA3AwAgCiAKKQPABjcDuAIgCkG2AmogCkG+BmotAAA6AAAgCiAKLwG8BjsBtAIgKEEYdCADQRB0ciAJQQh0ciAHciEDCyAHQf8BcUECRwRAIAtB+ABqIQwgCiAIOAKMBiAKIC04AogGIAogLzgChAYgCiAwOAKABiAUIAopA+gDNwIAIBRBCGogCkHoA2oiCUEIaikDADcCACAUQRBqIAlBEGopAwA3AgAgFEEYaiAJQRhqKQMANwIAIBRBIGogCUEgaigCADYCACAKIDQ4ApQEIAogHDYCkAQgCiAdOgC8BCAiIAovAeQDOwAAICJBAmogCkHmA2otAAA6AAAgCiAEOgDIBCAKIGQ3AsAEICFBAmogCkHiA2otAAA6AAAgISAKLwHgAzsAACAKIEQ4AtAEIAogJzYCzAQgEkEoaiAKQbADaiIEQShqKQMANwIAIBJBIGogBEEgaikDADcCACASQRhqIARBGGopAwA3AgAgEkEQaiAEQRBqKQMANwIAIBJBCGogBEEIaikDADcCACASIAopA7ADNwIAIAogBjoAhAUgIEECaiAKQa4Dai0AADoAACAgIAovAawDOwAAIAogRTgCjAUgCiApNgKIBSARQShqIApB8AJqIgRBKGopAwA3AgAgEUEgaiAEQSBqKQMANwIAIBFBGGogBEEYaikDADcCACARQRBqIARBEGopAwA3AgAgEUEIaiAKKQP4AjcCACARIAopA/ACNwIAIAogAjoAwAUgH0ECaiAKQe4Cai0AADoAACAfIAovAewCOwAAIAogRjgCyAUgCiAZNgLEBSAQQShqIApBuAJqIgJBKGopAwA3AgAgEEEgaiACQSBqKQMANwIAIBBBGGogAkEYaikDADcCACAQQRBqIAJBEGopAwA3AgAgEEEIaiACQQhqKQMANwIAIBAgCikDuAI3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XToAACALQbgDaiACQQJ0aiAIOAIACyAGQQRqIQYgBEEBaiIEQQRHDQALIBMgCykDuAM3AgAgCiALKQLQAzcCACATQQhqIgYgFykDADcCACAKQQhqIgcgC0HQA2oiAkEIaiIMKQIANwIAIApBEGoiDyACQRBqIhUpAgA3AgAgCkEYaiIhIAJBGGoiIikCADcCACAKQSBqIiMgAkEgaiIkKQIANwIAIApBKGoiJSACQShqIiYoAgA2AgAgCygCzAMhBCALQeYCaiInIBJBAmoiKC0AADoAACALIBIvAAA7AeQCIAstAPwDIQIgC0GQAWogFkHAARCIDRogBEH/AXFBAkYNBCALQagDaiAGKQIANwMAIAsgEykCADcDoAMgJiAlKAIANgIAICQgIykCADcDACAiICEpAgA3AwAgFSAPKQIANwMAIAwgBykCADcDACALIAI6APwDIAsgCikCADcD0AMgEiALLwHkAjsAACAoICctAAA6AAAgFiALQZABakHAARCIDRogBEEVdkEIcSAEQQ52QQRxIARBB3ZBAnEgBEEBcXJycq0hSUIAIUgDQAJAIEkgSIhCAYNQDQAgSKchAiAgLQAAQQFxBEAgAkECdCIGIAtBoANqaioCACIIIAldRQ0BIAtB0ANqIAJBPGxqIgQtADgiAkEERg0BIA0gAyAGakHgAGooAgBNDQEgDkUNASAFIAQpAAA3AAAgBUEwaiAEQTBqKQAANwAAIAVBKGogBEEoaikAADcAACAFQSBqIARBIGopAAA3AAAgBUEYaiAEQRhqKQAANwAAIAVBEGogBEEQaikAADcAACAFQQhqIARBCGopAAA3AAAgC0HGAGogBEE7ai0AADoAACALIAQvADk7AUQgC0HIAGoiAUE3aiALQaAGaiIEQTdqKAAANgAAIAFBMGogBEEwaikAADcDACABQShqIBApAAA3AwAgAUEgaiAEQSBqKQAANwMAIAFBGGogBEEYaikAADcDACABQRBqIARBEGopAAA3AwAgAUEIaiAEQQhqKQAANwMAIAsgCykAoAY3A0ggAiEBIAghCQwBCyACQQJ0IgIgA2pB4ABqKAIAIgYgEU8NACALQaADaiACaioCAIwhCCALKAJAIgchBCALKAI8IAdGBEAgC0E4aiAHEKsGIAsoAkAhBAsgCygCOCICIARBA3RqIgwgCDgCBCAMIAY2AgAgCyAEQQFqNgJAIAIgB0EDdGoiBCoCBCEIIAQoAgAhBgJAIAdFBEBBACEEDAELA0BBAEF/IAIgB0EBayIMQQF2IgRBA3RqIg9BBGoqAgAiKSAIXyIVG0EBQQIgFRsgCCApXxtBAWpBAkkEQCAHIQQMAgsgAiAHQQN0aiAPKQIANwIAIAQhByAMQQFLDQALCyACIARBA3RqIgIgCDgCBCACIAY2AgALIEhCAXwiSEIEUg0ACyALQYQBaiALQThqEKEDIAsoAoQBDQEMBQsLIAJBBEHUwcIAEOMIAAsgAkEEQcTBwgAQ4wgACyACIBFB+KDCABDjCAALAkAgAkEERwRAIAtB4gVqIAtB5gJqLQAAOgAAIAsgCy8B5AI7AeAFIAtBgwRqIAtB6AJqIgFBMGopAgA3AAAgC0H7A2ogAUEoaikCADcAACALQfMDaiABQSBqKQIANwAAIAtB6wNqIAFBGGopAgA3AAAgC0HjA2ogAUEQaikCADcAACALQdsDaiABQQhqKQIANwAAIAsgCykC6AI3ANMDIAtBoAZqIgFBN2ogC0HQA2oiA0E3aigAADYAACABQTBqIANBMGopAAA3AwAgAUEoaiADQShqKQAANwMAIAFBIGogA0EgaikAADcDACABQRhqIANBGGopAAA3AwAgAUEQaiADQRBqKQAANwMAIAFBCGogA0EIaikAADcDACALIAspANADNwOgBiACIQEMAQsgC0GgBmoiAkE3aiALQcgAaiIDQTdqKAAANgAAIAJBMGogA0EwaikDADcDACACQShqIANBKGopAwA3AwAgAkEgaiADQSBqKQMANwMAIAJBGGogA0EYaikDADcDACACQRBqIANBEGopAwA3AwAgAkEIaiADQQhqKQMANwMAIAtB4gVqIAtBxgBqLQAAOgAAIAsgCykDSDcDoAYgCyALLwFEOwHgBQsgCygCPEUNASALKAI4EJoCDAELIAtBoAZqIgJBCGogC0HIAGoiA0EIaikDADcDACACQRBqIANBEGopAwA3AwAgAkEYaiADQRhqKQMANwMAIAJBIGogA0EgaikDADcDACACQShqIANBKGopAwA3AwAgAkEwaiADQTBqKQMANwMAIAJBN2ogA0E3aigAADYAACALQeIFaiALQcYAai0AADoAACALIAspA0g3A6AGIAsgCy8B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IAZBFGoiBkcNAAsLAkACQCASBEAgEkEBa0H/////AXEiC0EBaiIJQQdxIQggC0EHSQRAQQAhByAFIQMMAgsgCUH4////A3EhBkEAIQcgBSEDA0AgAyAHNgIAIANBCGogA0EEaigCACAHaiICNgIAIANBEGogA0EMaigCACACaiICNgIAIANBGGogA0EUaigCACACaiICNgIAIANBIGogA0EcaigCACACaiICNgIAIANBKGogA0EkaigCACACaiICNgIAIANBMGogA0EsaigCACACaiICNgIAIANBOGogA0E0aigCACACaiICNgIAIANBPGooAgAgAmohByADQUBrIQMgBkEIayIGDQALDAELIARB0ABqQQAQjwUgBEHcAGpBABCPBQwBCyAIBEADQCADIAc2AgAgA0EEaigCACAHaiEHIANBCGohAyAIQQFrIggNAAsLIARB0ABqIAcQjwUgBEHcAGogBxCPBSASRQ0AIAUhAyAJQQdxIgcEQANAIANBBGpBADYCACADQQhqIQMgB0EBayIHDQALCyALQQdJDQAgBSASQQN0aiECA0AgA0E8akEANgIAIANBNGpBADYCACADQSxqQQA2AgAgA0EkakEANgIAIANBHGpBADYCACADQRRqQQA2AgAgA0EMakEANgIAIANBBGpBADYCACACIANBQGsiA0cNAAsLAkACQAJAAkACQAJAIBtFDQAgBCgCaCEOIAQoAlwhFiAEKAJkIREgBCgCUCEXIAQoAlghEyAEKAJ0IRogBCgCfCIZIAQoAnAiCksEQEEAIRUDQCAMIBVBFGxqIgIoAgAhAyADIAMgAigCBCIPakkEQCADQQJ0IgIgGmohBiACIA5qIQIgAyAZIAMgGUsbIhAgA2shCCADIAogAyAKSxsiCSADayENA0AgCEUNBSASIAYoAgAiA00NBiATIAUgA0EDdGoiBygCBCAHKAIAaiIDTQ0HIBcgA0ECdGogFTYCACANRQ0IIBEgB0EEaiILKAIAIAcoAgBqIgNNDQkgFiADQQJ0aiACKAIANgIAIAsgCygCAEEBajYCACAGQQRqIQYgAkEEaiECIAhBAWshCCANQQFrIQ0gD0EBayIPDQALCyAbIBVBAWoiFUcNAAsMAQtBACEPA0AgDCAPQRRsaiICKAIAIQMgAyADIAIoAgQiB2pJBEAgA0ECdCIC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AggiFUH/////B3G+IgMgAiADYBsiAiABKAIMIhBB/////wdxviIDIAIgA2AbIgIgASgCECIUQf////8Hcb4iAyACIANgGyICIAEoAhQiFkH/////B3G+IgMgAiADYBsiAiABKAIYIhdB/////wdxviIDIAIgA2AbIgIgASgCHCIZQf////8Hcb4iAyACIANgGyICIAEoAiAiGEH/////B3G+IgMgAiADYBsiCUMAAAAAXARAIAEgGL4gCZU4AiAgASAZviAJlTgCHCABIBe+IAmVOAIYIAEgFr4gCZU4AhQgASAUviAJlTgCECABIBC+IAmVOAIMIAEgFb4gCZU4AgggASATviAJlTgCBCABIBG+IAmVOAIACyASQUBrIhNBIGogAUEgaigCADYCACATQRhqIAFBGGopAgA3AwAgE0EQaiABQRBqKQIANwMAIBNBCGogAUEIaikCADcDACASIAEpAgA3A0AgEkHoAGohHEEAIRQjAEEQayIZJAAgGUIANwMIIBNBJGohHiATQRRqIR8gGUEQaiEaQQEhFQNAIBRBAnQiGyATakEEaiIRIBRBA2wiAUECdGoiFioCACICIAKUIQIgFEUEQCACIBZBBGoqAgAiAiAClJIhAgsgAhCbASIFIAWMIBYqAgAiA0MAAAAAYCIQGyEEIBYgAyAEkjgCAAJAAkACQCACIAUgAyADjCAQG5SSIgIgApIiAkMAAAAAXARAIBEgAUEDakECdGohFyACEJsBIQIgFiAWKgIAIAKVOAIAIBRFBEAgFkEEaiIBIAEqAgAgApU4AgALIBkgG2ogBIw4AgAgGUEIaiAbaiIRIBYqAgAiAiACkiICIBcqAgCUOAIAIBRFBEAgESACIBcqAgSUOAIECyAXQQRqIBRFIgEgFkEEaiIdIAEQ2gEhAiARIBEqAgAgAiACkpI4AgAgFQRAIBFBBGoiECAXQRBqIAEgHSABENoBIgIgApIgECoCAJI4AgALIBYqAgAgESoCAJRDAAAAAJIhAiAURQRAIAIgHSoCACARQQRqKgIAlJIhAgtBAiAUayIgQQFxISEgFioCACEDQQAhGCAURQRAICBBAnEhIiAfIBRBBHRqIRAgESEBA0AgEEEEayIjICMqAgAgAyABKgIAlJM4AgAgECAQKgIAIAMgAUEEaioCAJSTOAIAIAFBCGohASAQQQhq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NwIQIAAgECkCADcCHCAAIAEpAgA3AiggAEEMaiAPQYgCaigCADYCACAAQRhqIBJBCGooAgA2AgAgAEEkaiAQQQhqKAIANgIAIABBMGogAUEIaigCADYCAAwBCyAAQQQ6ADQLIA9BwAJqJAAL9z0DE39GfQR+IwBBgAFrIgUkAAJAAkACQAJAAkACfwJAAkACQAJAAkACfwJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoArwBDgQAAQIDBAsgAUGAgID8AzYCsAEgACABKQIQNwIAIABBCGogAUEYaigCADYCAAwdCyAFQQhqIgNBCGoiAiABQRhqKAIANgIAIANBFGogAUE8aigCADYCACAFIAEpAhA3AwggBSABQTRqIgQpAgA3AhQgBUEANgJ4IAVCADcCcCAFQTBqIgYgAyAFQfAAahDyAiACIAZBCGooAgA2AgAgBSAFKQIwNwMIIAZBFGooAgAhAwJAAkACQAJAIAUoAkBFBEAgAw4CAgMBCyAFQcgAaioCACEVIAEgAzYCsAEgAUG0AWogFTgCAAwDC0HwpcIAQShBsLvCABCqCgALIAFBADYCvAEgAUGAgID8AzYCsAEMAQsgAUEQaiIDKQIAIVsgAyAEKQIANwIAIAVBMGoiBkEgaiICIANBIGoiBygCADYCACAGQRhqIgsgA0EYaiIIKQIANwMAIAZBEGoiCiADQRBqIgwpAgA3AwAgBkEIaiIGIANBCGoiAykCADcDACADIARBCGoiAykCADcCACAMIARBEGoiDCkCADcCACAIIARBGGoiCCkCADcCACAHIARBIGoiBygCADYCACAFIFs3AzAgBCAFKQMwNwIAIAcgAigCADYCACAIIAspAwA3AgAgDCAKKQMANwIAIAMgBikDADcCACABQQA2ArwBIAFBgICA/AM2ArABIAEgASkCAEIgiTcCAAsgACAFKQMINwIAIABBCGogBUEQaigCADYCAAwcCyAFQTBqIgRBCGogAUEYaigCADYCACAEQRRqIAFBPGooAgA2AgAgBEEgaiABQeAAaigCADYCACAFIAEpAhA3AzAgBSABQTRqIgYpAgA3AjwgBSABQdgAaiIDKQIANwNIIAVBADYCbCAFQgA3AmQgBUEIaiIHIAQgBUHkAGpBARBNIAVB+ABqIgsgB0EIaigC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FiAilJOSkiIwlJOSk5QgMyAgICiUIBsgJZQgFiAmlJOSkiA3ICsgNCAcICmUIBogI5QgGSAYlJOSkiIZlCAtIESUk5IgOCAsIDUgICAhlCAeICKUIBsgH5STkpIiG5QgLiAxlJOSk5QgMiAgICaUIBYgKJQgHiAllJOSkiA5IC0gL5QgJyAZlJOSIDogLiAwlCAqIBuUk5KTlJKSjJRdDQMgNkMAAAAAWw0CID0gF5IiFyAJXQ0ACwsgAEEEOgA0DAMLIABBBDoANAwCCyALQZQBaiEBAkAgHUMAAAAAXkUEQCALIBc4ApwCIAsgFzgCmAIgCyAIOAKUAiALQagBaiAdIAIgC0HgAWogBSAOIAwgC0GUAmoQwgEMAQsgCyAJOAKcAiALIBc4ApgCIAsgFzgClAIgC0GoAWogHSACIAMgBSAGIAwgC0GUAmoQ+QELIAsqAqwBIQMgACALKQPgATcCBCAAQQE6ADQgACADOAIAIAAgDikCADcCECAAIAwpAgA3AhwgACABKQIANwIoIABBDGogC0HoAWooAgA2AgAgAEEYaiAOQQhqKAIANgIAIABBJGogDEEIaigCADYCACAAQTBqIAFBCGooAgA2AgAMAQsgAEEEOgA0CyALQaACaiQAC4MdAwh/Gn0DfiMAQeACayIFJAAgACoCmAEhHiAAQYgBakEANgIAIABB8ABqQQA2AgAgBUEBOgAHAkACQAJAIAIoAhgiBwRAIAdB/////wFLDQEgB0ECdCIGQQBIDQECQCAGRQRAIAVBADYCECAFIAc2AgwgBUEENgIIDAELQZH7wwAtAAAaIAZBBBCCDCIIRQ0EIAVBADYCECAFIAc2AgwgBSAINgIICyAHQdWq1SpLDQEgB0EYbCIGQQBIDQECQAJAIAZFBEBBBCEIDAELQZH7wwAtAAAaIAZBBBCCDCIIRQ0BCyAIIQYCQCAHQQJJDQAgB0EBayIJQQNxIQogB0ECa0EDTwRAIAlBfHEhCQNAIAZC////+////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//ADcCACAGQeAAaiEGIAlBBGsiCQ0ACwsgCkUNAANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQRhqIQYgCkEBayIKDQALCyAGQf////sHNgIIIAZC////+/f//7//ADcCACAGQf///3s2AhQgBkL////7////v383AgwgBSAHNgIcIAUgBzYCGCAFIAg2AhRBBCEIIAdBBHQiBkEASA0CIAYEQEGR+8MALQAAGiAGQQQQggwiCEUNBQsgCCEGAkAgB0ECSQ0AIAdBAWsiCUEDcSEKIAdBAmtBA08EQCAJQXxxIQkDQCAGQn83AgggBkEAOgAEIAZBfzYCACAGQThqQn83AgAgBkE0akEAOgAAIAZBMGpBfzYCACAGQShqQn83AgAgBkEkakEAOgAAIAZBIGpBfzYCACAGQRhqQn83AgAgBkEUakEAOgAAIAZBEGpBfzYCACAGQUBrIQYgCUEEayIJDQALCyAKRQ0AA0AgBkJ/NwIIIAZBADoABCAGQX82AgAgBkEQaiEGIApBAWsiCg0ACwsgBkJ/NwIIIAZBADoABCAGQX82AgAMAwsMAwsgBUEANgIQIAVCBDcCCCAFQQA2AhwgBUIENwIUQQQhCAwBCxDbCgALIABBjAFqIQYgAEGQAWooAgAEQCAGKAIAEJoCCyAAIAc2ApQBIAAgBzYCkAEgACAINgKMASAFIAY2AogBIAUgBUEIajYCkAEgBSAFQRRqNgKMAQJAAkACQAJAIANBAWsOAgIBAAsgAkEQaigCAEGoAWwhByAFQYgCaiEDIAIoAgghCkEAIQZBACECA0AgBiAHRg0DAkAgBiAKaiIBKAIARQ0AIAFB6gBqLQAADQAgAUEEaigCACEIIAMgAUE4aigCACABQTxqKAIAIgkoAghBAWtBeHFqQQhqIAFB/ABqIAkoAogBEQEAIAUgCDYChAIgBSACNgKAAiAFQYgBaiACIAggAxDhAQsgAkEBaiECIAZBqAFqIQYMAAsACyACQRBqKAIAQagBbCEHIAEoAhAhCyABKAIIIQggBUGIAmohAyACKAIIIQxBACEKQQAhCQNAIAcg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m8EAQRNB6IbCABDhCQALIAJBAWohAiAKQagBaiEKDAALAAsgAEHoAGohBiAAQdAAaiEBIAVBIGoQtQkgACgCcCICIABB7ABqKAIARgRAIAYgAhCvBiAAKAJwIQILIAAoAmggAkEHdGogBUEgakHgABCIDSIDQegAakJ/NwMAIANCgYCAgHA3A2AgA0EAOgB4IANBADoAdCADQX82AnAgACACQQFqNgJwIAVBgAJqIgIgASAFQQdqIAUoAgggBSgCECAFQRRqQQBBACAeEGAgBUGIAWoiA0EQaiAFQZQCaikCACInNwMAIANBCGogBUGMAmopAgAiKDcDACAFIAUpAoQCIik3A4gBIAFBEGogJzcCACABQQhqICg3AgAgASApNwIAIAJBEGogJzcDACACQQhqICg3AwAgBUHYAmpC////+////79/NwMAIAVB0AJqQv////v3//+/fzcDACAFQcACakL////7////v383AwAgBUG4AmpC////+/f//79/NwMAIAVBqAJqQv////v///+/fzcDACAFQaACakL////79///v383AwAgBSApNwOAAiAFQv////v3//+//wA3A8gCIAVC////+/f//7//ADcDsAIgBUL////79///v/8ANwOYAiAFQaABaiACEJoEIAAoAnAEQCAGKAIAIAVBoAFqQeAAEIgNGiAFKAIYBEAgBSgCFBCaAgsgBSgCDARAIAUoAggQmgILIAVB4AJqJAAPC0EAQQBBvNrAABDjCAALQQQgBkHQgcQAKAIAIgBBlwcgABsRAAAAC/sdAgx/KH0jAEGAAWsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEQQVPBEAgBEECdCENQwAAgD8gBLOVIRQgBSgCACEMIAUoAgghCANAIAMgC2ooAgAiCiAITw0DIBcgFCAMIApBGGxqIgoqAgAgCioCDJJDAAAAP5SUkiEXIBggFCAKKgIIIApBFGoqAgCSQwAAAD+UlJIhGCAWIBQgCioCBCAKQRBqKgIAkkMAAAA/lJSSIRYgDSALQQRqIgtHDQALIARBAnQhDUMAAIA/IARBAWuzlSEaIAUoAgAhDCAFKAIIIQhDAAAAACEUQQAhCwNAIAMgC2ooAgAiCiAITw0CIBQgGiAMIApBGGxqIgoqAgAgCioCDJJDAAAAP5QgF5MiFCAUlJSSIRQgGSAaIAoqAgggCkEUaioCAJJDAAAAP5QgGJMiGSAZlJSSIRkgFSAaIAoqAgQgCkEQaioCAJJDAAAAP5QgFpMiFSAVlJSSIRUgDSALQQRqIgtHDQALQQIgFCAVXiIKIBkgFSAUIAobXRsiCkECaiIIIApBAWsgCEEDSRshDSAKQQFqIgggCkECayAIQQNJGyEOIAFBGGohDCABQSBqKAIAIgshCiABQRxqKAIAIAtGBEAgDCALEK8GIAEoAiAhCgsgASgCGCAKQQd0aiIIQgA3A2AgCEEAOgB4IAggBzoAdCAIIAY2AnAgCEL////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//+//wA3AwAgCEHoAGpCADcDACABIApBAWo2AiAgCSAYOAJMIAkgFjgCSCAJIBc4AkQgCUHgAGoiBiADIAQgBSgCACIEIAUoAggiByAJQcQAaiIDIA4gAi0AACIKEI4EIAlB7ABqIggoAgAhDiAJKAJoIQ8gBiAJKAJgIAkoAmQgBCAHIAMgDSAKEI4EIAgoAgAhECAJKAJoIREgCSgCZCESIAkoAmAhEyAGIA8gDiAEIAcgAyANIAoQjgQgCCgCACEEIAkoAmghByAJKAJkIQogCSgCYCEIIAlBDGogASACIBMgEiAFIAtBABBEIAlBKGogASACIBEgECAFIAtBARBEIAMgASACIAggCiAFIAtBAhBEIAYgASACIAcgBCAFIAtBAxBEIAEoAiAiAiALTQ0EIAkqAnghGCAJKgJ0IRYgCSoCcCEXIAkqAmwhFCAJKgJoIRUgCSoCZCEZIAkoAmAhAyAJKgJcIRogCSoCWCEbIAkqAlQhHCAJKgJQIR0gCSoCTCEeIAkqAkghHyAJKAJEIQQgCSoCQCEgIAkqAjwhISAJKgI4ISIgCSoCNCEjIAkqAjAhJCAJKgIsISUgCSgCKCEFIAkqAiQhJiAJKgIgIScgCSoCHCEoIAkqAhghKSAJKgIUISog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//v3/////wA3AgAgA0E4akL////79/////8ANwIAIANBMGpC////+/f/////ADcCACADQShqQv////v3/////wA3AgAgA0EgakL////79/////8ANwIAIANBGGpC////+/f/////ADcCACADQRBqQv////v3/////wA3AgAgA0EIakL////79/////8ANwIAIANBQGshAyAIQQhrIggNAAsLIAIEQANAIANC////+/f/////ADcCACADQQhqIQMgAkEBayICDQALCyAHIAtqQQFrIQcLIANC////+/f/////ADcCACAJKAIUIQsgB0EBaiECCyAJIAI2AgggCwRAIABBAmshByAKQQJrIQMgCSgCDCIOIAtBDGxqIQ0DQAJAAkAgCSgCCCIKIAdLBEAgDUEMayENIAdBA3QhAiADQQN0IQgDQCAJKAIAIgAgAmoiDyoCACIfIA0qAgAiIF8NAyADIApPDQIgD0EEaigCACEKIAAgCGoiACAfOAIAIABBBGogCjYCACACQQhrIQIgCEEIayEIIANBAWshAyAHQQFrIgcgCSgCCCIKSQ0ACwsgByAKQczvwQAQ4wgACyADIApB3O/BABDjCAALIAMgCk8EQCADIApB7O/BABDjCAALIAAgCGoiAEEEaiANQQRqKAIANgIAIAAgIDgCACANQQhqIAM2AgAgA0EBayEDIA0gDkcNAAsgCSgCCCECCyACQQFrIQ0gAkUNASAGRQ0AIAkoAgAhDiAJKAIUIQAgCUEANgIUIABBDGwhAyAJKAIMIQcCQAJAAkAgAUEDTwRAA0AgA0UNBSADQQxrIQMgBygCBCEAIAdBDGohByAAQQBODQALIABB/////wdxIgogBUkNAQwGCyAEIAFBAnRqIQkgAyAHaiEPIAJBA3RBEGshCwNAIAcgD0YNBCAHIgBBDGohByAAKAIEIgFBAE4NACABQf////8HcSIKIAVPDQYgACgCCCIDQQFqIgEgDUsNAiABIA1GDQAgACoCACEfIApBLGwiCCAEaiIAQQxqIQIgCCAJakEYaioCACEgIAsgA0EDdGshCCAOIAFBA3RqIQMgAEEgaiERIABBHGohEyAAQRhqIRADQAJAIANBBGooAgAiAUH/////B3EiACAKRg0AIAAgBU8NBQJAIAFBAEgEQCADKgIAICBdDQEMAgsgCSAAQSxs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AiAoAgAiBwRAIARBiAJqIgZBGGogB0EYaigCADYCACAGQRBqIAdBEGopAgA3AwAgBkEIaiAHQQhqKQIANwMAIAQgBykCADcDiAJBASEJCyAEQegBaiIHQRhqIARBiAJqIgZBGGoiCygCADYCACAHQRBqIAZBEGoiECkDADcDACAHQQhqIAZBCGoiBykDADcDACAEIAQpA4gCNwPoASABBEAgCyABQRhqKAIANgIAIBAgAUEQaikCADcDACAHIAFBCGopAgA3AwAgBCABKQIANwOIAkEBIQULIARByAFqIgFBGGogCygCADYCACABQRBqIBApAwA3AwALIAFBCGogBykDADcDACAEIAQpA4gCNwPIASANIgYgCigCBEYEQCAKIA0QowYgCigCCCEGCyAKKAIAIAZBqAFsaiIBIAk2AgAgASAEKQPoATcCBCABIAU2AiAgASAEKQPIATcCJCABQQxqIARB6AFqIgVBCGopAwA3AgAgAUEUaiAFQRBqKQMANwIAIAFBHGogBUEYaigCADYCACABQSxqIARByAFqIgVBCGopAwA3AgAgAUE0aiAFQRBqKQMANwIAIAFBPGogBUEYaigCADYCACABQgA3AlwgAUHkAGpCADcCACABQewAakIANwIAIAFB8gBqQgA3AQAgAUIANwKAASABQYgBakIANwIAIAFBkAFqQgA3AgAgAUGYAWpCADcCACABQQQ2AlggAUEANgJMIAFBADYCQCABQQQ2AnwgASAONgKgASABIAw2AqQBIAogBkEBajYCCCAIKAIAIgUgDyAIKAIEIglxIgZqKQAAQoCBgoSIkKDAgH+DIiRQBEBBCCEBA0AgASAGaiEHIAFBCGohASAHIAlxIgYgBWopAABCgIGChIiQoMCAf4MiJFANAAsLIAgoAhghByAkeqdBA3YgBmogCXEiBiAFaiwAACIBQQBOBEAgBSkDAEKAgYKEiJCgwIB/g3qnQQN2IgYgBWotAAAhAQsCQCABQQFxIgxFDQAgCCgCCA0AIAggCCgCECAHEIkBIA8gCCgCBCIJcSIBIAgoAgAiBWopAABCgIGChIiQoMCAf4MiJFAEQEEIIQYDQCABIAZqIQEgBkEIaiEGIAUgASAJcSIBaikAAEKAgYKEiJCgwIB/gyIkUA0ACwsgJHqnQQN2IAFqIAlxIgYgBWosAABBAEgN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BFINAAsMAQsgACANQfSYwAAQ4wgACyACLQCwAiIAQQJGDQEgCUH4AGohBgJAIAItALMCQQN0QQhxIAItALICQQJ0QQRxIAItALECQQF0QQJxIABBAXFycnIiA60iH0IBg1ANACAGLQAAQQFxDQAgCSgCYCIAIA1LDQAgECAANgIAIAIgETYCrAILAkAgH0ICg1ANACAGLQAAQQFxDQAgCUHkAGooAgAiACANSw0AIAsgAigCrAIiAUYEQCACQaQCaiALEKgGIAIoAqwCIQELIAIoAqQCIAFBAnRqIAA2AgAgAiABQQFqNgKsAgsCQCAfQgSDUA0AIAYtAABBAXENACAJQegAaigCACIAIA1LDQAgAigCrAIiASACKAKoAkYEQCACQaQCaiABEKgGIAIoAqwCIQELIAIoAqQCIAFBAnRqIAA2AgAgAiABQQFqNgKsAgsCQCADQQhJDQAgBi0AAEEBcQ0AIAlB7ABqKAIAIgEgDUsNACACKAKsAiIAIAIoAqgCRgRAIAJBpAJqIAAQqAYgAigCrAIhAAsgAigCpAIgAEECdGogATYCACACIABBAWoiETYCrAIgEQ0BDAILIAIoAqwCIhENAAsLIAIoAqgCBEAgAigCpAIQmgILIAJBgANqJAALtBUDKn8XfQJ+IwBBkAJrIgMkACADIAI2AjQgAyABNgIwIANBADoAOCADIAIqAggiMTgCLCADIDE4AiggAyAxOAIkIAMgMTgCICADIAIqAgQiMjgCHCADIDI4AhggAyAyOAIUIAMgMjgCECADIAIqAgAiMzgCDCADIDM4AgggAyAzOAIEIAMgMzgCAAJAIAFBOGooAgAiFQRAIANBADYCUCADQgQ3AkggA0HIAGoiBEEAEKsGIAMoAkggAygCUCILQQN0akKAgICA8P///343AgAgAyALQQFqNgJQIANB1ABqIAQQoQMCQAJAIAMoAlRFBEBBBCELDAELIAFBFGooAgAhDyABQdwAaigCACEQIAFB1ABqKAIAIREgASgCACEIIAEoAgghByABKAIMIRMgA0GEAmohCSABKAIwISRD//9/fyEvIANBwwFqISUgA0GnAWohJiADQe8AaiEUQQQhCwJAAkADQCAvIAMqAlyMXw0DAkACQAJAIAMoAlgiASAVSQRAICQgAUEHdGoiCi0AeEEBcSIEBEAgESAKKAJg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ICZBACAHIAlfG0EAIAdDAAAAAGAbISEgBCEBAkACQCAJQwAAAABgRQ0AIAcgCWBFDQAgBCAjaiEBQQAhAyAjDQELQQEhAyAhRQ0BCyAcICFqIh4gCCAhaiICICFBAEobIiRBAEggICAkTHIiJyABIARrIgQgBmoiHSAEIAVqIhsgBEEAShsiJUEASCAfICVMciIEcQ0AIAMgBHINASACIB5ODQEgHCAIayEDIAIhBANAIBpB3ABqICUgBBCaAUUEQCAEQQFqIQQgA0EBayIDDQEMAwsLIABBBToANAwHCyAAIBopAiQ3AgAgAEEwaiAaQSRqIgFBMGopAgA3AgAgAEEoaiABQShqKQIANwIAIABBIGogAUEgaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCAAwGCyAhICJqISIgASEEIB4hHCACIQggIUUgJ3INACAbIB1ODQAgBiAFayEDIBshBANAIBpB3ABqIAQgJBCaAQRAIABBBToANAwHCyAEQQFqIQQgA0EBayIDDQALIAEhBAwACwALIAAgGikCJDcCACAAQTBqIBpBJGoiAUEwaikCADcCACAAQShqIAFBKGopAgA3AgAgAEEgaiABQSBqKQIANwIAIABBGGogAUEYaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIADAMLQbSOwgBBHEGYj8IAEKoKAAtBtI7CAEEcQZiPwgAQqgoACyAAQQQ6ADQLIBpBgAFqJAALrxUCCX8CfiMAQUBqIgUkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDgUBAgMEBQALIAIoAgAhAQJAA0ACQCACKALMASIKIAIoAsgBQQFrIAFxIghBHGxqIgYoAhgiCSABQQFqRwRAIAEgCUcEQCADQQZNBEBBACEBA0AgASADdiEEIAFBAWohASAERQ0ACwsgAigCACEBIAMgA0ELSWohAwwDCyABIAIoAkAiBCACKALIASIGQX9zcUYNAUEGIAMgA0EGTxshBkEAIQEDQCABIAZ2IQQgAUEBaiEBIARFDQALIAIoAgAhASADIANBB0lqIQMMAgsgAigCwAEgCEEBak0EQCACKALEASIEIAFBACAEa3FqIQkLIAIoAgAiBCAB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AioCFCEZIAIqAhAhKSACKgIMIRMgAioCCCEVIAIqAgQhFiACKgIAISpBfyENIAEoAjwgCkEEdGoiAkEAOgAEIAIgDjYCACAEQQFGBEBBfyELQX8hDEP//3//IRRD//9//yEaQ///f38hG0P//39/IRxD//9//yEdQ///f/8hHkP//3//IR9D//9/fyEgQ///f38hIUP//39/ISJD//9//yEjQ///f/8hJEP//3//ISVD//9/fyEmQ///f38hJ0P//39/ISgMCAsgBSgCCCICIAMoAgQiC00EQCALIQoMBwsgASgCRCICIAtNBEAgCyEKDAELIAUoAgAgC0EYbGoiAioCFCEjIAIqAhAhJCACKgIMISUgAioCCCEmIAIqAgQhJyACKgIAISggASgCPCALQQR0aiICQQE6AAQgAiAONgIAIARBAkYEQEF/IQxD//9//yEUQ///f/8hGkP//39/IRtD//9/fyEcQ///f/8hHUP//3//IR5D//9//yEfQ///f38hIEP//39/ISFD//9/fyEiDAgLIAUoAggiAiADKAIIIgxNBEAgDCEKDAcLIAEoAkQiAiAMTQRAIAwhCgwBCyAFKAIAIAxBGGxqIgIqAhQhHSACKgIQIR4gAioCDCEfIAIqAgghICACKgIEISEgAioCACEiIAEoAjwgDEEEdGoiAkECOgAEIAIgDjYCACAEQQNGBEBD//9//yEUQ///f/8hGkP//39/IRtD//9/fyEcDAgLIAUoAggiAiADKAIMIg1NBEAgDSEKDAcLIA0gASgCRCICSQ0FIA0hCgsgCiACQazawAAQ4wgACyAKIAJBvNnAABDjCAALIAogAkHM2cAAEOMIAAsgCiADQdzZwAAQ4wgACyAKIAFB7NnAABDjCAALIAUoAgAgDUEYbGoiAioCACEcIAIqAgQhGyACKgIIIRcgAioCDCEaIAIqAhAhFCACKgIUIRggASgCPCANQQR0aiICQQM6AAQgAiAONgIADAELIAogAkGc2sAAEOMIAAsgCSAYOAL8ASAJIBQ4AvgBIAkgGjgC9AEgCSAXOALwASAJIBs4AuwBIAkgHDgC6AEgCSAdOALkASAJIB44AuABIAkgHzgC3AEgCSAgOALYASAJICE4AtQBIAkgIjgC0AEgCSAjOALMASAJICQ4AsgBIAkgJTgCxAEgCSAmOALAASAJ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AWsiBUEDcSEEIAZBAmtBA08EQCAFQXxxIQUDQCABQv////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//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUH////7BzYCCCABQv////v3//+//wA3AgAgAUH///97NgIUIAFC////+////79/NwIMIAMgBjYCICADIAY2AhwgAyACNgIYQZH7wwAtAAAaIAhBBBCCDCICRQ0EIAIhAQJ/QQEgBkECSQ0AGiAGQQFrIgVBA3EhBCAGQQJrQQNPBEAgBUF8cSEFA0AgAUJ/NwIIIAFBADoABCABQX82AgAgAUEsakF/NgIAIAFBKGpBADoAACABQSBqQn83AgAgAUEcakEAOgAAIAFBFGpCfzcCACABQRBqQQA6AAAgAUEwaiEBIAVBBGsiBQ0ACwsgBiAERQ0AGgNAIAFBfzYCCCABQQA6AAQgAUF/NgIAIAFBDGohASAEQQFrIgQNAAsgBgshBSABQX82AgggAUEAOgAEIAFBfzYCAAsgAEFAaygCAARAIAAoAjwQmgILIAAgBTYCRCAAIAY2AkAgACACNgI8IAYEQCAIIAlqIQwgAEE8aiENQQAhBANAIAkoAgAiASAAKAJQIgJPDQYgCSgCBCIIIAJPDQcgCSgCCCIHIAJPDQggBEEBaiEGIAAoAkgiAiABQQxsaiIBKgIEIRQgAiAHQQxsaiIHKgIAIRIgAiAIQQxsaiICKgIAIRUgAioCCCEQIAEqAgghFiAHKgIIIQ8gAioCBCEXIAcqAgQhEyABKgIAIRggBCAFTwRAIAYgBSICayEIIAggACgCQCACa0sEQCANIAUgCBCLBiAAKAJEIQILIAAoAjwgAkEMbGohASAIQQJPBEAgBCAFayIHQQNxIQogBCAFQX9zakEDTwRAIAdBfHEhBwNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAHQQRrIgcNAAsLIAoEQCALIAVrQQNxIQcDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgB0EBayIHDQALCyACIAhqQQFrIQILIAFBfzYCCCABQQA6AAQgAUF/NgIAIAAgAkEBaiIFNgJEIAMgAygCICIIIARNBH8gBiAIIgJrIQogCiADKAIcIAJrSwRAIANBGGogCCAKEJ0GIAMoAiAhAgsgAygCGCACQRhsaiEBIApBAk8EQCAEIAhrIgdBA3EhDiAEIAhBf3NqQQNPBEAgB0F8cSEHA0AgAUL////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/8ANwIAIAFB4ABqIQEgB0EEayIHDQALCyAOBEAgCyAIa0EDcSEHA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAHQQFrIgcNAAsLIAIgCmpBAWshAgsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAJBAWoFIAYLNgIgCyAEIAVPDQkgACgCPCAEQQxsaiAENgIIIAMoAiAiAiAETQ0KIAMoAhggBEEYbGoiAiAPIA8gECAQIBYgECAWXiIBGyAWIBZcGyIRIA8gEV4bIBEgEVwbOAIUIAIgEyATIBcgFyAUIBQgF10iCBsgFCAUXBsiESARIBNdGyARIBFcGzgCECACIBIgEiAVIBUgGCAVIBheIgcbIBggGFwbIhEgESASXRsgESARXBs4AgwgAiAWIBYgECABGyAQIBBcGyIQIBAgDyAPIBBeGyAPIA9cGzgCCCACIBQgFCAXIAgbIBcgF1wbIg8gDyATIA8gE10bIBMgE1wbOAIEIAIgGCAYIBUgBxsgFSAVXBsiDyAPIBIgDyASXRsgEiASXBs4AgAgAygCFCIBIAMoAhBGBEAgA0EMaiABEKgGIAMoAhQhAQsgAygCDCABQQJ0aiAENgIAIAMgAUEBajYCFCALQQFqIQsgBiEEIAwgCUEMaiIJRw0ACwsgAEEYaiEFIAAoAiAiBCAAQRxqKAIARgRAIAUgBBCvBiAAKAIgIQQLIAAoAhggBEEHdGoiAkKBgICAcDcDYCACQQA6AHggAkEAOgB0IAJBfzYCcCACQv////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/NwMAIAAgBEEBajYCICADQSRqIAAgA0ELaiADKAIMIgIgAygCFCADQRhqQQBBABBEIANBLGoqAgAhEiADQTBqKgIAIQ8gA0E0aioCACETIANBOGoqAgAhFCADKgIoIRUgACADQTxqKgIAIhA4AhQgACAUOAIQIAAgEzgCDCAAIA84AgggACASOAIEIAAgFTgCACAAKAIgRQ0JIAUoAgAiAEH///97NgJcIABC////+////79/NwJUIAAgEDgCUCAAQf///3s2AkwgAEL////7////v383AkQgACAUOAJAIABB////ezYCPCAAQv////v///+/fzcCNCAAIBM4AjAgAEH////7BzYCLCAAQv////v3//+//wA3AiQgACAPOAIgIABB////+wc2AhwgAEL////79///v/8ANwIUIAAgEjgCECAAQf////sHNgIMIABC////+/f//7//ADcCBCAAIBU4AgAgAygCHARAIAMoAhgQmgILIAMoAhAEQCACEJoCCyADQUBrJAAPC0EEIAJB0IHEACgCACIA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ACAFQZACaiQAC4MgAxJ/AX4GfSMAQdAAayIJJAAgCUEIaiAAQQRqIAEQhQQCQAJAAkACQAJAAkACQAJAAkAgCSgCCEUEQCAJQRBqKAIAQQRrKAIAIgAgCSgCDCIBQRhqKAIAIgJPDQEgASgCECAAQRRsaigCECEIDAcLIAlBKGogCUEIaiIGQRRqKAIANgIAIAkgCUEUaikCADcDICAAKgIAIhcgASgCCLKUIRggFyAYkiEZIBcgFyABKAIEspQiGpIhGyAXIBcgASgCALKUIheSIRwgBkEIaigCACEQIAkoAgwhBgJAIAMoAggiAQRAIAMgAUEBayIBNgIIIAMoAgAgAUECdGooAgAiAUEANgIIIAFBFGpBADYCACABKAIEIgVFBEAgAUEAEKsGIAEoAgQhBSABKAIIIQgLIAEgCEEBaiIDNgIIIAEoAgAiBCAIQQN0akL///97NwIAIAMgBUYEQCABIAUQqwYgASgCACEEIAEoAgghAwsgASAcOAIcIAEgFzgCGEEAIQggAUE0akEANgIAIAEgA0EBajYCCCABQShqQQA2AgAgBCADQQN0akL////79/////8ANwIAIAFBIGohByABQSRqKAIAIgVFBEAgB0EAEKsGIAEoAiQhBSABKAIoIQgLIAEgCEEBaiIDNgIoIAEoAiAiBCAIQQN0akL///97NwIAIAMgBUYEQCAHIAUQqwYgASgCICEEIAEoAighAwtBACEIIAFB1ABqQQA2AgAgAUE8aiAbOAIAIAFBOGogGjgCACABIANBAWo2AiggAUHIAGpBADYCACAEIANBA3RqQv////v3/////wA3AgAgAUFAayEHIAFBxABqKAIAIgVFBEAgB0EAEKsGIAEoAkQhBSABKAJIIQgLIAEgCEEBaiIDNgJIIAEoAkAiBCAIQQN0akL///97NwIAIAMgBUYEQCAHIAUQqwYgASgCQCEEIAEoAkghAwsgAUEAOgCQASABQdwAaiAZOAIAIAFB2ABqIBg4AgAgASADQQFqNgJIIAQgA0EDdGpC////+/f/////ADcCACABQeQAaigCAARAIAEoAmAQmgILIAFBADoAkQEgAUF/NgJwIAFCBDcCYCABQYwBakEANgIAIAFB6ABqQgA3AgAgASgCdA0DIAFBgAFqKAIARQ0BQcj5wQBBKkH4+sEAEKoKAAsgFyAcX0UNCEGR+8MALQAAGkEQQQQQggwiA0UNCSADQv////v3/////wA3AgggA0L///97NwIAIBogG19FDQhBkfvDAC0AABpBEEEEEIIMIgRFDQkgBEL////79/////8ANwIIIARC////ezcCACAYIBlfRQ0IQZH7wwAtAAAaQRBBBBCCDCIIRQ0JIAhC////+/f/////ADcCCCAIQv///3s3AgBBkfvDAC0AABpBlAFBBBCCDCIBRQ0DIAFCgICAgMAANwKAASABQgQ3AnggAUL/////DzcCcCABQgA3AmggAUIENwJgIAEgGTgCXCABIBg4AlggAUEANgJUIAFCBDcCTCABQoKAgIAgNwJEIAEgCDYCQCABIBs4AjwgASAaOAI4IAFBADYCNCABQgQ3AiwgAUKCgICAIDcCJCABIAQ2AiAgASAcOAIcIAEgFzgCGCABQQA2AhQgAUIENwIMIAFCgoCAgCA3AgQgASADNgIAIAFBkAFqQQA7AQAgAUIANwKIAQsgAC0AOCEDIAAtADkhBAJAIAIoAgwiCEF/RgRAIAIoAggiCCACKAIERgRAIAIgCBCtBiACKAIIIQgLIAIgCEEBajYCCCACKAIAIAhBLGxqIgIgAzoAKSACIAQ6ACggAkF/NgIkIAIgGTgCICACIBs4AhwgAiAcOAIYIAIgGDgCFCACIBo4AhAgAiAXOAIMIAIgATYCBCACQQE2AgAMAQsgAigCCCIFIAhNDQQgAiACKAIAIAhBLGxqIgIoAiQ2AgwgAkEEaiEFAkAgAigCAEUNACAFKAIAIgdFDQAgBxCOBQsgAiADOgApIAIgBDoAKCACQX82AiQgAiAZOAIgIAIgGzgCHCACIBw4AhggAiAYOAIUIAIgGjgCECACIBc4AgwgAkEBNgIAIAUgATYCAAsgAEE0aigCACIBIABBMGooAgBGBEAgAEEsaiABEKgGIAAoAjQhAQsgACABQQFqNgI0IAAoAiwgAUECdGogCDYCACAQIAYoAgQiAnEiACAGKAIAIgNqKQAAQoCBgoSIkKDAgH+DIhZQBEBBCCEBA0AgACABaiEAIAFBCGohASADIAAgAnEiAGopAABCgIGChIiQoMCAf4MiFlANAAsLIAZBGGohBCADIBZ6p0EDdiAAaiACcSIBaiwAACIFQQBOBEAgAyADKQMAQoCBgoSIkKDAgH+DeqdBA3YiAWotAAAhBQsgBCgCACEAAkAgBUEBcSISRQ0AIAYoAggNACAGKAIQIREjAEEwayILJAACQCAGKAIMIg9BAWoiAUUEQBCKCiALKAIIGgwBCyAGKAIEIgVBAWoiAkEDdiEEAkACQAJAAkACQAJAIAUgBEEHbCAFQQhJGyIKQQF2IAFJBEAgASAKQQFqIgIgASACSxsiAkEISQ0BAn8gAkGAgICAAkkEQEEBIQEgAkEDdCICQQ5JDQZBfyACQQduQQFrZ3ZBAWoMAQsQigogCygCKEGBgICAeEcNCCALKAIsCyIBQf////8DSw0FDAQLQQAhASAGKAIAIQMCQCAEIAJBB3FBAEdqIgRFDQAgBEEBcSEMIARBAUcEQCAEQf7///8DcSEEA0AgASADaiIHKQMAIRYgByAWQn+FQgeIQoGChIiQoMCAAYMgFkL//v379+/fv/8AhHw3AwAgB0EIaiIHKQMAIRYgByAWQn+FQgeIQoGChIiQoMCAAYMgFkL//v379+/fv/8AhHw3AwAgAUEQaiEBIARBAmsiBA0ACwsgDEUNACABIANqIgEpAwAhFiABIBZCf4VCB4hCgYKEiJCgwIABgyAWQv/+/fv379+//wCEfDcDAAsgAkEITwRAIAIgA2ogAykAADcAAAwCCyADQQhqIAMgAhCKDRogBUF/Rw0BQQAhCgwCC0EEQQggAkEESRshAQwCCyADQQRrIRNBACEBA0ACQCADIAEiAmoiDC0AAEGAAUcNAAJAAkAgACATIAJBAnQiBGsiFCgCACIBSwRAIAMgBGtBBGshBwNAIAMgESABQRRsaigCACINIAVxIg4iBGopAABCgIGChIiQoMCAf4MiFlAEQEEIIQEDQCABIARqIQQgAUEIaiEBIAMgBCAFcSIEaikAAEKAgYKEiJCgwIB/gyIWUA0ACwsgAyAWeqdBA3YgBGogBXEiBGosAABBAE4EQCADKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAOayACIA5rcyAFcUEISQ0CIAMgBEECdGtBBGshASADIARqIg4tAAAhFSAOIA1BGXYiDToAACAEQQhrIAVxIANqQQhqIA06AAAgFUH/AUYNAyAHLQAAIQQgByABLQAAOgAAIAEgBDoAACAHLQABIQQgByABLQABOgABIAEgBDoAASAHLQACIQQgByABLQACOgACIAEgBDoAAiAHLQADIQQgByABLQADOgADIAEgBDoAAyAAIBQoAgAiAUsNAAsLIAEgAEHM/cAAEOMIAAsgDCANQRl2IgE6AAAgAkEIayAFcSADakEIaiABOgAADAELIAxB/wE6AAAgAkEIayAFcSADakEIakH/AToAACABIAcoAAA2AAALIAJBAWohASACIAVHDQALCyAGIAogD2s2AggMAwsgAUECdCIDQQdqIQIgAiADSQ0AIAJBeHEiAyABQQhqIgRqIQIgAiADTw0BCxCKCiALKAIQGgwBCwJAIAJBAE4EQEGR+8MALQAAGiACQQgQggwiB0UEQEEIIAJB0IHEACgCACIAQZcHIAAbEQAAAAsgAyAHakH/ASAEEIkNIQIgAUEBayIDIAFBA3ZBB2wgA0EISRsgD2shDyAGKAIAIQoCQCAFQX9HBEAgCkEEayEMQQAhBwNAIAcgCmosAABBAE4EQCAMIAdBAnQiDWsoAgAiASAATw0FIAIgESABQRRsaigCACIOIANxIgRqKQAAQoCBgoSIkKDAgH+DIhZQBEBBCCEBA0AgASAEaiEEIAFBCGohASACIAMgBHEiBGopAABCgIGChIiQoMCAf4MiFlANAAsLIAIgFnqnQQN2IARqIANxIgFqLAAAQQBOBEAgAikDAEKAgYKEiJCgwIB/g3qnQQN2IQELIAEgAmogDkEZdiIEOgAAIAFBCGsgA3EgAmpBCGogBDoAACACIAFBAnRrQQRrIAogDWtBBGsoAAA2AgALIAUgB0YhASAHQQFqIQcgAUUNAAsgBiAPNgIIIAYgAzYCBCAGIAI2AgAgBQ0BDAQLIAYgDzYCCCAGIAM2AgQgBiACNgIACyAKIAVBAnRBC2pBeHFrEJoCDAILEIoKIAsoAhgaDAELIAEgAEHM/cAAEOMIAAsgC0EwaiQAIAYoAgAiAyAQIAYoAgQiAnEiBGopAABCgIGChIiQoMCAf4MiFlAEQEEIIQEDQCABIARqIQQgAUEIaiEBIAIgBHEiBCADaikAAEKAgYKEiJCgwIB/gyIWUA0ACwsgAyAWeqdBA3YgBGogAnEiAWosAABBAEgNACADKQMAQoCBgoSIkKDAgH+DeqdBA3YhAQsgBkEQaiEEIAEgA2ogEEEZdiIFOgAAIAFBCGsgAnEgA2pBCGogBToAACAGIAYoAgggEmsiAjYCCCAGIAYoAgxBAWoiBTYCDCADIAFBAnRrQQRrIAA2AgAgBigCGCEBIAAgBkEUaigCACIDRw0FIAIgBWogAWsiAiAAIgMgAWtNDQUgASACaiIDIAFJDQQgA0EUbCECIANB58yZM0lBAnQhBQJAIABFBEAgCUEANgIwDAELIAlBBDYCMCAJIABBFGw2AjQgCSAEKAIANgIsCyAJQcQAaiAFIAIgCUEsahDaBiAJKAJIIQIgCSgCREUEQCAGIAM2AhQgBiACNgIQDAYLIAAhAyACQYGAgIB4Rg0FIAJFDQQgAiAJQcwAaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAJBvP3AABDjCAALIAlBADYCLCABQfQAakG498AAIAlBLGpBiPvBABDgCgALQQRBlAFB0IHEACgCACIAQZcHIAAbEQAAAAsgCCAFQaj5wQAQ4wgACxDbCgALIAEgA0YEQCAEIAEQpQYgBigCGCEBCyAGKAIQIAFBFGxqIgIgCSkDIDcCBCACQQxqIAlBKGooAgA2AgAgAiAQNgIAIAIgCDYCECAGIAFBAWoiATYCGCAAIAFJDQAgACABQbz7wAAQ4wgACyAJQdAAaiQAIAgPC0HA7cEAQShB7O7BABCqCgALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+kRAxx/An4BfSMAQeACayICJAAgACgCACgCACEIIAAoAgQiBigCAAR/IAYoAgQiBEH//wNxIQYgBEEQdiEKQQEFQQALIQcgCEFBcSEJIAAoAggiBCkDAFAEf0EABSAEKQMIIh5CIIinIQQgHqchC0EBCyEDQQAgCCAJGyEJIAAoAgwiCCkDAFAEf0EABSAIKQMIIh5CIIinIQwgHqchBUEBCyEIIAJBPGpBqLfAADYCACACQTBqIAw2AgAgAkEsaiAFNgIAIAJBEGoiBUEUaiAENgIAIAJBIGogCzYCACACIAE2AjggAiAINgIoIAIgAzYCHCACIAY2AhggAiAKNgIUIAIgBzYCECACIAk2AjQgACgCECgCACIBQQhqKAIAIQMgASkCACEeIAAoAhQoAgAiASkCACEfIAJBQGsiBEEUaiABQQhqKAIANgIAIARBCGogAzYCACACIB83AkwgAiAeNwNAIAAoAhwoAgAhASAAKAIkKAIAIQMgACgCICgCACEHIAAoAigqAgAhICAAKAIsLQAAIQYgAiAAKAIYNgJsIAIgBjoAayACICA4AmQgAiAHNgJ8IAIgAzYCdCACIAJB9ABqNgJwIAIgAkHsAGo2AowBIAIgAkHrAGo2AogBIAIgAkHkAGo2AoQBIAIgBDYCgAEgAiAFNgJ4IAJBkAFqIAQQ6wUgAkH8AWogIDgCACACQfgBaiAgOAIAIAJB9AFqICA4AgAgAiAgOALwASACIAJB8ABqNgKAAiACQQA2ApwCIAJCBDcClAICQCABQfAAaigCACIIRQ0AIAJBlAJqQQAQqAYgAigClAIiBiACKAKcAiIAQQJ0akEANgIAIABBAWoiBUUNACABQZQBaigCACELIAFBjAFqKAIAIQwgASgCaCEXIAJB8AFqIhhBCGohGQNAIAIgBUEBayIENgKcAgJAIARBAnQiGiAGaigCACIAIAhJBEAgFyAAQQd0aiIHLQB4QQFxIgAEQCAMIAcoAmAiAUEEdGpBACABIAtJGyIBQQhqQQAgARshGyAMIAdB7ABqKAIAIgFBBHRqQQAgASALSRsiAUEIakEAIAEbIRwgDCAHQegAaigCACIBQQR0akEAIAEgC0kbIgFBCGpBACABGyEdIAwgB0HkAGooAgAiAUEEdGpBACABIAtJGyIBQQhqQQAgARshEgsgAigCmAIhEyACIBkpAwA3A8gCIAIgGCkDADcDwAIgAkGgAmogByACQZABaiACQcACahDcASACLQCgAiEPIAItAKECIRQgAi0AogIhFSACLQCjAiEWIAAEQCACIBw2AswCIAIgHTYCyAIgAiASNgLEAiACIBs2AsACIBZBA3RBCHEgFUECdEEEcSAUQQF0QQJxIA9BAXFycnKtIR9CACEeIAJBwAJqIQADQAJAIB8gHoinQQFxRQ0AIAAoAgAiAUUNACACKAKAAigCACIKKAIAIAEoAgAiECABQQRqKAIAIhEQmAoiAUUNACAKKAIIIQ0CQCAKKAIEIgMoAgxFDQAgA0EQaigCACAQRw0AIANBFGooAgAgEUYNAQsCQCADKAIYRQ0AIAEoAgBBAUcNACADQRxqKAIAIAEoAgRHDQAgA0EgaigCACABKAIIRg0BCyADKAIABEAgASgCSCADKAIIcUUNASABQcwAaigCACADKAIEcUUNAQsCQCADKAIkIglFDQAgCUEQcUEAIAEtAJgBIg4bDQEgDkUgCUEgcUEAR3ENASAJQQJxIQ4gASgCAARAIA0gASgCBCABKAIIEJcKIg1FDQEgDS0A3QIiDUEBRiAOQQBHcQ0CIAlBBHFBAEcgDUEBS3ENAiAJQQhxRQ0BIA1FDQIMAQsgDg0BCyADKAIoIgkEQCAJIBAgESABIANBLGooAgAoAhQREwBFDQELIAJBoAJqIAEoAjAgAUE0aigCACIDKAIIQQFrQXhxakEIaiABQfQAaiAKKAIMIAooAhAqAgAgCigCFC0AACADKAIcEQgAIAIoAqACQQRGDQAgCigCGCgCACgCACEDIAJBgQE2AtgCQZH7wwAtAAAaAkACQEEkQQQQggwiAQRAIAFBADYCACABIAIpAqACNwIEIAEgETYCICABIBA2AhwgAUEMaiACQaACaiIKQQhqKQIANwIAIAFBFGogCkEQaikCADcCACACIAEQBTYC3AIgAkEIaiADIAJB2AJqIAJB3AJqELcKIAIoAgwhAyACKAIIRQRAIAMQAUEARyEBIANBhAFJDQMMAgtBASEBIANBgwFLDQEMAgtBBEEkQdCBxAAoAgAiAEGXByAAGxEAAAALIAMQAgsgAigC3AIiA0GEAU8EQCADEAILIAIoAtgCIgNBhAFPBEAgAxACCyABRQ0GCyAAQQRqIQAgHkIBfCIeQgRSDQALCyAPQQJGDQMgB0H4AGohACAWQQN0QQhxIBVBAnRBBHEgFEEBdEECcSAPQQFxcnJyIgGtIh5CAYNQDQEgAC0AAEEBcQ0BIAcoAmAiAyAISw0BIAYgGmogAzYCACACIAU2ApwCIAUhBAwBCyAAIAhB9JjAABDjCAALAkAgHkICg1ANACAALQAAQQFxDQAgB0HkAGooAgAiBSAISw0AIAQgE0YEQCACQZQCaiATEKgGIAIoApQCIQYgAigCnAIhBAsgBiAEQQJ0aiAFNgIAIAIgBEEBaiIENgKcAgsCQCAeQgSDUA0AIAAtAABBAXENACAHQegAaigCACIFIAhLDQAgAigCmAIgBEYEQCACQZQCaiAEEKgGIAIoApQCIQYgAigCnAIhBAsgBiAEQQJ0aiAFNgIAIAIgBEEBaiIENgKcAgsCQCABQQhJBEAgBCEFDAELIAAtAABBAXEEQCAEIQUMAQsgB0HsAGooAgAiACAISwRAIAQhBQwBCyACKAKYAiAERgRAIAJBlAJqIAQQqAYgAigClAIhBiACKAKcAiEECyAGIARBAnRqIAA2AgAgAiAEQQFqIgU2ApwCCyAFDQALCyACKAKYAgRAIAIoApQCEJoCCyACQeACaiQAC8kRARR/IwBBQGoiAyQAAkAgAEEYaigCACIQIAFB/wFxIhFLBEACQAJAAkACQAJAAkACQAJAAkAgACgCECISIBFBBnRqIhQtADxFDQAgFEE9ai0AACIIIBBPDQggEiAIQQZ0aiIIQRxqKAIAIg5FDQAgCEEUaigCACITIA5BFGxqIRUgA0EIaiIIQQhqIQ4gCEEEaiEIIAAoAgAhCyAAKAIIIQkDQAJAAkACQAJAAkACQCAJIBMoAhAiAksEQCALIAJBLGxqIgIoAgBFDQEgAigCBCEGIAJBADYCBCAGRQ0BQQAhAiADQRBqQQA2AgAgA0IANwMIIAZB7ABqIQ1BACEFIAYoAggiB0UNAiAGKAIAQQRqIQJBACEEA0ACQCACKAIAIgxB/////wdxIgUgCU8NACALIAVBLGxqKAIARQ0AIAMgBTYCFCANKAIAIAVNDRQgBUEFdiICIAYoAmgiCk8NBiAGKAJgIAJBAnRqIgIgAigCAEF+IAx3cTYCAEEBIQUgAyADKAIIQQFqNgIIIARBAWohAgwECyACQQhqIQIgByAEQQFqIgRHDQALQQAhBQwDCyACIAlByPTBABDjCAALQdj0wQBBGUH09MEAEOEJAAsgAiAHRg0AIAcgAmshCiAGKAIAIAJBA3RqIQIDQAJAAkAgAkEEaigCACIPQf////8HcSIEIAlPDQAgCyAEQSxsaigCAEUNACADIAQ2AhQgDSgCACAETQ0SIARBBXYiBCAGKAJoIgxPDQkgBigCYCAEQQJ0aiIEIAQoAgBBfiAPd3E2AgAgAyADKAIIQQFqNgIIIAVBAWohBQwBCyACIAVBA3RrIAIpAgA3AgALIAJBCGohAiAKQQFrIgoNAAsLIAYgByAFazYCCAJAAkAgBkEoaigCACIHRQRAQQAhAkEAIQUMAQsgBigCIEEEaiECQQAhBANAAkAgAigCACIMQf////8HcSIFIAlPDQAgCyAFQSxsaigCAEUNACADIAU2AhQgDSgCACAFTQ0SIAVBBXYiAiAGKAJoIgpPDQQgBigCYCACQQJ0aiICIAIoAgBBfiAMd3E2AgBBASEFIAMgAygCDEEBajYCDCAEQQFqIQIMAgsgAkEIaiECIAcgBEEBaiIERw0AC0EAIQUMAQsgAiAHRg0AIAcgAmshCiAGKAIgIAJBA3RqIQIDQAJAAkAgAkEEaigCACIPQf////8HcSIEIAlPDQAgCyAEQSxsaigCAEUNACADIAQ2AhQgDSgCACAETQ0SIARBBXYiBCAGKAJoIgxPDQkgBigCYCAEQQJ0aiIEIAQoAgBBfiAPd3E2AgAgAyADKAIMQQFqNgIMIAVBAWohBQwBCyACIAVBA3RrIAIpAgA3AgALIAJBCGohAiAKQQFrIgoNAAsLIAYgByAFazYCKCAGQcgAaigCACIHRQRAQQAhAkEAIQUMAgsgBigCQEEEaiECQQAhBANAAkAgAigCACIMQf////8HcSIFIAlPDQAgCyAFQSxsaigCAEUNACADIAU2AhQgDSgCACAFTQ0QIAVBBXYiAiAGKAJoIgpPDQIgBigCYCACQQJ0aiICIAIoAgBBfiAMd3E2AgBBASEFIAMgAygCEEEBajYCECAEQQFqIQIMAwsgAkEIaiECIAcgBEEBaiIERw0AC0EAIQUMAgsgAiAKQZjYwAAQ4wgACyACIAdGDQAgByACayEKIAYoAkAgAkEDdGohAgNAAkACQCACQQRqKAIAIg9B/////wdxIgQgCU8NACALIARBLGxqKAIARQ0AIAMgBDYCFCANKAIAIARNDQ8gBEEFdiIEIAYoAmgiDE8NBiAGKAJgIARBAnRqIgQgBCgCAEF+IA93cTYCACADIAMoAhBBAWo2AhAgBUEBaiEFDAELIAIgBUEDdGsgAikCADcCAAsgAkEIaiECIApBAWsiCg0ACwsgBiAHIAVrNgJIAkAgAygCCCICIAMoAgxGBEAgAygCECACRgRAIAMgAkEBcSIENgIYIARFDQIgA0EANgIoIANBGGpBuPfAACADQShqQZj7wQAQ4AoACyAOIQgLIANBADYCKCADQQhqIAggA0EoakGo+8EAEOAKAAsgBiAGKAJ0IAJBAXZrNgJ0IAZBjAFqIgIoAgAhBCACQQA2AgAgBARAIAYoAoQBIQIgBEECdCEEA0AgAigCACIFIAlPDQYgCyAFQSxsaiIFKAIARQ0HIAUoAgQiBUUNCCACQQRqIQIgBUF/NgJwIARBBGsiBA0ACwsgEygCECICIAlPDQMCQCALIAJBLGxqIgIoAgBFDQAgAigCBCIERQ0AIAQQjgULIAIgBjYCBCACQQE2AgAgFSATQRRqIhNHDQALCwJAIBQtADpFDQAgAUH/AXEgEiARQQZ0akE7ai0AACIBRg0GIAEgEE8NByASIAFBBnRqIgFBHGooAgAiCEUNACAAQThqIQ4gEiARQQZ0aiEGIAhBFGwhAiABQRRqKAIAQRBqIQEDQCAGIAEoAgAgACAOEKoBIAFBFGohASACQRRrIgINAAsLIANBQGskAA8LIAQgDEGY2MAAEOMIAAsgAiAJQYT1wQAQ4wgACyAFIAlBlPXBABDjCAALIANBNGpCADcCACADQQE2AiwgA0Hw+MEANgIoIANBmL/AADYCMCADQShqQZj5wQAQ3AoAC0H0wsAAQStBiPnBABCqCgALIANBNGpCADcCACADQQE2AiwgA0G0iMIANgIoIANBmL/AADYCMCADQShqQaCJwgAQ3AoACyADQTRqQgA3AgAgA0EBNgIsIANBsInCADYCKCADQZi/wAA2AjAgA0EoakG4icIAENwKAAsgCCAQQfTrwQAQ4wgACyARIBBB5OvBABDjCAALIANBGGoiAEEMakGKATYCACADQShqIgFBDGpCAjcCACADQQI2AiwgA0H418AANgIoIAMgDTYCICADQYoBNgIcIAMgADYCMCADIANBFGo2AhggAUGI2MAAENwKAAuOEgMUfwx9An4jAEHAAmsiBCQAIAQgATYCBCAAKAIAIQYCQCABBEAgAUEUaioCACIcIAYqAgAiGJQgBioCBCIbIAEqAhAiIpSTIhkgGZIhHiAGKgIIIhkgIpQgAUEYaioCACIdIBiUkyIaIBqSIR8gBEEIaiIFQRhqIAZBGGoqAgAgHSAGKgIMIhogHpQgGCAflCAbIBsgHZQgGSAclJMiHSAdkiIjlJOSkpI4AgAgBUEUaiAGQRRqKgIAIBwgGiAflCAZICOUIBggHpSTkpKSOAIAIAQgGiABKgIMIhyUIBggASoCACIdlJMgGyABKgIEIiCUkyAZIAEqAggiIZSTOAIUIAQgGSAclCAYICCUIBogIZSSIBsgHZSTkjgCECAEIBkgHZQgGyAclCAaICCUIBggIZSTkpI4AgwgBCAbICGUIBogHZQgGCAclJKSIBkgIJSTOAIIIAQgBioCECAiICMgGpQgGyAelCAZIB+Uk5KSkjgCGAwBCyAEQQhqIgFBGGogBkEYaigCADYCACABQRBqIAZBEGopAgA3AwAgAUEIaiAGQQhqKQIANwMAIAQgBikCADcDCAsgBEHQAWogAiAEQQhqIAMoAogBEQEAIAAoAgQiASoCACIYQwAAAABgBEAgBEHgAWoqAgAhGyAEQeQBaioCACEZIAQqAtABIRogBCoC1AEhHiAEKgLYASEfIAQqAtwBIRwgBEHYAGogAzYCACAEIAE2AlwgBCACNgJUIAQgACkCKDcCTCAEIAApAiA3AkAgBCAAKQIYNwI4IAQgACkCEDcCMCAEIAApAgg3AiQgBCAEQQRqNgJIIAQgBEEIajYCLCAEIBggGZI4AnQgBCAYIBuSOAJwIAQgGCAckjgCbCAEIB8gGJM4AmggBCAeIBiTOAJkIAQgGiAYkzgCYCAEQdABaiIBIARB4ABqIgIQ6wUgAiABQeAAEIgNGiAEIARBJGo2AsABIAAoAjQiAkEANgIIAkAgACgCMCIBQSBqKAIAIgpFDQACQCACKAIEBEAgAigCACIGQQA2AgBBASEADAELIAJBABCoBiACIAIoAggiA0EBaiIANgIIIAIoAgAiBiADQQJ0akEANgIAIABFDQELIAFBxABqKAIAIQwgASgCPCENIAEoAhghFANAIAIgAEEBayIBNgIIAkACQAJAIAogAUECdCIVIAZqKAIAIgNLBEAgFCADQQd0aiIDLQB4QQFxBEAgAygCYCEFIANB5ABqKAIAIQggA0HoAGooAgAhByADQewAaigCACEOIARBsAJqIAMgBEHgAGoQ4AIgBC0AsAIiECAELQCzAkEDdCIRIAQtALECQQF0IhIgBC0AsgJBAnQiE3JyciIWrSIlQv8BgyEkICVCAYNQDQMgDSAFQQxsakEAIAUgDEkbIgkNAgwDCyAEQbACaiADIARB4ABqEOACIAQtALACIhBBAkYNBSAELQCzAkEDdCERIAQtALICQQJ0IRMgBC0AsQJBAXQhEgwDCyADIApByODAABDjCAALIAkoAgghCyAEKALAASIFKAIAIQ8gBSgCBCEXIAQgCUEIajYC2AEgBCAFKAI4NgKEAiAEIAUpAjA3AvwBIAQgBSkCKDcC9AEgBCAFKQIgNwLsASAEIAUpAhg3AuQBIAQgBSkCEDcC3AEgBCAFKQIINwLQASAPIAsgBEHQAWpB3O/AACAXKAIMEQIACwJAICRCAoNQDQAgDSAIQQxsakEAIAggDEkbIgVFDQAgBUEIakEAIAUbIggoAgAhCSAEKALAASIFKAIAIQsgBSgCBCEPIAQgCDYC2AEgBCAFKAI4NgKEAiAEIAUpAjA3AvwBIAQgBSkCKDcC9AEgBCAFKQIgNwLsASAEIAUpAhg3AuQBIAQgBSkCEDcC3AEgBCAFKQIINwLQASALIAkgBEHQAWpB3O/AACAPKAIMEQIACwJAICRCBINQDQAgDSAHQQxsakEAIAcgDEkbIgVFDQAgBUEIakEAIAUbIggoAgAhByAEKALAASIFKAIAIQkgBSgCBCELIAQgCDYC2AEgBCAFKAI4NgKEAiAEIAUpAjA3AvwBIAQgBSkCKDcC9AEgBCAFKQIgNwLsASAEIAUpAhg3AuQBIAQgBSkCEDcC3AEgBCAFKQIINwLQASAJIAcgBEHQAWpB3O/AACALKAIMEQIACyAWQf8BcUEISQ0AIA0gDkEMbGpBACAMIA5LGyIFRQ0AIAVBCGpBACAFGyIIKAIAIQcgBCgCwAEiBSgCACEOIAUoAgQhCSAEIAg2AtgBIAQgBSgCODYChAIgBCAFKQIwNwL8ASAEIAUpAig3AvQBIAQgBSkCIDcC7AEgBCAFKQIYNwLkASAEIAUpAhA3AtwBIAQgBSkCCDcC0AEgDiAHIARB0AFqQdzvwAAgCSgCDBECAAsgA0H4AGohBQJAIBFBCHEgE0EEcSASQQJxIBBBAXFycnIiCK0iJEIBg1ANACAFLQAAQQFxDQAgAygCYCIHIApLDQAgAiAANgIIIAYgFWogBzYCACAAIQELAkAgJEICg1AEQCABIQAMAQsgBS0AAEEBcQRAIAEhAAwBCyAKIANB5ABqKAIAIgdJBEAgASEADAELIAIoAgQgAUYEQCACIAEQqAYgAigCACEGIAIoAgghAQsgAiABQQFqIgA2AgggBiABQQJ0aiAHNgIACwJAICRCBINQBEAgACEBDAELIAUtAABBAXEEQCAAIQEMAQsgCiADQegAaigCACIHSQRAIAAhAQwBCyACKAIEIABGBEAgAiAAEKgGIAIoAgAhBiACKAIIIQALIAIgAEEBaiIBNgIIIAYgAEECdGogBzYCAAsCQCAIQQhJBEAgASEADAELIAUtAABBAXEEQCABIQAMAQsgCiADQewAaigCACIDSQRAIAEhAAwBCyACKAIEIAFGBEAgAiABEKgGIAIoAgAhBiACKAIIIQELIAIgAUEBaiIANgIIIAYgAUECdGogAzYCAAsgAA0ACwsgBEHAAmokAA8LIARB7ABqQgA3AgAgBEEBNgJkIARBwL/AADYCYCAEQZi/wAA2AmggBEHgAGpBuMDAABDcCgAL1RcDB38LfQJ+IwBBgANrIgYkACAGQcgCaiACIAMoAmAiChEAACAGQbgCaiIHIAYoAsgCIgkgBigCzAJBDGooAgARAAAgB0EIaikDACEYIAYpA7gCIRkgBkGwAmogBCAFKAJgIgsRAAAgBkGgAmogBigCsAIiByAGKAK0AkEMaigCABEAAAJAAkACQAJAAkACQCAJQQAgGUK65aKq6Lvo2G+FIBhCw9+m8rD/iKAghYRQGyIJBEAgB0EAIAYpA6ACQrrloqrou+jYb4UgBkGoAmopAwBCw9+m8rD/iKAghYRQGyIHDQELIAZBmAJqIAIgChEAACAGQYgCaiIHIAYoApgCIgkgBigCnAJBDGooAgARAAAgB0EIaikDACEYIAYpA4gCIRkgBkGAAmogBCALEQAAIAZB8AFqIAYoAoACIgcgBigChAJBDGooAgARAAAgCUEAIBlCrPzNjNiE8KxRhSAYQp2076Wh6IWStn+FhFAbIgkEQCAHQQAgBikD8AFCrPzNjNiE8KxRhSAGQfgBaikDAEKdtO+loeiFkrZ/hYRQGyIHDQILIAZB6AFqIAIgChEAACAGQdgBaiIHIAYoAugBIgkgBigC7AFBDGooAgARAAAgB0EIaikDACEYIAYpA9gBIRkgBkHQAWogBCALEQAAIAZBwAFqIAYoAtABIgcgBigC1AFBDGooAgARAAAgCUEAIBlCpZLIrK3C05MEhSAYQr///bHCvMXDbIWEUBsiCQRAIAdBACAGKQPAAUKs/M2M2ITwrFGFIAZByAFqKQMAQp2076Wh6IWStn+FhFAbIgcNAwsgBkG4AWogAiAKEQAAIAZBqAFqIgcgBigCuAEiCSAGKAK8AUEMaigCABEAACAHQQhqKQMAIRggBikDqAEhGSAGQaABaiAEIAsRAAAgBkGQAWogBigCoAEiByAGKAKkAUEMaigCABEAACAJQQAgGUKs/M2M2ITwrFGFIBhCnbTvpaHohZK2f4WEUBsiCQRAIAdBACAGKQOQAUKlksisrcLTkwSFIAZBmAFqKQMAQr///bHCvMXDbIWEUBsiBw0ECyAGQYgBaiACIAoRAAAgBkH4AGogBigCiAEiByAGKAKMAUEMaigCABEAACAHRQ0EIAYpA3hCuuWiqui76NhvhSAGQYABaikDAELD36bysP+IoCCFhEIAUg0EIAVBLGooAgAhACAHKgIAIRQgBiABKgIMIg8gASoCACIXIAFBFGoqAgAiFpQgASoCBCIQIAEqAhAiFZSTIg0gDZIiEZQgECAQIAFBGGoqAgAiEpQgASoCCCITIBaUkyINIA2SIg6UIBcgEyAVlCAXIBKUkyINIA2SIg2Uk5IgEpM4AvgCIAYgDyANlCAXIBGUIBMgDpSTkiAWkzgC9AIgBiAPIA6UIBMgDZQgECARlJOSIBWTOALwAkEBIQIgBkHUAmogBCAGQfACakEBIAARAgAgBi0A4AINBSAGKgLwAiAGKgLUApMiDSANlCAGKgL0AiAGKgLYApMiDSANlJIgBioC+AIgBioC3AKTIg0gDZSSIBQgFJRfIQIMBQsgASoCECINIA2UIAFBFGoqAgAiDSANlJIgAUEYaioCACINIA2UkiAJKgIAIAcqAgCSIg0gDZRfIQIMBAsgBkHUAmogCSAHIAEQ1QFBACECIAYqAtQCQwAAAABeDQMgBiABKgIMIg84AuACIAYgASoCCCIQjDgC3AIgBiABKgIEIhOMOALYAiAGIAEqAgAiFIw4AtQCIAYgDyAUIAFBFGoqAgAiFpQgEyABKgIQIhWUkyINIA2SIhGUIBMgEyABQRhqKgIAIhKUIBAgFpSTIg0gDZIiDpQgFCAQIBWUIBQgEpSTIg0gDZIiDZSTkiASkzgC7AIgBiAPIA2UIBQgEZQgECAOlJOSIBaTOALoAiAGIA8gDpQgECANlCATIBGUk5IgFZM4AuQCIAZB8AJqIAcgCSAGQdQCahDVASAGKgLwAkMAAAAAXg0DIAZB8AJqIAkgByABEOgBIAYqAvACQwAAAABfIQIMAwsgBiABKgIMIg84AuACIAYgASoCCCIQjDgC3AIgBiABKgIEIhOMOALYAiAGIAEqAgAiFIw4AtQCIAYgDyAUIAFBFGoqAgAiFpQgEyABKgIQIhWUkyINIA2SIhGUIBMgEyABQRhqKgIAIhKUIBAgFpSTIg0gDZIiDpQgFCAQIBWUIBQgEpSTIg0gDZIiDZSTkiASkzgC7AIgBiAPIA2UIBQgEZQgECAOlJOSIBaTOALoAiAGIA8gDpQgECANlCATIBGUk5IgFZM4AuQCIAZB1AJqIAcgCRByIQIMAgsgASAJIAcQciECDAELIAZB8ABqIAQgCxEAACAGQeAAaiAGKAJwIgcgBigCdEEMaigCABEAAAJAIAdFDQAgBikDYEK65aKq6Lvo2G+FIAZB6ABqKQMAQsPfpvKw/4igIIWEQgBSDQAgA0EsaigCACEDIAcqAgAhDiMAQSBrIgQkACAEQQhqIAFBGGooAgA2AgAgBCABKQIQNwMAQQEhACAEQRBqIAIgBEEBIAMRAgAgBC0AHEUEQCAEKgIAIAQqAhCTIg0gDZQgBCoCBCAEKgIUkyINIA2UkiAEKgIIIAQqAhiTIg0gDZSSIA4gDpRfIQALIARBIGokACAAIQIMAQsgBkHYAGogAiAKEQAAIAZByABqIgkgBigCWCIHIAYoAlxBDGooAgARAAAgCUEIaikDACEYIAYpA0ghGSAGQUBrIAQgBSgCqAEiCBEAAAJAAkACQCAHQQAgGULvwsvty7aNvlqFIBhChNHSirvkjM7LAIWEUBsiCQRAIAYoAkAiBw0BCyAGQThqIAIgAygCqAEiChEAACAGKAI8IQkgBigCOCEMIAZBMGogBCALEQAAIAZBIGogBigCMCIHIAYoAjRBDGooAgARAAAgDARAIAdBACAGKQMgQu/Cy+3Lto2+WoUgBkEoaikDAEKE0dKKu+SMzssAhYRQGyIHDQILIAZBGGogAiAKEQAAIAYoAhwhCSAGKAIYIQogBkEQaiAEIAgRAAAgCgRAIAYoAhAiBw0DCyAGQQhqIAIgAygCrAERAAAgBigCCCIHBEAgACABIAcgBigCDCAEIAUQkgEhAgwECyAGIAQgBSgCrAERAAAgBigCACIHRQRAQQIhAgwECyAGKAIEIQUgBkHUAmoiBCABEPIFIAAgBCAHIAUgAiADEJIBIQIMAwsgASAJIAcgBigCREEYaigCABCHCCECDAILIAZB1AJqIgAgARDyBSAAIAcgDCAJQRhqKAIAEIcIIQIMAQsgCiEAIAYoAhQhCiMAQZACayIIJAAgCEGoAWpBADYCACAIQbgBakEANgIAIAhCgoCAgDA3AwggCEKAgICAEDcDACAIQgA3A6ABIAhCADcDsAEgCEEwakEAQfAAEIkNIQVDAACAPyEVIAEqAhAiESARlCABQRRqKgIAIhIgEpSSIAFBGGoqAgAiDiAOlJIiDUMAAIAoXgRAIA4gDRCbASINlSEWIBIgDZUhDyARIA2VIRULIAggFjgCzAEgCCAPOALIASAIIBU4AsQBIAhB+AFqIgMgACAIQcQBaiAJKAIMEQEAIAggCCoCzAGMOALYASAIIAgqAsgBjDgC1AEgCCAIKgLEAYw4AtABIAhBhAJqIgIgByABIAhB0AFqIgQgCigCFBECACAIQRxqIAgpAvgBNwIAIAhBJGogA0EIaiIDKAIANgIAIAhBKGogCCkChAI3AwAgBSACQQhqIgIoAgA2AgAgCEEANgK8ASAIQQA2AqwBIAgqAvgBIREgCCoChAIhEiAIKgL8ASEOIAgqAogCIQ0gCEEYaiADKgIAIAIqAgCTOAIAIAhBFGogDiANkzgCACAIIBEgEpM4AhAgBCABIAAgCSAHIApDAAAAAEEAIAgQowFBASECAkACQAJAIAgoAtABQQFrDgMAAQECC0HwpcIAQShBwL3CABCqCgALQQAhAgsgCEGQAmokAAsgBkGAA2okACACC5EQAxd/DH0BfiMAQeAAayICJAAgAkEANgIMIAJCBDcCBAJAIABBOGooAgAiCkUNACACQQRqQQAQqAYgAigCBCIHIAIoAgwiBUECdGpBADYCACAFQQFqIgVFDQAgAEHcAGooAgAhDCAAQdQAaigCACENIAAoAgghDiABKgIIISIgASoCBCEjIAEqAgAhJCAAKAIwIRcgACgCACELA0AgAiAFQQFrIgE2AgwCQAJAAkACQAJAIAFBAnQiGCAHaigCACIAIApJBEAgFyAAQQd0aiIALQB4QQFxIgMEQCANIAAoAmAiBEEMbGpBACAEIAxJGyIEQQhqQQAgBBshESANIABB7ABqKAIAIgRBDGxqQQAgBCAMSRsiBEEIakEAIAQbIRIgDSAAQegAaigCACIEQQxsakEAIAQgDEkbIgRBCGpBACAEGyETIA0gAEHkAGooAgAiBEEMbGpBACAEIAxJGyIEQQhqQQAgBBshEAsgAigCCCEUIAIgIjgCPCACICI4AjggAiAiOAI0IAIgIjgCMCACICM4AiwgAiAjOAIoIAIgIzgCJCACICM4AiAgAiAkOAIcIAIgJDgCGCACICQ4AhQgAiAkOAIQIAJBQGsgACACQRBqEP4CIAItAEMhDyACLQBCIRUgAi0AQSEWIAItAEAhBCADRQ0CIAtFDQIgFkEBdCAVQQJ0ciAPQQN0ciAEcq1C/wGDIiVCAYNQDQEgEUUNASARKAIAIgMgDk8NASALIANBJGxqIgMoAhwhBiADQSBqKAIAIggoAgghCSAkIAMqAhCTIh8gAyoCBCIclCAjIANBFGoqAgCTIiAgAyoCACIdlJMiGiAakiEaICAgAyoCCCIelCAiIANBGGoqAgCTIhkgHJSTIhsgG5IhGyACIBkgAyoCDCIhIBqUIBwgG5QgHSAZIB2UIB8gHpSTIhkgGZIiGZSTkpI4AlwgAiAgICEgGZQgHSAalCAeIBuUk5KSOAJYIAIgHyAhIBuUIB4gGZQgHCAalJOSkjgCVCAGIAlBAWtBeHFqQQhqIAJB1ABqIAgoAjgRAwBFDQEMAwsgACAKQeigwgAQ4wgACwJAICVCAoNQDQAgEEUNACAQKAIAIgMgDk8NACALIANBJGxqIgMoAhwhBiADQSBqKAIAIggoAgghCSAkIAMqAhCTIh8gAyoCBCIclCAjIANBFGoqAgCTIiAgAyoCACIdlJMiGiAakiEaICAgAyoCCCIelCAiIANBGGoqAgCTIhkgHJSTIhsgG5IhGyACIBkgAyoCDCIhIBqUIBwgG5QgHSAZIB2UIB8gHpSTIhkgGZIiGZSTkpI4AlwgAiAgICEgGZQgHSAalCAeIBuUk5KSOAJYIAIgHyAhIBuUIB4gGZQgHCAalJOSkjgCVCAGIAlBAWtBeHFqQQhqIAJB1ABqIAgoAjgRAwANAgsCQCAlQgSDUA0AIBNFDQAgEygCACIDIA5PDQAgCyADQSRsaiIDKAIcIQYgA0EgaigCACIIKAIIIQkgJCADKgIQkyIfIAMqAgQiHJQgIyADQRRqKgIAkyIgIAMqAgAiHZSTIhogGpIhGiAgIAMqAggiHpQgIiADQRhqKgIAkyIZIByUkyIbIBuSIRsgAiAZIAMqAgwiISAalCAcIBuUIB0gGSAdlCAfIB6UkyIZIBmSIhmUk5KSOAJcIAIgICAhIBmUIB0gGpQgHiAblJOSkjgCWCACIB8gISAblCAeIBmUIBwgGpSTkpI4AlQgBiAJQQFrQXhxakEIaiACQdQAaiAIKAI4EQMADQILICVCCINQDQAgEkUNACASKAIAIgMgDk8NACALIANBJGxqIgMoAhwhBiADQSBqKAIAIggoAgghCSAkIAMqAhCTIh8gAyoCBCIclCAjIANBFGoqAgCTIiAgAyoCACIdlJMiGiAakiEaICAgAyoCCCIelCAiIANBGGoqAgCTIhkgHJSTIhsgG5IhGyACIBkgAyoCDCIhIBqUIBwgG5QgHSAZIB2UIB8gHpSTIhkgGZIiGZSTkpI4AlwgAiAgICEgGZQgHSAalCAeIBuUk5KSOAJYIAIgHyAhIBuUIB4gGZQgHCAalJOSkjgCVCAGIAlBAWtBeHFqQQhqIAJB1ABqIAgoAjgRAwANAQtBACEGIARBAkYNBCAAQfgAaiEDIA9BA3RBCHEgFUECdEEEcSAWQQF0QQJxIARBAXFycnIiBK0iJUIBg1ANAiADLQAAQQFxRQ0BDAILQQEhBgwDCyAAKAJgIg8gCksNACAHIBhqIA82AgAgAiAFNgIMIAUhAQsCQCAlQgKDUA0AIAMtAABBAXENACAAQeQAaigCACIFIApLDQAgASAURgRAIAJBBGogFBCoBiACKAIEIQcgAigCDCEBCyAHIAFBAnRqIAU2AgAgAiABQQFqIgE2AgwLAkAgJUIEg1ANACADLQAAQQFxDQAgAEHoAGooAgAiBSAKSw0AIAIoAgggAUYEQCACQQRqIAEQqAYgAigCBCEHIAIoAgwhAQsgByABQQJ0aiAFNgIAIAIgAUEBaiIBNgIMCyAEQQhJBEAgASIFDQEMAgsgAy0AAEEBcQRAIAEiBQ0BDAILIABB7ABqKAIAIgAgCksEQCABIgUNAQwCCyACKAIIIAFGBEAgAkEEaiABEKgGIAIoAgQhByACKAIMIQELIAcgAUECdGogADYCACACIAFBAWoiBTYCDCAFDQALCyACKAIIBEAgAigCBBCaAgsgAkHgAGokACAGC6gQAgh/Dn0jAEGAA2siEiQAAkACQAJAIA8gEF8EQCAJIApyRQ0BIAkEQCAJQdwAaioCACEbIAkqAlghHyAJQeAAaioCACEaCyALQQFHIRMgDUEBRyEUIAoEQCAKQeAAaioCACEdIAoqAlghICAKQdwAaioCACEcCyAaQwAAgD9DAAAAACATGyIalCEeIBsgGpQhIiAfIBqUISMgHUMAAIA/QwAAAAAgFBsiG5QhJCAcIBuUISUgICAblCEmIAkEfSAJQegAaioCACEhIAlB5ABqKgIAIScgCUHsAGoqAgAFQwAAAAALIBqUIR8gISAalCEgICcgGpQhGkMAAAAAIR1DAAAAACEcIAoEfSAKQegAaioCACEdIApB5ABqKgIAIRwgCkHsAGoqAgAFQwAAAAALIBuUISEgHSAblCEdIBwgG5QhG0MAAAAAIRwgJCAekyIeIB6UICUgIpMiHiAelCAmICOTIh4gHpSSkhCbASAaIBqUICAgIJSSIB8gH5SSEJsBIAkEfSAJQdQCaioCAAVDAAAAAAuUkiEaICEgIZQgHSAdlCAbIBuUkpIQmwEhGyAKBEAgCkHUAmoqAgAhHAtDAAAAAEMAAAAAIBEgEUMAAAAAXRsgESARXBsgBygCMCAHQTRqKAIAIhUoAghBAWtBeHFqQQhqIhcgFSgCnAERCgAgCCgCMCAIQTRqKAIAIhYoAghBAWtBeHFqQQhqIhggFigCnAERCgCSkiERIBogGyAclJIhHEEBIRQgBy0AmAEgCC0AmAFyRQRAIAhB1ABqKAIAIAdB0ABqKAIAcUUgB0HUAGooAgAgCEHQAGooAgBxRXIhFAsgECAPkyAclCARXQ0CIBJBCGoiE0IANwIQIBNCgICAgICAgMA/NwIIIBNCADcCACATQRhqQgA3AgAgE0EgakIANwIAIBNBKGpCADcCACATQTBqQgA3AgAgE0E4akIANwIAAkACQAJAIAkEQCAJQdgCai0AAA0BIBJBwAJqIAlBPGoQ8ggMAgsgEkHIAGoiCUE4aiASQQhqIhNBOGopAgA3AwAgCUEwaiATQTBqKQIANwMAIAlBKGogE0EoaikCADcDACAJQSBqIBNBIGopAgA3AwAgCUEYaiATQRhqKQIANwMAIAlBEGogE0EQaikCADcDACAJQQhqIBNBCGopAgA3AwAgEiASKQIINwNIDAILIBJB2AJqIAlBOGooAgA2AgAgEkHQAmogCUEwaikCADcDACASQcgCaiAJQShqKQIANwMAIBJB5AJqIAlBwAFqKAIANgIAIBJB8AJqIAlB4ABqKAIANgIAIBJB/AJqIAlB7ABqKAIANgIAIBIgCSkCIDcDwAIgEiAJKQJYNwPoAiASIAlBuAFqKQIANwLcAiASIAlB5ABqKQIANwL0AgsgEkHIAGoiCUE4aiASQcACaiITQThqKQMANwMAIAlBMGogE0EwaikDADcDACAJQShqIBNBKGopAwA3AwAgCUEgaiATQSBqKQMANwMAIAlBGGogE0EYaikDADcDACAJQRBqIBNBEGopAwA3AwAgCUEIaiATQQhqKQMANwMAIBIgEikDwAI3A0gLAkACQAJAIAoEQCAKQdgCai0AAA0BIBJBwAJqIApBPGoQ8ggMAgsgEkGIAWoiCUE4aiASQQhqIgpBOGopAgA3AwAgCUEwaiAKQTBqKQIANwMAIAlBKGogCkEoaikCADcDACAJQSBqIApBIGopAgA3AwAgCUEYaiAKQRhqKQIANwMAIAlBEGogCkEQaikCADcDACAJQQhqIApBCGopAgA3AwAgEiASKQIINwOIAQwCCyASQdgCaiAKQThqKAIANgIAIBJB0AJqIApBMGopAgA3AwAgEkHIAmogCkEoaikCADcDACASQeQCaiAKQcABaigCADYCACASQfACaiAKQeAAaigCADYCACASQfwCaiAKQewAaigCADYCACASIAopAiA3A8ACIBIgCikCWDcD6AIgEiAKQbgBaikCADcC3AIgEiAKQeQAaikCADcC9AILIBJBiAFqIglBOGogEkHAAmoiCkE4aikDADcDACAJQTBqIApBMGopAwA3AwAgCUEoaiAKQShqKQMANwMAIAlBIGogCkEgaikDADcDACAJQRhqIApBGGopAwA3AwAgCUEQaiAKQRBqKQMANwMAIAlBCGogCkEIaikDADcDACASIBIpA8ACNwOIAQsgC0EBRgRAIBJByABqIAwQ8gcLIA1BAUYEQCASQYgBaiAOEPIHCyASQcACaiIJQQhqIAdBDEH0ACAHKAIAIg0baiIKQQhqKQIANwMAIAlBEGogCkEQaikCADcDACAJQRhqIApBGGooAgA2AgAgEiAKKQIANwPAAiASQcgBaiITIBJByABqIAkQggIgEkGIAmoiCkEIaiAIQQxB9AAgCCgCACIZG2oiC0EIaikCADcDACAKQRBqIAtBEGopAgA3AwAgCkEYaiALQRhqKAIANgIAIBIgCykCADcDiAIgCSASQYgBaiAKEIICIAogASATIBcgFSAJIBggFiAPIBAgFCACKAIgESsAIBItALwCQQZx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aiAAQSxqKAIANgIAIAYgAEEkaikCADcCAAsCQCAHIABBzABqKAIARw0AIAIoAiAgAEHQAGooAgBHDQAgBkEIaiAAQdwAaigCADYCACAGIABB1ABqKQIANwIACyALIABB4ABqIgBHDQALCyAJIAJBMGoiAkcNAAsLIBIEQCADEJoCCyAIQZABaiQAC+UNAgl/A34jAEHgBWsiAyQAIANBxAVqIgRBDGoiBUIANwIAIANCADcCyAUgA0EENgLEBSADQdwAaiAEEGMgBUIANwIAIANCADcCyAUgA0EENgLEBSADQZgBaiAEEGMgA0FAayIKQgA3AgAgA0E4akKAgICAwAA3AgAgA0EwakIANwIAIANBKGpCgICAgMAANwIAIANBIGpCADcCACADQRhqIgtCgICAgMAANwIAIANBEGpCADcCACADQcwAakIANwIAIANB1ABqQgA3AgAgA0GQAWpCADcCACADQYgBakIANwIAIANBgAJqQQA2AgAgA0HIAWpCgICAgMAANwIAIANB0AFqQgA3AgAgA0HYAWpCgICAgMAANwIAIANB4AFqQgA3AgAgA0HwAWpCgICAgMAANwIAIANB+AFqQgA3AgAgA0EENgJIIANCgICAgMAANwIIIANCCDcCACADQQQ2AoQBIANCADcChAIgA0EBOgCMAiADQgQ3AsABIANCBDcC6AEgBEELakIANwAAIANBkAJqIgVBmAFqQgA3AwAgA0GwA2pCADcDACAFQcABakIANwMAIANBsQVqIgdBC2pCADcAACADQZ4FaiIIQQtqQgA3AAAgA0GLBWoiBkELakIANwAAIANB+ARqIglBC2pCADcAACADQgA3A6ADIANCADcDyAMgA0IANwDHBSADQgA3ALQFIANCADcAoQUgA0IANwCOBSADQgA3APsEIAVB4AFqIARBD2ooAAA2AAAgA0HpA2ogBEEIaikAADcAACADIAMpAMQFNwDhAyADQYUEaiAHQQhqKQAANwAAIANBjARqIAdBD2ooAAA2AAAgAyADKQCxBTcA/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/AM2ApwDIAMoAgghByADQQxqIAsoAgAiCEEGaiIEEPQCIANBHGogBBD0AiADQSxqIAQQ9AIgA0HEAGooAgAiBSAKKAIARgRAIANBPGogBUEBEJwGIAMoAkQhBQsgAygCPCAFQQR0aiIGQgA3AgggBkIENwIAIAMgBUEBajYCRCADIAMoAoQCQQZqIgY2AoQCAkAgAygCKCAETwRAIANBwAFqIQkgAygCHCAIQQJ0aiIEQRRqQc2Zs+4DNgIAIARBDGpCzZmz7tOZs+Y9NwIAIANBxAVqIANBkAJqEMoBIAMoAggiBSADKAIERgRAIAMgBRCxBiADKAKEAiEGIAMoAgghBQsgAygCACAFQegDbGoiBEIANwMIIAQgAjYCBCAEIAE2AgAgBEEQakIANwMAIARBGGpCADcDACAEQSBqIANBkAJqQegCEIgNGiAEQQA2ApADIAQgCDYCjAMgBCAHNgKIAyAEQdwDakIANwIAIARB1ANqQgA3AgAgBEIANwLMAyAEIAMpAsQFIgw3ApQDIARBnANqIANBzAVqKQIAIg03AgAgBEGkA2ogA0HEBWoiAUEQaikCACIONwIAIARBrANqIAFBGGooAgAiATYCACAEIAw3ArADIARBuANqIA03AgAg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AgUgAyACQQQQyAYgAygCCAsiBEEEaiICNgIIIAMoAgAgBGogBjYAACAFQQRrIgUNAAsLIAFBxABqKAIAIQIgASgCPCEHIAAoAgAiAygCCCEEIAMoAgQgBGtBB00EQCADIARBCBDIBiADKAIIIQQLIAMgBEEIaiIANgIIIAMoAgAgBGogAq03AABBACEEIAJFDQAgByACQQxsaiEGA0AgBy0ABCECIAcoAgAhASADKAIEIABrQQNNBEAgAyAAQQQQyAYgAygCCCEACyADKAIAIABqIAE2AAAgAyAAQQRqIgA2AgggACADKAIERgRAIAMgAEEBEMgGIAMoAgghAAsgAygCACAAaiACOgAAIAMgAEEBaiICNgIIIAdBCGooAgAhASADKAIEIAJrQQNNBEAgAyACQQQQyAYgAygCCCECCyADIAJBBGoiADYCCCADKAIAIAJqIAE2AAAgBiAHQQxqIgdHDQALCyAIQeAAaiQAIAQL/AoCDX8FfSMAQYACayIEJAACfQJAIAAoAkQiBQRAIAUoAgAiCEECRw0BC0EAIQggBEEgakEANgIAIARBGGpCADcDACAEQRBqQgA3AwAgBEIANwMIQwAAgD8hFEMAAAAADAELIARBEGogBUEcaikCADcDACAEQRhqIAVBJGopAgA3AwAgBEEgaiAFQSxqKAIANgIAIAQgBSkCFDcDCCAFKgIIIRUgBSoCDCETIAUqAhAhFCAFKgIECyERIABCADcCGCAAQShqQgA3AgAgAEEgakKAgICAgICAwD83AgAgAEEwakIANwIAIABBOGpCADcCACAAQUBrQQA2AgAgAEEYaiEHAkAgAigCCCIGRQ0AIAIoAgAiBSAGQQN0aiEJIAEoAggiDARAIARBKGoiBkEIaiEKIARBiAFqIQIgASgCECENIAZBIGohDiAGQRhqIQ8gBkEQaiEQA0ACQCAFKAIAIgEgDU8NACAMIAFBqAFsaiIBKAIARQ0AIAEoAgQgBUEEaigCAEcNACABQeoAai0AAA0AIAEoAghFDQAgDiABQSxqKAIANgIAIA8gAUEkaikCADcDACAQIAFBHGopAgA3AwAgCiABQRRqKQIANwMAIAQgAUEMaikCADcDKCABQThqKAIAIAFBPGooAgAiBigCCEEBa0F4cWpBCGohCwJAAkACQAJAAkAgAUEwaigCAEEBaw4CAgABCyAEQfgAaiIGQQhqIAFBNGooAgAiAUEIaikCADcDACACIAFBEGopAgA3AwAgBkEYaiABQRhqKQIANwMAIAZBIGogAUEgaikCADcDACAGQShqIAFBKGooAgA2AgAgBCABKQIANwN4DAMLIAFBNGoqAgAiEkMAAAAAWwRADAILIARB+ABqIAsgEiAGKAKQARENAAwCCyABQTRqKgIAIhJDAAAAAFsEQAwBCyAEQdQBaiIBIAtDAACAPyAGKAKQARENACABIBIQzwggBEH4AGoiBkEoaiABQShqKAIANgIAIAZBIGogAUEgaikCADcDACAGQRhqIAFBGGopAgA3AwAgAiABQRBqKQIANwMAIAZBCGogAUEIaikCADcDACAEIAQpAtQBNwN4DAELIAJCADcCACACQQhqQgA3AgAgAkEQakIANwIAIAJBGGpBADYCACAEQgA3A3ggBEKAgICAgICAwD83A4ABCyAEQcwAaiIBIARB+ABqIAoQ4QMgByABELsHCyAJIAVBCGoiBUcNAAsMAQsgBkEBa0H/////AXEhASAGQQdxIgIEQANAIAVBCGohBSACQQFrIgINAAsLIAFBB0kNAANAIAkgBUFAayIFRw0ACwsCQCAIRQRAIARBqAFqIgFBGGogBEEQaikDADcCACAEQcgBaiAEQRhqKQMANwIAIARB0AFqIARBIGooAgA2AgAgBCAUOAK0ASAEIBM4ArABIAQgFTgCrAEgBCAROAKoASAEIAQpAwg3ArgBIAcgARC7BwwBCyAHIBFDAAAAAEMAAIA/IAAqAjQiEZUgEUMAAAAAWxuSEM8ICyAEQdQBaiIBIAcgAxD9BSAAQdAAaiABQQhqIgIoAgA2AgAgACAEKQLUATcCSCAAQdwAaiAAKgI0IhE4AgAgAEHYAGogETgCACAAIBE4AlQgASAHIAMQxQIgAEEQaiABQRBqKQIANwIAIABBCGogAikCADcCACAAIAQpAtQBNwIAIAAtAGAiAUEBcQRAIABBADYCVAsgAUECcQRAIABBADYCWAsgAUEEcQRAIABBADYCXAsgAUEIcQRAIABBADYCCCAAQgA3AgALIAFBEHEEQCAAQQA2AgQgAEIANwIMCyABQSBxBEAgAEEANgIIIABCADcCEAsgBEGAAmokAAvcCwIJfwF+IwBBIGsiBSQAIAAtAAAhAiAAQQE6AAAgBSACOgAHAkACQAJAAkAgAkUEQEHkgcQAKAIAQf////8HcQRAQbSFxAAoAgBBAEchBwsgAC0AAQ0BIABBNGotAAANBCAAQQE6ADQCQCAAQQxqKAIAIgFFDQAgACgCBCIDIQIgAUEMbCIGQQxrIghBDG5BAWpBB3EiAQRAIAFBDGwhAQNAIAIoAgBBFGoiCSgCACEEIAkgBEECIAQbNgIAIAJBDGohAiABQQxrIgENAAsLIAhB1ABJDQAgAyAGaiEEA0AgAigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEMaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEYaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEkaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEwaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkE8aigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkHIAGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJB1ABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACAEIAJB4ABqIgJHDQALCyAAQRhqIgEoAgAhAiABQQA2AgAgAEEQaigCACIBIAJBDGxqIQMgAkUNAgNAIAEoAgAiAkUEQCABQQxqIQEMBAsgAkEUaiIGKAIAIQQgBiAEIAEpAgQiCqcgBBs2AgAgAiACKAIAIgRBAWs2AgAgBSAKNwIMIAUgAjYCCCAEQQFGBEAgBUEIahDXCQsgAyABQQxqIgFHDQALDAMLIAVCADcCFCAFQYCAwAA2AhAgBUEBNgIMIAVBmJPAADYCCCAFQQdqIAVBCGoQ3QoACyAFIAc6AAwgBSAANgIIQeyEwABBKyAFQQhqQcSGwABByIfAABCACAALIAMgAWtBDG4hBCABIANGDQAgACgCECICIAEgAmtBDG5BDGxqIQIDQCACKAIAIgMoAgAhASADIAFBAWs2AgAgAUEBRgRAIAIQ1wkLIAJBDGohAiAEQQFrIgQNAAsLAkAgAEEkaigCACIBRQ0AIABBHGooAgAiAyECIAFBDGwiBkEMayIIQQxuQQFqQQdxIgEEQCABQQxsIQEDQCACKAIAQRRqIgkoAgAhBCAJIARBAiAEGzYCACACQQxqIQIgAUEMayIBDQALCyAIQdQASQ0AIAMgBmohBANAIAIoAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBDGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBGGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBJGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBMGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJBPGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJByABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACACQdQAaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgBCACQeAAaiICRw0ACwsgAEEwaiIBKAIAIQIgAUEANgIAIABBKGooAgAiASACQQxsaiEDAkAgAkUNAANAIAEoAgAiAkUEQCABQQxqIQEMAgsgAkEUaiIGKAIAIQQgBiAEIAEpAgQiCqcgBBs2AgAgAiACKAIAIgRBAWs2AgAgBSAKNwIMIAUgAjYCCCAEQQFGBEAgBUEIahDXCQsgAyABQQxqIgFHDQALDAELIAMgAWtBDG4hBCABIANGDQAgACgCKCICIAEgAmtBDG5BDGxqIQIDQCACKAIAIgMoAgAhASADIAFBAWs2AgAgAUEBRgRAIAIQ1wkLIAJBDGohAiAEQQFrIgQNAAsLAkAgBw0AQeSBxAAoAgBB/////wdxRQ0AQbSFxAAoAgBFDQAgAEEBOgABCyAAQQA6AAAgBUEgaiQAC/sKAhl9An8jAEEwayIeJABDAACgNRCbASEcAkACQCADKgIMIgUgBZQgA0EQaioCACIMIAyUkiADQRRqKgIAIg0gDZSSEJsBIhFDAAAAAFsNACARiyIJQwAAgH9cBEAgCUMAAAA0Xw0BIAkgCUMAAAA0lF8NAQsgAyoCCCESIAMqAgQhEyADKgIAIRQgDCARlSIWjCEJAn0gBSARlSIXjCIMIA0gEZUiGCAYlCAXIBeUIBYgFpSSkhCbASIIlSIOIA6UIBiMIg0gCJUiBiAGlJIQmwEiBUMAAAAAWwRAIAEqAgQhGUMAAAAADAELIAYgBZUgASoCBCIZlCEHIA4gBZUgGZQLIQogAkEANgK8ASACQQA2AqwBIAJBMGpBADYCACACQShqQgA3AgAgAkEkaiAHIAYgASoCCCIVlJIiBzgCACACQSBqIAEqAgAiHSAJIAiVIgWYIAUgFZSSIgg4AgAgAkEcaiAKIA4gFZSSIgU4AgAgAkEYaiAHIBKTOAIAIAJBFGogCCATkzgCACACIAUgFJM4AhAgHiACED9D//9/fyEGQZDOACEBAkACQAJAA0AgHioCACIKIAqUIB4qAgQiDyAPlJIgHioCCCILIAuUkiIFQwAAyCteRQ0BIAuMIAUQmwEiDpUhByAPjCAOlSEIIAqMIA6VIQUCfSAGIA5fIh9FBEBDAAAAACEGQwAAAAAhCiAFIAcgB5QgBSAFlCAIIAiUkpIQmwEiD5UiGyAblCAHIA+VIhAgEJSSEJsBIgtDAAAAAFwEQCAZIBsgC5WUIQogGSAQIAuVlCEGCyAVIBCUIAaSIRAgFSAblCAKkiEKIB0gCCAPlSILmCAVIAuUkgwBCyAaQwAAAABeDQIgEiALkiEQIBQgCpIhCiATIA+SCyEPAkACQAJAIBggB5QgFyAFlCAWIAiUkpIiC0MAAAAAWw0AIAuLIgZDAACAf1wEQCAGQwAAADRfDQEgBiAGQwAAADSUXw0BCyAHIBAgEpOUIAggDyATk5QgBSAKIBSTlJKSIAuVIgZDAAAAAGANAQtBACEDIB8NBCALQwAAoDVeRQ0BDAQLIAtDAAAAAF0gBkMAAAAAXnFFBEAgH0UNAUEAIQMMBAsgBCAaIAaSIhogEZVdBEBBACEDDAQLIBIgGCAGlCIJkiESIBMgFiAGlCIMkiETIBQgFyAGlCINkiEUQ///f38hDgJAIAIoArwBIgNBAWoiH0UNACACIAIqAhAgDZM4AhAgAiACKgIUIAyTOAIUIAIgAioCGCAJkzgCGCADRQ0AIAIgAioCNCANkzgCNCACIAIqAjggDJM4AjggAiACKgI8IAmTOAI8IB9BAkYNACACIAIqAlggDZM4AlggAiACKgJcIAyTOAJcIAIgAioCYCAJkzgCYCAfQQNGDQAgAiACKgJ8IA2TOAJ8IAIgAioCgAEgDJM4AoABIAIgAioChAEgCZM4AoQBIAUhDCAIIQkgByENIB9BBEYNAUEEQQRBkLzCABDjCAALIAUhDCAIIQkgByENCyAFIAogFJMiBpQgCCAPIBOTIgiUkiAHIBAgEpMiBZSSIgcgB1wNA0EAIQMgDiAHkiAcIA6UXw0CIB5BADYCLCAeQgA3AiQgHiAQOAIgIB4gDzgCHCAeIAo4AhggHiAFOAIUIB4gCDgCECAeIAY4AgwgAiAeQQxqELACGiAeIAIQPyACKAK8AUEDRwRAIA4hBiABQQFrIgENAQwDCwsgB0MAAKC1Xw0BCyAAQRBqIA04AgAgAEEMaiAJOAIAIABBCGogDDgCACAAIBogEZU4AgRBASEDCyAAIAM2AgAMAgtB+LjCAEEoQbC5wgAQqgoACyAAQQA2AgALIB5BMGokAAvXCgIWfwJ9IwBBoAJrIgMkAAJAIAEgAnJBAEgNACADIAAoAgAgASACEKkCIANByAFqIgFBCGoiBCADQQxqKQIANwMAIAFBEGoiCSADQRRqKQIANwMAIAFBGGoiCiADQRxqKQIANwMAIAFBIGoiCyADQSRqKAIANgIAIANB0ABqIgFBCGoiAiADQTRqKQIANwMAIAFBEGoiBSADQTxqKQIANwMAIAFBGGoiBiADQcQAaikCADcDACABQSBqIgcgA0HMAGooAgA2AgAgAyADKQIENwPIASADIANBLGopAgA3A1AgAygCKCETIAMoAgAhFCADQaABaiIBQQhqIhUgBCkDADcDACABQRBqIhYgCSkDADcDACABQRhqIhcgCikDADcDACABQSBqIhggCygCADYCACADQfgAaiIBQQhqIAIpAwA3AwAgAUEQaiAFKQMANwMAIAFBGGogBikDADcDACABQSBqIAcoAgA2AgAgAyADKQPIATcDoAEgAyADKQNQNwN4IAAoAiAiBUE1aiEGIAVBBGohASAAQRRqKAIAIQwgA0E1aiEHIANBBGohAiAAKAIcIQ0gACgCGCEOIAAoAhAhDyAAKAIMIRAgACgCCCERIAAoAgQhEgJAAkACQCAUQQFrDgIAAwELIAsgGCgCADYCACAKIBcpAwA3AwAgCSAWKQMANwMAIAQgFSkDADcDACADIAMpA6ABNwPIASADIBIgESAQIANByAFqQajJwgAgDyAMIA4qAgAgDS0AABBGIAMtADQiBEEFRg0BIANB8AFqIgBBCGogAkEIaikCADcDACAAQRBqIAJBEGopAgA3AwAgAEEYaiACQRhqKQIANwMAIABBIGogAkEgaikCADcDACAAQShqIAJBKGopAgA3AwAgA0HuAWogB0ECai0AADoAACADIAIpAgA3A/ABIAMgBy8AADsB7AEgBEEERg0AIAMqAgAhGUP//39/IRogBS0ANEEERwR9IAUqAgAFQ///f38LIBleRQ0AIAUgGTgCACABIAMpA/ABNwIAIAUgBDoANCAGIAMvAewBOwAAIAFBCGogA0HwAWoiAEEIaikDADcCACABQRBqIABBEGopAwA3AgAgAUEYaiAAQRhqKQMANwIAIAFBIGogAEEgaikDADcCACABQShqIABBKGopAwA3AgAgBkECaiADQe4Bai0AADoAAAsgE0EBRw0BIANByAFqIgBBIGogA0H4AGoiBEEgaigCADYCACAAQRhqIARBGGopAwA3AwAgAEEQaiAEQRBqKQMANwMAIABBCGogBEEIaikDADcDACADIAMpA3g3A8gBIAMgEiARIBAgAEGoycIAIA8gDCAOKgIAIA0tAAAQRiADLQA0IgRBBUYNACADQfABaiIAQQhqIAJBCGopAgA3AwAgAEEQaiACQRBqKQIANwMAIABBGGogAkEYaikCADcDACAAQSBqIAJBIGopAgA3AwAgAEEoaiACQShqKQIANwMAIANB7gFqIAdBAmotAAA6AAAgAyACKQIANwPwASADIAcvAAA7AewBIARBBEYNASADKgIAIRlD//9/fyEaIAUtADRBBEcEfSAFKgIABUP//39/CyAZXkUNASAFIBk4AgAgASADKQPwATcCACAFIAQ6ADQgBiADLwHsATsAACABQQhqIANB8AFqIgBBCGopAwA3AgAgAUEQaiAAQRBqKQMANwIAIAFBGGogAEEYaikDADcCACABQSBqIABBIGopAwA3AgAgAUEoaiAAQShqKQMANwIAIAZBAmogA0HuAWotAAA6AAAMAQtBASEICyADQaACaiQAIAgL/QkBMH8gALwiAUGAgID8B3FBgICA/AdGBEAgACAAlCAAkg8LIAFBAEwEQCABQf////8HcQR9IAAgAJMiACAAlQUgAAsPC0EJIAFnIgNrIAFBF3YgAUGAgIAESSICG0H/AGshGEGAgIAQQYCAgBggASADQQhrQQAgAht0Qf///wNxQYCAgARyIBhBAXF0IgJBgICACUkiGxsiA0GAgIACciEBIAMgA0GAgIAEciACQQJ0QQBBgICAbCAbG2pBAXRBgICAIGsiHCABSCIEGyICQYCAgAFyIQMgAiACQYCAgAJyIBxBACABIAQba0EBdCIdIANIIgUbIgRB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/wFLDQMgBkECdCICQQBIDQNBACACRQ0AGkGR+8MALQAAGiACQQQQggwiFkUNBiACCyEEIBYgCyAEEIgNGiABQagBaigCACEHAkAgAUGwAWooAgAiBEUNACAEQf////8BSw0DIARBAnQiAkEASA0DIAJFDQBBkfvDAC0AABogAkEEEIIMIhVFDQYgAiEMCyAVIAcgDBCIDRogAUG0AWooAgAhGUEEIQxBACEHAkAgAUG8AWooAgAiC0UNACALQf////8BSw0DIAtBAnQiAkEASA0DIAJFDQBBkfvDAC0AABogAkEEEIIMIgxFDQYgAiEHCyAMIBkgBxCIDRoLIAEtAMABIQcgESARQcgAakHIABCIDSECQZH7wwAtAAAaQcQBQQQQggwiAUUNAiABIAJByAAQiA0iASAHOgDAASABIAs2ArwBIAEgCzYCuAEgASAMNgK0ASABIAQ2ArABIAEgBDYCrAEgASAVNgKoASABIAY2AqQBIAEgBjYCoAEgASAWNgKcASABIAo2ApgBIAEgCjYClAEgASAQNgKQASABIAU2AowBIAEgBTYCiAEgASAUNgKEASABIAM2AoABIAEgAzYCfCABIA82AnggASAINgJ0IAEgCDYCcCABIBI2AmwgASAJNgJoIAEgCTYCZCABIBM2AmAgASAONgJcIAEgDjYCWCABIBg2AlQgASANNgJQIAEgDTYCTCABIBc2AkggAEHQ38IANgIEIAAgATYCACACQZABaiQADwtBBCAEQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAtBBEHEAUHQgcQAKAIAIgBBlwcgABsRAAAAC0EEIANB0IHEACgCACIAQZcHIAAbEQAAAAtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAAL3goCFn0FfyMAQTBrIhskAEMAAKA1EJsBIRoCQAJAIAMqAgwiByAHlCADQRBqKgIAIgggCJSSIANBFGoqAgAiCSAJlJIQmwEiEEMAAAAAWw0AIBCLIgVDAACAf1wEQCAFQwAAADRfDQEgBSAFQwAAADSUXw0BCyADKgIAIREgAyoCBCESIAMqAgghEyAJIBCVIhUgFZQgByAQlSIWIBaUIAggEJUiFyAXlJKSEJsBIQUgAkEANgK8ASACQQA2AqwBIAJBMGpBADYCACACQShqQgA3AgAgAkEkaiAVjCIJIAWV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ADcCACAAQRxqIApBIGopAwA3AgAgAEEkaiAKQShqKQMANwIAIABBLGogCkEwaikDADcCACAAQTRqIApBOGooAgA2AgAgAEE7aiAKQQZqLQAAOgAACyAKQfABaiQAIAAPCxD4DAALEPkMAAtBBEE8QdCBxAAoAgAiAEGXByAAGxEAAAALmgoCCX8JfSMAQdAAayIDJABDAACAPyACQQIgAioCBIsiDSACKgIAiyIQXiIEIAIqAgiLIA0gECAEG14bIgtBAnRqKgIAmCEMIAEqAgghDiABKgIEIQ8gASoCACENAn8CQAJAAkACQAJAAkACQCALDgMBAgMAC0HwpcIAQShB4MzCABCqCgALIANBGGpCjoCAgKABNwMAIANCiICAgMABNwMQIANChoCAgCA3AwggA0KAgICAwAA3AwAgDEMAAADDYCECQf8AAn8gDItDAAAAT10EQCAMqAwBC0GAgICAeAtBgH8gAhsgDEMAAP5CXhtBACAMIAxbG0EBasBBAm0iAcAhAiABQf8BcUECSQ0CIAJBAkGwzMIAEOMIAAsgA0EYakKOgICA4AA3AwAgA0KEgICAwAE3AxAgA0KKgICAIDcDCCADQoCAgICAATcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQcDMwgAQ4wgACyADQRhqQo6AgICgATcDACADQoKAgIDgADcDECADQoyAgICAATcDCCADQoCAgIDAADcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQdDMwgAQ4wgACyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgIDAHTcDACADQvSBgIDgHzcDECADQtmBgICAGTcDCCADQtCBgICgGzcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA6MIRIgDSAMlCINIRMgDSIQIRQgASgCAAwCCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQvuB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ALwiDkH/////B3EiB0Hbn6T6A08EQCAHQdKn7YMETwRAIAdB1uOIhwRPBEACQAJAAkACQCAHQf////sHTQRAIAtCADcDCAJ8IAdB2p+k7gRNBEAgAUSDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCICRAAAAAAAAODBZiEGQf////8HAn8gAplEAAAAAAAA4EFjBEAgAqoMAQtBgICAgHgLQYCAgIB4IAYbIAJEAADA////30FkG0EAIAIgAmEbIQcgASACRAAAAFD7Ifm/oqAgAkRjYhphtBBRvqKgDAELIAsgByAHQRd2QZYBayIPQRd0a767OQMAIAtBCGohGSMAQbAEayIEJAAgBEIANwOYASAEQgA3A5ABIARCADcDiAEgBEIANwOAASAEQgA3A3ggBEIANwNwIARCADcDaCAEQgA3A2AgBEIANwNYIARCADcDUCAEQgA3A0ggBEIANwNAIARCADcDOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCCAEQgA3AwAgBEIANwO4AiAEQgA3A7ACIARCADcDqAIgBEIANwOgAiAEQgA3A5gCIARCADcDkAIgBEIANwOIAiAEQgA3A4ACIARCADcD+AEgBEIANwPwASAEQgA3A+gBIARCADcD4AEgBEIANwPYASAEQgA3A9ABIARCADcDyAEgBEIANwPAASAEQgA3A7gBIARCADcDsAEgBEIANwOoASAEQgA3A6ABIARCADcD2AMgBEIANwPQAyAEQgA3A8gDIARCADcDwAMgBEIANwO4AyAEQgA3A7ADIARCADcDqAMgBEIANwOgAyAEQgA3A5gDIARCADcDkAMgBEIANwOIAyAEQgA3A4ADIARCADcD+AIgBEIANwPwAiAEQgA3A+gCIARCADcD4AIgBEIANwPYAiAEQgA3A9ACIARCADcDyAIgBEIANwPAAiAEQeADakEAQdAAEIkNGkGA+MMAKAIAIgwhByAPQQNrQRhtIgZBACAGQQBKGyIUIgZBAnRBkPjDAGohCQNAIAQgBUEDdGogBkEASAR8RAAAAAAAAAAABSAJKAIAtws5AwAgBSAHSQRAIAlBBGohCSAGQQFqIQYgByAFIAUgB0lqIgVPDQELCyAPQRhrIQdBACEGA0AgBkEDdCIJIARBwAJqaiALKwMA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lJKSIBlBGGoqAgAiEyAaQThqIiUqAgAiFJQgGUEcaioCACIVIBpBPGoiJioCACIWlJIgGUEgaioCACIXIBpBQGsiJyoCACIYlJKSlCECICcgGCAXIAKUkzgCACAmIBYgFSAClJM4AgAgJSAUIBMgApSTOAIAICQgEiARIAKUkzgCACAjIBAgDyAClJM4AgAgIiAOIA0gApSTOAIAICEgDCALIAKUkzgCACAeIAogCSAClJM4AgAgHCAIIAQgApSTOAIAIBpBzABqIhwgHCoCACACIBlBLGoqAgCUkzgCACAaQcgAaiIcIBwqAgAgAiAZQShqKgIAlJM4AgAgGkHwAGohGiABIBsgAEEBaiIAaksNAAsMAAsACyAdQSBqJAAPCyAdQRRqQgA3AgAgHUEBNgIMIB1BtIjCADYCCCAdQZi/wAA2AhAgHUEIakHIicIAENwKAAv2BwIFfwN9IwBBwAFrIgskACALQRhqIAMgBCgCqAERAAAgCygCHCENIAsoAhghDCALQRBqIAYgBygCqAERAAACQAJAAkACQAJAIAwEQCALKAIQIg4NAQsgC0EIaiADIAQoAqwBEQAAIAsoAggiDEUNASAAIAEgAiAMIAsoAgwgBSAGIAcgCCAJIAoQLwwECyALKAIUIQ8gCgR/QQAFIAMgBCgCnAERCgAgBiAHKAKcAREKAJIhEiADIAQoAqABEQoAIRAgBiAHKAKgAREKACIRIBEgECAQIBFdGyAQIBBcGyEQQQELIQogCyAQOAJgIAsgEjgCXCALIAo2AlggC0HoAGogAyAEKAKAAREAACALQfgAaiAGIAcoAoABEQAAIAsqAnQgCyoChAFgDQEgC0GIAWogASAFIA4gDyAGIAcgAiAMIA0gAyAEIAggCSALQdgAahA+IAstALwBIgNBBEYEQCALQQQ6AFQMAwsgC0EgaiIBQRhqIAtBiAFqIgJBDGooAgA2AgAgAUEMaiACQRhqKAIANgIAIAFBMGogAkEkaigCADYCACABQSRqIAJBMGooAgA2AgAgCyALKQKMATcCMCALIAspApgBNwIkIAsgCykCpAE3AkggCyALKQKwATcCPCALIAM6AFQgCyALKgKIATgCIAwCCyALIAYgBygCrAERAAAgCygCACIGBEAgC0GIAWogASAFIAYgCygCBCACIAMgBCAIIAkgChAvIAstALwBIgFBBEcEQCALQYABaiALQZQBaigCADYCACALQShqIAtBoAFqKAIANgIAIAtB4ABqIAtBrAFqKAIANgIAIAtB8ABqIAtBuAFqKAIANgIAIAsgCykCjAE3A3ggCyALKQKYATcDICALIAspAqQBNwNYIAsgCykCsAE3A2ggCyoCiAEhCQsgACAJOAIAIAAgCykDIDcCBCAAIAspA3g3AhAgACALKQNoNwIcIAAgCykDWDcCKCAAIAE6ADQgAEEMaiALQShqKAIANgIAIABBGGogC0GAAWooAgA2AgAgAEEkaiALQfAAaigCADYCACAAQTBqIAtB4ABqKAIANgIAIABBN2ogC0GKAWotAAA6AAAgACALLwCIATsANQwDCyAAQQU6ADQMAgsgC0EgaiABIAIgDCANIAMgBCAFIA4gDyAGIAcgCCAJIAtB2ABqED4LIABBMGogC0EgaiIBQTBqKQIANwIAIABBKGogAUEoaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEYaiABQRhqKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgAgACALKQIgNwIACyALQcABaiQAC/YIAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4RAQIDBAUGBwgJCgsMDQ4PEBEACyACIAAtAAE6AAggAkEkakIBNwIAIAJBAjYCHCACQcS0wwA2AhggAkGSBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwRCyACIAApAwg3AwggAkEkakIBNwIAIAJBAjYCHCACQeC0wwA2AhggAkH5ADYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwQCyACIAApAwg3AwggAkEkakIBNwIAIAJBAjYCHCACQeC0wwA2AhggAkGTBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwPCyACIAArAwg5AwggAkEkakIBNwIAIAJBAjYCHCACQYC1wwA2AhggAkGUBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwOCyACIAAoAgQ2AgggAkEkakIBNwIAIAJBAjYCHCACQZy1wwA2AhggAkGVBzYCFCACIAJB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akJ/NwIAIARBFGpBADoAACAEQRBqQX82AgAgBEFAayEEIAVBBGsiBQ0ACwsgCARAA0AgBEJ/NwIIIARBADoABCAEQX82AgAgBEEQaiEEIAhBAWsiCA0ACwsgBiAKakEBayEGCyAEQn83AgggBEEAOgAEIARBfzYCACAGQQFqBSAECzYCCCAJIAAoAgQiBygCCCIFSwRAIAkgBSIGayIJIAcoAgQgBWtLBEAgByAFIAkQnQYgBygCCCEGCyAHKAIAIAZBGGxqIQQgCUECTwRAIAEgBWsiCkEDcSEIIAVBf3MgAWpBA08EQCAKQXxxIQUDQCAEQv////v///+/fzcCECAEQv////v3//+/fzcCCCAEQv////v3//+//wA3AgAgBEHYAGpC////+////79/NwIAIARB0ABqQv////v3//+/fzcCACAEQcgAakL////79///v/8ANwIAIARBQGtC////+////79/NwIAIARBOGpC////+/f//79/NwIAIARBMGpC////+/f//7//ADcCACAEQShqQv////v///+/fzcCACAEQSBqQv////v3//+/fzcCACAEQRhqQv////v3//+//wA3AgAgBEHgAGohBCAFQQRrIgUNAAsLIAgEQANAIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAEQRhqIQQgCEEBayIIDQALCyAGIAlqQQFrIQYLIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAGQQFqIQkLIAcgCTYCCCAAKAIAIgcoAgghBQsgASAFSQRAIAcoAgAgAUEEdGoiBiABNgIIIAZBDGogAjYCACABIAAoAgQiAigCCCIGSQRAIAIoAgAgAUEYbGoiAiADKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgAgACgCCCIAKAIIIQggACgCBCAIRgRAIAAgCBCoBiAAKAIIIQgLIAAgCEEBajYCCCAAKAIAIAhBAnRqIAE2AgAPCyABIAZB3NrAABDjCAALIAEgBUHM2sAAEOMIAAvmBgIOfwF+IwBBIGsiAyQAQQEhDQJAAkAgAigCFCIMQSIgAkEYaigCACIPKAIQIg4RAwANAAJAIAFFBEBBACECQQAhAQwBCyAAIAFqIRBBACECIAAhBAJAAkADQAJAIAQiCCwAACIKQQBOBEAgCEEBaiEEIApB/wFxIQkMAQsgCC0AAUE/cSEEIApBH3EhBiAKQV9NBEAgBkEGdCAEciEJIAhBAmohBAwBCyAILQACQT9xIARBBnRyIQcgCEEDaiEEIApBcEkEQCAHIAZBDHRyIQkMAQsgBkESdEGAgPAAcSAELQAAQT9xIAdBBnRyciIJQYCAxABGDQMgCEEEaiEECyADQQRqIAlBgYAEEIQCAkACQCADLQAEQYABRg0AIAMtAA8gAy0ADmtB/wFxQQFGDQAgAiAFSw0DAkAgAkUNACABIAJNBEAgASACRg0BDAULIAAgAmosAABBQEgNBAsCQCAFRQ0AIAEgBU0EQCABIAVGDQEMBQsgACAFaiwAAEG/f0wNBAsCQAJAIAwgACACaiAFIAJrIA8oAgwRBQANACADQRhqIgcgA0EMaigCADYCACADIAMpAgQiETcDECARp0H/AXFBgAFGBEBBgAEhBgNAAkAgBkGAAUcEQCADLQAaIgsgAy0AG08NBSADIAtBAWo6ABogC0EKTw0HIANBEGogC2otAAAhAgwBC0EAIQYgB0EANgIAIAMoAhQhAiADQgA3AxALIAwgAiAOEQMARQ0ACwwBC0EKIAMtABoiAiACQQpNGyELIAMtABsiByACIAIgB0kbIQoDQCACIApGDQIgAyACQQFqIgc6ABogAiALRg0EIANBEGogAmohBiAHIQIgDCAGLQAAIA4RAwBFDQALCwwHCwJ/QQEgCUGAAUkNABpBAiAJQYAQSQ0AGkEDQQQgCUGAgARJGwsgBWohAgsgBSAIayAEaiEFIAQgEEcNAQwDCwsgC0EKQZDwwwAQ4wgACyAAIAEgAiAFQaDgwwAQ+AsACyACRQRAQQAhAgwBCwJAIAEgAk0EQCABIAJGDQEMBAsgACACaiwAAEG/f0wNAwsgASACayEBCyAMIAAgAmogASAPKAIMEQUADQAgDEEiIA4RAwAhDQsgA0EgaiQAIA0PCyAAIAEgAiABQZDgwwAQ+AsAC6AHAgN/EH0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCJDUEANgIAIAVBKGpCADcDACABKgIEIhAgAkEQaioCACIIjCIRlCABKgIAIgsgAioCDCIJlJMgAkEUaioCACIKIAEqAggiDpSTIAFBEGoqAgAiFSARlCAJIAEqAgwiD5STIAogAUEUaioCACIWlJNeIQYgBUEcaiALIA8gBhsgAioCACISkyIMOAIAIAVBJGogASABQQxqIgcgBhsiBioCCCACKgIIIhOTIg04AgAgBUEgaiAGKgIEIAIqAgQiFJMiFzgCACAFQRhqIA04AgAgBUEUaiAXOAIAIAVBADYCvAEgBUEANgKsASAFIAw4AhAgBUHAAWogASAFIAIgAxCmASAFKALAASECAkAgBEUEQCACRQRAIABBBDYCAAwCCyAFKgLEASIMQwAAAABcBEAgACAMOAIIIABBAzYCACAAQRRqIAVB0AFqKAIANgIAIAAgBUHIAWopAgA3AgwMAgsgASAHIA4gCiAJIAmUIAggCJSSIAogCpSSEJsBIg2VIg6UIAsgCSANlSIMlCAQIAggDZUiCJSSkiAWIA6UIA8gDJQgFSAIlJKSXiICGyIEKgIIIQ0gBCoCBCEQIAVB6AFqIAqMOAIAIAVB5AFqIBE4AgAgBUEANgK8ASAFQQA2AqwBIAVBADYCMCAFQgA3AyggBSAJjDgC4AEgBSATIA4gDiANIBOTlCAIIBAgFJOUIAwgCyAPIAIbIgogEpOUkpJDbxKDOpIiCZSSIgs4AtwBIAUgDSALkyILOAIkIAUgFCAIIAmUkiIIOALYASAFIBAgCJMiCDgCICAFIBIgDCAJlJIiDzgC1AEgBSAKIA+TIgo4AhwgBSALOAIYIAUgCDgCFCAFIAo4AhAgBUHsAWogASAFIAVB1AFqIAlDbxKDOpIQpgEgBSgC7AFFBEAgAEEENgIADAILIAMgCSAFKgLwAZMiA2BFBEAgAEEENgIADAILIAAgAzgCCCAAQQM2AgAgAEEUaiAFQfwBaigCADYCACAAIAVB9AFqKQIANwIMDAELIAIEQCAAIAUqAsQBOAIIIABBAzYCACAAIAVByAFqKQIANwIMIABBFGogBUHQAWooAgA2AgAMAQsgAEEENgIACyAFQYACaiQAC+QGAQh/IwBBMGsiAiQAIAIgADYCCAJAAkACQAJAIAEgAEHIAGxqKAIMIgVBAk8NACABIAVByABsai0AREUNAiABIABByABsakEQaigCACIGQQFLBEAgBiEFDAELIAEgBkHIAGxqLQBERQ0CIAEgAEHIAGxqQRRqKAIAIgdBAU0NASAHIQULIAVBAkGsn8MAEOMIAAsgASAHQcgAbGotAEQNAQtBvJ/DAEEsQeifwwAQqgoACyACQQA2AgwCQCABIABByABsaigCGCIDQQJLDQACQAJAAkACQCABIAVByABsaiADQQJ0akEMaiIEKAIAIABHDQAgASAFQcgAbGogA0ECdGoiCEEYaiIEKAIADQEgAiAIQSRqKAIAIgg2AhAgAiABIABByABsakEoaigCACIENgIUIAQgCEcNAiACIAEgBUHIAGxqIANBfkEBIANBAUsbakECdGpBJGooAgAiBTYCECACIAEgAEHIAGxqIgMoAiQiBDYCFCAEIAVHDQMgAkEBNgIMIANBHGooAgAiA0ECSw0EIAEgBkHIAGxqIANBAnRqIglBDGoiBCgCACAARw0AIAlBGGoiBCgCAEEBRw0BIAIgASAGQcgAbGoiBCADQQJ0akEkaigCACIGNgIQIAIgASAAQcgAbGpBLGooAgAiCTYCFCAGIAlHDQIgAiAEIANBfkEBIANBAUsbakECdGpBJGooAgAiAzYCECACIAg2AhQgAyAIRw0DIAEgAEHIAGxqQSBqKAIAIQMgAkECNgIMIANBAksNBCABIAdByABsaiADQQJ0akEMaiIEKAIAIABHDQAgASAHQcgAbGogA0ECdGoiAEEYaiIEKAIAQQJHDQEgAiAAQSRqKAIAIgA2AhAgAiAFNgIUIAAgBUcNAiACIAEgB0HIAGxqIANBfkEBIANBAUsbakECdGpBJGooAgAiADYCECACIAY2AhQgACAGRw0DIAJBMGokAA8LIAJBADYCGCAEIAJBCGogAkEYakHsnsMAEOMKAAsgAkEANgIYIAQgAkEMaiACQRhqQfyewwAQ4woACyACQQA2AhggAkEQaiACQRRqIAJBGGpBjJ/DABDjCgALIAJBADYCGCACQRBqIAJBFGogAkEYakGcn8MAEOMKAAsgA0EDQdyewwAQ4wgAC/YGAQp/IwBBEGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAFQQFrDgMBCBAACyABQSBqKAIAIgsgAk0NCCABQSRqKAIAIANNDQggASgCDCIJIANsIAJqIghBAWohCiABKAIUIAMgC2wgAmpqLQAAQQFxRQ0DIAkgCmohASAEDQIgByABNgIIIAcgCDYCBCAHIAggCWo2AgwgBkEDTw0BIAdBBGogBkECdGooAgAhCAwPCyABQSBqKAIAIg0gAk0NCCABQSRqKAIAIANNDQggASgCDCIIQQFrIgkgA2wiDiACaiIKIAlqIQsgCSABKAIQIg9sIAJqIhAgAyAIbGoiCUEBaiEMIA4gEGogD0EBayAIbGohCCABKAIUIAMgDWwgAmpqLQAAQQFxRQ0FIAQNBCAHIAk2AgwgByALNgIIIAcgCDYCBCAGQQNPDQMgB0EEaiAGQQJ0aigCACEIDA4LIAZBA0Hs+sIAEOMIAAsgByABNgIMIAcgCjYCCCAHIAg2AgQgBkEDSQ0LIAZBA0H8+sIAEOMIAAsgBEUEQCAHIAggCWo2AgwgByAKNgIEIAcgCSAKajYCCCAGQQNJBEAgB0EEaiAGQQJ0aigCACEIDA0LIAZBA0GM+8IAEOMIAAsgByAKNgIIIAcgCDYCBCAHIAggCWo2AgwgBkEDSQ0JIAZBA0Gc+8IAEOMIAAsgBkEDQaz7wgAQ4wgACyAHIAg2AgwgByAMNgIIIAcgCjYCBCAGQQNJDQYgBkEDQbz7wgAQ4wgACyAERQRAIAcgCDYCDCAHIAs2AgggByAMNgIEIAZBA0kEQCAHQQRqIAZBAnRqKAIAIQgMCgsgBkEDQcz7wgAQ4wgACyAHIAk2AgwgByAINgIIIAcgCjYCBCAGQQNJDQQgBkEDQdz7wgAQ4wgACyABKAIMQQFrIANsIQMgASgCTCEBIAZFDQIgASACaiADakEAIAFBAXYgBBtqIQgMBwtB+KnDABC8CwALQfipwwAQvAsACyACIANqQQAgAUEBdiAEG2ohCAwECyAHQQRqIAZBAnRqKAIAIQgMAwsgB0EEaiAGQQJ0aigCACEIDAILIAdBBGogBkECdGooAgAhCAwBCyAHQQRqIAZBAnRqKAIAIQgLIAAgCDYCBCAAIAU2AgAgB0EQaiQAC5gHAgF/Dn0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCJDRogAkEQaioCACIGjCEPIAIqAgwiB4whEAJAIAcgB5QiDiACQRRqKgIAIgogCpQiDJIQmwEiCUMAAAAAWwRAIAEqAgQhDQwBCyAQIAmVIAEqAgQiDZQhCCAKjCAJlSANlCELCyAFQTBqQQA2AgAgBUEoakIANwMAIAVBJGogCyACKgIIIhGTIgs4AgAgBUEcaiAIIAIqAgAiEpMiCTgCACAFQRhqIAs4AgAgBUEgaiABKgIAIgsgD5ggAioCBCITkyIIOAIAIAVBFGogCDgCACAFQQA2ArwBIAVBADYCrAEgBSAJOAIQIAVBwAFqIAsgDSAFIAIgAxCtASAFKALAASEBAkAgBEUEQCABRQRAIABBBDYCAAwCC0MAAAAAIQkgBSoCxAEiCEMAAAAAXARAIAAgCDgCCCAAQQM2AgAgAEEUaiAFQdABaigCADYCACAAIAVByAFqKQIANwIMDAILIAYgDiAGIAaUkiAMkhCbASIMlSEIQwAAAAAhDiAHIAyVIgYgBpQgCiAMlSIHIAeUkhCbASIMQwAAAABcBEAgDSAGIAyVlCEOIA0gByAMlZQhCQsgBUHoAWogCow4AgAgBUHkAWogDzgCACAFIBA4AuABIAVBADYCvAEgBUEANgKsASAFQQA2AjAgBUIANwMoIAUgESAHIAcgCSARk5QgCCALIAiYIgcgE5OUIAYgDiASk5SSkkNvEoM6kiIKlJIiDzgC3AEgBSAJIA+TIgk4AiQgBSATIAggCpSSIgg4AtgBIAUgByAIkyIHOAIgIAUgEiAGIAqUkiIGOALUASAFIA4gBpMiBjgCHCAFIAk4AhggBSAHOAIUIAUgBjgCECAFQewBaiALIA0gBSAFQdQBaiAKQ28SgzqSEK0BIAUoAuwBRQRAIABBBDYCAAwCCyADIAogBSoC8AGTIgNgRQRAIABBBDYCAAwCCyAAIAM4AgggAEEDNgIAIABBFGogBUH8AWooAgA2AgAgACAFQfQBaikCADcCDAwBCyABBEAgACAFKgLEATgCCCAAQQM2AgAgACAFQcgBaikCADcCDCAAQRRqIAVB0AFqKAIANgIADAELIABBBDYCAAsgBUGAAmokAAuqBwICfw19IwBBoAJrIgUkACAFQagBakEANgIAIAVBuAFqQQA2AgAgBUKCgICAMDcDCCAFQoCAgIAQNwMAIAVCADcDoAEgBUIANwOwASAFQTBqQQBB8AAQiQ0hBiAFIAJBFGoqAgAiB4wiECACKgIMIgggCJQgAkEQaioCACIJIAmUkiAHIAeUkiIKEJsBIguVOAL8ASAFIAmMIhEgC5U4AvgBIAUgCIwiEiALlTgC9AEgBUHIAWogASAFQfQBahDTAyAGQQA2AgAgBUEoakIANwMAIAVBJGogBSoC0AEgAioCCCILkyIMOAIAIAVBIGogBSoCzAEgAioCBCIOkyINOAIAIAVBHGogBSoCyAEgAioCACIPkyITOAIAIAVBGGogDDgCACAFQRRqIA04AgAgBUEANgK8ASAFQQA2AqwBIAUgEzgCECAFQdQBaiABIAUgAiADEKUBIAUoAtQBIQICQCAERQRAIAJFBEAgAEEENgIADAILIAUqAtgBIgxDAAAAAFwEQCAAIAw4AgggAEEDNgIAIABBFGogBUHkAWooAgA2AgAgACAFQdwBaikCADcCDAwCCyAFIAcgChCbASIKlSIHIAcgB5QgCCAKlSIIIAiUIAkgCpUiCSAJlJKSEJsBIgqVOAL8ASAFIAkgCpU4AvgBIAUgCCAKlTgC9AEgBUHoAWogASAFQfQBaiICENMDIAUqAvABIQogBSoC6AEhDCAFKgLsASENIAVBiAJqIBA4AgAgBUGEAmogETgCACAFQQA2ArwBIAVBADYCrAEgBUEANgIwIAVCADcDKCAFIBI4AoACIAUgCyAHIAggDCAPk5QgCSANIA6TlJIgByAKIAuTlJJDbxKDOpIiB5SSIgs4AvwBIAUgCiALkyILOAIkIAUgDiAJIAeUkiIJOAL4ASAFIA0gCZMiCTgCICAFIA8gCCAHlJIiCDgC9AEgBSAMIAiTIgg4AhwgBSALOAIYIAUgCTgCFCAFIAg4AhAgBUGMAmogASAFIAIgB0NvEoM6khClASAFKAKMAkUEQCAAQQQ2AgAMAgsgAyAHIAUqApACkyIDYEUEQCAAQQQ2AgAMAgsgACADOAIIIABBAzYCACAAQRRqIAVBnAJqKAIANgIAIAAgBUGUAmopAgA3AgwMAQsgAgRAIAAgBSoC2AE4AgggAEEDNgIAIAAgBUHcAWopAgA3AgwgAEEUaiAFQeQBaigCADYCAAwBCyAAQQQ2AgALIAVBoAJqJAALyQoCBX8UfSMAQZABayIEJAAgAyoCDCEOIAMqAgghCSADKgIAIQsgAyoCBCEKIARB8ABqQQA2AgAgBEHgAGpBADYCACAEQcwAakIANwIAIARBPGpBADYCACAEQShqQgA3AgAgBEEYakEANgIAIARB7ABqIA4gCiAJQwAAAACUIgyTIg0gDZIiEZQgCiALQwAAAACUIg0gCkMAAAAAlCIPkyITIBOSIhOUIAkgDCALkyIQIBCSIhCUk5JDAAAAAJIiFDgCACAEQdgAaiAOIBCUIAkgEZQgCyATlJOSQwAAAACSIhc4AgAgBEHIAGogDiAPIAmTIhUgFZIiFZQgCiALIA+TIhYgFpIiFpQgCSAMIA2TIhIgEpIiEpSTkkMAAAAAkiIYOAIAIARBNGogDiASlCAJIBWUIAsgFpSTkkMAAIA/kiIZOAIAIARBJGogDiAPIAyTIgwgDJIiDJQgCiANIAqTIg8gD5IiD5QgCSAJIA2TIg0gDZIiDZSTkkMAAIA/kiIaOAIAIARB5ABqIBSMOAIAIARBQGsgGIw4AgAgBEEcaiAajDgCACAEIA4gE5QgCyAQlCAKIBGUk5JDAACAP5IiETgCXCAEQdQAaiARjDgCACAEIA4gFpQgCyASlCAKIBWUk5JDAAAAAJIiETgCOCAEQTBqIBGMOAIAIARBADYCCCAEIBeMOAJoIAQgGYw4AkQgBCAOIA2UIAkgDJQgCyAPlJOSQwAAAACSIgk4AhAgBCAJjDgCICAEIA4gD5QgCyANlCAKIAyUk5JDAAAAAJIiDjgCFCAEIA6MOAIMQ///f/8hDkMAAAAAIRVDAAAAACEWA0ACQCAEQQhqIAZqIgUqAgAiCSAJlCAFQQRqIgcqAgAiCSAJlJIgBUEIaiIIKgIAIgkgCZSSEJsBIglDAAAANF5FDQAgBCAIKgIAIAmVOAKMASAEIAcqAgAgCZU4AogBIAQgBSoCACAJlTgChAFDAACAPyADKgIQIhkgBEGEAWoiBSoCACILlCADQRRqKgIAIhogBSoCBCIKlJIgBSoCCCIMIANBGGoqAgAiG5SSmCEJIARB9ABqIgVBDGogDCAJlCIMOAIAIAVBCGogCiAJlCINOAIAIAUgCyAJlCIPOAIEIA8gAyoCCCIJlCAMIAMqAgAiC5STIgogCpIhEyALIAMqAgwiESATlCALIA0gC5QgDyADKgIEIgqUkyIQIBCSIhKUIAkgDCAKlCANIAmUkyIQIBCSIhSUk5IgDZO8QYCAgIB4cSACKAIEQf////8HcXK+IheUIAogESAUlCAJIBOUIAogEpSTkiAPk7xBgICAgHhxIAIoAgBB/////wdxcr4iGJSTIhAgEJIhECAFIAwgGyARIBCUIAsgCSAYlCALIBEgEpQgCiAUlCALIBOUk5IgDJO8QYCAgIB4cSACKAIIQf////8HcXK+IhOUkyISIBKSIhKUIAogCiATlCAJIBeUkyIUIBSSIhSUk5IgE5KSIAEoAghB/////wdxIAy8QYCAgIB4cXK+k5QgDyAZIBEgFJQgCiAQlCAJIBKUk5IgGJKSIAEoAgBB/////wdxIA+8QYCAgIB4cXK+k5QgDSAaIBEgEpQgCSAUlCALIBCUk5IgF5KSIAEoAgRB/////wdxIA28QYCAgIB4cXK+k5SSkjgCACAEKgJ0IgkgDl5FDQAgBCoCgAEhFiAEKgJ8IRUgBCoCeCEcIAkhDgsgBkEMaiIGQewARw0ACyAAIBw4AgQgACAOOAIAIABBDGogFjgCACAAQQhqIBU4AgAgBEGQAWokAAunBgIDfwl9IwBB4ABrIgYkACACKgIEIg4gAyoCDCIQlCACKgIAIg8gA0EQaioCACIRlJMiDSANkiELIAIqAggiDSARlCAOIANBFGoqAgAiDJSTIgogCpIhCSAGQQRqIgdBFGogDCACKgIMIgogC5QgDiAJlCAPIA8gDJQgDSAQlJMiDCAMkiIMlJOSkjgCACAHQRBqIBEgCiAMlCAPIAuUIA0gCZSTkpI4AgAgBiAQIAogCZQgDSAMlCAOIAuUk5KSOAIQIA4gAyoCACACKgIQkyIQlCAPIAMqAgQgAkEUaioCAJMiEZSTIgsgC5IhCyARIA2UIAMqAgggAkEYaioCAJMiDCAOlJMiCSAJkiEJIAYgDCAKIAuUIA4gCZQgDyAMIA+UIBAgDZSTIgwgDJIiDJSTkpI4AgwgBiARIAogDJQgDyALlCANIAmUk5KSOAIIIAYgECAKIAmUIA0gDJQgDiALlJOSkjgCBCABQQhqIgMqAgAhCiABKgIAIQsgASoCBCEJIAZBHGoiCEEUaiADKAIANgIAIAYgCow4AiQgBiAJjDgCICAGIAuMOAIcIAYgASkCADcCKCAGQTRqIAggByAGQRBqELMBAkACQCAGKAI0RQ0AQwAAAAAhCgJ9IAYqAjgiCUMAAAAAXUUEQCAEIAlgRQ0CIAZByABqKAIAIQMgBkHEAGoqAgAhCiAGKgI8IQsgBkFAayoCAAwBCyAGQdwAaigCACEDIAUEQEMAAAAAIQtDAAAAACEJQwAAAAAMAQsgBkHMAGoqAgAiCSAEX0UNASAGQdgAaioCACEKIAYqAlAhCyAGQdQAaioCAAshBCAAIAk4AgggAEECNgIAIABBAiADayADQQFrIANBAEgbNgIEIAAgCiAPIA0gC5QgDyAKlJMiCSAJkiIJlCAOIA4gCpQgDSAElJMiCiAKkiIKlJMgDyAElCAOIAuUkyIQIBCSIhAgAioCDCIRlJKSOAIUIAAgBCANIAqUIA8gEJSTIAkgEZSSkjgCECAAIAsgDiAQlCANIAmUkyAKIBGUkpI4AgwMAQsgAEEENgIACyAGQeAAaiQAC4oHAgp/AX4jAEEgayIDJAAgAC0AHEUEQCAALQAAIQEgAEEBOgAAIAMgAToABwJAAkAgAUUEQEHkgcQAKAIAQf////8HcQRAQbSFxAAoAgBBAEchBwsgAC0AAUUEQCAALQAcDQMgAEEMaigCACIBRQ0CAn9BwPvDACkDACILQgBSBEAgACgCBCIFIAFBDGxqDAELEJkIIgEoAgAhAiABIAJBAWs2AgAgAyABNgIIIAEpAwghCyACQQFGBEAgA0EIahC3CQtBwPvDACALNwMAIAAoAgwiAUUNAyAAKAIEIgUgAUEMbGoLIQFBASECA0ACQAJAIAQgBWoiCCgCACIJKQMIIAtRDQAgCUEUaiIKKAIAIQYgCiAGIAhBBGooAgAgBhs2AgAgBg0AIAJBAWshBSAIQQhqKAIAIgEEQCAJQRhqIAE2AgALIAAoAgwiASAFTQ0BIANBEGogACgCBCAEaiIEQQhqKAIANgIAIAMgBCkCADcDCCAEIARBDGogASACa0EMbBCKDRogACABQQFrNgIMIAMoAggiAUUNBSABIAEoAgAiAUEBazYCACABQQFHDQUgA0EIahDXCQwFCyACQQFqIQIgBSAEQQxqIgRqIAFHDQEMBAsLIAUgAUHchMAAEOEIAAsgAyAHOgAMIAMgADYCCEHshMAAQSsgA0EIakHEhsAAQaiFwAAQgAgACyADQgA3AhQgA0GAgMAANgIQIANBATYCDCADQZiTwAA2AgggA0EHaiADQQhqEN0KAAsgAEEYaiICKAIAIQEgAkEANgIAIABBEGooAgAiAiABQQxsaiEEAkACQCABRQ0AA0AgAigCACIBRQRAIAJBDGohAgwCCyABQRRqIgYoAgAhBSAGIAUgAikCBCILpyAFGzYCACABIAEoAgAiBUEBazYCACADIAs3AgwgAyABNgIIIAVBAUYEQCADQQhqENcJCyAEIAJBDGoiAkcNAAsMAQsgBCACa0EMbiEFIAIgBEYNACAAKAIQIgEgAiABa0EMbkEMbGohBANAIAQoAgAiAigCACEBIAIgAUEBazYCACABQQFGBEAgBBDXCQsgBEEMaiEEIAVBAWsiBQ0ACwsgACAAKAIMBH9BAQUgACgCGAtFOgAcCwJAIAcNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIABBAToAAQsgAEEAOgAACyADQSBqJAALigcCCn8BfiMAQSBrIgMkACAALQAcRQRAIAAtAAAhASAAQQE6AAAgAyABOgAHAkACQCABRQRAQeSBxAAoAgBB/////wdxBEBBtIXEACgCAEEARyEHCyAALQABRQRAIAAtABwNAyAAQQxqKAIAIgFFDQICf0HA+8MAKQMAIgtCAFIEQCAAKAIEIgUgAUEMbGoMAQsQmQgiASgCACECIAEgAkEBazYCACADIAE2AgggASkDCCELIAJBAUYEQCADQQhqELcJC0HA+8MAIAs3AwAgACgCDCIBRQ0DIAAoAgQiBSABQQxsagshAUEBIQIDQAJAAkAgBCAFaiIIKAIAIgkpAwggC1ENACAJQRRqIgooAgAhBiAKIAYgCEEEaigCACAGGzYCACAGDQAgAkEBayEFIAhBCGooAgAiAQRAIAlBGGogATYCAAsgACgCDCIBIAVNDQEgA0EQaiAAKAIEIARqIgRBCGooAgA2AgAgAyAEKQIANwMIIAQgBEEMaiABIAJrQQxsEIoNGiAAIAFBAWs2AgwgAygCCCIBRQ0FIAEgASgCACIBQQFrNgIAIAFBAUcNBSADQQhqENcJDAULIAJBAWohAiAFIARBDGoiBGogAUcNAQwECwsgBSABQdjFwAAQ4QgACyADIAc6AAwgAyAANgIIQfjFwABBKyADQQhqQfzKwABBtMbAABCACAALIANCADcCFCADQZi/wAA2AhAgA0EBNgIMIANBgM/AADYCCCADQQdqIANBCGoQ3woACyAAQRhqIgIoAgAhASACQQA2AgAgAEEQaigCACICIAFBDGxqIQQCQAJAIAFFDQADQCACKAIAIgFFBEAgAkEMaiECDAILIAFBFGoiBigCACEFIAYgBSACKQIEIgunIAUbNgIAIAEgASgCACIFQQFrNgIAIAMgCzcCDCADIAE2AgggBUEBRgRAIANBCGoQ1wkLIAQgAkEMaiICRw0ACwwBCyAEIAJrQQxuIQUgAiAERg0AIAAoAhAiASACIAFrQQxuQQxsaiEEA0AgBCgCACICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAEENcJCyAEQQxqIQQgBUEBayIFDQALCyAAIAAoAgwEf0EBBSAAKAIYC0U6ABwLAkAgBw0AQeSBxAAoAgBB/////wdxRQ0AQbSFxAAoAgBFDQAgAEEBOgABCyAAQQA6AAALIANBIGokAAvTDwIkfQd/IwBB4ABrIiokACAqQTxqISsgAiEvIAQhAkMAACDBIQsCfQJAIAUEQCACIAVBDGxqITACQAJAAkADQCACKAIAIiwgA0kEQCACQQRqKAIAIi0gA08NAiACQQhqKAIAIi4gA08NAyAGIC8gLkEMbGoiLioCACIOQwAAIEGSIC8gLEEMbGoiLCoCBCIMQwAAIEGSIgYgLyAtQQxsaiItKgIIIg9DAAAgQZIiB5QgLCoCCCIQQwAAIEGSIhEgLSoCBCINQwAAIEGSIhOUk5QgLCoCACIUQwAAIEGSIBMgLioCCCITQwAAIEGSIhWUIAcgLioCBCIWQwAAIEGSIgeUk5QgLSoCACIXQwAAIEGSIAYgFZQgESAHlJOUk5JDAADAQJUiB5IhBiAKIAcgEEMAAIA+lEMAACDAkiAPQwAAgD6UkiATQwAAgD6UkpSSIQogCSAHIAxDAACAPpRDAAAgwJIgDUMAAIA+lJIgFkMAAIA+lJKUkiEJIAggByAUQwAAgD6UQwAAIMCSIBdDAACAPpSSIA5DAACAPpSSlJIhCCAwIAJBDGoiAkcNAQwECwsgLCADQdibwgAQ4wgACyAtIANB6JvCABDjCAALIC4gA0H4m8IAEOMIAAsgBkMAAAAAXA0BC0MAACDBIQpDAAAgwQwBCyAIIAaVIQsgCiAGlSEKIAkgBpULIQkgKyALOAIEICsgBjgCACArQQxqIgIgCjgCACArQQhqIAk4AgAgKioCPCETICpBEGogAigCADYCACAqICopAkA3AwgCQAJAAkACQCATQwAAAABcBEAgBQRAIAQgBUEMbGohLiAqKgIQIRQgKioCDCEVICoqAgghFgNAIAQoAgAiAiADTw0EIARBBGooAgAiKyADTw0FIARBCGooAgAiBSADTw0GIC8gBUEMbGoiBSoCACIGIRcgLyArQQxsaiIrKgIEIgshIiArKgIIISMgKyoCACIJISQgBSoCCCElIAUqAgQiByEmIC8gAkEMbGoiLCoCACIKIScgLCoCBCIOISggLCoCCCEpICpBGGoiAiAGICpBCGoiLSoCACIIkyIGIAaUIAkgCJMiCSAGlCAKIAiTIgogBpQgCSAJlCAKIAmUIAogCpQgCCAIkyIIIAiUIAggCpSSkiAIIAmUkpKSIAggBpSSkpKSIg8gByAtKgIEIgyTIgcgB5QgCyAMkyILIAeUIA4gDJMiDiAHlCAMIAyTIgwgB5QgCyALlCAOIAuUIA4gDpQgDCAMlCAMIA6UkpIgDCALlJKSkpKSkpIiEpJDzczMPZQ4AiAgAiAPIAUqAgggLSoCCCINkyIPIA+UICsqAgggDZMiECAPlCAsKgIIIA2TIhEgD5QgDSANkyINIA+UIBAgEJQgESAQlCARIBGUIA0gDZQgDSARlJKSIA0gEJSSkpKSkpKSIhiSQ83MzD2UOAIQIAIgEiAYkkPNzMw9lDgCACACIAcgD5QiEiASkiALIA+UIA4gD5QgDCAPlCAQIAeUIAsgEJQiEiASkiAOIBCUIAwgEJQgESAHlCARIAuUIA4gEZQiEiASkiAMIBGUIAwgDZQiEiASkiANIA6UkiANIAuUkiANIAeUkpKSkpKSkpKSkpKSkkPNzEy9lCISOAIcIAIgBiAHlCIYIBiSIAkgB5QgCiAHlCAIIAeUIAYgC5QgCSALlCIHIAeSIAogC5QgCCALlCAGIA6UIAkgDpQgCiAOlCIHIAeSIAggDpQgBiAMlCAJIAyUIAogDJQgCCAMlCIHIAeSkpKSkpKSkpKSkpKSkpKSQ83MTL2UIgc4AhggAiASOAIUIAIgBiAPlCILIAuSIAkgD5QgCiAPlCAIIA+UIAYgEJQgCSAQlCILIAuSIAogEJQgCCAQlCAGIBGUIAkgEZQgCiARlCILIAuSIAggEZQgBiANlCAJIA2UIAogDZQgCCANlCIGIAaSkpKSkpKSkpKSkpKSkpKSQ83MTL2UIgY4AgwgAiAHOAIIIAIgBjgCBCAZIBcgFpMgKCAVkyIGICMgFJMiCZQgKSAUkyIKICIgFZMiCJSTlCAnIBaTIAggJSAUkyIIlCAJICYgFZMiCZSTlCAkIBaTIAYgCJQgCiAJlJOUk5JDAADAQJUiBiAqKgI4lJIhGSAaIAYgKioCNJSSIRogGyAGICoqAjCUkiEbIBwgKioCLCAGlJIhHCAdICoqAiggBpSSIR0gHiAqKgIkIAaUkiEeIB8gKioCICAGlJIhHyAgICoqAhwgBpSSISAgISAqKgIYIAaUkiEhIC4gBEEMaiIERw0ACwsgKkMAAMB/QwAAgD8gE5ggEyATXBsiBiAZIAGUlDgCXCAqIAYgGiABlJQ4AlggKiAGIBsgAZSUOAJUICogBiAcIAGUlDgCUCAqIAYgHSABlJQ4AkwgKiAGIB4gAZSUOAJIICogBiAfIAGUlDgCRCAqIAYgICABlJQ4AkAgKiAGICEgAZSUOAI8IAAgKkEIaiATIAGUIAaUICpBPGoQjwIMAQsgAEIANwIQIABCADcCACAAQoCAgICAgIDAPzcCCCAAQRhqQgA3AgAgAEEgakIANwIAIABBKGpBADYCAAsgKkHgAGokAA8LIAIgA0Gom8IAEOMIAAsgKyADQbibwgAQ4wgACyAFIANByJvCABDjCAALzQYCAn4FfwJAIAFBB3EiBEUNAAJAIAAoAqABIgVBKUkEQCAFRQRAIABBADYCoAEMAwsgBEECdEGM18MAajUCACEDIAVBAWtB/////wNxIgRBAWoiB0EDcSEIIARBA0kEQCAAIQQMAgsgB0H8////B3EhByAAIQQDQCAEIAQ1AgAgA34gAnwiAj4CACAEQQRqIgY1AgAgA34gAkIgiHwhAiAGIAI+AgAgBEEIaiIGNQIAIAN+IAJCIIh8IQIgBiACPgIAIARBDGoiBjUCACADfiACQiCIfCECIAYgAj4CACACQiCIIQIgBEEQaiEEIAdBBGsiBw0ACwwBCyAFQShBwPDDABDkCAALIAgEQANAIAQgBDUCACADfiACfCICPgIAIARBBGohBCACQiCIIQIgCEEBayIIDQALCwJAIAKnIgQEQCAFQSdLDQEgACAFQQJ0aiAENgIAIAVBAWohBQsgACAFNgKgAQwBCyAFQShBwPDDABDjCAALAkAgAUEIcQRAAkACQCAAKAKgASIFQSlJBEAgBUUEQEEAIQUMAwsgBUEBa0H/////A3EiBEEBaiIHQQNxIQggBEEDSQRAQgAhAiAAIQQMAgsgB0H8////B3EhB0IAIQIgACEEA0AgBCAENQIAQoDC1y9+IAJ8IgI+AgAgBEEEaiIGNQIAQoDC1y9+IAJCIIh8IQIgBiACPgIAIARBCGoiBjUCAEKAwtcvfiACQiCIfCECIAYgAj4CACAEQQxqIgY1AgBCgMLXL34gAkIgiHwhAiAGIAI+AgAgAkIgiCECIARBEGohBCAHQQRrIgcNAAsMAQsgBUEoQcDwwwAQ5AgACyAIBEADQCAEIAQ1AgBCgMLXL34gAnwiAj4CACAEQQRqIQQgAkIgiCECIAhBAWsiCA0ACwsgAqciBEUNACAFQSdLDQIgACAFQQJ0aiAENgIAIAVBAWohBQsgACAFNgKgAQsgAUEQcQRAIABBgMPDAEECEPsBCyABQSBxBEAgAEGIw8MAQQQQ+wELIAFBwABxBEAgAEGYw8MAQQcQ+wELIAFBgAFxBEAgAEG0w8MAQQ4Q+wELIAFBgAJxBEAgAEHsw8MAQRsQ+wELDwsgBUEoQcDwwwAQ4wgAC/EHAgp/AX0jAEEgayIGJAAgAEEQaiEIAkAgAEEYaigCACIDRQRAIABBFGooAgAhBEEAIQMgAcAQ9QgiDEP//39+IAxD//9/fl0bIQwgBEUEQCAIQQAQrgYgACgCGCECCyAAIAJBAWo2AhggACgCECACQQZ0aiIAQQA6ADwgAEEAOwA5IAAgAToAOCAAQgA3AjAgAEKAgICAwAA3AiggAEIENwIgIABCADcCGCAAQoCAgIDAADcCECAAQgA3AgggAEHA+sAANgIEIAAgDDgCAAwBCyAAKAIQIQcgAEHgAGoiCSECAkACQAJAAkADQCACLQAAIgQgA08NBCABwCIKIAcgBEEGdGoiBSwAOCICTA0BIAVBPWohAiAFLQA8DQALIAYgAzoAByADQf8BcUH/AUcNASAGQgA3AhQgBkGYv8AANgIQIAZBATYCDCAGQajswQA2AggjAEEQayIAJAAgAEGw1sAANgIMIAAgBkEHajYCCEEBIABBCGpBpNXAACAAQQxqQaTVwAAgBkEIakGw7MEAEKsEAAsgAkH/AXEgAUH/AXFHDQEgBCEDDAMLIAAtAGEiBCADSQRAIAcgBEEGdGoiAkEBOgA8IAJBPWogAzoAACAAQRRqKAIAIQUgChD1CCIMQ///f34gDEP//39+XRshDCAFIAMiAkYEQCAIIAMQrgYgACgCECEHIAAoAhghAgsgACADOgBhIAAgAkEBajYCGCAHIAJBBnRqIgJBADoAPCACIAQ6ADsgAkEBOgA6IAIgAzoAOSACIAE6ADggAkIANwIwIAJCgICAgMAANwIoIAJCBDcCICACQgA3AhggAkKAgICAwAA3AhAgAkIANwIIIAJBwPrAADYCBCACIAw4AgAgACADEGsMAwsgBCADQcDswQAQ4wgACyAHIARBBnRqIgItADohCyACQQE6ADogAkE7aiICLQAAIQUgAiADOgAAAkAgCwRAIAMgBUsEQCAHIAVBBnRqIgJBAToAPCACQT1qIAM6AAAMAgsgBSADQdDswQAQ4wgACyAJIAM6AAALIABBFGooAgAhCSAKEPUIIgxD//9/fiAMQ///f35dGyEMIAkgAyICRgRAIAggAxCuBiAAKAIQIQcgACgCGCECCyAAIAJBAWo2AhggByACQQZ0aiICIAQ6AD0gAkEBOgA8IAIgBToAOyACIAs6ADogAiADOgA5IAIgAToAOCACQgA3AjAgAkKAgICAwAA3AiggAkIENwIgIAJCADcCGCACQoCAgIDAADcCECACQgA3AgggAkHA+sAANgIEIAIgDDgCACAAIAMQawwBCyAEIANBhOzBABDjCAALIAZBIGokACADC9EGAQV/IAAoAgQhAgJAAkACQAJAAkACQCAAKAIAQQFrDgIBAgALIAIgAigCgAIiA0EBazYCgAIgA0EBRw0EIAIgAigCQCIDIAIoAsgBIgFyNgJAIAEgA3FFBEAgAkGAAWoQ8AEgAkGgAWoQ8AELIAItAIgCIQMgAkEBOgCIAiADRQ0EIAJB0AFqKAIABEAgAigCzAEQmgILIAJBhAFqEMUGIAJBpAFqEMUGIAIQmgIMBAsgAiACKALAASIDQQFrNgLAASADQQFHDQMgAiACKAJAIgNBAXI2AkAgA0EBcUUEQCACQYABahDwAQsgAi0AyAEhAyACQQE6AMgBIANFDQMgAigCBCEDIAIoAgBBfnEiBCACKAJAQX5xIgVHBEADQCAEQT5xQT5GBEAgAygCACEBIAMQmgIgASEDCyAFIARBAmoiBEcNAAsLIAMNAQwCCyACIAIoAjgiA0EBazYCOCADQQFHDQIgAhCYASACLQBAIQMgAkEBOgBAIANFDQIgAkEEahDFBiACQRxqEMUGIAIQmgIMAgsgAxCaAgsgAkGEAWoQxQYgAhCaAgsgAEEMaigCACEBAkACQAJAAkACQAJAIAAoAghBAWsOAgECAAsgASABKAKAAiIAQQFrNgKAAiAAQQFHDQIgASABKAJAIgAgASgCyAEiA3I2AkAgACADcUUEQCABQYABahDwASABQaABahDwAQsgAS0AiAIhACABQQE6AIgCIABFDQIgAUHQAWooAgAEQCABKALMARCaAgsgAUGEAWoQxQYgAUGkAWoQxQYgARCaAg8LIAEgASgCwAEiAEEBazYCwAEgAEEBRw0BIAEgASgCQCIAQQFyNgJAIABBAXFFBEAgAUGAAWoQ8AELIAEtAMgBIQAgAUEBOgDIASAARQ0BIAEoAgQhACABKAIAQX5xIgQgASgCQEF+cSICRwRAA0AgBEE+cUE+RgRAIAAoAgAhAyAAEJoCIAMhAAsgAiAEQQJqIgRHDQALCyAADQIMAwsgASABKAI4IgBBAWs2AjggAEEBRw0AIAEQmAEgAS0AQCEAIAFBAToAQCAARQ0AIAFBBGoQxQYgAUEcahDFBiABEJoCCw8LIAAQmgILIAFBhAFqEMUGIAEQmgIL7AYCCX8BfiMAQSBrIgQkACAALQAAIQIgAEEBOgAAIAQgAjoABwJAAkACQCACRQRAQeSBxAAoAgBB/////wdxBEBBtIXEACgCAEEARyEGCyAALQABDQECQCAAQQxqKAIAIgFFDQAgACgCBCIDIQIgAUEMbCIHQQxrIghBDG5BAWpBB3EiAQRAIAFBDGwhAQNAIAIoAgBBFGoiCSgCACEFIAkgBUECIAUbNgIAIAJBDGohAiABQQxrIgENAAsLIAhB1ABJDQAgAyAHaiEFA0AgAigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEMaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEYaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEkaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEwaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkE8aigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkHIAGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJB1ABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACAFIAJB4ABqIgJHDQALCyAAQRhqIgEoAgAhAiABQQA2AgAgAEEQaigCACIBIAJBDGxqIQUgAkUNAgNAIAEoAgAiAkUEQCABQQxqIQEMBAsgAkEUaiIHKAIAIQMgByADIAEpAgQiCqcgAxs2AgAgAiACKAIAIgNBAWs2AgAgBCAKNwIMIAQgAjYCCCADQQFGBEAgBEEIahDXCQsgBSABQQxqIgFHDQALDAMLIARCADcCFCAEQYCAwAA2AhAgBEEBNgIMIARBmJPAADYCCCAEQQdqIARBCGoQ3QoACyAEIAY6AAwgBCAANgIIQeyEwABBKyAEQQhqQcSGwABBmIXAABCACAALIAUgAWtBDG4hAyABIAVGDQAgACgCECICIAEgAmtBDG5BDGxqIQIDQCACKAIAIgUoAgAhASAFIAFBAWs2AgAgAUEBRgRAIAIQ1wkLIAJBDGohAiADQQFrIgMNAAsLIAAgACgCDAR/QQEFIAAoAhgLRToAHAJAIAYNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIABBAToAAQsgAEEAOgAAIARBIGokAAv4BgECfyMAQdABayIRJAACQAJAAkAgAEUNACAAKAIAIhJBf0YNASAAIBJBAWo2AgAgAUUNACABKAIAIhJBf0YNASABIBJBAWo2AgAgAkUNACACKAIAIhJBf0YNASACIBJBAWo2AgAgA0UNACADKAIAIhJBf0YNASADIBJBAWo2AgAgBEUNACAEKAIAIhJBf0YNASAEIBJBAWo2AgAgBUUNACAFKAIAIhJBf0YNASAFIBJBAWo2AgAgBkUNACAGKAIAIhJBf0YNASAGIBJBAWo2AgAgESAQNgIEIBEgCTYCbCARIAhBAEc6AGsgESAHOAJkIBEgBkEEajYCYCARIAVBBGo2AlwgESAEQQRqNgJYIBEgA0EEajYCVCARIAJBBGo2AlAgESABQQRqNgJMIBEgAEEEajYCSCARIAs2AnQgESAKQQBHNgJwIBEgDTkDgAEgESAMQQBHrTcDeCARIA85A5ABIBEgDkEAR603A4gBIBEgEUHrAGo2AsgBIBEgEUHkAGo2AsQBIBEgEUHgAGo2AsABIBEgEUHcAGo2ArwBIBEgEUHQAGo2ArgBIBEgEUHMAGo2ArQBIBEgEUHIAGo2ArABIBEgEUHYAGo2AqwBIBEgEUHUAGo2AqgBIBEgEUGIAWo2AqQBIBEgEUH4AGo2AqABIBEgEUHwAGo2ApwBIBEgEUHsAGo2ApgBAkAgEBAEQQFGBEAgESARQQRqNgLMASARQQhqIBFBmAFqIBFBzAFqEMoCDAELIBFBCGogEUGYAWpBABDKAgsgBiAGKAIAQQFrNgIAIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhACARLQBEQQRHBEBBkfvDAC0AABpBxABBBBCCDCIARQ0DIABBADYCACAAIBEpAgg3AgQgAEEMaiARQRBqKQIANwIAIABBFGogEUEYaikCADcCACAAQRxqIBFBIGopAgA3AgAgAEEkaiARQShqKQIANwIAIABBLGogEUEwaikCADcCACAAQTRqIBFBOGopAgA3AgAgAEE8aiARQUBrKQIANwIACyARQdABaiQAIAAPCxD4DAALEPkMAAtBBEHEAEHQgcQAKAIAIgBBlwcgABsRAAAAC4MGAg19AX8jAEEgayIVJAAgAyoCACEQAkACQAJAAkACQCAHBEAgAioCCCEJIAIqAgQhCCACKgIAIQogAyoCCCERIAMqAgQhDQwBCyACKgIAIgogEJQgAioCBCIIIAMqAgQiDZSSIAIqAggiCSADKgIIIhGUkkMAAAAAXg0BCyAVIBGMOAIcIBUgDYw4AhggFSAQjDgCFCAVQQhqIAQgASAVQRRqIAUoAhQRAgAgDSAVKgIMIgyMlCAQIBUqAggiDpQiEpMgFSoCECIPIBGUIhOTIhRDAAAAAF5FBEAgFCAQIAqUIAggDZSSIAkgEZSSlSILQwAAAABgRQ0CIAYgC2BFDQILIAYgC10NAiAPIAkgC5SSIQYgDCAIIAuUkiEJIA4gCiALlJIhCEEDIQIgEiANIAyUkiATkkMAAAAAXUUEQCAGIBEgESAGlCAQIAiUIA0gCZSSkiIKlJMhBiAJIA0gCpSTIQkgCCAQIAqUkyEIQQEhAgsgACAGOAIMIAAgCTgCCCAAIAg4AgQgACALOAIAIAAgAykCADcCHCAAQSRqIANBCGooAgA2AgAgASoCBCIGIA4gASoCEJMiDpQgASoCACIJIAwgAUEUaioCAJMiEpSTIgggCJIhCiABKgIIIgggEpQgBiAPIAFBGGoqAgCTIg+UkyILIAuSIQwgACAPIAEqAgwiCyAKlCAGIAyUIAkgCSAPlCAIIA6UkyIPIA+SIg+Uk5KSOAIYIAAgEiALIA+UIAkgCpQgCCAMlJOSkjgCFCAAIA4gCyAMlCAIIA+UIAYgCpSTkpI4AhAgACACOgA0IAAgCyANIAmUIBAgBpSTIgogCpIiCpQgBiARIAaUIA0gCJSTIgwgDJIiDJQgCSAQIAiUIBEgCZSTIg4gDpIiDpSTkiARkzgCMCAAIAsgDpQgCSAKlCAIIAyUk5IgDZM4AiwgACALIAyUIAggDpQgBiAKlJOSIBCTOAIoDAMLIABBBDoANAwCCyAAQQQ6ADQMAQsgAEEEOgA0CyAVQSBqJAALnAYCCn8GfSMAQRBrIgwkACAMQQhqQzX6jjwQhwECQAJAAkAgASgCCCIFBEBBASEDIAIqAgghDSACKgIEIQ4gAioCACEPIAVBAUYNAyAPIAEoAgAiByoCAJQgDiAHKgIElJIgDSAHKgIIlJIhESAFQQFrIgRBAXEhCCAFQQJHDQFBACEEDAILQQBBAEG0rcMAEOMIAAsgB0EQaiECIARBfnEhCUEAIQQDQCAPIAJBBGsqAgCUIA4gAioCAJSSIA0gAkEEaioCAJSSIhAgEV4hCyAPIAJBCGoqAgCUIA4gAkEMaioCAJSSIA0gAkEQaioCAJSSIhIgECARIAsbIhBeIQYgEiAQIAYbIREgA0EBaiIFIAMgBCALGyAGGyEEIANBAmohAyACQRhqIQIgBSAJRw0ACwsgCEUNACADIAQgDyAHIANBDGxqIgIqAgCUIA4gAioCBJSSIA0gAioCCJSSIBFeGyEECwJAIAQgAUEUaigCACICSQRAIAwqAgwhEiAMKgIIIRAgAUEgaigCACEKIAFBOGooAgAhBiABKAIMIARBA3RqIgcoAgQhCyABKAIYIQkgASgCMCEFQQAhAgNAAkACQCACIAtGBEAgAUEsaigCACEGIAFBxABqKAIAIQggASgCJCEFIAEoAjwhAUEAIQIDQCACIAtGBEAgBCEDQQAhCgwHCyACIAcoAgBqIgMgCE8NAiABIANBAnRqKAIAIgMgBkkEQEEBIQogAkEBaiECIA8gBSADQQV0aiIJKgIQlCAOIAlBFGoqAgCUkiANIAlBGGoqAgCUkosgEF9FDQEMBwsLIAMgBkHk9MIAEOMIAAsgBiACIAcoAgBqIgNNBEAgAyAGQfT0wgAQ4wgACyAKIAUgA0ECdGooAgAiA0sNASADIApBhPXCABDjCAALIAMgCEHU9MIAEOMIAAsgAkEBaiECIA8gCSADQRRsaiIIKgIIlCAOIAhBDGoqAgCUkiANIAhBEGoqAgCUkiASYEUNAAtBAiEKDAELIAQgAkHE9MIAEOMIAAsgACADNgIEIAAgCjYCACAMQRBqJAALwAYBCn8jAEGgAWsiDCQAAkACQAJAIAFBEGooAgAgAk0NACABKAIIIAJBqAFsaiIIKAIARQ0AIAgoAgQgA0cNACAIQQA2AgAgCCgCCCENIAggASkCADcCBCABIAI2AgQgAUEBNgIAIAEgASgCFEEBajYCFCABIAEoAhhBAWs2AhggDUECRg0AIAhBEGooAgAhCyAIQQxqKAIAIQkgDEEMaiAIQRRqQZQBEIgNGiANQQFHDQEgBSgCECAJTQ0BIAUoAggiCEUNASAIIAlB6AJsaiIKKAIARQ0BIAooAgQgC0cNASAKQbACai0AAEEBcUUEQCAKQQE2ArACIAVBJGooAgAiByAFQSBqKAIARgRAIAVBHGogBxCrBiAFKAIkIQcLIAUgB0EBajYCJCAFKAIcIAdBA3RqIgggCzYCBCAIIAk2AgALAkAgCkHAAmooAgAiD0UNACAKQbgCaigCACIIIA9BA3RqIQ4gCCEHA0ACQCACIAcoAgBGBEAgB0EEaigCACADRg0BCyAQQQFqIRAgDiAHQQhqIgdHDQEMAgsLIAogD0EBayIONgLAAiAKIAooArACQQhyNgKwAiAHIAggDkEDdGopAgA3AgALIAZFDQEgBSgCECAJTQ0BIAUoAggiBUUNASAFIAlB6AJsaiIHKAIARQ0BIAcoAgQgC0cNASAHQeUCai0AAA0BIAdBsAJqLQAAQQRxDQEgB0HQAmpBADYCACAHQdQCakEAOgAAIAdB5gJqLQAARQ0BIAQoAgAhBgJAIAQoAggiBSAHQQxqKAIAIghNDQAgBiAIQQN0aiIIKAIAIAlHDQAgCCgCBCALRg0CCyAHIAU2AgwgBCgCBCAFRgRAIAQgBRCrBiAEKAIAIQYgBCgCCCEFCyAEIAVBAWo2AgggBiAFQQN0aiIEIAs2AgQgBCAJNgIADAELIABBAjYCAAwBCyABQTBqKAIAIgcgAUEsaigCAEYEQCABQShqIAcQqwYgASgCMCEHCyABIAdBAWo2AjAgASgCKCAHQQN0aiIBIAM2AgQgASACNgIAIABBDGogDEEMakGUARCIDRogACALNgIIIAAgCTYCBCAAIA02AgALIAxBoAFqJAALrQYCCX8BfiMAQdABayIHJAACQAJAAkACQCAARQ0AIAAoAgAiBkF/Rg0BIAAgBkEBajYCACACRQ0AIAIoAgAiBkF/Rg0BIAIgBkEBajYCACADRQ0AIAMoAgAiBkF/Rg0BIAMgBkEBajYCACAERQ0AIAQoAgAiBkF/Rg0BIAQgBkEBajYCACAHQcgAaiAEQQxqKQIANwMAIAcgBCkCBDcDQCAHQdgAaiADQQRqIgZBCGooAgA2AgAgByAGKQIANwNQIABBBGogAb0iD6cgD0IgiKcQmAoiBkUNAiAHQZgBaiAGQfQAaiAGKAIwIAZBNGooAgAiBigCCEEBa0F4cWpBCGogBiAHQUBrIAIoAgQgAkEIaigCACIGKAIIQQFrQXhxakEIaiAGIAUQogECf0EBIAcoApgBIghBAkYNABogB0HgAGoiBkEwaiIJIAdBzAFqKAIANgIAIAZBKGoiCiAHQcQBaikCADcDACAGQSBqIgsgB0G8AWopAgA3AwAgBkEYaiIMIAdBtAFqKQIANwMAIAZBEGoiDSAHQawBaikCADcDACAGQQhqIg4gB0GkAWopAgA3AwAgByAHKQKcATcDYEEBIAhFDQAaIAdBCGoiBkEwaiAJKAIANgIAIAZBKGogCikDADcDACAGQSBqIAspAwA3AwAgBkEYaiAMKQMANwMAIAZBEGogDSkDADcDACAGQQhqIA4pAwA3AwAgByAHKQNgNwMIQQALIQYgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhAiAGRQRAQZH7wwAtAAAaQThBBBCCDCICRQ0EIAJBADYCACACIAcpAwg3AgQgAkEMaiAHQRBqKQMANwIAIAJBFGogB0EYaikDADcCACACQRxqIAdBIGopAwA3AgAgAkEkaiAHQShqKQMANwIAIAJBLGogB0EwaikDADcCACACQTRqIAdBOGooAgA2AgALIAdB0AFqJAAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC0EEQThB0IHEACgCACIAQZcHIAAbEQAAAAu8BgEdfSABQcwAaioCACEPIAJBHGoqAgAhBiABKgIcIRAgAioCDCEJIAEqAgwhESABQTxqKgIAIRIgAUHcAGoqAgAhEyACQSxqKgIAIQwgASoCLCEUIAFByABqKgIAIRUgAkEYaioCACEEIAEqAhghFiACKgIIIQcgASoCCCEXIAFBOGoqAgAhGCABQdgAaioCACEZIAJBKGoqAgAhDSABKgIoIRogAUHEAGoqAgAhGyACQRRqKgIAIQUgASoCFCEcIAIqAgQhCCABKgIEIQsgAUE0aioCACEdIAFB1ABqKgIAIR4gAkEkaioCACEOIAEqAiQhHyABKgIAIAIqAgAiA5MiCiADIAEqAjCTIgMgAyAKXxsiA0MAAAAAIANDAAAAAGAbIgMgA5QgASoCECACKgIQIgOTIgogAyABQUBrKgIAkyIDIAMgCl8bIgNDAAAAACADQwAAAABgGyIDIAOUkiABKgIgIAIqAiAiA5MiCiADIAFB0ABqKgIAkyIDIAMgCl8bIgNDAAAAACADQwAAAABgGyIDIAOUkhCbASEDIAsgCJMiCyAIIB2TIgggCCALXxsiCEMAAAAAIAhDAAAAAGAbIgggCJQgHCAFkyIIIAUgG5MiBSAFIAhfGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIgHyAOkyIFIA4gHpMiCCAFIAhgGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIQmwEhBSAXIAeTIgggByAYkyIHIAcgCF8bIgdDAAAAACAHQwAAAABgGyIHIAeUIBYgBJMiByAEIBWTIgQgBCAHXxsiBEMAAAAAIARDAAAAAGAbIgQgBJSSIBogDZMiBCANIBmTIgcgBCAHYBsiBEMAAAAAIARDAAAAAGAbIgQgBJSSEJsBIQQgACARIAmTIgcgCSASkyIJIAcgCWAbIglDAAAAACAJQwAAAABgGyIJIAmUIBAgBpMiCSAGIA+TIgYgBiAJXxsiBkMAAAAAIAZDAAAAAGAbIgYgBpSSIBQgDJMiBiAMIBOTIgkgBiAJYBsiBkMAAAAAIAZDAAAAAGAbIgYgBpSSEJsBOAIMIAAgBDgCCCAAIAU4AgQgACADOAIAC+wGAgZ/A34jAEHwCGsiBCQAIAG8IQYCf0EDIAGLQwAAgH9bDQAaQQIgASABXA0AGkEEIAZB/////wdxRQ0AGiAGQf///wNxQYCAgARyIAZBAXRB/v//B3EgBkEXdkH/AXEiBRsiB60iCkIBgyELIAZBgICA/AdxRQRAIAVBlgFrIQdCASEMIAtQDAELQoCAgBAgCkIBhiAHQYCAgARGIgcbIQpCAkIBIAcbIQxB6H5B6X4gBxsgBWohByALUAshBSAEIAc7AegIIAQgDDcD4AggBEIBNwPYCCAEIAo3A9AIIAQgBToA6ggCfwJAAkACQAJAQQMgBUECa0H/AXEiBSAFQQNPGyIJBEBB1tnDAEHX2cMAQfjBwwAgAhsgBkEASBshCEEBIQVBASAGQR92IAIbIQYgCUECaw4CAgMBCyAEQQM2ApgIIARB2NnDADYClAggBEECOwGQCEEBIQVBACEGQfjBwwAhCCAEQZAIagwECyAEQQM2ApgIIARB29nDADYClAggBEECOwGQCCAEQZAIagwDC0ECIQUgBEECOwGQCCADRQ0BIARBoAhqIAM2AgAgBEEAOwGcCCAEQQI2ApgIIARBrdnDADYClAggBEGQCGoMAgsgB8EiAkF0QQUgAkEASBtsIgJBwP0ASQRAIARBkAhqIARB0AhqIARBEGogAkEEdkEVaiIFQYCAfkEAIANrIANBgIACTxsiAhDEASACwSECAkAgBCgCkAhFBEAgBEHACGogBEHQCGogBEEQaiAFIAIQLgwBCyAEQcgIaiAEQZgIaigCADYCACAEIAQpApAINwPACAsgAiAELgHICCICSARAIARBCGogBCgCwAggBCgCxAggAiADIARBkAhqEKAEIAQoAgwhBSAEKAIIDAMLQQIhBSAEQQI7AZAIIANFBEBBASEFIARBATYCmAggBEHe2cMANgKUCCAEQZAIagwDCyAEQaAIaiADNgIAIARBADsBnAggBEECNgKYCCAEQa3ZwwA2ApQIIARBkAhqDAILQeXZwwBBJUGM2sMAEKoKAAtBASEFIARBATYCmAggBEHe2cMANgKUCCAEQZAIagshAiAEQcwIaiAFNgIAIAQgAjYCyAggBCAGNgLECCAEIAg2AsAIIAAgBEHACGoQ0QIhACAEQfAIaiQAIAALvgYCBn8DfSMAQUBqIgMkACABQQhqIgQqAgAhCSABKgIAIQogASoCBCELIANBFGoiBSAEKAIANgIAIAMgCYw4AgggAyALjDgCBCADIAqMOAIAIAMgASkCADcCDEEAIQEgA0EkaiIEIAMgAkEAEK0CIAMtADAhAiADQSBqIgYgBEEIaigCADYCACADIAMpAiQ3AxgCQAJAAkACQCADQTxqKgIAQwAAAABbIgcgBEEUaioCACIJQwAAAABbIgggAyoCNEMAAAAAW2pqIgRBAmsOAgECAAsgACADKQMYNwIAIAAgAjoADCAAIARBAEc2AhAgAEEIaiAGKAIANgIAIABBFGogAyoCHCADKgIEIANBEGoqAgCSQwAAAD+UXUEBdCADKgIYIAMqAgAgAyoCDJJDAAAAP5RdciAGKgIAIAMqAgggBSoCAJJDAAAAP5RdQQJ0ciIAQQJ0QQIgCCAHG3IgACAEGzYCAAwCCyAJQwAAAABcQQIgBxsiAUECdCIEIANBGGpqKgIAIQkgAyADKgIIIAUqAgCSQwAAAD+UOAIsIAMgAyoCBCADQRBqKgIAkkMAAAA/lDgCKCADIAMqAgAgAyoCDJJDAAAAP5Q4AiQgCSADQSRqIARqKgIAXUUEQCAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAILIAAgAykDGDcCACAAQQI2AhAgACACOgAMIABBFGogAUEDajYCACAAQQhqIANBIGooAgA2AgAMAQsCQAJAIAMqAhgiCSADKgIMQwAAALSSXg0AQQMhASAJIAMqAgBDAAAANJJfDQBBASEBIAMqAhwiCSADQRBqKgIAQwAAALSSXg0AQQQhASAJIAMqAgRDAAAANJJfDQBBAiEBIAMqAiAiCSADQRRqKgIAQwAAALSSXg0AQQUhASAJIAMqAghDAAAANJJfRQ0BCyAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAELIAAgAykDGDcCACAAQQM2AhAgACACOgAMIABBCGogA0EgaigCADYCAAsgA0FAayQAC9EFAgN/E30jAEHgAGsiCCQAIAhBDGogAiAHKgIEIhUQiAIgCCoCDCIQIAYqAgQiDZQgCCoCECIMIAYqAgAiFpSTIg8gD5IhDyAIKgIUIgsgFpQgECAGKgIIIhGUkyIOIA6SIQ4gESAIKgIYIhIgD5QgECAOlCAMIAwgEZQgCyANlJMiESARkiITlJOSkiERIA0gEiAOlCALIBOUIBAgD5STkpIhFyAWIBIgE5QgDCAPlCALIA6Uk5KSIRYgB0EIaiEKIAcqAgghDCAHKgIAIQ8CQANAIAohBiAVIRAgDyELIAFDAAAAAF1FBEAgByEGIBUhDyAMIhAhCyABQwAAoDVeRQ0CCyAGIBU4AgAgByAVIAuSQwAAAD+UIhU4AgQgECAPk0MAAKA1XUUEQCAIQShqIAIgFRCIAiAIQcQAaiAEIBUQiAIgESAIKgI0Ig4gFiAIKgIsIgGUIBcgCCoCKCIMlJMiCyALkiIYlCABIBcgCCoCMCILlCARIAGUkyINIA2SIhmUIAwgESAMlCAWIAuUkyINIA2SIhqUk5KSIQ0gASAIKgJUIAgqAjiTIhuUIAwgCCoCWCAIKgI8kyIclJMiEiASkiESIAsgHJQgASAIKgJcIAgqAkCTIhSUkyITIBOSIRMgDSAUIA4gEpQgASATlCAMIAwgFJQgCyAblJMiFCAUkiIdlJOSkiANIAWUk5QgFiAOIBmUIAsgGpQgASAYlJOSkiIUIBsgDiATlCALIB2UIAEgEpSTkpIgFCAFlJOUIBcgDiAalCAMIBiUIAsgGZSTkpIiASAcIA4gHZQgDCASlCALIBOUk5KSIAEgBZSTlJKSIA0gDSADlJQgFCAUIAOUlCABIAEgA5SUkpKTIQEgCUEBaiEJIBAhDAwBCwsgByAQOAIECyAAIAk2AgwgACAHKQIANwIAIABBCGogB0EIaigCADYCACAIQeAAaiQAC5MGAQl/AkACQAJAIAAoAggiCCABTwRAIAAgATYCCCABIAhGDQIgCCABayEFIAAoAgAgAUEMbGohAwNAIANBBGooAgAEQCADKAIAEJoCCyADQQxqIQMgBUEBayIFDQALDAELIAIoAgghBCACKAIEIQsgAigCACEKIAghBSABIAhrIgkgACgCBCAIa0sEQCAAIAggCRCLBiAAKAIIIQULIAAoAgAgBUEMbGohAwJAIAlBAkkNACAERQRAIAhBf3MgAWoiBkEDcSEHIAlBAmtBA08EQCAGQXxxIQYDQCADQoCAgIDAADcCCCADQgQ3AgAgA0EoakIANwIAIANBIGpCgICAgMAANwIAIANBGGpCBDcCACADQRBqQgA3AgAgA0EwaiEDIAZBBGsiBg0ACwsgBwRAA0AgA0EANgIIIANCBDcCACADQQxqIQMgB0EBayIHDQALCyAFIAlqQQFrIQUMAQsCQAJAIARB/////wFLDQAgBEECdCIHQQBIDQAgBSAJaiEFIAdFBEAgCEF/cyABaiIGQQNxIQcgCUECa0EDTwRAIAZBfHEhBgNAIAMgBDYCCCADIAQ2AgQgA0EENgIAIANBLGogBDYCACADQShqIAQ2AgAgA0EkakEENgIAIANBIGogBDYCACADQRxqIAQ2AgAgA0EYakEENgIAIANBFGogBDYCACADQRBqIAQ2AgAgA0EMakEENgIAIANBMGohAyAGQQRrIgYNAAsLIAcEQANAIAMgBDYCCCADIAQ2AgQgA0EENgIAIANBDGohAyAHQQFrIgcNAAsLIAVBAWshBQwDCyAFQQFrIQUgCEF/cyABaiEGA0BBkfvDAC0AABogB0EEEIIMIglFDQIgCSAKIAcQiA0hCSADIAQ2AgggAyAENgIEIAMgCTYCACADQQxqIQMgBkEBayIGDQALDAILENsKAAtBBCAHQdCBxAAoAgAiAEGXByAAGxEAAAALIAMgBDYCCCADIAs2AgQgAyAKNgIAIAAgBUEBajYCCAsgASAISw0BCyACKAIERQ0AIAIoAgAQmgILC9kFAgx/An4jAEGgAWsiAyQAIANBAEGgARCJDSEKAkACQAJAAkACQAJAAkAgACgCoAEiBCACTwRAIARBKU8NASABIAJBAnRqIQsgBEUNBiAEQQFqIQkgBEECdCEMA0AgCiAGQQJ0aiEDA0AgBiECIAMhBSABIAtGDQkgBUEEaiEDIAJBAWohBiABKAIAIQggAUEEaiINIQEgCEUNAAsgCK0hEEIAIQ8gDCEIIAIhASAAIQMDQCABQShPBEAgAUEoQcDwwwAQ4wgACyAFIA8gBTUCAHwgAzUCACAQfnwiDz4CACAPQiCIIQ8gBUEEaiEFIAFBAWohASADQQRqIQMgCEEEayIIDQALIAcgD6ciAwR/IAIgBGoiAUEoTw0HIAogAUECdGogAzYCACAJBSAECyACaiIBIAEgB0kbIQcgDSEBDAALAAsgBEEpTw0BIAJBAnQhDCACQQFqIQsgACAEQQJ0aiEOIAAhAwNAIAogCEECdGohBgNAIAghBCAGIQUgAyAORg0IIAVBBGohBiAEQQFqIQggAygCACEJIANBBGoiDSEDIAlFDQALIAmtIRBCACEPIAwhCSAEIQMgASEGA0AgA0EoTw0FIAUgDyAFNQIAfCAGNQIAIBB+fCIPPgIAIA9CIIghDyAFQQRqIQUgA0EBaiEDIAZBBGohBiAJQQRrIgkNAAsgByAPpyIGBH8gAiAEaiIDQShPDQQgCiADQQJ0aiAGNgIAIAsFIAILIARqIgMgAyAHSRshByANIQMMAAsACyAEQShBwPDDABDkCAALIARBKEHA8MMAEOQIAAsgA0EoQcDwwwAQ4wgACyADQShBwPDDABDjCAALIAFBKEHA8MMAEOMIAAsDQCABIAtGDQEgBUEBaiEFIAEoAgAhAiABQQRqIQEgAkUNACAHIAVBAWsiAiACIAdJGyEHDAALAAsgACAKQaABEIgNIAc2AqABIApBoAFqJAALjAYCEX0MfyMAQSBrIhckAAJAAkAgAUUNACAAQdQAaiEZIABBOGshGiAAQdAAaioCACEFIABBzABqKgIAIQYgACoCSCEHA0AgFSABIAEgFUkbIRggFUHUAGwiACAZaiEWIAAgGmohEwNAIBYhFCAVIBhGDQIgEyIAQfQAaiITIBMqAgAgAEHwAGoqAgAgAEHUAGoiEyoCACICIAcgApSUIABB2ABqKgIAIgIgBiAClJSSIABB3ABqKgIAIgIgBSAClJSSIABB4ABqKgIAIgIgApQgAEHkAGoqAgAiAiAClJIgAEHoAGoqAgAiAiAClJKSIgKUkiIDOAIAIABB7ABqQwAAAABDAACAPyACIAOSIgOVIgQgA0MI5TweXRsgBCADQwjlPJ5eGzgCACAUQdQAaiEWIBVBAWohFSAAQcwAaioCAEP//3//XA0AIABB0ABqKgIAQ///f39cDQALIAEgFU0NAEMAAAAAQwAAgD8gApUiAyACQwjlPB5dGyADIAJDCOU8nl4bIQNBACEAA0AgAEF/Rg0DIAMgByATKgIAIgSUIBRBHGoiFioCACIIlCAGIBNBBGoqAgAiCZQgFEEgaiIYKgIAIgqUkiAFIBNBCGoqAgAiC5QgFEEkaiIbKgIAIgyUkiATQQxqKgIAIg0gFEEoaiIcKgIAIg6UIBNBEGoqAgAiDyAUQSxqIh0qAgAiEJSSIBNBFGoqAgAiESAUQTBqIh4qAgAiEpSSkpQhAiAeIBIgESAClJM4AgAgHSAQIA8gApSTOAIAIBwgDiANIAKUkzgCACAbIAwgCyAClJM4AgAgGCAKIAkgApSTOAIAIBYgCCAEIAKUkzgCACAUQcQAaiIWIBYqAgAgAiATQShqKgIAlJM4AgAgFEFAayIWIBYqAgAgAiATQSRqKgIAlJM4AgAgFEHUAGohFCABIBUgAEEBaiIAaksNAAsMAAsACyAXQSBqJAAPCyAXQRRqQgA3AgAgF0EBNgIMIBdBtIjCADYCCCAXQZi/wAA2AhAgF0EIakHIicIAENwKAAvpBQIUfQF/IwBBEGsiGSQAAkACQAJAIAMEQCABKgIAIAAqAgAiE5MiBSAFlCABKgIEIAAqAgQiFJMiByAHlJIgASoCCCAAKgIIIhWTIgggCJSSIgxDAAAAAF4EQCAIIAwQmwEiDpUhCiAFIA6VIQ0gByAOlSELCyACKgIAIBOTIgUgBZQgAioCBCAUkyIHIAeUkiACKgIIIBWTIgggCJSSIgZDAAAAAF5FDQMgBhCbASEGIAxDAAAAAF5FDQMgA7MhEiANIAcgBpUiCZQgCyAFIAaVIg+UkyIWIBaUIAsgCCAGlSIQlCAKIAmUkyIXIBeUIAogD5QgDSAQlJMiGCAYlJKSIgVDAACAKF5FDQEgBRCbASERIAogEJQgCyAJlCANIA+UkpIiCUMAAIC/Xw0DQwAAgD8hDEMAAAAAIQVDAAAAACEHQwAAAAAhCCAJQwAAgD9gDQIgGUEIakMAAIA/IBKVIAkQ6ASUQwAAAD+UEIcBIBYgEZUgGSoCCCIFlCEIIBggEZUgBZQhByAXIBGVIAWUIQUgGSoCDCEMDAILQcCowwBBHkHgqMMAEKoKAAtDAAAAACEFQwAAAAAhB0MAAAAAIQhDAACAPyEMIAogEJQgCyAJlCANIA+UkpJDAAAAAF0NAQsgA0EBayIARQ0AIAYgDpMgEpUhECAEKAIIIQIDQCAVIBAgDpIiDiAKIAwgBSALlCAHIA2UkyIGIAaSIgaUIAUgCCANlCAFIAqUkyIJIAmSIgmUIAcgByAKlCAIIAuUkyIKIAqSIg+Uk5KSIgqUkiERIBQgDiALIAwgCZQgCCAPlCAFIAaUk5KSIguUkiESIBMgDiANIAwgD5QgByAGlCAIIAmUk5KSIg2UkiEGIAQgBCgCBCACRwR/IAIFIAQgAhCqBiAEKAIICyIBQQFqIgI2AgggBCgCACABQQxsaiIBIBE4AgggASASOAIEIAEgBjgCACAAQQFrIgANAAsLIBlBEGokAAuvBgIIfwN+IwBBQGoiAiQAAn8gASgCBCIERQRAIABBADYCBEEADAELIAEgBEEBazYCBCABKAIAIQEgAkEDNgIsIAIgATYCKCACQRBqIAJBKGoQmwMCQAJAAkACQAJAAkACQCACKAIQRQRAIAIoAhQiBEUEQEEAIAJBPGpBkIPAABDvByEBDAgLIAJBGGoiAykCACEMAkAgAigCLCIIBEAgAigCKCIBKAIEIgZBCEkNBCACQRxqKAIAIQUgAygCACEHIAEgBkEIayIJNgIEIAEgASgCACIDQQhqNgIAIAMpAAAiCkKAgICAEFQNASACQQE6ABAgAiAKNwMYIAJBEGogAkE8akG0gMAAEKkIIQEMCAtBASACQTxqQZCDwAAQ7wchAQwHCyAIQQFHBEAgCUEISQ0EIAEgBkEQazYCBCABIANBEGo2AgAgAykACCILQoCAgIAQVA0CIAJBAToAECACIAs3AxggAkEQaiACQTxqQbSAwAAQqQghAQwHC0ECIAJBPGpBkIPAABDvByEBDAYLIAIoAhQhAQwGCyALpyIBIAqnIgNsIgYgBUYNAyACQShqIgFBDGpBAjYCACACQRBqIgNBDGpCAjcCACACIAY2AjggAkECNgIUIAJBvLHAADYCECACQQI2AiwgAiAFNgI8IAIgATYCGCACIAJBPGo2AjAgAiACQThqNgIoIAJBBGoiBSADEKcEIAEgBRCLCSACQRtqIAFBCGooAgA2AAAgAiACKQIoNwATQZH7wwAtAAAaQRBBBBCCDCIBRQ0CIAFBCDoAACABIAIpABA3AAEgAUEIaiACQRdqKQAANwAAIAIoAggEQCACKAIEEJoCCyAHRQ0FIAQQmgIMBQsgAkKByoCAgAE3AxAgAkEQahDqCiEBDAMLIAJCgcqAgIABNwMQIAJBEGoQ6gohAQwCC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAsgACAENgIEIABBFGogATYCACAAQRBqIAM2AgAgAEEMaiAFNgIAIABBCGogBzYCAEEADAILIAynRQ0AIAQQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAALowYCBn8EfSMAQUBqIgMkACABQQhqIgQqAgAhCyABKgIAIQkgASoCBCEMIANBFGoiBSAEKAIANgIAIAMgC4w4AgggAyAMjDgCBCADIAmMOAIAIAMgASkCADcCDEEAIQEgA0EkaiIEIAMgAkEAEK0CIAMtADAhAiADQSBqIgYgBEEIaigCADYCACADIAMpAiQ3AxgCQAJAAkACQCADQTxqKgIAQwAAAABbIgcgBEEUaioCACIKQwAAAABbIgggAyoCNEMAAAAAW2pqIgRBAmsOAgECAAsgACADKQMYNwIAIAAgAjoADCAAIARBAEc2AhAgAEEIaiAGKAIANgIAIABBFGogAyoCHCADQRBqKgIAIAyTQwAAAD+UXUEBdCADKgIYIAMqAgwgCZNDAAAAP5RdciAGKgIAIAUqAgAgC5NDAAAAP5RdQQJ0ciIAQQJ0QQIgCCAHG3IgACAEGzYCAAwCCyAKQwAAAABcQQIgBxsiAUECdCIEIANBGGpqKgIAIQogAyAFKgIAIAuTQwAAAD+UOAIsIAMgA0EQaioCACAMk0MAAAA/lDgCKCADIAMqAgwgCZNDAAAAP5Q4AiQgCiADQSRqIARqKgIAXUUEQCAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAILIAAgAykDGDcCACAAQQI2AhAgACACOgAMIABBFGogAUEDajYCACAAQQhqIANBIGooAgA2AgAMAQsCQAJAIAMqAhgiCiADKgIMQwAAALSSXg0AQQMhASAKQwAAADQgCZNfDQBBASEBIAMqAhwiCSADQRBqKgIAQwAAALSSXg0AQQQhASAJQwAAADQgDJNfDQBBAiEBIAMqAiAiCSADQRRqKgIAQwAAALSSXg0AQQUhASAJQwAAADQgC5NfRQ0BCyAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAELIAAgAykDGDcCACAAQQM2AhAgACACOgAMIABBCGogA0EgaigCADYCAAsgA0FAayQAC64FAgl9A38jAEHQAGsiDyQAIAIqAgQiCyADKgIMIg6UIAIqAgAiDCADQRBqKgIAIg2UkyIKIAqSIQggAioCCCIKIA2UIAsgA0EUaioCACIJlJMiBiAGkiEHIA9BCGoiEEEUaiAJIAIqAgwiBiAIlCALIAeUIAwgDCAJlCAKIA6UkyIJIAmSIgmUk5KSOAIAIBBBEGogDSAGIAmUIAwgCJQgCiAHlJOSkjgCACAPIA4gBiAHlCAKIAmUIAsgCJSTkpI4AhQgCyADKgIAIAIqAhCTIg6UIAwgAyoCBCACQRRqKgIAkyINlJMiCCAIkiEIIA0gCpQgAyoCCCACQRhqKgIAkyIJIAuUkyIHIAeSIQcgDyAJIAYgCJQgCyAHlCAMIAkgDJQgDiAKlJMiCSAJkiIJlJOSkjgCECAPIA0gBiAJlCAMIAiUIAogB5STkpI4AgwgDyAOIAYgB5QgCiAJlCALIAiUk5KSOAIIIAFBCGoiAyoCACEGIAEqAgAhCCABKgIEIQcgD0EgaiIRQRRqIAMoAgA2AgAgDyAGjDgCKCAPIAeMOAIkIA8gCIw4AiAgDyABKQIANwIsIA9BOGogESAQIAQgBRC9BSAAIA8oAjgEfyAPQThqIgFBCGoqAgAhBCABQRBqKgIAIQYgD0HEAGoqAgAhCCABQRRqKAIAIQMgACAPKgI8OAIIIABBAiADayADQQFrIANBAEgbNgIEIAAgBiAMIAiUIAsgBJSTIgcgB5IiByACKgIMIg6UIAwgCiAElCAMIAaUkyINIA2SIg2UIAsgCyAGlCAKIAiUkyIGIAaSIgaUk5KSOAIUIAAgCCANIA6UIAogBpQgDCAHlJOSkjgCECAAIAQgBiAOlCALIAeUIAogDZSTkpI4AgxBAgVBBAs2AgAgD0HQAGokAAu8BQEdfSAAIAEqAggiBiAGlCIOIAEqAgwiAiAClCIZIAEqAgAiAyADlCIakyIQIAEqAgQiBCAElCIKk5IiCyADIAaUIg8gD5IiDyAEIAKUIgcgB5IiFZMiCEMAAAAAlCIJIAQgBpQiByAHkiIHIAMgApQiBSAFkiIMkiIRQwAAAACUIhKSIAtDAAAAAEMAAIA/IAFBKGoqAgAiBSAFlCIFlSAFQwAAAABbGyIFlJIiF5RDAAAAAEMAAIA/IAEqAiAiDSANlCINlSANQwAAAABbGyINIAiUIBKSIAtDAAAAAJQiCJIiEiACIASMlCITIBOSIhsgD5IiE5QgCUMAAAAAQwAAgD8gAUEkaioCACIJIAmUIgmVIAlDAAAAAFsbIgkgEZSSIAiSIhEgByACIAOMlCIIIAiSIhyTIhiUkpI4AiAgACALIAUgByAMkyIMlCADIASUIgMgA5IiCCAGIAKUIgMgA5IiBJIiFEMAAAAAlCIWIAogEJIgDpMiA0MAAAAAlCIdkpIiEJQgEyAMQwAAAACUIh4gDSAUlCAdkpIiDJQgGCAeIBYgCSADlJKSIhSUkpI4AhwgACALIAUgDyAVkiIFlCAIIASTIhVDAAAAAJQiFiAaIBmSIAqTIA6TIgRDAAAAAJQiCpKSIguUIBMgBUMAAAAAlCIFIBYgDSAElJKSIg6UIBggBSAJIBWUIAqSkiIKlJKSOAIYIAAgFyAcIAeSIgeUIBIgCCACIAaMlCICIAKSIgaTIgKUIAMgEZSSkjgCFCAAIAcgEJQgAiAMlCADIBSUkpI4AhAgACAHIAuUIAIgDpQgAyAKlJKSOAIMIAAgFyAPIBuTIgKUIAQgEpQgESAIIAaSIgaUkpI4AgggACACIBCUIAQgDJQgBiAUlJKSOAIEIAAgAiALlCAEIA6UIAYgCpSSkjgCAAugBQEUfSABKgIgIREgASoCHCESIAEqAiQhCyABKgIQIRQgASoCFCEVIAEqAhghFiACKgIQIQwgAioCGCENIAIqAhQhDiACKgIIIQogASoCCCEFIAIqAgQhAyABKgIEIQYgAioCDCEIIAEqAgwhByACKgIAIQkgASoCACEEIAAgASkCKDcCKCAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKQIANwIAIAAgByAIlCAEIAmUkyAGIAOUkyAFIAqUkyITOAIMIAAgBSAIlCAEIAOUIAcgCpSSIAYgCZSTkiIPOAIIIAAgBSAJlCAGIAiUIAcgA5QgBCAKlJOSkiIQOAIEIAAgBiAKlCAHIAmUIAQgCJSSkiAFIAOUkyIKOAIAIAAgFiANIAcgBCAOlCAGIAyUkyIDIAOSIgOUIAQgBSAMlCAEIA2UkyIIIAiSIgiUIAYgBiANlCAFIA6UkyIJIAmSIgmUk5KSkiINOAIYIAAgFSAOIAcgCJQgBSAJlCAEIAOUk5KSkiIOOAIUIAAgFCAMIAcgCZQgBiADlCAFIAiUk5KSkiIMOAIQIAAgFiALIAcgBCARlCAGIBKUkyIDIAOSIgOUIAQgBSASlCAEIAuUkyIIIAiSIgiUIAYgBiALlCAFIBGUkyIJIAmSIgmUk5KSkiANkyILIBMgECAUIBIgByAJlCAGIAOUIAUgCJSTkpKSIAyTIgaUIAogFSARIAcgCJQgBSAJlCAEIAOUk5KSkiAOkyIFlJMiBCAEkiIElCAQIA8gBZQgECALlJMiByAHkiIHlCAKIAogC5QgDyAGlJMiAyADkiIDlJOSkjgCJCAAIAUgEyADlCAKIASUIA8gB5STkpI4AiAgACAGIBMgB5QgDyADlCAQIASUk5KSOAIcC6EGAQt/IwBBgAFrIgIkACABLQBEIQogAkEgaiABEOkDAkACQAJAAkAgAigCKCACKAIsaiIGRQRAQQQhBAwBCyAGQf///z9LDQEgBkEEdCIDQQBIDQEgA0UEQEEEIQQMAQtBkfvDAC0AABogA0EEEIIMIgRFDQMLIAJBADYCCCACIAY2AgQgAiAENgIAIAEoAhAhBwJAAkACQCABQRhqKAIAIgNFBEAgAyAGSw0BDAMLIAMgBk0NAQsgAkEAIAMQnAYgAigCACEEIAIoAgghBQsgAyAFaiEIIAQgBUEEdGohCUEAIQQDQCAEIAlqIgYgBCAHaiIFKQIANwIAIAZBDGogBUEMai0AADoAACAGQQhqIAVBCGooAgA2AgAgBEEQaiEEIANBAWsiAw0ACwsgAkFAayIDQRBqIgcgAikCADcDACADQRhqIgkgCDYCACADQQhqIgggAkEoaiILKQIANwMAIAIgAikCIDcDQCABKAIcIQxBBCEEAn9BACABQSRqKAIAIgVFDQAaIAVB/////wFLDQEgBUECdCIDQQBIDQFBACADRQ0AGkGR+8MALQAAGiADQQQQggwiBEUNAyADCyEGIAQgDCAGEIgNIQMgAiABQShqENYEIAJBIGoiAUEYaiAJKAIANgIAIAFBEGogBykDADcDACALIAgpAwA3AwAgAiACKQNANwMgQZH7wwAtAAAaQcgAQQQQggwiAUUNASABIAIpAyA3AgAgASAFNgIkIAEgBTYCICABIAM2AhwgASACKQMANwIoIAFBGGogAkEgaiIDQRhqKAIANgIAIAFBEGogA0EQaikDADcCACABQQhqIANBCGopAwA3AgAgAUEwaiACQQhqKQMANwIAIAFBOGogAkEQaikDADcCACABQUBrIAJBGGooAgA2AgAgASAKOgBEIAEgAi8AQDsARSABQccAaiACQcIAai0AADoAACAAQaSuwgA2AgQgACABNgIAIAJBgAFqJAAPCxDbCgALQQRByABB0IHEACgCACIAQZcHIAAbEQAAAAtBBCADQdCBxAAoAgAiAEGXByAAGxEAAAALxQsBBn8jAEEQayIDJAACQAJAAkACQAJAAkACQAJAAkACQCABDigFCAgICAgICAgBAwgIAggICAgICAgICAgICAgICAgICAgIBggICAgHAAsgAUHcAEYNAwwHCyAAQYAEOwEKIABCADcBAiAAQdzoATsBAAwHCyAAQYAEOwEKIABCADcBAiAAQdzkATsBAAwGCyAAQYAEOwEKIABCADcBAiAAQdzcATsBAAwFCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAwECyAAQYAEOwEKIABCADcBAiAAQdzgADsBAAwDCyACQYCABHFFDQEgAEGABDsBCiAAQgA3AQIgAEHcxAA7AQAMAgsgAkGAAnFFDQAgAEGABDsBCiAAQgA3AQIgAEHczgA7AQAMAQsCQAJAAkACQCACQQFxBEAgAUELdCEHQSEhBkEhIQICQANAAkACQEF/IAZBAXYgBGoiBUECdEGk8cMAaigCAEELdCIGIAdHIAYgB0kbIgZBAUYEQCAFIQIMAQsgBkH/AXFB/wFHDQEgBUEBaiEECyACIARrIQYgAiAESw0BDAILCyAFQQFqIQQLAn8CfwJAIARBIE0EQCAEQQJ0IgVBpPHDAGooAgBBFXYhAiAEQSBHDQFB1wUhBkEfDAILIARBIUHA78MAEOMIAAsgBUGo8cMAaigCAEEVdiEGQQAgBEUNARogBEEBawtBAnRBpPHDAGooAgBB////AHELIQUCQAJAAkAgBiACQX9zakUNACABIAVrIQhB1wUgAiACQdcFTRshByAGQQFrIQVBACEEA0AgAiAHRg0CIAggBCACQajywwBqLQAAaiIESQ0BIAUgAkEBaiICRw0ACyAFIQILIAJBAXEhAgwBCyAHQdcFQdDvwwAQ4wgACyACDQELAn8CQCABQSBJDQACQAJ/QQEgAUH/AEkNABogAUGAgARJDQECQCABQYCACE8EQCABQbDHDGtB0LorSQ0EIAFBy6YMa0EFSQ0EIAFBnvQLa0HiC0kNBCABQeHXC2tBnxhJDQQgAUGinQtrQQ5JDQQgAUF+cUGe8ApGDQQgAUFgcUHgzQpHDQEMBAsgAUGc5MMAQSxB9OTDAEHEAUG45sMAQcIDELgEDAQLQQAgAUG67gprQQZJDQAaIAFBgIDEAGtB8IN0SQsMAgsgAUH66cMAQShByurDAEGfAkHp7MMAQa8CELgEDAELQQALRQ0BIAAgATYCBCAAQYABOgAADAQLIANBCGpBADoAACADQQA7AQYgA0H9ADoADyADIAFBD3FBxNrDAGotAAA6AA4gAyABQQR2QQ9xQcTawwBqLQAAOgANIAMgAUEIdkEPcUHE2sMAai0AADoADCADIAFBDHZBD3FBxNrDAGotAAA6AAsgAyABQRB2QQ9xQcTawwBqLQAAOgAKIAMgAUEUdkEPcUHE2sMAai0AADoACSABQQFyZ0ECdkECayIBQQtPDQEgA0EGaiICIAFqIgVBjPDDAC8AADsAACAFQQJqQY7wwwAtAAA6AAAgACADKQEGNwAAIABBCGogAkEIai8BADsAACAAQQo6AAsgACABOgAKDAMLIANBCGpBADoAACADQQA7AQYgA0H9ADoADyADIAFBD3FBxNrDAGotAAA6AA4gAyABQQR2QQ9xQcTawwBqLQAAOgANIAMgAUEIdkEPcUHE2sMAai0AADoADCADIAFBDHZBD3FBxNrDAGotAAA6AAsgAyABQRB2QQ9xQcTawwBqLQAAOgAKIAMgAUEUdkEPcUHE2sMAai0AADoACSABQQFyZ0ECdkECayIBQQtPDQEgA0EGaiICIAFqIgVBjPDDAC8AADsAACAFQQJqQY7wwwAtAAA6AAAgACADKQEGNwAAIABBCGogAkEIai8BADsAACAAQQo6AAsgACABOgAKDAILIAFBCkH878MAEOIIAAsgAUEKQfzvwwAQ4ggACyADQRBqJAALlwYBC38jAEGAAWsiAiQAIAEtAEQhCiACQSBqIAEQ6QNBBCEEAkACQAJAAkAgAigCKCACKAIsaiIGRQ0AIAZB5syZM0sNASAGQRRsIgNBAEgNASADRQ0AQZH7wwAtAAAaIANBBBCCDCIERQ0DCyACQQA2AgggAiAGNgIEIAIgBDYCACABKAIQIQcCQAJAAkAgAUEYaigCACIDRQRAIAMgBksNAQwDCyADIAZNDQELIAJBACADEIoGIAIoAgAhBCACKAIIIQULIAMgBWohCCAEIAVBFGxqIQlBACEEA0AgBCAJaiIGIAQgB2oiBSkCADcCACAGQRBqIAVBEGotAAA6AAAgBkEIaiAFQQhqKQIANwIAIARBFGohBCADQQFrIgMNAAsLIAJBQGsiA0EQaiIHIAIpAgA3AwAgA0EYaiIJIAg2AgAgA0EIaiIIIAJBKGoiCykCADcDACACIAIpAiA3A0AgASgCHCEMQQQhBAJ/QQAgAUEkaigCACIFRQ0AGiAFQf////8BSw0BIAVBAnQiA0EASA0BQQAgA0UNABpBkfvDAC0AABogA0EEEIIMIgRFDQMgAwshBiAEIAwgBhCIDSEDIAIgAUEoahDWBCACQSBqIgFBGGogCSgCADYCACABQRBqIAcpAwA3AwAgCyAIKQMANwMAIAIgAikDQDcDIEGR+8MALQAAGkHIAEEEEIIMIgFFDQEgASACKQMgNwIAIAEgBTYCJCABIAU2AiAgASADNgIcIAEgAikDADcCKCABQRhqIAJBIGoiA0EYaigCADYCACABQRBqIANBEGopAwA3AgAgAUEIaiADQQhqKQMANwIAIAFBMGogAkEIaikDADcCACABQThqIAJBEGopAwA3AgAgAUFAayACQRhqKAIANgIAIAEgCjoARCABIAIvAEA7AEUgAUHHAGogAkHCAGotAAA6AAAgAEHkrcIANgIEIAAgATYCACACQYABaiQADwsQ2woAC0EEQcgAQdCBxAAoAgAiAEGXByAAGxEAAAALQQQgA0HQgcQAKAIAIgBBlwcgABsRAAAAC48GARV9IAMqAgQgAkEUaioCAJMiEyACKgIIIgeUIAMqAgggAkEYaioCAJMiFCACKgIEIgqUkyIGIAaSIQ8gFCACKgIAIguUIAMqAgAgAioCEJMiBiAHlJMiCCAIkiEQIAYgAioCDCIMIA+UIAcgEJQgCiAGIAqUIBMgC5STIgYgBpIiFZSTkpIhCUMAAAAAIQggASoCCCERIAEqAgQhDSABKgIAIhaMIRcgByADQRBqKgIAIhiUIAogA0EUaioCACIZlJMiBiAGkiESIAsgGZQgByADKgIMIgaUkyIOIA6SIQ4CQAJAAkAgBiAMIBKUIAcgDpQgCiAKIAaUIAsgGJSTIgYgBpIiGpSTkpIiBkMAAAAAXARAIBYgCZNDAACAPyAGlSIIlCIGIBcgCZMgCJQiCV0hASAEIAQgCSAGIAEbIgggBCAIXRsgCCAIXBsiBEMAAAAAQwAAAAAgBiAJIAEbIgggCEMAAAAAXRsgCCAIXBsiCF1FDQEMAgtBACECIAkgF10NAiAJIBZeDQILIBMgDCAQlCALIBWUIAcgD5STkpIhCSANjCEGAkAgGCAMIA6UIAsgGpQgByASlJOSkiIHQwAAAABcBEAgDSAJk0MAAIA/IAeVIg2UIQcgByAGIAmTIA2UIgZdIQEgBCAEIAYgByABGyIJIAQgCV0bIAkgCVwbIgQgByAGIAEbIgcgByAIIAcgCF4bIAggCFwbIghdDQIMAQtBACECIAYgCV4NAiAJIA1eDQILIBQgDCAVlCAKIA+UIAsgEJSTkpIhByARjCEGAkAgGSAMIBqUIAogEpQgCyAOlJOSkiIKQwAAAABcBEAgESAHk0MAAIA/IAqVIguUIgogBiAHkyALlCILXSEBIAQgBCALIAogARsiByAEIAddGyAHIAdcGyIEIAogCyABGyIHIAcgCCAHIAheGyAIIAhcGyIIXQ0CDAELQQAhAiAGIAdeDQIgByARXg0CCyAIIAggBCAFGyAIQwAAAABcGyEGQQEhAgwBC0EAIQILIAAgBjgCBCAAIAI2AgALjAYCAX8BfSABKgIAIQMgACgCACICKAIIIQAgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgQhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggASoCCCEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABKgIMIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAEqAhAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggAUEUaioCACEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABQRhqKgIAIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAFBHGoqAgAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggASoCICEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABQSRqKgIAIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAFBKGoqAgAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggAUEsaioCACEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIgAEEEajYCCCACKAIAIABqIAM4AABBAAu2BQEUfSABQTBqKgIAIRMgAUEsaioCACEUIAFBJGoqAgAhAyABQSBqKgIAIQ4gASoCKCEVIAEqAhwhDyABKgIYIQ0gASoCFCERIAEqAhAhEiABKgIMIQUgASoCCCEIIAEqAgQhBCABKgIAIQkCfSABKgI0IAKUQwAAAD+UIgogCpQgAUE4aioCACAClEMAAAA/lCIGIAaUkiABQTxqKgIAIAKUQwAAAD+UIgcgB5SSIgtDAACAKF8EQEMAAIA/IQtDAAAAACEGQwAAAAAhB0MAAAAADAELIwBBEGsiAUMAAAB/OAIMIAEqAgwaIAsQmwEiDBDAASEQIAwQwQFDAACAP5QhCyAHIBBDAACAP5QgDJUiDJQhByAGIAyUIQYgCiAMlAshCiAAIAUgC5QgCSAKlJMgBCAGlJMgCCAHlJM4AgwgACAFIAeUIAQgCpQgCCALlJIgCSAGlJOSOAIIIAAgCSAHlCAFIAaUIAQgC5QgCCAKlJOSkjgCBCAAIAggBpQgBSAKlCAJIAuUkpIgBCAHlJM4AgAgDSANIAMgBSAJIA6UIAQgD5STIg0gDZIiDZQgCSAIIA+UIAkgA5STIgwgDJIiDJQgBCAEIAOUIAggDpSTIgMgA5IiEJSTkpKSIhaTIQMgAEEYaiATIAKUIBaSIAMgCyAKIBEgESAOIAUgDJQgCCAQlCAJIA2Uk5KSkiIOkyIJlCAGIBIgEiAPIAUgEJQgBCANlCAIIAyUk5KSkiIPkyIIlJMiBCAEkiIElCAKIAcgCJQgCiADlJMiBSAFkiIFlCAGIAYgA5QgByAJlJMiAyADkiIDlJOSkpI4AgAgAEEUaiAUIAKUIA6SIAkgCyAFlCAHIAOUIAogBJSTkpKSOAIAIAAgFSAClCAPkiAIIAsgA5QgBiAElCAHIAWUk5KSkjgCEAuhBQERfQJAAkAgAioCACABKgIAIgWTIgggAyoCBCABKgIEIgaTIg2UIAIqAgQgBpMiCyADKgIAIAWTIg6UkyIHIARBFGoqAgAiD5QgBCoCDCIQIAsgAyoCCCABKgIIIgmTIhOUIAIqAgggCZMiEiANlJMiDJQgBEEQaioCACIUIBIgDpQgCCATlJMiCpSSkiIRQwAAAABcBEAgDCAEKgIAIAWTIgWUIAogBCoCBCAGkyIGlJIgByAEKgIIIAmTIhWUkiEJIBFDAAAAAF0gCUMAAAAAXXENAgJAIBFDAAAAAF5FDQAgCUMAAAAAXkUNAAwDCyANIA8gBZQgECAVlJOMIg2UIA4gFCAVlCAPIAaUkyIOlJMgEyAQIAaUIBQgBZSTIg+UkyEFIBGLIQYCQAJAIAlDAAAAAF1FBEAgBUMAAAAAXQ0FIAUgBl4NBSALIA2UIAggDpSTIBIgD5STIghDAAAAAF4NBSAFIAiTIAZeDQVDAACAPyAGlSILIAiMlCEGIAsgBZQhBSALIAmUIQkgByAHIAeUIAwgDJQgCiAKlJKSEJsBIgeVIQggCiAHlSEKIAwgB5UhBwwECyAFQwAAAABeDQQgBYwiECAGXg0EIAsgDZQgCCAOlJMgEiAPlJMiCEMAAAAAXQ0BIAggBZMgBl4NAUMAAIA/IAaVIgsgCJQhBiALIBCUIQUgCyAJjJQhCSAHjCAHIAeUIAwgDJQgCiAKlJKSEJsBIgeVIQggCowgB5UhCiAMjCAHlSEHDAMLAAsMAgsMAQsgACAGOAIgIAAgBTgCHCAAIAg4AhQgACAKOAIQIAAgBzgCDCAAIAk4AgggACARQwAAAABdRTYCBCAAQQI2AgAgACAFjCAGk0MAAIA/kjgCGA8LIABBBDYCAAvKBgIJfwd9AkACQAJAAkAgBygCDCILIAEoAoQCIg1BAXQiECAGKAIAIgxqTwRAIAIoAowDIAUgDGpqIREgACoCGCEVIAAqAgQhFiAAKgIUIRcgAyoCBCEUIAMqAgAhGCAHKAIAIQAgEARAIAAgDEECdGoiAyAQQQJ0aiECIBAhDCADIQADQAJAIAtBAnQiEiADaiITIAAgACACRiIOGyIPRQ0AIA9BADYCACAPQQRqIg8gACASaiACIA4bIgJGIQAgEyADIA4bIgMgEmoiEyAPIAAbIg5FDQAgDkEANgIAIA8gEmogAiAAGyECIBMgAyAAGyEDIA4gDEECR0ECdGohACAMQQJrIgwNAQsLIAcoAgwhCyAHKAIAIQALIAtBAUYgEUEAR3ENASARQQAgC0EBRxsiAiALTw0BIAAgAkECdGpBgICA/AM2AgAgC0EBRiANIBFqIgJBAEdxDQIgAkEAIAtBAUcbIgIgC08NAiAAIAJBAnRqIgNBgICA/AM2AgAgBigCACICIA1qIgcgDWogC0sNAyABQdwAaiAAIAdBAnRqIA0QxQEgCigCACIAIAlJDQQgACAJQbi/wQAQ4wgAC0Gm/sAAQR1BsP/AABC7CwALQcCFwQBBG0GYv8EAELsLAAtBwIXBAEEbQai/wQAQuwsAC0Gm/sAAQR1BsP/AABC7CwALIAogAEEBajYCACAGIAIgEGo2AgAgCCAAQThsaiIAQQA2AjQgAEEANgIsIABD//9/f0MAAAAAIAQgFF4bOAIgIABD//9//0MAAACAIAQgGF0bOAIcIABC/////w83AhQgACACNgIQIAAgDTYCDCAAIAEoAogCNgIIIAAgBTYCBCAAQQE2AgAgAEMAAAAAQwAAgD8gAyoCACIZlSIaIBlDCOU8Hl8bIBogGUMI5TyeYBs4AiQgAEMAAAAAQwAAAAAgBCAUkyIUIBRDAAAAAF0bIBQgFFwbQwAAAABDAAAAACAYIASTIgQgBEMAAAAAXRsgBCAEXBuTIBdDAAAAAEMAAIA/IBaVIBZDAAAAAFsblJRDAAAAAJI4AiggAEMAAIA/IBeVQwAAgL+SIgQgBJQgFSAVIARDAACAP5JDAACAQJSUlJU4AjAL5gUCEH8LfSMAQcABayIEJAAgAioCCCEYIAIqAgQhGSACKgIAIRogBEEQaiIDIAFBAEEAEKkCIARCADcCZCAEIAE2AmAgBCgCEEEBRiEBIARBpQFqIQkgBEE8aiELIANBBHIhBUP//39/IRsgGiEUIBkhHCAYIR0DQAJAIARBmAFqIgNBIGoiDCAFQSBqIg0oAgA2AgAgA0EYaiIOIAVBGGoiDykCADcDACADQRBqIhAgBUEQaiIRKQIANwMAIANBCGoiEiAFQQhqIhMpAgA3AwAgBEEANgIQIAQgBSkCADcDmAECQCABQQFxDQAgBCgCaCEGIAQoAmQhASAEKAJgIQcDQCAEKAI4IQggBEEANgI4IAhBAUYEQCALIQMMAgsgBCABQQFqIgE2AmQgB0EMaigCAEEBayABTQRAIAYgB0EQaigCAEECa08NAyAEQQA2AmQgBCAGQQFqIgY2AmhBACEBCyAEQRBqIAcgASAGEKkCIBIgEykCADcDACAQIBEpAgA3AwAgDiAPKQIANwMAIAwgDSgCADYCACAEKAIQIQggBEEANgIQIAQgBSkCADcDmAEgCEEBRw0ACwsgBEHwAGoiAUEgaiADQSBqKAIANgIAIAFBGGogA0EYaikCADcDACABQRBqIANBEGopAgA3AwAgAUEIaiADQQhqKQIANwMAIAQgAykCADcDcCAEQZgBaiABIAJBABBNIARBlgFqIgEgCUECai0AADoAACAEIAkvAAA7AZQBIBsgBCoCmAEiHiAakyIVIBWUIAQqApwBIhUgGZMiFiAWlJIgBCoCoAEiFiAYkyIXIBeUkiIXXgRAIAQtAKQBIQogBEEOaiABLQAAOgAAIAQgBC8BlAE7AQwgFSEcIBYhHSAXIRsgHiEUC0EAIQEMAQsLIAAgCjoADCAAIB04AgggACAcOAIEIAAgFDgCACAAIAQvAAw7AA0gAEEPaiAEQQ5qLQAAOgAAIARBwAFqJAAL+QQBJ30gAkEUaioCACESIANBFGoqAgAhEyACKgIQIRQgAyoCECEVIABBFGogAkEYaioCACIQIAEqAgAiCCACKgIAIgYgAioCCCIHlCIEIASSIhkgAioCBCINIAIqAgwiDpQiBCAEkiIak4uUIAEqAgQiBCANIAeUIgUgBZIiGyAGIA6UIgUgBZIiHJKLlJIgASoCCCIFIAcgB5QiFiAOIA6UIh0gBiAGlCIekyIfIA0gDZQiF5OSi5SSIhGSIiAgA0EYaioCACIhIAggAyoCACIJIAMqAggiCpQiCyALkiIiIAMqAgQiCyADKgIMIg+UIgwgDJIiI5OLlCAEIAsgCpQiDCAMkiIkIAkgD5QiDCAMkiIlkouUkiAFIAogCpQiDCAPIA+UIiYgCSAJlCInkyIoIAsgC5QiGJOSi5SSIimSIiogICAqYBs4AgAgACAQIBGTIhAgISApkyIRIBAgEV8bOAIIIABBEGogEiAFIBsgHJOLlCAIIAYgDZQiBiAGkiIGIAcgDpQiByAHkiIHkouUIAQgFyAfkiAWk4uUkpIiDZIiDiATIAUgJCAlk4uUIAggCSALlCIJIAmSIgkgCiAPlCIKIAqSIgqSi5QgBCAYICiSIAyTi5SSkiILkiIPIA4gD2AbOAIAIAAgFCAFIBkgGpKLlCAEIAYgB5OLlCAIIB4gHZIgF5MgFpOLlJKSIgaSIgcgFSAFICIgI5KLlCAEIAkgCpOLlCAIICcgJpIgGJMgDJOLlJKSIgiSIgQgBCAHXxs4AgwgACASIA2TIgQgEyALkyIFIAQgBV8bOAIEIAAgFCAGkyIEIBUgCJMiCCAEIAhfGzgCAAvgBQEHfwJ/IAFFBEAgACgCHCEIQS0hCiAFQQFqDAELQStBgIDEACAAKAIcIghBAXEiARshCiABIAVqCyEGAkAgCEEEcUUEQEEAIQIMAQsCQCADQRBPBEAgAiADENgBIQEMAQsgA0UEQEEAIQEMAQsgA0EDcSEJAkAgA0EESQRAQQAhAQwBCyADQXxxIQxBACEBA0AgASACIAdqIgssAABBv39KaiALQQFqLAAAQb9/SmogC0ECaiwAAEG/f0pqIAtBA2osAABBv39KaiEBIAwgB0EEaiIHRw0ACwsgCUUNACACIAdqIQcDQCABIAcsAABBv39KaiEBIAdBAWohByAJQQFrIgkNAAsLIAEgBmohBgsCQAJAIAAoAgBFBEBBASEBIAAoAhQiBiAAKAIYIgAgCiACIAMQyAoNAQwCCyAGIAAoAgQiB08EQEEBIQEgACgCFCIGIAAoAhgiACAKIAIgAxDICg0BDAILIAhBCHEEQCAAKAIQIQsgAEEwNgIQIAAtACAhDEEBIQEgAEEBOgAgIAAoAhQiCCAAKAIYIgkgCiACIAMQyAoNASAHIAZrQQFqIQECQANAIAFBAWsiAUUNASAIQTAgCSgCEBEDAEUNAAtBAQ8LQQEhASAIIAQgBSAJKAIMEQUADQEgACAMOgAgIAAgCzYCEEEAIQEMAQsgByAGayEGAkACQAJAIAAtACAiAUEBaw4DAAEAAgsgBiEBQQAhBgwBCyAGQQF2IQEgBkEBakEBdiEGCyABQQFqIQEgAEEYaigCACEHIAAoAhAhCCAAKAIUIQACQANAIAFBAWsiAUUNASAAIAggBygCEBEDAEUNAAtBAQ8LQQEhASAAIAcgCiACIAMQyAoNACAAIAQgBSAHKAIMEQUADQBBACEBA0AgASAGRgRAQQAPCyABQQFqIQEgACAIIAcoAhARAwBFDQALIAFBAWsgBkkPCyABDwsgBiAEIAUgACgCDBEFAAuIBgIKfwF9IwBBIGsiAiQAAn8gASgCBCIDRQRAIABBADYCBEEADAELIAEgA0EBazYCBAJAAn8CQAJAIAEoAgAiBSgCBCIDQQRPBEAgBSADQQRrIgE2AgQgBSAFKAIAIgRBBGo2AgACQCABQQRPBEAgBCgAACEKIAUgA0EIayIBNgIEIAUgBEEIajYCACABQQdNBEAgAkKByoCAgAE3AwggAkEIahDqCiEBDAcLIAQoAAQhCyAFIANBEGsiCDYCBCAFIARBEGoiCTYCACACQRhqIAQpAAgQ0gUgAigCHCEBIAIoAhgNBgJAQYCACCABIAFBgIAITxsiA0UEQEEEIQYMAQtBkfvDAC0AABogA0EDdCIEQQQQggwiBkUNBAsgAkEANgIQIAIgAzYCDCACIAY2AgggAQRAA0AgCEEESQ0GIAUgCEEEayIENgIEIAUgCUEEaiIDNgIAIARBBEkEQCACQoHKgIDAADcDGCACQRhqEOoKDAgLIAkqAAAhDCAFIARBBGsiCDYCBCAFIANBBGoiCTYCACADKAAAIQQgAigCDCAHRgRAIAJBCGogBxCrBiACKAIIIQYgAigCECEHCyAGIAdBA3RqIgMgBDYCBCADIAw4AgAgAiAHQQFqIgc2AhAgAUEBayIBDQALIAIoAgghBiACKAIMIQMLIAYNASADIQEMBgsgAkEAOgALIAJBJTsACSACQQQ2AgwgAkEBOgAIIAJBCGoQ6gohAQwFCyAAIAY2AgQgAEEgaiALNgIAIABBHGogCjYCACAAQRhqQQA2AgAgAEEQakIENwIAIABBDGogBzYCACAAQQhqIAM2AgBBAAwFCyACQQA6AAsgAkElOwAJIAJBBDYCDCACQQE6AAggAkEIahDqCiEBDAMLQQQgBEHQgcQAKAIAIgBBlwcgABsRAAAACyACQQA6ABsgAkElOwAZIAJBBDYCHCACQQE6ABggAkEYahDqCgshASACKAIMRQ0AIAIoAggQmgILIAAgATYCBEEBCyEBIAAgATYCACACQSBqJAALoQkCD30CfyMAQeAAayITJAAgE0EIaiIUQSBqIANBIGooAgA2AgAgFEEYaiADQRhqKQIANwMAIBRBEGogA0EQaikCADcDACAUQQhqIANBCGopAgA3AwAgEyADKQIANwMIIBNBLGogFBA8AkACQAJAIBMoAjgOAwACAQILQcuPwgBBK0GYlsIAEKoKAAtBy4/CAEErQYiWwgAQqgoACyATKgI0IQogEyoCMCEIIBMqAiwhCwJAIBNBLGoiA0EoaioCACIGIBNBQGsqAgAiDCADQSRqKgIAIgSUIANBGGoqAgAiDSADQSBqKgIAIgmUk5QgA0EQaioCACISIAkgE0HcAGoqAgAiB5QgBCATQdgAaioCACIFlJOUIBNByABqKgIAIg4gDCAHlCANIAWUk5STkkMAAAAAXUUEQCAFIQ8gBiEQIAQhESAJIQUgDiEGIAchBCAIIQkgCiEIDAELIAkhDyAOIRAgByERIAohCQsgEyAEOAJMIBMgDzgCSCATIBA4AkQgEyAROAJAIBMgBTgCPCATIAY4AjggEyANOAI0IBMgDDgCMCATIBI4AiwgE0EIaiEUAkACQCATQSxqIgMqAgAiBCADKgIQIgWSIAMqAiAiBpIiB0MAAAAAXkUEQCAEIAVeIAQgBl5xDQEgBSAGXkUEQCAGQwAAgD+SIASTIAWTEJsBIgQgBJIhBCADKgIcIAMqAhSSIASVIQUgAyoCBCADKgIMkyAElSEGIAMqAhggAyoCCJIgBJUhByAEQwAAgD6UIQQMAwsgBUMAAIA/kiAEkyAGkxCbASIEIASSIQUgAyoCHCADKgIUkiAFlSEEIAMqAhggAyoCCJMgBZUhBiADKgIMIAMqAgSSIAWVIQcgBUMAAIA+lCEFDAILIAdDAACAP5IQmwEiBCAEkiEGIAMqAgQgAyoCDJMgBpUhBCADKgIUIAMqAhyTIAaVIQcgAyoCGCADKgIIkyAGlSEFIAZDAACAPpQhBgwBCyAEQwAAgD+SIAWTIAaTEJsBIgQgBJIhByADKgIYIAMqAgiSIAeVIQQgAyoCFCADKgIckyAHlSEGIAMqAgwgAyoCBJIgB5UhBSAHQwAAgD6UIQcLIBQgBjgCDCAUIAQ4AgggFCAFOAIEIBQgBzgCACATKgIIIgUgBZQgFEEIaiIDKgIAIgYgBpSSIBMqAgwiByAHlCATKgIUIgogCpSSkhCbASEEIAMgBiAElTgCACATIAcgBJU4AgwgEyAFIASVOAIIIAAgEykCCDcCACATIAogBJU4AhQgAEEIaiADKQIANwIAQwAAAAAgCyALQwAAADRdGxCbASEEQwAAAAAgCSAJQwAAADRdGxCbASEFQwAAAAAgCCAIQwAAADRdGxCbASEIIABDAAAAAEMAAIA/IASVIARDAAAAAFsbOAIgIABDAAAAAEMAAIA/IAKVIAJDAAAAAFsbOAIcIABBGGogAUEIaigCADYCACAAIAEpAgA3AhAgAEEkakMAAAAAQwAAgD8gBZUgBUMAAAAAWxs4AgAgAEEoakMAAAAAQwAAgD8gCJUgCEMAAAAAWxs4AgAgE0HgAGokAAuABgIHfwd9IwBBEGsiAyQAAkAgASgCBCICRQRAIABBADYCAAwBCyABIAJBAWs2AgQCfwJAIAEoAgAiASgCBCIEQQNNDQAgASgCACECIAEgBEEEayIHNgIEIAEgAkEEajYCAAJAIAdBA00NACACKAAAIQcgASAEQQhrIgU2AgQgASACQQhqNgIAAkAgBUEDTQ0AIAIqAAQhCSABIARBDGsiBTYCBCABIAJBDGo2AgACQCAFQQNNDQAgAioACCEKIAEgBEEQayIFNgIEIAEgAkEQajYCACAFQQRJDQMgAioADCELIAEgBEEUayIFNgIEIAEgAkEUajYCACAFQQRJDQIgAigAECEFIAEgBEEYayIGNgIEIAEgAkEYajYCACAGQQRJDQEgAioAFCEMIAEgBEEcayIGNgIEIAEgAkEcajYCACAGQQRJDQAgAioAGCENIAEgBEEgayIGNgIEIAEgAkEgajYCACAGQQRJDQMgAioAHCEOIAEgBEEkayIGNgIEIAEgAkEkajYCACAGQQRJDQIgAigAICEGIAEgBEEoayIINgIEIAEgAkEoajYCACAIQQRJDQEgAioAJCEPIAEgBEEsayIINgIEIAEgAkEsajYCACAIQQRJDQAgACACKgAoOAIsIAAgDzgCKCAAIAY2AiQgACAOOAIgIAAgDTgCHCAAIAw4AhggACAFNgIUIAAgCzgCECAAIAo4AgwgACAJOAIIIAAgBzYCBCAAQQE2AgAgASAEQTBrNgIEIAEgAkEwajYCACAAIAIqACw4AjAMBQsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAgsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAQsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goLIQEgAEECNgIAIAAgATYCBAsgA0EQaiQAC5cFAgp9CH8gAioCCCEJIAIqAgAhCiACKgIEIQsgAioCDCEMIAEoAgAhDwJAAkACQAJAAkAgASgCCCIQDgIBBAALIAkgAyoCBCIGlCALIAMqAggiCJSTIgQgBJIhBCAKIAiUIAkgAyoCACIHlJMiBSAFkiEFIAcgDCAElCAJIAWUIAsgCyAHlCAKIAaUkyIHIAeSIg2Uk5KSIgcgDyoCAJQgBiAMIAWUIAogDZQgCSAElJOSkiIGIA8qAgSUkiAIIAwgDZQgCyAElCAKIAWUk5KSIgUgDyoCCJSSIQRBASEDIBBBAWsiDkEBcSETIBBBAkcNAUEAIQ4MAgtBAEEAQbStwwAQ4wgACyAPQRBqIQEgDkF+cSEUQQAhDgNAIAcgAUEEayoCAJQgBiABKgIAlJIgBSABQQRqKgIAlJIiCCAEXiERIAcgAUEIaioCAJQgBiABQQxqKgIAlJIgBSABQRBqKgIAlJIiDSAIIAQgERsiBF4hEiANIAQgEhshBCADQQFqIhUgAyAOIBEbIBIbIQ4gA0ECaiEDIAFBGGohASAUIBVHDQALCyATRQ0AIAMgDiAHIA8gA0EMbGoiASoCAJQgBiABKgIElJIgBSABKgIIlJIgBF4bIQ4LIA4gEE8EQCAOIBBBgPfCABDjCAALIAAgAkEYaioCACAPIA5BDGxqIgEqAggiBCAMIAogASoCBCIFlCALIAEqAgAiB5STIgYgBpIiBpQgCiAJIAeUIAogBJSTIgggCJIiCJQgCyALIASUIAkgBZSTIgQgBJIiBJSTkpKSOAIIIAAgAkEUaioCACAFIAwgCJQgCSAElCAKIAaUk5KSkjgCBCAAIAIqAhAgByAMIASUIAsgBpQgCSAIlJOSkpI4AgALqwUCBH8JfSMAQUBqIgYkACAGQQhqIgdBCGoiCCABQRhqKAIANgIAIAYgASkCEDcDCCAGQShqIgkgAiAHIAMoAjARAQAgBkEgaiIHIAlBCGopAgA3AwAgBiAGKQIoNwMYAkACQAJAIAYqAhggBioCCJMiDCAMlCAGKgIcIAYqAgyTIgogCpSSIAcqAgAgCCoCAJMiCyALlJIiDUMAAIAoXgRAIAsgDRCbASINlSELIAogDZUhCiAMIA2VIQwgBi0AJA0BIA0gBJMhDSALjCELIAqMIQogDIwhDAwDCyAGQShqIAIgBigCOCAGQTxqKAIAIAZBGGogAygCtAERBwAgBIwhDSAGKAIoRQRAIAYqAhgiDCAMlCAGKgIcIgogCpSSIAYqAiAiCyALlJIiDkMAAIAoXkUNAiALIA4QmwEiDpUhCyAKIA6VIQogDCAOlSEMDAMLIAYqAjQhCyAGKgIwIQogBioCLCEMDAILIA2MIASTIQ0MAQtDAACAPyEKQwAAAAAhC0MAAAAAIQwLIAAgBSANYAR/IAAgBikDGDcCBCAAQTRqIA04AgAgAEEkaiALOAIAIABBIGogCjgCACAAQRxqIAw4AgAgAEEMaiAGQSBqKAIANgIAIABBMGogASoCDCIRIAogASoCACIFlCAMIAEqAgQiDZSTIg4gDpIiEpQgDSALIA2UIAogASoCCCIOlJMiDyAPkiIPlCAFIAwgDpQgCyAFlJMiECAQkiIQlJOSIAuTIgs4AgAgAEEsaiARIBCUIAUgEpQgDiAPlJOSIAqTIgU4AgAgAEEoaiARIA+UIA4gEJQgDSASlJOSIAyTIgo4AgAgAEEYaiALIASUOAIAIABBFGogBSAElDgCACAAQRBqIAogBJQ4AgBBAQVBAAs2AgAgBkFAayQAC7gFAgZ9B38jAEEgayIJJAACQCABKAIIIgoEQCABKAIAIgggCkEMbCINaiEOIAgqAghEAAAAAAAA8D8gCrijtiIClCEEIAgqAgQgApQhBSAIKgIAIAKUIQYCQCAKQQFGDQAgCEEMaiEKAkAgDUEYayIMQQxuQQFxBEAgCiELIAghCgwBCyAIQRhqIQsgBiAIKgIMIAKUkiEGIAQgCEEUaioCACAClJIhBCAFIAhBEGoqAgAgApSSIQULIAxBDEkNAANAIAYgCyoCACAClJIgC0EMaiIMKgIAIAKUkiEGIAQgCkEUaioCACAClJIgC0EUaioCACAClJIhBCAFIApBEGoqAgAgApSSIAtBEGoqAgAgApSSIQUgDCEKIA4gC0EYaiILRw0ACwsCQCANQQxrIgpBDG5BAXEEQEMAAAAAIQIMAQsgBiAIKgIAkyICIAKUIAUgCCoCBJMiAiAClJIgBCAIKgIIkyICIAKUkiICQwAAAAAgAkMAAAAAXhshAiAIQQxqIQgLIApBDE8EQANAIAYgCEEMaioCAJMiAyADlCAFIAhBEGoqAgCTIgMgA5SSIAQgCEEUaioCAJMiAyADlJIiAyAGIAgqAgCTIgcgB5QgBSAIQQRqKgIAkyIHIAeUkiAEIAhBCGoqAgCTIgcgB5SSIgcgAiACIAddGyICIAIgA10bIQIgDiAIQRhqIghHDQALCyACEJsBIQIgASoCYCIDQwAAAABgRQ0BIAAgBDgCCCAAIAU4AgQgACAGOAIAIAAgAiADkjgCDCAJQSBqJAAPCyAJQRRqQgA3AgAgCUEBNgIMIAlBuKrDADYCCCAJQbSKwgA2AhAgCUEIakGoq8MAENwKAAsgCUEUakIANwIAIAlBATYCDCAJQeSXwgA2AgggCUG0isIANgIQIAlBCGpBwK7DABDcCgALggQBA38gACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQSBqKAIABEAgACgCHBCaAgsgAEEwaigCAARAIAAoAiwQmgILIAAoAjwhAiAAQcQAaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABBQGsoAgAEQCACEJoCCyAAQcwAaigCAARAIAAoAkgQmgILIABB4ABqKAIABEAgACgCXBCaAgsgAEH0AGooAgAEQCAAQfAAaigCABCaAgsgAEGIAWooAgAEQCAAKAKEARCaAgsgAEGcAWooAgAEQCAAKAKYARCaAgsgAEGwAWooAgAEQCAAQawBaigCABCaAgsgAEHEAWooAgAEQCAAKALAARCaAgsgAEHQAWooAgAEQCAAQcwBaigCABCaAgsgACgC3AEhAiAAQeQBaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABB4AFqKAIABEAgAhCaAgsgACgC6AEhAiAAQfABaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABB7AFqKAIABEAgAhCaAgsgAEH4AWooAgAEQCAAKAL0ARCaAgsL3gUBFX0gAioCBCABQRRqKgIAkyIMIAEqAggiBZQgAioCCCABQRhqKgIAkyITIAEqAgQiB5STIgQgBJIhECATIAEqAgAiCJQgAioCACABKgIQkyIEIAWUkyIJIAmSIREgBCABKgIMIgkgEJQgBSARlCAHIAQgB5QgDCAIlJMiBCAEkiIUlJOSkiEGQwAAAAAhBCAAKgIIIRIgACoCBCELIAAqAgAiDYwhFSAFIAJBEGoqAgAiFpQgByACQRRqKgIAIheUkyIOIA6SIQ4gCCAXlCAFIAIqAgwiCpSTIg8gD5IhDwJAAkAgCiAJIA6UIAUgD5QgByAHIAqUIAggFpSTIgogCpIiCpSTkpIiGEMAAAAAXARAQQAhASANIAaTQwAAgD8gGJUiBJQiDSAVIAaTIASUIgZdIQAgAyADIAYgDSAAGyIEIAMgBF0bIAQgBFwbIgNDAAAAAEMAAAAAIA0gBiAAGyIEIARDAAAAAF0bIAQgBFwbIgRdRQ0BDAILQQAhASAGIBVdDQEgBiANXg0BCyAMIAkgEZQgCCAUlCAFIBCUk5KSIQYgC4whDAJAIBYgCSAPlCAIIAqUIAUgDpSTkpIiBUMAAAAAXARAIAsgBpNDAACAPyAFlSIFlCILIAwgBpMgBZQiBl0hACADIAMgBiALIAAbIgUgAyAFXRsgBSAFXBsiAyALIAYgABsiBSAFIAQgBCAFXRsgBCAEXBsiBF1FDQEMAgsgBiAMXQ0BIAYgC14NAQsgEyAJIBSUIAcgEJQgCCARlJOSkiEFIBKMIQYCQCAXIAkgCpQgByAOlCAIIA+Uk5KSIgdDAAAAAFwEQCASIAWTQwAAgD8gB5UiCJQiByAGIAWTIAiUIgVdIQAgByAFIAAbIgggCCAEIAQgCF0bIAQgBFwbIAMgAyAFIAcgABsiBCADIARdGyAEIARcG15FDQEMAgsgBSAGXQ0BIAUgEl4NAQtBASEBCyABC9UFAgl/BH4jAEEQayIDJAAgAAJ/AkACQAJAIAEoAgQiBEEESQ0AIAEoAgAhAiABIARBBGsiBzYCBCABIAJBBGo2AgAgB0EESQ0AIAIoAAAhByABIARBCGsiBTYCBCABIAJBCGo2AgAgBUEESQ0AIAI1AAQhCyABIARBDGsiBTYCBCABIAJBDGo2AgAgBUEESQ0BIAI1AAghDCABIARBEGsiBTYCBCABIAJBEGo2AgAgBUEESQ0CIAIoAAwhBSABIARBFGsiCDYCBCABIAJBFGo2AgAgCEEESQ0CIAIoABAhCCABIARBGGsiBjYCBCABIAJBGGo2AgAgBkEESQ0CIAI1ABQhDSABIARBHGsiBjYCBCABIAJBHGo2AgACQCAGQQRJDQAgAjUAGCEOIAEgBEEgayIGNgIEIAEgAkEgajYCACAGQQRJDQAgAigAHCEGIAEgBEEkayIJNgIEIAEgAkEkajYCACAJQQRJDQAgAigAICEJIAEgBEEoayIKNgIEIAEgAkEoajYCACAKQQRJDQAgAigAJCEKIAAgBjYCBCABIARBLGs2AgQgASACQSxqNgIAIABBKGogDkIghiANhDcCACAAQSRqIAg2AgAgAEEgaiAFNgIAIABBGGogDEIghiALhDcCACAAQRRqIAc2AgAgAEEQaiACKAAoNgIAIABBDGogCjYCACAAQQhqIAk2AgBBAAwECyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQEMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIAAgA0EIahDqCjYCBEEBDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCAAIANBCGoQ6go2AgRBAQwBCyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQELNgIAIANBEGokAAugBQIRfQV/AkACQCAAKAIIIhUEQCABKAIIIhZFDQEgACgCACIAIBVBA3RqIRcgA0EYaioCACENIANBFGoqAgAhDiADKgIQIQ8gAyoCDCEKIAMqAgAhByADKgIIIQggAyoCBCEJIAEoAhAhGANAIAAoAgAiFSAYTw0CIBYgFUGoAWxqIgEoAgBFDQIgAEEEaigCACIZIAEoAgRHDQIgASgCCEUNAyABQShqKgIAIgsgB5QgAUEkaioCACIMIAmUkyIEIASSIQQgDCAIlCABQSxqKgIAIgUgB5STIgYgBpIhBiANIAUgCiAElCAHIAaUIAkgBSAJlCALIAiUkyIFIAWSIgWUk5KSkiEQIA4gCyAKIAaUIAggBZQgByAElJOSkpIhESAPIAwgCiAFlCAJIASUIAggBpSTkpKSIQUgAUEgaioCACIEIAiUIAFBGGoqAgAiBiAHlCABQRxqKgIAIgsgCpSSIAFBFGoqAgAiDCAJlJOSIRIgDCAIlCAEIAmUIAYgCpQgCyAHlJOSkiETIAsgCZQgBCAHlCAMIAqUkpIgBiAIlJMhFCAEIAqUIAwgB5STIAYgCZSTIAsgCJSTIQQgAUH4AGooAgAiA0EBcUUEQCACKAIIIgMgAigCBEYEQCACIAMQqwYgAigCCCEDCyACIANBAWo2AgggAigCACADQQN0aiIDIBk2AgQgAyAVNgIAIAEoAnghAwsgAUGUAWogEDgCACABQZABaiAROAIAIAFBjAFqIAU4AgAgAUGIAWogBDgCACABQYQBaiASOAIAIAFBgAFqIBM4AgAgAUH8AGogFDgCACABIANBCHI2AnggFyAAQQhqIgBHDQALCw8LQeybwQBBE0GMhMIAEOEJAAtB9MLAAEErQfTAwQAQqgoAC7UHAQx/IwBBMGsiByQAIAFBEGooAgAiBkEBdCEKIAEoAgQhDCABKAIAIQ0CQCAGIAFBDGooAgAiBCAGayIDTQ0AAkAgBiAGaiAGSQ0AIAZB0AJsIQUgCkGxmIwGSUEDdCEIAkAgBEUEQCAHQQA2AhwMAQsgB0EINgIcIAcgBEGoAWw2AiAgByABKAIINgIYCyAHQQxqIAggBSAHQRhqENoGIAcoAhAhBCAHKAIMRQRAIAEgCjYCDCABIAQ2AgggBiEDDAILIARBgYCAgHhGDQEgBEUNACAEIAdBFGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAGIQQgAyAKIAZrIgNBACADIApNGyIFSQRAIAFBCGohBCMAQSBrIgMkAAJAAkAgBSAGaiIFIAZJDQBBBCAEKAIEIghBAXQiCSAFIAUgCUkbIgUgBUEETRsiCUGoAWwhBSAJQbGYjAZJQQN0IQsCQCAIRQRAIANBADYCGAwBCyADQQg2AhggAyAIQagBbDYCHCADIAQoAgA2AhQLIANBCGogCyAFIANBFGoQ2gYgAygCDCEFIAMoAghFBEAgBCAJNgIEIAQgBTYCAAwCCyAFQYGAgIB4Rg0BIAVFDQAgBSADQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgA0EgaiQAIAEoAhAhBAsgASgCCCEJAkAgBkEATA0AIApBAWshCwJAIAZBAXFFBEAgBiEFDAELIAkgBEGoAWxqIgMgDCAGQQFqIgUgBiALRiIIGzYCCCADIA1BASAIGzYCBCADQQA2AgAgBEEBaiEECyAGQQFGDQAgBSAKa0EBaiEIIAkgBEGoAWxqIQMDQCADQQA2AgAgA0GoAWpBADYCACADQQRqQQEgDSAIGzYCACADQQhqIAVBAWoiDiAMIAgbNgIAIANBsAFqIAwgBUECaiIFIAsgDkYiDhs2AgAgA0GsAWogDUEBIA4bNgIAIAhBAmohCCADQdACaiEDIARBAmohBCAFIApHDQALCyABIAQ2AhACQCAEIAZLBEAgCSAGQagBbGoiAygCAA0BIANBATYCACABIAMpAgQ3AgAgAyABKAIUIgQ2AgQgASABKAIYQQFqNgIYIANBCGogAkGgARCIDRogACAENgIEIAAgBjYCACAHQTBqJAAPCyAGIARBvJ7AABDjCAALIAdBJGpCADcCACAHQQE2AhwgB0HgnsAANgIYIAdBgIDAADYCICAHQRhqQeiewAAQ3AoAC9MFAQx/IwBBMGsiBiQAIAFBEGooAgAiBEEBdCEJIAEoAgQhCiABKAIAIQsCQCAEIAFBDGooAgAiBSAEayIDTQ0AAkAgBCAEaiAESQ0AIARBqARsIQcgCUGC89oDSUECdCEIAkAgBUUEQCAGQQA2AhwMAQsgBkEENgIcIAYgBUGUAmw2AiAgBiABKAIINgIYCyAGQQxqIAggByAGQRhqENoGIAYoAhAhBSAGKAIMRQRAIAEgCTYCDCABIAU2AgggBCEDDAILIAVBgYCAgHhGDQEgBUUNACAFIAZBFGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAEIQUgAyAJIARrIgNBACADIAlNGyIDSQRAIAFBCGogBCADEI0GIAEoAhAhBQsgASgCCCEMAkAgBEEATA0AIAlBAWshDgJAIARBAXFFBEAgBCEHDAELIAwgBUGUAmxqIgNBAjoAkAIgAyAKIARBAWoiByAEIA5GIggbNgIEIAMgC0EBIAgbNgIAIAVBAWohBQsgBEEBRg0AIAcgCWtBAWohCCAMIAVBlAJsaiEDA0AgA0GkBGpBAjoAACADQZACakECOgAAIANBASALIAgbNgIAIANBBGogB0EBaiINIAogCBs2AgAgA0GYAmogCiAHQQJqIgcgDSAORiINGzYCACADQZQCaiALQQEgDRs2AgAgCEECaiEIIANBqARqIQMgBUECaiEFIAcgCUcNAAsLIAEgBTYCEAJAIAQgBUkEQCAMIARBlAJsaiIDLQCQAkECRw0BIAEgASgCGEEBajYCGCABIAMpAgA3AgAgAyABKAIUIgE2AgAgA0EEaiACQZACEIgNGiAAIAE2AgQgACAENgIAIAZBMGokAA8LIAQgBUG8nsAAEOMIAAsgBkEkakIANwIAIAZBATYCHCAGQeCewAA2AhggBkGAgMAANgIgIAZBGGpB6J7AABDcCgALgQYBBX8gAEEIayEBIAEgAEEEaygCACIDQXhxIgBqIQICQAJAAkACQCADQQFxDQAgA0EDcUUNASABKAIAIgMgAGohACABIANrIgFBmIXEACgCAEYEQCACKAIEQQNxQQNHDQFBkIXEACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADELwECwJAAkAgAigCBCIDQQJxRQRAIAJBnIXEACgCAEYNAiACQZiFxAAoAgBGDQUgAiADQXhxIgIQvAQgASAAIAJqIgBBAXI2AgQgACABaiAANgIAIAFBmIXEACgCAEcNAUGQhcQAIAA2AgAPCyACIANBfnE2AgQgASAAQQFyNgIEIAAgAWogADYCAAsgAEGAAkkNAiABIAAQ/ARBACEBQbCFxABBsIXEACgCAEEBayIANgIAIAANAUH4gsQAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQbCFxABB/x8gASABQf8fTRs2AgAPC0GchcQAIAE2AgBBlIXEAEGUhcQAKAIAIABqIgA2AgAgASAAQQFyNgIEQZiFxAAoAgAgAUYEQEGQhcQAQQA2AgBBmIXEAEEANgIACyAAQaiFxAAoAgAiA00NAEGchcQAKAIAIgJFDQBBACEBAkBBlIXEACgCACIEQSlJDQBB8ILEACEAA0AgAiAAKAIAIgVPBEAgBSAAKAIEaiACSw0CCyAAKAIIIgANAAsLQfiCxAAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtBsIXEAEH/HyABIAFB/x9NGzYCACADIARPDQBBqIXEAEF/NgIACw8LIABBeHFBgIPEAGohAgJ/QYiFxAAoAgAiA0EBIABBA3Z0IgBxRQRAQYiFxAAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtBmIXEACABNgIAQZCFxABBkIXEACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgALpgUCHX0KfyAAQcQAaiIfKgIAIQYgAEHIAGoiICoCACEHIABBzABqIiEqAgAhCCAAQdQAaiIiKgIAIQMgAEE0aiIjKgIAIQsgAEHYAGoiJCoCACEEIABBOGoiJSoCACEMIABB3ABqIiYqAgAhCSAAQTxqIicqAgAhDSAAQUBrIigqAgAhBSAAKgIUIREgACoCGCESIAAqAhwhEyAAKgIkIRQgASoCBCEaIAAqAgQhDiAAKgIoIRUgASoCCCEbIAAqAgghDyAAKgIsIRYgASoCDCEcIAAqAgwhECAAKgIQIQogASoCAEMAAAAAIAAqAjAiFyAAKgIAIhhgGyICIABB0ABqIgEqAgAiHZQgAiAAKgIgIh6UkyEZIAEgGSAdkjgCACAoIAUgAiAFlCACIAqUkyIFkjgCACAAIBcgFyAClCAYIAKUkyICkjgCMCAAIB4gGZM4AiAgACAKIAWTOAIQIAAgGCACkzgCACAmIAkgCSAcQwAAAAAgDSAQYBsiApQgAiAWlJMiCZI4AgAgJCAEIAQgG0MAAAAAIAwgD2AbIgSUIAQgFZSTIgWSOAIAICIgAyADIBpDAAAAACALIA5gGyIDlCADIBSUkyIKkjgCACAhIAggAiAIlCACIBOUkyIIkjgCACAgIAcgBCAHlCAEIBKUkyIHkjgCACAfIAYgAyAGlCADIBGUkyIGkjgCACAnIA0gDSAClCAQIAKUkyICkjgCACAlIAwgDCAElCAPIASUkyIEkjgCACAjIAsgCyADlCAOIAOUkyIDkjgCACAAIBYgCZM4AiwgACAVIAWTOAIoIAAgFCAKkzgCJCAAIBMgCJM4AhwgACASIAeTOAIYIAAgESAGkzgCFCAAIBAgApM4AgwgACAPIASTOAIIIAAgDiADkzgCBAuDBQIBfw59IwBB8AFrIgQkACADKgIAIAIqAhAiEJMiCCACKgIEIguUIAMqAgQgAkEUaioCACIRkyIGIAIqAgAiDJSTIgkgCZIhByAGIAIqAggiCZQgAyoCCCACQRhqKgIAIhKTIgUgC5STIg0gDZIhCiAEIAUgAioCDCINIAeUIAsgCpQgDCAFIAyUIAggCZSTIgUgBZIiBZSTkpIiDjgCHCAEIAggDSAKlCAJIAWUIAsgB5STkpIiCDgCFCAEIAYgDSAFlCAMIAeUIAkgCpSTkpIiDzgCGCAEQdgBakIANwMAIARB6AFqQQA2AgAgBEKCgICAMDcDOCAEQoCAgIAQNwMwIARCADcD0AEgBEIANwPgASAEQUBrQQBBkAEQiQ0aIARBADYC7AEgBEEgaiABKAIAIAEoAgggBEEwaiAEQRRqQQAQHSAOIAQqAigiB5MiCowgCiAELQAsIgIbIgYgBpQgCCAEKgIgIgqTIgiMIAggAhsiBSAFlCAPIAQqAiQiCJMiDowgDiACGyIOIA6UkpIiD0MAAIAoXgR/IAQgBiAPEJsBIgaVOAI4IAQgDiAGlTgCNCAEIAUgBpU4AjAgBEEIaiABIARBMGoQ8wEgBCgCDCEBIAQoAggFQQMLIQMgAEEUaiABNgIAIAAgAzYCECAAIAI6AAwgACASIAcgDCAJIAqUIAwgB5STIgYgBpIiBpQgCyALIAeUIAkgCJSTIgcgB5IiB5STIAwgCJQgCyAKlJMiBSAFkiIFIA2UkpKSOAIIIAAgESAIIAkgB5QgDCAFlJMgBiANlJKSkjgCBCAAIBAgCiALIAWUIAkgBpSTIAcgDZSSkpI4AgAgBEHwAWokAAuLBQIGfgZ/IAAoAgwEQCAAQRhqKQMAIgUgAYVC88rRy6eM2bL0AIUiBiAAKQMQIgRC4eSV89bs2bzsAIV8IQMgBULt3pHzlszct+QAhSIFIARC9crNg9es27fzAIV8IgdCIIkgAyAGQhCJhSIEfCIGIARCFYmFQoCAgICAgICACIUhBCAEIAcgBUINiYUiBSADfCIHQiCJfCIIIARCEImFIQMgAyAHIAVCEYmFIgQgASAGhXwiBUIgiXwiBiADQhWJhSEDIAMgBSAEQg2JhSIEIAh8IgVCIIlC/wGFfCIHIANCEImFIQMgAyAFIARCEYmFIgQgBkKAgICAgICAgAiFfCIFQiCJfCIGIANCFYmFIQMgAyAFIARCDYmFIgQgB3wiBUIgiXwiByADQhCJhSEDIAMgBSAEQhGJhSIEIAZ8IgVCIIl8IgYgA0IViYUhAyADIARCDYkgBYUiBCAHfCIFQiCJfCIHIARCEYkgBYUiBCAGfCAEQg2JhSIEfCIFIANCEIkgB4VCFYkgBEIRiYUgBUIgiIWFIgNCGYhC/wCDQoGChIiQoMCAAX4hBiADpyEJIAAoAgAiCkEoayEMIAAoAgQhAANAIAAgCXEiCSAKaikAACIFIAaFIgNCgYKEiJCgwIABfSADQn+Fg0KAgYKEiJCgwIB/gyEEA0ACQCAEIgNQBEAgBSAFQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAkgC0EIaiILaiEJDAMLIANCAX0gA4MhBCAMIAN6p0EDdiAJaiAAcSINQVhsaiIOKQMAIAGFIA5BCGopAwAgAoWEQgBSDQELCwtBAEEAIAogDUFYbGogA1AiABtBKGsgABshCQsgCUEQakEAIAkbC9AEAQ19AkACfSADKgIIIAJBGGoqAgCTIg0gAioCACIJlCADKgIAIAIqAhCTIhEgAioCCCIKlJMiByAHkiEIIBEgAioCBCIHlCADKgIEIAJBFGoqAgCTIg4gCZSTIgwgDJIhCyABKgIEIg8gDiACKgIMIgwgCJQgCSALlCAKIA4gCpQgDSAHlJMiDiAOkiISlJOSkoyUIAEqAgAiDiARIAwgEpQgCiAIlCAHIAuUk5KSlJMgASoCCCIRIA0gDCALlCAHIBKUIAkgCJSTkpKUkyISQwAAAABeBEBDAAAAACELQwAAAAAhDUMAAAAAIAUNARoLIAcgAyoCDCILlCAJIANBEGoqAgAiDZSTIgYgBpIhBiAKIA2UIAcgA0EUaioCACIQlJMiCCAIkiEIIBIgESAQIAwgBpQgByAIlCAJIAkgEJQgCiALlJMiECAQkiIQlJOSkpQgDiALIAwgCJQgCiAQlCAHIAaUk5KSlCAPIA0gDCAQlCAJIAaUIAogCJSTkpKUkpKVIg1DAAAAAGBFDQEgBCANYEUNASARjCARIBJDAAAAAF4iARshBiAOjCAOIAEbIQsgD4wgDyABGwshCCAAIA04AgggAEICNwIAIAAgBiAMIAkgCJQgByALlJMiBCAEkiIElCAJIAogC5QgCSAGlJMiDyAPkiIPlCAHIAcgBpQgCiAIlJMiBiAGkiIGlJOSkjgCFCAAIAggDCAPlCAKIAaUIAkgBJSTkpI4AhAgACALIAYgDJQgByAElCAKIA+Uk5KSOAIMDwsgAEEENgIAC9kEAgl9AX8jAEFAaiIFJAAgAioCBCILIAMqAgwiCpQgAioCACIMIANBEGoqAgAiDZSTIgcgB5IhCCACKgIIIgcgDZQgCyADQRRqKgIAIgaUkyIOIA6SIQkgBUEEaiIPQRRqIAYgAioCDCIOIAiUIAsgCZQgDCAMIAaUIAcgCpSTIgYgBpIiBpSTkpI4AgAgD0EQaiANIA4gBpQgDCAIlCAHIAmUk5KSOAIAIAUgCiAOIAmUIAcgBpQgCyAIlJOSkjgCECALIAMqAgAgAioCEJMiCpQgDCADKgIEIAJBFGoqAgCTIg2UkyIIIAiSIQggDSAHlCADKgIIIAJBGGoqAgCTIgYgC5STIgkgCZIhCSAFIAYgDiAIlCALIAmUIAwgBiAMlCAKIAeUkyIGIAaSIgaUk5KSOAIMIAUgDSAOIAaUIAwgCJQgByAJlJOSkjgCCCAFIAogDiAJlCAHIAaUIAsgCJSTkpI4AgQgBUEcaiABIAFBDGogAUEYaiAPEIkCAkACQCAFKAIcIgFBBEcEQCAFKgIkIgogBF8NAQsgAEEENgIADAELIAUqAjAhBCAFKgIsIQggBSoCKCEJIAUoAiAhAiAAIAo4AgggACACNgIEIAAgATYCACAAIAQgDCAHIAmUIAwgBJSTIgogCpIiCpQgCyALIASUIAcgCJSTIgQgBJIiBJSTIAwgCJQgCyAJlJMiDSANkiINIA6UkpI4AhQgACAIIAcgBJQgDCANlJMgCiAOlJKSOAIQIAAgCSALIA2UIAcgCpSTIAQgDpSSkjgCDAsgBUFAayQAC9wEAhJ9Bn8CQCAAQYQBaigCACIURQ0AIABBmAFqKgIAIgUgASoCACIIlCAAKgKUASILIAEqAgQiCZSTIgcgB5IhAiALIAEqAggiB5QgAEGcAWoqAgAiAyAIlJMiCiAKkiEEIABBkAFqKgIAIgwgAyABKgIMIgogApQgCCAElCAJIAMgCZQgBSAHlJMiAyADkiIDlJOSkpQgACoCiAEiDSALIAogA5QgCSAClCAHIASUk5KSlCAAQYwBaioCACILIAUgCiAElCAHIAOUIAggApSTkpKUkpJDBfZ/v14NACAUQTBsIRYgAUEYaioCACEOIAFBFGoqAgAhDyABKgIQIRAgACgCfCEXQQAhAQNAIAEgF2oiAEEYaiEUIAggAEEQaioCACIFlCAJIABBDGoqAgAiA5STIgIgApIhAiAHIAOUIAggAEEUaioCACIGlJMiBCAEkiEEIBQqAgAgDiAGIAogApQgCCAElCAJIAkgBpQgByAFlJMiBiAGkiIGlJOSkpIiESAAQQhqIhgqAgAiEpMgDJQgDSAQIAMgCiAGlCAJIAKUIAcgBJSTkpKSIgMgACoCACITk5QgCyAPIAUgCiAElCAHIAaUIAggApSTkpKSIgQgAEEEaiIZKgIAIgWTlJKSIgKUQwAAAABdDQEgAyANIAKUkyIDIBOTIgYgBpQgBCACIAuUkyIEIAWTIgUgBZSSIBEgAiAMlJMiBSASkyIGIAaUkkO9N4Y1Xg0BIAAgAzgCACAUIAI4AgAgGSAEOAIAIBggBTgCACAWIAFBMGoiAUcNAAtBASEVCyAVC68FAgZ/An4jAEFAaiICJAACfyABKAIEIgNFBEAgAEEANgIEQQAMAQsgASADQQFrNgIEIAEoAgAhASACQQM2AiwgAiABNgIoIAJBEGogAkEoahCbAwJAAkACQAJAAkACQCACKAIQRQRAIAIoAhQiA0UEQEEAIAJBPGpBkIPAABDvByEBDAcLIAJBGGoiBSkCACEJAkAgAigCLCIGBEAgAigCKCIBKAIEIgdBCEkNBCACQRxqKAIAIQQgBSgCACEFIAEgB0EIazYCBCABIAEoAgAiAUEIajYCACABKQAAIghCgICAgBBUDQEgAkEBOgAQIAIgCDcDGCACQRBqIAJBPGpBtIDAABCpCCEBDAcLQQEgAkE8akGQg8AAEO8HIQEMBgsgBkEBRw0BQQIgAkE8akGQg8AAEO8HIQEMBQsgAigCFCEBDAULIAinIgYgBEYNAiACQShqIgFBDGpBAjYCACACQRBqIgdBDGpCAjcCACACIAY2AjggAkECNgIUIAJBvLHAADYCECACQQI2AiwgAiAENgI8IAIgATYCGCACIAJBPGo2AjAgAiACQThqNgIoIAJBBGoiBCAHEKcEIAEgBBCLCSACQRtqIAFBCGooAgA2AAAgAiACKQIoNwATQZH7wwAtAAAaQRBBBBCCDCIBRQ0BIAFBCDoAACABIAIpABA3AAEgAUEIaiACQRdqKQAANwAAIAIoAggEQCACKAIEEJoCCyAFRQ0EIAMQmgIMBAsgAkKByoCAgAE3AxAgAkEQahDqCiEBDAILQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAM2AgQgAEEIaiAFNgIAIABBDGogBK0iCEIghiAIhDcCAEEADAILIAmnRQ0AIAMQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAALsAUCBn8CfiMAQUBqIgIkAAJ/IAEoAgQiA0UEQCAAQQA2AgRBAAwBCyABIANBAWs2AgQgASgCACEBIAJBAzYCLCACIAE2AiggAkEQaiACQShqEJsDAkACQAJAAkACQAJAIAIoAhBFBEAgAigCFCIDRQRAQQAgAkE8akGQg8AAEO8HIQEMBwsgAkEYaiIFKQIAIQkCQCACKAIsIgEEQCABQQFGDQEgAigCKCIBKAIEIgZBCEkNBCACQRxqKAIAIQQgBSgCACEFIAEgBkEIazYCBCABIAEoAgAiAUEIajYCACABKQAAIghCgICAgBBUDQMgAkEBOgAQIAIgCDcDGCACQRBqIAJBPGpBtIDAABCpCCEBDAcLQQEgAkE8akGQg8AAEO8HIQEMBgtBAiACQTxqQZCDwAAQ7wchAQwFCyACKAIUIQEMBQsgCKdBBmwiBiAERg0CIAJBKGoiAUEMakECNgIAIAJBEGoiB0EMakICNwIAIAIgBjYCOCACQQI2AhQgAkG8scAANgIQIAJBAjYCLCACIAQ2AjwgAiABNgIYIAIgAkE8ajYCMCACIAJBOGo2AiggAkEEaiIEIAcQpwQgASAEEIsJIAJBG2ogAUEIaigCADYAACACIAIpAig3ABNBkfvDAC0AABpBEEEEEIIMIgFFDQEgAUEIOgAAIAEgAikAEDcAASABQQhqIAJBF2opAAA3AAAgAigCCARAIAIoAgQQmgILIAVFDQQgAxCaAgwECyACQoHKgICAATcDECACQRBqEOoKIQEMAgtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALIAAgAzYCBCAAQQhqIAU2AgAgAEEMaiAErSAIQiCGhDcCAEEADAILIAmnRQ0AIAMQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAAL9AQBC38jAEEgayICJAACfyABKAIEIgNFBEAgAEEANgIEQQAMAQsgASADQQFrNgIEAkAgASgCACIEKAIEIgFBB00EQCACQoHKgICAATcDCCACQQhqEOoKIQEMAQsgBCABQQhrIgo2AgQgBCAEKAIAIgFBCGoiCzYCACACQRhqIAEpAAAQ0gUgAigCHCEBIAIoAhgNAAJAAkACQAJAQYCABCABIAFBgIAETxsiA0UEQEEEIQUMAQtBkfvDAC0AABogA0EEdCIGQQQQggwiBUUNAQsgAkEANgIQIAIgAzYCDCACIAU2AgggAQRAA0AgCkEESQ0EIAQgCkEEayIDNgIEIAQgC0EEaiIJNgIAIANBBEkNBCALKAAAIQwgBCADQQRrIgM2AgQgBCAJQQRqIgY2AgAgA0EDTQ0EIAkoAAAhCSAEIANBBGsiBzYCBCAEIAZBBGoiAzYCACAHQQNNDQQgBigAACEGIAQgB0EEayIKNgIEIAQgA0EEaiILNgIAIAMoAAAhAyACKAIMIAhGBEAgAkEIaiAIEKQGIAIoAgghBSACKAIQIQgLIAUgCEEEdGoiByADNgIMIAcgBjYCCCAHIAk2AgQgByAMNgIAIAIgCEEBaiIINgIQIAFBAWsiAQ0ACyACKAIIIQUgAigCDCEDCyAFDQEgAyEBDAMLQQQgBkHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAU2AgQgAEEMaiAINgIAIABBCGogAzYCAEEADAILIAJCgcqAgMAANwMYIAJBGGoQ6gohASACKAIMRQ0AIAIoAggQmgILIAAgATYCBEEBCyEBIAAgATYCACACQSBqJAAL0QQCBn4EfyAAIAAoAjggAmo2AjgCQCAAKAI8IgtFBEAMAQsCfiACQQggC2siCiACIApJGyIMQQNNBEBCAAwBC0EEIQkgATUAAAshAyAMIAlBAXJLBEAgASAJajMAACAJQQN0rYYgA4QhAyAJQQJyIQkLIAAgACkDMCAJIAxJBH4gASAJajEAACAJQQN0rYYgA4QFIAMLIAtBA3RBOHGthoQiAzcDMCACIApPBEAgACkDGCADhSIFIAApAwh8IgYgACkDECIEIAApAwB8IgcgBEINiYUiCHwhBCAAIAQgCEIRiYU3AxAgACAEQiCJNwMIIAAgBiAFQhCJhSIEIAdCIIl8IgUgBEIViYU3AxggACADIAWFNwMADAELIAAgAiALajYCPA8LIAIgCmsiAkEHcSEJIAogAkF4cSICSQRAIAApAwghBCAAKQMQIQMgACkDGCEFIAApAwAhBgNAIAEgCmopAAAiByAFhSIFIAR8IgggAyAGfCIGIANCDYmFIgN8IQQgBCADQhGJhSEDIAggBUIQiYUiBSAGQiCJfCIGIAVCFYmFIQUgBEIgiSEEIAYgB4UhBiACIApBCGoiCksNAAsgACADNwMQIAAgBTcDGCAAIAQ3AwggACAGNwMACyAJAn8gCUEDTQRAQgAhA0EADAELIAEgCmo1AAAhA0EECyICQQFySwRAIAEgAiAKamozAAAgAkEDdK2GIAOEIQMgAkECciECCyAAIAIgCUkEfiABIAIgCmpqMQAAIAJBA3SthiADhAUgAws3AzAgACAJNgI8C6EFAQh/IwBBMGsiBiQAAkACQAJAAkACQAJAAkACQCABIABB7ABqIggoAgAiBUkEQCAFIQQMAQsgBSABQQFqIgRLDQEgAEHoAGooAgAiAyAEQQV2IARBH3EiCUEAR2oiByADIAdJGyIKIAVBBXYgBUEfcUEAR2oiBUsEQCAAKAJgIAVBAnRqQQAgCiAFa0ECdBCJDRoLIAMgB0kEQCAHIANrIgUgAEHkAGooAgAgA2tLBEAgAEHgAGogAyAFEIkGIAAoAmghAwsgACgCYCADQQJ0akEAIAVBAnQQiQ0aIAAgAyAFaiIDNgJoCyAIIAQ2AgAgCUUNACADQQFrIQQgA0UNAiAAKAJgIARBAnRqIgQgBCgCAEF/IAl0QX9zcTYCACAAKAJsIQQLIAEgBE8NAiABQQV2IgQgAEHoAGooAgBPDQJBsIrCAEGxisIAQQEgAXQiBSAAKAJgIARBAnRqKAIAcRstAAANBSAAQYABaigCACIDIABB/ABqKAIARgRAIABB+ABqIAMQqAYgACgCgAEhAwsgACADQQFqNgKAASAAKAJ4IANBAnRqIAE2AgAgBiABNgIEIAAoAmwgAU0NAyAAKAJoIgEgBE0NBCAAKAJgIARBAnRqIgEgASgCACAFcjYCACACRQ0GIAAgACgCdEEBajYCdAwGC0GGv8AAQRFBuNjAABDhCQALIARBAEHM18AAEOMIAAtB6PnAAEETQbj7wQAQ4QkACyAGQSBqIgBBDGpBigE2AgAgBkEIaiIBQQxqQgI3AgAgBkECNgIMIAZB+NfAADYCCCAGIAg2AiggBkGKATYCJCAGIAA2AhAgBiAGQQRqNgIgIAFBiNjAABDcCgALIAQgAUGo2MAAEOMIAAsgAEECOgCQAQsgBkEwaiQAC6AFARR9IAFBHGoqAgAhBSABQcwAaioCACEOIAFBPGoqAgAhDyABKgIMIQggAUEsaioCACELIAFB3ABqKgIAIRAgAUEYaioCACEDIAFByABqKgIAIREgAUE4aioCACESIAEqAgghBiABQShqKgIAIQwgAUHYAGoqAgAhEyABQRRqKgIAIQQgAUHEAGoqAgAhFCABQTRqKgIAIQogASoCBCEHIAFBJGoqAgAhDSABQdQAaioCACEVIAEqAgAiAiABKgIwjCIJIAIgCWAbIgJDAAAAACACQwAAAABgGyICIAKUIAEqAhAiAiABQUBrKgIAjCIJIAIgCWAbIgJDAAAAACACQwAAAABgGyICIAKUkiABKgIgIgIgAUHQAGoqAgCMIgkgAiAJYBsiAkMAAAAAIAJDAAAAAGAbIgIgApSSEJsBIQIgByAKjCIKIAcgCmAbIgdDAAAAACAHQwAAAABgGyIHIAeUIAQgFIwiByAEIAdgGyIEQwAAAAAgBEMAAAAAYBsiBCAElJIgDSAVjCIEIAQgDV8bIgRDAAAAACAEQwAAAABgGyIEIASUkhCbASEEIAYgEowiByAGIAdgGyIGQwAAAAAgBkMAAAAAYBsiBiAGlCADIBGMIgYgAyAGYBsiA0MAAAAAIANDAAAAAGAbIgMgA5SSIAwgE4wiAyADIAxfGyIDQwAAAAAgA0MAAAAAYBsiAyADlJIQmwEhAyAAIAggD4wiBiAGIAhfGyIIQwAAAAAgCEMAAAAAYBsiCCAIlCAFIA6MIgggBSAIYBsiBUMAAAAAIAVDAAAAAGAbIgUgBZSSIAsgEIwiBSAFIAtfGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIQmwE4AgwgACADOAIIIAAgBDgCBCAAIAI4AgAL6wQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0G4ncAAQRtB6JDAABChCwALIABBADYCKCAAQQA2AgAL6wQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0HAhcEAQRtB0M7AABC7CwALIABBADYCKCAAQQA2AgAL5AQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0H4qcMAELwLAAsgAEEANgIoIABBADYCAAvrBAIGfQZ/IwBBIGsiCiQAIAEoAggiCARAIAEoAgAiASAIQQxsIgxqIQ0gASoCCEQAAAAAAADwPyAIuKO2IgKUIQMgASoCBCAClCEEIAEqAgAgApQhBQJAIAhBAUYNACABQQxqIQgCQCAMQRhrIgtBDG5BAXEEQCAIIQkgASEIDAELIAFBGGohCSAFIAEqAgwgApSSIQUgAyABQRRqKgIAIAKUkiEDIAQgAUEQaioCACAClJIhBAsgC0EMSQ0AA0AgBSAJKgIAIAKUkiAJQQxqIgsqAgAgApSSIQUgAyAIQRRqKgIAIAKUkiAJQRRqKgIAIAKUkiEDIAQgCEEQaioCACAClJIgCUEQaioCACAClJIhBCALIQggDSAJQRhqIglHDQALCwJAIAxBDGsiCEEMbkEBcQRAQwAAAAAhAgwBCyAFIAEqAgCTIgIgApQgBCABKgIEkyICIAKUkiADIAEqAgiTIgIgApSSIgJDAAAAACACQwAAAABeGyECIAFBDGohAQsgCEEMTwRAA0AgBSABQQxqKgIAkyIGIAaUIAQgAUEQaioCAJMiBiAGlJIgAyABQRRqKgIAkyIGIAaUkiIGIAUgASoCAJMiByAHlCAEIAFBBGoqAgCTIgcgB5SSIAMgAUEIaioCAJMiByAHlJIiByACIAIgB10bIgIgAiAGXRshAiANIAFBGGoiAUcNAAsLIAAgAhCbATgCDCAAIAM4AgggACAEOAIEIAAgBTgCACAKQSBqJAAPCyAKQRRqQgA3AgAgCkEBNgIMIApBuKrDADYCCCAKQbSKwgA2AhAgCkEIakGoq8MAENwKAAuKBQICfw19IwBBQGoiBCQAIAIqAgAiByAHlCACKgIIIgggCJSSEJsBIQkgASoCBCEKAkACQAJAIAIqAgQiCyABKgIAIgaMIgxdIAkgCl9xRQRAIARBGGogDDgCACAEQRxqQwAAAAAgCCAJlSAJQwAAADRfIgEbIAqUIg04AgAgBEEANgIQIAQgBjgCDCAEQQA2AgggBEMAAIA/IAcgCZUgARsgCpQiCTgCFCAEQSRqIgEgBEEIaiACEPICIARBImoiBSABQQ9qLQAAOgAAIAQgBC8AMTsBICAELQAwIQEgBCoCLCEKIAQqAighDiAEKgIkIQ8gCyAMYEUNAiAGIAtgRQ0CIAZDAAAAwJQiESAJlCAMIAaTIhBDAAAAAJQiEpMgCSALIAaTIgaUIAcgEJSTlCAHIA2UIAggCZSTIA1DAAAAAJQgCUMAAAAAlJOUIBIgESANlJMgCCAQlCANIAaUk5SSkkMAAAAAYEUNAiADDQEgCiAIkyIGIAaUIA8gB5MiBiAGlCAOIAuTIgYgBpSSkiAIIAiTIgYgBpQgByAHkyIGIAaUIAwgC5MiCyALlJKSXkUEQCAAQQE6AAwgACAKOAIIIAAgDjgCBCAAIA84AgAgACAELwEgOwANIABBD2ogBEEiai0AADoAAAwECyAAIAg4AgggACAMOAIEIAAgBzgCACAAQQE6AAwMAwsgACAIOAIIIAAgDDgCBCAAIAc4AgAgAEEAOgAMDAILIABBAToADCAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIADAELIAAgAToADCAAIAo4AgggACAOOAIEIAAgDzgCACAAIAQvASA7AA0gAEEPaiAFLQAAOgAACyAEQUBrJAALywQBE30gAyoCBCACQRRqKgIAIhWTIhIgAioCCCIMlCADKgIIIAJBGGoqAgAiFpMiCSACKgIEIg2UkyIFIAWSIRAgCSACKgIAIg6UIAMqAgAgAioCECIXkyIGIAyUkyIFIAWSIREgBiACKgIMIhMgEJQgDCARlCANIAYgDZQgEiAOlJMiBSAFkiIHlJOSkiIKIAqUIAkgEyAHlCANIBCUIA4gEZSTkpIiCyALlJIQmwEhDyABKgIEIhRDAAAAACALIA+VIA9DAAAANF8iAhuUIQkgFEMAAIA/IAogD5UgAhuUIQYCQAJAAkACQAJAAkAgASoCACIIjCIFIBIgEyARlCAOIAeUIAwgEJSTkpIiB19FDQAgDyAUX0UNACAHIAhfDQELIAcgCF4NAUEAIQIgBSAHXkUNAyAPIBRfDQQgCSELIAYhCgwEC0EBIQIgBEUNASAHIQUMAwtBACECIA8gFF9FBEAgCSELIAghBSAGIQoMAwsgCCEFDAILIBQgD5MhEAJAIAggB5MiESAIIAeSIhJdRQ0AIBAgEV5FDQAgCCEFDAILIBEgEl5FDQAgECASXg0BCyAJIQsgByEFIAYhCgsgACACOgAMIAAgFiALIBMgDiAFlCANIAqUkyIGIAaSIgiUIA4gDCAKlCAOIAuUkyIGIAaSIgmUIA0gDSALlCAMIAWUkyIGIAaSIgaUk5KSkjgCCCAAIBUgBSATIAmUIAwgBpQgDiAIlJOSkpI4AgQgACAXIAogBiATlCANIAiUIAwgCZSTkpKSOAIAC7EFAgx9AX8jAEEQayEQIAEqAgggAioCCCIMkyIFQwAAAAAgBUMAAAAAYBsgDCABQRRqKgIAkyIGQwAAAAAgBkMAAAAAYBuTIQcgASoCBCACKgIEIg2TIghDAAAAACAIQwAAAABgGyANIAFBEGoqAgCTIglDAAAAACAJQwAAAABgG5MhCgJAAkAgASoCACACKgIAIg6TIgtDAAAAACALQwAAAABgGyAOIAEqAgyTIgRDAAAAACAEQwAAAABgG5MiD0MAAAAAXA0AIApDAAAAAFwNACAHQwAAAABbDQELIAAgDzgCECAAQQA6AAwgAEEYaiAHOAIAIABBFGogCjgCACAAIAwgB5I4AgggACANIAqSOAIEIAAgDiAPkjgCAA8LAkACQCADRQRAIAQgC14NAUP//3//IQRBACECIAtD//9//15FDQJBASECIAshBAwCCyAAQQE6AAwgACAPOAIQIAAgAikCADcCACAAQRhqIAc4AgAgAEEUaiAKOAIAIABBCGogAkEIaigCADYCAA8LQQAhAiAEQ///f/9eDQBD//9//yEECwJ/IAggCV1FBEBBACAEIAhdRQ0BGkEBIQIgCCEEQQEMAQtBACAEIAldRQ0AGkEAIQIgCSEEQQELIQECQAJAAkACQCAFIAZdRQRAIAQgBV1FDQEgEEEANgIMIBBCADcCBEECIQEgBSEEDAMLIAQgBl1FDQAgEEEANgIMIBBCADcCBEECIQEgBiEEDAELIBBBADYCDCAQQgA3AgQgAg0BCyAQQQRqIAFBAnRqIASMOAIADAELIBBBBGogAUECdGogBDgCAAsgACAQKQIENwIQIABBAToADCAAIA0gECoCCJI4AgQgACAOIBAqAgSSOAIAIABBGGogEEEMaiIBKAIANgIAIAAgDCABKgIAkjgCCAuUBQIFfwN+IwBBgAFrIgQkACABvCEGAn9BAyABi0MAAIB/Ww0AGkECIAEgAVwNABpBBCAGQf////8HcUUNABogBkH///8DcUGAgIAEciAGQQF0Qf7//wdxIAZBF3ZB/wFxIgUbIgetIglCAYMhCiAGQYCAgPwHcUUEQCAFQZYBayEHQgEhCyAKUAwBC0KAgIAQIAlCAYYgB0GAgIAERiIHGyEJQgJCASAHGyELQeh+Qel+IAcbIAVqIQcgClALIQUgBCAHOwF4IAQgCzcDcCAEQgE3A2ggBCAJNwNgIAQgBToAegJ/AkACQEEDIAVBAmtB/wFxIgUgBUEDTxsiCARAQdbZwwBB19nDACAGQQBIIgUbQdbZwwBB+MHDACAFGyACGyEHQQEhBUEBIAZBH3YgAhshBgJAIAhBAmsOAgMAAgsgBEEgaiAEQeAAaiAEQQ9qEHECQCAEKAIgRQRAIARB0ABqIARB4ABqIARBD2oQKwwBCyAEQdgAaiAEQShqKAIANgIAIAQgBCkCIDcDUAsgBCAEKAJQIAQoAlQgBC8BWCADIARBIGoQoAQgBCgCBCEFIAQoAgAMAwsgBEEDNgIoIARB2NnDADYCJCAEQQI7ASBBASEFQQAhBkH4wcMAIQcgBEEgagwCCyAEQQM2AiggBEHb2cMANgIkIARBAjsBICAEQSBqDAELQQIhBSAEQQI7ASAgAwRAIARBMGpBATYCACAEQQA7ASwgBEECNgIoIARBrdnDADYCJCAEQSBqDAELQQEhBSAEQQE2AiggBEHe2cMANgIkIARBIGoLIQIgBEHcAGogBTYCACAEIAI2AlggBCAGNgJUIAQgBzYCUCAAIARB0ABqENECIQAgBEGAAWokACAAC5AFAQR/IAAoAggiBCABSQRAIAQhBSABIARrIgYgACgCBCAEa0sEQCAAIAQgBhCdBiAAKAIIIQULIAAoAgAgBUEYbGohAyAGQQJPBEAgBEF/cyABaiIEQQdxIQEgBkECa0EHTwRAIARBeHEhBANAIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIANBGGpCADcCACADQSBqQgA3AgAgA0EoakIANwIAIANBMGpCADcCACADQThqQgA3AgAgA0FAa0IANwIAIANByABqQgA3AgAgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANBiAFqQgA3AgAgA0GAAWpCADcCACADQfgAakIANwIAIANBoAFqQgA3AgAgA0GYAWpCADcCACADQZABakIANwIAIANBqAFqQgA3AgAgA0GwAWpCADcCACADQbgBakIANwIAIANBwAFqIQMgBEEIayIEDQALCyABBEADQCADQgA3AgAgA0EQakIANwIAIANBCGpCADcCACADQRhqIQMgAUEBayIBDQALCyAFIAZqQQFrIQULIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIAVBAWohAQsgACABNgIIAkACQAJAIAJFBEBBBCEDDAELIAJB////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NgIAIAVBBEkNACACNQAEIQkgASAEQQxrIgU2AgQgASACQQxqNgIAIAVBBEkNASACNQAIIQogASAEQRBrIgU2AgQgASACQRBqNgIAIAVBBEkNASACKAAMIQUgASAEQRRrIgY2AgQgASACQRRqNgIAIAZBBEkNASACNQAQIQsgASAEQRhrIgY2AgQgASACQRhqNgIAAkAgBkEESQ0AIAI1ABQhDCABIARBHGsiBjYCBCABIAJBHGo2AgAgBkEESQ0AIAIoABghBiABIARBIGsiCDYCBCABIAJBIGo2AgAgCEEESQ0AIAI1ABwhDSAAIAc2AgQgASAEQSRrNgIEIAEgAkEkajYCACAAQRxqIAY2AgAgAEEUaiAMQiCGIAuENwIAIABBEGogBTYCACAAQQhqIApCIIYgCYQ3AgAgAEEgaiANIAI1ACBCIIaENwIAQQAMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIAAgA0EIahDqCjYCBEEBDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCAAIANBCGoQ6go2AgRBAQwBCyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQELNgIAIANBEGokAAu/BAEDfyMAQTBrIgMkACADIAEqAgwgAkE8aioCAF86ABMgAyABKgIIIAJBOGoqAgBfOgASIAMgASoCBCACQTRqKgIAXzoAESADIAEqAgAgAioCMF86ABAgAyACKgIMIAFBPGoqAgBfOgAjIAMgAioCCCABQThqKgIAXzoAIiADIAIqAgQgAUE0aioCAF86ACEgAyACKgIAIAEqAjBfOgAgIAMgA0EQaiIEIANBIGoiBRDKCSADIAFBHGoqAgAgAkHMAGoqAgBfOgAjIAMgAUEYaioCACACQcgAaioCAF86ACIgAyABQRRqKgIAIAJBxABqKgIAXzoAISADIAEqAhAgAkFAayoCAF86ACAgBCADIAUQygkgAyACQRxqKgIAIAFBzABqKgIAXzoAIyADIAJBGGoqAgAgAUHIAGoqAgBfOgAiIAMgAkEUaioCACABQcQAaioCAF86ACEgAyACKgIQIAFBQGsqAgBfOgAgIAMgBCAFEMoJIAMgAUEsaioCACACQdwAaioCAF86ACMgAyABQShqKgIAIAJB2ABqKgIA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IAZBvQVqIghBC2pCADcAACAGQaoFaiIJQQtqQgA3AAAgBkGXBWoiCkELakIANwAAIAZBhAVqIgtBC2pCADcAACAGQgA3A6gDIAZCADcD0AMgBkIANwADIAZCADcAwAUgBkIANwCtBSAGQgA3AJoFIAZCADcAhwUgBkGcA2pCADcCACAGQgA3ApQDIAZB8QNqIAZBCGopAAA3AAAgBkH4A2ogBkEPaigAADYAACAGIAYpAAA3AOkDIAZBlARqIAhBD2ooAAA2AAAgBkGNBGogCEEIaikAADcAACAGIAYpAL0FNwCFBCAGQbAEaiAJQQ9qKAAANgAAIAZBqQRqIAlBCGopAAA3AAAgBiAGKQCqBTcAoQQgBkHMBGogCkEPaigAADYAACAGQcUEaiAKQQhqKQAANwAAIAYgBikAlwU3AL0EIAZB6ARqIAtBD2ooAAA2AAAgBkHhBGogC0EIaikAADcAACAGIAYpAIQFNwDZBCAGQgA3A8gCIAZCADcDwAIgBkGAAjsB/AQgBkE+NgL4BCAGQQA6APQEIAZC////+wc3AuwEIAZBADoA2AQgBkL////7BzcD0AQgBkEAOgC8BCAGQv////sHNwK0BCAGQQA6AKAEIAZC////+wc3A5gEIAZBADoAhAQgBkL////7BzcC/AMgBkEAOgDoAyAGQv////sHNwPgAyAGQgA3A8gDIAZCgICA/AM3A8ADIAZBgICA/AM2AqQDIAZB////+wc2ApADIAZCgICAgPD//79/NwOIAyAGQv////v///+//wA3A4ADIAZC////+wc3A/gCIAZCgICAgPD//79/NwPwAiAGQv////v///+//wA3A+gCIAZC////+wc3A+ACIAZCgICAgPD//79/NwPYAiAGQv////v///+//wA3A9ACIAZBmANqIAdBzAJqIggQ0gMgBiAGQcACakHAAhCIDSIGQfQAaiAIENIDIAdB2AdqIgggBkHAAhCIDRogBkHQBWokACAHQcgIaiAAQQRqIgZBCGooAgA2AgAgB0HACGogBikCADcDACAHQZgFaiIGIAhBwAIQiA0aIAdBpAZqIAFBBGoiCEEIaigCADYCACAHIAgpAgA3ApwGIAdB2AJqIAZBwAIQiA0aIAMNAgwDCxD4DAALEPkMAAsgB0HYB2oiAyAHQdgCaiIGQcACEIgNGiAHIAU4ApwFIAcgBDgCmAUgAyAHQZgFaikCADcDECADIAMtALkCQQFyOgC5AiAGIANBwAIQiA0aCyAHQQhqIAdB2AJqQb0CEIgNGiAHLwGWBSEJIAIoAgBBAWshCCAHLQCVBQshBiACIAg2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQICQCAGQQJHBEAgB0HcB2ogB0EIakG9AhCIDRpBkfvDAC0AABpByAJBCBCCDCICRQ0BIAJBADYCACACQQRqIAdB2AdqQcECEIgNGiACIAk7AcYCIAIgBjoAxQILIAdBoApqJAAgAg8LQQhByAJB0IHEACgCACIAQZcHIAAbEQAAAAuWCgEOfyMAQZAIayIFJAACQAJAAkAgAEUNACAAKAIAIgRBf0YNASAAIARBAWo2AgAgAUUNACABKAIAIgRBf0YNASABIARBAWo2AgAgAkUNACACKAIAIgRBf0YNASACIARBAWo2AgAgA0UNACADKAIAIgRBf0YNASADIARBAWo2AgAgBUHIAmoiBEEIaiIMIAFBBGoiBkEIaikCADcDACAEQRBqIg0gAEEEaiIHKQIANwMAIARBGGoiDiAHQQhqKAIANgIAIAVB6AJqIgRBCGoiDyADQQxqKQIANwMAIARBEGoiECACQQRqIgcpAgA3AwAgBEEYaiIRIAdBCGooAgA2AgAgBSAGKQIANwPIAiAFIAMpAgQ3A+gCIwBB4ABrIgZBzQBqIgdBC2pCADcAACAGQTpqIghBC2pCADcAACAGQSdqIglBC2pCADcAACAGQRRqIgpBC2pCADcAACAFQcgFaiIEQfgAakIANwMAIARB8ABqQgA3AwAgBEIANwNoIARCADcDkAEgBEGYAWpCADcDACAGQQFqIgtBC2pCADcAACAEQdwAakIANwIAIARCADcCVCAGQgA3AFAgBEGxAWogB0EIaikAADcAACAGQgA3AD0gBkIANwAqIAZCADcAFyAGQgA3AAQgBCAGKQBNNwCpASAEQbgBaiAHQQ9qKAAANgAAIAQgBikAOjcAxQEgBEHNAWogCEEIaikAADcAACAEQdQBaiAIQQ9qKAAANgAAIAQgBikAJzcA4QEgBEHpAWogCUEIaikAADcAACAEQfABaiAJQQ9qKAAANgAAIARBjAJqIApBD2ooAAA2AAAgBEGFAmogCkEIaikAADcAACAEIAYpABQ3AP0BIARBqAJqIAtBD2ooAAA2AAAgBEGhAmogC0EIaikAADcAACAEIAYpAAE3AJkCIARCADcDCCAEQgA3AwAgBEGAAjsBvAIgBEE/NgK4AiAEQQA6ALQCIARC////+wc3AqwCIARBADoAmAIgBEL////7BzcDkAIgBEEAOgD8ASAEQv////sHNwL0ASAEQQA6AOABIARC////+wc3A9gBIARBADoAxAEgBEL////7BzcCvAEgBEEAOgCoASAEQv////sHNwOgASAEQgA3A4gBIARCgICA/AM3A4ABIARBgICA/AM2AmQgBEH////7BzYCUCAEQoCAgIDw//+/fzcDSCAEQv////v///+//wA3A0AgBEL////7BzcDOCAEQoCAgIDw//+/fzcDMCAEQv////v///+//wA3AyggBEL////7BzcDICAEQoCAgIDw//+/fzcDGCAEQv////v///+//wA3AxAgBUG4BmogDigCADYCACAFQbAGaiANKQMANwMAIAVBqAZqIAwpAwA3AwAgBSAFKQPIAjcDoAYgBUGIA2oiBiAEQcACEIgNGiAFQYQEaiAPKQMANwIAIAVBjARqIBApAwA3AgAgBUGUBGogESgCADYCACAFIAUpA+gCNwL8AyAFQQhqIgcgBkHAAhCIDRogAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIARBBGogB0HAAhCIDRpBkfvDAC0AABpByAJBCBCCDCIARQ0CIABBADYCACAAQQRqIAVByAVqQcQCEIgNGiAFQZAIaiQAIAAPCxD4DAALEPkMAAtBCEHIAkHQgcQAKAIAIgBBlwcgABsRAAAAC/YDAQ99IAIqAgAgASoCEJMiCiABKgIEIgSUIAIqAgQgAUEUaioCAJMiDSABKgIAIgWUkyIGIAaSIQggDSABKgIIIgaUIAIqAgggAUEYaioCAJMiByAElJMiCyALkiEJIAcgASoCDCILIAiUIAQgCZQgBSAHIAWUIAogBpSTIgcgB5IiB5STkpIiDiAOlCAKIAsgCZQgBiAHlCAEIAiUk5KSIg8gD5QgDSALIAeUIAUgCJQgBiAJlJOSkiINIA2UkpIgACoCACIIIAiUkyEIQwAAAAAhByAEIAIqAgwiEJQgBSACQRBqKgIA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ajYCCCAPQawBaioCACEeIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsgCkEEajYCCCALKAIAIApqIB44AAAgD0HgAGogEEEEahDcBiIKDQMgD0HsAGogEEEEahDcBiIKDQMgD0H4AGogEEEEahDcBiIKDQMgD0GEAWogEEEEahDcBiIKDQMgD0GUAWoqAgAhHiAPQZABaioCACEfIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHzgAACALIApBBGoiCjYCCCALKAIEIAprQQNNBEAgCyAKQQQQyAYgCygCCCEKCyALIApBBGo2AgggCygCACAKaiAeOAAAIA9B/AFqIBBBBGoQ3AYiCg0DIA9BiAJqIBBBBGoQ3AYiCg0DIA9BlAJqKgIAIR4gECgCBCILKAIIIQogCygCBCAKa0EDTQRAIAsgCkEEEMgGIAsoAgghCgsgCyAKQQRqNgIIIAsoAgAgCmogHjgAACAPQZgCaiAQQQRqENwGIgoNAyAPQaQCaiAQQQRqENwGIgoNAyAPQdgCaioCACEeIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHjgAACALIApBBGoiCjYCCCAPQdwCaioCACEeIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHjgAACALIApBBGoiCjYCCCAPQeACai0AACEMIAogCygCBEYEQCALIApBARDIBiALKAIIIQoLIAsoAgAgCmogDDoAACALIApBAWoiCjYCCCAPQeECai0AACEMIAogCygCBEYEQCALIApBARDIBiALKAIIIQoLIAsoAgAgCmogDDoAACALIApBAWo2AgggDzUCCCEcIBAoAgQiCygCCCEKIAsoAgQgCmtBB00EQCALIApBCBDIBiALKAIIIQoLIAsoAgAgCmogHDcAACALIApBCGoiCjYCCCAPQQxqNQIAIRwgCygCBCAKa0EHTQRAIAsgCkEIEMgGIAsoAgghCgsgCygCACAKaiAcNwAAIAsgCkEIaiIKNgIIIA9BEGo1AgAhHCALKAIEIAprQQdNBEAgCyAKQQgQyAYgCygCCCEKCyALKAIAIApqIBw3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QQRqIgo2AgggDCgCACALaiAPNgAAIA4gDUEIaiINRw0ACwsgFSgCGCIRQRBqKAIAIQwgESgCCCETIBAoAgQiCigCCCELIAooAgQgC2tBB00EQCAKIAtBCBDIBiAKKAIIIQsLIAogC0EIajYCCCAKKAIAIAtqIAytNwAAIAwEQCAMQagBbCEUQQAhCwNAAkACQAJAAkACQAJAAkACQCALIBNqIgwoAgBFBEAgECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEANgAAIAogDUEEajYCCCAQKAIEIQogDEEEaigCAA0BIAooAggiDiAKKAIERgRAIAogDkEBEMgGIAooAgghDgsgCigCACAOakEAOgAAIAogDkEBajYCCAwICyAQKAIEIgooAgghDSAKKAIEIA1rQQNNBEAgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qQQE2AAAgCiANQQRqNgIIIAxBBGooAgAhDiAQKAIEIgooAgghDSAKKAIEIA1rQQRJBEAgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qIA42AAAgCiANQQRqNgIIIAxBoAFqLQAAIQ4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANaiAONgAAIAogDUEEajYCCCAMQThqIBBBBGoQLCIKDQogDEEwaigCAEEBaw4CAgUBCyAMQQhqKAIAIQwgCigCCCIOIAooAgRGBEAgCiAOQQEQyAYgCigCCCEOCyAKKAIAIA5qQQE6AAAgCiAOQQFqIg42AgggCigCBCAOa0EDTQRAIAogDkEEEMgGIAooAgghDgsgCigCACAOaiAMNgAAIAogDkEEajYCCAwGCyAMQTRqKgIAIR4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEANgAAIAogDUEEaiINNgIIIAooAgQgDWtBA00NAQwCCyAMQTRqKgIAIR4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEBNgAAIAogDUEEaiINNgIIIAooAgQgDWtBA0sNAQsgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qIB44AAAgCiAN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aiIHQQtqQgA3AAAgA0GEBWoiCEELakIANwAAIANCADcDqAMgA0IANwPQAyADQgA3AAMgA0IANwDABSADQgA3AK0FIANCADcAmgUgA0IANwCHBSADQZwDakIANwIAIANCADcClAMgA0HxA2ogA0EIaikAADcAACADQfgDaiADQQ9qKAAANgAAIAMgAykAADcA6QMgA0GUBGogBUEPaigAADYAACADQY0EaiAFQQhqKQAANwAAIAMgAykAvQU3AIUEIANBsARqIAZBD2ooAAA2AAAgA0GpBGogBkEIaikAADcAACADIAMpAKoFNwChBCADQcwEaiAHQQ9qKAAANgAAIANBxQRqIAdBCGopAAA3AAAgAyADKQCXBTcAvQQgA0HoBGogCEEPaigAADYAACADQeEEaiAIQQhqKQAANwAAIAMgAykAhAU3ANkEIANCADcDyAIgA0IANwPAAiADQYACOwH8BCADQTc2AvgEIANBADoA9AQgA0L////7BzcC7AQgA0EAOgDYBCADQv////sHNwPQBCADQQA6ALwEIANC////+wc3ArQEIANBADoAoAQgA0L////7BzcDmAQgA0EAOgCEBCADQv////sHNwL8AyADQQA6AOgDIANC////+wc3A+ADIANCADcDyAMgA0KAgID8AzcDwAMgA0GAgID8AzYCpAMgA0H////7BzYCkAMgA0KAgICA8P//v383A4gDIANC////+////7//ADcDgAMgA0L////7BzcD+AIgA0KAgICA8P//v383A/ACIANC////+////7//ADcD6AIgA0L////7BzcD4AIgA0KAgICA8P//v383A9gCIANC////+////7//ADcD0AIgA0GYA2ogBEHMAmoiBRDSAyADIANBwAJqQcACEIgNIgNB9ABqIAUQ0gMgBEGYBWoiBSADQcACEIgNGiADQdAFaiQAIARBiAZqIABBBGoiA0EIaigCADYCACAEQYAGaiADKQIANwMAIARB2AJqIgMgBUG9AhCIDRogBC8B1gchBiAELQDVByEFIARB5ANqIAFBBGoiB0EIaigCADYCACAEIAcpAgA3AtwDIARBCGogA0G9AhCIDRogAigCAEEBawUgAws2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQIgBUECRwRAIARBnAVqIARBCGpBvQIQ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IABBnLHAADYCDCAAIBBBHGo2AghBACAAQQhqQcCWwAAgAEEMakHAlsAAIBBBgARqQZi3wAAQqwQACwALIBBB4AJqIQIgEEFAayIGKAIIIhEoAgAhDiARIA5BAWo2AgACQCAOQQBOBEAgBkEMaigCACESIAZBLGooAgAhEyAGQSRqKAIAIRQgBi0AYiEVIAYtAGMhHSAGKAJYIR4gBigCVCEfIAYvAWAhICAGKAIoISEgBigCICEiIAYtAGUhGyAGLQBkISMgBioCNCEHIAYqAjAhCwJAIAYoAgAiJUECRwRAIAYoAgQhDgwBC0GR+8MALQAAGkEsQQQQggwiDkUNAyAOIAYoAgQiDykCADcCACAOQQhqIA9BCGopAgA3AgAgDkEQaiAPQRBqKQIANwIAIA5BGGogD0EYaikCADcCACAOQSBqIA9BIGopAgA3AgAgDkEoaiAPQShqKAIANgIACyACIBU6AJgBIAIgETYCMCACQf8DNgJwIAIgJTYCKCACQQA2AgAgAkE0aiASNgIAIAJBLGogDjYCACACIAYpAjg3AnQgAkH8AGogBkFAaykCADcCACACQYQBaiAGQcgAaikCADcCACACQYwBaiAGQdAAaigCADYCACAGKgJcIQwgBikDECEmIAJBQGsgBkEYaikDADcDACACICY3AzggAkHtAGogGzoAACACQewAaiAjOgAAIAJB6ABqIAc4AgAgAiALOAJkIAIgDDgClAEgAkF/NgKQASACQeAAaiAgOwEAIAJB3ABqIB42AgAgAkHYAGogHzYCACACQdQAaiATNgIAIAJB0ABqICE2AgAgAkHMAGogFDYCACACICI2AkggAkHiAGogHUVBAXQ6AAAMAQsACwJAAkACQAJAAkACQAJAAkACQCAXBEAgEEH4AWoiAkEIaiIOIBBB9AJqKQIANwMAIAJBEGoiEiAQQfwCaikCADcDACACQRhqIgIgEEGEA2ooAgA2AgAgECAQKQLsAjcD+AEgGL0iJkIgiKchDyAQQdQDaiERICanIQYgECgC4AIiE0UEQCACIBFBGGooAgA2AgAgEiARQRBqKQIANwMAIA4gEUEIaikCADcDACAQIBEpAgA3A/gBQQEhEwsgJCAGIA8QigciEkUNBSAQQfQDaiEUIBBBiANqIRUgGigCAEUNASAaKAIEIgIgGkEQaigCACIO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QRBNGyIAayABTQ0AQRAgAUELakF4cSABQQtJGyIEIABqQQxqEDoiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIABBACACIANqQQAgAGtxQQhrIgAgAWtBEE0bIABqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQzAMMAQsgASgCACEBIAAgAzYCBCAAIAEgAmo2AgALAkAgACgCBCIBQQNxRQ0AIAFBeHEiAiAEQRBqTQ0AIAAgBCABQQFxckECcjYCBCAAIARqIgEgAiAEayIEQQNyNgIEIAAgAmoiAiACKAIEQQFyNgIEIAEgBBDMAwsgAEEIaiEDCyADC40DAQF/AkAgAgRAIAEtAABBME0NASAFQQI7AQACQAJAAkAgA8EiBkEASgRAIAUgATYCBCADQf//A3EiAyACTw0BIAVBAjsBGCAFQQI7AQwgBSADNgIIIAVBIGogAiADayICNgIAIAVBHGogASADajYCACAFQRRqQQE2AgAgBUEQakGs2cMANgIAQQMhASACIARPDQMgBCACayEEDAILIAVBAjsBGCAFQQA7AQwgBUECNgIIIAVBrdnDADYCBCAFQSBqIAI2AgAgBUEcaiABNgIAIAVBEGpBACAGayIDNgIAQQMhASACIARPDQIgBCACayICIANNDQIgAiAGaiEEDAELIAVBADsBDCAFIAI2AgggBUEQaiADIAJrNgIAIARFBEBBAiEBDAILIAVBAjsBGCAFQSBqQQE2AgAgBUEcakGs2cMANgIACyAFQQA7ASQgBUEoaiAENgIAQQQhAQsgACABNgIEIAAgBTYCAA8LQezVwwBBIUG42MMAEKoKAAtByNjDAEEfQejYwwAQqgoAC5oDAQF/AkACQCAARQ0AIAAoAgANASAAQX82AgAgAUUNACABKAIAIgtBf0YNASABIAtBAWo2AgAgAkUNACACKAIAIgtBf0YNASACIAtBAWo2AgAgA0UNACADKAIADQEgA0F/NgIAIARFDQAgBCgCAA0BIARBfzYCACAFRQ0AIAUoAgANASAFQX82AgAgBkUNACAGKAIADQEgBkF/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KAIAIghBf0YNASAAIAhBAWo2AgAgAkUNACACKAIAIghBf0YNASACIAhBAWo2AgAgBEUNACAEKAIAIghBf0YNASAEIAhBAWo2AgAgAkEEaiELIARBBGohDCAGQQBHIQ0jAEGAAWsiBiQAAkACQCAAQQRqIgkgA70iE6ciDiATQiCIpyIPEJgKIggEQCAJIAG9IhOnIBNCIIinEJgKIglFDQEgBkHEAGogCUH0AGogCyAJKAIwIAlBNGooAgAiCSgCCEEBa0F4cWpBCGogCSAIQfQAaiAMIAgoAjAgCEE0aigCACIIKAIIQQFrQXhxakEIaiAIIAUgDRDHAgJ/AkAgBi0AeCILQQVHBEAgBkEIaiIIQTBqIgwgBkHEAGoiCUEwaigCADYCACAIQShqIg0gCUEoaikCADcDACAIQSBqIhAgCUEgaikCADcDACAIQRhqIhEgCUEYaikCADcDACAIQRBqIhIgCUEQaikCADcDACAIQQhqIAlBCGopAgA3AwAgBkEGaiAGQfsAai0AADoAACAGIAYpAkQ3AwggBiAGLwB5OwEEIAtBBEcNAQsgByAGKQJENwIAIAdBOGogBkHEAGoiCEE4aigCADYCACAHQTBqIAhBMGopAgA3AgAgB0EoaiAIQShqKQIANwIAIAdBIGogCEEgaikCADcCACAHQRhqIAhBGGopAgA3AgAgB0EQaiAIQRBqKQIANwIAIAdBCGogCEEIaikCADcCAEEEIQsgBkHBAGoMAQsgByAPNgIEIAcgDjYCACAHIAYpAwg3AgggB0EQaiAGQRBqKQMANwIAIAdBGGogEikDADcCACAHQSBqIBEpAwA3AgAgB0EoaiAQKQMANwIAIAdBMGogDSkDADcCACAHQThqIAwoAgA2AgAgBkEEagshCCAHIAs6ADwgByAILwAAOwA9IAdBP2ogCEECai0AADoAACAGQYABaiQADAILQYS2wABBzABB4LjAABDhCQALQYS2wABBzABB+LbAABDhCQALIAQgBCgCAEEBazYCACACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAIActADxBBEcEQEGR+8MALQAAGkHEAEEEEIIMIgpFDQMgCkEANgIAIAogBykCADcCBCAKQQxqIAdBCGopAgA3AgAgCkEUaiAHQRBqKQIANwIAIApBHGogB0EYaikCADcCACAKQSRqIAdBIGopAgA3AgAgCkEsaiAHQShqKQIANwIAIApBNGogB0EwaikCADcCACAKQTxqIAdBOGopAgA3AgALIAdBQGskACAKDwsQ+AwACxD5DAALQQRBxABB0IHEACgCACIAQZcHIAAbEQAAAAuWAwEFfyMAQSBrIgYkAAJAAkACQAJAIAIoAggiAyABTQRAIAEgA2siBCACKAIEIgUgA2tNDQMgAyADIARqIgNLDQEgA0ECdCEEIANBgICAgAJJQQJ0IQcCQCAFRQRAIAZBADYCGAwBCyAGQQQ2AhggBiAFQQJ0NgIcIAYgAigCADYCFAsgBkEIaiAHIAQgBkEUahDaBiAGKAIMIQQgBigCCEUEQCACIAM2AgQgAiAENgIAIAMhBQwECyAEQYGAgIB4Rg0DIARFDQEgBCAGQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALIAIgATYCCCACKAIAIQQgAigCBCIFIAFNBEAgBCEDDAQLIAVBAnQhBQJAIAFFBEBBBCEDIAQQmgIMAQsgBCAFQQQgAUECdCIFEO0LIgNFDQILIAIgATYCBCACIAM2AgAgASEFDAMLENsKAAtBBCAFQdCBxAAoAgAiAEGXByAAGxEAAAALIAIoAgAhAwsgACABNgIMIAAgATYCCCAAIAU2AgQgACADNgIAIAZBIGokAAv4AgMDfwJ9AX4CQAJAIAAoAigiBCABKAIAIgJHDQACQAJAAkAgAkEBaw4CAAECCyABKgIEIABBLGoqAgBcDQIMAwsgASgCBCICKgIQIABBLGooAgAiAyoCEFwNASACQRRqKgIAIANBFGoqAgBcDQEgAkEYaioCACADQRhqKgIAXA0BIAIqAhwgAyoCHFwNASACKgIgIAMqAiBcDQEgAkEkaioCACADQSRqKgIAXA0BIAJBKGoqAgAgA0EoaioCAFwNAQJAAkAgAioCACIFIAMqAgAiBlwNACACKgIEIAMqAgRcDQAgAioCCCADKgIIXA0AIAIqAgwgAyoCDFsNAQsgBSAGjFwNAiACKgIEIAMqAgSMXA0CIAIqAgggAyoCCIxcDQIgAioCDCADKgIMjFwNAgsgAhCaAg8LIAEqAgQgAEEsaioCAFsNAQsgACAAKAJwQQJyNgJwIAEpAgAhByAEQQJPBEAgAEEsaigCABCaAgsgACAHNwMoCwvTAgMBfwl9AX4jAEHgAGsiBCQAIAMqAgAgAioCEJMiCyACKgIEIgiUIAMqAgQgAkEUaioCAJMiDCACKgIAIgmUkyIGIAaSIQYgDCACKgIIIgqUIAMqAgggAkEYaioCAJMiBSAIlJMiByAHkiEHIAQgBSACKgIMIg0gBpQgCCAHlCAJIAUgCZQgCyAKlJMiBSAFkiIFlJOSkjgCJCAEIAwgDSAFlCAJIAaUIAogB5STkpI4AiAgBCALIA0gB5QgCiAFlCAIIAaUk5KSOAIcIARBPGoiAyABIARBHGpBARBIIARBMGogA0EIaikCACIONwMAIARBCGogDjcDACAEQRRqIANBFGooAgBBACAEKAJMIgFBA0kiAxs2AgAgBCAEKQI8Ig43AyggBCAONwMAIAQgAUECIAMbNgIQIAAgBCACEP4FIAAgBCkDEDcCECAEQeAAaiQAC9MCAgR/CH0gBCgCDCIIIAMoAgAiBUEDaiIGTwRAAkAgBCgCACIEIAVBAnRqIgcgASkCADcCACAHQQhqIAFBCGooAgA2AgAgBUEGaiIHIAhLDQAgBCAGQQJ0aiIGIAIpAgA3AgAgBkEIaiACQQhqKAIANgIAIAVBDGoiBSAISw0AIAQgB0ECdGoiBCAAKgIYIAEqAgCUOAIAIAQgAEEgaioCACABKgIIlDgCCCAEIABBHGoqAgAgASoCBJQ4AgQgACoCACENIAAqAhQhDiAAKgIIIQkgBEEQaiAAKgIQIg8gAioCCCIKlCAAKgIEIhAgAioCACILlCAAKgIMIAIqAgQiDJSSkjgCACAEQRRqIA4gCpQgCSALlCAPIAyUkpI4AgAgBEEMaiAJIAqUIA0gC5QgECAMlJKSOAIAIAMgBTYCAA8LC0Gm/sAAQR1BsP/AABC7CwALtgIBEn0gAEEUaiACQRhqKgIAIgkgASoCACIKIAIqAgAiAyACKgIIIgSUIgUgBZIiDSACKgIEIgUgAioCDCIGlCIIIAiSIg6Ti5QgASoCBCIIIAUgBJQiByAHkiIPIAMgBpQiByAHkiIQkouUkiABKgIIIgcgBCAElCILIAYgBpQiESADIAOUIhKTIhMgBSAFlCIMk5KLlJIiFJI4AgAgACAJIBSTOAIIIABBEGogAkEUaioCACIJIAcgDyAQk4uUIAogAyAFlCIDIAOSIgMgBCAGlCIEIASSIgSSi5QgCCAMIBOSIAuTi5SSkiIFkjgCACAAIAIqAhAiBiAHIA0gDpKLlCAIIAMgBJOLlCAKIBIgEZIgDJMgC5OLlJKSIgOSOAIMIAAgCSAFkzgCBCAAIAYgA5M4AgALhgMBCn8jAEFAaiICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIABB8ANqIgMoAgAhBCADQQA2AgAgBARAIAJBOGoiAyAAQawEaikCADcDACACQTBqIgUgAEGkBGopAgA3AwAgAkEoaiIGIABBnARqKQIANwMAIAJBIGoiByAAQZQEaikCADcDACACQRhqIgggAEGMBGopAgA3AwAgAkEQaiIJIABBhARqKQIANwMAIAJBCGoiCiAAQfwDaikCADcDAEGR+8MALQAAGiACIABB9ANqKQIANwMAQcgAQQQQggwiAUUNAyABIAQ2AgQgAUEANgIAIAEgAikDADcCCCABQRBqIAopAwA3AgAgAUEYaiAJKQMANwIAIAFBIGogCCkDADcCACABQShqIAcpAwA3AgAgAUEwaiAGKQMANwIAIAFBOGogBSkDADcCACABQUBrIAMpAwA3AgALIAJBQGskACABDwsQ+AwACxD5DAALQQRByABB0IHEACgCACIAQZcHIAAbEQAAAAvmAgEDfyAAKAIAIgAoAgghBCAAKAIEIARrQQdNBEAgACAEQQgQyAYgACgCCCEECyAAIARBCGoiAzYCCCAAKAIAIARqIAKtNwAAIAIEQCABIAJBBHRqIQQDQCABKAIEIQIgASgCACEFIAAoAgQgA2tBA00EQCAAIANBBBDIBiAAKAIIIQMLIAAoAgAgA2ogBTYAACAAIANBBGoiAzYCCCAAKAIEIANrQQNNBEAgACADQQQQyAYgACgCCCEDCyAAKAIAIANqIAI2AAAgACADQQRqIgM2AgggAUEMaigCACEFIAFBCGooAgAhAiAAKAIEIANrQQNNBEAgACADQQQQyAYgACgCCCEDCyAAKAIAIANqIAI2AAAgACADQQRqIgI2AgggACgCBCACa0EDTQRAIAAgAkEEEMgGIAAoAgghAgsgACACQQRqIgM2AgggACgCACACaiAFNgAAIAQgAUEQaiIBRw0ACwtBAAvRAgIKfQF/IAEqAgAiBSAFlCABKgIIIgYgBpSSEJsBIQQgACoCBCIHQwAAAAAgBiAElSAEQwAAADRfIg0blCEKIAdDAACAPyAFIASVIA0blCELAkACQAJAAkACQAJAAkACQAJAIAEqAgQiCCAAKgIAIgmMIgNgRQ0AIAQgB19FDQAgCCAJXw0BCyAIIAleDQFBASEBIAMgCF5FDQUgBCAHX0UNBwwGC0EAIQEgAkUNASAGIQogCCEDIAUhCwwGC0EBIQEgBCAHXw0BIAkhAwwFCyAHIASTIQQgCCAJkiIHIAkgCJMiDF5FDQEgBCAMXkUNAQsgBiEKIAkhAyAFIQsMAwsgByAMXUUNACAEIAdeDQELIAghAwwBCyAGIQogBSELCyAKIAaTIgYgBpQgCyAFkyIFIAWUIAMgCJMiAyADlJKSEJsBIgMgAyADjCACGyABGwvoAgICfwN9IwBB0ABrIgUkACABQQhqIgYqAgAhByABKgIAIQggASoCBCEJIAVBFGogBigCADYCACAFIAeMOAIIIAUgCYw4AgQgBSAIjDgCACAFIAEpAgA3AgwgBUEkaiAFIAIgAkEMahCzAQJAAkACQAJAIAUoAiRFDQAgBSoCKCIHQwAAAABdRQRAIAMgB2BFDQEgBUEgaiAFQSxqIgFBCGooAgA2AgAgBSABKQIANwMYIAVBOGooAgAhAQwDCyAFQcwAaigCACEBIAQNASAFQTxqKgIAIgcgA19FDQAgBUEgaiAFQUBrIgJBCGooAgA2AgAgBSACKQIANwMYDAILIABBBDYCAAwCCyAFQSBqQQA2AgAgBUIANwMYQwAAAAAhBwsgACAFKQMYNwIMIAAgBzgCCCAAQQI2AgAgAEEUaiAFQSBqKAIANgIAIABBAiABayABQQFrIAFBAEgbNgIECyAFQdAAaiQAC+wCAgJ/BH0jAEHgAWsiAyQAIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAEoAgAgASgCCCADQSBqIAJBABAdAkAgAioCCCADKgIYkyIFjCAFIAMtABwiBBsiBSAFlCACKgIAIAMqAhCTIgaMIAYgBBsiBiAGlCACKgIEIAMqAhSTIgeMIAcgBBsiByAHlJKSIghDAACAKF4EQCADIAUgCBCbASIFlTgCKCADIAcgBZU4AiQgAyAGIAWVOAIgIANBCGogASADQSBqEPMBIAMoAgghAiADKAIMIQEgAEEIaiADQRhqKQIANwIAIAAgAykCEDcCACAAQRRqIAE2AgAMAQsgACADKQIQNwIAIABBCGogA0EYaikCADcCAEEDIQILIAAgAjYCECADQeABaiQAC6YDAQh/IwBBkAFrIgYkACAGQcgAaiABQRhqEOECIAEoAgAhCUEEIQhBBCEEAkACQAJAAkACf0EAIAEoAggiBUUNABogBUGq1arVAEsNAiAFQQxsIgJBAEgNAkEAIAJFDQAaQZH7wwAtAAAaIAJBBBCCDCIERQ0BIAILIQMgBCAJIAMQiA0hBCABKAIMIQMCQCABQRRqKAIAIgJFDQAgAkH/////AEsNAiACQQN0IgFBAEgNAiABRQ0AQZH7wwAtAAAaIAFBBBCCDCIIRQ0DIAEhBwsgCCADIAcQiA0hByAGIAZByABqQcgAEIgNIQNBkfvDAC0AABpB4ABBBBCCDCIBRQ0DIAEgAjYCFCABIAI2AhAgASAHNgIMIAEgBTYCCCABIAU2AgQgASAENgIAIAFBGGogA0HIABCIDRogAEH03MIANgIEIAAgATYCACADQZABaiQADwtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAtBBCABQdCBxAAoAgAiAEGXByAAGxEAAAALQQRB4ABB0IHEACgCACIAQZcHIAAbEQAAAAuZBwIFfwJ+IwBBIGsiBiQAAkACQAJAAkACQAJAIAAoAgAiBEEUaigCACIADgMAAQQDCwJAIAQoAhQiAA4DAAEEAwsCQCAEKAIUIgAOAwABBAMLAkAgBCgCFCIADgMAAQQDCwJAIAQoAhQiAA4DAAEEAwsCQCAEKAIUIgAOAwABBAMLAkAgBCgCFCIADgMAAQQDCwJAIAQoAhQiAA4DAAEEAwsCQCAEKAIUIgAOAwABBAMLAkAgBCgCFCIADgMAAQQDCwJAIAQoAhQiAA4DAAEEAwsgBCgCFCIADgMBAAMCC0EBIQAMAgsgAkGAlOvcA0YEQANAIAQoAhQiAARAIABBAWtBAk8NAwwEBSMAQSBrIgAkAAJAQbyFxAAoAgAiAkUEQBD4BiECQbyFxAAoAgANB0G8hcQAIAI2AgALIAIgAigCACIDQQFqNgIAIANBAEgNACACIAIoAgAiA0EBazYCACAAIAI2AgggA0EBRgRAIABBCGoQtwkLIABBIGokAAwCCwALAAsACwNAIAQoAhQiAARAIABBAWtBAkkNAwwCCxDaCiAGKAIYIQUCQCAGKQMQIgggAVoEQCABIAhSDQEgAiAFTQ0BCyACIQNCACEJIwBBIGsiByQAAkACQCAGIgBBAAJ/QYCU69wDIAEgCFQNABogASAIfSEIIAMgBUkEQEGAlOvcAyAIUA0BGiAIQgF9IQggA0GAlOvcA2ohAwsgCCADIAVrIgNBgJTr3ANuIgWtfCIJIAhUDQEgAyAFQYCU69wDbGsLIgMgA0GAlOvcA0YiAxs2AgggAEIAIAkgAxs3AwAgB0EgaiQADAELIAdBFGpCADcCACAHQQE2AgwgB0GwuMMANgIIIAdBnLfDADYCECAHQQhqQYC5wwAQ3AoACyAGKQMAGiAGKAIIGiMAQSBrIgAkAAJAAkBBvIXEACgCACIDRQRAEPgGIQNBvIXEACgCAA0HQbyFxAAgAzYCAAsgAyADKAIAIgVBAWo2AgAgBUEASA0AIAMgAygCACIFQQFrNgIAIAAgAzYCCCAFQQFGBEAgAEEIahC3CQsgAEEgaiQADAELAAsMAQsLQQEhACAEIAQoAhQiAkEBIAIbNgIUIAJFDQFBAyACIAJBA08bIQAMAQtBAyEACyAGQSBqJAAgAA8LIABBFGpCADcCACAAQQE2AgwgAEGst8MANgIIIABBnLfDADYCECAAQQhqQYS4wwAQ3AoAC/QCAQJ/AkACQAJAIAIgACgCwAMiA0sEQCAALQDIAyIERQ0CAkAgASADQQJ0aigCACIDQYQBaigCACIBIAAtAMQDIgJNDQAgAygCfCACQTBsaiIBIABByABqKQIANwIkIAFBLGogACoCFDgCACAEQQFGDQMgAygChAEiASAAQcUDai0AACICTQ0AIAMoAnwgAkEwbGoiASAAQawBaikCADcCJCABQSxqIABB+ABqKgIAOAIAIARBAkYNAyADKAKEASIBIABBxgNqLQAAIgJNDQAgAygCfCACQTBsaiIBIABBkAJqKQIANwIkIAFBLGogAEHcAWoqAgA4AgAgBEEDRg0DIAMoAoQBIgEgAEHHA2otAAAiAksNAgsgAiABQfTOwQAQ4wgACyADIAJB1M7BABDjCAALIAMoAnwgAkEwbGoiASAAQfQCaikCADcCJCABQSxqIABBwAJqKgIAOAIAIARBBEcNAQsPC0EEQQRB5M7BABDjCAAL9AIBAn8CQAJAAkAgAiAAKALgBCIDSwRAIAAtAOgEIgRFDQICQCABIANBAnRqKAIAIgNBhAFqKAIAIgEgAC0A5AQiAk0NACADKAJ8IAJBMGxqIgEgAEHsAGopAgA3AiQgAUEsaiAAKgIgOAIAIARBAUYNAyADKAKEASIBIABB5QRqLQAAIgJNDQAgAygCfCACQTBsaiIBIABB9AFqKQIANwIkIAFBLGogAEGoAWoqAgA4AgAgBEECRg0DIAMoAoQBIgEgAEHmBGotAAAiAk0NACADKAJ8IAJBMGxqIgEgAEH8AmopAgA3AiQgAUEsaiAAQbACaioCADgCACAEQQNGDQMgAygChAEiASAAQecEai0AACICSw0CCyACIAFBrNLBABDjCAALIAMgAkGM0sEAEOMIAAsgAygCfCACQTBsaiIBIABBhARqKQIANwIkIAFBLGogAEG4A2oqAgA4AgAgBEEERw0BCw8LQQRBBEGc0sEAEOMIAAvpAgEJfyMAQUBqIgIkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAEGIAmoiAygCACEEIANBADYCACAEBEAgAkEIaiIBQTBqIgMgAEG8AmooAgA2AgAgAUEoaiIFIABBtAJqKQIANwMAIAFBIGoiBiAAQawCaikCADcDACABQRhqIgcgAEGkAmopAgA3AwAgAUEQaiIIIABBnAJqKQIANwMAIAJBEGoiCSAAQZQCaikCADcDAEGR+8MALQAAGiACIABBjAJqKQIANwMIQTxBBBCCDCIBRQ0DIAEgBDYCBCABQQA2AgAgASACKQMINwIIIAFBEGogCSkDADcCACABQRhqIAgpAwA3AgAgAUEgaiAHKQMANwIAIAFBKGogBikDADcCACABQTBqIAUpAwA3AgAgAUE4aiADKAIANgIACyACQUBrJAAgAQ8LEPgMAAsQ+QwAC0EEQTxB0IHEACgCACIAQZcHIAAbEQAAAAvLAgIBfwl9IwBBQGoiBCQAIAIqAgAgASoCEJMiCyABKgIEIgWUIAIqAgQgAUEUaioCAJMiDCABKgIAIgmUkyIHIAeSIQcgDCABKgIIIgqUIAIqAgggAUEYaioCAJMiBiAFlJMiCCAIkiEIIAQgBiABKgIMIg0gB5QgBSAIlCAJIAYgCZQgCyAKlJMiBiAGkiIGlJOSkjgCFCAEIAwgDSAGlCAJIAeUIAogCJSTkpI4AhAgBCALIA0gCJQgCiAGlCAFIAeUk5KSOAIMIARBGGogACAEQQxqIAND//9/fxBBIAQoAixBBEYEQEHLj8IAQStB4MTCABCqCgALIAQtACQhACAEKgIYIAQqAgyTIgUgBZQgBCoCHCAEKgIQkyIFIAWUkiAEKgIgIAQqAhSTIgUgBZSSEJsBIQUgBEFAayQAIAUgBYwgBSAAGyADGwvMAgECfyMAQRBrIgIkAAJAAn8CQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAESQRAIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgAiABQT9xQYABcjoADyACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA0gAiABQRJ2QQdxQfABcjoADEEEDAILIAAoAggiAyAAKAIERgRAIAAgAxDLBiAAKAIIIQMLIAAgA0EBajYCCCAAKAIAIANqIAE6AAAMAgsgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQILIgEgACgCBCAAKAIIIgNrSwRAIAAgAyABEMgGIAAoAgghAwsgACgCACADaiACQQxqIAEQiA0aIAAgASADajYCCAsgAkEQaiQAQQALzgIDBH8BfQF+IAAoAgAiAygCCCEEIAMoAgQgBGtBB00EQCADIARBCBDIBiADKAIIIQQLIAMgBEEIaiIANgIIIAMoAgAgBGogAq03AAAgAgRAIAEgAkEEdGohBgNAIAEoAgghBSABKAIAIQQgAygCBCAAa0EHTQRAIAMgAEEIEMgGIAMoAgghAAsgAyAAQQhqIgI2AgggAygCACAAaiAFrTcAACAFBEAgBUECdCEFA0AgBCoCACEHIARBBGohBCADIAMoAgQgAmtBA0sEfyACBSADIAJBBBDIBiADKAIICyIAQQRqIgI2AgggAygCACAAaiAHOAAAIAVBBGsiBQ0ACwsgATUCDCEIIAMoAgQgAmtBB00EQCADIAJBCBDIBiADKAIIIQILIAMgAkEIaiIANgIIIAMoAgAgAmogCDcAACAGIAFBEGoiAUcNAAsLQQAL2AICBn8BfiMAQSBrIgckAAJAAkACQCAARQ0AIAAoAgAiBkF/Rg0BIAAgBkEBajYCACACRQ0AIAIoAgAiBkF/Rg0BIAIgBkEBajYCACADRQ0AIAMoAgAiBkF/Rg0BIAMgBkEBajYCACAAQQRqIAG9IgynIAxCIIinEJgKIgZFDQIgBkE0aigCACIIKAIIIQkgBigCMCEKIAdBCGoiC0EIaiACQQxqKAIANgIAIAcgAikCBDcDCCAHQRxqIANBDGooAgA2AgAgByADKQIENwIUIAcgCiAJQQFrQXhxakEIaiAGQfQAaiALIAQgBUEARyAIKAIYEQgAIAcqAgQhBCAHKAIAIQUgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAIAAoAgBBAWs2AgAgB0EgaiQAIARDAACAvyAFGw8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC+UCAgN+Cn8gACgCDEUEQEEADwsgACgCACIKQQRrIQsgASgCCCIMIAEoAgQiDSABKAIAIg5BysqfiXpzQbnz3fF5bEEFd3NBufPd8XlsQQV3c0G5893xeWwiAUEZdq1CgYKEiJCgwIABfiEEIABBGGooAgAhBiAAKAIEIQcgACgCECEIA38CQCABIAdxIgEgCmopAAAiAyAEhSICQoGChIiQoMCAAX0gAkJ/hYNCgIGChIiQoMCAf4MiAlANAAJAA0AgBiALIAJ6p0EDdiABaiAHcUECdGsoAgAiAEsEQAJAIA4gCCAAQRRsaiIFKAIERw0AIA0gBUEEaiIFKAIERw0AIAwgBSgCCEYNAwsgAkIBfSACgyICQgBSDQEMAwsLIAAgBkGs+8AAEOMIAAsgCCAAQRRsakEQag8LIAMgA0IBhoNCgIGChIiQoMCAf4NCAFIEf0EABSABIAlBCGoiCWohAQwBCwsL1gICBX8DfiMAQUBqIgIkACACQSRqIAEQ6QNBBCEDAkACQAJAIAIoAiwgAigCMGoiBUUNACAFQf////8ASw0BIAVBA3QiBEEASA0BIARFDQBBkfvDAC0AABogBEEEEIIMIgNFDQILIAIgAzYCNCACQQA2AjwgAUEYaigCACEEIAIgBTYCOCABKAIQIQEgBCAFSwRAIAJBNGpBACAEEIwGIAIoAjwhBiACKAI0IQMLIAMgBkEDdGogASAEQQN0EIgNGiACQTxqIAQgBmoiATYCACACQQhqIgNBEGogAikCNCIHNwMAIANBGGogATYCACADQQhqIAJBLGopAgAiCDcDACACIAIpAiQiCTcDCCAAQRhqIAE2AgAgAEEQaiAHNwIAIABBCGogCDcCACAAIAk3AgAgAkFAayQADwsQ2woAC0EEIARB0IHEACgCACIAQZcHIAAbEQAAAAvDAgELfQJAAkAgAARAIAAoAgBBf0YNAUGR+8MALQAAGiAAQdgAaioCACEBIABB1ABqKgIAIQcgAEHQAGoqAgAhCCAAQSRqKgIAIQIgAEEgaioCACEKIABBHGoqAgAhCyAAQRhqKgIAIQkgAEEUaioCACEDIABBEGoqAgAhBCAAQQxqKgIAIQVBEEEEEIIMIgBFDQIgAEEANgIAIAAgAiABIAkgBSAHlCAEIAiUkyICIAKSIgKUIAUgAyAIlCAFIAGUkyIGIAaSIgaUIAQgBCABlCADIAeUkyIBIAGSIgGUk5KSkjgCDCAAIAogByAJIAaUIAMgAZQgBSAClJOSkpI4AgggACALIAggCSABlCAEIAKUIAMgBpSTkpKSOAIEIAAPCxD4DAALEPkMAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALxAIBCn0CQCABKgIAIgNDAAAAAFwgASoCBEMAAAAAXHIgASoCCEMAAAAAXHJFDQAgAC0A3QINACAAQZgBaioCACIEIAOUIABBoAFqKgIAIgUgASoCBCIKlJIgAEGkAWoqAgAiDCABKgIIIguUkiEGIAAqApABIgcgA5QgAEGUAWoqAgAiCCAKlJIgBCALlJIhCSAAQfwAaiIBIAEqAgAgBCAGlCAHIAmUIAggCCADlCAAQZwBaioCACIHIAqUkiAFIAuUkiIDlJKSkjgCACAAQYABaiIBIAEqAgAgBSAGlCAIIAmUIAcgA5SSkpI4AgAgAEGEAWoiASAMIAaUIAQgCZQgBSADlJKSIAEqAgCSOAIAIAJFDQAgAEHMAmotAAAEQCAAIAAoAqgCQQRyNgKoAgsgAEEAOgDMAiAAQcgCakEANgIACwvLAgIFfwF+IwBBMGsiBSQAQSchAwJAIABCkM4AVARAIAAhCAwBCwNAIAVBCWogA2oiBEEEayAAIABCkM4AgCIIQpDOAH59pyIGQf//A3FB5ABuIgdBAXRB7N3DAGovAAA7AAAgBEECayAGIAdB5ABsa0H//wNxQQF0QezdwwBqLwAAOwAAIANBBGshAyAAQv/B1y9WIQQgCCEAIAQNAAsLIAinIgRB4wBLBEAgCKciBkH//wNxQeQAbiEEIANBAmsiAyAFQQlqaiAGIARB5ABsa0H//wNxQQF0QezdwwBqLwAAOwAACwJAIARBCk8EQCADQQJrIgMgBUEJamogBEEBdEHs3cMAai8AADsAAAwBCyADQQFrIgMgBUEJamogBEEwajoAAAsgAiABQfjBwwBBACAFQQlqIANqQScgA2sQjQIhASAFQTBqJAAgAQvjAgIDfwd9IwBBMGsiAyQAIANBADYCFCADQoCAgPwDNwIMIANBGGoiBCABIAIgA0EMaiIFELQDIANBgICA/Hs2AgwgAyoCGCEHIAQgASACIAUQtAMgA0KAgICAgICAwD83AgwgAyoCGCEIIAQgASACIAUQtAMgA0GAgID8ezYCECADKgIcIQkgBCABIAIgBRC0AyADQoCAgICAgIDAPzcCECADKgIcIQogBCABIAIgBRC0AyADQYCAgPx7NgIUIAMqAiAhCyAEIAEgAiAFELQDIAEqAggiBkMAAAAAYEUEQCADQSRqQgA3AgAgA0EBNgIcIANB5JfCADYCGCADQbSKwgA2AiAgA0EYakHsl8IAENwKAAsgAyoCICEMIABBFGogCyAGkjgCACAAQRBqIAkgBpI4AgAgACAHIAaSOAIMIAAgDCAGkzgCCCAAIAogBpM4AgQgACAIIAaTOAIAIANBMGokAAvjAgIDfwd9IwBBMGsiAyQAIANBADYCFCADQoCAgPwDNwIMIANBGGoiBCABIAIgA0EMaiIFEI8EIANBgICA/Hs2AgwgAyoCGCEHIAQgASACIAUQjwQgA0KAgICAgICAwD83AgwgAyoCGCEIIAQgASACIAUQjwQgA0GAgID8ezYCECADKgIcIQkgBCABIAIgBRCPBCADQoCAgICAgIDAPzcCECADKgIcIQogBCABIAIgBRCPBCADQYCAgPx7NgIUIAMqAiAhCyAEIAEgAiAFEI8EIAEqAggiBkMAAAAAYEUEQCADQSRqQgA3AgAgA0EBNgIcIANB5JfCADYCGCADQbSKwgA2AiAgA0EYakHsl8IAENwKAAsgAyoCICEMIABBFGogCyAGkjgCACAAQRBqIAkgBpI4AgAgACAHIAaSOAIMIAAgDCAGkzgCCCAAIAogBpM4AgQgACAIIAaTOAIAIANBMGokAAvKAgIBfwl9IwBB4AFrIgMkACACKgIAIAEqAhCTIgogASoCBCIHlCACKgIEIAFBFGoqAgCTIgsgASoCACIIlJMiBSAFkiEFIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgQgB5STIgYgBpIhBiADIAQgASoCDCIMIAWUIAcgBpQgCCAEIAiUIAogCZSTIgQgBJIiBJSTkpI4AgwgAyALIAwgBJQgCCAFlCAJIAaUk5KSOAIIIAMgCiAMIAaUIAkgBJQgByAFlJOSkjgCBCADQcgBakIANwMAIANB2AFqQQA2AgAgA0KCgICAMDcDKCADQoCAgIAQNwMgIANCADcDwAEgA0IANwPQASADQTBqQQBBkAEQiQ0aIANBADYC3AEgA0EQaiAAKAIAIAAoAgggA0EgaiADQQRqQQEQHSADLQAcIQAgA0HgAWokACAAC8kCAQN/IwBBgAFrIgQkAAJAAkACfwJAIAEoAhwiAkEQcUUEQCACQSBxDQEgADUCAEEBIAEQ2QQMAgsgACgCACEAQQAhAgNAIAIgBGpB/wBqIABBD3EiA0EwQdcAIANBCkkbajoAACACQQFrIQIgAEEQSSEDIABBBHYhACADRQ0ACyACQYABaiIAQYABSw0CIAFBAUG/3cMAQQIgAiAEakGAAWpBACACaxCNAgwBCyAAKAIAIQBBACECA0AgAiAEakH/AGogAEEPcSIDQTBBNyADQQpJG2o6AAAgAkEBayECIABBEEkhAyAAQQR2IQAgA0UNAAsgAkGAAWoiAEGAAUsNAiABQQFBv93DAEECIAIgBGpBgAFqQQAgAmsQjQILIQAgBEGAAWokACAADwsgAEGAAUHc3cMAEOIIAAsgAEGAAUHc3cMAEOIIAAurAgIBfwl9IwBBMGsiBCQAIAIqAgAgASoCEJMiCyABKgIEIgWUIAIqAgQgAUEUaioCAJMiDCABKgIAIgmUkyIHIAeSIQcgDCABKgIIIgqUIAIqAgggAUEYaioCAJMiBiAFlJMiCCAIkiEIIAQgBiABKgIMIg0gB5QgBSAIlCAJIAYgCZQgCyAKlJMiBiAGkiIGlJOSkjgCDCAEIAwgDSAGlCAJIAeUIAogCJSTkpI4AgggBCALIA0gCJQgCiAGlCAFIAeUk5KSOAIEIARBEGogACAEQQRqIAMQUyAELQAcIQAgBCoCECAEKgIEkyIFIAWUIAQqAhQgBCoCCJMiBSAFlJIgBCoCGCAEKgIMkyIFIAWUkhCbASEFIARBMGokACAFIAWMIAUgABsgAxsLqQICCn0BfyMAQSBrIg4kACACKgIAIAEqAhCTIgogASoCBCIElCACKgIEIAFBFGoqAgCTIgsgASoCACIGlJMiByAHkiEHIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgUgBJSTIgggCJIhCCAOIAUgASoCDCIMIAeUIAQgCJQgBiAFIAaUIAogCZSTIgUgBZIiBZSTkpIiDTgCDCAOIAogDCAIlCAJIAWUIAQgB5STkpIiBDgCBCAOIAsgDCAFlCAGIAeUIAkgCJSTkpIiBjgCCCAOQRBqIAAgDkEEaiADEKsCIA4qAhAgBJMiBCAElCAOKgIUIAaTIgQgBJSSIA4qAhggDZMiBCAElJIQmwEhBCAOLQAcIQAgDkEgaiQAIAQgBIwgBCAAGyADGwurAgIBfwl9IwBBIGsiBCQAIAIqAgAgASoCEJMiCyABKgIEIgWUIAIqAgQgAUEUaioCAJMiDCABKgIAIgmUkyIHIAeSIQcgDCABKgIIIgqUIAIqAgggAUEYaioCAJMiBiAFlJMiCCAIkiEIIAQgBiABKgIMIg0gB5QgBSAIlCAJIAYgCZQgCyAKlJMiBiAGkiIGlJOSkjgCDCAEIAwgDSAGlCAJIAeUIAogCJSTkpI4AgggBCALIA0gCJQgCiAGlCAFIAeUk5KSOAIEIARBEGogACAEQQRqIAMQVCAEKgIQIAQqAgSTIgUgBZQgBCoCFCAEKgIIkyIFIAWUkiAEKgIYIAQqAgyTIgUgBZSSEJsBIQUgBC0AHCEAIARBIGokACAFIAWMIAUgABsgAxsLqQICCn0BfyMAQSBrIg4kACACKgIAIAEqAhCTIgogASoCBCIElCACKgIEIAFBFGoqAgCTIgsgASoCACIGlJMiByAHkiEHIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgUgBJSTIgggCJIhCCAOIAUgASoCDCIMIAeUIAQgCJQgBiAFIAaUIAogCZSTIgUgBZIiBZSTkpIiDTgCDCAOIAogDCAIlCAJIAWUIAQgB5STkpIiBDgCBCAOIAsgDCAFlCAGIAeUIAkgCJSTkpIiBjgCCCAOQRBqIAAgDkEEaiADEOoCIA4qAhAgBJMiBCAElCAOKgIUIAaTIgQgBJSSIA4qAhggDZMiBCAElJIQmwEhBCAOLQAcIQAgDkEgaiQAIAQgBIwgBCAAGyADGwupAgIKfQF/IwBBIGsiDiQAIAIqAgAgASoCEJMiCiABKgIEIgSUIAIqAgQgAUEUaioCAJMiCyABKgIAIgaUkyIHIAeSIQcgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBSAElJMiCCAIkiEIIA4gBSABKgIMIgwgB5QgBCAIlCAGIAUgBpQgCiAJlJMiBSAFkiIFlJOSkiINOAIMIA4gCiAMIAiUIAkgBZQgBCAHlJOSkiIEOAIEIA4gCyAMIAWUIAYgB5QgCSAIlJOSkiIGOAIIIA5BEGogACAOQQRqQQAQiwIgDioCECAEkyIEIASUIA4qAhQgBpMiBCAElJIgDioCGCANkyIEIASUkhCbASEEIA4tABwhACAOQSBqJAAgBCAEjCAEIAAbIAMbC8ICAgF/CX0jAEHgAWsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgggAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIEIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAAgA0EgaiADQQRqQQEQICADLQAcIQAgA0HgAWokACAAC8ICAgF/CX0jAEHgAWsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgggAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIEIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAAgA0EgaiADQQRqQQEQISADLQAcIQAgA0HgAWokACAAC8ICAgF/CX0jAEHgAWsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgggAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIEIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAAgA0EgaiADQQRqQQEQHiADLQAcIQAgA0HgAWokACAAC8ICAgF/CX0jAEHgAWsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgggAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIEIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAAgA0EgaiADQQRqQQEQHyADLQAcIQAgA0HgAWokACAAC8ICAgF/CX0jAEHgAWsiAyQAIAIqAgAgASoCEJMiCiABKgIEIgeUIAIqAgQgAUEUaioCAJMiCyABKgIAIgiUkyIFIAWSIQUgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBCAHlJMiBiAGkiEGIAMgBCABKgIMIgwgBZQgByAGlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkjgCDCADIAsgDCAElCAIIAWUIAkgBpSTkpI4AgggAyAKIAwgBpQgCSAElCAHIAWUk5KSOAIEIANByAFqQgA3AwAgA0HYAWpBADYCACADQoKAgIAwNwMoIANCgICAgBA3AyAgA0IANwPAASADQgA3A9ABIANBMGpBAEGQARCJDRogA0EANgLcASADQRBqIAAgA0EgaiADQQRqQQEQIiADLQAcIQAgA0HgAWokACAAC+sCAgJ9An8CQCAAvCIEQf////8HcSIDQf////sDTQRAIANBgICA+ANPBEAgBEEATgRAQwAAgD8gAJNDAAAAP5QiABCbASICvEGAYHG+IQEgACAAIABDa9MNvJRDuhMvvZKUQ3WqKj6SlCAAQ67lNL+UQwAAgD+SlSAClCAAIAEgAZSTIAIgAZKVkiABkiIAIACSDwtD2g/JPyAAQwAAgD+SQwAAAD+UIgAQmwEiASABIAAgACAAQ2vTDbyUQ7oTL72SlEN1qio+kpQgAEOu5TS/lEMAAIA/kpWUQ2ghorOSkpMiACAAkiEBDAILQ9oPyT8hASADQYGAgJQDSQ0BQ2ghojMgACAAlCIBIAEgAUNr0w28lEO6Ey+9kpRDdaoqPpKUIAFDruU0v5RDAACAP5KVIACUkyAAk0PaD8k/kg8LIANBgICA/ANHBEBDAAAAACAAIACTlQ8LQwAAAABD2g9JQCAEQQBOGw8LIAELwgIBA38jAEEwayIFJAACQAJAIABFDQAgACgCACIEQX9GDQEgACAEQQFqNgIAIAFFDQAgASgCACIEQX9GDQEgASAEQQFqNgIAIAJFDQAgAigCACIEQX9GDQEgAiAEQQFqNgIAIANFDQAgAygCACIEQX9GDQEgAyAEQQFqNgIAIAVBCGogAkEMaikCADcDACAFIAIpAgQ3AwAgBUEYaiABQQxqKAIANgIAIAUgASkCBDcDECAFQSBqIgRBCGogA0EMaigCADYCACAFIAMpAgQ3AyAgACgCBCAAQQhqKAIAIgYoAghBAWtBeHFqQQhqIAUgBCAGKAJIEQUAIQQgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIAVBMGokACAEDwsQ+AwACxD5DAALpwICCn0BfyMAQTBrIg4kACACKgIAIAEqAhCTIgogASoCBCIElCACKgIEIAFBFGoqAgCTIgsgASoCACIGlJMiByAHkiEHIAsgASoCCCIJlCACKgIIIAFBGGoqAgCTIgUgBJSTIgggCJIhCCAOIAUgASoCDCIMIAeUIAQgCJQgBiAFIAaUIAogCZSTIgUgBZIiBZSTkpIiDTgCECAOIAogDCAIlCAJIAWUIAQgB5STkpIiBDgCCCAOIAsgDCAFlCAGIAeUIAkgCJSTkpIiBjgCDCAOQRRqIAAgDkEIahDyAiAOLQAgIQAgDioCFCAEkyIEIASUIA4qAhggBpMiBCAElJIgDioCHCANkyIEIASUkhCbASEEIA5BMGokACAEIASMIAQgABsgAxsLqwIBCX0gACABQSRqKgIAIgcgASoCGCIFkyIGIAaUIAFBKGoqAgAiBiABQRxqKgIAIgiTIgMgA5SSIAFBLGoqAgAiAyABQSBqKgIAIgSTIgkgCZSSEJsBQwAAAD+UOAIMIAggBpJDAAAAP5QiCSACKgIAIgaUIAUgB5JDAAAAP5QiCiACKgIEIgeUkyIFIAWSIQUgCiACKgIIIgiUIAQgA5JDAAAAP5QiBCAGlJMiAyADkiEDIAAgAkEYaioCACAEIAIqAgwiCyAFlCAGIAOUIAcgByAElCAJIAiUkyIEIASSIgSUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAOUIAggBJQgBiAFlJOSkpI4AgQgACACKgIQIAogCyAElCAHIAWUIAggA5STkpKSOAIAC60CAQl9IAAgAUFAayoCACIHIAEqAjQiBZMiBiAGlCABQcQAaioCACIGIAFBOGoqAgAiCJMiAyADlJIgAUHIAGoqAgAiAyABQTxqKgIAIgSTIgkgCZSSEJsBQwAAAD+UOAIMIAggBpJDAAAAP5QiCSACKgIAIgaUIAUgB5JDAAAAP5QiCiACKgIEIgeUkyIFIAWSIQUgCiACKgIIIgiUIAQgA5JDAAAAP5QiBCAGlJMiAyADkiEDIAAgAkEYaioCACAEIAIqAgwiCyAFlCAGIAOUIAcgByAElCAJIAiUkyIEIASSIgSUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAOUIAggBJQgBiAFlJOSkpI4AgQgACACKgIQIAogCyAElCAHIAWUIAggA5STkpKSOAIAC7ACAQl9IAAgAUHsAGoqAgAiByABKgJgIgWTIgYgBpQgAUHwAGoqAgAiBiABQeQAaioCACIIkyIDIAOUkiABQfQAaioCACIDIAFB6ABqKgIAIgSTIgkgCZSSEJsBQwAAAD+UOAIMIAggBpJDAAAAP5QiCSACKgIAIgaUIAUgB5JDAAAAP5QiCiACKgIEIgeUkyIFIAWSIQUgCiACKgIIIgiUIAQgA5JDAAAAP5QiBCAGlJMiAyADkiEDIAAgAkEYaioCACAEIAIqAgwiCyAFlCAGIAOUIAcgByAElCAJIAiUkyIEIASSIgSUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAOUIAggBJQgBiAFlJOSkpI4AgQgACACKgIQIAogCyAElCAHIAWUIAggA5STkpKSOAIAC6UCAgp9AX8jAEEwayIOJAAgAioCACABKgIQkyIKIAEqAgQiBJQgAioCBCABQRRqKgIAkyILIAEqAgAiBpSTIgcgB5IhByALIAEqAggiCZQgAioCCCABQRhqKgIAkyIFIASUkyIIIAiSIQggDiAFIAEqAgwiDCAHlCAEIAiUIAYgBSAGlCAKIAmUkyIFIAWSIgWUk5KSIg04AgggDiAKIAwgCJQgCSAFlCAEIAeUk5KSIgQ4AgAgDiALIAwgBZQgBiAHlCAJIAiUk5KSIgY4AgQgDkEMaiAAIA4gAxBIIA4tABghACAOKgIMIASTIgQgBJQgDioCECAGkyIEIASUkiAOKgIUIA2TIgQgBJSSEJsBIQQgDkEwaiQAIAQgBIwgBCAAGyADGwulAgIKfQF/IwBBMGsiDiQAIAIqAgAgASoCEJMiCiABKgIEIgSUIAIqAgQgAUEUaioCAJMiCyABKgIAIgaUkyIHIAeSIQcgCyABKgIIIgmUIAIqAgggAUEYaioCAJMiBSAElJMiCCAIkiEIIA4gBSABKgIMIgwgB5QgBCAIlCAGIAUgBpQgCiAJlJMiBSAFkiIFlJOSkiINOAIIIA4gCiAMIAiUIAkgBZQgBCAHlJOSkiIEOAIAIA4gCyAMIAWUIAYgB5QgCSAIlJOSkiIGOAIEIA5BDGogACAOIAMQTSAOLQAYIQAgDioCDCAEkyIEIASUIA4qAhAgBpMiBCAElJIgDioCFCANkyIEIASUkhCbASEEIA5BMGokACAEIASMIAQgABsgAxsLpwICCX0BfyABKgKIASIKIAIqAggiBZQgAUGQAWoqAgAiCyACKgIAIgiUkyIGIAaSIQYgCyACKgIEIgmUIAFBjAFqKgIAIgQgBZSTIgcgB5IhBwJAIABBKGoqAgAgBCACKgIMIgwgBpQgBSAHlCAIIAQgCJQgCiAJlJMiBCAEkiIElJOSkoyUIAAqAiQgCiAMIAeUIAkgBJQgBSAGlJOSkpSTIABBLGoqAgAgCyAMIASUIAggBpQgCSAHlJOSkpSTQ6zFJzdgRQ0AIAAqAgRDAACAPyADIAAoAgAblEPNzIw/lCEDIAFBhAFqKAIAQTBsIQIgASgCfCEBA0AgAkEARyENIAJFDQEgAkEwayECIAEqAhghBSABQTBqIQEgAyAFYEUNAAsLIA0LvQICBX8BfSMAQSBrIgIkACACQQhqIgEgAEGoAWoiAyAAQSBqIgQQ/QUgAEHgAWogAkEQaiIFKAIANgIAIABB2AFqIAIpAgg3AgAgAEHsAWogAEHEAWoqAgAiBjgCACAAQegBaiAGOAIAIABB5AFqIAY4AgAgASADIAQQxQIgAEGgAWogAkEYaikCADcCACAAQZgBaiAFKQIANwIAIAAgAikCCDcCkAEgAEHwAWotAAAiAUEBcQRAIABBADYC5AELIAFBAnEEQCAAQQA2AugBCyABQQRxBEAgAEEANgLsAQsgAUEIcQRAIABCADcDkAEgAEGYAWpBADYCAAsgAUEQcQRAIABBlAFqQQA2AgAgAEGcAWpCADcCAAsgAUEgcQRAIABBmAFqQQA2AgAgAEGgAWpCADcDAAsgAkEgaiQAC7QCAgR/AX4jAEGgAWsiASQAIAFB4ABqIgNBFGogAEEUaigCACIENgIAIANBGGoiBSAAKQIMIgc3AwAgA0EgaiIGIAQ2AgAgAUGMAWogBDYCACADQQhqIgQgAEEIaigCADYCACABIAc3AmwgASAHNwKEASABIAApAgA3A2AgAUKBgICAEDcCmAEgAUKAgICAEDcCkAEgAUE4aiABQZABaiIAEKwFIABBCGpCADcDACABQgA3A5ABIAFByABqIAAQrQUgAUEIaiIAQQhqIAQpAwA3AwAgAEEQaiADQRBqKQMANwMAIABBGGogBSkDADcDACAAQSBqIAYpAwA3AwAgAEEoaiADQShqKQMANwMAIAFCgICAgCw3A1ggASABKQNgNwMIIAIgAEHYABCIDRogAUGgAWokAAvDAgIEfwF+IwBBoAFrIgEkACABQeAAaiIDQRRqIABBFGooAgA2AgAgA0EYaiIFIAApAhgiBzcDACADQSBqIgYgAEEgaigCACIENgIAIAFBjAFqIAQ2AgAgA0EIaiIEIABBCGooAgA2AgAgASAAKQIMNwJsIAEgBzcChAEgASAAKQIANwNgIAFCgoCAgCA3ApgBIAFCgICAgBA3ApABIAFBOGogAUGQAWoiABCsBSABQoKAgIAgNwKYASABQoCAgIAQNwKQASABQcgAaiAAEK0FIAFBCGoiAEEIaiAEKQMANwMAIABBEGogA0EQaikDADcDACAAQRhqIAUpAwA3AwAgAEEgaiAGKQMANwMAIABBKGogA0EoaikDADcDACABQoCAgIA8NwNYIAEgASkDYDcDCCACIABB2AAQiA0aIAFBoAFqJAAL4wIBBH8gASABWyAAIABbcUUEQCAAIAGSDwsgAbwiAkGAgID8A0YEQCAAELsEDwsgAkEedkECcSIFIAC8IgNBH3ZyIQQCQAJAAkACQAJAAkAgA0H/////B3EiA0UEQEPbD0nAIQEgBA4DAQECBgsgAkH/////B3EiAkUNAiACQYCAgPwHRw0DIANBgICA/AdHDQRD5MsWwCEBIARBA0YNBSAEQQJ0QZi0wwBqKgIADwsgAA8LQ9sPSUAPC0PbD8k/IACYDwsgA0GAgID8B0cgAkGAgIDoAGogA09xRQRAQ9sPyT8gAJgPCwJ9IAUEQEMAAAAAIANBgICA6ABqIAJJDQEaCyAAIAGVixC7BAshAQJAAkACQCAEDgMEAQIACyABQy69uzOSQ9sPScCSDwsgAYwPC0PbD0lAIAFDLr27M5KTDwtD2w9JwCEBIARBA0YNACAEQQJ0QaS0wwBqKgIAIQELIAELswIBAn8jAEEgayICJABBgQEhAyACIAEoAgAEfyABKwIEEAAFQYEBCzYCDCACIAEoAgwEfyABKwIQEAAFQYEBCzYCECACIAErAiAQADYCGCACIAErAigQADYCHCACIABBCGogACACQRhqIAJBHGoQ5As2AhQgAiACQRRqIAAgAkEMaiACQRBqEKMKIAIoAgQhAQJAAkAgAigCAARAQQIhACABQYMBSw0BDAILQQFBAiABEAEiAEEBRhtBACAAGyEAIAFBhAFJDQELIAEQAgsgAigCECIBQYQBTwRAIAEQAgsgAigCDCIBQYQBTwRAIAEQAgsgAigCFCIBQYQBTwRAIAEQAgsgAigCHCIBQYQBTwRAIAEQAgsgAigCGCIBQYQBTwRAIAEQAgsgAkEgaiQAIABBAXELqAIBCX0gACABKgIYIAEqAgwiByABKgIAIgWTIgYgBpQgAUEQaioCACIGIAEqAgQiCJMiAyADlJIgAUEUaioCACIDIAEqAggiBJMiCSAJlJIQmwFDAAAAP5SSOAIMIAYgCJJDAAAAP5QiCSACKgIAIgaUIAcgBZJDAAAAP5QiCiACKgIEIgeUkyIFIAWSIQUgCiACKgIIIgiUIAMgBJJDAAAAP5QiBCAGlJMiAyADkiEDIAAgAkEYaioCACAEIAIqAgwiCyAFlCAGIAOUIAcgByAElCAJIAiUkyIEIASSIgSUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAOUIAggBJQgBiAFlJOSkpI4AgQgACACKgIQIAogCyAElCAHIAWUIAggA5STkpKSOAIAC+0CAQZ/IwBBEGsiAiQAAkAgASgCBCIDRQRAIABBAjYCAAwBCyABIANBAWs2AgQCQAJAAkAgASgCACIBKAIEIgUEQCABIAVBAWs2AgQgASABKAIAIgNBAWo2AgACQAJAAkAgAy0AACIEDgICAQALQZH7wwAtAAAaQRBBBBCCDCIBRQ0DIAEgBDYCBCABQQQ6AAAMBQsgBUEFSQ0DIAEgBUEFayIENgIEIAEgA0EFajYCACAEQQRJBEAgAkKByoCAwAA3AwggAkEIahDqCiEBDAULIAMoAAEhBiABIAVBCWs2AgQgASADQQlqNgIAIAMoAAUhB0EBIQQLIAAgBzYCCCAAIAY2AgQgACAENgIADAQLIAJCgcqAgBA3AwggAkEIahDqCiEBDAILQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyACQoHKgIDAADcDCCACQQhqEOoKIQELIABBAzYCACAAIAE2AgQLIAJBEGokAAu9AgIGfwF+IwBBIGsiBiQAAkACQAJAIABFDQAgACgCACIFQX9GDQEgACAFQQFqNgIAIAJFDQAgAigCACIFQX9GDQEgAiAFQQFqNgIAIANFDQAgAygCACIFQX9GDQEgAyAFQQFqNgIAIABBBGogAb0iC6cgC0IgiKcQmAoiBUUNAiAFQTRqKAIAIgcoAgghCCAFKAIwIQkgBkEIaiIKQQhqIAJBDGooAgA2AgAgBiACKQIENwMIIAZBHGogA0EMaigCADYCACAGIAMpAgQ3AhQgCSAIQQFrQXhxakEIaiAFQfQAaiAKIAQgBygCIBEQACEFIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAIAZBIGokACAFDwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQALtQICCn0BfyACKgIAIgYgBpQgAioCCCIHIAeUkhCbASEDIAEqAgQiBEMAAAAAIAcgA5UgA0MAAAA0XyING5QhCiAEQwAAgD8gBiADlSANG5QhCwJAAkACQAJAAkACQCACKgIEIgggASoCACIFjCIJYEUNACADIARfRQ0AIAUgCGANAQsgBSAIXQ0BQQAhAiAIIAldRQ0DIAMgBF8NBCAKIQcgCyEGDAQLIAQgA5MhDEEBIQIgCCAFkiIDIAUgCJMiBF5FDQEgBCAMXUUNASAFIQkMAwtBACECIAMgBF9FBEAgCiEHIAUhCSALIQYMAwsgBSEJDAILIAMgBF1FDQAgAyAMXQ0BCyAKIQcgCCEJIAshBgsgAEEDNgIQIAAgAjoADCAAIAc4AgggACAJOAIEIAAgBjgCAAu/AgIIfQF/IwBBIGsiCyQAIAEqAgAiAyADlCABKgIEIgMgA5SSIAEqAggiAyADlJIQmwEhAyABKgIMIgZDAAAAAGBFBEAgC0EUakIANwIAIAtBATYCDCALQeSXwgA2AgggC0G0isIANgIQIAtBCGpBwK7DABDcCgALIAAgAyAGkjgCDCAAIAJBGGoqAgAgAioCDCIDIAIqAgAiBkMAAAAAlCIEIAIqAgQiCEMAAAAAlCIFkyIHIAeSIgeUIAYgAioCCCIJQwAAAACUIgogBJMiBCAEkiIElCAIIAUgCpMiBSAFkiIFlJOSQwAAAACSkjgCCCAAIAJBFGoqAgAgAyAElCAJIAWUIAYgB5STkkMAAAAAkpI4AgQgACACKgIQIAMgBZQgCCAHlCAJIASUk5JDAAAAAJKSOAIAIAtBIGokAAuiAgEJfSAAIAEqAgwiByABKgIAIgWTIgYgBpQgAUEQaioCACIGIAEqAgQiCJMiAyADlJIgAUEUaioCACIDIAEqAggiBJMiCSAJlJIQmwFDAAAAP5Q4AgwgCCAGkkMAAAA/lCIJIAIqAgAiBpQgBSAHkkMAAAA/lCIKIAIqAgQiB5STIgUgBZIhBSAKIAIqAggiCJQgBCADkkMAAAA/lCIEIAaUkyIDIAOSIQMgACACQRhqKgIAIAQgAioCDCILIAWUIAYgA5QgByAHIASUIAkgCJSTIgQgBJIiBJSTkpKSOAIIIAAgAkEUaioCACAJIAsgA5QgCCAElCAGIAWUk5KSkjgCBCAAIAIqAhAgCiALIASUIAcgBZQgCCADlJOSkpI4AgALtgIBBH8gAEIANwIQIAACf0EAIAFBgAJJDQAaQR8gAUH///8HSw0AGiABQQYgAUEIdmciA2t2QQFxIANBAXRrQT5qCyICNgIcIAJBAnRB8IHEAGohBAJAQYyFxAAoAgAiBUEBIAJ0IgNxRQRAQYyFxAAgAyAFcjYCACAEIAA2AgAgACAENgIYDAELAkACQCABIAQoAgAiAygCBEF4cUYEQCADIQIMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQQDQCADIARBHXZBBHFqQRBqIgUoAgAiAkUNAiAEQQF0IQQgAiEDIAIoAgRBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgATYCCA8LIAUgADYCACAAIAM2AhgLIAAgADYCDCAAIAA2AggLuQIBB38jAEEQayICJABBASEHAkACQCABKAIUIgRBJyABQRhqKAIAKAIQIgURAwANACACIAAoAgBBgQIQhAICQCACLQAAQYABRgRAIAJBCGohBkGAASEDA0ACQCADQYABRwRAIAItAAoiACACLQALTw0EIAIgAEEBajoACiAAQQpPDQYgACACai0AACEBDAELQQAhAyAGQQA2AgAgAigCBCEBIAJCADcDAAsgBCABIAURAwBFDQALDAILQQogAi0ACiIBIAFBCk0bIQAgAi0ACyIDIAEgASADSRshBgNAIAEgBkYNASACIAFBAWoiAzoACiAAIAFGDQMgASACaiEIIAMhASAEIAgtAAAgBREDAEUNAAsMAQsgBEEnIAURAwAhBwsgAkEQaiQAIAcPCyAAQQpBkPDDABDjCAALtAIDBH8BfgF9IAEoAgghBCABKAIAIQUgACgCACICKAIIIQMgAigCBCADa0EHTQRAIAIgA0EIEMgGIAIoAgghAwsgAiADQQhqIgA2AgggAigCACADaiAErTcAACAEBEAgBEECdCEDA0AgBSoCACEHIAVBBGohBSACIAIoAgQgAGtBA0sEfyAABSACIABBBBDIBiACKAIICyIEQQRqIgA2AgggAigCACAEaiAHOAAAIANBBGsiAw0ACwsgATUCDCEGIAIoAgQgAGtBB00EQCACIABBCBDIBiACKAIIIQALIAIoAgAgAGogBjcAACACIABBCGoiADYCCCABNQIQIQYgAigCBCAAa0EHTQRAIAIgAEEIEMgGIAIoAgghAAsgAiAAQQhqNgIIIAIoAgAgAGogBjcAAEEAC8cCAgR/AX4jAEEgayIFJAACQAJAAkACQCAARQ0AIAAoAgAiBEF/Rg0BIAAgBEEBajYCACACRQ0AIAIoAgAiBEF/Rg0BIAIgBEEBajYCACAAQQRqIAG9IginIAhCIIinEJgKIgRFDQIgBUEQaiIGQQhqIAJBDGooAgA2AgAgBSACKQIENwMQIAUgBCgCMCAEQTRqKAIAIgcoAghBAWtBeHFqQQhqIARB9ABqIAYgA0EARyAHKAI8EQcAIAIgAigCAEEBazYCACAAIAAoAgBBAWs2AgBBkfvDAC0AABpBFEEEEIIMIgBFDQMgAEEANgIAIAAgBSkCADcCBCAAQQxqIAVBCGopAgA3AgAgBUEgaiQAIAAPCxD4DAALEPkMAAtBhLbAAEHMAEH4tsAAEOEJAAtBBEEUQdCBxAAoAgAiAEGXByAAGxEAAAALrAIBCn0gACABKgIAIgJDq6qqPpQgASoCDCIDQ6uqqj6UkiABKgIYIgRDq6qqPpSSIgcgBJMiBCAElCABKgIEIghDq6qqPpQgAUEQaioCACIJQ6uqqj6UkiABQRxqKgIAIgVDq6qqPpSSIgQgBZMiBSAFlJIgASoCCCIKQ6uqqj6UIAFBFGoqAgAiC0Orqqo+lJIgAUEgaioCACIGQ6uqqj6UkiIFIAaTIgYgBpSSIgYgByADkyIDIAOUIAQgCZMiAyADlJIgBSALkyIDIAOUkiIDIAcgApMiAiAClCAEIAiTIgIgApSSIAUgCpMiAiAClJIiAkMAAAAAIAJDAAAAAF4bIgIgAiADXRsiAiACIAZdGxCbATgCDCAAIAU4AgggACAEOAIEIAAgBzgCAAuVCAEIfyMAQdAHayIHJAACQAJAAkAgA0UNACADKAIAIgVBf0YNASADIAVBAWo2AgAgBEUNACAEKAIAIgVBf0YNASAEIAVBAWo2AgAjAEHgAGsiBkHNAGoiCEELakIANwAAIAZBOmoiCUELakIANwAAIAZBJ2oiCkELakIANwAAIAZBFGoiC0ELakIANwAAIAdBiAVqIgVB+ABqQgA3AwAgBUHwAGpCADcDACAFQgA3A2ggBkEBaiIMQQtqQgA3AAAgBUIANwJUIAVB3ABqQgA3AgAgBUG4AWogCEEPaigAADYAACAGQgA3AFAgBUGxAWogCEEIaikAADcAACAFIAYpAE03AKkBIAZCADcAPSAGQgA3ACogBkIANwAXIAZCADcABCAFQdQBaiAJQQ9qKAAANgAAIAVBzQFqIAlBCGopAAA3AAAgBSAGKQA6NwDFASAFIAYpACc3AOEBIAVB6QFqIApBCGopAAA3AAAgBUHwAWogCkEPaigAADYAACAFIAYpABQ3AP0BIAVBhQJqIAtBCGopAAA3AAAgBUGMAmogC0EPaigAADYAACAFQagCaiAMQQ9qKAAANgAAIAVBoQJqIAxBCGopAAA3AAAgBSAGKQABNwCZAiAFQgA3AwggBUIANwMAIAVBjAFqQgA3AgAgBUIANwKEASAFQYGOgAg2AboCIAVBADsBuAIgBUEAOgC0AiAFQv////sHNwKsAiAFQQA6AJgCIAVC////+wc3A5ACIAVBADoA/AEgBUL////7BzcC9AEgBUEAOgDgASAFQv////sHNwPYASAFQQA6AMQBIAVC////+wc3ArwBIAVBAToAqAEgBUL////7BzcDoAEgBSACOAKcASAFIAE4ApgBIAUgADgClAEgBUGAgID8AzYCgAEgBUGAgID8AzYCZCAFQf////sHNgJQIAVCgICAgPD//79/NwNIIAVC////+////7//ADcDQCAFQv////sHNwM4IAVCgICAgPD//79/NwMwIAVC////+////7//ADcDKCAFQv////sHNwMgIAVCgICAgPD//79/NwMYIAVC////+////7//ADcDECAHQfgFaiADQQRqIgZBCGooAgA2AgAgB0HwBWogBikCADcDACAHQcgCaiIGIAVBwAIQiA0aIAdB1ANqIARBDGooAgA2AgAgByAEKQIENwLMAyAHQQhqIgggBkHAAhCIDRogBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACAFQQRqIAhBwAIQiA0aQZH7wwAtAAAaQcgCQQgQggwiA0UNAiADQQA2AgAgA0EEaiAHQYgFakHEAhCIDRogB0HQB2okACADDwsQ+AwACxD5DAALQQhByAJB0IHEACgCACIDQZcHIAMbEQAAAAvFAgEIfyMAQTBrIgIkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAEE8aiIDKAIAIQQgA0ECNgIAIARBAkcEQCACQShqIgMgAEHoAGopAgA3AwAgAkEgaiIFIABB4ABqKQIANwMAIAJBGGoiBiAAQdgAaikCADcDACACQRBqIgcgAEHQAGopAgA3AwAgAkEIaiIIIABByABqKQIANwMAQZH7wwAtAAAaIAIgAEFAaykCADcDAEE4QQQQggwiAUUNAyABIAQ2AgQgAUEANgIAIAEgAikDADcCCCABQRBqIAgpAwA3AgAgAUEYaiAHKQMANwIAIAFBIGogBikDADcCACABQShqIAUpAwA3AgAgAUEwaiADKQMANwIACyACQTBqJAAgAQ8LEPgMAAsQ+QwAC0EEQThB0IHEACgCACIAQZcHIAAbEQAAAAu0AgIIfQF/IwBBIGsiCyQAIAEqAgAiAyADlCABKgIEIgMgA5SSEJsBIQMgASoCCCIGQwAAAABgRQRAIAtBFGpCADcCACALQQE2AgwgC0Hkl8IANgIIIAtBtIrCADYCECALQQhqQcCuwwAQ3AoACyAAIAMgBpI4AgwgACACQRhqKgIAIAIqAgwiAyACKgIAIgZDAAAAAJQiBCACKgIEIghDAAAAAJQiBZMiByAHkiIHlCAGIAIqAggiCUMAAAAAlCIKIASTIgQgBJIiBJQgCCAFIAqTIgUgBZIiBZSTkkMAAAAAkpI4AgggACACQRRqKgIAIAMgBJQgCSAFlCAGIAeUk5JDAAAAAJKSOAIEIAAgAioCECADIAWUIAggB5QgCSAElJOSQwAAAACSkjgCACALQSBqJAALiggBCH8jAEHQB2siBSQAAkACQAJAIAFFDQAgASgCACIDQX9GDQEgASADQQFqNgIAIAJFDQAgAigCACIDQX9GDQEgAiADQQFqNgIAIwBB4ABrIgRBzQBqIgZBC2pCADcAACAEQTpqIgdBC2pCADcAACAEQSdqIghBC2pCADcAACAEQRRqIglBC2pCADcAACAFQYgFaiIDQfgAakIANwMAIANB8ABqQgA3AwAgA0IANwNoIANCADcDkAEgA0GYAWpCADcDACAEQQFqIgpBC2pCADcAACADQdwAakIANwIAIANCADcCVCAEQgA3AFAgA0GxAWogBkEIaikAADcAACAEQgA3AD0gBEIANwAqIARCADcAFyAEQgA3AAQgAyAEKQBNNwCpASADQbgBaiAGQQ9qKAAANgAAIAMgBCkAOjcAxQEgA0HNAWogB0EIaikAADcAACADQdQBaiAHQQ9qKAAANgAAIAMgBCkAJzcA4QEgA0HpAWogCEEIaikAADcAACADQfABaiAIQQ9qKAAANgAAIANBjAJqIAlBD2ooAAA2AAAgA0GFAmogCUEIaikAADcAACADIAQpABQ3AP0BIANBqAJqIApBD2ooAAA2AAAgA0GhAmogCkEIaikAADcAACADIAQpAAE3AJkCIANBEGpBADYCACADQQhqQgA3AwAgA0IANwMAIANBgAI7AbwCIANBgIKAODYCuAIgA0EAOgC0AiADQv////sHNwKsAiADQQA6AJgCIANC////+wc3A5ACIANBADoA/AEgA0L////7BzcC9AEgA0EAOgDgASADQv////sHNwPYASADQQA6AMQBIANC////+wc3ArwBIANBADoAqAEgA0L////7BzcDoAEgA0IANwOIASADQoCAgPwDNwOAASADQYCAgPwDNgJkIANB////+wc2AlAgA0KAgICA8P//v383A0ggA0L////7////v/8ANwNAIANC////+wc3AzggA0KAgICA8P//v383AzAgA0L////7////v/8ANwMoIANC////+wc3AyAgA0KAgICA8P//v383AxggAyAAOAIUIAVB+AVqIAFBBGoiBEEIaigCADYCACAFQfAFaiAEKQIANwMAIAVByAJqIgQgA0HAAhCIDRogBUHUA2ogAkEMaigCADYCACAFIAIpAgQ3AswDIAVBCGoiBiAEQcACEIgNGiACIAIoAgBBAWs2AgAgASABKAIAQQFrNgIAIANBBGogBkHAAhCIDRpBkfvDAC0AABpByAJBCBCCDCIBRQ0CIAFBADYCACABQQRqIAVBiAVqQcQCEIgNGiAFQdAHaiQAIAEPCxD4DAALEPkMAAtBCEHIAkHQgcQAKAIAIgFBlwcgARsRAAAAC4MIAQh/IwBB0AdrIgQkAAJAAkACQCAARQ0AIAAoAgAiAkF/Rg0BIAAgAkEBajYCACABRQ0AIAEoAgAiAkF/Rg0BIAEgAkEBajYCACMAQeAAayIDQc0AaiIFQQtqQgA3AAAgA0E6aiIGQQtqQgA3AAAgA0EnaiIHQQtqQgA3AAAgA0EUaiIIQQtqQgA3AAAgBEGIBWoiAkH4AGpCADcDACACQfAAakIANwMAIAJCADcDaCACQgA3A5ABIAJBmAFqQgA3AwAgA0EBaiIJQQtqQgA3AAAgAkHcAGpCADcCACACQgA3AlQgA0IANwBQIAJBsQFqIAVBCGopAAA3AAAgA0IANwA9IANCADcAKiADQgA3ABcgA0IANwAEIAIgAykATTcAqQEgAkG4AWogBUEPaigAADYAACACIAMpADo3AMUBIAJBzQFqIAZBCGopAAA3AAAgAkHUAWogBkEPaigAADYAACACIAMpACc3AOEBIAJB6QFqIAdBCGopAAA3AAAgAkHwAWogB0EPaigAADYAACACQYwCaiAIQQ9qKAAANgAAIAJBhQJqIAhBCGopAAA3AAAgAiADKQAUNwD9ASACQagCaiAJQQ9qKAAANgAAIAJBoQJqIAlBCGopAAA3AAAgAiADKQABNwCZAiACQgA3AwggAkIANwMAIAJBgAI7AbwCIAJBBzYCuAIgAkEAOgC0AiACQv////sHNwKsAiACQQA6AJgCIAJC////+wc3A5ACIAJBADoA/AEgAkL////7BzcC9AEgAkEAOgDgASACQv////sHNwPYASACQQA6AMQBIAJC////+wc3ArwBIAJBADoAqAEgAkL////7BzcDoAEgAkIANwOIASACQoCAgPwDNwOAASACQYCAgPwDNgJkIAJB////+wc2AlAgAkKAgICA8P//v383A0ggAkL////7////v/8ANwNAIAJC////+wc3AzggAkKAgICA8P//v383AzAgAkL////7////v/8ANwMoIAJC////+wc3AyAgAkKAgICA8P//v383AxggAkL////7////v/8ANwMQIARB+AVqIABBBGoiA0EIaigCADYCACAEQfAFaiADKQIANwMAIARByAJqIgMgAkHAAhCIDRogBEHUA2ogAUEMaigCADYCACAEIAEpAgQ3AswDIARBCGoiBSADQcACEIgNGiABIAEoAgBB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AyAMGyEDDAELIAogC11FDQAgBCEDIAEhAgsgACACKgIIIAkgASoCJCIElJI4AgggACACKgIEIAggBJSSOAIEIAAgAyAHIASUkjgCAAuZAgICfwh9IAAoAggiAgRAIAAoAgAiASoCCCEHIAEqAgQhCCABKgIAIQQCQCACQQFGBEAgByEJIAghBSAEIQMMAQsgASACQQxsaiECIAFBDGohASAEIQMgCCEFIAchCQNAIAkgAUEIaioCACIKIAkgCmAbIQkgBSABQQRqKgIAIgYgBSAGYBshBSAHIAogByAKXxshByAIIAYgBiAIYBshCCADIAEqAgAiBiADIAZgGyEDIAQgBiAEIAZfGyEEIAIgAUEMaiIBRw0ACwsgACoCYCADIASTQwAAAD+UIgQgBSAIk0MAAAA/lCIDIAMgBGAbIgUgCSAHk0MAAAA/lCIDIAMgBWAbkg8LQfKYwgBB0gBB1JnCABDhCQALlwIBAX8jAEEQayICJAAgACgCACEAAn8gASgCACABKAIIcgRAIAJBADYCDCABIAJBDGoCfwJAAkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETw0CIAIgAEE/cUGAAXI6AA4gAiAAQQx2QeABcjoADCACIABBBnZBP3FBgAFyOgANQQMMAwsgAiAAOgAMQQEMAgsgAiAAQT9xQYABcjoADSACIABBBnZBwAFyOgAMQQIMAQsgAiAAQT9xQYABcjoADyACIABBEnZB8AFyOgAMIAIgAEEGdkE/cUGAAXI6AA4gAiAAQQx2QT9xQYABcjoADUEECxDUAQwBCyABKAIUIAAgAUEYaigCACgCEBEDAAshASACQRBqJAAgAQu8AQAgACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQSRqKAIABEAgACgCIBCaAgsgAEEwaigCAARAIABBLGooAgAQmgILIABBxABqKAIABEAgACgCQBCaAgsgAEHQAGooAgAEQCAAQcwAaigCABCaAgsgAEHkAGooAgAEQCAAKAJgEJoCCyAAQfwAaigCAARAIAAoAngQmgILIABBiAFqKAIABEAgACgChAEQmgILIAAQmgILjgIBBH8gACIEKAIIIgIgAUkEQCACIQMgASACayIFIAQoAgQgAmtLBEAgBCACIAUQiQYgBCgCCCEDCyAEKAIAIANBAnRq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BEL////7BzcCrAIgBEEAOgCYAiAEQv////sHNwOQAiAEQQA6APwBIARC////+wc3AvQBIARBADoA4AEgBEL////7BzcD2AEgBEEAOgDEASAEQv////sHNwK8ASAEQQA6AKgBIARC////+wc3A6ABIARCADcDiAEgBEKAgID8AzcDgAEgBEGAgID8AzYCZCAEQf////sHNgJQIARCgICAgPD//79/NwNIIARC////+////7//ADcDQCAEQv////sHNwM4IARCgICAgPD//79/NwMwIARC////+////7//ADcDKCAEQv////sHNwMgIARCgICAgPD//79/NwMYIARC////+////7//ADcDECAGQcADaiAJQQhqKAIANgIAIAZBuANqIAkpAgA3AwAgBkEQaiIDIARBwAIQiA0aIAZBnAFqIApBCGooAgA2AgAgBiAKKQIANwKUASAEIANBwAIQiA0aIAZBkAVqIgVBCGogESgCADYCACAGIAYpAgQ3A5AFIARB2ABqIAUQ0gMgAyAEQcACEIgNGiADQfQAaiAQENIDIAggA0HAAhCIDRoMAgsgCEECOgC9AgwBCyAIQQI6AL0CCyAGQaAFaiQAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhACAHLQDFAkECRwRAIAdB0AJqIAdBCGpBwAIQiA0aQZH7wwAtAAAaQcgCQQgQggwiAEUNAyAAQQA2AgAgAEEEaiAHQcwCakHEAhCIDRoLIAdBkAVqJAAgAA8LEPgMAAsQ+QwAC0EIQcgCQdCBxAAoAgAiAEGXByAAGxEAAAALvwUCCn8BfiMAQUBqIggkAAJAAkAgAARAIAAoAgAiBEF/Rg0BIAAgBEEBajYCACAIQQhqIQQjAEHwAGsiBSQAAkACQCAAQQRqIgcgAr0iDqcgDkIgiKcQmAoiBgRAIAcgAb0iDqcgDkIgiKcQmAoiB0UNASAFQThqIAdB9ABqIAcoAjAgB0E0aigCACIHKAIIQQFrQXhxakEIaiAHIAZB9ABqIAYoAjAgBkE0aigCACIGKAIIQQFrQXhxakEIaiAGIAMQogEgBAJ/QQAgBSgCOCIHQQJGDQAaIAVBMGoiCSAFQThqIgZBNGooAgA2AgAgBUEoaiIKIAZBLGopAgA3AwAgBUEgaiILIAZBJGopAgA3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AAsgAyAqQdT2wQAQ4wgACyADICJBkPPBABDjCAALAkAgKQRAIBsgGygCdCArazYCdAJAAkACQAJAAkAgGygCCCIVRQRAQQAhA0EAIQYMAQsgGygCAEEEaiEDQQAhCkGwisIALQAAIRZBsYrCAC0AACESA0ACQCADKAIAIgxB/////wdxIgZB/////wdGDQAgBiAoTw0EIAZBBXYiBiAlTw0EIBYgEiAXIAZBAnRqKAIAIAx2QQFxG0H/AXENAEEBIQYgCkEBaiEDDAILIANBCGohAyAVIApBAWoiCkcNAAtBACEGDAELIAMgFUYNACAVIANrIQogGygCACADQQN0aiEDA0ACQAJAIANBBGooAgAiEkH/////B3EiDEH/////B0YNACAMIChPDQggDEEFdiIMICVPDQhBsIrCAEGxisIAIBcgDEECdGooAgAgEnZBAXEbLQAADQAgBkEBaiEGDAELIAMgBkEDdGsgAykCADcCAAsgA0EIaiEDIApBAWsiCg0ACwsgGyAVIAZrNgIIAkACQCAbQShqKAIAIhVFBEBBACEDQQAhBgwBCyAbKAIgQQRqIQNBACEKQbCKwgAtAAAhFkGxisIALQAAIRIDQAJAIAMoAgAiDEH/////B3EiBkH/////B0YNACAGIChPDQQgBkEFdiIGICVPDQQgFiASIBcgBkECdGooAgAgDHZBAXEbQf8BcQ0AQQEhBiAKQQFqIQMMAgsgA0EIaiEDIBUgCkEBaiIKRw0AC0EAIQYMAQsgAyAVRg0AIBUgA2shCiAbKAIgIANBA3RqIQMDQAJAAkAgA0EEaigCACISQf////8HcSIMQf////8HRg0AIAwgKE8NCCAMQQV2IgwgJU8NCEGwisIAQbGKwgAgFyAMQQJ0aigCACASdkEBcRstAAANACAGQQFqIQYMAQsgAyAGQQN0ayADKQIANwIACyADQQhqIQMgCkEBayIKDQALCyAbIBUgBms2AiggG0HIAGooAgAiFUUEQEEAIQNBACEGDAILIBsoAkBBBGohA0EAIQpBsIrCAC0AACEWQbGKwgAtAAAhEgNAAkAgAygCACIMQf////8HcSIGQf////8HRg0AIAYgKE8NAiAGQQV2IgYgJU8NAiAWIBIgFyAGQQJ0aigCACAMdkEBcRtB/wFxDQBBASEGIApBAWohAwwDCyADQQhq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CGoiAEL////7983EgTs3AiAgAEKAgID8883EwTo3AhggAEKAgID8g4CAwD83AhAgAEK/hrvJo7PmjD83AgggAEKEgICAkJGixDw3AgAgAEKAgYCAEDcCMCAAQoSAgIAQNwIoQZH7wwAtAAAaQTxBBBCCDCIARQRAQQRBPEHQgcQAKAIAIgFBlwcgARsRAAAACyAAQQA2AgAgACABKQIINwIEIABBDGogAUEQaikCADcCACAAQRRqIAFBGGopAgA3AgAgAEEcaiABQSBqKQIANwIAIABBJGogAUEoaikCADcCACAAQSxqIAFBMGopAgA3AgAgAEE0aiABQThqKQIANwIAIAFBQGskACAAC6MBAQF/IwBBQGoiASQAAkAgAARAIAAoAgANASABQThqIABBNGooAgA2AgAgAUEwaiAAQSxqKQIANwMAIAFBKGogAEEkaikCADcDACABQSBqIABBHGopAgA3AwAgAUEYaiAAQRRqKQIANwMAIAFBEGogAEEMaikCADcDACABIAApAgQ3AwggABCaAiABQQhqEP8FIAFBQGskAA8LEPgMAAsQ+QwAC80DAQV/IwBBQGoiASQAIAFBDGohAiMAQSBrIgMkACADQQA2AhggA0EIakEIQaAFIANBFGoQ2gYgAygCDCEAAkAgAygCCEUEQEEEIQQMAQsgAEGBgICAeEYEQEEIIQAMAQsgAARAIAAgA0EQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIABCADcD+AMgAEKAgICAEDcD0AIgAEKAgICAEDcDqAEgAEEBNgIIIABCgICAgBA3AwAgAkIENwIoIAJCgICAgMAANwIYIAJCBDcCECACIAQ2AgwgAiAANgIIIAJCATcCACAAQYAEakEANgIAIABB2AJqQQM2AgAgAEGwAWpBAjYCACACQTBqQQA2AgAgAkEgakIANwIAIANBIGokAEGR+8MALQAAGkE4QQQQggwiAEUEQEEEQThB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIAAgASkCDDcCBCAAQQxqIAFBFGopAgA3AgAgAEEUaiABQRxqKQIANwIAIABBHGogAUEkaikCADcCACAAQSRqIAFBLGopAgA3AgAgAEEsaiABQTRqKQIANwIAIABBNGogAUE8aigCADYCACABQUBrJAAgAAvCAQID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ESAVIAIqAlCSIRUgCSALIAeUQwAAAACSlCIXIAIqAkiSIRogFiACKgJEkiEWIBcgAioCQJIhFyAGIAaUIhQgCyALlCIYIAcgB5QiB5KSIQYgCSAHIAaSlCACKgJMkiELIAkgGCAGkpQgAioCPJIhGCAJIBQgBpKUIAIqAlySCyEJIAJBPGogARCBAgJ9IApDAAAAAFsEQCACKgJcIQYgAioCWCEPIAIqAlQhECACKgJQIQwgAioCTCEHIAIqAkghEiACKgJEIQ0gAioCQCEOIAIqAjwMAQsgCCAOIBCTIgogDSAPkyIGlEMAAAAAkpQiDSACKgJYkiEPIAggDCASkyIHIAaUQwAAAACSlCIOIAIqAlSSIRAgDSACKgJQkiEMIAggByAKlEMAAAAAkpQiFCACKgJIkiESIA4gAioCRJIhDSAUIAIqAkCSIQ4gBiAGlCIGIAcgB5QiFCAKIAqUIgeSkiEKIAggBiAKkpQgAioCXJIhBiAIIAcgCpKUIAIqAkySIQcgCCAUIAqSlCACKgI8kgshCCACIAkgBpI4AjggAiATIA+SOAI0IAIgESAQkjgCMCACIBUgDJI4AiwgAiALIAeSOAIoIAIgGiASkjgCJCACIBYgDZI4AiAgAiAXIA6SOAIcIAIgGCAIkjgCGCADIAJBDGogGSACQRhqEI8CDAILIAMgACkCADcCACADQShqIABBKGooAgA2AgAgA0EgaiAAQSBqKQIANwIAIANBGGogAEEYaikCADcCACADQRBqIABBEGopAgA3AgAgA0EIaiAAQQhqKQIANwIADAELIAMgASkCADcCACADQShqIAFBKGooAgA2AgAgA0EgaiABQSBqKQIANwIAIANBGGogAUEYaikCADcCACADQRBqIAFBEGopAgA3AgAgA0EIaiABQQhqKQIANwIACyACQeAAaiQAIABBKGogA0EoaigCADYCACAAQSBqIANBIGopAgA3AgAgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACAEKQIENwIAIARBMGokAAuLAQEFfSACKgIAIgUgBZQgAioCBCIGIAaUkiACKgIIIgcgB5SSIgggASoCACIEIASUXyIBQQAgAxtFBEAgACAHIAQgCBCbAZUiBJQ4AgggACAGIASUOAIEIAAgBSAE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aiAAQRxqKQIANwMAIAFBGGogAEEUaikCADcDACABQRBqIABBDGopAgA3AwAgASAAKQIENwMIIAAQmgIgAUEIahDzBiABQTBqJAAPCxD4DAALEPkMAAucAwEFfyMAQTBrIgEkACABQQhqIQMjAEEgayICJAAgAkEANgIYIAJBCGpBCEGgCyACQRRqENoGIAIoAgwhAAJAIAIoAghFBEBBBCEEDAELIABBgYCAgHhGBEBBCCEADAELIAAEQCAAIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAAQgA3A7gIIABCgICAgBA3A9AFIABCgICAgBA3A+gCIABBATYCCCAAQoCAgIAQNwMAIANCgICAgMAANwIYIANCBDcCECADIAQ2AgwgAyAANgIIIANCATcCACAAQcAIakEANgIAIABB2AVqQQM2AgAgAEHwAmpBAjYCACADQSBqQgA3AgAgAkEgaiQAQZH7wwAtAAAaQSxBBBCCDCIARQRAQQRBLEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgACABKQIINwIEIABBDGogAUEQaikCADcCACAAQRRqIAFBGGopAgA3AgAgAEEcaiABQSBqKQIANwIAIABBJGogAUEoaikCADcCACABQTBqJAAgAAuMAQIBfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IganIAZCIIinEIsHIgVFDQIgBSgCAARAIAVBJGogBDgCACAFQSBqIAM4AgAgBUEcaiACOAIAIAUgBSgCcEEEcjYCcAsgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQAL2Q8BCn8jAEEwayIHJAACQCAABEAgACgCAA0BIAdBKGogAEEkaigCADYCACAHQSBqIABBHGopAgA3AwAgB0EYaiAAQRRqKQIANwMAIAdBEGogAEEMaikCADcDACAHIAApAgQ3AwggABCaAiAHQQhqIgkQ7wEgCUEUaiIGKAIAIQECQAJAAkACQAJAAkACQAJAIAkoAhAiAkEBaw4FAQIHBwcACyABIAEoAoQCIgBBAWs2AoQCIABBAUcNBSABIAEoAkAiACABKALIASIDcjYCQCAAIANxRQRAIAFBgAFqEPABIAFBoAFqEPABCyABLQCIAiEAIAFBAToAiAIgAEUNBSAB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khCbASECIAEqAgwiA0MAAAAAYEUEQCAEQRRqQgA3AgAgBEEBNgIMIARB5JfCADYCCCAEQbSKwgA2AhAgBEEIakHArsMAENwKAAsgAEEANgIIIABCADcCACAAIAIgA5I4AgwgBEEgaiQAC48BAgR/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBFGoiBEEIaiIFQQA2AgAgAkIBNwIUIARBvLnDACABELICGiACQRBqIAUoAgAiATYCACACIAIpAhQiBjcDCCADQQhqIAE2AgAgAyAGNwIACyAAQZi8wwA2AgQgACADNgIAIAJBIGokAAuFAQECfyMAQRBrIgQkAAJAIAFBB2pBACABa3EiA0EIayADSw0AIAIgA2oiAiADSQ0AIAJBgICAgHhBBCABIAFBBE0bIgFrSw0AIAAgATYCACAAIAEgAmpBAWtBACABa3E2AgQgBEEQaiQADwtBnMDDAEErIARBD2pByMDDAEH0wMMAEIAIAAudAQIBfwF+AkACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgAiA0F/Rg0BIAIgA0EBajYCACAAQQRqIAG9IgSnIARCIIinEIoHIgNFDQIgA0GQAWogAkEEaiADQbACaiADQSBqEJcBIAIgAigCAEEBazYCACAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAuSAQIBfwF+AkACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAFBBGogAr0iBKcgBEIgiKcQmAoiA0UNAiADKwIEIQIgAygCACEDIAEgASgCAEEBazYCACAAIAJEAAAAAAAAAAAgAxs5AwggACADQQBHNgIADwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQALmwEBAn8jAEEQayIBJAACQAJAIAAEQCAAKAIAQX9GDQEgAUEIaiICIABBDGooAgA2AgBBkfvDAC0AABogASAAKQIENwMAQRBBBBCCDCIARQ0CIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIAIAFBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC3YBA38CQCAALQAAIgFBAWtBB0kNACABBEAgAEEIaigCAEUNASAAKAIEEJoCDAELIAAt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C3cBBX0gAioCACIGIAaUIAIqAggiAyADlJIQmwEiB0MAAAAAXARAIAMgB5UgASoCBCIElCEFIAYgB5UgBJQhBAsgACAFIAMgASoCCCIDlJI4AgggACABKgIAIAIqAgQiBZggBSADlJI4AgQgACAEIAYgA5SSOAIAC4MBAQF/IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgAyAANgIMIANBGGoiAEEMakICNwIAIANBMGoiAUEMakEBNgIAIANBAjYCHCADQaCXwAA2AhggA0ECNgI0IAMgATYCICADIANBEGo2AjggAyADQQxqNgIwIAAQmQUhACADQUBrJAAgAAvqAwEKfyMAQSBrIgMkACADIAE2AhwgAyABNgIYIAMgADYCFCADQQhqIQdBACEBIwBBEGsiAiQAIANBFGoiCCgCACEJAkACQAJAAkACQCAIKAIIIgBFBEAgAkEEQQAQ1wUgAigCBCEBIAIoAgAhAAwBC0EEIQYCQCAAIABBA24iBUEDbEcgBWoiBUUNACAFQarVqtUASw0CIAVBDGwiBEEASA0CIARFDQBBkfvDAC0AABogBEEEEIIMIgZFDQMLQQAhBANAIABBAk0NBCABIAZqIgogASAJaiILKgIAOAIAIApBBGogC0EEaikCADcCACABQQxqIQEgBEEBaiEEIABBA2siAA0ACyACQQhqIAYgBBDXBSACKAIMIQEgAigCCCEAIAVFDQAgBhCaAgsgCCgCBARAIAkQmgILIAcgADYCACAHIAE2AgQgAkEQaiQADAMLENsKAAtBBCAEQdCBxAAoAgAiAEGXByAAGxEAAAALQeybwABBywBBqJ3AABChCwALAkACQCADKAIIIgBFBEBBACEBDAELIAMoAgwhAkGR+8MALQAAGkEMQQQQggwiAUUNASABIAI2AgggASAANgIEIAFBADYCAAsgA0EgaiQAIAEPC0EEQQxB0IHEACgCACIAQZcHIAAbEQAAAAubAQIEfwF+IwBBEGsiAiQAEJkIIQMgAhCZCCIBNgIMQZH7wwAtAAAaIAEpAwghBEEgQQgQggwiAARAIABCADcCFCAAIAM2AhAgACAENwMIIABCgYCAgBA3AwAgASABKAIAIgFBAWs2AgAgAUEBRgRAIAJBDGoQtwkLIAJBEGokACAADwtBCEEgQdCBxAAoAgAiAEGXByAAGxEA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IgQgBUEsaigCAEYEQCAFQShqIAkQpAYgBSgCMCEECyAFIARBAWo2AjAgBSgCKCAEQQR0aiIEQn83AgggBCAQNgIEIAQgDTYCACANIAUoAiQiB08EQCAHIQggDSAHayITQQFqIg4gBUEgaigCACAHa0sEQCAFQRxqIAcgDhCMBiAFKAIkIQgLIAUoAhwgCEEDdGohBCAOQQJPBEAgE0EHcSEKIAdBf3MgDWpBB08EQCATQXhxIQcDQCAEQv////8PNwIAIARBOGpC/////w83AgAgBEEwakL/////DzcCACAEQShqQv////8PNwIAIARBIGpC/////w83AgAgBEEYakL/////DzcCACAEQRBqQv////8PNwIAIARBCGpC/////w83AgAgBEFAayEEIAdBCGsiBw0ACwsgCgRAA0AgBEL/////DzcCACAEQQhqIQQgCkEBayIKDQALCyAIIA5qQQFrIQgLIARC/////w83AgAgBSAIQQFqIgc2AiQLIAcgDU0NBCAFKAIcIA1BA3RqIgQgCTYCBCAEIBA2AgALIAZBf0YEQCAFQTBqKAIAIgZBf0YNBSAGIgQgBUEsaigCAEYEQCAFQShqIAYQpAYgBSgCMCEECyAFIARBAWo2AjAgBSgCKCAEQQR0aiIEQn83AgggBCARNgIEIAQgCzYCAAJAIAUoAiQiByALSwRAIAchBAwBCyAHIAtBAWoiBEkEQCAHIQggBCAHayIOIAVBIGooAgAgB2tLBEAgBUEcaiAHIA4QjAYgBSgCJCEICyAFKAIcIAhBA3RqIQQgDkECTwRAIAsgB2siE0EHcSEKIAdBf3MgC2pBB08EQCATQXhxIQcDQCAEQv////8PNwIAIARBOGpC/////w83AgAgBEEwakL/////DzcCACAEQShqQv////8PNwIAIARBIGpC/////w83AgAgBEEYakL/////DzcCACAEQRBqQv////8PNwIAIARBCGpC/////w83AgAgBEFAayEEIAdBCGsiBw0ACwsgCgRAA0AgBEL/////DzcCACAEQQhqIQQgCkEBayIKDQALCyAIIA5qQQFrIQgLIARC/////w83AgAgCEEBaiEECyAFIAQ2AiQLIAQgC00NBiAFKAIcIAtBA3RqIgQgBjYCBCAEIBE2AgALIAVBPGooAgAiBEF/Rg0GIAVBMGooAgAg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AEHYAmogHCkDADcDACAAQdACaiAdKQMANwMAIAAgASkDUDcDyAIgAEH4AmogHikDADcDACAAQfACaiAfKQMANwMAIAAgASkDODcD6AIgAEGQA2ogICkDADcDACAAQYgDaiAhKQMANwMAIAAgASkDIDcDgAMgAEGoA2ogIikDADcDACAAQaADaiAjKQMANwMAIAAgASkDCDcDmAMgAEGQBGpCADcDACAAQYgEakKAgICAwAA3AwAgAEIENwOABCAAQfgDakIANwMAIABB8ANqQoCAgIDAADcDACAAQgQ3A+gDIABB4ANqQgA3AwAgAEHYA2pCgICAgMAANwMAIABCBDcD0AMgAEEBOgDIAyAAQQA2AsADIABCADcDuAMgAUGQA2okACACQagEaiAAQZgEEIgNGkGR+8MALQAAGkGgBEEIEIIMIgBFBEBBCEGgBEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAEEEaiACQaQEakGcBBCIDRogAkHACGokACAAC2kBAn8jAEEgayICJAAgAiABNgIEQQEhAwJAIAAoAgAgAUYNAEECIQMgACgCBCABRg0AQQAhAyAAKAIIIAFGDQAgAkEANgIIIABBCGogAkEEaiACQQhqQcyzwgAQ4woACyACQSBqJAAgAwt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQiQ0aIANBADYCvAEgACABIAMgAkEAECAgAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEIkNGiADQQA2ArwBIAAgASADIAJBABAhIABBAzYCECADQcABaiQAC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCJDRogA0EANgK8ASAAIAEgAyACQQAQHyAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQiQ0aIANBADYCvAEgACABIAMgAkEAEB4gAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEIkNGiADQQA2ArwBIAAgASADIAJBABAiIABBAzYCECADQcABaiQAC3wBAX8jAEHAAWsiBCQAIARBqAFqQgA3AwAgBEG4AWpBADYCACAEQoKAgIAwNwMIIARCgICAgBA3AwAgBEIANwOgASAEQgA3A7ABIARBEGpBAEGQARCJDRogBEEANgK8ASAAIAEoAgAgASgCCCAEIAIgAxAdIARBwAFqJAALcAEBfyMAQSBrIgIkAAJ/QQEgACABEN0EDQAaIAJBFGpCADcCACACQQE2AgwgAkG82sMANgIIIAJB+MHDADYCEEEBIAEoAhQgAUEYaigCACACQQhqELICDQAaIABBBGogARDdBAshACACQSBqJAAgAAtfAQN/AkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCAAJAIABBDGooAgAgAU0NACAAQQRqKAIAIgRFDQAgBCABQdQBbGotADQhAwsgACACNgIAIAMPCxD4DAALEPkMAAtrAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBKcgBEIgiKcQigciA0UNAiADQRhqQgA3AwAgAyACrTcDECAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAtlAgF/BH0jAEEQayIDJAAgAioCACIFIAWUIAIqAgQiBiAGlJIgAioCCCIHIAeUkhCbASEEIAMgByAElTgCDCADIAYgBJU4AgggAyAFIASVOAIEIAAgASADQQRqENMDIANBEGokAAtpACAAQgA3AgAgAEIANwIwIABCADcCQCAAQShqQgA3AgAgAEEgakIANwIAIABBGGpCADcCACAAQRBqQgA3AgAgAEEIakIANwIAIABBOGpCADcCACAAQcgAakIANwIAIABB0ABqQgA3AgALXwECfyMAQSBrIgIkACACQQxqIgMgAUGYv8AAEIQLIAIg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akEoaioCACECCyAAIAM2AgAgAg8LEPgMAAsQ+QwAC14CAX0CfwJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgASAAKAIEIgRB4ABqKAIASQRAIARB2ABqKAIAIAFBKGxqKgIMIQILIAAgAzYCACACDwsQ+AwACxD5DAALagAgACABKQIANwIMIAAgAikCADcCGCAAIAEqAgQgAioCBJM4AgQgACABKgIAIAIqAgCTOAIAIABBFGogAUEIaiIBKAIANgIAIABBIGogAkEIaiICKAIANgIAIAAgASoCACACKgIAkzgCCAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADEB8gBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECAgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECIgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECEgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADEB4gBEHAAWokAAtdAQJ/IwBBIGsiAyQAIANBBGoiBCABIAIQ8gIgAEEIaiAEQQhqKQIANwIAIAAgAykCBDcCACAAQRRqQQAgBEEUaigCACADKAIUIgEbNgIAIAAgATYCECADQSBqJAALcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCuuWiqui76NhvhSADQsPfpvKw/4igIIWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCrPzNjNiE8KxRhSADQp2076Wh6IWStn+FhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQu/Cy+3Lto2+WoUgA0KE0dKKu+SMzssAhYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEK1vYK6y7q96vsAhSADQsHN5/jm8IShGIWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCtb2Cusu6ver7AIUgA0LBzef45vCEoRiFhFAbC3ECAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQqWSyKytwtOTBIUgA0K///2xwrzFw2yFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQsnr8I2An+6jfYUgA0LLv7z095PnuKt/hYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEL5yKaVsqD59wqFIANCwqao39+zztXGAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARChdqn8drxkeIYhSADQsaZlq7jzbvzOYWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARChdqn8drxkeIYhSADQsaZlq7jzbvzOYWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCj6CK4/aL2Jv4AIUgA0KLlZLKhbvNvP8AhYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELKid2Dm7bq+fAAhSADQpaDlJCrl76wUoWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCibzv2PuJ5Jiuf4UgA0LogtON4oXyl9kAhYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKJvO/Y+4nkmK5/hSADQuiC043ihfKX2QCFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQtS/j7WF8OCjzwCFIANC5uiP2+/1t7AchYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELUv4+1hfDgo88AhSADQuboj9vv9bewHIWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCsK/2q77pqK+df4UgA0LGj8PK/pXCqIx/hYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKwr/arvumor51/hSADQsaPw8r+lcKojH+FhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQovuxoLg/8GDhH+FIANCvePxpq/G7Ps9hYRQGwt9AQF/QZH7wwAtAAAaQRxBBBCCDCICRQRAQQRBHEHQgcQAKAIAIgBBlwcgABsRAAAACyACIAEpAgA3AgAgAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikCADcCACACQQhqIAFBCGopAgA3AgAgAEG01sIANgIEIAAgAjYCAAtoACMAQTBrIgAkAEGQ+8MALQAABEAgAEEYakIBNwIAIABBAjYCECAAQbS7wwA2AgwgAEECNgIoIAAgATYCLCAAIABBJGo2AhQgACAAQSxqNgIkIABBDGpB3LvDABDcCgALIABBMGokAAvDAwELfyMAQRBrIgUkAAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgBSABNgIMIAVBDGohCSMAQSBrIgIkACACQYEBNgIIIAJBDGogAEEEahCWCwJAIAIoAgwiASACKAIQIgdGDQAgAigCFCEGIAIoAhghCANAIAFBFGohAwJAAkAgASgCACIKQX9HBEAgAUEQaigCACILDQELIAMgB0YNAwwBCwJAIAFBBGooAgAiBCAIQRBqKAIATw0AIAhBCGooAgAiDEUNACAMIARBlAJsaiIELQCQAkECRg0AIAQoAgAgAUEIaigCAEcNAAJAIAsgBEEMaigCAEkEQCAEQQRqKAIADQELQdiHwABBK0GEpcAAEKoKAAsgAiAGrSAKrUIghoS/EAA2AhwgAiAJIAJBCGogAkEcahC3CiACKAIEIgFBhAFPBEAgARACCyACKAIcIgFBhAFPBEAgARACCyADIAdHDQEMAwtBgIDAAEETQfSkwAAQ4QkACyAGQQFqIQYgAyEBDAALAAsgAigCCCIBQYQBTwRAIAEQAgsgAkEgaiQAIAAgACgCAEEBazYCACAFQRBqJAAPCxD4DAALEPkMAAudAgEGfyMAQRBrIgMkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAyABNgIMIANBDGohBiMAQSBrIgEkACABQYEBNgIIIAFBDGogAEEEahCACyABKAIUIQQgASgCECEHIAEoAgwhAgNAAkACQAJAIAIgB0cEQCACKAIADQEMAgsgASgCCCICQYQBTwRAIAIQAgsgAUEgaiQADAILIAEgBK0gAkEEajUCAEIghoS/EAA2AhwgASAGIAFBCGogAUEcahC3CiABKAIEIgVBhAFPBEAgBRACCyABKAIcIgVBhAFJDQAgBRACCyACQegCaiECIARBAWohBAwBCwsgACAAKAIAQQFrNgIAIANBEGokAA8LEPgMAAsQ+QwAC50CAQZ/IwBBEGsiAyQAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACADIAE2AgwgA0EMaiEGIwBBIGsiASQAIAFBgQE2AgggAUEMaiAAQQRqEIELIAEoAhQhBCABKAIQIQcgASgCDCECA0ACQAJAAkAgAiAHRwRAIAIoAgANAQwCCyABKAIIIgJBhAFPBEAgAhACCyABQSBqJAAMAgsgASAErSACQQRqNQIAQiCGhL8QADYCHCABIAYgAUEIaiABQRxqELcKIAEoAgQiBUGEAU8EQCAFEAILIAEoAhwiBUGEAUkNACAFEAILIAJBqAFqIQIgBEEBaiEEDAELCyAAIAAoAgBBAWs2AgAgA0EQaiQADwsQ+AwACxD5DAAL1AEBBH8jAEEQayIFJAAgBUEIaiEGQZH7wwAtAAAaQRhBBBCCDCIERQRAQQRBGEHQgcQAKAIAIgRBlwcgBBsRAAAACyAEIAM4AhQgBCACOAIQIAQgATgCDCAEIAA4AgggBEKBgICAEDcCACAGQfiCwwA2AgQgBiAENgIAQZH7wwAtAAAaIAUoAgwhBiAFKAIIIQdBDEEEEIIMIgRFBEBBBEEMQdCBxAAoAgAiBEGXByAEGxEAAAALIAQgBjYCCCAEIAc2AgQgBEEANgIAIAVBEGokACAEC84BACAAQv////v///+/fzcDMCAAQv////v3//+//wA3AyggAEL////79///v/8ANwMgIABC////+/f//7//ADcDGCAAQv////v3//+//wA3AxAgAEL////79///v/8ANwMIIABC////+/f//7//ADcDACAAQdgAakL////7////v383AwAgAEHQAGpC////+////79/NwMAIABByABqQv////v///+/fzcDACAAQUBrQv////v///+/fzcDACAAQThqQv////v///+/fzcDAAtgAQN9IAAgAioCECIEIAEqAgAiA5I4AgwgACAEIAOTOAIAIABBFGogAyACQRhqKgIAIgSSOAIAIABBEGogAyACQRRqKgIAIgWSOAIAIAAgBCADkzgCCCAAIAUgA5M4AgQLWQECfwJAIAAoAgAiAEEQaigCACIBRQ0AIABBFGooAgAhAiABQQA6AAAgAkUNACABEJoCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCaAgsLlAEBAX9BkfvDAC0AABpB+ABBBBCCDCIARQRAQQRB+ABB0IHEACgCACIAQZcHIAAbEQAAAAsgAEKAgICAgICAwD83AhQgAEIANwIMIABBfzYCCCAAQoCAgIBwNwIAIABBHGpBAEHEABCJDRogAEECOgB0IABBADYCcCAAQoCAgICAgIDAPzcCaCAAQoCAgPwDNwJgIAALhQECAX8BfkGR+8MALQAAGkE8QQQQggwiAUUEQEEEQTxB0IHEACgCACIBQZcHIAEbEQAAAAsgAUIBNwI0IAFBADYCKCABQgA3AiAgAUKAgICAwAA3AhggAUIENwIQIAFCADcCCCABQoCAgIDAADcCACABIAC9IgI+AiwgASACQiCIPgIwIAELZAIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEIoHIgRFDQIgBEGMAWogAjgCACAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAvfAQICfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEIoHIgNFDQIgAkEARyECIANBmAJqIQQCQAJAIANBkAJqKgIAQwAAAABcDQAgA0GUAmoqAgBDAAAAAFwNACAEKgIAQwAAAABbDQELIANCADcDkAIgBEEANgIAIAJFDQAgA0HMAmotAAAEQCADIAMoAqgCQQRyNgKoAgsgA0EAOgDMAiADQcgCakEANgIACyAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAvfAQICfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEIoHIgNFDQIgAkEARyECIANBpAJqIQQCQAJAIANBnAJqKgIAQwAAAABcDQAgA0GgAmoqAgBDAAAAAFwNACAEKgIAQwAAAABbDQELIANCADcCnAIgBEEANgIAIAJFDQAgA0HMAmotAAAEQCADIAMoAqgCQQRyNgKoAgsgA0EAOgDMAiADQcgCakEANgIACyAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAtkAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQiwciBEUNAiAEQegAaiACOAIAIABBADYCAA8LEPgMAAsQ+QwAC0GEtsAAQcwAQYi3wAAQ4QkAC1oCAX0CfwJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgASAAKAIEIgRBhAFqKAIASQRAIAQoAnwgAUEwbGoqAhghAgsgACADNgIAIAIPCxD4DAALEPkMAAtYAQN/AkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACABIAAoAgQiBEGEAWooAgBJBEAgBCgCfCABQTBsaigCHCECCyAAIAM2AgAgAg8LEPgMAAsQ+QwAC1gBA38CQCAABEAgACgCACIDQX9GDQEgACADQQFqNgIAIAEgACgCBCIEQYQBaigCAEkEQCAEKAJ8IAFBMGxqKAIgIQILIAAgAzYCACACDwsQ+AwACxD5DAALWgIBfQJ/AkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACABIAAoAgQiBEGEAWooAgBJBEAgBCgCfCABQTBsaioCJCECCyAAIAM2AgAgAg8LEPgMAAsQ+QwAC80BAQR/IwBBEGsiBCQAIARBCGohBUGR+8MALQAAGkEUQQQQggwiA0UEQEEEQRRB0IHEACgCACIDQZcHIAMbEQAAAAsgAyACOAIQIAMgATgCDCADIAA4AgggA0KBgICAEDcCACAFQazTwgA2AgQgBSADNgIAQZH7wwAtAAAaIAQoAgwhBSAEKAIIIQZBDEEEEIIMIgNFBEBBBEEMQdCBxAAoAgAiA0GXByADGxEAAAALIAMgBTYCCCADIAY2AgQgA0EANgIAIARBEGokACADC/IBAQR/IwBBEGsiBCQAIARBCGohBQJAAkAgAbwgALxyQQBOBEBBkfvDAC0AABpBFEEEEIIMIgNFDQEgAyACOAIQIAMgATgCDCADIAA4AgggA0KBgICAEDcCACAFQfyHwwA2AgQgBSADNgIADAILQeD3wgBBzQBBmPnCABCqCgALQQRBFEHQgcQAKAIAIgNBlwcgAxsRAAAAC0GR+8MALQAAGiAEKAIMIQUgBCgCCCEGQQxBBBCCDCIDRQRAQQRBDEHQgcQAKAIAIgNBlwcgAxsRAAAACyADIAU2AgggAyAGNgIEIANBADYCACAEQRBqJAAgAwvNAQEEfyMAQRBrIgQkACAEQQhqIQVBkfvDAC0AABpBFEEEEIIMIgNFBEBBBEEUQdCBxAAoAgAiA0GXByADGxEAAAALIAMgAjgCECADIAE4AgwgAyAAOAIIIANCgYCAgBA3AgAgBUGMjcMANgIEIAUgAzYCAEGR+8MALQAAGiAEKAIMIQUgBCgCCCEGQQxBBBCCDCIDRQRAQQRBDEHQgcQAKAIAIgNBlwcgAxsRAAAACyADIAU2AgggAyAGNgIEIANBADYCACAEQRBqJAAgAwtZAQF9IwBBMGsiBCQAIARBDGogASABQQxqIAFBGGogAhCJAgJ/IAQoAgxBBEcEQEEBIAQqAhQiBSADXw0BGgtBAAshASAAIAU4AgQgACABNgIAIARBMGokAAu/BQIKfwF+IwBB8AJrIgckAAJAIAAEQCAAKAIADQEgAEF/NgIAIAG9Ig2nIQQgDUIgiKchBSACQQBHIQYjAEHwAmsiCCQAAkACQAJAAkAgAEEEaiICQRBqKAIAIARNDQAgAigCCCAEQQxsaiIDKAIARQ0AIAMoAgQgBUcNACADQQA2AgAgAygCCCEFIAMgAikCADcCBCACIAQ2AgQgAkEBNgIAIAIgAigCFEEBajYCFCACIAIoAhhBAWs2AhggAkE8aigCACAFTQ0BIAJBNGooAgAiA0UNASACQShqIQogBkUNAiADIAVBgANsaiIEQQxqKAIAIQYgAigCKCEDAkAgAkEwaigCACIJIAQoAggiBE0NACADRQ0AIAMgBEEEdGoiBCgCBCELIAQoAgAhDCACQcgAaigCACIEIAJBxABqKAIARgRAIAJBQGsgBBCrBiACKAIwIQkgAigCSCEEIAIoAighAwsgAiAEQQFqNgJIIAIoAkAgBEEDdGoiBCALNgIEIAQgDDYCAAsgBiAJTw0CIANFDQIgAyAGQQR0aiIDKAIEIQQgAygCACEGIAJByABqKAIAIgMgAkHEAGooAgBGBEAgAkFAayADEKsGIAIoAkghAwsgAiADQQFqNgJIIAIoAkAgA0EDdGoiAyAENgIEIAMgBjYCAAwCCyAHQQI6AO0CDAILIAdBAjoA7QIMAQsgCCAKIAUQ8AICQCACKAI8IAVNDQAgAigCNCIDRQ0AAkACQCADIAVBgANsaiIDQThqKAIAIgQgAigCEE8NACACKAIIIgJFDQAgAiAEQQxsaiICKAIARQ0AIAIoAgQgA0E8aigCAEYNAQtB7JvBAEETQaiswQAQ4QkACyACIAU2AggLIAcgCEHwAhCIDRoLIAhB8AJqJAAgAEEANgIAIAdB8AJqJAAPCxD4DAALEPkMAAuLAQEBf0GR+8MALQAAGkHQAEEEEIIMIgBFBEBBBEHQAEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQgA3AkggAEIENwJAIABCADcCOCAAQoCAgIDAADcCMCAAQgQ3AiggAEIANwIgIABCgICAgMAANwIYIABCBDcCECAAQgA3AgggAEKAgICAwAA3AgAgAAvrAQEEfyMAQRBrIgMkACADQQhqIQQCQAJAIAG8IAC8ckEATgRAQZH7wwAtAAAaQRBBBBCCDCICRQ0BIAIgATgCDCACIAA4AgggAkKBgICAEDcCACAEQfDnwgA2AgQgBCACNgIADAILQeD3wgBBzQBBmPnCABCqCgALQQRBEEHQgcQAKAIAIgNBlwcgAxsRAAAAC0GR+8MALQAAGiADKAIMIQQgAygCCCEFQQxBBBCCDCICRQRAQQRBDEHQgcQAKAIAIgNBlwcgAxsRAAAACyACIAQ2AgggAiAFNgIEIAJBADYCACADQRBqJAAgAgvGAQEEfyMAQRBrIgMkACADQQhqIQRBkfvDAC0AABpBEEEEEIIMIgJFBEBBBEEQQdCBxAAoAgAiA0GXByADGxEAAAALIAIgATgCDCACIAA4AgggAkKBgICAEDcCACAEQfjqwgA2AgQgBCACNgIAQZH7wwAtAAAaIAMoAgwhBCADKAIIIQVBDEEEEIIMIgJFBEBBBEEMQdCBxAAoAgAiA0GXByADGxEAAAALIAIgBDYCCCACIAU2AgQgAkEANgIAIANBEGokACACC1oAIAAgAS0AA0EARyACLQADQQBHcToAAyAAIAEtAAJBAEcgAi0AAkEAR3E6AAIgACABLQABQQBHIAItAAFBAEdxOgABIAAgAS0AAEEARyACLQAAQQBHcToAAAtWAAJAIAAEQCAAKAIADQEgAEEANgIAIABBHGogA0EARzoAACAAQRhqIAI4AgAgAEEUakEBNgIAIABBEGogATgCACAAQQxqQQE2AgAPCxD4DAALEPkMAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ1AghAiAAIAAoAgBBAWs2AgAgAkEARw8LEPgMAAsQ+QwAC2ECAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCKByIERQ0CIAQgAjgCiAEgAEEANgIADwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALYQIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEIoHIgRFDQIgBCACNgKsAiAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQlwohAiAAIAAoAgBBAWs2AgAgAkEARw8LEPgMAAsQ+QwAC2ACAX4BfwJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIDpyADQiCIpxCLByIERQ0CIAQgAjgCZCAAQQA2AgAPCxD4DAALEPkMAAtBhLbAAEHMAEGIt8AAEOEJAAthAgF+AX8CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQiwciBEUNAiAEIAI4ApQBIABBADYCAA8LEPgMAAsQ+QwAC0GEtsAAQcwAQYi3wAAQ4QkAC4EBAgJ/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBacgBUIgiKcQiwciBEUNAiMAQRBrIgMkACADQQA2AgggAyACOAIMIAQgA0EIahDDBCADQRBqJAAgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQALgQECAn8BfgJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIFpyAFQiCIpxCLByIERQ0CIwBBEGsiAyQAIANBATYCCCADIAI4AgwgBCADQQhqEMMEIANBEGokACAAQQA2AgAPCxD4DAALEPkMAAtBhLbAAEHMAEGIt8AAEOEJAAtVAgF/AX4CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQmAohAiAAIAAoAgBBAWs2AgAgAkEARw8LEPgMAAsQ+QwAC68BAQR/IwBBEGsiASQAIAFBCGohA0GR+8MALQAAGgJAQQxBBBCCDCICRQRADAELIAIgADgCCCACQoGAgIAQNwIAIANBiMDCADYCBCADIAI2AgBBkfvDAC0AABogASgCDCEDIAEoAgghBEEMQQQQggwiAkUEQAwBCyACIAM2AgggAiAENgIEIAJBADYCACABQRBqJAAgAg8LQQRBDEHQgcQAKAIAIgFBlwcgARsRAAAAC8oCAQJ/IwBBEGsiAyQAAkACQAJAAkAgACgCAEEBaw4CAQIACyADIABBBGo2AgwjAEEQayICJAAgAiABKAIUQdyvwwBBDSABQRhqKAIAKAIMEQUAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogA0EMakHsr8MAEIkFIQECfyACLQAMIgBBAEcgASgCACIBRQ0AGkEBIAANABogAigCCCEAAkAgAUEBRw0AIAItAA1FDQAgAC0AHEEEcQ0AQQEgACgCFEG83cMAQQEgAEEYaigCACgCDBEFAA0BGgsgACgCFEGc2sMAQQEgAEEYaigCACgCDBEFAAshACACQRBqJAAMAgsgASgCFEHwmMMAQRMgAUEYaigCACgCDBEFACEADAELIAEoAhRBg5nDAEELIAFBGGooAgAoAgwRBQAhAAsgA0EQaiQAIAALWQEDfyAAKAIAQRBqIgIoAgAiAygCACEBIAMgAUEBazYCACABQQFGBEAgAhC3CQsCQCAAKAIAIgBBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCaAgsLbwECfyABKAIAIQIgAUEANgIAAkAgAgRAIAEoAgQhA0GR+8MALQAAGkEIQQQQggwiAUUNASABIAM2AgQgASACNgIAIABBjLHAADYCBCAAIAE2AgAPCwALQQRBCEHQgcQAKAIAIgBBlwcgABsRAAAAC5MBAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iA6cgA0IgiKcQigciAkUNAiACQgA3A3AgAkHMAmpBAToAACACQfgAakIANwMAIAJBgAFqQgA3AwAgAkHIAmogAkHEAmoqAgA4AgAgAEEANgIADwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALbwECfyABKAIAIQIgAUEANgIAAkAgAgRAIAEoAgQhA0GR+8MALQAAGkEIQQQQggwiAUUNASABIAM2AgQgASACNgIAIABBtJPBADYCBCAAIAE2AgAPCwALQQRBCEHQgcQAKAIAIgBBlwcgABsRAAAAC28BAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBkfvDAC0AABpBCEEEEIIMIgFFDQEgASADNgIEIAEgAjYCACAAQbyWwgA2AgQgACABNgIADwsAC0EEQQhB0IHEACgCACIAQZcHIAAbEQAAAAtbAQF/IwBBMGsiBCQAIARBCGogASACIAND//9/fxBBIAQoAhxBBEYEQEHLj8IAQStB4MTCABCqCgALIAAgBCkCCDcCACAAQQhqIARBEGopAgA3AgAgBEEwaiQAC1QBAX8jAEEwayIFJAAgBUEIaiABIAIgAyAEEEECQCAFKAIcQQRGBEAgAEECOgAMDAELIAAgBSkCCDcCACAAQQhqIAVBEGopAgA3AgALIAVBMGokAAtVAQR9IAIqAgAiBSAFlCACKgIEIgYgBpSSIAIqAggiAyADlJIQmwEhBCAAIAMgBJUgASoCACIDlDgCCCAAIAMgBiAElZQ4AgQgACADIAUgBJWUOAIAC+wbAhN/Dn0jAEHgAGsiCiQAIAEhDSMAQYABayIDJAACQAJAAkACQAJAAkACQAJAAn8gAigCACILRQRAIA0oAggiBUEBayIHRQRAQQQhC0EAIQdBAAwCCyAHQf////8ASw0CIAdBA3QiAkEASA0CAkACQCACRQRAQQQhCwwBC0GR+8MALQAAGiACQQQQggwiC0UNAQsgB0EDcSEBIAVBAmtBA08EQCAHQXxxIQUgCyECA0AgAiAGNgIAIAJBHGogBkEEaiIENgIAIAJBGGogBkEDaiIINgIAIAJBFGogCDYCACACQRBqIAZBAmoiCDYCACACQQxqIAg2AgAgAkEIaiAGQQFqIgg2AgAgAiAINgIEIAJBIGohAiAEIQYgBCAFRw0ACwsgAQRAIAsgBEEDdGohAgNAIAIgBDYCACACIARBAWoiBDYCBCACQQhqIQIgAUEBayIBDQALCyAHDAILDAgLIAIoAgghByACKAIECyESIANBQGtBADYCACADQThqQoCAgIDAADcCACADQShqQgA3AgAgA0EgakKAgICAwAA3AgAgA0IENwIwIANCEDcCGCADQv////v///+/fzcCECADQv////v3//+/fzcCCCADQv////v3//+//wA3AgAgA0EBOgBLAkACQCAHRQRAIANBADYCVCADQgQ3AkwgA0EANgJEIANCBDcCPCADQQA2AmAgA0IENwJYDAELQZH7wwAtAAAaIAdBAnQiAkEEEIIMIgFFDQggA0EANgJUIAMgATYCTCADIAc2AlAgB0HVqtUqSw0CIAdBGGwiAkEASA0CAkAgAkUEQEEEIQEMAQtBkfvDAC0AABogAkEEEIIMIgFFDQILIAEhAgJAIAdBAkkNACAHQQFrIgVBA3EhBCAHQQJrQQNPBEAgBUF8cSEGA0AgAkL////7////v383AhAgAkL////79///v383AgggAkL////79///v/8ANwIAIAJB2ABqQv////v///+/fzcCACACQdAAakL////79///v383AgAgAkHIAGpC////+/f//7//ADcCACACQUBrQv////v///+/fzcCACACQThqQv////v3//+/fzcCACACQTBqQv////v3//+//wA3AgAgAkEoakL////7////v383AgAgAkEgakL////79///v383AgAgAkEYakL////79///v/8ANwIAIAJB4ABqIQIgBkEEayIGDQALCyAERQ0AA0AgAkL////7////v383AhAgAkL////79///v383AgggAkL////79///v/8ANwIAIAJBGGohAiAEQQFrIgQNAAsLIAJB////+wc2AgggAkL////79///v/8ANwIAIAJB////ezYCFCACQv////v///+/fzcCDCADIAc2AmAgAyAHNgJcIAMgATYCWCAHQQxsIgJBAEgNAgJAIAJFBEBBBCEBDAELQZH7wwAtAAAaIAJBBBCCDCIBRQ0JCyABIQICQCAHQQJJDQAgB0EBayIFQQNxIQQgB0ECa0EDTwRAIAVBfHEhBgNAIAJCfzcCCCACQQA6AAQgAkF/NgIAIAJBLGpBfzYCACACQShqQQA6AAAgAkEgakJ/NwIAIAJBHGpBADoAACACQRRqQn83AgAgAkEQakEAOgAAIAJBMGohAiAGQQRrIgYNAAsLIARFDQADQCACQX82AgggAkEAOgAEIAJBfzYCACACQQxqIQIgBEEBayIEDQALCyACQX82AgggAkEAOgAEIAJBfzYCACADKAJABEAgAygCPBCaAgsgAyAHNgJEIAMgBzYCQCADIAE2AjwgB0UNACALIAdBA3RqIRMgDSgCACERIA0oAgghDyADQTxqIRQgByEBQQAhBCALIRADQCAQKAIAIgIgD08NBCAQQQRqKAIAIgUgD08NBSAEQQFqIQggESAFQQxsaiIFKgIEIRYgBSoCACEXIAUqAgghGCARIAJBDGxqIgIqAgAhGSACKgIEIRogAioCCCEbIAEgBE0EQCABIQUgCCABayIJIAMoAkAgAWtLBEAgFCABIAkQiwYgAygCRCEFCyADKAI8IAVBDGxqIQIgCUECTwRAIAQgAWsiBkEDcSEMIAQgAUF/c2pBA08EQCAGQXxxIQYDQCACQn83AgggAkEAOgAEIAJBfzYCACACQSxqQX82AgAgAkEoakEAOgAAIAJBIGpCfzcCACACQRxqQQA6AAAgAkEUakJ/NwIAIAJBEGpBADoAACACQTBqIQIgBkEEayIGDQALCyAMBEAgDiABa0EDcSEGA0AgAkF/NgIIIAJBADoABCACQX82AgAgAkEMaiECIAZBAWsiBg0ACwsgBSAJakEBayEFCyACQX82AgggAkEAOgAEIAJBfzYCACADIAVBAWoiATYCRCADIAMoAmAiCSAETQR/IAggCSIFayEMIAwgAygCXCAFa0sEQCADQdgAaiAJIAwQnQYgAygCYCEFCyADKAJYIAVBGGxqIQIgDEECTwRAIAQgCWsiBkEDcSEVIAQgCUF/c2pBA08EQCAGQXxxIQYDQCACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgAkHYAGpC////+////79/NwIAIAJB0ABqQv////v3//+/fzcCACACQcgAakL////79///v/8ANwIAIAJBQGtC////+////79/NwIAIAJBOGpC////+/f//79/NwIAIAJBMGpC////+/f//7//ADcCACACQShqQv////v///+/fzcCACACQSBqQv////v3//+/fzcCACACQRhqQv////v3//+//wA3AgAgAkHgAGohAiAGQQRrIgYNAAsLIBUEQCAOIAlrQQNxIQYDQCACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgAkEYaiECIAZBAWsiBg0ACwsgBSAMakEBayEFCyACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgBUEBagUgCAs2AmALIAEgBE0NBiADKAI8IARBDGxqIAQ2AgggAygCYCICIARNDQcgAygCWCAEQRhsaiICIBsgGCAbIBpDAAAAAJQiHiAZQwAAAACUIh+SIiKSIBggF0MAAAAAlCIgIBZDAAAAAJQiIZIiI5JeGzgCFCACIBogFiAbQwAAAACUIhwgGiAfkpIgICAWkiAYQwAAAACUIh2SXhs4AhAgAiAZIBcgHCAZIB6SkiAXICGSIB2SXhs4AgwgAiAbIBggIiAbkyAjIBiTXhs4AgggAiAaIBYgHCAfIBqTkiAgIBaTIB2SXhs4AgQgAiAZIBcgHCAeIBmTkiAhIBeTIB2SXhs4AgAgAygCVCICIAMoAlBGBEAgA0HMAGogAhCoBiADKAJUIQILIAMoAkwgAkECdGogBDYCACADIAJBAWo2AlQgDkEBaiEOIAghBCATIBBBCGoiEEcNAAsLIAMoAiAiBCADKAIcRgRAIANBGGogBBCvBiADKAIgIQQLIAMoAhggBEEHdGoiAUKBgICAcDcDYCABQQA6AHggAUEAOgB0IAFBfzYCcCABQv////v///+/fzcDWCABQv////v///+/fzcDUCABQv////v///+/fzcDSCABQv////v///+/fzcDQCABQv////v///+/fzcDOCABQv////v///+/fzcDMCABQv////v3//+//wA3AyggAUL////79///v/8ANwMgIAFC////+/f//7//ADcDGCABQv////v3//+//wA3AxAgAUL////79///v/8ANwMIIAFC////+/f//7//ADcDACABQegAakJ/NwMAIAMgBEEBajYCICADQeQAaiADIANBywBqIAMoAkwiAiADKAJUIANB2ABqQQBBABBEIAMgA0H8AGoqAgAiFjgCFCADIANB+ABqKgIAIhc4AhAgAyADQfQAaioCACIYOAIMIAMgA0HwAGoqAgAiGTgCCCADIANB7ABqKgIAIho4AgQgAyADKgJoIhs4AgAgAygCIEUNBiADKAIYIgFB////ezYCXCABQv////v///+/fzcCVCABIBY4AlAgAUH///97NgJMIAFC////+////79/NwJEIAEgFzgCQCABQf///3s2AjwgAUL////7////v383AjQgASAYOAIwIAFB////+wc2AiwgAUL////79///v/8ANwIkIAEgGTgCICABQf////sHNgIcIAFC////+/f//7//ADcCFCABIBo4AhAgAUH////7BzYCDCABQv////v3//+//wA3AgQgASAbOAIAIAMoAlwEQCADKAJYEJoCCyADKAJQBEAgAhCaAgsgCkEYaiADQcgAEIgNGiAKQRRqIAc2AgAgCkEQaiASNgIAIAogCzYCDCAKQQhqIA1BCGooAgA2AgAgCiANKQIANwIAIANBgAFqJAAMCAsMBgsQ2woACyACIA9B7M3CABDjCAALIAUgD0H8zcIAEOMIAAsgBCABQdCewgAQ4wgACyAEIAJB4J7CABDjCAALQQBBAEHAnsIAEOMIAAtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAALQZH7wwAtAAAaQegAQQQQggwiAUUEQEEEQegAQdCBxAAoAgAiAEGXByAAGxEAAAALIAFCgYCAgBA3AgAgAUEIaiAKQeAAEIgNGiAAQfTcwgA2AgQgACABNgIAIApB4ABqJAALeAIBfwF9IwBB4ABrIgIkACACIAEQxgFBkfvDAC0AABogASoCYCEDQeQAQQQQggwiAUUEQEEEQeQAQdCBxAAoAgAiAEGXByAAGxEAAAALIAEgAkHgABCIDSIBIAM4AmAgAEHAhcMANgIEIAAgATYCACACQeAAaiQAC10BAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQRxqQgE3AgAgA0EBNgIUIANB1NrDADYCECADQa8HNgIsIAMgA0EoajYCGCADIANBCGo2AiggA0EQaiACENwKAAvMAgEDfyMAQaABayICJAACQCAABEAgACgCAA0BIAJBBGoiASAAQQRqQZwBEIgNGiAAEJoCIAEoAgAiACgCACEDIAAgA0EBazYCACADQQFGBEAgARCaCAsgAUHsAGooAgAEQCABQegAaigCABCaAgsgAUH4AGooAgAEQCABQfQAaigCABCaAgsgAUGEAWooAgAEQCABQYABaigCABCaAgsgAUGQAWooAgAEQCABQYwBaigCABCaAgsgAUEMaigCAARAIAEoAggQmgILIAFBGGooAgAEQCABQRRqKAIAEJoCCyABQSRqKAIABEAgAUEgaigCABCaAgsgAUEwaigCAARAIAFBLGooAgAQmgILIAFBPGooAgAEQCABQThqKAIAEJoCCyABQcgAaigCAARAIAFBxABqKAIAEJoCCyACQaABaiQADwsQ+AwACxD5DAAL8AIBA38jAEGgAWsiASQAIAFBBGohAEGR+8MALQAAGkEIQQQQggwiAkUEQEEEQQhB0IHEACgCACIAQZcHIAAbEQAAAAsgAEGKro/hAzYCmAEgAEIANwKQASAAQoCAgIDAADcCiAEgAEIENwKAASAAQgA3AnggAEKAgICAwAA3AnAgAEIQNwJoIABC////+////79/NwJgIABC////+/f//79/NwJYIABC////+/f//7//ADcCUCAAQgA3AkggAEKAgICAwAA3AkAgAEIBNwI4IABCADcCMCAAQoCAgIDAADcCKCAAQgQ3AiAgAEIANwIYIABCgICAgMAANwIQIABCBDcCCCAAQYjqwQA2AgQgACACNgIAIAJCgYCAgBA3AgBBkfvDAC0AABpBoAFBBBCCDCIARQRAQQRBoAFB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIABBBGogAUEEakGcARCIDRogAUGgAWokACAAC0sBAn8jAEHQAGsiASQAAkAgAARAIAAoAgANASABQQRqIgIgAEEEakHMABCIDRogABCaAiACEJEHIAFB0ABqJAAPCxD4DAALEPkMAAvxAwEHfyMAQdAA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GxEAAAALQQRByAFB0IHEACgCACIAQZcHIAAbEQAAAAtBkfvDAC0AABpByABBBBCCDCIARQRAQQRByABB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIABBBGogAUEMakHEABCIDRogAUHQAGokACAADwtBBEGgAUHQgcQAKAIAIgBBlwcgABsRAAAAC7gJAQR/IwBBoARrIgQkAAJAIAAEQCAAKAIADQEgBEEIaiIBIABBCGpBmAQQiA0aIAAQmgIgAUHUA2ooAgAEQCABKALQAxCaAgsgASgC3AMhAiABQeQDaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBDGohACADQQFrIgMNAAsLIAFB4ANqKAIABEAgAhCaAgsgASgC6AMhAiABQfADaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBDGohACADQQFrIgMNAAsLIAFB7ANqKAIABEAgAhCaAgsgAUH4A2ooAgAEQCABKAL0AxCaAgsgAUGEBGooAgAEQCABKAKABBCaAgsgASgCjAQhAiABQZQEaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBFGooAgAEQCAAQRBqKAIAEJoCCyAAQSBqKAIABEAgAEEcaigCABCaAgsgAEEsaigCAARAIABBKGooAgAQmgILIABBOGooAgAEQCAAQTRqKAIAEJoCCyAAQcQAaigCAARAIABBQGsoAgAQmgILIABB0ABqKAIABEAgAEHMAGooAgAQmgILIABB3ABqKAIABEAgAEHYAGooAgAQmgILIABB6ABqKAIABEAgAEHkAGooAgAQmgILIABB9ABqKAIABEAgAEHwAGooAgAQmgILIABBgAFqKAIABEAgAEH8AGooAgAQmgILIABBjAFqKAIABEAgAEGIAWooAgAQmgILIABBmAFqKAIABEAgAEGUAWooAgAQmgILIABBpAFqKAIABEAgAEGgAWooAgAQmgILIABBsAFqKAIABEAgAEGsAWooAgAQmgILIABBvAFqKAIABEAgAEG4AWooAgAQmgILIABBzAFqKAIABEAgAEHIAWooAgAQmgILIABB2AFqKAIABEAgAEHUAWooAgAQmgILIABB5AFqKAIABEAgAEHgAWooAgAQmgILIABB8AFqKAIABEAgAEHsAWooAgAQmgILIABB/AFqKAIABEAgAEH4AWooAgAQmgILIABBiAJqKAIABEAgAEGEAmooAgAQmgILIABBlAJqKAIABEAgAEGQAmooAgAQmgILIABBoAJqKAIABEAgAEGcAmooAgAQmgILIABBrAJqKAIABEAgAEGoAmooAgAQmgILIABBuAJqKAIABEAgAEG0AmooAgAQmgILIABBxAJqKAIABEAgAEHAAmooAgAQmgILIABB0AJqKAIABEAgAEHMAmooAgAQmgILIABB3AJqKAIABEAgAEHYAmooAgAQmgILIABB6AJqKAIABEAgAEHkAmooAgAQmgILIABB9AJqKAIABEAgAEHwAmooAgAQmgILIABBgANqKAIABEAgAEH8AmooAgAQmgILIABBjANqKAIABEAgAEGIA2ooAgAQmgILIABBmANqKAIABEAgAEGUA2ooAgAQmgILIABBqANqKAIABEAgAEGkA2ooAgAQmgILIABBuANqKAIABEAgAEG0A2ooAgAQmgILIABBwANqIQAgA0EBayIDDQALCyABQZAEaigCAARAIAIQmgILIARBoARqJAAPCxD4DAALEPkMAAumAwEDfyMAQaABayIBJAAgAUEEaiEAQZH7wwAtAAAaQQhBBBCCDCICRQRAQQRBCEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQYquj+EDNgKYASAAQv////v3//+//wA3AlAgAEGI6sEANgIEIAAgAjYCACACQoGAgIAQNwIAIABCBDcCCCAAQZABakIANwIAIABBiAFqQoCAgIDAADcCACAAQYABakIENwIAIABB+ABqQgA3AgAgAEHwAGpCgICAgMAANwIAIABB6ABqQhA3AgAgAEHgAGpC////+////79/NwIAIABB2ABqQv////v3//+/fzcCACAAQRBqQoCAgIDAADcCACAAQRhqQgA3AgAgAEEgakIENwIAIABBKGpCgICAgMAANwIAIABBMGpCADcCACAAQThqQgE3AgAgAEFAa0KAgICAwAA3AgAgAEHIAGpCADcCAEGR+8MALQAAGkGgAUEEEIIMIgBFBEBBBEGgAUHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAEEEaiABQQRqQZwBEIgNGiABQaABaiQAIAALNQEBfyAAKAIEIgEEQCAAKAIAIAFBAnRB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QRBqJAAgA0EQaiQAIAALQgEBfUMAAAAAIAEqAgAiAyADlCABKgIEIgMgA5SSIAEqAggiAyADlJIQmwEgACoCAJMiAyACGyADIANDAAAAAF0bCz0BA30gASoCACICIAKUIAEqAggiAiAClJIQmwEhAiABKgIEIgMgACoCACIEXyACIAAqAgRfcSADIASMYHELPQECfyMAQTBrIgQkACAEQQxqIgUgASACIAMQTSAAQQhqIAVBCGopAgA3AgAgACAEKQIMNwIAIARBMGokAAtdAQF/QZH7wwAtAAAaQQZBARCCDCIBRQRAQQFBBkHQgcQAKAIAIgBBlwcgABsRAAAACyABQQRqQcS3wAAvAAA7AAAgAUHAt8AAKAAANgAAIAAgATYCACAAQQY2AgQLQAIBfwF8AkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACAAKAIEKwIAIQIgACABNgIAIAIPCxD4DAALEPkMAAtAAgF/AXwCQCAABEAgACgCACIBQX9GDQEgACABQQFqNgIAIAAoAgQrAgghAiAAIAE2AgAgAg8LEPgMAAsQ+QwACz8BAn8CQCAABEAgACgCACIBQX9GDQEgACABQQFqNgIAIAAoAgQoAqABIQIgACABNgIAIAIPCxD4DAALEPkMAAs/AQJ/AkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACAAKAIEKAKkASECIAAgATYCACACDwsQ+AwACxD5DAALVwEBf0GR+8MALQAAGkEUQQQQggwiBEUEQEEEQRRB0IHEACgCACIEQZcHIAQbEQAAAAsgBCADOAIQIAQgAjgCDCAEIAE4AgggBCAAOAIEIARBADYCACAEC0sAIAEoAgAgAigCACADKAIAEAchAUGY+8MAKAIAIQJBlPvDACgCACEDQZT7wwBCADcCACAAIAIgASADQQFGIgEbNgIEIAAgATYCAAs5AAJAIAFpQQFHDQBBgICAgHggAWsgAEkNACAABEBBkfvDAC0AABogACABEIIMIgFFDQELIAEPCwALPAEBfyMAQSBrIgMkACADQQRqIgQgASACEPICIABBCGogBEEIaikCADcCACAAIAMpAgQ3AgAgA0EgaiQACz8BAX8jAEEgayIFJAAgBUEIaiABIAIgAyAEEOcBIAUoAgghASAAIAUqAhA4AgQgACABQQRHNgIAIAVB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cSICIAJBA08bIggEQEHW2cMAQdfZwwBB+MHDACADGyAJQgBTGyEGQQEhAkEBIAlCP4inIAMbIQcgCEECaw4CAgMBCyAAQQM2ApgIIABB2NnDADYClAggAEECOwGQCEEBIQJBACEHQfjBwwAhBiAAQZAIagwECyAAQQM2ApgIIABB29nDADYClAggAEECOwGQCCAAQZAIagwDC0ECIQIgAEECOwGQCCAERQ0BIABBoAhqIAQ2AgAgAEEAOwGcCCAAQQI2ApgIIABBrdnDADYClAggAEGQCGoMAgtBdEEFIAXBIgNBAEgbIANsIgNBwP0ASQRAIABBkAhqIABB0AhqIABBEGogA0EEdkEVaiICQYCAfkEAIARrIARBgIACTxsiAxDEASADwSEDAkAgACgCkAhFBEAgAEHACGogAEHQCGogAEEQaiACIAMQLgwBCyAAQcgIaiAAQZgIaigCADYCACAAIAApApAINwPACAsgAyAALgHICCIDSARAIABBCGogACgCwAggACgCxAggAyAEIABBkAhqEKAEIAAoAgwhAiAAKAIIDAMLQQIhAiAAQQI7AZAIIARFBEBBASECIABBATYCmAggAEHe2cMANgKUCCAAQZAIagwDCyAAQaAIaiAENgIAIABBADsBnAggAEECNgKYCCAAQa3ZwwA2ApQIIABBkAhqDAILQeXZwwBBJUGM2sMAEKoKAAtBASECIABBATYCmAggAEHe2cMANgKUCCAAQZAIagshAyAAQcwIaiACNgIAIAAgAzYCyAggACAHNgLECCAAIAY2AsAIIAEgAEHACGoQ0QIhASAAQfAIaiQAIAEPCyMAQYABayIAJAAgD70hCQJAIA8gD2IEQEECIQIMAQsgCUL/////////B4MiDUKAgICAgICACIQgCUIBhkL+////////D4MgCUI0iKdB/w9xIgUbIgpCAYMhDEEDIQICQAJAAkBBAUECQQQgCUKAgICAgICA+P8AgyIOUCIGGyAOQoCAgICAgID4/wBRG0EDQQQgBhsgDVAbQQJrDgMAAQIDC0EEIQIMAgsgBUGzCGshBCAMUCECQgEhCwwBC0KAgICAgICAICAKQgGGIApCgICAgICAgAhRIgIbIQpCAkIBIAIbIQtBy3dBzHcgAhsgBWohBCAMUCECCyAAIAQ7AXggACALNwNwIABCATcDaCAA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QQA2AgAPCxD4DAALEPkMAAt2AQJ/AkAgAARAIAAoAgANASAAQX82AgAgAEEEaiIBKAIsIgJFBEBB9MLAAEErQZSowQAQqgoACyABQQE2AiwgASACNgIAIAFCgICA/IOAgMA/NwIUIAFCmrPm+IOAgMA/NwIMIABBADYCAA8LEPgMAAsQ+QwAC0kBAX5BkfvDAC0AABogACkCACEBQRBBBBCCDCIARQRAQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAE3AgQgAEEAOgAAIAALMgEBfyABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQ7QwPCyAAIAEQlwcPCyAAIAEQlgcLLwEBfSABKgIAIgIgApQgASoCBCICIAKUkiABKgIIIgIgApSSIAAqAgAiAiAClF8LMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQ1gEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOcBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDOASADKAIIIQAgA0EgaiQAIABBBEcLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQaCADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQvQEgAygCCCEAIANBIGokACAAQQRHCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBEF4gAygCCCEAIANBEGokACAAQQFGCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOMBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARCyASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQlQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOYBIAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBIGsiAyQAIANBCGogACABIAJBABB/IAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBzIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDDASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQzAEgAygCCCEAIANBIGokACAAQQRHCy4BAX8CQCAAKAIAIgBBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCaAgsLLgEBfyMAQRBrIgAkACAAQQhqIgIgAUGwl8AAEJ8LIAIQ+QYhASAAQRBqJAAgAQstAQF/IwBBMGsiAiQAIAJBDGogACABQQEQSCACLQAYIQAgAkEwaiQAIABBAEcLRQEBf0GR+8MALQAAGkEQQQQQggwiAEUEQEEEQRBB0IHEACgCACIAQZcHIAAbEQAAAAsgAEIANwIAIABBCGpCADcCACAACy4BAX8jAEEQayIAJAAgAEEIaiICIAFB4NbAABCfCyACEPkGIQEgAEEQaiQAIAELNQEBfyAAQQA2AgggACABKAIYNgIMIAAgASgCCCICNgIAIAAgAiABQRBqKAIAQegCbGo2AgQLNQEBfyAAQQA2AgggACABKAIYNgIMIAAgASgCCCICNgIAIAAgAiABQRBqKAIAQagBbGo2AgQLLQEBfyMAQTBrIgIkACACQQxqIAAgAUEBEE0gAi0AGCEAIAJBMGokACAAQQBHC8kDAgJ9A38CQCAAKgIAIgEgAVsgACoCBCICIAJbcUUEQCACIAGSIQEMAQsgAbwiA0GAgID8A0YEQCACEL4EIQEMAQsgA0EedkECcSIFIAK8IgRBH3ZyIQACQAJAAkACQAJAAkAgBEH/////B3EiBEUEQEPbD0nAIQEgAA4DAQECBgsgA0H/////B3EiA0UNAiADQYCAgPwHRw0DIARBgICA/AdHDQRD5MsWwCEBIABBA0YNBSAAQQJ0Qfj6wwBqKgIAIQEMBgsgAiEBDAULQ9sPSUAhAQwEC0PbD8k/IAKYIQEMAwsgBEGAgID8B0cgA0GAgIDoAGogBE9xRQRAQ9sPyT8gApghAQwDCwJ9IAUEQEMAAAAAIARBgICA6ABqIANJDQEaCyACIAGVixC+BAshAQJAAkACQCAADgMEAQIACyABQy69uzOSQ9sPScCSIQEMBAsgAYwhAQwDC0PbD0lAIAFDLr27M5KTIQEMAgtD2w9JwCEBIABBA0YNACAAQQJ0QYT7wwBqKgIAIQELCyABQwAAAABgRQRAQbTswgBBKEHE7cIAEKoKAAtD2w/JPyABkyICIAIgASABkiIBIAEgAl4bIAEgAVwbCzMAIAAgASgCFCACQQAgAUEYaigCACgCDBEFADoACCAAIAE2AgQgAEEBOgAJIABBADYCAAtAAQF/IAAoAgAhAQJAIAAtAAQNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIAFBAToAAQsgAUEAOgAACy8AAkAgAARAIAAoAgANASAAQoCAgIAQNwIAIABBCGogATgCAA8LEPgMAAsQ+QwACygAAkAgAARAIAAoAgBBf0YNASAAQQxqKAIAQQJHDwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQQxqQQI2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBNGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE4aiABOAIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqQQI2AgAPCxD4DAALEPkMAAsoAAJAIAAEQCAAKAIAQX9GDQEgAEEgaigCAEECRw8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE0aiABNgIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQThqIAE2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBCGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEQaiABOAIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqIAE4AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBKGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEsaiABNgIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQTBqIAE2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBDGogATgCAA8LEPgMAAsQ+QwACzEBAX8gACABNgIMIABBADYCCCAAIAEoAhwiAjYCACAAIAIgAUEkaigCAEEUbGo2AgQLLAEBfyMAQSBrIgIkACACQQRqIAAgARDyAiACLQAQIQAgAkEgaiQAIABBAEcLLQECfSAAKgIMIAAqAgAiASAAKgIEIgIgASACXxsiASAAKgIIIgIgASACXxuSCzABAX0gACACKgIIIAEqAgAiA5Q4AgggACADIAIqAgSUOAIEIAAgAyACKgIAlDgCAAsuACAAIAEpAmA3AgAgAEEQaiABQfAAaikCADcCACAAQQhqIAFB6ABqKQIANwIACywAIAAgASkCGDcCACAAQRBqIAFBKGopAgA3AgAgAEEIaiABQSBqKQIANwIACywAIAAgASkCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIACy0AIAAgASkCNDcCACAAQRBqIAFBxABqKQIANwIAIABBCGogAUE8aikCADcCAAsvAQF9IAAgASoCACICIAKUIAEqAgQiAiAClJIQmwE4AgwgAEEANgIIIABCADcCAAswACABKAIUIAJBCyABQRhqKAIAKAIMEQUAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALNQEBfyABKAIUQdzawwBBASABQRhqKAIAKAIMEQUAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALUwEBfyMAQRBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCMAQRBrIgAkACAAIANBBGoiASkCADcCCCAAQQhqQZiUwABBACABKAIIQQFBABDBBgALJQACQCAABEAgACgCAEF/Rg0BIABBPGotAAAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEE0aioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQThqKgIADwsQ+AwACxD5DAALJgACQCAABEAgACgCAEF/Rg0BIABBzABqLQAADwsQ+AwACxD5DAALJgACQCAABEAgACgCAEF/Rg0BIABB2ABqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBQGsqAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEoaioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQSxqKwIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBNGooAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEE4aigCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQQxqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBQGsoAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEIaioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRBqKgIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBLGooAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEwaigCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRxqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBEGotAAAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEcaisCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRhqLQAADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBDGoqAgAPCxD4DAALEPkMAAsoAAJAIAAEQCAAKAIADQEgAEEANgIAIAAgATgCBA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQQxqKwIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBIGoqAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEwaioCAA8LEPgMAAsQ+QwAC1MBAX8jAEEQayIDJAAgAyACNgIMIAMgATYCCCADIAA2AgQjAEEQayIAJAAgACADQQRqIgEpAgA3AgggAEEIakGA0MAAQQAgASgCCEEBQQAQwQYAC1YBAX8jAEEQayIBJAAgASAANgIMIAFBGzYCCCABQdCSwgA2AgQjAEEQayIAJAAgACABQQRqIgEpAgA3AgggAEEIakGwi8IAQQAgASgCCEEBQQAQwQYACysAIAAqAgAgASoCAJQgACoCBCABKgIElJIgACoCCCABKgIIlJJDAAAAAF8LKAEBfyMAQRBrIgIkACACIAAgAUEBEKsCIAItAAwhACACQRBqJAAgAAsnAQJ9IAAqAgAiASAAKgIEIgIgASACXxsiASAAKgIIIgIgASACXxsLHwACQCAABEAgACgCAA0BIAAQmgIPCxD4DAALEPkMAAsiAAJAIAAEQCAAKAIAQX9GDQEgACsCBA8LEPgMAAsQ+QwACyIAAkAgAARAIAAoAgBBf0YNASAAKAIEDwsQ+AwACxD5DAALIgACQCAABEAgACgCAEF/Rg0BIAAqAgQPCxD4DAALEPkMAAs7AQF/QZH7wwAtAAAaQQRBBBCCDCIARQRAQQRBBEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAAshAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARCaAgsLJQAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAUgASgCEBEhAAs2ACABKAIUIAAoAgAtAABBAnQiAEGgisIAaigCACAAQZCKwgBqKAIAIAFBGGooAgAoAgwRBQALHwAgAUEDTwRAQcCFwQBBGyACELsLAAsgACABQQJ0agslACAAIAIgASgCSCABQdAAaigCACABKAJUIAFB3ABqKAIAEOwBCyIBAn4gACkDACICQj+HIQMgAiADhSADfSACQgBZIAEQ2QQLIwAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhARAgALIwAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhAREwALJAAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhARlQEACyQAIABFBEBB6LzAAEEyEPcMAAsgACACIAMgBCABKAIQEZcBAAsjACAARQRAQei8wABBMhD3DAALIAAgAiADIAQgASgCEBEaAAshACAARQRAQei8wABBMhD3DAALIAAgAiADIAEoAhARAQALJAAgAC0AAEUEQCABQYTgwwBBBRDUAQ8LIAFBieDDAEEEENQBCx0AIAEoAgBFBEAACyAAQYyxwAA2AgQgACABNgIACx8AIABFBEBB6LzAAEEyEPcMAAsgACACIAEoAhARAwALHQAgASgCAEUEQAALIABBtJPBADYCBCAAIAE2AgALHQAgASgCAEUEQAALIABBvJbCADYCBCAAIAE2AgALEgAgACgCBARAIAAoAgAQmgILCzQAIABC////9//////+ADcCCCAAQv////f/////fjcCACAAQRBqQv////f3/////gA3AgALNAAgAEL////3//////4ANwIIIABC////9/////9+NwIAIABBEGpC////9/f////+ADcCAAs0ACAAQv////f//////gA3AgggAEL////3/////343AgAgAEEQakL////39/////4ANwIACxkAIAAoAgAiACgCACAAQQRqKAIAIAEQ4gELGgAgAEEANgIIIABCADcCACAAIAEqAgA4AgwLHQAgAEGM2MIANgIEIAAgATYCACAAIAEqAhg4AggLHQAgAEGE1cIANgIEIAAgATYCACAAIAEqAgw4AggLHQAgAEHM2MIANgIEIAAgATYCACAAIAEqAiQ4AggLHQAgAEHI6cIANgIEIAAgATYCACAAIAEqAgg4AggLHQAgAEHw7cIANgIEIAAgATYCACAAIAEqAgg4AggLHQAgAEHM5sIANgIEIAAgATYCACAAIAEqAmA4AggLGgAgAEEANgIIIABB2JfAADYCBCAAIAE2AgALGgAgAEEANgIIIABBvJrAADYCBCAAIAE2AgALGAAgACgCACABKAIAIAIoAgAgAygCABAKCxoAIABBADYCCCAAQZj6wAA2AgQgACABNgIACxoAIABBADYCCCAAQYTVwgA2AgQgACABNgIAC74EAg19Bn8gASoCGCEEIwBBQGoiECQAIAFBDGoiESoCACIIIAEqAgAiCZMiAyADlCARKgIEIgogASoCBCILkyIDIAOUkiARQQhqIhMqAgAiDCABQQhqIhQqAgAiDZMiAyADlJIQmwEhAyAQQShqIhJBCGoiFSAUKAIANgIAIBJBFGogEygCADYCACAQIBEpAgA3AjQgEEEIaiIRQQhqIBUpAwA3AwAgEUEQaiASQRBqKQMANwMAIBAgASkCADcDCCAQIAQ4AiAgACAREIoEIANDAAAAP5QiAyAElCAElEPbD0lAlCIGIAaSIQYgBCAElCIFIAWSQwAAoECVIARD2w9JQJQgBJQgBJRDAACAQJRDAABAQJUiB5QiDiAFQwAAQECUIAMgA5RDAACAQJSSQwAAQEGVIAaUkiAClCAHIAMgA5IiAyADlEMAAIA+lCADIASUQwAAQECUQwAAAD6UkpQgApSSIg8QmwEhBCAOIAVDAAAAP5QgBpSSIAKUEJsBIQMgDxCbASEFIABDAAAAAEMAAIA/IASVIARDAAAAAFsbOAIgIABDAAAAAEMAAIA/IAcgBpIgApQiApUgAkMAAAAAWxs4AhwgAEEYaiANIAySQwAAAD+UOAIAIABBFGogCyAKkkMAAAA/lDgCACAAIAggCZJDAAAAP5Q4AhAgAEEkakMAAAAAQwAAgD8gA5UgA0MAAAAAWxs4AgAgAEEoakMAAAAAQwAAgD8gBZUgBUMAAAAAWxs4AgAgEEFAayQACxoAIABBADYCCCAAQczYwgA2AgQgACABNgIACxoAIABBADYCCCAAQYzYwgA2AgQgACABNgIACxoAIABBADYCCCAAQczmwgA2AgQgACABNgIACxoAIABBADYCCCAAQcjpwgA2AgQgACABNgIACxoAIABBADYCCCAAQfDtwgA2AgQgACABNgIAC9MFAQZ/AkACQAJAAkAgAkEJTwRAIAIgAxCfBCICDQFBACEADAQLQQAhAiADQcz/e0sNAUEQIANBC2pBeHEgA0ELSRshBCAAQQRrIgYoAgAiBUF4cSEHAkAgBUEDcUUEQCAEQYACSQ0BIAcgBEEEckkNASAHIARrQYGACE8NAQwFCyAAQQhrIgggB2ohCQJAAkACQAJAIAQgB0sEQCAJQZyFxAAoAgBGDQQgCUGYhcQAKAIARg0CIAkoAgQiAUECcQ0FIAFBeHEiASAHaiIFIARJDQUgCSABELwEIAUgBGsiA0EQSQ0BIAYgBCAGKAIAQQFxckECcjYCACAEIAhqIgIgA0EDcjYCBCAFIAhqIgEgASgCBEEBcjYCBCACIAMQzAMMCQsgByAEayICQQ9LDQIMCAsgBiAFIAYoAgBBAXFyQQJyNgIAIAUgCGoiASABKAIEQQFyNgIEDAcLQZCFxAAoAgAgB2oiASAESQ0CAkAgASAEayIDQQ9NBEAgBiAFQQFxIAFyQQJyNgIAIAEgCGoiASABKAIEQQFyNgIEQQAhAwwBCyAGIAQgBUEBcXJBAnI2AgAgBCAIaiICIANBAXI2AgQgASAIaiIBIAM2AgAgASABKAIEQX5xNgIEC0GYhcQAIAI2AgBBkIXEACADNgIADAYLIAYgBCAFQQFxckECcjYCACAEIAhqIgEgAkEDcjYCBCAJIAkoAgRBAXI2AgQgASACEMwDDAULQZSFxAAoAgAgB2oiASAESw0DCyADEDoiAUUNASABIAAgBigCACIBQXhxQXxBeCABQQNxG2oiASADIAEgA0kbEIgNIQEgABCaAiABIQAMAwsgAiAAIAEgAyABIANJGxCIDRogABCaAgsgAiEADAELIAYgBCAFQQFxckECcjYCACAEIAhqIgIgASAEayIBQQFyNgIEQZSFxAAgATYCAEGchcQAIAI2AgALIAALDAAgAQRAIAAQmgILCxQAIAAgASACQQAQ6gIgAEICNwIQCxMAIAAgASACQQAQVCAAQQM2AhALFAAgACABIAJBABCrAiAAQQM2AhALFAAgACABIAJBABCLAiAAQQM2AhALFAAgASgCFCABQRhqKAIAIAAQsgILFAAgACgCFCAAQRhqKAIAIAEQsgILjgoCCH8YfSABKAIAIQogASgCCCEBIwBB4ABrIgMkACADQQA2AhQgA0IENwIMAkAgAUUEQAwBCyABQSRsIQggA0HUAGohCQNAIAcgCmoiBEEgaigCACEBIANBNGogBEEcaigCACABKAIIQQFrQXhxakEIaiACIAEoApABEQ0AIANBIGoiBSAJQQhqKAIANgIAIAMgCSkCADcDGCADKgJIIhMgBCoCACINlCADKgJEIhQgBEEEaioCACIOlJMiDCAMkiEWIBQgBEEIaioCACIPlCADKgJMIgsgDZSTIgwgDJIhFyAEQRhqKgIAIAsgBEEMaioCACIRIBaUIA0gF5QgDiALIA6UIBMgD5STIgwgDJIiDJSTkpKSIRwgDyADKgJAIhCUIA0gAyoCOCIVlCARIAMqAjwiEpSSIA4gAyoCNCILlJOSISAgDyALlCAOIBCUIBEgFZQgDSASlJOSkiEhIA4gEpQgESALlCANIBCUkpIgDyAVlJMhIiARIBCUIA0gC5STIA4gFZSTIA8gEpSTIRIgGkMAAAAAQwAAgD8gAyoCUCIVlSAVQwAAAABbGyIQIByUkiEaIBsgECAEQRRqKgIAIBMgESAXlCAPIAyUIA0gFpSTkpKSIguUkiEbIBkgECAEQRBqKgIAIBQgESAMlCAOIBaUIA8gF5STkpKSIgyUkiEZIBggEJIhGCADKAIUIgQgAygCEEYEQCADQQxqIAQQrQYgAygCFCEECyADKAIMIgEgBEEsbGoiBiAVOAIcIAYgHDgCGCAGIAs4AhQgBiAMOAIQIAYgEjgCDCAGICA4AgggBiAhOAIEIAYgIjgCACAGIAMpAxg3AiAgBkEoaiAFKAIANgIAIAMgBEEBaiIFNgIUIAggB0EkaiIHRw0ACyAYQwAAAABeBEAgGyAYlSEbIBogGJUhGiAZIBiVIRkLIAMoAhAhCEMAAAAAIQ1DAAAAACEOQwAAAAAhFkMAAAAAIRdDAAAAACEPQwAAAAAhEUMAAAAAIRAgBQRAIARBLGxBLGohBCABIQUDQCAFKgIYIQsgBSoCFCECIAUqAhAhDCAFKgIcIRIgA0E0aiAFEIECAn0gEkMAAAAAWwRAIAMqAlQhFCADKgJQIRwgAyoCTCEVIAMqAkghICADKgJEIQsgAyoCQCEhIAMqAjwhIiADKgI4IRIgAyoCNAwBC0MAAIA/IBKVIh0gGyACkyITIBogC5MiC5RDAAAAAJKUIgIgAyoCUJIhHCAdIBkgDJMiFCALlEMAAAAAkpQiDCADKgJMkiEVIAIgAyoCSJIhICAUIBOUQwAAAACSIB2UIgIgAyoCQJIhISAMIAMqAjySISIgAiADKgI4kiESIAsgC5QiCyAUIBSUIgwgEyATlCICkpIhEyAdIAsgE5KUIAMqAlSSIRQgHSACIBOSlCADKgJEkiELIB0gDCATkpQgAyoCNJILIQIgBUEsaiEFIBAgFJIhECARIBySIREgDyAVkiEPIB4gIJIhHiAXIAuSIRcgFiAhkiEWIA4gIpIhDiANIBKSIQ0gHyACkiEfIARBLGsiBA0ACwsgCEUNACABEJoCCyADIBo4AjAgAyAbOAIsIAMgGTgCKCADIBA4AlQgAyAROAJQIAMgDzgCTCADIB44AkggAyAXOAJEIAMgFjgCQCADIA44AjwgAyANOAI4IAMgHzgCNCAAIANBKGogGCADQTRqEI8CIANB4ABqJAALEwAgACACIAEoAgAgASgCCBDLAgsUACAAKAIAIAEgACgCBCgCDBEDAAvMCQEFfyMAQfAAayIFJAAgBSADNgIMIAUgAjYCCAJAAn8gAUGBAk8EQAJAAn9BgAIgACwAgAJBv39KDQAaQf8BIAAsAP8BQb9/Sg0AGkH+ASAALAD+AUG/f0oNABpB/QELIgYgAUkiCEUEQCABIAZGDQEMBAsgACAGaiwAAEG/f0wNAwsgBSAANgIQIAUgBjYCFEEFQQAgCBshB0HI4cMAQfjBwwAgCBsMAQsgBSABNgIUIAUgADYCEEH4wcMACyEGIAUgBzYCHCAFIAY2AhgCQAJAAkACQAJAIAEgAkkiBw0AIAEgA0kNACACIANLDQECQAJAIAJFDQAgASACTQ0AIAAgAmosAABBQEgNAQsgAyECCyAFIAI2AiAgASEDIAEgAksEQCACQQNrIgNBACACIANPGyIDIAJBAWoiB0sNAwJAIAMgB0YNACAAIAdqIAAgA2oiCGshByAAIAJqIgksAABBv39KBEAgB0EBayEGDAELIAIgA0YNACAJQQFrIgIsAABBv39KBEAgB0ECayEGDAELIAIgCEYNACAJQQJrIgIsAABBv39KBEAgB0EDayEGDAELIAIgCEYNACAJQQNrIgIsAABBv39KBEAgB0EEayEGDAELIAIgCEYNACAHQQVrIQYLIAMgBmohAwsgAwRAAkAgASADTQRAIAEgA0YNAQwHCyAAIANqLAAAQb9/TA0GCyABIANrIQELIAFFDQMCfwJAAkAgACADaiIBLAAAIgBBAEgEQCABLQABQT9xIQYgAEEfcSECIABBX0sNASACQQZ0IAZyIQIMAgsgBSAAQf8BcTYCJEEBDAILIAEtAAJBP3EgBkEGdHIhBiAAQXBJBEAgBiACQQx0ciECDAELIAJBEnRBgIDwAHEgAS0AA0E/cSAGQQZ0cnIiAkGAgMQARg0FCyAFIAI2AiRBASACQYABSQ0AGkECIAJBgBBJDQAaQQNBBCACQYCABEkbCyEAIAUgAzYCKCAFIAAgA2o2AiwgBUEwaiIAQQxqQgU3AgAgBUHsAGpBrwc2AgAgBUHkAGpBrwc2AgAgBUHcAGpBsQc2AgAgBUHIAGoiAUEMakGyBzYCACAFQQU2AjQgBUHQ4sMANgIwIAVBAjYCTCAFIAE2AjggBSAFQRhqNgJoIAUgBUEQajYCYCAFIAVBKGo2AlggBSAFQSRqNgJQIAUgBUEgajYCSCAAIAQQ3AoACyAFIAIgAyAHGzYCKCAFQTBqIgBBDGpCAzcCACAFQdwAakGvBzYCACAFQcgAaiIBQQxqQa8HNgIAIAVBAzYCNCAFQZDjwwA2AjAgBUECNgJMIAUgATYCOCAFIAVBGGo2AlggBSAFQRBqNgJQIAUgBUEoajYCSCAAIAQQ3AoACyAFQeQAakGvBzYCACAFQdwAakGvBzYCACAFQcgAaiIAQQxqQQI2AgAgBUEwaiIBQQxqQgQ3AgAgBUEENgI0IAVB8OHDADYCMCAFQQI2AkwgBSAANgI4IAUgBUEYajYCYCAFIAVBEGo2AlggBSAFQQxqNgJQIAUgBUEIajYCSCABIAQQ3AoACyADIAdBxOPDABDlCAALQY3WwwBBKyAEEKoKAAsgACABIAMgASAEEPgLAAsgACABQQAgBiAEEPgLAAsgACAAQuTex4WQ0IXefTcDCCAAQsH3+ejMk7LRQTcDAAsgACAAQr///bHCvMXDbDcDCCAAQqWSyKytwtOTBDcDAAshACAAQp2076Wh6IWStn83AwggAEKs/M2M2ITwrFE3AwALEwAgAEGslMAANgIEIAAgATYCAAsTACAAQbyUwAA2AgQgACABNgIACxMAIABBvJfAADYCBCAAIAE2AgALEAAgAEEBNgIAIAAgATYCBAsTACAAQaCawAA2AgQgACABNgIACxAAIABBBDYCACAAIAE2AgQLGgACfyABQQlPBEAgASAAEJ8EDAELIAAQOgsLFgBBmPvDACAANgIAQZT7wwBBATYCAAsTACAAQZTQwAA2AgQgACABNgIACxMAIABB/PnAADYCBCAAIAE2AgALIQAgAEKWg5SQq5e+sFI3AwggAELKid2Dm7bq+fAANwMACyIAIABCxo/Dyv6VwqiMfzcDCCAAQrCv9qu+6aivnX83AwALIQAgAELZhvfV0s6+sW03AwggAELMp5Cu0YD53dUANwMACyEAIABC7oj9gba/4841NwMIIABCgeWlwZjP9umsfzcDAAsiACAAQuiC043ihfKX2QA3AwggAEKJvO/Y+4nkmK5/NwMACyEAIABC5uiP2+/1t7AcNwMIIABC1L+PtYXw4KPPADcDAAshACAAQsu/vPT3k+e4q383AwggAELJ6/CNgJ/uo303AwALIQAgAEK94/Gmr8bs+z03AwggAEKL7saC4P/Bg4R/NwMACyIAIABCtO26q6unmfPLADcDCCAAQqObv7/Btp+HywA3AwALIQAgAELBzef45vCEoRg3AwggAEK1vYK6y7q96vsANwMACyEAIABChNHSirvkjM7LADcDCCAAQu/Cy+3Lto2+WjcDAAshACAAQsKmqN/fs87VxgA3AwggAEL5yKaVsqD59wo3AwALIAAgAELy4qm04KmkxAQ3AwggAEL0pIKy7KjDqX03AwALIgAgAEKLlZLKhbvNvP8ANwMIIABCj6CK4/aL2Jv4ADcDAAsgACAAQrOcxqm67svAXTcDCCAAQoGesbKYo7PtdjcDAAsiACAAQpX3zciLrPn5/QA3AwggAEK0xei60LqLxK5/NwMACyEAIABClsa87dLPvspBNwMIIABC07vD9LGD7pDTADcDAAsiACAAQriDyOLMibnWkH83AwggAELMqe2zqZDim+wANwMACyAAIABCxpmWruPNu/M5NwMIIABChdqn8drxkeIYNwMACyIAIABCqZv3yYLkhYbHADcDCCAAQpv9hczKhL3nywA3AwALIAAgAELD36bysP+IoCA3AwggAEK65aKq6Lvo2G83AwALEwAgAEHEi8IANgIEIAAgATYCAAsTACAAQdSLwgA2AgQgACABNgIACxMAIABB5IvCADYCBCAAIAE2AgALEwAgAEH0i8IANgIEIAAgATYCAAsTACAAQYSMwgA2AgQgACABNgIACxMAIABBlIzCADYCBCAAIAE2AgALEwAgAEGkjMIANgIEIAAgATYCAAsTACAAQbSMwgA2AgQgACABNgIACxMAIABBxIzCADYCBCAAIAE2AgALEwAgAEHUjMIANgIEIAAgATYCAAsTACAAQeSMwgA2AgQgACABNgIACxMAIABB9IzCADYCBCAAIAE2AgALEwAgAEGEjcIANgIEIAAgATYCAAsTACAAQZSNwgA2AgQgACABNgIACxMAIABBpI3CADYCBCAAIAE2AgALEwAgAEG0jcIANgIEIAAgATYCAAsTACAAQcSNwgA2AgQgACABNgIACxMAIABB1I3CADYCBCAAIAE2AgALEwAgAEHkjcIANgIEIAAgATYCAAsTACAAQfSNwgA2AgQgACABNgIACxMAIABBhI7CADYCBCAAIAE2AgALEwAgAEGUjsIANgIEIAAgATYCAAsTACAAQaSOwgA2AgQgACABNgIACxAAIABBAzYCACAAIAE2AgQLEAAgAEECNgIAIAAgATYCBAsQACAAQQA2AgAgACABNgIECw4AIAAgAUEYaiACENcCCxMAIABBkNLCADYCBCAAIAE2AgALEwAgAEHo1MIANgIEIAAgATYCAAsTACAAQfDXwgA2AgQgACABNgIACxMAIABBsNjCADYCBCAAIAE2AgALEwAgAEHw2MIANgIEIAAgATYCAAsPACAAIAFB4ABqIAIQ1wILEAAgAEEJNgIAIAAgATYCBAsTACAAQdTbwgA2AgQgACABNgIACxAAIABBBjYCACAAIAE2AgQLEwAgAEGw3sIANgIEIAAgATYCAAsQACAAQQU2AgAgACABNgIECxMAIABBjOHCADYCBCAAIAE2AgALDgAgACABQTRqIAIQ1wILEAAgAEEINgIAIAAgATYCBAsQACAAQQo2AgAgACABNgIECxMAIABBsObCADYCBCAAIAE2AgALEQAgACABKgIAIAEqAgQQ5QYLEAAgAEELNgIAIAAgATYCBAsTACAAQazpwgA2AgQgACABNgIACxEAIAAgASoCACABKgIEEMIDCxAAIABBDDYCACAAIAE2AgQLEwAgAEHU7cIANgIEIAAgATYCAAsZACAAQoCAgIDw//+//wA3AgggAEIANwIACxAAIABBBzYCACAAIAE2AgQLEAAgAEENNgIAIAAgATYCBAsTACAAQdCuwwA2AgQgACABNgIACxAAIABBDjYCACAAIAE2AgQLEwAgAEHsrsMANgIEIAAgATYCAAsQACAAQQ82AgAgACABNgIECxMAIABBiK/DADYCBCAAIAE2AgALEAAgAEEQNgIAIAAgATYCBAsTACAAQaSvwwA2AgQgACABNgIACxAAIABBETYCACAAIAE2AgQLEwAgAEHAr8MANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARDiAQsfACABKAIUIAAoAgAgACgCBCABQRhqKAIAKAIMEQUACyEAIABC2N797/ftoNaKfzcDCCAAQq/D14rE8PndNjcDAAsgACAAQsWAsKa9qOHJSzcDCCAAQpXM9oWR7LDtHzcDAAsTACAAQai8wwA2AgQgACABNgIACxEAIAEgACgCACAAKAIEENQBCwwAIAAgASACIAMQVQsMACAAIAEgAiADEGwLDAAgACABIAIgAxBSCwwAIAAgASACIAMQVgsNACAAIAEgAiADEIQBCw0AIAAgASACIAMQrwELDQAgACABIAIgAxCMAwsNACAAIAEgAiADEL8BCw0AIAAgASACIAMQvAELDQAgACABIAIgAxDtAgvKAwIEfQF/IwBBEGsiASQAAkACQAJAAkACQAJAAkAgAg4DAAECAwtDAABAQBCbASEFIABBATYCACAAQQxqQwAAgL9DAACAPyADQQRxGyAFlTgCACAAQQhqQwAAgL9DAACAPyAD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aiICQYABSw0CIAFBAUG/3cMAQQIgACADakGAAWpBACAAaxCNAgshACADQYABaiQADAILIAJBgAFB3N3DABDiCAALIAJBgAFB3N3DABDiCAALIAALCwAgACMAaiQAIwALHAAgASgCFEH8gsAAQREgAUEYaigCACgCDBEFAAscACABKAIUQcyxwABBFCABQRhqKAIAKAIMEQUACxwAIAEoAhRB8LHAAEEUIAFBGGooAgAoAgwRBQALDAAgACgCACABENELCw4AIABBzJTAACABELICCxwAIAEoAhRB4JbAAEEFIAFBGGooAgAoAgwRBQALCQAgACABEBQACw0AQZy+wABBGxD3DAALDgBBt77AAEHPABD3DAALDAAgACgCACABEOYICw4AIAFBpNDAAEECENQBCwsAIAAgASACELkBCwsAIAAgASACENcCC40CAgN/Bn0jAEEgayIDJAAgA0EANgIQIANCgICA/AM3AgggA0EUaiIEIAEgAiADQQhqIgUQjwQgA0GAgID8ezYCCCADKgIUIQYgBCABIAIgBRCPBCADQoCAgICAgIDAPzcCCCADKgIUIQcgBCABIAIgBRCPBCADQYCAgPx7NgIMIAMqAhghCCAEIAEgAiAFEI8EIANCgICAgICAgMA/NwIMIAMqAhghCSAEIAEgAiAFEI8EIANBgICA/Hs2AhAgAyoCHCEKIAQgASACIAUQjwQgAyoCHCELIABBFGogCjgCACAAQRBqIAg4AgAgACAGOAIMIAAgCzgCCCAAIAk4AgQgACAHOAIAIANBIGokAAuNAgIDfwZ9IwBBIGsiAyQAIANBADYCECADQoCAgPwDNwIIIANBFGoiBCABIAIgA0EIaiIFELQDIANBgICA/Hs2AgggAyoCFCEGIAQgASACIAUQtAMgA0KAgICAgICAwD83AgggAyoCFCEHIAQgASACIAUQtAMgA0GAgID8ezYCDCADKgIYIQggBCABIAIgBRC0AyADQoCAgICAgIDAPzcCDCADKgIYIQkgBCABIAIgBRC0AyADQYCAgPx7NgIQIAMqAhwhCiAEIAEgAiAFELQDIAMqAhwhCyAAQRRqIAo4AgAgAEEQaiAIOAIAIAAgBjgCDCAAIAs4AgggACAJOAIEIAAgBzgCACADQSBqJAALCwAgAiAAIAEQuQELDQAgACoCJEMAAAAAkgsOACAAQby5wwAgARCyAgsOACAAQdC+wwAgARCyAgscACABKAIUQcC+wwBBBSABQRhqKAIAKAIMEQUACxwAIAEoAhRBxb7DAEELIAFBGGooAgAoAgwRBQALnAQBBX8jAEEQayIDJAACQAJ/AkAgAUGAAU8EQCADQQA2AgwgAUGAEEkNASABQYCABEkEQCADIAFBP3FBgAFyOgAOIAMgAUEMdkHgAXI6AAwgAyABQQZ2QT9xQYABcjoADUEDDAMLIAMgAUE/cUGAAXI6AA8gAyABQQZ2QT9xQYABcjoADiADIAFBDHZBP3FBgAFyOgANIAMgAUESdkEHcUHwAXI6AAxBBAwCCyAAKAIIIgIgACgCBEYEQCMAQSBrIgQkAAJAAkAgAkEBaiICRQ0AQQggACgCBCIGQQF0IgUgAiACIAVJGyICIAJBCE0bIgVBf3NBH3YhAgJAIAZFBEAgBEEANgIYDAELIAQgBjYCHCAEQQE2AhggBCAAKAIANgIUCyAEQQhqIAIgBSAEQRRqEKAGIAQoAgwhAiAEKAIIRQRAIAAgBTYCBCAAIAI2AgAMAgsgAkGBgICAeEYNASACRQ0AIAIgBEEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIARBIGokACAAKAIIIQILIAAgAkEBajYCCCAAKAIAIAJqIAE6AAAMAgsgAyABQT9xQYABcjoADSADIAFBBnZBwAFyOgAMQQILIQEgASAAKAIEIAAoAggiAmtLBEAgACACIAEQygYgACgCCCECCyAAKAIAIAJqIANBDGogARCIDRogACABIAJqNgIICyADQRBqJABBAAsOACAAQYDdwwAgARCyAgu8AgEIfwJAIAIiBkEQSQRAIAAhAgwBC0EAIABrQQNxIgQgAGohBSAEBEAgACECIAEhAwNAIAIgAy0AADoAACADQQFqIQMgBSACQQFqIgJLDQALCyAGIARrIgZBfHEiByAFaiECAkAgASAEaiIEQQNxBEAgB0EATA0BIARBA3QiA0EYcSEJIARBfHEiCEEEaiEBQQAgA2tBGHEhCiAIKAIAIQMDQCADIAl2IQggBSAIIAEoAgAiAyAKdHI2AgAgAUEEaiEBIAVBBGoiBSACSQ0ACwwBCyAHQQBMDQAgBCEBA0AgBSABKAIANgIAIAFBBGohASAFQQRqIgUgAkkNAAsLIAZBA3EhBiAEIAdqIQELIAYEQCACIAZqIQMDQCACIAEtAAA6AAAgAUEBaiEBIAMgAkEBaiICSw0ACwsgAAuvAQEDfyABIQUCQCACQRBJBEAgACEBDAELQQAgAGtBA3EiAyAAaiEEIAMEQCAAIQEDQCABIAU6AAAgBCABQQFqIgFLDQALCyACIANrIgJBfHEiAyAEaiEBIANBAEoEQCAFQf8BcUGBgoQIbCEDA0AgBCADNgIAIARBBGoiBCABSQ0ACwsgAkEDcSECCyACBEAgASACaiECA0AgASAFOgAAIAIgAUEBaiIBSw0ACwsgAAudBQEIfwJAAn8CQCACIgUgACABa0sEQCABIAVqIQYgACAFaiECIAAgBUEQSQ0CGiACQXxxIQRBACACQQNxIgdrIQkgBwRAIAEgBWpBAWshAwNAIAJBAWsiAiADLQAAOgAAIANBAWshAyACIARLDQALCyAEIAUgB2siB0F8cSIFayECIAYgCWoiBkEDcQRAIAVBAEwNAiAGQQN0IgNBGHEhCSAGQXxxIghBBGshAUEAIANrQRhxIQogCCgCACEDA0AgAyAKdCEIIARBBGsiBCAIIAEoAgAiAyAJdnI2AgAgAUEEayEBIAIgBEkNAAsMAgsgBUEATA0BIAEgB2pBBGshAQNAIARBBGsiBCABKAIANgIAIAFBBGshASACIARJDQALDAELAkAgBUEQSQRAIAAhAgwBC0EAIABrQQNxIgYgAGohBCAGBEAgACECIAEhAwNAIAIgAy0AADoAACADQQFqIQMgBCACQQFqIgJLDQALCyAFIAZrIgVBfHEiByAEaiECAkAgASAGaiIGQQNxBEAgB0EATA0BIAZBA3QiA0EYcSEJIAZBfHEiCEEEaiEBQQAgA2tBGHEhCiAIKAIAIQMDQCADIAl2IQggBCAIIAEoAgAiAyAKdHI2AgAgAUEEaiEBIARBBGoiBCACSQ0ACwwBCyAHQQBMDQAgBiEBA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkkNAAsLIAVBA3EhBSAGIAdqIQELIAVFDQIgAiAFaiEDA0AgAiABLQAAOgAAIAFBAWohASADIAJBAWoiAksNAAsMAgsgB0EDcSIBRQ0BIAYgBWshBiACIAFrCyEDIAZBAWshAQNAIAJBAWsiAiABLQAAOgAAIAFBAWshASACIANLDQALCyAACxwAIAEoAhRBl7fDAEEFIAFBGGooAgAoAgwRBQALHAAgASgCFEGIt8MAQQ8gAUEYaigCACgCDBEFAAtTACMAQSBrIgAkACAAQQxqQgE3AgAgAEECNgIEIABBjJrCADYCACAAQQI2AhwgAEGcmsIANgIYIAAgAEEYajYCCCABIAAQ9AshASAAQSBqJAAgAQsNACAAQoGAgIAQNwMACwkAIABBADYCAAsHACAAQRhqCwkAIABBADYCAAsHACAAEMoFCwcAIAAqAgALBwAgACoCGAsHACAAKgIECwcAIAAQvgELBABBAQsEAEEBCwcAQ9sPyT8LBABBAAsEAEEECwcAQwAAAAALBABBAAsEAEEACwcAQ9sPSUALBABBAgsEAEEDCwQAQQkLBABBBgsEAEEFCwQAQQgLBABBCgsHAEPbD0k/CwQAQQsLBABBDAsHAEP//39/CwQAQQcLBAAgAAsEAEENCwQAQQ4LBABBDwsEAEEQCwQAQRELAwABCwMAAQsDAAELAwABCwvs+gMJAEGAgMAAC6ZQTm8gZWxlbWVudCBhdCBpbmRleENhbm5vdCBkZXNlcmlhbGl6ZSBjdXN0b20gc2hhcGUuAAQAAAAAAAAAAQAAAAUAAAAEAAAAAAAAAAEAAAAGAAAAQWxsb2NhdGlvbiBmcm9tIGl0ZXJhdG9yIGVycm9yOiB0aGUgaXRlcmF0b3IgZGlkIG5vdCB5aWVsZCB0aGUgY29ycmVjdCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAAAK4AEABzAAAAfAAAAAkAAAAAc3RydWN0IEJpdFZlYyB3aXRoIDIgZWxlbWVudHMAADUBEAAdAAAABwAAAAgAAAAEAAAACAAAAAQAAAAAAAAAAQAAAAkAAABhIHR1cGxlIG9mIHNpemUgMwAAAAQAAAAAAAAAAQAAAAoAAABzdHJ1Y3QgQ29tcG91bmQgd2l0aCA0IGVsZW1lbnRzAKABEAAfAAAAc3RydWN0IFBvbHlsaW5lIHdpdGggMyBlbGVtZW50cwDIARAAHwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvd2FrZXIucnMAAPABEABqAAAAaAAAACsAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAPABEABqAAAAAwEAACsAAADwARAAagAAAN4AAAAvAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jaGFubmVsLnJzuAIQAGwAAAD/AgAAFQAAALgCEABsAAAABwMAABUAAAALAAAACAAAAAQAAAAMAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9mbGF2b3JzL3plcm8ucnMAAABUAxAAcQAAAGYBAAArAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQBUAxAAcQAAAMAAAAA2AAAAVAMQAHEAAAC5AAAANgAAAFQDEABxAAAAFgEAACsAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDI0BBAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMTkAAABUBBAAGQAAAHN0cnVjdCBHcmFwaCB3aXRoIDIgZWxlbWVudHN4BBAAHAAAAHN0cnVjdCBMVSB3aXRoIDIgZWxlbWVudHMAAACcBBAAGQAAAHN0cnVjdCBSaWdpZEJvZHlTZXQgd2l0aCAyIGVsZW1lbnRzAMAEEAAjAAAAc3RydWN0IElzbGFuZE1hbmFnZXIgd2l0aCA1IGVsZW1lbnRz7AQQACQAAABzdHJ1Y3QgQ29udmV4UG9seWhlZHJvbiB3aXRoIDggZWxlbWVudHMAGAUQACcAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkRGF0YSB3aXRoIDcgZWxlbWVudHMAAEgFEAAqAAAAc3RydWN0IEdlbmVyaWNUcmlNZXNoIHdpdGggNyBlbGVtZW50cwAAAHwFEAAlAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCAzrAUQABgAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDTMBRAAGAAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADsBRAAMQAAAHN0cnVjdCBHZW5lcmljSGVpZ2h0RmllbGQgd2l0aCA1IGVsZW1lbnRzAAAAKAYQACkAAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTYgZWxlbWVudHMAAABcBhAAIQAAAHN0cnVjdCBTQVBSZWdpb24gd2l0aCA3IGVsZW1lbnRziAYQACAAAABzdHJ1Y3QgSW1wdWxzZUpvaW50IHdpdGggNSBlbGVtZW50cwCwBhAAIwAAAHN0cnVjdCBJbnRlcm5hbEVkZ2VzRml4ZXIgd2l0aCAyIGVsZW1lbnRzAAAA3AYQACkAAABzdHJ1Y3QgR2VuZXJpY1Fidmggd2l0aCA1IGVsZW1lbnRzAAAQBxAAIgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludCB3aXRoIDMgZWxlbWVudHMAAAA8BxAAJQAAAHN0cnVjdCBJbXB1bHNlSm9pbnRTZXQgd2l0aCA0IGVsZW1lbnRzAABsBxAAJgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludFNldCB3aXRoIDQgZWxlbWVudHOcBxAAKAAAAHN0cnVjdCBNdWx0aWJvZHlXb3Jrc3BhY2Ugd2l0aCAyIGVsZW1lbnRzAAAAzAcQACkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2FycmF5LnJzAAAIEABnAAAASgAAAA0AAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDZ4CBAAGAAAAHN0cnVjdCBUcmlNZXNoU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggNCBlbGVtZW50c5gIEAA8AAAAc3RydWN0IEhlaWdodEZpZWxkU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggMyBlbGVtZW50c9wIEABAAAAAc3RydWN0IEhlaWdodEZpZWxkQ29tcG9zaXRlU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggMyBlbGVtZW50cwAAACQJEABJAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFjcXVpcmUgbXV0ZXh4CRAAIAAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9tdXRleC5ycwAAoAkQAGYAAAAUAAAACQAAAAcAAAAIAAAABAAAAA0AAAAOAAAABwAAACQAAAAEAAAADwAAAAcAAAAMAAAABAAAABAAAAARAAAADAAAAAQAAAASAAAAEwAAABQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AAQAAAAAAAAAAQAAABUAAAAvcnVzdGMvODJlMTYwOGRmYTZlMGI1NTY5MjMyNTU5ZTNkMzg1ZmVhNWE5MzExMi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMArAoQAEsAAAAzCgAADgAAAGNhbm5vdCB0cmFuc211dGVfY29weSBpZiBEc3QgaXMgbGFyZ2VyIHRoYW4gU3JjAAgLEAAvAAAABwAAAAQAAAAEAAAAFgAAAAcAAAAEAAAABAAAABcAAABFcnJvcmludmFsaWQgdmFsdWU6ICwgZXhwZWN0ZWQgAGULEAAPAAAAdAsQAAsAAABpbnZhbGlkIGxlbmd0aCAAkAsQAA8AAAB0CxAACwAAAFBvaXNvbkVycm9yAAcAAAAMAAAABAAAABgAAAAZAAAAGgAAABsAAAAHAAAADAAAAAQAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3BhcnRpdGlvbmluZy9xYnZoL3RyYXZlcnNhbC5ycwD8CxAAdwAAAE0AAAAjAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS90cmltZXNoLnJzAAAAhAwQAGkAAADvAwAAHgAAAIQMEABpAAAA8AMAAB4AAACEDBAAaQAAAPEDAAAeAAAABwAAACQAAAAEAAAAHgAAAB8AAAAgAAAAIQAAAAcAAAAkAAAABAAAAB4AAAAfAAAAIAAAACEAAAAiAAAAHQAAAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5yc2gNEABkAAAAKgAAACMAAABoDRAAZAAAACIAAAAPAAAATWF0cml4IGluaXQuIGVycm9yOiB0aGUgc2xpY2UgZGlkIG5vdCBjb250YWluIHRoZSByaWdodCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb24ucnMAAAA3DhAAbgAAAGsAAAAJAAAATWF0cml4IGluZGV4IG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9hcmVuYS5ycwAA0w4QAGcAAAAKAQAAKAAAAGNvcnJ1cHQgZnJlZSBsaXN0AAAATA8QABEAAADTDhAAZwAAAAsBAAArAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9ncmFwaC5yc2Fzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZWRnZXMubGVuKCkgIT0gY3JhdGU6OklOVkFMSURfVVNJWkUAAAB4DxAAZwAAANwAAAAJAAAAR3JhcGg6OmFkZF9lZGdlOiBub2RlIGluZGljZXMgb3V0IG9mIGJvdW5kcwAsEBAAKwAAAHgPEABnAAAA5AAAABsAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLm5vZGVzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAAB4DxAAZwAAALMAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9jb2FyZW5hLnJzAAAAvBAQAGkAAABdAAAAIgAAALwQEABpAAAATgAAABIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9pbXB1bHNlX2pvaW50L2ltcHVsc2Vfam9pbnRfc2V0LnJzAEgREACLAAAADQEAABcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvbXVsdGlib2R5X2pvaW50X3NldC5ycwDkERAAjwAAAH0AAAArAAAA5BEQAI8AAAB+AAAARgAAAOQREACPAAAAqAAAAD4AAADkERAAjwAAAKkAAAAvAAAA5BEQAI8AAACsAAAAQgAAAFBhcmVudCByaWdpZCBib2R5IG5vdCBmb3VuZC4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAAOASEAByAAAAeQAAAA4AAADgEhAAcgAAAH0AAAA1AAAA4BIQAHIA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AAAGAAAABgAAAAYAAAACAAAAAQAAAEludmFsaWQgc2l6ZSA6IHNpemVzIG11c3QgZml0IGluIGEgdXNpemUgKDAgdG8gKRweEAANAAAAKR4QACIAAABLHhAAAQAAAP////9jbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZAAAhgAAAAQAAAAEAAAAhwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9qcy1zeXMtMC4zLjY0L3NyYy9saWIucnMAAKweEABeAAAAChgAAAEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0Y2FwYWNpdHkgb3ZlcmZsb3cAVGhlIGxvb3NlbmluZyBtYXJnaW4gbXVzdCBiZSBwb3NpdGl2ZS4AAJgfEAAmAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc8gfEABwAAAAJAIAAAkAAABJbmRleCBvdXQgb2YgYm91bmRzAEggEAATAAAAQWxsb2NhdGlvbiBmcm9tIGl0ZXJhdG9yIGVycm9yOiB0aGUgaXRlcmF0b3IgZGlkIG5vdCB5aWVsZCB0aGUgY29ycmVjdCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAAAL4gEABzAAAAfAAAAAkAAAAAAAAAjQAAAAAAAAABAAAAjgAAAI8AAACQAAAAkQAAAJIAAACTAAAAlAAAAJUAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9kZWZhdWx0X3F1ZXJ5X2Rpc3BhdGNoZXIucnMAAACfIRAAegAAANcBAAAxAAAAnyEQAHoAAADqAQAAMQAAAJ8hEAB6AAAAEQIAACcAAACfIRAAegAAAEECAAAvAAAAnyEQAHoAAABQAgAALwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvd2FrZXIucnMAAGwiEABqAAAAaAAAACsAAABsIhAAagAAAEYAAAAoAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBsIhAAagAAANEAAAArAAAAbCIQAGoAAADeAAAALwAAAGwiEABqAAAAxgAAACsAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jaGFubmVsLnJzfCMQAGwAAAC7AQAALQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvY29udGV4dC5yc/gjEABsAAAAMwAAAB4AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvbGlzdC5ycwAAAHQkEABxAAAABQEAAEMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvemVyby5ycwAAAPgkEABxAAAA6AAAAC0AAACWAAAACAAAAAQAAACXAAAA+CQQAHEAAADhAAAAKwAAAPgkEABxAAAA/wAAACYAAAD4JBAAcQAAAAEBAABJAAAA+CQQAHEAAAACAQAARwAAAPgkEABxAAAAAQEAACcAAAD4JBAAcQAAAAYBAABJAAAA+CQQAHEAAAAHAQAARwAAAPgkEABxAAAABgEAACcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvYXJyYXkucnMAAAwmEAByAAAAdgEAACoAAAAMJhAAcgAAAHgBAAA3AAAATWF0cml4IGluaXQuIGZyb20gaXRlcmF0b3I6IGl0ZXJhdG9yIG5vdCBsb25nIGVub3VnaC4AAAC+IBAAcwAAAEoAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy91dGlscy9hcnJheS5ycwDoJhAAZwAAAEoAAAANAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFjcXVpcmUgbXV0ZXhgJxAAIAAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9tdXRleC5ycwAAiCcQAGYAAAAUAAAACQAAAJgAAAAIAAAABAAAAJkAAACaAAAAmAAAACQAAAAEAAAAmwAAACgpAEGw0MAAC5tDYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyb21pbiA+IG1heCwgb3IgZWl0aGVyIHdhcyBOYU4uIG1pbiA9ICwgbWF4ID0gAAAASSgQACQAAABtKBAACAAAAC9ydXN0Yy84MmUx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ACcAAABsLRAAdAAAAIIBAAATAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMAsC8QAHcAAADaAAAAIwAAALAvEAB3AAAAmgAAACMAAACwLxAAdwAAAE0AAAAjAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9pbnRlcm5hbF9lZGdlc19maXhlci5yc1gwEACIAAAAcAAAACoAAABYMBAAiAAAAF8AAAAfAAAAWDAQAIgAAABgAAAAHwAAAFgwEACIAAAAiwAAAE0AAABYMBAAiAAAAIYAAAA4AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19oYWxmc3BhY2VfcGZtLnJzADAxEACTAAAAQAAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3RyaW1lc2hfc2hhcGUucnMA1DEQAJMAAABhAAAAHAAAANQxEACTAAAAYQAAADYAAADUMRAAkwAAALAAAAApAAAA1DEQAJMAAAC2AAAAJgAAAJgAAAAkAAAABAAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACYAAAAJAAAAAQAAACbAAAAsAAAALEAAACyAAAAswAAAJgAAAAkAAAABAAAAJgAAAAkAAAABAAAAJsAAACwAAAAsQAAALIAAACzAAAA/DIQAPwyEACxAAAAmAAAACQAAAAEAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAApgAAAKcAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAAKgyEACbAAAAFCgQALAAAACxAAAAsgAAALMAAADcMhAA/DIQAPwyEACxAAAACDMQADcAAAA4AAAAOQAAADoAAAC6AAAAPAAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAARQAAAMMAAADUMRAAkwAAANAAAAAgAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19oZWlnaHRmaWVsZF9zaGFwZS5ycwAANBAAlwAAAHcAAAAcAAAAADQQAJcAAAB3AAAANgAAAAA0EACXAAAAiwAAAC0AAAAANBAAlwAAAKIAAAAmAAAAADQQAJcAAADAAAAAMgAAAAA0EACXAAAAwQAAADcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwD4NBAAmwAAAEoAAAAcAAAA+DQQAJsAAABKAAAANgAAAJgAAAA0AAAABAAAAMQAAADFAAAA+DQQAJsAAABeAAAAMQAAAPg0EACbAAAAewAAACoAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX2NvbXBvc2l0ZV9zaGFwZS5ycwAAAOg1EAChAAAAVAAAABwAAADoNRAAoQAAAFQAAAA2AAAA6DUQAKEAAACuAAAAMgAAAOg1EAChAAAArwAAADcAAACYAAAANAAAAAQAAADGAAAAxwAAAOg1EAChAAAAbAAAADUAAADoNRAAoQAAAIkAAAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19jb21wb3NpdGVfc2hhcGVfY29tcG9zaXRlX3NoYXBlLnJzAAAAADcQAKUAAABJAAAAHAAAAAA3EAClAAAASQAAADYAAACYAAAAOAAAAAQAAADIAAAAyQAAAJgAAAA4AAAABAAAAMoAAADLAAAAADcQAKUAAAB3AAAAOQAAAAA3EAClAAAAlgAAADIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2VwYS9lcGEzLnJzAAAQOBAAagAAAPAAAAAkAAAAEDgQAGoAAADxAAAAJAAAABA4EABqAAAA8gAAACQAAAAQOBAAagAAAA0BAAAnAAAAEDgQAGoAAAANAQAARAAAABA4EABqAAAAEgEAACcAAAAQOBAAagAAABIBAABEAAAAEDgQAGoAAAAXAQAAJwAAABA4EABqAAAAFwEAAEQAAAAQOBAAagAAABwBAAAnAAAAEDgQAGoAAAAcAQAARAAAABA4EABqAAAAIQEAACgAAAAQOBAAagAAAD0BAAAyAAAAEDgQAGoAAABEAQAAIgAAABA4EABqAAAAXQEAABcAAAAQOBAAagAAAF8BAAAsAAAAEDgQAGoAAABgAQAALAAAABA4EABqAAAAYQEAACwAAAAQOBAAagAAAJcBAAAXAAAAEDgQAGoAAACYAQAAIwAAABA4EABqAAAAbwEAAB8AAAAQOBAAagAAAIMBAAA6AAAAEDgQAGoAAACDAQAALwAAABA4EABqAAAAWAEAACwAAAAQOBAAagAAAKMBAAAkAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWluX2JvdW5kID09IG1pbl9ib3VuZC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZ2prL2dqay5ycwAAADQ6EABpAAAAjAAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL2hlaWdodGZpZWxkMy5ycwAAsDoQAG4AAADZAAAAEQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUzZC5ycwAAADA7EAB1AAAAvgAAABYAAAAAAAAAMDsQAHUAAAAZAQAAHgAAADA7EAB1AAAAGwEAADoAAAAwOxAAdQAAAEUBAAAeAAAAMDsQAHUAAABHAQAAOgAAADA7EAB1AAAAbgEAABEAAAAwOxAAdQAAAG8BAAARAAAAMDsQAHUAAAB0AQAAFQAAADA7EAB1AAAAdQEAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL3RyaW1lc2gucnMAAAA8PBAAaQAAABwEAAAfAAAAPDwQAGkAAAAeBAAAGgAAADw8EABpAAAAHwQAABoAAAA8PBAAaQAAACAEAAAaAAAAaW5kZXggb3V0IG9mIGJvdW5kcwCYAAAAJAAAAAQAAADMAAAAzQAAAM4AAADPAAAAmAAAACQAAAAEAAAAzAAAAM0AAADOAAAAzwAAACIAAADQAAAAAAAAAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5yc0g9EABkAAAAKgAAACMAAABIPRAAZAAAAKsCAAAeAAAASD0QAGQAAADQAQAAHgAAAGluZGV4IG5vdCBmb3VuZABIPRAAZAAAADcAAAAKAAAAYXNzZXJ0aW9uIGZhaWxlZDogaW5kaWNlcy5jYXBhY2l0eSgpIC0gaW5kaWNlcy5sZW4oKSA+PSBlbnRyaWVzLmxlbigpL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS9yYXcucnMAAABBPhAAaAAAABAAAAAFAAAAQT4QAGgAAACDAAAAGgAAAEg9EABkAAAAIgAAAA8AAABnZW1tOiBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBhZGRpdGlvbi4A3D4QACcAAABHZW12OiBkaW1lbnNpb25zIG1pc21hdGNoLk1hdHJpeCBzbGljaW5nIG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9tYXRyaXhfdmlldy5yc0M/EABtAAAAFgEAAAkAAABDPxAAbQAAABoBAAAJAAAAUm93cyByYW5nZSBwYWlyOiB0aGUgcmFuZ2VzIG11c3Qgbm90IG92ZXJsYXAuAAAAQz8QAG0AAAASAwAABQAAAFJvd3MgcmFuZ2UgcGFpcjogaW5kZXggb3V0IG9mIHJhbmdlLkRhdGEgc3RvcmFnZSBidWZmZXIgZGltZW5zaW9uIG1pc21hdGNoLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvdmVjX3N0b3JhZ2UucnNbQBAAbQAAAFQAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb24ucnMAANhAEABuAAAAYAQAAAwAAABDb21wb25lbnR3aXNlIG11bC9kaXY6IG1pc21hdGNoZWQgbWF0cml4IGRpbWVuc2lvbnMuWEEQADQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbXBvbmVudHdpc2UucnMAlEEQAG8AAACWAAAABQAAAE1hdHJpeCB2aWV3OiBpbnB1dCBkYXRhIGJ1ZmZlciB0b28gc21hbGwuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb25fdmlldy5ycz1CEABzAAAAMAAAAAkAAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy5NYXRyaXggYWRkaXRpb24vc3VidHJhY3Rpb24gZGltZW5zaW9ucyBtaXNtYXRjaC4A20IQADAAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL29wcy5ycwAAABRDEABlAAAAaAEAAAEAAAAgYW5kIDogbGVmdCByb3dzICE9IHJpZ2h0IHJvd3MuTWF0cml4IG11bHRpcGxpY2F0aW9uIG91dHB1dCBkaW1lbnNpb25zIG1pc21hdGNoIDogbGVmdCBjb2xzICE9IHJpZ2h0IHJvd3MuAACrQxAAMQAAAIxDEAAFAAAA3EMQABoAAAAUQxAAZQAAANUCAAAJAAAAQXhweTogbWlzbWF0Y2hlZCB2ZWN0b3Igc2hhcGVzLgAgRBAAHwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvYmxhcy5ycwAASEQQAGYAAABCAQAACQAAAEhEEABmAAAACAIAAAkAAABEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgANBEEAArAAAAjEMQAAUAAACRQxAAGgAAAEhEEABmAAAAIAAAAAkAAABIRBAAZgAAABgDAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9tYXRyaXgucnNNYXRyaXggZWxlbWVudHMgc3dhcCBpbmRleCBvdXQgb2YgYm91bmRzLgAAADRFEABoAAAAvAQAAAkAAABVbmFibGUgdG8gY29weSBmcm9tIGEgbWF0cml4IHdpdGggYSBkaWZmZXJlbnQgc2hhcGUuNEUQAGgAAADlBAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvZWRpdGlvbi5yc2Fzc2VydGlvbiBmYWlsZWQ6IGlyb3cxIDwgc2VsZi5ucm93cygpICYmIGlyb3cyIDwgc2VsZi5ucm93cygpABxGEABpAAAAOAEAAAkAAABUaGUgaW5wdXQgdmVjdG9yIG11c3Qgbm90IGJlIGVtcHR5Li9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvbWluX21heC5yc/dGEABpAAAA4QAAAAkAAABNYXhpbXVtIG51bWJlciBvZiBwZXJtdXRhdGlvbnMgZXhjZWVkZWQuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3Blcm11dGF0aW9uX3NlcXVlbmNlLnJzmEcQAHgAAABVAAAADQAAAJhHEAB4AAAAWQAAABYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9saW5hbGcvbHUucnNMVSBzb2x2ZSBtYXRyaXggZGltZW5zaW9uIG1pc21hdGNoLgAAAJZIEAAjAAAAMEgQAGYAAAD2AAAACQAAAExVIHNvbHZlOiB1bmFibGUgdG8gc29sdmUgYSBub24tc3F1YXJlIHN5c3RlbS4AADBIEABmAAAA+wAAAAkAAAAwSBAAZgAAAGgAAAAeAAAASW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2luZGV4aW5nLnJzAAA4SRAAagAAAFIBAAAaAAAAmAAAAAgAAAAEAAAA0QAAAAIAAABAPRAAQdiTwQALq30vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9jb250cm9sL2NoYXJhY3Rlcl9jb250cm9sbGVyLnJzAAAA2EkQAHkAAADYAgAAOQAAANhJEAB5AAAA2QIAACMAAADYSRAAeQAAAMkCAAA4AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvY29udHJvbC9yYXlfY2FzdF92ZWhpY2xlX2NvbnRyb2xsZXIucnOEShAAgAAAACIBAAAZAAAAhEoQAIAAAAA6AQAAJQAAAIRKEACAAAAATQEAACUAAACEShAAgAAAAFkBAAAqAAAAhEoQAIAAAACfAQAAHgAAAIRKEACAAAAAugEAAA4AAACEShAAgAAAANABAAAOAAAAhEoQAIAAAACoAgAAEgAAAIRKEACAAAAAqwIAACkAAACEShAAgAAAALACAAAoAAAAhEoQAIAAAAC2AgAAMQAAAIRKEACAAAAAYAIA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AD4AAABaUBAAdAAAADsBAAA+AAAAWlAQAHQAAACiAQAALQAAAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0X3RpbWUgPD0gZW5kX3RpbWUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9jY2QvdG9pX2VudHJ5LnJzABRTEABzAAAANgAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9pbnRlZ3JhdGlvbl9wYXJhbWV0ZXJzLnJzmFMQAHwAAABgAAAAWgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzJFQQAHQAAACAAAAALwAAACRUEAB0AAAAgAAAAE8AAAAkVBAAdAAAAIEAAAAhAAAAJFQQAHQAAACFAAAAOQAAAFRoZSBtaW5pbXVtIGlzbGFuZCBzaXplIG11c3QgYmUgYXQgbGVhc3QgMS4A2FQQACsAAAAkVBAAdAAAAKAAAAAJAAAAJFQQAHQAAAAMAQAAVAAAACRUEAB0AAAALQEAADsAAAAkVBAAdAAAAOIAAAAdAAAAJFQQAHQAAADVAAAAQAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L2ltcHVsc2Vfam9pbnQvaW1wdWxzZV9qb2ludF9zZXQucnMAXFUQAIsAAAAfAQAAIwAAAFxVEACLAAAAJgEAAB4AAABcVRAAiwAAACcBAAAeAAAAXFUQAIsAAAA0AQAAFAAAAFxVEACLAAAATQEAABsAAABcVRAAiwAAAG4BAABXAAAAXFUQAIsAAABzAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAAABYVhAAhQAAAK8AAAA5AAAAWFYQAIUAAACLAAAAJQAAAFhWEACFAAAAiwAAABgAAABYVhAAhQAAAIgAAAAYAAAAWFYQAIUAAACOAAAALgAAAFhWEACFAAAAjgAAACYAAABYVhAAhQAAALgAAAAnAAAAWFYQAIUAAADJAAAAFgAAAFhWEACFAAAAYQEAABgAAABYVhAAhQAAAHcBAAAdAAAAWFYQAIUAAAB9AQAALgAAAFhWEACFAAAAfgEAACgAAABYVhAAhQAAAIABAAArAAAAWFYQAIUAAACTAQAAIAAAAFhWEACFAAAAqgEAACUAAABYVhAAhQAAAL0BAAAjAAAAWFYQAIUAAADHAQAAHQAAAFhWEACFAAAAyAEAACQAAABYVhAAhQAAAMwBAABGAAAAWFYQAIUAAADAAQAAQgAAAFhWEACFAAAA4gEAACMAAABYVhAAhQAAAOsBAAAuAAAAWFYQAIUAAADLAgAAPAAAAFhWEACFAAAAywIAACQAAABYVhAAhQAAAMwCAAA4AAAAWFYQAIUAAADMAgAAIAAAAFhWEACFAAAALAIAACMAAABYVhAAhQAAAC0CAAAdAAAAWFYQAIUAAAAxAgAANQAAAFhWEACFAAAATQIAACwAAABYVhAAhQAAAJACAAAgAAAAWFYQAIUAAACRAgAAIAAAAFhWEACFAAAAVAIAAC4AAABYVhAAhQAAAFUCAAAoAAAAWFYQAIUAAABWAgAANAAAAFhWEACFAAAAlAIAADIAAABYVhAAhQAAAJUCAAAyAAAAWFYQAIUAAACpAgAAMgAAAFhWEACFAAAAqgIAADIAAABYVhAAhQAAAPcCAAA7AAAAWFYQAIUAAAADAwAAMAAAAFhWEACFAAAACQMAAB8AAABYVhAAhQAAABEDAAAwAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi52ZWxvY2l0aWVzLmxlbigpID49IFNQQVRJQUxfRElNAABYVhAAhQAAABUDAAAVAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5kYW1waW5nLmxlbigpID49IFNQQVRJQUxfRElNAFhWEACFAAAAFgMAABUAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFjY2VsZXJhdGlvbnMubGVuKCkgPj0gU1BBVElBTF9ESU0AAABYVhAAhQAAABcDAAAVAAAAWFYQAIUAAAAcAwAAHwAAAFhWEACFAAAALQMAADAAAABYVhAAhQAAADYDAAAaAAAAWFYQAIUAAABEAwAAJwAAAFhWEACFAAAAWAMAACgAAABYVhAAhQAAAFkDAAAmAAAAQSByaWdpZC1ib2R5IHRoYXQgaXMgbm90IGF0IHRoZSByb290IG9mIGEgbXVsdGlib2R5IG11c3QgYmUgZHluYW1pYy7IWhAARAAAAFhWEACFAAAAZgMAAA0AAABYVhAAhQAAAJQDAAAfAAAAWFYQAIUAAACWAwAAHAAAAFhWEACFAAAAmgMAAC0AAABYVhAAhQAAAJoDAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAZFsQAI8AAADBAAAASgAAAGRbEACPAAAAxAAAAEMAAABkWxAAjwAAAMUAAAA9AAAAZFsQAI8AAADHAAAAMQAAAGRbEACPAAAA2gAAADkAAABkWxAAjwAAAN4AAAA1AAAAZFsQAI8AAADfAAAATQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfbGluay5ycwAAZFwQAIoAAABxAAAAHQAAAEludGVybmFsIGVycm9yOiBjaXJjdWxhciByaWdpZCBib2R5IGRlcGVuZGVuY3kuAABdEAAvAAAAZFwQAIoAAABzAAAACQAAAEludmFsaWQgcGFyZW50IGluZGV4LgAAAEhdEAAVAAAAZFwQAIoAAAB3AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAeF0QAIsAAABhAAAALgAAAHhdEACLAAAAYQAAABwAAABub3QgeWV0IGltcGxlbWVudGVkAHhdEACLAAAAbwAAABEAAAB4XRAAiwAAAHMAAAA7AAAAeF0QAIsAAAB6AAAAEgAAAHhdEACLAAAAVgAAACMAAAB4XRAAiwAAAKQAAAARAAAAeF0QAIsAAACsAAAAEgAAAHhdEACLAAAAygAAAC4AAAB4XRAAiwAAAMoAAAAiAAAAeF0QAIsAAADOAAAAEQAAAHhdEACLAAAA0gAAADoAAAB4XRAAiwAAANUAAAASAAAAeF0QAIsAAAC5AAAAMQAAAHhdEACLAAAA4wAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvdW5pdF9tdWx0aWJvZHlfam9pbnQucnMIXxAAkAAAACEAAAAOAAAACF8QAJAAAAAiAAAADgAAAAhfEACQAAAAPAAAAAUAAAAIXxAAkAAAAFcAAAAOAAAACF8QAJAAAABYAAAADgAAAAhfEACQAAAAfgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMA+F8QAHsAAADPAwAAOwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4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cy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L2Jyb2FkX3BoYXNlX211bHRpX3NhcC9zYXBfcmVnaW9uLnJz8nwQAIYAAABHAAAACQAAAPJ8EACGAAAARgAAAAkAAADyfBAAhgAAAIkAAAAJAAAA8nwQAIYAAACBAAAADQAAAPJ8EACGAAAAqQAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9tdWx0aV9zYXAvc2FwX3V0aWxzLnJzAAAAyH0QAIUAAAANAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAGB+EAB3AAAAggAAAD8AAABgfhAAdwAAAIMAAAAYAAAAYH4QAHcAAACDAAAAMQAAAGB+EAB3AAAA6AAAAD0AAABgfhAAdwAAAOkAAAApAAAAYH4QAHcAAADpAAAAQgAAAGB+EAB3AAAA8AAAADkAAABgfhAAdwAAAPEAAAAlAAAAYH4QAHcAAADxAAAAPgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L25hcnJvd19waGFzZS5ycwAAaH8QAHIAAAC3AAAAKAAAAGh/EAByAAAAjQEAABEAAABofxAAcgAAAJkBAAARAAAAaH8QAHIAAADjAQAALwAAAGh/EAByAAAA4wEAAE4AAABofxAAcgAAAMQCAAAgAAAAaH8QAHIAAADFAgAAIAAAAGh/EAByAAAAxwIAACEAAABofxAAcgAAAMgCAAAhAAAAaH8QAHIAAADYAgAAJgAAAGh/EAByAAAA3AIAACYAAABofxAAcgAAACwDAAAhAAAAaH8QAHIAAAAtAwAAIQAAAGh/EAByAAAAPQMAACYAAABofxAAcgAAAEEDAAAmAAAAaH8QAHIAAACjAwAAJQAAAGh/EAByAAAApwMAACUAAABBIGNvbnRhY3QgbWFuaWZvbGQgY2Fubm90IGNvbnRhaW4gbW9yZSB0aGFuIDI1NSBjb250YWN0cyBjdXJyZW50bHkuAOyAEABDAAAAaH8QAHIAAAC5AwAAGQAAAGh/EAByAAAACgQAACMAAABofxAAcgAAABsEAAAuAAAAaH8QAHIAAAAnBAAALgAAAGh/EAByAAAAOwQAABwAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAAIiBEAByAAAArAAAADYAAACIgRAAcgAAABcBAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAAHIIQAHYAAAAwAQAAIQAAAByCEAB2AAAAMQEAACEAAAAcghAAdgAAAOYAAAAdAAAAHIIQAHYAAADtAAAAKwAAAByCEAB2AAAA7wAAADMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9waXBlbGluZS9xdWVyeV9waXBlbGluZS5yc+SCEAB0AAAAXQEAABoAAADkghAAdAAAAIUBAAA/AAAA5IIQAHQAAACQAQAANgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL3BpcGVsaW5lL3VzZXJfY2hhbmdlcy5ycwAAiIMQAHIAAAAUAAAALAAAAFVuYWJsZSB0byBpbmRleCB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLgAMhBAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL3V0aWxzLnJzAAA8hBAAYgAAABEDAAAJAAAAJEkQABQAAAA8hBAAYgAAABIDAAAJAAAAPIQQAGIAAAAfAwAACQAAAER5bmFtaWNGaXhlZEtpbmVtYXRpY1Bvc2l0aW9uQmFzZWRLaW5lbWF0aWNWZWxvY2l0eUJhc2VkBwAAAAUAAAAWAAAAFgAAANiEEADfhBAA5IQQAPqEEAABAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NpbWJhLTAuOC4xL3NyYy9zaW1kL2F1dG9fc2ltZF9pbXBsLnJzNIUQAGwAAAC/BQAAAQAAANQAAAAIAAAABAAAANUAAADWAAAA1wAAAFAAAAAEAAAA2AAAANkAAADEAAAABAAAANoAAADbAAAASAAAAAQAAADcAAAA1AAAAAgAAAAEAAAA3QAAANQAAAAIAAAABAAAAN4AAADUAAAADAAAAAQAAADfAAAA1AAAACQAAAAEAAAA4AAAANQAAAAMAAAABAAAAOEAAADiAAAAIAAAAAQAAADjAAAA5AAAAHgAAAAEAAAA5QAAAOYAAABIAAAABAAAAOcAAADoAAAAYAAAAAQAAADpAAAA1AAAABgAAAAEAAAA6gAAAOsAAAAgAAAABAAAAOwAAADUAAAABAAAAAQAAADtAAAA7gAAAGAAAAAEAAAA7wAAANQAAAAQAAAABAAAAPAAAADUAAAAHAAAAAQAAADxAAAA8gAAAFgAAAAEAAAA8wAAANQAAAAMAAAABAAAAPQAAADUAAAAKAAAAAQAAAD1AAAA9gAAAGQAAAAEAAAA9wAAANQAAAAMAAAABAAAAPgAAABhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzgyZTE2MDhkZmE2ZTBiNTU2OTIzMjU1OWUzZDM4NWZlYTVhOTMxMTIvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAUIcQAEcAAABsAwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAA1AAAAAQAAAAEAAAA+QAAANQAAAAEAAAABAAAAPoAAAAvcnVzdGMvODJlMTYwOGRmYTZlMGI1NTY5MjMyNTU5ZTNkMzg1ZmVhNWE5MzExMi9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJzGIgQAEwAAACyBQAADQAAAAAAAAD//////////3iIEABBkJHCAAuGsgFjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5ycwC7iBAAZAAAACoAAAAjAAAAu4gQAGQAAACrAgAAHgAAALuIEABkAAAAIgAAAA8AAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnNEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLgDRiRAAKwAAAPyJEAAFAAAAAYoQABoAAABriRAAZgAAACAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3N5bW1ldHJpY19laWdlbi5ycwBEihAAcwAAAMkAAAAvAAAARIoQAHMAAACQAAAAIQAAAESKEABzAAAAkQAAACEAAABEihAAcwAAALAAAAA4AAAARIoQAHMAAAD+AAAAGAAAAESKEABzAAAAQAAAAD4AAABEihAAcwAAAFQAAAAgAAAASW5kZXggb3V0IG9mIGJvdW5kcy7UAAAACAAAAAQAAAD7AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc1RoZSBsb29zZW5pbmcgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUuAAC8ixAAJgAAAEyLEABwAAAAJAIAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiX3V0aWxzLnJzUG9pbnQgY2xvdWQgQWFiYiBjb25zdHJ1Y3Rpb246IHRoZSBpbnB1dCBpdGVyYXRvciBzaG91bGQgeWllbGQgYXQgbGVhc3Qgb25lIHBvaW50LvyLEAB2AAAAQAAAABgAAAD8ixAAdgAAAFcAAAAYAAAAdHdvIGFycmF5cyBjb250YWluaW5nIGF0IGxlYXN0ICBmbG9hdHMAAOSMEAAfAAAAA40QAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9tYXNzX3Byb3BlcnRpZXMvbWFzc19wcm9wZXJ0aWVzX3RyaW1lc2gzZC5ycwAAACCNEACFAAAAFgAAABcAAAAgjRAAhQAAABcAAAAXAAAAII0QAIUAAAAYAAAAFwAAACCNEACFAAAApQAAABIAAAAgjRAAhQAAAKYAAAASAAAAII0QAIUAAACnAAAAEgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcGFydGl0aW9uaW5nL3FidmgvdXRpbHMucnMACI4QAHMAAAAlAAAAEQAAAAiOEABzAAAAEgAAABEAAAAIjhAAcwAAABMAAAAWAAAACI4QAHMAAAAVAAAAEgAAAAiOEABzAAAAFwAAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3BhcnRpdGlvbmluZy9xYnZoL2J1aWxkLnJzAMyOEABzAAAARAEAABMAAADMjhAAcwAAACwBAAAZAAAAzI4QAHMAAAAtAQAAEgAAAMyOEABzAAAAswEAABMAAADMjhAAcwAAALUBAAATAAAAzI4QAHMAAAC3AQAAEwAAAMyOEABzAAAAuwEAACEAAADMjhAAcwAAAIEBAAAqAAAAzI4QAHMAAAB5AQAAHwAAAMyOEABzAAAAWwEAACYAAADMjhAAcwAAAF0BAAAdAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMA8I8QAHcAAABNAAAAIwAAAPCPEAB3AAAAmgAAACMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NsaXAvY2xpcF9hYWJiX2xpbmUucnMAAACIkBAAdQAAAI0AAAATAAAAiJAQAHUAAACbAAAAEwAAAFRoZSBwcm94aW1pdHkgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUgb3IgbnVsbC4AACCREAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19iYWxsX2JhbGwucnMAAABYkRAAiQAAAA8AAAAFAAAAVGhlIGNvbXBvc2l0ZSBzaGFwZSBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAakhAAlQAAABsAAAAKAAAAGpIQAJUAAACBAAAAIQAAABqSEACVAAAAggAAACEAAAAakhAAlQAAAIMAAAAhAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY3Vib2lkX2N1Ym9pZC5ycwAAABiTEACNAAAAUgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwC4kxAAjwAAAE0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19oYWxmc3BhY2Vfc3VwcG9ydF9tYXAucnMAAABYlBAAlQAAAA0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAlRAAlwAAACAAAAAkAAAA1AAAABgAAAAEAAAA/AAAAP0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3QvY29udGFjdF9zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAALyVEACJAAAAHgAAACQAAADrAAAAIAAAAAQAAADrAAAAIAAAAAQAAADsAAAA/gAAAP8AAAAAAQAAAQEAAFiWEABYlhAA/wAAAAIBAAADAQAA4gAAACAAAAAEAAAA4gAAACAAAAAEAAAA4wAAAAQBAAAFAQAABgEAAAcBAACYlhAAmJYQAAUBAAAIAQAACQEAANsAAABIAAAABAAAANsAAABIAAAABAAAANwAAAAKAQAACwEAAAwBAAANAQAA2JYQANiWEAALAQAADgEAAA8BAADmAAAASAAAAAQAAADmAAAASAAAAAQAAADnAAAAEAEAABEBAAASAQAAEwEAABiXEAAYlxAAEQEAABQBAAAVAQAA8gAAAFgAAAAEAAAA8gAAAFgAAAAEAAAA8wAAABYBAAAXAQAAGAEAABkBAABYlxAAWJcQABcBAAAaAQAAGwEAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2VfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAAmJcQAIkAAAAXAAAACgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2Vfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMANJgQAIsAAAA0AAAAJAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZXBhL2VwYTMucnMAANCYEABqAAAARgAAAA4AAADQmBAAagAAAEcAAAAOAAAA0JgQAGoAAABIAAAADgAAANCYEABqAAAAXgAAAA0AAADQmBAAagAAAF8AAAANAAAA0JgQAGoAAABgAAAADQAAANCYEABqAAAAbgAAAA0AAADQmBAAagAAAG8AAAATAAAA0JgQAGoAAABwAAAAEwAAANCYEABqAAAAgQAAAA0AAADQmBAAagAAAIcAAAAcAAAA0JgQAGoAAACHAAAAEwAAANCYEABqAAAAiAAAABMAAADQmBAAagAAAIkAAAATAAAA0JgQAGoAAACKAAAAEwAAANCYEABqAAAA8AAAACQAAADQmBAAagAAAPEAAAAkAAAA0JgQAGoAAADyAAAAJAAAANCYEABqAAAADQEAACcAAADQmBAAagAAAA0BAABEAAAA0JgQAGoAAAASAQAAJwAAANCYEABqAAAAEgEAAEQAAADQmBAAagAAABcBAAAnAAAA0JgQAGoAAAAXAQAARAAAANCYEABqAAAAHAEAACcAAADQmBAAagAAABwBAABEAAAA0JgQAGoAAAAhAQAAKAAAANCYEABqAAAAPQEAADIAAADQmBAAagAAAEQBAAAiAAAA0JgQAGoAAABdAQAAFwAAANCYEABqAAAAXwEAACwAAADQmBAAagAAAGABAAAsAAAA0JgQAGoAAABhAQAALAAAANCYEABqAAAAlwEAABcAAADQmBAAagAAAJgBAAAjAAAA0JgQAGoAAABvAQAAHwAAANCYEABqAAAAgwEAADoAAADQmBAAagAAAIMBAAAvAAAA0JgQAGoAAABYAQAALAAAANCYEABqAAAAowEAACQAAADQmBAAagAAAKkBAAAXAAAA0JgQAGoAAACyAQAAJgAAANCYEABqAAAAtgEAAB8AAADQmBAAagAAALgBAAAfAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9namsvZ2prLnJzAAAA/JsQAGkAAABDAAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pbl9ib3VuZCA9PSBtaW5fYm91bmT8mxAAaQAAAIwAAAAJAAAA/JsQAGkAAABPAQAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZ2prL3Zvcm9ub2lfc2ltcGxleDMucnMAAMCcEAB2AAAAJwAAABcAAADAnBAAdgAAAFAAAAASAAAAKIsQABQAAADAnBAAdgAAAFsAAAAJAAAAwJwQAHYAAABgAAAACQAAAMCcEAB2AAAAYQAAAAoAAADAnBAAdgAAAGcAAAAJAAAAwJwQAHYAAABtAAAACgAAAMCcEAB2AAAAjgAAABYAAADAnBAAdgAAAOgAAAAeAAAAwJwQAHYAAAARAQAAHgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZGltID09IDMAwJwQAHYAAAC8AAAADQAAAMCcEAB2AAAAXwEAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAAAAIJ4QAJ0AAAA5AAAAKQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvbm9ubGluZWFyX3RpbWVfb2ZfaW1wYWN0L25vbmxpbmVhcl90aW1lX29mX2ltcGFjdF9jb21wb3NpdGVfc2hhcGVfc2hhcGUucnMAAADUAAAABAAAAAQAAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAA1AAAAAQAAAAEAAAA7QAAACYBAAAnAQAAKAEAACkBAADUAAAABAAAAAQAAADUAAAABAAAAAQAAADtAAAAJgEAACcBAAAoAQAAKQEAANCfEADQnxAAJwEAANQAAAAEAAAABAAAACoBAAArAQAALAEAAC0BAAAuAQAALwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAB8nxAA7QAAAKSGEAAmAQAAJwEAACgBAAApAQAAsJ8QANCfEADQnxAAJwEAANyfEAAwAQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8AQAAPQEAAD4BAAA/AQAA0J4QAKkAAACcAAAAKgAAANCeEACpAAAAxAAAABUAAADQnhAAqQAAAL0AAAAhAAAA0J4QAKkAAAC+AAAAIQAAANCeEACpAAAAvwAAACEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L25vbmxpbmVhcl90aW1lX29mX2ltcGFjdC9ub25saW5lYXJfdGltZV9vZl9pbXBhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAFKEQAKsAAADJAAAAKAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvcG9pbnQvcG9pbnRfY29tcG9zaXRlX3NoYXBlLnJzAAAA0KEQAH0AAAAjAAAAUwAAANChEAB9AAAAngAAAA4AAADQoRAAfQAAAEgAAABUAAAA0KEQAH0AAABwAAAANwAAANChEAB9AAAAjwAAADcAAADQoRAAfQAAALsAAAAxAAAA0KEQAH0AAAC+AAAAJQAAANChEAB9AAAAuQAAACMAAABhc3NlcnRpb24gZmFpbGVkOiBzcW5hYiAhPSAwLjAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L3BvaW50L3BvaW50X3NlZ21lbnQucnMA7qIQAHUAAABIAAAADQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvcG9pbnQvcG9pbnRfdGV0cmFoZWRyb24ucnNhc3NlcnRpb24gZmFpbGVkOiBkZW5vbSAhPSBfMAAAdKMQAHkAAAAfAQAAFQAAANQAAAAkAAAABAAAAEABAABBAQAAQgEAAEMBAABEAQAARQEAAEYBAABHAQAASAEAAEkBAADUAAAAJAAAAAQAAADgAAAASgEAAEsBAABMAQAATQEAANQAAAAkAAAABAAAANQAAAAkAAAABAAAAOAAAABKAQAASwEAAEwBAABNAQAAcKQQAHCkEABLAQAA1AAAACQAAAAEAAAATgEAAE8BAABQAQAAUQEAAFIBAABTAQAAQAEAAEEBAABCAQAAQwEAAEQBAABFAQAARgEAAEcBAABIAQAASQEAABykEADgAAAAJIYQAEoBAABLAQAATAEAAE0BAABQpBAAcKQQAHCkEABLAQAAfKQQADcAAAA4AAAAOQAAADoAAABUAQAAPAAAAFUBAABWAQAAVwEAAFgBAAA6AQAAWQEAADwBAABaAQAARQAAAFsBAADUAAAAFAAAAAQAAABcAQAAXQEAANQAAAAsAAAABAAAAF4BAABfAQAA1AAAABQAAAAEAAAAYAEAAGEBAADUAAAAOAAAAAQAAABiAQAAYwEAANQAAAAgAAAABAAAAGQBAABlAQAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS9jdWJvaWQucnPIpRAAaAAAALsAAAASAAAAyKUQAGgAAAC/AAAAEgAAAMilEABoAAAAwwAAABIAAADIpRAAaAAAAK0AAAASAAAAyKUQAGgAAAAgAQAAGAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvc2hhcGUvcG9seWxpbmUucnMAAICmEABqAAAAIQAAACYAAACAphAAagAAACEAAABBAAAAgKYQAGoAAABQAAAAHwAAAICmEABqAAAAUgAAABoAAACAphAAagAAAFMAAAAaAAAA1AAAABgAAAAEAAAAZgEAAGcBAABoAQAAaQEAAGoBAABrAQAAbAEAAG0BAABuAQAAbwEAANQAAAAYAAAABAAAAOoAAABwAQAAcQEAAHIBAABzAQAA1AAAABgAAAAEAAAA1AAAABgAAAAEAAAA6gAAAHABAABxAQAAcgEAAHMBAACQpxAAkKcQAHEBAADUAAAAGAAAAAQAAAB0AQAAdQEAAHYBAAB3AQAAeAEAAHkBAABmAQAAZwEAAGgBAABpAQAAagEAAGsBAABsAQAAbQEAAG4BAABvAQAAPKcQAOoAAACEhhAAcAEAAHEBAAByAQAAcwEAAHCnEACQpxAAkKcQAHEBAACcpxAAegEAAHsBAAB8AQAAfQEAAH4BAAA8AAAAfwEAAIABAABXAQAAWAEAADoBAACBAQAAPAEAAIIBAACDAQAAhAEAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvc2hhcGUvc2VnbWVudC5ycwAAAISoEABpAAAALQAAADIAAACEqBAAaQAAAJwAAAASAAAA1AAAAAQAAAAEAAAAhQEAAIYBAACHAQAAiAEAANQAAAAMAAAABAAAAIkBAACKAQAAiwEAAIwBAACNAQAAjgEAAI8BAACQAQAAkQEAAJIBAADUAAAADAAAAAQAAADhAAAAkwEAAJQBAACVAQAAlgEAANQAAAAMAAAABAAAAOEAAACTAQAAlAEAAJUBAACWAQAAVMYQAFTGEACUAQAA1AAAAAwAAAAEAAAAlwEAAJgBAACZAQAAmgEAAJsBAACcAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAACypEADhAAAANIYQAJMBAACUAQAAlQEAAJYBAABgqRAAVMYQAFTGEACUAQAAgKkQAFsAAABcAAAAXQAAAF4AAACdAQAAYAAAAJ4BAACfAQAAYwAAAFgBAAA6AQAAoAEAADwBAAChAQAAZgAAAKIBAADUAAAADAAAAAQAAACjAQAApAEAAKUBAACmAQAA1AAAAAwAAAAEAAAAowEAAKQBAAClAQAApgEAABwAAACnAQAA1AAAABwAAAAEAAAAqAEAAKkBAACqAQAAqwEAAKwBAACtAQAArgEAAK8BAACwAQAAsQEAANQAAAAcAAAABAAAAPEAAACyAQAAswEAALQBAAC1AQAA1AAAABwAAAAEAAAA1AAAABwAAAAEAAAA8QAAALIBAACzAQAAtAEAALUBAAD8qhAA/KoQALMBAADUAAAAHAAAAAQAAAC2AQAAtwEAALgBAAC5AQAAugEAALsBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAqKoQAPEAAADUhhAAsgEAALMBAAC0AQAAtQEAANyqEAD8qhAA/KoQALMBAAAIqxAAvAEAAL0BAAC+AQAAvwEAAMABAADBAQAAwgEAAMMBAADEAQAAWAEAADoBAADFAQAAPAEAAMYBAADHAQAAyAEAANQAAAAcAAAABAAAAMkBAADKAQAAywEAAMwBAADUAAAAGAAAAAQAAADNAQAAzgEAAM8BAADQAQAA0QEAAKcBAADUAAAAJAAAAAQAAADSAQAA0wEAANQBAADVAQAA1AAAACQAAAAEAAAA0gEAANMBAADUAQAA1QEAACIAAACnAQAA1AAAABgAAAAEAAAAzQEAAM4BAADPAQAA0AEAAOQAAAB4AAAABAAAANYBAADXAQAA2AEAANkBAADaAQAA2wEAANwBAADdAQAA3gEAAN8BAADkAAAAeAAAAAQAAADlAAAA4AEAAOEBAADiAQAA4wEAAOQAAAB4AAAABAAAAOQAAAB4AAAABAAAAOUAAADgAQAA4QEAAOIBAADjAQAA4KwQAOCsEADhAQAA5AAAAHgAAAAEAAAA5AEAAOUBAADmAQAA5wEAAOgBAADpAQAA1gEAANcBAADYAQAA2QEAANoBAADbAQAA3AEAAN0BAADeAQAA3wEAAIysEADlAAAAVIYQAOABAADhAQAA4gEAAOMBAADArBAA4KwQAOCsEADhAQAA7KwQAOoBAADrAQAA7AEAAO0BAADuAQAA7wEAAPABAADxAQAA8gEAAPMBAACnAQAAPAEAAPQBAAA9AQAAxwEAAPUBAADkAAAAeAAAAAQAAAD2AQAA9wEAAO4AAABgAAAABAAAAPgBAAD5AQAA+gEAAPsBAAD8AQAA/QEAAP4BAAD/AQAAAAIAAAECAADuAAAAYAAAAAQAAADvAAAAAgIAAAMCAAAEAgAABQIAAO4AAABgAAAABAAAAO4AAABgAAAABAAAAO8AAAACAgAAAwIAAAQCAAAFAgAAPK4QADyuEAADAgAA7gAAAGAAAAAEAAAABgIAAAcCAAAIAgAACQIAAAoCAAALAgAA+AEAAPkBAAD6AQAA+wEAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAOitEADvAAAAtIYQAAICAAADAgAABAIAAAUCAAAcrhAAPK4QADyuEAADAgAASK4QAAwCAAANAgAADgIAAA8CAAAQAgAAPAAAABECAAASAgAAVwEAABMCAACnAQAAPAEAABQCAAA9AQAAxwEAABUCAADuAAAAYAAAAAQAAAAWAgAAFwIAANkAAADEAAAABAAAABgCAAAZAgAAGgIAABsCAAAcAgAAHQIAAB4CAAAfAgAAIAIAACECAADZAAAAxAAAAAQAAADaAAAAIgIAACMCAAAkAgAAJQIAANkAAADEAAAABAAAANkAAADEAAAABAAAANoAAAAiAgAAIwIAACQCAAAlAgAAmK8QAJivEAAjAgAA2QAAAMQAAAAEAAAAJgIAACcCAAAoAgAAKQIAACoCAAArAgAAGAIAABkCAAAaAgAAGwIAABwCAAAdAgAAHgIAAB8CAAAgAgAAIQIAAESvEADaAAAA1IUQACICAAAjAgAAJAIAACUCAAB4rxAAmK8QAJivEAAjAgAApK8QACwCAAAtAgAALgIAAC8CAAAwAgAAMQIAADICAAAzAgAAVwEAABMCAACnAQAAPAEAADQCAAA9AQAAxwEAADUCAADZAAAAxAAAAAQAAAA2AgAANwIAANcAAABQAAAABAAAADgCAAA5AgAAOgIAADsCAAA8AgAAPQIAAD4CAAA/AgAAQAIAAEECAADXAAAAUAAAAAQAAADYAAAAQgIAAEMCAABEAgAARQIAANcAAABQAAAABAAAANcAAABQAAAABAAAANgAAABCAgAAQwIAAEQCAABFAgAA9LAQAPSwEABDAgAA1wAAAFAAAAAEAAAARgIAAEcCAABIAgAASQIAAEoCAABLAgAAOAIAADkCAAA6AgAAOwIAADwCAAA9AgAAPgIAAD8CAABAAgAAQQIAAKCwEADYAAAAxIUQAEICAABDAgAARAIAAEUCAADUsBAA9LAQAPSwEABDAgAAALEQAEwCAABNAgAATgIAAE8CAABQAgAAPAAAAFECAABSAgAAVwEAABMCAACnAQAAPAEAADwBAAA9AQAAxwEAAFMCAADoAAAAYAAAAAQAAABUAgAAVQIAAFYCAABXAgAAWAIAAFkCAABaAgAAWwIAAFwCAABdAgAA6AAAAGAAAAAEAAAA6QAAAF4CAABfAgAAYAIAAGECAADoAAAAYAAAAAQAAADoAAAAYAAAAAQAAADpAAAAXgIAAF8CAABgAgAAYQIAADyyEAA8shAAXwIAAOgAAABgAAAABAAAAGICAABjAgAAZAIAAGUCAABmAgAAZwIAAFQCAABVAgAAVgIAAFcCAABYAgAAWQIAAFoCAABbAgAAXAIAAF0CAADosRAA6QAAAHSGEABeAgAAXwIAAGACAABhAgAAHLIQADyyEAA8shAAXwIAAEiyEABoAgAAaQIAAGoCAABrAgAAbAIAAG0CAABuAgAAbwIAAHACAAATAgAAOgEAAHECAAA8AQAAcgIAAHMCAAB0AgAA6AAAAGAAAAAEAAAAdQIAAHYCAAB3AgAAeAIAAOgAAABgAAAABAAAAHUCAAB2AgAAdwIAAHgCAAB5AgAAOgEAANQAAAAIAAAABAAAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAIACAACBAgAAggIAAIMCAADUAAAACAAAAAQAAADeAAAAhAIAAIUCAACGAgAAhwIAANQAAAAIAAAABAAAAN4AAACEAgAAhQIAAIYCAACHAgAAQLUQAEC1EACFAgAA1AAAAAgAAAAEAAAAiAIAAIkCAACKAgAAiwIAAIwCAACNAgAAegIAAHsCAAB8AgAAfQIAAH4CAAB/AgAAgAIAAIECAACCAgAAgwIAAHCzEADeAAAABIYQAIQCAACFAgAAhgIAAIcCAACksxAAQLUQAEC1EACFAgAAxLMQAI4CAACPAgAAkAIAAJECAACSAgAAkwIAAJQCAACVAgAAlgIAAFgBAAA6AQAAlwIAADwBAACYAgAAxwEAAJkCAADUAAAACAAAAAQAAACaAgAAmwIAAJwCAACdAgAA1AAAAAgAAAAEAAAAmgIAAJsCAACcAgAAnQIAAJ4CAACnAQAA1AAAAAgAAAAEAAAAnwIAAKACAAChAgAAogIAAKMCAACkAgAApQIAAKYCAACnAgAAqAIAANQAAAAIAAAABAAAAN0AAACpAgAAqgIAAKsCAACsAgAA1AAAAAgAAAAEAAAA1AAAAAgAAAAEAAAA3QAAAKkCAACqAgAAqwIAAKwCAABAtRAAQLUQAKoCAADUAAAACAAAAAQAAACtAgAArgIAAK8CAACwAgAAsQIAALICAACfAgAAoAIAAKECAACiAgAAowIAAKQCAAClAgAApgIAAKcCAACoAgAA7LQQAN0AAAD0hRAAqQIAAKoCAACrAgAArAIAACC1EABAtRAAQLUQAKoCAABMtRAAswIAAI8CAAC0AgAAtQIAAJICAAC2AgAAtwIAALgCAACWAgAAuQIAADoBAAC6AgAAPAEAALsCAADHAQAAvAIAAGFzc2VydGlvbiBmYWlsZWQ6IGFwZXhfaGFsZl9hbmdsZSA+PSAwLjAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL3NoYXBlLnJzAFy2EABnAAAA+AQAAAkAAADUAAAACAAAAAQAAAC9AgAAvgIAAL8CAADAAgAA1AAAAAgAAAAEAAAAvQIAAL4CAAC/AgAAwAIAAMECAACnAQAA1AAAAAwAAAAEAAAAwgIAAMMCAADEAgAAxQIAAMYCAADHAgAAyAIAAMkCAADKAgAAywIAANQAAAAMAAAABAAAAPQAAADMAgAAzQIAAM4CAADPAgAA1AAAAAwAAAAEAAAA9AAAAMwCAADNAgAAzgIAAM8CAABUxhAAVMYQAM0CAADUAAAADAAAAAQAAADQAgAA0QIAANICAADTAgAA1AIAANUCAADCAgAAwwIAAMQCAADFAgAAxgIAAMcCAADIAgAAyQIAAMoCAADLAgAAFLcQAPQAAAD0hhAAzAIAAM0CAADOAgAAzwIAAEi3EABUxhAAVMYQAM0CAABotxAA1gIAANcCAADYAgAA2QIAANoCAAA8AAAA2wIAANwCAADdAgAAOQEAADoBAAA8AQAAPAEAAD0BAADHAQAA3gIAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvc2hhcGUvY29udmV4X3BvbHloZWRyb24ucnMAULgQAHMAAABXAAAACQAAAFC4EABzAAAAYQEAADsAAABQuBAAcwAAAGEBAAAmAAAAULgQAHMAAABjAQAAFQAAAFC4EABzAAAAZwEAACYAAABQuBAAcwAAAGYBAAAVAAAAULgQAHMAAABGAQAAKwAAAFC4EABzAAAARwEAABkAAABQuBAAcwAAAOwAAAAeAAAAULgQAHMAAAABAQAAKAAAAFC4EABzAAAACwEAACYAAABQuBAAcwAAABcBAAAuAAAAYXNzZXJ0aW9uIGZhaWxlZDogdHJpYW5nbGVzW2N1cnJfdHJpYW5nbGVdLnZlcnRpY2VzW2N1cnJfZWRnZV9pZF0gPT0gY3Vycl92ZXJ0ZXhQuBAAcwAAABgBAAAhAAAAULgQAHMAAADNAAAAGAAAAFC4EABzAAAAzgAAABgAAABQuBAAcwAAAM8AAAAYAAAAULgQAHMAAACvAAAALgAAAFC4EABzAAAAvgAAACMAAABQuBAAcwAAAL4AAAA+AAAAULgQAHMAAADSAQAAJAAAAFC4EABzAAAA4AEAADMAAABQuBAAcwAAAOEBAAAjAAAAULgQAHMAAADWAQAAMwAAAFC4EABzAAAA1wEAACMAAABQuBAAcwAAAP4BAAAsAAAAULgQAHMAAAADAgAANgAAAFC4EABzAAAABAIAACoAAABQuBAAcwAAAPcBAAAnAAAAULgQAHMAAAD5AQAAIAAAAFC4EABzAAAA+gEAACYAAABQuBAAcwAAAPUBAAAzAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy91dGlscy9wb2ludF9jbG91ZF9zdXBwb3J0X3BvaW50LnJzAAS7EAB7AAAAGQAAAAUAAABQuBAAcwAAABgCAAAmAAAAULgQAHMAAAAjAgAAHwAAAFC4EABzAAAAKQIAADkAAABQuBAAcwAAACsCAAAoAAAAULgQAHMAAAAuAgAAMgAAAGFzc2VydGlvbiBmYWlsZWQ6IGhhbGZfaGVpZ2h0LmlzX3NpZ25fcG9zaXRpdmUoKSAmJiByYWRpdXMuaXNfc2lnbl9wb3NpdGl2ZSgpL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS9jeWxpbmRlci5ycwAtvBAAagAAACoAAAAJAAAAQSBoZWlnaHRmaWVsZCBoZWlnaHRzIG11c3QgaGF2ZSBhdCBsZWFzdCAyIHJvd3MgYW5kIGNvbHVtbnMuqLwQADwAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL2hlaWdodGZpZWxkMy5ycwAA7LwQAG4AAACIAAAACQAAAOy8EABuAAAAQgIAACsAAADsvBAAbgAAAEACAAArAAAA7LwQAG4AAABJAgAAHQAAAOy8EABuAAAARgIAACsAAADsvBAAbgAAAGsCAAApAAAA7LwQAG4AAABkAgAAKQAAAOy8EABuAAAAewIAACkAAADsvBAAbgAAAHQCAAApAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS90cmltZXNoLnJzQSB0cmlhbmdsZSBtZXNoIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgdHJpYW5nbGUuVb4QADMAAADsvRAAaQAAAK4BAAAJAAAA7L0QAGkAAABbAgAAHgAAAOy9EABpAAAAXAIAAB4AAADsvRAAaQAAAF0CAAAeAAAA7L0QAGkAAACpAgAAHwAAAOy9EABpAAAArwIAAB8AAADsvRAAaQAAALUCAAAfAAAA7L0QAGkAAAD0AgAAFAAAAOy9EABpAAAA9QIAABQAAADsvRAAaQAAAPYCAAAUAAAA7L0QAGkAAAD+AgAAJwAAAOy9EABpAAAA/wIAACcAAADsvRAAaQAAAAADAAAnAAAA7L0QAGkAAACRAwAAKAAAAOy9EABpAAAAkgMAACgAAADsvRAAaQAAAH8DAAA3AAAA7L0QAGkAAACEAwAAIgAAAOy9EABpAAAApQMAACsAAADsvRAAaQAAAKwDAAAbAAAA7L0QAGkAAACzAwAAKQAAAOy9EABpAAAAtAMAADIAAADsvRAAaQAAALUDAAAyAAAA7L0QAGkAAAC2AwAAMgAAAOy9EABpAAAAuwMAACsAAADsvRAAaQAAABwEAAAfAAAA7L0QAGkAAAAeBAAAGgAAAOy9EABpAAAAHwQAABoAAADsvRAAaQAAACAEAAAaAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS9mZWF0dXJlX2lkLnJzUMAQAGwAAABVAAAACQAAAFDAEABsAAAAXAAAAAkAAABQwBAAbAAAAGIAAAAJAAAA1AAAABAAAAAEAAAA3wIAAOACAADhAgAA4gIAAOMCAADkAgAA5QIAAOYCAADnAgAA6AIAANQAAAAQAAAABAAAAPAAAADpAgAA6gIAAOsCAADsAgAA1AAAABAAAAAEAAAA1AAAABAAAAAEAAAA8AAAAOkCAADqAgAA6wIAAOwCAABAwRAAQMEQAOoCAADUAAAAEAAAAAQAAADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADfAgAA4AIAAOECAADiAgAA4wIAAOQCAADlAgAA5gIAAOcCAADoAgAA7MAQAPAAAADEhhAA6QIAAOoCAADrAgAA7AIAACDBEABAwRAAQMEQAOoCAABMwRAA8wIAAPQCAAD1AgAA9gIAAPcCAAD4AgAA+QIAAPoCAAD7AgAAWAEAADoBAAD8AgAAPAEAAP0CAADHAQAA/gIAAPYAAABkAAAABAAAAP8CAAAAAwAAAQMAAAIDAAADAwAABAMAAAUDAAAGAwAABwMAAAgDAAD2AAAAZAAAAAQAAAD3AAAACQMAAAoDAAALAwAADAMAAPYAAABkAAAABAAAAPYAAABkAAAABAAAAPcAAAAJAwAACgMAAAsDAAAMAwAAiMIQAIjCEAAKAwAA9gAAAGQAAAAEAAAADQMAAA4DAAAPAwAAEAMAABEDAAASAwAA/wIAAAADAAABAwAAAgMAAAMDAAAEAwAABQMAAAYDAAAHAwAACAMAADTCEAD3AAAAFIcQAAkDAAAKAwAACwMAAAwDAABowhAAiMIQAIjCEAAKAwAAlMIQABMDAAAUAwAAFQMAABYDAAAXAwAAGAMAABkDAAAaAwAAGwMAABMCAAA6AQAAHAMAADwBAAAdAwAAxwEAAB4DAADUAAAADAAAAAQAAAAfAwAAIAMAACEDAAAiAwAAIwMAACQDAAAlAwAAJgMAACcDAAAoAwAA1AAAAAwAAAAEAAAA3wAAACkDAAAqAwAAKwMAACwDAADUAAAADAAAAAQAAADfAAAAKQMAACoDAAArAwAALAMAAFTGEABUxhAAKgMAANQAAAAMAAAABAAAAC0DAAAuAwAALwMAADADAAAxAwAAMgMAAB8DAAAgAwAAIQMAACIDAAAjAwAAJAMAACUDAAAmAwAAJwMAACgDAAB8wxAA3wAAABSGEAApAwAAKgMAACsDAAAsAwAAsMMQAFTGEABUxhAAKgMAANDDEAAzAwAANAMAADUDAAA2AwAANwMAADgDAAA5AwAAOgMAADsDAABYAQAAOgEAADwDAAA8AQAAPQMAAMcBAAA+AwAA1AAAACgAAAAEAAAAPwMAAEADAABBAwAAQgMAAEMDAABEAwAARQMAAEYDAABHAwAASAMAANQAAAAoAAAABAAAAPUAAABJAwAASgMAAEsDAABMAwAA1AAAACgAAAAEAAAA1AAAACgAAAAEAAAA9QAAAEkDAABKAwAASwMAAEwDAAAMxRAADMUQAEoDAADUAAAAKAAAAAQAAABNAwAATgMAAE8DAABQAwAAUQMAAFIDAAA/AwAAQAMAAEEDAABCAwAAQwMAAEQDAABFAwAARgMAAEcDAABIAwAAuMQQAPUAAAAEhxAASQMAAEoDAABLAwAATAMAAOzEEAAMxRAADMUQAEoDAAAYxRAAUwMAAFQDAABVAwAAVgMAAFcDAAA8AAAAWAMAAFkDAABaAwAAWAEAADoBAABbAwAAPAEAAFwDAADHAQAAXQMAANQAAAAMAAAABAAAAF4DAABfAwAAYAMAAGEDAABiAwAAYwMAAGQDAABlAwAAZgMAAGcDAADUAAAADAAAAAQAAAD4AAAAaAMAAGkDAABqAwAAawMAANQAAAAMAAAABAAAANQAAAAMAAAABAAAAPgAAABoAwAAaQMAAGoDAABrAwAAVMYQAFTGEABpAwAA1AAAAAwAAAAEAAAAbAMAAG0DAABuAwAAbwMAAHADAABxAwAAXgMAAF8DAABgAwAAYQMAAGIDAABjAwAAZAMAAGUDAABmAwAAZwMAAADGEAD4AAAAJIcQAGgDAABpAwAAagMAAGsDAAA0xhAAVMYQAFTGEABpAwAAYMYQAHIDAAA0AwAAcwMAAHQDAAA3AwAAdQMAAHYDAAB3AwAAOwMAAHgDAAA6AQAAeQMAADwBAAB6AwAAxwEAAHsDAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL3NoYXJlZF9zaGFwZS5ycwAASMcQAG4AAAAvAAAAIwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwyLnJzAMjHEAB3AAAAPAAAABQAAADIxxAAdwAAAEMAAAAdAAAAyMcQAHcAAAAdAAAAFQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBvaW50cy5sZW4oKSA+PSAyAMjHEAB3AAAAWQAAAAUAAADIxxAAdwAAAFsAAAA2AAAAyMcQAHcAAABhAAAALAAAAMjHEAB3AAAAYwAAABQAAADIxxAAdwAAAGMAAAAhAAAARmFpbGVkIHRvIGJ1aWxkIHRoZSAyZCBjb252ZXggaHVsbCBvZiB0aGlzIHBvaW50IGNsb3VkLgDkyBAANwAAAMjHEAB3AAAAagAAAAUAAADIxxAAdwAAAJMAAAAbAAAAyMcQAHcAAACUAAAAGwAAAMjHEAB3AAAArgAAADEAAADIxxAAdwAAAM8AAAAUAAAAyMcQAHcAAADPAAAAIQAAAMjHEAB3AAAA4AAAABMAAADIxxAAdwAAAOEAAAATAAAA1AAAAAwAAAAEAAAAfAMAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vY29udmV4X2h1bGwzL2NvbnZleF9odWxsLnJzALTJEACDAAAACwAAAB0AAAC0yRAAgwAAAC8AAAAWAAAAtMkQAIMAAAByAAAAGgAAAEludGVybmFsIGVycm9yOiBleGl0aW5nIGFuIHVuZmluaXNoZWQgd29yay4AtMkQAIMAAACmAAAACAAAALTJEACDAAAA6gAAAB0AAAC0yRAAgwAAAOoAAAAWAAAAtMkQAIMAAADrAAAAFgAAALTJEACDAAAA9AAAAC8AAAC0yRAAgwAAAPUAAAAaAAAAtMkQAIMAAAD1AAAAGQAAALTJEACDAAAABQEAAB4AAAC0yRAAgwAAAAsBAAAeAAAAtMkQAIMAAAAMAQAAIQAAALTJEACDAAAA2wAAABEAAAC0yRAAgwAAANwAAAASAAAAtMkQAIMAAADxAAAAJAAAALTJEACDAAAAigEAACwAAAC0yRAAgwAAAJgBAAAXAAAAtMkQAIMAAABmAQAAJwAAALTJEACDAAAAZwEAABAAAAC0yRAAgwAAAGcBAAAqAAAAtMkQAIMAAAB6AQAAHgAAALTJEACDAAAAXQEAABMAAAC0yRAAgwAAAF4BAAAlAAAAtMkQAIMAAABeAQAAHAAAALTJEACDAAAAXgEAABsAAABhc3NlcnRpb24gZmFpbGVkOiAhdHJpYW5nbGVzW3RyaWFuZ2xlc1ttaWRkbGVfZmFjZXRdLmFkalttaWRkbGVfaWRdXS52YWxpZAAAtMkQAIMAAABeAQAACQAAALTJEACDAAAASAEAABYAAABNaXNzaW5nU3VwcG9ydFBvaW50VW5yZWFjaGFibGUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3RyYW5zZm9ybWF0aW9uL2NvbnZleF9odWxsMy9pbml0aWFsX21lc2gucnNubyB0cmlhbmdsZSBmb3VuZC6OzBAAhAAAAL0AAAA4AAAAjswQAIQAAACiAAAAIwAAAI7MEACEAAAAogAAADoAAACOzBAAhAAAAH0AAAAaAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvdHJpYW5nbGVfZmFjZXQucnMAAGTNEACGAAAAFQAAABQAAABkzRAAhgAAABUAAAAhAAAAZM0QAIYAAAAWAAAAFAAAAGFzc2VydGlvbiBmYWlsZWQ6IGRpc3RhbmNlID4gY3JhdGU6Om1hdGg6OkRFRkFVTFRfRVBTSUxPTgAAAGTNEACGAAAAKgAAAAkAAABkzRAAhgAAADUAAAAbAAAAZM0QAIYAAAA1AAAAKwAAAGTNEACGAAAASwAAAAkAAABkzRAAhgAAAFgAAAASAAAAZM0QAIYAAABZAAAAEgAAAGTNEACGAAAAcAAAABYAAABkzRAAhgAAAHEAAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvdmFsaWRhdGlvbi5ycwAA2M4QAIIAAAAPAAAAFAAAANjOEACCAAAADwAAAAkAAADYzhAAggAAABAAAAAJAAAA2M4QAIIAAAARAAAACQAAANjOEACCAAAAFQAAAAkAAADYzhAAggAAAAkAAAARAAAAYXNzZXJ0aW9uIGZhaWxlZDogZmFjZXRzW2ZhY2V0LmFkaltpXV0udmFsaWTYzhAAggAAAAkAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbF91dGlscy5yc/jPEAB8AAAAKQAAACIAAAD4zxAAfAAAAEIAAAAiAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi90b19vdXRsaW5lL2JhbGxfdG9fb3V0bGluZS5ycwAAAJTQEACFAAAAHgAAABQAAACU0BAAhQAAACIAAAAUAAAAlNAQAIUAAAA8AAAAEQAAAJTQEACFAAAAQAAAABEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvY2Fwc3VsZV90b19vdXRsaW5lLnJzXNEQAIgAAAAcAAAACAAAAAAAAAABAAAAAAAAAAIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvcm91bmRfY29udmV4X3BvbHloZWRyb25fdG9fb3V0bGluZS5ycwTSEACYAAAAMAAAABoAAAAE0hAAmAAAACIAAAA0AAAABNIQAJgAAAAjAAAAHgAAAATSEACYAAAADwAAABoAAAAE0hAAmAAAABIAAAA4AAAABNIQAJgAAAAVAAAAHAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vdG9fdHJpbWVzaC9jb252ZXhfcG9seWhlZHJvbl90b190cmltZXNoLnJzAAD80hAAkgAAAA0AAAAcAAAA/NIQAJIAAAAPAAAAMwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vdXRpbHMucnOw0xAAcAAAAMQAAAAQAAAAsNMQAHAAAADFAAAAEAAAAGFzc2VydGlvbiBmYWlsZWQ6IG5zdWJkaXZzID4gMAAAsNMQAHAAAADWAAAABQAAALDTEABwAAAARAEAAB0AAACw0xAAcAAAADMBAAAnAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy91dGlscy9hcnJheS5ycwCQ1BAAZwAAAEoAAAANAAAAQ2Fubm90IGNvbXB1dGUgdGhlIGNlbnRlciBvZiBsZXNzIHRoYW4gMSBwb2ludC4ACNUQAC8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2NlbnRlci5yc0DVEABoAAAABwAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2NsZWFudXAucnMAAAC41RAAaQAAAB0AAAARAAAAuNUQAGkAAAAeAAAAEQAAALjVEABpAAAAHwAAABEAAAC41RAAaQAAABMAAAANAAAAuNUQAGkAAAAVAAAADQAAALjVEABpAAAAFgAAABcAAAC41RAAaQAAAAwAAAAJAAAAuNUQAGkAAAANAAAACQAAALjVEABpAAAADgAAAAkAAAAEuxAAewAAAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYm91bmRpbmdfc3BoZXJlLnJzAMTWEAB7AAAAfQAAAAkAAADUAAAAEAAAAAQAAAB9AwAAfgMAAH8DAACAAwAA1AAAACgAAAAEAAAAgQMAAIIDAACDAwAAhAMAANQAAAAMAAAABAAAAIUDAACGAwAAhwMAAIgDAADUAAAADAAAAAQAAACJAwAAigMAAIsDAACMAwAA9gAAAGQAAAAEAAAAjQMAAI4DAACPAwAAkAMAAEludGVybmFsRXJyb3IAAADUAAAABAAAAAQAAACRAwAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd/zXEAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2hhc2hicm93bi0wLjEyLjMvc3JjL3Jhdy9tb2QucnMAAAAg2BAAZQAAAFoAAAAoAAAAOGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojMAAAA/AAAAvwMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAAAABA+yH5PwAAAAAtRHQ+AAAAgJhG+DwAAABgUcx4OwAAAICDG/A5AAAAQCAlejgAAACAIoLjNgAAAAAd82k12w9JP9sPSb/kyxZAAAAAAAAAAIDbD0lAYnl0ZSBhcnJheWJvb2xlYW4gYGA62hAACQAAAEPaEAABAAAAaW50ZWdlciBgAAAAVNoQAAkAAABD2hAAAQAAAGZsb2F0aW5nIHBvaW50IGBw2hAAEAAAAEPaEAABAAAAY2hhcmFjdGVyIGAAkNoQAAsAAABD2hAAAQAAAHN0cmluZyAArNoQAAcAAAAw2hAACgAAAHVuaXQgdmFsdWUAAMTaEAAKAAAAT3B0aW9uIHZhbHVl2NoQAAwAAABuZXd0eXBlIHN0cnVjdAAA7NoQAA4AAABzZXF1ZW5jZQTbEAAIAAAAbWFwABTbEAADAAAAZW51bSDbEAAEAAAAdW5pdCB2YXJpYW50LNsQAAwAAABuZXd0eXBlIHZhcmlhbnQAQNsQAA8AAAB0dXBsZSB2YXJpYW50AAAAWNsQAA0AAABzdHJ1Y3QgdmFyaWFudAAAcNsQAA4AAABhIG5vbnplcm8gdXNpemV1c2l6ZXJlZW50cmFudCBpbml0AACc2xAADgAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAtNsQAE0AAADZAAAAQgAAAG92ZXJmbG93IGluIER1cmF0aW9uOjpuZXcAAAAU3BAAGQAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvY29yZS9zcmMvdGltZS5yczjcEABIAAAAygAAABUAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAJgDAAAMAAAABAAAAJkDAACaAwAAmwMAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvbW9kLnJzZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZPHcEAA3AAAA1NwQAB0AAACcBAAADQAAAG92ZXJmbG93IHdoZW4gYWRkaW5nIGR1cmF0aW9uIHRvIGluc3RhbnRsaWJyYXJ5L3N0ZC9zcmMvdGltZS5ycwBo3RAAFwAAAKEBAAAhAAAAbWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAAkN0QABUAAACl3RAADQAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc8TdEAAYAAAAYgEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJz7N0QABwAAACEAgAAHgAAAJgDAAAMAAAABAAAAJwDAACdAwAACAAAAAQAAACeAwAAnQMAAAgAAAAEAAAAnwMAAKADAAChAwAAEAAAAAQAAACiAwAAowMAAKQDAAAAAAAAAQAAAKUDAAB0aW1lIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtAAAAcN4QACUAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwCg3hAALwAAAA0AAAAJAAAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd+DeEAAcAAAAL3J1c3QvZGVwcy9oYXNoYnJvd24tMC4xNC4yL3NyYy9yYXcvbW9kLnJzAAAE3xAAKgAAAFgAAAAoAAAARXJyb3JMYXlvdXRFcnJvcqYDAAAMAAAABAAAAKcDAACoAwAAqQMAAGxp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").buffer)})}function nH(){return function(){let g,A;try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.version(B);var I=ZI()[B/4+0],C=ZI()[B/4+1];return g=I,A=C,BH(I,C)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(g,A,1)}}()}Gi[45]=62,Gi[95]=63;var kV=Object.freeze({__proto__:null,version:nH,Vector3:Tn,VectorOps:uA,Quaternion:ph,RotationOps:gg,SdpMatrix3:yM,SdpMatrix3Ops:Uh,get RigidBodyType(){return ui},RigidBody:Kh,RigidBodyDesc:ki,RigidBodySet:uM,IntegrationParameters:kM,get JointType(){return bC},get MotorModel(){return Nh},get JointAxesMask(){return fh},ImpulseJoint:qi,UnitImpulseJoint:Ww,FixedImpulseJoint:dM,RopeImpulseJoint:MM,SpringImpulseJoint:pM,PrismaticImpulseJoint:UM,RevoluteImpulseJoint:NM,GenericImpulseJoint:fM,SphericalImpulseJoint:FM,JointData:hQ,ImpulseJointSet:RM,MultibodyJoint:re,UnitMultibodyJoint:jw,FixedMultibodyJoint:KM,PrismaticMultibodyJoint:JM,RevoluteMultibodyJoint:qM,SphericalMultibodyJoint:mM,MultibodyJointSet:LM,get CoefficientCombineRule(){return Cs},CCDSolver:YM,IslandManager:HM,BroadPhase:TM,NarrowPhase:xM,TempContactManifold:vM,Shape:kC,get ShapeType(){return lC},Ball:Vw,HalfSpace:bM,Cuboid:Xw,RoundCuboid:zw,Capsule:$w,Segment:AS,Triangle:IS,RoundTriangle:gS,Polyline:CS,TriMesh:BS,ConvexPolyhedron:fr,RoundConvexPolyhedron:Fr,Heightfield:iS,Cylinder:QS,RoundCylinder:eS,Cone:ES,RoundCone:tS,get ActiveCollisionTypes(){return Nr},Collider:qh,get MassPropsMode(){return sE},ColliderDesc:BC,ColliderSet:$M,get FeatureType(){return Io},Ray:tH,RayIntersection:Ss,RayColliderIntersection:is,RayColliderToi:Cl,PointProjection:ws,PointColliderProjection:Bs,ShapeTOI:co,ShapeColliderTOI:Gs,ShapeContact:go,World:Bl,PhysicsPipeline:OM,SerializationPipeline:Jh,get ActiveEvents(){return Ce},TempContactForceEvent:XM,EventQueue:zM,get ActiveHooks(){return Ur},get SolverFlags(){return Rh},DebugRenderBuffers:ZM,DebugRenderPipeline:PM,get QueryFilterFlags(){return Fh},QueryPipeline:_M,init:oH,CharacterCollision:WM,KinematicCharacterController:jM,DynamicRayCastVehicleController:VM});const dV=Object.freeze(Object.defineProperty({__proto__:null,get ActiveCollisionTypes(){return Nr},get ActiveEvents(){return Ce},get ActiveHooks(){return Ur},Ball:Vw,BroadPhase:TM,CCDSolver:YM,Capsule:$w,CharacterCollision:WM,get CoefficientCombineRule(){return Cs},Collider:qh,ColliderDesc:BC,ColliderSet:$M,Cone:ES,ConvexPolyhedron:fr,Cuboid:Xw,Cylinder:QS,DebugRenderBuffers:ZM,DebugRenderPipeline:PM,DynamicRayCastVehicleController:VM,EventQueue:zM,get FeatureType(){return Io},FixedImpulseJoint:dM,FixedMultibodyJoint:KM,GenericImpulseJoint:fM,HalfSpace:bM,Heightfield:iS,ImpulseJoint:qi,ImpulseJointSet:RM,IntegrationParameters:kM,IslandManager:HM,get JointAxesMask(){return fh},JointData:hQ,get JointType(){return bC},KinematicCharacterController:jM,get MassPropsMode(){return sE},get MotorModel(){return Nh},MultibodyJoint:re,MultibodyJointSet:LM,NarrowPhase:xM,PhysicsPipeline:OM,PointColliderProjection:Bs,PointProjection:ws,Polyline:CS,PrismaticImpulseJoint:UM,PrismaticMultibodyJoint:JM,Quaternion:ph,get QueryFilterFlags(){return Fh},QueryPipeline:_M,Ray:tH,RayColliderIntersection:is,RayColliderToi:Cl,RayIntersection:Ss,RevoluteImpulseJoint:NM,RevoluteMultibodyJoint:qM,RigidBody:Kh,RigidBodyDesc:ki,RigidBodySet:uM,get RigidBodyType(){return ui},RopeImpulseJoint:MM,RotationOps:gg,RoundCone:tS,RoundConvexPolyhedron:Fr,RoundCuboid:zw,RoundCylinder:eS,RoundTriangle:gS,SdpMatrix3:yM,SdpMatrix3Ops:Uh,Segment:AS,SerializationPipeline:Jh,Shape:kC,ShapeColliderTOI:Gs,ShapeContact:go,ShapeTOI:co,get ShapeType(){return lC},get SolverFlags(){return Rh},SphericalImpulseJoint:FM,SphericalMultibodyJoint:mM,SpringImpulseJoint:pM,TempContactForceEvent:XM,TempContactManifold:vM,TriMesh:BS,Triangle:IS,UnitImpulseJoint:Ww,UnitMultibodyJoint:jw,Vector3:Tn,VectorOps:uA,World:Bl,default:kV,init:oH,version:nH},Symbol.toStringTag,{value:"Module"}));var MV=function g(A,I){if(A===I)return!0;if(A&&I&&typeof A=="object"&&typeof I=="object"){if(A.constructor!==I.constructor)return!1;var C,B,i;if(Array.isArray(A)){if(C=A.length,C!=I.length)return!1;for(B=C;B--!==0;)if(!g(A[B],I[B]))return!1;return!0}if(A.constructor===RegExp)return A.source===I.source&&A.flags===I.flags;if(A.valueOf!==Object.prototype.valueOf)return A.valueOf()===I.valueOf();if(A.toString!==Object.prototype.toString)return A.toString()===I.toString();if(i=Object.keys(A),C=i.length,C!==Object.keys(I).length)return!1;for(B=C;B--!==0;)if(!Object.prototype.hasOwnProperty.call(I,i[B]))return!1;for(B=C;B--!==0;){var Q=i[B];if(!g(A[Q],I[Q]))return!1}return!0}return A!==A&&I!==I};const Ap=mh(MV),oS=[];function sH(g,A,I,C=0,B=!1){for(const Q of A)if(Ap(I,Q.args)){if(B)return;if(Q.error)throw Q.error;if(Q.response)return Q.response;throw Q.promise}const i={args:I,promise:g(...I).then(Q=>i.response=Q??!0).catch(Q=>i.error=Q??"unknown error").then(()=>{C>0&&setTimeout(()=>{const Q=A.indexOf(i);Q!==-1&&A.splice(Q,1)},C)})};if(A.push(i),!B)throw i.promise}function pV(g,...A){if(A===void 0||A.length===0)g.splice(0,g.length);else{const I=g.find(C=>Ap(A,C.args));if(I){const C=g.indexOf(I);C!==-1&&g.splice(C,1)}}}function Co(g,...A){return sH(g,oS,A,Co.lifespan)}Co.lifespan=0;Co.clear=(...g)=>pV(oS,...g);Co.preload=(g,...A)=>void sH(g,oS,A,Co.lifespan,!0);Co.peek=(...g)=>{var A;return(A=oS.find(I=>Ap(g,I.args)))==null?void 0:A.response};function UV(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),E={},t={},n=[],a=["getX","getY","getZ","getW"];for(let G=0,h=e.length;G[]))}const r=Math.log10(1/A),l=Math.pow(10,r);for(let G=0;G{const[A,I,C]=g;return new O(A,I,C)},BK=({x:g,y:A,z:I,w:C})=>fV.set(g,A,I,C),KV=g=>{if(Array.isArray(g))return new Tn(g[0],g[1],g[2]);if(typeof g=="number")return new Tn(g,g,g);{const A=g;return new Tn(A.x,A.y,A.z)}},JV={fixed:1,dynamic:0,kinematicPosition:2,kinematicVelocity:3},aH=g=>JV[g],qV=(g,A)=>{const I=Array.from(g);for(let C=0;Cg?g instanceof _g?[g.x,g.y,g.z,g.w]:g instanceof O||g instanceof fQ?[g.x,g.y,g.z]:Array.isArray(g)?g:[g]:[0];function AE(g){const A=j.useRef();return A.current===void 0&&(A.current={value:typeof g=="function"?g():g}),A.current.value}const mV=g=>{const A=j.useRef(g),I=j.useRef(0),C=j.useRef(0);j.useEffect(()=>{A.current=g},[g]),j.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)},[])},LV=({onStep:g,updatePriority:A})=>(OB((I,C)=>{g(C)},A),null),YV=({onStep:g})=>(mV(A=>{g(A)}),null),HV=({onStep:g,type:A,updatePriority:I})=>A==="independent"?$I.createElement(YV,{onStep:g}):$I.createElement(LV,{onStep:g,updatePriority:I});var TV=j.memo(HV);function xV(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 Ip(g,A){if(g==null)return{};var I=xV(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 vV=["mass","linearDamping","angularDamping","type","onCollisionEnter","onCollisionExit","onIntersectionEnter","onIntersectionExit","onContactForce","children","canSleep","ccd","gravityScale"],bV=(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]=qV(C[0],I),C;const B=[I.x,I.y,I.z,I.x,I.x];return C.map((i,Q)=>B[Q]*i)},OV=(g,A,I,C)=>{const B=bV(g.shape,g.args,I),i=BC[g.shape](...B);return A.createCollider(i,C?.())},_V=["shape","args"],iK="Please pick ONLY ONE of the `density`, `mass` and `massProperties` options.",ZV=(g,A)=>{if(A.density!==void 0){if(A.mass!==void 0||A.massProperties!==void 0)throw new Error(iK);g.setDensity(A.density);return}if(A.mass!==void 0){if(A.massProperties!==void 0)throw new Error(iK);g.setMass(A.mass);return}A.massProperties!==void 0&&g.setMassProperties(A.massProperties.mass,A.massProperties.centerOfMass,A.massProperties.principalAngularInertia,A.massProperties.angularInertiaLocalFrame)},lH={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)},quaternion:()=>{},position:()=>{},rotation:()=>{},scale:()=>{}},cH=Object.keys(lH),PV=(g,A,I)=>{const C=I.get(g.handle);if(C){var B;const i=C.object.parent.getWorldScale(FV),Q=(B=C.worldParent)===null||B===void 0?void 0:B.matrixWorld.clone().invert();C.object.updateWorldMatrix(!0,!1),UE.copy(C.object.matrixWorld),Q&&UE.premultiply(Q),UE.decompose(AB,zi,Bo),g.parent()?(g.setTranslationWrtParent({x:AB.x*i.x,y:AB.y*i.y,z:AB.z*i.z}),g.setRotationWrtParent(zi)):(g.setTranslation({x:AB.x*i.x,y:AB.y*i.y,z:AB.z*i.z}),g.setRotation(zi)),cH.forEach(e=>{if(e in A){const E=A[e];lH[e](g,E,A)}}),ZV(g,A)}},WV=(g,A,I)=>{const C=j.useMemo(()=>cH.flatMap(B=>rH(A[B])),[A]);j.useEffect(()=>{const B=g();PV(B,A,I)},[...C,g])},jV=g=>{let A=!1;return g.traverseAncestors(I=>{I.userData.r3RapierType==="MeshCollider"&&(A=!0)}),A},VV=(g,A,I)=>({collider:g,worldParent:I||void 0,object:A}),XV={cuboid:"cuboid",ball:"ball",hull:"convexHull",trimesh:"trimesh"},zV=({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&&jV(Q))return;const e=Q.getWorldScale(Bo),E=XV[I.colliders||"cuboid"];Q.updateWorldMatrix(!0,!1),UE.copy(Q.matrixWorld).premultiply(B).decompose(AB,zi,Bo);const t=new fQ().setFromQuaternion(zi,"XYZ"),{geometry:n}=Q,{args:a,offset:r}=$V(n,I.colliders||"cuboid"),l=fg(fg({},hH(I)),{},{args:a,shape:E,rotation:[t.x,t.y,t.z],position:[AB.x+r.x*e.x,AB.y+r.y*e.y,AB.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},$V=(g,A)=>{switch(A){case"cuboid":{g.computeBoundingBox();const{boundingBox:C}=g,B=C.getSize(new O);return{args:[B.x/2,B.y/2,B.z/2],offset:C.getCenter(new O)}}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():UV(g);return{args:[C.attributes.position.array,(I=C.index)===null||I===void 0?void 0:I.array],offset:new O}}case"hull":return{args:[g.clone().attributes.position.array],offset:new O}}return{args:[],offset:new O}},DH=g=>({collision:!!(g!=null&&g.onCollisionEnter||g!=null&&g.onCollisionExit||g!=null&&g.onIntersectionEnter||g!=null&&g.onIntersectionExit),contactForce:!!(g!=null&&g.onContactForce)}),AX=(g,A,I,C={})=>{const{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:E}=A;j.useEffect(()=>{const t=g();if(t){const{collision:n,contactForce:a}=DH(A),r=n||C.collision,l=a||C.contactForce;r&&l?t.setActiveEvents(Ce.COLLISION_EVENTS|Ce.CONTACT_FORCE_EVENTS):r?t.setActiveEvents(Ce.COLLISION_EVENTS):l&&t.setActiveEvents(Ce.CONTACT_FORCE_EVENTS),I.set(t.handle,{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:E})}return()=>{t&&I.delete(t.handle)}},[B,i,Q,e,E,C])},hH=(g={})=>Ip(g,vV),nS=()=>{const g=j.useContext(wH);if(!g)throw new Error("react-three-rapier: useRapier must be used within !");return g},gp=(g,A,I=!0)=>{const[C,B]=j.useState([]);return j.useEffect(()=>{g.current&&A.colliders!==!1&&B(zV({object:g.current,options:A,ignoreMeshColliders:I}))},[A.colliders]),C},IX=j.memo(()=>{const{world:g}=nS(),A=j.useRef(null);return OB(()=>{const I=A.current;if(!I)return;const C=g.debugRender();I.geometry.setAttribute("position",new Ag(C.vertices,3)),I.geometry.setAttribute("color",new Ag(C.colors,4))}),$I.createElement("group",null,$I.createElement("lineSegments",{ref:A,frustumCulled:!1},$I.createElement("lineBasicMaterial",{color:16777215,vertexColors:!0}),$I.createElement("bufferGeometry",null)))}),gX=g=>{let A;const I={get(Q,e){return A||(A=g()),Reflect.get(A,e)},set(Q,e,E){return A||(A=g()),Reflect.set(A,e,E)}};return{proxy:new Proxy({},I),reset:()=>{A=void 0},set:Q=>{A=Q}}},wH=j.createContext(void 0),yD=(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}},CX=async()=>{let g=await S8(()=>Promise.resolve().then(()=>dV),void 0);return await g.init(),g},BX=g=>{const{colliders:A="cuboid",children:I,timeStep:C=1/60,paused:B=!1,interpolate:i=!0,updatePriority:Q,updateLoop:e="follow",debug:E=!1,gravity:t=[0,-9.81,0],allowedLinearError:n=.001,predictionDistance:a=.002,numSolverIterations:r=4,numAdditionalFrictionIterations:l=4,numInternalPgsIterations:D=1,minIslandSize:G=128,maxCcdSubsteps:h=1,erp:c=.8}=g,y=Co(CX),{invalidate:S}=wB(),k=AE(()=>new Map),N=AE(()=>new Map),p=AE(()=>new Map),f=AE(()=>new Map),q=AE(()=>new zM(!1)),_=AE(()=>new Set),U=AE(()=>new Set),{proxy:K,reset:z,set:cA}=AE(()=>gX(()=>new y.World(RV(t))));j.useEffect(()=>()=>{K.free(),z()},[]),j.useEffect(()=>{K.gravity=KV(t),K.integrationParameters.numSolverIterations=r,K.integrationParameters.numAdditionalFrictionIterations=l,K.integrationParameters.numInternalPgsIterations=D,K.integrationParameters.allowedLinearError=n,K.integrationParameters.minIslandSize=G,K.integrationParameters.maxCcdSubsteps=h,K.integrationParameters.predictionDistance=a,K.integrationParameters.erp=c},[K,...t,r,l,D,n,G,h,a,c]);const X=j.useCallback(CA=>{var gA;const DA=K.getCollider(CA),fA=f.get(CA),VA=N.get(CA),W=DA==null||(gA=DA.parent())===null||gA===void 0?void 0:gA.handle,v=W!==void 0?K.getRigidBody(W):void 0,x=v&&W!==void 0?p.get(W):void 0,H=W!==void 0?k.get(W):void 0;return{collider:{object:DA,events:fA,state:VA},rigidBody:{object:v,events:x,state:H}}},[]),[sA]=j.useState({previousState:{},accumulator:0}),oA=j.useCallback(CA=>{const gA=K,DA=C==="vary",fA=kE.clamp(CA,0,.5),VA=v=>{_.forEach(x=>{x.current(gA)}),gA.timestep=v,gA.step(q),U.forEach(x=>{x.current(gA)})};if(DA)VA(fA);else for(sA.accumulator+=fA;sA.accumulator>=C;)i&&(sA.previousState={},gA.forEachRigidBody(v=>{sA.previousState[v.handle]={position:v.translation(),rotation:v.rotation()}})),VA(C),sA.accumulator-=C;const W=DA||!i||B?1:sA.accumulator/C;k.forEach((v,x)=>{const H=gA.getRigidBody(x),EA=p.get(x);if(EA!=null&&EA.onSleep||EA!=null&&EA.onWake){if(H.isSleeping()&&!v.isSleeping){var UA;EA==null||(UA=EA.onSleep)===null||UA===void 0||UA.call(EA)}if(!H.isSleeping()&&v.isSleeping){var hA;EA==null||(hA=EA.onWake)===null||hA===void 0||hA.call(EA)}v.isSleeping=H.isSleeping()}if(!H||H.isSleeping()&&!("isInstancedMesh"in v.object)||!v.setMatrix)return;let NA=H.translation(),Z=H.rotation(),MA=sA.previousState[x];MA&&(UE.compose(MA.position,BK(MA.rotation),v.scale).premultiply(v.invertedWorldMatrix).decompose(AB,zi,Bo),v.meshType=="mesh"&&(v.object.position.copy(AB),v.object.quaternion.copy(zi))),UE.compose(NA,BK(Z),v.scale).premultiply(v.invertedWorldMatrix).decompose(AB,zi,Bo),v.meshType=="instancedMesh"?v.setMatrix(UE):(v.object.position.lerp(AB,W),v.object.quaternion.slerp(zi,W))}),q.drainCollisionEvents((v,x,H)=>{const EA=X(v),UA=X(x);if(!(EA!=null&&EA.collider.object)||!(UA!=null&&UA.collider.object))return;const hA=yD(EA,UA),NA=yD(UA,EA);if(H)gA.contactPair(EA.collider.object,UA.collider.object,(MI,LI)=>{var RI,vI,XA,IA,II,gI,lI,FI;(RI=EA.rigidBody.events)===null||RI===void 0||(vI=RI.onCollisionEnter)===null||vI===void 0||vI.call(RI,fg(fg({},hA),{},{manifold:MI,flipped:LI})),(XA=UA.rigidBody.events)===null||XA===void 0||(IA=XA.onCollisionEnter)===null||IA===void 0||IA.call(XA,fg(fg({},NA),{},{manifold:MI,flipped:LI})),(II=EA.collider.events)===null||II===void 0||(gI=II.onCollisionEnter)===null||gI===void 0||gI.call(II,fg(fg({},hA),{},{manifold:MI,flipped:LI})),(lI=UA.collider.events)===null||lI===void 0||(FI=lI.onCollisionEnter)===null||FI===void 0||FI.call(lI,fg(fg({},NA),{},{manifold:MI,flipped:LI}))});else{var Z,MA,eA,wA,SA,bA,QA,F;(Z=EA.rigidBody.events)===null||Z===void 0||(MA=Z.onCollisionExit)===null||MA===void 0||MA.call(Z,hA),(eA=UA.rigidBody.events)===null||eA===void 0||(wA=eA.onCollisionExit)===null||wA===void 0||wA.call(eA,NA),(SA=EA.collider.events)===null||SA===void 0||(bA=SA.onCollisionExit)===null||bA===void 0||bA.call(SA,hA),(QA=UA.collider.events)===null||QA===void 0||(F=QA.onCollisionExit)===null||F===void 0||F.call(QA,NA)}if(H){if(gA.intersectionPair(EA.collider.object,UA.collider.object)){var m,lA,PA,ZA,TA,eI,BI,sI;(m=EA.rigidBody.events)===null||m===void 0||(lA=m.onIntersectionEnter)===null||lA===void 0||lA.call(m,hA),(PA=UA.rigidBody.events)===null||PA===void 0||(ZA=PA.onIntersectionEnter)===null||ZA===void 0||ZA.call(PA,NA),(TA=EA.collider.events)===null||TA===void 0||(eI=TA.onIntersectionEnter)===null||eI===void 0||eI.call(TA,hA),(BI=UA.collider.events)===null||BI===void 0||(sI=BI.onIntersectionEnter)===null||sI===void 0||sI.call(BI,NA)}}else{var hI,fI,jA,OI,YI,dI,EI,aI;(hI=EA.rigidBody.events)===null||hI===void 0||(fI=hI.onIntersectionExit)===null||fI===void 0||fI.call(hI,hA),(jA=UA.rigidBody.events)===null||jA===void 0||(OI=jA.onIntersectionExit)===null||OI===void 0||OI.call(jA,NA),(YI=EA.collider.events)===null||YI===void 0||(dI=YI.onIntersectionExit)===null||dI===void 0||dI.call(YI,hA),(EI=UA.collider.events)===null||EI===void 0||(aI=EI.onIntersectionExit)===null||aI===void 0||aI.call(EI,NA)}}),q.drainContactForceEvents(v=>{var x,H,EA,UA,hA,NA,Z,MA;const eA=X(v.collider1()),wA=X(v.collider2());if(!(eA!=null&&eA.collider.object)||!(wA!=null&&wA.collider.object))return;const SA=yD(eA,wA),bA=yD(wA,eA);(x=eA.rigidBody.events)===null||x===void 0||(H=x.onContactForce)===null||H===void 0||H.call(x,fg(fg({},SA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(EA=wA.rigidBody.events)===null||EA===void 0||(UA=EA.onContactForce)===null||UA===void 0||UA.call(EA,fg(fg({},bA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(hA=eA.collider.events)===null||hA===void 0||(NA=hA.onContactForce)===null||NA===void 0||NA.call(hA,fg(fg({},SA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(Z=wA.collider.events)===null||Z===void 0||(MA=Z.onContactForce)===null||MA===void 0||MA.call(Z,fg(fg({},bA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()}))}),gA.forEachActiveRigidBody(()=>{S()})},[B,C,i,K]),GA=j.useMemo(()=>({rapier:y,world:K,setWorld:CA=>{cA(CA)},physicsOptions:{colliders:A,gravity:t},rigidBodyStates:k,colliderStates:N,rigidBodyEvents:p,colliderEvents:f,beforeStepCallbacks:_,afterStepCallbacks:U,isPaused:B,isDebug:E,step:oA}),[B,oA,E,A,t]),b=j.useCallback(CA=>{B||oA(CA)},[B,oA]);return $I.createElement(wH.Provider,{value:GA},$I.createElement(TV,{onStep:b,type:e,updatePriority:Q}),E&&$I.createElement(IX,null),I)};function PC(){return PC=Object.assign?Object.assign.bind():function(g){for(var A=1;A{const C=j.useRef(),B=j.useCallback(()=>(C.current||(C.current=g()),C.current),I);return j.useEffect(()=>{const i=B(),Q=()=>A(i);return()=>{Q(),C.current=void 0}},[B]),B},iX=({x:g,y:A,z:I}={x:0,y:0,z:0})=>new O(g,A,I),Cp=(g,A=null)=>{const I=j.useRef(A);return g&&typeof g!="function"?(g.current||(g.current=I.current),g):I},oi=j.memo(j.forwardRef((g,A)=>{const{children:I,position:C,rotation:B,quaternion:i,scale:Q,name:e}=g,{world:E,colliderEvents:t,colliderStates:n}=nS(),a=MH(),r=Cp(A),l=j.useRef(null),D=_V.flatMap(c=>Array.isArray(g[c])?[...g[c]]:g[c]),G=SH(()=>{const c=l.current.getWorldScale(iX()),y=OV(g,E,c,a?.getRigidBody);return typeof A=="function"&&A(y),r.current=y,y},c=>{E.getCollider(c.handle)&&E.removeCollider(c,!0)},[...D,a]);j.useEffect(()=>{const c=G();return n.set(c.handle,VV(c,l.current,a?.ref.current)),()=>{n.delete(c.handle)}},[G]);const h=j.useMemo(()=>fg(fg({},hH(a?.options)),g),[g,a?.options]);return WV(G,h,n),AX(G,h,t,DH(a?.options)),$I.createElement("object3D",{position:C,rotation:B,quaternion:i,scale:Q,ref:l,name:e},I)})),QX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cuboid",ref:A})));QX.displayName="CuboidCollider";const eX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"roundCuboid",ref:A})));eX.displayName="RoundCuboidCollider";const GH=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"ball",ref:A})));GH.displayName="BallCollider";const EX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"capsule",ref:A})));EX.displayName="CapsuleCollider";const tX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"heightfield",ref:A})));tX.displayName="HeightfieldCollider";const oX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"trimesh",ref:A})));oX.displayName="TrimeshCollider";const nX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cone",ref:A})));nX.displayName="ConeCollider";const sX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"roundCone",ref:A})));sX.displayName="RoundConeCollider";const yH=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cylinder",ref:A})));yH.displayName="CylinderCollider";yH.displayName="RoundCylinderCollider";const aX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"convexHull",ref:A})));aX.displayName="ConvexHullCollider";const rX=g=>{var A;const I=aH(g?.type||"dynamic"),C=new ki(I);return C.canSleep=(A=g?.canSleep)!==null&&A!==void 0?A:!0,C},lX=({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(Bo).clone(),isSleeping:!1,meshType:i}},cX=["args","colliders","canSleep"],uH={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)},userData:(g,A)=>{g.userData=A},type(g,A){g.setBodyType(aH(A),!0)},position:()=>{},rotation:()=>{},quaternion:()=>{},scale:()=>{}},kH=Object.keys(uH),DX=(g,A,I,C=!0)=>{if(!g)return;const B=I.get(g.handle);B&&(C&&(B.object.updateWorldMatrix(!0,!1),UE.copy(B.object.matrixWorld).decompose(AB,zi,Bo),g.setTranslation(AB,!1),g.setRotation(zi,!1)),kH.forEach(i=>{i in A&&uH[i](g,A[i])}))},hX=(g,A,I,C=!0)=>{const B=j.useMemo(()=>kH.flatMap(i=>rH(A[i])),[A]);j.useEffect(()=>{const i=g();DX(i,A,I,C)},B)},wX=(g,A,I)=>{const{onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:E,onContactForce:t}=A,n={onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:E,onContactForce:t};j.useEffect(()=>{const a=g();return I.set(a.handle,n),()=>{I.delete(a.handle)}},[C,B,i,Q,e,E,t])},SX=["children","type","position","rotation","scale","quaternion","transformState"],dH=j.createContext(void 0),MH=()=>j.useContext(dH),sS=j.memo(j.forwardRef((g,A)=>{const{children:I,type:C,position:B,rotation:i,scale:Q,quaternion:e,transformState:E}=g,t=Ip(g,SX),n=j.useRef(null),a=Cp(A),{world:r,rigidBodyStates:l,physicsOptions:D,rigidBodyEvents:G}=nS(),h=j.useMemo(()=>fg(fg(fg({},D),g),{},{children:void 0}),[D,g]),c=cX.flatMap(N=>Array.isArray(h[N])?[...h[N]]:h[N]),y=gp(n,h),S=SH(()=>{const N=rX(h),p=r.createRigidBody(N);return typeof A=="function"&&A(p),a.current=p,p},N=>{r.getRigidBody(N.handle)&&r.removeRigidBody(N)},c);j.useEffect(()=>{const N=S(),p=lX({rigidBody:N,object:n.current});return l.set(N.handle,g.transformState?g.transformState(p):p),()=>{l.delete(N.handle)}},[S]),hX(S,h,l),wX(S,h,G);const k=j.useMemo(()=>({ref:n,getRigidBody:S,options:h}),[S]);return $I.createElement(dH.Provider,{value:k},$I.createElement("object3D",PC({ref:n},t,{position:B,rotation:i,quaternion:e,scale:Q}),I,y.map((N,p)=>$I.createElement(oi,PC({key:p},N)))))}));sS.displayName="RigidBody";const GX=j.memo(g=>{const{children:A,type:I}=g,{physicsOptions:C}=nS(),B=j.useRef(null),{options:i}=MH(),Q=j.useMemo(()=>fg(fg(fg({},C),i),{},{children:void 0,colliders:I}),[C,i]),e=gp(B,Q,!1);return $I.createElement("object3D",{ref:B,userData:{r3RapierType:"MeshCollider"}},A,e.map((E,t)=>$I.createElement(oi,PC({key:t},E))))});GX.displayName="MeshCollider";const yX=["children","instances","colliderNodes","position","rotation","quaternion","scale"],uX=j.memo(j.forwardRef((g,A)=>{const I=Cp(A,[]),C=j.useRef(null),B=j.useRef(null),{children:i,instances:Q,colliderNodes:e=[],position:E,rotation:t,quaternion:n,scale:a}=g,r=Ip(g,yX),l=gp(C,fg(fg({},g),{},{children:void 0})),D=()=>{const h=B.current.children[0];if(h&&"isInstancedMesh"in h)return h};j.useEffect(()=>{const h=D();h?h.instanceMatrix.setUsage(Ie):console.warn("InstancedRigidBodies expects exactly one child, which must be an InstancedMesh")},[]);const G=(h,c)=>{const y=D();return y?fg(fg({},h),{},{getMatrix:S=>(y.getMatrixAt(c,S),S),setMatrix:S=>{y.setMatrixAt(c,S),y.instanceMatrix.needsUpdate=!0},meshType:"instancedMesh"}):h};return $I.createElement("object3D",PC({ref:C},r,{position:E,rotation:t,quaternion:n,scale:a}),$I.createElement("object3D",{ref:B},i),Q?.map((h,c)=>$I.createElement(sS,PC({},r,h,{ref:y=>I.current[c]=y,transformState:y=>G(y,c)}),$I.createElement($I.Fragment,null,e.map((y,S)=>$I.createElement(j.Fragment,{key:S},y)),l.map((y,S)=>$I.createElement(oi,PC({key:S},y)))))))}));uX.displayName="InstancedRigidBodies";function kX(g){const{nodes:A,materials:I}=zr("/uikit/examples/card/smileys-transformed.glb");return HA.jsxs("group",{...g,dispose:null,children:[HA.jsx(la,{children:HA.jsx("mesh",{geometry:A.hash.geometry,material:I.PaletteMaterial001,position:[-4.095,1.891,-2.58],scale:.216})}),HA.jsx(la,{children:HA.jsx("mesh",{geometry:A.star001.geometry,material:I.PaletteMaterial001,position:[2.932,-2.747,-2.807],scale:.278})}),HA.jsx(la,{children:HA.jsx("mesh",{geometry:A.play.geometry,material:I.PaletteMaterial001,position:[3.722,.284,-1.553],scale:.245})}),HA.jsx(la,{children:HA.jsx("mesh",{geometry:A.points.geometry,material:I.PaletteMaterial001,position:[3,2.621,-1.858],scale:.239})}),HA.jsx(la,{children:HA.jsx("mesh",{geometry:A.Ellipse.geometry,material:I.PaletteMaterial001,position:[-3.275,-1,-3.389],scale:.317})})]})}function dX(){const{nodes:g,materials:A}=zr("/uikit/examples/card/smileys-transformed.glb"),I=j.useMemo(()=>Object.values(g).filter(C=>"isMesh"in C),[g]);return HA.jsxs(BX,{gravity:[0,0,0],children:[I.map(C=>HA.jsx(MX,{mesh:C},C.uuid)),HA.jsx(pX,{})]})}function MX({mesh:g,vec:A=new O}){const I=j.useRef(null);return OB((C,B)=>{I.current?.applyImpulse(A.copy(I.current.translation()).negate().add({x:0,y:2,z:0}).multiplyScalar(.2),!1)}),HA.jsx(sS,{ref:I,scale:.2,position:[kE.randFloatSpread(10),kE.randFloatSpread(10),kE.randFloatSpread(10)],linearDamping:4,angularDamping:1,friction:.1,colliders:"ball",children:HA.jsx("mesh",{geometry:g.geometry,material:g.material})})}function pX({vec:g=new O}){const A=j.useRef(null);return OB(({mouse:I,viewport:C})=>{A.current?.setNextKinematicTranslation(g.set(I.x*C.width/2,I.y*C.height/2,0))}),HA.jsx(sS,{position:[0,0,0],type:"kinematicPosition",colliders:!1,ref:A,children:HA.jsx(GH,{args:[2]})})}nj("light");const tu=[{title:"Your call has been confirmed.",description:"1 hour ago"}];function UX(){return HA.jsx(rP,{camera:{position:[0,0,18],fov:32.5},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:HA.jsxs(IH,{children:[HA.jsx("ambientLight",{intensity:Math.PI}),HA.jsx("spotLight",{decay:0,position:[0,5,10],angle:.25,penumbra:1,intensity:2,castShadow:!0}),HA.jsx(FX,{}),HA.jsx($5,{flexDirection:"column",justifyContent:"flex-end",alignItems:"center",paddingBottom:32,children:HA.jsx(gH,{onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/card","_blank"),children:HA.jsx(lQ,{children:"Source Code"})})}),HA.jsx(kX,{position:[0,0,7]}),HA.jsx(sY,{preset:"city"}),HA.jsx(NX,{})]})})}function NX(){return OB((g,A)=>{X0.damp3(g.camera.position,[g.pointer.x*2,g.pointer.y*2,18],.35,A),g.camera.lookAt(0,0,-10)}),null}const fX=new IW.RoundedPlaneGeometry(1,1,.025);function FX(){const g=j.useRef(!1),A=j.useMemo(()=>SI(-460),[]),I=j.useMemo(()=>SI(0),[]);return OB((C,B)=>{X0.damp(A,"value",g.current?0:-460,.2,B),X0.damp(I,"value",g.current?200:0,.2,B)}),HA.jsx($Y,{flexDirection:"column",pixelSize:.01,sizeX:4.4,children:HA.jsxs(IH,{children:[HA.jsxs(pC,{backgroundColor:16777215,dark:{backgroundColor:0},borderRadius:20,onClick:C=>(C.stopPropagation(),g.current=!g.current),cursor:"pointer",flexDirection:"column",zIndexOffset:10,transformTranslateZ:I,children:[HA.jsx(z5,{transformTranslateZ:1,padding:14,keepAspectRatio:!1,width:"100%",height:400,children:HA.jsx("mesh",{geometry:fX,children:HA.jsxs(l8,{children:[HA.jsx("color",{attach:"background",args:["white"]}),HA.jsx("ambientLight",{intensity:Math.PI}),HA.jsx(sY,{preset:"city"}),HA.jsx(dX,{}),HA.jsx(i8,{makeDefault:!0,position:[0,0,10],fov:50})]})})}),HA.jsxs(pC,{backgroundColor:16777215,dark:{backgroundColor:0},flexDirection:"row",padding:28,paddingTop:32,alignItems:"center",justifyContent:"space-between",borderBottomRadius:20,castShadow:!0,children:[HA.jsxs(pC,{flexDirection:"column",gap:8,children:[HA.jsx(lQ,{fontWeight:"normal",fontSize:24,lineHeight:1,children:"VanArsdel Marketing"}),HA.jsx(lQ,{fontSize:20,fontWeight:"medium",letterSpacing:-.4,color:Vg.primary,children:"1 activities for you"})]}),HA.jsxs(pC,{flexDirection:"row",children:[HA.jsx(Qu,{width:40,src:"https://avatar.iran.liara.run/public/boy?username=Scot"}),HA.jsx(Qu,{marginLeft:-6,width:40,src:"https://avatar.iran.liara.run/public/boy?username=Theo"}),HA.jsx(Qu,{marginLeft:-6,width:40,src:"https://avatar.iran.liara.run/public/boy?username=Paul"})]})]})]}),HA.jsx(pC,{flexDirection:"column",transformTranslateY:-40,overflow:"hidden",children:HA.jsxs(pC,{paddingTop:40,transformTranslateY:A,backgroundColor:Vg.secondary,borderRadius:20,flexDirection:"column",children:[HA.jsxs(EV,{children:[HA.jsx(tV,{children:HA.jsx(lQ,{children:"Notifications"})}),HA.jsx(oV,{children:HA.jsx(lQ,{children:"You have 3 unread messages."})})]}),HA.jsxs(nV,{flexDirection:"column",gap:16,children:[HA.jsxs(pC,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[HA.jsx(CV,{}),HA.jsxs(pC,{flexDirection:"column",gap:4,children:[HA.jsx(lQ,{fontSize:14,lineHeight:1,children:"Push Notifications"}),HA.jsx(lQ,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:"Send notifications to device."})]}),HA.jsx(pC,{flexGrow:1}),HA.jsx(aV,{})]}),HA.jsx(pC,{flexDirection:"column",children:tu.map((C,B)=>HA.jsxs(pC,{marginBottom:B===tu.length-1?0:16,paddingBottom:B===tu.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[HA.jsx(pC,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:Vg.primary}),HA.jsxs(pC,{gap:4,flexDirection:"column",children:[HA.jsx(lQ,{fontSize:14,lineHeight:1,children:C.title}),HA.jsx(lQ,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:C.description})]})]},B))})]}),HA.jsx(sV,{children:HA.jsxs(gH,{onClick:C=>(C.stopPropagation(),g.current=!g.current),flexDirection:"row",width:"100%",children:[HA.jsx(iV,{marginRight:8,height:16,width:16}),HA.jsx(lQ,{children:"Mark all as read"})]})})]})})]})})}wq(document.getElementById("root")).render(HA.jsx(j.StrictMode,{children:HA.jsx(UX,{})})); +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/examples/card/assets/index-eiVlM3Jk.js b/examples/card/assets/index-eiVlM3Jk.js deleted file mode 100644 index f6935342..00000000 --- a/examples/card/assets/index-eiVlM3Jk.js +++ /dev/null @@ -1,4269 +0,0 @@ -(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 mh(g){return g&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")?g.default:g}var iK={exports:{}},Lh={},QK={exports:{}},ng={};/** - * @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 Rr=Symbol.for("react.element"),a2=Symbol.for("react.portal"),s2=Symbol.for("react.fragment"),r2=Symbol.for("react.strict_mode"),l2=Symbol.for("react.profiler"),c2=Symbol.for("react.provider"),D2=Symbol.for("react.context"),h2=Symbol.for("react.forward_ref"),w2=Symbol.for("react.suspense"),S2=Symbol.for("react.memo"),G2=Symbol.for("react.lazy"),JU=Symbol.iterator;function y2(g){return g===null||typeof g!="object"?null:(g=JU&&g[JU]||g["@@iterator"],typeof g=="function"?g:null)}var eK={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},EK=Object.assign,tK={};function Qa(g,A,I){this.props=g,this.context=A,this.refs=tK,this.updater=I||eK}Qa.prototype.isReactComponent={};Qa.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")};Qa.prototype.forceUpdate=function(g){this.updater.enqueueForceUpdate(this,g,"forceUpdate")};function oK(){}oK.prototype=Qa.prototype;function ak(g,A,I){this.props=g,this.context=A,this.refs=tK,this.updater=I||eK}var sk=ak.prototype=new oK;sk.constructor=ak;EK(sk,Qa.prototype);sk.isPureReactComponent=!0;var qU=Array.isArray,nK=Object.prototype.hasOwnProperty,rk={current:null},aK={key:!0,ref:!0,__self:!0,__source:!0};function sK(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)nK.call(A,C)&&!aK.hasOwnProperty(C)&&(B[C]=A[C]);var e=arguments.length-2;if(e===1)B.children=I;else if(1>>1,fA=b[DA];if(0>>1;DAB(v,CA))xB(H,v)?(b[DA]=H,b[x]=CA,DA=x):(b[DA]=v,b[W]=CA,DA=W);else if(xB(H,CA))b[DA]=H,b[x]=CA,DA=x;else break A}}return gA}function B(b,gA){var CA=b.sortIndex-gA.sortIndex;return CA!==0?CA:b.id-gA.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 E=[],t=[],n=1,s=null,r=3,l=!1,D=!1,G=!1,h=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(b){for(var gA=I(t);gA!==null;){if(gA.callback===null)C(t);else if(gA.startTime<=b)C(t),gA.sortIndex=gA.expirationTime,A(E,gA);else break;gA=I(t)}}function k(b){if(G=!1,S(b),!D)if(I(E)!==null)D=!0,oA(N);else{var gA=I(t);gA!==null&&GA(k,gA.startTime-b)}}function N(b,gA){D=!1,G&&(G=!1,c(q),q=-1),l=!0;var CA=r;try{for(S(gA),s=I(E);s!==null&&(!(s.expirationTime>gA)||b&&!K());){var DA=s.callback;if(typeof DA=="function"){s.callback=null,r=s.priorityLevel;var fA=DA(s.expirationTime<=gA);gA=g.unstable_now(),typeof fA=="function"?s.callback=fA:s===I(E)&&C(E),S(gA)}else C(E);s=I(E)}if(s!==null)var VA=!0;else{var W=I(t);W!==null&&GA(k,W.startTime-gA),VA=!1}return VA}finally{s=null,r=CA,l=!1}}var p=!1,f=null,q=-1,_=5,U=-1;function K(){return!(g.unstable_now()-U<_)}function z(){if(f!==null){var b=g.unstable_now();U=b;var gA=!0;try{gA=f(!0,b)}finally{gA?rA():(p=!1,f=null)}}else p=!1}var rA;if(typeof y=="function")rA=function(){y(z)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,sA=X.port2;X.port1.onmessage=z,rA=function(){sA.postMessage(null)}}else rA=function(){h(z,0)};function oA(b){f=b,p||(p=!0,rA())}function GA(b,gA){q=h(function(){b(g.unstable_now())},gA)}g.unstable_IdlePriority=5,g.unstable_ImmediatePriority=1,g.unstable_LowPriority=4,g.unstable_NormalPriority=3,g.unstable_Profiling=null,g.unstable_UserBlockingPriority=2,g.unstable_cancelCallback=function(b){b.callback=null},g.unstable_continueExecution=function(){D||l||(D=!0,oA(N))},g.unstable_forceFrameRate=function(b){0>b||125DA?(b.sortIndex=CA,A(t,b),I(E)===null&&b===I(t)&&(G?(c(q),q=-1):G=!0,GA(k,CA-DA))):(b.sortIndex=fA,A(E,b),D||l||(D=!0,oA(N))),b},g.unstable_shouldYield=K,g.unstable_wrapCallback=function(b){var gA=r;return function(){var CA=r;r=gA;try{return b.apply(this,arguments)}finally{r=CA}}}})(DK);cK.exports=DK;var K2=cK.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 hK=j,ii=K2;function CI(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"),ou=Object.prototype.hasOwnProperty,J2=/^[: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]*$/,LU={},YU={};function q2(g){return ou.call(YU,g)?!0:ou.call(LU,g)?!1:J2.test(g)?YU[g]=!0:(LU[g]=!0,!1)}function m2(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 L2(g,A,I,C){if(A===null||typeof A>"u"||m2(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 RB(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 BB={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(g){BB[g]=new RB(g,0,!1,g,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(g){var A=g[0];BB[A]=new RB(A,1,!1,g[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(g){BB[g]=new RB(g,2,!1,g.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(g){BB[g]=new RB(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){BB[g]=new RB(g,3,!1,g.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(g){BB[g]=new RB(g,3,!0,g,null,!1,!1)});["capture","download"].forEach(function(g){BB[g]=new RB(g,4,!1,g,null,!1,!1)});["cols","rows","size","span"].forEach(function(g){BB[g]=new RB(g,6,!1,g,null,!1,!1)});["rowSpan","start"].forEach(function(g){BB[g]=new RB(g,5,!1,g.toLowerCase(),null,!1,!1)});var ck=/[\-:]([a-z])/g;function Dk(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(ck,Dk);BB[A]=new RB(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(ck,Dk);BB[A]=new RB(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(ck,Dk);BB[A]=new RB(A,1,!1,g,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(g){BB[g]=new RB(g,1,!1,g.toLowerCase(),null,!1,!1)});BB.xlinkHref=new RB("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(g){BB[g]=new RB(g,1,!1,g.toLowerCase(),null,!0,!0)});function hk(g,A,I,C){var B=BB.hasOwnProperty(A)?BB[A]:null;(B!==null?B.type!==0:C||!(2e||B[Q]!==i[e]){var E=` -`+B[Q].replace(" at new "," at ");return g.displayName&&E.includes("")&&(E=E.replace("",g.displayName)),E}while(1<=Q&&0<=e);break}}}finally{hG=!1,Error.prepareStackTrace=I}return(g=g?g.displayName||g.name:"")?cs(g):""}function Y2(g){switch(g.tag){case 5:return cs(g.type);case 16:return cs("Lazy");case 13:return cs("Suspense");case 19:return cs("SuspenseList");case 0:case 2:case 15:return g=wG(g.type,!1),g;case 11:return g=wG(g.type.render,!1),g;case 1:return g=wG(g.type,!0),g;default:return""}}function ru(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 sn:return"Fragment";case an:return"Portal";case nu:return"Profiler";case wk:return"StrictMode";case au:return"Suspense";case su:return"SuspenseList"}if(typeof g=="object")switch(g.$$typeof){case GK:return(g.displayName||"Context")+".Consumer";case SK:return(g._context.displayName||"Context")+".Provider";case Sk:var A=g.render;return g=g.displayName,g||(g=A.displayName||A.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Gk:return A=g.displayName||null,A!==null?A:ru(g.type)||"Memo";case gE:A=g._payload,g=g._init;try{return ru(g(A))}catch{}}return null}function H2(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 ru(A);case 8:return A===wk?"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 NE(g){switch(typeof g){case"boolean":case"number":case"string":case"undefined":return g;case"object":return g;default:return""}}function uK(g){var A=g.type;return(g=g.nodeName)&&g.toLowerCase()==="input"&&(A==="checkbox"||A==="radio")}function T2(g){var A=uK(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 Xl(g){g._valueTracker||(g._valueTracker=T2(g))}function kK(g){if(!g)return!1;var A=g._valueTracker;if(!A)return!0;var I=A.getValue(),C="";return g&&(C=uK(g)?g.checked?"true":"false":g.value),g=C,g!==I?(A.setValue(g),!0):!1}function _D(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 lu(g,A){var I=A.checked;return IC({},A,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:I??g._wrapperState.initialChecked})}function TU(g,A){var I=A.defaultValue==null?"":A.defaultValue,C=A.checked!=null?A.checked:A.defaultChecked;I=NE(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 dK(g,A){A=A.checked,A!=null&&hk(g,"checked",A,!1)}function cu(g,A){dK(g,A);var I=NE(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")?Du(g,A.type,I):A.hasOwnProperty("defaultValue")&&Du(g,A.type,NE(A.defaultValue)),A.checked==null&&A.defaultChecked!=null&&(g.defaultChecked=!!A.defaultChecked)}function xU(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 Du(g,A,I){(A!=="number"||_D(g.ownerDocument)!==g)&&(I==null?g.defaultValue=""+g._wrapperState.initialValue:g.defaultValue!==""+I&&(g.defaultValue=""+I))}var Ds=Array.isArray;function Nn(g,A,I,C){if(g=g.options,A){A={};for(var B=0;B"+A.valueOf().toString()+"",A=zl.firstChild;g.firstChild;)g.removeChild(g.firstChild);for(;A.firstChild;)g.appendChild(A.firstChild)}});function _s(g,A){if(A){var I=g.firstChild;if(I&&I===g.lastChild&&I.nodeType===3){I.nodeValue=A;return}}g.textContent=A}var ps={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},x2=["Webkit","ms","Moz","O"];Object.keys(ps).forEach(function(g){x2.forEach(function(A){A=A+g.charAt(0).toUpperCase()+g.substring(1),ps[A]=ps[g]})});function NK(g,A,I){return A==null||typeof A=="boolean"||A===""?"":I||typeof A!="number"||A===0||ps.hasOwnProperty(g)&&ps[g]?(""+A).trim():A+"px"}function fK(g,A){g=g.style;for(var I in A)if(A.hasOwnProperty(I)){var C=I.indexOf("--")===0,B=NK(I,A[I],C);I==="float"&&(I="cssFloat"),C?g.setProperty(I,B):g[I]=B}}var v2=IC({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 Su(g,A){if(A){if(v2[g]&&(A.children!=null||A.dangerouslySetInnerHTML!=null))throw Error(CI(137,g));if(A.dangerouslySetInnerHTML!=null){if(A.children!=null)throw Error(CI(60));if(typeof A.dangerouslySetInnerHTML!="object"||!("__html"in A.dangerouslySetInnerHTML))throw Error(CI(61))}if(A.style!=null&&typeof A.style!="object")throw Error(CI(62))}}function Gu(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 yu=null;function yk(g){return g=g.target||g.srcElement||window,g.correspondingUseElement&&(g=g.correspondingUseElement),g.nodeType===3?g.parentNode:g}var uu=null,fn=null,Fn=null;function OU(g){if(g=qr(g)){if(typeof uu!="function")throw Error(CI(280));var A=g.stateNode;A&&(A=vh(A),uu(g.stateNode,g.type,A))}}function FK(g){fn?Fn?Fn.push(g):Fn=[g]:fn=g}function RK(){if(fn){var g=fn,A=Fn;if(Fn=fn=null,OU(g),A)for(g=0;g>>=0,g===0?32:31-($2(g)/AT|0)|0}var $l=64,Ac=4194304;function hs(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 jD(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=hs(e):(i&=Q,i!==0&&(C=hs(i)))}else Q=I&~B,Q!==0?C=hs(Q):i!==0&&(C=hs(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 Kr(g,A,I){g.pendingLanes|=A,A!==536870912&&(g.suspendedLanes=0,g.pingedLanes=0),g=g.eventTimes,A=31-$i(A),g[A]=I}function BT(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=Ns),$U=" ",AN=!1;function zK(g,A){switch(g){case"keyup":return RT.indexOf(A.keyCode)!==-1;case"keydown":return A.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $K(g){return g=g.detail,typeof g=="object"&&"data"in g?g.data:null}var rn=!1;function JT(g,A){switch(g){case"compositionend":return $K(A);case"keypress":return A.which!==32?null:(AN=!0,$U);case"textInput":return g=A.data,g===$U&&AN?null:g;default:return null}}function qT(g,A){if(rn)return g==="compositionend"||!fk&&zK(g,A)?(g=VK(),MD=pk=tE=null,rn=!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=BN(I)}}function CJ(g,A){return g&&A?g===A?!0:g&&g.nodeType===3?!1:A&&A.nodeType===3?CJ(g,A.parentNode):"contains"in g?g.contains(A):g.compareDocumentPosition?!!(g.compareDocumentPosition(A)&16):!1:!1}function BJ(){for(var g=window,A=_D();A instanceof g.HTMLIFrameElement;){try{var I=typeof A.contentWindow.location.href=="string"}catch{I=!1}if(I)g=A.contentWindow;else break;A=_D(g.document)}return A}function Fk(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 OT(g){var A=BJ(),I=g.focusedElem,C=g.selectionRange;if(A!==I&&I&&I.ownerDocument&&CJ(I.ownerDocument.documentElement,I)){if(C!==null&&Fk(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=iN(I,i);var Q=iN(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,ln=null,Nu=null,Fs=null,fu=!1;function QN(g,A,I){var C=I.window===I?I.document:I.nodeType===9?I:I.ownerDocument;fu||ln==null||ln!==_D(C)||(C=ln,"selectionStart"in C&&Fk(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}),Fs&&Xs(Fs,C)||(Fs=C,C=zD(Nu,"onSelect"),0hn||(g.current=mu[hn],mu[hn]=null,hn--)}function Yg(g,A){hn++,mu[hn]=g.current,g.current=A}var fE={},SB=YE(fE),TB=YE(!1),Ot=fE;function vn(g,A){var I=g.type.contextTypes;if(!I)return fE;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 xB(g){return g=g.childContextTypes,g!=null}function Ah(){Og(TB),Og(SB)}function sN(g,A,I){if(SB.current!==fE)throw Error(CI(168));Yg(SB,A),Yg(TB,I)}function sJ(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(CI(108,H2(g)||"Unknown",B));return IC({},I,C)}function Ih(g){return g=(g=g.stateNode)&&g.__reactInternalMemoizedMergedChildContext||fE,Ot=SB.current,Yg(SB,g),Yg(TB,TB.current),!0}function rN(g,A,I){var C=g.stateNode;if(!C)throw Error(CI(169));I?(g=sJ(g,A,Ot),C.__reactInternalMemoizedMergedChildContext=g,Og(TB),Og(SB),Yg(SB,g)):Og(TB),Yg(TB,I)}var VQ=null,bh=!1,KG=!1;function rJ(g){VQ===null?VQ=[g]:VQ.push(g)}function gx(g){bh=!0,rJ(g)}function HE(){if(!KG&&VQ!==null){KG=!0;var g=0,A=Rg;try{var I=VQ;for(Rg=1;g>=Q,B-=Q,zQ=1<<32-$i(A)+B|I<q?(_=f,f=null):_=f.sibling;var U=r(c,f,S[q],k);if(U===null){f===null&&(f=_);break}g&&f&&U.alternate===null&&A(c,f),y=i(U,y,q),p===null?N=U:p.sibling=U,p=U,f=_}if(q===S.length)return I(c,f),Wg&&Gt(c,q),N;if(f===null){for(;qq?(_=f,f=null):_=f.sibling;var K=r(c,f,U.value,k);if(K===null){f===null&&(f=_);break}g&&f&&K.alternate===null&&A(c,f),y=i(K,y,q),p===null?N=K:p.sibling=K,p=K,f=_}if(U.done)return I(c,f),Wg&&Gt(c,q),N;if(f===null){for(;!U.done;q++,U=S.next())U=s(c,U.value,k),U!==null&&(y=i(U,y,q),p===null?N=U:p.sibling=U,p=U);return Wg&&Gt(c,q),N}for(f=C(c,f);!U.done;q++,U=S.next())U=l(f,c,q,U.value,k),U!==null&&(g&&U.alternate!==null&&f.delete(U.key===null?q:U.key),y=i(U,y,q),p===null?N=U:p.sibling=U,p=U);return g&&f.forEach(function(z){return A(c,z)}),Wg&&Gt(c,q),N}function h(c,y,S,k){if(typeof S=="object"&&S!==null&&S.type===sn&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case Vl:A:{for(var N=S.key,p=y;p!==null;){if(p.key===N){if(N=S.type,N===sn){if(p.tag===7){I(c,p.sibling),y=B(p,S.props.children),y.return=c,c=y;break A}}else if(p.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===gE&&GN(N)===p.type){I(c,p.sibling),y=B(p,S.props),y.ref=_a(c,p,S),y.return=c,c=y;break A}I(c,p);break}else A(c,p);p=p.sibling}S.type===sn?(y=mt(S.props.children,c.mode,k,S.key),y.return=c,c=y):(k=JD(S.type,S.key,S.props,null,c.mode,k),k.ref=_a(c,y,S),k.return=c,c=k)}return Q(c);case an:A:{for(p=S.key;y!==null;){if(y.key===p)if(y.tag===4&&y.stateNode.containerInfo===S.containerInfo&&y.stateNode.implementation===S.implementation){I(c,y.sibling),y=B(y,S.children||[]),y.return=c,c=y;break A}else{I(c,y);break}else A(c,y);y=y.sibling}y=xG(S,c.mode,k),y.return=c,c=y}return Q(c);case gE:return p=S._init,h(c,y,p(S._payload),k)}if(Ds(S))return D(c,y,S,k);if(Ta(S))return G(c,y,S,k);ec(c,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,y!==null&&y.tag===6?(I(c,y.sibling),y=B(y,S),y.return=c,c=y):(I(c,y),y=TG(S,c.mode,k),y.return=c,c=y),Q(c)):I(c,y)}return h}var On=yJ(!0),uJ=yJ(!1),mr={},kQ=YE(mr),Ir=YE(mr),gr=YE(mr);function Ut(g){if(g===mr)throw Error(CI(174));return g}function Tk(g,A){switch(Yg(gr,A),Yg(Ir,g),Yg(kQ,mr),g=A.nodeType,g){case 9:case 11:A=(A=A.documentElement)?A.namespaceURI:wu(null,"");break;default:g=g===8?A.parentNode:A,A=g.namespaceURI||null,g=g.tagName,A=wu(A,g)}Og(kQ),Yg(kQ,A)}function _n(){Og(kQ),Og(Ir),Og(gr)}function kJ(g){Ut(gr.current);var A=Ut(kQ.current),I=wu(A,g.type);A!==I&&(Yg(Ir,g),Yg(kQ,I))}function xk(g){Ir.current===g&&(Og(kQ),Og(Ir))}var zg=YE(0);function eh(g){for(var A=g;A!==null;){if(A.tag===13){var I=A.memoizedState;if(I!==null&&(I=I.dehydrated,I===null||I.data==="$?"||I.data==="$!"))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===g)break;for(;A.sibling===null;){if(A.return===null||A.return===g)return null;A=A.return}A.sibling.return=A.return,A=A.sibling}return null}var JG=[];function vk(){for(var g=0;gI?I:4,g(!0);var C=qG.transition;qG.transition={};try{g(!1),A()}finally{Rg=I,qG.transition=C}}function TJ(){return Ki().memoizedState}function Qx(g,A,I){var C=wE(g);if(I={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null},xJ(g))vJ(A,I);else if(I=hJ(g,A,I,C),I!==null){var B=NB();AQ(I,g,C,B),bJ(I,A,C)}}function ex(g,A,I){var C=wE(g),B={lane:C,action:I,hasEagerState:!1,eagerState:null,next:null};if(xJ(g))vJ(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,gQ(e,Q)){var E=A.interleaved;E===null?(B.next=B,Yk(A)):(B.next=E.next,E.next=B),A.interleaved=B;return}}catch{}finally{}I=hJ(g,A,B,C),I!==null&&(B=NB(),AQ(I,g,C,B),bJ(I,A,C))}}function xJ(g){var A=g.alternate;return g===AC||A!==null&&A===AC}function vJ(g,A){Rs=Eh=!0;var I=g.pending;I===null?A.next=A:(A.next=I.next,I.next=A),g.pending=A}function bJ(g,A,I){if(I&4194240){var C=A.lanes;C&=g.pendingLanes,I|=C,A.lanes=I,kk(g,I)}}var th={readContext:Ri,useCallback:aB,useContext:aB,useEffect:aB,useImperativeHandle:aB,useInsertionEffect:aB,useLayoutEffect:aB,useMemo:aB,useReducer:aB,useRef:aB,useState:aB,useDebugValue:aB,useDeferredValue:aB,useTransition:aB,useMutableSource:aB,useSyncExternalStore:aB,useId:aB,unstable_isNewReconciler:!1},Ex={readContext:Ri,useCallback:function(g,A){return cQ().memoizedState=[g,A===void 0?null:A],g},useContext:Ri,useEffect:uN,useImperativeHandle:function(g,A,I){return I=I!=null?I.concat([g]):null,fD(4194308,4,qJ.bind(null,A,g),I)},useLayoutEffect:function(g,A){return fD(4194308,4,g,A)},useInsertionEffect:function(g,A){return fD(4,2,g,A)},useMemo:function(g,A){var I=cQ();return A=A===void 0?null:A,g=g(),I.memoizedState=[g,A],g},useReducer:function(g,A,I){var C=cQ();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=Qx.bind(null,AC,g),[C.memoizedState,g]},useRef:function(g){var A=cQ();return g={current:g},A.memoizedState=g},useState:yN,useDebugValue:Pk,useDeferredValue:function(g){return cQ().memoizedState=g},useTransition:function(){var g=yN(!1),A=g[0];return g=ix.bind(null,g[1]),cQ().memoizedState=g,[A,g]},useMutableSource:function(){},useSyncExternalStore:function(g,A,I){var C=AC,B=cQ();if(Wg){if(I===void 0)throw Error(CI(407));I=I()}else{if(I=A(),ZC===null)throw Error(CI(349));Zt&30||pJ(C,A,I)}B.memoizedState=I;var i={value:I,getSnapshot:A};return B.queue=i,uN(NJ.bind(null,C,i,g),[g]),C.flags|=2048,ir(9,UJ.bind(null,C,i,I,A),void 0,null),I},useId:function(){var g=cQ(),A=ZC.identifierPrefix;if(Wg){var I=$Q,C=zQ;I=(C&~(1<<32-$i(C)-1)).toString(32)+I,A=":"+A+"R"+I,I=Cr++,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[GQ]=A,g[Ar]=C,zJ(g,A,!1,!1),A.stateNode=g;A:{switch(Q=Gu(I,C),I){case"dialog":Hg("cancel",g),Hg("close",g),B=C;break;case"iframe":case"object":case"embed":Hg("load",g),B=C;break;case"video":case"audio":for(B=0;BPn&&(A.flags|=128,C=!0,Za(i,!1),A.lanes=4194304)}else{if(!C)if(g=eh(Q),g!==null){if(A.flags|=128,C=!0,I=g.updateQueue,I!==null&&(A.updateQueue=I,A.flags|=4),Za(i,!0),i.tail===null&&i.tailMode==="hidden"&&!Q.alternate&&!Wg)return sB(A),null}else 2*sC()-i.renderingStartTime>Pn&&I!==1073741824&&(A.flags|=128,C=!0,Za(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=sC(),A.sibling=null,I=zg.current,Yg(zg,C?I&1|2:I&1),A):(sB(A),null);case 22:case 23:return $k(),C=A.memoizedState!==null,g!==null&&g.memoizedState!==null!==C&&(A.flags|=8192),C&&A.mode&1?zB&1073741824&&(sB(A),A.subtreeFlags&6&&(A.flags|=8192)):sB(A),null;case 24:return null;case 25:return null}throw Error(CI(156,A.tag))}function cx(g,A){switch(Kk(A),A.tag){case 1:return xB(A.type)&&Ah(),g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 3:return _n(),Og(TB),Og(SB),vk(),g=A.flags,g&65536&&!(g&128)?(A.flags=g&-65537|128,A):null;case 5:return xk(A),null;case 13:if(Og(zg),g=A.memoizedState,g!==null&&g.dehydrated!==null){if(A.alternate===null)throw Error(CI(340));bn()}return g=A.flags,g&65536?(A.flags=g&-65537|128,A):null;case 19:return Og(zg),null;case 4:return _n(),null;case 10:return Lk(A.type._context),null;case 22:case 23:return $k(),null;case 24:return null;default:return null}}var tc=!1,DB=!1,Dx=typeof WeakSet=="function"?WeakSet:Set,yI=null;function yn(g,A){var I=g.ref;if(I!==null)if(typeof I=="function")try{I(null)}catch(C){QC(g,A,C)}else I.current=null}function Wu(g,A,I){try{I()}catch(C){QC(g,A,C)}}var RN=!1;function hx(g,A){if(Fu=VD,g=BJ(),Fk(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,E=-1,t=0,n=0,s=g,r=null;I:for(;;){for(var l;s!==I||B!==0&&s.nodeType!==3||(e=Q+B),s!==i||C!==0&&s.nodeType!==3||(E=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&&++t===B&&(e=Q),r===i&&++n===C&&(E=Q),(l=s.nextSibling)!==null)break;s=r,r=s.parentNode}s=l}I=e===-1||E===-1?null:{start:e,end:E}}else I=null}I=I||{start:0,end:0}}else I=null;for(Ru={focusedElem:g,selectionRange:I},VD=!1,yI=A;yI!==null;)if(A=yI,g=A.child,(A.subtreeFlags&1028)!==0&&g!==null)g.return=A,yI=g;else for(;yI!==null;){A=yI;try{var D=A.alternate;if(A.flags&1024)switch(A.tag){case 0:case 11:case 15:break;case 1:if(D!==null){var G=D.memoizedProps,h=D.memoizedState,c=A.stateNode,y=c.getSnapshotBeforeUpdate(A.elementType===A.type?G:Zi(A.type,G),h);c.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var S=A.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(CI(163))}}catch(k){QC(A,A.return,k)}if(g=A.sibling,g!==null){g.return=A.return,yI=g;break}yI=A.return}return D=RN,RN=!1,D}function Ks(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&&Wu(A,I,i)}B=B.next}while(B!==C)}}function Zh(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 ju(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 Iq(g){var A=g.alternate;A!==null&&(g.alternate=null,Iq(A)),g.child=null,g.deletions=null,g.sibling=null,g.tag===5&&(A=g.stateNode,A!==null&&(delete A[GQ],delete A[Ar],delete A[qu],delete A[Ax],delete A[Ix])),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 gq(g){return g.tag===5||g.tag===3||g.tag===4}function KN(g){A:for(;;){for(;g.sibling===null;){if(g.return===null||gq(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 Vu(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=$D));else if(C!==4&&(g=g.child,g!==null))for(Vu(g,A,I),g=g.sibling;g!==null;)Vu(g,A,I),g=g.sibling}function Xu(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(Xu(g,A,I),g=g.sibling;g!==null;)Xu(g,A,I),g=g.sibling}var zC=null,Wi=!1;function be(g,A,I){for(I=I.child;I!==null;)Cq(g,A,I),I=I.sibling}function Cq(g,A,I){if(uQ&&typeof uQ.onCommitFiberUnmount=="function")try{uQ.onCommitFiberUnmount(Yh,I)}catch{}switch(I.tag){case 5:DB||yn(I,A);case 6:var C=zC,B=Wi;zC=null,be(g,A,I),zC=C,Wi=B,zC!==null&&(Wi?(g=zC,I=I.stateNode,g.nodeType===8?g.parentNode.removeChild(I):g.removeChild(I)):zC.removeChild(I.stateNode));break;case 18:zC!==null&&(Wi?(g=zC,I=I.stateNode,g.nodeType===8?RG(g.parentNode,I):g.nodeType===1&&RG(g,I),js(g)):RG(zC,I.stateNode));break;case 4:C=zC,B=Wi,zC=I.stateNode.containerInfo,Wi=!0,be(g,A,I),zC=C,Wi=B;break;case 0:case 11:case 14:case 15:if(!DB&&(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)&&Wu(I,A,Q),B=B.next}while(B!==C)}be(g,A,I);break;case 1:if(!DB&&(yn(I,A),C=I.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=I.memoizedProps,C.state=I.memoizedState,C.componentWillUnmount()}catch(e){QC(I,A,e)}be(g,A,I);break;case 21:be(g,A,I);break;case 22:I.mode&1?(DB=(C=DB)||I.memoizedState!==null,be(g,A,I),DB=C):be(g,A,I);break;default:be(g,A,I)}}function JN(g){var A=g.updateQueue;if(A!==null){g.updateQueue=null;var I=g.stateNode;I===null&&(I=g.stateNode=new Dx),A.forEach(function(C){var B=px.bind(null,g,C);I.has(C)||(I.add(C),C.then(B,B))})}}function Ti(g,A){var I=A.deletions;if(I!==null)for(var C=0;CB&&(B=Q),C&=~i}if(C=B,C=sC()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*Sx(C/1960))-C,10g?16:g,oE===null)var C=!1;else{if(g=oE,oE=null,ah=0,Gg&6)throw Error(CI(331));var B=Gg;for(Gg|=4,yI=g.current;yI!==null;){var i=yI,Q=i.child;if(yI.flags&16){var e=i.deletions;if(e!==null){for(var E=0;EsC()-Xk?qt(g,0):Vk|=I),vB(g,A)}function nq(g,A){A===0&&(g.mode&1?(A=Ac,Ac<<=1,!(Ac&130023424)&&(Ac=4194304)):A=1);var I=NB();g=Ee(g,A),g!==null&&(Kr(g,A,I),vB(g,I))}function Mx(g){var A=g.memoizedState,I=0;A!==null&&(I=A.retryLane),nq(g,I)}function px(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(CI(314))}C!==null&&C.delete(A),nq(g,I)}var aq;aq=function(g,A,I){if(g!==null)if(g.memoizedProps!==A.pendingProps||TB.current)HB=!0;else{if(!(g.lanes&I)&&!(A.flags&128))return HB=!1,rx(g,A,I);HB=!!(g.flags&131072)}else HB=!1,Wg&&A.flags&1048576&&lJ(A,Ch,A.index);switch(A.lanes=0,A.tag){case 2:var C=A.type;FD(g,A),g=A.pendingProps;var B=vn(A,SB.current);Kn(A,I),B=Ok(null,A,C,g,B,I);var i=_k();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,xB(C)?(i=!0,Ih(A)):i=!1,A.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,Hk(A),B.updater=Oh,A.stateNode=B,B._reactInternals=A,xu(A,C,g,I),A=Ou(null,A,C,!0,i,I)):(A.tag=0,Wg&&i&&Rk(A),pB(null,A,B,I),A=A.child),A;case 16:C=A.elementType;A:{switch(FD(g,A),g=A.pendingProps,B=C._init,C=B(C._payload),A.type=C,B=A.tag=Nx(C),g=Zi(C,g),B){case 0:A=bu(null,A,C,g,I);break A;case 1:A=NN(null,A,C,g,I);break A;case 11:A=pN(null,A,C,g,I);break A;case 14:A=UN(null,A,C,Zi(C.type,g),I);break A}throw Error(CI(306,C,""))}return A;case 0:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),bu(g,A,C,B,I);case 1:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),NN(g,A,C,B,I);case 3:A:{if(jJ(A),g===null)throw Error(CI(387));C=A.pendingProps,i=A.memoizedState,B=i.element,wJ(g,A),Qh(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=Zn(Error(CI(423)),A),A=fN(g,A,C,I,B);break A}else if(C!==B){B=Zn(Error(CI(424)),A),A=fN(g,A,C,I,B);break A}else for(Ai=cE(A.stateNode.containerInfo.firstChild),Ci=A,Wg=!0,Vi=null,I=uJ(A,null,C,I),A.child=I;I;)I.flags=I.flags&-3|4096,I=I.sibling;else{if(bn(),C===B){A=te(g,A,I);break A}pB(g,A,C,I)}A=A.child}return A;case 5:return kJ(A),g===null&&Yu(A),C=A.type,B=A.pendingProps,i=g!==null?g.memoizedProps:null,Q=B.children,Ku(C,B)?Q=null:i!==null&&Ku(C,i)&&(A.flags|=32),WJ(g,A),pB(g,A,Q,I),A.child;case 6:return g===null&&Yu(A),null;case 13:return VJ(g,A,I);case 4:return Tk(A,A.stateNode.containerInfo),C=A.pendingProps,g===null?A.child=On(A,null,C,I):pB(g,A,C,I),A.child;case 11:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),pN(g,A,C,B,I);case 7:return pB(g,A,A.pendingProps,I),A.child;case 8:return pB(g,A,A.pendingProps.children,I),A.child;case 12:return pB(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,Yg(Bh,C._currentValue),C._currentValue=Q,i!==null)if(gQ(i.value,Q)){if(i.children===B.children&&!TB.current){A=te(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 E=e.firstContext;E!==null;){if(E.context===C){if(i.tag===1){E=Be(-1,I&-I),E.tag=2;var t=i.updateQueue;if(t!==null){t=t.shared;var n=t.pending;n===null?E.next=E:(E.next=n.next,n.next=E),t.pending=E}}i.lanes|=I,E=i.alternate,E!==null&&(E.lanes|=I),Hu(i.return,I,A),e.lanes|=I;break}E=E.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(CI(341));Q.lanes|=I,e=Q.alternate,e!==null&&(e.lanes|=I),Hu(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}pB(g,A,B.children,I),A=A.child}return A;case 9:return B=A.type,C=A.pendingProps.children,Kn(A,I),B=Ri(B),C=C(B),A.flags|=1,pB(g,A,C,I),A.child;case 14:return C=A.type,B=Zi(C,A.pendingProps),B=Zi(C.type,B),UN(g,A,C,B,I);case 15:return ZJ(g,A,A.type,A.pendingProps,I);case 17:return C=A.type,B=A.pendingProps,B=A.elementType===C?B:Zi(C,B),FD(g,A),A.tag=1,xB(C)?(g=!0,Ih(A)):g=!1,Kn(A,I),GJ(A,C,B),xu(A,C,B,I),Ou(null,A,C,!0,g,I);case 19:return XJ(g,A,I);case 22:return PJ(g,A,I)}throw Error(CI(156,A.tag))};function sq(g,A){return HK(g,A)}function Ux(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 Ni(g,A,I,C){return new Ux(g,A,I,C)}function Id(g){return g=g.prototype,!(!g||!g.isReactComponent)}function Nx(g){if(typeof g=="function")return Id(g)?1:0;if(g!=null){if(g=g.$$typeof,g===Sk)return 11;if(g===Gk)return 14}return 2}function SE(g,A){var I=g.alternate;return I===null?(I=Ni(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 JD(g,A,I,C,B,i){var Q=2;if(C=g,typeof g=="function")Id(g)&&(Q=1);else if(typeof g=="string")Q=5;else A:switch(g){case sn:return mt(I.children,B,i,A);case wk:Q=8,B|=8;break;case nu:return g=Ni(12,I,A,B|2),g.elementType=nu,g.lanes=i,g;case au:return g=Ni(13,I,A,B),g.elementType=au,g.lanes=i,g;case su:return g=Ni(19,I,A,B),g.elementType=su,g.lanes=i,g;case yK:return Wh(I,B,i,A);default:if(typeof g=="object"&&g!==null)switch(g.$$typeof){case SK:Q=10;break A;case GK:Q=9;break A;case Sk:Q=11;break A;case Gk:Q=14;break A;case gE:Q=16,C=null;break A}throw Error(CI(130,g==null?g:typeof g,""))}return A=Ni(Q,I,A,B),A.elementType=g,A.type=C,A.lanes=i,A}function mt(g,A,I,C){return g=Ni(7,g,C,A),g.lanes=I,g}function Wh(g,A,I,C){return g=Ni(22,g,C,A),g.elementType=yK,g.lanes=I,g.stateNode={isHidden:!1},g}function TG(g,A,I){return g=Ni(6,g,null,A),g.lanes=I,g}function xG(g,A,I){return A=Ni(4,g.children!==null?g.children:[],g.key,A),A.lanes=I,A.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},A}function fx(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=GG(0),this.expirationTimes=GG(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=GG(0),this.identifierPrefix=C,this.onRecoverableError=B,this.mutableSourceEagerHydrationData=null}function gd(g,A,I,C,B,i,Q,e,E){return g=new fx(g,A,I,e,E),A===1?(A=1,i===!0&&(A|=8)):A=0,i=Ni(3,null,null,A),g.current=i,i.stateNode=g,i.memoizedState={element:C,isDehydrated:I,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hk(i),g}function Fx(g,A,I){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Dq)}catch(g){console.error(g)}}Dq(),lK.exports=Ei;var mx=lK.exports,hq,vN=mx;hq=vN.createRoot,vN.hydrateRoot;function FE(){return FE=Object.assign?Object.assign.bind():function(g){for(var A=1;A>8&255]+rB[g>>16&255]+rB[g>>24&255]+"-"+rB[A&255]+rB[A>>8&255]+"-"+rB[A>>16&15|64]+rB[A>>24&255]+"-"+rB[I&63|128]+rB[I>>8&255]+"-"+rB[I>>16&255]+rB[I>>24&255]+rB[C&255]+rB[C>>8&255]+rB[C>>16&255]+rB[C>>24&255]).toLowerCase()}function EC(g,A,I){return Math.max(A,Math.min(I,g))}function wd(g,A){return(g%A+A)%A}function av(g,A,I,C,B){return C+(g-A)*(B-C)/(I-A)}function sv(g,A,I){return g!==A?(I-g)/(A-g):0}function Ls(g,A,I){return(1-I)*g+I*A}function rv(g,A,I,C){return Ls(g,A,1-Math.exp(-I*C))}function lv(g,A=1){return A-Math.abs(wd(g,A*2)-A)}function cv(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*(3-2*g))}function Dv(g,A,I){return g<=A?0:g>=I?1:(g=(g-A)/(I-A),g*g*g*(g*(g*6-15)+10))}function hv(g,A){return g+Math.floor(Math.random()*(A-g+1))}function wv(g,A){return g+Math.random()*(A-g)}function Sv(g){return g*(.5-Math.random())}function Gv(g){g!==void 0&&(bN=g);let A=bN+=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 yv(g){return g*Yt}function uv(g){return g*Xn}function m0(g){return(g&g-1)===0&&g!==0}function kv(g){return Math.pow(2,Math.ceil(Math.log(g)/Math.LN2))}function wh(g){return Math.pow(2,Math.floor(Math.log(g)/Math.LN2))}function dv(g,A,I,C,B){const i=Math.cos,Q=Math.sin,e=i(I/2),E=Q(I/2),t=i((A+C)/2),n=Q((A+C)/2),s=i((A-C)/2),r=Q((A-C)/2),l=i((C-A)/2),D=Q((C-A)/2);switch(B){case"XYX":g.set(e*n,E*s,E*r,e*t);break;case"YZY":g.set(E*r,e*n,E*s,e*t);break;case"ZXZ":g.set(E*s,E*r,e*n,e*t);break;case"XZX":g.set(e*n,E*D,E*l,e*t);break;case"YXY":g.set(E*l,e*n,E*D,e*t);break;case"ZYZ":g.set(E*D,E*l,e*n,e*t);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}}function UB(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 zI(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 kE={DEG2RAD:Yt,RAD2DEG:Xn,generateUUID:Bi,clamp:EC,euclideanModulo:wd,mapLinear:av,inverseLerp:sv,lerp:Ls,damp:rv,pingpong:lv,smoothstep:cv,smootherstep:Dv,randInt:hv,randFloat:wv,randFloatSpread:Sv,seededRandom:Gv,degToRad:yv,radToDeg:uv,isPowerOfTwo:m0,ceilPowerOfTwo:kv,floorPowerOfTwo:wh,setQuaternionFromProperEuler:dv,normalize:zI,denormalize:UB};class KA{constructor(A=0,I=0){KA.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(EC(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 PI{constructor(A,I,C,B,i,Q,e,E,t){PI.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,E,t)}set(A,I,C,B,i,Q,e,E,t){const n=this.elements;return n[0]=A,n[1]=B,n[2]=e,n[3]=I,n[4]=i,n[5]=E,n[6]=C,n[7]=Q,n[8]=t,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],E=C[6],t=C[1],n=C[4],s=C[7],r=C[2],l=C[5],D=C[8],G=B[0],h=B[3],c=B[6],y=B[1],S=B[4],k=B[7],N=B[2],p=B[5],f=B[8];return i[0]=Q*G+e*y+E*N,i[3]=Q*h+e*S+E*p,i[6]=Q*c+e*k+E*f,i[1]=t*G+n*y+s*N,i[4]=t*h+n*S+s*p,i[7]=t*c+n*k+s*f,i[2]=r*G+l*y+D*N,i[5]=r*h+l*S+D*p,i[8]=r*c+l*k+D*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],E=A[6],t=A[7],n=A[8];return I*Q*n-I*e*t-C*i*n+C*e*E+B*i*t-B*Q*E}invert(){const A=this.elements,I=A[0],C=A[1],B=A[2],i=A[3],Q=A[4],e=A[5],E=A[6],t=A[7],n=A[8],s=n*Q-e*t,r=e*E-n*i,l=t*i-Q*E,D=I*s+C*r+B*l;if(D===0)return this.set(0,0,0,0,0,0,0,0,0);const G=1/D;return A[0]=s*G,A[1]=(B*t-n*C)*G,A[2]=(e*C-B*Q)*G,A[3]=r*G,A[4]=(n*I-B*E)*G,A[5]=(B*i-e*I)*G,A[6]=l*G,A[7]=(C*E-t*I)*G,A[8]=(Q*I-C*i)*G,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 E=Math.cos(i),t=Math.sin(i);return this.set(C*E,C*t,-C*(E*Q+t*e)+Q+A,-B*t,B*E,-B*(-t*Q+E*e)+e+I,0,0,1),this}scale(A,I){return this.premultiply(vG.makeScale(A,I)),this}rotate(A){return this.premultiply(vG.makeRotation(-A)),this}translate(A,I){return this.premultiply(vG.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 vG=new PI;function wm(g){for(let A=g.length-1;A>=0;--A)if(g[A]>=65535)return!0;return!1}const Mv={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function kn(g,A){return new Mv[g](A)}function cr(g){return document.createElementNS("http://www.w3.org/1999/xhtml",g)}function Sm(){const g=cr("canvas");return g.style.display="block",g}const ON={};function Ht(g){g in ON||(ON[g]=!0,console.warn(g))}const _N=new PI().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),ZN=new PI().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),ac={[NQ]:{transfer:nr,primaries:ar,toReference:g=>g,fromReference:g=>g},[eC]:{transfer:Lg,primaries:ar,toReference:g=>g.convertSRGBToLinear(),fromReference:g=>g.convertLinearToSRGB()},[Yr]:{transfer:nr,primaries:sr,toReference:g=>g.applyMatrix3(ZN),fromReference:g=>g.applyMatrix3(_N)},[Cw]:{transfer:Lg,primaries:sr,toReference:g=>g.convertSRGBToLinear().applyMatrix3(ZN),fromReference:g=>g.applyMatrix3(_N).convertLinearToSRGB()}},pv=new Set([NQ,Yr]),Fg={enabled:!0,_workingColorSpace:NQ,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(g){if(!pv.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=ac[A].toReference,B=ac[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 ac[g].primaries},getTransfer:function(g){return g===$B?nr:ac[g].transfer}};function Ln(g){return g<.04045?g*.0773993808:Math.pow(g*.9478672986+.0521327014,2.4)}function bG(g){return g<.0031308?g*12.92:1.055*Math.pow(g,.41666)-.055}let Ro;class Sd{static getDataURL(A){if(/^data:/i.test(A.src)||typeof HTMLCanvasElement>"u")return A.src;let I;if(A instanceof HTMLCanvasElement)I=A;else{Ro===void 0&&(Ro=cr("canvas")),Ro.width=A.width,Ro.height=A.height;const C=Ro.getContext("2d");A instanceof ImageData?C.putImageData(A,0,0):C.drawImage(A,0,0,A.width,A.height),I=Ro}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=cr("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!==Aw)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case KE:A.x=A.x-Math.floor(A.x);break;case IB:A.x=A.x<0?0:1;break;case jn: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 KE:A.y=A.y-Math.floor(A.y);break;case IB:A.y=A.y<0?0:1;break;case jn: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)}get encoding(){return Ht("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===eC?uE:cd}set encoding(A){Ht("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=A===uE?eC:$B}}mg.DEFAULT_IMAGE=null;mg.DEFAULT_MAPPING=Aw;mg.DEFAULT_ANISOTROPY=1;class Sg{constructor(A=0,I=0,C=0,B=1){Sg.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 E=A.elements,t=E[0],n=E[4],s=E[8],r=E[1],l=E[5],D=E[9],G=E[2],h=E[6],c=E[10];if(Math.abs(n-r)<.01&&Math.abs(s-G)<.01&&Math.abs(D-h)<.01){if(Math.abs(n+r)<.1&&Math.abs(s+G)<.1&&Math.abs(D+h)<.1&&Math.abs(t+l+c-3)<.1)return this.set(1,0,0,0),this;I=Math.PI;const S=(t+1)/2,k=(l+1)/2,N=(c+1)/2,p=(n+r)/4,f=(s+G)/4,q=(D+h)/4;return S>k&&S>N?S<.01?(C=0,B=.707106781,i=.707106781):(C=Math.sqrt(S),B=p/C,i=f/C):k>N?k<.01?(C=.707106781,B=0,i=.707106781):(B=Math.sqrt(k),C=p/B,i=q/B):N<.01?(C=.707106781,B=.707106781,i=0):(i=Math.sqrt(N),C=f/i,B=q/i),this.set(C,B,i,I),this}let y=Math.sqrt((h-D)*(h-D)+(s-G)*(s-G)+(r-n)*(r-n));return Math.abs(y)<.001&&(y=1),this.x=(h-D)/y,this.y=(s-G)/y,this.z=(r-n)/y,this.w=Math.acos((t+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 Gm extends ce{constructor(A=1,I=1,C={}){super(),this.isRenderTarget=!0,this.width=A,this.height=I,this.depth=1,this.scissor=new Sg(0,0,A,I),this.scissorTest=!1,this.viewport=new Sg(0,0,A,I);const B={width:A,height:I,depth:1};C.encoding!==void 0&&(Ht("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),C.colorSpace=C.encoding===uE?eC:$B),C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Dg,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},C),this.texture=new mg(B,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=C.generateMipmaps,this.texture.internalFormat=C.internalFormat,this.depthBuffer=C.depthBuffer,this.stencilBuffer=C.stencilBuffer,this.depthTexture=C.depthTexture,this.samples=C.samples}setSize(A,I,C=1){(this.width!==A||this.height!==I||this.depth!==C)&&(this.width=A,this.height=I,this.depth=C,this.texture.image.width=A,this.texture.image.height=I,this.texture.image.depth=C,this.dispose()),this.viewport.set(0,0,A,I),this.scissor.set(0,0,A,I)}clone(){return new this.constructor().copy(this)}copy(A){this.width=A.width,this.height=A.height,this.depth=A.depth,this.scissor.copy(A.scissor),this.scissorTest=A.scissorTest,this.viewport.copy(A.viewport),this.texture=A.texture.clone(),this.texture.isRenderTargetTexture=!0;const I=Object.assign({},A.texture.image);return this.texture.source=new Ft(I),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,A.depthTexture!==null&&(this.depthTexture=A.depthTexture.clone()),this.samples=A.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class SC extends Gm{constructor(A=1,I=1,C={}){super(A,I,C),this.isWebGLRenderTarget=!0}}class Bw extends mg{constructor(A=null,I=1,C=1,B=1){super(null),this.isDataArrayTexture=!0,this.image={data:A,width:I,height:C,depth:B},this.magFilter=tg,this.minFilter=tg,this.wrapR=IB,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class fv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGLArrayRenderTarget=!0,this.depth=C,this.texture=new Bw(null,A,I,C),this.texture.isRenderTargetTexture=!0}}class Gd extends mg{constructor(A=null,I=1,C=1,B=1){super(null),this.isData3DTexture=!0,this.image={data:A,width:I,height:C,depth:B},this.magFilter=tg,this.minFilter=tg,this.wrapR=IB,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Fv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGL3DRenderTarget=!0,this.depth=C,this.texture=new Gd(null,A,I,C),this.texture.isRenderTargetTexture=!0}}class Rv extends SC{constructor(A=1,I=1,C=1,B={}){super(A,I,B),this.isWebGLMultipleRenderTargets=!0;const i=this.texture;this.texture=[];for(let Q=0;Q=0?1:-1,S=1-c*c;if(S>Number.EPSILON){const N=Math.sqrt(S),p=Math.atan2(N,c*y);h=Math.sin(h*p)/N,e=Math.sin(e*p)/N}const k=e*y;if(E=E*h+r*k,t=t*h+l*k,n=n*h+D*k,s=s*h+G*k,h===1-e){const N=1/Math.sqrt(E*E+t*t+n*n+s*s);E*=N,t*=N,n*=N,s*=N}}A[I]=E,A[I+1]=t,A[I+2]=n,A[I+3]=s}static multiplyQuaternionsFlat(A,I,C,B,i,Q){const e=C[B],E=C[B+1],t=C[B+2],n=C[B+3],s=i[Q],r=i[Q+1],l=i[Q+2],D=i[Q+3];return A[I]=e*D+n*s+E*l-t*r,A[I+1]=E*D+n*r+t*s-e*l,A[I+2]=t*D+n*l+e*r-E*s,A[I+3]=n*D-e*s-E*r-t*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,E=Math.sin,t=e(C/2),n=e(B/2),s=e(i/2),r=E(C/2),l=E(B/2),D=E(i/2);switch(Q){case"XYZ":this._x=r*n*s+t*l*D,this._y=t*l*s-r*n*D,this._z=t*n*D+r*l*s,this._w=t*n*s-r*l*D;break;case"YXZ":this._x=r*n*s+t*l*D,this._y=t*l*s-r*n*D,this._z=t*n*D-r*l*s,this._w=t*n*s+r*l*D;break;case"ZXY":this._x=r*n*s-t*l*D,this._y=t*l*s+r*n*D,this._z=t*n*D+r*l*s,this._w=t*n*s-r*l*D;break;case"ZYX":this._x=r*n*s-t*l*D,this._y=t*l*s+r*n*D,this._z=t*n*D-r*l*s,this._w=t*n*s+r*l*D;break;case"YZX":this._x=r*n*s+t*l*D,this._y=t*l*s+r*n*D,this._z=t*n*D-r*l*s,this._w=t*n*s-r*l*D;break;case"XZY":this._x=r*n*s-t*l*D,this._y=t*l*s-r*n*D,this._z=t*n*D+r*l*s,this._w=t*n*s+r*l*D;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],E=I[9],t=I[2],n=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=(n-E)*l,this._y=(i-t)*l,this._z=(Q-B)*l}else if(C>e&&C>s){const l=2*Math.sqrt(1+C-e-s);this._w=(n-E)/l,this._x=.25*l,this._y=(B+Q)/l,this._z=(i+t)/l}else if(e>s){const l=2*Math.sqrt(1+e-C-s);this._w=(i-t)/l,this._x=(B+Q)/l,this._y=.25*l,this._z=(E+n)/l}else{const l=2*Math.sqrt(1+s-C-e);this._w=(Q-B)/l,this._x=(i+t)/l,this._y=(E+n)/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(EC(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,E=I._y,t=I._z,n=I._w;return this._x=C*n+Q*e+B*t-i*E,this._y=B*n+Q*E+i*e-C*t,this._z=i*n+Q*t+C*E-B*e,this._w=Q*n-C*e-B*E-i*t,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 E=1-e*e;if(E<=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 t=Math.sqrt(E),n=Math.atan2(t,e),s=Math.sin((1-I)*n)/t,r=Math.sin(I*n)/t;return this._w=Q*s+this._w*r,this._x=C*s+this._x*r,this._y=B*s+this._y*r,this._z=i*s+this._z*r,this._onChangeCallback(),this}slerpQuaternions(A,I,C){return this.copy(A).slerp(I,C)}random(){const A=Math.random(),I=Math.sqrt(1-A),C=Math.sqrt(A),B=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(I*Math.cos(B),C*Math.sin(i),C*Math.cos(i),I*Math.sin(B))}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 O{constructor(A=0,I=0,C=0){O.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(PN.setFromEuler(A))}applyAxisAngle(A,I){return this.applyQuaternion(PN.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,E=A.w,t=2*(Q*B-e*C),n=2*(e*I-i*B),s=2*(i*C-Q*I);return this.x=I+E*t+Q*s-e*n,this.y=C+E*n+e*t-i*s,this.z=B+E*s+i*n-Q*t,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,E=I.z;return this.x=B*E-i*e,this.y=i*Q-C*E,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 _G.copy(this).projectOnVector(A),this.sub(_G)}reflect(A){return this.sub(_G.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(EC(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()-.5)*2,I=Math.random()*Math.PI*2,C=Math.sqrt(1-A**2);return this.x=C*Math.cos(I),this.y=C*Math.sin(I),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const _G=new O,PN=new _g;class oC{constructor(A=new O(1/0,1/0,1/0),I=new O(-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,xi),xi.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(Wa),rc.subVectors(this.max,Wa),Ko.subVectors(A.a,Wa),Jo.subVectors(A.b,Wa),qo.subVectors(A.c,Wa),Oe.subVectors(Jo,Ko),_e.subVectors(qo,Jo),it.subVectors(Ko,qo);let I=[0,-Oe.z,Oe.y,0,-_e.z,_e.y,0,-it.z,it.y,Oe.z,0,-Oe.x,_e.z,0,-_e.x,it.z,0,-it.x,-Oe.y,Oe.x,0,-_e.y,_e.x,0,-it.y,it.x,0];return!ZG(I,Ko,Jo,qo,rc)||(I=[1,0,0,0,1,0,0,0,1],!ZG(I,Ko,Jo,qo,rc))?!1:(lc.crossVectors(Oe,_e),I=[lc.x,lc.y,lc.z],ZG(I,Ko,Jo,qo,rc))}clampPoint(A,I){return I.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,xi).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=this.getSize(xi).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:(TQ[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),TQ[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),TQ[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),TQ[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),TQ[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),TQ[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),TQ[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),TQ[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(TQ),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 TQ=[new O,new O,new O,new O,new O,new O,new O,new O],xi=new O,sc=new oC,Ko=new O,Jo=new O,qo=new O,Oe=new O,_e=new O,it=new O,Wa=new O,rc=new O,lc=new O,Qt=new O;function ZG(g,A,I,C,B){for(let i=0,Q=g.length-3;i<=Q;i+=3){Qt.fromArray(g,i);const e=B.x*Math.abs(Qt.x)+B.y*Math.abs(Qt.y)+B.z*Math.abs(Qt.z),E=A.dot(Qt),t=I.dot(Qt),n=C.dot(Qt);if(Math.max(-Math.max(E,t,n),Math.min(E,t,n))>e)return!1}return!0}const Kv=new oC,ja=new O,PG=new O;class RC{constructor(A=new O,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):Kv.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;ja.subVectors(A,this.center);const I=ja.lengthSq();if(I>this.radius*this.radius){const C=Math.sqrt(I),B=(C-this.radius)*.5;this.center.addScaledVector(ja,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):(PG.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(ja.copy(A.center).add(PG)),this.expandByPoint(ja.copy(A.center).sub(PG))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return new this.constructor().copy(this)}}const xQ=new O,WG=new O,cc=new O,Ze=new O,jG=new O,Dc=new O,VG=new O;class oa{constructor(A=new O,I=new O(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,xQ)),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=xQ.subVectors(A,this.origin).dot(this.direction);return I<0?this.origin.distanceToSquared(A):(xQ.copy(this.origin).addScaledVector(this.direction,I),xQ.distanceToSquared(A))}distanceSqToSegment(A,I,C,B){WG.copy(A).add(I).multiplyScalar(.5),cc.copy(I).sub(A).normalize(),Ze.copy(this.origin).sub(WG);const i=A.distanceTo(I)*.5,Q=-this.direction.dot(cc),e=Ze.dot(this.direction),E=-Ze.dot(cc),t=Ze.lengthSq(),n=Math.abs(1-Q*Q);let s,r,l,D;if(n>0)if(s=Q*E-e,r=Q*e-E,D=i*n,s>=0)if(r>=-D)if(r<=D){const G=1/n;s*=G,r*=G,l=s*(s+Q*r+2*e)+r*(Q*s+r+2*E)+t}else r=i,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*E)+t;else r=-i,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*E)+t;else r<=-D?(s=Math.max(0,-(-Q*i+e)),r=s>0?-i:Math.min(Math.max(-i,-E),i),l=-s*s+r*(r+2*E)+t):r<=D?(s=0,r=Math.min(Math.max(-i,-E),i),l=r*(r+2*E)+t):(s=Math.max(0,-(Q*i+e)),r=s>0?i:Math.min(Math.max(-i,-E),i),l=-s*s+r*(r+2*E)+t);else r=Q>0?-i:i,s=Math.max(0,-(Q*r+e)),l=-s*s+r*(r+2*E)+t;return C&&C.copy(this.origin).addScaledVector(this.direction,s),B&&B.copy(WG).addScaledVector(cc,r),l}intersectSphere(A,I){xQ.subVectors(A.center,this.origin);const C=xQ.dot(this.direction),B=xQ.dot(xQ)-C*C,i=A.radius*A.radius;if(B>i)return null;const Q=Math.sqrt(i-B),e=C-Q,E=C+Q;return E<0?null:e<0?this.at(E,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,E;const t=1/this.direction.x,n=1/this.direction.y,s=1/this.direction.z,r=this.origin;return t>=0?(C=(A.min.x-r.x)*t,B=(A.max.x-r.x)*t):(C=(A.max.x-r.x)*t,B=(A.min.x-r.x)*t),n>=0?(i=(A.min.y-r.y)*n,Q=(A.max.y-r.y)*n):(i=(A.max.y-r.y)*n,Q=(A.min.y-r.y)*n),C>Q||i>B||((i>C||isNaN(C))&&(C=i),(Q=0?(e=(A.min.z-r.z)*s,E=(A.max.z-r.z)*s):(e=(A.max.z-r.z)*s,E=(A.min.z-r.z)*s),C>E||e>B)||((e>C||C!==C)&&(C=e),(E=0?C:B,I)}intersectsBox(A){return this.intersectBox(A,xQ)!==null}intersectTriangle(A,I,C,B,i){jG.subVectors(I,A),Dc.subVectors(C,A),VG.crossVectors(jG,Dc);let Q=this.direction.dot(VG),e;if(Q>0){if(B)return null;e=1}else if(Q<0)e=-1,Q=-Q;else return null;Ze.subVectors(this.origin,A);const E=e*this.direction.dot(Dc.crossVectors(Ze,Dc));if(E<0)return null;const t=e*this.direction.dot(jG.cross(Ze));if(t<0||E+t>Q)return null;const n=-e*Ze.dot(VG);return n<0?null:this.at(n/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 pI{constructor(A,I,C,B,i,Q,e,E,t,n,s,r,l,D,G,h){pI.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,E,t,n,s,r,l,D,G,h)}set(A,I,C,B,i,Q,e,E,t,n,s,r,l,D,G,h){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]=E,c[2]=t,c[6]=n,c[10]=s,c[14]=r,c[3]=l,c[7]=D,c[11]=G,c[15]=h,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 pI().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/mo.setFromMatrixColumn(A,0).length(),i=1/mo.setFromMatrixColumn(A,1).length(),Q=1/mo.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),E=Math.cos(B),t=Math.sin(B),n=Math.cos(i),s=Math.sin(i);if(A.order==="XYZ"){const r=Q*n,l=Q*s,D=e*n,G=e*s;I[0]=E*n,I[4]=-E*s,I[8]=t,I[1]=l+D*t,I[5]=r-G*t,I[9]=-e*E,I[2]=G-r*t,I[6]=D+l*t,I[10]=Q*E}else if(A.order==="YXZ"){const r=E*n,l=E*s,D=t*n,G=t*s;I[0]=r+G*e,I[4]=D*e-l,I[8]=Q*t,I[1]=Q*s,I[5]=Q*n,I[9]=-e,I[2]=l*e-D,I[6]=G+r*e,I[10]=Q*E}else if(A.order==="ZXY"){const r=E*n,l=E*s,D=t*n,G=t*s;I[0]=r-G*e,I[4]=-Q*s,I[8]=D+l*e,I[1]=l+D*e,I[5]=Q*n,I[9]=G-r*e,I[2]=-Q*t,I[6]=e,I[10]=Q*E}else if(A.order==="ZYX"){const r=Q*n,l=Q*s,D=e*n,G=e*s;I[0]=E*n,I[4]=D*t-l,I[8]=r*t+G,I[1]=E*s,I[5]=G*t+r,I[9]=l*t-D,I[2]=-t,I[6]=e*E,I[10]=Q*E}else if(A.order==="YZX"){const r=Q*E,l=Q*t,D=e*E,G=e*t;I[0]=E*n,I[4]=G-r*s,I[8]=D*s+l,I[1]=s,I[5]=Q*n,I[9]=-e*n,I[2]=-t*n,I[6]=l*s+D,I[10]=r-G*s}else if(A.order==="XZY"){const r=Q*E,l=Q*t,D=e*E,G=e*t;I[0]=E*n,I[4]=-s,I[8]=t*n,I[1]=r*s+G,I[5]=Q*n,I[9]=l*s-D,I[2]=D*s-l,I[6]=e*n,I[10]=G*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(Jv,A,qv)}lookAt(A,I,C){const B=this.elements;return jB.subVectors(A,I),jB.lengthSq()===0&&(jB.z=1),jB.normalize(),Pe.crossVectors(C,jB),Pe.lengthSq()===0&&(Math.abs(C.z)===1?jB.x+=1e-4:jB.z+=1e-4,jB.normalize(),Pe.crossVectors(C,jB)),Pe.normalize(),hc.crossVectors(jB,Pe),B[0]=Pe.x,B[4]=hc.x,B[8]=jB.x,B[1]=Pe.y,B[5]=hc.y,B[9]=jB.y,B[2]=Pe.z,B[6]=hc.z,B[10]=jB.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],E=C[8],t=C[12],n=C[1],s=C[5],r=C[9],l=C[13],D=C[2],G=C[6],h=C[10],c=C[14],y=C[3],S=C[7],k=C[11],N=C[15],p=B[0],f=B[4],q=B[8],_=B[12],U=B[1],K=B[5],z=B[9],rA=B[13],X=B[2],sA=B[6],oA=B[10],GA=B[14],b=B[3],gA=B[7],CA=B[11],DA=B[15];return i[0]=Q*p+e*U+E*X+t*b,i[4]=Q*f+e*K+E*sA+t*gA,i[8]=Q*q+e*z+E*oA+t*CA,i[12]=Q*_+e*rA+E*GA+t*DA,i[1]=n*p+s*U+r*X+l*b,i[5]=n*f+s*K+r*sA+l*gA,i[9]=n*q+s*z+r*oA+l*CA,i[13]=n*_+s*rA+r*GA+l*DA,i[2]=D*p+G*U+h*X+c*b,i[6]=D*f+G*K+h*sA+c*gA,i[10]=D*q+G*z+h*oA+c*CA,i[14]=D*_+G*rA+h*GA+c*DA,i[3]=y*p+S*U+k*X+N*b,i[7]=y*f+S*K+k*sA+N*gA,i[11]=y*q+S*z+k*oA+N*CA,i[15]=y*_+S*rA+k*GA+N*DA,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],E=A[9],t=A[13],n=A[2],s=A[6],r=A[10],l=A[14],D=A[3],G=A[7],h=A[11],c=A[15];return D*(+i*E*s-B*t*s-i*e*r+C*t*r+B*e*l-C*E*l)+G*(+I*E*l-I*t*r+i*Q*r-B*Q*l+B*t*n-i*E*n)+h*(+I*t*s-I*e*l-i*Q*s+C*Q*l+i*e*n-C*t*n)+c*(-B*e*n-I*E*s+I*e*r+B*Q*s-C*Q*r+C*E*n)}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],E=A[6],t=A[7],n=A[8],s=A[9],r=A[10],l=A[11],D=A[12],G=A[13],h=A[14],c=A[15],y=s*h*t-G*r*t+G*E*l-e*h*l-s*E*c+e*r*c,S=D*r*t-n*h*t-D*E*l+Q*h*l+n*E*c-Q*r*c,k=n*G*t-D*s*t+D*e*l-Q*G*l-n*e*c+Q*s*c,N=D*s*E-n*G*E-D*e*r+Q*G*r+n*e*h-Q*s*h,p=I*y+C*S+B*k+i*N;if(p===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const f=1/p;return A[0]=y*f,A[1]=(G*r*i-s*h*i-G*B*l+C*h*l+s*B*c-C*r*c)*f,A[2]=(e*h*i-G*E*i+G*B*t-C*h*t-e*B*c+C*E*c)*f,A[3]=(s*E*i-e*r*i-s*B*t+C*r*t+e*B*l-C*E*l)*f,A[4]=S*f,A[5]=(n*h*i-D*r*i+D*B*l-I*h*l-n*B*c+I*r*c)*f,A[6]=(D*E*i-Q*h*i-D*B*t+I*h*t+Q*B*c-I*E*c)*f,A[7]=(Q*r*i-n*E*i+n*B*t-I*r*t-Q*B*l+I*E*l)*f,A[8]=k*f,A[9]=(D*s*i-n*G*i-D*C*l+I*G*l+n*C*c-I*s*c)*f,A[10]=(Q*G*i-D*e*i+D*C*t-I*G*t-Q*C*c+I*e*c)*f,A[11]=(n*e*i-Q*s*i-n*C*t+I*s*t+Q*C*l-I*e*l)*f,A[12]=N*f,A[13]=(n*G*B-D*s*B+D*C*r-I*G*r-n*C*h+I*s*h)*f,A[14]=(D*e*B-Q*G*B-D*C*E+I*G*E+Q*C*h-I*e*h)*f,A[15]=(Q*s*B-n*e*B+n*C*E-I*s*E-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,E=A.z,t=i*Q,n=i*e;return this.set(t*Q+C,t*e-B*E,t*E+B*e,0,t*e+B*E,n*e+C,n*E-B*Q,0,t*E-B*e,n*E+B*Q,i*E*E+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,E=I._w,t=i+i,n=Q+Q,s=e+e,r=i*t,l=i*n,D=i*s,G=Q*n,h=Q*s,c=e*s,y=E*t,S=E*n,k=E*s,N=C.x,p=C.y,f=C.z;return B[0]=(1-(G+c))*N,B[1]=(l+k)*N,B[2]=(D-S)*N,B[3]=0,B[4]=(l-k)*p,B[5]=(1-(r+c))*p,B[6]=(h+y)*p,B[7]=0,B[8]=(D+S)*f,B[9]=(h-y)*f,B[10]=(1-(r+G))*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=mo.set(B[0],B[1],B[2]).length();const Q=mo.set(B[4],B[5],B[6]).length(),e=mo.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],vi.copy(this);const t=1/i,n=1/Q,s=1/e;return vi.elements[0]*=t,vi.elements[1]*=t,vi.elements[2]*=t,vi.elements[4]*=n,vi.elements[5]*=n,vi.elements[6]*=n,vi.elements[8]*=s,vi.elements[9]*=s,vi.elements[10]*=s,I.setFromRotationMatrix(vi),C.x=i,C.y=Q,C.z=e,this}makePerspective(A,I,C,B,i,Q,e=yQ){const E=this.elements,t=2*i/(I-A),n=2*i/(C-B),s=(I+A)/(I-A),r=(C+B)/(C-B);let l,D;if(e===yQ)l=-(Q+i)/(Q-i),D=-2*Q*i/(Q-i);else if(e===lr)l=-Q/(Q-i),D=-Q*i/(Q-i);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+e);return E[0]=t,E[4]=0,E[8]=s,E[12]=0,E[1]=0,E[5]=n,E[9]=r,E[13]=0,E[2]=0,E[6]=0,E[10]=l,E[14]=D,E[3]=0,E[7]=0,E[11]=-1,E[15]=0,this}makeOrthographic(A,I,C,B,i,Q,e=yQ){const E=this.elements,t=1/(I-A),n=1/(C-B),s=1/(Q-i),r=(I+A)*t,l=(C+B)*n;let D,G;if(e===yQ)D=(Q+i)*s,G=-2*s;else if(e===lr)D=i*s,G=-1*s;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+e);return E[0]=2*t,E[4]=0,E[8]=0,E[12]=-r,E[1]=0,E[5]=2*n,E[9]=0,E[13]=-l,E[2]=0,E[6]=0,E[10]=G,E[14]=-D,E[3]=0,E[7]=0,E[11]=0,E[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 mo=new O,vi=new pI,Jv=new O(0,0,0),qv=new O(1,1,1),Pe=new O,hc=new O,jB=new O,WN=new pI,jN=new _g;class fQ{constructor(A=0,I=0,C=0,B=fQ.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],E=B[1],t=B[5],n=B[9],s=B[2],r=B[6],l=B[10];switch(I){case"XYZ":this._y=Math.asin(EC(e,-1,1)),Math.abs(e)<.9999999?(this._x=Math.atan2(-n,l),this._z=Math.atan2(-Q,i)):(this._x=Math.atan2(r,t),this._z=0);break;case"YXZ":this._x=Math.asin(-EC(n,-1,1)),Math.abs(n)<.9999999?(this._y=Math.atan2(e,l),this._z=Math.atan2(E,t)):(this._y=Math.atan2(-s,i),this._z=0);break;case"ZXY":this._x=Math.asin(EC(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(-s,l),this._z=Math.atan2(-Q,t)):(this._y=0,this._z=Math.atan2(E,i));break;case"ZYX":this._y=Math.asin(-EC(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(r,l),this._z=Math.atan2(E,i)):(this._x=0,this._z=Math.atan2(-Q,t));break;case"YZX":this._z=Math.asin(EC(E,-1,1)),Math.abs(E)<.9999999?(this._x=Math.atan2(-n,t),this._y=Math.atan2(-s,i)):(this._x=0,this._y=Math.atan2(e,l));break;case"XZY":this._z=Math.asin(-EC(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(r,t),this._y=Math.atan2(e,i)):(this._x=Math.atan2(-n,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 WN.makeRotationFromQuaternion(A),this.setFromRotationMatrix(WN,I,C)}setFromVector3(A,I=this._order){return this.set(A.x,A.y,A.z,I)}reorder(A){return jN.setFromEuler(this),this.setFromQuaternion(jN,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}}fQ.DEFAULT_ORDER="XYZ";class Tt{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,E){return e[E.uuid]===void 0&&(e[E.uuid]=E.toJSON(A)),E.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 E=e.shapes;if(Array.isArray(E))for(let t=0,n=E.length;t0){B.children=[];for(let e=0;e0){B.animations=[];for(let e=0;e0&&(C.geometries=e),E.length>0&&(C.materials=E),t.length>0&&(C.textures=t),n.length>0&&(C.images=n),s.length>0&&(C.shapes=s),r.length>0&&(C.skeletons=r),l.length>0&&(C.animations=l),D.length>0&&(C.nodes=D)}return C.object=B,C;function Q(e){const E=[];for(const t in e){const n=e[t];delete n.metadata,E.push(n)}return E}}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){bi.subVectors(B,I),bQ.subVectors(C,I),XG.subVectors(A,I);const Q=bi.dot(bi),e=bi.dot(bQ),E=bi.dot(XG),t=bQ.dot(bQ),n=bQ.dot(XG),s=Q*t-e*e;if(s===0)return i.set(0,0,0),null;const r=1/s,l=(t*E-e*n)*r,D=(Q*n-e*E)*r;return i.set(1-l-D,D,l)}static containsPoint(A,I,C,B){return this.getBarycoord(A,I,C,B,OQ)===null?!1:OQ.x>=0&&OQ.y>=0&&OQ.x+OQ.y<=1}static getInterpolation(A,I,C,B,i,Q,e,E){return this.getBarycoord(A,I,C,B,OQ)===null?(E.x=0,E.y=0,"z"in E&&(E.z=0),"w"in E&&(E.w=0),null):(E.setScalar(0),E.addScaledVector(i,OQ.x),E.addScaledVector(Q,OQ.y),E.addScaledVector(e,OQ.z),E)}static isFrontFacing(A,I,C,B){return bi.subVectors(C,I),bQ.subVectors(A,I),bi.cross(bQ).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 bi.subVectors(this.c,this.b),bQ.subVectors(this.a,this.b),bi.cross(bQ).length()*.5}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return YB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,I){return YB.getBarycoord(A,this.a,this.b,this.c,I)}getInterpolation(A,I,C,B,i){return YB.getInterpolation(A,this.a,this.b,this.c,I,C,B,i)}containsPoint(A){return YB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return YB.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;Yo.subVectors(B,C),Ho.subVectors(i,C),zG.subVectors(A,C);const E=Yo.dot(zG),t=Ho.dot(zG);if(E<=0&&t<=0)return I.copy(C);$G.subVectors(A,B);const n=Yo.dot($G),s=Ho.dot($G);if(n>=0&&s<=n)return I.copy(B);const r=E*s-n*t;if(r<=0&&E>=0&&n<=0)return Q=E/(E-n),I.copy(C).addScaledVector(Yo,Q);Ay.subVectors(A,i);const l=Yo.dot(Ay),D=Ho.dot(Ay);if(D>=0&&l<=D)return I.copy(i);const G=l*t-E*D;if(G<=0&&t>=0&&D<=0)return e=t/(t-D),I.copy(C).addScaledVector(Ho,e);const h=n*D-l*s;if(h<=0&&s-n>=0&&l-D>=0)return Af.subVectors(i,B),e=(s-n)/(s-n+(l-D)),I.copy(B).addScaledVector(Af,e);const c=1/(h+G+r);return Q=G*c,e=r*c,I.copy(C).addScaledVector(Yo,Q).addScaledVector(Ho,e)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const ym={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},We={h:0,s:0,l:0},Sc={h:0,s:0,l:0};function Iy(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 tI{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=eC){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(A&255)/255,Fg.toWorkingColorSpace(this,I),this}setRGB(A,I,C,B=Fg.workingColorSpace){return this.r=A,this.g=I,this.b=C,Fg.toWorkingColorSpace(this,B),this}setHSL(A,I,C,B=Fg.workingColorSpace){if(A=wd(A,1),I=EC(I,0,1),C=EC(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=Iy(Q,i,A+1/3),this.g=Iy(Q,i,A),this.b=Iy(Q,i,A-1/3)}return Fg.toWorkingColorSpace(this,B),this}setStyle(A,I=eC){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=eC){const C=ym[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=Ln(A.r),this.g=Ln(A.g),this.b=Ln(A.b),this}copyLinearToSRGB(A){return this.r=bG(A.r),this.g=bG(A.g),this.b=bG(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=eC){return Fg.fromWorkingColorSpace(lB.copy(this),A),Math.round(EC(lB.r*255,0,255))*65536+Math.round(EC(lB.g*255,0,255))*256+Math.round(EC(lB.b*255,0,255))}getHexString(A=eC){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,I=Fg.workingColorSpace){Fg.fromWorkingColorSpace(lB.copy(this),I);const C=lB.r,B=lB.g,i=lB.b,Q=Math.max(C,B,i),e=Math.min(C,B,i);let E,t;const n=(e+Q)/2;if(e===Q)E=0,t=0;else{const s=Q-e;switch(t=n<=.5?s/(Q+e):s/(2-Q-e),Q){case C:E=(B-i)/s+(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&&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.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.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!==Lt&&(C.blending=this.blending),this.side!==Qi&&(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!==lh&&(C.blendSrc=this.blendSrc),this.blendDst!==ch&&(C.blendDst=this.blendDst),this.blendEquation!==eE&&(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!==er&&(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!==J0&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ut&&(C.stencilFail=this.stencilFail),this.stencilZFail!==ut&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==ut&&(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 E=i[e];delete E.metadata,Q.push(E)}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 uC extends rC{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new tI(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.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.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 XQ=vv();function vv(){const g=new ArrayBuffer(4),A=new Float32Array(g),I=new Uint32Array(g),C=new Uint32Array(512),B=new Uint32Array(512);for(let E=0;E<256;++E){const t=E-127;t<-27?(C[E]=0,C[E|256]=32768,B[E]=24,B[E|256]=24):t<-14?(C[E]=1024>>-t-14,C[E|256]=1024>>-t-14|32768,B[E]=-t-1,B[E|256]=-t-1):t<=15?(C[E]=t+15<<10,C[E|256]=t+15<<10|32768,B[E]=13,B[E|256]=13):t<128?(C[E]=31744,C[E|256]=64512,B[E]=24,B[E|256]=24):(C[E]=31744,C[E|256]=64512,B[E]=13,B[E|256]=13)}const i=new Uint32Array(2048),Q=new Uint32Array(64),e=new Uint32Array(64);for(let E=1;E<1024;++E){let t=E<<13,n=0;for(;!(t&8388608);)t<<=1,n-=8388608;t&=-8388609,n+=947912704,i[E]=t|n}for(let E=1024;E<2048;++E)i[E]=939524096+(E-1024<<13);for(let E=1;E<31;++E)Q[E]=E<<23;Q[31]=1199570944,Q[32]=2147483648;for(let E=33;E<63;++E)Q[E]=2147483648+(E-32<<23);Q[63]=3347054592;for(let E=1;E<64;++E)E!==32&&(e[E]=1024);return{floatView:A,uint32View:I,baseTable:C,shiftTable:B,mantissaTable:i,exponentTable:Q,offsetTable:e}}function mB(g){Math.abs(g)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),g=EC(g,-65504,65504),XQ.floatView[0]=g;const A=XQ.uint32View[0],I=A>>23&511;return XQ.baseTable[I]+((A&8388607)>>XQ.shiftTable[I])}function Ss(g){const A=g>>10;return XQ.uint32View[0]=XQ.mantissaTable[XQ.offsetTable[A]+(g&1023)]+XQ.exponentTable[A],XQ.floatView[0]}const Rt={toHalfFloat:mB,fromHalfFloat:Ss},hC=new O,Gc=new KA;class Ag{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=rr,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=tC,this.version=0}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Ht("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 E=this.parameters;for(const t in E)E[t]!==void 0&&(A[t]=E[t]);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 E in C){const t=C[E];A.data.attributes[E]=t.toJSON(A.data)}const B={};let i=!1;for(const E in this.morphAttributes){const t=this.morphAttributes[E],n=[];for(let s=0,r=t.length;s0&&(B[E]=n,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 t in B){const n=B[t];this.setAttribute(t,n.clone(I))}const i=A.morphAttributes;for(const t in i){const n=[],s=i[t];for(let r=0,l=s.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))&&(If.copy(i).invert(),et.copy(A.ray).applyMatrix4(If),!(C.boundingBox!==null&&et.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(A,I,et)))}_computeIntersections(A,I,C){let B;const i=this.geometry,Q=this.material,e=i.index,E=i.attributes.position,t=i.attributes.uv,n=i.attributes.uv1,s=i.attributes.normal,r=i.groups,l=i.drawRange;if(e!==null)if(Array.isArray(Q))for(let D=0,G=r.length;DI.far?null:{distance:t,point:Uc.clone(),object:g}}function Nc(g,A,I,C,B,i,Q,e,E,t){g.getVertexPosition(e,xo),g.getVertexPosition(E,vo),g.getVertexPosition(t,bo);const n=Xv(g,A,I,C,xo,vo,bo,pc);if(n){B&&(kc.fromBufferAttribute(B,e),dc.fromBufferAttribute(B,E),Mc.fromBufferAttribute(B,t),n.uv=YB.getInterpolation(pc,xo,vo,bo,kc,dc,Mc,new KA)),i&&(kc.fromBufferAttribute(i,e),dc.fromBufferAttribute(i,E),Mc.fromBufferAttribute(i,t),n.uv1=YB.getInterpolation(pc,xo,vo,bo,kc,dc,Mc,new KA),n.uv2=n.uv1),Q&&(Cf.fromBufferAttribute(Q,e),Bf.fromBufferAttribute(Q,E),Qf.fromBufferAttribute(Q,t),n.normal=YB.getInterpolation(pc,xo,vo,bo,Cf,Bf,Qf,new O),n.normal.dot(C.direction)>0&&n.normal.multiplyScalar(-1));const s={a:e,b:E,c:t,normal:new O,materialIndex:0};YB.getNormal(xo,vo,bo,s.normal),n.face=s}return n}class xE extends WI{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 E=[],t=[],n=[],s=[];let r=0,l=0;D("z","y","x",-1,-1,C,I,A,Q,i,0),D("z","y","x",1,-1,C,I,-A,Q,i,1),D("x","z","y",1,1,A,C,I,B,Q,2),D("x","z","y",1,-1,A,C,-I,B,Q,3),D("x","y","z",1,-1,A,I,C,B,i,4),D("x","y","z",-1,-1,A,I,-C,B,i,5),this.setIndex(E),this.setAttribute("position",new GI(t,3)),this.setAttribute("normal",new GI(n,3)),this.setAttribute("uv",new GI(s,2));function D(G,h,c,y,S,k,N,p,f,q,_){const U=k/f,K=N/q,z=k/2,rA=N/2,X=p/2,sA=f+1,oA=q+1;let GA=0,b=0;const gA=new O;for(let CA=0;CA0?1:-1,n.push(gA.x,gA.y,gA.z),s.push(fA/f),s.push(1-CA/q),GA+=1}}for(let CA=0;CA0&&(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 Hr extends Eg{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new pI,this.projectionMatrix=new pI,this.projectionMatrixInverse=new pI,this.coordinateSystem=yQ}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 je=new O,ef=new KA,Ef=new KA;let GC=class extends Hr{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=Xn*2*Math.atan(I),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(Yt*.5*this.fov);return .5*this.getFilmHeight()/A}getEffectiveFOV(){return Xn*2*Math.atan(Math.tan(Yt*.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){je.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),I.set(je.x,je.y).multiplyScalar(-A/je.z),je.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(je.x,je.y).multiplyScalar(-A/je.z)}getViewSize(A,I){return this.getViewBounds(A,ef,Ef),I.subVectors(Ef,ef)}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(Yt*.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 E=Q.fullWidth,t=Q.fullHeight;i+=Q.offsetX*B/E,I-=Q.offsetY*C/t,B*=Q.width/E,C*=Q.height/t}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 Oo=-90,_o=1;class km extends Eg{constructor(A,I,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const B=new GC(Oo,_o,A,I);B.layers=this.layers,this.add(B);const i=new GC(Oo,_o,A,I);i.layers=this.layers,this.add(i);const Q=new GC(Oo,_o,A,I);Q.layers=this.layers,this.add(Q);const e=new GC(Oo,_o,A,I);e.layers=this.layers,this.add(e);const E=new GC(Oo,_o,A,I);E.layers=this.layers,this.add(E);const t=new GC(Oo,_o,A,I);t.layers=this.layers,this.add(t)}updateCoordinateSystem(){const A=this.coordinateSystem,I=this.children.concat(),[C,B,i,Q,e,E]=I;for(const t of I)this.remove(t);if(A===yQ)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),E.up.set(0,1,0),E.lookAt(0,0,-1);else if(A===lr)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),E.up.set(0,-1,0),E.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);for(const t of I)this.add(t),t.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,E,t,n]=this.children,s=A.getRenderTarget(),r=A.getActiveCubeFace(),l=A.getActiveMipmapLevel(),D=A.xr.enabled;A.xr.enabled=!1;const G=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,E),A.setRenderTarget(C,4,B),A.render(I,t),C.texture.generateMipmaps=G,A.setRenderTarget(C,5,B),A.render(I,n),A.setRenderTarget(s,r,l),A.xr.enabled=D,C.texture.needsPMREMUpdate=!0}}class Tr extends mg{constructor(A,I,C,B,i,Q,e,E,t,n){A=A!==void 0?A:[],I=I!==void 0?I:UQ,super(A,I,C,B,i,Q,e,E,t,n),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class dd extends SC{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];I.encoding!==void 0&&(Ht("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),I.colorSpace=I.encoding===uE?eC:$B),this.texture=new Tr(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:Dg}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 xE(5,5,5),i=new NC({name:"CubemapFromEquirect",uniforms:zn(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:fB,blending:ie});i.uniforms.tEquirect.value=I;const Q=new hg(B,i),e=I.minFilter;return I.minFilter===Ii&&(I.minFilter=Dg),new km(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 By=new O,Ib=new O,gb=new PI;class Kg{constructor(A=new O(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=By.subVectors(C,I).cross(Ib.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(By),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||gb.getNormalMatrix(A),B=this.coplanarPoint(By).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 Et=new RC,fc=new O;class xr{constructor(A=new Kg,I=new Kg,C=new Kg,B=new Kg,i=new Kg,Q=new Kg){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=yQ){const C=this.planes,B=A.elements,i=B[0],Q=B[1],e=B[2],E=B[3],t=B[4],n=B[5],s=B[6],r=B[7],l=B[8],D=B[9],G=B[10],h=B[11],c=B[12],y=B[13],S=B[14],k=B[15];if(C[0].setComponents(E-i,r-t,h-l,k-c).normalize(),C[1].setComponents(E+i,r+t,h+l,k+c).normalize(),C[2].setComponents(E+Q,r+n,h+D,k+y).normalize(),C[3].setComponents(E-Q,r-n,h-D,k-y).normalize(),C[4].setComponents(E-e,r-s,h-G,k-S).normalize(),I===yQ)C[5].setComponents(E+e,r+s,h+G,k+S).normalize();else if(I===lr)C[5].setComponents(e,s,G,S).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(),Et.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const I=A.geometry;I.boundingSphere===null&&I.computeBoundingSphere(),Et.copy(I.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Et)}intersectsSprite(A){return Et.center.set(0,0,0),Et.radius=.7071067811865476,Et.applyMatrix4(A.matrixWorld),this.intersectsSphere(Et)}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,fc.y=B.normal.y>0?A.max.y:A.min.y,fc.z=B.normal.z>0?A.max.z:A.min.z,B.distanceToPoint(fc)<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 dm(){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 Cb(g,A){const I=A.isWebGL2,C=new WeakMap;function B(t,n){const s=t.array,r=t.usage,l=s.byteLength,D=g.createBuffer();g.bindBuffer(n,D),g.bufferData(n,s,r),t.onUploadCallback();let G;if(s instanceof Float32Array)G=g.FLOAT;else if(s instanceof Uint16Array)if(t.isFloat16BufferAttribute)if(I)G=g.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else G=g.UNSIGNED_SHORT;else if(s instanceof Int16Array)G=g.SHORT;else if(s instanceof Uint32Array)G=g.UNSIGNED_INT;else if(s instanceof Int32Array)G=g.INT;else if(s instanceof Int8Array)G=g.BYTE;else if(s instanceof Uint8Array)G=g.UNSIGNED_BYTE;else if(s instanceof Uint8ClampedArray)G=g.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+s);return{buffer:D,type:G,bytesPerElement:s.BYTES_PER_ELEMENT,version:t.version,size:l}}function i(t,n,s){const r=n.array,l=n._updateRange,D=n.updateRanges;if(g.bindBuffer(s,t),l.count===-1&&D.length===0&&g.bufferSubData(s,0,r),D.length!==0){for(let G=0,h=D.length;G 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`,Sb=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,Gb=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; -#endif`,yb=`#if NUM_CLIPPING_PLANES > 0 - vClipPosition = - mvPosition.xyz; -#endif`,ub=`#if defined( USE_COLOR_ALPHA ) - diffuseColor *= vColor; -#elif defined( USE_COLOR ) - diffuseColor.rgb *= vColor; -#endif`,kb=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) - varying vec3 vColor; -#endif`,db=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) - varying vec3 vColor; -#endif`,Mb=`#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`,pb=`#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`,Ub=`#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`,Nb=`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`,fb=`#ifdef USE_DISPLACEMENTMAP - uniform sampler2D displacementMap; - uniform float displacementScale; - uniform float displacementBias; -#endif`,Fb=`#ifdef USE_DISPLACEMENTMAP - transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,Rb=`#ifdef USE_EMISSIVEMAP - vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); - totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,Kb=`#ifdef USE_EMISSIVEMAP - uniform sampler2D emissiveMap; -#endif`,Jb="gl_FragColor = linearToOutputTexel( gl_FragColor );",qb=` -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 ); -}`,mb=`#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, 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`,Lb=`#ifdef USE_ENVMAP - uniform float envMapIntensity; - uniform float flipEnvMap; - #ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; - #else - uniform sampler2D envMap; - #endif - -#endif`,Yb=`#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`,Hb=`#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`,Tb=`#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`,xb=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; -#endif`,vb=`#ifdef USE_FOG - varying float vFogDepth; -#endif`,bb=`#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`,Ob=`#ifdef USE_FOG - uniform vec3 fogColor; - varying float vFogDepth; - #ifdef FOG_EXP2 - uniform float fogDensity; - #else - uniform float fogNear; - uniform float fogFar; - #endif -#endif`,_b=`#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 -}`,Zb=`#ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,Pb=`#ifdef USE_LIGHTMAP - uniform sampler2D lightMap; - uniform float lightMapIntensity; -#endif`,Wb=`LambertMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,jb=`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`,Vb=`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`,Xb=`#ifdef USE_ENVMAP - vec3 getIBLIrradiance( const in vec3 normal ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, 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, 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`,zb=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,$b=`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`,AO=`BlinnPhongMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularColor = specular; -material.specularShininess = shininess; -material.specularStrength = specularStrength;`,IO=`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`,gO=`PhysicalMaterial material; -material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); -vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); -float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); -material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; -material.roughness = min( material.roughness, 1.0 ); -#ifdef IOR - material.ior = ior; - #ifdef USE_SPECULAR - float specularIntensityFactor = specularIntensity; - vec3 specularColorFactor = specularColor; - #ifdef USE_SPECULAR_COLORMAP - specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; - #endif - material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); - #else - float specularIntensityFactor = 1.0; - vec3 specularColorFactor = vec3( 1.0 ); - material.specularF90 = 1.0; - #endif - material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); -#else - material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); - material.specularF90 = 1.0; -#endif -#ifdef USE_CLEARCOAT - material.clearcoat = clearcoat; - material.clearcoatRoughness = clearcoatRoughness; - material.clearcoatF0 = vec3( 0.04 ); - material.clearcoatF90 = 1.0; - #ifdef USE_CLEARCOATMAP - material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; - #endif - #ifdef USE_CLEARCOAT_ROUGHNESSMAP - material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; - #endif - material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); - material.clearcoatRoughness += geometryRoughness; - material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); -#endif -#ifdef USE_IRIDESCENCE - material.iridescence = iridescence; - material.iridescenceIOR = iridescenceIOR; - #ifdef USE_IRIDESCENCEMAP - material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; - #endif - #ifdef USE_IRIDESCENCE_THICKNESSMAP - material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; - #else - material.iridescenceThickness = iridescenceThicknessMaximum; - #endif -#endif -#ifdef USE_SHEEN - material.sheenColor = sheenColor; - #ifdef USE_SHEEN_COLORMAP - material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; - #endif - material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); - #ifdef USE_SHEEN_ROUGHNESSMAP - material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; - #endif -#endif -#ifdef USE_ANISOTROPY - #ifdef USE_ANISOTROPYMAP - mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); - vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; - vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; - #else - vec2 anisotropyV = anisotropyVector; - #endif - material.anisotropy = length( anisotropyV ); - if( material.anisotropy == 0.0 ) { - anisotropyV = vec2( 1.0, 0.0 ); - } else { - anisotropyV /= material.anisotropy; - material.anisotropy = saturate( material.anisotropy ); - } - material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); - material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; - material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,CO=`struct PhysicalMaterial { - vec3 diffuseColor; - float roughness; - vec3 specularColor; - float specularF90; - #ifdef USE_CLEARCOAT - float clearcoat; - float clearcoatRoughness; - vec3 clearcoatF0; - float clearcoatF90; - #endif - #ifdef USE_IRIDESCENCE - float iridescence; - float iridescenceIOR; - float iridescenceThickness; - vec3 iridescenceFresnel; - vec3 iridescenceF0; - #endif - #ifdef USE_SHEEN - vec3 sheenColor; - float sheenRoughness; - #endif - #ifdef IOR - float ior; - #endif - #ifdef USE_TRANSMISSION - float transmission; - float transmissionAlpha; - float thickness; - float attenuationDistance; - vec3 attenuationColor; - #endif - #ifdef USE_ANISOTROPY - float anisotropy; - float alphaT; - vec3 anisotropyT; - vec3 anisotropyB; - #endif -}; -vec3 clearcoatSpecularDirect = vec3( 0.0 ); -vec3 clearcoatSpecularIndirect = vec3( 0.0 ); -vec3 sheenSpecularDirect = vec3( 0.0 ); -vec3 sheenSpecularIndirect = vec3(0.0 ); -vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { - float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); - float x2 = x * x; - float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); - return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); -} -float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { - float a2 = pow2( alpha ); - float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); - float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); - return 0.5 / max( gv + gl, EPSILON ); -} -float D_GGX( const in float alpha, const in float dotNH ) { - float a2 = pow2( alpha ); - float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; - return RECIPROCAL_PI * a2 / pow2( denom ); -} -#ifdef USE_ANISOTROPY - float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { - float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); - float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); - float v = 0.5 / ( gv + gl ); - return saturate(v); - } - float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { - float a2 = alphaT * alphaB; - highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); - highp float v2 = dot( v, v ); - float w2 = a2 / v2; - return RECIPROCAL_PI * a2 * pow2 ( w2 ); - } -#endif -#ifdef USE_CLEARCOAT - vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { - vec3 f0 = material.clearcoatF0; - float f90 = material.clearcoatF90; - float roughness = material.clearcoatRoughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - return F * ( V * D ); - } -#endif -vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 f0 = material.specularColor; - float f90 = material.specularF90; - float roughness = material.roughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - #ifdef USE_IRIDESCENCE - F = mix( F, material.iridescenceFresnel, material.iridescence ); - #endif - #ifdef USE_ANISOTROPY - float dotTL = dot( material.anisotropyT, lightDir ); - float dotTV = dot( material.anisotropyT, viewDir ); - float dotTH = dot( material.anisotropyT, halfDir ); - float dotBL = dot( material.anisotropyB, lightDir ); - float dotBV = dot( material.anisotropyB, viewDir ); - float dotBH = dot( material.anisotropyB, halfDir ); - float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); - float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); - #else - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - #endif - return F * ( V * D ); -} -vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { - const float LUT_SIZE = 64.0; - const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; - const float LUT_BIAS = 0.5 / LUT_SIZE; - float dotNV = saturate( dot( N, V ) ); - vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); - uv = uv * LUT_SCALE + LUT_BIAS; - return uv; -} -float LTC_ClippedSphereFormFactor( const in vec3 f ) { - float l = length( f ); - return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); -} -vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { - float x = dot( v1, v2 ); - float y = abs( x ); - float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; - float b = 3.4175940 + ( 4.1616724 + y ) * y; - float v = a / b; - float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; - return cross( v1, v2 ) * theta_sintheta; -} -vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { - vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; - vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; - vec3 lightNormal = cross( v1, v2 ); - if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); - vec3 T1, T2; - T1 = normalize( V - N * dot( V, N ) ); - T2 = - cross( N, T1 ); - mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); - vec3 coords[ 4 ]; - coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); - coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); - coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); - coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); - coords[ 0 ] = normalize( coords[ 0 ] ); - coords[ 1 ] = normalize( coords[ 1 ] ); - coords[ 2 ] = normalize( coords[ 2 ] ); - coords[ 3 ] = normalize( coords[ 3 ] ); - vec3 vectorFormFactor = vec3( 0.0 ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); - float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); - return vec3( result ); -} -#if defined( USE_SHEEN ) -float D_Charlie( float roughness, float dotNH ) { - float alpha = pow2( roughness ); - float invAlpha = 1.0 / alpha; - float cos2h = dotNH * dotNH; - float sin2h = max( 1.0 - cos2h, 0.0078125 ); - return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); -} -float V_Neubelt( float dotNV, float dotNL ) { - return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); -} -vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float D = D_Charlie( sheenRoughness, dotNH ); - float V = V_Neubelt( dotNV, dotNL ); - return sheenColor * ( D * V ); -} -#endif -float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - float r2 = roughness * roughness; - float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; - float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; - float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); - return saturate( DG * RECIPROCAL_PI ); -} -vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); - const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); - vec4 r = roughness * c0 + c1; - float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; - vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; - return fab; -} -vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { - vec2 fab = DFGApprox( normal, viewDir, roughness ); - return specularColor * fab.x + specularF90 * fab.y; -} -#ifdef USE_IRIDESCENCE -void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#else -void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#endif - vec2 fab = DFGApprox( normal, viewDir, roughness ); - #ifdef USE_IRIDESCENCE - vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); - #else - vec3 Fr = specularColor; - #endif - vec3 FssEss = Fr * fab.x + specularF90 * fab.y; - float Ess = fab.x + fab.y; - float Ems = 1.0 - Ess; - vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); - singleScatter += FssEss; - multiScatter += Fms * Ems; -} -#if NUM_RECT_AREA_LIGHTS > 0 - void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 normal = geometryNormal; - vec3 viewDir = geometryViewDir; - vec3 position = geometryPosition; - vec3 lightPos = rectAreaLight.position; - vec3 halfWidth = rectAreaLight.halfWidth; - vec3 halfHeight = rectAreaLight.halfHeight; - vec3 lightColor = rectAreaLight.color; - float roughness = material.roughness; - vec3 rectCoords[ 4 ]; - rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; - rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; - rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; - vec2 uv = LTC_Uv( normal, viewDir, roughness ); - vec4 t1 = texture2D( ltc_1, uv ); - vec4 t2 = texture2D( ltc_2, uv ); - mat3 mInv = mat3( - vec3( t1.x, 0, t1.y ), - vec3( 0, 1, 0 ), - vec3( t1.z, 0, t1.w ) - ); - vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); - reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); - reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); - } -#endif -void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - #ifdef USE_CLEARCOAT - float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); - vec3 ccIrradiance = dotNLcc * directLight.color; - clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); - #endif - #ifdef USE_SHEEN - sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); - #endif - reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { - #ifdef USE_CLEARCOAT - clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); - #endif - #ifdef USE_SHEEN - sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - #endif - vec3 singleScattering = vec3( 0.0 ); - vec3 multiScattering = vec3( 0.0 ); - vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; - #ifdef USE_IRIDESCENCE - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); - #else - computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); - #endif - vec3 totalScattering = singleScattering + multiScattering; - vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); - reflectedLight.indirectSpecular += radiance * singleScattering; - reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; - reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; -} -#define RE_Direct RE_Direct_Physical -#define RE_Direct_RectArea RE_Direct_RectArea_Physical -#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical -#define RE_IndirectSpecular RE_IndirectSpecular_Physical -float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { - return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,BO=` -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`,iO=`#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`,QO=`#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`,eO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,EO=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - uniform float logDepthBufFC; - varying float vFragDepth; - varying float vIsPerspective; -#endif`,tO=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - varying float vFragDepth; - varying float vIsPerspective; - #else - uniform float logDepthBufFC; - #endif -#endif`,oO=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - vFragDepth = 1.0 + gl_Position.w; - vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); - #else - if ( isPerspectiveMatrix( projectionMatrix ) ) { - gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; - gl_Position.z *= gl_Position.w; - } - #endif -#endif`,nO=`#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`,aO=`#ifdef USE_MAP - uniform sampler2D map; -#endif`,sO=`#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`,rO=`#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`,lO=`float metalnessFactor = metalness; -#ifdef USE_METALNESSMAP - vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); - metalnessFactor *= texelMetalness.b; -#endif`,cO=`#ifdef USE_METALNESSMAP - uniform sampler2D metalnessMap; -#endif`,DO=`#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`,hO=`#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`,wO=`#ifdef USE_MORPHTARGETS - uniform float morphTargetBaseInfluence; - #ifdef MORPHTARGETS_TEXTURE - uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - 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`,SO=`#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`,GO=`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;`,yO=`#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`,uO=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,kO=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,dO=`#ifndef FLAT_SHADED - vNormal = normalize( transformedNormal ); - #ifdef USE_TANGENT - vTangent = normalize( transformedTangent ); - vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); - #endif -#endif`,MO=`#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`,pO=`#ifdef USE_CLEARCOAT - vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,UO=`#ifdef USE_CLEARCOAT_NORMALMAP - vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; - clearcoatMapN.xy *= clearcoatNormalScale; - clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,NO=`#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`,fO=`#ifdef USE_IRIDESCENCEMAP - uniform sampler2D iridescenceMap; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform sampler2D iridescenceThicknessMap; -#endif`,FO=`#ifdef OPAQUE -diffuseColor.a = 1.0; -#endif -#ifdef USE_TRANSMISSION -diffuseColor.a *= material.transmissionAlpha; -#endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,RO=`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 ); -}`,KO=`#ifdef PREMULTIPLIED_ALPHA - gl_FragColor.rgb *= gl_FragColor.a; -#endif`,JO=`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;`,qO=`#ifdef DITHERING - gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,mO=`#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`,LO=`float roughnessFactor = roughness; -#ifdef USE_ROUGHNESSMAP - vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); - roughnessFactor *= texelRoughness.g; -#endif`,YO=`#ifdef USE_ROUGHNESSMAP - uniform sampler2D roughnessMap; -#endif`,HO=`#if NUM_SPOT_LIGHT_COORDS > 0 - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#if NUM_SPOT_LIGHT_MAPS > 0 - uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - struct SpotLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { - return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); - } - vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { - return unpackRGBATo2Half( texture2D( shadow, uv ) ); - } - float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ - float occlusion = 1.0; - vec2 distribution = texture2DDistribution( shadow, uv ); - float hard_shadow = step( compare , distribution.x ); - if (hard_shadow != 1.0 ) { - float distance = compare - distribution.x ; - float variance = max( 0.00000, distribution.y * distribution.y ); - float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); - } - return occlusion; - } - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - #if defined( SHADOWMAP_TYPE_PCF ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx0 = - texelSize.x * shadowRadius; - float dy0 = - texelSize.y * shadowRadius; - float dx1 = + texelSize.x * shadowRadius; - float dy1 = + texelSize.y * shadowRadius; - float dx2 = dx0 / 2.0; - float dy2 = dy0 / 2.0; - float dx3 = dx1 / 2.0; - float dy3 = dy1 / 2.0; - shadow = ( - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) - ) * ( 1.0 / 17.0 ); - #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx = texelSize.x; - float dy = texelSize.y; - vec2 uv = shadowCoord.xy; - vec2 f = fract( uv * shadowMapSize + 0.5 ); - uv -= f * texelSize; - shadow = ( - texture2DCompare( shadowMap, uv, shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), - f.x ), - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), - f.x ), - f.y ) - ) * ( 1.0 / 9.0 ); - #elif defined( SHADOWMAP_TYPE_VSM ) - shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); - #else - shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); - #endif - } - return shadow; - } - vec2 cubeToUV( vec3 v, float texelSizeY ) { - vec3 absV = abs( v ); - float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); - absV *= scaleToCube; - v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); - vec2 planar = v.xy; - float almostATexel = 1.5 * texelSizeY; - float almostOne = 1.0 - almostATexel; - if ( absV.z >= almostOne ) { - if ( v.z > 0.0 ) - planar.x = 4.0 - v.x; - } else if ( absV.x >= almostOne ) { - float signX = sign( v.x ); - planar.x = v.z * signX + 2.0 * signX; - } else if ( absV.y >= almostOne ) { - float signY = sign( v.y ); - planar.x = v.x + 2.0 * signY + 2.0; - planar.y = v.z * signY - 2.0; - } - return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); - } - float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); - vec3 lightToPosition = shadowCoord.xyz; - float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; - vec3 bd3D = normalize( lightToPosition ); - #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) - vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; - return ( - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) - ) * ( 1.0 / 9.0 ); - #else - return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); - #endif - } -#endif`,TO=`#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`,xO=`#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`,vO=`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; -}`,bO=`#ifdef USE_SKINNING - mat4 boneMatX = getBoneMatrix( skinIndex.x ); - mat4 boneMatY = getBoneMatrix( skinIndex.y ); - mat4 boneMatZ = getBoneMatrix( skinIndex.z ); - mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,OO=`#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`,_O=`#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`,ZO=`#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`,PO=`float specularStrength; -#ifdef USE_SPECULARMAP - vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); - specularStrength = texelSpecular.r; -#else - specularStrength = 1.0; -#endif`,WO=`#ifdef USE_SPECULARMAP - uniform sampler2D specularMap; -#endif`,jO=`#if defined( TONE_MAPPING ) - gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,VO=`#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 CustomToneMapping( vec3 color ) { return color; }`,XO=`#ifdef USE_TRANSMISSION - material.transmission = transmission; - material.transmissionAlpha = 1.0; - material.thickness = thickness; - material.attenuationDistance = attenuationDistance; - material.attenuationColor = attenuationColor; - #ifdef USE_TRANSMISSIONMAP - material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; - #endif - #ifdef USE_THICKNESSMAP - material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; - #endif - vec3 pos = vWorldPosition; - vec3 v = normalize( cameraPosition - pos ); - vec3 n = inverseTransformDirection( normal, viewMatrix ); - vec4 transmitted = getIBLVolumeRefraction( - n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, - pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, - material.attenuationColor, material.attenuationDistance ); - material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); - totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,zO=`#ifdef USE_TRANSMISSION - uniform float transmission; - uniform float thickness; - uniform float attenuationDistance; - uniform vec3 attenuationColor; - #ifdef USE_TRANSMISSIONMAP - uniform sampler2D transmissionMap; - #endif - #ifdef USE_THICKNESSMAP - uniform sampler2D thicknessMap; - #endif - uniform vec2 transmissionSamplerSize; - uniform sampler2D transmissionSamplerMap; - uniform mat4 modelMatrix; - uniform mat4 projectionMatrix; - varying vec3 vWorldPosition; - float w0( float a ) { - return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); - } - float w1( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); - } - float w2( float a ){ - return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); - } - float w3( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * a ); - } - float g0( float a ) { - return w0( a ) + w1( a ); - } - float g1( float a ) { - return w2( a ) + w3( a ); - } - float h0( float a ) { - return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); - } - float h1( float a ) { - return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); - } - vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { - uv = uv * texelSize.zw + 0.5; - vec2 iuv = floor( uv ); - vec2 fuv = fract( uv ); - float g0x = g0( fuv.x ); - float g1x = g1( fuv.x ); - float h0x = h0( fuv.x ); - float h1x = h1( fuv.x ); - float h0y = h0( fuv.y ); - float h1y = h1( fuv.y ); - vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + - g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); - } - vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { - vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); - vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); - vec2 fLodSizeInv = 1.0 / fLodSize; - vec2 cLodSizeInv = 1.0 / cLodSize; - vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); - vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); - return mix( fSample, cSample, fract( lod ) ); - } - vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { - vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); - vec3 modelScale; - modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); - modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); - modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); - return normalize( refractionVector ) * thickness * modelScale; - } - float applyIorToRoughness( const in float roughness, const in float ior ) { - return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); - } - vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { - float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); - return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); - } - vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { - if ( isinf( attenuationDistance ) ) { - return vec3( 1.0 ); - } else { - vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; - vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; - } - } - vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, - const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, - const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, - const in vec3 attenuationColor, const in float attenuationDistance ) { - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); - vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); - vec3 attenuatedColor = transmittance * transmittedLight.rgb; - vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); - float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; - return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); - } -#endif`,$O=`#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`,A4=`#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`,I4=`#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`,g4=`#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 C4=`varying vec2 vUv; -uniform mat3 uvTransform; -void main() { - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,B4=`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 -}`,i4=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,Q4=`#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; -varying vec3 vWorldDirection; -#include -void main() { - #ifdef ENVMAP_TYPE_CUBE - vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); - #elif defined( ENVMAP_TYPE_CUBE_UV ) - vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); - #else - vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,e4=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,E4=`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 -}`,t4=`#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vHighPrecisionZW = gl_Position.zw; -}`,o4=`#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 -}`,n4=`#define DISTANCE -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vWorldPosition = worldPosition.xyz; -}`,a4=`#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 ); -}`,s4=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include -}`,r4=`uniform sampler2D tEquirect; -varying vec3 vWorldDirection; -#include -void main() { - vec3 direction = normalize( vWorldDirection ); - vec2 sampleUV = equirectUv( direction ); - gl_FragColor = texture2D( tEquirect, sampleUV ); - #include - #include -}`,l4=`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 -}`,c4=`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 -}`,D4=`#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #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 -}`,h4=`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 -}`,w4=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,S4=`#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 -}`,G4=`#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 - vViewPosition = - mvPosition.xyz; -}`,y4=`#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 -}`,u4=`#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 -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - vViewPosition = - mvPosition.xyz; -#endif -}`,k4=`#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 -}`,d4=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,M4=`#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 -}`,p4=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include -#ifdef USE_TRANSMISSION - vWorldPosition = worldPosition.xyz; -#endif -}`,U4=`#define STANDARD -#ifdef PHYSICAL - #define IOR - #define USE_SPECULAR -#endif -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float roughness; -uniform float metalness; -uniform float opacity; -#ifdef IOR - uniform float ior; -#endif -#ifdef USE_SPECULAR - uniform float specularIntensity; - uniform vec3 specularColor; - #ifdef USE_SPECULAR_COLORMAP - uniform sampler2D specularColorMap; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - uniform sampler2D specularIntensityMap; - #endif -#endif -#ifdef USE_CLEARCOAT - uniform float clearcoat; - uniform float clearcoatRoughness; -#endif -#ifdef USE_IRIDESCENCE - uniform float iridescence; - uniform float iridescenceIOR; - uniform float iridescenceThicknessMinimum; - uniform float iridescenceThicknessMaximum; -#endif -#ifdef USE_SHEEN - uniform vec3 sheenColor; - uniform float sheenRoughness; - #ifdef USE_SHEEN_COLORMAP - uniform sampler2D sheenColorMap; - #endif - #ifdef USE_SHEEN_ROUGHNESSMAP - uniform sampler2D sheenRoughnessMap; - #endif -#endif -#ifdef USE_ANISOTROPY - uniform vec2 anisotropyVector; - #ifdef USE_ANISOTROPYMAP - uniform sampler2D anisotropyMap; - #endif -#endif -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; - #include - vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; - #ifdef USE_SHEEN - float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); - outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; - #endif - #ifdef USE_CLEARCOAT - float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); - vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); - outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; - #endif - #include - #include - #include - #include - #include - #include -}`,N4=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include -}`,f4=`#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 -}`,F4=`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 - gl_PointSize = size; - #ifdef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); - #endif - #include - #include - #include - #include -}`,R4=`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 -}`,K4=`#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,J4=`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 -}`,q4=`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 -}`,m4=`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 -}`,Ig={alphahash_fragment:Bb,alphahash_pars_fragment:ib,alphamap_fragment:Qb,alphamap_pars_fragment:eb,alphatest_fragment:Eb,alphatest_pars_fragment:tb,aomap_fragment:ob,aomap_pars_fragment:nb,batching_pars_vertex:ab,batching_vertex:sb,begin_vertex:rb,beginnormal_vertex:lb,bsdfs:cb,iridescence_fragment:Db,bumpmap_pars_fragment:hb,clipping_planes_fragment:wb,clipping_planes_pars_fragment:Sb,clipping_planes_pars_vertex:Gb,clipping_planes_vertex:yb,color_fragment:ub,color_pars_fragment:kb,color_pars_vertex:db,color_vertex:Mb,common:pb,cube_uv_reflection_fragment:Ub,defaultnormal_vertex:Nb,displacementmap_pars_vertex:fb,displacementmap_vertex:Fb,emissivemap_fragment:Rb,emissivemap_pars_fragment:Kb,colorspace_fragment:Jb,colorspace_pars_fragment:qb,envmap_fragment:mb,envmap_common_pars_fragment:Lb,envmap_pars_fragment:Yb,envmap_pars_vertex:Hb,envmap_physical_pars_fragment:Xb,envmap_vertex:Tb,fog_vertex:xb,fog_pars_vertex:vb,fog_fragment:bb,fog_pars_fragment:Ob,gradientmap_pars_fragment:_b,lightmap_fragment:Zb,lightmap_pars_fragment:Pb,lights_lambert_fragment:Wb,lights_lambert_pars_fragment:jb,lights_pars_begin:Vb,lights_toon_fragment:zb,lights_toon_pars_fragment:$b,lights_phong_fragment:AO,lights_phong_pars_fragment:IO,lights_physical_fragment:gO,lights_physical_pars_fragment:CO,lights_fragment_begin:BO,lights_fragment_maps:iO,lights_fragment_end:QO,logdepthbuf_fragment:eO,logdepthbuf_pars_fragment:EO,logdepthbuf_pars_vertex:tO,logdepthbuf_vertex:oO,map_fragment:nO,map_pars_fragment:aO,map_particle_fragment:sO,map_particle_pars_fragment:rO,metalnessmap_fragment:lO,metalnessmap_pars_fragment:cO,morphcolor_vertex:DO,morphnormal_vertex:hO,morphtarget_pars_vertex:wO,morphtarget_vertex:SO,normal_fragment_begin:GO,normal_fragment_maps:yO,normal_pars_fragment:uO,normal_pars_vertex:kO,normal_vertex:dO,normalmap_pars_fragment:MO,clearcoat_normal_fragment_begin:pO,clearcoat_normal_fragment_maps:UO,clearcoat_pars_fragment:NO,iridescence_pars_fragment:fO,opaque_fragment:FO,packing:RO,premultiplied_alpha_fragment:KO,project_vertex:JO,dithering_fragment:qO,dithering_pars_fragment:mO,roughnessmap_fragment:LO,roughnessmap_pars_fragment:YO,shadowmap_pars_fragment:HO,shadowmap_pars_vertex:TO,shadowmap_vertex:xO,shadowmask_pars_fragment:vO,skinbase_vertex:bO,skinning_pars_vertex:OO,skinning_vertex:_O,skinnormal_vertex:ZO,specularmap_fragment:PO,specularmap_pars_fragment:WO,tonemapping_fragment:jO,tonemapping_pars_fragment:VO,transmission_fragment:XO,transmission_pars_fragment:zO,uv_pars_fragment:$O,uv_pars_vertex:A4,uv_vertex:I4,worldpos_vertex:g4,background_vert:C4,background_frag:B4,backgroundCube_vert:i4,backgroundCube_frag:Q4,cube_vert:e4,cube_frag:E4,depth_vert:t4,depth_frag:o4,distanceRGBA_vert:n4,distanceRGBA_frag:a4,equirect_vert:s4,equirect_frag:r4,linedashed_vert:l4,linedashed_frag:c4,meshbasic_vert:D4,meshbasic_frag:h4,meshlambert_vert:w4,meshlambert_frag:S4,meshmatcap_vert:G4,meshmatcap_frag:y4,meshnormal_vert:u4,meshnormal_frag:k4,meshphong_vert:d4,meshphong_frag:M4,meshphysical_vert:p4,meshphysical_frag:U4,meshtoon_vert:N4,meshtoon_frag:f4,points_vert:F4,points_frag:R4,shadow_vert:K4,shadow_frag:J4,sprite_vert:q4,sprite_frag:m4},oI={common:{diffuse:{value:new tI(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new PI},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new PI}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new PI}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new PI}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new PI},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new PI},normalScale:{value:new KA(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new PI},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new PI}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new PI}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new PI}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new tI(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 tI(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0},uvTransform:{value:new PI}},sprite:{diffuse:{value:new tI(16777215)},opacity:{value:1},center:{value:new KA(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new PI},alphaMap:{value:null},alphaMapTransform:{value:new PI},alphaTest:{value:0}}},Xi={basic:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.fog]),vertexShader:Ig.meshbasic_vert,fragmentShader:Ig.meshbasic_frag},lambert:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,oI.lights,{emissive:{value:new tI(0)}}]),vertexShader:Ig.meshlambert_vert,fragmentShader:Ig.meshlambert_frag},phong:{uniforms:MB([oI.common,oI.specularmap,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,oI.lights,{emissive:{value:new tI(0)},specular:{value:new tI(1118481)},shininess:{value:30}}]),vertexShader:Ig.meshphong_vert,fragmentShader:Ig.meshphong_frag},standard:{uniforms:MB([oI.common,oI.envmap,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.roughnessmap,oI.metalnessmap,oI.fog,oI.lights,{emissive:{value:new tI(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Ig.meshphysical_vert,fragmentShader:Ig.meshphysical_frag},toon:{uniforms:MB([oI.common,oI.aomap,oI.lightmap,oI.emissivemap,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.gradientmap,oI.fog,oI.lights,{emissive:{value:new tI(0)}}]),vertexShader:Ig.meshtoon_vert,fragmentShader:Ig.meshtoon_frag},matcap:{uniforms:MB([oI.common,oI.bumpmap,oI.normalmap,oI.displacementmap,oI.fog,{matcap:{value:null}}]),vertexShader:Ig.meshmatcap_vert,fragmentShader:Ig.meshmatcap_frag},points:{uniforms:MB([oI.points,oI.fog]),vertexShader:Ig.points_vert,fragmentShader:Ig.points_frag},dashed:{uniforms:MB([oI.common,oI.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ig.linedashed_vert,fragmentShader:Ig.linedashed_frag},depth:{uniforms:MB([oI.common,oI.displacementmap]),vertexShader:Ig.depth_vert,fragmentShader:Ig.depth_frag},normal:{uniforms:MB([oI.common,oI.bumpmap,oI.normalmap,oI.displacementmap,{opacity:{value:1}}]),vertexShader:Ig.meshnormal_vert,fragmentShader:Ig.meshnormal_frag},sprite:{uniforms:MB([oI.sprite,oI.fog]),vertexShader:Ig.sprite_vert,fragmentShader:Ig.sprite_frag},background:{uniforms:{uvTransform:{value:new PI},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Ig.background_vert,fragmentShader:Ig.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Ig.backgroundCube_vert,fragmentShader:Ig.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ig.cube_vert,fragmentShader:Ig.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ig.equirect_vert,fragmentShader:Ig.equirect_frag},distanceRGBA:{uniforms:MB([oI.common,oI.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ig.distanceRGBA_vert,fragmentShader:Ig.distanceRGBA_frag},shadow:{uniforms:MB([oI.lights,oI.fog,{color:{value:new tI(0)},opacity:{value:1}}]),vertexShader:Ig.shadow_vert,fragmentShader:Ig.shadow_frag}};Xi.physical={uniforms:MB([Xi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new PI},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new PI},clearcoatNormalScale:{value:new KA(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new PI},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new PI},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new PI},sheen:{value:0},sheenColor:{value:new tI(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new PI},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new PI},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new PI},transmissionSamplerSize:{value:new KA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new PI},attenuationDistance:{value:0},attenuationColor:{value:new tI(0)},specularColor:{value:new tI(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new PI},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new PI},anisotropyVector:{value:new KA},anisotropyMap:{value:null},anisotropyMapTransform:{value:new PI}}]),vertexShader:Ig.meshphysical_vert,fragmentShader:Ig.meshphysical_frag};const Fc={r:0,b:0,g:0};function L4(g,A,I,C,B,i,Q){const e=new tI(0);let E=i===!0?0:1,t,n,s=null,r=0,l=null;function D(h,c){let y=!1,S=c.isScene===!0?c.background:null;S&&S.isTexture&&(S=(c.backgroundBlurriness>0?I:A).get(S)),S===null?G(e,E):S&&S.isColor&&(G(S,1),y=!0);const k=g.xr.getEnvironmentBlendMode();k==="additive"?C.buffers.color.setClear(0,0,0,1,Q):k==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,Q),(g.autoClear||y)&&g.clear(g.autoClearColor,g.autoClearDepth,g.autoClearStencil),S&&(S.isCubeTexture||S.mapping===ta)?(n===void 0&&(n=new hg(new xE(1,1,1),new NC({name:"BackgroundCubeMaterial",uniforms:zn(Xi.backgroundCube.uniforms),vertexShader:Xi.backgroundCube.vertexShader,fragmentShader:Xi.backgroundCube.fragmentShader,side:fB,depthTest:!1,depthWrite:!1,fog:!1})),n.geometry.deleteAttribute("normal"),n.geometry.deleteAttribute("uv"),n.onBeforeRender=function(N,p,f){this.matrixWorld.copyPosition(f.matrixWorld)},Object.defineProperty(n.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),B.update(n)),n.material.uniforms.envMap.value=S,n.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,n.material.uniforms.backgroundBlurriness.value=c.backgroundBlurriness,n.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,n.material.toneMapped=Fg.getTransfer(S.colorSpace)!==Lg,(s!==S||r!==S.version||l!==g.toneMapping)&&(n.material.needsUpdate=!0,s=S,r=S.version,l=g.toneMapping),n.layers.enableAll(),h.unshift(n,n.geometry,n.material,0,0,null)):S&&S.isTexture&&(t===void 0&&(t=new hg(new De(2,2),new NC({name:"BackgroundMaterial",uniforms:zn(Xi.background.uniforms),vertexShader:Xi.background.vertexShader,fragmentShader:Xi.background.fragmentShader,side:Qi,depthTest:!1,depthWrite:!1,fog:!1})),t.geometry.deleteAttribute("normal"),Object.defineProperty(t.material,"map",{get:function(){return this.uniforms.t2D.value}}),B.update(t)),t.material.uniforms.t2D.value=S,t.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,t.material.toneMapped=Fg.getTransfer(S.colorSpace)!==Lg,S.matrixAutoUpdate===!0&&S.updateMatrix(),t.material.uniforms.uvTransform.value.copy(S.matrix),(s!==S||r!==S.version||l!==g.toneMapping)&&(t.material.needsUpdate=!0,s=S,r=S.version,l=g.toneMapping),t.layers.enableAll(),h.unshift(t,t.geometry,t.material,0,0,null))}function G(h,c){h.getRGB(Fc,um(g)),C.buffers.color.setClear(Fc.r,Fc.g,Fc.b,c,Q)}return{getClearColor:function(){return e},setClearColor:function(h,c=1){e.set(h),E=c,G(e,E)},getClearAlpha:function(){return E},setClearAlpha:function(h){E=h,G(e,E)},render:D}}function Y4(g,A,I,C){const B=g.getParameter(g.MAX_VERTEX_ATTRIBS),i=C.isWebGL2?null:A.get("OES_vertex_array_object"),Q=C.isWebGL2||i!==null,e={},E=h(null);let t=E,n=!1;function s(X,sA,oA,GA,b){let gA=!1;if(Q){const CA=G(GA,oA,sA);t!==CA&&(t=CA,l(t.object)),gA=c(X,GA,oA,b),gA&&y(X,GA,oA,b)}else{const CA=sA.wireframe===!0;(t.geometry!==GA.id||t.program!==oA.id||t.wireframe!==CA)&&(t.geometry=GA.id,t.program=oA.id,t.wireframe=CA,gA=!0)}b!==null&&I.update(b,g.ELEMENT_ARRAY_BUFFER),(gA||n)&&(n=!1,q(X,sA,oA,GA),b!==null&&g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,I.get(b).buffer))}function r(){return C.isWebGL2?g.createVertexArray():i.createVertexArrayOES()}function l(X){return C.isWebGL2?g.bindVertexArray(X):i.bindVertexArrayOES(X)}function D(X){return C.isWebGL2?g.deleteVertexArray(X):i.deleteVertexArrayOES(X)}function G(X,sA,oA){const GA=oA.wireframe===!0;let b=e[X.id];b===void 0&&(b={},e[X.id]=b);let gA=b[sA.id];gA===void 0&&(gA={},b[sA.id]=gA);let CA=gA[GA];return CA===void 0&&(CA=h(r()),gA[GA]=CA),CA}function h(X){const sA=[],oA=[],GA=[];for(let b=0;b=0){const W=b[fA];let v=gA[fA];if(v===void 0&&(fA==="instanceMatrix"&&X.instanceMatrix&&(v=X.instanceMatrix),fA==="instanceColor"&&X.instanceColor&&(v=X.instanceColor)),W===void 0||W.attribute!==v||v&&W.data!==v.data)return!0;CA++}return t.attributesNum!==CA||t.index!==GA}function y(X,sA,oA,GA){const b={},gA=sA.attributes;let CA=0;const DA=oA.getAttributes();for(const fA in DA)if(DA[fA].location>=0){let W=gA[fA];W===void 0&&(fA==="instanceMatrix"&&X.instanceMatrix&&(W=X.instanceMatrix),fA==="instanceColor"&&X.instanceColor&&(W=X.instanceColor));const v={};v.attribute=W,W&&W.data&&(v.data=W.data),b[fA]=v,CA++}t.attributes=b,t.attributesNum=CA,t.index=GA}function S(){const X=t.newAttributes;for(let sA=0,oA=X.length;sA=0){let VA=b[DA];if(VA===void 0&&(DA==="instanceMatrix"&&X.instanceMatrix&&(VA=X.instanceMatrix),DA==="instanceColor"&&X.instanceColor&&(VA=X.instanceColor)),VA!==void 0){const W=VA.normalized,v=VA.itemSize,x=I.get(VA);if(x===void 0)continue;const H=x.buffer,EA=x.type,UA=x.bytesPerElement,hA=C.isWebGL2===!0&&(EA===g.INT||EA===g.UNSIGNED_INT||VA.gpuType===ed);if(VA.isInterleavedBufferAttribute){const NA=VA.data,Z=NA.stride,MA=VA.offset;if(NA.isInstancedInterleavedBuffer){for(let eA=0;eA0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.HIGH_FLOAT).precision>0)return"highp";f="mediump"}return f==="mediump"&&g.getShaderPrecisionFormat(g.VERTEX_SHADER,g.MEDIUM_FLOAT).precision>0&&g.getShaderPrecisionFormat(g.FRAGMENT_SHADER,g.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const Q=typeof WebGL2RenderingContext<"u"&&g.constructor.name==="WebGL2RenderingContext";let e=I.precision!==void 0?I.precision:"highp";const E=i(e);E!==e&&(console.warn("THREE.WebGLRenderer:",e,"not supported, using",E,"instead."),e=E);const t=Q||A.has("WEBGL_draw_buffers"),n=I.logarithmicDepthBuffer===!0,s=g.getParameter(g.MAX_TEXTURE_IMAGE_UNITS),r=g.getParameter(g.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=g.getParameter(g.MAX_TEXTURE_SIZE),D=g.getParameter(g.MAX_CUBE_MAP_TEXTURE_SIZE),G=g.getParameter(g.MAX_VERTEX_ATTRIBS),h=g.getParameter(g.MAX_VERTEX_UNIFORM_VECTORS),c=g.getParameter(g.MAX_VARYING_VECTORS),y=g.getParameter(g.MAX_FRAGMENT_UNIFORM_VECTORS),S=r>0,k=Q||A.has("OES_texture_float"),N=S&&k,p=Q?g.getParameter(g.MAX_SAMPLES):0;return{isWebGL2:Q,drawBuffers:t,getMaxAnisotropy:B,getMaxPrecision:i,precision:e,logarithmicDepthBuffer:n,maxTextures:s,maxVertexTextures:r,maxTextureSize:l,maxCubemapSize:D,maxAttributes:G,maxVertexUniforms:h,maxVaryings:c,maxFragmentUniforms:y,vertexTextures:S,floatFragmentTextures:k,floatVertexTextures:N,maxSamples:p}}function x4(g){const A=this;let I=null,C=0,B=!1,i=!1;const Q=new Kg,e=new PI,E={value:null,needsUpdate:!1};this.uniform=E,this.numPlanes=0,this.numIntersection=0,this.init=function(s,r){const l=s.length!==0||r||C!==0||B;return B=r,C=s.length,l},this.beginShadows=function(){i=!0,n(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(s,r){I=n(s,r,0)},this.setState=function(s,r,l){const D=s.clippingPlanes,G=s.clipIntersection,h=s.clipShadows,c=g.get(s);if(!B||D===null||D.length===0||i&&!h)i?n(null):t();else{const y=i?0:C,S=y*4;let k=c.clippingState||null;E.value=k,k=n(D,r,S,l);for(let N=0;N!==S;++N)k[N]=I[N];c.clippingState=k,this.numIntersection=G?this.numPlanes:0,this.numPlanes+=y}};function t(){E.value!==I&&(E.value=I,E.needsUpdate=C>0),A.numPlanes=C,A.numIntersection=0}function n(s,r,l,D){const G=s!==null?s.length:0;let h=null;if(G!==0){if(h=E.value,D!==!0||h===null){const c=l+G*4,y=r.matrixWorldInverse;e.getNormalMatrix(y),(h===null||h.length0){const t=new dd(E.height);return t.fromEquirectangularTexture(g,Q),A.set(Q,t),Q.addEventListener("dispose",B),I(t.texture,Q.mapping)}else return null}}return Q}function B(Q){const e=Q.target;e.removeEventListener("dispose",B);const E=A.get(e);E!==void 0&&(A.delete(e),E.dispose())}function i(){A=new WeakMap}return{get:C,dispose:i}}class he extends Hr{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,E=B-I;if(this.view!==null&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,n=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=t*this.view.offsetX,Q=i+t*this.view.width,e-=n*this.view.offsetY,E=e-n*this.view.height}this.projectionMatrix.makeOrthographic(i,Q,e,E,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 dn=4,tf=[.125,.215,.35,.446,.526,.582],dt=20,iy=new he,of=new tI;let Qy=null,ey=0,Ey=0;const kt=(1+Math.sqrt(5))/2,Zo=1/kt,nf=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,kt,Zo),new O(0,kt,-Zo),new O(Zo,0,kt),new O(-Zo,0,kt),new O(kt,Zo,0),new O(-kt,Zo,0)];class L0{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){Qy=this._renderer.getRenderTarget(),ey=this._renderer.getActiveCubeFace(),Ey=this._renderer.getActiveMipmapLevel(),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=rf(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=sf(),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?S:0,S,S),n.setRenderTarget(B),G&&n.render(D,e),n.render(A,e)}D.geometry.dispose(),D.material.dispose(),n.toneMapping=r,n.autoClear=s,A.background=h}_textureToCubeUV(A,I){const C=this._renderer,B=A.mapping===UQ||A.mapping===RE;B?(this._cubemapMaterial===null&&(this._cubemapMaterial=rf()),this._cubemapMaterial.uniforms.flipEnvMap.value=A.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=sf());const i=B?this._cubemapMaterial:this._equirectMaterial,Q=new hg(this._lodPlanes[0],i),e=i.uniforms;e.envMap.value=A;const E=this._cubeSize;Rc(I,0,0,3*E,2*E),C.setRenderTarget(I),C.render(Q,iy)}_applyPMREM(A){const I=this._renderer,C=I.autoClear;I.autoClear=!1;for(let B=1;Bdt&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${h} samples when the maximum is set to ${dt}`);const c=[];let y=0;for(let f=0;fS-dn?B-S+dn:0),p=4*(this._cubeSize-k);Rc(I,N,p,3*k,2*k),E.setRenderTarget(I),E.render(s,iy)}}function b4(g){const A=[],I=[],C=[];let B=g;const i=g-dn+1+tf.length;for(let Q=0;Qg-dn?E=tf[Q-g+dn-1]:Q===0&&(E=0),C.push(E);const t=1/(e-2),n=-t,s=1+t,r=[n,n,s,n,s,s,n,n,s,s,n,s],l=6,D=6,G=3,h=2,c=1,y=new Float32Array(G*D*l),S=new Float32Array(h*D*l),k=new Float32Array(c*D*l);for(let p=0;p2?0:-1,_=[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];y.set(_,G*D*p),S.set(r,h*D*p);const U=[p,p,p,p,p,p];k.set(U,c*D*p)}const N=new WI;N.setAttribute("position",new Ag(y,G)),N.setAttribute("uv",new Ag(S,h)),N.setAttribute("faceIndex",new Ag(k,c)),A.push(N),B>dn&&B--}return{lodPlanes:A,sizeLods:I,sigmas:C}}function af(g,A,I){const C=new SC(g,A,I);return C.texture.mapping=ta,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function Rc(g,A,I,C,B){g.viewport.set(A,I,C,B),g.scissor.set(A,I,C,B)}function O4(g,A,I){const C=new Float32Array(dt),B=new O(0,1,0);return new NC({name:"SphericalGaussianBlur",defines:{n:dt,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:Md(),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:ie,depthTest:!1,depthWrite:!1})}function sf(){return new NC({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Md(),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:ie,depthTest:!1,depthWrite:!1})}function rf(){return new NC({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Md(),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:ie,depthTest:!1,depthWrite:!1})}function Md(){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 _4(g){let A=new WeakMap,I=null;function C(e){if(e&&e.isTexture){const E=e.mapping,t=E===Wn||E===Er,n=E===UQ||E===RE;if(t||n)if(e.isRenderTargetTexture&&e.needsPMREMUpdate===!0){e.needsPMREMUpdate=!1;let s=A.get(e);return I===null&&(I=new L0(g)),s=t?I.fromEquirectangular(e,s):I.fromCubemap(e,s),A.set(e,s),s.texture}else{if(A.has(e))return A.get(e).texture;{const s=e.image;if(t&&s&&s.height>0||n&&s&&B(s)){I===null&&(I=new L0(g));const r=t?I.fromEquirectangular(e):I.fromCubemap(e);return A.set(e,r),e.addEventListener("dispose",i),r.texture}else return null}}}return e}function B(e){let E=0;const t=6;for(let n=0;nA.maxTextureSize&&(U=Math.ceil(_/A.maxTextureSize),_=A.maxTextureSize);const K=new Float32Array(_*U*4*D),z=new Bw(K,_,U,D);z.type=tC,z.needsUpdate=!0;const rA=q*4;for(let sA=0;sA0)return g;const B=A*I;let i=lf[B];if(i===void 0&&(i=new Float32Array(B),lf[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 KC(g,A){if(g.length!==A.length)return!1;for(let I=0,C=g.length;I":" "} ${e}: ${I[Q]}`)}return C.join(` -`)}function P3(g){const A=Fg.getPrimaries(Fg.workingColorSpace),I=Fg.getPrimaries(g);let C;switch(A===I?C="":A===sr&&I===ar?C="LinearDisplayP3ToLinearSRGB":A===ar&&I===sr&&(C="LinearSRGBToLinearDisplayP3"),g){case NQ:case Yr:return[C,"LinearTransferOETF"];case eC:case Cw:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",g),[C,"LinearTransferOETF"]}}function yf(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+` - -`+Z3(g.getShaderSource(A),Q)}else return B}function W3(g,A){const I=P3(A);return`vec4 ${g}( vec4 value ) { return ${I[0]}( ${I[1]}( value ) ); }`}function j3(g,A){let I;switch(A){case Pq:I="Linear";break;case Wq:I="Reinhard";break;case jq:I="OptimizedCineon";break;case Qd:I="ACESFilmic";break;case Xq:I="AgX";break;case Vq:I="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",A),I="Linear"}return"vec3 "+g+"( vec3 color ) { return "+I+"ToneMapping( color ); }"}function V3(g){return[g.extensionDerivatives||g.envMapCubeUVHeight||g.bumpMap||g.normalMapTangentSpace||g.clearcoatNormalMap||g.flatShading||g.alphaToCoverage||g.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(g.extensionFragDepth||g.logarithmicDepthBuffer)&&g.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",g.extensionDrawBuffers&&g.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(g.extensionShaderTextureLOD||g.envMap||g.transmission)&&g.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Mn).join(` -`)}function X3(g){return[g.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",g.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Mn).join(` -`)}function z3(g){const A=[];for(const I in g){const C=g[I];C!==!1&&A.push("#define "+I+" "+C)}return A.join(` -`)}function $3(g,A){const I={},C=g.getProgramParameter(A,g.ACTIVE_ATTRIBUTES);for(let B=0;B/gm;function Y0(g){return g.replace(A_,g_)}const I_=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function g_(g,A){let I=Ig[A];if(I===void 0){const C=I_.get(A);if(C!==void 0)I=Ig[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 Y0(I)}const C_=/#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 df(g){return g.replace(C_,B_)}function B_(g,A,I,C){let B="";for(let i=parseInt(A);i0&&(c+=` -`),y=[l,"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G].filter(Mn).join(` -`),y.length>0&&(y+=` -`)):(c=[Mf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G,I.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",I.batching?"#define USE_BATCHING":"",I.instancing?"#define USE_INSTANCING":"",I.instancingColor?"#define USE_INSTANCING_COLOR":"",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 "+n:"",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&&I.isWebGL2?"#define USE_MORPHCOLORS":"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+I.morphTextureStride:"",I.morphTargetsCount>0&&I.isWebGL2?"#define MORPHTARGETS_COUNT "+I.morphTargetsCount:"",I.doubleSided?"#define DOUBLE_SIDED":"",I.flipSided?"#define FLIP_SIDED":"",I.shadowMapEnabled?"#define USE_SHADOWMAP":"",I.shadowMapEnabled?"#define "+E:"",I.sizeAttenuation?"#define USE_SIZEATTENUATION":"",I.numLightProbes>0?"#define USE_LIGHT_PROBES":"",I.useLegacyLights?"#define LEGACY_LIGHTS":"",I.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",I.logarithmicDepthBuffer&&I.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(Mn).join(` -`),y=[l,Mf(I),"#define SHADER_TYPE "+I.shaderType,"#define SHADER_NAME "+I.shaderName,G,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 "+t:"",I.envMap?"#define "+n:"",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.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 "+E:"",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":"",I.logarithmicDepthBuffer&&I.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",I.toneMapping!==dQ?"#define TONE_MAPPING":"",I.toneMapping!==dQ?Ig.tonemapping_pars_fragment:"",I.toneMapping!==dQ?j3("toneMapping",I.toneMapping):"",I.dithering?"#define DITHERING":"",I.opaque?"#define OPAQUE":"",Ig.colorspace_pars_fragment,W3("linearToOutputTexel",I.outputColorSpace),I.useDepthPacking?"#define DEPTH_PACKING "+I.depthPacking:"",` -`].filter(Mn).join(` -`)),Q=Y0(Q),Q=uf(Q,I),Q=kf(Q,I),e=Y0(e),e=uf(e,I),e=kf(e,I),Q=df(Q),e=df(e),I.isWebGL2&&I.isRawShaderMaterial!==!0&&(S=`#version 300 es -`,c=[D,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+c,y=["precision mediump sampler2DArray;","#define varying in",I.glslVersion===q0?"":"layout(location = 0) out highp vec4 pc_fragColor;",I.glslVersion===q0?"":"#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(` -`)+` -`+y);const k=S+c+Q,N=S+y+e,p=Gf(B,B.VERTEX_SHADER,k),f=Gf(B,B.FRAGMENT_SHADER,N);B.attachShader(h,p),B.attachShader(h,f),I.index0AttributeName!==void 0?B.bindAttribLocation(h,0,I.index0AttributeName):I.morphTargets===!0&&B.bindAttribLocation(h,0,"position"),B.linkProgram(h);function q(z){if(g.debug.checkShaderErrors){const rA=B.getProgramInfoLog(h).trim(),X=B.getShaderInfoLog(p).trim(),sA=B.getShaderInfoLog(f).trim();let oA=!0,GA=!0;if(B.getProgramParameter(h,B.LINK_STATUS)===!1)if(oA=!1,typeof g.debug.onShaderError=="function")g.debug.onShaderError(B,h,p,f);else{const b=yf(B,p,"vertex"),gA=yf(B,f,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(h,B.VALIDATE_STATUS)+` - -Material Name: `+z.name+` -Material Type: `+z.type+` - -Program Info Log: `+rA+` -`+b+` -`+gA)}else rA!==""?console.warn("THREE.WebGLProgram: Program Info Log:",rA):(X===""||sA==="")&&(GA=!1);GA&&(z.diagnostics={runnable:oA,programLog:rA,vertexShader:{log:X,prefix:c},fragmentShader:{log:sA,prefix:y}})}B.deleteShader(p),B.deleteShader(f),_=new xD(B,h),U=$3(B,h)}let _;this.getUniforms=function(){return _===void 0&&q(this),_};let U;this.getAttributes=function(){return U===void 0&&q(this),U};let K=I.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return K===!1&&(K=B.getProgramParameter(h,O3)),K},this.destroy=function(){C.releaseStatesOfProgram(this),B.deleteProgram(h),this.program=void 0},this.type=I.shaderType,this.name=I.shaderName,this.id=_3++,this.cacheKey=A,this.usedTimes=1,this.program=h,this.vertexShader=p,this.fragmentShader=f,this}let n_=0;class a_{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 s_(A),I.set(A,C)),C}}class s_{constructor(A){this.id=n_++,this.code=A,this.usedTimes=0}}function r_(g,A,I,C,B,i,Q){const e=new Tt,E=new a_,t=new Set,n=[],s=B.isWebGL2,r=B.logarithmicDepthBuffer,l=B.vertexTextures;let D=B.precision;const G={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 h(U){return t.add(U),U===0?"uv":`uv${U}`}function c(U,K,z,rA,X){const sA=rA.fog,oA=X.geometry,GA=U.isMeshStandardMaterial?rA.environment:null,b=(U.isMeshStandardMaterial?I:A).get(U.envMap||GA),gA=b&&b.mapping===ta?b.image.height:null,CA=G[U.type];U.precision!==null&&(D=B.getMaxPrecision(U.precision),D!==U.precision&&console.warn("THREE.WebGLProgram.getParameters:",U.precision,"not supported, using",D,"instead."));const DA=oA.morphAttributes.position||oA.morphAttributes.normal||oA.morphAttributes.color,fA=DA!==void 0?DA.length:0;let VA=0;oA.morphAttributes.position!==void 0&&(VA=1),oA.morphAttributes.normal!==void 0&&(VA=2),oA.morphAttributes.color!==void 0&&(VA=3);let W,v,x,H;if(CA){const wg=Xi[CA];W=wg.vertexShader,v=wg.fragmentShader}else W=U.vertexShader,v=U.fragmentShader,E.update(U),x=E.getVertexShaderID(U),H=E.getFragmentShaderID(U);const EA=g.getRenderTarget(),UA=X.isInstancedMesh===!0,hA=X.isBatchedMesh===!0,NA=!!U.map,Z=!!U.matcap,MA=!!b,eA=!!U.aoMap,wA=!!U.lightMap,SA=!!U.bumpMap,bA=!!U.normalMap,QA=!!U.displacementMap,F=!!U.emissiveMap,m=!!U.metalnessMap,cA=!!U.roughnessMap,PA=U.anisotropy>0,ZA=U.clearcoat>0,TA=U.iridescence>0,eI=U.sheen>0,BI=U.transmission>0,aI=PA&&!!U.anisotropyMap,hI=ZA&&!!U.clearcoatMap,NI=ZA&&!!U.clearcoatNormalMap,jA=ZA&&!!U.clearcoatRoughnessMap,OI=TA&&!!U.iridescenceMap,YI=TA&&!!U.iridescenceThicknessMap,kI=eI&&!!U.sheenColorMap,EI=eI&&!!U.sheenRoughnessMap,sI=!!U.specularMap,dI=!!U.specularColorMap,LI=!!U.specularIntensityMap,FI=BI&&!!U.transmissionMap,vI=BI&&!!U.thicknessMap,XA=!!U.gradientMap,IA=!!U.alphaMap,II=U.alphaTest>0,gI=!!U.alphaHash,lI=!!U.extensions;let fI=dQ;U.toneMapped&&(EA===null||EA.isXRRenderTarget===!0)&&(fI=g.toneMapping);const ag={isWebGL2:s,shaderID:CA,shaderType:U.type,shaderName:U.name,vertexShader:W,fragmentShader:v,defines:U.defines,customVertexShaderID:x,customFragmentShaderID:H,isRawShaderMaterial:U.isRawShaderMaterial===!0,glslVersion:U.glslVersion,precision:D,batching:hA,instancing:UA,instancingColor:UA&&X.instanceColor!==null,supportsVertexTextures:l,outputColorSpace:EA===null?g.outputColorSpace:EA.isXRRenderTarget===!0?EA.texture.colorSpace:NQ,alphaToCoverage:!!U.alphaToCoverage,map:NA,matcap:Z,envMap:MA,envMapMode:MA&&b.mapping,envMapCubeUVHeight:gA,aoMap:eA,lightMap:wA,bumpMap:SA,normalMap:bA,displacementMap:l&&QA,emissiveMap:F,normalMapObjectSpace:bA&&U.normalMapType===nm,normalMapTangentSpace:bA&&U.normalMapType===TE,metalnessMap:m,roughnessMap:cA,anisotropy:PA,anisotropyMap:aI,clearcoat:ZA,clearcoatMap:hI,clearcoatNormalMap:NI,clearcoatRoughnessMap:jA,iridescence:TA,iridescenceMap:OI,iridescenceThicknessMap:YI,sheen:eI,sheenColorMap:kI,sheenRoughnessMap:EI,specularMap:sI,specularColorMap:dI,specularIntensityMap:LI,transmission:BI,transmissionMap:FI,thicknessMap:vI,gradientMap:XA,opaque:U.transparent===!1&&U.blending===Lt&&U.alphaToCoverage===!1,alphaMap:IA,alphaTest:II,alphaHash:gI,combine:U.combine,mapUv:NA&&h(U.map.channel),aoMapUv:eA&&h(U.aoMap.channel),lightMapUv:wA&&h(U.lightMap.channel),bumpMapUv:SA&&h(U.bumpMap.channel),normalMapUv:bA&&h(U.normalMap.channel),displacementMapUv:QA&&h(U.displacementMap.channel),emissiveMapUv:F&&h(U.emissiveMap.channel),metalnessMapUv:m&&h(U.metalnessMap.channel),roughnessMapUv:cA&&h(U.roughnessMap.channel),anisotropyMapUv:aI&&h(U.anisotropyMap.channel),clearcoatMapUv:hI&&h(U.clearcoatMap.channel),clearcoatNormalMapUv:NI&&h(U.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:jA&&h(U.clearcoatRoughnessMap.channel),iridescenceMapUv:OI&&h(U.iridescenceMap.channel),iridescenceThicknessMapUv:YI&&h(U.iridescenceThicknessMap.channel),sheenColorMapUv:kI&&h(U.sheenColorMap.channel),sheenRoughnessMapUv:EI&&h(U.sheenRoughnessMap.channel),specularMapUv:sI&&h(U.specularMap.channel),specularColorMapUv:dI&&h(U.specularColorMap.channel),specularIntensityMapUv:LI&&h(U.specularIntensityMap.channel),transmissionMapUv:FI&&h(U.transmissionMap.channel),thicknessMapUv:vI&&h(U.thicknessMap.channel),alphaMapUv:IA&&h(U.alphaMap.channel),vertexTangents:!!oA.attributes.tangent&&(bA||PA),vertexColors:U.vertexColors,vertexAlphas:U.vertexColors===!0&&!!oA.attributes.color&&oA.attributes.color.itemSize===4,pointsUvs:X.isPoints===!0&&!!oA.attributes.uv&&(NA||IA),fog:!!sA,useFog:U.fog===!0,fogExp2:!!sA&&sA.isFogExp2,flatShading:U.flatShading===!0,sizeAttenuation:U.sizeAttenuation===!0,logarithmicDepthBuffer:r,skinning:X.isSkinnedMesh===!0,morphTargets:oA.morphAttributes.position!==void 0,morphNormals:oA.morphAttributes.normal!==void 0,morphColors:oA.morphAttributes.color!==void 0,morphTargetsCount:fA,morphTextureStride:VA,numDirLights:K.directional.length,numPointLights:K.point.length,numSpotLights:K.spot.length,numSpotLightMaps:K.spotLightMap.length,numRectAreaLights:K.rectArea.length,numHemiLights:K.hemi.length,numDirLightShadows:K.directionalShadowMap.length,numPointLightShadows:K.pointShadowMap.length,numSpotLightShadows:K.spotShadowMap.length,numSpotLightShadowsWithMaps:K.numSpotLightShadowsWithMaps,numLightProbes:K.numLightProbes,numClippingPlanes:Q.numPlanes,numClipIntersection:Q.numIntersection,dithering:U.dithering,shadowMapEnabled:g.shadowMap.enabled&&z.length>0,shadowMapType:g.shadowMap.type,toneMapping:fI,useLegacyLights:g._useLegacyLights,decodeVideoTexture:NA&&U.map.isVideoTexture===!0&&Fg.getTransfer(U.map.colorSpace)===Lg,premultipliedAlpha:U.premultipliedAlpha,doubleSided:U.side===pi,flipSided:U.side===fB,useDepthPacking:U.depthPacking>=0,depthPacking:U.depthPacking||0,index0AttributeName:U.index0AttributeName,extensionDerivatives:lI&&U.extensions.derivatives===!0,extensionFragDepth:lI&&U.extensions.fragDepth===!0,extensionDrawBuffers:lI&&U.extensions.drawBuffers===!0,extensionShaderTextureLOD:lI&&U.extensions.shaderTextureLOD===!0,extensionClipCullDistance:lI&&U.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:lI&&U.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionFragDepth:s||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:s||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:s||C.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:U.customProgramCacheKey()};return ag.vertexUv1s=t.has(1),ag.vertexUv2s=t.has(2),ag.vertexUv3s=t.has(3),t.clear(),ag}function y(U){const K=[];if(U.shaderID?K.push(U.shaderID):(K.push(U.customVertexShaderID),K.push(U.customFragmentShaderID)),U.defines!==void 0)for(const z in U.defines)K.push(z),K.push(U.defines[z]);return U.isRawShaderMaterial===!1&&(S(K,U),k(K,U),K.push(g.outputColorSpace)),K.push(U.customProgramCacheKey),K.join()}function S(U,K){U.push(K.precision),U.push(K.outputColorSpace),U.push(K.envMapMode),U.push(K.envMapCubeUVHeight),U.push(K.mapUv),U.push(K.alphaMapUv),U.push(K.lightMapUv),U.push(K.aoMapUv),U.push(K.bumpMapUv),U.push(K.normalMapUv),U.push(K.displacementMapUv),U.push(K.emissiveMapUv),U.push(K.metalnessMapUv),U.push(K.roughnessMapUv),U.push(K.anisotropyMapUv),U.push(K.clearcoatMapUv),U.push(K.clearcoatNormalMapUv),U.push(K.clearcoatRoughnessMapUv),U.push(K.iridescenceMapUv),U.push(K.iridescenceThicknessMapUv),U.push(K.sheenColorMapUv),U.push(K.sheenRoughnessMapUv),U.push(K.specularMapUv),U.push(K.specularColorMapUv),U.push(K.specularIntensityMapUv),U.push(K.transmissionMapUv),U.push(K.thicknessMapUv),U.push(K.combine),U.push(K.fogExp2),U.push(K.sizeAttenuation),U.push(K.morphTargetsCount),U.push(K.morphAttributeCount),U.push(K.numDirLights),U.push(K.numPointLights),U.push(K.numSpotLights),U.push(K.numSpotLightMaps),U.push(K.numHemiLights),U.push(K.numRectAreaLights),U.push(K.numDirLightShadows),U.push(K.numPointLightShadows),U.push(K.numSpotLightShadows),U.push(K.numSpotLightShadowsWithMaps),U.push(K.numLightProbes),U.push(K.shadowMapType),U.push(K.toneMapping),U.push(K.numClippingPlanes),U.push(K.numClipIntersection),U.push(K.depthPacking)}function k(U,K){e.disableAll(),K.isWebGL2&&e.enable(0),K.supportsVertexTextures&&e.enable(1),K.instancing&&e.enable(2),K.instancingColor&&e.enable(3),K.matcap&&e.enable(4),K.envMap&&e.enable(5),K.normalMapObjectSpace&&e.enable(6),K.normalMapTangentSpace&&e.enable(7),K.clearcoat&&e.enable(8),K.iridescence&&e.enable(9),K.alphaTest&&e.enable(10),K.vertexColors&&e.enable(11),K.vertexAlphas&&e.enable(12),K.vertexUv1s&&e.enable(13),K.vertexUv2s&&e.enable(14),K.vertexUv3s&&e.enable(15),K.vertexTangents&&e.enable(16),K.anisotropy&&e.enable(17),K.alphaHash&&e.enable(18),K.batching&&e.enable(19),U.push(e.mask),e.disableAll(),K.fog&&e.enable(0),K.useFog&&e.enable(1),K.flatShading&&e.enable(2),K.logarithmicDepthBuffer&&e.enable(3),K.skinning&&e.enable(4),K.morphTargets&&e.enable(5),K.morphNormals&&e.enable(6),K.morphColors&&e.enable(7),K.premultipliedAlpha&&e.enable(8),K.shadowMapEnabled&&e.enable(9),K.useLegacyLights&&e.enable(10),K.doubleSided&&e.enable(11),K.flipSided&&e.enable(12),K.useDepthPacking&&e.enable(13),K.dithering&&e.enable(14),K.transmission&&e.enable(15),K.sheen&&e.enable(16),K.opaque&&e.enable(17),K.pointsUvs&&e.enable(18),K.decodeVideoTexture&&e.enable(19),K.alphaToCoverage&&e.enable(20),U.push(e.mask)}function N(U){const K=G[U.type];let z;if(K){const rA=Xi[K];z=kd.clone(rA.uniforms)}else z=U.uniforms;return z}function p(U,K){let z;for(let rA=0,X=n.length;rA0?C.push(c):l.transparent===!0?B.push(c):I.push(c)}function E(s,r,l,D,G,h){const c=Q(s,r,l,D,G,h);l.transmission>0?C.unshift(c):l.transparent===!0?B.unshift(c):I.unshift(c)}function t(s,r){I.length>1&&I.sort(s||c_),C.length>1&&C.sort(r||pf),B.length>1&&B.sort(r||pf)}function n(){for(let s=A,r=g.length;s=i.length?(Q=new Uf,i.push(Q)):Q=i[B],Q}function I(){g=new WeakMap}return{get:A,dispose:I}}function h_(){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 O,color:new tI};break;case"SpotLight":I={position:new O,direction:new O,color:new tI,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":I={position:new O,color:new tI,distance:0,decay:0};break;case"HemisphereLight":I={direction:new O,skyColor:new tI,groundColor:new tI};break;case"RectAreaLight":I={color:new tI,position:new O,halfWidth:new O,halfHeight:new O};break}return g[A.id]=I,I}}}function w_(){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 KA};break;case"SpotLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new KA};break;case"PointLight":I={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new KA,shadowCameraNear:1,shadowCameraFar:1e3};break}return g[A.id]=I,I}}}let S_=0;function G_(g,A){return(A.castShadow?2:0)-(g.castShadow?2:0)+(A.map?1:0)-(g.map?1:0)}function y_(g,A){const I=new h_,C=w_(),B={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 n=0;n<9;n++)B.probe.push(new O);const i=new O,Q=new pI,e=new pI;function E(n,s){let r=0,l=0,D=0;for(let z=0;z<9;z++)B.probe[z].set(0,0,0);let G=0,h=0,c=0,y=0,S=0,k=0,N=0,p=0,f=0,q=0,_=0;n.sort(G_);const U=s===!0?Math.PI:1;for(let z=0,rA=n.length;z0&&(A.isWebGL2?g.has("OES_texture_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_FLOAT_1,B.rectAreaLTC2=oI.LTC_FLOAT_2):(B.rectAreaLTC1=oI.LTC_HALF_1,B.rectAreaLTC2=oI.LTC_HALF_2):g.has("OES_texture_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_FLOAT_1,B.rectAreaLTC2=oI.LTC_FLOAT_2):g.has("OES_texture_half_float_linear")===!0?(B.rectAreaLTC1=oI.LTC_HALF_1,B.rectAreaLTC2=oI.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),B.ambient[0]=r,B.ambient[1]=l,B.ambient[2]=D;const K=B.hash;(K.directionalLength!==G||K.pointLength!==h||K.spotLength!==c||K.rectAreaLength!==y||K.hemiLength!==S||K.numDirectionalShadows!==k||K.numPointShadows!==N||K.numSpotShadows!==p||K.numSpotMaps!==f||K.numLightProbes!==_)&&(B.directional.length=G,B.spot.length=c,B.rectArea.length=y,B.point.length=h,B.hemi.length=S,B.directionalShadow.length=k,B.directionalShadowMap.length=k,B.pointShadow.length=N,B.pointShadowMap.length=N,B.spotShadow.length=p,B.spotShadowMap.length=p,B.directionalShadowMatrix.length=k,B.pointShadowMatrix.length=N,B.spotLightMatrix.length=p+f-q,B.spotLightMap.length=f,B.numSpotLightShadowsWithMaps=q,B.numLightProbes=_,K.directionalLength=G,K.pointLength=h,K.spotLength=c,K.rectAreaLength=y,K.hemiLength=S,K.numDirectionalShadows=k,K.numPointShadows=N,K.numSpotShadows=p,K.numSpotMaps=f,K.numLightProbes=_,B.version=S_++)}function t(n,s){let r=0,l=0,D=0,G=0,h=0;const c=s.matrixWorldInverse;for(let y=0,S=n.length;y=e.length?(E=new Nf(g,A),e.push(E)):E=e[Q],E}function B(){I=new WeakMap}return{get:C,dispose:B}}class ew extends rC{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=om,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 Ew extends rC{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 k_=`void main() { - gl_Position = vec4( position, 1.0 ); -}`,d_=`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 M_(g,A,I){let C=new xr;const B=new KA,i=new KA,Q=new Sg,e=new ew({depthPacking:Dd}),E=new Ew,t={},n=I.maxTextureSize,s={[Qi]:fB,[fB]:Qi,[pi]:pi},r=new NC({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new KA},radius:{value:4}},vertexShader:k_,fragmentShader:d_}),l=r.clone();l.defines.HORIZONTAL_PASS=1;const D=new WI;D.setAttribute("position",new Ag(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const G=new hg(D,r),h=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=$h;let c=this.type;this.render=function(p,f,q){if(h.enabled===!1||h.autoUpdate===!1&&h.needsUpdate===!1||p.length===0)return;const _=g.getRenderTarget(),U=g.getActiveCubeFace(),K=g.getActiveMipmapLevel(),z=g.state;z.setBlending(ie),z.buffers.color.setClear(1,1,1,1),z.buffers.depth.setTest(!0),z.setScissorTest(!1);const rA=c!==Pi&&this.type===Pi,X=c===Pi&&this.type!==Pi;for(let sA=0,oA=p.length;sAn||B.y>n)&&(B.x>n&&(i.x=Math.floor(n/gA.x),B.x=i.x*gA.x,b.mapSize.x=i.x),B.y>n&&(i.y=Math.floor(n/gA.y),B.y=i.y*gA.y,b.mapSize.y=i.y)),b.map===null||rA===!0||X===!0){const DA=this.type!==Pi?{minFilter:tg,magFilter:tg}:{};b.map!==null&&b.map.dispose(),b.map=new SC(B.x,B.y,DA),b.map.texture.name=GA.name+".shadowMap",b.camera.updateProjectionMatrix()}g.setRenderTarget(b.map),g.clear();const CA=b.getViewportCount();for(let DA=0;DA0||f.map&&f.alphaTest>0){const z=U.uuid,rA=f.uuid;let X=t[z];X===void 0&&(X={},t[z]=X);let sA=X[rA];sA===void 0&&(sA=U.clone(),X[rA]=sA,f.addEventListener("dispose",N)),U=sA}if(U.visible=f.visible,U.wireframe=f.wireframe,_===Pi?U.side=f.shadowSide!==null?f.shadowSide:f.side:U.side=f.shadowSide!==null?f.shadowSide:s[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 z=g.properties.get(U);z.light=q}return U}function k(p,f,q,_,U){if(p.visible===!1)return;if(p.layers.test(f.layers)&&(p.isMesh||p.isLine||p.isPoints)&&(p.castShadow||p.receiveShadow&&U===Pi)&&(!p.frustumCulled||C.intersectsObject(p))){p.modelViewMatrix.multiplyMatrices(q.matrixWorldInverse,p.matrixWorld);const rA=A.update(p),X=p.material;if(Array.isArray(X)){const sA=rA.groups;for(let oA=0,GA=sA.length;oA=1):CA.indexOf("OpenGL ES")!==-1&&(gA=parseFloat(/^OpenGL ES (\d)/.exec(CA)[1]),b=gA>=2);let DA=null,fA={};const VA=g.getParameter(g.SCISSOR_BOX),W=g.getParameter(g.VIEWPORT),v=new Sg().fromArray(VA),x=new Sg().fromArray(W);function H(IA,II,gI,lI){const fI=new Uint8Array(4),ag=g.createTexture();g.bindTexture(IA,ag),g.texParameteri(IA,g.TEXTURE_MIN_FILTER,g.NEAREST),g.texParameteri(IA,g.TEXTURE_MAG_FILTER,g.NEAREST);for(let wg=0;wg"u"?!1:/OculusBrowser/g.test(navigator.userAgent),n=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 D(F,m){return l?new OffscreenCanvas(F,m):cr("canvas")}function G(F,m,cA,PA){let ZA=1;if((F.width>PA||F.height>PA)&&(ZA=PA/Math.max(F.width,F.height)),ZA<1||m===!0)if(typeof HTMLImageElement<"u"&&F instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&F instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&F instanceof ImageBitmap){const TA=m?wh:Math.floor,eI=TA(ZA*F.width),BI=TA(ZA*F.height);s===void 0&&(s=D(eI,BI));const aI=cA?D(eI,BI):s;return aI.width=eI,aI.height=BI,aI.getContext("2d").drawImage(F,0,0,eI,BI),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+F.width+"x"+F.height+") to ("+eI+"x"+BI+")."),aI}else return"data"in F&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+F.width+"x"+F.height+")."),F;return F}function h(F){return m0(F.width)&&m0(F.height)}function c(F){return e?!1:F.wrapS!==IB||F.wrapT!==IB||F.minFilter!==tg&&F.minFilter!==Dg}function y(F,m){return F.generateMipmaps&&m&&F.minFilter!==tg&&F.minFilter!==Dg}function S(F){g.generateMipmap(F)}function k(F,m,cA,PA,ZA=!1){if(e===!1)return m;if(F!==null){if(g[F]!==void 0)return g[F];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+F+"'")}let TA=m;if(m===g.RED&&(cA===g.FLOAT&&(TA=g.R32F),cA===g.HALF_FLOAT&&(TA=g.R16F),cA===g.UNSIGNED_BYTE&&(TA=g.R8)),m===g.RED_INTEGER&&(cA===g.UNSIGNED_BYTE&&(TA=g.R8UI),cA===g.UNSIGNED_SHORT&&(TA=g.R16UI),cA===g.UNSIGNED_INT&&(TA=g.R32UI),cA===g.BYTE&&(TA=g.R8I),cA===g.SHORT&&(TA=g.R16I),cA===g.INT&&(TA=g.R32I)),m===g.RG&&(cA===g.FLOAT&&(TA=g.RG32F),cA===g.HALF_FLOAT&&(TA=g.RG16F),cA===g.UNSIGNED_BYTE&&(TA=g.RG8)),m===g.RGBA){const eI=ZA?nr:Fg.getTransfer(PA);cA===g.FLOAT&&(TA=g.RGBA32F),cA===g.HALF_FLOAT&&(TA=g.RGBA16F),cA===g.UNSIGNED_BYTE&&(TA=eI===Lg?g.SRGB8_ALPHA8:g.RGBA8),cA===g.UNSIGNED_SHORT_4_4_4_4&&(TA=g.RGBA4),cA===g.UNSIGNED_SHORT_5_5_5_1&&(TA=g.RGB5_A1)}return(TA===g.R16F||TA===g.R32F||TA===g.RG16F||TA===g.RG32F||TA===g.RGBA16F||TA===g.RGBA32F)&&A.get("EXT_color_buffer_float"),TA}function N(F,m,cA){return y(F,cA)===!0||F.isFramebufferTexture&&F.minFilter!==tg&&F.minFilter!==Dg?Math.log2(Math.max(m.width,m.height))+1:F.mipmaps!==void 0&&F.mipmaps.length>0?F.mipmaps.length:F.isCompressedTexture&&Array.isArray(F.image)?m.mipmaps.length:1}function p(F){return F===tg||F===tr||F===EE?g.NEAREST:g.LINEAR}function f(F){const m=F.target;m.removeEventListener("dispose",f),_(m),m.isVideoTexture&&n.delete(m)}function q(F){const m=F.target;m.removeEventListener("dispose",q),K(m)}function _(F){const m=C.get(F);if(m.__webglInit===void 0)return;const cA=F.source,PA=r.get(cA);if(PA){const ZA=PA[m.__cacheKey];ZA.usedTimes--,ZA.usedTimes===0&&U(F),Object.keys(PA).length===0&&r.delete(cA)}C.remove(F)}function U(F){const m=C.get(F);g.deleteTexture(m.__webglTexture);const cA=F.source,PA=r.get(cA);delete PA[m.__cacheKey],Q.memory.textures--}function K(F){const m=F.texture,cA=C.get(F),PA=C.get(m);if(PA.__webglTexture!==void 0&&(g.deleteTexture(PA.__webglTexture),Q.memory.textures--),F.depthTexture&&F.depthTexture.dispose(),F.isWebGLCubeRenderTarget)for(let ZA=0;ZA<6;ZA++){if(Array.isArray(cA.__webglFramebuffer[ZA]))for(let TA=0;TA=B.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+F+" texture units while this GPU supports only "+B.maxTextures),z+=1,F}function sA(F){const m=[];return m.push(F.wrapS),m.push(F.wrapT),m.push(F.wrapR||0),m.push(F.magFilter),m.push(F.minFilter),m.push(F.anisotropy),m.push(F.internalFormat),m.push(F.format),m.push(F.type),m.push(F.generateMipmaps),m.push(F.premultiplyAlpha),m.push(F.flipY),m.push(F.unpackAlignment),m.push(F.colorSpace),m.join()}function oA(F,m){const cA=C.get(F);if(F.isVideoTexture&&bA(F),F.isRenderTargetTexture===!1&&F.version>0&&cA.__version!==F.version){const PA=F.image;if(PA===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(PA.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{v(cA,F,m);return}}I.bindTexture(g.TEXTURE_2D,cA.__webglTexture,g.TEXTURE0+m)}function GA(F,m){const cA=C.get(F);if(F.version>0&&cA.__version!==F.version){v(cA,F,m);return}I.bindTexture(g.TEXTURE_2D_ARRAY,cA.__webglTexture,g.TEXTURE0+m)}function b(F,m){const cA=C.get(F);if(F.version>0&&cA.__version!==F.version){v(cA,F,m);return}I.bindTexture(g.TEXTURE_3D,cA.__webglTexture,g.TEXTURE0+m)}function gA(F,m){const cA=C.get(F);if(F.version>0&&cA.__version!==F.version){x(cA,F,m);return}I.bindTexture(g.TEXTURE_CUBE_MAP,cA.__webglTexture,g.TEXTURE0+m)}const CA={[KE]:g.REPEAT,[IB]:g.CLAMP_TO_EDGE,[jn]:g.MIRRORED_REPEAT},DA={[tg]:g.NEAREST,[tr]:g.NEAREST_MIPMAP_NEAREST,[EE]:g.NEAREST_MIPMAP_LINEAR,[Dg]:g.LINEAR,[qn]:g.LINEAR_MIPMAP_NEAREST,[Ii]:g.LINEAR_MIPMAP_LINEAR},fA={[am]:g.NEVER,[hm]:g.ALWAYS,[sm]:g.LESS,[hd]:g.LEQUAL,[rm]:g.EQUAL,[Dm]:g.GEQUAL,[lm]:g.GREATER,[cm]:g.NOTEQUAL};function VA(F,m,cA){if(m.type===tC&&A.has("OES_texture_float_linear")===!1&&(m.magFilter===Dg||m.magFilter===qn||m.magFilter===EE||m.magFilter===Ii||m.minFilter===Dg||m.minFilter===qn||m.minFilter===EE||m.minFilter===Ii)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),cA?(g.texParameteri(F,g.TEXTURE_WRAP_S,CA[m.wrapS]),g.texParameteri(F,g.TEXTURE_WRAP_T,CA[m.wrapT]),(F===g.TEXTURE_3D||F===g.TEXTURE_2D_ARRAY)&&g.texParameteri(F,g.TEXTURE_WRAP_R,CA[m.wrapR]),g.texParameteri(F,g.TEXTURE_MAG_FILTER,DA[m.magFilter]),g.texParameteri(F,g.TEXTURE_MIN_FILTER,DA[m.minFilter])):(g.texParameteri(F,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(F,g.TEXTURE_WRAP_T,g.CLAMP_TO_EDGE),(F===g.TEXTURE_3D||F===g.TEXTURE_2D_ARRAY)&&g.texParameteri(F,g.TEXTURE_WRAP_R,g.CLAMP_TO_EDGE),(m.wrapS!==IB||m.wrapT!==IB)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),g.texParameteri(F,g.TEXTURE_MAG_FILTER,p(m.magFilter)),g.texParameteri(F,g.TEXTURE_MIN_FILTER,p(m.minFilter)),m.minFilter!==tg&&m.minFilter!==Dg&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),m.compareFunction&&(g.texParameteri(F,g.TEXTURE_COMPARE_MODE,g.COMPARE_REF_TO_TEXTURE),g.texParameteri(F,g.TEXTURE_COMPARE_FUNC,fA[m.compareFunction])),A.has("EXT_texture_filter_anisotropic")===!0){const PA=A.get("EXT_texture_filter_anisotropic");if(m.magFilter===tg||m.minFilter!==EE&&m.minFilter!==Ii||m.type===tC&&A.has("OES_texture_float_linear")===!1||e===!1&&m.type===gB&&A.has("OES_texture_half_float_linear")===!1)return;(m.anisotropy>1||C.get(m).__currentAnisotropy)&&(g.texParameterf(F,PA.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(m.anisotropy,B.getMaxAnisotropy())),C.get(m).__currentAnisotropy=m.anisotropy)}}function W(F,m){let cA=!1;F.__webglInit===void 0&&(F.__webglInit=!0,m.addEventListener("dispose",f));const PA=m.source;let ZA=r.get(PA);ZA===void 0&&(ZA={},r.set(PA,ZA));const TA=sA(m);if(TA!==F.__cacheKey){ZA[TA]===void 0&&(ZA[TA]={texture:g.createTexture(),usedTimes:0},Q.memory.textures++,cA=!0),ZA[TA].usedTimes++;const eI=ZA[F.__cacheKey];eI!==void 0&&(ZA[F.__cacheKey].usedTimes--,eI.usedTimes===0&&U(m)),F.__cacheKey=TA,F.__webglTexture=ZA[TA].texture}return cA}function v(F,m,cA){let PA=g.TEXTURE_2D;(m.isDataArrayTexture||m.isCompressedArrayTexture)&&(PA=g.TEXTURE_2D_ARRAY),m.isData3DTexture&&(PA=g.TEXTURE_3D);const ZA=W(F,m),TA=m.source;I.bindTexture(PA,F.__webglTexture,g.TEXTURE0+cA);const eI=C.get(TA);if(TA.version!==eI.__version||ZA===!0){I.activeTexture(g.TEXTURE0+cA);const BI=Fg.getPrimaries(Fg.workingColorSpace),aI=m.colorSpace===$B?null:Fg.getPrimaries(m.colorSpace),hI=m.colorSpace===$B||BI===aI?g.NONE:g.BROWSER_DEFAULT_WEBGL;g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,m.flipY),g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m.premultiplyAlpha),g.pixelStorei(g.UNPACK_ALIGNMENT,m.unpackAlignment),g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,hI);const NI=c(m)&&h(m.image)===!1;let jA=G(m.image,NI,!1,B.maxTextureSize);jA=QA(m,jA);const OI=h(jA)||e,YI=i.convert(m.format,m.colorSpace);let kI=i.convert(m.type),EI=k(m.internalFormat,YI,kI,m.colorSpace,m.isVideoTexture);VA(PA,m,OI);let sI;const dI=m.mipmaps,LI=e&&m.isVideoTexture!==!0&&EI!==sd,FI=eI.__version===void 0||ZA===!0,vI=TA.dataReady,XA=N(m,jA,OI);if(m.isDepthTexture)EI=g.DEPTH_COMPONENT,e?m.type===tC?EI=g.DEPTH_COMPONENT32F:m.type===Ae?EI=g.DEPTH_COMPONENT24:m.type===GE?EI=g.DEPTH24_STENCIL8:EI=g.DEPTH_COMPONENT16:m.type===tC&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),m.format===yE&&EI===g.DEPTH_COMPONENT&&m.type!==Iw&&m.type!==Ae&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),m.type=Ae,kI=i.convert(m.type)),m.format===jt&&EI===g.DEPTH_COMPONENT&&(EI=g.DEPTH_STENCIL,m.type!==GE&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),m.type=GE,kI=i.convert(m.type))),FI&&(LI?I.texStorage2D(g.TEXTURE_2D,1,EI,jA.width,jA.height):I.texImage2D(g.TEXTURE_2D,0,EI,jA.width,jA.height,0,YI,kI,null));else if(m.isDataTexture)if(dI.length>0&&OI){LI&&FI&&I.texStorage2D(g.TEXTURE_2D,XA,EI,dI[0].width,dI[0].height);for(let IA=0,II=dI.length;IA>=1,II>>=1}}else if(dI.length>0&&OI){LI&&FI&&I.texStorage2D(g.TEXTURE_2D,XA,EI,dI[0].width,dI[0].height);for(let IA=0,II=dI.length;IA0&&vI++,I.texStorage2D(g.TEXTURE_CUBE_MAP,vI,sI,jA[0].width,jA[0].height));for(let IA=0;IA<6;IA++)if(NI){dI?FI&&I.texSubImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+IA,0,0,0,jA[IA].width,jA[IA].height,kI,EI,jA[IA].data):I.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X+IA,0,sI,jA[IA].width,jA[IA].height,0,kI,EI,jA[IA].data);for(let II=0;II>TA),jA=Math.max(1,m.height>>TA);ZA===g.TEXTURE_3D||ZA===g.TEXTURE_2D_ARRAY?I.texImage3D(ZA,TA,aI,NI,jA,m.depth,0,eI,BI,null):I.texImage2D(ZA,TA,aI,NI,jA,0,eI,BI,null)}I.bindFramebuffer(g.FRAMEBUFFER,F),SA(m)?E.framebufferTexture2DMultisampleEXT(g.FRAMEBUFFER,PA,ZA,C.get(cA).__webglTexture,0,wA(m)):(ZA===g.TEXTURE_2D||ZA>=g.TEXTURE_CUBE_MAP_POSITIVE_X&&ZA<=g.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&g.framebufferTexture2D(g.FRAMEBUFFER,PA,ZA,C.get(cA).__webglTexture,TA),I.bindFramebuffer(g.FRAMEBUFFER,null)}function EA(F,m,cA){if(g.bindRenderbuffer(g.RENDERBUFFER,F),m.depthBuffer&&!m.stencilBuffer){let PA=e===!0?g.DEPTH_COMPONENT24:g.DEPTH_COMPONENT16;if(cA||SA(m)){const ZA=m.depthTexture;ZA&&ZA.isDepthTexture&&(ZA.type===tC?PA=g.DEPTH_COMPONENT32F:ZA.type===Ae&&(PA=g.DEPTH_COMPONENT24));const TA=wA(m);SA(m)?E.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,TA,PA,m.width,m.height):g.renderbufferStorageMultisample(g.RENDERBUFFER,TA,PA,m.width,m.height)}else g.renderbufferStorage(g.RENDERBUFFER,PA,m.width,m.height);g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_ATTACHMENT,g.RENDERBUFFER,F)}else if(m.depthBuffer&&m.stencilBuffer){const PA=wA(m);cA&&SA(m)===!1?g.renderbufferStorageMultisample(g.RENDERBUFFER,PA,g.DEPTH24_STENCIL8,m.width,m.height):SA(m)?E.renderbufferStorageMultisampleEXT(g.RENDERBUFFER,PA,g.DEPTH24_STENCIL8,m.width,m.height):g.renderbufferStorage(g.RENDERBUFFER,g.DEPTH_STENCIL,m.width,m.height),g.framebufferRenderbuffer(g.FRAMEBUFFER,g.DEPTH_STENCIL_ATTACHMENT,g.RENDERBUFFER,F)}else{const PA=m.isWebGLMultipleRenderTargets===!0?m.texture:[m.texture];for(let ZA=0;ZA0){cA.__webglFramebuffer[BI]=[];for(let aI=0;aI0){cA.__webglFramebuffer=[];for(let BI=0;BI0&&SA(F)===!1){const BI=TA?m:[m];cA.__webglMultisampledFramebuffer=g.createFramebuffer(),cA.__webglColorRenderbuffer=[],I.bindFramebuffer(g.FRAMEBUFFER,cA.__webglMultisampledFramebuffer);for(let aI=0;aI0)for(let aI=0;aI0)for(let aI=0;aI0&&SA(F)===!1){const m=F.isWebGLMultipleRenderTargets?F.texture:[F.texture],cA=F.width,PA=F.height;let ZA=g.COLOR_BUFFER_BIT;const TA=[],eI=F.stencilBuffer?g.DEPTH_STENCIL_ATTACHMENT:g.DEPTH_ATTACHMENT,BI=C.get(F),aI=F.isWebGLMultipleRenderTargets===!0;if(aI)for(let hI=0;hI0&&A.has("WEBGL_multisampled_render_to_texture")===!0&&m.__useRenderToTexture!==!1}function bA(F){const m=Q.render.frame;n.get(F)!==m&&(n.set(F,m),F.update())}function QA(F,m){const cA=F.colorSpace,PA=F.format,ZA=F.type;return F.isCompressedTexture===!0||F.isVideoTexture===!0||F.format===hh||cA!==NQ&&cA!==$B&&(Fg.getTransfer(cA)===Lg?e===!1?A.has("EXT_sRGB")===!0&&PA===hB?(F.format=hh,F.minFilter=Dg,F.generateMipmaps=!1):m=Sd.sRGBToLinear(m):(PA!==hB||ZA!==MQ)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",cA)),m}this.allocateTextureUnit=X,this.resetTextureUnits=rA,this.setTexture2D=oA,this.setTexture2DArray=GA,this.setTexture3D=b,this.setTextureCube=gA,this.rebindTextures=NA,this.setupRenderTarget=Z,this.updateRenderTargetMipmap=MA,this.updateMultisampleRenderTarget=eA,this.setupDepthRenderbuffer=hA,this.setupFrameBufferTexture=H,this.useMultisampledRTT=SA}function Fm(g,A,I){const C=I.isWebGL2;function B(i,Q=$B){let e;const E=Fg.getTransfer(Q);if(i===MQ)return g.UNSIGNED_BYTE;if(i===Ed)return g.UNSIGNED_SHORT_4_4_4_4;if(i===td)return g.UNSIGNED_SHORT_5_5_5_1;if(i===$q)return g.BYTE;if(i===Am)return g.SHORT;if(i===Iw)return g.UNSIGNED_SHORT;if(i===ed)return g.INT;if(i===Ae)return g.UNSIGNED_INT;if(i===tC)return g.FLOAT;if(i===gB)return C?g.HALF_FLOAT:(e=A.get("OES_texture_half_float"),e!==null?e.HALF_FLOAT_OES:null);if(i===Im)return g.ALPHA;if(i===hB)return g.RGBA;if(i===gm)return g.LUMINANCE;if(i===Cm)return g.LUMINANCE_ALPHA;if(i===yE)return g.DEPTH_COMPONENT;if(i===jt)return g.DEPTH_STENCIL;if(i===hh)return e=A.get("EXT_sRGB"),e!==null?e.SRGB_ALPHA_EXT:null;if(i===mn)return g.RED;if(i===od)return g.RED_INTEGER;if(i===Bm)return g.RG;if(i===nd)return g.RG_INTEGER;if(i===ad)return g.RGBA_INTEGER;if(i===qD||i===mD||i===LD||i===YD)if(E===Lg)if(e=A.get("WEBGL_compressed_texture_s3tc_srgb"),e!==null){if(i===qD)return e.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===mD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===LD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===YD)return e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(e=A.get("WEBGL_compressed_texture_s3tc"),e!==null){if(i===qD)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===mD)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===LD)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===YD)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===t0||i===o0||i===n0||i===a0)if(e=A.get("WEBGL_compressed_texture_pvrtc"),e!==null){if(i===t0)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===o0)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===n0)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===a0)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===sd)return e=A.get("WEBGL_compressed_texture_etc1"),e!==null?e.COMPRESSED_RGB_ETC1_WEBGL:null;if(i===s0||i===r0)if(e=A.get("WEBGL_compressed_texture_etc"),e!==null){if(i===s0)return E===Lg?e.COMPRESSED_SRGB8_ETC2:e.COMPRESSED_RGB8_ETC2;if(i===r0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:e.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===l0||i===c0||i===D0||i===h0||i===w0||i===S0||i===G0||i===y0||i===u0||i===k0||i===d0||i===M0||i===p0||i===U0)if(e=A.get("WEBGL_compressed_texture_astc"),e!==null){if(i===l0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:e.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===c0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:e.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===D0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:e.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===h0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:e.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===w0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:e.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===S0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:e.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===G0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:e.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===y0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:e.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===u0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:e.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===k0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:e.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===d0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:e.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===M0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:e.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===p0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:e.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===U0)return E===Lg?e.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:e.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===HD||i===N0||i===f0)if(e=A.get("EXT_texture_compression_bptc"),e!==null){if(i===HD)return E===Lg?e.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:e.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===N0)return e.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===f0)return e.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===im||i===F0||i===R0||i===K0)if(e=A.get("EXT_texture_compression_rgtc"),e!==null){if(i===HD)return e.COMPRESSED_RED_RGTC1_EXT;if(i===F0)return e.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===R0)return e.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===K0)return e.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===GE?C?g.UNSIGNED_INT_24_8:(e=A.get("WEBGL_depth_texture"),e!==null?e.UNSIGNED_INT_24_8_WEBGL:null):g[i]!==void 0?g[i]:null}return{convert:B}}class Rm extends GC{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}}class fi extends Eg{constructor(){super(),this.isGroup=!0,this.type="Group"}}const N_={type:"move"};class oy{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new fi,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 fi,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 fi,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(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,E=this._grip,t=this._hand;if(A&&I.session.visibilityState!=="visible-blurred"){if(t&&A.hand){Q=!0;for(const G of A.hand.values()){const h=I.getJointPose(G,C),c=this._getHandJoint(t,G);h!==null&&(c.matrix.fromArray(h.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,c.jointRadius=h.radius),c.visible=h!==null}const n=t.joints["index-finger-tip"],s=t.joints["thumb-tip"],r=n.position.distanceTo(s.position),l=.02,D=.005;t.inputState.pinching&&r>l+D?(t.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!t.inputState.pinching&&r<=l-D&&(t.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else E!==null&&A.gripSpace&&(i=I.getPose(A.gripSpace,C),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));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(N_)))}return e!==null&&(e.visible=B!==null),E!==null&&(E.visible=i!==null),t!==null&&(t.visible=Q!==null),this}_getHandJoint(A,I){if(A.joints[I.jointName]===void 0){const C=new fi;C.matrixAutoUpdate=!1,C.visible=!1,A.joints[I.jointName]=C,A.add(C)}return A.joints[I.jointName]}}const f_=` -void main() { - - gl_Position = vec4( position, 1.0 ); - -}`,F_=` -uniform sampler2DArray depthColor; -uniform float depthWidth; -uniform float depthHeight; - -void main() { - - vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); - - if ( coord.x >= 1.0 ) { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; - - } else { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; - - } - -}`;class R_{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,I,C){if(this.texture===null){const B=new mg,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 NC({extensions:{fragDepth:!0},vertexShader:f_,fragmentShader:F_,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new hg(new De(20,20),B)}A.render(this.mesh,I)}}reset(){this.texture=null,this.mesh=null}}class K_ extends ce{constructor(A,I){super();const C=this;let B=null,i=1,Q=null,e="local-floor",E=1,t=null,n=null,s=null,r=null,l=null,D=null;const G=new R_,h=I.getContextAttributes();let c=null,y=null;const S=[],k=[],N=new KA;let p=null;const f=new GC;f.layers.enable(1),f.viewport=new Sg;const q=new GC;q.layers.enable(2),q.viewport=new Sg;const _=[f,q],U=new Rm;U.layers.enable(1),U.layers.enable(2);let K=null,z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getTargetRaySpace()},this.getControllerGrip=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getGripSpace()},this.getHand=function(W){let v=S[W];return v===void 0&&(v=new oy,S[W]=v),v.getHandSpace()};function rA(W){const v=k.indexOf(W.inputSource);if(v===-1)return;const x=S[v];x!==void 0&&(x.update(W.inputSource,W.frame,t||Q),x.dispatchEvent({type:W.type,data:W.inputSource}))}function X(){B.removeEventListener("select",rA),B.removeEventListener("selectstart",rA),B.removeEventListener("selectend",rA),B.removeEventListener("squeeze",rA),B.removeEventListener("squeezestart",rA),B.removeEventListener("squeezeend",rA),B.removeEventListener("end",X),B.removeEventListener("inputsourceschange",sA);for(let W=0;W=0&&(k[H]=null,S[H].disconnect(x))}for(let v=0;v=k.length){k.push(x),H=UA;break}else if(k[UA]===null){k[UA]=x,H=UA;break}if(H===-1)break}const EA=S[H];EA&&EA.connect(x)}}const oA=new O,GA=new O;function b(W,v,x){oA.setFromMatrixPosition(v.matrixWorld),GA.setFromMatrixPosition(x.matrixWorld);const H=oA.distanceTo(GA),EA=v.projectionMatrix.elements,UA=x.projectionMatrix.elements,hA=EA[14]/(EA[10]-1),NA=EA[14]/(EA[10]+1),Z=(EA[9]+1)/EA[5],MA=(EA[9]-1)/EA[5],eA=(EA[8]-1)/EA[0],wA=(UA[8]+1)/UA[0],SA=hA*eA,bA=hA*wA,QA=H/(-eA+wA),F=QA*-eA;v.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(F),W.translateZ(QA),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const m=hA+QA,cA=NA+QA,PA=SA-F,ZA=bA+(H-F),TA=Z*NA/cA*m,eI=MA*NA/cA*m;W.projectionMatrix.makePerspective(PA,ZA,TA,eI,m,cA),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function gA(W,v){v===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(v.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(B===null)return;G.texture!==null&&(W.near=G.depthNear,W.far=G.depthFar),U.near=q.near=f.near=W.near,U.far=q.far=f.far=W.far,(K!==U.near||z!==U.far)&&(B.updateRenderState({depthNear:U.near,depthFar:U.far}),K=U.near,z=U.far,f.near=K,f.far=z,q.near=K,q.far=z,f.updateProjectionMatrix(),q.updateProjectionMatrix(),W.updateProjectionMatrix());const v=W.parent,x=U.cameras;gA(U,v);for(let H=0;H0&&(h.alphaTest.value=c.alphaTest);const y=A.get(c).envMap;if(y&&(h.envMap.value=y,h.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,h.reflectivity.value=c.reflectivity,h.ior.value=c.ior,h.refractionRatio.value=c.refractionRatio),c.lightMap){h.lightMap.value=c.lightMap;const S=g._useLegacyLights===!0?Math.PI:1;h.lightMapIntensity.value=c.lightMapIntensity*S,I(c.lightMap,h.lightMapTransform)}c.aoMap&&(h.aoMap.value=c.aoMap,h.aoMapIntensity.value=c.aoMapIntensity,I(c.aoMap,h.aoMapTransform))}function Q(h,c){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,c.map&&(h.map.value=c.map,I(c.map,h.mapTransform))}function e(h,c){h.dashSize.value=c.dashSize,h.totalSize.value=c.dashSize+c.gapSize,h.scale.value=c.scale}function E(h,c,y,S){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,h.size.value=c.size*y,h.scale.value=S*.5,c.map&&(h.map.value=c.map,I(c.map,h.uvTransform)),c.alphaMap&&(h.alphaMap.value=c.alphaMap,I(c.alphaMap,h.alphaMapTransform)),c.alphaTest>0&&(h.alphaTest.value=c.alphaTest)}function t(h,c){h.diffuse.value.copy(c.color),h.opacity.value=c.opacity,h.rotation.value=c.rotation,c.map&&(h.map.value=c.map,I(c.map,h.mapTransform)),c.alphaMap&&(h.alphaMap.value=c.alphaMap,I(c.alphaMap,h.alphaMapTransform)),c.alphaTest>0&&(h.alphaTest.value=c.alphaTest)}function n(h,c){h.specular.value.copy(c.specular),h.shininess.value=Math.max(c.shininess,1e-4)}function s(h,c){c.gradientMap&&(h.gradientMap.value=c.gradientMap)}function r(h,c){h.metalness.value=c.metalness,c.metalnessMap&&(h.metalnessMap.value=c.metalnessMap,I(c.metalnessMap,h.metalnessMapTransform)),h.roughness.value=c.roughness,c.roughnessMap&&(h.roughnessMap.value=c.roughnessMap,I(c.roughnessMap,h.roughnessMapTransform)),A.get(c).envMap&&(h.envMapIntensity.value=c.envMapIntensity)}function l(h,c,y){h.ior.value=c.ior,c.sheen>0&&(h.sheenColor.value.copy(c.sheenColor).multiplyScalar(c.sheen),h.sheenRoughness.value=c.sheenRoughness,c.sheenColorMap&&(h.sheenColorMap.value=c.sheenColorMap,I(c.sheenColorMap,h.sheenColorMapTransform)),c.sheenRoughnessMap&&(h.sheenRoughnessMap.value=c.sheenRoughnessMap,I(c.sheenRoughnessMap,h.sheenRoughnessMapTransform))),c.clearcoat>0&&(h.clearcoat.value=c.clearcoat,h.clearcoatRoughness.value=c.clearcoatRoughness,c.clearcoatMap&&(h.clearcoatMap.value=c.clearcoatMap,I(c.clearcoatMap,h.clearcoatMapTransform)),c.clearcoatRoughnessMap&&(h.clearcoatRoughnessMap.value=c.clearcoatRoughnessMap,I(c.clearcoatRoughnessMap,h.clearcoatRoughnessMapTransform)),c.clearcoatNormalMap&&(h.clearcoatNormalMap.value=c.clearcoatNormalMap,I(c.clearcoatNormalMap,h.clearcoatNormalMapTransform),h.clearcoatNormalScale.value.copy(c.clearcoatNormalScale),c.side===fB&&h.clearcoatNormalScale.value.negate())),c.iridescence>0&&(h.iridescence.value=c.iridescence,h.iridescenceIOR.value=c.iridescenceIOR,h.iridescenceThicknessMinimum.value=c.iridescenceThicknessRange[0],h.iridescenceThicknessMaximum.value=c.iridescenceThicknessRange[1],c.iridescenceMap&&(h.iridescenceMap.value=c.iridescenceMap,I(c.iridescenceMap,h.iridescenceMapTransform)),c.iridescenceThicknessMap&&(h.iridescenceThicknessMap.value=c.iridescenceThicknessMap,I(c.iridescenceThicknessMap,h.iridescenceThicknessMapTransform))),c.transmission>0&&(h.transmission.value=c.transmission,h.transmissionSamplerMap.value=y.texture,h.transmissionSamplerSize.value.set(y.width,y.height),c.transmissionMap&&(h.transmissionMap.value=c.transmissionMap,I(c.transmissionMap,h.transmissionMapTransform)),h.thickness.value=c.thickness,c.thicknessMap&&(h.thicknessMap.value=c.thicknessMap,I(c.thicknessMap,h.thicknessMapTransform)),h.attenuationDistance.value=c.attenuationDistance,h.attenuationColor.value.copy(c.attenuationColor)),c.anisotropy>0&&(h.anisotropyVector.value.set(c.anisotropy*Math.cos(c.anisotropyRotation),c.anisotropy*Math.sin(c.anisotropyRotation)),c.anisotropyMap&&(h.anisotropyMap.value=c.anisotropyMap,I(c.anisotropyMap,h.anisotropyMapTransform))),h.specularIntensity.value=c.specularIntensity,h.specularColor.value.copy(c.specularColor),c.specularColorMap&&(h.specularColorMap.value=c.specularColorMap,I(c.specularColorMap,h.specularColorMapTransform)),c.specularIntensityMap&&(h.specularIntensityMap.value=c.specularIntensityMap,I(c.specularIntensityMap,h.specularIntensityMapTransform))}function D(h,c){c.matcap&&(h.matcap.value=c.matcap)}function G(h,c){const y=A.get(c).light;h.referencePosition.value.setFromMatrixPosition(y.matrixWorld),h.nearDistance.value=y.shadow.camera.near,h.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:B}}function q_(g,A,I,C){let B={},i={},Q=[];const e=I.isWebGL2?g.getParameter(g.MAX_UNIFORM_BUFFER_BINDINGS):0;function E(y,S){const k=S.program;C.uniformBlockBinding(y,k)}function t(y,S){let k=B[y.id];k===void 0&&(D(y),k=n(y),B[y.id]=k,y.addEventListener("dispose",h));const N=S.program;C.updateUBOMapping(y,N);const p=A.render.frame;i[y.id]!==p&&(r(y),i[y.id]=p)}function n(y){const S=s();y.__bindingPointIndex=S;const k=g.createBuffer(),N=y.__size,p=y.usage;return g.bindBuffer(g.UNIFORM_BUFFER,k),g.bufferData(g.UNIFORM_BUFFER,N,p),g.bindBuffer(g.UNIFORM_BUFFER,null),g.bindBufferBase(g.UNIFORM_BUFFER,S,k),k}function s(){for(let y=0;y0&&(k+=N-p),y.__size=k,y.__cache={},this}function G(y){const S={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(S.boundary=4,S.storage=4):y.isVector2?(S.boundary=8,S.storage=8):y.isVector3||y.isColor?(S.boundary=16,S.storage=12):y.isVector4?(S.boundary=16,S.storage=16):y.isMatrix3?(S.boundary=48,S.storage=48):y.isMatrix4?(S.boundary=64,S.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),S}function h(y){const S=y.target;S.removeEventListener("dispose",h);const k=Q.indexOf(S.__bindingPointIndex);Q.splice(k,1),g.deleteBuffer(B[S.id]),delete B[S.id],delete i[S.id]}function c(){for(const y in B)g.deleteBuffer(B[y]);Q=[],B={},i={}}return{bind:E,update:t,dispose:c}}class pd{constructor(A={}){const{canvas:I=Sm(),context:C=null,depth:B=!0,stencil:i=!0,alpha:Q=!1,antialias:e=!1,premultipliedAlpha:E=!0,preserveDrawingBuffer:t=!1,powerPreference:n="default",failIfMajorPerformanceCaveat:s=!1}=A;this.isWebGLRenderer=!0;let r;C!==null?r=C.getContextAttributes().alpha:r=Q;const l=new Uint32Array(4),D=new Int32Array(4);let G=null,h=null;const c=[],y=[];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=eC,this._useLegacyLights=!1,this.toneMapping=dQ,this.toneMappingExposure=1;const S=this;let k=!1,N=0,p=0,f=null,q=-1,_=null;const U=new Sg,K=new Sg;let z=null;const rA=new tI(0);let X=0,sA=I.width,oA=I.height,GA=1,b=null,gA=null;const CA=new Sg(0,0,sA,oA),DA=new Sg(0,0,sA,oA);let fA=!1;const VA=new xr;let W=!1,v=!1,x=null;const H=new pI,EA=new KA,UA=new O,hA={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function NA(){return f===null?GA:1}let Z=C;function MA(J,V){for(let $=0;${function FA(){if(tA.forEach(function(qA){QA.get(qA).currentProgram.isReady()&&tA.delete(qA)}),tA.size===0){iA(J);return}setTimeout(FA,10)}eA.get("KHR_parallel_shader_compile")!==null?FA():setTimeout(FA,10)})};let wg=null;function yg(J){wg&&wg(J)}function dC(){pg.stop()}function ug(){pg.start()}const pg=new dm;pg.setAnimationLoop(yg),typeof self<"u"&&pg.setContext(self),this.setAnimationLoop=function(J){wg=J,vI.setAnimationLoop(J),J===null?pg.stop():pg.start()},vI.addEventListener("sessionstart",dC),vI.addEventListener("sessionend",ug),this.render=function(J,V){if(V!==void 0&&V.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(k===!0)return;J.matrixWorldAutoUpdate===!0&&J.updateMatrixWorld(),V.parent===null&&V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),vI.enabled===!0&&vI.isPresenting===!0&&(vI.cameraAutoUpdate===!0&&vI.updateCamera(V),V=vI.getCamera()),J.isScene===!0&&J.onBeforeRender(S,J,V,f),h=hI.get(J,y.length),h.init(),y.push(h),H.multiplyMatrices(V.projectionMatrix,V.matrixWorldInverse),VA.setFromProjectionMatrix(H),v=this.localClippingEnabled,W=NI.init(this.clippingPlanes,v),G=aI.get(J,c.length),G.init(),c.push(G),WC(J,V,0,S.sortObjects),G.finish(),S.sortObjects===!0&&G.sort(b,gA),this.info.render.frame++,W===!0&&NI.beginShadows();const $=h.state.shadowsArray;if(jA.render($,J,V),W===!0&&NI.endShadows(),this.info.autoReset===!0&&this.info.reset(),(vI.enabled===!1||vI.isPresenting===!1||vI.hasDepthSensing()===!1)&&OI.render(G,J),h.setupLights(S._useLegacyLights),V.isArrayCamera){const tA=V.cameras;for(let iA=0,FA=tA.length;iA0?h=y[y.length-1]:h=null,c.pop(),c.length>0?G=c[c.length-1]:G=null};function WC(J,V,$,tA){if(J.visible===!1)return;if(J.layers.test(V.layers)){if(J.isGroup)$=J.renderOrder;else if(J.isLOD)J.autoUpdate===!0&&J.update(V);else if(J.isLight)h.pushLight(J),J.castShadow&&h.pushShadow(J);else if(J.isSprite){if(!J.frustumCulled||VA.intersectsSprite(J)){tA&&UA.setFromMatrixPosition(J.matrixWorld).applyMatrix4(H);const qA=TA.update(J),xA=J.material;xA.visible&&G.push(J,qA,xA,$,UA.z,null)}}else if((J.isMesh||J.isLine||J.isPoints)&&(!J.frustumCulled||VA.intersectsObject(J))){const qA=TA.update(J),xA=J.material;if(tA&&(J.boundingSphere!==void 0?(J.boundingSphere===null&&J.computeBoundingSphere(),UA.copy(J.boundingSphere.center)):(qA.boundingSphere===null&&qA.computeBoundingSphere(),UA.copy(qA.boundingSphere.center)),UA.applyMatrix4(J.matrixWorld).applyMatrix4(H)),Array.isArray(xA)){const YA=qA.groups;for(let DI=0,zA=YA.length;DI0&&mi(iA,FA,V,$),tA&&SA.viewport(U.copy(tA)),iA.length>0&&eB(iA,V,$),FA.length>0&&eB(FA,V,$),qA.length>0&&eB(qA,V,$),SA.buffers.depth.setTest(!0),SA.buffers.depth.setMask(!0),SA.buffers.color.setMask(!0),SA.setPolygonOffset(!1)}function mi(J,V,$,tA){if(($.isScene===!0?$.overrideMaterial:null)!==null)return;const FA=wA.isWebGL2;x===null&&(x=new SC(1,1,{generateMipmaps:!0,type:eA.has("EXT_color_buffer_half_float")?gB:MQ,minFilter:Ii,samples:FA?4:0})),S.getDrawingBufferSize(EA),FA?x.setSize(EA.x,EA.y):x.setSize(wh(EA.x),wh(EA.y));const qA=S.getRenderTarget();S.setRenderTarget(x),S.getClearColor(rA),X=S.getClearAlpha(),X<1&&S.setClearColor(16777215,.5),S.clear();const xA=S.toneMapping;S.toneMapping=dQ,eB(J,$,tA),F.updateMultisampleRenderTarget(x),F.updateRenderTargetMipmap(x);let YA=!1;for(let DI=0,zA=V.length;DI0),$A=!!$.morphAttributes.position,wI=!!$.morphAttributes.normal,KI=!!$.morphAttributes.color;let mI=dQ;tA.toneMapped&&(f===null||f.isXRRenderTarget===!0)&&(mI=S.toneMapping);const xI=$.morphAttributes.position||$.morphAttributes.normal||$.morphAttributes.color,nI=xI!==void 0?xI.length:0,QI=QA.get(tA),XI=h.state.lights;if(W===!0&&(v===!0||J!==_)){const OA=J===_&&tA.id===q;NI.setState(tA,J,OA)}let Y=!1;tA.version===QI.__version?(QI.needsLights&&QI.lightsStateVersion!==XI.state.version||QI.outputColorSpace!==xA||iA.isBatchedMesh&&QI.batching===!1||!iA.isBatchedMesh&&QI.batching===!0||iA.isInstancedMesh&&QI.instancing===!1||!iA.isInstancedMesh&&QI.instancing===!0||iA.isSkinnedMesh&&QI.skinning===!1||!iA.isSkinnedMesh&&QI.skinning===!0||iA.isInstancedMesh&&QI.instancingColor===!0&&iA.instanceColor===null||iA.isInstancedMesh&&QI.instancingColor===!1&&iA.instanceColor!==null||QI.envMap!==YA||tA.fog===!0&&QI.fog!==FA||QI.numClippingPlanes!==void 0&&(QI.numClippingPlanes!==NI.numPlanes||QI.numIntersection!==NI.numIntersection)||QI.vertexAlphas!==DI||QI.vertexTangents!==zA||QI.morphTargets!==$A||QI.morphNormals!==wI||QI.morphColors!==KI||QI.toneMapping!==mI||wA.isWebGL2===!0&&QI.morphTargetsCount!==nI)&&(Y=!0):(Y=!0,QI.__version=tA.version);let T=QI.currentProgram;Y===!0&&(T=_I(tA,V,iA));let BA=!1,lA=!1,kA=!1;const RA=T.getUniforms(),mA=QI.uniforms;if(SA.useProgram(T.program)&&(BA=!0,lA=!0,kA=!0),tA.id!==q&&(q=tA.id,lA=!0),BA||_!==J){RA.setValue(Z,"projectionMatrix",J.projectionMatrix),RA.setValue(Z,"viewMatrix",J.matrixWorldInverse);const OA=RA.map.cameraPosition;OA!==void 0&&OA.setValue(Z,UA.setFromMatrixPosition(J.matrixWorld)),wA.logarithmicDepthBuffer&&RA.setValue(Z,"logDepthBufFC",2/(Math.log(J.far+1)/Math.LN2)),(tA.isMeshPhongMaterial||tA.isMeshToonMaterial||tA.isMeshLambertMaterial||tA.isMeshBasicMaterial||tA.isMeshStandardMaterial||tA.isShaderMaterial)&&RA.setValue(Z,"isOrthographic",J.isOrthographicCamera===!0),_!==J&&(_=J,lA=!0,kA=!0)}if(iA.isSkinnedMesh){RA.setOptional(Z,iA,"bindMatrix"),RA.setOptional(Z,iA,"bindMatrixInverse");const OA=iA.skeleton;OA&&(wA.floatVertexTextures?(OA.boneTexture===null&&OA.computeBoneTexture(),RA.setValue(Z,"boneTexture",OA.boneTexture,F)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}iA.isBatchedMesh&&(RA.setOptional(Z,iA,"batchingTexture"),RA.setValue(Z,"batchingTexture",iA._matricesTexture,F));const WA=$.morphAttributes;if((WA.position!==void 0||WA.normal!==void 0||WA.color!==void 0&&wA.isWebGL2===!0)&&YI.update(iA,$,T),(lA||QI.receiveShadow!==iA.receiveShadow)&&(QI.receiveShadow=iA.receiveShadow,RA.setValue(Z,"receiveShadow",iA.receiveShadow)),tA.isMeshGouraudMaterial&&tA.envMap!==null&&(mA.envMap.value=YA,mA.flipEnvMap.value=YA.isCubeTexture&&YA.isRenderTargetTexture===!1?-1:1),lA&&(RA.setValue(Z,"toneMappingExposure",S.toneMappingExposure),QI.needsLights&&P(mA,kA),FA&&tA.fog===!0&&BI.refreshFogUniforms(mA,FA),BI.refreshMaterialUniforms(mA,tA,GA,oA,x),xD.upload(Z,KQ(QI),mA,F)),tA.isShaderMaterial&&tA.uniformsNeedUpdate===!0&&(xD.upload(Z,KQ(QI),mA,F),tA.uniformsNeedUpdate=!1),tA.isSpriteMaterial&&RA.setValue(Z,"center",iA.center),RA.setValue(Z,"modelViewMatrix",iA.modelViewMatrix),RA.setValue(Z,"normalMatrix",iA.normalMatrix),RA.setValue(Z,"modelMatrix",iA.matrixWorld),tA.isShaderMaterial||tA.isRawShaderMaterial){const OA=tA.uniformsGroups;for(let _A=0,AI=OA.length;_A0&&F.useMultisampledRTT(J)===!1?iA=QA.get(J).__webglMultisampledFramebuffer:Array.isArray(zA)?iA=zA[$]:iA=zA,U.copy(J.viewport),K.copy(J.scissor),z=J.scissorTest}else U.copy(CA).multiplyScalar(GA).floor(),K.copy(DA).multiplyScalar(GA).floor(),z=fA;if(SA.bindFramebuffer(Z.FRAMEBUFFER,iA)&&wA.drawBuffers&&tA&&SA.drawBuffers(J,iA),SA.viewport(U),SA.scissor(K),SA.setScissorTest(z),FA){const YA=QA.get(J.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+V,YA.__webglTexture,$)}else if(qA){const YA=QA.get(J.texture),DI=V||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,YA.__webglTexture,$||0,DI)}q=-1},this.readRenderTargetPixels=function(J,V,$,tA,iA,FA,qA){if(!(J&&J.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let xA=QA.get(J).__webglFramebuffer;if(J.isWebGLCubeRenderTarget&&qA!==void 0&&(xA=xA[qA]),xA){SA.bindFramebuffer(Z.FRAMEBUFFER,xA);try{const YA=J.texture,DI=YA.format,zA=YA.type;if(DI!==hB&&sI.convert(DI)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const $A=zA===gB&&(eA.has("EXT_color_buffer_half_float")||wA.isWebGL2&&eA.has("EXT_color_buffer_float"));if(zA!==MQ&&sI.convert(zA)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_TYPE)&&!(zA===tC&&(wA.isWebGL2||eA.has("OES_texture_float")||eA.has("WEBGL_color_buffer_float")))&&!$A){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}V>=0&&V<=J.width-tA&&$>=0&&$<=J.height-iA&&Z.readPixels(V,$,tA,iA,sI.convert(DI),sI.convert(zA),FA)}finally{const YA=f!==null?QA.get(f).__webglFramebuffer:null;SA.bindFramebuffer(Z.FRAMEBUFFER,YA)}}},this.copyFramebufferToTexture=function(J,V,$=0){const tA=Math.pow(2,-$),iA=Math.floor(V.image.width*tA),FA=Math.floor(V.image.height*tA);F.setTexture2D(V,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,$,0,0,J.x,J.y,iA,FA),SA.unbindTexture()},this.copyTextureToTexture=function(J,V,$,tA=0){const iA=V.image.width,FA=V.image.height,qA=sI.convert($.format),xA=sI.convert($.type);F.setTexture2D($,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,$.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,$.unpackAlignment),V.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,iA,FA,qA,xA,V.image.data):V.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,V.mipmaps[0].width,V.mipmaps[0].height,qA,V.mipmaps[0].data):Z.texSubImage2D(Z.TEXTURE_2D,tA,J.x,J.y,qA,xA,V.image),tA===0&&$.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),SA.unbindTexture()},this.copyTextureToTexture3D=function(J,V,$,tA,iA=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const FA=J.max.x-J.min.x+1,qA=J.max.y-J.min.y+1,xA=J.max.z-J.min.z+1,YA=sI.convert(tA.format),DI=sI.convert(tA.type);let zA;if(tA.isData3DTexture)F.setTexture3D(tA,0),zA=Z.TEXTURE_3D;else if(tA.isDataArrayTexture||tA.isCompressedArrayTexture)F.setTexture2DArray(tA,0),zA=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,tA.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,tA.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,tA.unpackAlignment);const $A=Z.getParameter(Z.UNPACK_ROW_LENGTH),wI=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),KI=Z.getParameter(Z.UNPACK_SKIP_PIXELS),mI=Z.getParameter(Z.UNPACK_SKIP_ROWS),xI=Z.getParameter(Z.UNPACK_SKIP_IMAGES),nI=$.isCompressedTexture?$.mipmaps[iA]:$.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,nI.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,nI.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,J.min.x),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,J.min.y),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,J.min.z),$.isDataTexture||$.isData3DTexture?Z.texSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,DI,nI.data):$.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Z.compressedTexSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,nI.data)):Z.texSubImage3D(zA,iA,V.x,V.y,V.z,FA,qA,xA,YA,DI,nI),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,$A),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,wI),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,KI),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,mI),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,xI),iA===0&&tA.generateMipmaps&&Z.generateMipmap(zA),SA.unbindTexture()},this.initTexture=function(J){J.isCubeTexture?F.setTextureCube(J,0):J.isData3DTexture?F.setTexture3D(J,0):J.isDataArrayTexture||J.isCompressedArrayTexture?F.setTexture2DArray(J,0):F.setTexture2D(J,0),SA.unbindTexture()},this.resetState=function(){N=0,p=0,f=null,SA.reset(),dI.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return yQ}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const I=this.getContext();I.drawingBufferColorSpace=A===Cw?"display-p3":"srgb",I.unpackColorSpace=Fg.workingColorSpace===Yr?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===eC?uE:cd}set outputEncoding(A){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=A===uE?eC:NQ}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 Km extends pd{}Km.prototype.isWebGL1Renderer=!0;class tw{constructor(A,I=25e-5){this.isFogExp2=!0,this.name="",this.color=new tI(A),this.density=I}clone(){return new tw(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class ow{constructor(A,I=1,C=1e3){this.isFog=!0,this.name="",this.color=new tI(A),this.near=I,this.far=C}clone(){return new ow(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Xt extends Eg{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class vr{constructor(A,I){this.isInterleavedBuffer=!0,this.array=A,this.stride=I,this.count=A!==void 0?A.length/I:0,this.usage=rr,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Bi()}onUploadCallback(){}set needsUpdate(A){A===!0&&this.version++}get updateRange(){return Ht("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:E,point:za.clone(),uv:YB.getInterpolation(za,Kc,As,Jc,ff,ny,Ff,new KA),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 qc(g,A,I,C,B,i){Vo.subVectors(g,I).addScalar(.5).multiply(C),B!==void 0?($a.x=i*Vo.x-B*Vo.y,$a.y=B*Vo.x+i*Vo.y):$a.copy(Vo),g.copy(A),g.x+=$a.x,g.y+=$a.y,g.applyMatrix4(Jm)}const mc=new O,Rf=new O;class mm extends Eg{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){mc.setFromMatrixPosition(this.matrixWorld);const B=A.ray.origin.distanceTo(mc);this.getObjectForDistance(B).raycast(A,I)}}update(A){const I=this.levels;if(I.length>1){mc.setFromMatrixPosition(A.matrixWorld),Rf.setFromMatrixPosition(this.matrixWorld);const C=mc.distanceTo(Rf)/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 zo="batchId",Ve=new pI,xf=new pI,v_=new pI,vf=new pI,ry=new xr,Hc=new oC,tt=new RC,Cs=new O,ly=new x_,cB=new hg,Tc=[];function b_(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 Ag(e,1))}const Q=B>65536?new Uint32Array(C):new Uint16Array(C);I.setAttribute(zo,new Ag(Q,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute(zo))throw new Error(`BatchedMesh: Geometry cannot use attribute "${zo}"`);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===zo)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 oC);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,E=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 t=A.getIndex(),n=t!==null;if(n&&(C===-1?B.indexCount=t.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 s=this._visibility,r=this._active,l=this._matricesTexture,D=this._matricesTexture.image.data;s.push(!0),r.push(!0);const G=this._geometryCount;this._geometryCount++,v_.toArray(D,G*16),l.needsUpdate=!0,Q.push(B),e.push({start:n?B.indexStart:B.vertexStart,count:-1}),E.push({boxInitialized:!1,box:new oC,sphereInitialized:!1,sphere:new RC});const h=this.geometry.getAttribute(zo);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 E=e.vertexStart,t=e.vertexCount;for(const l in C.attributes){if(l===zo)continue;const D=I.getAttribute(l),G=C.getAttribute(l);b_(D,G,E);const h=D.itemSize;for(let c=D.count,y=t;c=I.length||I[A]===!1?this:(I[A]=!1,this._visibilityChanged=!0,this)}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,E=Q.attributes.position,t=this._drawRanges[A];for(let n=t.start,s=t.start+t.count;n=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,E=this.geometry;cB.material=this.material,cB.geometry.index=E.index,cB.geometry.attributes=E.attributes,cB.geometry.boundingBox===null&&(cB.geometry.boundingBox=new oC),cB.geometry.boundingSphere===null&&(cB.geometry.boundingSphere=new RC);for(let t=0;t({...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,E=this._active,t=this._visibility,n=this._multiDrawStarts,s=this._multiDrawCounts,r=this._drawRanges,l=this.perObjectFrustumCulled;l&&(vf.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),ry.setFromProjectionMatrix(vf,A.coordinateSystem));let D=0;if(this.sortObjects){xf.copy(this.matrixWorld).invert(),Cs.setFromMatrixPosition(C.matrixWorld).applyMatrix4(xf);for(let c=0,y=t.length;cE)continue;r.applyMatrix4(this.matrixWorld);const q=A.ray.origin.distanceTo(r);qA.far||I.push({distance:q,point:s.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const c=Math.max(0,Q.start),y=Math.min(h.count,Q.start+Q.count);for(let S=c,k=y-1;SE)continue;r.applyMatrix4(this.matrixWorld);const p=A.ray.origin.distanceTo(r);pA.far||I.push({distance:p,point:s.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const I=this.geometry.morphAttributes,C=Object.keys(I);if(C.length>0){const B=I[C[0]];if(B!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,Q=B.length;i0){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:t,distanceToRay:Math.sqrt(e),point:E,index:A,face:null,object:Q})}}class Ym extends mg{constructor(A,I,C,B,i,Q,e,E,t){super(A,I,C,B,i,Q,e,E,t),this.isVideoTexture=!0,this.minFilter=Q!==void 0?Q:Dg,this.magFilter=i!==void 0?i:Dg,this.generateMipmaps=!1;const n=this;function s(){n.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 O_ extends mg{constructor(A,I){super({width:A,height:I}),this.isFramebufferTexture=!0,this.magFilter=tg,this.minFilter=tg,this.generateMipmaps=!1,this.needsUpdate=!0}}class sw extends mg{constructor(A,I,C,B,i,Q,e,E,t,n,s,r){super(null,Q,e,E,t,n,B,i,s,r),this.isCompressedTexture=!0,this.image={width:I,height:C},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class __ extends sw{constructor(A,I,C,B,i,Q){super(A,I,C,i,Q),this.isCompressedArrayTexture=!0,this.image.depth=B,this.wrapR=IB}}class Z_ extends sw{constructor(A,I,C){super(void 0,A[0].width,A[0].height,I,C,UQ),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class P_ extends mg{constructor(A,I,C,B,i,Q,e,E,t){super(A,I,C,B,i,Q,e,E,t),this.isCanvasTexture=!0,this.needsUpdate=!0}}class BQ{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,E=i-1,t;for(;e<=E;)if(B=Math.floor(e+(E-e)/2),t=C[B]-Q,t<0)e=B+1;else if(t>0)E=B-1;else{E=B;break}if(B=E,C[B]===Q)return B/(i-1);const n=C[B],r=C[B+1]-n,l=(Q-n)/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),E=I||(Q.isVector2?new KA:new O);return E.copy(e).sub(Q).normalize(),E}getTangentAt(A,I){const C=this.getUtoTmapping(A);return this.getTangent(C,I)}computeFrenetFrames(A,I){const C=new O,B=[],i=[],Q=[],e=new O,E=new pI;for(let l=0;l<=A;l++){const D=l/A;B[l]=this.getTangentAt(D,new O)}i[0]=new O,Q[0]=new O;let t=Number.MAX_VALUE;const n=Math.abs(B[0].x),s=Math.abs(B[0].y),r=Math.abs(B[0].z);n<=t&&(t=n,C.set(1,0,0)),s<=t&&(t=s,C.set(0,1,0)),r<=t&&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 D=Math.acos(EC(B[l-1].dot(B[l]),-1,1));i[l].applyMatrix4(E.makeRotationAxis(e,D))}Q[l].crossVectors(B[l],i[l])}if(I===!0){let l=Math.acos(EC(i[0].dot(i[A]),-1,1));l/=A,B[0].dot(e.crossVectors(i[0],i[A]))>0&&(l=-l);for(let D=1;D<=A;D++)i[D].applyMatrix4(E.makeRotationAxis(B[D],l*D)),Q[D].crossVectors(B[D],i[D])}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 rw extends BQ{constructor(A=0,I=0,C=1,B=1,i=0,Q=Math.PI*2,e=!1,E=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=E}getPoint(A,I){const C=I||new KA,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:E===0&&e===i-1&&(e=i-2,E=1);let t,n;this.closed||e>0?t=B[(e-1)%i]:(Oc.subVectors(B[0],B[1]).add(B[0]),t=Oc);const s=B[e%i],r=B[(e+1)%i];if(this.closed||e+2B.length-2?B.length-1:Q+1],s=B[Q>B.length-3?B.length-1:Q+2];return C.set(Vf(e,E.x,t.x,n.x,s.x),Vf(e,E.y,t.y,n.y,s.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],E=e.getLength(),t=E===0?0:1-Q/E;return e.getPointAt(t,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 s=t.getPoint(0);s.equals(this.currentPoint)||this.lineTo(s.x,s.y)}this.curves.push(t);const n=t.getPoint(1);return this.currentPoint.copy(n),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 Or extends WI{constructor(A=[new KA(0,-.5),new KA(.5,0),new KA(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=EC(B,0,Math.PI*2);const i=[],Q=[],e=[],E=[],t=[],n=1/I,s=new O,r=new KA,l=new O,D=new O,G=new O;let h=0,c=0;for(let y=0;y<=A.length-1;y++)switch(y){case 0:h=A[y+1].x-A[y].x,c=A[y+1].y-A[y].y,l.x=c*1,l.y=-h,l.z=c*0,G.copy(l),l.normalize(),E.push(l.x,l.y,l.z);break;case A.length-1:E.push(G.x,G.y,G.z);break;default:h=A[y+1].x-A[y].x,c=A[y+1].y-A[y].y,l.x=c*1,l.y=-h,l.z=c*0,D.copy(l),l.x+=G.x,l.y+=G.y,l.z+=G.z,l.normalize(),E.push(l.x,l.y,l.z),G.copy(D)}for(let y=0;y<=I;y++){const S=C+y*n*B,k=Math.sin(S),N=Math.cos(S);for(let p=0;p<=A.length-1;p++){s.x=A[p].x*k,s.y=A[p].y,s.z=A[p].x*N,Q.push(s.x,s.y,s.z),r.x=y/I,r.y=p/(A.length-1),e.push(r.x,r.y);const f=E[3*p+0]*k,q=E[3*p+1],_=E[3*p+0]*N;t.push(f,q,_)}}for(let y=0;y0&&S(!0),I>0&&S(!1)),this.setIndex(n),this.setAttribute("position",new GI(s,3)),this.setAttribute("normal",new GI(r,3)),this.setAttribute("uv",new GI(l,2));function y(){const k=new O,N=new O;let p=0;const f=(I-A)/C;for(let q=0;q<=i;q++){const _=[],U=q/i,K=U*(I-A)+A;for(let z=0;z<=B;z++){const rA=z/B,X=rA*E+e,sA=Math.sin(X),oA=Math.cos(X);N.x=K*sA,N.y=-U*C+h,N.z=K*oA,s.push(N.x,N.y,N.z),k.set(sA,f,oA).normalize(),r.push(k.x,k.y,k.z),l.push(rA,1-U),_.push(D++)}G.push(_)}for(let q=0;q.9&&f<.1&&(S<.2&&(Q[y+0]+=1),k<.2&&(Q[y+2]+=1),N<.2&&(Q[y+4]+=1))}}function r(y){i.push(y.x,y.y,y.z)}function l(y,S){const k=y*3;S.x=A[k+0],S.y=A[k+1],S.z=A[k+2]}function D(){const y=new O,S=new O,k=new O,N=new O,p=new KA,f=new KA,q=new KA;for(let _=0,U=0;_80*I){e=t=g[0],E=n=g[1];for(let D=I;Dt&&(t=s),r>n&&(n=r);l=Math.max(t-e,n-E),l=l!==0?32767/l:0}return Dr(i,Q,I,e,E,l,0),Q}};function _m(g,A,I,C,B){let i,Q;if(B===DZ(g,A,I,C)>0)for(i=A;i=A;i-=C)Q=Xf(i,g[i],g[i+1],Q);return Q&&ww(Q,Q.next)&&(wr(Q),Q=Q.next),Q}function zt(g,A){if(!g)return g;A||(A=g);let I=g,C;do if(C=!1,!I.steiner&&(ww(I,I.next)||$g(I.prev,I,I.next)===0)){if(wr(I),I=A=I.prev,I===I.next)break;C=!0}else I=I.next;while(C||I!==A);return A}function Dr(g,A,I,C,B,i,Q){if(!g)return;!Q&&i&&nZ(g,C,B,i);let e=g,E,t;for(;g.prev!==g.next;){if(E=g.prev,t=g.next,i?CZ(g,C,B,i):gZ(g)){A.push(E.i/I|0),A.push(g.i/I|0),A.push(t.i/I|0),wr(g),g=t.next,e=t.next;continue}if(g=t,g===e){Q?Q===1?(g=BZ(zt(g),A,I),Dr(g,A,I,C,B,i,2)):Q===2&&iZ(g,A,I,C,B,i):Dr(zt(g),A,I,C,B,i,1);break}}}function gZ(g){const A=g.prev,I=g,C=g.next;if($g(A,I,C)>=0)return!1;const B=A.x,i=I.x,Q=C.x,e=A.y,E=I.y,t=C.y,n=Bi?B>Q?B:Q:i>Q?i:Q,l=e>E?e>t?e:t:E>t?E:t;let D=C.next;for(;D!==A;){if(D.x>=n&&D.x<=r&&D.y>=s&&D.y<=l&&pn(B,e,i,E,Q,t,D.x,D.y)&&$g(D.prev,D,D.next)>=0)return!1;D=D.next}return!0}function CZ(g,A,I,C){const B=g.prev,i=g,Q=g.next;if($g(B,i,Q)>=0)return!1;const e=B.x,E=i.x,t=Q.x,n=B.y,s=i.y,r=Q.y,l=eE?e>t?e:t:E>t?E:t,h=n>s?n>r?n:r:s>r?s:r,c=T0(l,D,A,I,C),y=T0(G,h,A,I,C);let S=g.prevZ,k=g.nextZ;for(;S&&S.z>=c&&k&&k.z<=y;){if(S.x>=l&&S.x<=G&&S.y>=D&&S.y<=h&&S!==B&&S!==Q&&pn(e,n,E,s,t,r,S.x,S.y)&&$g(S.prev,S,S.next)>=0||(S=S.prevZ,k.x>=l&&k.x<=G&&k.y>=D&&k.y<=h&&k!==B&&k!==Q&&pn(e,n,E,s,t,r,k.x,k.y)&&$g(k.prev,k,k.next)>=0))return!1;k=k.nextZ}for(;S&&S.z>=c;){if(S.x>=l&&S.x<=G&&S.y>=D&&S.y<=h&&S!==B&&S!==Q&&pn(e,n,E,s,t,r,S.x,S.y)&&$g(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;k&&k.z<=y;){if(k.x>=l&&k.x<=G&&k.y>=D&&k.y<=h&&k!==B&&k!==Q&&pn(e,n,E,s,t,r,k.x,k.y)&&$g(k.prev,k,k.next)>=0)return!1;k=k.nextZ}return!0}function BZ(g,A,I){let C=g;do{const B=C.prev,i=C.next.next;!ww(B,i)&&Zm(B,C,C.next,i)&&hr(B,i)&&hr(i,B)&&(A.push(B.i/I|0),A.push(C.i/I|0),A.push(i.i/I|0),wr(C),wr(C.next),C=g=i),C=C.next}while(C!==g);return zt(C)}function iZ(g,A,I,C,B,i){let Q=g;do{let e=Q.next.next;for(;e!==Q.prev;){if(Q.i!==e.i&&rZ(Q,e)){let E=Pm(Q,e);Q=zt(Q,Q.next),E=zt(E,E.next),Dr(Q,A,I,C,B,i,0),Dr(E,A,I,C,B,i,0);return}e=e.next}Q=Q.next}while(Q!==g)}function QZ(g,A,I,C){const B=[];let i,Q,e,E,t;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>=E&&i!==I.x&&pn(QB.x||I.x===B.x&&oZ(B,I)))&&(B=I,n=s)),I=I.next;while(I!==e);return B}function oZ(g,A){return $g(g.prev,g,A.prev)<0&&$g(A.next,g,g.next)<0}function nZ(g,A,I,C){let B=g;do B.z===0&&(B.z=T0(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,aZ(B)}function aZ(g){let A,I,C,B,i,Q,e,E,t=1;do{for(I=g,g=null,i=null,Q=0;I;){for(Q++,C=I,e=0,A=0;A0||E>0&&C;)e!==0&&(E===0||!C||I.z<=C.z)?(B=I,I=I.nextZ,e--):(B=C,C=C.nextZ,E--),i?i.nextZ=B:g=B,B.prevZ=i,i=B;I=C}i.nextZ=null,t*=2}while(Q>1);return g}function T0(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 sZ(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 rZ(g,A){return g.next.i!==A.i&&g.prev.i!==A.i&&!lZ(g,A)&&(hr(g,A)&&hr(A,g)&&cZ(g,A)&&($g(g.prev,g,A.prev)||$g(g,A.prev,A))||ww(g,A)&&$g(g.prev,g,g.next)>0&&$g(A.prev,A,A.next)>0)}function $g(g,A,I){return(A.y-g.y)*(I.x-A.x)-(A.x-g.x)*(I.y-A.y)}function ww(g,A){return g.x===A.x&&g.y===A.y}function Zm(g,A,I,C){const B=jc($g(g,A,I)),i=jc($g(g,A,C)),Q=jc($g(I,C,g)),e=jc($g(I,C,A));return!!(B!==i&&Q!==e||B===0&&Wc(g,I,A)||i===0&&Wc(g,C,A)||Q===0&&Wc(I,g,C)||e===0&&Wc(I,A,C))}function Wc(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 jc(g){return g>0?1:g<0?-1:0}function lZ(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&&Zm(I,I.next,g,A))return!0;I=I.next}while(I!==g);return!1}function hr(g,A){return $g(g.prev,g,g.next)<0?$g(g,A,g.next)>=0&&$g(g,g.prev,A)>=0:$g(g,A,g.prev)<0||$g(g,g.next,A)<0}function cZ(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 Pm(g,A){const I=new x0(g.i,g.x,g.y),C=new x0(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 Xf(g,A,I,C){const B=new x0(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 wr(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 x0(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 DZ(g,A,I,C){let B=0;for(let i=A,Q=I-C;i2&&g[A-1].equals(g[0])&&g.pop()}function $f(g,A){for(let I=0;INumber.EPSILON){const TA=Math.sqrt(PA),eI=Math.sqrt(m*m+cA*cA),BI=MA.x-F/TA,aI=MA.y+QA/TA,hI=eA.x-cA/eI,NI=eA.y+m/eI,jA=((hI-BI)*cA-(NI-aI)*m)/(QA*cA-F*m);wA=BI+QA*jA-Z.x,SA=aI+F*jA-Z.y;const OI=wA*wA+SA*SA;if(OI<=2)return new KA(wA,SA);bA=Math.sqrt(OI/2)}else{let TA=!1;QA>Number.EPSILON?m>Number.EPSILON&&(TA=!0):QA<-Number.EPSILON?m<-Number.EPSILON&&(TA=!0):Math.sign(F)===Math.sign(cA)&&(TA=!0),TA?(wA=-F,SA=QA,bA=Math.sqrt(PA)):(wA=QA,SA=F,bA=Math.sqrt(PA/2))}return new KA(wA/bA,SA/bA)}const gA=[];for(let Z=0,MA=X.length,eA=MA-1,wA=Z+1;Z=0;Z--){const MA=Z/h,eA=l*Math.cos(MA*Math.PI/2),wA=D*Math.sin(MA*Math.PI/2)+G;for(let SA=0,bA=X.length;SA=0;){const wA=eA;let SA=eA-1;SA<0&&(SA=Z.length-1);for(let bA=0,QA=n+h*2;bA0)&&l.push(S,k,p),(c!==C-1||E0!=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 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.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 Xm extends rC{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new tI(16777215),this.specular=new tI(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,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.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 zm extends rC{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new tI(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 $m extends rC{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 AL extends rC{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new tI(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tI(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,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.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 IL extends rC{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new tI(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=TE,this.normalScale=new KA(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 gL extends GB{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 Kt(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 CL(g){return ArrayBuffer.isView(g)&&!(g instanceof DataView)}function BL(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 v0(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 E=0;E!==A;++E)B[Q++]=g[e+E]}return B}function Hd(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 GZ(g,A,I,C,B=30){const i=g.clone();i.name=A;const Q=[];for(let E=0;E=C)){s.push(t.times[l]);for(let G=0;Gi.tracks[E].times[0]&&(e=i.tracks[E].times[0]);for(let E=0;E=e.times[D]){const c=D*s+n,y=c+s-n;G=e.values.slice(c,y)}else{const c=e.createInterpolant(),y=n,S=s-n;c.evaluate(i),G=c.resultBuffer.slice(y,S)}E==="quaternion"&&new _g().fromArray(G).normalize().conjugate().toArray(G);const h=t.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 E=C[e];if(typeof E=="number"&&isNaN(E)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,E),A=!1;break}if(Q!==null&&Q>E){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,E,Q),A=!1;break}Q=E}if(B!==void 0&&CL(B))for(let e=0,E=B.length;e!==E;++e){const t=B[e];if(isNaN(t)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,t),A=!1;break}}return A}optimize(){const A=this.times.slice(),I=this.values.slice(),C=this.getValueSize(),B=this.getInterpolation()===TD,i=A.length-1;let Q=1;for(let e=1;e0){A[Q]=A[i];for(let e=i*C,E=Q*C,t=0;t!==C;++t)I[E+t]=I[e+t];++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}}iQ.prototype.TimeBufferType=Float32Array;iQ.prototype.ValueBufferType=Float32Array;iQ.prototype.DefaultInterpolation=Vt;class Eo extends iQ{}Eo.prototype.ValueTypeName="bool";Eo.prototype.ValueBufferType=Array;Eo.prototype.DefaultInterpolation=Vn;Eo.prototype.InterpolantFactoryMethodLinear=void 0;Eo.prototype.InterpolantFactoryMethodSmooth=void 0;class xd extends iQ{}xd.prototype.ValueTypeName="color";class $n extends iQ{}$n.prototype.ValueTypeName="number";class eL extends ra{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,E=(C-I)/(B-I);let t=A*e;for(let n=t+e;t!==n;t+=4)_g.slerpFlat(i,0,Q,t-e,Q,t,E);return i}}class qE extends iQ{InterpolantFactoryMethodLinear(A){return new eL(this.times,this.values,this.getValueSize(),A)}}qE.prototype.ValueTypeName="quaternion";qE.prototype.DefaultInterpolation=Vt;qE.prototype.InterpolantFactoryMethodSmooth=void 0;class to extends iQ{}to.prototype.ValueTypeName="string";to.prototype.ValueBufferType=Array;to.prototype.DefaultInterpolation=Vn;to.prototype.InterpolantFactoryMethodLinear=void 0;to.prototype.InterpolantFactoryMethodSmooth=void 0;class Aa extends iQ{}Aa.prototype.ValueTypeName="vector";class Ia{constructor(A,I=-1,C,B=gw){this.name=A,this.tracks=C,this.duration=I,this.blendMode=B,this.uuid=Bi(),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(dZ(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(iQ.toJSON(C[i]));return B}static CreateFromMorphTargetSequence(A,I,C,B){const i=I.length,Q=[];for(let e=0;e1){const s=n[1];let r=B[s];r||(B[s]=r=[]),r.push(t)}}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(s,r,l,D,G){if(l.length!==0){const h=[],c=[];Hd(l,h,c,D),h.length!==0&&G.push(new s(r,h,c))}},B=[],i=A.name||"default",Q=A.fps||30,e=A.blendMode;let E=A.length||-1;const t=A.hierarchy||[];for(let s=0;s{I&&I(i),this.manager.itemEnd(A)},0),i;if(_Q[A]!==void 0){_Q[A].push({onLoad:I,onProgress:C,onError:B});return}_Q[A]=[],_Q[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,E=this.responseType;fetch(Q).then(t=>{if(t.status===200||t.status===0){if(t.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||t.body===void 0||t.body.getReader===void 0)return t;const n=_Q[A],s=t.body.getReader(),r=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),l=r?parseInt(r):0,D=l!==0;let G=0;const h=new ReadableStream({start(c){y();function y(){s.read().then(({done:S,value:k})=>{if(S)c.close();else{G+=k.byteLength;const N=new ProgressEvent("progress",{lengthComputable:D,loaded:G,total:l});for(let p=0,f=n.length;p{switch(E){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(n=>new DOMParser().parseFromString(n,e));case"json":return t.json();default:if(e===void 0)return t.text();{const s=/charset="?([^;"\s]*)"?/i.exec(e),r=s&&s[1]?s[1].toLowerCase():void 0,l=new TextDecoder(r);return t.arrayBuffer().then(D=>l.decode(D))}}}).then(t=>{ge.add(A,t);const n=_Q[A];delete _Q[A];for(let s=0,r=n.length;s{const n=_Q[A];if(n===void 0)throw this.manager.itemError(A),t;delete _Q[A];for(let s=0,r=n.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 pZ extends QB{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new bB(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(E){B?B(E):console.error(E),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 tI().setHex(Q.value);break;case"v2":B.uniforms[i].value=new KA().fromArray(Q.value);break;case"v3":B.uniforms[i].value=new O().fromArray(Q.value);break;case"v4":B.uniforms[i].value=new Sg().fromArray(Q.value);break;case"m3":B.uniforms[i].value=new PI().fromArray(Q.value);break;case"m4":B.uniforms[i].value=new pI().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 KA().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.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 KA().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:jm,SpriteMaterial:Ud,RawShaderMaterial:Vm,ShaderMaterial:NC,PointsMaterial:aw,MeshPhysicalMaterial:FQ,MeshStandardMaterial:Wr,MeshPhongMaterial:Xm,MeshToonMaterial:zm,MeshNormalMaterial:$m,MeshLambertMaterial:AL,MeshDepthMaterial:ew,MeshDistanceMaterial:Ew,MeshBasicMaterial:uC,MeshMatcapMaterial:IL,LineDashedMaterial:gL,LineBasicMaterial:GB,Material:rC};return new I[A]}}class pQ{static decodeText(A){if(typeof TextDecoder<"u")return new TextDecoder().decode(A);let I="";for(let C=0,B=A.length;C0){const E=new vd(I);i=new Sr(E),i.setCrossOrigin(this.crossOrigin);for(let t=0,n=A.length;t0){B=new Sr(this.manager),B.setCrossOrigin(this.crossOrigin);for(let Q=0,e=A.length;Q{const h=new oC;h.min.fromArray(G.boxMin),h.max.fromArray(G.boxMax);const c=new RC;return c.radius=G.sphereRadius,c.center.fromArray(G.sphereCenter),{boxInitialized:G.boxInitialized,box:h,sphereInitialized:G.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=t(A.matricesTexture.uuid);break;case"LOD":Q=new mm;break;case"Line":Q=new oe(e(A.geometry),E(A.material));break;case"LineLoop":Q=new Fd(e(A.geometry),E(A.material));break;case"LineSegments":Q=new CQ(e(A.geometry),E(A.material));break;case"PointCloud":case"Points":Q=new Rd(e(A.geometry),E(A.material));break;case"Sprite":Q=new qm(E(A.material));break;case"Group":Q=new fi;break;case"Bone":Q=new nw;break;default:Q=new Eg}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=ge.get(A);if(Q!==void 0){if(i.manager.itemStart(A),Q.then){Q.then(t=>{I&&I(t),i.manager.itemEnd(A)}).catch(t=>{B&&B(t)});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 E=fetch(A,e).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(t){return ge.add(A,t),I&&I(t),i.manager.itemEnd(A),t}).catch(function(t){B&&B(t),ge.remove(A),i.manager.itemError(A),i.manager.itemEnd(A)});ge.add(A,E),i.manager.itemStart(A)}}let Vc;class Wd{static getContext(){return Vc===void 0&&(Vc=new(window.AudioContext||window.webkitAudioContext)),Vc}static setContext(A){Vc=A}}class JZ extends QB{constructor(A){super(A)}load(A,I,C,B){const i=this,Q=new bB(this.manager);Q.setResponseType("arraybuffer"),Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,function(E){try{const t=E.slice(0);Wd.getContext().decodeAudioData(t,function(s){I(s)}).catch(e)}catch(t){e(t)}},C,B);function e(E){B?B(E):console.error(E),i.manager.itemError(A)}}}const eF=new pI,EF=new pI,ot=new pI;class qZ{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new GC,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new GC,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,ot.copy(A.projectionMatrix);const B=I.eyeSep/2,i=B*I.near/I.focus,Q=I.near*Math.tan(Yt*I.fov*.5)/I.zoom;let e,E;EF.elements[12]=-B,eF.elements[12]=B,e=-Q*I.aspect+i,E=Q*I.aspect+i,ot.elements[0]=2*I.near/(E-e),ot.elements[8]=(E+e)/(E-e),this.cameraL.projectionMatrix.copy(ot),e=-Q*I.aspect-i,E=Q*I.aspect-i,ot.elements[0]=2*I.near/(E-e),ot.elements[8]=(E+e)/(E-e),this.cameraR.projectionMatrix.copy(ot)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(EF),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(eF)}}class jd{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=tF(),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=tF();A=(I-this.oldTime)/1e3,this.oldTime=I,this.elapsedTime+=A}return A}}function tF(){return(typeof performance>"u"?Date:performance).now()}const nt=new O,oF=new _g,mZ=new O,at=new O;class LZ extends Eg{constructor(){super(),this.type="AudioListener",this.context=Wd.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(nt,oF,mZ),at.set(0,0,-1).applyQuaternion(oF),I.positionX){const B=this.context.currentTime+this.timeDelta;I.positionX.linearRampToValueAtTime(nt.x,B),I.positionY.linearRampToValueAtTime(nt.y,B),I.positionZ.linearRampToValueAtTime(nt.z,B),I.forwardX.linearRampToValueAtTime(at.x,B),I.forwardY.linearRampToValueAtTime(at.y,B),I.forwardZ.linearRampToValueAtTime(at.z,B),I.upX.linearRampToValueAtTime(C.x,B),I.upY.linearRampToValueAtTime(C.y,B),I.upZ.linearRampToValueAtTime(C.z,B)}else I.setPosition(nt.x,nt.y,nt.z),I.setOrientation(at.x,at.y,at.z,C.x,C.y,C.z)}}class hL extends Eg{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 E=I,t=I+I;E!==t;++E)if(C[E]!==C[E+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){_g.slerpFlat(A,I,A,I,A,C,B)}_slerpAdditive(A,I,C,B,i){const Q=this._workIndex*i;_g.multiplyQuaternionsFlat(A,Q,A,I,A,C),_g.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 E=I+e;A[E]=A[E]*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 Vd="\\[\\]\\.:\\/",xZ=new RegExp("["+Vd+"]","g"),Xd="[^"+Vd+"]",vZ="[^"+Vd.replace("\\.","")+"]",bZ=/((?:WC+[\/:])*)/.source.replace("WC",Xd),OZ=/(WCOD+)?/.source.replace("WCOD",vZ),_Z=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Xd),ZZ=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Xd),PZ=new RegExp("^"+bZ+OZ+_Z+ZZ+"$"),WZ=["material","materials","bones","map"];class jZ{constructor(A,I,C){const B=C||lg.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 lg{constructor(A,I,C){this.path=I,this.parsedPath=C||lg.parseTrackName(I),this.node=lg.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 lg.Composite(A,I,C):new lg(A,I,C)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(xZ,"")}static parseTrackName(A){const I=PZ.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);WZ.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 s=i++,r=A[s];I[r.uuid]=n,A[n]=r,I[t]=s,A[s]=E;for(let l=0,D=B;l!==D;++l){const G=C[l],h=G[s],c=G[n];G[n]=h,G[s]=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,E=arguments.length;e!==E;++e){const t=arguments[e],n=t.uuid,s=I[n];if(s!==void 0)if(delete I[n],s0&&(I[l.uuid]=s),A[s]=l,A.pop();for(let D=0,G=B;D!==G;++D){const h=C[D];h[s]=h[r],h.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,E=this._objects,t=E.length,n=this.nCachedObjects_,s=new Array(t);B=i.length,C[A]=B,Q.push(A),e.push(I),i.push(s);for(let r=n,l=E.length;r!==l;++r){const D=E[r];s[r]=new lg(D,A,I)}return s}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,E=Q[e],t=A[e];I[t]=C,Q[C]=E,Q.pop(),i[C]=i[e],i.pop(),B[C]=B[e],B.pop()}}}class SL{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),E={endingStart:Nt,endingEnd:Nt};for(let t=0;t!==Q;++t){const n=i[t].createInterpolant(null);e[t]=n,n.settings=E}this._interpolantSettings=E,this._interpolants=e,this._propertyBindings=new Array(Q),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=em,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 E=e.parameterPositions,t=e.sampleValues;return E[0]=i,E[1]=i+C,t[0]=A/Q,t[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 E=(A-i)*C;E<0||C===0?I=0:(this._startTime=null,I=C*E)}I*=this._updateTimeScale(A);const Q=this._updateTime(I),e=this._updateWeight(A);if(e>0){const E=this._interpolants,t=this._propertyBindings;switch(this.blendMode){case rd:for(let n=0,s=E.length;n!==s;++n)E[n].evaluate(Q),t[n].accumulateAdditive(e);break;case gw:default:for(let n=0,s=E.length;n!==s;++n)E[n].evaluate(Q),t[n].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===Em;if(A===0)return i===-1?B:Q&&(i&1)===1?I-B:B;if(C===Qm){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 E=this.repetitions-i;if(E<=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(E===1){const t=A<0;this._setEndings(t,!t,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=ft,B.endingEnd=ft):(A?B.endingStart=this.zeroSlopeAtStart?ft:Nt:B.endingStart=or,I?B.endingEnd=this.zeroSlopeAtEnd?ft:Nt:B.endingEnd=or)}_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,E=Q.sampleValues;return e[0]=i,E[0]=I,e[1]=i+A,E[1]=C,this}}const XZ=new Float32Array(1);class zZ extends ce{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,E=C.uuid,t=this._bindingsByRootAndName;let n=t[E];n===void 0&&(n={},t[E]=n);for(let s=0;s!==i;++s){const r=B[s],l=r.name;let D=n[l];if(D!==void 0)++D.referenceCount,Q[s]=D;else{if(D=Q[s],D!==void 0){D._cacheIndex===null&&(++D.referenceCount,this._addInactiveBinding(D,E,l));continue}const G=I&&I._propertyBindings[s].binding.parsedPath;D=new wL(lg.create(C,l,G),r.ValueTypeName,r.getValueSize()),++D.referenceCount,this._addInactiveBinding(D,E,l),Q[s]=D}e[s].resultBuffer=D.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 t=0;t!==C;++t)I[t]._update(B,A,i,Q);const e=this._bindings,E=this._nActiveBindings;for(let t=0;t!==E;++t)e[t].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,sF).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 rF=new O,Xc=new O;class B1{constructor(A=new O,I=new O){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){rF.subVectors(A,this.start),Xc.subVectors(this.end,this.start);const C=Xc.dot(Xc);let i=Xc.dot(rF)/C;return I&&(i=EC(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 lF=new O;class i1 extends Eg{constructor(A,I){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=I,this.type="SpotLightHelper";const C=new WI,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,E=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{SF.set(A.z,0,-A.x).normalize();const I=Math.acos(A.y);this.quaternion.setFromAxisAngle(SF,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 h1 extends CQ{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 WI;B.setAttribute("position",new GI(I,3)),B.setAttribute("color",new GI(C,3));const i=new GB({vertexColors:!0,toneMapped:!1});super(B,i),this.type="AxesHelper"}setColors(A,I,C){const B=new tI,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 IE{constructor(){this.type="ShapePath",this.color=new tI,this.subPaths=[],this.currentPath=null}moveTo(A,I){return this.currentPath=new dE,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 y=[];for(let S=0,k=c.length;SNumber.EPSILON){if(U<0&&(f=y[p],_=-_,q=y[N],U=-U),c.yq.y)continue;if(c.y===f.y){if(c.x===f.x)return!0}else{const K=U*(c.x-f.x)-_*(c.y-f.y);if(K===0)return!0;if(K<0)continue;k=!k}}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 k}const B=IQ.isClockWise,i=this.subPaths;if(i.length===0)return[];let Q,e,E;const t=[];if(i.length===1)return e=i[0],E=new ME,E.curves=e.curves,t.push(E),t;let n=!B(i[0].getPoints());n=A?!n:n;const s=[],r=[];let l=[],D=0,G;r[D]=void 0,l[D]=[];for(let c=0,y=i.length;c1){let c=!1,y=0;for(let S=0,k=r.length;S0&&c===!1&&(l=s)}let h;for(let c=0,y=r.length;c{const s=typeof t=="function"?t(A):t;if(s!==A){const r=A;A=n?s:Object.assign({},A,s),I.forEach(l=>l(A,r))}},B=()=>A,i=(t,n=B,s=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let r=n(A);function l(){const D=n(A);if(!s(r,D)){const G=r;t(r=D,G)}}return I.add(l),()=>I.delete(l)},E={setState:C,getState:B,subscribe:(t,n,s)=>n||s?i(t,n,s):(I.add(t),()=>I.delete(t)),destroy:()=>I.clear()};return A=g(C,B,E),E}const G1=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),GF=G1?j.useEffect:j.useLayoutEffect;function dL(g){const A=typeof g=="function"?S1(g):g,I=(C=A.getState,B=Object.is)=>{const[,i]=j.useReducer(h=>h+1,0),Q=A.getState(),e=j.useRef(Q),E=j.useRef(C),t=j.useRef(B),n=j.useRef(!1),s=j.useRef();s.current===void 0&&(s.current=C(Q));let r,l=!1;(e.current!==Q||E.current!==C||t.current!==B||n.current)&&(r=C(Q),l=!B(s.current,r)),GF(()=>{l&&(s.current=r),e.current=Q,E.current=C,t.current=B,n.current=!1});const D=j.useRef(Q);GF(()=>{const h=()=>{try{const y=A.getState(),S=E.current(y);t.current(s.current,S)||(e.current=y,s.current=S,i())}catch{n.current=!0,i()}},c=A.subscribe(h);return A.getState()!==D.current&&h(),c},[]);const G=l?r:s.current;return j.useDebugValue(G),G};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 ML={exports:{}},pL={exports:{}},UL={};/** - * @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(b,gA){var CA=b.length;b.push(gA);A:for(;0>>1,fA=b[DA];if(0>>1;DAB(v,CA))xB(H,v)?(b[DA]=H,b[x]=CA,DA=x):(b[DA]=v,b[W]=CA,DA=W);else if(xB(H,CA))b[DA]=H,b[x]=CA,DA=x;else break A}}return gA}function B(b,gA){var CA=b.sortIndex-gA.sortIndex;return CA!==0?CA:b.id-gA.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 E=[],t=[],n=1,s=null,r=3,l=!1,D=!1,G=!1,h=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(b){for(var gA=I(t);gA!==null;){if(gA.callback===null)C(t);else if(gA.startTime<=b)C(t),gA.sortIndex=gA.expirationTime,A(E,gA);else break;gA=I(t)}}function k(b){if(G=!1,S(b),!D)if(I(E)!==null)D=!0,oA(N);else{var gA=I(t);gA!==null&&GA(k,gA.startTime-b)}}function N(b,gA){D=!1,G&&(G=!1,c(q),q=-1),l=!0;var CA=r;try{for(S(gA),s=I(E);s!==null&&(!(s.expirationTime>gA)||b&&!K());){var DA=s.callback;if(typeof DA=="function"){s.callback=null,r=s.priorityLevel;var fA=DA(s.expirationTime<=gA);gA=g.unstable_now(),typeof fA=="function"?s.callback=fA:s===I(E)&&C(E),S(gA)}else C(E);s=I(E)}if(s!==null)var VA=!0;else{var W=I(t);W!==null&&GA(k,W.startTime-gA),VA=!1}return VA}finally{s=null,r=CA,l=!1}}var p=!1,f=null,q=-1,_=5,U=-1;function K(){return!(g.unstable_now()-U<_)}function z(){if(f!==null){var b=g.unstable_now();U=b;var gA=!0;try{gA=f(!0,b)}finally{gA?rA():(p=!1,f=null)}}else p=!1}var rA;if(typeof y=="function")rA=function(){y(z)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,sA=X.port2;X.port1.onmessage=z,rA=function(){sA.postMessage(null)}}else rA=function(){h(z,0)};function oA(b){f=b,p||(p=!0,rA())}function GA(b,gA){q=h(function(){b(g.unstable_now())},gA)}g.unstable_IdlePriority=5,g.unstable_ImmediatePriority=1,g.unstable_LowPriority=4,g.unstable_NormalPriority=3,g.unstable_Profiling=null,g.unstable_UserBlockingPriority=2,g.unstable_cancelCallback=function(b){b.callback=null},g.unstable_continueExecution=function(){D||l||(D=!0,oA(N))},g.unstable_forceFrameRate=function(b){0>b||125DA?(b.sortIndex=CA,A(t,b),I(E)===null&&b===I(t)&&(G?(c(q),q=-1):G=!0,GA(k,CA-DA))):(b.sortIndex=fA,A(E,b),D||l||(D=!0,oA(N))),b},g.unstable_shouldYield=K,g.unstable_wrapCallback=function(b){var gA=r;return function(){var CA=r;r=gA;try{return b.apply(this,arguments)}finally{r=CA}}}})(UL);pL.exports=UL;var O0=pL.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 y1=function(A){var I={},C=j,B=O0,i=Object.assign;function Q(o){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+o,w=1;wyA||d[AA]!==R[yA]){var vA=` -`+d[AA].replace(" at new "," at ");return o.displayName&&vA.includes("")&&(vA=vA.replace("",o.displayName)),vA}while(1<=AA&&0<=yA);break}}}finally{zA=!1,Error.prepareStackTrace=w}return(o=o?o.displayName||o.name:"")?DI(o):""}var wI=Object.prototype.hasOwnProperty,KI=[],mI=-1;function xI(o){return{current:o}}function nI(o){0>mI||(o.current=KI[mI],KI[mI]=null,mI--)}function QI(o,a){mI++,KI[mI]=o.current,o.current=a}var XI={},Y=xI(XI),T=xI(!1),BA=XI;function lA(o,a){var w=o.type.contextTypes;if(!w)return XI;var u=o.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===a)return u.__reactInternalMemoizedMaskedChildContext;var d={},R;for(R in w)d[R]=a[R];return u&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=a,o.__reactInternalMemoizedMaskedChildContext=d),d}function kA(o){return o=o.childContextTypes,o!=null}function RA(){nI(T),nI(Y)}function mA(o,a,w){if(Y.current!==XI)throw Error(Q(168));QI(Y,a),QI(T,w)}function WA(o,a,w){var u=o.stateNode;if(a=a.childContextTypes,typeof u.getChildContext!="function")return w;u=u.getChildContext();for(var d in u)if(!(d in a))throw Error(Q(108,q(o)||"Unknown",d));return i({},w,u)}function OA(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||XI,BA=Y.current,QI(Y,o),QI(T,T.current),!0}function _A(o,a,w){var u=o.stateNode;if(!u)throw Error(Q(169));w?(o=WA(o,a,BA),u.__reactInternalMemoizedMergedChildContext=o,nI(T),nI(Y),QI(Y,o)):nI(T),QI(T,w)}var AI=Math.clz32?Math.clz32:Ug,MI=Math.log,bI=Math.LN2;function Ug(o){return o>>>=0,o===0?32:31-(MI(o)/bI|0)|0}var rg=64,YC=4194304;function jC(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 QQ(o,a){var w=o.pendingLanes;if(w===0)return 0;var u=0,d=o.suspendedLanes,R=o.pingedLanes,AA=w&268435455;if(AA!==0){var yA=AA&~d;yA!==0?u=jC(yA):(R&=AA,R!==0&&(u=jC(R)))}else AA=w&~d,AA!==0?u=jC(AA):R!==0&&(u=jC(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|=w&16),a=o.entangledLanes,a!==0)for(o=o.entanglements,a&=u;0w;w++)a.push(o);return a}function ya(o,a,w){o.pendingLanes|=a,a!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,a=31-AI(a),o[a]=w}function MH(o,a){var w=o.pendingLanes&~a;o.pendingLanes=a,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=a,o.mutableReadLanes&=a,o.entangledLanes&=a,a=o.entanglements;var u=o.eventTimes;for(o=o.expirationTimes;0>=AA,d-=AA,mQ=1<<32-AI(a)+d|w<dg?(xC=VI,VI=null):xC=VI.sibling;var Mg=HI(JA,VI,LA[dg],cI);if(Mg===null){VI===null&&(VI=xC);break}o&&VI&&Mg.alternate===null&&a(JA,VI),pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg,VI=xC}if(dg===LA.length)return w(JA,VI),Zg&&XE(JA,dg),JI;if(VI===null){for(;dgdg?(xC=VI,VI=null):xC=VI.sibling;var ve=HI(JA,VI,Mg.value,cI);if(ve===null){VI===null&&(VI=xC);break}o&&VI&&ve.alternate===null&&a(JA,VI),pA=R(ve,pA,dg),Cg===null?JI=ve:Cg.sibling=ve,Cg=ve,VI=xC}if(Mg.done)return w(JA,VI),Zg&&XE(JA,dg),JI;if(VI===null){for(;!Mg.done;dg++,Mg=LA.next())Mg=jI(JA,Mg.value,cI),Mg!==null&&(pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg);return Zg&&XE(JA,dg),JI}for(VI=u(JA,VI);!Mg.done;dg++,Mg=LA.next())Mg=Jg(VI,JA,dg,Mg.value,cI),Mg!==null&&(o&&Mg.alternate!==null&&VI.delete(Mg.key===null?dg:Mg.key),pA=R(Mg,pA,dg),Cg===null?JI=Mg:Cg.sibling=Mg,Cg=Mg);return o&&VI.forEach(function(n2){return a(JA,n2)}),Zg&&XE(JA,dg),JI}function hi(JA,pA,LA,cI){if(typeof LA=="object"&&LA!==null&&LA.type===n&&LA.key===null&&(LA=LA.props.children),typeof LA=="object"&&LA!==null){switch(LA.$$typeof){case E:A:{for(var JI=LA.key,Cg=pA;Cg!==null;){if(Cg.key===JI){if(JI=LA.type,JI===n){if(Cg.tag===7){w(JA,Cg.sibling),pA=d(Cg,LA.props.children),pA.return=JA,JA=pA;break A}}else if(Cg.elementType===JI||typeof JI=="object"&&JI!==null&&JI.$$typeof===S&&hp(JI)===Cg.type){w(JA,Cg.sibling),pA=d(Cg,LA.props),pA.ref=da(JA,Cg,LA),pA.return=JA,JA=pA;break A}w(JA,Cg);break}else a(JA,Cg);Cg=Cg.sibling}LA.type===n?(pA=Bt(LA.props.children,JA.mode,cI,LA.key),pA.return=JA,JA=pA):(cI=Pl(LA.type,LA.key,LA.props,null,JA.mode,cI),cI.ref=da(JA,pA,LA),cI.return=JA,JA=cI)}return AA(JA);case t:A:{for(Cg=LA.key;pA!==null;){if(pA.key===Cg)if(pA.tag===4&&pA.stateNode.containerInfo===LA.containerInfo&&pA.stateNode.implementation===LA.implementation){w(JA,pA.sibling),pA=d(pA,LA.children||[]),pA.return=JA,JA=pA;break A}else{w(JA,pA);break}else a(JA,pA);pA=pA.sibling}pA=rG(LA,JA.mode,cI),pA.return=JA,JA=pA}return AA(JA);case S:return Cg=LA._init,hi(JA,pA,Cg(LA._payload),cI)}if(sA(LA))return qI(JA,pA,LA,cI);if(p(LA))return nB(JA,pA,LA,cI);cl(JA,LA)}return typeof LA=="string"&&LA!==""||typeof LA=="number"?(LA=""+LA,pA!==null&&pA.tag===6?(w(JA,pA.sibling),pA=d(pA,LA),pA.return=JA,JA=pA):(w(JA,pA),pA=sG(LA,JA.mode,cI),pA.return=JA,JA=pA),AA(JA)):w(JA,pA)}return hi}var uo=wp(!0),Sp=wp(!1),Ma={},ri=xI(Ma),pa=xI(Ma),ko=xI(Ma);function nQ(o){if(o===Ma)throw Error(Q(174));return o}function FS(o,a){QI(ko,a),QI(pa,o),QI(ri,Ma),o=GA(a),nI(ri),QI(ri,o)}function Mo(){nI(ri),nI(pa),nI(ko)}function Gp(o){var a=nQ(ko.current),w=nQ(ri.current);a=b(w,o.type,a),w!==a&&(QI(pa,o),QI(ri,a))}function RS(o){pa.current===o&&(nI(ri),nI(pa))}var jg=xI(0);function Dl(o){for(var a=o;a!==null;){if(a.tag===13){var w=a.memoizedState;if(w!==null&&(w=w.dehydrated,w===null||yB(w)||mi(w)))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===o)break;for(;a.sibling===null;){if(a.return===null||a.return===o)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var KS=[];function JS(){for(var o=0;ow?w:4,o(!0);var u=li.transition;li.transition={};try{o(!1),a()}finally{kg=w,li.transition=u}}function qp(){return aQ().memoizedState}function YH(o,a,w){var u=He(o);w={lane:u,action:w,hasEagerState:!1,eagerState:null,next:null},mp(o)?Lp(a,w):(Yp(o,a,w),w=kB(),o=ci(o,u,w),o!==null&&Hp(o,a,u))}function HH(o,a,w){var u=He(o),d={lane:u,action:w,hasEagerState:!1,eagerState:null,next:null};if(mp(o))Lp(a,d);else{Yp(o,a,d);var R=o.alternate;if(o.lanes===0&&(R===null||R.lanes===0)&&(R=a.lastRenderedReducer,R!==null))try{var AA=a.lastRenderedState,yA=R(AA,w);if(d.hasEagerState=!0,d.eagerState=yA,EQ(yA,AA))return}catch{}finally{}w=kB(),o=ci(o,u,w),o!==null&&Hp(o,a,u)}}function mp(o){var a=o.alternate;return o===gC||a!==null&&a===gC}function Lp(o,a){Ua=wl=!0;var w=o.pending;w===null?a.next=a:(a.next=w.next,w.next=a),o.pending=a}function Yp(o,a,w){cC!==null&&o.mode&1&&!(Bg&2)?(o=a.interleaved,o===null?(w.next=w,oQ===null?oQ=[a]:oQ.push(a)):(w.next=o.next,o.next=w),a.interleaved=w):(o=a.pending,o===null?w.next=w:(w.next=o.next,o.next=w),a.pending=w)}function Hp(o,a,w){if(w&4194240){var u=a.lanes;u&=o.pendingLanes,w|=u,a.lanes=w,rS(o,w)}}var kl={readContext:ni,useCallback:tB,useContext:tB,useEffect:tB,useImperativeHandle:tB,useInsertionEffect:tB,useLayoutEffect:tB,useMemo:tB,useReducer:tB,useRef:tB,useState:tB,useDebugValue:tB,useDeferredValue:tB,useTransition:tB,useMutableSource:tB,useSyncExternalStore:tB,useId:tB,unstable_isNewReconciler:!1},TH={readContext:ni,useCallback:function(o,a){return YQ().memoizedState=[o,a===void 0?null:a],o},useContext:ni,useEffect:HS,useImperativeHandle:function(o,a,w){return w=w!=null?w.concat([o]):null,yl(4194308,4,Fp.bind(null,a,o),w)},useLayoutEffect:function(o,a){return yl(4194308,4,o,a)},useInsertionEffect:function(o,a){return yl(4,2,o,a)},useMemo:function(o,a){var w=YQ();return a=a===void 0?null:a,o=o(),w.memoizedState=[o,a],o},useReducer:function(o,a,w){var u=YQ();return a=w!==void 0?w(a):a,u.memoizedState=u.baseState=a,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:a},u.queue=o,o=o.dispatch=YH.bind(null,gC,o),[u.memoizedState,o]},useRef:function(o){var a=YQ();return o={current:o},a.memoizedState=o},useState:YS,useDebugValue:TS,useDeferredValue:function(o){var a=YS(o),w=a[0],u=a[1];return HS(function(){var d=li.transition;li.transition={};try{u(o)}finally{li.transition=d}},[o]),w},useTransition:function(){var o=YS(!1),a=o[0];return o=LH.bind(null,o[1]),YQ().memoizedState=o,[a,o]},useMutableSource:function(){},useSyncExternalStore:function(o,a,w){var u=gC,d=YQ();if(Zg){if(w===void 0)throw Error(Q(407));w=w()}else{if(w=a(),cC===null)throw Error(Q(349));po&30||kp(u,a,w)}d.memoizedState=w;var R={value:w,getSnapshot:a};return d.queue=R,HS(Mp.bind(null,u,R,o),[o]),u.flags|=2048,fa(9,dp.bind(null,u,R,w,a),void 0,null),w},useId:function(){var o=YQ(),a=cC.identifierPrefix;if(Zg){var w=LQ,u=mQ;w=(u&~(1<<32-AI(u)-1)).toString(32)+w,a=":"+a+"R"+w,w=Na++,0iG&&(a.flags|=128,u=!0,Ja(d,!1),a.lanes=4194304)}else{if(!u)if(o=Dl(R),o!==null){if(a.flags|=128,u=!0,o=o.updateQueue,o!==null&&(a.updateQueue=o,a.flags|=4),Ja(d,!0),d.tail===null&&d.tailMode==="hidden"&&!R.alternate&&!Zg)return oB(a),null}else 2*HC()-d.renderingStartTime>iG&&w!==1073741824&&(a.flags|=128,u=!0,Ja(d,!1),a.lanes=4194304);d.isBackwards?(R.sibling=a.child,a.child=R):(o=d.last,o!==null?o.sibling=R:a.child=R,d.last=R)}return d.tail!==null?(a=d.tail,d.rendering=a,d.tail=a.sibling,d.renderingStartTime=HC(),a.sibling=null,o=jg.current,QI(jg,u?o&1|2:o&1),a):(oB(a),null);case 22:case 23:return oG(),u=a.memoizedState!==null,o!==null&&o.memoizedState!==null!==u&&(a.flags|=8192),u&&a.mode&1?WB&1073741824&&(oB(a),NA&&a.subtreeFlags&6&&(a.flags|=8192)):oB(a),null;case 24:return null;case 25:return null}throw Error(Q(156,a.tag))}var _H=e.ReactCurrentOwner,PB=!1;function uB(o,a,w,u){a.child=o===null?Sp(a,null,w,u):uo(a,o.child,w,u)}function Pp(o,a,w,u,d){w=w.render;var R=a.ref;return wo(a,d),u=mS(o,a,w,u,R,d),w=LS(),o!==null&&!PB?(a.updateQueue=o.updateQueue,a.flags&=-2053,o.lanes&=~d,HQ(o,a,d)):(Zg&&w&&MS(a),a.flags|=1,uB(o,a,u,d),a.child)}function Wp(o,a,w,u,d){if(o===null){var R=w.type;return typeof R=="function"&&!aG(R)&&R.defaultProps===void 0&&w.compare===null&&w.defaultProps===void 0?(a.tag=15,a.type=R,jp(o,a,R,u,d)):(o=Pl(w.type,null,u,a,a.mode,d),o.ref=a.ref,o.return=a,a.child=o)}if(R=o.child,!(o.lanes&d)){var AA=R.memoizedProps;if(w=w.compare,w=w!==null?w:El,w(AA,u)&&o.ref===a.ref)return HQ(o,a,d)}return a.flags|=1,o=xe(R,u),o.ref=a.ref,o.return=a,a.child=o}function jp(o,a,w,u,d){if(o!==null&&El(o.memoizedProps,u)&&o.ref===a.ref)if(PB=!1,(o.lanes&d)!==0)o.flags&131072&&(PB=!0);else return a.lanes=o.lanes,HQ(o,a,d);return bS(o,a,w,u,d)}function Vp(o,a,w){var u=a.pendingProps,d=u.children,R=o!==null?o.memoizedState:null;if(u.mode==="hidden")if(!(a.mode&1))a.memoizedState={baseLanes:0,cachePool:null},QI(Uo,WB),WB|=w;else if(w&1073741824)a.memoizedState={baseLanes:0,cachePool:null},u=R!==null?R.baseLanes:w,QI(Uo,WB),WB|=u;else return o=R!==null?R.baseLanes|w:w,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:o,cachePool:null},a.updateQueue=null,QI(Uo,WB),WB|=o,null;else R!==null?(u=R.baseLanes|w,a.memoizedState=null):u=w,QI(Uo,WB),WB|=u;return uB(o,a,d,w),a.child}function Xp(o,a){var w=a.ref;(o===null&&w!==null||o!==null&&o.ref!==w)&&(a.flags|=512,a.flags|=2097152)}function bS(o,a,w,u,d){var R=kA(w)?BA:Y.current;return R=lA(a,R),wo(a,d),w=mS(o,a,w,u,R,d),u=LS(),o!==null&&!PB?(a.updateQueue=o.updateQueue,a.flags&=-2053,o.lanes&=~d,HQ(o,a,d)):(Zg&&u&&MS(a),a.flags|=1,uB(o,a,w,d),a.child)}function zp(o,a,w,u,d){if(kA(w)){var R=!0;OA(a)}else R=!1;if(wo(a,d),a.stateNode===null)o!==null&&(o.alternate=null,a.alternate=null,a.flags|=2),ap(a,w,u),dS(a,w,u,d),u=!0;else if(o===null){var AA=a.stateNode,yA=a.memoizedProps;AA.props=yA;var vA=AA.context,iI=w.contextType;typeof iI=="object"&&iI!==null?iI=ni(iI):(iI=kA(w)?BA:Y.current,iI=lA(a,iI));var uI=w.getDerivedStateFromProps,jI=typeof uI=="function"||typeof AA.getSnapshotBeforeUpdate=="function";jI||typeof AA.UNSAFE_componentWillReceiveProps!="function"&&typeof AA.componentWillReceiveProps!="function"||(yA!==u||vA!==iI)&&sp(a,AA,u,iI),qe=!1;var HI=a.memoizedState;AA.state=HI,al(a,u,AA,d),vA=a.memoizedState,yA!==u||HI!==vA||T.current||qe?(typeof uI=="function"&&(kS(a,w,uI,u),vA=a.memoizedState),(yA=qe||np(a,w,yA,u,HI,vA,iI))?(jI||typeof AA.UNSAFE_componentWillMount!="function"&&typeof AA.componentWillMount!="function"||(typeof AA.componentWillMount=="function"&&AA.componentWillMount(),typeof AA.UNSAFE_componentWillMount=="function"&&AA.UNSAFE_componentWillMount()),typeof AA.componentDidMount=="function"&&(a.flags|=4194308)):(typeof AA.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=u,a.memoizedState=vA),AA.props=u,AA.state=vA,AA.context=iI,u=yA):(typeof AA.componentDidMount=="function"&&(a.flags|=4194308),u=!1)}else{AA=a.stateNode,ep(o,a),yA=a.memoizedProps,iI=a.type===a.elementType?yA:Yi(a.type,yA),AA.props=iI,jI=a.pendingProps,HI=AA.context,vA=w.contextType,typeof vA=="object"&&vA!==null?vA=ni(vA):(vA=kA(w)?BA:Y.current,vA=lA(a,vA));var Jg=w.getDerivedStateFromProps;(uI=typeof Jg=="function"||typeof AA.getSnapshotBeforeUpdate=="function")||typeof AA.UNSAFE_componentWillReceiveProps!="function"&&typeof AA.componentWillReceiveProps!="function"||(yA!==jI||HI!==vA)&&sp(a,AA,u,vA),qe=!1,HI=a.memoizedState,AA.state=HI,al(a,u,AA,d);var qI=a.memoizedState;yA!==jI||HI!==qI||T.current||qe?(typeof Jg=="function"&&(kS(a,w,Jg,u),qI=a.memoizedState),(iI=qe||np(a,w,iI,u,HI,qI,vA)||!1)?(uI||typeof AA.UNSAFE_componentWillUpdate!="function"&&typeof AA.componentWillUpdate!="function"||(typeof AA.componentWillUpdate=="function"&&AA.componentWillUpdate(u,qI,vA),typeof AA.UNSAFE_componentWillUpdate=="function"&&AA.UNSAFE_componentWillUpdate(u,qI,vA)),typeof AA.componentDidUpdate=="function"&&(a.flags|=4),typeof AA.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof AA.componentDidUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(a.flags|=4),typeof AA.getSnapshotBeforeUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(a.flags|=1024),a.memoizedProps=u,a.memoizedState=qI),AA.props=u,AA.state=qI,AA.context=vA,u=iI):(typeof AA.componentDidUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(a.flags|=4),typeof AA.getSnapshotBeforeUpdate!="function"||yA===o.memoizedProps&&HI===o.memoizedState||(a.flags|=1024),u=!1)}return OS(o,a,w,u,R,d)}function OS(o,a,w,u,d,R){Xp(o,a);var AA=(a.flags&128)!==0;if(!u&&!AA)return d&&_A(a,w,!1),HQ(o,a,R);u=a.stateNode,_H.current=a;var yA=AA&&typeof w.getDerivedStateFromError!="function"?null:u.render();return a.flags|=1,o!==null&&AA?(a.child=uo(a,o.child,null,R),a.child=uo(a,null,yA,R)):uB(o,a,yA,R),a.memoizedState=u.state,d&&_A(a,w,!0),a.child}function $p(o){var a=o.stateNode;a.pendingContext?mA(o,a.pendingContext,a.pendingContext!==a.context):a.context&&mA(o,a.context,!1),FS(o,a.containerInfo)}function AU(o,a,w,u,d){return yo(),fS(d),a.flags|=256,uB(o,a,w,u),a.child}var pl={dehydrated:null,treeContext:null,retryLane:0};function Ul(o){return{baseLanes:o,cachePool:null}}function IU(o,a,w){var u=a.pendingProps,d=jg.current,R=!1,AA=(a.flags&128)!==0,yA;if((yA=AA)||(yA=o!==null&&o.memoizedState===null?!1:(d&2)!==0),yA?(R=!0,a.flags&=-129):(o===null||o.memoizedState!==null)&&(d|=1),QI(jg,d&1),o===null)return NS(a),o=a.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(a.mode&1?mi(o)?a.lanes=8:a.lanes=1073741824:a.lanes=1,null):(d=u.children,o=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=Wl(d,u,0,null),o=Bt(o,u,w,null),R.return=a,o.return=a,R.sibling=o,a.child=R,a.child.memoizedState=Ul(w),a.memoizedState=pl,o):_S(a,d));if(d=o.memoizedState,d!==null){if(yA=d.dehydrated,yA!==null){if(AA)return a.flags&256?(a.flags&=-257,Nl(o,a,w,Error(Q(422)))):a.memoizedState!==null?(a.child=o.child,a.flags|=128,null):(R=u.fallback,d=a.mode,u=Wl({mode:"visible",children:u.children},d,0,null),R=Bt(R,d,w,null),R.flags|=2,u.return=a,R.return=a,u.sibling=R,a.child=u,a.mode&1&&uo(a,o.child,null,w),a.child.memoizedState=Ul(w),a.memoizedState=pl,R);if(!(a.mode&1))a=Nl(o,a,w,null);else if(mi(yA))a=Nl(o,a,w,Error(Q(419)));else if(u=(w&o.childLanes)!==0,PB||u){if(u=cC,u!==null){switch(w&-w){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|w)?0:R,u!==0&&u!==d.retryLane&&(d.retryLane=u,ci(o,u,-1))}nG(),a=Nl(o,a,w,Error(Q(421)))}else yB(yA)?(a.flags|=128,a.child=o.child,a=B2.bind(null,o),eB(yA,a),a=null):(w=d.treeContext,MA&&(ZB=Je(yA),_B=a,Zg=!0,Hi=null,ua=!1,w!==null&&(ai[si++]=mQ,ai[si++]=LQ,ai[si++]=VE,mQ=w.id,LQ=w.overflow,VE=a)),a=_S(a,a.pendingProps.children),a.flags|=4096);return a}return R?(u=CU(o,a,u.children,u.fallback,w),R=a.child,d=o.child.memoizedState,R.memoizedState=d===null?Ul(w):{baseLanes:d.baseLanes|w,cachePool:null},R.childLanes=o.childLanes&~w,a.memoizedState=pl,u):(w=gU(o,a,u.children,w),a.memoizedState=null,w)}return R?(u=CU(o,a,u.children,u.fallback,w),R=a.child,d=o.child.memoizedState,R.memoizedState=d===null?Ul(w):{baseLanes:d.baseLanes|w,cachePool:null},R.childLanes=o.childLanes&~w,a.memoizedState=pl,u):(w=gU(o,a,u.children,w),a.memoizedState=null,w)}function _S(o,a){return a=Wl({mode:"visible",children:a},o.mode,0,null),a.return=o,o.child=a}function gU(o,a,w,u){var d=o.child;return o=d.sibling,w=xe(d,{mode:"visible",children:w}),!(a.mode&1)&&(w.lanes=u),w.return=a,w.sibling=null,o!==null&&(u=a.deletions,u===null?(a.deletions=[o],a.flags|=16):u.push(o)),a.child=w}function CU(o,a,w,u,d){var R=a.mode;o=o.child;var AA=o.sibling,yA={mode:"hidden",children:w};return!(R&1)&&a.child!==o?(w=a.child,w.childLanes=0,w.pendingProps=yA,a.deletions=null):(w=xe(o,yA),w.subtreeFlags=o.subtreeFlags&14680064),AA!==null?u=xe(AA,u):(u=Bt(u,R,d,null),u.flags|=2),u.return=a,w.return=a,w.sibling=u,a.child=w,u}function Nl(o,a,w,u){return u!==null&&fS(u),uo(a,o.child,null,w),o=_S(a,a.pendingProps.children),o.flags|=2,a.memoizedState=null,o}function BU(o,a,w){o.lanes|=a;var u=o.alternate;u!==null&&(u.lanes|=a),yS(o.return,a,w)}function ZS(o,a,w,u,d){var R=o.memoizedState;R===null?o.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:u,tail:w,tailMode:d}:(R.isBackwards=a,R.rendering=null,R.renderingStartTime=0,R.last=u,R.tail=w,R.tailMode=d)}function iU(o,a,w){var u=a.pendingProps,d=u.revealOrder,R=u.tail;if(uB(o,a,u.children,w),u=jg.current,u&2)u=u&1|2,a.flags|=128;else{if(o!==null&&o.flags&128)A:for(o=a.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&BU(o,w,a);else if(o.tag===19)BU(o,w,a);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===a)break A;for(;o.sibling===null;){if(o.return===null||o.return===a)break A;o=o.return}o.sibling.return=o.return,o=o.sibling}u&=1}if(QI(jg,u),!(a.mode&1))a.memoizedState=null;else switch(d){case"forwards":for(w=a.child,d=null;w!==null;)o=w.alternate,o!==null&&Dl(o)===null&&(d=w),w=w.sibling;w=d,w===null?(d=a.child,a.child=null):(d=w.sibling,w.sibling=null),ZS(a,!1,d,w,R);break;case"backwards":for(w=null,d=a.child,a.child=null;d!==null;){if(o=d.alternate,o!==null&&Dl(o)===null){a.child=d;break}o=d.sibling,d.sibling=w,w=d,d=o}ZS(a,!0,w,null,R);break;case"together":ZS(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function HQ(o,a,w){if(o!==null&&(a.dependencies=o.dependencies),No|=a.lanes,!(w&a.childLanes))return null;if(o!==null&&a.child!==o.child)throw Error(Q(153));if(a.child!==null){for(o=a.child,w=xe(o,o.pendingProps),a.child=w,w.return=a;o.sibling!==null;)o=o.sibling,w=w.sibling=xe(o,o.pendingProps),w.return=a;w.sibling=null}return a.child}function ZH(o,a,w){switch(a.tag){case 3:$p(a),yo();break;case 5:Gp(a);break;case 1:kA(a.type)&&OA(a);break;case 4:FS(a,a.stateNode.containerInfo);break;case 10:Qp(a,a.type._context,a.memoizedProps.value);break;case 13:var u=a.memoizedState;if(u!==null)return u.dehydrated!==null?(QI(jg,jg.current&1),a.flags|=128,null):w&a.child.childLanes?IU(o,a,w):(QI(jg,jg.current&1),o=HQ(o,a,w),o!==null?o.sibling:null);QI(jg,jg.current&1);break;case 19:if(u=(w&a.childLanes)!==0,o.flags&128){if(u)return iU(o,a,w);a.flags|=128}var d=a.memoizedState;if(d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),QI(jg,jg.current),u)break;return null;case 22:case 23:return a.lanes=0,Vp(o,a,w)}return HQ(o,a,w)}function PH(o,a){switch(pS(a),a.tag){case 1:return kA(a.type)&&RA(),o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 3:return Mo(),nI(T),nI(Y),JS(),o=a.flags,o&65536&&!(o&128)?(a.flags=o&-65537|128,a):null;case 5:return RS(a),null;case 13:if(nI(jg),o=a.memoizedState,o!==null&&o.dehydrated!==null){if(a.alternate===null)throw Error(Q(340));yo()}return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 19:return nI(jg),null;case 4:return Mo(),null;case 10:return GS(a.type._context),null;case 22:case 23:return oG(),null;case 24:return null;default:return null}}var fl=!1,$E=!1,WH=typeof WeakSet=="function"?WeakSet:Set,rI=null;function Fl(o,a){var w=o.ref;if(w!==null)if(typeof w=="function")try{w(null)}catch(u){qB(o,a,u)}else w.current=null}function PS(o,a,w){try{w()}catch(u){qB(o,a,u)}}var QU=!1;function jH(o,a){for(gA(o.containerInfo),rI=a;rI!==null;)if(o=rI,a=o.child,(o.subtreeFlags&1028)!==0&&a!==null)a.return=o,rI=a;else for(;rI!==null;){o=rI;try{var w=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var u=w.memoizedProps,d=w.memoizedState,R=o.stateNode,AA=R.getSnapshotBeforeUpdate(o.elementType===o.type?u:Yi(o.type,u),d);R.__reactInternalSnapshotBeforeUpdate=AA}break;case 3:NA&&II(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(yA){qB(o,o.return,yA)}if(a=o.sibling,a!==null){a.return=o.return,rI=a;break}rI=o.return}return w=QU,QU=!1,w}function At(o,a,w){var u=a.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var d=u=u.next;do{if((d.tag&o)===o){var R=d.destroy;d.destroy=void 0,R!==void 0&&PS(a,w,R)}d=d.next}while(d!==u)}}function qa(o,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var w=a=a.next;do{if((w.tag&o)===o){var u=w.create;w.destroy=u()}w=w.next}while(w!==a)}}function WS(o){var a=o.ref;if(a!==null){var w=o.stateNode;switch(o.tag){case 5:o=oA(w);break;default:o=w}typeof a=="function"?a(o):a.current=o}}function eU(o,a,w){if(eQ&&typeof eQ.onCommitFiberUnmount=="function")try{eQ.onCommitFiberUnmount(Ql,a)}catch{}switch(a.tag){case 0:case 11:case 14:case 15:if(o=a.updateQueue,o!==null&&(o=o.lastEffect,o!==null)){var u=o=o.next;do{var d=u,R=d.destroy;d=d.tag,R!==void 0&&(d&2||d&4)&&PS(a,w,R),u=u.next}while(u!==o)}break;case 1:if(Fl(a,w),o=a.stateNode,typeof o.componentWillUnmount=="function")try{o.props=a.memoizedProps,o.state=a.memoizedState,o.componentWillUnmount()}catch(AA){qB(a,w,AA)}break;case 5:Fl(a,w);break;case 4:NA?sU(o,a,w):Z&&Z&&(a=a.stateNode.containerInfo,w=lI(a),wg(a,w))}}function EU(o,a,w){for(var u=a;;)if(eU(o,u,w),u.child===null||NA&&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 tU(o){var a=o.alternate;a!==null&&(o.alternate=null,tU(a)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(a=o.stateNode,a!==null&&bA(a)),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 oU(o){return o.tag===5||o.tag===3||o.tag===4}function nU(o){A:for(;;){for(;o.sibling===null;){if(o.return===null||oU(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 aU(o){if(NA){A:{for(var a=o.return;a!==null;){if(oU(a))break A;a=a.return}throw Error(Q(160))}var w=a;switch(w.tag){case 5:a=w.stateNode,w.flags&32&&(LI(a),w.flags&=-33),w=nU(o),VS(o,w,a);break;case 3:case 4:a=w.stateNode.containerInfo,w=nU(o),jS(o,w,a);break;default:throw Error(Q(161))}}}function jS(o,a,w){var u=o.tag;if(u===5||u===6)o=o.stateNode,a?EI(w,o,a):NI(w,o);else if(u!==4&&(o=o.child,o!==null))for(jS(o,a,w),o=o.sibling;o!==null;)jS(o,a,w),o=o.sibling}function VS(o,a,w){var u=o.tag;if(u===5||u===6)o=o.stateNode,a?kI(w,o,a):hI(w,o);else if(u!==4&&(o=o.child,o!==null))for(VS(o,a,w),o=o.sibling;o!==null;)VS(o,a,w),o=o.sibling}function sU(o,a,w){for(var u=a,d=!1,R,AA;;){if(!d){d=u.return;A:for(;;){if(d===null)throw Error(Q(160));switch(R=d.stateNode,d.tag){case 5:AA=!1;break A;case 3:R=R.containerInfo,AA=!0;break A;case 4:R=R.containerInfo,AA=!0;break A}d=d.return}d=!0}if(u.tag===5||u.tag===6)EU(o,u,w),AA?dI(R,u.stateNode):sI(R,u.stateNode);else if(u.tag===18)AA?iA(R,u.stateNode):tA(R,u.stateNode);else if(u.tag===4){if(u.child!==null){R=u.stateNode.containerInfo,AA=!0,u.child.return=u,u=u.child;continue}}else if(eU(o,u,w),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 XS(o,a){if(NA){switch(a.tag){case 0:case 11:case 14:case 15:At(3,a,a.return),qa(3,a),At(5,a,a.return);return;case 1:return;case 5:var w=a.stateNode;if(w!=null){var u=a.memoizedProps;o=o!==null?o.memoizedProps:u;var d=a.type,R=a.updateQueue;a.updateQueue=null,R!==null&&YI(w,R,d,o,u,a)}return;case 6:if(a.stateNode===null)throw Error(Q(162));w=a.memoizedProps,jA(a.stateNode,o!==null?o.memoizedProps:w,w);return;case 3:MA&&o!==null&&o.memoizedState.isDehydrated&&V(a.stateNode.containerInfo);return;case 12:return;case 13:Rl(a);return;case 19:Rl(a);return;case 17:return}throw Error(Q(163))}switch(a.tag){case 0:case 11:case 14:case 15:At(3,a,a.return),qa(3,a),At(5,a,a.return);return;case 12:return;case 13:Rl(a);return;case 19:Rl(a);return;case 3:MA&&o!==null&&o.memoizedState.isDehydrated&&V(a.stateNode.containerInfo);break;case 22:case 23:return}A:if(Z){switch(a.tag){case 1:case 5:case 6:break A;case 3:case 4:a=a.stateNode,wg(a.containerInfo,a.pendingChildren);break A}throw Error(Q(163))}}function Rl(o){var a=o.updateQueue;if(a!==null){o.updateQueue=null;var w=o.stateNode;w===null&&(w=o.stateNode=new WH),a.forEach(function(u){var d=i2.bind(null,o,u);w.has(u)||(w.add(u),u.then(d,d))})}}function VH(o,a){for(rI=a;rI!==null;){a=rI;var w=a.deletions;if(w!==null)for(var u=0;u";case Jl:return":has("+(AG(o)||"")+")";case ql:return'[role="'+o.value+'"]';case Ll:return'"'+o.value+'"';case ml:return'[data-testname="'+o.value+'"]';default:throw Error(Q(365))}}function hU(o,a){var w=[];o=[o,0];for(var u=0;ud&&(d=AA),u&=~R}if(u=d,u=HC()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*zH(u/1960))-u,10o?16:o,Ye===null)var u=!1;else{if(o=Ye,Ye=null,vl=0,Bg&6)throw Error(Q(331));var d=Bg;for(Bg|=4,rI=o.current;rI!==null;){var R=rI,AA=R.child;if(rI.flags&16){var yA=R.deletions;if(yA!==null){for(var vA=0;vAHC()-BG?It(o,0):CG|=w),JB(o,a)}function pU(o,a){a===0&&(o.mode&1?(a=YC,YC<<=1,!(YC&130023424)&&(YC=4194304)):a=1);var w=kB();o=_l(o,a),o!==null&&(ya(o,a,w),JB(o,w))}function B2(o){var a=o.memoizedState,w=0;a!==null&&(w=a.retryLane),pU(o,w)}function i2(o,a){var w=0;switch(o.tag){case 13:var u=o.stateNode,d=o.memoizedState;d!==null&&(w=d.retryLane);break;case 19:u=o.stateNode;break;default:throw Error(Q(314))}u!==null&&u.delete(a),pU(o,w)}var UU;UU=function(o,a,w){if(o!==null)if(o.memoizedProps!==a.pendingProps||T.current)PB=!0;else{if(!(o.lanes&w)&&!(a.flags&128))return PB=!1,ZH(o,a,w);PB=!!(o.flags&131072)}else PB=!1,Zg&&a.flags&1048576&&rp(a,ll,a.index);switch(a.lanes=0,a.tag){case 2:var u=a.type;o!==null&&(o.alternate=null,a.alternate=null,a.flags|=2),o=a.pendingProps;var d=lA(a,Y.current);wo(a,w),d=mS(null,a,u,o,d,w);var R=LS();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,kA(u)?(R=!0,OA(a)):R=!1,a.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,uS(a),d.updater=sl,a.stateNode=d,d._reactInternals=a,dS(a,u,o,w),a=OS(null,a,u,!0,R,w)):(a.tag=0,Zg&&R&&MS(a),uB(null,a,d,w),a=a.child),a;case 16:u=a.elementType;A:{switch(o!==null&&(o.alternate=null,a.alternate=null,a.flags|=2),o=a.pendingProps,d=u._init,u=d(u._payload),a.type=u,d=a.tag=e2(u),o=Yi(u,o),d){case 0:a=bS(null,a,u,o,w);break A;case 1:a=zp(null,a,u,o,w);break A;case 11:a=Pp(null,a,u,o,w);break A;case 14:a=Wp(null,a,u,Yi(u.type,o),w);break A}throw Error(Q(306,u,""))}return a;case 0:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:Yi(u,d),bS(o,a,u,d,w);case 1:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:Yi(u,d),zp(o,a,u,d,w);case 3:A:{if($p(a),o===null)throw Error(Q(387));u=a.pendingProps,R=a.memoizedState,d=R.element,ep(o,a),al(a,u,null,w);var AA=a.memoizedState;if(u=AA.element,MA&&R.isDehydrated)if(R={element:u,isDehydrated:!1,cache:AA.cache,transitions:AA.transitions},a.updateQueue.baseState=R,a.memoizedState=R,a.flags&256){d=Error(Q(423)),a=AU(o,a,u,w,d);break A}else if(u!==d){d=Error(Q(424)),a=AU(o,a,u,w,d);break A}else for(MA&&(ZB=KQ(a.stateNode.containerInfo),_B=a,Zg=!0,Hi=null,ua=!1),w=Sp(a,null,u,w),a.child=w;w;)w.flags=w.flags&-3|4096,w=w.sibling;else{if(yo(),u===d){a=HQ(o,a,w);break A}uB(o,a,u,w)}a=a.child}return a;case 5:return Gp(a),o===null&&NS(a),u=a.type,d=a.pendingProps,R=o!==null?o.memoizedProps:null,AA=d.children,v(u,d)?AA=null:R!==null&&v(u,R)&&(a.flags|=32),Xp(o,a),uB(o,a,AA,w),a.child;case 6:return o===null&&NS(a),null;case 13:return IU(o,a,w);case 4:return FS(a,a.stateNode.containerInfo),u=a.pendingProps,o===null?a.child=uo(a,null,u,w):uB(o,a,u,w),a.child;case 11:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:Yi(u,d),Pp(o,a,u,d,w);case 7:return uB(o,a,a.pendingProps,w),a.child;case 8:return uB(o,a,a.pendingProps.children,w),a.child;case 12:return uB(o,a,a.pendingProps.children,w),a.child;case 10:A:{if(u=a.type._context,d=a.pendingProps,R=a.memoizedProps,AA=d.value,Qp(a,u,AA),R!==null)if(EQ(R.value,AA)){if(R.children===d.children&&!T.current){a=HQ(o,a,w);break A}}else for(R=a.child,R!==null&&(R.return=a);R!==null;){var yA=R.dependencies;if(yA!==null){AA=R.child;for(var vA=yA.firstContext;vA!==null;){if(vA.context===u){if(R.tag===1){vA=qQ(-1,w&-w),vA.tag=2;var iI=R.updateQueue;if(iI!==null){iI=iI.shared;var uI=iI.pending;uI===null?vA.next=vA:(vA.next=uI.next,uI.next=vA),iI.pending=vA}}R.lanes|=w,vA=R.alternate,vA!==null&&(vA.lanes|=w),yS(R.return,w,a),yA.lanes|=w;break}vA=vA.next}}else if(R.tag===10)AA=R.type===a.type?null:R.child;else if(R.tag===18){if(AA=R.return,AA===null)throw Error(Q(341));AA.lanes|=w,yA=AA.alternate,yA!==null&&(yA.lanes|=w),yS(AA,w,a),AA=R.sibling}else AA=R.child;if(AA!==null)AA.return=R;else for(AA=R;AA!==null;){if(AA===a){AA=null;break}if(R=AA.sibling,R!==null){R.return=AA.return,AA=R;break}AA=AA.return}R=AA}uB(o,a,d.children,w),a=a.child}return a;case 9:return d=a.type,u=a.pendingProps.children,wo(a,w),d=ni(d),u=u(d),a.flags|=1,uB(o,a,u,w),a.child;case 14:return u=a.type,d=Yi(u,a.pendingProps),d=Yi(u.type,d),Wp(o,a,u,d,w);case 15:return jp(o,a,a.type,a.pendingProps,w);case 17:return u=a.type,d=a.pendingProps,d=a.elementType===u?d:Yi(u,d),o!==null&&(o.alternate=null,a.alternate=null,a.flags|=2),a.tag=1,kA(u)?(o=!0,OA(a)):o=!1,wo(a,w),ap(a,u,d),dS(a,u,d,w),OS(null,a,u,!0,o,w);case 19:return iU(o,a,w);case 22:return Vp(o,a,w)}throw Error(Q(156,a.tag))};function NU(o,a){return lS(o,a)}function Q2(o,a,w,u){this.tag=o,this.key=w,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 Di(o,a,w,u){return new Q2(o,a,w,u)}function aG(o){return o=o.prototype,!(!o||!o.isReactComponent)}function e2(o){if(typeof o=="function")return aG(o)?1:0;if(o!=null){if(o=o.$$typeof,o===G)return 11;if(o===y)return 14}return 2}function xe(o,a){var w=o.alternate;return w===null?(w=Di(o.tag,a,o.key,o.mode),w.elementType=o.elementType,w.type=o.type,w.stateNode=o.stateNode,w.alternate=o,o.alternate=w):(w.pendingProps=a,w.type=o.type,w.flags=0,w.subtreeFlags=0,w.deletions=null),w.flags=o.flags&14680064,w.childLanes=o.childLanes,w.lanes=o.lanes,w.child=o.child,w.memoizedProps=o.memoizedProps,w.memoizedState=o.memoizedState,w.updateQueue=o.updateQueue,a=o.dependencies,w.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},w.sibling=o.sibling,w.index=o.index,w.ref=o.ref,w}function Pl(o,a,w,u,d,R){var AA=2;if(u=o,typeof o=="function")aG(o)&&(AA=1);else if(typeof o=="string")AA=5;else A:switch(o){case n:return Bt(w.children,d,R,a);case s:AA=8,d|=8;break;case r:return o=Di(12,w,a,d|2),o.elementType=r,o.lanes=R,o;case h:return o=Di(13,w,a,d),o.elementType=h,o.lanes=R,o;case c:return o=Di(19,w,a,d),o.elementType=c,o.lanes=R,o;case k:return Wl(w,d,R,a);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case l:AA=10;break A;case D:AA=9;break A;case G:AA=11;break A;case y:AA=14;break A;case S:AA=16,u=null;break A}throw Error(Q(130,o==null?o:typeof o,""))}return a=Di(AA,w,a,d),a.elementType=o,a.type=u,a.lanes=R,a}function Bt(o,a,w,u){return o=Di(7,o,u,a),o.lanes=w,o}function Wl(o,a,w,u){return o=Di(22,o,u,a),o.elementType=k,o.lanes=w,o.stateNode={},o}function sG(o,a,w){return o=Di(6,o,null,a),o.lanes=w,o}function rG(o,a,w){return a=Di(4,o.children!==null?o.children:[],o.key,a),a.lanes=w,a.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},a}function E2(o,a,w,u,d){this.tag=a,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=UA,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sS(0),this.expirationTimes=sS(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sS(0),this.identifierPrefix=u,this.onRecoverableError=d,MA&&(this.mutableSourceEagerHydrationData=null)}function fU(o,a,w,u,d,R,AA,yA,vA){return o=new E2(o,a,w,yA,vA),a===1?(a=1,R===!0&&(a|=8)):a=0,R=Di(3,null,null,a),o.current=R,R.stateNode=o,R.memoizedState={element:u,isDehydrated:w,cache:null,transitions:null},uS(R),o}function FU(o){if(!o)return XI;o=o._reactInternals;A:{if(_(o)!==o||o.tag!==1)throw Error(Q(170));var a=o;do{switch(a.tag){case 3:a=a.stateNode.context;break A;case 1:if(kA(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break A}}a=a.return}while(a!==null);throw Error(Q(171))}if(o.tag===1){var w=o.type;if(kA(w))return WA(o,w,a)}return a}function RU(o){var a=o._reactInternals;if(a===void 0)throw typeof o.render=="function"?Error(Q(188)):(o=Object.keys(o).join(","),Error(Q(268,o)));return o=z(a),o===null?null:o.stateNode}function KU(o,a){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var w=o.retryLane;o.retryLane=w!==0&&w=iI&&R>=jI&&d<=uI&&AA<=HI){o.splice(a,1);break}else if(u!==iI||w.width!==vA.width||HIAA){if(!(R!==jI||w.height!==vA.height||uId)){iI>u&&(vA.width+=iI-u,vA.x=u),uIR&&(vA.height+=jI-R,vA.y=R),HIw&&(w=AA)),AA ")+` - -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 oA(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:t2,findFiberByHostInstance:o.findFiberByHostInstance||o2,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 a=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(a.isDisabled||!a.supportsFiber)o=!0;else{try{Ql=a.inject(o),eQ=a}catch{}o=!!a.checkDCE}}return o},I.isAlreadyRendering=function(){return!1},I.observeVisibleRects=function(o,a,w,u){if(!m)throw Error(Q(363));o=IG(o,a);var d=aI(o,w,u).disconnect;return{disconnect:function(){d()}}},I.registerMutableSourceForHydration=function(o,a){var w=a._getVersion;w=w(a._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[a,w]:o.mutableSourceEagerHydrationData.push(a,w)},I.runWithPriority=function(o,a){var w=kg;try{return kg=o,a()}finally{kg=w}},I.shouldError=function(){return null},I.shouldSuspend=function(){return!1},I.updateContainer=function(o,a,w,u){var d=a.current,R=kB(),AA=He(d);return w=FU(w),a.context===null?a.context=w:a.pendingContext=w,a=qQ(R,AA),a.payload={element:o},u=u===void 0?null:u,u!==null&&(a.callback=u),me(d,a),o=ci(d,AA,R),o!==null&&nl(o,d,AA),AA},I};ML.exports=y1;var u1=ML.exports;const k1=mh(u1),d1=g=>typeof g=="object"&&typeof g.then=="function",Jt=[];function NL(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=Jt.indexOf(B);i!==-1&&Jt.splice(i,1)},promise:(d1(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(Jt.push(B),!I)throw B.promise}const M1=(g,A,I)=>fL(g,A,!1,I),p1=(g,A,I)=>void fL(g,A,!0,I),U1=g=>{if(g===void 0||g.length===0)Jt.splice(0,Jt.length);else{const A=Jt.find(I=>NL(g,I.keys,I.equal));A&&A.remove()}},AM={},IM=g=>void Object.assign(AM,g);function N1(g,A){function I(n,{args:s=[],attach:r,...l},D){let G=`${n[0].toUpperCase()}${n.slice(1)}`,h;if(n==="primitive"){if(l.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const c=l.object;h=tn(c,{type:n,root:D,attach:r,primitive:!0})}else{const c=AM[G];if(!c)throw new Error(`R3F: ${G} 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!");h=tn(new c(...s),{type:n,root:D,attach:r,memoizedProps:{args:s}})}return h.__r3f.attach===void 0&&(h instanceof WI?h.__r3f.attach="geometry":h instanceof rC&&(h.__r3f.attach="material")),G!=="inject"&&py(h,l),h}function C(n,s){let r=!1;if(s){var l,D;(l=s.__r3f)!=null&&l.attach?My(n,s,s.__r3f.attach):s.isObject3D&&n.isObject3D&&(n.add(s),r=!0),r||(D=n.__r3f)==null||D.objects.push(s),s.__r3f||tn(s,{}),s.__r3f.parent=n,Z0(s),on(s)}}function B(n,s,r){let l=!1;if(s){var D,G;if((D=s.__r3f)!=null&&D.attach)My(n,s,s.__r3f.attach);else if(s.isObject3D&&n.isObject3D){s.parent=n,s.dispatchEvent({type:"added"});const h=n.children.filter(y=>y!==s),c=h.indexOf(r);n.children=[...h.slice(0,c),s,...h.slice(c)],l=!0}l||(G=n.__r3f)==null||G.objects.push(s),s.__r3f||tn(s,{}),s.__r3f.parent=n,Z0(s),on(s)}}function i(n,s,r=!1){n&&[...n].forEach(l=>Q(s,l,r))}function Q(n,s,r){if(s){var l,D,G;if(s.__r3f&&(s.__r3f.parent=null),(l=n.__r3f)!=null&&l.objects&&(n.__r3f.objects=n.__r3f.objects.filter(k=>k!==s)),(D=s.__r3f)!=null&&D.attach)MF(n,s,s.__r3f.attach);else if(s.isObject3D&&n.isObject3D){var h;n.remove(s),(h=s.__r3f)!=null&&h.root&&L1(s.__r3f.root,s)}const y=(G=s.__r3f)==null?void 0:G.primitive,S=!y&&(r===void 0?s.dispose!==null:r);if(!y){var c;i((c=s.__r3f)==null?void 0:c.objects,s,S),i(s.children,s,S)}if(delete s.__r3f,S&&s.dispose&&s.type!=="Scene"){const k=()=>{try{s.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?O0.unstable_scheduleCallback(O0.unstable_IdlePriority,k):k()}on(n)}}function e(n,s,r,l){var D;const G=(D=n.__r3f)==null?void 0:D.parent;if(!G)return;const h=I(s,r,n.__r3f.root);if(n.children){for(const c of n.children)c.__r3f&&C(h,c);n.children=n.children.filter(c=>!c.__r3f)}n.__r3f.objects.forEach(c=>C(h,c)),n.__r3f.objects=[],n.__r3f.autoRemovedBeforeAppend||Q(G,n),h.parent&&(h.__r3f.autoRemovedBeforeAppend=!0),C(G,h),h.raycast&&h.__r3f.eventCount&&h.__r3f.root.getState().internal.interaction.push(h),[l,l.alternate].forEach(c=>{c!==null&&(c.stateNode=h,c.ref&&(typeof c.ref=="function"?c.ref(h):c.ref.current=h))})}const E=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:k1({createInstance:I,removeChild:Q,appendChild:C,appendInitialChild:C,insertBefore:B,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(n,s)=>{if(!s)return;const r=n.getState().scene;r.__r3f&&(r.__r3f.root=n,C(r,s))},removeChildFromContainer:(n,s)=>{s&&Q(n.getState().scene,s)},insertInContainerBefore:(n,s,r)=>{if(!s||!r)return;const l=n.getState().scene;l.__r3f&&B(l,s,r)},getRootHostContext:()=>null,getChildHostContext:n=>n,finalizeInitialChildren(n){var s;return!!((s=n?.__r3f)!=null?s:{}).handlers},prepareUpdate(n,s,r,l){var D;if(((D=n?.__r3f)!=null?D:{}).primitive&&l.object&&l.object!==n)return[!0];{const{args:h=[],children:c,...y}=l,{args:S=[],children:k,...N}=r;if(!Array.isArray(h))throw new Error("R3F: the args prop must be an array!");if(h.some((f,q)=>f!==S[q]))return[!0];const p=LL(n,y,N,!0);return p.changes.length?[!1,p]:null}},commitUpdate(n,[s,r],l,D,G,h){s?e(n,l,G,h):py(n,r)},commitMount(n,s,r,l){var D;const G=(D=n.__r3f)!=null?D:{};n.raycast&&G.handlers&&G.eventCount&&n.__r3f.root.getState().internal.interaction.push(n)},getPublicInstance:n=>n,prepareForCommit:()=>null,preparePortalMount:n=>tn(n.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(n){var s;const{attach:r,parent:l}=(s=n.__r3f)!=null?s:{};r&&l&&MF(l,n,r),n.isObject3D&&(n.visible=!1),on(n)},unhideInstance(n,s){var r;const{attach:l,parent:D}=(r=n.__r3f)!=null?r:{};l&&D&&My(D,n,l),(n.isObject3D&&s.visible==null||s.visible)&&(n.visible=!0),on(n)},createTextInstance:E,hideTextInstance:E,unhideTextInstance:E,getCurrentEventPriority:()=>A?A():Un.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&vg.fun(performance.now)?performance.now:vg.fun(Date.now)?Date.now:()=>0,scheduleTimeout:vg.fun(setTimeout)?setTimeout:void 0,cancelTimeout:vg.fun(clearTimeout)?clearTimeout:void 0}),applyProps:py}}var yF,uF;const dy=g=>"colorSpace"in g||"outputColorSpace"in g,FL=()=>{var g;return(g=AM.ColorManagement)!=null?g:null},RL=g=>g&&g.isOrthographicCamera,f1=g=>g&&g.hasOwnProperty("current"),Vr=typeof window<"u"&&((yF=window.document)!=null&&yF.createElement||((uF=window.navigator)==null?void 0:uF.product)==="ReactNative")?j.useLayoutEffect:j.useEffect;function KL(g){const A=j.useRef(g);return Vr(()=>void(A.current=g),[g]),A}function F1({set:g}){return Vr(()=>(g(new Promise(()=>null)),()=>g(!1)),[g]),null}class JL extends j.Component{constructor(...A){super(...A),this.state={error:!1}}componentDidCatch(A){this.props.set(A)}render(){return this.state.error?null:this.props.children}}JL.getDerivedStateFromError=()=>({error:!0});const qL="__default",kF=new Map,R1=g=>g&&!!g.memoized&&!!g.changes;function mL(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 is=g=>{var A;return(A=g.__r3f)==null?void 0:A.root.getState()},vg={obj:g=>g===Object(g)&&!vg.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(vg.str(g)||vg.num(g))return g===A;const i=vg.obj(g);if(i&&C==="reference")return g===A;const Q=vg.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(!vg.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(vg.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 K1(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 J1(g){g.dispose&&g.type!=="Scene"&&g.dispose();for(const A in g)A.dispose==null||A.dispose(),delete g[A]}function tn(g,A){const I=g;return I.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...A},g}function _0(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 dF=/-\d+$/;function My(g,A,I){if(vg.str(I)){if(dF.test(I)){const i=I.replace(dF,""),{target:Q,key:e}=_0(g,i);Array.isArray(Q[e])||(Q[e]=[])}const{target:C,key:B}=_0(g,I);A.__r3f.previousAttach=C[B],C[B]=A}else A.__r3f.previousAttach=I(g,A)}function MF(g,A,I){var C,B;if(vg.str(I)){const{target:i,key:Q}=_0(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 LL(g,{children:A,key:I,ref:C,...B},{children:i,key:Q,ref:e,...E}={},t=!1){var n;const s=(n=g?.__r3f)!=null?n:{},r=Object.entries(B),l=[];if(t){const G=Object.keys(E);for(let h=0;h{var c;if((c=g.__r3f)!=null&&c.primitive&&G==="object"||vg.equ(h,E[G]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(G))return l.push([G,h,!0,[]]);let y=[];G.includes("-")&&(y=G.split("-")),l.push([G,h,!1,y]);for(const S in B){const k=B[S];S.startsWith(`${G}-`)&&l.push([S,k,!1,S.split("-")])}});const D={...B};return s.memoizedProps&&s.memoizedProps.args&&(D.args=s.memoizedProps.args),s.memoizedProps&&s.memoizedProps.attach&&(D.attach=s.memoizedProps.attach),{memoized:D,changes:l}}const q1=typeof process<"u"&&!1;function py(g,A){var I,C,B;const i=(I=g.__r3f)!=null?I:{},Q=i.root,e=(C=Q==null||Q.getState==null?void 0:Q.getState())!=null?C:{},{memoized:E,changes:t}=R1(A)?A:LL(g,A),n=i.eventCount;g.__r3f&&(g.__r3f.memoizedProps=E);for(let r=0;rS[k],g),!(y&&y.set))){const[S,...k]=h.reverse();c=k.reverse().reduce((N,p)=>N[p],g),l=S}if(D===qL+"remove")if(c.constructor){let S=kF.get(c.constructor);S||(S=new c.constructor,kF.set(c.constructor,S)),D=S[l]}else D=0;if(G)D?i.handlers[l]=D:delete i.handlers[l],i.eventCount=Object.keys(i.handlers).length;else if(y&&y.set&&(y.copy||y instanceof Tt)){if(Array.isArray(D))y.fromArray?y.fromArray(D):y.set(...D);else if(y.copy&&D&&D.constructor&&(q1?y.constructor.name===D.constructor.name:y.constructor===D.constructor))y.copy(D);else if(D!==void 0){const S=y instanceof tI;!S&&y.setScalar?y.setScalar(D):y instanceof Tt&&D instanceof Tt?y.mask=D.mask:y.set(D),!FL()&&!e.linear&&S&&y.convertSRGBToLinear()}}else if(c[l]=D,c[l]instanceof mg&&c[l].format===hB&&c[l].type===MQ){const S=c[l];dy(S)&&dy(e.gl)?S.colorSpace=e.gl.outputColorSpace:S.encoding=e.gl.outputEncoding}on(g)}if(i.parent&&e.internal&&g.raycast&&n!==i.eventCount){const r=e.internal.interaction.indexOf(g);r>-1&&e.internal.interaction.splice(r,1),i.eventCount&&e.internal.interaction.push(g)}return!(t.length===1&&t[0][0]==="onUpdate")&&t.length&&(B=g.__r3f)!=null&&B.parent&&Z0(g),g}function on(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 Z0(g){g.onUpdate==null||g.onUpdate(g)}function YL(g,A){g.manual||(RL(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 CD(g){return(g.eventObject||g.object).uuid+"/"+g.index+g.instanceId}function m1(){var g;const A=typeof self<"u"&&self||typeof window<"u"&&window;if(!A)return Un.DefaultEventPriority;switch((g=A.event)==null?void 0:g.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Un.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Un.ContinuousEventPriority;default:return Un.DefaultEventPriority}}function HL(g,A,I,C){const B=I.get(A);B&&(I.delete(A),I.size===0&&(g.delete(C),B.target.releasePointerCapture(C)))}function L1(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)=>{HL(I.capturedMap,A,C,B)})}function Y1(g){function A(E){const{internal:t}=g.getState(),n=E.offsetX-t.initialClick[0],s=E.offsetY-t.initialClick[1];return Math.round(Math.sqrt(n*n+s*s))}function I(E){return E.filter(t=>["Move","Over","Enter","Out","Leave"].some(n=>{var s;return(s=t.__r3f)==null?void 0:s.handlers["onPointer"+n]}))}function C(E,t){const n=g.getState(),s=new Set,r=[],l=t?t(n.internal.interaction):n.internal.interaction;for(let c=0;c{const S=is(c.object),k=is(y.object);return!S||!k?c.distance-y.distance:k.events.priority-S.events.priority||c.distance-y.distance}).filter(c=>{const y=CD(c);return s.has(y)?!1:(s.add(y),!0)});n.events.filter&&(G=n.events.filter(G,n));for(const c of G){let y=c.object;for(;y;){var h;(h=y.__r3f)!=null&&h.eventCount&&r.push({...c,eventObject:y}),y=y.parent}}if("pointerId"in E&&n.internal.capturedMap.has(E.pointerId))for(let c of n.internal.capturedMap.get(E.pointerId).values())s.has(CD(c.intersection))||r.push(c.intersection);return r}function B(E,t,n,s){const r=g.getState();if(E.length){const l={stopped:!1};for(const D of E){const G=is(D.object)||r,{raycaster:h,pointer:c,camera:y,internal:S}=G,k=new O(c.x,c.y,0).unproject(y),N=U=>{var K,z;return(K=(z=S.capturedMap.get(U))==null?void 0:z.has(D.eventObject))!=null?K:!1},p=U=>{const K={intersection:D,target:t.target};S.capturedMap.has(U)?S.capturedMap.get(U).set(D.eventObject,K):S.capturedMap.set(U,new Map([[D.eventObject,K]])),t.target.setPointerCapture(U)},f=U=>{const K=S.capturedMap.get(U);K&&HL(S.capturedMap,D.eventObject,K,U)};let q={};for(let U in t){let K=t[U];typeof K!="function"&&(q[U]=K)}let _={...D,...q,pointer:c,intersections:E,stopped:l.stopped,delta:n,unprojectedPoint:k,ray:h.ray,camera:y,stopPropagation(){const U="pointerId"in t&&S.capturedMap.get(t.pointerId);if((!U||U.has(D.eventObject))&&(_.stopped=l.stopped=!0,S.hovered.size&&Array.from(S.hovered.values()).find(K=>K.eventObject===D.eventObject))){const K=E.slice(0,E.indexOf(D));i([...K,D])}},target:{hasPointerCapture:N,setPointerCapture:p,releasePointerCapture:f},currentTarget:{hasPointerCapture:N,setPointerCapture:p,releasePointerCapture:f},nativeEvent:t};if(s(_),l.stopped===!0)break}}return E}function i(E){const{internal:t}=g.getState();for(const n of t.hovered.values())if(!E.length||!E.find(s=>s.object===n.object&&s.index===n.index&&s.instanceId===n.instanceId)){const r=n.eventObject.__r3f,l=r?.handlers;if(t.hovered.delete(CD(n)),r!=null&&r.eventCount){const D={...n,intersections:E};l.onPointerOut==null||l.onPointerOut(D),l.onPointerLeave==null||l.onPointerLeave(D)}}}function Q(E,t){for(let n=0;ni([]);case"onLostPointerCapture":return t=>{const{internal:n}=g.getState();"pointerId"in t&&n.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{n.capturedMap.has(t.pointerId)&&(n.capturedMap.delete(t.pointerId),i([]))})}}return function(n){const{onPointerMissed:s,internal:r}=g.getState();r.lastEvent.current=n;const l=E==="onPointerMove",D=E==="onClick"||E==="onContextMenu"||E==="onDoubleClick",h=C(n,l?I:void 0),c=D?A(n):0;E==="onPointerDown"&&(r.initialClick=[n.offsetX,n.offsetY],r.initialHits=h.map(S=>S.eventObject)),D&&!h.length&&c<=2&&(Q(n,r.interaction),s&&s(n)),l&&i(h);function y(S){const k=S.eventObject,N=k.__r3f,p=N?.handlers;if(N!=null&&N.eventCount)if(l){if(p.onPointerOver||p.onPointerEnter||p.onPointerOut||p.onPointerLeave){const f=CD(S),q=r.hovered.get(f);q?q.stopped&&S.stopPropagation():(r.hovered.set(f,S),p.onPointerOver==null||p.onPointerOver(S),p.onPointerEnter==null||p.onPointerEnter(S))}p.onPointerMove==null||p.onPointerMove(S)}else{const f=p[E];f?(!D||r.initialHits.includes(k))&&(Q(n,r.interaction.filter(q=>!r.initialHits.includes(q))),f(S)):D&&r.initialHits.includes(k)&&Q(n,r.interaction.filter(q=>!r.initialHits.includes(q)))}}B(h,n,c,y)}}return{handlePointer:e}}const H1=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],TL=g=>!!(g!=null&&g.render),gM=j.createContext(null),T1=(g,A)=>{const I=dL((e,E)=>{const t=new O,n=new O,s=new O;function r(c=E().camera,y=n,S=E().size){const{width:k,height:N,top:p,left:f}=S,q=k/N;y instanceof O?s.copy(y):s.set(...y);const _=c.getWorldPosition(t).distanceTo(s);if(RL(c))return{width:k/c.zoom,height:N/c.zoom,top:p,left:f,factor:1,distance:_,aspect:q};{const U=c.fov*Math.PI/180,K=2*Math.tan(U/2)*_,z=K*(k/N);return{width:z,height:K,top:p,left:f,factor:k/z,distance:_,aspect:q}}}let l;const D=c=>e(y=>({performance:{...y.performance,current:c}})),G=new KA;return{set:e,get:E,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(c=1)=>g(E(),c),advance:(c,y)=>A(c,y,E()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new jd,pointer:G,mouse:G,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const c=E();l&&clearTimeout(l),c.performance.current!==c.performance.min&&D(c.performance.min),l=setTimeout(()=>D(E().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(y=>({...y,events:{...y.events,...c}})),setSize:(c,y,S,k,N)=>{const p=E().camera,f={width:c,height:y,top:k||0,left:N||0,updateStyle:S};e(q=>({size:f,viewport:{...q.viewport,...r(p,n,f)}}))},setDpr:c=>e(y=>{const S=mL(c);return{viewport:{...y.viewport,dpr:S,initialDpr:y.viewport.initialDpr||S}}}),setFrameloop:(c="always")=>{const y=E().clock;y.stop(),y.elapsedTime=0,c!=="never"&&(y.start(),y.elapsedTime=0),e(()=>({frameloop:c}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:j.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(c,y,S)=>{const k=E().internal;return k.priority=k.priority+(y>0?1:0),k.subscribers.push({ref:c,priority:y,store:S}),k.subscribers=k.subscribers.sort((N,p)=>N.priority-p.priority),()=>{const N=E().internal;N!=null&&N.subscribers&&(N.priority=N.priority-(y>0?1:0),N.subscribers=N.subscribers.filter(p=>p.ref!==c))}}}}}),C=I.getState();let B=C.size,i=C.viewport.dpr,Q=C.camera;return I.subscribe(()=>{const{camera:e,size:E,viewport:t,gl:n,set:s}=I.getState();if(E.width!==B.width||E.height!==B.height||t.dpr!==i){var r;B=E,i=t.dpr,YL(e,E),n.setPixelRatio(t.dpr);const l=(r=E.updateStyle)!=null?r:typeof HTMLCanvasElement<"u"&&n.domElement instanceof HTMLCanvasElement;n.setSize(E.width,E.height,l)}e!==Q&&(Q=e,s(l=>({viewport:{...l.viewport,...l.viewport.getCurrentViewport(e)}})))}),I.subscribe(e=>g(e)),I};function xL(g,A){const I={callback:g};return A.add(I),()=>void A.delete(I)}let BD,vL=new Set,bL=new Set,x1=new Set;const v1=g=>xL(g,vL),b1=g=>xL(g,bL);function Uy(g,A){if(g.size)for(const{callback:I}of g.values())I(A)}function Qs(g,A){switch(g){case"before":return Uy(vL,A);case"after":return Uy(bL,A);case"tail":return Uy(x1,A)}}let Ny,fy;function Fy(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),Ny=A.internal.subscribers,BD=0;BD0)&&!((t=B.gl.xr)!=null&&t.isPresenting)&&(I+=Fy(E,B))}if(Qs("after",E),I===0)return Qs("tail",E),A=!1,cancelAnimationFrame(C)}function Q(E,t=1){var n;if(!E)return g.forEach(s=>Q(s.store.getState()),t);(n=E.gl.xr)!=null&&n.isPresenting||!E.internal.active||E.frameloop==="never"||(E.internal.frames=Math.min(60,E.internal.frames+t),A||(A=!0,requestAnimationFrame(i)))}function e(E,t=!0,n,s){if(t&&Qs("before",E),n)Fy(E,n,s);else for(const r of g.values())Fy(E,r.store.getState());t&&Qs("after",E)}return{loop:i,invalidate:Q,advance:e}}function la(){const g=j.useContext(gM);if(!g)throw new Error("R3F: Hooks can only be used within the Canvas component!");return g}function wB(g=I=>I,A){return la()(g,A)}function OB(g,A=0){const I=la(),C=I.getState().internal.subscribe,B=KL(g);return Vr(()=>C(B,A,I),[A,C,I]),null}const pF=new WeakMap;function OL(g,A){return function(I,...C){let B=pF.get(I);return B||(B=new I,pF.set(I,B)),g&&g(B),Promise.all(C.map(i=>new Promise((Q,e)=>B.load(i,E=>{E.scene&&Object.assign(E,K1(E.scene)),Q(E)},A,E=>e(new Error(`Could not load ${i}: ${E?.message}`)))))).finally(()=>B.dispose==null?void 0:B.dispose())}}function no(g,A,I,C){const B=Array.isArray(A)?A:[A],i=M1(OL(I,C),[g,...B],{equal:vg.equ});return Array.isArray(A)?i:i[0]}no.preload=function(g,A,I){const C=Array.isArray(A)?A:[A];return p1(OL(I),[g,...C])};no.clear=function(g,A){const I=Array.isArray(A)?A:[A];return U1([g,...I])};const ga=new Map,{invalidate:UF,advance:NF}=O1(ga),{reconciler:Gr,applyProps:$o}=N1(ga,m1),An={objects:"shallow",strict:!1},_1=(g,A)=>{const I=typeof g=="function"?g(A):g;return TL(I)?I:new pd({powerPreference:"high-performance",canvas:A,antialias:!0,alpha:!0,...g})};function Z1(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 P1(g){const A=ga.get(g),I=A?.fiber,C=A?.store;A&&console.warn("R3F.createRoot should only be called once!");const B=typeof reportError=="function"?reportError:console.error,i=C||T1(UF,NF),Q=I||Gr.createContainer(i,Un.ConcurrentRoot,null,!1,null,"",B,null);A||ga.set(g,{fiber:Q,store:i});let e,E=!1,t;return{configure(n={}){let{gl:s,size:r,scene:l,events:D,onCreated:G,shadows:h=!1,linear:c=!1,flat:y=!1,legacy:S=!1,orthographic:k=!1,frameloop:N="always",dpr:p=[1,2],performance:f,raycaster:q,camera:_,onPointerMissed:U}=n,K=i.getState(),z=K.gl;K.gl||K.set({gl:z=_1(s,g)});let rA=K.raycaster;rA||K.set({raycaster:rA=new $d});const{params:X,...sA}=q||{};if(vg.equ(sA,rA,An)||$o(rA,{...sA}),vg.equ(X,rA.params,An)||$o(rA,{params:{...rA.params,...X}}),!K.camera||K.camera===t&&!vg.equ(t,_,An)){t=_;const fA=_ instanceof Hr,VA=fA?_:k?new he(0,0,0,0,.1,1e3):new GC(75,0,.1,1e3);fA||(VA.position.z=5,_&&$o(VA,_),!K.camera&&!(_!=null&&_.rotation)&&VA.lookAt(0,0,0)),K.set({camera:VA}),rA.camera=VA}if(!K.scene){let fA;l instanceof Xt?fA=l:(fA=new Xt,l&&$o(fA,l)),K.set({scene:tn(fA)})}if(!K.xr){var oA;const fA=(v,x)=>{const H=i.getState();H.frameloop!=="never"&&NF(v,!0,H,x)},VA=()=>{const v=i.getState();v.gl.xr.enabled=v.gl.xr.isPresenting,v.gl.xr.setAnimationLoop(v.gl.xr.isPresenting?fA:null),v.gl.xr.isPresenting||UF(v)},W={connect(){const v=i.getState().gl;v.xr.addEventListener("sessionstart",VA),v.xr.addEventListener("sessionend",VA)},disconnect(){const v=i.getState().gl;v.xr.removeEventListener("sessionstart",VA),v.xr.removeEventListener("sessionend",VA)}};typeof((oA=z.xr)==null?void 0:oA.addEventListener)=="function"&&W.connect(),K.set({xr:W})}if(z.shadowMap){const fA=z.shadowMap.enabled,VA=z.shadowMap.type;if(z.shadowMap.enabled=!!h,vg.boo(h))z.shadowMap.type=ms;else if(vg.str(h)){var GA;const W={basic:Gq,percentage:$h,soft:ms,variance:Pi};z.shadowMap.type=(GA=W[h])!=null?GA:ms}else vg.obj(h)&&Object.assign(z.shadowMap,h);(fA!==z.shadowMap.enabled||VA!==z.shadowMap.type)&&(z.shadowMap.needsUpdate=!0)}const b=FL();b&&("enabled"in b?b.enabled=!S:"legacyMode"in b&&(b.legacyMode=S)),$o(z,{outputEncoding:c?3e3:3001,toneMapping:y?dQ:Qd}),K.legacy!==S&&K.set(()=>({legacy:S})),K.linear!==c&&K.set(()=>({linear:c})),K.flat!==y&&K.set(()=>({flat:y})),s&&!vg.fun(s)&&!TL(s)&&!vg.equ(s,z,An)&&$o(z,s),D&&!K.events.handlers&&K.set({events:D(i)});const DA=Z1(g,r);return vg.equ(DA,K.size,An)||K.setSize(DA.width,DA.height,DA.updateStyle,DA.top,DA.left),p&&K.viewport.dpr!==mL(p)&&K.setDpr(p),K.frameloop!==N&&K.setFrameloop(N),K.onPointerMissed||K.set({onPointerMissed:U}),f&&!vg.equ(f,K.performance,An)&&K.set(fA=>({performance:{...fA.performance,...f}})),e=G,E=!0,this},render(n){return E||this.configure(),Gr.updateContainer(j.createElement(W1,{store:i,children:n,onCreated:e,rootElement:g}),Q,null,()=>{}),i},unmount(){_L(g)}}}function W1({store:g,children:A,onCreated:I,rootElement:C}){return Vr(()=>{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)},[]),j.createElement(gM.Provider,{value:g},A)}function _L(g,A){const I=ga.get(g),C=I?.fiber;if(C){const B=I?.store.getState();B&&(B.internal.active=!1),Gr.updateContainer(null,C,null,()=>{B&&setTimeout(()=>{try{var i,Q,e,E;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(),(E=B.gl)!=null&&E.xr&&B.xr.disconnect(),J1(B),ga.delete(g),A&&A(g)}catch{}},500)})}}function pw(g,A,I){return j.createElement(j1,{key:A.uuid,children:g,container:A,state:I})}function j1({state:g={},children:A,container:I}){const{events:C,size:B,...i}=g,Q=la(),[e]=j.useState(()=>new $d),[E]=j.useState(()=>new KA),t=j.useCallback((s,r)=>{const l={...s};Object.keys(s).forEach(G=>{(H1.includes(G)||s[G]!==r[G]&&r[G])&&delete l[G]});let D;if(r&&B){const G=r.camera;D=s.viewport.getCurrentViewport(G,new O,B),G!==s.camera&&YL(G,B)}return{...l,scene:I,raycaster:e,pointer:E,mouse:E,previousRoot:Q,events:{...s.events,...r?.events,...C},size:{...s.size,...B},viewport:{...s.viewport,...D},...i}},[g]),[n]=j.useState(()=>{const s=Q.getState();return dL((l,D)=>({...s,scene:I,raycaster:e,pointer:E,mouse:E,previousRoot:Q,events:{...s.events,...C},size:{...s.size,...B},...i,set:l,get:D,setEvents:G=>l(h=>({...h,events:{...h.events,...G}}))}))});return j.useEffect(()=>{const s=Q.subscribe(r=>n.setState(l=>t(r,l)));return()=>{s(),n.destroy()}},[]),j.useEffect(()=>{n.setState(s=>t(Q.getState(),s))},[t]),j.createElement(j.Fragment,null,Gr.createPortal(j.createElement(gM.Provider,{value:n},A),n,null))}Gr.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:j.version});function P0(g,A,I){var C,B,i,Q,e;A==null&&(A=100);function E(){var n=Date.now()-Q;n=0?C=setTimeout(E,A-n):(C=null,I||(e=g.apply(i,B),i=B=null))}var t=function(){i=this,B=arguments,Q=Date.now();var n=I&&!C;return C||(C=setTimeout(E,A)),n&&(e=g.apply(i,B),i=B=null),e};return t.clear=function(){C&&(clearTimeout(C),C=null)},t.flush=function(){C&&(e=g.apply(i,B),i=B=null,clearTimeout(C),C=null)},t}P0.debounce=P0;var V1=P0;const fF=mh(V1);function X1(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]=j.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),E=j.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:Q}),t=A?typeof A=="number"?A:A.scroll:null,n=A?typeof A=="number"?A:A.resize:null,s=j.useRef(!1);j.useEffect(()=>(s.current=!0,()=>void(s.current=!1)));const[r,l,D]=j.useMemo(()=>{const y=()=>{if(!E.current.element)return;const{left:S,top:k,width:N,height:p,bottom:f,right:q,x:_,y:U}=E.current.element.getBoundingClientRect(),K={left:S,top:k,width:N,height:p,bottom:f,right:q,x:_,y:U};E.current.element instanceof HTMLElement&&B&&(K.height=E.current.element.offsetHeight,K.width=E.current.element.offsetWidth),Object.freeze(K),s.current&&!IP(E.current.lastBounds,K)&&e(E.current.lastBounds=K)};return[y,n?fF(y,n):y,t?fF(y,t):y]},[e,B,t,n]);function G(){E.current.scrollContainers&&(E.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",D,!0)),E.current.scrollContainers=null),E.current.resizeObserver&&(E.current.resizeObserver.disconnect(),E.current.resizeObserver=null)}function h(){E.current.element&&(E.current.resizeObserver=new i(D),E.current.resizeObserver.observe(E.current.element),I&&E.current.scrollContainers&&E.current.scrollContainers.forEach(y=>y.addEventListener("scroll",D,{capture:!0,passive:!0})))}const c=y=>{!y||y===E.current.element||(G(),E.current.element=y,E.current.scrollContainers=ZL(y),h())};return $1(D,!!I),z1(l),j.useEffect(()=>{G(),h()},[I,D,l]),j.useEffect(()=>G,[]),[c,Q,r]}function z1(g){j.useEffect(()=>{const A=g;return window.addEventListener("resize",A),()=>void window.removeEventListener("resize",A)},[g])}function $1(g,A){j.useEffect(()=>{if(A){const I=g;return window.addEventListener("scroll",I,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",I,!0)}},[g,A])}function ZL(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,...ZL(g.parentElement)]}const AP=["x","y","top","bottom","left","right","width","height"],IP=(g,A)=>AP.every(I=>g[I]===A[I]);var gP=Object.defineProperty,CP=Object.defineProperties,BP=Object.getOwnPropertyDescriptors,FF=Object.getOwnPropertySymbols,iP=Object.prototype.hasOwnProperty,QP=Object.prototype.propertyIsEnumerable,RF=(g,A,I)=>A in g?gP(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,KF=(g,A)=>{for(var I in A||(A={}))iP.call(A,I)&&RF(g,I,A[I]);if(FF)for(var I of FF(A))QP.call(A,I)&&RF(g,I,A[I]);return g},eP=(g,A)=>CP(g,BP(A));function PL(g,A,I){if(!g)return;if(I(g)===!0)return g;let C=A?g.return:g.child;for(;C;){const B=PL(C,A,I);if(B)return B;C=A?null:C.sibling}}function WL(g){try{return Object.defineProperties(g,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return g}}const CM=WL(j.createContext(null));class jL extends j.Component{render(){return j.createElement(CM.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:JF,ReactCurrentDispatcher:qF}=j.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function EP(){const g=j.useContext(CM);if(g===null)throw new Error("its-fine: useFiber must be called within a !");const A=j.useId();return j.useMemo(()=>{for(const C of[JF?.current,g,g?.alternate]){if(!C)continue;const B=PL(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 tP(){var g,A;const I=EP(),[C]=j.useState(()=>new Map);C.clear();let B=I;for(;B;){const i=(g=B.type)==null?void 0:g._context;i&&i!==CM&&!C.has(i)&&C.set(i,(A=qF?.current)==null?void 0:A.readContext(WL(i))),B=B.return}return C}function oP(){const g=tP();return j.useMemo(()=>Array.from(g.keys()).reduce((A,I)=>C=>j.createElement(A,null,j.createElement(I.Provider,eP(KF({},C),{value:g.get(I)}))),A=>j.createElement(jL,KF({},A))),[g])}const Ry={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 nP(g){const{handlePointer:A}=Y1(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(Ry).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[E,t]=Ry[Q];I.addEventListener(E,e,{passive:t})})},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]=Ry[i];C.connected.removeEventListener(e,Q)}}),I(i=>({events:{...i.events,connected:void 0}}))}}}}const aP=j.forwardRef(function({children:A,fallback:I,resize:C,style:B,gl:i,events:Q=nP,eventSource:e,eventPrefix:E,shadows:t,linear:n,flat:s,legacy:r,orthographic:l,frameloop:D,dpr:G,performance:h,raycaster:c,camera:y,scene:S,onPointerMissed:k,onCreated:N,...p},f){j.useMemo(()=>IM(w1),[]);const q=oP(),[_,U]=X1({scroll:!0,debounce:{scroll:50,resize:0},...C}),K=j.useRef(null),z=j.useRef(null);j.useImperativeHandle(f,()=>K.current);const rA=KL(k),[X,sA]=j.useState(!1),[oA,GA]=j.useState(!1);if(X)throw X;if(oA)throw oA;const b=j.useRef(null);Vr(()=>{const CA=K.current;U.width>0&&U.height>0&&CA&&(b.current||(b.current=P1(CA)),b.current.configure({gl:i,events:Q,shadows:t,linear:n,flat:s,legacy:r,orthographic:l,frameloop:D,dpr:G,performance:h,raycaster:c,camera:y,scene:S,size:U,onPointerMissed:(...DA)=>rA.current==null?void 0:rA.current(...DA),onCreated:DA=>{DA.events.connect==null||DA.events.connect(e?f1(e)?e.current:e:z.current),E&&DA.setEvents({compute:(fA,VA)=>{const W=fA[E+"X"],v=fA[E+"Y"];VA.pointer.set(W/VA.size.width*2-1,-(v/VA.size.height)*2+1),VA.raycaster.setFromCamera(VA.pointer,VA.camera)}}),N?.(DA)}}),b.current.render(j.createElement(q,null,j.createElement(JL,{set:GA},j.createElement(j.Suspense,{fallback:j.createElement(F1,{set:sA})},A)))))}),j.useEffect(()=>{const CA=K.current;if(CA)return()=>_L(CA)},[]);const gA=e?"none":"auto";return j.createElement("div",FE({ref:z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:gA,...B}},p),j.createElement("div",{ref:_,style:{width:"100%",height:"100%"}},j.createElement("canvas",{ref:K,style:{display:"block"}},I)))}),sP=j.forwardRef(function(A,I){return j.createElement(jL,null,j.createElement(aP,FE({},A,{ref:I})))});function VL(g){return function(A){g.forEach(function(I){typeof I=="function"?I(A):I!=null&&(I.current=A)})}}function Ts(g,A,I){return A in g?Object.defineProperty(g,A,{value:I,enumerable:!0,configurable:!0,writable:!0}):g[A]=I,g}function W0(g,A){return W0=Object.setPrototypeOf||function(C,B){return C.__proto__=B,C},W0(g,A)}function rP(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j0(g,A){(A==null||A>g.length)&&(A=g.length);for(var I=0,C=new Array(A);IMath.PI&&(I-=Math.PI*2),I}function BM(g,A){if(!(g instanceof A))throw new TypeError("Cannot call a class as a function")}var Si=function g(A,I,C){var B=this;BM(this,g),Ts(this,"dot2",function(i,Q){return B.x*i+B.y*Q}),Ts(this,"dot3",function(i,Q,e){return B.x*i+B.y*Q+B.z*e}),this.x=A,this.y=I,this.z=C},uP=[new Si(1,1,0),new Si(-1,1,0),new Si(1,-1,0),new Si(-1,-1,0),new Si(1,0,1),new Si(-1,0,1),new Si(1,0,-1),new Si(-1,0,-1),new Si(0,1,1),new Si(0,-1,1),new Si(0,1,-1),new Si(0,-1,-1)],mF=[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],LF=new Array(512),YF=new Array(512),kP=function(A){A>0&&A<1&&(A*=65536),A=Math.floor(A),A<256&&(A|=A<<8);for(var I=0;I<256;I++){var C;I&1?C=mF[I]^A&255:C=mF[I]^A>>8&255,LF[I]=LF[I+256]=C,YF[I]=YF[I+256]=uP[C%12]}};kP(0);function dP(g){if(typeof g=="number")g=Math.abs(g);else if(typeof g=="string"){var A=g;g=0;for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:.01,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1/(2*Math.PI);return C/Math.atan(1/I)*Math.atan(Math.sin(2*Math.PI*A*B)/I)},XL=function(A){return 1/(1+A+.48*A*A+.235*A*A*A)},UP=function(A){return A},NP={in:function(A){return 1-Math.cos(A*Math.PI/2)},out:function(A){return Math.sin(A*Math.PI/2)},inOut:function(A){return-(Math.cos(Math.PI*A)-1)/2}},fP={in:function(A){return A*A*A},out:function(A){return 1-Math.pow(1-A,3)},inOut:function(A){return A<.5?4*A*A*A:1-Math.pow(-2*A+2,3)/2}},FP={in:function(A){return A*A*A*A*A},out:function(A){return 1-Math.pow(1-A,5)},inOut:function(A){return A<.5?16*A*A*A*A*A:1-Math.pow(-2*A+2,5)/2}},RP={in:function(A){return 1-Math.sqrt(1-Math.pow(A,2))},out:function(A){return Math.sqrt(1-Math.pow(A-1,2))},inOut:function(A){return A<.5?(1-Math.sqrt(1-Math.pow(2*A,2)))/2:(Math.sqrt(1-Math.pow(-2*A+2,2))+1)/2}},KP={in:function(A){return A*A*A*A},out:function(A){return 1- --A*A*A*A},inOut:function(A){return A<.5?8*A*A*A*A:1-8*--A*A*A*A}},JP={in:function(A){return A===0?0:Math.pow(2,10*A-10)},out:function(A){return A===1?1:1-Math.pow(2,-10*A)},inOut:function(A){return A===0?0:A===1?1:A<.5?Math.pow(2,20*A-10)/2:(2-Math.pow(2,-20*A+10))/2}};function FC(g,A,I){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.25,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:.01,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:1/0,Q=arguments.length>6&&arguments[6]!==void 0?arguments[6]:XL,e=arguments.length>7&&arguments[7]!==void 0?arguments[7]:.001,E="velocity_"+A;if(g.__damp===void 0&&(g.__damp={}),g.__damp[E]===void 0&&(g.__damp[E]=0),Math.abs(g[A]-I)<=e)return g[A]=I,!1;C=Math.max(1e-4,C);var t=2/C,n=Q(t*B),s=g[A]-I,r=I,l=i*C;s=Math.min(Math.max(s,-l),l),I=g[A]-s;var D=(g.__damp[E]+t*s)*B;g.__damp[E]=(g.__damp[E]-t*D)*n;var G=I+(s+D)*n;return r-g[A]>0==G>r&&(G=r,g.__damp[E]=(G-r)/B),g[A]=G,!0}var qP=function(A){return A&&A.isCamera},mP=function(A){return A&&A.isLight},es=new O,TF=new _g,xF=new _g,Es=new pI,Ky=new O;function LP(g,A,I,C,B,i,Q){typeof A=="number"?es.setScalar(A):Array.isArray(A)?es.set(A[0],A[1],A[2]):es.copy(A);var e=g.parent;g.updateWorldMatrix(!0,!1),Ky.setFromMatrixPosition(g.matrixWorld),qP(g)||mP(g)?Es.lookAt(Ky,es,g.up):Es.lookAt(es,Ky,g.up),Gh(g.quaternion,xF.setFromRotationMatrix(Es),I,C,B,i,Q),e&&(Es.extractRotation(e.matrixWorld),TF.setFromRotationMatrix(Es),Gh(g.quaternion,xF.copy(g.quaternion).premultiply(TF.invert()),I,C,B,i,Q))}function Yn(g,A,I,C,B,i,Q,e){return FC(g,A,g[A]+yP(g[A],I),C,B,i,Q,e)}var ts=new KA,vF,bF;function YP(g,A,I,C,B,i,Q){return typeof A=="number"?ts.setScalar(A):Array.isArray(A)?ts.set(A[0],A[1]):ts.copy(A),vF=FC(g,"x",ts.x,I,C,B,i,Q),bF=FC(g,"y",ts.y,I,C,B,i,Q),vF||bF}var In=new O,OF,_F,ZF;function V0(g,A,I,C,B,i,Q){return typeof A=="number"?In.setScalar(A):Array.isArray(A)?In.set(A[0],A[1],A[2]):In.copy(A),OF=FC(g,"x",In.x,I,C,B,i,Q),_F=FC(g,"y",In.y,I,C,B,i,Q),ZF=FC(g,"z",In.z,I,C,B,i,Q),OF||_F||ZF}var lt=new Sg,PF,WF,jF,VF;function HP(g,A,I,C,B,i,Q){return typeof A=="number"?lt.setScalar(A):Array.isArray(A)?lt.set(A[0],A[1],A[2],A[3]):lt.copy(A),PF=FC(g,"x",lt.x,I,C,B,i,Q),WF=FC(g,"y",lt.y,I,C,B,i,Q),jF=FC(g,"z",lt.z,I,C,B,i,Q),VF=FC(g,"w",lt.w,I,C,B,i,Q),PF||WF||jF||VF}var os=new fQ,XF,zF,$F;function TP(g,A,I,C,B,i,Q){return Array.isArray(A)?os.set(A[0],A[1],A[2],A[3]):os.copy(A),XF=Yn(g,"x",os.x,I,C,B,i,Q),zF=Yn(g,"y",os.y,I,C,B,i,Q),$F=Yn(g,"z",os.z,I,C,B,i,Q),XF||zF||$F}var gn=new tI,AR,IR,gR;function xP(g,A,I,C,B,i,Q){return A instanceof tI?gn.copy(A):Array.isArray(A)?gn.setRGB(A[0],A[1],A[2]):gn.set(A),AR=FC(g,"r",gn.r,I,C,B,i,Q),IR=FC(g,"g",gn.g,I,C,B,i,Q),gR=FC(g,"b",gn.b,I,C,B,i,Q),AR||IR||gR}var Oi=new _g,ZQ=new Sg,CR=new Sg,ns=new Sg,BR,iR,QR,eR;function Gh(g,A,I,C,B,i,Q){var e=g;Array.isArray(A)?Oi.set(A[0],A[1],A[2],A[3]):Oi.copy(A);var E=g.dot(Oi)>0?1:-1;return Oi.x*=E,Oi.y*=E,Oi.z*=E,Oi.w*=E,BR=FC(g,"x",Oi.x,I,C,B,i,Q),iR=FC(g,"y",Oi.y,I,C,B,i,Q),QR=FC(g,"z",Oi.z,I,C,B,i,Q),eR=FC(g,"w",Oi.w,I,C,B,i,Q),ZQ.set(g.x,g.y,g.z,g.w).normalize(),CR.set(e.__damp.velocity_x,e.__damp.velocity_y,e.__damp.velocity_z,e.__damp.velocity_w),ns.copy(ZQ).multiplyScalar(CR.dot(ZQ)/ZQ.dot(ZQ)),e.__damp.velocity_x-=ns.x,e.__damp.velocity_y-=ns.y,e.__damp.velocity_z-=ns.z,e.__damp.velocity_w-=ns.w,g.set(ZQ.x,ZQ.y,ZQ.z,ZQ.w),BR||iR||QR||eR}var as=new GL,ER,tR,oR;function vP(g,A,I,C,B,i,Q){return Array.isArray(A)?as.set(A[0],A[1],A[2]):as.copy(A),ER=FC(g,"radius",as.radius,I,C,B,i,Q),tR=Yn(g,"phi",as.phi,I,C,B,i,Q),oR=Yn(g,"theta",as.theta,I,C,B,i,Q),ER||tR||oR}var iD=new pI,nR=new O,aR=new _g,sR=new O,rR,lR,cR;function bP(g,A,I,C,B,i,Q){var e=g;return e.__damp===void 0&&(e.__damp={position:new O,rotation:new _g,scale:new O},g.decompose(e.__damp.position,e.__damp.rotation,e.__damp.scale)),Array.isArray(A)?iD.set.apply(iD,wP(A)):iD.copy(A),iD.decompose(nR,aR,sR),rR=V0(e.__damp.position,nR,I,C,B,i,Q),lR=Gh(e.__damp.rotation,aR,I,C,B,i,Q),cR=V0(e.__damp.scale,sR,I,C,B,i,Q),g.compose(e.__damp.position,e.__damp.rotation,e.__damp.scale),rR||lR||cR}var X0=Object.freeze({__proto__:null,rsqw:pP,exp:XL,linear:UP,sine:NP,cubic:fP,quint:FP,circ:RP,quart:KP,expo:JP,damp:FC,dampLookAt:LP,dampAngle:Yn,damp2:YP,damp3:V0,damp4:HP,dampE:TP,dampC:xP,dampQ:Gh,dampS:vP,dampM:bP});function OP(g,A){if(typeof A!="function"&&A!==null)throw new TypeError("Super expression must either be null or a function");g.prototype=Object.create(A&&A.prototype,{constructor:{value:g,writable:!0,configurable:!0}}),A&&W0(g,A)}function yh(g){return yh=Object.setPrototypeOf?Object.getPrototypeOf:function(I){return I.__proto__||Object.getPrototypeOf(I)},yh(g)}function _P(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}function ZP(g,A){if(A&&(typeof A=="object"||typeof A=="function"))return A;if(A!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _P(g)}function PP(g){var A=rP();return function(){var C=yh(g),B;if(A){var i=yh(this).constructor;B=Reflect.construct(C,arguments,i)}else B=C.apply(this,arguments);return ZP(this,B)}}var WP=function(g){OP(I,g);var A=PP(I);function I(){var C,B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:2,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:.2,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:16;BM(this,I),C=A.call(this),C.parameters={width:B,height:i,radius:Q,segments:e};for(var E=B/2-Q,t=i/2-Q,n=Q/B,s=(B-Q)/B,r=Q/i,l=(i-Q)/i,D=[E,t,0,-E,t,0,-E,-t,0,E,-t,0],G=[s,l,n,l,n,r,s,r],h=[3*(e+1)+3,3*(e+1)+4,e+4,e+5,2*(e+1)+4,2,1,2*(e+1)+3,3,4*(e+1)+3,4,0],c=[h[0],h[1],h[2],h[0],h[2],h[3],h[4],h[5],h[6],h[4],h[6],h[7],h[8],h[9],h[10],h[8],h[10],h[11]],y,S,k,N,p,f,q,_,U=0;U<4;U++){N=U<1||U>2?E:-E,p=U<2?t:-t,f=U<1||U>2?s:n,q=U<2?l:r;for(var K=0;K<=e;K++)y=Math.PI/2*(U+K/e),S=Math.cos(y),k=Math.sin(y),D.push(N+Q*S,p+Q*k,0),G.push(f+n*S,q+r*k),KEA.x&&EA.y>EA.z?(UA.x=(v.x-I.min.x)/C,UA.y=(I.max.z-v.z)/C,hA.x=(x.x-I.min.x)/C,hA.y=(I.max.z-x.z)/C,NA.x=(H.x-I.min.x)/C,NA.y=(I.max.z-H.z)/C):EA.x>EA.y&&EA.x>EA.z?(UA.x=(v.z-I.min.z)/C,UA.y=(v.y-I.min.y)/C,hA.x=(x.z-I.min.z)/C,hA.y=(x.y-I.min.y)/C,NA.x=(H.z-I.min.z)/C,NA.y=(H.y-I.min.y)/C):EA.z>EA.y&&EA.z>EA.x&&(UA.x=(v.x-I.min.x)/C,UA.y=(v.y-I.min.y)/C,hA.x=(x.x-I.min.x)/C,hA.y=(x.y-I.min.y)/C,NA.x=(H.x-I.min.x)/C,NA.y=(H.y-I.min.y)/C),{uv0:UA,uv1:hA,uv2:NA}};if(g.index)for(var Q=0;Q>>1|(bg&21845)<<1;ze=(ze&52428)>>>2|(ze&13107)<<2,ze=(ze&61680)>>>4|(ze&3855)<<4,$0[bg]=((ze&65280)>>>8|(ze&255)<<8)>>>1}var xs=function(g,A,I){for(var C=g.length,B=0,i=new nE(A);B>>E]=t}else for(e=new nE(C),B=0;B>>15-g[B]);return e},Xr=new Ui(288);for(var bg=0;bg<144;++bg)Xr[bg]=8;for(var bg=144;bg<256;++bg)Xr[bg]=9;for(var bg=256;bg<280;++bg)Xr[bg]=7;for(var bg=280;bg<288;++bg)Xr[bg]=8;var CY=new Ui(32);for(var bg=0;bg<32;++bg)CY[bg]=5;var QW=xs(Xr,9,1),eW=xs(CY,5,1),Jy=function(g){for(var A=g[0],I=1;IA&&(A=g[I]);return A},_i=function(g,A,I){var C=A/8|0;return(g[C]|g[C+1]<<8)>>(A&7)&I},qy=function(g,A){var I=A/8|0;return(g[I]|g[I+1]<<8|g[I+2]<<16)>>(A&7)},EW=function(g){return(g/8|0)+(g&7&&1)},tW=function(g,A,I){(A==null||A<0)&&(A=0),(I==null||I>g.length)&&(I=g.length);var C=new(g instanceof nE?nE:g instanceof z0?z0:Ui)(I-A);return C.set(g.subarray(A,I)),C},oW=function(g,A,I){var C=g.length;if(!C||I&&!I.l&&C<5)return A||new Ui(0);var B=!A||I,i=!I||I.i;I||(I={}),A||(A=new Ui(C*3));var Q=function(x){var H=A.length;if(x>H){var EA=new Ui(Math.max(H*2,x));EA.set(A),A=EA}},e=I.f||0,E=I.p||0,t=I.b||0,n=I.l,s=I.d,r=I.m,l=I.n,D=C*8;do{if(!n){I.f=e=_i(g,E,1);var G=_i(g,E+1,3);if(E+=3,G)if(G==1)n=QW,s=eW,r=9,l=5;else if(G==2){var S=_i(g,E,31)+257,k=_i(g,E+10,15)+4,N=S+_i(g,E+5,31)+1;E+=14;for(var p=new Ui(N),f=new Ui(19),q=0;q>>4;if(h<16)p[q++]=h;else{var rA=0,X=0;for(h==16?(X=3+_i(g,E,3),E+=2,rA=p[q-1]):h==17?(X=3+_i(g,E,7),E+=3):h==18&&(X=11+_i(g,E,127),E+=7);X--;)p[q++]=rA}}var sA=p.subarray(0,S),oA=p.subarray(S);r=Jy(sA),l=Jy(oA),n=xs(sA,r,1),s=xs(oA,l,1)}else throw"invalid block type";else{var h=EW(E)+4,c=g[h-4]|g[h-3]<<8,y=h+c;if(y>C){if(i)throw"unexpected EOF";break}B&&Q(t+c),A.set(g.subarray(h,y),t),I.b=t+=c,I.p=E=y*8;continue}if(E>D){if(i)throw"unexpected EOF";break}}B&&Q(t+131072);for(var GA=(1<>>4;if(E+=rA&15,E>D){if(i)throw"unexpected EOF";break}if(!rA)throw"invalid length/literal";if(CA<256)A[t++]=CA;else if(CA==256){gA=E,n=null;break}else{var DA=CA-254;if(CA>264){var q=CA-257,fA=zL[q];DA=_i(g,E,(1<>>4;if(!VA)throw"invalid distance";E+=VA&15;var oA=iW[W];if(W>3){var fA=$L[W];oA+=qy(g,E)&(1<D){if(i)throw"unexpected EOF";break}B&&Q(t+131072);for(var v=t+DA;t>>4>7||(g[0]<<8|g[1])%31)throw"invalid zlib data";if(g[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function QD(g,A){return oW((aW(g),g.subarray(2,-4)),A)}var sW=typeof TextDecoder<"u"&&new TextDecoder,rW=0;try{sW.decode(nW,{stream:!0}),rW=1}catch{}const lW=g=>g&&g.isCubeTexture;class cW extends hg{constructor(A,I){var C,B;const i=lW(A),e=((B=i?(C=A.image[0])==null?void 0:C.width:A.image.width)!=null?B:1024)/4,E=Math.floor(Math.log2(e)),t=Math.pow(2,E),n=3*Math.max(t,16*7),s=4*t,r=[i?"#define ENVMAP_TYPE_CUBE":"",`#define CUBEUV_TEXEL_WIDTH ${1/n}`,`#define CUBEUV_TEXEL_HEIGHT ${1/s}`,`#define CUBEUV_MAX_MIP ${E}.0`],l=` - varying vec3 vWorldPosition; - void main() - { - vec4 worldPosition = ( modelMatrix * vec4( position, 1.0 ) ); - vWorldPosition = worldPosition.xyz; - - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - } - `,D=r.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(eo.replace(/\D+/g,""))>=154?"colorspace_fragment":"encodings_fragment"}> - } - `,G={map:{value:A},height:{value:I?.height||15},radius:{value:I?.radius||100}},h=new _r(1,16),c=new NC({uniforms:G,fragmentShader:D,vertexShader:l,side:pi});super(h,c)}set radius(A){this.material.uniforms.radius.value=A}get radius(){return this.material.uniforms.radius.value}set height(A){this.material.uniforms.height.value=A}get height(){return this.material.uniforms.height.value}}var DW=Object.defineProperty,hW=(g,A,I)=>A in g?DW(g,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):g[A]=I,my=(g,A,I)=>(hW(g,typeof A!="symbol"?A+"":A,I),I);class nn{constructor(A){my(this,"camera",new he(-1,1,1,-1,0,1)),my(this,"geometry",new De(2,2)),my(this,"mesh"),this.mesh=new hg(this.geometry,A)}get material(){return this.mesh.material}set material(A){this.mesh.material=A}dispose(){this.mesh.geometry.dispose()}render(A){A.render(this.mesh,this.camera)}}class iM extends QB{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(I){return new uW(I)}),this.register(function(I){return new FW(I)}),this.register(function(I){return new RW(I)}),this.register(function(I){return new KW(I)}),this.register(function(I){return new dW(I)}),this.register(function(I){return new MW(I)}),this.register(function(I){return new pW(I)}),this.register(function(I){return new UW(I)}),this.register(function(I){return new yW(I)}),this.register(function(I){return new NW(I)}),this.register(function(I){return new kW(I)}),this.register(function(I){return new fW(I)}),this.register(function(I){return new SW(I)}),this.register(function(I){return new JW(I)}),this.register(function(I){return new qW(I)})}load(A,I,C,B){const i=this;let Q;this.resourcePath!==""?Q=this.resourcePath:this.path!==""?Q=this.path:Q=pQ.extractUrlBase(A),this.manager.itemStart(A);const e=function(t){B?B(t):console.error(t),i.manager.itemError(A),i.manager.itemEnd(A)},E=new bB(this.manager);E.setPath(this.path),E.setResponseType("arraybuffer"),E.setRequestHeader(this.requestHeader),E.setWithCredentials(this.withCredentials),E.load(A,function(t){try{i.parse(t,Q,function(n){I(n),i.manager.itemEnd(A)},e)}catch(n){e(n)}},C,e)}setDRACOLoader(A){return this.dracoLoader=A,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,I,C,B){let i;const Q={},e={};if(typeof A=="string")i=JSON.parse(A);else if(A instanceof ArrayBuffer)if(pQ.decodeText(new Uint8Array(A.slice(0,4)))===BY){try{Q[sg.KHR_BINARY_GLTF]=new mW(A)}catch(n){B&&B(n);return}i=JSON.parse(Q[sg.KHR_BINARY_GLTF].content)}else i=JSON.parse(pQ.decodeText(new Uint8Array(A)));else i=A;if(i.asset===void 0||i.asset.version[0]<2){B&&B(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const E=new jW(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 t=0;t=0&&e[n]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+n+'".')}}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 wW(){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 sg={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_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_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 SW{constructor(A){this.parser=A,this.name=sg.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 RW{constructor(A){this.parser=A,this.name=sg.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 E=C.textureLoader;if(e.uri){const t=C.options.manager.getHandler(e.uri);t!==null&&(E=t)}return this.detectSupport().then(function(t){if(t)return C.loadTextureImage(A,Q.source,E);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 KW{constructor(A){this.parser=A,this.name=sg.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 E=C.textureLoader;if(e.uri){const t=C.options.manager.getHandler(e.uri);t!==null&&(E=t)}return this.detectSupport().then(function(t){if(t)return C.loadTextureImage(A,Q.source,E);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 JW{constructor(A){this.name=sg.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 E=B.byteOffset||0,t=B.byteLength||0,n=B.count,s=B.byteStride,r=new Uint8Array(e,E,t);return Q.decodeGltfBufferAsync?Q.decodeGltfBufferAsync(n,s,r,B.mode,B.filter).then(function(l){return l.buffer}):Q.ready.then(function(){const l=new ArrayBuffer(n*s);return Q.decodeGltfBuffer(new Uint8Array(l),n,s,r,B.mode,B.filter),l})})}else return null}}class qW{constructor(A){this.name=sg.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 t of B.primitives)if(t.mode!==yi.TRIANGLES&&t.mode!==yi.TRIANGLE_STRIP&&t.mode!==yi.TRIANGLE_FAN&&t.mode!==void 0)return null;const Q=C.extensions[this.name].attributes,e=[],E={};for(const t in Q)e.push(this.parser.getDependency("accessor",Q[t]).then(n=>(E[t]=n,E[t])));return e.length<1?null:(e.push(this.parser.createNodeMesh(A)),Promise.all(e).then(t=>{const n=t.pop(),s=n.isGroup?n.children:[n],r=t[0].count,l=[];for(const D of s){const G=new pI,h=new O,c=new _g,y=new O(1,1,1),S=new fd(D.geometry,D.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"},$e={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},vW={CUBICSPLINE:void 0,LINEAR:Vt,STEP:Vn},Yy={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function bW(g){return g.DefaultMaterial===void 0&&(g.DefaultMaterial=new Wr({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Qi})),g.DefaultMaterial}function ct(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 BE(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 OW(g,A,I){let C=!1,B=!1,i=!1;for(let t=0,n=A.length;t0||g.search(/^data\:image\/jpeg/)===0?"image/jpeg":g.search(/\.webp($|\?)/i)>0||g.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const WW=new pI;class jW{constructor(A={},I={}){this.json=A,this.extensions={},this.plugins={},this.options=I,this.cache=new wW,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 jr(this.options.manager):this.textureLoader=new DL(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new bB(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:{}};ct(i,e,B),BE(e,B),Promise.all(C._invokeAll(function(E){return E.afterRoot&&E.afterRoot(e)})).then(function(){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 E=this.associations.get(Q);E!=null&&this.associations.set(e,E);for(const[t,n]of Q.children.entries())i(n,e.children[t])};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&&h.setY(_,p[f*E+1]),E>=3&&h.setZ(_,p[f*E+2]),E>=4&&h.setW(_,p[f*E+3]),E>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return h})}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 E=C.manager.getHandler(Q.uri);E!==null&&(e=E)}return this.loadTextureImage(A,i,e)}loadTextureImage(A,I,C){const B=this,i=this.json,Q=i.textures[A],e=i.images[I],E=(e.uri||e.bufferView)+":"+Q.sampler;if(this.textureCache[E])return this.textureCache[E];const t=this.loadImageSource(I,C).then(function(n){n.flipY=!1,n.name=Q.name||e.name||"",n.name===""&&typeof e.uri=="string"&&e.uri.startsWith("data:image/")===!1&&(n.name=e.uri);const r=(i.samplers||{})[Q.sampler]||{};return n.magFilter=SR[r.magFilter]||Dg,n.minFilter=SR[r.minFilter]||Ii,n.wrapS=GR[r.wrapS]||KE,n.wrapT=GR[r.wrapT]||KE,B.associations.set(n,{textures:A}),n}).catch(function(){return null});return this.textureCache[E]=t,t}loadImageSource(A,I){const C=this,B=this.json,i=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(s=>s.clone());const Q=B.images[A],e=self.URL||self.webkitURL;let E=Q.uri||"",t=!1;if(Q.bufferView!==void 0)E=C.getDependency("bufferView",Q.bufferView).then(function(s){t=!0;const r=new Blob([s],{type:Q.mimeType});return E=e.createObjectURL(r),E});else if(Q.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const n=Promise.resolve(E).then(function(s){return new Promise(function(r,l){let D=r;I.isImageBitmapLoader===!0&&(D=function(G){const h=new mg(G);h.needsUpdate=!0,r(h)}),I.load(pQ.resolveURL(s,i.path),D,void 0,l)})}).then(function(s){return t===!0&&e.revokeObjectURL(E),s.userData.mimeType=Q.mimeType||PW(Q.uri),s}).catch(function(s){throw console.error("THREE.GLTFLoader: Couldn't load texture",E),s});return this.sourceCache[A]=n,n}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[sg.KHR_TEXTURE_TRANSFORM]){const e=C.extensions!==void 0?C.extensions[sg.KHR_TEXTURE_TRANSFORM]:void 0;if(e){const E=i.associations.get(Q);Q=i.extensions[sg.KHR_TEXTURE_TRANSFORM].extendTexture(Q,e),i.associations.set(Q,E)}}return B!==void 0&&("colorSpace"in Q?Q.colorSpace=B===3001?"srgb":"srgb-linear":Q.encoding=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 E=this.cache.get(e);E||(E=new aw,rC.prototype.copy.call(E,C),E.color.copy(C.color),E.map=C.map,E.sizeAttenuation=!1,this.cache.add(e,E)),C=E}else if(A.isLine){const e="LineBasicMaterial:"+C.uuid;let E=this.cache.get(e);E||(E=new GB,rC.prototype.copy.call(E,C),E.color.copy(C.color),E.map=C.map,this.cache.add(e,E)),C=E}if(B||i||Q){let e="ClonedMaterial:"+C.uuid+":";B&&(e+="derivative-tangents:"),i&&(e+="vertex-colors:"),Q&&(e+="flat-shading:");let E=this.cache.get(e);E||(E=C.clone(),i&&(E.vertexColors=!0),Q&&(E.flatShading=!0),B&&(E.normalScale&&(E.normalScale.y*=-1),E.clearcoatNormalScale&&(E.clearcoatNormalScale.y*=-1)),this.cache.add(e,E),this.associations.set(E,this.associations.get(C))),C=E}A.material=C}getMaterialType(){return Wr}loadMaterial(A){const I=this,C=this.json,B=this.extensions,i=C.materials[A];let Q;const e={},E=i.extensions||{},t=[];if(E[sg.KHR_MATERIALS_UNLIT]){const s=B[sg.KHR_MATERIALS_UNLIT];Q=s.getMaterialType(),t.push(s.extendParams(e,i,I))}else{const s=i.pbrMetallicRoughness||{};if(e.color=new tI(1,1,1),e.opacity=1,Array.isArray(s.baseColorFactor)){const r=s.baseColorFactor;e.color.fromArray(r),e.opacity=r[3]}s.baseColorTexture!==void 0&&t.push(I.assignTexture(e,"map",s.baseColorTexture,3001)),e.metalness=s.metallicFactor!==void 0?s.metallicFactor:1,e.roughness=s.roughnessFactor!==void 0?s.roughnessFactor:1,s.metallicRoughnessTexture!==void 0&&(t.push(I.assignTexture(e,"metalnessMap",s.metallicRoughnessTexture)),t.push(I.assignTexture(e,"roughnessMap",s.metallicRoughnessTexture))),Q=this._invokeOne(function(r){return r.getMaterialType&&r.getMaterialType(A)}),t.push(Promise.all(this._invokeAll(function(r){return r.extendMaterialParams&&r.extendMaterialParams(A,e)})))}i.doubleSided===!0&&(e.side=pi);const n=i.alphaMode||Yy.OPAQUE;if(n===Yy.BLEND?(e.transparent=!0,e.depthWrite=!1):(e.transparent=!1,n===Yy.MASK&&(e.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&Q!==uC&&(t.push(I.assignTexture(e,"normalMap",i.normalTexture)),e.normalScale=new KA(1,1),i.normalTexture.scale!==void 0)){const s=i.normalTexture.scale;e.normalScale.set(s,s)}return i.occlusionTexture!==void 0&&Q!==uC&&(t.push(I.assignTexture(e,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(e.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&Q!==uC&&(e.emissive=new tI().fromArray(i.emissiveFactor)),i.emissiveTexture!==void 0&&Q!==uC&&t.push(I.assignTexture(e,"emissiveMap",i.emissiveTexture,3001)),Promise.all(t).then(function(){const s=new Q(e);return i.name&&(s.name=i.name),BE(s,i),I.associations.set(s,{materials:A}),i.extensions&&ct(B,s,i),s})}createUniqueName(A){const I=lg.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[sg.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,I).then(function(E){return yR(E,e,I)})}const Q=[];for(let e=0,E=A.length;e0&&_W(c,i),c.name=I.createUniqueName(i.name||"mesh_"+A),BE(c,i),h.extensions&&ct(B,c,h),I.assignFinalMaterial(c),s.push(c)}for(let l=0,D=s.length;l1?n=new fi:t.length===1?n=t[0]:n=new Eg,n!==t[0])for(let s=0,r=t.length;s{const s=new Map;for(const[r,l]of B.associations)(r instanceof rC||r instanceof mg)&&s.set(r,l);return n.traverse(r=>{const l=B.associations.get(r);l!=null&&s.set(r,l)}),s};return B.associations=t(i),i})}}function VW(g,A,I){const C=A.attributes,B=new oC;if(C.POSITION!==void 0){const e=I.json.accessors[C.POSITION],E=e.min,t=e.max;if(E!==void 0&&t!==void 0){if(B.set(new O(E[0],E[1],E[2]),new O(t[0],t[1],t[2])),e.normalized){const n=Ik(Hn[e.componentType]);B.min.multiplyScalar(n),B.max.multiplyScalar(n)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const i=A.targets;if(i!==void 0){const e=new O,E=new O;for(let t=0,n=i.length;t(q=K.indexOf(s))&&_=S.byteLength||!(U=r(S)))return e(1,"no header found");if(!(K=U.match(k)))return e(3,"bad initial token");for(_.valid|=1,_.programtype=K[1],_.string+=U+` -`;U=r(S),U!==!1;){if(_.string+=U+` -`,U.charAt(0)==="#"){_.comments+=U+` -`;continue}if((K=U.match(N))&&(_.gamma=parseFloat(K[1])),(K=U.match(p))&&(_.exposure=parseFloat(K[1])),(K=U.match(f))&&(_.valid|=2,_.format=K[1]),(K=U.match(q))&&(_.valid|=4,_.height=parseInt(K[1],10),_.width=parseInt(K[2],10)),_.valid&2&&_.valid&4)break}return _.valid&2?_.valid&4?_:e(3,"missing image size specifier"):e(3,"missing format specifier")},D=function(S,k,N){const p=k;if(p<8||p>32767||S[0]!==2||S[1]!==2||S[2]&128)return new Uint8Array(S);if(p!==(S[2]<<8|S[3]))return e(3,"wrong scanline width");const f=new Uint8Array(4*k*N);if(!f.length)return e(4,"unable to allocate buffer space");let q=0,_=0;const U=4*p,K=new Uint8Array(4),z=new Uint8Array(U);let rA=N;for(;rA>0&&_S.byteLength)return e(1);if(K[0]=S[_++],K[1]=S[_++],K[2]=S[_++],K[3]=S[_++],K[0]!=2||K[1]!=2||(K[2]<<8|K[3])!=p)return e(3,"bad rgbe scanline format");let X=0,sA;for(;X128;if(GA&&(sA-=128),sA===0||X+sA>U)return e(3,"bad scanline data");if(GA){const b=S[_++];for(let gA=0;gA>3]&1<<(J&7))&&(P[aA++]=J);for(var V=aA-1;aA<65536;)P[aA++]=0;return V}function K(L){for(var P=0;P<16384;P++)L[P]={},L[P].len=0,L[P].lit=0,L[P].p=null}const z={l:0,c:0,lc:0};function rA(L,P,aA,J,V){for(;aA>aA&(1<0;--P){var J=aA+X[P]>>1;X[P]=aA,aA=J}for(var P=0;P<65537;++P){var V=L[P];V>0&&(L[P]=V|X[V]++<<6)}}function oA(L,P,aA,J,V,$,tA){for(var iA=aA,FA=0,qA=0;V<=$;V++){if(iA.value-aA.value>J)return!1;rA(6,FA,qA,L,iA);var xA=z.l;if(FA=z.c,qA=z.lc,tA[V]=xA,xA==63){if(iA.value-aA.value>J)throw"Something wrong with hufUnpackEncTable";rA(8,FA,qA,L,iA);var YA=z.l+6;if(FA=z.c,qA=z.lc,V+YA>$+1)throw"Something wrong with hufUnpackEncTable";for(;YA--;)tA[V++]=0;V--}else if(xA>=59){var YA=xA-59+2;if(V+YA>$+1)throw"Something wrong with hufUnpackEncTable";for(;YA--;)tA[V++]=0;V--}}sA(tA)}function GA(L){return L&63}function b(L){return L>>6}function gA(L,P,aA,J){for(;P<=aA;P++){var V=b(L[P]),$=GA(L[P]);if(V>>$)throw"Invalid table entry";if($>14){var tA=J[V>>$-14];if(tA.len)throw"Invalid table entry";if(tA.lit++,tA.p){var iA=tA.p;tA.p=new Array(tA.lit);for(var FA=0;FA0;FA--){var tA=J[(V<<14-$)+qA];if(tA.len||tA.p)throw"Invalid table entry";tA.len=$,tA.lit=P,qA++}}return!0}const CA={c:0,lc:0};function DA(L,P,aA,J){L=L<<8|sI(aA,J),P+=8,CA.c=L,CA.lc=P}const fA={c:0,lc:0};function VA(L,P,aA,J,V,$,tA,iA,FA,qA){if(L==P){J<8&&(DA(aA,J,V,tA),aA=CA.c,J=CA.lc),J-=8;var xA=aA>>J,xA=new Uint8Array([xA])[0];if(FA.value+xA>qA)return!1;for(var YA=iA[FA.value-1];xA-- >0;)iA[FA.value++]=YA}else if(FA.value32767?P-65536:P}const x={a:0,b:0};function H(L,P){var aA=v(L),J=v(P),V=J,$=aA+(V&1)+(V>>1),tA=$,iA=$-V;x.a=tA,x.b=iA}function EA(L,P){var aA=W(L),J=W(P),V=aA-(J>>1)&65535,$=J+V-32768&65535;x.a=$,x.b=V}function UA(L,P,aA,J,V,$,tA){for(var iA=tA<16384,FA=aA>V?V:aA,qA=1,xA;qA<=FA;)qA<<=1;for(qA>>=1,xA=qA,qA>>=1;qA>=1;){for(var YA=0,DI=YA+$*(V-xA),zA=$*qA,$A=$*xA,wI=J*qA,KI=J*xA,mI,xI,nI,QI;YA<=DI;YA+=$A){for(var XI=YA,Y=YA+J*(aA-xA);XI<=Y;XI+=KI){var T=XI+wI,BA=XI+zA,lA=BA+wI;iA?(H(L[XI+P],L[BA+P]),mI=x.a,nI=x.b,H(L[T+P],L[lA+P]),xI=x.a,QI=x.b,H(mI,xI),L[XI+P]=x.a,L[T+P]=x.b,H(nI,QI),L[BA+P]=x.a,L[lA+P]=x.b):(EA(L[XI+P],L[BA+P]),mI=x.a,nI=x.b,EA(L[T+P],L[lA+P]),xI=x.a,QI=x.b,EA(mI,xI),L[XI+P]=x.a,L[T+P]=x.b,EA(nI,QI),L[BA+P]=x.a,L[lA+P]=x.b)}if(aA&qA){var BA=XI+zA;iA?H(L[XI+P],L[BA+P]):EA(L[XI+P],L[BA+P]),mI=x.a,L[BA+P]=x.b,L[XI+P]=mI}}if(V&qA)for(var XI=YA,Y=YA+J*(aA-xA);XI<=Y;XI+=KI){var T=XI+wI;iA?H(L[XI+P],L[T+P]):EA(L[XI+P],L[T+P]),mI=x.a,L[T+P]=x.b,L[XI+P]=mI}xA=qA,qA>>=1}return YA}function hA(L,P,aA,J,V,$,tA,iA,FA,qA){for(var xA=0,YA=0,DI=iA,zA=Math.trunc(V.value+($+7)/8);V.value=14;){var $A=xA>>YA-14&16383,wI=P[$A];if(wI.len)YA-=wI.len,VA(wI.lit,tA,xA,YA,aA,J,V,FA,qA,DI),xA=fA.c,YA=fA.lc;else{if(!wI.p)throw"hufDecode issues";var KI;for(KI=0;KI=mI&&b(L[wI.p[KI]])==(xA>>YA-mI&(1<>=xI,YA-=xI;YA>0;){var wI=P[xA<<14-YA&16383];if(wI.len)YA-=wI.len,VA(wI.lit,tA,xA,YA,aA,J,V,FA,qA,DI),xA=fA.c,YA=fA.lc;else throw"hufDecode issues"}return!0}function NA(L,P,aA,J,V,$){var tA={value:0},iA=aA.value,FA=EI(P,aA),qA=EI(P,aA);aA.value+=4;var xA=EI(P,aA);if(aA.value+=4,FA<0||FA>=65537||qA<0||qA>=65537)throw"Something wrong with HUF_ENCSIZE";var YA=new Array(65537),DI=new Array(16384);K(DI);var zA=J-(aA.value-iA);if(oA(L,P,aA,zA,FA,qA,YA),xA>8*(J-(aA.value-iA)))throw"Something wrong with hufUncompress";gA(YA,FA,qA,DI),hA(YA,DI,L,P,aA,xA,qA,$,V,tA)}function Z(L,P,aA){for(var J=0;J$||(P[V++]=L[aA++],V>$));)P[V++]=L[J++]}function wA(L){for(var P=L.byteLength,aA=new Array,J=0,V=new DataView(L);P>0;){var $=V.getInt8(J++);if($<0){var tA=-$;P-=tA+1;for(var iA=0;iA>8==255?V+=J&255:(aA[V]=J,V++),L.value++}function QA(L,P){P[0]=XA(L[0]),P[1]=XA(L[1]),P[2]=XA(L[5]),P[3]=XA(L[6]),P[4]=XA(L[14]),P[5]=XA(L[15]),P[6]=XA(L[27]),P[7]=XA(L[28]),P[8]=XA(L[2]),P[9]=XA(L[4]),P[10]=XA(L[7]),P[11]=XA(L[13]),P[12]=XA(L[16]),P[13]=XA(L[26]),P[14]=XA(L[29]),P[15]=XA(L[42]),P[16]=XA(L[3]),P[17]=XA(L[8]),P[18]=XA(L[12]),P[19]=XA(L[17]),P[20]=XA(L[25]),P[21]=XA(L[30]),P[22]=XA(L[41]),P[23]=XA(L[43]),P[24]=XA(L[9]),P[25]=XA(L[11]),P[26]=XA(L[18]),P[27]=XA(L[24]),P[28]=XA(L[31]),P[29]=XA(L[40]),P[30]=XA(L[44]),P[31]=XA(L[53]),P[32]=XA(L[10]),P[33]=XA(L[19]),P[34]=XA(L[23]),P[35]=XA(L[32]),P[36]=XA(L[39]),P[37]=XA(L[45]),P[38]=XA(L[52]),P[39]=XA(L[54]),P[40]=XA(L[20]),P[41]=XA(L[22]),P[42]=XA(L[33]),P[43]=XA(L[38]),P[44]=XA(L[46]),P[45]=XA(L[51]),P[46]=XA(L[55]),P[47]=XA(L[60]),P[48]=XA(L[21]),P[49]=XA(L[34]),P[50]=XA(L[37]),P[51]=XA(L[47]),P[52]=XA(L[50]),P[53]=XA(L[56]),P[54]=XA(L[59]),P[55]=XA(L[61]),P[56]=XA(L[35]),P[57]=XA(L[36]),P[58]=XA(L[48]),P[59]=XA(L[49]),P[60]=XA(L[57]),P[61]=XA(L[58]),P[62]=XA(L[62]),P[63]=XA(L[63])}function F(L){const P=.5*Math.cos(.7853975),aA=.5*Math.cos(3.14159/16),J=.5*Math.cos(3.14159/8),V=.5*Math.cos(3*3.14159/16),$=.5*Math.cos(5*3.14159/16),tA=.5*Math.cos(3*3.14159/8),iA=.5*Math.cos(7*3.14159/16);for(var FA=new Array(4),qA=new Array(4),xA=new Array(4),YA=new Array(4),DI=0;DI<8;++DI){var zA=DI*8;FA[0]=J*L[zA+2],FA[1]=tA*L[zA+2],FA[2]=J*L[zA+6],FA[3]=tA*L[zA+6],qA[0]=aA*L[zA+1]+V*L[zA+3]+$*L[zA+5]+iA*L[zA+7],qA[1]=V*L[zA+1]-iA*L[zA+3]-aA*L[zA+5]-$*L[zA+7],qA[2]=$*L[zA+1]-aA*L[zA+3]+iA*L[zA+5]+V*L[zA+7],qA[3]=iA*L[zA+1]-$*L[zA+3]+V*L[zA+5]-aA*L[zA+7],xA[0]=P*(L[zA+0]+L[zA+4]),xA[3]=P*(L[zA+0]-L[zA+4]),xA[1]=FA[0]+FA[3],xA[2]=FA[1]-FA[2],YA[0]=xA[0]+xA[1],YA[1]=xA[3]+xA[2],YA[2]=xA[3]-xA[2],YA[3]=xA[0]-xA[1],L[zA+0]=YA[0]+qA[0],L[zA+1]=YA[1]+qA[1],L[zA+2]=YA[2]+qA[2],L[zA+3]=YA[3]+qA[3],L[zA+4]=YA[3]-qA[3],L[zA+5]=YA[2]-qA[2],L[zA+6]=YA[1]-qA[1],L[zA+7]=YA[0]-qA[0]}for(var $A=0;$A<8;++$A)FA[0]=J*L[16+$A],FA[1]=tA*L[16+$A],FA[2]=J*L[48+$A],FA[3]=tA*L[48+$A],qA[0]=aA*L[8+$A]+V*L[24+$A]+$*L[40+$A]+iA*L[56+$A],qA[1]=V*L[8+$A]-iA*L[24+$A]-aA*L[40+$A]-$*L[56+$A],qA[2]=$*L[8+$A]-aA*L[24+$A]+iA*L[40+$A]+V*L[56+$A],qA[3]=iA*L[8+$A]-$*L[24+$A]+V*L[40+$A]-aA*L[56+$A],xA[0]=P*(L[$A]+L[32+$A]),xA[3]=P*(L[$A]-L[32+$A]),xA[1]=FA[0]+FA[3],xA[2]=FA[1]-FA[2],YA[0]=xA[0]+xA[1],YA[1]=xA[3]+xA[2],YA[2]=xA[3]-xA[2],YA[3]=xA[0]-xA[1],L[0+$A]=YA[0]+qA[0],L[8+$A]=YA[1]+qA[1],L[16+$A]=YA[2]+qA[2],L[24+$A]=YA[3]+qA[3],L[32+$A]=YA[3]-qA[3],L[40+$A]=YA[2]-qA[2],L[48+$A]=YA[1]-qA[1],L[56+$A]=YA[0]-qA[0]}function m(L){for(var P=0;P<64;++P){var aA=L[0][P],J=L[1][P],V=L[2][P];L[0][P]=aA+1.5747*V,L[1][P]=aA-.1873*J-.4682*V,L[2][P]=aA+1.8556*J}}function cA(L,P,aA){for(var J=0;J<64;++J)P[aA+J]=Rt.toHalfFloat(PA(L[J]))}function PA(L){return L<=1?Math.sign(L)*Math.pow(Math.abs(L),2.2):Math.sign(L)*Math.pow(_,Math.abs(L)-1)}function ZA(L){return new DataView(L.array.buffer,L.offset.value,L.size)}function TA(L){var P=L.viewer.buffer.slice(L.offset.value,L.offset.value+L.size),aA=new Uint8Array(wA(P)),J=new Uint8Array(aA.length);return MA(aA),eA(aA,J),new DataView(J.buffer)}function eI(L){var P=L.array.slice(L.offset.value,L.offset.value+L.size),aA=QD(P),J=new Uint8Array(aA.length);return MA(aA),eA(aA,J),new DataView(J.buffer)}function BI(L){for(var P=L.viewer,aA={value:L.offset.value},J=new Uint16Array(L.width*L.scanlineBlockSize*(L.channels*L.type)),V=new Uint8Array(8192),$=0,tA=new Array(L.channels),iA=0;iA=8192)throw"Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";if(FA<=qA)for(var iA=0;iA0;){var iA=NI(P.buffer,aA),FA=dI(P,aA),qA=FA>>2&3,xA=(FA>>4)-1,YA=new Int8Array([xA])[0],DI=dI(P,aA);$.push({name:iA,index:YA,type:DI,compression:qA}),tA-=iA.length+3}for(var zA=LC.channels,$A=new Array(L.channels),wI=0;wI=0&&(xI.idx[QI.index]=nI),KI.offset=nI)}if(V.acCompressedSize>0)switch(V.acCompression){case 0:var T=new Uint16Array(V.totalAcUncompressedCount);NA(L.array,P,aA,V.acCompressedSize,T,V.totalAcUncompressedCount);break;case 1:var XI=L.array.slice(aA.value,aA.value+V.totalAcUncompressedCount),Y=QD(XI),T=new Uint16Array(Y.buffer);aA.value+=V.totalAcUncompressedCount;break}if(V.dcCompressedSize>0){var BA={array:L.array,offset:aA,size:V.dcCompressedSize},lA=new Uint16Array(eI(BA).buffer);aA.value+=V.dcCompressedSize}if(V.rleRawSize>0){var XI=L.array.slice(aA.value,aA.value+V.rleCompressedSize),Y=QD(XI),kA=wA(Y.buffer);aA.value+=V.rleCompressedSize}for(var RA=0,mA=new Array($A.length),wI=0;wI>10,aA=L&1023;return(L>>15?-1:1)*(P?P===31?aA?NaN:1/0:Math.pow(2,P-15)*(1+aA/1024):6103515625e-14*(aA/1024))}function IA(L,P){var aA=L.getUint16(P.value,!0);return P.value+=2,aA}function II(L,P){return XA(IA(L,P))}function gI(L,P,aA,J){for(var V=aA.value,$=[];aA.value_I.height?_I.height-P:_I.scanlineBlockSize;const J=_I.size<_I.lines*_I.bytesPerLine?_I.uncompress(_I):ZA(_I);eB.value+=_I.size;for(let V=0;V<_I.scanlineBlockSize;V++){const $=V+L*_I.scanlineBlockSize;if($>=_I.height)break;for(let tA=0;tA<_I.channels;tA++){const iA=Je[LC.channels[tA].name];for(let FA=0;FA<_I.width;FA++){KQ.value=(V*(_I.channels*_I.width)+tA*_I.width+FA)*_I.inputSize;const qA=(_I.height-1-$)*(_I.width*_I.outputChannels)+FA*_I.outputChannels+iA;_I.byteArray[qA]=_I.getter(J,KQ)}}}}return{header:LC,width:_I.width,height:_I.height,data:_I.byteArray,format:_I.format,[rs?"colorSpace":"encoding"]:_I[rs?"colorSpace":"encoding"],type:this.type}}setDataType(A){return this.type=A,this}load(A,I,C,B){function i(Q,e){rs?Q.colorSpace=e.colorSpace:Q.encoding=e.encoding,Q.minFilter=Dg,Q.magFilter=Dg,Q.generateMipmaps=!1,Q.flipY=!1,I&&I(Q,e)}return super.load(A,i,C,B)}}const Ty=new WeakMap;class $W extends QB{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,I,C,B){const i=new bB(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,Q=>{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 E in I.attributeTypes){const t=I.attributeTypes[E];t.BYTES_PER_ELEMENT!==void 0&&(I.attributeTypes[E]=t.name)}const C=JSON.stringify(I);if(Ty.has(A)){const E=Ty.get(A);if(E.key===C)return E.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(E=>(B=E,new Promise((t,n)=>{B._callbacks[i]={resolve:t,reject:n},B.postMessage({type:"decode",id:i,taskConfig:I,buffer:A},[A])}))).then(E=>this._createGeometry(E.geometry));return e.catch(()=>!0).then(()=>{B&&i&&this._releaseTask(B,i)}),Ty.set(A,{key:C,promise:e}),e}_createGeometry(A){const I=new WI;A.index&&I.setIndex(new Ag(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=A8.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 s=n.draco,r=new s.Decoder,l=new s.DecoderBuffer;l.Init(new Int8Array(E),E.byteLength);try{const D=I(s,r,l,t),G=D.attributes.map(h=>h.array.buffer);D.index&&G.push(D.index.array.buffer),self.postMessage({type:"decode",id:e.id,geometry:D},G)}catch(D){console.error(D),self.postMessage({type:"error",id:e.id,error:D.message})}finally{s.destroy(l),s.destroy(r)}});break}};function I(Q,e,E,t){const n=t.attributeIDs,s=t.attributeTypes;let r,l;const D=e.GetEncodedGeometryType(E);if(D===Q.TRIANGULAR_MESH)r=new Q.Mesh,l=e.DecodeBufferToMesh(E,r);else if(D===Q.POINT_CLOUD)r=new Q.PointCloud,l=e.DecodeBufferToPointCloud(E,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 G={index:null,attributes:[]};for(const h in n){const c=self[s[h]];let y,S;if(t.useUniqueIDs)S=n[h],y=e.GetAttributeByUniqueId(r,S);else{if(S=e.GetAttributeId(r,Q[n[h]]),S===-1)continue;y=e.GetAttribute(r,S)}G.attributes.push(B(Q,e,r,h,c,y))}return D===Q.TRIANGULAR_MESH&&(G.index=C(Q,e,r)),Q.destroy(r),G}function C(Q,e,E){const n=E.num_faces()*3,s=n*4,r=Q._malloc(s);e.GetTrianglesUInt32Array(E,s,r);const l=new Uint32Array(Q.HEAPF32.buffer,r,n).slice();return Q._free(r),{array:l,itemSize:1}}function B(Q,e,E,t,n,s){const r=s.num_components(),D=E.num_points()*r,G=D*n.BYTES_PER_ELEMENT,h=i(Q,n),c=Q._malloc(G);e.GetAttributeDataArrayForAllPoints(E,s,h,G,c);const y=new n(Q.HEAPF32.buffer,c,D).slice();return Q._free(c),{name:t,array:y,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 eD;const xy=()=>{if(eD)return eD;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(s=>{i=s.instance,i.exports.__wasm_call_ctors()});function e(s){const r=new Uint8Array(s.length);for(let D=0;D96?G-71:G>64?G-65:G>47?G+4:G>46?63:62}let l=0;for(let D=0;D{const s=kd.clone({[t]:{value:n}});return{...E,...s}},{}),vertexShader:A,fragmentShader:I}),this.key="",e.forEach(([E])=>Object.defineProperty(this,E,{get:()=>this.uniforms[E].value,set:t=>this.uniforms[E].value=t})),Object.assign(this,Q),C&&C(this)}};return B.key=kE.generateUUID(),B}const g8=()=>parseInt(eo.replace(/\D+/g,"")),QY=g8();let ED=null,eY="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function EY(g,A,I){return C=>{I&&I(C),g&&(ED||(ED=new $W),ED.setDecoderPath(typeof g=="string"?g:eY),C.setDRACOLoader(ED)),A&&C.setMeshoptDecoder(typeof xy=="function"?xy():xy)}}function zr(g,A=!0,I=!0,C){return no(iM,g,EY(A,I,C))}zr.preload=(g,A=!0,I=!0,C)=>no.preload(iM,g,EY(A,I,C));zr.clear=g=>no.clear(iM,g);zr.setDecoderPath=g=>{eY=g};function yr(g,A,I){const C=wB(r=>r.size),B=wB(r=>r.viewport),i=typeof g=="number"?g:C.width*B.dpr,Q=typeof A=="number"?A:C.height*B.dpr,e=(typeof g=="number"?I:g)||{},{samples:E=0,depth:t,...n}=e,s=j.useMemo(()=>{const r=new SC(i,Q,{minFilter:Dg,magFilter:Dg,type:gB,...n});return t&&(r.depthTexture=new iw(i,Q,tC)),r.samples=E,r},[]);return j.useLayoutEffect(()=>{s.setSize(i,Q),E&&(s.samples=E)},[E,s,i,Q]),j.useEffect(()=>()=>s.dispose(),[]),s}const C8=g=>typeof g=="function",B8=j.forwardRef(({envMap:g,resolution:A=256,frames:I=1/0,makeDefault:C,children:B,...i},Q)=>{const e=wB(({set:h})=>h),E=wB(({camera:h})=>h),t=wB(({size:h})=>h),n=j.useRef(null),s=j.useRef(null),r=yr(A);j.useLayoutEffect(()=>{i.manual||(n.current.aspect=t.width/t.height)},[t,i]),j.useLayoutEffect(()=>{n.current.updateProjectionMatrix()});let l=0,D=null;const G=C8(B);return OB(h=>{G&&(I===1/0||l{if(C){const h=E;return e(()=>({camera:n.current})),()=>e(()=>({camera:h}))}},[n,C,e]),j.createElement(j.Fragment,null,j.createElement("perspectiveCamera",FE({ref:VL([n,Q])},i),!G&&B),j.createElement("group",{ref:s},G&&B(r.texture)))});function i8(g){const A=j.useRef(null),I=j.useRef(!1),C=j.useRef(!1),B=j.useRef(g);return j.useLayoutEffect(()=>void(B.current=g),[g]),j.useEffect(()=>{const i=A.current;if(i){const Q=v1(()=>(I.current=!1,!0)),e=i.onBeforeRender;i.onBeforeRender=()=>I.current=!0;const E=b1(()=>(I.current!==C.current&&(B.current==null||B.current(C.current=I.current)),!0));return()=>{i.onBeforeRender=e,Q(),E()}}},[]),A}const ls=j.forwardRef(({children:g,enabled:A=!0,speed:I=1,rotationIntensity:C=1,floatIntensity:B=1,floatingRange:i=[-.1,.1],...Q},e)=>{const E=j.useRef(null),t=j.useRef(Math.random()*1e4);return OB(n=>{var s,r;if(!A||I===0)return;const l=t.current+n.clock.getElapsedTime();E.current.rotation.x=Math.cos(l/4*I)/8*C,E.current.rotation.y=Math.sin(l/4*I)/8*C,E.current.rotation.z=Math.sin(l/4*I)/20*C;let D=Math.sin(l/4*I)/10;D=kE.mapLinear(D,-.1,.1,(s=i?.[0])!==null&&s!==void 0?s:-.1,(r=i?.[1])!==null&&r!==void 0?r:.1),E.current.position.y=D*B,E.current.updateMatrix()}),j.createElement("group",Q,j.createElement("group",{ref:VL([E,e]),matrixAutoUpdate:!1},g))}),vy={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"},Q8="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/",uR=g=>Array.isArray(g);function tY({files:g=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:A="",preset:I=void 0,encoding:C=void 0,extensions:B}={}){var i;let Q=null,e=!1,E;if(I){if(!(I in vy))throw new Error("Preset must be one of: "+Object.keys(vy).join(", "));g=vy[I],A=Q8}if(e=uR(g),E=uR(g)?"cube":g.startsWith("data:application/exr")?"exr":g.startsWith("data:application/hdr")?"hdr":(i=g.split(".").pop())==null||(i=i.split("?"))==null||(i=i.shift())==null?void 0:i.toLowerCase(),Q=e?tL:E==="hdr"?XW:E==="exr"?zW:null,!Q)throw new Error("useEnvironment: Unrecognized file extension: "+g);const t=no(Q,e?[g]:g,l=>{l.setPath==null||l.setPath(A),B&&B(l)}),n=e?t[0]:t;n.mapping=e?UQ:Wn;const s=3001,r=3e3;return"colorSpace"in n?n.colorSpace=C??e?"srgb":"srgb-linear":n.encoding=C??e?s:r,n}const e8=g=>g.current&&g.current.isScene,E8=g=>e8(g)?g.current:g;function QM(g,A,I,C,B=0){const i=E8(A||I),Q=i.background,e=i.environment,E=i.backgroundBlurriness||0;return g!=="only"&&(i.environment=C),g&&(i.background=C),g&&i.backgroundBlurriness!==void 0&&(i.backgroundBlurriness=B),()=>{g!=="only"&&(i.environment=e),g&&(i.background=Q),g&&i.backgroundBlurriness!==void 0&&(i.backgroundBlurriness=E)}}function eM({scene:g,background:A=!1,blur:I,map:C}){const B=wB(i=>i.scene);return j.useLayoutEffect(()=>{if(C)return QM(A,g,B,C,I)},[B,g,C,A,I]),null}function oY({background:g=!1,scene:A,blur:I,...C}){const B=tY(C),i=wB(Q=>Q.scene);return j.useLayoutEffect(()=>QM(g,A,i,B,I),[B,g,A,i,I]),null}function t8({children:g,near:A=1,far:I=1e3,resolution:C=256,frames:B=1,map:i,background:Q=!1,blur:e,scene:E,files:t,path:n,preset:s=void 0,extensions:r}){const l=wB(S=>S.gl),D=wB(S=>S.scene),G=j.useRef(null),[h]=j.useState(()=>new Xt),c=j.useMemo(()=>{const S=new dd(C);return S.texture.type=gB,S},[C]);j.useLayoutEffect(()=>(B===1&&G.current.update(l,h),QM(Q,E,D,c.texture,e)),[g,h,c.texture,E,D,Q,B,l]);let y=1;return OB(()=>{(B===1/0||yIM({GroundProjectedEnvImpl:cW}),[]);const e=j.useMemo(()=>[Q],[Q]),E=(A=g.ground)==null?void 0:A.height,t=(I=g.ground)==null?void 0:I.radius,n=(C=(B=g.ground)==null?void 0:B.scale)!==null&&C!==void 0?C:1e3;return j.createElement(j.Fragment,null,j.createElement(eM,FE({},g,{map:Q})),j.createElement("groundProjectedEnvImpl",{args:e,scale:n,height:E,radius:t}))}function nY(g){return g.ground?j.createElement(o8,g):g.map?j.createElement(eM,g):g.children?j.createElement(t8,g):j.createElement(oY,g)}const n8=j.forwardRef(({children:g,compute:A,width:I,height:C,samples:B=8,renderPriority:i=0,eventPriority:Q=0,frames:e=1/0,stencilBuffer:E=!1,depthBuffer:t=!0,generateMipmaps:n=!1,...s},r)=>{const{size:l,viewport:D}=wB(),G=yr((I||l.width)*D.dpr,(C||l.height)*D.dpr,{samples:B,stencilBuffer:E,depthBuffer:t,generateMipmaps:n}),[h]=j.useState(()=>new Xt),c=j.useCallback((y,S,k)=>{var N,p;let f=(N=G.texture)==null?void 0:N.__r3f.parent;for(;f&&!(f instanceof Eg);)f=f.__r3f.parent;if(!f)return!1;k.raycaster.camera||k.events.compute(y,k,(p=k.previousRoot)==null?void 0:p.getState());const[q]=k.raycaster.intersectObject(f);if(!q)return!1;const _=q.uv;if(!_)return!1;S.raycaster.setFromCamera(S.pointer.set(_.x*2-1,_.y*2-1),S.camera)},[]);return j.useImperativeHandle(r,()=>G.texture,[G]),j.createElement(j.Fragment,null,pw(j.createElement(a8,{renderPriority:i,frames:e,fbo:G},g,j.createElement("group",{onPointerOver:()=>null})),h,{events:{compute:A||c,priority:Q}}),j.createElement("primitive",FE({object:G.texture},s)))});function a8({frames:g,renderPriority:A,children:I,fbo:C}){let B=0,i;return OB(Q=>{(g===1/0||B - void main() { - vec2 uv = gl_FragCoord.xy / resolution.xy; - vec4 t = texture2D(map, uv); - float k = blur; - float d = texture2D(sdf, vUv).r/size; - float alpha = 1.0 - smoothstep(0.0, 1.0, clamp(d/k + 1.0, 0.0, 1.0)); - gl_FragColor = vec4(t.rgb, blur == 0.0 ? t.a : t.a * alpha); - #include - #include <${QY>=154?"colorspace_fragment":"encodings_fragment"}> - }`),r8=j.forwardRef(({children:g,events:A=void 0,blur:I=0,eventPriority:C=0,renderPriority:B=0,worldUnits:i=!1,resolution:Q=512,...e},E)=>{IM({PortalMaterialImpl:s8});const t=j.useRef(null),{scene:n,gl:s,size:r,viewport:l,setEvents:D}=wB(),G=yr(Q,Q),[h,c]=j.useState(0);OB(()=>{const p=t.current.blend>0?Math.max(1,B):0;h!==p&&c(p)}),j.useEffect(()=>{A!==void 0&&D({enabled:!A})},[A]);const[y,S]=j.useState(!0),k=i8(S);j.useLayoutEffect(()=>{var p;k.current=(p=t.current)==null?void 0:p.__r3f.parent},[]),j.useLayoutEffect(()=>{if(k.current&&I&&t.current.sdf===null){const p=new hg(k.current.geometry,new uC),f=new oC().setFromBufferAttribute(p.geometry.attributes.position),q=new he(f.min.x*(1+2/Q),f.max.x*(1+2/Q),f.max.y*(1+2/Q),f.min.y*(1+2/Q),.1,1e3);q.position.set(0,0,1),q.lookAt(0,0,0),s.setRenderTarget(G),s.render(p,q);const U=c8(Q,Q,s)(G.texture),K=new Float32Array(Q*Q);s.readRenderTargetPixels(U,0,0,Q,Q,K);let z=1/0;for(let rA=0;rAt.current);const N=j.useCallback((p,f,q)=>{var _;if(!k.current)return!1;if(f.pointer.set(p.offsetX/f.size.width*2-1,-(p.offsetY/f.size.height)*2+1),f.raycaster.setFromCamera(f.pointer,f.camera),((_=t.current)==null?void 0:_.blend)===0){const[U]=f.raycaster.intersectObject(k.current);if(!U)return f.raycaster.camera=void 0,!1}},[]);return j.createElement("portalMaterialImpl",FE({ref:t,blur:I,blend:0,resolution:[r.width*l.dpr,r.height*l.dpr],attach:"material"},e),j.createElement(n8,{attach:"map",frames:y?1/0:0,eventPriority:C,renderPriority:B,compute:N},g,j.createElement(l8,{events:A,rootScene:n,priority:h,material:t,worldUnits:i})))});function l8({events:g=void 0,rootScene:A,material:I,priority:C,worldUnits:B}){const i=wB(s=>s.scene),Q=wB(s=>s.setEvents),e=yr(),E=yr();j.useLayoutEffect(()=>{i.matrixAutoUpdate=!1},[]),j.useEffect(()=>{g!==void 0&&Q({enabled:g})},[g]);const[t,n]=j.useMemo(()=>{const s={value:0};return[new nn(new NC({uniforms:{a:{value:e.texture},b:{value:E.texture},blend:s},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - uniform sampler2D a; - uniform sampler2D b; - uniform float blend; - varying vec2 vUv; - #include - void main() { - vec4 ta = texture2D(a, vUv); - vec4 tb = texture2D(b, vUv); - gl_FragColor = mix(tb, ta, blend); - #include - #include <${QY>=154?"colorspace_fragment":"encodings_fragment"}> - }`})),s]},[]);return OB(s=>{var r;let l=I==null||(r=I.current)==null?void 0:r.__r3f.parent;if(l){if(B)i.matrixWorld.identity();else{var D;C&&((D=I.current)==null?void 0:D.blend)===1&&l.updateWorldMatrix(!0,!1),i.matrixWorld.copy(l.matrixWorld)}if(C){var G,h,c;((G=I.current)==null?void 0:G.blend)>0&&((h=I.current)==null?void 0:h.blend)<1?(n.value=I.current.blend,s.gl.setRenderTarget(e),s.gl.render(i,s.camera),s.gl.setRenderTarget(E),s.gl.render(A,s.camera),s.gl.setRenderTarget(null),t.render(s.gl)):((c=I.current)==null?void 0:c.blend)===1&&s.gl.render(i,s.camera)}}},C),j.createElement(j.Fragment,null)}const c8=(g,A,I)=>{let C=new SC(g,A,{minFilter:Ii,magFilter:Dg,type:tC,format:mn,generateMipmaps:!0}),B=new SC(g,A,{minFilter:tg,magFilter:tg}),i=new SC(g,A,{minFilter:tg,magFilter:tg}),Q=new SC(g,A,{minFilter:tg,magFilter:tg}),e=new SC(g,A,{minFilter:tg,magFilter:tg}),E=new SC(g,A,{minFilter:tg,magFilter:tg,type:tC,format:mn}),t=new SC(g,A,{minFilter:tg,magFilter:tg,type:tC,format:mn});const n=new nn(new NC({uniforms:{tex:{value:null}},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - uniform sampler2D tex; - varying vec2 vUv; - #include - void main() { - gl_FragColor = pack2HalfToRGBA(vUv * (round(texture2D(tex, vUv).x))); - }`})),s=new nn(new NC({uniforms:{tex:{value:null}},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - uniform sampler2D tex; - varying vec2 vUv; - #include - void main() { - gl_FragColor = pack2HalfToRGBA(vUv * (1.0 - round(texture2D(tex, vUv).x))); - }`})),r=new nn(new NC({uniforms:{tex:{value:null},offset:{value:0},level:{value:0},maxSteps:{value:0}},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - varying vec2 vUv; - uniform sampler2D tex; - uniform float offset; - uniform float level; - uniform float maxSteps; - #include - void main() { - float closestDist = 9999999.9; - vec2 closestPos = vec2(0.0); - for (float x = -1.0; x <= 1.0; x += 1.0) { - for (float y = -1.0; y <= 1.0; y += 1.0) { - vec2 voffset = vUv; - voffset += vec2(x, y) * vec2(${1/g}, ${1/A}) * offset; - vec2 pos = unpackRGBATo2Half(texture2D(tex, voffset)); - float dist = distance(pos.xy, vUv); - if(pos.x != 0.0 && pos.y != 0.0 && dist < closestDist) { - closestDist = dist; - closestPos = pos; - } - } - } - gl_FragColor = pack2HalfToRGBA(closestPos); - }`})),l=new nn(new NC({uniforms:{tex:{value:null},size:{value:new KA(g,A)}},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - varying vec2 vUv; - uniform sampler2D tex; - uniform vec2 size; - #include - void main() { - gl_FragColor = vec4(distance(size * unpackRGBATo2Half(texture2D(tex, vUv)), size * vUv), 0.0, 0.0, 0.0); - }`})),D=new nn(new NC({uniforms:{inside:{value:t.texture},outside:{value:E.texture},tex:{value:null}},vertexShader:` - varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` - varying vec2 vUv; - uniform sampler2D inside; - uniform sampler2D outside; - uniform sampler2D tex; - #include - void main() { - float i = texture2D(inside, vUv).x; - float o =texture2D(outside, vUv).x; - if (texture2D(tex, vUv).x == 0.0) { - gl_FragColor = vec4(o, 0.0, 0.0, 0.0); - } else { - gl_FragColor = vec4(-i, 0.0, 0.0, 0.0); - } - }`}));return G=>{let h=C;G.minFilter=tg,G.magFilter=tg,n.material.uniforms.tex.value=G,I.setRenderTarget(B),n.render(I);const c=Math.ceil(Math.log(Math.max(g,A))/Math.log(2));let y=B,S=null;for(let k=0;k0){const i=document.getElementsByTagName("link");B=Promise.all(I.map(Q=>{if(Q=h8(Q),Q in kR)return;kR[Q]=!0;const e=Q.endsWith(".css"),E=e?'[rel="stylesheet"]':"";if(!!C)for(let s=i.length-1;s>=0;s--){const r=i[s];if(r.href===Q&&(!e||r.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${Q}"]${E}`))return;const n=document.createElement("link");if(n.rel=e?"stylesheet":D8,e||(n.as="script",n.crossOrigin=""),n.href=Q,document.head.appendChild(n),e)return new Promise((s,r)=>{n.addEventListener("load",s),n.addEventListener("error",()=>r(new Error(`Unable to preload CSS for ${Q}`)))})}))}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})},S8=j.createContext(null);function aY(){return j.useContext(S8)}const sY=j.createContext(void 0);function OE(){const g=j.useContext(sY);if(g==null)throw new Error("Cannot be used outside of a uikit component.");return g}const ca=sY.Provider;function Uw(){throw new Error("Cycle detected")}var G8=Symbol.for("preact-signals");function Nw(){if(pE>1)pE--;else{for(var g,A=!1;vs!==void 0;){var I=vs;for(vs=void 0,gk++;I!==void 0;){var C=I.o;if(I.o=void 0,I.f&=-3,!(8&I.f)&&cY(I))try{I.c()}catch(B){A||(g=B,A=!0)}I=C}}if(gk=0,pE--,A)throw g}}function rY(g){if(pE>0)return g();pE++;try{return g()}finally{Nw()}}var xg=void 0,by=0;function y8(g){if(by>0)return g();var A=xg;xg=void 0,by++;try{return g()}finally{by--,xg=A}}var vs=void 0,pE=0,gk=0,uh=0;function lY(g){if(xg!==void 0){var A=g.n;if(A===void 0||A.t!==xg)return A={i:0,S:g,p:xg.s,n:void 0,t:xg,e:void 0,x:void 0,r:A},xg.s!==void 0&&(xg.s.n=A),xg.s=A,g.n=A,32&xg.f&&g.S(A),A;if(A.i===-1)return A.i=0,A.n!==void 0&&(A.n.p=A.p,A.p!==void 0&&(A.p.n=A.n),A.p=xg.s,A.n=void 0,xg.s.n=A,xg.s=A),A}}function qC(g){this.v=g,this.i=0,this.n=void 0,this.t=void 0}qC.prototype.brand=G8;qC.prototype.h=function(){return!0};qC.prototype.S=function(g){this.t!==g&&g.e===void 0&&(g.x=this.t,this.t!==void 0&&(this.t.e=g),this.t=g)};qC.prototype.U=function(g){if(this.t!==void 0){var A=g.e,I=g.x;A!==void 0&&(A.x=I,g.e=void 0),I!==void 0&&(I.e=A,g.x=void 0),g===this.t&&(this.t=I)}};qC.prototype.subscribe=function(g){var A=this;return RI(function(){var I=A.value,C=32&this.f;this.f&=-33;try{g(I)}finally{this.f|=C}})};qC.prototype.valueOf=function(){return this.value};qC.prototype.toString=function(){return this.value+""};qC.prototype.toJSON=function(){return this.value};qC.prototype.peek=function(){return this.v};Object.defineProperty(qC.prototype,"value",{get:function(){var g=lY(this);return g!==void 0&&(g.i=this.i),this.v},set:function(g){if(xg instanceof _E&&function(){throw new Error("Computed cannot have side-effects")}(),g!==this.v){gk>100&&Uw(),this.v=g,this.i++,uh++,pE++;try{for(var A=this.t;A!==void 0;A=A.x)A.t.N()}finally{Nw()}}}});function SI(g){return new qC(g)}function cY(g){for(var A=g.s;A!==void 0;A=A.n)if(A.S.i!==A.i||!A.S.h()||A.S.i!==A.i)return!0;return!1}function DY(g){for(var A=g.s;A!==void 0;A=A.n){var I=A.S.n;if(I!==void 0&&(A.r=I),A.S.n=A,A.i=-1,A.n===void 0){g.s=A;break}}}function hY(g){for(var A=g.s,I=void 0;A!==void 0;){var C=A.p;A.i===-1?(A.S.U(A),C!==void 0&&(C.n=A.n),A.n!==void 0&&(A.n.p=C)):I=A,A.S.n=A.r,A.r!==void 0&&(A.r=void 0),A=C}g.s=I}function _E(g){qC.call(this,void 0),this.x=g,this.s=void 0,this.g=uh-1,this.f=4}(_E.prototype=new qC).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===uh))return!0;if(this.g=uh,this.f|=1,this.i>0&&!cY(this))return this.f&=-2,!0;var g=xg;try{DY(this),xg=this;var A=this.x();(16&this.f||this.v!==A||this.i===0)&&(this.v=A,this.f&=-17,this.i++)}catch(I){this.v=I,this.f|=16,this.i++}return xg=g,hY(this),this.f&=-2,!0};_E.prototype.S=function(g){if(this.t===void 0){this.f|=36;for(var A=this.s;A!==void 0;A=A.n)A.S.S(A)}qC.prototype.S.call(this,g)};_E.prototype.U=function(g){if(this.t!==void 0&&(qC.prototype.U.call(this,g),this.t===void 0)){this.f&=-33;for(var A=this.s;A!==void 0;A=A.n)A.S.U(A)}};_E.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var g=this.t;g!==void 0;g=g.x)g.t.N()}};_E.prototype.peek=function(){if(this.h()||Uw(),16&this.f)throw this.v;return this.v};Object.defineProperty(_E.prototype,"value",{get:function(){1&this.f&&Uw();var g=lY(this);if(this.h(),g!==void 0&&(g.i=this.i),16&this.f)throw this.v;return this.v}});function og(g){return new _E(g)}function wY(g){var A=g.u;if(g.u=void 0,typeof A=="function"){pE++;var I=xg;xg=void 0;try{A()}catch(C){throw g.f&=-2,g.f|=8,EM(g),C}finally{xg=I,Nw()}}}function EM(g){for(var A=g.s;A!==void 0;A=A.n)A.S.U(A);g.x=void 0,g.s=void 0,wY(g)}function u8(g){if(xg!==this)throw new Error("Out-of-order effect");hY(this),xg=g,this.f&=-2,8&this.f&&EM(this),Nw()}function $r(g){this.x=g,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}$r.prototype.c=function(){var g=this.S();try{if(8&this.f||this.x===void 0)return;var A=this.x();typeof A=="function"&&(this.u=A)}finally{g()}};$r.prototype.S=function(){1&this.f&&Uw(),this.f|=1,this.f&=-9,wY(this),DY(this),pE++;var g=xg;return xg=this,u8.bind(this,g)};$r.prototype.N=function(){2&this.f||(this.f|=2,this.o=vs,vs=this)};$r.prototype.d=function(){this.f|=8,1&this.f||EM(this)};function RI(g){var A=new $r(g);try{A.c()}catch(I){throw A.d(),I}return A.d.bind(A)}var k8=(()=>{var g=import.meta.url;return function(A){A=A||{};var I;I||(I=typeof A<"u"?A:{});var C,B;I.ready=new Promise(function(Y,T){C=Y,B=T});var i=Object.assign({},I),Q="";typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),g&&(Q=g),Q.indexOf("blob:")!==0?Q=Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):Q="";var e=I.print||console.log.bind(console),E=I.printErr||console.warn.bind(console);Object.assign(I,i),i=null;var t;I.wasmBinary&&(t=I.wasmBinary),I.noExitRuntime,typeof WebAssembly!="object"&&X("no native wasm support detected");var n,s=!1;function r(Y,T,BA){BA=T+BA;for(var lA="";!(T>=BA);){var kA=Y[T++];if(!kA)break;if(kA&128){var RA=Y[T++]&63;if((kA&224)==192)lA+=String.fromCharCode((kA&31)<<6|RA);else{var mA=Y[T++]&63;kA=(kA&240)==224?(kA&15)<<12|RA<<6|mA:(kA&7)<<18|RA<<12|mA<<6|Y[T++]&63,65536>kA?lA+=String.fromCharCode(kA):(kA-=65536,lA+=String.fromCharCode(55296|kA>>10,56320|kA&1023))}}else lA+=String.fromCharCode(kA)}return lA}var l,D,G,h,c,y,S,k,N;function p(){var Y=n.buffer;l=Y,I.HEAP8=D=new Int8Array(Y),I.HEAP16=h=new Int16Array(Y),I.HEAP32=y=new Int32Array(Y),I.HEAPU8=G=new Uint8Array(Y),I.HEAPU16=c=new Uint16Array(Y),I.HEAPU32=S=new Uint32Array(Y),I.HEAPF32=k=new Float32Array(Y),I.HEAPF64=N=new Float64Array(Y)}var f,q=[],_=[],U=[];function K(){var Y=I.preRun.shift();q.unshift(Y)}var z=0,rA=null;function X(Y){throw I.onAbort&&I.onAbort(Y),Y="Aborted("+Y+")",E(Y),s=!0,Y=new WebAssembly.RuntimeError(Y+". Build with -sASSERTIONS for more info."),B(Y),Y}function sA(Y){return Y.startsWith("data:application/octet-stream;base64,")}var oA;if(oA="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!sA(oA)){var GA=oA;oA=I.locateFile?I.locateFile(GA,Q):Q+GA}function b(){var Y=oA;try{if(Y==oA&&t)return new Uint8Array(t);if(sA(Y))try{var T=wI(Y.slice(37)),BA=new Uint8Array(T.length);for(Y=0;Y=T?"_"+Y:Y}function fA(Y,T){return Y=DA(Y),function(){return T.apply(this,arguments)}}var VA=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function v(Y){var T=Error,BA=fA(Y,function(lA){this.name=Y,this.message=lA,lA=Error(lA).stack,lA!==void 0&&(this.stack=this.toString()+` -`+lA.replace(/^Error(:[^\n]*)?\n/,""))});return BA.prototype=Object.create(T.prototype),BA.prototype.constructor=BA,BA.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},BA}var x=void 0;function H(Y){throw new x(Y)}var EA=Y=>(Y||H("Cannot use deleted val. handle = "+Y),VA[Y].value),UA=Y=>{switch(Y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var T=W.length?W.pop():VA.length;return VA[T]={ga:1,value:Y},T}},hA=void 0,NA=void 0;function Z(Y){for(var T="";G[Y];)T+=NA[G[Y++]];return T}var MA=[];function eA(){for(;MA.length;){var Y=MA.pop();Y.M.$=!1,Y.delete()}}var wA=void 0,SA={};function bA(Y,T){for(T===void 0&&H("ptr should not be undefined");Y.R;)T=Y.ba(T),Y=Y.R;return T}var QA={};function F(Y){Y=mI(Y);var T=Z(Y);return nI(Y),T}function m(Y,T){var BA=QA[Y];return BA===void 0&&H(T+" has unknown type "+F(Y)),BA}function cA(){}var PA=!1;function ZA(Y){--Y.count.value,Y.count.value===0&&(Y.T?Y.U.W(Y.T):Y.P.N.W(Y.O))}function TA(Y,T,BA){return T===BA?Y:BA.R===void 0?null:(Y=TA(Y,T,BA.R),Y===null?null:BA.na(Y))}var eI={};function BI(Y,T){return T=bA(Y,T),SA[T]}var aI=void 0;function hI(Y){throw new aI(Y)}function NI(Y,T){return T.P&&T.O||hI("makeClassHandle requires ptr and ptrType"),!!T.U!=!!T.T&&hI("Both smartPtrType and smartPtr must be specified"),T.count={value:1},jA(Object.create(Y,{M:{value:T}}))}function jA(Y){return typeof FinalizationRegistry>"u"?(jA=T=>T,Y):(PA=new FinalizationRegistry(T=>{ZA(T.M)}),jA=T=>{var BA=T.M;return BA.T&&PA.register(T,{M:BA},T),T},cA=T=>{PA.unregister(T)},jA(Y))}var OI={};function YI(Y){for(;Y.length;){var T=Y.pop();Y.pop()(T)}}function kI(Y){return this.fromWireType(y[Y>>2])}var EI={},sI={};function dI(Y,T,BA){function lA(WA){WA=BA(WA),WA.length!==Y.length&&hI("Mismatched type converter count");for(var OA=0;OA{QA.hasOwnProperty(WA)?kA[OA]=QA[WA]:(RA.push(WA),EI.hasOwnProperty(WA)||(EI[WA]=[]),EI[WA].push(()=>{kA[OA]=QA[WA],++mA,mA===RA.length&&lA(kA)}))}),RA.length===0&&lA(kA)}function LI(Y){switch(Y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+Y)}}function FI(Y,T,BA={}){if(!("argPackAdvance"in T))throw new TypeError("registerType registeredInstance requires argPackAdvance");var lA=T.name;if(Y||H('type "'+lA+'" must have a positive integer typeid pointer'),QA.hasOwnProperty(Y)){if(BA.ua)return;H("Cannot register type '"+lA+"' twice")}QA[Y]=T,delete sI[Y],EI.hasOwnProperty(Y)&&(T=EI[Y],delete EI[Y],T.forEach(kA=>kA()))}function vI(Y){H(Y.M.P.N.name+" instance already deleted")}function XA(){}function IA(Y,T,BA){if(Y[T].S===void 0){var lA=Y[T];Y[T]=function(){return Y[T].S.hasOwnProperty(arguments.length)||H("Function '"+BA+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+Y[T].S+")!"),Y[T].S[arguments.length].apply(this,arguments)},Y[T].S=[],Y[T].S[lA.Z]=lA}}function II(Y,T){I.hasOwnProperty(Y)?(H("Cannot register public name '"+Y+"' twice"),IA(I,Y,Y),I.hasOwnProperty(void 0)&&H("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),I[Y].S[void 0]=T):I[Y]=T}function gI(Y,T,BA,lA,kA,RA,mA,WA){this.name=Y,this.constructor=T,this.X=BA,this.W=lA,this.R=kA,this.pa=RA,this.ba=mA,this.na=WA,this.ja=[]}function lI(Y,T,BA){for(;T!==BA;)T.ba||H("Expected null or instance of "+BA.name+", got an instance of "+T.name),Y=T.ba(Y),T=T.R;return Y}function fI(Y,T){return T===null?(this.ea&&H("null is not a valid "+this.name),0):(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),lI(T.M.O,T.M.P.N,this.N))}function ag(Y,T){if(T===null){if(this.ea&&H("null is not a valid "+this.name),this.da){var BA=this.fa();return Y!==null&&Y.push(this.W,BA),BA}return 0}if(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&T.M.P.ca&&H("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name),BA=lI(T.M.O,T.M.P.N,this.N),this.da)switch(T.M.T===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:T.M.U===this?BA=T.M.T:H("Cannot convert argument of type "+(T.M.U?T.M.U.name:T.M.P.name)+" to parameter type "+this.name);break;case 1:BA=T.M.T;break;case 2:if(T.M.U===this)BA=T.M.T;else{var lA=T.clone();BA=this.xa(BA,UA(function(){lA.delete()})),Y!==null&&Y.push(this.W,BA)}break;default:H("Unsupporting sharing policy")}return BA}function wg(Y,T){return T===null?(this.ea&&H("null is not a valid "+this.name),0):(T.M||H('Cannot pass "'+_I(T)+'" as a '+this.name),T.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),T.M.P.ca&&H("Cannot convert argument of type "+T.M.P.name+" to parameter type "+this.name),lI(T.M.O,T.M.P.N,this.N))}function yg(Y,T,BA,lA){this.name=Y,this.N=T,this.ea=BA,this.ca=lA,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,T.R!==void 0?this.toWireType=ag:(this.toWireType=lA?fI:wg,this.V=null)}function dC(Y,T){I.hasOwnProperty(Y)||hI("Replacing nonexistant public symbol"),I[Y]=T,I[Y].Z=void 0}function ug(Y,T){var BA=[];return function(){if(BA.length=0,Object.assign(BA,arguments),Y.includes("j")){var lA=I["dynCall_"+Y];lA=BA&&BA.length?lA.apply(null,[T].concat(BA)):lA.call(null,T)}else lA=f.get(T).apply(null,BA);return lA}}function pg(Y,T){Y=Z(Y);var BA=Y.includes("j")?ug(Y,T):f.get(T);return typeof BA!="function"&&H("unknown function pointer with signature "+Y+": "+T),BA}var WC=void 0;function yB(Y,T){function BA(RA){kA[RA]||QA[RA]||(sI[RA]?sI[RA].forEach(BA):(lA.push(RA),kA[RA]=!0))}var lA=[],kA={};throw T.forEach(BA),new WC(Y+": "+lA.map(F).join([", "]))}function mi(Y,T,BA,lA,kA){var RA=T.length;2>RA&&H("argTypes array size mismatch! Must at least get return value and 'this' types!");var mA=T[1]!==null&&BA!==null,WA=!1;for(BA=1;BA>2]);return BA}function LC(Y){4>2])};case 3:return function(BA){return this.fromWireType(N[BA>>3])};default:throw new TypeError("Unknown float type: "+Y)}}function Je(Y,T,BA){switch(T){case 0:return BA?function(lA){return D[lA]}:function(lA){return G[lA]};case 1:return BA?function(lA){return h[lA>>1]}:function(lA){return c[lA>>1]};case 2:return BA?function(lA){return y[lA>>2]}:function(lA){return S[lA>>2]};default:throw new TypeError("Unknown integer type: "+Y)}}function L(Y,T){for(var BA="",lA=0;!(lA>=T/2);++lA){var kA=h[Y+2*lA>>1];if(kA==0)break;BA+=String.fromCharCode(kA)}return BA}function P(Y,T,BA){if(BA===void 0&&(BA=2147483647),2>BA)return 0;BA-=2;var lA=T;BA=BA<2*Y.length?BA/2:Y.length;for(var kA=0;kA>1]=Y.charCodeAt(kA),T+=2;return h[T>>1]=0,T-lA}function aA(Y){return 2*Y.length}function J(Y,T){for(var BA=0,lA="";!(BA>=T/4);){var kA=y[Y+4*BA>>2];if(kA==0)break;++BA,65536<=kA?(kA-=65536,lA+=String.fromCharCode(55296|kA>>10,56320|kA&1023)):lA+=String.fromCharCode(kA)}return lA}function V(Y,T,BA){if(BA===void 0&&(BA=2147483647),4>BA)return 0;var lA=T;BA=lA+BA-4;for(var kA=0;kA=RA){var mA=Y.charCodeAt(++kA);RA=65536+((RA&1023)<<10)|mA&1023}if(y[T>>2]=RA,T+=4,T+4>BA)break}return y[T>>2]=0,T-lA}function $(Y){for(var T=0,BA=0;BA=lA&&++BA,T+=4}return T}var tA={};function iA(Y){var T=tA[Y];return T===void 0?Z(Y):T}var FA=[];function qA(Y){var T=FA.length;return FA.push(Y),T}function xA(Y,T){for(var BA=Array(Y),lA=0;lA>2],"parameter "+lA);return BA}var YA=[],DI=[null,[],[]];x=I.BindingError=v("BindingError"),I.count_emval_handles=function(){for(var Y=0,T=5;T$A;++$A)zA[$A]=String.fromCharCode($A);NA=zA,I.getInheritedInstanceCount=function(){return Object.keys(SA).length},I.getLiveInheritedInstances=function(){var Y=[],T;for(T in SA)SA.hasOwnProperty(T)&&Y.push(SA[T]);return Y},I.flushPendingDeletes=eA,I.setDelayFunction=function(Y){wA=Y,MA.length&&wA&&wA(eA)},aI=I.InternalError=v("InternalError"),XA.prototype.isAliasOf=function(Y){if(!(this instanceof XA&&Y instanceof XA))return!1;var T=this.M.P.N,BA=this.M.O,lA=Y.M.P.N;for(Y=Y.M.O;T.R;)BA=T.ba(BA),T=T.R;for(;lA.R;)Y=lA.ba(Y),lA=lA.R;return T===lA&&BA===Y},XA.prototype.clone=function(){if(this.M.O||vI(this),this.M.aa)return this.M.count.value+=1,this;var Y=jA,T=Object,BA=T.create,lA=Object.getPrototypeOf(this),kA=this.M;return Y=Y(BA.call(T,lA,{M:{value:{count:kA.count,$:kA.$,aa:kA.aa,O:kA.O,P:kA.P,T:kA.T,U:kA.U}}})),Y.M.count.value+=1,Y.M.$=!1,Y},XA.prototype.delete=function(){this.M.O||vI(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),cA(this),ZA(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},XA.prototype.isDeleted=function(){return!this.M.O},XA.prototype.deleteLater=function(){return this.M.O||vI(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),MA.push(this),MA.length===1&&wA&&wA(eA),this.M.$=!0,this},yg.prototype.qa=function(Y){return this.ka&&(Y=this.ka(Y)),Y},yg.prototype.ha=function(Y){this.W&&this.W(Y)},yg.prototype.argPackAdvance=8,yg.prototype.readValueFromPointer=kI,yg.prototype.deleteObject=function(Y){Y!==null&&Y.delete()},yg.prototype.fromWireType=function(Y){function T(){return this.da?NI(this.N.X,{P:this.wa,O:BA,U:this,T:Y}):NI(this.N.X,{P:this,O:Y})}var BA=this.qa(Y);if(!BA)return this.ha(Y),null;var lA=BI(this.N,BA);if(lA!==void 0)return lA.M.count.value===0?(lA.M.O=BA,lA.M.T=Y,lA.clone()):(lA=lA.clone(),this.ha(Y),lA);if(lA=this.N.pa(BA),lA=eI[lA],!lA)return T.call(this);lA=this.ca?lA.la:lA.pointerType;var kA=TA(BA,this.N,lA.N);return kA===null?T.call(this):this.da?NI(lA.N.X,{P:lA,O:kA,U:this,T:Y}):NI(lA.N.X,{P:lA,O:kA})},WC=I.UnboundTypeError=v("UnboundTypeError");var wI=typeof atob=="function"?atob:function(Y){var T="",BA=0;Y=Y.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var lA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),kA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),RA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++)),mA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(Y.charAt(BA++));lA=lA<<2|kA>>4,kA=(kA&15)<<4|RA>>2;var WA=(RA&3)<<6|mA;T+=String.fromCharCode(lA),RA!==64&&(T+=String.fromCharCode(kA)),mA!==64&&(T+=String.fromCharCode(WA))}while(BAmA.ta).concat(kA.map(mA=>mA.za));dI([Y],RA,mA=>{var WA={};return kA.forEach((OA,_A)=>{var AI=mA[_A],MI=OA.ra,bI=OA.sa,Ug=mA[_A+kA.length],rg=OA.ya,YC=OA.Aa;WA[OA.oa]={read:jC=>AI.fromWireType(MI(bI,jC)),write:(jC,QQ)=>{var Li=[];rg(YC,jC,Ug.toWireType(Li,QQ)),YI(Li)}}}),[{name:T.name,fromWireType:function(OA){var _A={},AI;for(AI in WA)_A[AI]=WA[AI].read(OA);return lA(OA),_A},toWireType:function(OA,_A){for(var AI in WA)if(!(AI in _A))throw new TypeError('Missing field: "'+AI+'"');var MI=BA();for(AI in WA)WA[AI].write(MI,_A[AI]);return OA!==null&&OA.push(lA,MI),MI},argPackAdvance:8,readValueFromPointer:kI,V:lA}]})},v:function(){},B:function(Y,T,BA,lA,kA){var RA=LI(BA);T=Z(T),FI(Y,{name:T,fromWireType:function(mA){return!!mA},toWireType:function(mA,WA){return WA?lA:kA},argPackAdvance:8,readValueFromPointer:function(mA){if(BA===1)var WA=D;else if(BA===2)WA=h;else if(BA===4)WA=y;else throw new TypeError("Unknown boolean type size: "+T);return this.fromWireType(WA[mA>>RA])},V:null})},f:function(Y,T,BA,lA,kA,RA,mA,WA,OA,_A,AI,MI,bI){AI=Z(AI),RA=pg(kA,RA),WA&&(WA=pg(mA,WA)),_A&&(_A=pg(OA,_A)),bI=pg(MI,bI);var Ug=DA(AI);II(Ug,function(){yB("Cannot construct "+AI+" due to unbound types",[lA])}),dI([Y,T,BA],lA?[lA]:[],function(rg){if(rg=rg[0],lA)var YC=rg.N,jC=YC.X;else jC=XA.prototype;rg=fA(Ug,function(){if(Object.getPrototypeOf(this)!==QQ)throw new x("Use 'new' to construct "+AI);if(Li.Y===void 0)throw new x(AI+" has no accessible constructor");var Do=Li.Y[arguments.length];if(Do===void 0)throw new x("Tried to invoke ctor of "+AI+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Li.Y).toString()+") parameters instead!");return Do.apply(this,arguments)});var QQ=Object.create(jC,{constructor:{value:rg}});rg.prototype=QQ;var Li=new gI(AI,rg,QQ,bI,YC,RA,WA,_A);YC=new yg(AI,Li,!0,!1),jC=new yg(AI+"*",Li,!1,!1);var il=new yg(AI+" const*",Li,!1,!0);return eI[Y]={pointerType:jC,la:il},dC(Ug,rg),[YC,jC,il]})},d:function(Y,T,BA,lA,kA,RA,mA){var WA=eB(BA,lA);T=Z(T),RA=pg(kA,RA),dI([],[Y],function(OA){function _A(){yB("Cannot call "+AI+" due to unbound types",WA)}OA=OA[0];var AI=OA.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]);var MI=OA.N.constructor;return MI[T]===void 0?(_A.Z=BA-1,MI[T]=_A):(IA(MI,T,AI),MI[T].S[BA-1]=_A),dI([],WA,function(bI){return bI=mi(AI,[bI[0],null].concat(bI.slice(1)),null,RA,mA),MI[T].S===void 0?(bI.Z=BA-1,MI[T]=bI):MI[T].S[BA-1]=bI,[]}),[]})},p:function(Y,T,BA,lA,kA,RA){0{yB("Cannot construct "+WA.name+" due to unbound types",mA)},dI([],mA,function(_A){return _A.splice(1,0,null),WA.N.Y[T-1]=mi(OA,_A,null,kA,RA),[]}),[]})},a:function(Y,T,BA,lA,kA,RA,mA,WA){var OA=eB(BA,lA);T=Z(T),RA=pg(kA,RA),dI([],[Y],function(_A){function AI(){yB("Cannot call "+MI+" due to unbound types",OA)}_A=_A[0];var MI=_A.name+"."+T;T.startsWith("@@")&&(T=Symbol[T.substring(2)]),WA&&_A.N.ja.push(T);var bI=_A.N.X,Ug=bI[T];return Ug===void 0||Ug.S===void 0&&Ug.className!==_A.name&&Ug.Z===BA-2?(AI.Z=BA-2,AI.className=_A.name,bI[T]=AI):(IA(bI,T,MI),bI[T].S[BA-2]=AI),dI([],OA,function(rg){return rg=mi(MI,rg,_A,RA,mA),bI[T].S===void 0?(rg.Z=BA-2,bI[T]=rg):bI[T].S[BA-2]=rg,[]}),[]})},A:function(Y,T){T=Z(T),FI(Y,{name:T,fromWireType:function(BA){var lA=EA(BA);return LC(BA),lA},toWireType:function(BA,lA){return UA(lA)},argPackAdvance:8,readValueFromPointer:kI,V:null})},n:function(Y,T,BA){BA=LI(BA),T=Z(T),FI(Y,{name:T,fromWireType:function(lA){return lA},toWireType:function(lA,kA){return kA},argPackAdvance:8,readValueFromPointer:KQ(T,BA),V:null})},e:function(Y,T,BA,lA,kA){T=Z(T),kA===-1&&(kA=4294967295),kA=LI(BA);var RA=WA=>WA;if(lA===0){var mA=32-8*BA;RA=WA=>WA<>>mA}BA=T.includes("unsigned")?function(WA,OA){return OA>>>0}:function(WA,OA){return OA},FI(Y,{name:T,fromWireType:RA,toWireType:BA,argPackAdvance:8,readValueFromPointer:Je(T,kA,lA!==0),V:null})},b:function(Y,T,BA){function lA(RA){RA>>=2;var mA=S;return new kA(l,mA[RA+1],mA[RA])}var kA=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][T];BA=Z(BA),FI(Y,{name:BA,fromWireType:lA,argPackAdvance:8,readValueFromPointer:lA},{ua:!0})},o:function(Y,T){T=Z(T);var BA=T==="std::string";FI(Y,{name:T,fromWireType:function(lA){var kA=S[lA>>2],RA=lA+4;if(BA)for(var mA=RA,WA=0;WA<=kA;++WA){var OA=RA+WA;if(WA==kA||G[OA]==0){if(mA=mA?r(G,mA,OA-mA):"",_A===void 0)var _A=mA;else _A+="\0",_A+=mA;mA=OA+1}}else{for(_A=Array(kA),WA=0;WA=OA?WA++:2047>=OA?WA+=2:55296<=OA&&57343>=OA?(WA+=4,++RA):WA+=3}RA=WA}else RA=kA.length;if(WA=xI(4+RA+1),OA=WA+4,S[WA>>2]=RA,BA&&mA){if(mA=OA,OA=RA+1,RA=G,0=AI){var MI=kA.charCodeAt(++_A);AI=65536+((AI&1023)<<10)|MI&1023}if(127>=AI){if(mA>=OA)break;RA[mA++]=AI}else{if(2047>=AI){if(mA+1>=OA)break;RA[mA++]=192|AI>>6}else{if(65535>=AI){if(mA+2>=OA)break;RA[mA++]=224|AI>>12}else{if(mA+3>=OA)break;RA[mA++]=240|AI>>18,RA[mA++]=128|AI>>12&63}RA[mA++]=128|AI>>6&63}RA[mA++]=128|AI&63}}RA[mA]=0}}else if(mA)for(mA=0;mAc,WA=1;else T===4&&(lA=J,kA=V,RA=$,mA=()=>S,WA=2);FI(Y,{name:BA,fromWireType:function(OA){for(var _A=S[OA>>2],AI=mA(),MI,bI=OA+4,Ug=0;Ug<=_A;++Ug){var rg=OA+4+Ug*T;(Ug==_A||AI[rg>>WA]==0)&&(bI=lA(bI,rg-bI),MI===void 0?MI=bI:(MI+="\0",MI+=bI),bI=rg+T)}return nI(OA),MI},toWireType:function(OA,_A){typeof _A!="string"&&H("Cannot pass non-string to C++ string type "+BA);var AI=RA(_A),MI=xI(4+AI+T);return S[MI>>2]=AI>>WA,kA(_A,MI+4,AI+T),OA!==null&&OA.push(nI,MI),MI},argPackAdvance:8,readValueFromPointer:kI,V:function(OA){nI(OA)}})},k:function(Y,T,BA,lA,kA,RA){OI[Y]={name:Z(T),fa:pg(BA,lA),W:pg(kA,RA),ia:[]}},h:function(Y,T,BA,lA,kA,RA,mA,WA,OA,_A){OI[Y].ia.push({oa:Z(T),ta:BA,ra:pg(lA,kA),sa:RA,za:mA,ya:pg(WA,OA),Aa:_A})},C:function(Y,T){T=Z(T),FI(Y,{va:!0,name:T,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(Y,T,BA,lA,kA){Y=FA[Y],T=EA(T),BA=iA(BA);var RA=[];return S[lA>>2]=UA(RA),Y(T,BA,RA,kA)},t:function(Y,T,BA,lA){Y=FA[Y],T=EA(T),BA=iA(BA),Y(T,BA,null,lA)},g:LC,m:function(Y,T){var BA=xA(Y,T),lA=BA[0];T=lA.name+"_$"+BA.slice(1).map(function(mA){return mA.name}).join("_")+"$";var kA=YA[T];if(kA!==void 0)return kA;var RA=Array(Y-1);return kA=qA((mA,WA,OA,_A)=>{for(var AI=0,MI=0;MI>>=0,2147483648=BA;BA*=2){var lA=T*(1+.2/BA);lA=Math.min(lA,Y+100663296);var kA=Math;lA=Math.max(Y,lA),kA=kA.min.call(kA,2147483648,lA+(65536-lA%65536)%65536);A:{try{n.grow(kA-l.byteLength+65535>>>16),p();var RA=1;break A}catch{}RA=void 0}if(RA)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(Y,T,BA,lA){for(var kA=0,RA=0;RA>2],WA=S[T+4>>2];T+=8;for(var OA=0;OA>2]=kA,0}};(function(){function Y(kA){I.asm=kA.exports,n=I.asm.E,p(),f=I.asm.J,_.unshift(I.asm.F),z--,I.monitorRunDependencies&&I.monitorRunDependencies(z),z==0&&rA&&(kA=rA,rA=null,kA())}function T(kA){Y(kA.instance)}function BA(kA){return gA().then(function(RA){return WebAssembly.instantiate(RA,lA)}).then(function(RA){return RA}).then(kA,function(RA){E("failed to asynchronously prepare wasm: "+RA),X(RA)})}var lA={a:KI};if(z++,I.monitorRunDependencies&&I.monitorRunDependencies(z),I.instantiateWasm)try{return I.instantiateWasm(lA,Y)}catch(kA){E("Module.instantiateWasm callback failed with error: "+kA),B(kA)}return function(){return t||typeof WebAssembly.instantiateStreaming!="function"||sA(oA)||typeof fetch!="function"?BA(T):fetch(oA,{credentials:"same-origin"}).then(function(kA){return WebAssembly.instantiateStreaming(kA,lA).then(T,function(RA){return E("wasm streaming compile failed: "+RA),E("falling back to ArrayBuffer instantiation"),BA(T)})})}().catch(B),{}})(),I.___wasm_call_ctors=function(){return(I.___wasm_call_ctors=I.asm.F).apply(null,arguments)};var mI=I.___getTypeName=function(){return(mI=I.___getTypeName=I.asm.G).apply(null,arguments)};I.__embind_initialize_bindings=function(){return(I.__embind_initialize_bindings=I.asm.H).apply(null,arguments)};var xI=I._malloc=function(){return(xI=I._malloc=I.asm.I).apply(null,arguments)},nI=I._free=function(){return(nI=I._free=I.asm.K).apply(null,arguments)};I.dynCall_jiji=function(){return(I.dynCall_jiji=I.asm.L).apply(null,arguments)};var QI;rA=function Y(){QI||XI(),QI||(rA=Y)};function XI(){function Y(){if(!QI&&(QI=!0,I.calledRun=!0,!s)){if(CA(_),C(I),I.onRuntimeInitialized&&I.onRuntimeInitialized(),I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;){var T=I.postRun.shift();U.unshift(T)}CA(U)}}if(!(01?e-1:0),t=1;ti?g.Node.createWithConfig(i):g.Node.createDefault()),A(g.Node.prototype,"free",function(){g.Node.destroy(this)}),A(g.Node.prototype,"freeRecursive",function(){for(let B=0,i=this.getChildCount();B1&&arguments[1]!==void 0?arguments[1]:NaN,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:vD.LTR;return B.call(this,i,Q,e)}),{Config:g.Config,Node:g.Node,...M8}}const SY=p8(await k8());function WQ(g,A,I){if(A==null)return I;const C=g[A];if(C==null)throw new Error(`unexpected value ${A}, expected ${Object.keys(g).join(", ")}`);return C}const U8={static:0,relative:1,absolute:2},Py={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},N8={column:0,"column-reverse":1,row:2,"row-reverse":3},f8={"no-wrap":0,wrap:1,"wrap-reverse":2},F8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},R8={visible:0,hidden:1,scroll:2},K8={flex:0,none:1},GY={positionType:(g,A)=>g.setPositionType(WQ(U8,A,1)),positionTop:(g,A)=>g.setPosition(1,A??NaN),positionLeft:(g,A)=>g.setPosition(0,A??NaN),positionRight:(g,A)=>g.setPosition(2,A??NaN),positionBottom:(g,A)=>g.setPosition(3,A??NaN),alignContent:(g,A)=>g.setAlignContent(WQ(Py,A,4)),alignItems:(g,A)=>g.setAlignItems(WQ(Py,A,4)),alignSelf:(g,A)=>g.setAlignSelf(WQ(Py,A,0)),flexDirection:(g,A)=>g.setFlexDirection(WQ(N8,A,2)),flexWrap:(g,A)=>g.setFlexWrap(WQ(f8,A,0)),justifyContent:(g,A)=>g.setJustifyContent(WQ(F8,A,0)),marginTop:(g,A)=>g.setMargin(1,A??NaN),marginLeft:(g,A)=>g.setMargin(0,A??NaN),marginRight:(g,A)=>g.setMargin(2,A??NaN),marginBottom:(g,A)=>g.setMargin(3,A??NaN),flexBasis:(g,A)=>g.setFlexBasis(A??NaN),flexGrow:(g,A)=>g.setFlexGrow(A??0),flexShrink:(g,A)=>g.setFlexShrink(A??1),width:(g,A)=>g.setWidth(A??NaN),height:(g,A)=>g.setHeight(A??NaN),minWidth:(g,A)=>g.setMinWidth(A??NaN),minHeight:(g,A)=>g.setMinHeight(A??NaN),maxWidth:(g,A)=>g.setMaxWidth(A??NaN),maxHeight:(g,A)=>g.setMaxHeight(A??NaN),aspectRatio:(g,A)=>g.setAspectRatio(A??NaN),borderTop:(g,A)=>g.setBorder(1,A??NaN),borderLeft:(g,A)=>g.setBorder(0,A??NaN),borderRight:(g,A)=>g.setBorder(2,A??NaN),borderBottom:(g,A)=>g.setBorder(3,A??NaN),overflow:(g,A)=>g.setOverflow(WQ(R8,A,0)),display:(g,A)=>g.setDisplay(WQ(K8,A,0)),paddingTop:(g,A)=>g.setPadding(1,A??NaN),paddingLeft:(g,A)=>g.setPadding(0,A??NaN),paddingRight:(g,A)=>g.setPadding(2,A??NaN),paddingBottom:(g,A)=>g.setPadding(3,A??NaN),gapRow:(g,A)=>g.setGap(1,A??NaN),gapColumn:(g,A)=>g.setGap(0,A??NaN)};function tM(g,A,I,C,B){let i=!1,Q,e={};B.push(RI(()=>{const E=g.value;i&&UR(I,E,Q,e,C),Q=E}),RI(()=>{if(i=A.value,!!i&&Q!=null)return UR(I,Q,void 0,e,C),()=>{J8(e),e={}}}))}function UR(g,A,I,C,B){const i=E=>C[E]=RI(()=>B(E,A.read(E,void 0))),Q=E=>{C[E]?.(),delete C[E],I.read(E,void 0)!==void 0&&B(E,void 0)},e=E=>{C[E]?.(),i(E)};y8(()=>A.filterCompare(g,I,i,e,Q))}function J8(g){for(const A in g)g[A]()}const Gs=100,oM=SY.Config.create();oM.setUseWebDefaults(!0);oM.setPointScaleFactor(Gs);function q8(g){return g==="measureFunc"?!0:g in GY}function we(g){const A=SI([!1,!1]);return{size:SI(void 0),relativeCenter:SI(void 0),borderInset:SI(void 0),overflow:SI(vt.Visible),scrollable:A,paddingInset:SI(void 0),maxScrollPosition:SI([void 0,void 0]),anyAncestorScrollable:og(()=>{const[I,C]=g?.value??[!1,!1],[B,i]=A.value;return[I||B,C||i]})}}class yY{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=SI(!1);constructor(A,I,C,B,i){this.state=A,this.requestCalculateLayout=C,this.object=B,this.yogaNode=SY.Node.create(oM),this.active.value=!0,i.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),tM(I,this.active,q8,(Q,e)=>{GY[Q](this.yogaNode,e),this.requestCalculateLayout()},i)}setMeasureFunc(A){if(!this.active.value)return;if(A.value==null){this.yogaNode.setMeasureFunc(null);return}const I=A.value;this.yogaNode.setMeasureFunc((C,B,i,Q)=>{const e=I(C,B,i,Q);return{width:Math.ceil(e.width*Gs+1)/Gs,height:Math.ceil(e.height*Gs+1)/Gs}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),rY(()=>this.updateMeasurements(void 0,void 0)))}addChild(A){this.children.push(A),this.requestCalculateLayout()}removeChild(A){const I=this.children.indexOf(A);I!==-1&&(this.children.splice(I,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let A;this.children.sort((Q,e)=>{if(A??=Q.object.current?.parent?.children,A==null)return 0;const E=Q.object.current,t=e.object.current;if(E==null||t==null)return 0;const n=A.indexOf(E);if(n===-1)throw new Error("parent mismatch");const s=A.indexOf(t);if(s===-1)throw new Error("parent mismatch");return n-s});let I=0,C=this.yogaNode.getChild(I),B=this.children[I];for(;B!=null||C!=null;){if(B!=null&&C!=null&&m8(C,fR(B.yogaNode))){B=this.children[++I],C=this.yogaNode.getChild(I);continue}if(C!=null&&this.yogaNode.removeChild(C),B!=null){const Q=fR(B.yogaNode);Q.getParent()?.removeChild(Q),this.yogaNode.insertChild(Q,I),B=this.children[++I]}C=this.yogaNode.getChild(I)}const i=this.children.length;for(let Q=0;Q.5,U=q>.5;en(this.state.maxScrollPosition,_?f:void 0,U?q:void 0),en(this.state.scrollable,_,U)}else en(this.state.maxScrollPosition,void 0,void 0),en(this.state.scrollable,!1,!1);const k=this.state.overflow.value===vt.Visible;return[i+Math.max(C,k?y:0),Q+Math.max(B,k?S:0)]}addLayoutChangeListener(A){return this.layoutChangeListeners.add(A),()=>void this.layoutChangeListeners.delete(A)}}function en(g,A,I){if(g.value!=null){const[C,B]=g.value;if(C===A&&B===I)return}g.value=[A,I]}function NR(g,A,I,C,B){if(g.value!=null){const[i,Q,e,E]=g.value;if(i==A&&Q==I&&e==C&&E==B)return}g.value=[A,I,C,B]}function fR(g){if(g==null)throw new Error("commit cannot be called with a children that miss a yoga node");return g}function m8(g,A){return g.M.O===A.M.O}function fw(g,A,I,C){I!=null&&(Wy(I.classes,C),C(I)),A!=null&&(Wy(A.classes,C),C(A)),g!=null&&(Wy(g.classes,C),C(g))}function Wy(g,A){if(g==null)return;if(!Array.isArray(g)){A(g);return}const I=g.length;for(let C=0;Cg.value.read(A,I))}class _8{preTransformers;propertyMap=new Map;constructor(A){this.preTransformers=A}add(A,I){if(I===void 0)return;const C=this.preTransformers?.[A];if(C!=null){C(I,this);return}const B=O8[A];if(B==null){this.addToMap(A,I);return}const i=B.length;for(let Q=0;Q=0;i--){const Q=C[i],e=Q instanceof qC?Q.value:Q;if(e!==void 0)return e}return I}filterCompare(A,I,C,B,i){for(const Q of this.propertyMap.keys()){if(!A(Q))continue;if(I==null){C(Q);continue}const e=I.propertyMap.get(Q);if(e==null){C(Q);continue}const E=this.propertyMap.get(Q);FR(e,E)||B(Q)}if(I!=null)for(const Q of I.propertyMap.keys())A(Q)&&(this.propertyMap.has(Q)||i(Q))}isEqual(A,I){const C=this.propertyMap.get(I),B=A.propertyMap.get(I);return C==null||B==null?C===B:FR(C,B)}addAll(A,I,C,B){fw(A,I,C,i=>{for(const Q in i)this.add(Q,i[Q]);for(const Q in B){const e=i[Q];e!=null&&B[Q](e,this)}})}}function FR(g,A){const I=g.length;if(I!=A.length)return!1;for(let C=0;C{let i;if(C==null)i=void 0;else{if(C.value==null)return;i=C.value}const Q=B?.value,e=typeof Q=="number"?Q:Q?.major??0,E=typeof Q=="number"?0:Q?.minor??0;let t,n;return i==null?(t=0,n=0):A>i.elementType?(t=i.majorIndex,n=0):A!=i.elementType||!W8(Ji(I),Ji(i.instancedGroupDependencies))?(t=i.majorIndex+1,n=0):(t=i.majorIndex,n=i.minorIndex+1),e>0&&(t+=e,n=0),n+=E,{instancedGroupDependencies:I,elementType:A,majorIndex:t,minorIndex:n}})}function W8(g,A){if(g===A)return!0;if(g==null||A==null)return!1;let I=0;for(const C in g){if(g[C]!=A[C])return!1;++I}return I===Object.keys(A).length}function ao(g,A,I){return g[Ck]=A,g[Bk]=I,g}function Se(g,A,I,C){let B=!0;C.push(()=>RI(()=>{const i=I.value;if(i!=null){if(B){B=!1;return}g.peek()?.onSizeChange?.(...i),A.peek()?.onSizeChange?.(...i)}}))}function ZE(g,A,I,C){let B=!0;C.push(()=>RI(()=>{const i=!I.value;if(B){B=!1;return}g.peek()?.onIsInViewportChange?.(i),A.peek()?.onIsInViewportChange?.(i)}))}const j8=new O,V8=new O,oD=new O,jy=new pI,X8=new fQ,z8=new _g,Vy=Math.PI/180;function $8([g,A,I]){return z8.setFromEuler(X8.set(g*Vy,A*Vy,I*Vy))}const Aj="center",Ij="center";function Ge(g,{relativeCenter:A,size:I},C){const B=Qg(g,"transformTranslateX",0),i=Qg(g,"transformTranslateY",0),Q=Qg(g,"transformTranslateZ",0),e=Qg(g,"transformRotateX",0),E=Qg(g,"transformRotateY",0),t=Qg(g,"transformRotateZ",0),n=Qg(g,"transformScaleX",1),s=Qg(g,"transformScaleY",1),r=Qg(g,"transformScaleZ",1),l=Qg(g,"transformOriginX",Aj),D=Qg(g,"transformOriginY",Ij);return og(()=>{if(A.value==null)return;const[G,h]=A.value,c=C.value,y=new pI().makeTranslation(G*c,h*c,0);let S=!0;if(l.value!="center"||D.value!="center"){if(I.value==null)return;const[f,q]=I.value;S=!1,oD.set(-WY[l.value]*f*c,-jY[D.value]*q*c,0),y.multiply(jy.makeTranslation(oD)),oD.negate()}const k=[e.value,E.value,t.value],N=[B.value,-i.value,Q.value],p=[n.value,s.value,r.value];return(N.some(f=>f!=0)||k.some(f=>f!=0)||p.some(f=>f!=1))&&y.multiply(jy.compose(j8.fromArray(N).multiplyScalar(c),$8(k),V8.fromArray(p))),S||y.multiply(jy.makeTranslation(oD)),y})}function ye(g,A,I){I.push(()=>RI(()=>{if(A.value==null){g.current?.matrix.elements.fill(0);return}g.current?.matrix.copy(A.value)}))}const gj=Math.cos(45/180*Math.PI),Xy=[new Kg,new Kg,new Kg,new Kg],RR=new O;class Cj{planes;facePlane;originalCenter;constructor(A,I,C,B,i){this.originalCenter=new O(I,C,0).applyMatrix4(A),this.facePlane=new Kg(new O(0,0,1),0).applyMatrix4(A);const Q=B/2,e=i/2,E=C+e,t=I+Q,n=-C+e,s=-I+Q;this.planes=[new Kg(new O(0,-1,0),n).applyMatrix4(A),new Kg(new O(-1,0,0),s).applyMatrix4(A),new Kg(new O(0,1,0),E).applyMatrix4(A),new Kg(new O(1,0,0),t).applyMatrix4(A)]}min({planes:A}){for(let B=0;B<4;B++){const i=this.facePlane,Q=A[B],e=i.normal.dot(Q.normal);if(Math.abs(e)>.99)return this;const E=Xy[B];if(Math.abs(e)<.01){E.copy(Q);continue}E.normal.crossVectors(i.normal,Q.normal).normalize().cross(i.normal).negate();const t=1-e*e,n=(i.constant-Q.constant*e)/t,s=(Q.constant-i.constant*e)/t;RR.copy(i.normal).multiplyScalar(n).addScaledVector(Q.normal,s),E.constant=-RR.dot(E.normal)}let I=0;const C=this.planes[0].normal;for(;Xy[I].normal.dot(C)>gj;)break;for(let B=0;B<4;B++){const i=this.planes[B],Q=(B+I)%4;Xy[Q].distanceToPoint(this.originalCenter){if(I.value==null)return!0;const B=A.value,i=g?.value;if(i==null||B==null)return!1;const[Q,e]=I.value,E=C.value;for(let s=0;s<4;s++){const[r,l]=Bj[s];KR[s].set(r*E*Q,l*E*e,0).applyMatrix4(B)}const{planes:t}=i;let n;for(let s=0;s<4;s++){const r=t[s];n=!0;for(let l=0;l<4;l++){const D=KR[l];r.distanceToPoint(D)>=0&&(n=!1)}if(n)return!0}return!1})}function Fw(g,{overflow:A,borderInset:I,size:C},B,i){return og(()=>{const Q=g.value;if(Q==null||A.value===vt.Visible)return i?.value;if(C.value==null||I.value==null)return;const[e,E]=C.value,[t,n,s,r]=I.value,l=B.value,D=new Cj(Q,(n-r)*l/2,(t-s)*l/2,(e-r-n)*l,(E-t-s)*l);return i?.value!=null&&D.min(i.value),D})}const ik=new Kg(new O(-1,0,0),Number.MAX_SAFE_INTEGER),kh=new Float32Array(16);for(let g=0;g<4;g++)ik.normal.toArray(kh,g*4),kh[g*4+3]=ik.constant;function Al(g,A,I){const C=[new Kg,new Kg,new Kg,new Kg],B=()=>{if(g.object.current==null)return;const i=A?.value?.planes;if(i==null){for(let Q=0;Q<4;Q++)C[Q].copy(ik);return}for(let Q=0;Q<4;Q++)C[Q].copy(i[Q]).applyMatrix4(g.object.current.matrixWorld)};return I.push(()=>(g.onFrameSet.add(B),()=>g.onFrameSet.delete(B))),C}function uY(g,A){for(;A>=g.length;){let I=0,C=0;if(g.length>0){const B=g[g.length-1];I+=B.offset+B.elements.length,C=Math.min(0,B.missingSpace),B.missingSpace-=C}g.push({add:[],missingSpace:C,offset:I,elements:[]})}}function ij(g,A,I){uY(g,0);const C=g[g.length-1];C.missingSpace+=A-I}function Qj(g,A,I,C){uY(g,A);const B=g[A];return B.missingSpace+=1,B.missingSpace<=0?(C(I,B,B.elements.length),B.elements.push(I),!1):(B.add.push(I),!0)}function ej(g,A,I,C,B,i,Q,e){if(A>=g.length)throw new Error(`no bucket at index ${A}`);const E=g[A];E.missingSpace-=1;const t=E.add.indexOf(I);if(t!=-1)return E.add.splice(t,1),!1;if(C==null||C>=E.elements.length)throw new Error(`no element at index ${C}`);if(E.add.length>0){const l=E.add.shift();return E.elements[C]=l,B(l,E,C),!1}const n=E.offset,s=E.elements.length-1;if(s!=C){const l=n+s,D=n+C;e(D,l,l+1);const G=E.elements[s];E.elements[C]=G,Q(G,C)}if(i(n+s),E.elements.length-=1,A0;){const l=g[A-1];l.missingSpace+=r.missingSpace,r=g[--A]}return g.length=A+1,!1}function Ej(g,A,I){let C=g.length,B=-1;for(let Q=0;Q0&&(B=Q);const E=Q===C-1;if(!E&&e.missingSpace===0)continue;const t=e.missingSpace<0;for(let n=Q-1;n>=0;n--){const s=g[n];if(s.missingSpace===0)continue;const r=s.missingSpace<0;if(r&&(E||t)){JR(g,I,n,Q,Math.abs(s.missingSpace));continue}if(!t&&!r)continue;const l=Math.min(Math.abs(s.missingSpace),Math.abs(e.missingSpace));t?tj(g,I,n,Q,l):JR(g,I,n,Q,l)}}const i=g[B];for(let Q=B+1;Q"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),dY=SI(kY?.matches??!1);kY?.addEventListener("change",g=>dY.value=g.matches);const MY=SI("system"),pY=og(()=>{switch(MY.value){case"system":return dY.value;case"dark":return!0;case"light":return!1}});function oj(g){MY.value=g}const ue={dark:gl(()=>pY.value)};function nj({dark:g,light:A}){const I={};for(const C in g)I[C]=og(()=>pY.value?g[C]:A[C]);return I}const UY={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},NY=Object.keys(UY),aj=NY.length;function ke(g){const A={};for(let I=0;I(g.value?.[0]??0)>UY[C])}return A}function qR(g,A,I,C){return((C==null?0:g.getKerning(C,I.id))+I.xoffset)*A}function zy(g,A,I){return((I?.yoffset??0)+(A-1)/2)*g}function ur(g,A,I){return A.xadvance*g+I}function nD(g,A){return g*A}function Qk(g,{lineHeight:A,fontSize:I}){return Math.max(g,1)*I*A}const sj=({text:g,fontSize:A,font:I,letterSpacing:C},B,i,Q)=>{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;iB)break;Q.nonWhitespaceCharLength=i-e+1,Q.nonWhitespaceWidth=E,Q.whitespacesBetween=t}Q.charLength=i-e},rj=({text:g,fontSize:A,font:I,letterSpacing:C},B,i,Q)=>{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;i{i=nM(g,i);const e=i;Q.charIndexOffset=e,Q.nonWhitespaceCharLength=0,Q.charLength=0,Q.nonWhitespaceWidth=0,Q.whitespacesBetween=0;let E=0,t=0;for(;i0&&B!=null&&E>B)break;const s=g[i+1];(s===" "||s===` -`||s==null)&&(Q.charLength=i-e+1,Q.nonWhitespaceCharLength=Q.charLength,Q.nonWhitespaceWidth=E,Q.whitespacesBetween=t)}};function nM(g,A){const I=g.length;for(;g[A]===" "&&A{for(const Q of B)Q(i);$y.set(g,i)}).catch(console.error)}async function hj(g,A){const I=await(await fetch(g)).json();if(I.pages.length!==1)throw new Error("only supporting exactly 1 page");const C=await cj.loadAsync(new URL(I.pages[0],new URL(g,window.location.href)).href);return C.anisotropy=A.capabilities.getMaxAnisotropy(),C.flipY=!1,new yj(I,C)}const ek={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},wj={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function fY(g,A,I,C){const B=SI(void 0),i=Qg(g,"fontFamily",void 0),Q=Qg(g,"fontWeight","normal");return C.push(()=>RI(()=>{const e=A?.value??wj;let E=i.value;E==null&&(E=Object.keys(e)[0]);const t=Sj(e[E],typeof Q.value=="string"?ek[Q.value]:Q.value);let n=!1;return Dj(t,I,s=>n?void 0:B.value=s),()=>n=!0})),B}function Sj(g,A){let I=1/0,C;for(const B in g){const i=Math.abs(A-Gj(B));if(i===0)return g[B];i{const E=A.value;if(E==null)return;const t=I.value,n={font:E,fontSize:B.value,letterSpacing:i.value,lineHeight:Q.value,text:Array.isArray(t)?t.map(s=>Ji(s)).join(""):Ji(t),wordBreak:e.value};return C.current=n,(s,r)=>Mj(n,r===bD.Undefined?void 0:s)})}const FY={"keep-all":rj,"break-all":sj,"break-word":lj},aD={};function Mj(g,A){const I=FY[g.wordBreak],C=g.text;let B=0,i=0,Q=0;for(;Q{I.uniforms.fontPage={value:A.page},I.uniforms.pageSize={value:[A.pageWidth,A.pageHeight]},I.uniforms.distanceRange={value:A.distanceRange},I.uniforms.v_weight={value:.3},I.vertexShader=`attribute vec4 instanceUVOffset; - varying vec2 fontUv; - attribute vec4 instanceRGBA; - varying vec4 rgba; - attribute mat4 instanceClipping; - varying mat4 clipping; - varying vec3 localPosition; - `+I.vertexShader,I.vertexShader=I.vertexShader.replace("#include ",`#include - fontUv = instanceUVOffset.xy + uv * instanceUVOffset.zw; - rgba = instanceRGBA; - clipping = instanceClipping; - localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`),I.fragmentShader=`uniform sampler2D fontPage; - uniform vec2 pageSize; - uniform int distanceRange; - uniform float v_weight; - varying vec2 fontUv; - varying vec4 rgba; - varying mat4 clipping; - varying vec3 localPosition; - float median(float r, float g, float b) { - return max(min(r, g), min(max(r, g), b)); - } - float getDistance() { - vec3 msdf = texture(fontPage, fontUv).rgb; - return median(msdf.r, msdf.g, msdf.b); - } - `+I.fragmentShader,I.fragmentShader=I.fragmentShader.replace("#include ",` #include - vec4 plane; - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - for(int i = 0; i < 4; i++) { - plane = clipping[ i ]; - distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - - if ( clipOpacity == 0.0 ) discard; - } - vec2 dxdy = fwidth(fontUv) * pageSize; - float dist = getDistance() + min(float(v_weight), 0.5 - 1.0 / float(distanceRange)) - 0.5; - float multiplier = clamp(dist * float(distanceRange) / length(dxdy) + 0.5, 0.0, 1.0); - if(multiplier <= 0.5) { - discard; - } - diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); - diffuseColor *= rgba; - `)}}}class Nj extends hg{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new oC;boundingSphere=new RC;constructor(A,I,C,B,i){const Q=new De;Q.translate(.5,-.5,0),super(Q,i),this.instanceMatrix=A,this.instanceRGBA=I,this.instanceUV=C,this.instanceClipping=B,Q.attributes.instanceUVOffset=C,Q.attributes.instanceRGBA=I,Q.attributes.instanceClipping=B,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const mR=new pI,fj=new pI;function RY(g){return og(()=>({font:g.value}))}class Fj{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(A,I,C,B,i){this.group=A,this.baseMatrix=I,this.color=C,this.opacity=B,this.clippingRect=i}getX(A){return this.glyphInfo==null?this.x:this.x+A*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(A){this.index=A,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(A){this.index=A}updateClippingRect(A){if(this.clippingRect=A,this.index==null)return;const I=this.index*16,{instanceClipping:C}=this.group;this.clippingRect==null?C.set(kh,I):this.clippingRect.toArray(C.array,I),C.addUpdateRange(I,16),C.needsUpdate=!0}updateColor(A){if(this.color=A,this.index==null)return;const{instanceRGBA:I}=this.group,C=I.itemSize*this.index;kr(I.array,C,A,void 0),I.addUpdateRange(C,3),I.needsUpdate=!0}updateOpacity(A){if(this.opacity=A,this.index==null)return;const{instanceRGBA:I}=this.group,C=this.index*4+3;I.array[C]=A,I.addUpdateRange(C,1),I.needsUpdate=!0}updateGlyphAndTransformation(A,I,C,B,i){this.glyphInfo===A&&this.x===I&&this.y===C&&this.fontSize===B&&this.pixelSize===i||(this.glyphInfo!=A&&(this.glyphInfo=A,this.writeUV()),this.x=I,this.y=C,this.fontSize=B,this.pixelSize=i,this.writeUpdatedMatrix())}updateBaseMatrix(A){this.baseMatrix!==A&&(this.baseMatrix=A,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const A=this.index*4,{instanceUV:I}=this.group;uj(this.glyphInfo,I.array,A),I.addUpdateRange(A,4),I.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const A=this.index*16,{instanceMatrix:I}=this.group;I.addUpdateRange(A,16),mR.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(fj.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),mR.toArray(I.array,A),I.needsUpdate=!0}}class Rj{pixelSize;rootCameraDistance;object;map=new Map;constructor(A,I,C){this.pixelSize=A,this.rootCameraDistance=I,this.object=C}getGroup(A,I){let C=this.map.get(I);C==null&&this.map.set(I,C=new Map);let B=C?.get(A);return B==null&&C.set(A,B=new Kj(this.object,I,this.pixelSize,this.rootCameraDistance,{majorIndex:A,elementType:mC.Text,minorIndex:0})),B}onFrame=A=>{for(const I of this.map.values())for(const C of I.values())C.onFrame(A)}}class Kj{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(A,I,C,B,i){this.object=A,this.pixelSize=C,this.rootCameraDistance=B,this.orderInfo=i,this.instanceMaterial=new Uj(I)}requestActivate(A){const I=this.holeIndicies.shift();if(I!=null){this.glyphs[I]=A,A.activate(I);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(A);return}const C=this.mesh.count;this.glyphs[C]=A,A.activate(C),this.mesh.count+=1}delete(A){if(A.index==null){const B=this.requestedGlyphs.indexOf(A);if(B===-1)return;this.requestedGlyphs.splice(B,1);return}const I=this.requestedGlyphs.shift();if(I!=null){I.activate(A.index),this.glyphs[A.index]=I,A.index=void 0;return}if(A.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,A.index=void 0;return}const C=A.index*16;this.instanceMatrix.array.fill(0,C,C+16),this.instanceMatrix.addUpdateRange(C,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(A.index),this.glyphs[A.index]=void 0,A.index=void 0}onFrame(A){const I=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=I>0),I===0)return;const C=this.instanceMatrix?.count??0;if(I0)&&I<=C)return;this.timeTillDecimate=void 0,this.resize(I);const B=this.mesh.count,i=this.requestedGlyphs.length;for(let Q=0;Qs-r);const E=this.holeIndicies.length;let t=0,n=0;for(;n0)for(let s=this.holeIndicies[0];sRI(()=>C.value?.addLayoutChangeListener(()=>{const p=G.current,{size:{value:f},paddingInset:{value:q},borderInset:{value:_}}=B;if(p==null||f==null||q==null||_==null)return;const[U,K]=f,[z,rA,X,sA]=q,[oA,GA,b,gA]=_,CA=U-rA-sA-GA-gA,DA=K-z-X-oA-b;N.value=pj(p,CA,DA)})),()=>RI(()=>{const p=E.value;if(p==null||e.value==null)return;const f=new Lj(t.getGroup(e.value.majorIndex,p),y,c,S,k,N,I,i,Q,n,s,r);return l!=null&&(l.current=f),()=>f.destroy()})),h}const mj=[];class Lj{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(A,I,C,B,i,Q,e,E,t,n,s,r){this.group=A,this.horizontalAlign=I,this.verticalAlign=C,this.color=B,this.opacity=i,this.layoutSignal=Q,this.matrix=e,this.parentClippingRect=t,this.selectionRange=n,this.selectionBoxes=s,this.caretPosition=r,this.unsubscribeInitialList=[RI(()=>{if(E?.value===!0||i.value<.01){this.hide();return}this.show()}),RI(()=>this.updateSelectionBoxes(this.lastLayout,n?.value,C.peek(),I.peek()))]}getCharIndex(A,I){const C=this.lastLayout;if(C==null)return 0;I-=-rD(C,this.verticalAlign.peek());const B=Math.floor(I/-nD(C.lineHeight,C.fontSize)),i=C.lines;if(B<0||i.length===0)return 0;if(B>=i.length){const n=i[i.length-1];return n.charIndexOffset+n.charLength+1}const Q=i[B],e=C.font.getGlyphInfo(" ").xadvance*C.fontSize,E=this.glyphLines[B];let t=E.length;for(let n=0;n=s.charIndexOffset+s.charLength)continue;const r=this.glyphLines[n][Math.max(C-s.charIndexOffset,0)];return{lineIndex:n,x:this.getGlyphX(r,B?0:1,i)}}const E=A[e-1];if(E.charLength===0)return{lineIndex:e-1,x:YR(I,E.nonWhitespaceWidth,Q)-I/2};const t=this.glyphLines[e-1][E.charLength-1];return{lineIndex:e-1,x:this.getGlyphX(t,1,i)}}getGlyphX(A,I,C){return typeof A=="number"?A+I*C:A.getX(I)}show(){this.unsubscribeShowList.length>0||(Dt(this.glyphLines,A=>A.show()),this.unsubscribeShowList.push(RI(()=>{const A=this.matrix.value;A!=null&&Dt(this.glyphLines,I=>I.updateBaseMatrix(A))}),RI(()=>{const A=this.parentClippingRect?.value;Dt(this.glyphLines,I=>I.updateClippingRect(A))}),RI(()=>{const A=this.color.value;Dt(this.glyphLines,I=>I.updateColor(A))}),RI(()=>{const A=this.opacity.value;Dt(this.glyphLines,I=>I.updateOpacity(A))}),RI(()=>{const A=this.layoutSignal.value;if(A==null)return;const{text:I,font:C,lines:B,letterSpacing:i=0,fontSize:Q=16,lineHeight:e=1.2,availableWidth:E}=A;let t=rD(A,this.verticalAlign.value)-A.availableHeight/2;const n=B.length,s=this.group.pixelSize.value;for(let r=0;rh+G){k=K.id;const X=S+qR(C,Q,K,k);typeof N[_]=="number"?N[_]=S:N.splice(_,0,X),S+=y+ur(Q,K,i);continue}let z=N[_];for(;_r.hide(),n),this.glyphLines.length=n,this.lastLayout=A,this.updateSelectionBoxes(A,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const A=this.unsubscribeShowList.length;if(A!==0){for(let I=0;II.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const A=this.unsubscribeInitialList.length;for(let I=0;I{const C=g.matrixWorld;if(DQ.constant=0,DQ.normal.set(0,0,1),DQ.applyMatrix4(C),DQ.distanceToPoint(A.ray.origin)<=0||A.ray.intersectPlane(DQ,lD)==null)return;const B=DQ.normal.clone();for(let i=0;i<4;i++){const Q=Tj[i];if(DQ.copy(Q).applyMatrix4(C),(ht[i]=DQ.distanceToPoint(lD))<0)return}I.push({distance:lD.distanceTo(A.ray.origin),object:g,point:lD.clone(),uv:new KA(ht[0]/(ht[0]+ht[1]),ht[3]/(ht[2]+ht[3])),normal:B})}}function Da(g,A,I,C,B){return(i,Q)=>{const e=I instanceof Eg?I:I.current;if(e==null||B.value==null)return;const{majorIndex:E,minorIndex:t,elementType:n}=B.value,s=Q.length;A.call(g,i,Q);const r=C?.value?.planes,l=e.matrixWorld;A:for(let D=Q.length-1;D>=s;D--){const G=Q[D];if(G.distance-=E*.01+n*.001+t*1e-5,r!=null){for(let h=0;h<4;h++)if(DQ.copy(r[h]).applyMatrix4(l),DQ.distanceToPoint(G.point)<0){Q.splice(D,1);continue A}}}}}const mY=new tI(-1,-1,-1),LY={backgroundColor:mY,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Au;function so(){if(Au==null){const g={};for(const A in LY)g[A]=A;Au=Il(g)}return Au}function Il(g,A){const I={...LY,...A},C={};for(const i in g){const Q=xj[i],e=I[i];C[g[i]]=(E,t,n,s,r)=>Q(E,t,n??e,s,r)}const B=new Float32Array(16);return kr(B,4,I.backgroundColor,void 0),kr(B,8,I.borderColor,void 0),B[11]=I.borderBend,B[12]=I.borderOpacity,B[15]=I.backgroundOpacity,{hasProperty:i=>i in C,defaultData:B,setters:C,computedIsVisibile:(i,Q,e,E)=>og(()=>{if(Q.value==null||e.value==null)return!0;const t=g.borderOpacity==null?I.borderOpacity:i.value.read(g.borderOpacity,I.borderOpacity),n=g.backgroundOpacity==null?I.backgroundOpacity:i.value.read(g.backgroundOpacity,I.backgroundOpacity),s=g.backgroundColor==null?I.backgroundColor:i.value.read(g.backgroundColor,I.backgroundColor),r=Q.value.some(h=>h>0)&&t>0,[l,D]=e.value;return!(l>0&&D>0&&(n===-1||n>0)&&s!=mY)&&!r?!1:E==null?!0:!E.value})}}const xj={backgroundColor:(g,A,I,C,B)=>kr(g,A+4,I,B),borderBottomLeftRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,0,I,C[1],B),borderBottomRightRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,1,I,C[1],B),borderTopRightRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,2,I,C[1],B),borderTopLeftRadius:(g,A,I,{value:C},B)=>C!=null&&cD(g,A+7,3,I,C[1],B),borderColor:(g,A,I,C,B)=>kr(g,A+8,I,B),borderBend:(g,A,I,C,B)=>Iu(g,A+11,I,B),borderOpacity:(g,A,I,C,B)=>Iu(g,A+12,I,B),backgroundOpacity:(g,A,I,C,B)=>Iu(g,A+15,I,B)};function cD(g,A,I,C,B,i){Hj(g,A,I,C,B),i?.(A,1)}function Iu(g,A,I,C){g[A]=I,C?.(A,1)}const vj=new tI;function kr(g,A,I,C){Array.isArray(I)?g.set(I,A):vj.set(I).toArray(g,A),C?.(A,3)}function YY(g,A){const I=new g;I.defines==null&&(I.defines={}),I.side=Qi,I.clipShadows=!0,I.transparent=!0,I.toneMapped=!1,I.depthWrite=!1,I.shadowSide=Qi,I.defines.USE_UV="",I.defines.USE_TANGENT="";const C=I.onBeforeCompile;return I.onBeforeCompile=(B,i)=>{C.call(I,B,i),A.type==="normal"&&(B.uniforms.data={value:A.data}),_j(B,A.type==="instanced")},I}class HY extends Ew{info;constructor(A){super(),this.info=A,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(A,I){super.onBeforeCompile(A,I),this.info.type==="normal"&&(A.uniforms.data={value:this.info.data}),xY(A,this.info.type==="instanced")}}class TY extends ew{info;constructor(A){super({depthPacking:Dd}),this.info=A,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(A,I){super.onBeforeCompile(A,I),this.info.type==="normal"&&(A.uniforms.data={value:this.info.data}),xY(A,this.info.type==="instanced")}}const bj=new TY({type:"instanced"}),Oj=new HY({type:"instanced"});function xY(g,A){vY(g,A),g.fragmentShader=g.fragmentShader.replace("#include ",`#include - ${bY(A,void 0)} - `)}function vY(g,A){g.vertexShader=g.vertexShader.replace("#include ",` #include - out vec4 borderRadius; - ${A?"":"uniform highp mat4 data;"}`),g.vertexShader=g.vertexShader.replace("#include ",` #include - highp int packedBorderRadius = int(data[1].w); - borderRadius = vec4( - packedBorderRadius / 125000 % 50, - packedBorderRadius / 2500 % 50, - packedBorderRadius / 50 % 50, - packedBorderRadius % 50 - ) * vec4(0.5 / 50.0);`),A&&(g.vertexShader=g.vertexShader.replace("#include ",` #include - attribute highp mat4 aData; - attribute mat4 aClipping; - out mat4 data; - out mat4 clipping; - out vec3 localPosition;`),g.vertexShader=g.vertexShader.replace("#include ",` #include - data = aData; - clipping = aClipping; - localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`)),g.fragmentShader=`${A?"in":"uniform"} highp mat4 data; - in vec4 borderRadius; - ${A?` - in vec3 localPosition; - in mat4 clipping; - `:""} - - float min4 (vec4 v) { - return min(min(min(v.x,v.y),v.z),v.w); - } - float max4 (vec4 v) { - return max(max(max(v.x,v.y),v.z),v.w); - } - vec2 radiusDistance(float radius, vec2 outside, vec2 border, vec2 borderSize) { - vec2 outerRadiusXX = vec2(radius, radius); - vec2 innerRadiusXX = outerRadiusXX - borderSize; - vec2 radiusWeightUnnormalized = abs(innerRadiusXX - border); - vec2 radiusWeight = radiusWeightUnnormalized / vec2(radiusWeightUnnormalized.x + radiusWeightUnnormalized.y); - return vec2( - radius - distance(outside, outerRadiusXX), - dot(radiusWeight, innerRadiusXX) - distance(border, innerRadiusXX) - ); - } - `+g.fragmentShader,g.fragmentShader=g.fragmentShader.replace("#include ",` ${A?` - vec4 plane; - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - - for(int i = 0; i < 4; i++) { - plane = clipping[ i ]; - distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - - if ( clipOpacity < 0.01 ) discard; - } - `:""} - vec4 absoluteBorderSize = data[0]; - vec3 backgroundColor = data[1].xyz; - vec3 borderColor = data[2].xyz; - float borderBend = data[2].w; - float borderOpacity = data[3].x; - float width = data[3].y; - float height = data[3].z; - float backgroundOpacity = data[3].w; - float ratio = width / height; - vec4 relative = vec4(height, height, height, height); - vec4 borderSize = absoluteBorderSize / relative; - vec4 v_outsideDistance = vec4(1.0 - vUv.y, (1.0 - vUv.x) * ratio, vUv.y, vUv.x * ratio); - vec4 v_borderDistance = v_outsideDistance - borderSize; - - vec2 distance = vec2(min4(v_outsideDistance), min4(v_borderDistance)); - vec4 negateBorderDistance = vec4(1.0) - v_borderDistance; - float maxWeight = max4(negateBorderDistance); - vec4 borderWeight = step(maxWeight, negateBorderDistance); - - vec4 insideBorder; - - if(all(lessThan(v_outsideDistance.xw, borderRadius.xx))) { - distance = radiusDistance(borderRadius.x, v_outsideDistance.xw, v_borderDistance.xw, borderSize.xw); - - float tmp = borderRadius.x - borderSize.w; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.x - borderSize.x; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.yz = vec2(0.0); - insideBorder.xw = max(vec2(0.0), lineIntersection - v_borderDistance.xw); - - } else if(all(lessThan(v_outsideDistance.xy, borderRadius.yy))) { - distance = radiusDistance(borderRadius.y, v_outsideDistance.xy, v_borderDistance.xy, borderSize.xy); - - float tmp = borderRadius.y - borderSize.y; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.y - borderSize.x; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.zw = vec2(0.0); - insideBorder.xy = max(vec2(0.0), lineIntersection - v_borderDistance.xy); - - } else if(all(lessThan(v_outsideDistance.zy, borderRadius.zz))) { - distance = radiusDistance(borderRadius.z, v_outsideDistance.zy, v_borderDistance.zy, borderSize.zy); - - float tmp = borderRadius.z - borderSize.y; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.z - borderSize.z; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.xw = vec2(0.0); - insideBorder.zy =max(vec2(0.0), lineIntersection - v_borderDistance.zy); - - } else if(all(lessThan(v_outsideDistance.zw, borderRadius.ww))) { - distance = radiusDistance(borderRadius.w, v_outsideDistance.zw, v_borderDistance.zw, borderSize.zw); - - float tmp = borderRadius.w - borderSize.w; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.w - borderSize.z; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.xy = vec2(0.0); - insideBorder.zw = max(vec2(0.0), lineIntersection - v_borderDistance.zw); - - } - - if(insideBorder.x + insideBorder.y + insideBorder.z + insideBorder.w > 0.0) { - borderWeight = normalize(insideBorder); - } - - #include `)}function bY(g,A){return`float ddx = fwidth(distance.x); - float outer = smoothstep(-ddx, ddx, distance.x); - - float ddy = fwidth(distance.y); - float inner = smoothstep(-ddy, ddy, distance.y); - - float transition = 1.0 - step(0.1, outer - inner) * (1.0 - inner); - - if(backgroundColor.r < 0.0 && backgroundOpacity >= 0.0) { - backgroundColor = vec3(1.0); - } - if(backgroundOpacity < 0.0) { - backgroundOpacity = backgroundColor.r >= 0.0 ? 1.0 : 0.0; - } - - if(backgroundOpacity < 0.0) { - backgroundOpacity = 0.0; - } - - float outOpacity = ${g?"clipOpacity * ":""} outer * mix(borderOpacity, ${A==null?"":`${A} *`} backgroundOpacity, transition); - - if(outOpacity < 0.01) { - discard; - }`}function _j(g,A){vY(g,A),g.fragmentShader=g.fragmentShader.replace("#include ",` #include - ${bY(A,"diffuseColor.a")} - diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); - diffuseColor.a = outOpacity; - `),g.fragmentShader=g.fragmentShader.replace("#include ",` #include - vec3 b = normalize(vBitangent); - vec3 t = normalize(vTangent); - mat4 directions = mat4(vec4(b, 1.0), vec4(t, 1.0), vec4(-b, 1.0), vec4(-t, 1.0)); - float currentBorderSize = distance.x - distance.y; - float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; - vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; - normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function ro(g,A,I,C,B){const i=new hg(sM);return i.matrixAutoUpdate=!1,i.raycast=Da(i,qY(i),A.object,I,g),i.visible=!1,B.push(()=>RI(()=>{if(C.value==null)return;const[Q,e]=C.value,E=A.pixelSize.value;i.scale.set(Q*E,e*E,1),i.updateMatrix()})),i}class Zj extends hg{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new oC;boundingSphere=new RC;constructor(A,I,C){const B=JY();super(B),this.instanceMatrix=A,this.frustumCulled=!1,B.attributes.aData=I,B.attributes.aClipping=C,this.customDepthMaterial=bj,this.customDistanceMaterial=Oj}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function lo(g){const A=Qg(g,"panelMaterialClass",uC),I=Qg(g,"castShadow",!1),C=Qg(g,"receiveShadow",!1);return og(()=>({panelMaterialClass:A.value,castShadow:I.value,receiveShadow:C.value}))}const Rw={panelMaterialClass:uC,castShadow:!1,receiveShadow:!1};class Pj{pixelSize;root;object;map=new Map;constructor(A,I,C){this.pixelSize=A,this.root=I,this.object=C}getGroup(A,{panelMaterialClass:I,receiveShadow:C,castShadow:B}=Rw){let i=this.map.get(I);i==null&&this.map.set(I,i=new Map);const Q=(A<<2)+((C?1:0)<<1)+(B?1:0);let e=i.get(Q);if(e==null){const E=YY(I,{type:"instanced"});i.set(Q,e=new Wj(this.object,E,this.pixelSize,this.root,{elementType:mC.Panel,majorIndex:A,minorIndex:0},C,B))}return e}onFrame=A=>{for(const I of this.map.values())for(const C of I.values())C.onFrame(A)}}class Wj{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(A,I,C)=>{const B=I.offset+C;this.instanceData.set(A.materialConfig.defaultData,16*B),this.instanceData.addUpdateRange(16*B,16),this.instanceData.needsUpdate=!0,A.activate(I,C)};setElementIndex=(A,I)=>{A.setIndexInBucket(I)};bufferCopyWithin=(A,I,C)=>{gu(this.instanceMatrix,A,I,C),gu(this.instanceData,A,I,C),gu(this.instanceClipping,A,I,C)};clearBufferAt=A=>{const I=A*16;this.instanceMatrix.array.fill(0,I,I+16),this.instanceMatrix.addUpdateRange(I,16),this.instanceMatrix.needsUpdate=!0};constructor(A,I,C,B,i,Q,e){this.object=A,this.instanceMaterial=I,this.pixelSize=C,this.root=B,this.orderInfo=i,this.meshReceiveShadow=Q,this.meshCastShadow=e}updateCount(){const A=this.buckets[this.buckets.length-1],I=A.offset+A.elements.length;this.mesh!=null&&(this.mesh.count=I,this.mesh.visible=I>0)}insert(A,I){if(this.elementCount+=1,!Qj(this.buckets,A,I,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(A,I,C){if(this.elementCount-=1,!ej(this.buckets,A,C,I,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(A){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=A,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(A){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,A)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),Ej(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const A=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),ij(this.buckets,A,this.bufferElementSize);const I=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&I.set(this.instanceMatrix.array.subarray(0,I.length)),this.instanceMatrix=new gi(I,16,!1),this.instanceMatrix.setUsage(Ie);const C=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&C.set(this.instanceData.array.subarray(0,C.length)),this.instanceData=new gi(C,16,!1),this.instanceDataOnUpdate=(i,Q)=>{this.instanceData.addUpdateRange(i,Q),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Ie);const B=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&B.set(this.instanceClipping.array.subarray(0,B.length)),this.instanceClipping=new gi(B,16,!1),this.instanceClipping.setUsage(Ie),this.mesh=new Zj(this.instanceMatrix,this.instanceData,this.instanceClipping),ao(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function gu(g,A,I,C){const B=g.itemSize,i=I*B,Q=C*B,e=A*B;g.array.copyWithin(e,i,Q);const E=Q-i;g.addUpdateRange(i,E),g.addUpdateRange(e,E),g.needsUpdate=!0}function RQ(g,A,I,C,B,i,Q,e,E,t,n,s){return s.push(RI(()=>{if(A.value==null)return;const r=[],l=C.getGroup(A.value.majorIndex,I?.value);return new Vj(g,l,A.value.minorIndex,B,i,Q,e,E,t,n,r),()=>ei(r)})),s}const DD=new pI,jj=new pI;class Vj{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=SI(!1);constructor(A,I,C,B,i,Q,e,E,t,n,s){this.group=I,this.minorIndex=C,this.matrix=B,this.size=i,this.offset=Q,this.borderInset=e,this.clippingRect=E,this.materialConfig=n;const r=n.setters;tM(A,this.active,n.hasProperty,(D,G)=>{const h=this.getIndexInBuffer();if(h==null)return;const{instanceData:c,instanceDataOnUpdate:y}=this.group;r[D](c.array,c.itemSize*h,G,i,y)},s);const l=n.computedIsVisibile(A,e,i,t);s.push(RI(()=>{if(l.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(A){this.indexInBucket=A}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(A,I){this.bucket=A,this.indexInBucket=I,this.active.value=!0,this.unsubscribeList.push(RI(()=>{if(this.matrix.value==null||this.size.value==null)return;const C=this.getIndexInBuffer();if(C==null)return;const B=C*16,[i,Q]=this.size.value,e=this.group.pixelSize.value;if(DD.makeScale(i*e,Q*e,1),this.offset!=null){const[t,n]=this.offset.value;DD.premultiply(jj.makeTranslation(t*e,n*e,0))}DD.premultiply(this.matrix.value);const{instanceMatrix:E}=this.group;DD.toArray(E.array,B),E.addUpdateRange(B,16),E.needsUpdate=!0}),RI(()=>{const C=this.getIndexInBuffer();if(C==null||this.size.value==null)return;const[B,i]=this.size.value,{instanceData:Q}=this.group,{array:e}=Q,E=C*16+13;e[E]=B,e[E+1]=i,Q.addUpdateRange(E,2),Q.needsUpdate=!0}),RI(()=>{const C=this.getIndexInBuffer();if(C==null||this.borderInset.value==null)return;const{instanceData:B}=this.group,i=C*16+0;B.array.set(this.borderInset.value,i),B.addUpdateRange(i,4),B.needsUpdate=!0}),RI(()=>{const{instanceClipping:C}=this.group,B=this.getIndexInBuffer();if(B==null)return;const i=B*16,Q=this.clippingRect?.value;Q!=null?Q.toArray(C.array,i):C.array.set(kh,i),C.addUpdateRange(i,16),C.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const A=this.unsubscribeList.length;for(let I=0;I{const C=A.value;if(C==null)return;const[B,i]=g.value,Q=I.value;return new pI().makeTranslation(-B*Q,i*Q,0).premultiply(C)})}function qw(g,A,I,C){return C.push(()=>RI(()=>{const[B,i]=A.value,Q=I.value;g.current?.position.set(-B*Q,i*Q,0),g.current?.updateMatrix()}))}function mw(g,{scrollable:A,maxScrollPosition:I,anyAncestorScrollable:C},B,i,Q,e,E){const t=og(()=>A.value?.some(D=>D)??!1),n=new Map,s=new KA,r=(D,G,h,c,y)=>{if(g.value==null)return;const[S,k]=D==null?[!1,!1]:Xj(D.nativeEvent);S&&(G=0),k&&(h=0);const[N,p]=g.value,[f,q]=I.value;let[_,U]=g.value;const[K,z]=C?.value??[!1,!1];_=HR(N,f,G,y&&!K),U=HR(p,q,h,y&&!z),c!=null&&c>0&&s.set(G,h).divideScalar(c),D!=null&&zj(D.nativeEvent,S||Math.min(N,(f??0)-N)>5,k||Math.min(p,(q??0)-p)>5),!(i.peek()?.onScroll?.(_,U,g,D)===!1||N===_&&p===U)&&(g.value=[_,U])},l=D=>{if(n.size>0||g.value==null)return;let G=0,h=0;const[c,y]=g.value,[S,k]=I.value;G+=Ek(c,0,S??0)*-.3,h+=Ek(y,0,k??0)*-.3,G+=s.x*D,h+=s.y*D,s.multiplyScalar(.9),Math.abs(s.x)<.01&&(s.x=0),Math.abs(s.y)<.01&&(s.y=0),!(G===0&&h===0)&&r(void 0,G,h,void 0,!0)};return E.push(()=>(e.add(l),()=>e.delete(l))),og(()=>{if(t.value)return{onPointerDown:({nativeEvent:D,point:G})=>{let h=n.get(D.pointerId);h==null&&n.set(D.pointerId,h={timestamp:0,point:new O}),h.timestamp=performance.now()/1e3,B.current.worldToLocal(h.point.copy(G))},onPointerUp:({nativeEvent:D})=>n.delete(D.pointerId),onPointerLeave:({nativeEvent:D})=>n.delete(D.pointerId),onPointerCancel:({nativeEvent:D})=>n.delete(D.pointerId),onPointerMove:D=>{const G=n.get(D.nativeEvent.pointerId);if(G==null)return;B.current.worldToLocal(Bu.copy(D.point)),Cu.copy(Bu).sub(G.point).divideScalar(Q.peek());const h=performance.now()/1e3,c=h-G.timestamp;G.point.copy(Bu),G.timestamp=h,!D.defaultPrevented&&r(D,-Cu.x,Cu.y,c,!0)},onWheel:D=>{if(D.defaultPrevented)return;const{nativeEvent:G}=D;r(D,G.deltaX,G.deltaY,void 0,!1)}}})}const OY=Symbol("was-scrolled");function Xj(g){return g[OY]??[!1,!1]}function zj(g,A,I){g[OY]=[A,I]}function HR(g,A,I,C){if(I===0)return g;const B=Ek(g,0,A??0);TR(I)===TR(B)&&(I*=Math.max(0,1-Math.abs(B)/100));let i=g+I;return C&&A!=null?i:aM(i,0,A??0)}function TR(g){return g>=0}function Ek(g,A,I){return gI?g-I:0}const $j=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Lw(g,A,I,C,B,i,Q,e,E){const t=iB(void 0,mC.Panel,Rw,Q),n=Qg(g,"scrollbarWidth",10),s=rM(g,$j);vR(g,0,A,I,C,B,i,t,e,n,s,E),vR(g,1,A,I,C,B,i,t,e,n,s,E)}let xR;function A5(){return xR??=Il({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),xR}function vR(g,A,I,C,B,i,Q,e,E,t,n,s){const r=og(()=>I5(A,t.value,C.size.value,C.maxScrollPosition.value,C.borderInset.value,I.value)),l=og(()=>r.value?.slice(0,2)??[0,0]),D=og(()=>r.value?.slice(2,4)??[0,0]);s.push(G=>RQ(g,e,void 0,E,B,D,l,n,Q,i,A5(),G))}function I5(g,A,I,C,B,i){if(I==null||B==null||i==null)return;const Q=C[g];if(Q==null)return;const e=[0,0,0,0],E=1-g,t=I[g]-B[E]-B[E+2],n=Math.max(A,t*t/(Q+t)),s=t-n,r=i[g];return e[g]=I[g]*.5-n*.5-B[(g+3)%4]-s*aM(r/Q,0,1),e[E]=I[E]*.5-A*.5-B[E+1],g===0&&(e[0]*=-1,e[1]*=-1),e[g+2]=n,e[E+2]=A,e}function g5(g,A,I,C,B){let i=!1;if(fw(A,C,I,e=>{"active"in e&&(i=!0)}),!i&&A?.onActiveChange==null&&I?.onActiveChange==null){B.value.length=0;return}const Q=({nativeEvent:e})=>{B.value=B.value.filter(E=>E!=e.pointerId),!(B.value.length>0)&&(I?.onActiveChange?.(!1),A?.onActiveChange?.(!1))};bt("onPointerDown",g,({nativeEvent:e})=>{B.value=[e.pointerId,...B.value],B.value.length==1&&(I?.onActiveChange?.(!0),A?.onActiveChange?.(!0))}),bt("onPointerUp",g,Q),bt("onPointerLeave",g,Q)}function de(g){return{active:gl(()=>g.value.length>0)}}function WE(g,A){return og(()=>{const I=A.value,C=g.value;if(!(I==null||C==null))return C.clone().multiply(I)})}function _Y(g,A,I,C,...B){I.push(i=>{if(!(C instanceof qC)){let Q=!1;return A(C,...B).then(e=>Q?void 0:g.value=e),i.push(()=>Q=!0),i}return i.push(RI(()=>{let Q=!1;return A(C.value,...B).then(e=>Q?void 0:g.value=e).catch(console.error),()=>Q=!0})),i})}function jE(g,A,I,C,B,i){i.push(Q=>{const e=new yY(A,C,I.root.requestCalculateLayout,B,Q);return g!=null&&(g.value=e),Q.push(RI(()=>{const E=I.node.value;if(E!=null)return E.addChild(e),()=>E.removeChild(e)})),Q})}const bR=new Map,Yw={keepAspectRatio:(g,A)=>{let I=bR.get(g);I==null&&bR.set(g,I=og(()=>Ji(g)===!1?null:void 0)),A.add("aspectRatio",I)}};function Me(g,A,I,C,B,i,Q){return og(()=>{const e={};return C5(e,i?.value),q5(e,g.value,A.value,I.value,C,Q),g5(e,g.value,A.value,I.value,B),e})}function C5(g,A){for(const I in A)bt(I,g,A[I])}function bt(g,A,I){if(I==null)return;const C=A[g];if(C==null){A[g]=I;return}A[g]=B=>{C(B),!("stopped"in B&&B.stopped)&&I(B)}}function pe(g,A,I,C,B,i){return og(()=>{const Q=new _8(B);return i?.(Q),Q.addAll(g.value,A.value,I.value,C),Q})}const OR=new tI;function ZY(g,A,I){const C=Qg(g,"color",void 0),B=Qg(g,"opacity",1);I.push(()=>RI(()=>{let i;Array.isArray(C.value)?i=OR.setRGB(...C.value):C.value!=null&&(i=OR.set(C.value)),Ji(A)?.traverse(Q=>{if(!(Q instanceof hg))return;const e=Q.material;e.color.copy(i??Q.userData.color),e.opacity=B.value})}))}const B5=.01,_R=new O,hD=new Kg,wD=SI(new pI);function i5(g,A,I,C,B,i,Q,e){const E=SI([0,0]),t=SI([]),n=SI([]),s=[];Ne(t,s);const r=og(()=>Ji(A.value?.pixelSize)??B5),l=pe(g,A,I,{...ue,...ke(E),...fe(t),...de(n)},{...ZR(r,"sizeX","width"),...ZR(r,"sizeY","height")}),D=SI(void 0),G=Q5(e,D,s),h=we(void 0);s.push(rA=>{const X=new yY(h,l,G,C,rA);return D.value=X,rA});const c=Ge(l,h,r),y=o5(l,c,h.size,r);ye(C,y,s);const S=lo(l),k=iB(void 0,mC.Panel,S,void 0),N={cameraDistance:0},p=new Pj(r,N,C);s.push(()=>(e.add(p.onFrame),()=>e.delete(p.onFrame)));const f=()=>{if(C.current==null){N.cameraDistance=0;return}hD.normal.set(0,0,1),hD.constant=0,hD.applyMatrix4(C.current.matrixWorld),_R.setFromMatrixPosition(i().matrixWorld),N.cameraDistance=hD.distanceToPoint(_R)};s.push(()=>(e.add(f),()=>e.delete(f))),s.push(rA=>RQ(l,k,S,p,wD,h.size,void 0,h.borderInset,void 0,void 0,so(),rA));const q=Kw();qw(B,q,r,s);const _=Jw(q,wD,r);Lw(l,q,h,wD,void 0,void 0,k,p,s);const U=mw(q,h,C,A,r,e,s);Se(g,A,h.size,s);const K=new Rj(r,N,C);s.push(()=>(e.add(K.onFrame),()=>e.delete(K.onFrame)));const z=Object.assign(N,{requestCalculateLayout:G,onFrameSet:e,cameraDistance:0,gylphGroupManager:K,object:C,panelGroupManager:p,pixelSize:r,renderer:Q,size:h.size});return Object.assign(h,{clippingRect:Fw(wD,h,r,void 0),childrenMatrix:_,node:D,orderInfo:k,initializers:s,interactionPanel:ro(k,z,void 0,h.size,s),handlers:Me(g,A,I,t,n,U),root:z})}function Q5(g,A,I){let C=!1;const B=()=>{const i=A.peek();!C||i==null||(C=!1,i.calculateLayout())};return I.push(()=>(g.add(B),()=>g.delete(B))),()=>C=!0}function ZR(g,A,I){const C=new Map;return{[A]:(B,i)=>{let Q=C.get(B);Q==null&&C.set(B,Q=og(()=>{const e=Ji(B);if(e!=null)return e/g.value})),i.add(I,Q)}}}const e5=new pI,E5="center",t5="center";function o5(g,A,I,C){const B=Qg(g,"anchorX",E5),i=Qg(g,"anchorY",t5);return og(()=>{if(I.value==null)return;const[Q,e]=I.value;return A.value?.clone().premultiply(e5.makeTranslation(WY[B.value]*Q*C.value,jY[i.value]*e*C.value,0))})}function n5(g,A,I,C,B,i){const Q=SI(void 0),e=we(g.anyAncestorScrollable),E=SI([]),t=SI([]),n=[];Ne(E,n);const s=pe(A,I,C,{...ue,...ke(g.root.size),...fe(E),...de(t)});jE(Q,e,g,s,B,n);const r=Ge(s,e,g.root.pixelSize);ye(B,r,n);const l=WE(g.childrenMatrix,r),D=PE(g.clippingRect,l,e.size,g.root.pixelSize),G=lo(s),h=iB(s,mC.Panel,G,g.orderInfo);n.push(k=>RQ(s,h,G,g.root.panelGroupManager,l,e.size,void 0,e.borderInset,g.clippingRect,D,so(),k));const c=Kw();qw(i,c,g.root.pixelSize,n);const y=Jw(c,l,g.root.pixelSize);Lw(s,c,e,l,D,g.clippingRect,h,g.root.panelGroupManager,n);const S=mw(c,e,B,I,g.root.pixelSize,g.root.onFrameSet,n);return Se(A,I,e.size,n),ZE(A,I,D,n),Object.assign(e,{clippingRect:Fw(l,e,g.root.pixelSize,g.clippingRect),childrenMatrix:y,node:Q,orderInfo:h,root:g.root,scrollPosition:c,interactionPanel:ro(h,g.root,g.clippingRect,e.size,n),handlers:Me(A,I,C,E,t,S),initializers:n})}const a5="fill";function s5(g,A,I,C,B,i,Q){const e=[],E=SI(void 0),t=SI([]),n=SI([]);Ne(t,e);const s=og(()=>Ji(A.value));_Y(E,D5,e,s);const r=og(()=>{const q=E.value;if(q==null)return;const _=q.source.data;return _.width/_.height}),l=pe(I,C,B,{...ue,...ke(g.root.size),...fe(t),...de(n)},Yw,q=>q.add("aspectRatio",r)),D=SI(void 0),G=we(g.anyAncestorScrollable);jE(D,G,g,l,i,e);const h=Ge(l,G,g.root.pixelSize);ye(i,h,e);const c=WE(g.childrenMatrix,h),y=PE(g.clippingRect,c,G.size,g.root.pixelSize),S=og(()=>y.value||E.value==null),k=iB(l,mC.Image,void 0,g.orderInfo),N=Kw();qw(Q,N,g.root.pixelSize,e);const p=Jw(N,c,g.root.pixelSize);Lw(l,N,G,c,y,g.clippingRect,k,g.root.panelGroupManager,e);const f=mw(N,G,i,C,g.root.pixelSize,g.root.onFrameSet,e);return Se(I,C,G.size,e),ZE(I,C,y,e),Object.assign(G,{initializers:e,handlers:Me(I,C,B,t,n,f),interactionPanel:r5(l,E,g,G,k,g.root,S,e),clippingRect:Fw(c,G,g.root.pixelSize,g.clippingRect),childrenMatrix:p,node:D,orderInfo:k,root:g.root})}let PR;function PY(){return PR??=Il({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),PR}function r5(g,A,I,C,B,i,Q,e){const E=new hg(sM);E.matrixAutoUpdate=!1;const t=Al(i,I.clippingRect,e),n=PY().computedIsVisibile(g,C.borderInset,C.size,Q);return h5(g,E,C.size,C.borderInset,n,t,e),E.raycast=Da(E,qY(E),i.object,I.clippingRect,B),ao(E,i,B),l5(g,A,C.borderInset,C.size,e),e.push(()=>RI(()=>E.visible=n.value)),e.push(()=>RI(()=>{const s=A.value??null;E.material.map!==s&&(E.material.map=s,E.material.needsUpdate=!0)}),()=>RI(()=>{if(C.size.value==null)return;const[s,r]=C.size.value,l=I.root.pixelSize.value;E.scale.set(s*l,r*l,1),E.updateMatrix()})),E}function l5(g,A,I,C,B){const i=Qg(g,"fit",a5);B.push(()=>RI(()=>{const Q=A.value;if(Q==null||C.value==null||I.value==null)return;if(Q.matrix.identity(),i.value==="fill"||Q==null){WR(I,C,Q);return}const{width:e,height:E}=Q.source.data,t=e/E,[n,s]=C.value,[r,l,D,G]=I.value,h=(n-G-l)/(s-r-D);t>h?Q.matrix.translate(-(.5*(h-t))/h,0).scale(h/t,1):Q.matrix.translate(0,-(.5*(t-h))/t).scale(1,t/h),WR(I,C,Q)}))}function WR(g,A,I){if(A.value==null||g.value==null)return;const[C,B]=A.value,[i,Q,e,E]=g.value,t=C-E-Q,n=B-i-e;I.matrix.translate(-1+(E+t)/C,-1+(i+n)/B).scale(C/t,B/n)}const c5=new jr;async function D5(g){if(g==null)return Promise.resolve(void 0);if(g instanceof mg)return Promise.resolve(g);try{const A=await c5.loadAsync(g);return A.colorSpace=eC,A.matrixAutoUpdate=!1,A}catch(A){console.error(A);return}}function h5(g,A,I,C,B,i,Q){const e=new Float32Array(16),E={data:e,type:"normal"};A.customDepthMaterial=new TY(E),A.customDistanceMaterial=new HY(E),A.customDepthMaterial.clippingPlanes=i,A.customDistanceMaterial.clippingPlanes=i;const t=Qg(g,"panelMaterialClass",uC);Q.push(()=>RI(()=>{A.material=YY(t.value,E),A.material.clippingPlanes=i}),()=>RI(()=>A.castShadow=g.value.read("castShadow",!1)),()=>RI(()=>A.receiveShadow=g.value.read("receiveShadow",!1)));const n=PY(),s=[];Q.push(()=>RI(()=>{if(B.value)return e.set(n.defaultData),s.push(RI(()=>I.value!=null&&e.set(I.value,13)),RI(()=>C.value!=null&&e.set(C.value,0))),()=>ei(s)}));const r=n.setters;Q.push(l=>(tM(g,B,n.hasProperty,(D,G)=>r[D](e,0,G,I,void 0),l),l))}function w5(g,A,I,C,B,i,Q){const e=SI([]),E=SI([]),t=[];Ne(e,t);const n=pe(C,B,i,{...ue,...ke(g.root.size),...fe(e),...de(E)}),s=SI(void 0),r=we(g.anyAncestorScrollable);jE(s,r,g,n,Q,t);const l=Ge(n,r,g.root.pixelSize);ye(Q,l,t);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,r.size,g.root.pixelSize),h=lo(n),c=iB(n,mC.Panel,h,g.orderInfo);t.push(N=>RQ(n,c,h,g.root.panelGroupManager,D,r.size,void 0,r.borderInset,g.clippingRect,G,so(),N));const y=fY(n,I,g.root.renderer,t),S=iB(void 0,mC.Text,RY(y),c),k=KY(n,A,D,s,r,G,g.clippingRect,S,y,g.root.gylphGroupManager,void 0,void 0,void 0,void 0,t);return t.push(()=>RI(()=>s.value?.setMeasureFunc(k))),Se(C,B,r.size,t),ZE(C,B,G,t),Object.assign(r,{interactionPanel:ro(c,g.root,g.clippingRect,r.size,t),handlers:Me(C,B,i,e,E),initializers:t})}const S5=eC;class ha extends QB{constructor(A){super(A),this.defaultDPI=90,this.defaultUnit="px"}load(A,I,C,B){const i=this,Q=new bB(i.manager);Q.setPath(i.path),Q.setRequestHeader(i.requestHeader),Q.setWithCredentials(i.withCredentials),Q.load(A,function(e){try{I(i.parse(e))}catch(E){B?B(E):console.error(E),i.manager.itemError(A)}},C,B)}parse(A){const I=this;function C(W,v){if(W.nodeType!==1)return;const x=k(W);let H=!1,EA=null;switch(W.nodeName){case"svg":v=D(W,v);break;case"style":i(W);break;case"g":v=D(W,v);break;case"path":v=D(W,v),W.hasAttribute("d")&&(EA=B(W));break;case"rect":v=D(W,v),EA=E(W);break;case"polygon":v=D(W,v),EA=t(W);break;case"polyline":v=D(W,v),EA=n(W);break;case"circle":v=D(W,v),EA=s(W);break;case"ellipse":v=D(W,v),EA=r(W);break;case"line":v=D(W,v),EA=l(W);break;case"defs":H=!0;break;case"use":v=D(W,v);const NA=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),Z=W.viewportElement.getElementById(NA);Z?C(Z,v):console.warn("SVGLoader: 'use node' references non-existent node id: "+NA);break}EA&&(v.fill!==void 0&&v.fill!=="none"&&EA.color.setStyle(v.fill,S5),p(EA,DA),z.push(EA),EA.userData={node:W,style:v});const UA=W.childNodes;for(let hA=0;hA0?DA.copy(X[X.length-1]):DA.identity())}function B(W){const v=new IE,x=new KA,H=new KA,EA=new KA;let UA=!0,hA=!1;const NA=W.getAttribute("d");if(NA===""||NA==="none")return null;const Z=NA.match(/[a-df-z][^a-df-z]*/ig);for(let MA=0,eA=Z.length;MA0&&(x.copy(EA),v.currentPath.currentPoint.copy(x),UA=!0);break;default:console.warn(wA)}hA=!1}return v}function i(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let v=0;vEA.trim());for(let EA=0;EAhA!==""));rA[H[EA]]=Object.assign(rA[H[EA]]||{},UA)}}}function Q(W,v,x,H,EA,UA,hA,NA){if(v==0||x==0){W.lineTo(NA.x,NA.y);return}H=H*Math.PI/180,v=Math.abs(v),x=Math.abs(x);const Z=(hA.x-NA.x)/2,MA=(hA.y-NA.y)/2,eA=Math.cos(H)*Z+Math.sin(H)*MA,wA=-Math.sin(H)*Z+Math.cos(H)*MA;let SA=v*v,bA=x*x;const QA=eA*eA,F=wA*wA,m=QA/SA+F/bA;if(m>1){const jA=Math.sqrt(m);v=jA*v,x=jA*x,SA=v*v,bA=x*x}const cA=SA*F+bA*QA,PA=(SA*bA-cA)/cA;let ZA=Math.sqrt(Math.max(0,PA));EA===UA&&(ZA=-ZA);const TA=ZA*v*wA/x,eI=-ZA*x*eA/v,BI=Math.cos(H)*TA-Math.sin(H)*eI+(hA.x+NA.x)/2,aI=Math.sin(H)*TA+Math.cos(H)*eI+(hA.y+NA.y)/2,hI=e(1,0,(eA-TA)/v,(wA-eI)/x),NI=e((eA-TA)/v,(wA-eI)/x,(-eA-TA)/v,(-wA-eI)/x)%(Math.PI*2);W.currentPath.absellipse(BI,aI,v,x,hI,hI+NI,UA===0,H)}function e(W,v,x,H){const EA=W*x+v*H,UA=Math.sqrt(W*W+v*v)*Math.sqrt(x*x+H*H);let hA=Math.acos(Math.max(-1,Math.min(1,EA/UA)));return W*H-v*x<0&&(hA=-hA),hA}function E(W){const v=S(W.getAttribute("x")||0),x=S(W.getAttribute("y")||0),H=S(W.getAttribute("rx")||W.getAttribute("ry")||0),EA=S(W.getAttribute("ry")||W.getAttribute("rx")||0),UA=S(W.getAttribute("width")),hA=S(W.getAttribute("height")),NA=1-.551915024494,Z=new IE;return Z.moveTo(v+H,x),Z.lineTo(v+UA-H,x),(H!==0||EA!==0)&&Z.bezierCurveTo(v+UA-H*NA,x,v+UA,x+EA*NA,v+UA,x+EA),Z.lineTo(v+UA,x+hA-EA),(H!==0||EA!==0)&&Z.bezierCurveTo(v+UA,x+hA-EA*NA,v+UA-H*NA,x+hA,v+UA-H,x+hA),Z.lineTo(v+H,x+hA),(H!==0||EA!==0)&&Z.bezierCurveTo(v+H*NA,x+hA,v,x+hA-EA*NA,v,x+hA-EA),Z.lineTo(v,x+EA),(H!==0||EA!==0)&&Z.bezierCurveTo(v,x+EA*NA,v+H*NA,x,v+H,x),Z}function t(W){function v(UA,hA,NA){const Z=S(hA),MA=S(NA);EA===0?H.moveTo(Z,MA):H.lineTo(Z,MA),EA++}const x=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,H=new IE;let EA=0;return W.getAttribute("points").replace(x,v),H.currentPath.autoClose=!0,H}function n(W){function v(UA,hA,NA){const Z=S(hA),MA=S(NA);EA===0?H.moveTo(Z,MA):H.lineTo(Z,MA),EA++}const x=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,H=new IE;let EA=0;return W.getAttribute("points").replace(x,v),H.currentPath.autoClose=!1,H}function s(W){const v=S(W.getAttribute("cx")||0),x=S(W.getAttribute("cy")||0),H=S(W.getAttribute("r")||0),EA=new dE;EA.absarc(v,x,H,0,Math.PI*2);const UA=new IE;return UA.subPaths.push(EA),UA}function r(W){const v=S(W.getAttribute("cx")||0),x=S(W.getAttribute("cy")||0),H=S(W.getAttribute("rx")||0),EA=S(W.getAttribute("ry")||0),UA=new dE;UA.absellipse(v,x,H,EA,0,Math.PI*2);const hA=new IE;return hA.subPaths.push(UA),hA}function l(W){const v=S(W.getAttribute("x1")||0),x=S(W.getAttribute("y1")||0),H=S(W.getAttribute("x2")||0),EA=S(W.getAttribute("y2")||0),UA=new IE;return UA.moveTo(v,x),UA.lineTo(H,EA),UA.currentPath.autoClose=!1,UA}function D(W,v){v=Object.assign({},v);let x={};if(W.hasAttribute("class")){const hA=W.getAttribute("class").split(/\s/).filter(Boolean).map(NA=>NA.trim());for(let NA=0;NA0&&v.premultiply(X[X.length-1]),DA.copy(v),X.push(v),v}function N(W){const v=new PI,x=sA;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const H=S(W.getAttribute("x")),EA=S(W.getAttribute("y"));v.translate(H,EA)}if(W.hasAttribute("transform")){const H=W.getAttribute("transform").split(")");for(let EA=H.length-1;EA>=0;EA--){const UA=H[EA].trim();if(UA==="")continue;const hA=UA.indexOf("("),NA=UA.length;if(hA>0&&hA=1){const eA=MA[0];let wA=0;MA.length>=2&&(wA=MA[1]),x.translate(eA,wA)}break;case"rotate":if(MA.length>=1){let eA=0,wA=0,SA=0;eA=MA[0]*Math.PI/180,MA.length>=3&&(wA=MA[1],SA=MA[2]),oA.makeTranslation(-wA,-SA),GA.makeRotation(eA),b.multiplyMatrices(GA,oA),oA.makeTranslation(wA,SA),x.multiplyMatrices(oA,b)}break;case"scale":if(MA.length>=1){const eA=MA[0];let wA=eA;MA.length>=2&&(wA=MA[1]),x.scale(eA,wA)}break;case"skewX":MA.length===1&&x.set(1,Math.tan(MA[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":MA.length===1&&x.set(1,0,0,Math.tan(MA[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":MA.length===6&&x.set(MA[0],MA[2],MA[4],MA[1],MA[3],MA[5],0,0,1);break}}v.premultiply(x)}}return v}function p(W,v){function x(hA){CA.set(hA.x,hA.y,1).applyMatrix3(v),hA.set(CA.x,CA.y)}function H(hA){const NA=hA.xRadius,Z=hA.yRadius,MA=Math.cos(hA.aRotation),eA=Math.sin(hA.aRotation),wA=new O(NA*MA,NA*eA,0),SA=new O(-Z*eA,Z*MA,0),bA=wA.applyMatrix3(v),QA=SA.applyMatrix3(v),F=sA.set(bA.x,QA.x,0,bA.y,QA.y,0,0,0,1),m=oA.copy(F).invert(),ZA=GA.copy(m).transpose().multiply(m).elements,TA=K(ZA[0],ZA[1],ZA[4]),eI=Math.sqrt(TA.rt1),BI=Math.sqrt(TA.rt2);if(hA.xRadius=1/eI,hA.yRadius=1/BI,hA.aRotation=Math.atan2(TA.sn,TA.cs),!((hA.aEndAngle-hA.aStartAngle)%(2*Math.PI){const{x:kI,y:EI}=new O(Math.cos(YI),Math.sin(YI),0).applyMatrix3(jA);return Math.atan2(EI,kI)};hA.aStartAngle=OI(hA.aStartAngle),hA.aEndAngle=OI(hA.aEndAngle),f(v)&&(hA.aClockwise=!hA.aClockwise)}}function EA(hA){const NA=_(v),Z=U(v);hA.xRadius*=NA,hA.yRadius*=Z;const MA=NA>Number.EPSILON?Math.atan2(v.elements[1],v.elements[0]):Math.atan2(-v.elements[3],v.elements[4]);hA.aRotation+=MA,f(v)&&(hA.aStartAngle*=-1,hA.aEndAngle*=-1,hA.aClockwise=!hA.aClockwise)}const UA=W.subPaths;for(let hA=0,NA=UA.length;hANumber.EPSILON}function _(W){const v=W.elements;return Math.sqrt(v[0]*v[0]+v[1]*v[1])}function U(W){const v=W.elements;return Math.sqrt(v[3]*v[3]+v[4]*v[4])}function K(W,v,x){let H,EA,UA,hA,NA;const Z=W+x,MA=W-x,eA=Math.sqrt(MA*MA+4*v*v);return Z>0?(H=.5*(Z+eA),NA=1/H,EA=W*NA*x-v*NA*v):Z<0?EA=.5*(Z-eA):(H=.5*eA,EA=-.5*eA),MA>0?UA=MA+eA:UA=MA-eA,Math.abs(UA)>2*Math.abs(v)?(NA=-2*v/UA,hA=1/Math.sqrt(1+NA*NA),UA=NA*hA):Math.abs(v)===0?(UA=1,hA=0):(NA=-.5*UA/v,UA=1/Math.sqrt(1+NA*NA),hA=NA*UA),MA>0&&(NA=UA,UA=-hA,hA=NA),{rt1:H,rt2:EA,cs:UA,sn:hA}}const z=[],rA={},X=[],sA=new PI,oA=new PI,GA=new PI,b=new PI,gA=new KA,CA=new O,DA=new PI,fA=new DOMParser().parseFromString(A,"image/svg+xml");return C(fA.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:z,xml:fA.documentElement}}static createShapes(A){const C={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},B={loc:C.ORIGIN,t:0};function i(G,h,c,y){const S=G.x,k=h.x,N=c.x,p=y.x,f=G.y,q=h.y,_=c.y,U=y.y,K=(p-N)*(f-_)-(U-_)*(S-N),z=(k-S)*(f-_)-(q-f)*(S-N),rA=(U-_)*(k-S)-(p-N)*(q-f),X=K/rA,sA=z/rA;if(rA===0&&K!==0||X<=0||X>=1||sA<0||sA>1)return null;if(K===0&&rA===0){for(let oA=0;oA<2;oA++)if(Q(oA===0?c:y,G,h),B.loc==C.ORIGIN){const GA=oA===0?c:y;return{x:GA.x,y:GA.y,t:B.t}}else if(B.loc==C.BETWEEN){const GA=+(S+B.t*(k-S)).toPrecision(10),b=+(f+B.t*(q-f)).toPrecision(10);return{x:GA,y:b,t:B.t}}return null}else{for(let b=0;b<2;b++)if(Q(b===0?c:y,G,h),B.loc==C.ORIGIN){const gA=b===0?c:y;return{x:gA.x,y:gA.y,t:B.t}}const oA=+(S+X*(k-S)).toPrecision(10),GA=+(f+X*(q-f)).toPrecision(10);return{x:oA,y:GA,t:X}}}function Q(G,h,c){const y=c.x-h.x,S=c.y-h.y,k=G.x-h.x,N=G.y-h.y,p=y*N-k*S;if(G.x===h.x&&G.y===h.y){B.loc=C.ORIGIN,B.t=0;return}if(G.x===c.x&&G.y===c.y){B.loc=C.DESTINATION,B.t=1;return}if(p<-Number.EPSILON){B.loc=C.LEFT;return}if(p>Number.EPSILON){B.loc=C.RIGHT;return}if(y*k<0||S*N<0){B.loc=C.BEHIND;return}if(Math.sqrt(y*y+S*S)U.t<=_.t+Number.EPSILON&&U.t>=_.t-Number.EPSILON)===void 0&&(c.push(_),y.push(new KA(_.x,_.y)))}}return y}function E(G,h,c){const y=new KA;h.getCenter(y);const S=[];return c.forEach(k=>{k.boundingBox.containsPoint(y)&&e(G,k.points).forEach(p=>{S.push({identifier:k.identifier,isCW:k.isCW,point:p})})}),S.sort((k,N)=>k.point.x-N.point.x),S}function t(G,h,c,y,S){(S==null||S==="")&&(S="nonzero");const k=new KA;G.boundingBox.getCenter(k);const N=[new KA(c,k.y),new KA(y,k.y)],p=E(N,G.boundingBox,h);p.sort((z,rA)=>z.point.x-rA.point.x);const f=[],q=[];p.forEach(z=>{z.identifier===G.identifier?f.push(z):q.push(z)});const _=f[0].point.x,U=[];let K=0;for(;K0&&U[U.length-1]===q[K].identifier?U.pop():U.push(q[K].identifier),K++;if(U.push(G.identifier),S==="evenodd"){const z=U.length%2===0,rA=U[U.length-2];return{identifier:G.identifier,isHole:z,for:rA}}else if(S==="nonzero"){let z=!0,rA=null,X=null;for(let sA=0;sA{const h=G.getPoints();let c=-999999999,y=999999999,S=-999999999,k=999999999;for(let N=0;Nc&&(c=p.y),p.yS&&(S=p.x),p.x=k&&(n=k-1),{curves:G.curves,points:h,isCW:IQ.isClockWise(h),identifier:-1,boundingBox:new yL(new KA(k,y),new KA(S,c))}});r=r.filter(G=>G.points.length>1);for(let G=0;Gt(G,r,n,s,A.userData?A.userData.style.fillRule:void 0)),D=[];return r.forEach(G=>{if(!l[G.identifier].isHole){const c=new ME;c.curves=G.curves,l.filter(S=>S.isHole&&S.for===G.identifier).forEach(S=>{const k=r[S.identifier],N=new dE;N.curves=k.curves,c.holes.push(N)}),D.push(c)}}),D}static getStrokeStyle(A,I,C,B,i){return A=A!==void 0?A:1,I=I!==void 0?I:"#000",C=C!==void 0?C:"miter",B=B!==void 0?B:"butt",i=i!==void 0?i:4,{strokeColor:I,strokeWidth:A,strokeLineJoin:C,strokeLineCap:B,strokeMiterLimit:i}}static pointsToStroke(A,I,C,B){const i=[],Q=[],e=[];if(ha.pointsToStrokeWithBuffers(A,I,C,B,i,Q,e)===0)return null;const E=new WI;return E.setAttribute("position",new GI(i,3)),E.setAttribute("normal",new GI(Q,3)),E.setAttribute("uv",new GI(e,2)),E}static pointsToStrokeWithBuffers(A,I,C,B,i,Q,e,E){const t=new KA,n=new KA,s=new KA,r=new KA,l=new KA,D=new KA,G=new KA,h=new KA,c=new KA,y=new KA,S=new KA,k=new KA,N=new KA,p=new KA,f=new KA,q=new KA,_=new KA;C=C!==void 0?C:12,B=B!==void 0?B:.001,E=E!==void 0?E:0,A=MA(A);const U=A.length;if(U<2)return 0;const K=A[0].equals(A[U-1]);let z,rA=A[0],X;const sA=I.strokeWidth/2,oA=1/(U-1);let GA=0,b,gA,CA,DA,fA=!1,VA=0,W=E*3,v=E*2;x(A[0],A[1],t).multiplyScalar(sA),h.copy(A[0]).sub(t),c.copy(A[0]).add(t),y.copy(h),S.copy(c);for(let eA=1;eANumber.EPSILON){const bA=sA/SA;s.multiplyScalar(-bA),r.subVectors(z,rA),l.copy(r).setLength(bA).add(s),q.copy(l).negate();const QA=l.length(),F=r.length();r.divideScalar(F),D.subVectors(X,z);const m=D.length();switch(D.divideScalar(m),r.dot(q)=B&&SA.push(eA[bA]);return SA.push(eA[eA.length-1]),SA}}}function G5(g,A,I,C,B,i,Q){const e=[],E=SI([]),t=SI([]);Ne(E,e);const n=SI(void 0),s=pe(I,C,B,{...ue,...ke(g.root.size),...fe(E),...de(t)},Yw,K=>K.add("aspectRatio",n)),r=SI(void 0),l=we(g.anyAncestorScrollable);jE(r,l,g,s,i,e);const D=Ge(s,l,g.root.pixelSize);ye(i,D,e);const G=WE(g.childrenMatrix,D),h=PE(g.clippingRect,G,l.size,g.root.pixelSize),c=lo(s),y=iB(s,mC.Panel,c,g.orderInfo);e.push(K=>RQ(s,y,c,g.root.panelGroupManager,G,l.size,void 0,l.borderInset,g.clippingRect,h,so(),K));const S=iB(void 0,mC.Svg,void 0,y),k=og(()=>Ji(A.value)),N=SI(void 0),p=Al(g.root,g.clippingRect,e);_Y(N,k5,e,k,g.root,p,g.clippingRect,S,n),ZY(s,N,e);const f=y5(l,g.root.pixelSize,N,n,h,e),q=Kw();qw(Q,q,g.root.pixelSize,e);const _=Jw(q,G,g.root.pixelSize);Lw(s,q,l,G,h,g.clippingRect,S,g.root.panelGroupManager,e);const U=mw(q,l,i,C,g.root.pixelSize,g.root.onFrameSet,e);return Se(I,C,l.size,e),ZE(I,C,h,e),Object.assign(l,{clippingRect:Fw(G,l,g.root.pixelSize,g.clippingRect),childrenMatrix:_,node:r,orderInfo:S,root:g.root,initializers:e,centerGroup:f,handlers:Me(I,C,B,E,t,U),interactionPanel:ro(S,g.root,g.clippingRect,l.size,e)})}function y5(g,A,I,C,B,i){const Q=new fi;return Q.matrixAutoUpdate=!1,i.push(()=>RI(()=>{VY(Q.position,Q.scale,g.size,g.paddingInset,g.borderInset,A.value,C.value??1),Q.updateMatrix()}),()=>RI(()=>{const e=I.value;if(e!=null)return Q.add(e),()=>Q.remove(e)}),()=>RI(()=>void(Q.visible=I.value!=null&&!B.value))),Q}const u5=new ha,SD=new oC,wt=new O;async function k5(g,A,I,C,B,i){const Q=new fi;Q.matrixAutoUpdate=!1;const e=await u5.loadAsync(g);SD.makeEmpty();for(const t of e.paths){const n=ha.createShapes(t),s=new uC;s.transparent=!0,s.depthWrite=!1,s.toneMapped=!1,s.clippingPlanes=I;for(const r of n){const l=new sa(r);l.computeBoundingBox(),SD.union(l.boundingBox);const D=new hg(l,s);D.matrixAutoUpdate=!1,D.raycast=Da(D,D.raycast,A.object,C,B),ao(D,A,B),D.userData.color=t.color,D.scale.y=-1,D.updateMatrix(),Q.add(D)}}SD.getSize(wt),i.value=wt.x/wt.y;const E=1/wt.y;return Q.scale.set(1,1,1).multiplyScalar(E),SD.getCenter(wt),wt.y*=-1,Q.position.copy(wt).negate().multiplyScalar(E),Q.updateMatrix(),Q}function d5(g,A,I,C,B,i,Q,e){const E=[],t=SI([]),n=SI([]);Ne(t,E);const s=pe(B,i,Q,{...ue,...ke(g.root.size),...fe(t),...de(n)},Yw,N=>{N.add("aspectRatio",I/C),N.add("width",I),N.add("height",C)}),r=we(g.anyAncestorScrollable);jE(void 0,r,g,s,e,E);const l=Ge(s,r,g.root.pixelSize);ye(e,l,E);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,r.size,g.root.pixelSize),h=lo(s),c=iB(s,mC.Panel,h,g.orderInfo);E.push(N=>RQ(s,c,h,g.root.panelGroupManager,D,r.size,void 0,r.borderInset,g.clippingRect,G,so(),N));const y=iB(void 0,mC.Svg,void 0,c),S=Al(g.root,g.clippingRect,E),k=p5(s,A,I,C,g,y,r,G,S,E);return Se(B,i,r.size,E),ZE(B,i,G,E),Object.assign(r,{initializers:E,iconGroup:k,handlers:Me(B,i,Q,t,n),interactionPanel:ro(y,g.root,g.clippingRect,r.size,E)})}const M5=new ha;function p5(g,A,I,C,B,i,Q,e,E,t){const n=new fi;n.matrixAutoUpdate=!1;const s=M5.parse(A);for(const l of s.paths){const D=ha.createShapes(l),G=new uC;G.transparent=!0,G.depthWrite=!1,G.toneMapped=!1,G.clippingPlanes=E;for(const h of D){const c=new sa(h);c.computeBoundingBox();const y=new hg(c,G);y.matrixAutoUpdate=!1,y.raycast=Da(y,y.raycast,B.root.object,B.clippingRect,i),ao(y,B.root,i),y.userData.color=l.color,y.scale.y=-1,y.updateMatrix(),n.add(y)}}const r=I/C;return t.push(()=>RI(()=>{VY(n.position,n.scale,Q.size,Q.paddingInset,Q.borderInset,B.root.pixelSize.value,r),n.position.x-=n.scale.x*r/2,n.position.y+=n.scale.x/2,n.scale.divideScalar(C),n.updateMatrix()}),()=>RI(()=>void(n.visible=!e.value))),ZY(g,n,t),n}function U5(g,A,I,C,B,i){const Q=SI([]),e=SI([]),E=[];Ne(Q,E);const t=pe(A,I,C,{...ue,...ke(g.root.size),...fe(Q),...de(e)}),n=we(g.anyAncestorScrollable);jE(void 0,n,g,t,B,E);const s=Ge(t,n,g.root.pixelSize);ye(B,s,E);const r=WE(g.childrenMatrix,s),l=PE(g.clippingRect,r,n.size,g.root.pixelSize),D=iB(t,mC.Custom,void 0,g.orderInfo),G=Al(g.root,g.clippingRect,E);return E.push(h=>{const c=i.current;return c==null||(c.matrixAutoUpdate=!1,c.material instanceof rC&&(c.material.clippingPlanes=G,c.material.needsUpdate=!0,c.material.shadowSide=Qi),c.raycast=Da(c,c.raycast,g.root.object,g.clippingRect,D),ao(c,g.root,D),h.push(RI(()=>c.receiveShadow=t.value.read("receiveShadow",!1)),RI(()=>c.castShadow=t.value.read("castShadow",!1)),RI(()=>{if(n.size.value==null)return;const[y,S]=n.size.value,k=g.root.pixelSize.value;c.scale.set(y*k,S*k,1),c.updateMatrix()}),RI(()=>void(c.visible=!l.value)))),h}),Se(A,I,n.size,E),ZE(A,I,l,E),Object.assign(n,{root:g.root,handlers:Me(A,I,C,Q,e),initializers:E})}function N5(g,A,I,C,B,i){const Q=SI([]),e=SI([]),E=[],t=we(g.anyAncestorScrollable);Ne(Q,E);const n=SI(new O(1,1,1)),s=og(()=>n.value.x/n.value.y),r=pe(A,I,C,{...ue,...ke(g.root.size),...fe(Q),...de(e)},Yw,S=>S.add("aspectRatio",s));jE(void 0,t,g,r,B,E);const l=Ge(r,t,g.root.pixelSize);ye(B,l,E);const D=WE(g.childrenMatrix,l),G=PE(g.clippingRect,D,t.size,g.root.pixelSize),h=lo(r),c=iB(r,mC.Panel,h,g.orderInfo);E.push(S=>RQ(r,c,h,g.root.panelGroupManager,D,t.size,void 0,t.borderInset,g.clippingRect,G,so(),S));const y=iB(void 0,mC.Object,void 0,c);return Se(A,I,t.size,E),ZE(A,I,G,E),Object.assign(t,{remeasureContent:R5(r,g.root,t,g.clippingRect,y,n,i,E),interactionPanel:ro(c,g.root,g.clippingRect,t.size,E),handlers:Me(A,I,C,Q,e),initializers:E})}const iu=new oC,jR=new O().setScalar(.001),f5=new O,F5="back";function R5(g,A,I,C,B,i,Q,e){const E=Al(A,C,e),t=Qg(g,"depthAlign",F5),n=Qg(g,"keepAspectRatio",!0),s=new O,r=new O,l=()=>{const D=Q.current;if(D==null){s.copy(jR),r.set(0,0,0);return}D.traverse(h=>{h instanceof hg&&(ao(h,A,B),h.material.clippingPlanes=E,h.material.needsUpdate=!0,h.raycast=Da(h,h.raycast,A.object,C,B))});const G=D.parent;D.parent=null,iu.setFromObject(D),iu.getSize(s).max(jR),i.value=s,G!=null&&(D.parent=G),iu.getCenter(r)};return e.push(D=>{const G=Q.current;return G==null||(l(),D.push(RI(()=>{const{size:{value:h},paddingInset:{value:c},borderInset:{value:y}}=I;if(h==null||c==null||y==null)return;const[S,k]=h,[N,p,f,q]=c,[_,U,K,z]=y,rA=N+_,X=p+U,sA=f+K,oA=q+z,GA=S-oA-X,b=k-rA-sA,gA=A.pixelSize.value;G.scale.set(GA*gA,b*gA,n.value?b*gA*s.z/s.y:s.z).divide(s),G.position.copy(r).negate(),G.position.z-=J5[t.value]*s.z,G.position.multiply(G.scale),G.position.add(f5.set((oA-X)*.5*gA,(sA-rA)*.5*gA,0)),G.updateMatrix()}))),D}),l}function K5(g,A,I,C,B,i){if(B instanceof GC){const Q=2*Math.tan(Math.PI*B.fov/360)*C;I.value=Q/i,A.value=Q,g.value=Q*B.aspect}if(B instanceof he){const Q=B.top-B.bottom,e=B.right-B.left;I.value=Q/i,A.value=Q,g.value=e}}function ei(g){const A=g.length;for(let I=0;IQ){A.setScalar(p*i);return}A.setScalar(N*i/Q)}function Ji(g){return g instanceof qC?g.value:g}function gl(g){const A=new Map;return(I,C)=>{if(typeof I!="object")throw new Error(`Invalid properties "${I}"`);for(const B in I){const i=I[B];if(i===void 0)return;let Q=A.get(i);Q==null&&A.set(i,Q=og(()=>g()?Ji(i):void 0)),C.add(B,Q)}}}function rM(g,A){const I=A.map(C=>Qg(g,C,0));return og(()=>I.map(C=>C.value))}function Ne(g,A){A.push(()=>()=>XY(g))}function q5(g,A,I,C,B,i){let Q=!1;fw(A,I,C,E=>{"hover"in E&&(Q=!0)});const e=A?.cursor??I?.cursor??i;if(!Q&&A?.onHoverChange==null&&I?.onHoverChange==null&&e==null){B.value.length=0;return}bt("onPointerOver",g,({nativeEvent:E})=>{B.value=[E.pointerId,...B.value],B.value.length===1&&(I?.onHoverChange?.(!0),A?.onHoverChange?.(!0)),e!=null&&m5(B,e)}),bt("onPointerOut",g,({nativeEvent:E})=>{B.value=B.value.filter(t=>t!=E.pointerId),B.value.length===0&&(I?.onHoverChange?.(!1),A?.onHoverChange?.(!1)),XY(B)})}function fe(g){return{hover:gl(()=>g.value.length>0)}}const tk=[],OD=[];function m5(g,A){tk.push(g),OD.push(A),document.body.style.cursor=A}function XY(g){const A=tk.indexOf(g);A!=-1&&(tk.splice(A,1),OD.splice(A,1),document.body.style.cursor=OD[OD.length-1]??"default")}const L5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let VR;function Y5(){return VR??=Il({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),VR}function H5(g,A,I,C,B,i,Q,e){const E=iB(void 0,mC.Panel,Rw,B),t=SI(void 0);e.push(()=>RI(()=>{const r=I.value;r==null&&(t.value=void 0),t.value=r;const l=setInterval(()=>t.value=t.peek()==null?r:void 0,500);return()=>clearInterval(l)}));const n=rM(g,L5),s=Qg(g,"caretWidth",1.5);e.push(r=>RQ(g,E,void 0,Q,A,og(()=>{const l=t.value;return l==null?[0,0]:[s.value,l[2]]}),og(()=>{const l=t.value;return l==null?[0,0]:[l[0]-s.value/2,l[1]]}),n,i,C,Y5(),r))}const T5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let XR;function x5(){return XR??=Il({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),XR}function v5(g,A,I,C,B,i,Q,e){const E=[],t=iB(void 0,mC.Panel,Rw,B),n=rM(g,T5);return e.push(()=>RI(()=>{const s=I.value,r=s.length;for(let D=0;D()=>{const s=E.length;for(let r=0;rg.value)}}const O5=new Set;function _5(g){O5.add(g)}function Z5(g,A,I,C,B,i,Q,e,E){const t=SI([]),n=SI([]),s=SI(!1),r=[];Ne(t,r);const l=pe(i,Q,e,{...ue,...ke(g.root.size),...fe(t),...de(n),...b5(s)},void 0,GA=>{fw(i.value,Q.value,e.value,b=>{GA.add("caretOpacity",b.opacity),GA.add("caretColor",b.color)})}),D=we(g.anyAncestorScrollable),G=SI(void 0);jE(G,D,g,l,E,r);const h=Ge(l,D,g.root.pixelSize);ye(E,h,r);const c=WE(g.childrenMatrix,h),y=PE(g.clippingRect,c,D.size,g.root.pixelSize),S=lo(l),k=iB(l,mC.Panel,S,g.orderInfo);r.push(GA=>RQ(l,k,S,g.root.panelGroupManager,c,D.size,void 0,D.borderInset,g.clippingRect,y,so(),GA));const N={},p=SI([]),f=SI(void 0),q=SI(void 0);H5(l,c,f,y,k,g.clippingRect,g.root.panelGroupManager,r);const _=v5(l,c,p,y,k,g.clippingRect,g.root.panelGroupManager,r),U=fY(l,B,g.root.renderer,r),K=iB(void 0,mC.Text,RY(U),_),z=KY(l,A,c,G,D,y,g.clippingRect,K,U,g.root.gylphGroupManager,q,p,f,N,r);r.push(()=>RI(()=>G.value?.setMeasureFunc(z))),Se(i,Q,D.size,r),ZE(i,Q,y,r);const rA=Qg(l,"disabled",!1),X=W5(A,q,I,C,rA,r),sA=()=>{s.peek()||X.peek()?.focus()};j5(X,s,r);const oA=P5(D,X,N,q,sA,rA);return Object.assign(D,{focus:sA,root:g.root,element:X,node:G,interactionPanel:ro(k,g.root,g.clippingRect,D.size,r),handlers:Me(i,Q,e,t,n,oA,"text"),initializers:r})}function P5(g,A,I,C,B,i){return og(()=>{if(i.value)return;let Q;return{onPointerDown:e=>{if(e.defaultPrevented||e.uv==null||I.current==null)return;_5(e.nativeEvent),e.stopPropagation?.();const E=zR(g,e.uv,I.current);Q=E,setTimeout(()=>{B(),C.value=[E,E],A.peek()?.setSelectionRange(E,E)})},onPointerUp:e=>{Q=void 0},onPointerLeave:e=>{Q=void 0},onPointerMove:e=>{if(Q==null||e.uv==null||I.current==null)return;e.stopPropagation?.();const E=zR(g,e.uv,I.current),t=Math.min(Q,E),n=Math.max(Q,E),s=Q{B(),C.value=[t,n],A.peek()?.setSelectionRange(t,n,s)})}}})}function W5(g,A,I,C,B,i){const Q=SI(void 0);return i.push(e=>{const E=document.createElement(C?"textarea":"input"),t=E.style;t.setProperty("position","absolute"),t.setProperty("left","-1000vw"),t.setProperty("pointerEvents","none"),t.setProperty("opacity","0"),E.addEventListener("input",()=>{I?.(E.value),n()});const n=()=>{const{selectionStart:s,selectionEnd:r}=E;if(s==null||r==null){A.value=void 0;return}const l=A.peek();l!=null&&l[0]===s&&l[1]===r||(A.value=[s,r])};return E.addEventListener("keydown",n),E.addEventListener("keyup",n),E.addEventListener("blur",()=>A.value=void 0),document.body.appendChild(E),Q.value=E,e.push(()=>{Q.value=void 0,E.remove()},RI(()=>E.value=g.value),RI(()=>E.disabled=B.value)),e}),Q}function j5(g,A,I){I.push(()=>RI(()=>{const C=g.value;if(C==null)return;const B=()=>A.value=document.activeElement===C;return B(),C.addEventListener("focus",B),C.addEventListener("blur",B),()=>{C.removeEventListener("focus",B),C.removeEventListener("blur",B)}}))}function zR({size:g,borderInset:A,paddingInset:I},C,B){const i=g.peek(),Q=A.peek(),e=I.peek();if(i==null||Q==null||e==null)return 0;const[E,t]=i,[n,,,s]=Q,[r,,,l]=e,D=C.x*E-s-l,G=-C.y*t+n+r;return B.getCharIndex(D,G)}new KA;const ok=j.createContext(void 0);function V5(){return j.useContext(ok)}function Hw(g){const I={...j.useContext(ok)};for(const C in g){if(C==="children")continue;const B=g[C];B!=null&&(I[C]=B)}return HA.jsx(ok.Provider,{value:I,children:g.children})}const $R=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Fe=j.forwardRef(({handlers:g,userHandlers:A,children:I},C)=>{const[B,i]=j.useState(()=>g.value);j.useEffect(()=>RI(()=>{const e=g.value,E=void setTimeout(()=>i(e),0);return()=>clearTimeout(E)}),[g]);const Q=j.useMemo(()=>{const e={...B},E=$R.length;for(let t=0;t({style:SI(void 0),properties:SI(void 0),default:SI(void 0)}),[]);return A.properties.value=g,A.default.value=V5(),A}function Ke(g,A,I,C,B,i){j.useImperativeHandle(g,()=>{const{scrollPosition:Q,paddingInset:e,borderInset:E,relativeCenter:t,size:n,maxScrollPosition:s}=C;return{setStyle:r=>I.value=r,pixelSize:A,borderInset:E,paddingInset:e,center:t,maxScrollPosition:s,size:n,interactionPanel:B instanceof hg?B:B.current,scrollPosition:Q,...i}},[C,A,B,i,I])}const pC=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>n5(I,i.style,i.properties,i.default,C,B),[I,i]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[I,i,Q]),Ke(A,I.root.pixelSize,i.style,Q,Q.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:[HA.jsx("primitive",{object:Q.interactionPanel}),HA.jsx("object3D",{ref:B,children:HA.jsx(ca,{value:Q,children:g.children})})]})}),zY=j.forwardRef((g,A)=>{const I=wB(t=>t.gl);I.setTransparentSort(Z8);const C=la(),B=j.useRef(null),i=j.useRef(null),Q=Re(g),e=j.useMemo(()=>new Set,[]),E=j.useMemo(()=>i5(Q.style,Q.properties,Q.default,B,i,()=>C.getState().camera,I,e),[]);return j.useEffect(()=>{const t=[];return Ue(E.initializers,t),()=>ei(t)},[E]),OB((t,n)=>{for(const s of e)s(n)}),Ke(A,E.root.pixelSize,Q.style,E,E.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:E.handlers,ref:B,children:[HA.jsx("primitive",{object:E.interactionPanel}),HA.jsx("object3D",{ref:i,children:HA.jsx(ca,{value:E,children:g.children})})]})}),Tw=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>SI(void 0),[]);Q.value=g.src;const e=j.useMemo(()=>s5(I,Q,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,i.style,e,e.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:e.handlers,children:[HA.jsx("primitive",{object:e.interactionPanel}),HA.jsx("object3D",{ref:B,children:HA.jsx(ca,{value:e,children:g.children})})]})}),lQ=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>SI(void 0),[]);i.value=g.children;const Q=j.useMemo(()=>SI(void 0),[]);Q.value=aY();const e=j.useMemo(()=>w5(I,i,Q,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,B.style,e,e.interactionPanel),HA.jsx(Fe,{userHandlers:g,handlers:e.handlers,ref:C,children:HA.jsx("primitive",{object:e.interactionPanel})})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>SI(""),[]);Q.value=g.src;const e=j.useMemo(()=>G5(I,Q,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const E=[];return Ue(e.initializers,E),()=>ei(E)},[e]),Ke(A,I.root.pixelSize,i.style,e,e.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:e.handlers,children:[HA.jsx("primitive",{object:e.interactionPanel}),HA.jsx("primitive",{object:e.centerGroup}),HA.jsx("object3D",{ref:B,children:HA.jsx(ca,{value:e,children:g.children})})]})});const $Y=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>d5(I,g.text,g.svgWidth,g.svgHeight,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const Q=[];return Ue(i.initializers,Q),()=>ei(Q)},[i]),Ke(A,I.root.pixelSize,B.style,i,i.interactionPanel),HA.jsxs(Fe,{userHandlers:g,ref:C,handlers:i.handlers,children:[HA.jsx("primitive",{object:i.interactionPanel}),HA.jsx("primitive",{object:i.iconGroup})]})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=Re(g),i=j.useMemo(()=>SI(""),[]),Q=j.useRef(g.value!=null);i.value=(Q.current?g.value:g.defaultValue)??"";const e=j.useMemo(()=>og(()=>Ji(i.value)),[i]),E=j.useMemo(()=>SI(void 0),[]);E.value=aY();const t=j.useMemo(()=>Z5(I,e,n=>{Q.current||(i.value=n),B.style.peek()?.onValueChange?.(n),B.properties.peek()?.onValueChange?.(n)},g.multiline??!1,E,B.style,B.properties,B.default,C),[]);return j.useEffect(()=>{const n=[];return Ue(t.initializers,n),()=>ei(n)},[t]),j.useEffect(()=>RI(()=>{t.element.value!=null&&(t.element.value.tabIndex=g.tabIndex??0)}),[t,g.tabIndex]),Ke(A,I.root.pixelSize,B.style,t,t.interactionPanel,j.useMemo(()=>({focus:t.focus,current:e}),[t.focus,e])),HA.jsx(Fe,{userHandlers:g,handlers:t.handlers,ref:C,children:HA.jsx("primitive",{object:t.interactionPanel})})});j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>U5(I,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[Q]),Ke(A,I.root.pixelSize,i.style,Q,B),HA.jsx(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:HA.jsx(ca,{value:void 0,children:HA.jsx("mesh",{ref:B,matrixAutoUpdate:!1,geometry:sM,customDepthMaterial:g.customDepthMaterial,customDistanceMaterial:g.customDistanceMaterial,children:g.children})})})});const X5=j.forwardRef((g,A)=>{const I=OE(),C=j.useRef(null),B=j.useRef(null),i=Re(g),Q=j.useMemo(()=>N5(I,i.style,i.properties,i.default,C,B),[]);return j.useEffect(()=>{const e=[];return Ue(Q.initializers,e),()=>ei(e)},[Q]),Ke(A,I.root.pixelSize,i.style,Q,Q.interactionPanel),HA.jsxs(Fe,{userHandlers:g,handlers:Q.handlers,ref:C,children:[HA.jsx("primitive",{object:Q.interactionPanel}),HA.jsx("object3D",{matrixAutoUpdate:!1,ref:B,children:HA.jsx(ca,{value:void 0,children:g.children})})]})}),z5=j.forwardRef((g,A)=>{const I=la(),[C,B,i]=j.useMemo(()=>[SI(1),SI(1),SI(1)],[]),Q=wB(t=>t.camera),e=g.distanceToCamera??Q.near+.01;j.useEffect(()=>{const t=({camera:n,size:{height:s}})=>rY(()=>K5(C,B,i,e,n,s));return t(I.getState()),I.subscribe(t)},[i,C,B,I,e]);const E=g.attachCamera??!0;return HA.jsxs(HA.Fragment,{children:[E&&HA.jsx("primitive",{object:Q}),pw(HA.jsx("group",{"position-z":-e,children:HA.jsx(zY,{ref:A,...g,sizeX:C,sizeY:B,pixelSize:i,children:g.children})}),Q)]})});j.forwardRef(({src:g,...A},I)=>{const C=no(jr,g);return C.colorSpace=eC,C.matrixAutoUpdate=!1,HA.jsx(Tw,{ref:I,src:C,...A})});j.forwardRef(({children:g,resolution:A=1,frames:I=1/0,renderPriority:C=0,eventPriority:B=0,...i},Q)=>{const e=j.useMemo(()=>new SC(1,1,{minFilter:Dg,magFilter:Dg,type:gB}),[]),E=j.useRef(null),t=j.useMemo(()=>({events:{compute:$5.bind(null,E),priority:B},size:{width:1,height:1,left:0,top:0}}),[B]);j.useEffect(()=>{if(E.current==null)return;const{size:s}=E.current,r=RI(()=>{if(s.value==null)return;const[l,D]=s.value;e.setSize(l,D),t.size.width=l,t.size.height=D});return()=>{r(),e.dispose()}},[e,t]),j.useImperativeHandle(Q,()=>E.current,[]);const n=j.useMemo(()=>new Xt,[]);return HA.jsxs(HA.Fragment,{children:[pw(HA.jsxs(AV,{imageRef:E,renderPriority:C,frames:I,fbo:e,children:[g,HA.jsx("group",{onPointerOver:()=>null})]}),n,t),HA.jsx(Tw,{...i,src:e.texture,fit:"fill",keepAspectRatio:!1,ref:E})]})});function $5({current:g},A,I,C){if(g==null||C==null)return!1;C.raycaster.camera||C.events.compute?.(A,C,C.previousRoot?.getState());const[B]=C.raycaster.intersectObject(g.interactionPanel);if(!B)return!1;const i=B.uv;if(!i)return!1;I.raycaster.setFromCamera(I.pointer.set(i.x*2-1,i.y*2-1),I.camera)}function AV({frames:g,renderPriority:A,children:I,fbo:C,imageRef:B}){const i=la();j.useEffect(()=>{if(B.current==null)return;const{size:t}=B.current;return RI(()=>{if(t.value==null)return;const[n,s]=t.value;i.setState({size:{width:n,height:s,top:0,left:0}})})});let Q=0,e,E;return OB(t=>{(g===1/0||Q{const I=j.useMemo(()=>SI(void 0),[]),C=j.useMemo(()=>SI(1),[]),B=j.useMemo(()=>document.createElement("video"),[]);return j.useEffect(()=>{if(g.autoplay)return B.style.position="absolute",B.style.width="1px",B.style.zIndex="-1000",B.style.top="0px",B.style.left="0px",document.body.append(B),()=>B.remove()},[g.autoplay,B]),B.playsInline=!0,B.volume=g.volume??1,B.preservesPitch=g.preservesPitch??!0,B.playbackRate=g.playbackRate??1,B.muted=g.muted??!1,B.loop=g.loop??!1,B.autoplay=g.autoplay??!1,j.useEffect(()=>{typeof g.src=="string"?B.src=g.src:B.srcObject=g.src;const i=()=>C.value=B.videoWidth/B.videoHeight;return i(),B.addEventListener("resize",i),()=>B.removeEventListener("resize",i)},[C,g.src,B]),j.useEffect(()=>{const i=new Ym(B);return I.value=i,()=>i.dispose()},[I,B]),j.useImperativeHandle(A,()=>B,[B]),HA.jsx(Tw,{aspectRatio:C,...g,src:I})});const IV='',gV=j.forwardRef((g,A)=>HA.jsx($Y,{...g,ref:A,text:IV,svgWidth:24,svgHeight:24})),CV='',BV=j.forwardRef((g,A)=>HA.jsx($Y,{...g,ref:A,text:CV,svgWidth:24,svgHeight:24}));function ig(g,A,I){return new tI().setHSL(g/360,A/100,I/100,"srgb")}const Vg=nj({light:{background:ig(0,0,100),foreground:ig(222.2,84,4.9),card:ig(0,0,100),cardForeground:ig(222.2,84,4.9),popover:ig(0,0,100),popoverForeground:ig(222.2,84,4.9),primary:ig(222.2,47.4,11.2),primaryForeground:ig(210,40,98),secondary:ig(210,40,96.1),secondaryForeground:ig(222.2,47.4,11.2),muted:ig(210,40,96.1),mutedForeground:ig(215.4,16.3,46.9),accent:ig(210,40,96.1),accentForeground:ig(222.2,47.4,11.2),destructive:ig(0,72.22,50.59),destructiveForeground:ig(210,40,98),border:ig(214.3,31.8,91.4),input:ig(214.3,31.8,91.4),ring:ig(222.2,84,4.9)},dark:{background:ig(222.2,84,4.9),foreground:ig(210,40,98),card:ig(222.2,84,4.9),cardForeground:ig(210,40,98),popover:ig(222.2,84,4.9),popoverForeground:ig(210,40,98),primary:ig(210,40,98),primaryForeground:ig(222.2,47.4,11.2),secondary:ig(217.2,32.6,17.5),secondaryForeground:ig(210,40,98),muted:ig(217.2,32.6,17.5),mutedForeground:ig(215,20.2,65.1),accent:ig(217.2,32.6,17.5),accentForeground:ig(210,40,98),destructive:ig(0,62.8,30.6),destructiveForeground:ig(210,40,98),border:ig(217.2,32.6,17.5),input:ig(217.2,32.6,17.5),ring:ig(212.7,26.8,83.9)}});function AH(g){return HA.jsx(Hw,{scrollbarColor:Vg.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Vg.border,color:Vg.foreground,...g})}function Qu(g){return HA.jsx(Tw,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...g})}const iV={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Vg.primary},defaultProps:{color:Vg.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Vg.destructive},defaultProps:{color:Vg.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Vg.accent},containerProps:{border:1,borderColor:Vg.input,backgroundColor:Vg.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Vg.secondary},defaultProps:{color:Vg.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Vg.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Vg.primary}}},QV={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function IH({children:g,variant:A="default",size:I="default",disabled:C=!1,hover:B,...i}){const{containerProps:Q,defaultProps:e,containerHoverProps:E}=iV[A],t=QV[I];return HA.jsx(pC,{borderRadius:6,alignItems:"center",justifyContent:"center",...Q,...t,borderOpacity:C?.5:void 0,backgroundOpacity:C?.5:void 0,cursor:C?void 0:"pointer",flexDirection:"row",hover:{...E,...B},...i,children:HA.jsx(Hw,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...e,opacity:C?.5:void 0,children:g})})}function eV(g){return HA.jsx(pC,{padding:24,flexDirection:"column",gap:6,...g})}function EV({children:g}){return HA.jsx(Hw,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:g})}function tV({children:g}){return HA.jsx(Hw,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:g})}function oV(g){return HA.jsx(pC,{padding:24,paddingTop:0,...g})}function nV(g){return HA.jsx(pC,{flexDirection:"row",alignItems:"center",padding:24,paddingTop:0,...g})}function aV({defaultChecked:g,checked:A,disabled:I=!1,onCheckedChange:C,...B}){const[i,Q]=j.useState(g??!1),e=A??i;return HA.jsx(pC,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:I?.5:void 0,borderRadius:1e3,backgroundColor:e?Vg.primary:Vg.input,cursor:I?void 0:"pointer",onClick:I?void 0:()=>{A==null&&Q(!e),C?.(!e)},...B,children:HA.jsx(pC,{width:20,height:20,borderRadius:1e3,transformTranslateX:e?20:0,backgroundColor:Vg.background})})}let M;const cg=new Array(128).fill(void 0);cg.push(void 0,null,!0,!1);let bs=cg.length;function wC(g){bs===cg.length&&cg.push(cg.length+1);const A=bs;return bs=cg[A],cg[A]=g,A}function Ng(g){return cg[g]}function dr(g){const A=Ng(g);return function(I){I<132||(cg[I]=bs,bs=I)}(g),A}function UI(g){return g==null}let ys=null;function Mr(){return ys!==null&&ys.byteLength!==0||(ys=new Float64Array(M.memory.buffer)),ys}let us=null;function ZI(){return us!==null&&us.byteLength!==0||(us=new Int32Array(M.memory.buffer)),us}const gH=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&gH.decode();let ks=null;function CH(g,A){return g>>>=0,gH.decode((ks!==null&&ks.byteLength!==0||(ks=new Uint8Array(M.memory.buffer)),ks).subarray(g,g+A))}function nA(g,A){if(!(g instanceof A))throw new Error(`expected instance of ${A.name}`);return g.ptr}let ds=null;function Tg(){return ds!==null&&ds.byteLength!==0||(ds=new Float32Array(M.memory.buffer)),ds}let qg=128;function Pg(g){if(qg==1)throw new Error("out of js stack");return cg[--qg]=g,qg}function AK(g,A){return g>>>=0,Tg().subarray(g/4,g/4+A)}let Ms=null;function BH(){return Ms!==null&&Ms.byteLength!==0||(Ms=new Uint32Array(M.memory.buffer)),Ms}let XB=0;function St(g,A){const I=A(4*g.length,4)>>>0;return Tg().set(g,I/4),XB=g.length,I}function GD(g,A){const I=A(4*g.length,4)>>>0;return BH().set(g,I/4),XB=g.length,I}function eu(g,A){try{return g.apply(this,A)}catch(I){M.__wbindgen_exn_store(wC(I))}}const XC=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"}),xw=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"}),ji=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 $t{static __wrap(A){A>>>=0;const I=Object.create($t.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 nk{__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}}class iH{__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 dA.__wrap(A)}translationDeltaRemaining(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawcharactercollision_toi(this.__wbg_ptr)}worldWitness1(){const A=M.rawcharactercollision_worldWitness1(this.__wbg_ptr);return dA.__wrap(A)}worldWitness2(){const A=M.rawcharactercollision_worldWitness2(this.__wbg_ptr);return dA.__wrap(A)}worldNormal1(){const A=M.rawcharactercollision_worldNormal1(this.__wbg_ptr);return dA.__wrap(A)}worldNormal2(){const A=M.rawcharactercollision_worldNormal2(this.__wbg_ptr);return dA.__wrap(A)}}class Xg{static __wrap(A){A>>>=0;const I=Object.create(Xg.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 dA.__wrap(I)}coRotation(A){const I=M.rawcolliderset_coRotation(this.__wbg_ptr,A);return eg.__wrap(I)}coSetTranslation(A,I,C,B){M.rawcolliderset_coSetTranslation(this.__wbg_ptr,A,I,C,B)}coSetTranslationWrtParent(A,I,C,B){M.rawcolliderset_coSetTranslationWrtParent(this.__wbg_ptr,A,I,C,B)}coSetRotation(A,I,C,B,i){M.rawcolliderset_coSetRotation(this.__wbg_ptr,A,I,C,B,i)}coSetRotationWrtParent(A,I,C,B,i){M.rawcolliderset_coSetRotationWrtParent(this.__wbg_ptr,A,I,C,B,i)}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:dA.__wrap(I)}coHalfExtents(A){const I=M.rawcolliderset_coHalfExtents(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}coSetHalfExtents(A,I){nA(I,dA),M.rawcolliderset_coSetHalfExtents(this.__wbg_ptr,A,I.__wbg_ptr)}coRadius(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRadius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHalfHeight(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coRoundRadius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coVertices(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=AK(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coIndices(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coIndices(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=function(Q,e){return Q>>>=0,BH().subarray(Q/4,Q/4+e)}(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldHeights(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldHeights(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];let i;return I!==0&&(i=AK(I,C).slice(),M.__wbindgen_free(I,4*C,4)),i}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldScale(A){const I=M.rawcolliderset_coHeightfieldScale(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}coHeightfieldNRows(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNRows(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coHeightfieldNCols(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coHeightfieldNCols(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=ZI()[B/4+1];return I===0?void 0:C>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}coParent(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawcolliderset_coParent(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Mr()[B/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}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 nA(I,dA),M.rawcolliderset_coContainsPoint(this.__wbg_ptr,A,I.__wbg_ptr)!==0}coCastShape(A,I,C,B,i,Q,e,E){nA(I,dA),nA(C,TI),nA(B,dA),nA(i,eg),nA(Q,dA);const t=M.rawcolliderset_coCastShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,E);return t===0?void 0:Zw.__wrap(t)}coCastCollider(A,I,C,B,i,Q){nA(I,dA),nA(B,dA);const e=M.rawcolliderset_coCastCollider(this.__wbg_ptr,A,I.__wbg_ptr,C,B.__wbg_ptr,i,Q);return e===0?void 0:_w.__wrap(e)}coIntersectsShape(A,I,C,B){return nA(I,TI),nA(C,dA),nA(B,eg),M.rawcolliderset_coIntersectsShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr)!==0}coContactShape(A,I,C,B,i){nA(I,TI),nA(C,dA),nA(B,eg);const Q=M.rawcolliderset_coContactShape(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i);return Q===0?void 0:pr.__wrap(Q)}coContactCollider(A,I,C){const B=M.rawcolliderset_coContactCollider(this.__wbg_ptr,A,I,C);return B===0?void 0:pr.__wrap(B)}coProjectPoint(A,I,C){nA(I,dA);const B=M.rawcolliderset_coProjectPoint(this.__wbg_ptr,A,I.__wbg_ptr,C);return vw.__wrap(B)}coIntersectsRay(A,I,C,B){return nA(I,dA),nA(C,dA),M.rawcolliderset_coIntersectsRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)!==0}coCastRay(A,I,C,B,i){return nA(I,dA),nA(C,dA),M.rawcolliderset_coCastRay(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i)}coCastRayAndGetNormal(A,I,C,B,i){nA(I,dA),nA(C,dA);const Q=M.rawcolliderset_coCastRayAndGetNormal(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i);return Q===0?void 0:Ow.__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){nA(I,TI),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,B,i){nA(C,dA),nA(B,dA),nA(i,eg),M.rawcolliderset_coSetMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__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,B,i,Q,e,E,t,n,s,r,l,D,G,h,c,y,S,k,N,p,f,q){try{const K=M.__wbindgen_add_to_stack_pointer(-16);nA(I,TI),nA(C,dA),nA(B,eg),nA(e,dA),nA(E,dA),nA(t,eg),nA(q,iC),M.rawcolliderset_createCollider(K,this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e.__wbg_ptr,E.__wbg_ptr,t.__wbg_ptr,n,s,r,l,D,G,h,c,y,S,k,N,p,f,q.__wbg_ptr);var _=ZI()[K/4+0],U=Mr()[K/8+1];return _===0?void 0:U}finally{M.__wbindgen_add_to_stack_pointer(16)}}remove(A,I,C,B){nA(I,ae),nA(C,iC),M.rawcolliderset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}isHandleValid(A){return M.rawcolliderset_contains(this.__wbg_ptr,A)!==0}forEachColliderHandle(A){try{M.rawcolliderset_forEachColliderHandle(this.__wbg_ptr,Pg(A))}finally{cg[qg++]=void 0}}}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();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 dA.__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 dA.__wrap(A)}max_force_magnitude(){return M.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();M.__wbg_rawcontactmanifold_free(A)}normal(){const A=M.rawcontactmanifold_normal(this.__wbg_ptr);return dA.__wrap(A)}local_n1(){const A=M.rawcontactmanifold_local_n1(this.__wbg_ptr);return dA.__wrap(A)}local_n2(){const A=M.rawcontactmanifold_local_n2(this.__wbg_ptr);return dA.__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:dA.__wrap(I)}contact_local_p2(A){const I=M.rawcontactmanifold_contact_local_p2(this.__wbg_ptr,A);return I===0?void 0:dA.__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:dA.__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 dA.__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();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:cM.__wrap(I)}}class sV{__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 dr(M.rawdebugrenderpipeline_vertices(this.__wbg_ptr))}colors(){return dr(M.rawdebugrenderpipeline_colors(this.__wbg_ptr))}render(A,I,C,B,i){nA(A,iC),nA(I,Xg),nA(C,ne),nA(B,se),nA(i,mE),M.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();M.__wbg_rawdeserializedworld_free(A)}takeGravity(){const A=M.rawdeserializedworld_takeGravity(this.__wbg_ptr);return A===0?void 0:dA.__wrap(A)}takeIntegrationParameters(){const A=M.rawdeserializedworld_takeIntegrationParameters(this.__wbg_ptr);return A===0?void 0:Ao.__wrap(A)}takeIslandManager(){const A=M.rawdeserializedworld_takeIslandManager(this.__wbg_ptr);return A===0?void 0:ae.__wrap(A)}takeBroadPhase(){const A=M.rawdeserializedworld_takeBroadPhase(this.__wbg_ptr);return A===0?void 0:$t.__wrap(A)}takeNarrowPhase(){const A=M.rawdeserializedworld_takeNarrowPhase(this.__wbg_ptr);return A===0?void 0:mE.__wrap(A)}takeBodies(){const A=M.rawdeserializedworld_takeBodies(this.__wbg_ptr);return A===0?void 0:iC.__wrap(A)}takeColliders(){const A=M.rawdeserializedworld_takeColliders(this.__wbg_ptr);return A===0?void 0:Xg.__wrap(A)}takeImpulseJoints(){const A=M.rawdeserializedworld_takeImpulseJoints(this.__wbg_ptr);return A===0?void 0:ne.__wrap(A)}takeMultibodyJoints(){const A=M.rawdeserializedworld_takeMultibodyJoints(this.__wbg_ptr);return A===0?void 0:se.__wrap(A)}}class rV{__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,B,i){nA(A,dA),nA(I,dA),nA(C,dA),M.rawdynamicraycastvehiclecontroller_add_wheel(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i)}num_wheels(){return M.rawdynamicraycastvehiclecontroller_num_wheels(this.__wbg_ptr)>>>0}update_vehicle(A,I,C,B,i,Q,e){try{nA(I,iC),nA(C,Xg),nA(B,wM),M.rawdynamicraycastvehiclecontroller_update_vehicle(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,!UI(Q),UI(Q)?0:Q,Pg(e))}finally{cg[qg++]=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:dA.__wrap(I)}set_wheel_chassis_connection_point_cs(A,I){nA(I,dA),M.rawdynamicraycastvehiclecontroller_set_wheel_chassis_connection_point_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_suspension_rest_length(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_rest_length(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_travel(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_radius(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_stiffness(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_compression(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_relaxation(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_max_suspension_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_brake(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_steering(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_engine_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__wrap(I)}set_wheel_direction_cs(A,I){nA(I,dA),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:dA.__wrap(I)}set_wheel_axle_cs(A,I){nA(I,dA),M.rawdynamicraycastvehiclecontroller_set_wheel_axle_cs(this.__wbg_ptr,A,I.__wbg_ptr)}wheel_friction_slip(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_friction_slip(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_friction_stiffness(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_rotation(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_forward_impulse(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_forward_impulse(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_side_impulse(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_side_impulse(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/4+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}wheel_suspension_force(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_force(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__wrap(I)}wheel_contact_point_ws(A){const I=M.rawdynamicraycastvehiclecontroller_wheel_contact_point_ws(this.__wbg_ptr,A);return I===0?void 0:dA.__wrap(I)}wheel_suspension_length(A){try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_suspension_length(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Tg()[B/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:dA.__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 B=M.__wbindgen_add_to_stack_pointer(-16);M.rawdynamicraycastvehiclecontroller_wheel_ground_object(B,this.__wbg_ptr,A);var I=ZI()[B/4+0],C=Mr()[B/8+1];return I===0?void 0:C}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class QH{__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,Pg(A))}finally{cg[qg++]=void 0}}drainContactForceEvents(A){try{M.raweventqueue_drainContactForceEvents(this.__wbg_ptr,Pg(A))}finally{cg[qg++]=void 0}}clear(){M.raweventqueue_clear(this.__wbg_ptr)}}class _C{static __wrap(A){A>>>=0;const I=Object.create(_C.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,B){nA(A,dA),nA(I,dA),nA(C,dA);const i=M.rawgenericjoint_generic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return i===0?void 0:_C.__wrap(i)}static spring(A,I,C,B,i){nA(B,dA),nA(i,dA);const Q=M.rawgenericjoint_spring(A,I,C,B.__wbg_ptr,i.__wbg_ptr);return _C.__wrap(Q)}static rope(A,I,C){nA(I,dA),nA(C,dA);const B=M.rawgenericjoint_rope(A,I.__wbg_ptr,C.__wbg_ptr);return _C.__wrap(B)}static spherical(A,I){nA(A,dA),nA(I,dA);const C=M.rawgenericjoint_spherical(A.__wbg_ptr,I.__wbg_ptr);return _C.__wrap(C)}static prismatic(A,I,C,B,i,Q){nA(A,dA),nA(I,dA),nA(C,dA);const e=M.rawgenericjoint_prismatic(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,Q);return e===0?void 0:_C.__wrap(e)}static fixed(A,I,C,B){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,eg);const i=M.rawgenericjoint_fixed(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr);return _C.__wrap(i)}static revolute(A,I,C){nA(A,dA),nA(I,dA),nA(C,dA);const B=M.rawgenericjoint_revolute(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return B===0?void 0:_C.__wrap(B)}}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_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 eg.__wrap(I)}jointFrameX2(A){const I=M.rawimpulsejointset_jointFrameX2(this.__wbg_ptr,A);return eg.__wrap(I)}jointAnchor1(A){const I=M.rawimpulsejointset_jointAnchor1(this.__wbg_ptr,A);return dA.__wrap(I)}jointAnchor2(A){const I=M.rawimpulsejointset_jointAnchor2(this.__wbg_ptr,A);return dA.__wrap(I)}jointSetAnchor1(A,I){nA(I,dA),M.rawimpulsejointset_jointSetAnchor1(this.__wbg_ptr,A,I.__wbg_ptr)}jointSetAnchor2(A,I){nA(I,dA),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,B){M.rawimpulsejointset_jointSetLimits(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorModel(A,I,C){M.rawimpulsejointset_jointConfigureMotorModel(this.__wbg_ptr,A,I,C)}jointConfigureMotorVelocity(A,I,C,B){M.rawimpulsejointset_jointConfigureMotorVelocity(this.__wbg_ptr,A,I,C,B)}jointConfigureMotorPosition(A,I,C,B,i){M.rawimpulsejointset_jointConfigureMotorPosition(this.__wbg_ptr,A,I,C,B,i)}jointConfigureMotor(A,I,C,B,i,Q){M.rawimpulsejointset_jointConfigureMotor(this.__wbg_ptr,A,I,C,B,i,Q)}constructor(){const A=M.rawimpulsejointset_new();return this.__wbg_ptr=A>>>0,this}createJoint(A,I,C,B){return nA(A,_C),M.rawimpulsejointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}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,Pg(A))}finally{cg[qg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawimpulsejointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,Pg(I))}finally{cg[qg++]=void 0}}}class Ao{static __wrap(A){A>>>=0;const I=Object.create(Ao.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 allowedLinearError(){return M.rawcontactforceevent_total_force_magnitude(this.__wbg_ptr)}get predictionDistance(){return M.rawdynamicraycastvehiclecontroller_current_vehicle_speed(this.__wbg_ptr)}get numSolverIterations(){return M.rawintegrationparameters_numSolverIterations(this.__wbg_ptr)>>>0}get numAdditionalFrictionIterations(){return M.rawintegrationparameters_numAdditionalFrictionIterations(this.__wbg_ptr)>>>0}get numInternalPgsIterations(){return M.rawintegrationparameters_numInternalPgsIterations(this.__wbg_ptr)>>>0}get minIslandSize(){return M.rawdynamicraycastvehiclecontroller_index_up_axis(this.__wbg_ptr)>>>0}get maxCcdSubsteps(){return M.rawdynamicraycastvehiclecontroller_index_forward_axis(this.__wbg_ptr)>>>0}set dt(A){M.rawintegrationparameters_set_dt(this.__wbg_ptr,A)}set erp(A){M.rawintegrationparameters_set_erp(this.__wbg_ptr,A)}set allowedLinearError(A){M.rawintegrationparameters_set_allowedLinearError(this.__wbg_ptr,A)}set predictionDistance(A){M.rawintegrationparameters_set_predictionDistance(this.__wbg_ptr,A)}set numSolverIterations(A){M.rawintegrationparameters_set_numSolverIterations(this.__wbg_ptr,A)}set numAdditionalFrictionIterations(A){M.rawintegrationparameters_set_numAdditionalFrictionIterations(this.__wbg_ptr,A)}set numInternalPgsIterations(A){M.rawintegrationparameters_set_numInternalPgsIterations(this.__wbg_ptr,A)}set minIslandSize(A){M.rawdynamicraycastvehiclecontroller_set_index_up_axis(this.__wbg_ptr,A)}set maxCcdSubsteps(A){M.rawdynamicraycastvehiclecontroller_set_index_forward_axis(this.__wbg_ptr,A)}switchToStandardPgsSolver(){M.rawintegrationparameters_switchToStandardPgsSolver(this.__wbg_ptr)}switchToSmallStepsPgsSolver(){M.rawintegrationparameters_switchToSmallStepsPgsSolver(this.__wbg_ptr)}}class ae{static __wrap(A){A>>>=0;const I=Object.create(ae.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,Pg(A))}finally{cg[qg++]=void 0}}}class lV{__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 dA.__wrap(A)}setUp(A){nA(A,dA),M.rawkinematiccharactercontroller_setUp(this.__wbg_ptr,A.__wbg_ptr)}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=ZI()[C/4+0],I=Tg()[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=ZI()[C/4+0],I=Tg()[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=ZI()[C/4+0],I=Tg()[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,B,i,Q,e,E,t,n,s){try{nA(I,iC),nA(C,Xg),nA(B,wM),nA(Q,dA),M.rawkinematiccharactercontroller_computeColliderMovement(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q.__wbg_ptr,e,!UI(E),UI(E)?0:E,t,!UI(n),UI(n)?0:n,Pg(s))}finally{cg[qg++]=void 0}}computedMovement(){const A=M.rawkinematiccharactercontroller_computedMovement(this.__wbg_ptr);return dA.__wrap(A)}computedGrounded(){return M.rawkinematiccharactercontroller_computedGrounded(this.__wbg_ptr)!==0}numComputedCollisions(){return M.rawkinematiccharactercontroller_numComputedCollisions(this.__wbg_ptr)>>>0}computedCollision(A,I){return nA(I,iH),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 eg.__wrap(I)}jointFrameX2(A){const I=M.rawmultibodyjointset_jointFrameX2(this.__wbg_ptr,A);return eg.__wrap(I)}jointAnchor1(A){const I=M.rawmultibodyjointset_jointAnchor1(this.__wbg_ptr,A);return dA.__wrap(I)}jointAnchor2(A){const I=M.rawmultibodyjointset_jointAnchor2(this.__wbg_ptr,A);return dA.__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,B){return nA(A,_C),M.rawmultibodyjointset_createJoint(this.__wbg_ptr,A.__wbg_ptr,I,C,B)}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,Pg(A))}finally{cg[qg++]=void 0}}forEachJointAttachedToRigidBody(A,I){try{M.rawmultibodyjointset_forEachJointAttachedToRigidBody(this.__wbg_ptr,A,Pg(I))}finally{cg[qg++]=void 0}}}class mE{static __wrap(A){A>>>=0;const I=Object.create(mE.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,wC(I))}contact_pair(A,I){const C=M.rawnarrowphase_contact_pair(this.__wbg_ptr,A,I);return C===0?void 0:DM.__wrap(C)}intersection_pairs_with(A,I){M.rawnarrowphase_intersection_pairs_with(this.__wbg_ptr,A,wC(I))}intersection_pair(A,I){return M.rawnarrowphase_intersection_pair(this.__wbg_ptr,A,I)!==0}}class cV{__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,B,i,Q,e,E,t,n){nA(A,dA),nA(I,Ao),nA(C,ae),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,se),nA(n,nk),M.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,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr)}stepWithEvents(A,I,C,B,i,Q,e,E,t,n,s,r,l,D){nA(A,dA),nA(I,Ao),nA(C,ae),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,se),nA(n,nk),nA(s,QH),M.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,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,s.__wbg_ptr,wC(r),wC(l),wC(D))}}class dh{static __wrap(A){A>>>=0;const I=Object.create(dh.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 dA.__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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class vw{static __wrap(A){A>>>=0;const I=Object.create(vw.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 dA.__wrap(A)}isInside(){return M.rawpointprojection_isInside(this.__wbg_ptr)!==0}}class wM{__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){nA(A,iC),nA(I,Xg),M.rawquerypipeline_update(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr)}castRay(A,I,C,B,i,Q,e,E,t,n,s){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA);const r=M.rawquerypipeline_castRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!UI(E),UI(E)?0:E,!UI(t),UI(t)?0:t,!UI(n),UI(n)?0:n,Pg(s));return r===0?void 0:SM.__wrap(r)}finally{cg[qg++]=void 0}}castRayAndGetNormal(A,I,C,B,i,Q,e,E,t,n,s){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA);const r=M.rawquerypipeline_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,e,!UI(E),UI(E)?0:E,!UI(t),UI(t)?0:t,!UI(n),UI(n)?0:n,Pg(s));return r===0?void 0:bw.__wrap(r)}finally{cg[qg++]=void 0}}intersectionsWithRay(A,I,C,B,i,Q,e,E,t,n,s,r){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,dA),M.rawquerypipeline_intersectionsWithRay(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q,Pg(e),E,!UI(t),UI(t)?0:t,!UI(n),UI(n)?0:n,!UI(s),UI(s)?0:s,Pg(r))}finally{cg[qg++]=void 0,cg[qg++]=void 0}}intersectionWithShape(A,I,C,B,i,Q,e,E,t,n){try{const l=M.__wbindgen_add_to_stack_pointer(-16);nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,TI),M.rawquerypipeline_intersectionWithShape(l,this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q,!UI(e),UI(e)?0:e,!UI(E),UI(E)?0:E,!UI(t),UI(t)?0:t,Pg(n));var s=ZI()[l/4+0],r=Mr()[l/8+1];return s===0?void 0:r}finally{M.__wbindgen_add_to_stack_pointer(16),cg[qg++]=void 0}}projectPoint(A,I,C,B,i,Q,e,E,t){try{nA(A,iC),nA(I,Xg),nA(C,dA);const n=M.rawquerypipeline_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,i,!UI(Q),UI(Q)?0:Q,!UI(e),UI(e)?0:e,!UI(E),UI(E)?0:E,Pg(t));return n===0?void 0:dh.__wrap(n)}finally{cg[qg++]=void 0}}projectPointAndGetFeature(A,I,C,B,i,Q,e,E){try{nA(A,iC),nA(I,Xg),nA(C,dA);const t=M.rawquerypipeline_projectPointAndGetFeature(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B,!UI(i),UI(i)?0:i,!UI(Q),UI(Q)?0:Q,!UI(e),UI(e)?0:e,Pg(E));return t===0?void 0:dh.__wrap(t)}finally{cg[qg++]=void 0}}intersectionsWithPoint(A,I,C,B,i,Q,e,E,t){try{nA(A,iC),nA(I,Xg),nA(C,dA),M.rawquerypipeline_intersectionsWithPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,Pg(B),i,!UI(Q),UI(Q)?0:Q,!UI(e),UI(e)?0:e,!UI(E),UI(E)?0:E,Pg(t))}finally{cg[qg++]=void 0,cg[qg++]=void 0}}castShape(A,I,C,B,i,Q,e,E,t,n,s,r,l){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,dA),nA(Q,TI);const D=M.rawquerypipeline_castShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q.__wbg_ptr,e,E,t,!UI(n),UI(n)?0:n,!UI(s),UI(s)?0:s,!UI(r),UI(r)?0:r,Pg(l));return D===0?void 0:_w.__wrap(D)}finally{cg[qg++]=void 0}}intersectionsWithShape(A,I,C,B,i,Q,e,E,t,n,s){try{nA(A,iC),nA(I,Xg),nA(C,dA),nA(B,eg),nA(i,TI),M.rawquerypipeline_intersectionsWithShape(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Pg(Q),e,!UI(E),UI(E)?0:E,!UI(t),UI(t)?0:t,!UI(n),UI(n)?0:n,Pg(s))}finally{cg[qg++]=void 0,cg[qg++]=void 0}}collidersWithAabbIntersectingAabb(A,I,C){try{nA(A,dA),nA(I,dA),M.rawquerypipeline_collidersWithAabbIntersectingAabb(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,Pg(C))}finally{cg[qg++]=void 0}}}class bw{static __wrap(A){A>>>=0;const I=Object.create(bw.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.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawraycolliderintersection_toi(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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class SM{static __wrap(A){A>>>=0;const I=Object.create(SM.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_rawraycollidertoi_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}toi(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}}class Ow{static __wrap(A){A>>>=0;const I=Object.create(Ow.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.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}toi(){return M.rawraycolliderintersection_toi(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=ZI()[C/4+0],I=ZI()[C/4+1];return A===0?void 0:I>>>0}finally{M.__wbindgen_add_to_stack_pointer(16)}}}class iC{static __wrap(A){A>>>=0;const I=Object.create(iC.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 dA.__wrap(I)}rbRotation(A){const I=M.rawrigidbodyset_rbRotation(this.__wbg_ptr,A);return eg.__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 dA.__wrap(I)}rbNextRotation(A){const I=M.rawrigidbodyset_rbNextRotation(this.__wbg_ptr,A);return eg.__wrap(I)}rbSetTranslation(A,I,C,B,i){M.rawrigidbodyset_rbSetTranslation(this.__wbg_ptr,A,I,C,B,i)}rbSetRotation(A,I,C,B,i,Q){M.rawrigidbodyset_rbSetRotation(this.__wbg_ptr,A,I,C,B,i,Q)}rbSetLinvel(A,I,C){nA(I,dA),M.rawrigidbodyset_rbSetLinvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetAngvel(A,I,C){nA(I,dA),M.rawrigidbodyset_rbSetAngvel(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbSetNextKinematicTranslation(A,I,C,B){M.rawrigidbodyset_rbSetNextKinematicTranslation(this.__wbg_ptr,A,I,C,B)}rbSetNextKinematicRotation(A,I,C,B,i){M.rawrigidbodyset_rbSetNextKinematicRotation(this.__wbg_ptr,A,I,C,B,i)}rbRecomputeMassPropertiesFromColliders(A,I){nA(I,Xg),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,B,i,Q){nA(C,dA),nA(B,dA),nA(i,eg),M.rawrigidbodyset_rbSetAdditionalMassProperties(this.__wbg_ptr,A,I,C.__wbg_ptr,B.__wbg_ptr,i.__wbg_ptr,Q)}rbLinvel(A){const I=M.rawrigidbodyset_rbLinvel(this.__wbg_ptr,A);return dA.__wrap(I)}rbAngvel(A){const I=M.rawrigidbodyset_rbAngvel(this.__wbg_ptr,A);return dA.__wrap(I)}rbLockTranslations(A,I,C){M.rawrigidbodyset_rbLockTranslations(this.__wbg_ptr,A,I,C)}rbSetEnabledTranslations(A,I,C,B,i){M.rawrigidbodyset_rbSetEnabledTranslations(this.__wbg_ptr,A,I,C,B,i)}rbLockRotations(A,I,C){M.rawrigidbodyset_rbLockRotations(this.__wbg_ptr,A,I,C)}rbSetEnabledRotations(A,I,C,B,i){M.rawrigidbodyset_rbSetEnabledRotations(this.__wbg_ptr,A,I,C,B,i)}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)}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 dA.__wrap(I)}rbLocalCom(A){const I=M.rawrigidbodyset_rbLocalCom(this.__wbg_ptr,A);return dA.__wrap(I)}rbWorldCom(A){const I=M.rawrigidbodyset_rbWorldCom(this.__wbg_ptr,A);return dA.__wrap(I)}rbInvPrincipalInertiaSqrt(A){const I=M.rawrigidbodyset_rbInvPrincipalInertiaSqrt(this.__wbg_ptr,A);return dA.__wrap(I)}rbPrincipalInertiaLocalFrame(A){const I=M.rawrigidbodyset_rbPrincipalInertiaLocalFrame(this.__wbg_ptr,A);return eg.__wrap(I)}rbPrincipalInertia(A){const I=M.rawrigidbodyset_rbPrincipalInertia(this.__wbg_ptr,A);return dA.__wrap(I)}rbEffectiveWorldInvInertiaSqrt(A){const I=M.rawrigidbodyset_rbEffectiveWorldInvInertiaSqrt(this.__wbg_ptr,A);return Mh.__wrap(I)}rbEffectiveAngularInertia(A){const I=M.rawrigidbodyset_rbEffectiveAngularInertia(this.__wbg_ptr,A);return Mh.__wrap(I)}rbWakeUp(A){M.rawrigidbodyset_rbWakeUp(this.__wbg_ptr,A)}rbIsCcdEnabled(A){return M.rawrigidbodyset_rbIsCcdEnabled(this.__wbg_ptr,A)!==0}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){nA(I,dA),M.rawrigidbodyset_rbAddForce(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyImpulse(A,I,C){nA(I,dA),M.rawrigidbodyset_rbApplyImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddTorque(A,I,C){nA(I,dA),M.rawrigidbodyset_rbAddTorque(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbApplyTorqueImpulse(A,I,C){nA(I,dA),M.rawrigidbodyset_rbApplyTorqueImpulse(this.__wbg_ptr,A,I.__wbg_ptr,C)}rbAddForceAtPoint(A,I,C,B){nA(I,dA),nA(C,dA),M.rawrigidbodyset_rbAddForceAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}rbApplyImpulseAtPoint(A,I,C,B){nA(I,dA),nA(C,dA),M.rawrigidbodyset_rbApplyImpulseAtPoint(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B)}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,B,i,Q,e,E,t,n,s,r,l,D,G,h,c,y,S,k,N,p,f,q,_){return nA(I,dA),nA(C,eg),nA(e,dA),nA(E,dA),nA(t,dA),nA(n,dA),nA(s,eg),M.rawrigidbodyset_createRigidBody(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B,i,Q,e.__wbg_ptr,E.__wbg_ptr,t.__wbg_ptr,n.__wbg_ptr,s.__wbg_ptr,r,l,D,G,h,c,y,S,k,N,p,f,q,_)}remove(A,I,C,B,i){nA(I,ae),nA(C,Xg),nA(B,ne),nA(i,se),M.rawrigidbodyset_remove(this.__wbg_ptr,A,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i.__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,Pg(A))}finally{cg[qg++]=void 0}}propagateModifiedBodyPositionsToColliders(A){nA(A,Xg),M.rawrigidbodyset_propagateModifiedBodyPositionsToColliders(this.__wbg_ptr,A.__wbg_ptr)}}class eg{static __wrap(A){A>>>=0;const I=Object.create(eg.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,B){const i=M.rawrotation_new(A,I,C,B);return this.__wbg_ptr=i>>>0,this}static identity(){const A=M.rawrotation_identity();return eg.__wrap(A)}get x(){return M.rawrotation_x(this.__wbg_ptr)}get y(){return M.rawintegrationparameters_dt(this.__wbg_ptr)}get z(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}get w(){return M.rawintegrationparameters_erp(this.__wbg_ptr)}}class Mh{static __wrap(A){A>>>=0;const I=Object.create(Mh.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 dr(M.rawsdpmatrix3_elements(this.__wbg_ptr))}}class DV{__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,B,i,Q,e,E,t){return nA(A,dA),nA(I,Ao),nA(C,ae),nA(B,$t),nA(i,mE),nA(Q,iC),nA(e,Xg),nA(E,ne),nA(t,se),dr(M.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,E.__wbg_ptr,t.__wbg_ptr))}deserializeAll(A){const I=M.rawserializationpipeline_deserializeAll(this.__wbg_ptr,wC(A));return I===0?void 0:hM.__wrap(I)}}class TI{static __wrap(A){A>>>=0;const I=Object.create(TI.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 B=M.rawshape_cuboid(A,I,C);return TI.__wrap(B)}static roundCuboid(A,I,C,B){const i=M.rawshape_roundCuboid(A,I,C,B);return TI.__wrap(i)}static ball(A){const I=M.rawshape_ball(A);return TI.__wrap(I)}static halfspace(A){nA(A,dA);const I=M.rawshape_halfspace(A.__wbg_ptr);return TI.__wrap(I)}static capsule(A,I){const C=M.rawshape_capsule(A,I);return TI.__wrap(C)}static cylinder(A,I){const C=M.rawshape_cylinder(A,I);return TI.__wrap(C)}static roundCylinder(A,I,C){const B=M.rawshape_roundCylinder(A,I,C);return TI.__wrap(B)}static cone(A,I){const C=M.rawshape_cone(A,I);return TI.__wrap(C)}static roundCone(A,I,C){const B=M.rawshape_roundCone(A,I,C);return TI.__wrap(B)}static polyline(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_polyline(C,B,i,Q);return TI.__wrap(e)}static trimesh(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_trimesh(C,B,i,Q);return TI.__wrap(e)}static heightfield(A,I,C,B){const i=St(C,M.__wbindgen_malloc),Q=XB;nA(B,dA);const e=M.rawshape_heightfield(A,I,i,Q,B.__wbg_ptr);return TI.__wrap(e)}static segment(A,I){nA(A,dA),nA(I,dA);const C=M.rawshape_segment(A.__wbg_ptr,I.__wbg_ptr);return TI.__wrap(C)}static triangle(A,I,C){nA(A,dA),nA(I,dA),nA(C,dA);const B=M.rawshape_triangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr);return TI.__wrap(B)}static roundTriangle(A,I,C,B){nA(A,dA),nA(I,dA),nA(C,dA);const i=M.rawshape_roundTriangle(A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return TI.__wrap(i)}static convexHull(A){const I=St(A,M.__wbindgen_malloc),C=XB,B=M.rawshape_convexHull(I,C);return B===0?void 0:TI.__wrap(B)}static roundConvexHull(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=M.rawshape_roundConvexHull(C,B,I);return i===0?void 0:TI.__wrap(i)}static convexMesh(A,I){const C=St(A,M.__wbindgen_malloc),B=XB,i=GD(I,M.__wbindgen_malloc),Q=XB,e=M.rawshape_convexMesh(C,B,i,Q);return e===0?void 0:TI.__wrap(e)}static roundConvexMesh(A,I,C){const B=St(A,M.__wbindgen_malloc),i=XB,Q=GD(I,M.__wbindgen_malloc),e=XB,E=M.rawshape_roundConvexMesh(B,i,Q,e,C);return E===0?void 0:TI.__wrap(E)}castShape(A,I,C,B,i,Q,e,E,t){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,TI),nA(i,dA),nA(Q,eg),nA(e,dA);const n=M.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,E,t);return n===0?void 0:Zw.__wrap(n)}intersectsShape(A,I,C,B,i){return nA(A,dA),nA(I,eg),nA(C,TI),nA(B,dA),nA(i,eg),M.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){nA(A,dA),nA(I,eg),nA(C,TI),nA(B,dA),nA(i,eg);const e=M.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:pr.__wrap(e)}containsPoint(A,I,C){return nA(A,dA),nA(I,eg),nA(C,dA),M.rawshape_containsPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr)!==0}projectPoint(A,I,C,B){nA(A,dA),nA(I,eg),nA(C,dA);const i=M.rawshape_projectPoint(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B);return vw.__wrap(i)}intersectsRay(A,I,C,B,i){return nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA),M.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 nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA),M.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){nA(A,dA),nA(I,eg),nA(C,dA),nA(B,dA);const e=M.rawshape_castRayAndGetNormal(this.__wbg_ptr,A.__wbg_ptr,I.__wbg_ptr,C.__wbg_ptr,B.__wbg_ptr,i,Q);return e===0?void 0:Ow.__wrap(e)}}class _w{static __wrap(A){A>>>=0;const I=Object.create(_w.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_rawshapecollidertoi_free(A)}colliderHandle(){return M.rawcharactercollision_handle(this.__wbg_ptr)}toi(){return M.rawraycolliderintersection_toi(this.__wbg_ptr)}witness1(){const A=M.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}witness2(){const A=M.rawshapecollidertoi_witness2(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaRemaining(this.__wbg_ptr);return dA.__wrap(A)}}class pr{static __wrap(A){A>>>=0;const I=Object.create(pr.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 dA.__wrap(A)}point2(){const A=M.rawraycolliderintersection_normal(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawshapecollidertoi_witness2(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawcharactercollision_translationDeltaApplied(this.__wbg_ptr);return dA.__wrap(A)}}class Zw{static __wrap(A){A>>>=0;const I=Object.create(Zw.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_rawshapetoi_free(A)}toi(){return M.rawrotation_x(this.__wbg_ptr)}witness1(){const A=M.rawshapetoi_witness1(this.__wbg_ptr);return dA.__wrap(A)}witness2(){const A=M.rawcontactforceevent_total_force(this.__wbg_ptr);return dA.__wrap(A)}normal1(){const A=M.rawshapetoi_normal1(this.__wbg_ptr);return dA.__wrap(A)}normal2(){const A=M.rawshapetoi_normal2(this.__wbg_ptr);return dA.__wrap(A)}}class dA{static __wrap(A){A>>>=0;const I=Object.create(dA.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 dA.__wrap(A)}constructor(A,I,C){const B=M.rawvector_new(A,I,C);return this.__wbg_ptr=B>>>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.rawraycolliderintersection_toi(this.__wbg_ptr)}set z(A){M.rawvector_set_z(this.__wbg_ptr,A)}xyz(){const A=M.rawvector_xyz(this.__wbg_ptr);return dA.__wrap(A)}yxz(){const A=M.rawvector_yxz(this.__wbg_ptr);return dA.__wrap(A)}zxy(){const A=M.rawvector_zxy(this.__wbg_ptr);return dA.__wrap(A)}xzy(){const A=M.rawvector_xzy(this.__wbg_ptr);return dA.__wrap(A)}yzx(){const A=M.rawvector_yzx(this.__wbg_ptr);return dA.__wrap(A)}zyx(){const A=M.rawvector_zyx(this.__wbg_ptr);return dA.__wrap(A)}}async function eH(g){if(M!==void 0)return M;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 wC(i)},B.wbg.__wbindgen_boolean_get=function(i){const Q=Ng(i);return typeof Q=="boolean"?Q?1:0:2},B.wbg.__wbindgen_object_drop_ref=function(i){dr(i)},B.wbg.__wbindgen_number_get=function(i,Q){const e=Ng(Q),E=typeof e=="number"?e:void 0;Mr()[i/8+1]=UI(E)?0:E,ZI()[i/4+0]=!UI(E)},B.wbg.__wbindgen_is_function=function(i){return typeof Ng(i)=="function"},B.wbg.__wbg_rawraycolliderintersection_new=function(i){return wC(bw.__wrap(i))},B.wbg.__wbg_rawcontactforceevent_new=function(i){return wC(lM.__wrap(i))},B.wbg.__wbg_call_01734de55d61e11d=function(){return eu(function(i,Q,e){return wC(Ng(i).call(Ng(Q),Ng(e)))},arguments)},B.wbg.__wbg_call_4c92f6aec1e1d6e6=function(){return eu(function(i,Q,e,E){return wC(Ng(i).call(Ng(Q),Ng(e),Ng(E)))},arguments)},B.wbg.__wbg_call_776890ca77946e2f=function(){return eu(function(i,Q,e,E,t){return wC(Ng(i).call(Ng(Q),Ng(e),Ng(E),Ng(t)))},arguments)},B.wbg.__wbg_bind_60a9a80cada2f33c=function(i,Q,e,E){return wC(Ng(i).bind(Ng(Q),Ng(e),Ng(E)))},B.wbg.__wbg_buffer_085ec1f694018c4f=function(i){return wC(Ng(i).buffer)},B.wbg.__wbg_newwithbyteoffsetandlength_6da8e527659b86aa=function(i,Q,e){return wC(new Uint8Array(Ng(i),Q>>>0,e>>>0))},B.wbg.__wbg_new_8125e318e6245eed=function(i){return wC(new Uint8Array(Ng(i)))},B.wbg.__wbg_set_5cf90238115182c3=function(i,Q,e){Ng(i).set(Ng(Q),e>>>0)},B.wbg.__wbg_length_72e2208bbc0efc61=function(i){return Ng(i).length},B.wbg.__wbg_newwithbyteoffsetandlength_69193e31c844b792=function(i,Q,e){return wC(new Float32Array(Ng(i),Q>>>0,e>>>0))},B.wbg.__wbg_set_6146c51d49a2c0df=function(i,Q,e){Ng(i).set(Ng(Q),e>>>0)},B.wbg.__wbg_length_d7327c75a759af37=function(i){return Ng(i).length},B.wbg.__wbg_newwithlength_68d29ab115d0099c=function(i){return wC(new Float32Array(i>>>0))},B.wbg.__wbindgen_throw=function(i,Q){throw new Error(CH(i,Q))},B.wbg.__wbindgen_memory=function(){return wC(M.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 M=B.exports,eH.__wbindgen_wasm_module=i,ds=null,ys=null,us=null,Ms=null,ks=null,M}(I,C)}class Tn{constructor(A,I,C){this.x=A,this.y=I,this.z=C}}class uA{static new(A,I,C){return new Tn(A,I,C)}static intoRaw(A){return new dA(A.x,A.y,A.z)}static zeros(){return uA.new(0,0,0)}static fromRaw(A){if(!A)return null;let I=uA.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 ph{constructor(A,I,C,B){this.x=A,this.y=I,this.z=C,this.w=B}}class gg{static identity(){return new ph(0,0,0,1)}static fromRaw(A){if(!A)return null;let I=new ph(A.x,A.y,A.z,A.w);return A.free(),I}static intoRaw(A){return new eg(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 Uh{static fromRaw(A){const I=new GM(A.elements());return A.free(),I}}var ui,bC,Nh,fh,Ca,Io,lC,Fh,Ce,Ur,Rh,Nr,aE;(function(g){g[g.Dynamic=0]="Dynamic",g[g.Fixed=1]="Fixed",g[g.KinematicPositionBased=2]="KinematicPositionBased",g[g.KinematicVelocityBased=3]="KinematicVelocityBased"})(ui||(ui={}));class Kh{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)}translation(){let A=this.rawSet.rbTranslation(this.handle);return uA.fromRaw(A)}rotation(){let A=this.rawSet.rbRotation(this.handle);return gg.fromRaw(A)}nextTranslation(){let A=this.rawSet.rbNextTranslation(this.handle);return uA.fromRaw(A)}nextRotation(){let A=this.rawSet.rbNextRotation(this.handle);return gg.fromRaw(A)}setTranslation(A,I){this.rawSet.rbSetTranslation(this.handle,A.x,A.y,A.z,I)}setLinvel(A,I){let C=uA.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=uA.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 uA.fromRaw(this.rawSet.rbLinvel(this.handle))}angvel(){return uA.fromRaw(this.rawSet.rbAngvel(this.handle))}mass(){return this.rawSet.rbMass(this.handle)}effectiveInvMass(){return uA.fromRaw(this.rawSet.rbEffectiveInvMass(this.handle))}invMass(){return this.rawSet.rbInvMass(this.handle)}localCom(){return uA.fromRaw(this.rawSet.rbLocalCom(this.handle))}worldCom(){return uA.fromRaw(this.rawSet.rbWorldCom(this.handle))}invPrincipalInertiaSqrt(){return uA.fromRaw(this.rawSet.rbInvPrincipalInertiaSqrt(this.handle))}principalInertia(){return uA.fromRaw(this.rawSet.rbPrincipalInertia(this.handle))}principalInertiaLocalFrame(){return gg.fromRaw(this.rawSet.rbPrincipalInertiaLocalFrame(this.handle))}effectiveWorldInvInertiaSqrt(){return Uh.fromRaw(this.rawSet.rbEffectiveWorldInvInertiaSqrt(this.handle))}effectiveAngularInertia(){return Uh.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=uA.intoRaw(I),e=uA.intoRaw(C),E=gg.intoRaw(B);this.rawSet.rbSetAdditionalMassProperties(this.handle,A,Q,e,E,i),Q.free(),e.free(),E.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=uA.intoRaw(A);this.rawSet.rbAddForce(this.handle,C,I),C.free()}applyImpulse(A,I){const C=uA.intoRaw(A);this.rawSet.rbApplyImpulse(this.handle,C,I),C.free()}addTorque(A,I){const C=uA.intoRaw(A);this.rawSet.rbAddTorque(this.handle,C,I),C.free()}applyTorqueImpulse(A,I){const C=uA.intoRaw(A);this.rawSet.rbApplyTorqueImpulse(this.handle,C,I),C.free()}addForceAtPoint(A,I,C){const B=uA.intoRaw(A),i=uA.intoRaw(I);this.rawSet.rbAddForceAtPoint(this.handle,B,i,C),B.free(),i.free()}applyImpulseAtPoint(A,I,C){const B=uA.intoRaw(A),i=uA.intoRaw(I);this.rawSet.rbApplyImpulseAtPoint(this.handle,B,i,C),B.free(),i.free()}}class ki{constructor(A){this.enabled=!0,this.status=A,this.translation=uA.zeros(),this.rotation=gg.identity(),this.gravityScale=1,this.linvel=uA.zeros(),this.mass=0,this.massOnly=!1,this.centerOfMass=uA.zeros(),this.translationsEnabledX=!0,this.translationsEnabledY=!0,this.angvel=uA.zeros(),this.principalAngularInertia=uA.zeros(),this.angularInertiaLocalFrame=gg.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.dominanceGroup=0,this.additionalSolverIterations=0}static dynamic(){return new ki(ui.Dynamic)}static kinematicPositionBased(){return new ki(ui.KinematicPositionBased)}static kinematicVelocityBased(){return new ki(ui.KinematicVelocityBased)}static fixed(){return new ki(ui.Fixed)}static newDynamic(){return new ki(ui.Dynamic)}static newKinematicPositionBased(){return new ki(ui.KinematicPositionBased)}static newKinematicVelocityBased(){return new ki(ui.KinematicVelocityBased)}static newStatic(){return new ki(ui.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 gg.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 uA.copy(this.angvel,A),this}setAdditionalMassProperties(A,I,C,B){return this.mass=A,uA.copy(this.centerOfMass,I),uA.copy(this.principalAngularInertia,C),gg.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}setUserData(A){return this.userData=A,this}}class Pw{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 iC,this.map=new Pw,A&&A.forEachRigidBodyHandle(I=>{this.map.set(I,new Kh(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=uA.intoRaw(I.translation),B=gg.intoRaw(I.rotation),i=uA.intoRaw(I.linvel),Q=uA.intoRaw(I.centerOfMass),e=uA.intoRaw(I.angvel),E=uA.intoRaw(I.principalAngularInertia),t=gg.intoRaw(I.angularInertiaLocalFrame),n=this.raw.createRigidBody(I.enabled,C,B,I.gravityScale,I.mass,I.massOnly,Q,i,e,E,t,I.translationsEnabledX,I.translationsEnabledY,I.translationsEnabledZ,I.rotationsEnabledX,I.rotationsEnabledY,I.rotationsEnabledZ,I.linearDamping,I.angularDamping,I.status,I.canSleep,I.sleeping,I.ccdEnabled,I.dominanceGroup,I.additionalSolverIterations);C.free(),B.free(),i.free(),Q.free(),e.free(),E.free(),t.free();const s=new Kh(this.raw,A,n);return s.userData=I.userData,this.map.set(n,s),s}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 Ao}free(){this.raw&&this.raw.free(),this.raw=void 0}get dt(){return this.raw.dt}get erp(){return this.raw.erp}get allowedLinearError(){return this.raw.allowedLinearError}get predictionDistance(){return this.raw.predictionDistance}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 allowedLinearError(A){this.raw.allowedLinearError=A}set predictionDistance(A){this.raw.predictionDistance=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()}}(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"})(bC||(bC={})),function(g){g[g.AccelerationBased=0]="AccelerationBased",g[g.ForceBased=1]="ForceBased"}(Nh||(Nh={})),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"}(fh||(fh={}));class qi{constructor(A,I,C){this.rawSet=A,this.bodySet=I,this.handle=C}static newTyped(A,I,C){switch(A.jointType(C)){case ji.Revolute:return new UM(A,I,C);case ji.Prismatic:return new pM(A,I,C);case ji.Fixed:return new kM(A,I,C);case ji.Spring:return new MM(A,I,C);case ji.Rope:return new dM(A,I,C);case ji.Spherical:return new fM(A,I,C);case ji.Generic:return new NM(A,I,C);default:return new qi(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 gg.fromRaw(this.rawSet.jointFrameX1(this.handle))}frameX2(){return gg.fromRaw(this.rawSet.jointFrameX2(this.handle))}anchor1(){return uA.fromRaw(this.rawSet.jointAnchor1(this.handle))}anchor2(){return uA.fromRaw(this.rawSet.jointAnchor2(this.handle))}setAnchor1(A){const I=uA.intoRaw(A);this.rawSet.jointSetAnchor1(this.handle,I),I.free()}setAnchor2(A){const I=uA.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 Ww extends qi{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 qi{}class dM extends qi{}class MM extends qi{}class pM extends Ww{rawAxis(){return xw.X}}class UM extends Ww{rawAxis(){return xw.AngX}}class NM extends qi{}class fM extends qi{}class hQ{constructor(){}static fixed(A,I,C,B){let i=new hQ;return i.anchor1=A,i.anchor2=C,i.frame1=I,i.frame2=B,i.jointType=bC.Fixed,i}static spring(A,I,C,B,i){let Q=new hQ;return Q.anchor1=B,Q.anchor2=i,Q.length=A,Q.stiffness=I,Q.damping=C,Q.jointType=bC.Spring,Q}static rope(A,I,C){let B=new hQ;return B.anchor1=I,B.anchor2=C,B.length=A,B.jointType=bC.Rope,B}static generic(A,I,C,B){let i=new hQ;return i.anchor1=A,i.anchor2=I,i.axis=C,i.axesMask=B,i.jointType=bC.Generic,i}static spherical(A,I){let C=new hQ;return C.anchor1=A,C.anchor2=I,C.jointType=bC.Spherical,C}static prismatic(A,I,C){let B=new hQ;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=bC.Prismatic,B}static revolute(A,I,C){let B=new hQ;return B.anchor1=A,B.anchor2=I,B.axis=C,B.jointType=bC.Revolute,B}intoRaw(){let A,I,C=uA.intoRaw(this.anchor1),B=uA.intoRaw(this.anchor2),i=!1,Q=0,e=0;switch(this.jointType){case bC.Fixed:let E=gg.intoRaw(this.frame1),t=gg.intoRaw(this.frame2);I=_C.fixed(C,E,B,t),E.free(),t.free();break;case bC.Spring:I=_C.spring(this.length,this.stiffness,this.damping,C,B);break;case bC.Rope:I=_C.rope(this.length,C,B);break;case bC.Prismatic:A=uA.intoRaw(this.axis),this.limitsEnabled&&(i=!0,Q=this.limits[0],e=this.limits[1]),I=_C.prismatic(C,B,A,i,Q,e),A.free();break;case bC.Generic:A=uA.intoRaw(this.axis);let n=this.axesMask;I=_C.generic(C,B,A,n);break;case bC.Spherical:I=_C.spherical(C,B);break;case bC.Revolute:A=uA.intoRaw(this.axis),I=_C.revolute(C,B,A),A.free()}return C.free(),B.free(),I}}class FM{constructor(A){this.raw=A||new ne,this.map=new Pw,A&&A.forEachJointHandle(I=>{this.map.set(I,qi.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 E=qi.newTyped(this.raw,A,e);return this.map.set(e,E),E}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 re{constructor(A,I){this.rawSet=A,this.handle=I}static newTyped(A,I){switch(A.jointType(I)){case ji.Revolute:return new JM(A,I);case ji.Prismatic:return new KM(A,I);case ji.Fixed:return new RM(A,I);case ji.Spherical:return new qM(A,I);default:return new re(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 jw extends re{}class RM extends re{}class KM extends jw{rawAxis(){return xw.X}}class JM extends jw{rawAxis(){return xw.AngX}}class qM extends re{}class mM{constructor(A){this.raw=A||new se,this.map=new Pw,A&&A.forEachJointHandle(I=>{this.map.set(I,re.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=re.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"})(Ca||(Ca={}));class LM{constructor(A){this.raw=A||new nk}free(){this.raw&&this.raw.free(),this.raw=void 0}}class YM{constructor(A){this.raw=A||new ae}free(){this.raw&&this.raw.free(),this.raw=void 0}forEachActiveRigidBodyHandle(A){this.raw.forEachActiveRigidBodyHandle(A)}}class HM{constructor(A){this.raw=A||new $t}free(){this.raw&&this.raw.free(),this.raw=void 0}}class TM{constructor(A){this.raw=A||new mE,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(ia.fromRaw(I,D)),e,E,t,n,s),r.free(),l.free()}intersectionWithShape(A,I,C,B,i,Q,e,E,t,n){let s=uA.intoRaw(C),r=gg.intoRaw(B),l=i.intoRaw(),D=this.raw.intersectionWithShape(A.raw,I.raw,s,r,l,Q,e,E,t,n);return s.free(),r.free(),l.free(),D}projectPoint(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(C),s=Ba.fromRaw(I,this.raw.projectPoint(A.raw,I.raw,n,B,i,Q,e,E,t));return n.free(),s}projectPointAndGetFeature(A,I,C,B,i,Q,e,E){let t=uA.intoRaw(C),n=Ba.fromRaw(I,this.raw.projectPointAndGetFeature(A.raw,I.raw,t,B,i,Q,e,E));return t.free(),n}intersectionsWithPoint(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(C);this.raw.intersectionsWithPoint(A.raw,I.raw,n,B,i,Q,e,E,t),n.free()}castShape(A,I,C,B,i,Q,e,E,t,n,s,r,l){let D=uA.intoRaw(C),G=gg.intoRaw(B),h=uA.intoRaw(i),c=Q.intoRaw(),y=Ga.fromRaw(I,this.raw.castShape(A.raw,I.raw,D,G,h,c,e,E,t,n,s,r,l));return D.free(),G.free(),h.free(),c.free(),y}intersectionsWithShape(A,I,C,B,i,Q,e,E,t,n,s){let r=uA.intoRaw(C),l=gg.intoRaw(B),D=i.intoRaw();this.raw.intersectionsWithShape(A.raw,I.raw,r,l,D,Q,e,E,t,n,s),r.free(),l.free(),D.free()}collidersWithAabbIntersectingAabb(A,I,C){let B=uA.intoRaw(A),i=uA.intoRaw(I);this.raw.collidersWithAabbIntersectingAabb(B,i,C),B.free(),i.free()}}class Jh{constructor(A){this.raw=A||new DV}free(){this.raw&&this.raw.free(),this.raw=void 0}serializeAll(A,I,C,B,i,Q,e,E,t){let n=uA.intoRaw(A);const s=this.raw.serializeAll(n,I.raw,C.raw,B.raw,i.raw,Q.raw,e.raw,E.raw,t.raw);return n.free(),s}deserializeAll(A){return Bl.fromRaw(this.raw.deserializeAll(A))}}class _M{constructor(A,I){this.vertices=A,this.colors=I}}class ZM{constructor(A){this.raw=A||new sV}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 PM{}class WM{constructor(A,I,C,B,i){this.params=I,this.bodies=C,this.colliders=B,this.queries=i,this.raw=new lV(A),this.rawCharacterCollision=new iH,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=uA.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)}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=uA.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 uA.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 PM).translationDeltaApplied=uA.fromRaw(C.translationDeltaApplied()),I.translationDeltaRemaining=uA.fromRaw(C.translationDeltaRemaining()),I.toi=C.toi(),I.witness1=uA.fromRaw(C.worldWitness1()),I.witness2=uA.fromRaw(C.worldWitness2()),I.normal1=uA.fromRaw(C.worldNormal1()),I.normal2=uA.fromRaw(C.worldNormal2()),I.collider=this.colliders.get(C.handle()),I}return null}}class jM{constructor(A,I,C,B){this.raw=new rV(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=uA.intoRaw(A),e=uA.intoRaw(I),E=uA.intoRaw(C);this.raw.add_wheel(Q,e,E,B,i),Q.free(),e.free(),E.free()}numWheels(){return this.raw.num_wheels()}wheelChassisConnectionPointCs(A){return uA.fromRaw(this.raw.wheel_chassis_connection_point_cs(A))}setWheelChassisConnectionPointCs(A,I){let C=uA.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 uA.fromRaw(this.raw.wheel_direction_cs(A))}setWheelDirectionCs(A,I){let C=uA.intoRaw(I);this.raw.set_wheel_direction_cs(A,C),C.free()}wheelAxleCs(A){return uA.fromRaw(this.raw.wheel_axle_cs(A))}setWheelAxleCs(A,I){let C=uA.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 uA.fromRaw(this.raw.wheel_contact_normal_ws(A))}wheelContactPoint(A){return uA.fromRaw(this.raw.wheel_contact_point_ws(A))}wheelSuspensionLength(A){return this.raw.wheel_suspension_length(A)}wheelHardPoint(A){return uA.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 Bl{constructor(A,I,C,B,i,Q,e,E,t,n,s,r,l,D){this.gravity=A,this.integrationParameters=new uM(I),this.islands=new YM(C),this.broadPhase=new HM(B),this.narrowPhase=new TM(i),this.bodies=new yM(Q),this.colliders=new zM(e),this.impulseJoints=new FM(E),this.multibodyJoints=new mM(t),this.ccdSolver=new LM(n),this.queryPipeline=new OM(s),this.physicsPipeline=new bM(r),this.serializationPipeline=new Jh(l),this.debugRenderPipeline=new ZM(D),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 Bl(uA.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 Jh().deserializeAll(A)}debugRender(){return this.debugRenderPipeline.render(this.bodies,this.colliders,this.impulseJoints,this.multibodyJoints,this.narrowPhase),new _M(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 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()}createRigidBody(A){return this.bodies.createRigidBody(this.colliders,A)}createCharacterController(A){let I=new WM(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,E){return this.queryPipeline.castRay(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E))}castRayAndGetNormal(A,I,C,B,i,Q,e,E){return this.queryPipeline.castRayAndGetNormal(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E))}intersectionsWithRay(A,I,C,B,i,Q,e,E,t){this.queryPipeline.intersectionsWithRay(this.bodies,this.colliders,A,I,C,B,i,Q,e?e.handle:null,E?E.handle:null,this.colliders.castClosure(t))}intersectionWithShape(A,I,C,B,i,Q,e,E){let t=this.queryPipeline.intersectionWithShape(this.bodies,this.colliders,A,I,C,B,i,Q?Q.handle:null,e?e.handle:null,this.colliders.castClosure(E));return t!=null?this.colliders.get(t):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,E,t,n,s){return this.queryPipeline.castShape(this.bodies,this.colliders,A,I,C,B,i,Q,e,E,t?t.handle:null,n?n.handle:null,this.colliders.castClosure(s))}intersectionsWithShape(A,I,C,B,i,Q,e,E,t){this.queryPipeline.intersectionsWithShape(this.bodies,this.colliders,A,I,C,this.colliders.castClosure(B),i,Q,e?e.handle:null,E?E.handle:null,this.colliders.castClosure(t))}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"})(Ce||(Ce={}));class VM{free(){this.raw&&this.raw.free(),this.raw=void 0}collider1(){return this.raw.collider1()}collider2(){return this.raw.collider2()}totalForce(){return uA.fromRaw(this.raw.total_force())}totalForceMagnitude(){return this.raw.total_force_magnitude()}maxForceDirection(){return uA.fromRaw(this.raw.max_force_direction())}maxForceMagnitude(){return this.raw.max_force_magnitude()}}class XM{constructor(A,I){this.raw=I||new QH(A)}free(){this.raw&&this.raw.free(),this.raw=void 0}drainCollisionEvents(A){this.raw.drainCollisionEvents(A)}drainContactForceEvents(A){let I=new VM;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"})(Ur||(Ur={})),function(g){g[g.EMPTY=0]="EMPTY",g[g.COMPUTE_IMPULSE=1]="COMPUTE_IMPULSE"}(Rh||(Rh={})),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"}(Nr||(Nr={}));class qh{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=kC.fromRaw(this.colliderSet.raw,this.handle))}get shape(){return this.ensureShapeIsCached(),this._shape}isValid(){return this.colliderSet.raw.contains(this.handle)}translation(){return uA.fromRaw(this.colliderSet.raw.coTranslation(this.handle))}rotation(){return gg.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)}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=uA.intoRaw(I),Q=uA.intoRaw(C),e=gg.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 uA.fromRaw(this.colliderSet.raw.coHalfExtents(this.handle))}setHalfExtents(A){const I=uA.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 uA.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=uA.intoRaw(A),C=this.colliderSet.raw.coContainsPoint(this.handle,I);return I.free(),C}projectPoint(A,I){let C=uA.intoRaw(A),B=wa.fromRaw(this.colliderSet.raw.coProjectPoint(this.handle,C,I));return C.free(),B}intersectsRay(A,I){let C=uA.intoRaw(A.origin),B=uA.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){let E=uA.intoRaw(A),t=uA.intoRaw(C),n=gg.intoRaw(B),s=uA.intoRaw(i),r=I.intoRaw(),l=co.fromRaw(this.colliderSet,this.colliderSet.raw.coCastShape(this.handle,E,r,t,n,s,Q,e));return E.free(),t.free(),n.free(),s.free(),r.free(),l}castCollider(A,I,C,B,i){let Q=uA.intoRaw(A),e=uA.intoRaw(C),E=Ga.fromRaw(this.colliderSet,this.colliderSet.raw.coCastCollider(this.handle,Q,I.handle,e,B,i));return Q.free(),e.free(),E}intersectsShape(A,I,C){let B=uA.intoRaw(I),i=gg.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=uA.intoRaw(I),Q=gg.intoRaw(C),e=A.intoRaw(),E=go.fromRaw(this.colliderSet.raw.coContactShape(this.handle,e,i,Q,B));return i.free(),Q.free(),e.free(),E}contactCollider(A,I){return go.fromRaw(this.colliderSet.raw.coContactCollider(this.handle,A.handle,I))}castRay(A,I,C){let B=uA.intoRaw(A.origin),i=uA.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=uA.intoRaw(A.origin),i=uA.intoRaw(A.dir),Q=Sa.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"})(aE||(aE={}));class BC{constructor(A){this.enabled=!0,this.shape=A,this.massPropsMode=aE.Density,this.density=1,this.friction=.5,this.restitution=0,this.rotation=gg.identity(),this.translation=uA.zeros(),this.isSensor=!1,this.collisionGroups=4294967295,this.solverGroups=4294967295,this.frictionCombineRule=Ca.Average,this.restitutionCombineRule=Ca.Average,this.activeCollisionTypes=Nr.DEFAULT,this.activeEvents=Ce.NONE,this.activeHooks=Ur.NONE,this.mass=0,this.centerOfMass=uA.zeros(),this.contactForceEventThreshold=0,this.principalAngularInertia=uA.zeros(),this.angularInertiaLocalFrame=gg.identity()}static ball(A){const I=new Vw(A);return new BC(I)}static capsule(A,I){const C=new $w(A,I);return new BC(C)}static segment(A,I){const C=new AS(A,I);return new BC(C)}static triangle(A,I,C){const B=new IS(A,I,C);return new BC(B)}static roundTriangle(A,I,C,B){const i=new gS(A,I,C,B);return new BC(i)}static polyline(A,I){const C=new CS(A,I);return new BC(C)}static trimesh(A,I){const C=new BS(A,I);return new BC(C)}static cuboid(A,I,C){const B=new Xw(A,I,C);return new BC(B)}static roundCuboid(A,I,C,B){const i=new zw(A,I,C,B);return new BC(i)}static heightfield(A,I,C,B){const i=new iS(A,I,C,B);return new BC(i)}static cylinder(A,I){const C=new QS(A,I);return new BC(C)}static roundCylinder(A,I,C){const B=new eS(A,I,C);return new BC(B)}static cone(A,I){const C=new ES(A,I);return new BC(C)}static roundCone(A,I,C){const B=new tS(A,I,C);return new BC(B)}static convexHull(A){const I=new fr(A,null);return new BC(I)}static convexMesh(A,I){const C=new fr(A,I);return new BC(C)}static roundConvexHull(A,I){const C=new Fr(A,null,I);return new BC(C)}static roundConvexMesh(A,I,C){const B=new Fr(A,I,C);return new BC(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 gg.copy(this.rotation,A),this}setSensor(A){return this.isSensor=A,this}setEnabled(A){return this.enabled=A,this}setDensity(A){return this.massPropsMode=aE.Density,this.density=A,this}setMass(A){return this.massPropsMode=aE.Mass,this.mass=A,this}setMassProperties(A,I,C,B){return this.massPropsMode=aE.MassProps,this.mass=A,uA.copy(this.centerOfMass,I),uA.copy(this.principalAngularInertia,C),gg.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 zM{constructor(A){this.raw=A||new Xg,this.map=new Pw,A&&A.forEachColliderHandle(I=>{this.map.set(I,new qh(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=uA.intoRaw(I.translation),e=gg.intoRaw(I.rotation),E=uA.intoRaw(I.centerOfMass),t=uA.intoRaw(I.principalAngularInertia),n=gg.intoRaw(I.angularInertiaLocalFrame),s=this.raw.createCollider(I.enabled,i,Q,e,I.massPropsMode,I.mass,E,t,n,I.density,I.friction,I.restitution,I.frictionCombineRule,I.restitutionCombineRule,I.isSensor,I.collisionGroups,I.solverGroups,I.activeCollisionTypes,I.activeHooks,I.activeEvents,I.contactForceEventThreshold,B,B?C:0,A.raw);i.free(),Q.free(),e.free(),E.free(),t.free(),n.free();let r=B?A.get(C):null,l=new qh(this,s,r,I.shape);return this.map.set(s,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 hV(g,A,I,C){return new(I||(I=Promise))(function(B,i){function Q(t){try{E(C.next(t))}catch(n){i(n)}}function e(t){try{E(C.throw(t))}catch(n){i(n)}}function E(t){var n;t.done?B(t.value):(n=t.value,n instanceof I?n:new I(function(s){s(n)})).then(Q,e)}E((C=C.apply(g,A||[])).next())})}for(var wV={byteLength:function(g){var A=IK(g),I=A[0],C=A[1];return 3*(I+C)/4-C},toByteArray:function(g){var A,I,C=IK(g),B=C[0],i=C[1],Q=new SV(function(t,n,s){return 3*(n+s)/4-s}(0,B,i)),e=0,E=i>0?B-4:B;for(I=0;I>16&255,Q[e++]=A>>8&255,Q[e++]=255&A;return i===2&&(A=Gi[g.charCodeAt(I)]<<2|Gi[g.charCodeAt(I+1)]>>4,Q[e++]=255&A),i===1&&(A=Gi[g.charCodeAt(I)]<<10|Gi[g.charCodeAt(I+1)]<<4|Gi[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(SQ[A>>2]+SQ[A<<4&63]+"==")):C===2&&(A=(g[I-2]<<8)+g[I-1],B.push(SQ[A>>10]+SQ[A>>4&63]+SQ[A<<2&63]+"=")),B.join("")}},SQ=[],Gi=[],SV=typeof Uint8Array<"u"?Uint8Array:Array,Eu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",En=0,GV=Eu.length;En0)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 yV(g,A,I){for(var C,B,i=[],Q=A;Q>18&63]+SQ[B>>12&63]+SQ[B>>6&63]+SQ[63&B]);return i.join("")}function tH(){return hV(this,void 0,void 0,function*(){yield eH(wV.toByteArray("AGFzbQEAAAAB+wuZAWACf38AYAN/f38AYAR/f39/AGACf38Bf2ABfwF/YAN/f38Bf2ABfwBgBX9/f39/AGAGf39/f31/AGACf3wBf2ABfwF9YAV/f399fwBgBX9/f399AGADf399AGADf3x/AGAGf39/f399AGAEf39/fQF/YAABf2AEf39/fwF9YAR/f39/AX9gA39/fwF9YAN/f30Bf2ACf30AYAZ/f39/f38Bf2AGf39/f39/AGABfQF9YAR/fH9/AGACf3wBfWADf3x9AGAIf39/f39/fX8Bf2ADf398AGAHf39/f39/fwBgAn9/AX1gBX9/f39/AX9gCH9/f39/f39/AGAAAGABfwF8YAh/f39/f39/fQBgA398fwF9YAN9fX0Bf2APf39/f39/f39/f39/f39/AGAGf31/f399AGAKf39/f39/f399fwBgC39/f39/f39/fX1/AGAFf399f38AYAZ/fH9/f38AYAN/fH8Bf2AFf3x/f38AYAZ/fH19fX0AYAJ9fQF/YAV/fH19fQBgAXwBf2AKf39/f39/fX9/fwBgCX9/f39/f39/fwBgB39/f399f38AYAl/f39/f399f38Bf2AGf319f399AGALf39/f39/f39/f38AYAR/fX9/AX9gBn9/f399fQBgD39/f39/f39/f39/fH98fwBgA35+fwF+YAN/fX0AYA9/f39/f31/f39/f3x/fH8Bf2ABfQF/YAN/fHwBf2AFf3x/fX0AYAR/fH1/AGACf3wAYAJ/fAF8YAV/f3x8fwF8YAR9fX19AX9gDn9/f39/f39/f39/f39/AGADf31/AGAIf39/f31/f38AYAl/f39/f31/f38AYAd/f39/f399AGALf39/f39/f399f38AYAx/fX9/f39/f39/f38Bf2APf39/f39/f39/f39/fX1/AGALf39/fX9/fX99fX8AYAl/f39/f39/fX8AYAl/f39/f39/f30AYAh/f39/f31/fwBgBn9/f39/fwF9YBJ/f39/f39/f39/f399f319fX0AYAd/f39/f39/AX1gCH9/f399fX9/AGAJf39/f39/fX9/AGAGf399f31/AGAHf399f399fwBgCn9/f39/f39/fX8Bf2AIf31/f39/f38AYAp/fX9/f39/f39/AGAMf39/f31/f39/f39/AGAHf39/f39/fQF/YAd/f399fX9/AGAGf31/f39/AGARf39/f39/f31/f39/f3x/fH8Bf2AIf39/f39/fX8AYAZ/fH9/f30Bf2AIf31/fX99f38AYAt/f39/fX9/f39/fwBgBH9/fX8AYAN/fn4Bf2AFf39+fn8AYAt/f39/f39/f399fwBgB39/f39/fX8Bf2AGf39/f319AX9gEH9/f39/fX9/f39/f3x/fH8AYAp/f39/f39/f39/AX9gBn98f399fwF/YAl/fH9/f39/fX8Bf2ANf39/f39/f319fX19fQBgGn9/f399fX9/f39/f39/f39/f319f39/f39/AXxgDX9/f39/f39/f3x/fH8AYBp/f39/f39/fX9/f319fX9/f39/f39/fX98fwBgB39/f39/fX8BfWAJf39/f39/fn5+AGAGf39/f399AX9gDX9/f39/f39/f3x/fH8Bf2AMf39/f39/f398f3x/AX9gBX98f39/AX9gB39/f39/f38Bf2AHf3x/fH99fwF/YAN/fn8Bf2AGf3x/f31/AX1gA35/fwF/YAJ9fQF9YAV/fH9/fQF/YAR/fH9/AX9gBX19fX9/AX9gA31/fwF/YA5/fX9/f3x/f399f39/fwBgBH98fH0Bf2AHf3x9f39/fwBgBn98fX9/fwBgBH9/f30AYAJ/fgBgEn99f39/f39/f39/f39/f39/fwBgCX99f39/f39/fwBgA398fwF8YAV/f39/fQF/YAZ/fH99fX0AYAd/fH99fX19AGAEf319fwBgBn9/fX19fQBgB398fX19fX8AYAZ/fH19fX8AYAR/fX9/AGAFf39+f38AYAR/fn9/AGAFf398f38AAoUGFgN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ADMDd2JnFl9fd2JpbmRnZW5fYm9vbGVhbl9nZXQABAN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABgN3YmcVX193YmluZGdlbl9udW1iZXJfZ2V0AAADd2JnFl9fd2JpbmRnZW5faXNfZnVuY3Rpb24ABAN3YmckX193YmdfcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbmV3AAQDd2JnHl9fd2JnX3Jhd2NvbnRhY3Rmb3JjZWV2ZW50X25ldwAEA3diZxtfX3diZ19jYWxsXzAxNzM0ZGU1NWQ2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X2F1dG9zdGVwSW5jbHVkZXNEeW5hbWljQm9kaWVzAJMKL3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfYXV0b3N0ZXBFbmFibGVkAIcLLnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfZW5hYmxlQXV0b3N0ZXAAywkvcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9kaXNhYmxlQXV0b3N0ZXAAiAsycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9tYXhTbG9wZUNsaW1iQW5nbGUAows1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNYXhTbG9wZUNsaW1iQW5nbGUAiQsycmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9taW5TbG9wZVNsaWRlQW5nbGUApAs1cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zZXRNaW5TbG9wZVNsaWRlQW5nbGUAigs0cmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmREaXN0YW5jZQCOCjJyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2VuYWJsZVNuYXBUb0dyb3VuZADMCjNyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2Rpc2FibGVTbmFwVG9Hcm91bmQAiwszcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9zbmFwVG9Hcm91bmRFbmFibGVkAIwLN3Jhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZUNvbGxpZGVyTW92ZW1lbnQAmgUwcmF3a2luZW1hdGljY2hhcmFjdGVyY29udHJvbGxlcl9jb21wdXRlZE1vdmVtZW50AMkHMHJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfY29tcHV0ZWRHcm91bmRlZAClCzVyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX251bUNvbXB1dGVkQ29sbGlzaW9ucwCmCzFyYXdraW5lbWF0aWNjaGFyYWN0ZXJjb250cm9sbGVyX2NvbXB1dGVkQ29sbGlzaW9uALcHIF9fd2JnX3Jhd2NoYXJhY3RlcmNvbGxpc2lvbl9mcmVlAMALGXJhd2NoYXJhY3RlcmNvbGxpc2lvbl9uZXcAuAkccmF3Y2hhcmFjdGVyY29sbGlzaW9uX2hhbmRsZQDBCy1yYXdjaGFyYWN0ZXJjb2xsaXNpb25fdHJhbnNsYXRpb25EZWx0YUFwcGxpZWQAygcvcmF3Y2hhcmFjdGVyY29sbGlzaW9uX3RyYW5zbGF0aW9uRGVsdGFSZW1haW5pbmcAywcZcmF3Y2hhcmFjdGVyY29sbGlzaW9uX3RvaQCnCyNyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGRXaXRuZXNzMQDMByNyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGRXaXRuZXNzMgDXBCJyYXdjaGFyYWN0ZXJjb2xsaXNpb25fd29ybGROb3JtYWwxAM0HInJhd2NoYXJhY3RlcmNvbGxpc2lvbl93b3JsZE5vcm1hbDIAiAUtX193YmdfcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9mcmVlAJIHJnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfbmV3ALkJOHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfY3VycmVudF92ZWhpY2xlX3NwZWVkAKgLKnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfY2hhc3NpcwCpCzByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2luZGV4X3VwX2F4aXMAqgs0cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfaW5kZXhfdXBfYXhpcwCNCzVyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX2luZGV4X2ZvcndhcmRfYXhpcwCrCzlyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF9pbmRleF9mb3J3YXJkX2F4aXMAjgsscmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9hZGRfd2hlZWwAwAUtcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9udW1fd2hlZWxzAKwLMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfdXBkYXRlX3ZlaGljbGUAgAZEcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jaGFzc2lzX2Nvbm5lY3Rpb25fcG9pbnRfY3MAgQZIcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfY2hhc3Npc19jb25uZWN0aW9uX3BvaW50X2NzAJ0HP3Jhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9yZXN0X2xlbmd0aACICENyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3Jlc3RfbGVuZ3RoAPIJPnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfbWF4X3N1c3BlbnNpb25fdHJhdmVsAIkIQnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX21heF9zdXNwZW5zaW9uX3RyYXZlbADzCS9yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3JhZGl1cwCKCDNyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9yYWRpdXMA9Ak9cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX3N0aWZmbmVzcwCLCEFyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3N0aWZmbmVzcwD1CT9yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fY29tcHJlc3Npb24AjAhDcmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc3VzcGVuc2lvbl9jb21wcmVzc2lvbgD2CT5yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3N1c3BlbnNpb25fcmVsYXhhdGlvbgCNCEJyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9zdXNwZW5zaW9uX3JlbGF4YXRpb24A9wk9cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9tYXhfc3VzcGVuc2lvbl9mb3JjZQCOCEFyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3NldF93aGVlbF9tYXhfc3VzcGVuc2lvbl9mb3JjZQD4CS5yYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2JyYWtlAI8IMnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX2JyYWtlAPkJMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3RlZXJpbmcAkAg1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfc3RlZXJpbmcA+gk1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9lbmdpbmVfZm9yY2UAkQg5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZW5naW5lX2ZvcmNlAPsJNXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfZGlyZWN0aW9uX2NzAIIGOXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX2RpcmVjdGlvbl9jcwCeBzByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2F4bGVfY3MAgwY0cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfYXhsZV9jcwCfBzZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2ZyaWN0aW9uX3NsaXAAkgg6cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl9zZXRfd2hlZWxfZnJpY3Rpb25fc2xpcAD8CUByYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX3NpZGVfZnJpY3Rpb25fc3RpZmZuZXNzAJMIRHJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfc2V0X3doZWVsX3NpZGVfZnJpY3Rpb25fc3RpZmZuZXNzAP0JMXJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfcm90YXRpb24AlAg4cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9mb3J3YXJkX2ltcHVsc2UAlQg1cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zaWRlX2ltcHVsc2UAlgg5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9zdXNwZW5zaW9uX2ZvcmNlAJcIOnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfY29udGFjdF9ub3JtYWxfd3MAhAY5cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9jb250YWN0X3BvaW50X3dzAIUGOnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfc3VzcGVuc2lvbl9sZW5ndGgAmAg2cmF3ZHluYW1pY3JheWNhc3R2ZWhpY2xlY29udHJvbGxlcl93aGVlbF9oYXJkX3BvaW50X3dzAIYGNnJhd2R5bmFtaWNyYXljYXN0dmVoaWNsZWNvbnRyb2xsZXJfd2hlZWxfaXNfaW5fY29udGFjdACECTZyYXdkeW5hbWljcmF5Y2FzdHZlaGljbGVjb250cm9sbGVyX3doZWVsX2dyb3VuZF9vYmplY3QAqQcXX193YmdfcmF3Y2Nkc29sdmVyX2ZyZWUA4gkQcmF3Y2Nkc29sdmVyX25ldwDjCRxyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRUeXBlAKoHI3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUxAOcII3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEJvZHlIYW5kbGUyALgIH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEZyYW1lWDEAjgYfcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50RnJhbWVYMgCPBh9yYXdpbXB1bHNlam9pbnRzZXRfam9pbnRBbmNob3IxAJAGH3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludEFuY2hvcjIAkQYicmF3aW1wdWxzZWpvaW50c2V0X2pvaW50U2V0QW5jaG9yMQCYByJyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRBbmNob3IyAJkHJ3Jhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbnRhY3RzRW5hYmxlZAC5CCpyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRTZXRDb250YWN0c0VuYWJsZWQAjQklcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZACgByFyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRMaW1pdHNNaW4AzgchcmF3aW1wdWxzZWpvaW50c2V0X2pvaW50TGltaXRzTWF4AM8HIXJhd2ltcHVsc2Vqb2ludHNldF9qb2ludFNldExpbWl0cwChBytyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3Rvck1vZGVsAKwHLnJhd2ltcHVsc2Vqb2ludHNldF9qb2ludENvbmZpZ3VyZU1vdG9yVmVsb2NpdHkAhAgucmF3aW1wdWxzZWpvaW50c2V0X2pvaW50Q29uZmlndXJlTW90b3JQb3NpdGlvbgCFCCZyYXdpbXB1bHNlam9pbnRzZXRfam9pbnRDb25maWd1cmVNb3RvcgCGCB1fX3diZ19yYXdpbXB1bHNlam9pbnRzZXRfZnJlZQDkCRZyYXdpbXB1bHNlam9pbnRzZXRfbmV3AOUJHnJhd2ltcHVsc2Vqb2ludHNldF9jcmVhdGVKb2ludADSCBlyYXdpbXB1bHNlam9pbnRzZXRfcmVtb3ZlAMYJFnJhd2ltcHVsc2Vqb2ludHNldF9sZW4ArQsbcmF3aW1wdWxzZWpvaW50c2V0X2NvbnRhaW5zAMwJJXJhd2ltcHVsc2Vqb2ludHNldF9mb3JFYWNoSm9pbnRIYW5kbGUA1QUycmF3aW1wdWxzZWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAjgkjX193YmdfcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2ZyZWUAwAsccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX25ldwD7BhtyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfZHQArgsccmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2VycACvCyxyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtU29sdmVySXRlcmF0aW9ucwDCCzhyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtQWRkaXRpb25hbEZyaWN0aW9uSXRlcmF0aW9ucwCwCzFyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfbnVtSW50ZXJuYWxQZ3NJdGVyYXRpb25zALELH3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfZHQAjwsgcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9lcnAAkAsvcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9hbGxvd2VkTGluZWFyRXJyb3IAkQsvcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9wcmVkaWN0aW9uRGlzdGFuY2UAkgswcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9udW1Tb2x2ZXJJdGVyYXRpb25zAN4KPHJhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbnVtQWRkaXRpb25hbEZyaWN0aW9uSXRlcmF0aW9ucwCTCzVyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc2V0X251bUludGVybmFsUGdzSXRlcmF0aW9ucwCUCzJyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TdGFuZGFyZFBnc1NvbHZlcgDoCjRyYXdpbnRlZ3JhdGlvbnBhcmFtZXRlcnNfc3dpdGNoVG9TbWFsbFN0ZXBzUGdzU29sdmVyAOkKG19fd2JnX3Jhd2lzbGFuZG1hbmFnZXJfZnJlZQDmCRRyYXdpc2xhbmRtYW5hZ2VyX25ldwDHCS1yYXdpc2xhbmRtYW5hZ2VyX2ZvckVhY2hBY3RpdmVSaWdpZEJvZHlIYW5kbGUA4gUaX193YmdfcmF3Z2VuZXJpY2pvaW50X2ZyZWUAwAsXcmF3Z2VuZXJpY2pvaW50X2dlbmVyaWMAmwUWcmF3Z2VuZXJpY2pvaW50X3NwcmluZwCBBRRyYXdnZW5lcmljam9pbnRfcm9wZQCEBRlyYXdnZW5lcmljam9pbnRfc3BoZXJpY2FsAIUFGXJhd2dlbmVyaWNqb2ludF9wcmlzbWF0aWMA5QIVcmF3Z2VuZXJpY2pvaW50X2ZpeGVkAOYCGHJhd2dlbmVyaWNqb2ludF9yZXZvbHV0ZQCoAx5yYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludFR5cGUA5QUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRGcmFtZVgxAJ4FIXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50RnJhbWVYMgCfBSFyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludEFuY2hvcjEAoAUhcmF3bXVsdGlib2R5am9pbnRzZXRfam9pbnRBbmNob3IyAKEFKXJhd211bHRpYm9keWpvaW50c2V0X2pvaW50Q29udGFjdHNFbmFibGVkAOAGLHJhd211bHRpYm9keWpvaW50c2V0X2pvaW50U2V0Q29udGFjdHNFbmFibGVkAPUGJ3Jhd211bHRpYm9keWpvaW50c2V0X2pvaW50TGltaXRzRW5hYmxlZADjBSNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01pbgCHBiNyYXdtdWx0aWJvZHlqb2ludHNldF9qb2ludExpbWl0c01heACIBh9fX3diZ19yYXdtdWx0aWJvZHlqb2ludHNldF9mcmVlAOcJGHJhd211bHRpYm9keWpvaW50c2V0X25ldwDoCSByYXdtdWx0aWJvZHlqb2ludHNldF9jcmVhdGVKb2ludADTCBtyYXdtdWx0aWJvZHlqb2ludHNldF9yZW1vdmUAkQodcmF3bXVsdGlib2R5am9pbnRzZXRfY29udGFpbnMAnAgncmF3bXVsdGlib2R5am9pbnRzZXRfZm9yRWFjaEpvaW50SGFuZGxlALEJNHJhd211bHRpYm9keWpvaW50c2V0X2ZvckVhY2hKb2ludEF0dGFjaGVkVG9SaWdpZEJvZHkAjwkdcmF3cmlnaWRib2R5c2V0X3JiVHJhbnNsYXRpb24AkgYacmF3cmlnaWRib2R5c2V0X3JiUm90YXRpb24AuwYXcmF3cmlnaWRib2R5c2V0X3JiU2xlZXAA2QkccmF3cmlnaWRib2R5c2V0X3JiSXNTbGVlcGluZwC6CBpyYXdyaWdpZGJvZHlzZXRfcmJJc01vdmluZwDoCCFyYXdyaWdpZGJvZHlzZXRfcmJOZXh0VHJhbnNsYXRpb24AkwYecmF3cmlnaWRib2R5c2V0X3JiTmV4dFJvdGF0aW9uAJQGIHJhd3JpZ2lkYm9keXNldF9yYlNldFRyYW5zbGF0aW9uAKwKHXJhd3JpZ2lkYm9keXNldF9yYlNldFJvdGF0aW9uAJ8KG3Jhd3JpZ2lkYm9keXNldF9yYlNldExpbnZlbADABxtyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd2ZWwAwQctcmF3cmlnaWRib2R5c2V0X3JiU2V0TmV4dEtpbmVtYXRpY1RyYW5zbGF0aW9uAPcHKnJhd3JpZ2lkYm9keXNldF9yYlNldE5leHRLaW5lbWF0aWNSb3RhdGlvbgDMBjZyYXdyaWdpZGJvZHlzZXRfcmJSZWNvbXB1dGVNYXNzUHJvcGVydGllc0Zyb21Db2xsaWRlcnMA4QcjcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3MA+ActcmF3cmlnaWRib2R5c2V0X3JiU2V0QWRkaXRpb25hbE1hc3NQcm9wZXJ0aWVzAKYFGHJhd3JpZ2lkYm9keXNldF9yYkxpbnZlbAC8BhhyYXdyaWdpZGJvZHlzZXRfcmJBbmd2ZWwAlQYicmF3cmlnaWRib2R5c2V0X3JiTG9ja1RyYW5zbGF0aW9ucwDNBihyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkVHJhbnNsYXRpb25zAIcKH3Jhd3JpZ2lkYm9keXNldF9yYkxvY2tSb3RhdGlvbnMAzgYlcmF3cmlnaWRib2R5c2V0X3JiU2V0RW5hYmxlZFJvdGF0aW9ucwCuBSByYXdyaWdpZGJvZHlzZXRfcmJEb21pbmFuY2VHcm91cAC7CCNyYXdyaWdpZGJvZHlzZXRfcmJTZXREb21pbmFuY2VHcm91cACdCBtyYXdyaWdpZGJvZHlzZXRfcmJFbmFibGVDY2QAkAkWcmF3cmlnaWRib2R5c2V0X3JiTWFzcwD5BxlyYXdyaWdpZGJvZHlzZXRfcmJJbnZNYXNzALwIInJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUludk1hc3MAlgYacmF3cmlnaWRib2R5c2V0X3JiTG9jYWxDb20AlwYacmF3cmlnaWRib2R5c2V0X3JiV29ybGRDb20AmAYpcmF3cmlnaWRib2R5c2V0X3JiSW52UHJpbmNpcGFsSW5lcnRpYVNxcnQAmQYscmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYUxvY2FsRnJhbWUAmgYicmF3cmlnaWRib2R5c2V0X3JiUHJpbmNpcGFsSW5lcnRpYQDdBi5yYXdyaWdpZGJvZHlzZXRfcmJFZmZlY3RpdmVXb3JsZEludkluZXJ0aWFTcXJ0AMEFKXJhd3JpZ2lkYm9keXNldF9yYkVmZmVjdGl2ZUFuZ3VsYXJJbmVydGlhAL0GGHJhd3JpZ2lkYm9keXNldF9yYldha2VVcAD6Bx5yYXdyaWdpZGJvZHlzZXRfcmJJc0NjZEVuYWJsZWQAvQgecmF3cmlnaWRib2R5c2V0X3JiTnVtQ29sbGlkZXJzAL4IGnJhd3JpZ2lkYm9keXNldF9yYkNvbGxpZGVyAKIHGnJhd3JpZ2lkYm9keXNldF9yYkJvZHlUeXBlAL8IHXJhd3JpZ2lkYm9keXNldF9yYlNldEJvZHlUeXBlAKsIGXJhd3JpZ2lkYm9keXNldF9yYklzRml4ZWQAoggdcmF3cmlnaWRib2R5c2V0X3JiSXNLaW5lbWF0aWMAowgbcmF3cmlnaWRib2R5c2V0X3JiSXNEeW5hbWljAKwIH3Jhd3JpZ2lkYm9keXNldF9yYkxpbmVhckRhbXBpbmcAwAggcmF3cmlnaWRib2R5c2V0X3JiQW5ndWxhckRhbXBpbmcAwQgicmF3cmlnaWRib2R5c2V0X3JiU2V0TGluZWFyRGFtcGluZwDNCSNyYXdyaWdpZGJvZHlzZXRfcmJTZXRBbmd1bGFyRGFtcGluZwC6CRxyYXdyaWdpZGJvZHlzZXRfcmJTZXRFbmFibGVkAOgHG3Jhd3JpZ2lkYm9keXNldF9yYklzRW5hYmxlZADCCB5yYXdyaWdpZGJvZHlzZXRfcmJHcmF2aXR5U2NhbGUAwwghcmF3cmlnaWRib2R5c2V0X3JiU2V0R3Jhdml0eVNjYWxlALAHHXJhd3JpZ2lkYm9keXNldF9yYlJlc2V0Rm9yY2VzALsJHnJhd3JpZ2lkYm9keXNldF9yYlJlc2V0VG9ycXVlcwC8CRpyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZQDCBx5yYXdyaWdpZGJvZHlzZXRfcmJBcHBseUltcHVsc2UAwwcbcmF3cmlnaWRib2R5c2V0X3JiQWRkVG9ycXVlAMQHJHJhd3JpZ2lkYm9keXNldF9yYkFwcGx5VG9ycXVlSW1wdWxzZQDFByFyYXdyaWdpZGJvZHlzZXRfcmJBZGRGb3JjZUF0UG9pbnQA5AYlcmF3cmlnaWRib2R5c2V0X3JiQXBwbHlJbXB1bHNlQXRQb2ludADmBSxyYXdyaWdpZGJvZHlzZXRfcmJBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDECC9yYXdyaWdpZGJvZHlzZXRfcmJTZXRBZGRpdGlvbmFsU29sdmVySXRlcmF0aW9ucwDOCRpyYXdyaWdpZGJvZHlzZXRfcmJVc2VyRGF0YQDFCB1yYXdyaWdpZGJvZHlzZXRfcmJTZXRVc2VyRGF0YQCFCRpfX3diZ19yYXdyaWdpZGJvZHlzZXRfZnJlZQDaBxNyYXdyaWdpZGJvZHlzZXRfbmV3ANsHH3Jhd3JpZ2lkYm9keXNldF9jcmVhdGVSaWdpZEJvZHkAswMWcmF3cmlnaWRib2R5c2V0X3JlbW92ZQCiBRhyYXdyaWdpZGJvZHlzZXRfY29udGFpbnMAzwkmcmF3cmlnaWRib2R5c2V0X2ZvckVhY2hSaWdpZEJvZHlIYW5kbGUAsgk5cmF3cmlnaWRib2R5c2V0X3Byb3BhZ2F0ZU1vZGlmaWVkQm9keVBvc2l0aW9uc1RvQ29sbGlkZXJzAP4JGF9fd2JnX3Jhd2Jyb2FkcGhhc2VfZnJlZQDpCRFyYXdicm9hZHBoYXNlX25ldwDqCRxyYXdjb2xsaWRlcnNldF9jb1RyYW5zbGF0aW9uAJsGGXJhd2NvbGxpZGVyc2V0X2NvUm90YXRpb24AvgYfcmF3Y29sbGlkZXJzZXRfY29TZXRUcmFuc2xhdGlvbgD7ByhyYXdjb2xsaWRlcnNldF9jb1NldFRyYW5zbGF0aW9uV3J0UGFyZW50ANwHHHJhd2NvbGxpZGVyc2V0X2NvU2V0Um90YXRpb24A1gYlcmF3Y29sbGlkZXJzZXRfY29TZXRSb3RhdGlvbldydFBhcmVudADFChlyYXdjb2xsaWRlcnNldF9jb0lzU2Vuc29yAMYIGnJhd2NvbGxpZGVyc2V0X2NvU2hhcGVUeXBlAIgKIHJhd2NvbGxpZGVyc2V0X2NvSGFsZnNwYWNlTm9ybWFsAJ0FHHJhd2NvbGxpZGVyc2V0X2NvSGFsZkV4dGVudHMAkAUfcmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmRXh0ZW50cwCRCRdyYXdjb2xsaWRlcnNldF9jb1JhZGl1cwD8BxpyYXdjb2xsaWRlcnNldF9jb1NldFJhZGl1cwDVChtyYXdjb2xsaWRlcnNldF9jb0hhbGZIZWlnaHQA/QcecmF3Y29sbGlkZXJzZXRfY29TZXRIYWxmSGVpZ2h0ANYKHHJhd2NvbGxpZGVyc2V0X2NvUm91bmRSYWRpdXMA/gcfcmF3Y29sbGlkZXJzZXRfY29TZXRSb3VuZFJhZGl1cwDXChlyYXdjb2xsaWRlcnNldF9jb1ZlcnRpY2VzALIGGHJhd2NvbGxpZGVyc2V0X2NvSW5kaWNlcwCzBiNyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkSGVpZ2h0cwC0BiFyYXdjb2xsaWRlcnNldF9jb0hlaWdodGZpZWxkU2NhbGUAhgUhcmF3Y29sbGlkZXJzZXRfY29IZWlnaHRmaWVsZE5Sb3dzAOcFIXJhd2NvbGxpZGVyc2V0X2NvSGVpZ2h0ZmllbGROQ29scwDoBRdyYXdjb2xsaWRlcnNldF9jb1BhcmVudADiBxtyYXdjb2xsaWRlcnNldF9jb1NldEVuYWJsZWQAuAcacmF3Y29sbGlkZXJzZXRfY29Jc0VuYWJsZWQArQgZcmF3Y29sbGlkZXJzZXRfY29GcmljdGlvbgDHCBxyYXdjb2xsaWRlcnNldF9jb1Jlc3RpdHV0aW9uAMgIGHJhd2NvbGxpZGVyc2V0X2NvRGVuc2l0eQDpCBVyYXdjb2xsaWRlcnNldF9jb01hc3MA6ggXcmF3Y29sbGlkZXJzZXRfY29Wb2x1bWUA6wggcmF3Y29sbGlkZXJzZXRfY29Db2xsaXNpb25Hcm91cHMA6QcdcmF3Y29sbGlkZXJzZXRfY29Tb2x2ZXJHcm91cHMA6gcccmF3Y29sbGlkZXJzZXRfY29BY3RpdmVIb29rcwDJCCVyYXdjb2xsaWRlcnNldF9jb0FjdGl2ZUNvbGxpc2lvblR5cGVzAMoIHXJhd2NvbGxpZGVyc2V0X2NvQWN0aXZlRXZlbnRzAMsIK3Jhd2NvbGxpZGVyc2V0X2NvQ29udGFjdEZvcmNlRXZlbnRUaHJlc2hvbGQAzAgecmF3Y29sbGlkZXJzZXRfY29Db250YWluc1BvaW50ANoFGnJhd2NvbGxpZGVyc2V0X2NvQ2FzdFNoYXBlAKUDHXJhd2NvbGxpZGVyc2V0X2NvQ2FzdENvbGxpZGVyAMEEIHJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1NoYXBlALYEHXJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdFNoYXBlAPUBIHJhd2NvbGxpZGVyc2V0X2NvQ29udGFjdENvbGxpZGVyAJwFHXJhd2NvbGxpZGVyc2V0X2NvUHJvamVjdFBvaW50AP8EHnJhd2NvbGxpZGVyc2V0X2NvSW50ZXJzZWN0c1JheQD4BBhyYXdjb2xsaWRlcnNldF9jb0Nhc3RSYXkA1AQkcmF3Y29sbGlkZXJzZXRfY29DYXN0UmF5QW5kR2V0Tm9ybWFsAJ8DGnJhd2NvbGxpZGVyc2V0X2NvU2V0U2Vuc29yAIEIH3Jhd2NvbGxpZGVyc2V0X2NvU2V0UmVzdGl0dXRpb24AvQkccmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbgDQCSRyYXdjb2xsaWRlcnNldF9jb0ZyaWN0aW9uQ29tYmluZVJ1bGUAzQgncmF3Y29sbGlkZXJzZXRfY29TZXRGcmljdGlvbkNvbWJpbmVSdWxlAPYIJ3Jhd2NvbGxpZGVyc2V0X2NvUmVzdGl0dXRpb25Db21iaW5lUnVsZQDOCCpyYXdjb2xsaWRlcnNldF9jb1NldFJlc3RpdHV0aW9uQ29tYmluZVJ1bGUA9wgjcmF3Y29sbGlkZXJzZXRfY29TZXRDb2xsaXNpb25Hcm91cHMAowcgcmF3Y29sbGlkZXJzZXRfY29TZXRTb2x2ZXJHcm91cHMAkwcfcmF3Y29sbGlkZXJzZXRfY29TZXRBY3RpdmVIb29rcwD4CCByYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUV2ZW50cwD5CChyYXdjb2xsaWRlcnNldF9jb1NldEFjdGl2ZUNvbGxpc2lvblR5cGVzAPoIGXJhd2NvbGxpZGVyc2V0X2NvU2V0U2hhcGUA9wYucmF3Y29sbGlkZXJzZXRfY29TZXRDb250YWN0Rm9yY2VFdmVudFRocmVzaG9sZADRCRtyYXdjb2xsaWRlcnNldF9jb1NldERlbnNpdHkA0gkYcmF3Y29sbGlkZXJzZXRfY29TZXRNYXNzANMJInJhd2NvbGxpZGVyc2V0X2NvU2V0TWFzc1Byb3BlcnRpZXMAqgUZX193YmdfcmF3Y29sbGlkZXJzZXRfZnJlZQD8BhJyYXdjb2xsaWRlcnNldF9uZXcA/QYScmF3Y29sbGlkZXJzZXRfbGVuALILF3Jhd2NvbGxpZGVyc2V0X2NvbnRhaW5zANQJHXJhd2NvbGxpZGVyc2V0X2NyZWF0ZUNvbGxpZGVyAOMDFXJhd2NvbGxpZGVyc2V0X3JlbW92ZQDpBSRyYXdjb2xsaWRlcnNldF9mb3JFYWNoQ29sbGlkZXJIYW5kbGUAswkaX193YmdfcmF3c2hhcGVjb250YWN0X2ZyZWUAwAsZX193YmdfcmF3bmFycm93cGhhc2VfZnJlZQDrCRJyYXduYXJyb3dwaGFzZV9uZXcA7AkhcmF3bmFycm93cGhhc2VfY29udGFjdF9wYWlyc193aXRoAJQKG3Jhd25hcnJvd3BoYXNlX2NvbnRhY3RfcGFpcgCaByZyYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcnNfd2l0aACVCiByYXduYXJyb3dwaGFzZV9pbnRlcnNlY3Rpb25fcGFpcgDuCB1fX3diZ19yYXdjb250YWN0bWFuaWZvbGRfZnJlZQDACxhyYXdjb250YWN0cGFpcl9jb2xsaWRlcjEAsgoYcmF3Y29udGFjdHBhaXJfY29sbGlkZXIyALMKInJhd2NvbnRhY3RwYWlyX251bUNvbnRhY3RNYW5pZm9sZHMAoAoecmF3Y29udGFjdHBhaXJfY29udGFjdE1hbmlmb2xkANAHGXJhd2NvbnRhY3RtYW5pZm9sZF9ub3JtYWwA/gYbcmF3Y29udGFjdG1hbmlmb2xkX2xvY2FsX24xAIMHG3Jhd2NvbnRhY3RtYW5pZm9sZF9sb2NhbF9uMgCEBxxyYXdjb250YWN0bWFuaWZvbGRfc3Vic2hhcGUxALQKHHJhd2NvbnRhY3RtYW5pZm9sZF9zdWJzaGFwZTIAtQofcmF3Y29udGFjdG1hbmlmb2xkX251bV9jb250YWN0cwChCiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMQDCBiNyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9sb2NhbF9wMgDDBh9yYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9kaXN0AL4JH3Jhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X2ZpZDEAvwkfcmF3Y29udGFjdG1hbmlmb2xkX2NvbnRhY3RfZmlkMgDACSJyYXdjb250YWN0bWFuaWZvbGRfY29udGFjdF9pbXB1bHNlAJIJLHJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZV94AMEJLHJhd2NvbnRhY3RtYW5pZm9sZF9jb250YWN0X3RhbmdlbnRfaW1wdWxzZV95AJMJJnJhd2NvbnRhY3RtYW5pZm9sZF9udW1fc29sdmVyX2NvbnRhY3RzAKIKJ3Jhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF9wb2ludAC1BiZyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfZGlzdACUCSpyYXdjb250YWN0bWFuaWZvbGRfc29sdmVyX2NvbnRhY3RfZnJpY3Rpb24A7wgtcmF3Y29udGFjdG1hbmlmb2xkX3NvbHZlcl9jb250YWN0X3Jlc3RpdHV0aW9uAPAIMnJhd2NvbnRhY3RtYW5pZm9sZF9zb2x2ZXJfY29udGFjdF90YW5nZW50X3ZlbG9jaXR5AL8GHV9fd2JnX3Jhd3BvaW50cHJvamVjdGlvbl9mcmVlAMALGHJhd3BvaW50cHJvamVjdGlvbl9wb2ludADjBxtyYXdwb2ludHByb2plY3Rpb25faXNJbnNpZGUAswslX193YmdfcmF3cG9pbnRjb2xsaWRlcnByb2plY3Rpb25fZnJlZQDACylyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9jb2xsaWRlckhhbmRsZQC0CyByYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9wb2ludADRByNyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9pc0luc2lkZQC1CyZyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mZWF0dXJlVHlwZQDCCyRyYXdwb2ludGNvbGxpZGVycHJvamVjdGlvbl9mZWF0dXJlSWQA/wkdX193YmdfcmF3cmF5aW50ZXJzZWN0aW9uX2ZyZWUAwAshcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fbm9ybWFsANIHHnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX3RvaQC2CxxfX3diZ19yYXdyYXljb2xsaWRlcnRvaV9mcmVlAMALE19fd2JnX3Jhd3NoYXBlX2ZyZWUApAgPcmF3c2hhcGVfY3Vib2lkAMIJFHJhd3NoYXBlX3JvdW5kQ3Vib2lkALQJDXJhd3NoYXBlX2JhbGwA1QkScmF3c2hhcGVfaGFsZnNwYWNlAOQFEHJhd3NoYXBlX2NhcHN1bGUArQcRcmF3c2hhcGVfY3lsaW5kZXIAyAkWcmF3c2hhcGVfcm91bmRDeWxpbmRlcgDDCQ1yYXdzaGFwZV9jb25lAMkJEnJhd3NoYXBlX3JvdW5kQ29uZQDECRFyYXdzaGFwZV9wb2x5bGluZQDlBxByYXdzaGFwZV90cmltZXNoAOYHFHJhd3NoYXBlX2hlaWdodGZpZWxkAMIFEHJhd3NoYXBlX3NlZ21lbnQA1wYRcmF3c2hhcGVfdHJpYW5nbGUAwwUWcmF3c2hhcGVfcm91bmRUcmlhbmdsZQC4BRNyYXdzaGFwZV9jb252ZXhIdWxsAPAHGHJhd3NoYXBlX3JvdW5kQ29udmV4SHVsbADrBxNyYXdzaGFwZV9jb252ZXhNZXNoAKsHGHJhd3NoYXBlX3JvdW5kQ29udmV4TWVzaACkBxJyYXdzaGFwZV9jYXN0U2hhcGUAuAEYcmF3c2hhcGVfaW50ZXJzZWN0c1NoYXBlALoDFXJhd3NoYXBlX2NvbnRhY3RTaGFwZQDbARZyYXdzaGFwZV9jb250YWluc1BvaW50AOkEFXJhd3NoYXBlX3Byb2plY3RQb2ludACUBBZyYXdzaGFwZV9pbnRlcnNlY3RzUmF5AJcEEHJhd3NoYXBlX2Nhc3RSYXkAiAQccmF3c2hhcGVfY2FzdFJheUFuZEdldE5vcm1hbADQAhRyYXdzaGFwZXRvaV93aXRuZXNzMQDTBxNyYXdzaGFwZXRvaV9ub3JtYWwxANQHE3Jhd3NoYXBldG9pX25vcm1hbDIA1QceX193YmdfcmF3c2hhcGVjb2xsaWRlcnRvaV9mcmVlAMALHHJhd3NoYXBlY29sbGlkZXJ0b2lfd2l0bmVzczIA1gcPcmF3cm90YXRpb25fbmV3ALYKFHJhd3JvdGF0aW9uX2lkZW50aXR5ANgKDXJhd3JvdGF0aW9uX3gAwwsOcmF3dmVjdG9yX3plcm8A/goNcmF3dmVjdG9yX25ldwDNCg9yYXd2ZWN0b3Jfc2V0X3gAtwsPcmF3dmVjdG9yX3NldF96AJULDXJhd3ZlY3Rvcl94eXoArggNcmF3dmVjdG9yX3l4egCvCA1yYXd2ZWN0b3Jfenh5ALAIDXJhd3ZlY3Rvcl94enkAsQgNcmF3dmVjdG9yX3l6eACyCA1yYXd2ZWN0b3Jfenl4ALMIFnJhd3NkcG1hdHJpeDNfZWxlbWVudHMAmwchX193YmdfcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9mcmVlAI8KGnJhd2RlYnVncmVuZGVycGlwZWxpbmVfbmV3AOwHH3Jhd2RlYnVncmVuZGVycGlwZWxpbmVfdmVydGljZXMAnggdcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9jb2xvcnMAnwgdcmF3ZGVidWdyZW5kZXJwaXBlbGluZV9yZW5kZXIAlAUYX193YmdfcmF3ZXZlbnRxdWV1ZV9mcmVlAN0HH19fd2JnX3Jhd2NvbnRhY3Rmb3JjZWV2ZW50X2ZyZWUAwAsecmF3Y29udGFjdGZvcmNlZXZlbnRfY29sbGlkZXIyALgLIHJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlANcHKnJhd2NvbnRhY3Rmb3JjZWV2ZW50X3RvdGFsX2ZvcmNlX21hZ25pdHVkZQC5CyhyYXdjb250YWN0Zm9yY2VldmVudF9tYXhfZm9yY2VfZGlyZWN0aW9uANgHKHJhd2NvbnRhY3Rmb3JjZWV2ZW50X21heF9mb3JjZV9tYWduaXR1ZGUAugsRcmF3ZXZlbnRxdWV1ZV9uZXcAuQcicmF3ZXZlbnRxdWV1ZV9kcmFpbkNvbGxpc2lvbkV2ZW50cwCACiVyYXdldmVudHF1ZXVlX2RyYWluQ29udGFjdEZvcmNlRXZlbnRzAIEKE3Jhd2V2ZW50cXVldWVfY2xlYXIAxgcdX193YmdfcmF3cGh5c2ljc3BpcGVsaW5lX2ZyZWUA7QkWcmF3cGh5c2ljc3BpcGVsaW5lX25ldwD7CBdyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcAChBCFyYXdwaHlzaWNzcGlwZWxpbmVfc3RlcFdpdGhFdmVudHMAjQQbX193YmdfcmF3cXVlcnlwaXBlbGluZV9mcmVlAOIJFHJhd3F1ZXJ5cGlwZWxpbmVfbmV3AO4JF3Jhd3F1ZXJ5cGlwZWxpbmVfdXBkYXRlALoHGHJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFJheQCYBCRyYXdxdWVyeXBpcGVsaW5lX2Nhc3RSYXlBbmRHZXROb3JtYWwA9QMlcmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFJheQDsAiZyYXdxdWVyeXBpcGVsaW5lX2ludGVyc2VjdGlvbldpdGhTaGFwZQCbBB1yYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludACtBCpyYXdxdWVyeXBpcGVsaW5lX3Byb2plY3RQb2ludEFuZEdldEZlYXR1cmUAsQQncmF3cXVlcnlwaXBlbGluZV9pbnRlcnNlY3Rpb25zV2l0aFBvaW50AMgDGnJhd3F1ZXJ5cGlwZWxpbmVfY2FzdFNoYXBlAPEBJ3Jhd3F1ZXJ5cGlwZWxpbmVfaW50ZXJzZWN0aW9uc1dpdGhTaGFwZQDiAjJyYXdxdWVyeXBpcGVsaW5lX2NvbGxpZGVyc1dpdGhBYWJiSW50ZXJzZWN0aW5nQWFiYgDhBh9fX3diZ19yYXdkZXNlcmlhbGl6ZWR3b3JsZF9mcmVlAJAKIHJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VHcmF2aXR5AIwHLnJhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VJbnRlZ3JhdGlvblBhcmFtZXRlcnMA0AQmcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUlzbGFuZE1hbmFnZXIAiQcjcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUJyb2FkUGhhc2UAlAckcmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZU5hcnJvd1BoYXNlAMcEH3Jhd2Rlc2VyaWFsaXplZHdvcmxkX3Rha2VCb2RpZXMAlQUicmF3ZGVzZXJpYWxpemVkd29ybGRfdGFrZUNvbGxpZGVycwCCBSZyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlSW1wdWxzZUpvaW50cwCFByhyYXdkZXNlcmlhbGl6ZWR3b3JsZF90YWtlTXVsdGlib2R5Sm9pbnRzAIYHHHJhd3NlcmlhbGl6YXRpb25waXBlbGluZV9uZXcAxAslcmF3c2VyaWFsaXphdGlvbnBpcGVsaW5lX3NlcmlhbGl6ZUFsbACCAydyYXdzZXJpYWxpemF0aW9ucGlwZWxpbmVfZGVzZXJpYWxpemVBbGwApQcqcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX3NldF9taW5Jc2xhbmRTaXplAI0LK3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19zZXRfbWF4Q2NkU3Vic3RlcHMAjgsPcmF3dmVjdG9yX3NldF95AI8LInJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfdXAAygcXcmF3c2hhcGVjb250YWN0X25vcm1hbDIAygcWcmF3c2hhcGVjb250YWN0X3BvaW50MQDjBxZyYXdzaGFwZWNvbnRhY3RfcG9pbnQyANIHGXJhd3JheWludGVyc2VjdGlvbl9ub3JtYWwA0gcccmF3c2hhcGVjb2xsaWRlcnRvaV93aXRuZXNzMQDSBxdyYXdzaGFwZWNvbnRhY3Rfbm9ybWFsMQDWBxtyYXdzaGFwZWNvbGxpZGVydG9pX25vcm1hbDEAygcbcmF3c2hhcGVjb2xsaWRlcnRvaV9ub3JtYWwyAMsHFHJhd3NoYXBldG9pX3dpdG5lc3MyANcHJnJhd2tpbmVtYXRpY2NoYXJhY3RlcmNvbnRyb2xsZXJfb2Zmc2V0AK4LK3Jhd2ludGVncmF0aW9ucGFyYW1ldGVyc19wcmVkaWN0aW9uRGlzdGFuY2UAqAsmcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21pbklzbGFuZFNpemUAqgsncmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX21heENjZFN1YnN0ZXBzAKsLE3Jhd3JpZ2lkYm9keXNldF9sZW4AsgsYcmF3c2hhcGVjb250YWN0X2Rpc3RhbmNlAKMLHnJhd3JheWludGVyc2VjdGlvbl9mZWF0dXJlVHlwZQDCCylyYXdyYXljb2xsaWRlcmludGVyc2VjdGlvbl9jb2xsaWRlckhhbmRsZQC0CxZyYXdyYXlpbnRlcnNlY3Rpb25fdG9pALYLJnJhd3JheWNvbGxpZGVyaW50ZXJzZWN0aW9uX2ZlYXR1cmVUeXBlAMILIHJhd3JheWNvbGxpZGVydG9pX2NvbGxpZGVySGFuZGxlAMELFXJhd3JheWNvbGxpZGVydG9pX3RvaQC2CyJyYXdzaGFwZWNvbGxpZGVydG9pX2NvbGxpZGVySGFuZGxlAMELF3Jhd3NoYXBlY29sbGlkZXJ0b2lfdG9pALYLD3Jhd3NoYXBldG9pX3RvaQDDCw1yYXdyb3RhdGlvbl95AK4LDXJhd3JvdGF0aW9uX3oAtgsNcmF3cm90YXRpb25fdwCvCwtyYXd2ZWN0b3JfeADDCwtyYXd2ZWN0b3JfeQCuCwtyYXd2ZWN0b3JfegC2Cx5yYXdjb250YWN0Zm9yY2VldmVudF9jb2xsaWRlcjEAwQsrcmF3aW50ZWdyYXRpb25wYXJhbWV0ZXJzX2FsbG93ZWRMaW5lYXJFcnJvcgC5CxxyYXdjb2xsaWRlcnNldF9pc0hhbmRsZVZhbGlkANQJI19fd2JnX3Jhd3NlcmlhbGl6YXRpb25waXBlbGluZV9mcmVlAMALHHJhd3JheWludGVyc2VjdGlvbl9mZWF0dXJlSWQA/wkkcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fZmVhdHVyZUlkAP8JGV9fd2JnX3Jhd2NvbnRhY3RwYWlyX2ZyZWUAwAslX193YmdfcmF3cmF5Y29sbGlkZXJpbnRlcnNlY3Rpb25fZnJlZQDACxZfX3diZ19yYXdzaGFwZXRvaV9mcmVlAMALFl9fd2JnX3Jhd3JvdGF0aW9uX2ZyZWUAwAsUX193YmdfcmF3dmVjdG9yX2ZyZWUAwAsYX193YmdfcmF3c2RwbWF0cml4M19mcmVlAMALH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIA8AwPX193YmluZGdlbl9mcmVlAO4LEV9fd2JpbmRnZW5fbWFsbG9jALgKFF9fd2JpbmRnZW5fZXhuX3N0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/ABqQQBBxAAQiQ0aIANBxAFqQgA3AgAgA0HAAWpBgICA/AM2AgAgA0HMAWpCADcCACADQdQBakIANwIAIANB3AFqQgA3AgAgA0HkAWpCADcCACADQewBakIANwIAIANB9AFqQQA2AgAgA0H4AWpBAEHEABCJDRogA0HAAmpCADcCACADQbwCakGAgID8AzYCACADQcgCakIANwIAIANB0AJqQgA3AgAgA0HYAmpCADcCACADQeACakIANwIAIANB6AJqQgA3AgAgA0HwAmpBADYCACADQfQCakEAQcQAEIkNGiADQbwDakIANwIAIANBuANqQYCAgPwDNgIAIANBxANqQgA3AgAgA0HMA2pCADcCACADQdQDakIANwIAIANB3ANqQgA3AgAgA0HkA2pCADcCACADQewDakEANgIAIANB8ANqIQMgY0EEayJjDQALCyABBEADQCADQQBBxAAQiQ0iA0IANwJIIANBgICA/AM2AkQgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANB+ABqQQA2AgAgA0H8AGohAyABQQFrIgENAAsLIGYgZ2pBAWshZgsgA0EAQcQAEIkNIgFCADcCSCABQYCAgPwDNgJEIAFB0ABqQgA3AgAgAUHYAGpCADcCACABQeAAakIANwIAIAFB6ABqQgA3AgAgAUHwAGpCADcCACABQfgAakEANgIAIABBkANqQQA2AgAgACBmQQFqNgL4AiCcASgCACIBIJsBKAIAIgNLDQELIAMgigFNBEACQAJAIAEgA0YEQCAAQQA2ApADIABBhANqImlBADYCACABIQMMAQtBACFmIAMgAWsiYiAAQYwDaigCAEsEQCAAQYgDakEAIGIQnQYgACgCkAMhZgsgACgCiAMiZyBmQRhsaiFjIGJBAk8EQCBjQQAgAyABQX9zakEYbBCJDRogYiBmaiIBQQFrIWYgAUEYbCBnakEYayFjCyBjQgA3AgAgY0EQakIANwIAIGNBCGpCADcCACAAIGZBAWo2ApADIABBhANqImlBADYCACCcASgCACIBIJsBKAIAIgNLDQELIAMgigFNBEACQCABIANGBEAgaUEANgIAIAMhAQwBC0EAIWYgAyABayJiIABBgANqKAIASwRAIABB/AJqQQAgYhCd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QewAaioCACEPIGNB6ABqKgIAIRAgY0HUAGooAgAhDSBjQdAAaigCACEDIGNBzABqKAIAIQUgY0HIAGooAgAhASBjQcQAaigCACEIIGMoAkAhYgJ9IGNB+ABqLgEAQQBIBEAgASEHIAghBiBiIWdDAACAvwwBCyAOjCEOIA+MIQ8gEIwhECANIQcgAyEGIAUhZyABIQ0gCCEDIGIhBUMAAIA/CyETIGkoAgAhaSBqKAKgASFiIGooAnAhCAJAAkAgBQRAAkAgdUUNACADIHJPDQAgdSADQegCbGoiASgCAEUNACABKAIEIA1GDQILQeybwQBBE0G0zcEAEOEJAAsgZEGIBWoiAUEIakIANwMAIAFBEGpCADcDACABQRhqQgA3AwAgZUIANwMAIH5CADcDACBkQZAKaiIBQQhqQgA3AwAgAUEQakIANwMAIGRBwApqQQA2AgAgZEIANwOIBSBkQgA3A5AKIGRCADcDuApDAACAPyEVQwAAAAAhKEMAAAAAISNDAAAAACExQwAAAAAhIkMAAAAAIR1DAAAAACEkQwAAAAAhFkMAAAAAIRpDAAAAACEXQwAAAAAhLUMAAAAAISxDAAAAACE1QwAAAAAhLkMAAAAAIRJDAAAAACERQwAAAAAhFEMAAAAAISlDAAAAACE6DAELIAFB6AFqIgUqAgAhFyABQeQBaioCACEaIAFB4AFqIg0qAgAhFiABQYwBaioCACEkIAFBiAFqKgIAIR0gAUGEAWoqAgAhIiABQYABaioCACExIAFB/ABqKgIAISMgAUH4AGoqAgAhKCABQUBrKgIAIS4gAUE8aioCACE1IAFBOGoqAgAhLCABQTRqKgIAIRUgAUEwaioCACESIAFBLGoqAgAhESABQShqKgIAIRQgZEEIaiIDQRBqImxCADcDACADQQhqImhCADcDACBkQgA3AwggZEHICmoic0EIaiJ0IAFB9AFqKAIANgIAIGQgAUHsAWopAgA3A8gKIHFBEGogAUGoAWopAwA3AwAgcUEIaiABQaABaikDADcDACBxIAFBmAFqKQMANwMAIHkgDSkCADcCACB5QQhqIAUoAgA2AgAgAUHYAmoqAgAhLSABQZABaioCACE6IAFBlAFqKgIAISkgZEHACmogAUHIAWooAgA2AgAgZCABQcABaikCADcDuAogfiADQShqKQMANwMA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IGooArQBIgEgB08EfyAHBSAHIAEiBWsiBiBqQbABaigCACABa0sEQCMAQSBrImIkACABIAZqIgUgAUkNGUEEIGpBrAFqIgMoAgQiCEEBdCINIAUgBSANSRsiBSAFQQRNGyINQdgCbCEFIA1B/oL9AklBAnQhYwJAIAhFBEAgYkEANgIYDAELIGJBBDYCGCBiIAhB2AJsNgIcIGIgAygCADYCFAsgYkEIaiBjIAUgYkEUahDaBiBiKAIMIQUCQCBiKAIIRQRAIAMgDTYCBCADIAU2AgAMAQsgBUGBgICAeEYNACAFRQ0aDBwLIGJBIGokACBqKAK0ASEFCyBqKAKsASAFQdgCbGohAyAGQQJPBEAgByABQX9zaiIBQQNxIQcgBkECa0EDTwRAIAFBfHEhbQNAIANBfzYCCCADQn83AgAgA0EMakEAQZQCEIkNGiADQgA3AqQCIANBgICA/AM2AqACIANBrAJqQgA3AgAgA0G0AmpCADcCACADQbwCakIANwIAIANBxAJqQgA3AgAgA0HMAmpCADcCACADQdQCakEANgIAIANB4AJqQX82AgAgA0HYAmpCfzcCACADQeQCakEAQZQCEIkNGiADQfwEakIANwIAIANB+ARqQYCAgPwDNgIAIANBhAVqQgA3AgAgA0GMBWpCADcCACADQZQFakIANwIAIANBnAVqQgA3AgAgA0GkBWpCADcCACADQawFakEANgIAIANBuAVqQX82AgAgA0GwBWpCfzcCACADQbwFakEAQZQCEIkNGiADQdQHakIANwIAIANB0AdqQYCAgPwDNgIAIANB3AdqQgA3AgAgA0HkB2pCADcCACADQewHakIANwIAIANB9AdqQgA3AgAgA0H8B2pCADcCACADQYQIakEANgIAIANBkAhqQX82AgAgA0GICGpCfzcCACADQZQIakEAQZQCEIkNGiADQawKakIANwIAIANBqApqQYCAgPwDNgIAIANBtApqQgA3AgAgA0G8CmpCADcCACADQcQKakIANwIAIANBzApqQgA3AgAgA0HUCmpCADcCACADQdwKakEANgIAIANB4ApqIQMgbUEEayJtDQALCyAHBEADQCADQX82AgggA0J/NwIAIANBDGpBAEGUAhCJDRogA0IANwKkAiADQYCAgPwDNgKgAiADQawCakIANwIAIANBtAJqQgA3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A0EQakIANwMAIANBGGpCADcDACBzQgA3AwAgdEIANwMAIGRBkApqIgNBCGpCADcDACADQRBqQgA3AwAgZEGICmpBADYCACBkQgA3A4gFIGRCADcDkAogZEIANwOACkMAAIA/ISFDAAAAACEZQwAAAAAhH0MAAAAAISVDAAAAACEiQwAAAAAhHUMAAAAAISRDAAAAACE8QwAAAAAhM0MAAAAAIRZDAAAAACEwQwAAAAAhKkMAAAAAIStDAAAAACEnQwAAAAAhEkMAAAAAIRFDAAAAACEUQwAAAAAhGkMAAAAAIRcMAQsgA0HoAWoiYioCACEWIANB5AFqKgIAITMgA0HgAWoiYyoCACE8IANBjAFqKgIAISQgA0GIAWoqAgAhHSADQYQBaioCACEiIANBgAFqKgIAISUgA0H8AGoqAgAhHyADQfgAaioCACEZIANBQGsqAgAhJyADQTxqKgIAISsgA0E4aioCACEqIANBNGoqAgAhISADQTBqKgIAIRIgA0EsaioCACERIANBKGoqAgAhFCBkQQhqIgZBEGoicEIANwMAIAZBCGoibkIANwMAIGRCADcDCCBkQcgKaiJvQQhqIncgA0H0AWooAgA2AgAgZCADQewBaikCADcDyAogeEEQaiADQagBaikDADcDACB4QQhqIANBoAFqKQMANwMAIHggA0GYAWopAwA3AwAggwEgYykCADcCACCDAUEIaiBiKAIANgIAIANB2AJqKgIAITAgA0GQAWoqAgAhFyADQZQBaioCACEaIGRBiApqIANByAFqKAIANgIAIGQgA0HAAWopAgA3A4AKIHQgBkEoaikDADcDACBzIAZBIGopAwA3AwAgZEGIBWoiA0EYaiB4KQMANwMAIANBEGogcCkDADcDACADQQhqIG4pAwA3AwAgZCBkKQMINwOIBSBkQZAKaiIDQRBqIG9BEGopAwA3AwAgA0EIaiB3KQMANwMAIGQgZCkDyAo3A5AKCyAHRQ0EIHVFDQUgBSByTw0FIHUgBUHoAmxqIm4oAgBFDQUgbigCBCANRw0FIAUglQFPDQYghAFFDQYghAEgBUEUbGoiAygCACANRw0GIAMoAgQieyCJAU8NByCAAUUNByCAASB7QZQCbGoiZS0AkAJBAkYNByADQQhqKAIAIoYBIGUoAgBHDQcgA0EQaigCACFxIANBDGoo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ayBrKQDrATcDOCBrQdACaiIDQShqQgA3AwAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0EIakIANwMAIGtCADcD0AIgACJqKALUAiIAIAFPBH8gAQUgASAAImJrIgUgakHQAmooAgAgAGtLBEAjAEEgayIDJAAgACAFaiIHIABJDQhBBCBqQcwCaiIIKAIEIgtBAXQiDCAHIAcgDEkbIgcgB0EETRsiDEHgA2whByAMQcWIkQJJQQN0IQ0CQCALRQRAIANBADYCGAwBCyADQQg2AhggAyALQeADbDYCHCADIAgoAgA2AhQLIANBCGogDSAHIANBFGoQ2gYgAygCDCEHAkAgAygCCEUEQCAIIAw2AgQgCCAHNgIADAELIAdBgYCAgHhGDQAgB0UNCSAHIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsgA0EgaiQAIGooAtQCIWILIGooAswCIGJB4ANsaiEDIAVBAk8EQCAAQX9zIAFqIQEga0GTAmohBwNAIANCADcDCCADQgA3AwAgA0H////7BzYCUCADQoCAgIDw//+/fzcDSCADQv////v///+//wA3A0AgA0L////7BzcDOCADQoCAgIDw//+/fzcDMCADQv////v///+//wA3AyggA0L////7BzcDICADQoCAgIDw//+/fzcDGCADQv////v///+//wA3AxAgAyBrKQPYATcCVCADQYCAgPwDNgJkIAMgaykDwAE3A2ggA0HcAGoga0HgAWopAwA3AgAgA0HwAGoga0HAAWoiAEEIaikDADcDACADQfgAaiAAQRBqKQMANwMAIANCADcDiAEgA0KAgID8AzcDgAEgA0L////7BzcDoAEgA0EAOgCoASADQv////sHNwK8ASADQQA6AMQBIAMgaykDsAE3A5ABIANBmAFqIGtBuAFqKQMANwMAIAMgaykDmAE3AKkBIANBsQFqIGtBmAFqIgBBCGopAwA3AAAgA0G4AWogAEEPaigAADYAACADIGspA4ABNwDFASADQc0BaiBrQYABaiIAQQhqKQMANwAAIANB1AFqIABBD2ooAAA2AAAgA0EAOgDgASADQv////sHNwPYASADQQA6APwBIANC////+wc3AvQBIANBADoAmAIgA0L////7BzcDkAIgA0HwAWoga0HoAGoiAEEPaigAADYAACADQekBaiAAQQhqKQMANwAAIAMgaykDaDcA4QEgA0GMAmoga0HQAGoiAEEPaigAADYAACADQYUCaiAAQQhqKQMANwAAIAMgaykDUDcA/QEgA0GoAmoga0E4aiIAQQ9qKAAANgAAIANBoQJqIABBCGopAwA3AAAgAyBrKQM4NwCZAiADQQA6ALQCIANC////+wc3AqwCIANBtwJqIActAAA6AAAgAyBrLwCRAjsAtQIgA0J/NwPAAiADQYACOwG8AiADQQA2ArgCIANB8AJqIGtBgANqIgBBKGopAwA3AwAgA0HoAmogAEEgaikDADcDACADQeACaiAAQRhqKQMANwMAIANB2AJqIABBEGopAwA3AwAgA0HQAmogAEEIaikDADcDACADIGspA4ADNwPIAiADQX82AvgCIANBpANqIGtB0AJqIgBBKGopAwA3AgAgA0GcA2ogAEEgaikDADcCACADQZQDaiAAQRhqKQMANwIAIANBjANqIABBEGopAwA3AgAgA0GEA2ogAEEIaikDADcCACADIGspA9ACNwL8AiADQX82ArwDIANC/////x83ArQDIANCfzcCrAMgA0HIA2oga0HAAmooAgA2AgAgAyBrKQO4AjcDwAMgA0KBgICAcDcCzAMgA0HcA2oga0GsAmooAgA2AgAgAyBrKQKkAjcC1AMgA0HgA2ohAyABQQFrIgENAAsgBSBiakEBayFiCyADQv////v///+//wA3AxAgA0IANwMIIANCADcDACADQf////sHNgJQIANCgICAgPD//79/NwNIIANC////+////7//ADcDQCADQv////sHNwM4IANCgICAgPD//79/NwMwIANC////+////7//ADcDKCADQv////sHNwMgIANCgICAgPD//79/NwMYIAMgaykD2AE3AlQgA0GAgID8AzYCZCADIGspA8ABNwNoIANB3ABqIGtB4AFqKQMANwIAIANB8ABqIGtBwAFqIgBBCGopAwA3AwAgA0H4AGogAEEQaikDADcDACADQgA3A4gBIANCgICA/AM3A4ABIANC////+wc3A6ABIANBADoAqAEgA0L////7BzcCvAEgA0EAOgDEASADIGspA7ABNwOQASADQZgBaiBrQbgBaikDADcDACADIGspA5gBNwCpASADQbEBaiBrQZgBaiIAQQhqKQMANwAAIANBuAFqIABBD2ooAAA2AAAgAyBrKQOAATcAxQEgA0HNAWoga0GAAWoiAEEIaikDADcAACADQdQBaiAAQQ9qKAAANgAAIANBADoA4AEgA0L////7BzcD2AEgA0EAOgD8ASADQv////sHNwL0ASADQQA6AJgCIANC////+wc3A5ACIANB8AFqIGtB6ABqIgBBD2ooAAA2AAAgA0HpAWogAEEIaikDADcAACADIGspA2g3AOEBIANBjAJqIGtB0ABqIgBBD2ooAAA2AAAgA0GFAmogAEEIaikDADcAACADIGspA1A3AP0BIANBqAJqIGtBOGoiAEEPaigAADYAACADQaECaiAAQQhqKQMANwAAIAMgaykDODcAmQIgA0EAOgC0AiADQv////sHNwKsAiADQbcCaiBrQZMCai0AADoAACADIGsvAJECOwC1AiADQn83A8ACIANBgAI7AbwCIANBADYCuAIgA0HwAmoga0GAA2oiAEEoaikDADcDACADQegCaiAAQSBqKQMANwMAIANB4AJqIABBGGopAwA3AwAgA0HYAmogAEEQaikDADcDACADQdACaiAAQQhqKQMANwMAIAMgaykDgAM3A8gCIANBfzYC+AIgA0GkA2oga0HQAmoiAEEoaikDADcCACADQZwDaiAAQSBqKQMANwIAIANBlANqIABBGGopAwA3AgAgA0GMA2ogAEEQaikDADcCACADQYQDaiAAQQhqKQMANwIAIAMgaykD0AI3AvwCIANBfzYCvAMgA0L/////HzcCtAMgA0J/NwKsAyADQcgDaiBrQcACaigCADYCACADIGspA7gCNwPAAyADQoGAgIBwNwLMAyADQdwDaiBrQawCaigCADYCACADIGspAqQCNwLUAyAGKAIAIQEgYkEBagshACBqIAA2AtQCQQAhBUEAIW4CQAJAAkACQCABIAAgACABSxsiZ0UNACBqKALgASEHIHVFDQEgaigCzAIhYiB6KAIQIW0geigCCCFsIHooAiQhcSB6KAIcIXAga0GAA2oiAEEkaiFkIABBGGohdyBrQdACaiIAQSRqIWUgAEEYaiFoQQAhCwJAAkACQANAIAogBygCACIITQ0GIAkgCEGAA2xqImMoAhAiDSByTw0HIHUgDUHoAmxqIgAoAgBFDQcgY0EUaigCACJ+IAAoAgRHDQcCQCBjQRhqKAIAImkgck8NACB1IGlB6AJsaiIBKAIARQ0AIGNBHGooAgAieCABKAIERw0AIGhBCGogAEH0AWooAgA2AgAgaCAAQewBaikCADcCACBrQdACaiIDQRBqInMgAEGoAWopAwA3AwAgA0EIaiJ0IABBoAFqKQMANwMAIGsgAEGYAWopAwA3A9ACIGVBCGogAEHIAWooAgA2AgAgZSAAQcABaikCADcCACAAQRBqKAIAIXkgd0EIaiABQfQBaigCADYCACB3IAFB7AFqKQIANwIAIGtBgANqIgBBCGoidiABQaABaikDADcDACAAQRBqInwgAUGoAWopAwA3AwAgayABQZgBaikDADcDgAMgZCABQcABaikCADcCACBkQQhqIAFByAFqKAIANgIAIAFBEGooAgAhAUEBIQxBBiEDAkAgDSBxTwRAIAEhBgwBCyBwRQRAIAEhBgwBCyABIQYgcCANQRRsaiIAKAIAIH5HDQAgbSAAKAIEIgZNDQMgbEUNAyBsIAZBlAJsaiIDLQCQAkECRg0DIAMoAgAgAEEIaiIAKAIARw0DIGtBwAJqIABBCGooAgA2AgAgayAAKQIANwO4AiADQYgCaigCACEDQQAhDAsCfwJAAkAgaSBxTw0AIHBFDQAgcCBpQRRsaiINKAIAIHhGDQELIANBBmohaSABIQBBAQwBCyBtIA0oAgQiAE0NBCBsRQ0EIGwgAEGUAmxqImktAJACQQJGDQQgaSgCACANQQhqIg0oAgBHDQQga0HIAWogDUEIaigCADYCACBrIA0pAgA3A8ABIGlBiAJqKAIAIANqIWlBAAshAwJAIGlFBEAgYkGwA2pBADYCAAwBCyBpQQxsIAtqIgUgaigCxAFLBEAgbyAFEPQCCyBiQcADaiBrKQO4AjcCACBiQcgDaiBrQcACaigCADYCACBiIGNBQGtBwAIQiA0iDUH4AmogeTYCACANQcQCaiALNgIAIA1BwAJqIAg2AgAgDUHwAmoga0HQAmoiCEEoaikDADcDACANQegCaiAIQSBqKQMANwMAIA1B4AJqIGgpAwA3AwAgDUHYAmogcykDADcDACANQdACaiB0KQMANwMAIA1ByAJqIGspA9ACNwMAIA1B/AJqIGspA4ADNwIAIA1BhANqIHYpAwA3AgAgDUGMA2ogfCkDADcCACANQZQDaiB3KQMANwIAIA1BnANqIGtBgANqIghBIGopAwA3AgAgDUGkA2ogCEEoaikDADcCACANQdADaiAANgIAIA1BzANqIAM2AgAgDUG8A2ogBjYCACANQbgDaiAMNgIAIA1BtANqIG42AgAgDUGwA2ogaTYCACANQawDaiABNgIAIA1B1ANqIGspA8ABNwIAIA1B3ANqIGtByAFqKAIANgIAIG4gY0H7AmotAAAiACBjQfgCai0AACIBQX9zIgMgY0H6AmotAABxIgZxIghBOHFBAEdqIAhBB3FBAEdqIGNB+QJqLQAAIANxIgMgAHEiCEE4cUEAR2ogCEEHcUEAR2ogAEF/cyIAIANxaSAAIAZxaSABaWpqaiFuIAUhCwsgB0EEaiEHIGJB4ANqIWIgZ0EBayJnRQ0EDAELC0Hsm8EAQRNB0N3BABDhCQALQeybwQBBE0Hg3cEAEOEJAAtB7JvBAEETQfDdwQAQ4QkACyBqKAKkAiIAIG5PDQAgbiAAImNrIgYgakGgAmooAgAgAGtLBEAgakGcAmogACAGEJ4GIGooAqQCIWMLIGooApwCIGNByABsaiEDIAZBAk8EQCBuIABBf3NqIgBBAXEhByAGQQJHBEAgAEF+cSEBA0AgA0J/NwIIIANCADcCACADQQA7AUQgA0L////79///v/8ANwI8IANC////+/f//7//ADcCNCADQv////v3//+//wA3AiwgA0KAgICA8P//v383AiQgA0EQakJ/NwIAIANBGGpCfzcCACADQSBqQX82AgAgA0HIAGpCADcCACADQdAAakJ/NwIAIANB2ABqQn83AgAgA0HgAGpCfzcCACADQegAakF/NgIAIANBhAFqQv////v3//+//wA3AgAgA0H8AGpC////+/f//7//ADcCACADQfQAakL////79///v/8ANwIAIANB7ABqQoCAgIDw//+/fzcCACADQYwBakEAOwEAIANBkAFqIQMgAUECayIBDQALCyAGIGNqQQFrIWMgBwRAIANCfzcCCCADQgA3AgAgA0EAOwFEIANC////+/f//7//ADcCPCADQv////v3//+//wA3AjQgA0L////79///v/8ANwIsIANCgICAgPD//79/NwIkIANBEGpCfzcCACADQRhqQn83AgAgA0EgakF/NgIAIANByABqIQMLCyADQn83AgggA0IANwIA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//8PNwIQIANC/////w83AgggA0IANwIAIANBLGpCADcCACADQTRqQQA2AgAgA0HYAGpB////+wc2AgAgA0HQAGpCgICAgPD//79/NwIAIANByABqQv////8PNwIAIANBQGtC/////w83AgAgA0E4akIANwIAIANB3ABqQgA3AgAgA0HkAGpCADcCACADQewAakEANgIAIANB8ABqIQMgAUECayIBDQALCyAFIGNqQQFrIWMgBwRAIANCADcCJCADQf////sHNgIgIANCgICAgPD//79/NwIYIANC/////w83AhAgA0L/////DzcCCCADQgA3AgAgA0EsakIANwIAIANBNGpBADYCACADQThqIQMLCyADQgA3AiQgA0H////7BzYCICADQoCAgIDw//+/fzcCGCADQv////8PNwIQIANC/////w83AgggA0IANwIAIANBLGpCADcCACADQTRqQQA2AgAgY0EBaiEGCyBqIAY2ArwCIJ4BBEAgngFBAWshhgEgBCgCECGLASAEKAIIIYwBIHooAiQhkAEgeigCHCGCASB6KAIQIXcgeigCCCFwIGsoAighkQEgaygCLCGSASBrKgIEISRBACFtA0AgaigC/AIhASBqKAKEAyJkIGooApADIgAgACBkSxsiYgRAIGooAogDIQVBACFnA0AgBSBnaiIDQQhqKgIAIQ8gA0EEaioCACEOIAEgZ2oiACADKgIAIAAqAgCSOAIAIABBBGoiBiAOIAYqAgCSOAIAIABBCGoiBiAPIAYqAgCSOAIAIANBFGoqAgAhDyADQRBqKgIAIQ4gAEEMaiIGIANBDGoqAgAgBioCAJI4AgAgAEEQaiIDIA4gAyoCAJI4AgAgAEEUaiIAIA8gACoCAJI4AgAgZ0EYaiFnIGJBAWsiYg0ACwsga0EBNgLEASBrIGooAqADIng2AsABIGtBATYC1AIgayBqKAKwAyIANgLQAgJAAkACQAJAAkACQCAAIHhGBEAgaigClAMhfgJAIGooAqwDIgBFDQAgaigCpAMhBSAAQQNxIWJBACFpIABBBE8EQCAAQXxxIQZBACFmA0AgZiB+aiIAIAUgZmoiAyoCACAAKgIAkjgCACAAQQRqIgcgA0EEaioCACAHKgIAkjgCACAAQQhqIgcgA0EIaioCACAHKgIAkjgCACAAQQxqIgAgA0EMaioC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GGogA0EcaioCADgCACADQdwAaiADQeQAaikCADcCACADQaABaiADQaQBaioCADgCACADQeQBaiADQewBaikCADcCACADQagCaiADQawCaioCADgCACADQewCaiADQfQCaikCADcCACADQbADaiADQbQDaioCADgCACADQfQDaiADQfwDaikCADcCACADIAUgAEEBQQAQZSADQewEaiEDDAELIGlBgICA/AM2AtAEIGkgaSoCHDgCGCBpQdwAaiBpQeQAaikCADcCACBpQaABaiBpQaQBaioCADgCACBpQeQBaiBpQewBaikCADcCACBpQagCaiBpQawCaioCADgCACBpQewCaiBpQfQCaikCADcCACBpQbADaiBpQbQDaioCADgCACBpQfQDaiBpQfwDaikCADcCAEEAIQMgaSAMIAsgBSAAIAcgBkEBQQAQJiBpQfwEaiFpDAALAAtB9MLAAEErQbTowQAQqgoACyAAIAxB0LLBABDiCAALIGtCADcC3AIga0GYv8AANgLYAiBrQQE2AtQCIGtBwIjBADYC0AIga0G4Amoga0HAAWoga0HQAmpBsInBABDgCgALQeybwQBBE0GkyMEAEOEJAAsgbSCeAUcNAAsgaigCvAIhBgsgakGoAmooAgAiYyBqKAKwAkHUAGxqIQggakGcAmooAgAiZiBqKAKkAkHIAGxqIQsgakGQAmooAgAiAyBqKAKYAkHwAGxqIQwgaigCtAIiASAGQThsaiEGQQEhBwNAAkACfwJAAkACQCAHDgMBAAIACwJAIANFDQAgAyAMRg0AIANB8ABqIWJBAQwDC0EAIQMgZkUNACALIGZGDQBBACFiIGYiA0HIAGohZkEDDAILIGNFDQAgCCBjRg0AQQAhByADIWIgYyIDQdQAaiFjQQAMAQsgAUUNASABIAZGDQFBAiEHIAMhYiABIgNBOGohAUECCyFpIGsgAzYChAMgayBpNgKAAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAga0GAA2oiACgCAEEBaw4DAQIDAAsCQAJAAkAgACgCBCIAKAIMIgMgCkkEQCAAKAIAQQFrDgICAwELIAMgCkGY5sEAEOMIAAsgACgCBCIFQQZPDQYgCSADQYADbGogBUECdGpBIGogACoCEDgCAAwOCyAAKAIEIgVBBkkNBCAFQQZBuObBABDjCAALIAAoAgQiBUEGSQ0LIAVBBkHI5sEAEOMIAAsCQAJAAkAgACgCBCIAKAIQIgMgCkkEQCAAKAIAQQFrDgICAwELIAMgCkHY48EAEOMIAAsgACgCBCIFQQZPDQYgCSADQYADbGogBUECdGpBIGogACoCFDgCAAwNCyAAKAIEIgVBBkkNCiAFQQZB+OPBABDjCAALIAAoAgQiBUEGSQ0IIAVBBkGI5MEAEOMIAAsCQAJAIAAoAgQiACgCFCIDQX9HBEACQAJAAkACQAJAIAMgCkkEQCAAKAIAQQFrDgICAwELIAMgCkHg28EAEOMIAAsgACgCBCIFQQZPDQIgCSADQYADbGogBUECdGpBIGogACoCGDgCAAwGCyAAKAIEIgVBBkkNBCAFQQZBgNzBABDjCAALIAAoAgQiBUEGSQ0BIAVBBkGQ3MEAEOMIAAtBwIXBAEEbQfDbwQAQuwsACyAJIANBgANsaiAFQRxsakHkAWogACoCGDgCAAsMAQsgCSADQYADbGogBUEMbGpB2ABqIAAqAhg4AgALDAoLAkACQAJAIAAoAgQiACgCICIDIApJBEAgACgCAEEBaw4CAgMBCyADIApBgNrBABDjCAALIAAoAgQiBUEGTw0FIAkgA0GAA2xqIAVBAnRqQSBqIAAqAiQ4AgAMCwsgACgCBCIFQQZJDQYgBUEGQaDawQAQ4wgACyAAKAIEIgVBBkkNBCAFQQZBsNrBABDjCAALIAkgA0GAA2xqIAVBDGxqQdgAaiAAKgIQOAIADAgLQcCFwQBBG0Go5sEAELsLAAtBwIXBAEEbQejjwQAQuwsAC0HAhcEAQRtBkNrBABC7CwALIAkgA0GAA2xqIAVBHGxqQeQBaiAAKgIkOAIADAQLIAkgA0GAA2xqIAVBDGxqQdgAaiAAKgIkOAIADAMLIAkgA0GAA2xqIAVBHGxqQeQBaiAAKgIUOAIADAILIAkgA0GAA2xqIAVBDGxqQdgAaiAAKgIUOAIADAELIAkgA0GAA2xqIAVBHGxqQeQBaiAAKgIQOAIACyBiIQMMAQsLIGooAnwiZiBqQYQBaigCAEHUA2xqIQAgaigCcCJpIGpB+ABqKAIAQcwDbGohBSBqKAJkImIgakHsAGooAgBB/ARsaiEGIGooAlgiAyBqQeAAaigCAEHsBGxqIQdBASEBA0ACQAJAAkACQAJAAkACQCABDgMBAAIACyADQQBHIAMgB0dxDQMgBiBiRw0EQQAhAwsgBSBpRw0BCyAAIGZGDQMgZiCHASCBARDOBCBmQdQDaiFmQQIhAQwECyBpIIcBIIEBEM4EIGlBzANqIWlBACEBDAMLIAMghwEggQEQzwQgA0HsBGohAwwCCyBiIIcBIIEBEM8EIGJB/ARqIWJBACEDDAELCwJAAkAgmwEoAgAiASCcASgCACIDTwRAIAEgigFLDQ0CQAJAIAEgA0cEQCAEKAIQIQsgBCgCCCEEIAIqAgQhEiCUASABQQN0aiEMIJQBIANBA3RqIWYgaigC8AIhDSBqKAL8AiFjIGooAoQDIQUgaigC+AIhBiBqKAKUAyEHIGooAqADIWkgeigCECFsIHooAgghCCB6KAIkIXAgeigCHCEJIGooArwDIWoDQCBmKAIEIQIgZigCACEAAkACQAJAIGpFDQAgACBwTw0AIAlFDQAgCSAAQRRsaiIBKAIAIAJHDQACQCABKAIEIgAgbE8NACAIRQ0AIAggAEGUAmxqIgAtAJACIgJBAkYNACAAKAIAIAFBCGooAgBGDQILQfTCwABBK0HE6MEAEKoKAAsgACALTw0HIARFDQcgBCAAQegCbGoiACgCAEUNByAAKAIEIAJHDQcgAEEQaigCACICIAZPDQQgAiAFTw0FIA0gAkH8AGxqIgEqAhghFiABQRxqKgIAIREgAUEkaioCACEaIAFBNGoqAgAhFyABQSxqKgIAIRkgYyACQRhsaiICQRRqKgIAIQ8gAioCDCEOIAFBIGoqAgAhFCABQShqKgIAIRMgAkEQaioCACEQIAIqAgAhJCACKgIEISIgAioCCCEVIAEqAjAhHSABKgIAIRggASoCBCEeIABB6ABqIAEqAgggUZU4AgAgAEHkAGogHiBRlTgCACAAQeAAaiAYIFGVOAIAIAEqAgwhGCABQRBqKgIAIR4gAUEUaioCACEhIABBgAFqIBVDAACAPyASIB2UQwAAgD+SlSIVlDgCACAAQfwAaiAiIBWUOAIAIABB+ABqICQgFZQ4AgAgAEH0AGogISBRlTgCACAAQfAAaiAeIFGVOAIAIABB7ABqIBggUZU4AgAgAEGMAWogDiAUlCAQIBOUkiAPIBmUkkMAAIA/IBIgF5RDAACAP5KVIhWUOAIAIABBiAFqIA4gEZQgECAalJIgDyATlJIgFZQ4AgAgAEGEAWogDiAWlCAQIBGUkiAPIBSUkiAVlDgCACABKQI4IaIBIAFBQGspAgAhowEgAUHIAGopAgAhpAEgAEHcAGogAUHQAGooAgA2AgAgAEHUAGogpAE3AgAgAEHMAGogowE3AgAgAEHEAGogogE3AgAMAQsCQAJAIAFBEGooAgAOAgEAAgsgAg0BCyAAQYgCaigCACIBIABBjAJqKAIAIgJqIGlLDRUgASAAQRxqKAIARw0HIAFFDQAgAkECdCECIABBEGooAgAhCiABQQNxIWdBACFiIAFBBE8EQCACIAdqIXogAUF8cSFuQQAhAwNAIAMgCmoiACADIHpqIgEqAgA4AgAgAEEEaiABQQRqKgIAOAIAIABBCGogAUEIaioCADgCACAAQQxqIAFBDGoqAgA4AgAgA0EQaiEDIG4gYkEEaiJiRw0ACwsgZ0UNACAHIGJBAnQiACACamohAyAAIApqIQEDQCABIAMqAgA4AgAgA0EEaiEDIAFBBGohASBnQQFrImcNAAsLIAwgZkEIaiJmRw0ACwsga0GwA2okAA8LIAIgBkHU6MEAEOMIAAsgAiAFQeTowQAQ4wgACwwNC0Hsm8EAQRNB6OnBABDhCQALDAwLIAAoAgAiYyAKSQ0BCyBjIApB2NbBABDjCAALQeybwQBBE0Hg38EAEOEJAAsgCiBiKAIAIgBLDQELIAAgCkGo1sEAEOMIAAtB7JvBAEETQaTUwQAQ4QkACyAKIAcoAgAiCEsNAQsgCCAKQcjWwQAQ4wgAC0Hsm8EAQRNBwN3BABDhCQALQeybwQBBE0HU08EAEOEJAAsgASCKAUG4qcEAEOQIAAsgAyABQbipwQAQ5QgAC0HYi8EAQTRBjIzBABC7CwALQab+wABBHUGw/8AAELsLAAsgAQRAIAEgAEEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACwsQ2woACyAIIAFBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsgAyABQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALQQQgAUHQgcQAKAIAIgBBlwcgABsRAAAAC5TUAgNKfyx9BX4jAEGAA2siFCQAIAAtAMgDBEAgAEIANwMQIABB2AFqQQA2AgAgAEGgAWpCADcDACAAQYgBakIANwMAIABB8ABqQgA3AwAgAEHYAGpCADcDACAAQUBrQgA3AwAgAEEoakIANwMAIABBwANqQQA2AgAgAEG4AmpCADcDACAAQaACakIANwMAIABBiAJqQgA3AwAgAEHwAWpCADcDACAAQdABakIANwMAIABBuAFqQgA3AwAgAEG4A2pCADcDACAAQaADakIANwMAIABBiANqQgA3AwAgAEHwAmpCADcDACAAQdgCakIANwMAIABB0AJqQgA3AwALIAhByABqIg8oAgAhESAPQQA2AgAgCUHIAGoiDygCACEVIA9BADYCACAJKAJAIhIgFUEDdGohKSAIKAJAIg8gEUEDdGohHSAGKAIQIR8gBigCCCEWAkACQAJAAkACQAJAA0ACQAJ/AkAgDwRAIA8gHUcNAUGYv8AAIR0LAkAgEkUNACASIClGDQAgEiIVQQhqIRJBAAwCCyAHKQIcIYUBIAdCBDcCHCAUQRBqIhpBCGoiKiAHQSRqIhIoAgAiDzYCACASQQA2AgAgFCCFATcDECAUQShqIAdBMGoiEigCADYCACASQQA2AgAgBykCKCGGASAHQgQ3AiggFCCGATcDICCFAachEQJAIA9FDQAgBygCCCIXRQ0AIBEgD0EDdGohFiAGQRxqISkgBygCECEYA0ACQCARKAIAIg8gGE8NACAXIA9BqAFsaiISKAIARQ0AIBIoAgQgEUEEaigCAEcNAAJAIBJB+ABqKAIAIhNBBHFFDQAgEigCCEUNAAJAAkAgEkEMaigCACIPIAYoAhBPDQAgBigCCCIZRQ0AIBkgD0HoAmxqIg8oAgBFDQAgDygCBCASQRBqKAIARg0BC0Hsm8EAQRNB/IfCABDhCQALIBJBLGoqAgAhXyASQShqKgIAIWEgEkEkaioCACFgIBJBIGoqAgAhXSASQRxqKgIAIVwgEkEYaioCACFeIBJBFGoqAgAhYiAPQThqKgIAIWMgD0E8aioCACFkIA9BQGsqAgAhZyAPQTBqKgIAIVkgD0EsaioCACFlIA9BNGoqAgAhWyAPQShqKgIAIVogEiATQQhyIhM2AnggEkGIAWogXSBblCBiIFqUkyBeIGWUkyBcIFmUkzgCACASQYQBaiBdIFmUIF4gWpQgXCBblJIgYiBllJOSOAIAIBJBgAFqIGIgWZQgXSBllCBeIFuUIFwgWpSTkpI4AgAgEkH8AGogXCBllCBdIFqUIGIgW5SSkiBeIFmUkzgCACASQZQBaiBnIF8gWyBhIFqUIGAgZZSTIl0gXZIiXZQgWiBgIFmUIF8gWpSTIlwgXJIiXJQgZSBfIGWUIGEgWZSTIl4gXpIiXpSTkpKSOAIAIBJBkAFqIGQgYSBbIFyUIFkgXpQgWiBdlJOSkpI4AgAgEkGMAWogYyBgIFsgXpQgZSBdlCBZIFyUk5KSkjgCAAsgE0GmAnFFDQAgEigCCEUNACASQQxqKAIAIhMgBigCEE8NACAGKAIIIg9FDQAgDyATQegCbGoiDygCAEUNACASQRBqKAIAIhkgDygCBEcNACAPIhJBsAJqKAIAIg9BAXFFBEAgEkEBNgKwAiAGKAIkIg8gBigCIEYEQCApIA8QqwYgBigCJCEPCyAGKAIcIA9BA3RqIiAgGTYCBCAgIBM2AgAgBiAPQQFqNgIkIBIoArACIQ8LIBIgD0HAAHI2ArACCyAWIBFBCGoiEUcNAAsLIAZBIGoiDygCACFUIAZBJGooAgAhJiAPQgA3AgAgBigCHCFBIAZBBDYCHCAIITEgQSEYQQAhFiMAQSBrIhAkAAJAAkACQAJAAkACQCAmRQ0AIANBDGohNCAYICZBA3RqISwgBigCECE5IDEoAjwhISAxKAIwIRwgMSgCJCEwIDEoAhwhKyAHKAIQIUAgMSgCNCEeIDEoAighJCAHKAIIISggBigCCCEnA0AgJ0UNAQNAAkACQCAYKAIAIiIgOU8NACAnICJB6AJsaiIZKAIARQ0AIBhBBGooAgAiLSAZKAIERg0BCyAsIBhBCGoiGEcNAQwDCwsgGUGwAmooAgAhIyAZQRBqKQMAIYUBIBlBDGooAgAhEyAZKAIIITUgEEEIaiIPQRBqIjMgGUHUAmoiCCgCADYCACAPQQhqIkcgGUHMAmopAgA3AwAgECAZQcQCaiIvKQIANwMIAkACQCADBEAgGUHmAmotAAANAQsgI0EKcSEPQQMhIAwBC0EDISACQCAjQRBxRQ0AAkACQAJAIBlB5QJqLQAAQQFrDgMDAQEACyADKAIUIhIgE00NAiA0KAIAIg8gE0EDdGoiESgCACAiRw0CIA8gE0EDdGooAgQgLUcNAiARIA8gEkEBayIXQQN0aikCADcCAEEAISAgEyEWDAELAn9BAyADKAIIIhIgE00NABpBAyADKAIAIg8gE0EDdGoiESgCACAiRw0AGkEDIA8gE0EDdGooAgQgLUcNABogAyASQQFrIhI2AgggESAPIBJBA3RqKQIANwIAIBMhFkEBCyEgAkAgAygCFCIPIBNNDQAgNCgCACATQQN0aiISKAIAICJHDQAgEigCBCAtRg0CCyAPIhcgAygCEEYEQCA0IA8QqwYgAygCFCEXCyA0KAIAIBdBA3RqIhIgLTYCBCASICI2AgAgF0EBaiEXIA8hEwsgAyAXNgIUCwJAICNBCnEiD0UNACAZQeUCai0AAEECSQ0AAkAgAygCFCIRIBNNDQAgNCgCACATQQN0aiISKAIAICJHDQAgEigCBCAtRg0BCyARIhIgAygCEEYEQCA0IBEQqwYgAygCFCESCyADIBJBAWo2AhQgAygCDCASQQN0aiISIC02AgQgEiAiNgIAIBEhEwsgI0EEcUUNACAZLQDmAkUNACAILQAAIBlB5QJqLQAAcg0AAkAgEyADKAIIIghPDQAgAygCACATQQN0aiISKAIAICJHDQAgEigCBCAtRg0BCyAIIRcgAygCBCAIRgRAIAMgCBCrBiADKAIIIRcLIAMgF0EBajYCCCADKAIAIBdBA3RqIhIgLTYCBCASICI2AgAgCCETCyAPBEAgGUG4AmogByAaIBlBKGoQlwILAkAgI0EwcUUNACAZQcACaigCACIPRQ0AIChFDQYgGUG4AmooAgAiCCAPQQN0aiEpA0AgCCgCACIXIEBPDQcgKCAXQagBbGoiDygCAEUNByAIQQRqKAIAIiUgDygCBEcNByAPIhFB+ABqKAIAIg9BAXFFBEAgGigCCCISIBooAgRGBEAgGiASEKsGIBooAgghEgsgGiASQQFqNgIIIBooAgAgEkEDdGoiDyAlNgIEIA8gFzYCACARKAJ4IQ8LIBEgD0GBAXI2AnggKSAIQQhqIghHDQALCyAjQYABcQRAIBlBwAJqKAIAIg8EQCAoRQ0GIBlBuAJqKAIAIgggD0EDdGohFwNAIAgoAgAiESBATw0HICggEUGoAWxqIg8oAgBFDQcgCEEEaigCACIpIA8oAgRHDQcgD0H4AGotAABBAXFFBEAgGigCCCISIBooAgRGBEAgGiASEKsGIBooAgghEgsgGiASQQFqNgIIIBooAgAgEkEDdGoiEiApNgIEIBIgETYCAAsgD0HqAGotAAAhEQJAAkAgGS0A5gIiKQRAQQAhEiARQQFGDQELQQEhEiARIClyDQELIA8gEjoAagsgDyAPKAJ4QYECcjYCeCAXIAhBCGoiCEcNAAsLAkAgIiAwTw0AICtFDQAgKyAiQQN0aiIPKAIAIC1HDQAgD0EEaiESAkAgHkUEQCAkRQ0CIBIoAgAiCCAcTw0CICQgCEEEdGoiCEEMaigCAEF/Rw0BIAgoAghBf0YNAgwHC0EAIRcCQCAkRQRAQQAhJQwBC0EAISUgEigCACISIBxPDQAgJCASQQR0aiIPKAIIIghBf0chJSAPQQxqKAIAIg9Bf0chFwsCQAJAAkAgGS0A5gJFBEADQAJAIBcEQCAPICFPDQcgHCAeIA9BgANsaiIRKAIIIhJNDQYgHCARQQxqKAIAIhJNDQwgESgCBCISQX9HIRcgCCERIA8hKSASIQ8MAQsgJUUNByAIICFPDQwgHCAeIAhBgANsaiIRKAIIIhJNDQMgHCARQQxqKAIAIhJNDQQgESgCACIRQX9HISVBACEXIA8hEiAIISkgESEICyAeIClBgANsakH8AmoiKS0AAA0AIClBAToAACARIQggEiEPDAALAAsDQAJAIBcEQCAPICFPDQYgHCAeIA9BgANsaiIRKAIIIhJNDQUgHCARQQxqKAIAIhJNDQsgESgCBCISQX9HIRcgCCERIA8hKSASIQ8MAQsgJUUNBiAIICFPDQsgHCAeIAhBgANsaiIRKAIIIhJNDQIgHCARQQxqKAIAIhJNDQMgESgCACIRQX9HISVBACEXIA8hEiAIISkgESEICyAeIClBgANsakH8AmoiKS0AAEEBRw0AIClBADoAACARIQggEiEPDAALAAsgEiAcQcj+wQAQ4wgACyASIBxB2P7BABDjCAALIBIgHEGY/sEAEOMIAAtB9MLAAEErQYj+wQAQqgoACyAgQQIgGS0A5gIbISALICNByABxBEAgGUGYAWogByAZQbgCaiAZQShqEJcBCyAZIIUBNwMQIBkgEzYCDCAZIDU2AgggLyAQKQMINwIAIC9BCGogRykDADcCACAvQRBqIDMoAgA2AgACQCADRQ0AICBBA0YNAAJAAkACQCAgQQFrDgICAAELIAMgIiAtIBMgBhC4AwwCCyAWIAMoAhRPDQEgNCgCACAWQQN0aiIPKAIAIgggOU8NEiAnRQ0SICcgCEHoAmxqIggoAgBFDRIgCCgCBCAPKAIERw0SIAhBDGogFjYCAAwBCyAWIAMoAghPDQACQCADKAIAIBZBA3RqIg8oAgAiCCA5Tw0AICdFDQAgJyAIQegCbGoiCCgCAEUNACAIKAIEIA8oAgRHDQAgCEEMaiAWNgIADAELDBELICwgGEEIaiIYRw0ACwsgEEEgaiQADAQLIBIgHEGo/sEAEOMIAAtB9MLAAEErQbj+wQAQqgoAC0Hsm8EAQRNBjITCABDhCQALQeybwQBBE0GMhMIAEOEJAAsCQCAqKAIAIghFDQAgFCgCECIPIAhBA3RqIQgDQAJAIAcoAggiEwRAIAcoAhAhFQNAAkAgDygCACISIBVPDQAgEyASQagBbGoiESgCAEUNACAPQQRqKAIAIhsgESgCBEcNACARQeoAai0AAA0DCyAIIA9BCGoiD0cNAAsMAwsDQCAIIA9BCGoiD0cNAAsMAgsgFCgCKCIVIBQoAiRGBEAgFEEgaiAVQQEQjAYLIBQoAiAgFUEDdGoiESAbNgIEIBEgEjYCACAUIBVBAWo2AiggCCAPQQhqIg9HDQALCyAJKAIIIhIgCUEQaigCAEGUAmxqISUgFEHIAmoiCEEMaiEWIBRB8gFqISkgFEGFAmohGCAUQZgCaiEZIBRBqwJqISAgFEEzaiEcIAhBEGohFwNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAICUgEiITRwRAIBNBlAJqIRIgEy0AkAIiFUECRg0QIBNBDGooAgBFDQcgE0EEaiIbKAIAIggoAgAiDyAGKAIQTw0PIAYoAggiH0UNDyAfIA9B6AJsaiIfKAIARQ0PIB8oAgQgCCgCBEcNDyAfQeUCai0AACIPRSAVQQBHRg0MAkAgDwRAIBNBHGooAgBBBUsNAUGQs8EAQTZByLPBABCqCgALIB9BKGopAwAhhQEgH0EwaikDACGGASAUQdACaiIVIB9BQGsoAgA2AgAgFCAfQThqKQMANwPIAiAcQQhqQgA3AAAgHEIANwAAICBCADcAACAgQQhqQgA3AAAgGUIANwAAIBlBCGpCADcAACAYQgA3AAAgGEEIakIANwAAIClCADcAACApQQhqQgA3AAAgFEHIAWoiEUEPaiIdIBRBMGoiD0EPaigAADYAACARQQhqIhogD0EIaiIRKQAANwMAIBQgFCkAMDcDyAEgFEGwAWoiLkEPaiIiIBRBqAJqIi1BD2ooAAA2AAAgLkEIaiI0IC1BCGopAAA3AwAgFCAUKQCoAjcDsAEgFEGYAWoiLkEPaiItIBRBlQJqIh5BD2ooAAA2AAAgLkEIaiIjIB5BCGopAAA3AwAgFCAUKQCVAjcDmAEgFEGAAWoiLkEPaiIeIBRBggJqIidBD2ooAAA2AAAgLkEIaiIQICdBCGopAAA3AwAgFCAUKQCCAjcDgAEgFEHoAGoiLkEPaiInIBRB7wFqIiFBD2ooAAA2AAAgLkEIaiIkICFBCGopAAA3AwAgFCAUKQDvATcDaCAWQQhqQQA2AgAgFkIANwIAIA9BEGoiLiAXKQMANwMAIBEgFSkDADcDACAUIBQpA8gCNwMwIAhBKGoghgE3AwAgCCCFATcDICAIQdAAakIANwMAIAhByABqQgA3AwAgCEGYAWpB////+wc2AgAgCEGQAWpCgICAgPD//79/NwMAIAhBiAFqQv////v///+//wA3AwAgCEGAAWpC////+wc3AwAgCEH4AGpCgICAgPD//79/NwMAIAhB8ABqQv////v///+//wA3AwAgCEHoAGpC////+wc3AwAgCEHgAGpCgICAgPD//79/NwMAIAhB2ABqQv////v///+//wA3AwAgCEGAA2oiDy0AACEhIAhBMGogFCkDMDcDACAIQThqIBEpAwA3AwAgCEFAayAuKQMANwMAIAhBpAFqQgA3AgAgCEGcAWpCADcCACAIQawBakGAgID8AzYCACAIQbABakIANwMAIAhBuAFqQgA3AwAgCEHAAWpCADcDACAIQcgBakGAgID8AzYCACAIQcwBakIANwIAIAhB1AFqQgA3AgAgCEHcAWpCADcCACAIQeQBakEANgIAIAhB8AFqQQA6AAAgCEHoAWpC////+wc3AwAgCEHxAWogFCkDyAE3AAAgCEH5AWogGikDADcAACAIQYACaiAdKAAANgAAIAhBjAJqQQA6AAAgCEGEAmpC////+wc3AgAgCEGoAmpBADoAACAIQaACakL////7BzcDACAIQcQCakEAOgAAIAhBvAJqQv////sHNwIAIAhBnAJqICIoAAA2AAAgCEGVAmogNCkDADcAACAIQY0CaiAUKQOwATcAACAIQbgCaiAtKAAANgAAIAhB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ECAnQQhqKQAANwMAIBQgFCkAlQI3A5gBIBRBgAFqIi5BD2oiJyAUQYICaiIhQQ9qKAAANgAAIC5BCGoiJCAhQQhqKQAANwMAIBQgFCkAggI3A4ABIBRB6ABqIiFBD2oiLiAUQe8BaiIoQQ9qKAAANgAAICFBCGoiISAoQQhqKQAANwMAIBQgFCkA7wE3A2ggFkEIakEANgIAIBZCADcCACAPQRBqIg8gFykDADcDACAVIBopAwA3AwAgFCAUKQPIAjcDMCAIQTBqQgA3AwAgCEEoakKAgICAgICAwD83AwAgCEIANwMgIAhBOGpCADcDACAIQUBrQgA3AwAgCEHIAGpCADcDACAIQdAAakIANwMAIAhBmAFqQv////sHNwMAIAhBkAFqQoCAgIDw//+/fzcDACAIQYgBakL////7////v/8ANwMAIAhBgAFqQv////sHNwMAIAhB+ABqQoCAgIDw//+/fzcDACAIQfAAakL////7////v/8ANwMAIAhB6ABqQv////sHNwMAIAhB4ABqQoCAgIDw//+/fzcDACAIQdgAakL////7////v/8ANwMAIAhBgANqIhotAAAhKCAIQawBaiBZOAIAIAhByAFqQYCAgPwDNgIAIAhBzAFqQgA3AgAgCEHUAWpCADcCACAIQdwBakIANwIAIAhB5AFqQQA2AgAgCEHwAWpBADoAACAIQegBakL////7BzcDACAIQagBaiAdKAIANgIAIAhBoAFqIBQpA+ABNwIAIAhBwAFqIA8pAwA3AwAgCEG4AWogFSkDADcDACAIQbABaiAUKQMwNwMAIAhBhAJqQv////sHNwIAIAhBjAJqQQA6AAAgCEGgAmpC////+wc3AwAgCEGoAmpBADoAACAIQYACaiAiKAAANgAAIAhB+QFqIC0pAwA3AAAgCEHxAWogFCkDyAE3AAAgCEGNAmogFCkDsAE3AAAgCEGVAmogHikDADcAACAIQZwCaiA0KAAANgAAIAhBqQJqIBQpA5gBNwAAIAhBsQJqIBApAwA3AAAgCEG4AmogIygAADYAACAIQcQCakEAOgAAIAhBvAJqQv////sHNwIAIAhB1AJqICcoAAA2AAAgCEHNAmogJCkDADcAACAIQcUCaiAUKQOAATcAACAIQeACakEAOgAAIAhB2AJqQv////sHNwMAIAhB/AJqQQA6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CDYCAAwCCyAIQYGAgIB4Rg0BIAhFDQAgCCACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAIAAoApQEIRIMAQsgASESIBUNACABIRMMAQsgDyASaiABQX9zaiETIAEgD2tBAWohCCAAKAKMBCASQcADbGohDwNAIA9CBDcCACAPQbgDakIANwIAIA9BsANqQoCAgIDAADcCACAPQagDakIANwIAIA9BoANqQoCAgIDAADcCACAPQZgDakIANwIAIA9BkANqQoCAgIDAADcCACAPQYgDakIENwIAIA9BgANqQgA3AgAgD0H4AmpCgICAgMAANwIAIA9B8AJqQgQ3AgAgD0HoAmpCADcCACAPQeACakKAgICAgAE3AgAgD0HYAmpCCDcCACAPQdACakIANwIAIA9ByAJqQoCAgICAATcCACAPQcACakIINwIAIA9BuAJqQgA3AgAgD0GwAmpCgICAgMAANwIAIA9BqAJqQgQ3AgAgD0GgAmpCADcCACAPQZgCakKAgICAwAA3AgAgD0GQAmpCBDcCACAPQYgCakIANwIAIA9BgAJqQoCAgIDAADcCACAPQfgBakIENwIAIA9B8AFqQgA3AgAgD0HoAWpCgICAgMAANwIAIA9B4AFqQgQ3AgAgD0HYAWpCADcCACAPQdABakKAgICAwAA3AgAgD0HIAWpCBDcCACAPQcABakIANwIAIA9BuAFqQgQ3AgAgD0GwAWpCADcCACAPQagBakKAgICAwAA3AgAgD0GgAWpCBDcCACAPQZgBakIANwIAIA9BkAFqQoCAgIDAADcCACAPQYgBakIENwIAIA9BgAFqQgA3AgAgD0H4AGpCgICAgMAANwIAIA9B8ABqQgQ3AgAgD0HoAGpCADcCACAPQeAAakKAgICAwAA3AgAgD0HYAGpCBDcCACAPQdAAakIANwIAIA9ByABqQoCAgIDAADcCACAPQUBrQgQ3AgAgD0E4akIANwIAIA9BMGpCgICAgMAANwIAIA9BKGpCBDcCACAPQSBqQgA3AgAgD0EYakKAgICAwAA3AgAgD0EQakIENwIAIA9BCGpCADcCACAPQcADaiEPIAhBAWoiCA0ACyADKAIgQQFrIRELIAAgEzYClAQLAkACQAJAAkACQCARRQ0AIAAoAtwDIQ8gMSgCNCECIDEoAjwh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EUEQaikCADcCACACQQhqIBFBCGopAgA3AgAgASECICdBAUsNAAsLIB4gAUE0bGoiASAQKQPgATcCACABIFk4AhggASAQKQOIAzcCHCABQRBqICUpAwA3AgAgAUEIaiAhKQMANwIAIAFBJGogJikDADcCACABQSxqICMpAwA3AgAgFkECRg0GCyAQKgIMIGJgRQRAQcyiwQBBH0HsosEAEKoKAAtBACElAn9BACAWRQ0AGkEAIBMgPE8NABpBACAqRQ0AGkEAICogE0HoAmxqIgIoAgBFDQAaIAJBCGpBACACKAIEIA9GGwshAgJAIBhFDQAgHCA8Tw0AICpFDQAgKiAcQegCbGoiASgCAEUNACABQQhqQQAgASgCBCAXRhshJQtBACERIBBBADYC3AIgEEIENwLUAgJAAkACQAJAAkACQAJAAkACQAJAIAJFDQAgAkHYAmotAABFDQAgFkUNAUEBIREgECgCHEUNACAQKAIQIidBBGshJCATQbnz3fF5bEEFdyAPc0G5893xeWwiAUEZdq1CgYKEiJCgwIABfiGHAUEAISEgECgCFCEeIBAoAighIyAQKAIgISgDQCABIB5xIgEgJ2opAAAihgEghwGFIoUBQoGChIiQoMCAAX0ghQFCf4WDQoCBgoSIkKDAgH+DIYUBA0AghQFQBEAghgEghgFCAYaDQoCBgoSIkKDAgH+DQgBSDQMgASAhQQhqIiFqIQEMAgsgJCCFAXqnQQN2IAFqIB5xQQJ0aygCACImICNPDQQghQFCAX0ghQGDIYUBICggJkEEdGoiJigCACATRw0AICZBBGooAgAgD0cNAAsLQQAhEQsCQAJAICVFDQAgJUHYAmotAABFDQAgGEUNBEEBISEgECgCHEUNASAQKAIQIiRBBGshKCAcQbnz3fF5bEEFdyAXc0G5893xeWwiAUEZdq1CgYKEiJCgwIABfiGHAUEAIScgECgCFCEeIBAoAighIyAQKAIgISwDQCABIB5xIgEgJGopAAAihgEghwGFIoUBQoGChIiQoMCAAX0ghQFCf4WDQoCBgoSIkKDAgH+DIYUBA0AghQFQBEAghgEghgFCAYaDQoCBgoSIkKDAgH+DQgBSDQQgASAnQQhqIidqIQEMAgsgKCCFAXqnQQN2IAFqIB5xQQJ0aygCACImICNPDQcghQFCAX0ghQGDIYUB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GCAAICs4AhQgACAoOAIQIAAgJzgCDCAAICk4AgggACAqOAIEIAAgJDgCAAwZCyABKAIAIgBBgICAgHw2AiAgAEGAgICAfDYCHCAAICc4AgwgACApOAIIIAAgKjgCBCAAICQ4AgAgACA1OAIYIABBFGogKzgCACAAQRBqICg4AgAMGAsgAiADEJ0JIQwgBCAFEJ0JIQkgDEUNGCAJRQ0YIAcgARCgAg0YIAggASoCDCIpOALcByAIIAEqAggiK4w4AtgHIAggASoCBCIojDgC1AcgCCABKgIAIieMOALQByAIICkgJyABQRRqKgIAIiWUICggASoCECIklJMiISAhkiImlCAoICggAUEYaioCACIjlCArICWUkyIhICGSIiKUICcgKyAklCAnICOUkyIhICGSIiGUk5IgI5M4AugHIAggKSAhlCAnICaUICsgIpSTkiAlkzgC5AcgCCApICKUICsgIZQgKCAmlJOSICSTOALgByAIQYAFaiAMIAkgARDVASAIKgKABSIiIAZeDQogCEHoBWogCSAMIAhB0AdqENUBAkAgCCoC6AUiKiAGXg0AIAhBoAZqIAwgCSABEOgBIAgqAqAGIiEgBl4NACAIQeAGaiAIQYgFaikCADcDACAIIAgpAoAFNwPYBiAiICpdICEgKl1xDQwgISAiXkUNFSAIQeAGaiAIQagGaikCADcDACAIIAgpAqAGNwPYBgwVCyAHQYQBakEANgIADBgLIAIgAxCfCSEJIAQgBRCfCSEDIAlFDRcgA0UNFyAJKgIUITEgCSoCDCEyIAkqAhAhNSAJKgIIITkgCSoCACEuIAkqAgQhMyADKgIEIiogASoCACIvlCADKgIAIiQgASoCBCIwlJMiISAhkiEnICQgASoCCCItlCADKgIIIiIgL5STIiEgIZIhKSAIQSBqIgAgAUEYaioCACImICIgASoCDCIrICeUIC8gKZQgMCAiIDCUICogLZSTIiEgIZIiIZSTkpKSOAIIIAAgAUEUaioCACIjICogKyAplCAtICGUIC8gJ5STkpKSOAIEIAAgASoCECIiICQgKyAhlCAwICeUIC0gKZSTkpKSOAIAIC8gA0EQaioCACIplCAwIAMqAgwiKpSTIiEgIZIhKCAtICqUIC8gA0EUaioCACIklJMiISAhkiEnIABBFGogJiAkICsgKJQgLyAn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IAYgBTYCzAEgBiACNgLIASAGIABBkAFqKQIANwLUASAAQZgBaiECIAZB2AJqIAZByAFqEGMgAEGcAWooAgAEQCACKAIAEJoCCyAAQbABaigCAARAIABBrAFqKAIAEJoCCyACIAYpAtgCNwIAIAJBIGogBkHYAmoiBEEgaikCADcCACACQRhqIARBGGopAgA3AgAgAkEQaiAEQRBqKQIANwIAIAJBCGogBEEIaikCADcCACAAKAJIIQdBBCEDQQAhBAJAIABB0ABqKAIAIgVFDQAgBUH/////AUsNAiAFQQJ0IgJBAEgNAiACRQ0AQZH7wwAtAAAaIAJBBBCCDCIDRQ0HIAIhBAsgAyAHIAQQiA0hAiAGIAU2AtABIAYgBTYCzAEgBiACNgLIASAGIAApAlQ3AtQBIABB3ABqIQIgBkHYAmogBkHIAWoQYyAAQeAAaigCAARAIAIoAgAQmgILIABB9ABqKAIABEAgAEHwAGooAgAQmgILIAIgBikC2AI3AgAgAkEgaiAGQdgCaiIAQSBqKQIANwIAIAJBGGogAEEYaikCADcCACACQRBqIABBEGopAgA3AgAgAkEIaiAAQQhqKQIANwIACyAGQYAEaiQADwsQ2woAC0Hsm8EAQRNBkLHBABDhCQALQdiLwQBBNEGMjMEAELsLAAsgBkHkAmpCADcCACAGQQE2AtwCIAZBsInCADYC2AIgBkGYv8AANgLgAiAGQdgCakG4icIAENwKAAtBpv7AAEEdQcD/wAAQuwsAC0EEIAJB0IHEACgCACIAQZcHIAAbEQAAAAuAVgMnfwt9An4jAEGQAmsiCSQAIwBBIGsiCiQAAkACQAJAAkAgBigCACIMRQ0AIApBGGogDCAGKAIEKAIcEQAAIApBCGogCigCGCIIIAooAhxBDGooAgARAAAgCEUNACAKKQMIQvSkgrLsqMOpfYUgCkEQaikDAELy4qm04KmkxASFhFANAQtBkfvDAC0AABpB2ABBBBCCDCILRQ0BIAtC////+////79/NwJQIAtC////+/f//79/NwJIIAtC////+/f//7//ADcCQCALQgA3AjggC0KAgICAwAA3AjAgC0IANwIoIAtB+JDCADYCJCALQQA2AiAgC0IENwIYIAtCADcCECALQoCAgIDAADcCCCALQgQ3AgACQCAMRQ0AIAwgBigCBCII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KgIAIAQqAhhdGyEFIAAgCEHAAWoiCEcNAAsLIAVFDQACQCAFIA5qKAIAQf////97TQ0AAkACQAJAAkAgC0UEQCAKQZABaiADIAEoAqABEPIDIAooApABRQ0OIAxFDQIgCigCnAEhCSAKKAKYASEAIAooApQBIQUgASgCoAEiBCASSSEIIARBACASIAgbayIRIAxuIQQgESAEIAxsayERAn0gCEUEQCAKQZABaiADIBEgBBCoAiAKKgLcASEnIAoqAtgBISQgCioC1AEhIiAKKgLQASEhIAoqAswBISUgCioCyAEhKCAKKgLEASEjIAoqArwBISYgCigCuAEhCCAKKgLAAQwBCyAKQZABaiADIBEgBBCoAiAKKgK0ASEnIAoqArABISQgCioCrAEhIiAKKgKoASEhIAoqAqQBISUgCioCoAEhKCAKKgKcASEjIAoqApQBISYgCigCkAEhCCAKKgKYAQshBiAIDQFB9MLAAEErQaztwAAQqgoACyAKQZABaiADIAEoAqQBEPIDIAooApABRQ0NIAxFDQIgCigCnAEhCSAKKAKYASEAIAooApQBIQUgASgCpAEiBCASSSEIIARBACASIAgbayIRIAxuIQQgESAEIAxsayERAn0gCEUEQCAKQZABaiADIBEgBBCoAiAKKgLcASEnIAoqAtgBISQgCioC1AEhIiAKKgLQASEhIAoqAswBISUgCioCyAEhKCAKKgLEASEjIAoqArwBISYgCigCuAEhCCAKKgLAAQwBCyAKQZABaiADIBEgBBCoAiAKKgK0ASEnIAoqArABISQgCioCrAEhIiAKKgKoASEhIAoqAqQBISUgCioCoAEhKCAKKgKcASEjIAoqApQBISYgCigCkAEhCCAKKgKYAQshBiAIRQ0DCyAoICaTIiggJCAGkyIklCAlIAaTIiUgIiAmkyImlJMiBiAGlCAlICcgI5MiJ5QgISAjkyIiICSUkyIjICOUICIgJpQgKCAnlJMiJiAmlJKSIidDAACAKF5FDQMgAUGUAUGIASALG2oqAgAhJCABQZgBQYwBIAsbaioCACEiIAFBnAFBkAEgCxtqKgIAIAYgJxCbASIGlZQgJCAjIAaVlCAiICYgBpWUkpKLQ3L5fz9eRQ0DIA0gBRDfASANIAAQ3wEgDSAJEN8BDAQLQbDQwABBGUGg9sAAEKoKAAtB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CGoiGCAFQQhqIgwpAgA3AwAgByAHKQLYBjcDiAMgBy0AjAchEyAFIAcoAvgBIAcoAoACIAdBtAJqIAdB5AJqEL8EIAdBwANqIgNBMGogCCgCADYCACADQShqIAkpAgA3AwAgA0EgaiAKKQIANwMAIANBGGogDSkCADcDACADQRBqIAspAgA3AwAgA0EIaiAMKQIANwMAIAcgBykC2AY3A8ADIActAIwHIRUgBSAHKAL4ASAHKAKAAiAHQcACaiAHQfACahC/BCAHQfgDaiIDQTBqIAgoAgA2AgAgA0EoaiAJKQIANwMAIANBIGogCikCADcDACADQRhqIA0pAgA3AwAgA0EQaiALKQIANwMAIANBCGogDCkCADcDACAHIAcpAtgGNwP4AyAHLQCMByEWIAUgBygC+AEgBygCgAIgB0HMAmogB0H8AmoQvwQgB0GwBGoiA0EwaiAIKAIANgIAIANBKGogCSkCADcDACADQSBqIAopAgA3AwAgA0EYaiANKQIANwMAIANBEGogCykCADcDACADQQhqIAwpAgA3AwAgByAHKQLYBjcDsAQgBy0AjAchDSAHKAKIAiIDIAcoAowCIglGBEAgFCAJELYGIAcoAowCIQkgBygCiAIhAwsgBygChAIiBSAJQTRsaiIIIAcpA4gDNwIAIAhBMGogECgCADYCACAIQShqIBIpAwA3AgAgCEEgaiARKQMANwIAIAhBGGogDikDADcCACAIQRBqIBcpAwA3AgAgCEEIaiAYKQMANwIAIAcgCUEBaiIJNgKMAiADIAlGBEAgFCADELYGIAcoAoQCIQUgBygCjAIhCSAHKAKIAiEDCyAFIAlBNGxqIgggBykDwAM3AgAgCEEwaiAHQcADaiIKQTBqKAIANgIAIAhBKGogCkEoaikDADcCACAIQSBqIApBIGopAwA3AgAgCEEYaiAKQRhqKQMANwIAIAhBEGogCkEQaikDADcCACAIQQhqIApBCGopAwA3AgAgByAJQQFqIgk2AowCIAMgCUYEQCAUIAMQtgYgBygChAIhBSAHKAKMAiEJIAcoAogCIQMLIAUgCUE0bGoiCCAHKQP4AzcCACAIQTBqIAdB+ANqIgpBMGooAgA2AgAgCEEoaiAKQShqKQMANwIAIAhBIGogCkEgaikDADcCACAIQRhqIApBGGopAwA3AgAgCEEQ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QwAAAAAhiAFD//9/fyGHAUP//3//IYYBQwAAAAAhhQFD//9/fyGEAUP//3//IYMBQwAAAAAhggFD//9/fyGBAUP//3//IYABQwAAAAAhf0P//39/IX5D//9//yF9QwAAAAAhfEP//39/IXtD//9//yF6QwAAgD8heUMAAAAAIXhDAAAAACF3QwAAAAAhdkP//39/IZIBQwAAAAAhkwFBACE3Q///f38hlAFDAAAAACGVAUEAITpD//9/fyGWAUMAAAAAIZcBQQAhPUP//39/IZgBQwAAAAAhmQFBACFAQ///f38hmgFDAAAAACGbAUEAIUNBACEvQT8hB0EBIQULIAogCigChAIgB0H/AXFpa0EGajYChAIgCigCCCIDIAooAgRGBEAgCiADELEGIAooAgghAwsgCigCACADQegDbGoiASAEKQPoBjcDACABIHk4AiwgASB4OAIoIAEgdzgCJCABIHY4AiAgASAEKQPABjcDMCABQRhqIG4pAwA3AwAgAUEQaiBvKQMANwMAIAFBCGogcCkDADcDACABQThqIC4pAwA3AwAgAUFAayAtKQMANwMAIAFByABqICwpAwA3AwAgAUHQAGogHykDADcDACABIC82ApwBIAEgigE4ApgBIAEgiQE4ApQBIAEgiAE4ApABIAEghwE4AowBIAEghgE4AogBIAEghQE4AoQBIAEghAE4AoABIAEggwE4AnwgASCCATgCeCABIIEBOAJ0IAEggAE4AnAgASB/OAJsIAEgfjgCaCABIH04AmQgASB8OAJgIAEgezgCXCABIHo4AlggASCLATgCrAEgASCMATgCyAEgASCNATgCzAEgASCOATgC0AEgASCPATgC1AEgAUGoAWogMCgCADYCACABIAQpA7AGNwKgASABIAQpA5gGNwOwASABQbgBaiAyKQMANwMAIAFBwAFqIDEpAwA3AwAgASAEKQOIBjcD2AEgAUHgAWogMykDADcDACABIDQ6APABIAEgkQE4AuwBIAEgkAE4AugBIAEgNzoAjAIgASCTATgCiAIgASCSATgChAIgASAEKQPwBTcA8QEgAUH5AWogNikDADcAACABQYACaiA1KAAANgAAIAEgBCkD2AU3AI0CIAFBlQJqIDkpAwA3AAAgAUGcAmogOCgAADYAACABIDo6AKgCIAEglQE4AqQCIAEglAE4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iKe+ICSTlJMhGwJAIBxDAAAAAFsEQCAbIRwMAQsgHCAblEMAAAAAXQ0ECyAAQQhqIQAgHSEbIAFBAWsiAQ0ACwwBC0EEQQRBvPfAABDjCAALIAdByABqIAIgCEEMbGoiAEEIaiIBKAIANgIAIAcgACkCADcDQCA3ICwgACoCACIck5QgNSAwIAAqAgQiHZOUkiA0ICcgASoCACIkk5SSICOVIhsgBF9FDQAgISAcICsgG5SSIDaTIiKUIB8gHSAmIBuUkiAzkyIplJMiHCAckiEcICAgKZQgISAkICggG5SSICqTIiSUkyIdIB2SIR0gByAkICUgHJQgISAdlCAfIB8gJJQgICAilJMiJCAkkiIklJOSkjgCYCAHICkgJSAklCAfIByUICAgHZSTkpI4AlwgByAiICUgHZQgICAklCAhIByUk5KSOAJYIAdBiAFqIgEgC0EIaigCADYCACANIA4pAgA3AgAgDUEIaiAOQQhqKAIANgIAIAcgCykCADcDgAEgAiAIQQJ0akEwaigCACIAIBEgBhshCCARIAAgBhshFCAFKAKEASIAIAUoAoABRgRAIBMgABChBiAFKAKEASEACyAFIABBAWo2AoQBIAUoAnwgAEEwbGoiACAHKQOAATcCACAAQQA2AiwgAEIANwIkIAAgCDYCICAAIBQ2AhwgACAbOAIYIABBCGogASkDADcCACAAQRBqIAdBkAFqKQMANwIACyAJIAxHDQALDAILIAEqAggiKbxBgICAgHhxQYCAgPwDcr4hGyADKgIIIiEgACoCBCIllCADKgIEIiAgACoCCCImlJMiHCAckiEcICAgACoCACIrlCADKgIAIh8gJZSTIh4gHpIhHSABKgIAIjYgASoCBCIzlEMAAIC/ICkgG5KVIiiUIh4gACoCECIkIB8gACoCDCIjIByUICUgHZQgJiAfICaUICEgK5STIh8gH5IiKpSTkpKSIiKUIDMgM5QgKJQgG5IiHyAAQRRqKgIAIicgICAjICqUICYgHJQgKyAdlJOSkpIiLJSSIDMgAEEYaioCACIwICEgIyAdlCArICqUICUgHJSTkpKSIjGUkyEcIDYgG4yUIh0gMZQgNiA2IBuUlCAolEMAAIA/kiIhICKUIB4gG5QiGyAslJKSISogJSADQRRqKgIAIi6UICYgA0EQaioCACIvlJMiICAg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IAcgLDgChAEgByAxOAKAASAlICIgJJMiLZQgKyAoICeTIi+UkyIEIASSIQQgJiAvlCAlICogMJMiLpSTIhsgG5IhGyAHIC4gIyAElCAlIBuUICsgKyAulCAmIC2UkyIuIC6SIi6Uk5KSOAIIIAcgLyAjIC6UICsgBJQgJiAblJOSkjgCBCAHIC0gIyAblCAmIC6UICUgBJSTkpI4AgACfwJAAkACQCABDgMAAQILCyACQTBqDAILIAJBQGsMAQsgAkE0agsoAgAhAQJ/AkACQAJAIAgOAwABAgsLIANBMGoMAgsgA0FAawwBCyADQTRqCyEAIAVB/ABqIQ8gB0EoaiINIAcgB0GAAWoiCSAGGyIIQQhqKAIANgIAIAdBNGogCSAHIAYbIglBCGooAgA2AgAgByAIKQIANwMgIAcgCSkCADcCLCABIAAoAgAiACAGGyEOIAAgASAGGyELIDYgIiAxk5QgMyAoICyTlJIgKSAqIDKTlJIhBCAFQYQBaigCACIAIAVBgAFqKAIARgRAIA8gABChBiAFKAKEASEACyAFIABBAWoiATYChAEgBSgCfCIKIABBMGxqIgAgBykDIDcCACAAQQA2AiwgAEIANwIkIAAgDjYCICAAIAs2AhwgACAEOAIYIABBCGogDSkDADcCACAAQRBqIAdBMGopAwA3AgAgByAfOAKIASAHICE4AoQBIAcgIDgCgAEgJSAdICSTIiiUICsgHiAnkyIqlJMiBCAEkiEEICYgKpQgJSAcIDCTIiKUkyIbIBuSIRsgByAiICMgBJQgJSAblCArICsgIpQgJiAolJMiIiAikiIilJOSkjgCCCAHICogIyAilCArIASUICYgG5STkpI4AgQgByAoICMgG5QgJiAilCAlIASUk5KSOAIAAn8CQAJAAkAgEA4DAAECCwsgAkEwagwCCyACQUBrDAELIAJBNGoLKAIAIQICfwJAAkACQCAMDgMAAQILCyADQTBqDAILIANBQGsMAQsgA0E0agshACAHQShqIgMgCEEIaigCADYCACAHQTRqIAlBCGooAgA2AgAgByAIKQIANwMgIAcgCSkCADcCLCACIAAoAgAiACAGGyEIIAAgAiAGGyECIDYgHSAgk5QgMyAeICGTlJIgKSAcIB+TlJIhBCAFKAKAASABRgRAIA8gARChBiAFKAJ8IQogBSgC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NwMAIAtB4ghqIgcgIUECai0AADoAACALIBMpAgA3A4AKIAsgIS8AADsB4AggCy0A/AkiDUEERg0AIAsqAsgJIS4gC0HgBmogAWoiBCAPNgIAIARBCGogLjgCACAEQQRqICM2AgAgBEEMaiALKQOACjcCACAEQRRqIBgpAwA3AgAgBEEcaiAXKQMANwIAIARBJGogFikDADcCACAEQSxqIBIpAwA3AgAgBEE0aiAQKQMANwIAIARBPGogDToAACAEQT1qIAsvAeAIOwAAIARBP2ogBy0AADoAACALQcgGaiAKaiAuOAIAIAUgCCAuXjoAAAsgAUFAayEBIAVBAWohBSAKQQRqIQogXUIBfCJdQgRSDQALIA4gCykC4AY3AgAgDkEIaiALQeAGaiIBQQhqKQIANwIAIA5BEGogAUEQaikCADcCACAOQRhqIAFBGGopAgA3AgAgDkEgaiABQSBqKQIANwIAIA5BKGogAUEoaikCADcCACALKALcBiEKIAsqAtQGITIgCyoC0AYhMCALKgLMBiEvIAsqAsgGIS4gC0HeBGogGkECai0AADoAACALQZgEaiIBQTdqIAxBN2opAAA3AAAgAUEwaiAMQTBqKQAANwMAIAFBKGogDEEoaikAADcDACABQSBqIAxBIGopAAA3AwAgAUEYaiAMQRhqKQAANwMAIAFBEGogDEEQaikAADcDACABQQhqIAxBCGopAAA3AwAgCyAaLwAAOwHcBCALIAwpAAA3A5gEIAstAJAHIQ0gCy0AnAchASALKQKUByFeIAstANwHIQUgC0HYA2oiBEE3aiAJQTdqKQAANwAAIARBMGogCUEwaikAADcDACAEQShqIAlBKGopAAA3AwAgBEEgaiAJQSBqKQAANwMAIARBGGogCUEYaikAADcDACAEQRBqIAlBEGopAAA3AwAgBEEIaiAJQQhqKQAANwMAIAsgCSkAADcD2AMgCy0AnAghByALQZgDaiIEQTdqIAZBN2opAAA3AAAgBEEwaiAGQTBqKQAANwMAIARBKGogBkEoaikAADcDACAEQSBqIAZBIGopAAA3AwAgBEEYaiAGQRhqKQAANwMAIARBEGogBkEQaikAADcDACAEQQhqIAZBCGopAAA3AwAgCyAGKQAANwOYAyALLQDcCCEEIAtBlgNqIBlBAmotAAA6AAAgCyAZLwAAOwGUAwwCCyABIBxBuODAABDjCAALIAtB6ARqICBBCGooAgA2AgAgCyAgKQIANwPgBEEEIQQgCygCkAYhCkEEIQdBBCEFQQQhAQsgCkH/AXFBAkcEQCADQfgAaiEQIAsgMjgCrAUgCyAwOAKoBSALIC84AqQFIAsgLjgCoAUgC0HgBmoiD0EoaiAOQShqKQIANwMAIA9BIGogDkEgaikCADcDACAPQRhqIA5BGGopAgA3AwAgD0EQaiAOQRBqKQIANwMAIA9BCGogDkEIaikCADcDACALIA06AJAHIAsgDikCADcD4AYgGiALLwHcBDsAACAaQQJqIAtB3gRqLQAAOgAAIAsgAToAnAcgCyBeNwKUByAMQTdqIAtBmARqIgFBN2opAAA3AAAgDEEwaiABQTBqKQMANwAAIAxBKGogAUEoaikDADcAACAMQSBqIAFBIGopAwA3AAAgDEEYaiABQRhqKQMANwAAIAxBEGogAUEQaikDADcAACAMQQhqIAFBCGopAwA3AAAgDCALKQOYBDcAACALIAU6ANwHIAlBN2ogC0HYA2oiAUE3aikAADcAACAJQTBqIAFBMGopAwA3AAAgCUEoaiABQShqKQMANwAAIAlBIGogAUEgaikDADcAACAJQRhqIAFBGGopAwA3AAAgCUEQaiABQRBqKQMANwAAIAlBCGogAUEIaikDADcAACAJIAspA9gDNwAAIAsgBzoAnAggBkE3aiALQZgDaiIBQTdqKQAANwAAIAZBMGogAUEwaikDADcAACAGQShqIAFBKGopAwA3AAAgBkEgaiABQSBqKQMANwAAIAZBGGogAUEYaikDADcAACAGQRBqIAFBEGopAwA3AAAgBkEIaiABQQhqKQMANwAAIAYgCykDmAM3AAAgCyAEOgDcCCAZQQJqIAtBlgNqLQAAOgAAIBkgCy8BlAM7AAAgCkEVdkEIcSAKQQ52QQRxIApBB3ZBAnEgCkEBcXJycq0hX0IAIV0DQAJAIF8gXYhCAYNQDQAgXachASAQLQAAQQFxBEAgAUECdCIFIAtBoAVqaioCACIuIAhdRQ0BIAtB4AZqIAFBBnRqIgQtADwiAUEERg0BIBQgAyAFakHgAGooAgBNDQEgFUUNASARIAQpAAA3AAAgEUE4aiAEQThqKAAANgAAIBFBMGogBEEwaikAADcAACARQShqIARBKGopAAA3AAAgEUEgaiAEQSBqKQAANwAAIBFBGGogBEEYaikAADcAACARQRBqIARBEGopAAA3AAAgEUEIaiAEQQhqKQAANwAAIAtBxgJqIARBP2otAAA6AAAgCyAELwA9OwHEAiALQcgCaiICQTdqIAtBsAVqIgRBN2opAAA3AAAgAkEwaiAEQTBqKQAANwMAIAJBKGogBEEoaikAADcDACACQSBqIARBIGopAAA3AwAgAkEYaiAEQRhqKQAANwMAIAJBEGogBEEQaikAADcDACACQQhqIARBCGopAAA3AwAgCyALKQCwBTcDyAIgASECIC4hCAwBCyABQQJ0IgEgA2pB4ABqKAIAIgQgHE8NACALQaAFaiABaioCAIwhLiALKALAAiIKIQUgCygCvAIgCkYEQCALQbgCaiAKEKsGIAsoAsACIQULIAsoArgCIgEgBUEDdGoiByAuOAIEIAcgBDYCACALIAVBAWo2AsACIAEgCkEDdGoiBCoCBCEuIAQoAgAhBAJAIApFBEBBACEFDAELA0BBAEF/IAEgCkEBayIHQQF2IgVBA3RqIg9BBGoqAgAiLyAuXyISG0EBQQIgEhsgLiAvXxtBAWpBAkkEQCAKIQUMAgsgASAKQQN0aiAPKQIANwIAIAUhCiAHQQFLDQALCyABIAVBA3RqIgEgLjgCBCABIAQ2AgALIF1CAXwiXUIEUg0ACyALQYgDaiALQbgCahChAyALKAKIAw0BDAILCwJAIA1BBEcEQCALQYIKaiALQd4Eai0AADoAACALIAsvAdwEOwGACiALQZsHaiALQZgFaigCADYAACALQZMHaiALQeAEaiIBQTBqKQMANwAAIAtBiwdqIAFBKGopAwA3AAAgC0GDB2ogAUEgaikDADcAACALQfsGaiABQRhqKQMANwAAIAtB8wZqIAFBEGopAwA3AAAgC0HrBmogAUEIaikDADcAACALIAspA+AENwDjBiALQbAFaiIBQTdqIAtB4AZqIgJBN2opAAA3AAAgAUEwaiACQTBqKQAANwMAIAFBKGogAkEoaikAADcDACABQSBqIAJBIGopAAA3AwAgAUEYaiACQRhqKQAANwMAIAFBEGogAkEQaikAADcDACABQQhqIAJBCGopAAA3AwAgCyALKQDgBjcDsAUgDSECDAELIAtBsAVqIgFBN2ogC0HIAmoiA0E3aikAADcAACABQTBqIANBMGopAwA3AwAgAUEoaiADQShqKQMANwMAIAFBIGogA0EgaikDADcDACABQRhqIANBGGopAwA3AwAgAUEQaiADQRBqKQMANwMAIAFBCGogA0EIaikDADcDACALQYIKaiALQcYCai0AADoAACALIAspA8gCNwOwBSALIAsvAcQCOwGACgsgCygCvAJFDQEgCygCuAIQmgIMAQsgC0GwBWoiAUEIaiALQcgCaiIDQQhqKQMANwMAIAFBEGogA0EQaikDADcDACABQRhqIANBGGopAwA3AwAgAUEgaiADQSBqKQMANwMAIAFBKGogA0EoaikDADcDACABQTBqIANBMGopAwA3AwAgAUE3aiADQTdqKQAANwAAIAtBggpqIAtBxgJqLQAAOgAAIAsgCykDyAI3A7AFIAsgCy8BxAI7AYAKIAsoArwCRQ0AIAsoArgCEJoCCyACQf8BcUEERw0BCyAAQQQ6ADwMAQsgACALKQCzBTcAACAAIAsvAYAKOwA9IABBOGogC0HrBWooAAA2AAAgAEEwaiALQeMFaikAADcAACAAQShqIAtB2wVqKQAANwAAIABBIGogC0HTBWopAAA3AAAgAEEYaiALQcsFaikAADcAACAAQRBqIAtBwwVqKQAANwAAIABBCGogC0G7BWopAAA3AAAgAEE/aiALQYIKai0AADoAACAAIAI6ADwLIAtBwApqJAAL9y8DFH8bfQN+IwBBsAFrIgQkAAJAIAAoAggiDgRAIARBCGogACgCACIJQSBqEMoBIAlByANqIgYgBEEgaigCADYCACAJQcADaiIDIARBGGopAgA3AgAgCUG4A2oiDyAEQRBqKQIANwIAIAkgBCkCCDcCsAMgCUGsA2ogBigCADYCACAJQaQDaiADKQIANwIAIAlBnANqIA8pAgA3AgAgCSAJKQKwAzcClAMgASgCCCELIAEoAhAiESAJKAIAIgFNDQEgC0UNASALIAFB6AJsaiIBKAIARQ0BIAEoAgQgCSgCBEcNASAJQbADaiIGQQhqKQIAITIgBkEQaikCACEzIAYpAgAhNCABQdwAaiAGQRhqKAIANgIAIAFB1ABqIDM3AgAgAUHMAGogMjcCACABQcQAaiA0NwIAIAJFDQEgBEEIaiIGIAFBsAFqIgMgCUGUA2oiDxD9BSAB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AiAAQQRqNgIIIAIoAgAgAGpBDjYAACADIAEQ3AYiAA0GIANBDGogARDcBiIADQYgA0EYaiABENwGIgANBiADKgIkIQogAigCBCACKAIIIgFrQQNNBEAgAiABQQQQyAYgAigCCCEBCyACIAFBBGo2AgggAigCACABaiAKOAAADAULIAkoAgwhAyABKAIAIgEoAgghACABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqQQ82AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqIAo4AAAgASAAQQRqIgA2AgggASgCBCAAa0EDTQRAIAEgAEEEEMgGIAEoAgghAAsgASgCACAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABIABBBGo2AgggASgCACAAaiAKOAAADAQLIAkoAgwhAyABKAIAIgEoAgghACABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqQRA2AAAgASAAQQRqIgA2AgggAyoCBCELIAMqAgAhCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABKAIAIABqIAo4AAAgASAAQQRqIgA2AgggASgCBCAAa0EDTQRAIAEgAEEEEMgGIAEoAgghAAsgASgCACAAaiALOAAAIAEgAEEEaiIANgIIIAMqAgghCiABKAIEIABrQQNNBEAgASAAQQQQyAYgASgCCCEACyABIABBBGo2AgggASgCACAAaiAKOAAADAMLIAkoAgwhAyABKAIAIgAoAgghAiAAKAIEIAJrQQNNBEAgACACQQQQyAYgACgCCCECCyAAIAJBBGo2AgggACgCACACakERNgAAIAMgARC2ASIADQMgAyoCYCEKIAEoAgAiASgCCCEAIAEoAgQgAGtBA00EQCABIABBBBDIBiABKAIIIQALIAEgAEEEajYCCCABKAIAIABqIAo4AAAMAgsgCSgCDCEDIAEoAgAiASgCCCEAIAEoAgQgAGtBA00EQCABIABBBBDIBiABKAIIIQALIAEoAgAgAGpBEjYAACABIABBBGoiADYCCCABKAIEIABrQQNNBEAgASAA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P5QiLTgCACAKQThqIC04AgAgCkE0aiAtOAIAIAogLTgCMCAKIC8gLpJDAAAAv5QiLTgCLCAKIC04AiggCiAtOAIkIAogLTgCICAKIDEgMJJDAAAAv5QiLTgCHCAKIC04AhggCiAtOAIUIAogLTgCECAKIDMgMpJDAAAAv5QiLTgCDCAKIC04AgggCiAtOAIEIAogLTgCACADKgIIIS0gAyoCBCEuIAMqAgAhLyAKQYgBakIANwMAIApBgAFqQgA3AwAgCkH4AGpCADcDACAKQfAAakIANwMAIApB6ABqQgA3AwAgCkGQAWogLzgCACAKQZQBaiAvOAIAIApBmAFqIC84AgAgCkGcAWogLzgCACAKQaABaiAuOAIAIApBpAFqIC44AgAgCkGoAWogLjgCACAKQawBaiAuOAIAIApBsAFqIC04AgAgCkG0AWogLTgCACAKQbgBaiAtOAIAIApBvAFqIC04AgAgCkIANwNgIAogATYC0AEgCiACNgLUASAKIAM2AtgBIApBzAFqIAc2AgAgCkHEAWogBTYCACAKIAk6AOABIAogCDgC3AEgCiAGNgLIASAKIAQ2AsABAkACQCAEIAUoAhARBAAiAUEgaigCACIaBEAgCkEANgL4ASAKQgQ3AvABIApB8AFqIgJBABCrBiAKKALwASAKKAL4ASIDQQN0akKAgICA8P///343AgAgCiADQQFqNgL4ASAKQagCaiACEKEDAkACQCAKKAKoAkUEQEEEIQEMAQsgCkHgAWohFiAKQdwBaiEXIApB1AFqIRggCkHgAGohKyABQcQAaigCACETIApB/QVqIR4gCkHMBWohECAKQcEFaiEfIApBkAVqIREgCkGFBWohICAKQZAEaiICQcQAaiESIApByQRqISEgCkG9BGohIiACQQhqIRQgCkG5CGohIyAKQcUIaiEPIApBlAhqIQ0gASgCPCEVIAEoAhghLEP//39/IS5BBCEBA0AgLiAKKgKwAoxfDQECQAJ9AkAgCigCrAIiAiAaSQRAICwgAkEHdGoiCy0AeEEBcSICBEAgFSALKAJgIgNBDGxqQQAgAyATSRsiA0EIakEAIAMbISQgFSALQewAaigCACIDQQxsakEAIAMgE0kbIgNBCGpBACADGyElIBUgC0HoAGooAgAiA0EMbGpBACADIBNJGyIDQQhqQQAgAxsh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aiAMQRhqKQMANwMAIA5BEGogDEEQaikDADcDACAKIAopA7AHNwOwAyAKIAovAawHOwGsAyAKIAxBCGopAwA3A/gCIAogCikD+AY3A/ACIApB7gJqIApB9gZqLQAAOgAAIAogCi8B9AY7AewCIApBuAJqIgxBKGogCkHABmoiDkEoaikDADcDACAMQSBqIA5BIGopAwA3AwAgDEEYaiAOQRhqKQMANwMAIAxBEGogDkEQaikDADcDACAMQQhqIA5BCGopAwA3AwAgCiAKKQPABjcDuAIgCkG2AmogCkG+BmotAAA6AAAgCiAKLwG8BjsBtAIgKEEYdCADQRB0ciAJQQh0ciAHciEDCyAHQf8BcUECRwRAIAtB+ABqIQwgCiAIOAKMBiAKIC04AogGIAogLzgChAYgCiAwOAKABiAUIAopA+gDNwIAIBRBCGogCkHoA2oiCUEIaikDADcCACAUQRBqIAlBEGopAwA3AgAgFEEYaiAJQRhqKQMANwIAIBRBIGogCUEgaigCADYCACAKIDQ4ApQEIAogHDYCkAQgCiAdOgC8BCAiIAovAeQDOwAAICJBAmogCkHmA2otAAA6AAAgCiAEOgDIBCAKIGQ3AsAEICFBAmogCkHiA2otAAA6AAAgISAKLwHgAzsAACAKIEQ4AtAEIAogJzYCzAQgEkEoaiAKQbADaiIEQShqKQMANwIAIBJBIGogBEEgaikDADcCACASQRhqIARBGGopAwA3AgAgEkEQaiAEQRBqKQMANwIAIBJBCGogBEEIaikDADcCACASIAopA7ADNwIAIAogBjoAhAUgIEECaiAKQa4Dai0AADoAACAgIAovAawDOwAAIAogRTgCjAUgCiApNgKIBSARQShqIApB8AJqIgRBKGopAwA3AgAgEUEgaiAEQSBqKQMANwIAIBFBGGogBEEYaikDADcCACARQRBqIARBEGopAwA3AgAgEUEIaiAKKQP4AjcCACARIAopA/ACNwIAIAogAjoAwAUgH0ECaiAKQe4Cai0AADoAACAfIAovAewCOwAAIAogRjgCyAUgCiAZNgLEBSAQQShqIApBuAJqIgJBKGopAwA3AgAgEEEgaiACQSBqKQMANwIAIBBBGGogAkEYaikDADcCACAQQRBqIAJBEGopAwA3AgAgEEEIaiACQQhqKQMANwIAIBAgCikDuAI3AgAgCiAFOgD8BSAeQQJqIApBtgJqLQAAOgAAIB4gCi8BtAI7AAAgA0EVdkEIcSADQQ52QQRxIAdBAXEgA0EHdkECcXJycq0hYkIAIWEDQAJAIGIgYYhCAYNQDQAgYachAiAMLQAAQQFxBEAgAkECdCIEIApBgAZqaioCACIIIC5dRQ0BIApBkARqIAJBPGxqIgMtADgiAkEERg0BIBMgBCALakHgAGooAgBNDQEgFUUNASAKQf4BaiADQTtqLQAAOgAAIApBgAJqIgFBCGogA0EcaikAADcDACABQRBqIANBJGopAAA3AwAgAUEYaiADQSxqKQAANwMAIAFBIGogA0E0aigAADYCACAKIAMvADk7AfwBIAogAykAFDcDgAIgAyoCECFHIAMoAgwhKiADKQIEIWMgAiEBIAghLgwBCyACQQJ0IgIgC2pB4ABqKAIAIgUgGk8NACAKQYAGaiACaioCAIwhCCAKKAL4ASIDIQIgCigC9AEgA0YEQCAKQfABaiADEKsGIAooAvgBIQILIAooAvABIgQgAkEDdGoiBiAIOAIEIAYgBTYCACAKIAJBAWo2AvgBIAQgA0EDdGoiAioCBCEIIAIoAgAhBQJAIANFBEBBACECDAELA0BBAEF/IAQgA0EBayIGQQF2IgJBA3RqIgdBBGoqAgAiLSAIXyIJG0EBQQIgCRsgCCAtXxtBAWpBAkkEQCADIQIMAgsgBCADQQN0aiAHKQIANwIAIAIhAyAGQQFLDQALCyAEIAJBA3RqIgIgCDgCBCACIAU2AgALIGFCAXwiYUIEUg0ACyAKQagCaiAKQfABahChAyAKKAKoAg0BDAILCyAKQZIIagJ/IB1BBEcEQCAKQZAEaiIBQSBqIApB6ANqIgJBIGooAgA2AgAgAUEYaiACQRhqKQMANwMAIAFBEGogAkEQaikDADcDACABQQhqIAJBCGopAwA3AwAgCiAKKQPoAzcDkAQgZSFjIDQhRyAcISogHSEBIApB5ANqDAELIApBkARqIgJBIGogCkGAAmoiA0EgaigCADYCACACQRhqIANBGGopAwA3AwAgAkEQaiADQRBqKQMANwMAIAJBCGogA0EIaikDADcDACAKIAopA4ACNwOQBCAKQfwBagsiAkECai0AADoAACAKIAIvAAA7AZAIIAooAvQBRQ0BIAooAvABEJoCDAELIApBkARqIgJBCGogCkGAAmoiA0EIaikDADcDACACQRBqIANBEGopAwA3AwAgAkEYaiADQRhqKQMANwMAIAJBIGogA0EgaigCADYCACAKQZIIaiAKQf4Bai0AADoAACAKIAopA4ACNwOQBCAKIAovAfwBOwGQCCAKKAL0AUUNACAKKALwARCaAgsgAUH/AXFBBEcNAQsgAEEEOgA0DAELIAAgCi8BkAg7ADUgACBHOAIMIAAgKjYCCCAAIGM3AgAgACAKKQOQBDcCECAAQTdqIApBkghqLQAAOgAAIABBGGogCkGYBGopAwA3AgAgAEEgaiAKQaAEaikDADcCACAAQShqIApBkARqIgJBGGopAwA3AgAgAEEwaiACQSBqKAIANgIAIAAgAToANAsgCkHQCGokAAvTJQIafwN+IwBBwAZrIgckAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEpAwAiH0IAUgRAIAEpAwgiIFANASABKQMQIiFQDQIgHyAhfCAfVA0DIB8gIFQNBCABLwEYIQEgByAfPgIMIAdBAUECIB9CgICAgBBUIgUbNgKsASAHQQAgH0IgiKcgBRs2AhAgB0EUakEAQZgBEIkNGiAHQbQBakEAQZwBEIkNGiAHQQE2ArABIAdBATYC0AIgAa3DIB9CAX15fULCmsHoBH5CgKHNoLQCfEIgiKciBcEhDwJAIAHBIglBAE4EQCAHQQxqIAEQmgMaDAELIAdBsAFqQQAgCWvBEJoDGgsCQCAPQQBIBEAgB0EMakEAIA9rQf//A3EQ7QEMAQsgB0GwAWogBUH//wNxEO0BCyAHKALQAiEMIAdBnAVqIAdBsAFqQaABEIgNGiAHIAw2ArwGIAMiCUEKTwRAIAdBlAVqIQUDQCAHKAK8BiIBQSlPDRMCQCABRQ0AIAFBAWtB/////wNxIgZBAWoiCEEBcSELIAFBAnQhAQJ/IAZFBEBCACEfIAdBnAVqIAFqDAELIAhB/v///wdxIQggASAFaiEBQgAhHwNAIAFBBGoiBjUCACAfQiCGhCIgQoCU69wDgCEfIAYgHz4CACABIAE1AgAgICAfQoCU69wDfn1CIIaEIh9CgJTr3AOAIiA+AgAgHyAgQoCU69wDfn0hHyABQQhrIQEgCEECayIIDQALIAFBCGoLIQEgC0UNACABQQRrIgEgATUCACAfQiCGhEKAlOvcA4A+AgALIAlBCWsiCUEJSw0ACwsgCUECdEHYwsMAaigCACIFRQ0FIAcoArwGIgFBKU8NESABBH8gAUEBa0H/////A3EiCUEBaiIGQQFxIQsgAUECdCEBIAWtIR8CfyAJRQRAQgAhICAHQZwFaiABagwBCyAGQf7///8HcSEIIAEgB2pBlAVqIQFCACEgA0AgAUEEaiIFNQIAICBCIIaEIiEgH4AhICAFICA+AgAgASABNQIAICEgHyAgfn1CIIaEIiAgH4AiIT4CACAgIB8gIX59ISAgAUEIayEBIAhBAmsiCA0ACyABQQhqCyEBIAsEQCABQQRrIgEgATUCACAgQiCGhCAfgD4CAAsgBygCvAYFQQALIgEgBygCrAEiBSABIAVLGyIGQShLDQYgBkUEQEEAIQYMCQsgBkEBcSETIAZBAUYEQEEAIQkMCAsgBkF+cSEOQQAhCSAHQZwFaiEBIAdBDGohCANAIAEgCUEBcSABKAIAIgsgCCgCAGoiCWoiEjYCACAJIAtJIAkgEktyIAFBBGoiEigCACIVIAhBBGooAgBqIglqIQsgEiALNgIAIAkgFUkgCSALS3IhCSAIQQhqIQggAUEIaiEBIA4gCkECaiIKRw0ACwwHC0GHxcMAQRxBkMjDABCqCgALQbTFwwBBHUGgyMMAEKoKAAtB5MXDAEEcQbDIwwAQqgoAC0HIx8MAQTZBoMnDABCqCgALQYDHwwBBN0GQycMAEKoKAAtBh/HDAEEbQcDwwwAQqgoACyAGQShBwPDDABDkCAALIBMEfyAKQQJ0IgggB0GcBWpqIgsoAgAhASALIAkgASAHQQxqIAhqKAIAaiIJaiIINgIAIAggCUkgASAJS3IFIAkLQQFxRQ0AIAZBJ0sNASAHQZwFaiAGQQJ0akEBNgIAIAZBAWohBgsgByAGNgK8BiAGIAwgBiAMSxsiAUEpTw0IIAFBAnQhAQJAA0AgAQRAQX8gAUEEayIBIAdBsAFqaigCACIJIAEgB0GcBWpqKAIAIgZHIAYgCUkbIghFDQEMAgsLQX9BACABGyEICyAIQQFNBEAgD0EBaiEPDAQLIAVFBEBBACEFDAMLIAVBAWtB/////wNxIgFBAWoiCUEDcSEIIAFBA0kEQCAHQQxqIQFCACEfDAILIAlB/P///wdxIQYgB0EMaiEBQgAhHwNAIAEgATUCAEIKfiAffCIfPgIAIAFBBGoiCTUCAEIKfiAfQiCIfCEfIAkgHz4CACABQQhqIgk1AgBCCn4gH0IgiHwhHyAJIB8+AgAgAUEMaiIJNQIAQgp+IB9CIIh8IR8gCSAfPgIAIB9CIIghHyABQRBqIQEgBkEEayIGDQALDAELIAZBKEHA8MMAEOMIAAsgCARAA0AgASABNQIAQgp+IB98Ih8+AgAgAUEEaiEBIB9CIIghHyAIQQFrIggNAAsLIB+nIgFFDQAgBUEnSw0CIAdBDGogBUECdGogATYCACAFQQFqIQULIAcgBTYCrAELQQAhCwJAIA/BIgEgBMEiCUgiF0UEQCAPIARrwSADIAEgCWsgA0kbIgkNAQtBACEJDAILIAdB1AJqIgQgB0GwAWoiAUGgARCIDRogByAMNgL0AyAEQQEQmgMhGCAHKALQAiEGIAdB+ANqIgUgAUGgARCIDRogByAGNgKYBSAFQQIQmgMhGSAHKALQAiEIIAdBnAVqIgYgAUGgARCIDRogByAINgK8BiABQQRrIRogBEEEayEbIAVBBGshHCAGQQRrIR0gBkEDEJoDIR4gBygCrAEhBSAHKALQAiEMIAcoAvQDIRIgBygCmAUhFSAHKAK8BiEWQQAhEwJAA0AgEyELAkACQAJAAkACQAJAAkAgBUEpSQRAIAtBAWohEyAFQQJ0IQRBACEBAkACQAJAA0AgASAERg0BIAdBDGogAWohBiABQQRqIQEgBigCAEUNAAsgBSAWIAUgFksbIgRBKU8NBCAEQQJ0IQECQANAIAEEQEF/IAEgHWooAgAiBiABQQRrIgEgB0EMamooAgAiCEcgBiAISxsiCEUNAQwCCwtBf0EAIAEbIQgLQQAhDiAIQQJJBEAgBARAQQEhCiAEQQFxIQ5BACEFIARBAUcEQCAEQX5xIREgB0EMaiEBIAdBnAVqIQgDQCABIApBAXEgASgCACIKIAgoAgBBf3NqIgZqIhA2AgAgBiAKSSAGIBBLciABQQRqIhAoAgAiDSAIQQRqKAIAQX9zaiIGaiEKIBAgCjYCACAGIA1JIAYgCktyIQogCEEIaiEIIAFBCGohASARIAVBAmoiBUcNAAsLIA4EfyAFQQJ0IgUgB0EMamoiBigCACEBIAYgASAFIB5qKAIAQX9zaiIFIApqIgY2AgAgASAFSyAFIAZLcgUgCgtBAXFFDRULIAcgBDYCrAFBCCEOIAQhBQsgBSAVIAUgFUsbIgRBKU8NBiAEQQJ0IQEDQCABRQ0CQX8gASAcaigCACIGIAFBBGsiASAHQQxqaigCACIIRyAGIAhLGyIIRQ0ACwwCCyADIAlJDQQgCSALRg0OIAIgC2pBMCAJIAtrEIkNGgwOC0F/QQAgARshCAsCQCAIQQFLBEAgBSEEDAELIAQEQEEBIQogBEEBcSERQQAhBSAEQQFHBEAgBEF+cSEQIAdBDGohASAHQfgDaiEIA0AgASAKQQFxIAEoAgAiCiAIKAIAQX9zaiIGaiINNgIAIAYgCkkgBiANS3IgAUEEaiINKAIAIhQgCEEEaigCAEF/c2oiBmohCiANIAo2AgAgBiAUSSAGIApLciEKIAhBCGohCCABQQhqIQEgECAFQQJqIgVHDQALCyARBH8gBUECdCIFIAdBDGpqIgYoAgAhASAGIAEgBSAZaigCAEF/c2oiBSAKaiIGNgIAIAEgBUsgBSAGS3IFIAoLQQFxRQ0SCyAHIAQ2AqwBIA5BBHIhDgsgBCASIAQgEksbIgZBKU8NBCAGQQJ0IQECQANAIAEEQEF/IAEgG2ooAgAiBSABQQRrIgEgB0EMamooAgAiCEcgBSAISxsiCEUNAQwCCwtBf0EAIAEbIQgLAkAgCEEBSwRAIAQhBgwBCyAGBEBBASEKIAZBAXEhEUEAIQUgBkEBRwRAIAZBfnEhECAHQQxqIQEgB0HUAmohCANAIAEgCkEBcSABKAIAIgogCCgCAEF/c2oiBGoiDTYCACAEIApJIAQgDUtyIAFBBGoiDSgCACIUIAhBBGooAgBBf3NqIgRqIQogDSAKNgIAIAQgFEkgBCAKS3IhCiAIQQhqIQggAUEIaiEBIBAgBUECaiIFRw0ACwsgEQR/IAVBAnQiBCAHQQxqaiIFKAIAIQEgBSABIAQgGGooAgBBf3NqIgQgCmoiBTYCACABIARLIAQgBUtyBSAKC0EBcUUNEgsgByAGNgKsASAOQQJqIQ4LIAYgDCAGIAxLGyIFQSlPDQ8gBUECdCEBAkADQCABBEBBfyABIBpqKAIAIgQgAUEEayIBIAdBDGpqKAIAIghHIAQgCEsbIghFDQEMAgsLQX9BACABGyEICwJAIAhBAUsEQCAGIQUMAQsgBQRAQQEhCiAFQQFxIRFBACEGIAVBAUcEQCAFQX5xIRAgB0EMaiEBIAdBsAFqIQgDQCABIApBAXEgASgCACIKIAgoAgBBf3NqIgRqIg02AgAgBCAKSSAEIA1LciABQQRqIg0oAgAiFCAIQQRqKAIAQX9zaiIEaiEKIA0gCjYCACAEIBRJIAQgCktyIQogCEEIaiEIIAFBCGohASAQIAZBAmoiBkcNAAsLIBEEfyAGQQJ0IgQgB0EMamoiBigCACEBIAYgASAHQbABaiAEaigCAEF/c2oiBCAKaiIGNgIAIAEgBEsgBCAGS3IFIAoLQQFxRQ0SCyAHIAU2AqwBIA5BAWohDgsgAyALRwRAIAIgC2ogDkEwajoAACAFQSlPDRAgBUUEQEEAIQUMCQsgBUEBa0H/////A3EiAUEBaiIEQQNxIQggAUEDSQRAIAdBDGohAUIAIR8MCAsgBEH8////B3EhBiAHQQxqIQFCACEfA0AgASABNQIAQgp+IB98Ih8+AgAgAUEEaiIENQIAQgp+IB9CIIh8IR8gBCAfPgIAIAFBCGoiBDUCAEIKfiAfQiCIfCEfIAQgHz4CACABQQxqIgQ1AgBCCn4gH0IgiHwhHyAEIB8+AgAgH0IgiCEfIAFBEGohASAGQQRrIgYNAAsMBwsgAyADQfDIwwAQ4wgACwwOCyAEQShBwPDDABDkCAALIAkgA0GAycMAEOQIAAsgBEEoQcDwwwAQ5AgACyAGQShBwPDDABDkCAALAAsgCARAA0AgASABNQIAQgp+IB98Ih8+AgAgAUEEaiEBIB9CIIghHyAIQQFrIggNAAsLIB+nIgFFDQAgBUEnSw0CIAdBDGogBUECdGogATYCACAFQQFqIQULIAcgBTYCrAEgCSATRw0AC0EBIQsMAgsgBUEoQcDwwwAQ4wgACyAFQShBwPDDABDjCAALAkACQAJAAkACQCAMQSlJBEAgDEUEQEEAIQwMAwsgDEEBa0H/////A3EiAUEBaiIEQQNxIQggAUEDSQRAIAdBsAFqIQFCACEfDAILIARB/P///wdxIQYgB0GwAWohAUIAIR8DQCABIAE1AgBCBX4gH3wiHz4CACABQQRqIgQ1AgBCBX4gH0IgiHwhHyAEIB8+AgAgAUEIaiIENQIAQgV+IB9CIIh8IR8gBCAfPgIAIAFBDGoiBDUCAEIFfiAfQiCIfCEfIAQgHz4CACAfQiCIIR8gAUEQaiEBIAZBBGsiBg0ACwwBCyAMQShBwPDDABDkCAALIAgEQANAIAEgATUCAEIFfiAffCIfPgIAIAFBBGohASAfQiCIIR8gCEEBayIIDQALCyAfpyIBRQ0AIAxBJ0sNASAHQbABaiAMQQJ0aiABNgIAIAxBAWohDAsgByAMNgLQAiAFIAwgBSAMSxsiAUEpTw0FIAFBAnQhAQJAAkACQAJAA0AgAUUNAUF/IAFBBGsiASAHQbABamooAgAiBCABIAdBDGpqKAIAIgVHIAQgBUsbIgRFDQALIARB/wFxQQFGDQEMBgsgCyABRXFFDQUgCUEBayIBIANPDQEgASACai0AAEEBcUUNBQsgAyAJSQ0DIAIgCWohBUEAIQEgAiEIAkADQCABIAlGDQEgAUEBaiEBIAkgCEEBayIIaiIELQAAQTlGDQALIAQgBC0AAEEBajoAACAJIAFrQQFqIAlPDQUgBEEBakEwIAFBAWsQiQ0aDAULAn9BMSAJRQ0AGiACQTE6AABBMCAJQQFGDQAaIAJBAWpBMCAJQQFrEIkNGkEwCyEBIA9BAWohDyAXRQ0BDAQLIAEgA0HAyMMAEOMIAAsgAyAJTQ0CIAUgAToAACAJQQFqIQkMAgsgDEEoQcDwwwAQ4wgACyAJIANB0MjDABDkCAALIAMgCUkNAQsgACAPOwEIIAAgCTYCBCAAIAI2AgAgB0HABmokAA8LIAkgA0HgyMMAEOQIAAsgAUEoQcDwwwAQ5AgACyAFQShBwPDDABDkCAALQdDwwwBBGkHA8MMAEKoKAAvrJgMefx99An4jAEHwB2siCyQAIAtBHGogBiAHKAKAAREAACALQRhqIAc2AgAgC0EQaiAENgIAIAsgCjoANCALIAk4AjAgCyAIOAIsIAsgBjYCFCALIAM2AgwgCyAFNgIIIAsgAjYCBCALIAE2AgACQAJAIAMgBCgCEBEEACIBQSBqKAIAIhEEQCALQQA2AkAgC0IENwI4IAtBOGoiAkEAEKsGIAsoAjggCygCQCIDQQN0akKAgICA8P///343AgAgCyADQQFqNgJAIAtBhAFqIAIQoQMCQAJAIAsoAoQBRQRAQQQhAQwBCyALQTRqIRkgC0EwaiEaIAtBLGohGyABQcQAaigCACENIAtBoAZqIgJBA2ohBSALQYAEaiEWIAtB/QNqIRIgC0H0AmohCiALQdACaiETIAJBKGohECALQYgGaiEUIAEoAjwhDiABKAIYIRxD//9/fyEJIAtBwANqIRdBBCEBAkACQAJAA0AgCSALKgKMAYxfDQQgCygCiAEiAiARTw0CIBwgAkEHdGoiAy0AeEEBcSIMBEAgDiADKAJgIgJBDGxqQQAgAiANSRsiAkEIakEAIAIbIR0gDiADQewAaigCACICQQxsakEAIAIgDUkbIgJBCGpBACACGyEeIA4gA0HoAGooAgAiAkEMbGpBACACIA1JGyICQQhqQQAgAhshHyAOIANB5ABqKAIAIgJBDGxqQQAgAiANSRsiAkEIakEAIAIbIRgLIANB+ABqISAgCyAJOAK0AyAXQgA3AwAgC0IANwO4A0EAIQYgC0EANgLMAyALQQQ6ALwFIAtBBDoAgAUgC0EEOgDEBCALQQQ6AIgEIANBNGoqAgAhCCADQThqKgIAISkgA0E8aioCACEsIANBFGoqAgAhMyADQcQAaioCACEwIANBGGoqAgAhMSADQcgAaioCACEqIANBHGoqAgAhQSADQcwAaioCACEvIANBJGoqAgAhQiADQdQAaioCACEtIANBKGoqAgAhQyADQdgAaioCACE4IANBLGoqAgAhRCADQdwAaioCACE5IAMqAgQhKyADKgIIIS4gAyoCDCEyIAMqAhwhNiADKgIsIUUgAyoCGCE0IAMqAighOiADKgIUITUgAyoCJCE7IAMqAjAiRiADKgIAIjyTIj0gPZQgA0FAayoCACI9IAMqAhAiPpMiNyA3lJIgA0HQAGoqAgAiNyADKgIgIj+TIkAgQJSSEJsBIUAgCCArkyJHIEeUIDAgNZMiNSA1lJIgLSA7kyI1IDWUkhCbASE1ICkgLpMiOyA7lCAqIDSTIjQgNJSSIDggOpMiNCA0lJIQmwEhNCALQcAFaiICICwgMpMiOiA6lCAvIDaTIjYgNpSSIDkgRZMiNiA2lJIQmwE4AgwgAiA0OAIIIAIgNTgCBCACIEA4AgAgRCA5kkMAAAA/lCFEIEMgOJJDAAAAP5QhQyBCIC2SQwAAAD+UIUIgQSAvkkMAAAA/lCFBIDEgKpJDAAAAP5QhNiAzIDCSQwAAAD+UIUUgPyA3kkMAAAA/lCE0ID4gPZJDAAAAP5QhOiAyICySQwAAAD+UITUgLiApkkMAAAA/lCE7ICsgCJJDAAAAP5QhPSA8IEaSQwAAAD+UIUZBACEEAkADQCALIAQ2AtQFIAsgNTgCrAYgCyA7OAKoBiALID04AqQGIAsgRjgCoAYgC0GgBmogBmoiAioCACEqIAsgQTgCrAYgCyA2OAKoBiALIEU4AqQGIAsgOjgCoAYgAioCACEvIAsgRDgCrAYgCyBDOAKoBiALIEI4AqQGIAsgNDgCoAYgAioCACEtIAsgC0HABWogBmoqAgAiODgC2AUgCyALKgIoIjk4AtwFIAsgCygCBCICKgIMIjA4AuwFIAsgAioCCCIIOALoBSALIAIqAgQiKTgC5AUgCyACKgIAIiw4AuAFIAIqAiQhKyACKgIcIS4gAioCICEyIAsgAioCECI8ICogMCAtICmUIC8gCJSTIjMgM5IiM5QgKSAvICyUICogKZSTIjEgMZIiMZQgCCAqIAiUIC0gLJSTIiogKpIiKpSTkpKSIj44AvAFIAsgAioCGCI3IC0gMCAxlCAsICqUICkgM5STkpKSIj84AvgFIAsgAioCFCJAIC8gMCAqlCAIIDOUICwgMZSTkpKSIjM4AvQFIAsgNyArIDAgLCAylCApIC6UkyIqICqSIiqUICwgCCAulCAsICuUkyIvIC+SIi+UICkgKSArlCAIIDKUkyItIC2SIi2Uk5KSkiA/kyIrIDAgKSA8IC4gMCAtlCApICqUIAggL5STkpKSID6TIi6UICwgQCAyIDAgL5QgCCAtlCAsICqUk5KSkiAzkyIqlJMiLyAvkiIvlCApIAggKpQgKSArlJMiLSAtkiItlCAsICwgK5QgCCAulJMiKyArkiIrlJOSkjgChAYgCyAqIDAgK5QgLCAvlCAIIC2Uk5KSOAKABiALIC4gMCAtlCAIICuUICkgL5STkpI4AvwFIBRBEGogAkE4aikCADcCACAUQQhqIAJBMGopAgA3AgAgFCACKQIoNwIAIAsgCygCCCICKgIMIjA4AqwGIAsgAioCCCIIOAKoBiALIAIqAgQiKTgCpAYgCyACKgIAIiw4AqAGIAIqAiQhKiACKgIcIS8gAioCICEtICkgCyoCJCIylCAIIAsqAiAiM5STIisgK5IhKyAsIDOUICkgCyoCHCIxlJMiLiAukiEuIAsgAioCECI8IDEgMCArlCApIC6UIAggCCAxlCAsIDKUkyIxIDGSIjGUk5KSkiI+OAKwBiALIAIqAhgiNyAyIDAgLpQgLCAxlCApICuUk5KSkiIyOAK4BiALIAIqAhQiPyAzIDAgMZQgCCArlCAsIC6Uk5KSkiIzOAK0BiALIDcgKiAwICwgLZQgKSAvlJMiKyArkiIrlCAsIAggL5QgLCAqlJMiLiAukiIulCApICkgKpQgCCAtlJMiKiAqkiIqlJOSkpIgMpMiMiAwICkgPCAvIDAgKpQgKSArlCAIIC6Uk5KSkiA+kyIvlCAsID8gLSAwIC6UIAggKpQgLCArlJOSkpIgM5MiKpSTIi0gLZIiLZQgKSAIICqUICkgMpSTIisgK5IiK5QgLCAsIDKUIAggL5STIi4gLpIiLpSTkpI4AsQGIAsgKiAwIC6UICwgLZQgCCArlJOSkjgCwAYgCyAvIDAgK5QgCCAulCApIC2Uk5KSOAK8BiAQQRBqIAJBOGopAgA3AgAgEEEIaiACQTBqKQIANwIAIBAgAikCKDcCACALKAIAIQIgCyoCLCEIIAsqAjAhKSALQQA2AqQHAkAgOCA5YEUEQCALQbgHaiACIAtBoAZqIDkgC0HcBWogC0HgBWogOCALQdgFaiAIICkgC0GkB2oQQiALLQDsByIHQQRGDQEgCyALKgK4BzgC7AYMAQsgC0HsBmogAiALQeAFaiA4IAtB2AVqIAtBoAZqIDkgC0HcBWogCCApIAtBpAdqEEIgCy0AoAchBwsCQCAHQf8BcUEERg0AIAsqAuwGIQggDARAIAsgHjYCsAcgCyAfNgKsByALIBg2AqgHIAsgHTYCpAcgCCALKgK0A11FDQEgCygC1AUiAkEETw0FIAtBpAdqIAJBAnRqKAIAIgJFDQEgCyACKAIAIgI2ArQHIAsoAgwhByALKAIQIQ8gCyALKAIYNgLUByALIAsoAhQ2AtAHIAsgCygCCDYCzAcgCyALKQIANwLEByALIBk2AsAHIAsgGjYCvAcgCyAbNgK4ByALIAtBtAdqNgLsByALIAtB0ANqNgLoByALIAtBtANqNgLkByALIAtBzANqNgLgByALIAtB1AVqNgLcByALIAtBuANqNgLYByAHIAIgC0G4B2pBoMvCACAPQQxqKAIAEQIADAELIAsoAtQFIgJBBE8NAiALQcwDaiACaiAIIAsqArQDXToAACALQbgDaiACQQJ0aiAIOAIACyAGQQRqIQYgBEEBaiIEQQRHDQALIBMgCykDuAM3AgAgCiALKQLQAzcCACATQQhqIgYgFykDADcCACAKQQhqIgcgC0HQA2oiAkEIaiIMKQIANwIAIApBEGoiDyACQRBqIhUpAgA3AgAgCkEYaiIhIAJBGGoiIikCADcCACAKQSBqIiMgAkEgaiIkKQIANwIAIApBKGoiJSACQShqIiYoAgA2AgAgCygCzAMhBCALQeYCaiInIBJBAmoiKC0AADoAACALIBIvAAA7AeQCIAstAPwDIQIgC0GQAWogFkHAARCIDRogBEH/AXFBAkYNBCALQagDaiAGKQIANwMAIAsgEykCADcDoAMgJiAlKAIANgIAICQgIykCADcDACAiICEpAgA3AwAgFSAPKQIANwMAIAwgBykCADcDACALIAI6APwDIAsgCikCADcD0AMgEiALLwHkAjsAACAoICctAAA6AAAgFiALQZABakHAARCIDRogBEEVdkEIcSAEQQ52QQRxIARBB3ZBAnEgBEEBcXJycq0hSUIAIUgDQAJAIEkgSIhCAYNQDQAgSKchAiAgLQAAQQFxBEAgAkECdCIGIAtBoANqaioCACIIIAldRQ0BIAtB0ANqIAJBPGxqIgQtADgiAkEERg0BIA0gAyAGakHgAGooAgBNDQEgDkUNASAFIAQpAAA3AAAgBUEwaiAEQTBqKQAANwAAIAVBKGogBEEoaikAADcAACAFQSBqIARBIGopAAA3AAAgBUEYaiAEQRhqKQAANwAAIAVBEGogBEEQaikAADcAACAFQQhqIARBCGopAAA3AAAgC0HGAGogBEE7ai0AADoAACALIAQvADk7AUQgC0HIAGoiAUE3aiALQaAGaiIEQTdqKAAANgAAIAFBMGogBEEwaikAADcDACABQShqIBApAAA3AwAgAUEgaiAEQSBqKQAANwMAIAFBGGogBEEYaikAADcDACABQRBqIARBEGopAAA3AwAgAUEIaiAEQQhqKQAANwMAIAsgCykAoAY3A0ggAiEBIAghCQwBCyACQQJ0IgIgA2pB4ABqKAIAIgYgEU8NACALQaADaiACaioCAIwhCCALKAJAIgchBCALKAI8IAdGBEAgC0E4aiAHEKsGIAsoAkAhBAsgCygCOCICIARBA3RqIgwgCDgCBCAMIAY2AgAgCyAEQQFqNgJAIAIgB0EDdGoiBCoCBCEIIAQoAgAhBgJAIAdFBEBBACEEDAELA0BBAEF/IAIgB0EBayIMQQF2IgRBA3RqIg9BBGoqAgAiKSAIXyIVG0EBQQIgFRsgCCApXxtBAWpBAkkEQCAHIQQMAgsgAiAHQQN0aiAPKQIANwIAIAQhByAMQQFLDQALCyACIARBA3RqIgIgCDgCBCACIAY2AgALIEhCAXwiSEIEUg0ACyALQYQBaiALQThqEKEDIAsoAoQBDQEMBQsLIAJBBEHUwcIAEOMIAAsgAkEEQcTBwgAQ4wgACyACIBFB+KDCABDjCAALAkAgAkEERwRAIAtB4gVqIAtB5gJqLQAAOgAAIAsgCy8B5AI7AeAFIAtBgwRqIAtB6AJqIgFBMGopAgA3AAAgC0H7A2ogAUEoaikCADcAACALQfMDaiABQSBqKQIANwAAIAtB6wNqIAFBGGopAgA3AAAgC0HjA2ogAUEQaikCADcAACALQdsDaiABQQhqKQIANwAAIAsgCykC6AI3ANMDIAtBoAZqIgFBN2ogC0HQA2oiA0E3aigAADYAACABQTBqIANBMGopAAA3AwAgAUEoaiADQShqKQAANwMAIAFBIGogA0EgaikAADcDACABQRhqIANBGGopAAA3AwAgAUEQaiADQRBqKQAANwMAIAFBCGogA0EIaikAADcDACALIAspANADNwOgBiACIQEMAQsgC0GgBmoiAkE3aiALQcgAaiIDQTdqKAAANgAAIAJBMGogA0EwaikDADcDACACQShqIANBKGopAwA3AwAgAkEgaiADQSBqKQMANwMAIAJBGGogA0EYaikDADcDACACQRBqIANBEGopAwA3AwAgAkEIaiADQQhqKQMANwMAIAtB4gVqIAtBxgBqLQAAOgAAIAsgCykDSDcDoAYgCyALLwFEOwHgBQsgCygCPEUNASALKAI4EJoCDAELIAtBoAZqIgJBCGogC0HIAGoiA0EIaikDADcDACACQRBqIANBEGopAwA3AwAgAkEYaiADQRhqKQMANwMAIAJBIGogA0EgaikDADcDACACQShqIANBKGopAwA3AwAgAkEwaiADQTBqKQMANwMAIAJBN2ogA0E3aigAADYAACALQeIFaiALQcYAai0AADoAACALIAspA0g3A6AGIAsgCy8B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IAZBFGoiBkcNAAsLAkACQCASBEAgEkEBa0H/////AXEiC0EBaiIJQQdxIQggC0EHSQRAQQAhByAFIQMMAgsgCUH4////A3EhBkEAIQcgBSEDA0AgAyAHNgIAIANBCGogA0EEaigCACAHaiICNgIAIANBEGogA0EMaigCACACaiICNgIAIANBGGogA0EUaigCACACaiICNgIAIANBIGogA0EcaigCACACaiICNgIAIANBKGogA0EkaigCACACaiICNgIAIANBMGogA0EsaigCACACaiICNgIAIANBOGogA0E0aigCACACaiICNgIAIANBPGooAgAgAmohByADQUBrIQMgBkEIayIGDQALDAELIARB0ABqQQAQjwUgBEHcAGpBABCPBQwBCyAIBEADQCADIAc2AgAgA0EEaigCACAHaiEHIANBCGohAyAIQQFrIggNAAsLIARB0ABqIAcQjwUgBEHcAGogBxCPBSASRQ0AIAUhAyAJQQdxIgcEQANAIANBBGpBADYCACADQQhqIQMgB0EBayIHDQALCyALQQdJDQAgBSASQQN0aiECA0AgA0E8akEANgIAIANBNGpBADYCACADQSxqQQA2AgAgA0EkakEANgIAIANBHGpBADYCACADQRRqQQA2AgAgA0EMakEANgIAIANBBGpBADYCACACIANBQGsiA0cNAAsLAkACQAJAAkACQAJAIBtFDQAgBCgCaCEOIAQoAlwhFiAEKAJkIREgBCgCUCEXIAQoAlghEyAEKAJ0IRogBCgCfCIZIAQoAnAiCksEQEEAIRUDQCAMIBVBFGxqIgIoAgAhAyADIAMgAigCBCIPakkEQCADQQJ0IgIgGmohBiACIA5qIQIgAyAZIAMgGUsbIhAgA2shCCADIAogAyAKSxsiCSADayENA0AgCEUNBSASIAYoAgAiA00NBiATIAUgA0EDdGoiBygCBCAHKAIAaiIDTQ0HIBcgA0ECdGogFTYCACANRQ0IIBEgB0EEaiILKAIAIAcoAgBqIgNNDQkgFiADQQJ0aiACKAIANgIAIAsgCygCAEEBajYCACAGQQRqIQYgAkEEaiECIAhBAWshCCANQQFrIQ0gD0EBayIPDQALCyAbIBVBAWoiFUcNAAsMAQtBACEPA0AgDCAPQRRsaiICKAIAIQMgAyADIAIoAgQiB2pJBEAgA0ECdCIC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AggiFUH/////B3G+IgMgAiADYBsiAiABKAIMIhBB/////wdxviIDIAIgA2AbIgIgASgCECIUQf////8Hcb4iAyACIANgGyICIAEoAhQiFkH/////B3G+IgMgAiADYBsiAiABKAIYIhdB/////wdxviIDIAIgA2AbIgIgASgCHCIZQf////8Hcb4iAyACIANgGyICIAEoAiAiGEH/////B3G+IgMgAiADYBsiCUMAAAAAXARAIAEgGL4gCZU4AiAgASAZviAJlTgCHCABIBe+IAmVOAIYIAEgFr4gCZU4AhQgASAUviAJlTgCECABIBC+IAmVOAIMIAEgFb4gCZU4AgggASATviAJlTgCBCABIBG+IAmVOAIACyASQUBrIhNBIGogAUEgaigCADYCACATQRhqIAFBGGopAgA3AwAgE0EQaiABQRBqKQIANwMAIBNBCGogAUEIaikCADcDACASIAEpAgA3A0AgEkHoAGohHEEAIRQjAEEQayIZJAAgGUIANwMIIBNBJGohHiATQRRqIR8gGUEQaiEaQQEhFQNAIBRBAnQiGyATakEEaiIRIBRBA2wiAUECdGoiFioCACICIAKUIQIgFEUEQCACIBZBBGoqAgAiAiAClJIhAgsgAhCbASIFIAWMIBYqAgAiA0MAAAAAYCIQGyEEIBYgAyAEkjgCAAJAAkACQCACIAUgAyADjCAQG5SSIgIgApIiAkMAAAAAXARAIBEgAUEDakECdGohFyACEJsBIQIgFiAWKgIAIAKVOAIAIBRFBEAgFkEEaiIBIAEqAgAgApU4AgALIBkgG2ogBIw4AgAgGUEIaiAbaiIRIBYqAgAiAiACkiICIBcqAgCUOAIAIBRFBEAgESACIBcqAgSUOAIECyAXQQRqIBRFIgEgFkEEaiIdIAEQ2gEhAiARIBEqAgAgAiACkpI4AgAgFQRAIBFBBGoiECAXQRBqIAEgHSABENoBIgIgApIgECoCAJI4AgALIBYqAgAgESoCAJRDAAAAAJIhAiAURQRAIAIgHSoCACARQQRqKgIAlJIhAgtBAiAUayIgQQFxISEgFioCACEDQQAhGCAURQRAICBBAnEhIiAfIBRBBHRqIRAgESEBA0AgEEEEayIjICMqAgAgAyABKgIAlJM4AgAgECAQKgIAIAMgAUEEaioCAJSTOAIAIAFBCGohASAQQQhq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NwIQIAAgECkCADcCHCAAIAEpAgA3AiggAEEMaiAPQYgCaigCADYCACAAQRhqIBJBCGooAgA2AgAgAEEkaiAQQQhqKAIANgIAIABBMGogAUEIaigCADYCAAwBCyAAQQQ6ADQLIA9BwAJqJAAL9z0DE39GfQR+IwBBgAFrIgUkAAJAAkACQAJAAkACfwJAAkACQAJAAkACfwJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoArwBDgQAAQIDBAsgAUGAgID8AzYCsAEgACABKQIQNwIAIABBCGogAUEYaigCADYCAAwdCyAFQQhqIgNBCGoiAiABQRhqKAIANgIAIANBFGogAUE8aigCADYCACAFIAEpAhA3AwggBSABQTRqIgQpAgA3AhQgBUEANgJ4IAVCADcCcCAFQTBqIgYgAyAFQfAAahDyAiACIAZBCGooAgA2AgAgBSAFKQIwNwMIIAZBFGooAgAhAwJAAkACQAJAIAUoAkBFBEAgAw4CAgMBCyAFQcgAaioCACEVIAEgAzYCsAEgAUG0AWogFTgCAAwDC0HwpcIAQShBsLvCABCqCgALIAFBADYCvAEgAUGAgID8AzYCsAEMAQsgAUEQaiIDKQIAIVsgAyAEKQIANwIAIAVBMGoiBkEgaiICIANBIGoiBygCADYCACAGQRhqIgsgA0EYaiIIKQIANwMAIAZBEGoiCiADQRBqIgwpAgA3AwAgBkEIaiIGIANBCGoiAykCADcDACADIARBCGoiAykCADcCACAMIARBEGoiDCkCADcCACAIIARBGGoiCCkCADcCACAHIARBIGoiBygCADYCACAFIFs3AzAgBCAFKQMwNwIAIAcgAigCADYCACAIIAspAwA3AgAgDCAKKQMANwIAIAMgBikDADcCACABQQA2ArwBIAFBgICA/AM2ArABIAEgASkCAEIgiTcCAAsgACAFKQMINwIAIABBCGogBUEQaigCADYCAAwcCyAFQTBqIgRBCGogAUEYaigCADYCACAEQRRqIAFBPGooAgA2AgAgBEEgaiABQeAAaigCADYCACAFIAEpAhA3AzAgBSABQTRqIgYpAgA3AjwgBSABQdgAaiIDKQIANwNIIAVBADYCbCAFQgA3AmQgBUEIaiIHIAQgBUHkAGpBARBNIAVB+ABqIgsgB0EIaigC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FiAilJOSkiIwlJOSk5QgMyAgICiUIBsgJZQgFiAmlJOSkiA3ICsgNCAcICmUIBogI5QgGSAYlJOSkiIZlCAtIESUk5IgOCAsIDUgICAhlCAeICKUIBsgH5STkpIiG5QgLiAxlJOSk5QgMiAgICaUIBYgKJQgHiAllJOSkiA5IC0gL5QgJyAZlJOSIDogLiAwlCAqIBuUk5KTlJKSjJRdDQMgNkMAAAAAWw0CID0gF5IiFyAJXQ0ACwsgAEEEOgA0DAMLIABBBDoANAwCCyALQZQBaiEBAkAgHUMAAAAAXkUEQCALIBc4ApwCIAsgFzgCmAIgCyAIOAKUAiALQagBaiAdIAIgC0HgAWogBSAOIAwgC0GUAmoQwgEMAQsgCyAJOAKcAiALIBc4ApgCIAsgFzgClAIgC0GoAWogHSACIAMgBSAGIAwgC0GUAmoQ+QELIAsqAqwBIQMgACALKQPgATcCBCAAQQE6ADQgACADOAIAIAAgDikCADcCECAAIAwpAgA3AhwgACABKQIANwIoIABBDGogC0HoAWooAgA2AgAgAEEYaiAOQQhqKAIANgIAIABBJGogDEEIaigCADYCACAAQTBqIAFBCGooAgA2AgAMAQsgAEEEOgA0CyALQaACaiQAC4MdAwh/Gn0DfiMAQeACayIFJAAgACoCmAEhHiAAQYgBakEANgIAIABB8ABqQQA2AgAgBUEBOgAHAkACQAJAIAIoAhgiBwRAIAdB/////wFLDQEgB0ECdCIGQQBIDQECQCAGRQRAIAVBADYCECAFIAc2AgwgBUEENgIIDAELQZH7wwAtAAAaIAZBBBCCDCIIRQ0EIAVBADYCECAFIAc2AgwgBSAINgIICyAHQdWq1SpLDQEgB0EYbCIGQQBIDQECQAJAIAZFBEBBBCEIDAELQZH7wwAtAAAaIAZBBBCCDCIIRQ0BCyAIIQYCQCAHQQJJDQAgB0EBayIJQQNxIQogB0ECa0EDTwRAIAlBfHEhCQNAIAZC////+////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//ADcCACAGQeAAaiEGIAlBBGsiCQ0ACwsgCkUNAANAIAZC////+////79/NwIQIAZC////+/f//79/NwIIIAZC////+/f//7//ADcCACAGQRhqIQYgCkEBayIKDQALCyAGQf////sHNgIIIAZC////+/f//7//ADcCACAGQf///3s2AhQgBkL////7////v383AgwgBSAHNgIcIAUgBzYCGCAFIAg2AhRBBCEIIAdBBHQiBkEASA0CIAYEQEGR+8MALQAAGiAGQQQQggwiCEUNBQsgCCEGAkAgB0ECSQ0AIAdBAWsiCUEDcSEKIAdBAmtBA08EQCAJQXxxIQkDQCAGQn83AgggBkEAOgAEIAZBfzYCACAGQThqQn83AgAgBkE0akEAOgAAIAZBMGpBfzYCACAGQShqQn83AgAgBkEkakEAOgAAIAZBIGpBfzYCACAGQRhqQn83AgAgBkEUakEAOgAAIAZBEGpBfzYCACAGQUBrIQYgCUEEayIJDQALCyAKRQ0AA0AgBkJ/NwIIIAZBADoABCAGQX82AgAgBkEQaiEGIApBAWsiCg0ACwsgBkJ/NwIIIAZBADoABCAGQX82AgAMAwsMAwsgBUEANgIQIAVCBDcCCCAFQQA2AhwgBUIENwIUQQQhCAwBCxDbCgALIABBjAFqIQYgAEGQAWooAgAEQCAGKAIAEJoCCyAAIAc2ApQBIAAgBzYCkAEgACAINgKMASAFIAY2AogBIAUgBUEIajYCkAEgBSAFQRRqNgKMAQJAAkACQAJAIANBAWsOAgIBAAsgAkEQaigCAEGoAWwhByAFQYgCaiEDIAIoAgghCkEAIQZBACECA0AgBiAHRg0DAkAgBiAKaiIBKAIARQ0AIAFB6gBqLQAADQAgAUEEaigCACEIIAMgAUE4aigCACABQTxqKAIAIgkoAghBAWtBeHFqQQhqIAFB/ABqIAkoAogBEQEAIAUgCDYChAIgBSACNgKAAiAFQYgBaiACIAggAxDhAQsgAkEBaiECIAZBqAFqIQYMAAsACyACQRBqKAIAQagBbCEHIAEoAhAhCyABKAIIIQggBUGIAmohAyACKAIIIQxBACEKQQAhCQNAIAcg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m8EAQRNB6IbCABDhCQALIAJBAWohAiAKQagBaiEKDAALAAsgAEHoAGohBiAAQdAAaiEBIAVBIGoQtQkgACgCcCICIABB7ABqKAIARgRAIAYgAhCvBiAAKAJwIQILIAAoAmggAkEHdGogBUEgakHgABCIDSIDQegAakJ/NwMAIANCgYCAgHA3A2AgA0EAOgB4IANBADoAdCADQX82AnAgACACQQFqNgJwIAVBgAJqIgIgASAFQQdqIAUoAgggBSgCECAFQRRqQQBBACAeEGAgBUGIAWoiA0EQaiAFQZQCaikCACInNwMAIANBCGogBUGMAmopAgAiKDcDACAFIAUpAoQCIik3A4gBIAFBEGogJzcCACABQQhqICg3AgAgASApNwIAIAJBEGogJzcDACACQQhqICg3AwAgBUHYAmpC////+////79/NwMAIAVB0AJqQv////v3//+/fzcDACAFQcACakL////7////v383AwAgBUG4AmpC////+/f//79/NwMAIAVBqAJqQv////v///+/fzcDACAFQaACakL////79///v383AwAgBSApNwOAAiAFQv////v3//+//wA3A8gCIAVC////+/f//7//ADcDsAIgBUL////79///v/8ANwOYAiAFQaABaiACEJoEIAAoAnAEQCAGKAIAIAVBoAFqQeAAEIgNGiAFKAIYBEAgBSgCFBCaAgsgBSgCDARAIAUoAggQmgILIAVB4AJqJAAPC0EAQQBBvNrAABDjCAALQQQgBkHQgcQAKAIAIgBBlwcgABsRAAAAC/sdAgx/KH0jAEGAAWsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEQQVPBEAgBEECdCENQwAAgD8gBLOVIRQgBSgCACEMIAUoAgghCANAIAMgC2ooAgAiCiAITw0DIBcgFCAMIApBGGxqIgoqAgAgCioCDJJDAAAAP5SUkiEXIBggFCAKKgIIIApBFGoqAgCSQwAAAD+UlJIhGCAWIBQgCioCBCAKQRBqKgIAkkMAAAA/lJSSIRYgDSALQQRqIgtHDQALIARBAnQhDUMAAIA/IARBAWuzlSEaIAUoAgAhDCAFKAIIIQhDAAAAACEUQQAhCwNAIAMgC2ooAgAiCiAITw0CIBQgGiAMIApBGGxqIgoqAgAgCioCDJJDAAAAP5QgF5MiFCAUlJSSIRQgGSAaIAoqAgggCkEUaioCAJJDAAAAP5QgGJMiGSAZlJSSIRkgFSAaIAoqAgQgCkEQaioCAJJDAAAAP5QgFpMiFSAVlJSSIRUgDSALQQRqIgtHDQALQQIgFCAVXiIKIBkgFSAUIAobXRsiCkECaiIIIApBAWsgCEEDSRshDSAKQQFqIgggCkECayAIQQNJGyEOIAFBGGohDCABQSBqKAIAIgshCiABQRxqKAIAIAtGBEAgDCALEK8GIAEoAiAhCgsgASgCGCAKQQd0aiIIQgA3A2AgCEEAOgB4IAggBzoAdCAIIAY2AnAgCEL////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//+//wA3AwAgCEHoAGpCADcDACABIApBAWo2AiAgCSAYOAJMIAkgFjgCSCAJIBc4AkQgCUHgAGoiBiADIAQgBSgCACIEIAUoAggiByAJQcQAaiIDIA4gAi0AACIKEI4EIAlB7ABqIggoAgAhDiAJKAJoIQ8gBiAJKAJgIAkoAmQgBCAHIAMgDSAKEI4EIAgoAgAhECAJKAJoIREgCSgCZCESIAkoAmAhEyAGIA8gDiAEIAcgAyANIAoQjgQgCCgCACEEIAkoAmghByAJKAJkIQogCSgCYCEIIAlBDGogASACIBMgEiAFIAtBABBEIAlBKGogASACIBEgECAFIAtBARBEIAMgASACIAggCiAFIAtBAhBEIAYgASACIAcgBCAFIAtBAxBEIAEoAiAiAiALTQ0EIAkqAnghGCAJKgJ0IRYgCSoCcCEXIAkqAmwhFCAJKgJoIRUgCSoCZCEZIAkoAmAhAyAJKgJcIRogCSoCWCEbIAkqAlQhHCAJKgJQIR0gCSoCTCEeIAkqAkghHyAJKAJEIQQgCSoCQCEgIAkqAjwhISAJKgI4ISIgCSoCNCEjIAkqAjAhJCAJKgIsISUgCSgCKCEFIAkqAiQhJiAJKgIgIScgCSoCHCEoIAkqAhghKSAJKgIUISog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//v3/////wA3AgAgA0E4akL////79/////8ANwIAIANBMGpC////+/f/////ADcCACADQShqQv////v3/////wA3AgAgA0EgakL////79/////8ANwIAIANBGGpC////+/f/////ADcCACADQRBqQv////v3/////wA3AgAgA0EIakL////79/////8ANwIAIANBQGshAyAIQQhrIggNAAsLIAIEQANAIANC////+/f/////ADcCACADQQhqIQMgAkEBayICDQALCyAHIAtqQQFrIQcLIANC////+/f/////ADcCACAJKAIUIQsgB0EBaiECCyAJIAI2AgggCwRAIABBAmshByAKQQJrIQMgCSgCDCIOIAtBDGxqIQ0DQAJAAkAgCSgCCCIKIAdLBEAgDUEMayENIAdBA3QhAiADQQN0IQgDQCAJKAIAIgAgAmoiDyoCACIfIA0qAgAiIF8NAyADIApPDQIgD0EEaigCACEKIAAgCGoiACAfOAIAIABBBGogCjYCACACQQhrIQIgCEEIayEIIANBAWshAyAHQQFrIgcgCSgCCCIKSQ0ACwsgByAKQczvwQAQ4wgACyADIApB3O/BABDjCAALIAMgCk8EQCADIApB7O/BABDjCAALIAAgCGoiAEEEaiANQQRqKAIANgIAIAAgIDgCACANQQhqIAM2AgAgA0EBayEDIA0gDkcNAAsgCSgCCCECCyACQQFrIQ0gAkUNASAGRQ0AIAkoAgAhDiAJKAIUIQAgCUEANgIUIABBDGwhAyAJKAIMIQcCQAJAAkAgAUEDTwRAA0AgA0UNBSADQQxrIQMgBygCBCEAIAdBDGohByAAQQBODQALIABB/////wdxIgogBUkNAQwGCyAEIAFBAnRqIQkgAyAHaiEPIAJBA3RBEGshCwNAIAcgD0YNBCAHIgBBDGohByAAKAIEIgFBAE4NACABQf////8HcSIKIAVPDQYgACgCCCIDQQFqIgEgDUsNAiABIA1GDQAgACoCACEfIApBLGwiCCAEaiIAQQxqIQIgCCAJakEYaioCACEgIAsgA0EDdGshCCAOIAFBA3RqIQMgAEEgaiERIABBHGohEyAAQRhqIRADQAJAIANBBGooAgAiAUH/////B3EiACAKRg0AIAAgBU8NBQJAIAFBAEgEQCADKgIAICBdDQEMAgsgCSAAQSxs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AiAoAgAiBwRAIARBiAJqIgZBGGogB0EYaigCADYCACAGQRBqIAdBEGopAgA3AwAgBkEIaiAHQQhqKQIANwMAIAQgBykCADcDiAJBASEJCyAEQegBaiIHQRhqIARBiAJqIgZBGGoiCygCADYCACAHQRBqIAZBEGoiECkDADcDACAHQQhqIAZBCGoiBykDADcDACAEIAQpA4gCNwPoASABBEAgCyABQRhqKAIANgIAIBAgAUEQaikCADcDACAHIAFBCGopAgA3AwAgBCABKQIANwOIAkEBIQULIARByAFqIgFBGGogCygCADYCACABQRBqIBApAwA3AwALIAFBCGogBykDADcDACAEIAQpA4gCNwPIASANIgYgCigCBEYEQCAKIA0QowYgCigCCCEGCyAKKAIAIAZBqAFsaiIBIAk2AgAgASAEKQPoATcCBCABIAU2AiAgASAEKQPIATcCJCABQQxqIARB6AFqIgVBCGopAwA3AgAgAUEUaiAFQRBqKQMANwIAIAFBHGogBUEYaigCADYCACABQSxqIARByAFqIgVBCGopAwA3AgAgAUE0aiAFQRBqKQMANwIAIAFBPGogBUEYaigCADYCACABQgA3AlwgAUHkAGpCADcCACABQewAakIANwIAIAFB8gBqQgA3AQAgAUIANwKAASABQYgBakIANwIAIAFBkAFqQgA3AgAgAUGYAWpCADcCACABQQQ2AlggAUEANgJMIAFBADYCQCABQQQ2AnwgASAONgKgASABIAw2AqQBIAogBkEBajYCCCAIKAIAIgUgDyAIKAIEIglxIgZqKQAAQoCBgoSIkKDAgH+DIiRQBEBBCCEBA0AgASAGaiEHIAFBCGohASAHIAlxIgYgBWopAABCgIGChIiQoMCAf4MiJFANAAsLIAgoAhghByAkeqdBA3YgBmogCXEiBiAFaiwAACIBQQBOBEAgBSkDAEKAgYKEiJCgwIB/g3qnQQN2IgYgBWotAAAhAQsCQCABQQFxIgxFDQAgCCgCCA0AIAggCCgCECAHEIkBIA8gCCgCBCIJcSIBIAgoAgAiBWopAABCgIGChIiQoMCAf4MiJFAEQEEIIQYDQCABIAZqIQEgBkEIaiEGIAUgASAJcSIBaikAAEKAgYKEiJCgwIB/gyIkUA0ACwsgJHqnQQN2IAFqIAlxIgYgBWosAABBAEgN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BFINAAsMAQsgACANQfSYwAAQ4wgACyACLQCwAiIAQQJGDQEgCUH4AGohBgJAIAItALMCQQN0QQhxIAItALICQQJ0QQRxIAItALECQQF0QQJxIABBAXFycnIiA60iH0IBg1ANACAGLQAAQQFxDQAgCSgCYCIAIA1LDQAgECAANgIAIAIgETYCrAILAkAgH0ICg1ANACAGLQAAQQFxDQAgCUHkAGooAgAiACANSw0AIAsgAigCrAIiAUYEQCACQaQCaiALEKgGIAIoAqwCIQELIAIoAqQCIAFBAnRqIAA2AgAgAiABQQFqNgKsAgsCQCAfQgSDUA0AIAYtAABBAXENACAJQegAaigCACIAIA1LDQAgAigCrAIiASACKAKoAkYEQCACQaQCaiABEKgGIAIoAqwCIQELIAIoAqQCIAFBAnRqIAA2AgAgAiABQQFqNgKsAgsCQCADQQhJDQAgBi0AAEEBcQ0AIAlB7ABqKAIAIgEgDUsNACACKAKsAiIAIAIoAqgCRgRAIAJBpAJqIAAQqAYgAigCrAIhAAsgAigCpAIgAEECdGogATYCACACIABBAWoiETYCrAIgEQ0BDAILIAIoAqwCIhENAAsLIAIoAqgCBEAgAigCpAIQmgILIAJBgANqJAALtBUDKn8XfQJ+IwBBkAJrIgMkACADIAI2AjQgAyABNgIwIANBADoAOCADIAIqAggiMTgCLCADIDE4AiggAyAxOAIkIAMgMTgCICADIAIqAgQiMjgCHCADIDI4AhggAyAyOAIUIAMgMjgCECADIAIqAgAiMzgCDCADIDM4AgggAyAzOAIEIAMgMzgCAAJAIAFBOGooAgAiFQRAIANBADYCUCADQgQ3AkggA0HIAGoiBEEAEKsGIAMoAkggAygCUCILQQN0akKAgICA8P///343AgAgAyALQQFqNgJQIANB1ABqIAQQoQMCQAJAIAMoAlRFBEBBBCELDAELIAFBFGooAgAhDyABQdwAaigCACEQIAFB1ABqKAIAIREgASgCACEIIAEoAgghByABKAIMIRMgA0GEAmohCSABKAIwISRD//9/fyEvIANBwwFqISUgA0GnAWohJiADQe8AaiEUQQQhCwJAAkADQCAvIAMqAlyMXw0DAkACQAJAIAMoAlgiASAVSQRAICQgAUEHdGoiCi0AeEEBcSIEBEAgESAKKAJgIgFBDGxqQQAgASAQSRsiAUEIakEAIAEbIRwgESAKQewAaigCACIBQQxsakEAIAEgEEkbIgFBCGpBACABGyEdIBEgCkHoAGooAgAiAUEMbGpBACABIBBJGyIBQQhqQQAgARshHiARIApB5ABqKAIAIgFBDGxqQQAgASAQSRsiAUEIakEAIAEbIRYLIANB4AFqIAogAxD2ASADKgLgASAvXSEBIAMqAuwBIS0gAyoC6AEhMCADKgLkASEuIAQEQEMAAAAAITRBBCEMIC4gL11BAXQgLyAwXkECdHIgLSAvXUEDdHIgAXIiF60iREIBg1AEQEEEIQFDAAAAACEwDAMLQQQhAUMAAAAAITAgHEUNAiAPIBwoAgAiDk0NByAHIBMgDkEDdGoiASgCACIFTQ0GIAcgASgCBCIGTQ0EIAkgCCAGQQxsaiIBKQIANwIAIAlBCGogAUEIaigCADYCACADQfgBaiIBQQhqIAggBUEMbGoiBEEIaigCADYCACADIAQpAgA3A/gBIANB4ABqIAEgAhDyAkEAIAMoAnQgAygCcCIBGyEfIAMvAG0gFC0AAEEQdHIhICADLQBsIScgAyoCYCI7IDOTIi0gLZQgAyoCZCI8IDKTIi0gLZSSIAMqAmgiPSAxkyItIC2UkhCbASEwDAILIC4gL11BAXQgLyAwXkECdHIgLSAvXUEDdHIgAXKtIUQgAyoC7AEhLiADKgLoASEtIAMqAuQBITQgAyoC4AEhMEEEIQFBBCEMQQQhBEEEIQ0MAgsgASAVQfigwgAQ4wgACwJAIERCAoNQDQAgFkUNACAWKAIAIhIgD08EQCASIQ4MBgsgByATIBJBA3RqIgQoAgAiBU0NBCAHIAQoAgQiBk0NAiAJIAggBkEMbGoiBCkCADcCACAJQQhqIARBCGooAgA2AgAgA0H4AWoiBEEIaiAIIAVBDGxqIgVBCGooAgA2AgAgAyAFKQIANwP4ASADQeAAaiAEIAIQ8gJBACADKAJ0IAMoAnAiDBshKCADKAJsISEgAyoCYCI4IDOTIi0gLZQgAyoCZCI5IDKTIi0gLZSSIAMqAmgiOiAxkyItIC2UkhCbASE0C0MAAAAAIS5BBCENAn0gREIEg1AEQEEEIQRDAAAAAAwBC0EEIQRDAAAAACAeRQ0AGiAeKAIAIhggD08EQCAYIQ4MBgsgByATIBhBA3RqIgQoAgAiBU0NBCAHIAQoAgQiBk0NAiAJIAggBkEMbGoiBCkCADcCACAJQQhqIARBCGooAgA2AgAgA0H4AWoiBEEIaiAIIAVBDGxqIgVBCGooAgA2AgAgAyAFKQIANwP4ASADQeAAaiAEIAIQ8gJBACADKAJ0IAMoAnAiBBshKSADLwBtIBQtAABBEHRyISIgAy0AbCEqIAMqAmAiPiAzkyItIC2UIAMqAmQiPyAykyItIC2UkiADKgJoIkAgMZMiLSAtlJIQmwELIS0CQCAXQQhJDQAgHUUNACAdKAIAIhkgD08EQCAZIQ4MBgsgByATIBlBA3RqIgYoAgAiBU0NBCAHIAYoAgQiBk0NAiAJIAggBkEMbGoiBikCADcCACAJQQhqIAZBCGooAgA2AgAgA0H4AWoiBkEIaiAIIAVBDGxqIgVBCGooAgA2AgAgAyAFKQIANwP4ASADQeAAaiAGIAIQ8gIgAy8AbSAULQAAQRB0ciEjIAMoAnAhDSADLQBsISsgAyoCYCJBIDOTIi4gLpQgAyoCZCJCIDKTIi4gLpSSIAMqAmgiQyAxkyIuIC6UkhCbASEuCyABQQVHDQAgEkEERiEBIAMoAkwEQCADKAJIEJoCCyALIBIgARshCyAaICEgARshGiAbIB8gARshGyA1IDggARshNSA2IDkgARshNiA3IDogARshNwwGCyAKQfgAaiEGIAMgLjgC3AEgAyAtOALYASADIDQ4AtQBIAMgMDgC0AEgAyAjOwDBASAlICNBEHY6AAAgAyAiOwClASAmICJBEHY6AAAgAyAgOwBtIBQgIEEQdjoAACADIA02AsgBIAMgGTYCxAEgAyArOgDAASADIEM4ArwBIAMgQjgCuAEgAyBBOAK0ASADICk2ArABIAMgBDYCrAEgAyAYNgKoASADICo6AKQBIAMgQDgCoAEgAyA/OAKcASADID44ApgBIAMgKDYClAEgAyAMNgKQASADIBI2AowBIAMgITYCiAEgAyA6OAKEASADIDk4AoABIAMgODgCfCADIB82AnggAyABNgJ0IAMgDjYCcCADICc6AGwgAyA9OAJoIAMgPDgCZCADIDs4AmBCACFFA0ACQCBEIEWIQgGDUA0AIEWnIQEgBi0AAEEBcQRAIAFBAnQiBSADQdABamoqAgAiLSAvXUUNASADQeAAaiABQRxsaiIEKAIUIgFBBEYNASAQIAUgCmpB4ABqKAIATQ0BIBFFDQEgBCgCECEaIAQqAgwhNyAEKgIIITYgBCoCBCE1IAQoAgAhGyABIQsgLSEvDAELIAFBAnQiASAKakHgAGooAgAiDCAVTw0AIANB0AFqIAFqKgIAjCEtIAMoAlAiASEEIAMoAkwgAUYEQCADQcgAaiABEKsGIAMoAlAhBAsgAygCSCIFIARBA3RqIg0gLTgCBCANIAw2AgAgAyAEQQFqNgJQIAUgAUEDdGoiBCoCBCEtIAQoAgAhDAJAIAFFBEBBACEEDAELA0BBAEF/IAUgAUEBayINQQF2IgRBA3RqIhdBBGoqAgAiMCAtXyIsG0EBQQIgLBsgLSAwXxtBAWpBAkkEQCABIQQMAgsgBSABQQN0aiAXKQIANwIAIAQhASANQQFLDQALCyAFIARBA3RqIgEgLTgCBCABIAw2AgALIEVCAXwiRUIEUg0ACyADQdQAaiADQcgAahChAyADKAJUDQEMBAsLIAYgB0GszsIAEOMIAAsgBSAHQZzOwgAQ4wgACyAOIA9BjM7CABDjCAALIAMoAkxFDQAgAygCSBCaAgsgC0EERw0BC0HLj8IAQStB0MTCABCqCgALIABBATYCECAAIDc4AgwgACA2OAIIIAAgNTgCBCAAIBs2AgAgAEEUaiAaNgIAIANBkAJqJAALjRYCFX8EfiMAQTBrIgIkACACIAE2AgggAkEINgIMIAJBEGogAkEIahDdAiACKAIUIQ4CQAJAIAIoAhBFBEAgDg0BQQBBwIrAAEHcgsAAEO8HIQ4LIABBADYCACAAIA42AgQMAQsgAkEYaikCACEZAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCDCIBBEAgAiABQQFrNgIMIAIoAggiASgCBCIEQQdNBEAgAkKByoCAgAE3AxAgAkEQahDqCiEEDBMLIAEgBEEIayIJNgIEIAEgASgCACIEQQhqIgM2AgAgAkEoaiAEKQAAENIFIAIoAiwhBCACKAIoDRICQEGAgAggBCAEQYCACE8bIgpFBEBBBCEMDAELQZH7wwAtAAAaIApBA3QiBUEEEIIMIgxFDQgLIAJBADYCGCACIAo2AhQgAiAMNgIQIAQEQANAIAlBBEkNEyABIAlBBGsiCjYCBCABIANBBGoiBTYCACAKQQRJDRMgAygAACEIIAEgCkEEayIJNgIEIAEgBUEEaiIDNgIAIAUoAAAhCiACKAIUIA9GBEAgAkEQaiAPEKsGIAIoAhghDyACKAIQIQwLIAwgD0EDdGoiBSAKNgIEIAUgCDYCACACIA9BAWoiDzYCGCAEQQFrIgQNAAsgAigCECEMIAIoAhQhCgsgDEUEQCAKIQQMEwsgAigCDCIBRQ0CIAIgAUEBazYCDCACKAIIIgEoAgQiBEEHTQRAIAJCgcqAgIABNwMQIAJBEGoQ6gohBAwQCyABIARBCGsiAzYCBCABIAEoAgAiBEEIaiIINgIAIAJBKGogBCkAABDSBSACKAIsIQQgAigCKA0PAkBBzJkDIAQgBEHMmQNPGyIFRQRAQQQhDQwBC0GR+8MALQAAGiAFQRRsIglBBBCCDCINRQ0JC0EAIQkgAkEANgIYIAIgBTYCFCACIA02AhAgBARAA0AgA0EESQ0LIAEgA0EEayIDNgIEIAEgCEEEaiIFNgIAIANBBEkNDCAIKAAAIQcgASADQQRrIgM2AgQgASAFQQRqIgg2AgACQAJAIANBBEkNACAFKAAAIQsgASADQQRrIgM2AgQgASAIQQRqIgU2AgAgA0EESQ0AIAgoAAAhECABIANBBGsiAzYCBCABIAVBBGoiBjYCACADQQRPDQELIAJBADoAKyACQSU7ACkgAkEENgIsIAJBAToAKAwRCyAFNQAAIRcgASADQQRrIgM2AgQgASAGQQRqIgg2AgAgBjUAACEYIAIoAhQgCUYEQCACQRBqIAkQpQYgAigCECENIAIoAhghCQsgDSAJQRRsaiIFIBhCIIYgF4Q3AgwgBSAQNgIIIAUgCzYCBCAFIAc2AgAgAiAJQQFqIgk2AhggBEEBayIEDQALIAIoAhAhDSACKAIUIQULIA0NASAFIQQMDwtBAUHAisAAQdyCwAAQ7wchBAwRCyACKAIMIgFFDQEgAiABQQFrNgIMIAIoAggiASgCBCIEQQdNBEAgAkKByoCAgAE3AxAgAkEQahDqCiEEDAMLIAEgBEEIayIGNgIEIAEgASgCACIEQQhqIgc2AgAgAkEoaiAEKQAAENIFIAIoAiwhBCACKAIoDQICQEGAgAIgBCAEQYCAAk8bIgNFBEBBBCELDAELQZH7wwAtAAAaIANBBXQiCEEEEIIMIgtFDQoLQQAhCCACQQA2AhggAiADNgIUIAIgCzYCEAJAAkAgBARAA0ACQCAGQQRPBEAgASAGQQRrIgM2AgQgASAHQQRqIgY2AgAgA0EDSw0BCyACQoHKgIDAADcDKCACQShqEOoKIQQMBAsgBygAACERIAEgA0EEayIDNgIEIAEgBkEEaiIHNgIAAkAgA0EETwRAIAYoAAAhEiABIANBBGsiAzYCBCABIAdBBGoiBjYCACADQQNLDQELIAJCgcqAgMAANwMoIAJBKGoQ6gohBAwECyAHKAAAIRMgASADQQRrIgM2AgQgASAGQQRqIgc2AgACQAJAIANBBEkNACAGKAAAIRQgASADQQRrIgM2AgQgASAHQQRqIgY2AgAgA0EESQ0AIAcoAAAhFSABIANBBGsiAzYCBCABIAZBBGoiBzYCACADQQNLDQELIAJBADoAKyACQSU7ACkgAkEENgIsIAJBAToAKCACQShqEOoKIQQMBAsgBjUAACEXIAEgA0EEayIDNgIEIAEgB0EEaiIQNgIAIANFDQIgBzUAACEYIAEgA0EBayIGNgIEIAEgEEEBaiIHNgIAIBAtAAAiA0ECTwRAQZH7wwAtAAAaQRBBBBCCDCIERQ0PIAQgAzoAASAEQQI6AAAMBAsgAkEmaiIQIAJBI2otAAA6AAAgAiACLwAhOwEkIANBAEchFiACKAIUIAhGBEAgAkEQaiAIEKwGIAIoAhAhCyACKAIYIQgLIAsgCEEFdGoiAyAWOgAcIAMgGEIghiAXhDcCFCADIBU2AhAgAyAUNgIMIAMgEzYCCCADIBI2AgQgAyARNgIAIAMgAi8BJDsAHSADQR9qIBAtAAA6AAAgAiAIQQFqIgg2AhggBEEBayIEDQALIAIoAhAhCyACKAIUIQMLIAsNBSADIQQMBAsgAkKByoCAEDcDKCACQShqEOoKIQQLIAIoAhRFDQIgAigCEBCaAgwCC0ECQcCKwABB3ILAABDvByEEDAwLQQNBwIrAAEHcgsAAEO8HIQQLIABBADYCACAAIAQ2AgQMAQsgAkEQaiACQQhqEKsDIAIoAhQhAQJAAkAgAigCEEUEQCABDQFBBEHAisAAQdyCwAAQ7wchAQsgAEEANgIAIAAgATYCBAwBCyACQRhqKQIAIRcgAkEQaiACQQhqEKsDIAIoAhQhBAJAAkAgAigCEEUEQCAEDQFBBUHAisAAQdyCwAAQ7wchBAsgAEEANgIAIAAgBDYCBAwBCyACQRhqKQIAIRggAkEQaiACQQhqEKsDIAIoAhQhBgJAAkAgAigCEEUEQCAGDQFBBkHAisAAQdyCwAAQ7wchBgsgAEEANgIAIAAgBjYCBAwBCyACQRhqKQIAIRogAkEQaiACQQhqEKsDIAIoAhQhByACKAIQRQRAIAcNC0EHQcCKwABB3ILAABDvByEHCyAAQQA2AgAgACAHNgIEIBqnRQ0AIAYQmgILIBinRQ0AIAQQmgILIBenRQ0AIAEQmgILIANFDQAgCxCaAgsgBUUNCSANEJoCDAkLQQQgBUHQgcQAKAIAIgBBlwcgABsRAAAAC0EEIAlB0IHEACgCACIAQZcHIAAbEQAAAAsgAkKByoCAwAA3AygMBAsgAkKByoCAwAA3AygMAwtBBCAIQdCBxAAoAgAiAEGXByAAGxEAAAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAJBGGopAgA3AlggACAHNgJUIAAgGjcCTCAAIAY2AkggACAYNwJAIAAgBDYCPCAAIBc3AjQgACABNgIwIAAgA60gCK1CIIaENwIoIAAgCzYCJCAAIAWtIAmtQiCGhDcCHCAAIA02AhggACAKrSAPrUIghoQ3AhAgACAMNgIMIAAgGTcCBCAAIA42AgAMBgsgAkEoahDqCiEEIAIoAhRFDQAgAigCEBCaAgsgAEEANgIAIAAgBDYCBAsgCkUNAiAMEJoCDAILIAJCgcqAgMAANwMoIAJBKGoQ6gohBCACKAIURQ0AIAIoAhAQmgILIABBADYCACAAIAQ2AgQLIBmnRQ0AIA4QmgILIAJBMGokAAvPFAIRfQ5/IwBBgAFrIhokACAaIAg6AAsgGiAHOAIEIARBOGoqAgAhFCAEQTxqKgIAIRUgBEFAayoCACEPIARBxABqKgIAIRYgBEHIAGoqAgAhGSAEKgI0IRAgGkEMaiAFIAIgBigCiAERAQAgGkEgaioCACEOIBoqAhQhESAaQRxqKgIAIQsgGioCECEMIA8gGioCGCISIBoqAgwiGJNDAAAAP5QiD5IhCiAYIBKSQwAAAD+UIRMgECAPkyENIAMqAgghDyADKgIEIRcCQAJAAkAgAyoCACIQQwAAAABcBEAgCiATk0MAAIA/IBCVIgmUIgogDSATkyAJlCINXSEIIAcgByANIAogCBsiCSAHIAldGyAJIAlcGyIHQwAAAABDAAAAACAKIA0gCBsiCSAJQwAAAABdGyAJIAlcGyIJXUUNAQwCCyANIBNeDQEgCiATXQ0BCyAWIAsgDJNDAAAAP5QiDZIhCiAUIA2TIQ0gDCALkkMAAAA/lCELAkAgF0MAAAAAXARAIAogC5NDAACAPyAXlSIKlCIMIA0gC5MgCpQiCl0hCCAHIAcgCiAMIAgbIgsgByALXRsgCyALXBsiByAMIAogCBsiCyALIAkgCSALXRsgCSAJXBsiCV0NAgwBCyALIA1dDQEgCiALXQ0BCyAZIA4gEZNDAAAAP5QiC5IhDCAVIAuTIQogESAOkkMAAAA/lCELAkAgD0MAAAAAXARAQwAAgD8gD5UiDSAMIAuTlCIMIA0gCiALk5QiCl0hCCAMIAogCBsiDSANIAkgCSANXRsgCSAJXBsiCSAHIAcgCiAMIAgbIgwgByAMXRsgDCAMXBteDQIMAQsgCiALXg0BIAsgDF4NAQsgBEEwaioCACEMIAQqAighCiAEKAIQIR4gBCgCDCEfIBpBBDoAWAJ/IA4gDyAJlCIOkiIUIAyVQwAAAD+SQwAAgD8gH7NDAACAv5KVIg2VjSIHi0MAAABPXQRAIAeoDAELQYCAgIB4C0GAgICAeCAHQwAAAM9gGyEbIBEgDpIiFSAMlUMAAAA/kiANlY4iDkMAAADPYCEcAn8gEiAQIAmUIhKSIhYgCpVDAAAAP5JDAACAPyAes0MAAIC/kpUiEZWNIgmLQwAAAE9dBEAgCagMAQtBgICAgHgLQYCAgIB4IAlDAAAAz2AbIR1B/////wcgGyAHQ////05eGyEbIAcgB1whICAYIBKSIhIgCpVDAAAAP5IgEZWOIgdDAAAAz2AhIkH/////ByAdIAlD////Tl4bISEgCSAJXCEjQQAgGyAgGyEdQf////8HAn8gDotDAAAAT10EQCAOqAwBC0GAgICAeAtBgICAgHggHBsgDkP///9OXhtBACAOIA5bGyEbQf////8HAn8gB4tDAAAAT10EQCAHqAwBC0GAgICAeAtBgICAgHggIhsgB0P///9OXhshCCAHIAdcISACQCAPQwAAAABeRQRAIA9DAAAAAF1FDQEgG0EBayEbDAELIB1BAWohHQtBACAhICMbIRxBACAIICAbIQggH0EBayEfAkAgEEMAAAAAXkUEQCAQQwAAAABdRQ0BIAhBAWshCAwBCyAcQQFqIRwLIB9BAE4EQCAeQQFrIiBBAE4EQCAaQfAAaiAGNgIAIBogBTYCbCAaIAM2AmggGiACNgJkIBogATYCYCAaIAQ2AlwgGiAaQSRqNgJ8IBogGkELajYCeCAaIBpBBGo2AnQgGyAfIBsgH0kbQQAgG0EAThsiBSAdIB8gHSAfSRtBACAdQQBOGyIDSQRAIAggICAIICBJG0EAIAhBAE4bIgEgHCAgIBwgIEkbQQAgHEEAThsiAiABIAJKGyEGA0AgBSICQQFqIQUgASEEAkADQCAEIAZGDQEgGkHcAGogAiAEEJoBIR4gBEEBaiEEIB5FDQALIABBBToANAwGCyADIAVHDQALCyAXQwAAAABcBEBDAADAf0MAAIA/IBCYIBAgEFwbIgdDAAAAz2AhAiAVIBSSQwAAAD+UIAyVQwAAAD+SIA2VjiIOQwAAAM9gIQVB/////wcCf0MAAMB/QwAAgD8gD5ggDyAPXBsiCYtDAAAAT10EQCAJqAwBC0GAgICAeAtBgICAgHggCUMAAADPYBsgCUP///9OXhshAyAJIAlcIQRB/////wcCfyAHi0MAAABPXQRAIAeoDAELQYCAgIB4C0GAgICAeCACGyAHQ////05eGyECIAcgB1whBiASIBaSQwAAAD+UIAqVQwAAAD+SIBGVjiIHQwAAAM9gIR5BACADIAQbISNBACACIAYbISZB/////wcCfyAOi0MAAABPXQRAIA6oDAELQYCAgIB4C0GAgICAeCAFGyAOQ////05eG0EAIA4gDlsbIQRB/////wcCfyAHi0MAAABPXQRAIAeoDAELQYCAgIB4C0GAgICAeCAeGyAHQ////05eG0EAIAcgB1sbISIDQCAbIQUgHSEGAkACQAJ9IBBDAAAAAF5FBEBD//9/fyAQQwAAAABdRQ0BGiAKIBEgIrKUQwAAAL+SlCATkyAQlQwBCyAKIBEgIkEBarKUQwAAAL+SlCATkyAQlQsiByAaKgIEIg5eIA4CfSAPQwAAAABeRQRAQ///f38gD0MAAAAAXUUNARogDCANIASylEMAAAC/kpQgC5MgD5UMAQsgDCANIARBAWqylEMAAAC/kpQgC5MgD5ULIgldcQ0AICZBACAHIAlfG0EAIAdDAAAAAGAbISEgBCEBAkACQCAJQwAAAABgRQ0AIAcgCWBFDQAgBCAjaiEBQQAhAyAjDQELQQEhAyAhRQ0BCyAcICFqIh4gCCAhaiICICFBAEobIiRBAEggICAkTHIiJyABIARrIgQgBmoiHSAEIAVqIhsgBEEAShsiJUEASCAfICVMciIEcQ0AIAMgBHINASACIB5ODQEgHCAIayEDIAIhBANAIBpB3ABqICUgBBCaAUUEQCAEQQFqIQQgA0EBayIDDQEMAwsLIABBBToANAwHCyAAIBopAiQ3AgAgAEEwaiAaQSRqIgFBMGopAgA3AgAgAEEoaiABQShqKQIANwIAIABBIGogAUEgaikCADcCACAAQRhqIAFBGGopAgA3AgAgAEEQaiABQRBqKQIANwIAIABBCGogAUEIaikCADcCAAwGCyAhICJqISIgASEEIB4hHCACIQggIUUgJ3INACAbIB1ODQAgBiAFayEDIBshBANAIBpB3ABqIAQgJBCaAQRAIABBBToANAwHCyAEQQFqIQQgA0EBayIDDQALIAEhBAwACwALIAAgGikCJDcCACAAQTBqIBpBJGoiAUEwaikCADcCACAAQShqIAFBKGopAgA3AgAgAEEgaiABQSBqKQIANwIAIABBGGogAUEYaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIADAMLQbSOwgBBHEGYj8IAEKoKAAtBtI7CAEEcQZiPwgAQqgoACyAAQQQ6ADQLIBpBgAFqJAALrxUCCX8CfiMAQUBqIgUkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDgUBAgMEBQALIAIoAgAhAQJAA0ACQCACKALMASIKIAIoAsgBQQFrIAFxIghBHGxqIgYoAhgiCSABQQFqRwRAIAEgCUcEQCADQQZNBEBBACEBA0AgASADdiEEIAFBAWohASAERQ0ACwsgAigCACEBIAMgA0ELSWohAwwDCyABIAIoAkAiBCACKALIASIGQX9zcUYNAUEGIAMgA0EGTxshBkEAIQEDQCABIAZ2IQQgAUEBaiEBIARFDQALIAIoAgAhASADIANBB0lqIQMMAgsgAigCwAEgCEEBak0EQCACKALEASIEIAFBACAEa3FqIQkLIAIoAgAiBCAB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AioCFCEZIAIqAhAhKSACKgIMIRMgAioCCCEVIAIqAgQhFiACKgIAISpBfyENIAEoAjwgCkEEdGoiAkEAOgAEIAIgDjYCACAEQQFGBEBBfyELQX8hDEP//3//IRRD//9//yEaQ///f38hG0P//39/IRxD//9//yEdQ///f/8hHkP//3//IR9D//9/fyEgQ///f38hIUP//39/ISJD//9//yEjQ///f/8hJEP//3//ISVD//9/fyEmQ///f38hJ0P//39/ISgMCAsgBSgCCCICIAMoAgQiC00EQCALIQoMBwsgASgCRCICIAtNBEAgCyEKDAELIAUoAgAgC0EYbGoiAioCFCEjIAIqAhAhJCACKgIMISUgAioCCCEmIAIqAgQhJyACKgIAISggASgCPCALQQR0aiICQQE6AAQgAiAONgIAIARBAkYEQEF/IQxD//9//yEUQ///f/8hGkP//39/IRtD//9/fyEcQ///f/8hHUP//3//IR5D//9//yEfQ///f38hIEP//39/ISFD//9/fyEiDAgLIAUoAggiAiADKAIIIgxNBEAgDCEKDAcLIAEoAkQiAiAMTQRAIAwhCgwBCyAFKAIAIAxBGGxqIgIqAhQhHSACKgIQIR4gAioCDCEfIAIqAgghICACKgIEISEgAioCACEiIAEoAjwgDEEEdGoiAkECOgAEIAIgDjYCACAEQQNGBEBD//9//yEUQ///f/8hGkP//39/IRtD//9/fyEcDAgLIAUoAggiAiADKAIMIg1NBEAgDSEKDAcLIA0gASgCRCICSQ0FIA0hCgsgCiACQazawAAQ4wgACyAKIAJBvNnAABDjCAALIAogAkHM2cAAEOMIAAsgCiADQdzZwAAQ4wgACyAKIAFB7NnAABDjCAALIAUoAgAgDUEYbGoiAioCACEcIAIqAgQhGyACKgIIIRcgAioCDCEaIAIqAhAhFCACKgIUIRggASgCPCANQQR0aiICQQM6AAQgAiAONgIADAELIAogAkGc2sAAEOMIAAsgCSAYOAL8ASAJIBQ4AvgBIAkgGjgC9AEgCSAXOALwASAJIBs4AuwBIAkgHDgC6AEgCSAdOALkASAJIB44AuABIAkgHzgC3AEgCSAgOALYASAJICE4AtQBIAkgIjgC0AEgCSAjOALMASAJICQ4AsgBIAkgJTgCxAEgCSAmOALAASAJ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AWsiBUEDcSEEIAZBAmtBA08EQCAFQXxxIQUDQCABQv////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//+//wA3AgAgAUEYaiEBIARBAWsiBA0ACwsgAUH////7BzYCCCABQv////v3//+//wA3AgAgAUH///97NgIUIAFC////+////79/NwIMIAMgBjYCICADIAY2AhwgAyACNgIYQZH7wwAtAAAaIAhBBBCCDCICRQ0EIAIhAQJ/QQEgBkECSQ0AGiAGQQFrIgVBA3EhBCAGQQJrQQNPBEAgBUF8cSEFA0AgAUJ/NwIIIAFBADoABCABQX82AgAgAUEsakF/NgIAIAFBKGpBADoAACABQSBqQn83AgAgAUEcakEAOgAAIAFBFGpCfzcCACABQRBqQQA6AAAgAUEwaiEBIAVBBGsiBQ0ACwsgBiAERQ0AGgNAIAFBfzYCCCABQQA6AAQgAUF/NgIAIAFBDGohASAEQQFrIgQNAAsgBgshBSABQX82AgggAUEAOgAEIAFBfzYCAAsgAEFAaygCAARAIAAoAjwQmgILIAAgBTYCRCAAIAY2AkAgACACNgI8IAYEQCAIIAlqIQwgAEE8aiENQQAhBANAIAkoAgAiASAAKAJQIgJPDQYgCSgCBCIIIAJPDQcgCSgCCCIHIAJPDQggBEEBaiEGIAAoAkgiAiABQQxsaiIBKgIEIRQgAiAHQQxsaiIHKgIAIRIgAiAIQQxsaiICKgIAIRUgAioCCCEQIAEqAgghFiAHKgIIIQ8gAioCBCEXIAcqAgQhEyABKgIAIRggBCAFTwRAIAYgBSICayEIIAggACgCQCACa0sEQCANIAUgCBCLBiAAKAJEIQILIAAoAjwgAkEMbGohASAIQQJPBEAgBCAFayIHQQNxIQogBCAFQX9zakEDTwRAIAdBfHEhBwNAIAFCfzcCCCABQQA6AAQgAUF/NgIAIAFBLGpBfzYCACABQShqQQA6AAAgAUEgakJ/NwIAIAFBHGpBADoAACABQRRqQn83AgAgAUEQakEAOgAAIAFBMGohASAHQQRrIgcNAAsLIAoEQCALIAVrQQNxIQcDQCABQX82AgggAUEAOgAEIAFBfzYCACABQQxqIQEgB0EBayIHDQALCyACIAhqQQFrIQILIAFBfzYCCCABQQA6AAQgAUF/NgIAIAAgAkEBaiIFNgJEIAMgAygCICIIIARNBH8gBiAIIgJrIQogCiADKAIcIAJrSwRAIANBGGogCCAKEJ0GIAMoAiAhAgsgAygCGCACQRhsaiEBIApBAk8EQCAEIAhrIgdBA3EhDiAEIAhBf3NqQQNPBEAgB0F8cSEHA0AgAUL////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/8ANwIAIAFB4ABqIQEgB0EEayIHDQALCyAOBEAgCyAIa0EDcSEHA0AgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAFBGGohASAHQQFrIgcNAAsLIAIgCmpBAWshAgsgAUL////7////v383AhAgAUL////79///v383AgggAUL////79///v/8ANwIAIAJBAWoFIAYLNgIgCyAEIAVPDQkgACgCPCAEQQxsaiAENgIIIAMoAiAiAiAETQ0KIAMoAhggBEEYbGoiAiAPIA8gECAQIBYgECAWXiIBGyAWIBZcGyIRIA8gEV4bIBEgEVwbOAIUIAIgEyATIBcgFyAUIBQgF10iCBsgFCAUXBsiESARIBNdGyARIBFcGzgCECACIBIgEiAVIBUgGCAVIBheIgcbIBggGFwbIhEgESASXRsgESARXBs4AgwgAiAWIBYgECABGyAQIBBcGyIQIBAgDyAPIBBeGyAPIA9cGzgCCCACIBQgFCAXIAgbIBcgF1wbIg8gDyATIA8gE10bIBMgE1wbOAIEIAIgGCAYIBUgBxsgFSAVXBsiDyAPIBIgDyASXRsgEiASXBs4AgAgAygCFCIBIAMoAhBGBEAgA0EMaiABEKgGIAMoAhQhAQsgAygCDCABQQJ0aiAENgIAIAMgAUEBajYCFCALQQFqIQsgBiEEIAwgCUEMaiIJRw0ACwsgAEEYaiEFIAAoAiAiBCAAQRxqKAIARgRAIAUgBBCvBiAAKAIgIQQLIAAoAhggBEEHdGoiAkKBgICAcDcDYCACQQA6AHggAkEAOgB0IAJBfzYCcCACQv////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/NwMAIAAgBEEBajYCICADQSRqIAAgA0ELaiADKAIMIgIgAygCFCADQRhqQQBBABBEIANBLGoqAgAhEiADQTBqKgIAIQ8gA0E0aioCACETIANBOGoqAgAhFCADKgIoIRUgACADQTxqKgIAIhA4AhQgACAUOAIQIAAgEzgCDCAAIA84AgggACASOAIEIAAgFTgCACAAKAIgRQ0JIAUoAgAiAEH///97NgJcIABC////+////79/NwJUIAAgEDgCUCAAQf///3s2AkwgAEL////7////v383AkQgACAUOAJAIABB////ezYCPCAAQv////v///+/fzcCNCAAIBM4AjAgAEH////7BzYCLCAAQv////v3//+//wA3AiQgACAPOAIgIABB////+wc2AhwgAEL////79///v/8ANwIUIAAgEjgCECAAQf////sHNgIMIABC////+/f//7//ADcCBCAAIBU4AgAgAygCHARAIAMoAhgQmgILIAMoAhAEQCACEJoCCyADQUBrJAAPC0EEIAJB0IHEACgCACIA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ACAFQZACaiQAC4MgAxJ/AX4GfSMAQdAAayIJJAAgCUEIaiAAQQRqIAEQhQQCQAJAAkACQAJAAkACQAJAAkAgCSgCCEUEQCAJQRBqKAIAQQRrKAIAIgAgCSgCDCIBQRhqKAIAIgJPDQEgASgCECAAQRRsaigCECEIDAcLIAlBKGogCUEIaiIGQRRqKAIANgIAIAkgCUEUaikCADcDICAAKgIAIhcgASgCCLKUIRggFyAYkiEZIBcgFyABKAIEspQiGpIhGyAXIBcgASgCALKUIheSIRwgBkEIaigCACEQIAkoAgwhBgJAIAMoAggiAQRAIAMgAUEBayIBNgIIIAMoAgAgAUECdGooAgAiAUEANgIIIAFBFGpBADYCACABKAIEIgVFBEAgAUEAEKsGIAEoAgQhBSABKAIIIQgLIAEgCEEBaiIDNgIIIAEoAgAiBCAIQQN0akL///97NwIAIAMgBUYEQCABIAUQqwYgASgCACEEIAEoAgghAwsgASAcOAIcIAEgFzgCGEEAIQggAUE0akEANgIAIAEgA0EBajYCCCABQShqQQA2AgAgBCADQQN0akL////79/////8ANwIAIAFBIGohByABQSRqKAIAIgVFBEAgB0EAEKsGIAEoAiQhBSABKAIoIQgLIAEgCEEBaiIDNgIoIAEoAiAiBCAIQQN0akL///97NwIAIAMgBUYEQCAHIAUQqwYgASgCICEEIAEoAighAwtBACEIIAFB1ABqQQA2AgAgAUE8aiAbOAIAIAFBOGogGjgCACABIANBAWo2AiggAUHIAGpBADYCACAEIANBA3RqQv////v3/////wA3AgAgAUFAayEHIAFBxABqKAIAIgVFBEAgB0EAEKsGIAEoAkQhBSABKAJIIQgLIAEgCEEBaiIDNgJIIAEoAkAiBCAIQQN0akL///97NwIAIAMgBUYEQCAHIAUQqwYgASgCQCEEIAEoAkghAwsgAUEAOgCQASABQdwAaiAZOAIAIAFB2ABqIBg4AgAgASADQQFqNgJIIAQgA0EDdGpC////+/f/////ADcCACABQeQAaigCAARAIAEoAmAQmgILIAFBADoAkQEgAUF/NgJwIAFCBDcCYCABQYwBakEANgIAIAFB6ABqQgA3AgAgASgCdA0DIAFBgAFqKAIARQ0BQcj5wQBBKkH4+sEAEKoKAAsgFyAc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KQIANwLcAiASIAlB5ABqKQIANwL0AgsgEkHIAGoiCUE4aiASQcACaiITQThqKQMANwMAIAlBMGogE0EwaikDADcDACAJQShqIBNBKGopAwA3AwAgCUEgaiATQSBqKQMANwMAIAlBGGogE0EYaikDADcDACAJQRBqIBNBEGopAwA3AwAgCUEIaiATQQhqKQMANwMAIBIgEikDwAI3A0gLAkACQAJAIAoEQCAKQdgCai0AAA0BIBJBwAJqIApBPGoQ8ggMAgsgEkGIAWoiCUE4aiASQQhqIgpBOGopAgA3AwAgCUEwaiAKQTBqKQIANwMAIAlBKGogCkEoaikCADcDACAJQSBqIApBIGopAgA3AwAgCUEYaiAKQRhqKQIANwMAIAlBEGogCkEQaikCADcDACAJQQhqIApBCGopAgA3AwAgEiASKQIINwOIAQwCCyASQdgCaiAKQThqKAIANgIAIBJB0AJqIApBMGopAgA3AwAgEkHIAmogCkEoaikCADcDACASQeQCaiAKQcABaigCADYCACASQfACaiAKQeAAaigCADYCACASQfwCaiAKQewAaigCADYCACASIAopAiA3A8ACIBIgCikCWDcD6AIgEiAKQbgBaikCADcC3AIgEiAKQeQAaikCADcC9AILIBJBiAFqIglBOGogEkHAAmoiCkE4aikDADcDACAJQTBqIApBMGopAwA3AwAgCUEoaiAKQShqKQMANwMAIAlBIGogCkEgaikDADcDACAJQRhqIApBGGopAwA3AwAgCUEQaiAKQRBqKQMANwMAIAlBCGogCkEIaikDADcDACASIBIpA8ACNwOIAQsgC0EBRgRAIBJByABqIAwQ8gcLIA1BAUYEQCASQYgBaiAOEPIHCyASQcACaiIJQQhqIAdBDEH0ACAHKAIAIg0baiIKQQhqKQIANwMAIAlBEGogCkEQaikCADcDACAJQRhqIApBGGooAgA2AgAgEiAKKQIANwPAAiASQcgBaiITIBJByABqIAkQggIgEkGIAmoiCkEIaiAIQQxB9AAgCCgCACIZG2oiC0EIaikCADcDACAKQRBqIAtBEGopAgA3AwAgCkEYaiALQRhqKAIANgIAIBIgCykCADcDiAIgCSASQYgBaiAKEIICIAogASATIBcgFSAJIBggFiAPIBAgFCACKAIgESsAIBItALwCQQZx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aiAAQSxqKAIANgIAIAYgAEEkaikCADcCAAsCQCAHIABBzABqKAIARw0AIAIoAiAgAEHQAGooAgBHDQAgBkEIaiAAQdwAaigCADYCACAGIABB1ABqKQIANwIACyALIABB4ABqIgBHDQALCyAJIAJBMGoiAkcNAAsLIBIEQCADEJoCCyAIQZABaiQAC+UNAgl/A34jAEHgBWsiAyQAIANBxAVqIgRBDGoiBUIANwIAIANCADcCyAUgA0EENgLEBSADQdwAaiAEEGMgBUIANwIAIANCADcCyAUgA0EENgLEBSADQZgBaiAEEGMgA0FAayIKQgA3AgAgA0E4akKAgICAwAA3AgAgA0EwakIANwIAIANBKGpCgICAgMAANwIAIANBIGpCADcCACADQRhqIgtCgICAgMAANwIAIANBEGpCADcCACADQcwAakIANwIAIANB1ABqQgA3AgAgA0GQAWpCADcCACADQYgBakIANwIAIANBgAJqQQA2AgAgA0HIAWpCgICAgMAANwIAIANB0AFqQgA3AgAgA0HYAWpCgICAgMAANwIAIANB4AFqQgA3AgAgA0HwAWpCgICAgMAANwIAIANB+AFqQgA3AgAgA0EENgJIIANCgICAgMAANwIIIANCCDcCACADQQQ2AoQBIANCADcChAIgA0EBOgCMAiADQgQ3AsABIANCBDcC6AEgBEELakIANwAAIANBkAJqIgVBmAFqQgA3AwAgA0GwA2pCADcDACAFQcABakIANwMAIANBsQVqIgdBC2pCADcAACADQZ4FaiIIQQtqQgA3AAAgA0GLBWoiBkELakIANwAAIANB+ARqIglBC2pCADcAACADQgA3A6ADIANCADcDyAMgA0IANwDHBSADQgA3ALQFIANCADcAoQUgA0IANwCOBSADQgA3APsEIAVB4AFqIARBD2ooAAA2AAAgA0HpA2ogBEEIaikAADcAACADIAMpAMQFNwDhAyADQYUEaiAHQQhqKQAANwAAIANBjARqIAdBD2ooAAA2AAAgAyADKQCxBTcA/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/AM2ApwDIAMoAgghByADQQxqIAsoAgAiCEEGaiIEEPQCIANBHGogBBD0AiADQSxqIAQQ9AIgA0HEAGooAgAiBSAKKAIARgRAIANBPGogBUEBEJwGIAMoAkQhBQsgAygCPCAFQQR0aiIGQgA3AgggBkIENwIAIAMgBUEBajYCRCADIAMoAoQCQQZqIgY2AoQCAkAgAygCKCAETwRAIANBwAFqIQkgAygCHCAIQQJ0aiIEQRRqQc2Zs+4DNgIAIARBDGpCzZmz7tOZs+Y9NwIAIANBxAVqIANBkAJqEMoBIAMoAggiBSADKAIERgRAIAMgBRCxBiADKAKEAiEGIAMoAgghBQsgAygCACAFQegDbGoiBEIANwMIIAQgAjYCBCAEIAE2AgAgBEEQakIANwMAIARBGGpCADcDACAEQSBqIANBkAJqQegCEIgNGiAEQQA2ApADIAQgCDYCjAMgBCAHNgKIAyAEQdwDakIANwIAIARB1ANqQgA3AgAgBEIANwLMAyAEIAMpAsQFIgw3ApQDIARBnANqIANBzAVqKQIAIg03AgAgBEGkA2ogA0HEBWoiAUEQaikCACIONwIAIARBrANqIAFBGGooAgAiATYCACAEIAw3ArADIARBuANqIA03AgAg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AgUgAyACQQQQyAYgAygCCAsiBEEEaiICNgIIIAMoAgAgBGogBjYAACAFQQRrIgUNAAsLIAFBxABqKAIAIQIgASgCPCEHIAAoAgAiAygCCCEEIAMoAgQgBGtBB00EQCADIARBCBDIBiADKAIIIQQLIAMgBEEIaiIANgIIIAMoAgAgBGogAq03AABBACEEIAJFDQAgByACQQxsaiEGA0AgBy0ABCECIAcoAgAhASADKAIEIABrQQNNBEAgAyAAQQQQyAYgAygCCCEACyADKAIAIABqIAE2AAAgAyAAQQRqIgA2AgggACADKAIERgRAIAMgAEEBEMgGIAMoAgghAAsgAygCACAAaiACOgAAIAMgAEEBaiICNgIIIAdBCGooAgAhASADKAIEIAJrQQNNBEAgAyACQQQQyAYgAygCCCECCyADIAJBBGoiADYCCCADKAIAIAJqIAE2AAAgBiAHQQxqIgdHDQALCyAIQeAAaiQAIAQL/AoCDX8FfSMAQYACayIEJAACfQJAIAAoAkQiBQRAIAUoAgAiCEECRw0BC0EAIQggBEEgakEANgIAIARBGGpCADcDACAEQRBqQgA3AwAgBEIANwMIQwAAgD8hFEMAAAAADAELIARBEGogBUEcaikCADcDACAEQRhqIAVBJGopAgA3AwAgBEEgaiAFQSxqKAIANgIAIAQgBSkCFDcDCCAFKgIIIRUgBSoCDCETIAUqAhAhFCAFKgIECyERIABCADcCGCAAQShqQgA3AgAgAEEgakKAgICAgICAwD83AgAgAEEwakIANwIAIABBOGpCADcCACAAQUBrQQA2AgAgAEEYaiEHAkAgAigCCCIGRQ0AIAIoAgAiBSAGQQN0aiEJIAEoAggiDARAIARBKGoiBkEIaiEKIARBiAFqIQIgASgCECENIAZBIGohDiAGQRhqIQ8gBkEQaiEQA0ACQCAFKAIAIgEgDU8NACAMIAFBqAFsaiIBKAIARQ0AIAEoAgQgBUEEaigCAEcNACABQeoAai0AAA0AIAEoAghFDQAgDiABQSxqKAIANgIAIA8gAUEkaikCADcDACAQIAFBHGopAgA3AwAgCiABQRRqKQIANwMAIAQgAUEMaikCADcDKCABQThqKAIAIAFBPGooAgAiBigCCEEBa0F4cWpBCGohCwJAAkACQAJAAkAgAUEwaigCAEEBaw4CAgABCyAEQfgAaiIGQQhqIAFBNGooAgAiAUEIaikCADcDACACIAFBEGopAgA3AwAgBkEYaiABQRhqKQIANwMAIAZBIGogAUEgaikCADcDACAGQShqIAFBKGooAgA2AgAgBCABKQIANwN4DAMLIAFBNGoqAgAiEkMAAAAAWwRADAILIARB+ABqIAsgEiAGKAKQARENAAwCCyABQTRqKgIAIhJDAAAAAFsEQAwBCyAEQdQBaiIBIAtDAACAPyAGKAKQARENACABIBIQzwggBEH4AGoiBkEoaiABQShqKAIANgIAIAZBIGogAUEgaikCADcDACAGQRhqIAFBGGopAgA3AwAgAiABQRBqKQIANwMAIAZBCGogAUEIaikCADcDACAEIAQpAtQBNwN4DAELIAJCADcCACACQQhqQgA3AgAgAkEQakIANwIAIAJBGGpBADYCACAEQgA3A3ggBEKAgICAgICAwD83A4ABCyAEQcwAaiIBIARB+ABqIAoQ4QMgByABELsHCyAJIAVBCGoiBUcNAAsMAQsgBkEBa0H/////AXEhASAGQQdxIgIEQANAIAVBCGohBSACQQFrIgINAAsLIAFBB0kNAANAIAkgBUFAayIFRw0ACwsCQCAIRQRAIARBqAFqIgFBGGogBEEQaikDADcCACAEQcgBaiAEQRhqKQMANwIAIARB0AFqIARBIGooAgA2AgAgBCAUOAK0ASAEIBM4ArABIAQgFTgCrAEgBCAROAKoASAEIAQpAwg3ArgBIAcgARC7BwwBCyAHIBFDAAAAAEMAAIA/IAAqAjQiEZUgEUMAAAAAWxuSEM8ICyAEQdQBaiIBIAcgAxD9BSAAQdAAaiABQQhqIgIoAgA2AgAgACAEKQLUATcCSCAAQdwAaiAAKgI0IhE4AgAgAEHYAGogETgCACAAIBE4AlQgASAHIAMQxQIgAEEQaiABQRBqKQIANwIAIABBCGogAikCADcCACAAIAQpAtQBNwIAIAAtAGAiAUEBcQRAIABBADYCVAsgAUECcQRAIABBADYCWAsgAUEEcQRAIABBADYCXAsgAUEIcQRAIABBADYCCCAAQgA3AgALIAFBEHEEQCAAQQA2AgQgAEIANwIMCyABQSBxBEAgAEEANgIIIABCADcCEAsgBEGAAmokAAvcCwIJfwF+IwBBIGsiBSQAIAAtAAAhAiAA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OAIgIB4gDzgCHCAeIAo4AhggHiAFOAIUIB4gCDgCECAeIAY4AgwgAiAeQQxqELACGiAeIAIQPyACKAK8AUEDRwRAIA4hBiABQQFrIgENAQwDCwsgB0MAAKC1Xw0BCyAAQRBqIA04AgAgAEEMaiAJOAIAIABBCGogDDgCACAAIBogEZU4AgRBASEDCyAAIAM2AgAMAgtB+LjCAEEoQbC5wgAQqgoACyAAQQA2AgALIB5BMGokAAvXCgIWfwJ9IwBBoAJrIgMkAAJAIAEgAnJBAEgNACADIAAoAgAgASACEKkCIANByAFqIgFBCGoiBCADQQxqKQIANwMAIAFBEGoiCSADQRRqKQIANwMAIAFBGGoiCiADQRxqKQIANwMAIAFBIGoiCyADQSRqKAIANgIAIANB0ABqIgFBCGoiAiADQTRqKQIANwMAIAFBEGoiBSADQTxqKQIANwMAIAFBGGoiBiADQcQAaikCADcDACABQSBqIgcgA0HMAGooAgA2AgAgAyADKQIENwPIASADIANBLGopAgA3A1AgAygCKCETIAMoAgAhFCADQaABaiIBQQhqIhUgBCkDADcDACABQRBqIhYgCSkDADcDACABQRhqIhcgCikDADcDACABQSBqIhggCygCADYCACADQfgAaiIBQQhqIAIpAwA3AwAgAUEQaiAFKQMANwMAIAFBGGogBikDADcDACABQSBqIAcoAgA2AgAgAyADKQPIATcDoAEgAyADKQNQNwN4IAAoAiAiBUE1aiEGIAVBBGohASAAQRRqKAIAIQwgA0E1aiEHIANBBGohAiAAKAIcIQ0gACgCGCEOIAAoAhAhDyAAKAIMIRAgACgCCCERIAAoAgQhEgJAAkACQCAUQQFrDgIAAwELIAsgGCgCADYCACAKIBcpAwA3AwAgCSAWKQMANwMAIAQgFSkDADcDACADIAMpA6ABNwPIASADIBIgESAQIANByAFqQajJwgAgDyAMIA4qAgAgDS0AABBGIAMtADQiBEEFRg0BIANB8AFqIgBBCGogAkEIaikCADcDACAAQRBqIAJBEGopAgA3AwAgAEEYaiACQRhqKQIANwMAIABBIGogAkEgaikCADcDACAAQShqIAJBKGopAgA3AwAgA0HuAWogB0ECai0AADoAACADIAIpAgA3A/ABIAMgBy8AADsB7AEgBEEERg0AIAMqAgAhGUP//39/IRogBS0ANEEERwR9IAUqAgAFQ///f38LIBleRQ0AIAUgGTgCACABIAMpA/ABNwIAIAUgBDoANCAGIAMvAewBOwAAIAFBCGogA0HwAWoiAEEIaikDADcCACABQRBqIABBEGopAwA3AgAgAUEYaiAAQRhqKQMANwIAIAFBIGogAEEgaikDADcCACABQShqIABBKGopAwA3AgAgBkECaiADQe4Bai0AADoAAAsgE0EBRw0BIANByAFqIgBBIGogA0H4AGoiBEEgaigCADYCACAAQRhqIARBGGopAwA3AwAgAEEQaiAEQRBqKQMANwMAIABBCGogBEEIaikDADcDACADIAMpA3g3A8gBIAMgEiARIBAgAEGoycIAIA8gDCAOKgIAIA0tAAAQRiADLQA0IgRBBUYNACADQfABaiIAQQhqIAJBCGopAgA3AwAgAEEQaiACQRBqKQIANwMAIABBGGogAkEYaikCADcDACAAQSBqIAJBIGopAgA3AwAgAEEoaiACQShqKQIANwMAIANB7gFqIAdBAmotAAA6AAAgAyACKQIANwPwASADIAcvAAA7AewBIARBBEYNASADKgIAIRlD//9/fyEaIAUtADRBBEcEfSAFKgIABUP//39/CyAZXkUNASAFIBk4AgAgASADKQPwATcCACAFIAQ6ADQgBiADLwHsATsAACABQQhqIANB8AFqIgBBCGopAwA3AgAgAUEQaiAAQRBqKQMANwIAIAFBGGogAEEYaikDADcCACABQSBqIABBIGopAwA3AgAgAUEoaiAAQShqKQMANwIAIAZBAmogA0HuAWotAAA6AAAMAQtBASEICyADQaACaiQAIAgL/QkBMH8gALwiAUGAgID8B3FBgICA/AdGBEAgACAAlCAAkg8LIAFBAEwEQCABQf////8HcQR9IAAgAJMiACAAlQUgAAsPC0EJIAFnIgNrIAFBF3YgAUGAgIAESSICG0H/AGshGEGAgIAQQYCAgBggASADQQhrQQAgAht0Qf///wNxQYCAgARyIBhBAXF0IgJBgICACUkiGxsiA0GAgIACciEBIAMgA0GAgIAEciACQQJ0QQBBgICAbCAbG2pBAXRBgICAIGsiHCABSCIEGyICQYCAgAFyIQMgAiACQYCAgAJyIBxBACABIAQba0EBdCIdIANIIgUbIgRBgIDAAHIhAiAEIARBgICAAXIgHUEAIAMgBRtrQQF0Ih4gAkgiBhsiBUGAgCBqIQQgBSAFQYCAQGsgHkEAIAIgBhtrQQF0Ih8gBEgiBxsiBkGAgBBqIQUgBiAGQYCAIGogH0EAIAQgBxtrQQF0IiAgBUgiCBsiB0GAgAhqIQYgByAHQYCAEGogIEEAIAUgCBtrQQF0IiEgBkgiCRsiCEGAgARqIQcgCCAIQYCACGogIUEAIAYgCRtrQQF0IiIgB0giChsiCUGAgAJqIQggCSAJQYCABGogIkEAIAcgChtrQQF0IiMgCEgiCxsiCkGAgAFqIQkgCiAKQYCAAmogI0EAIAggCxtrQQF0IiQgCUgiDBsiC0GAQGshCiALIAtBgIABaiAkQQAgCSAMG2tBAXQiJSAKSCINGyIMQYAgaiELIAwgDEGAQGsgJUEAIAogDRtrQQF0IiYgC0giDhsiDUGAEGohDCANIA1BgCBqICZBACALIA4ba0EBdCInIAxIIg8bIg5BgAhqIQ0gDiAOQYAQaiAnQQAgDCAPG2tBAXQiKCANSCIQGyIPQYAEaiEOIA8gD0GACGogKEEAIA0gEBtrQQF0IikgDkgiERsiEEGAAmohDyAQIBBBgARqIClBACAOIBEba0EBdCIqIA9IIhIbIhFBgAFqIRAgESARQYACaiAqQQAgDyASG2tBAXQiKyAQSCITGyISQUBrIREgEiASQYABaiArQQAgECATG2tBAXQiLCARSCIUGyITQSBqIRIgEyATQUBrICxBACARIBQba0EBdCItIBJIIhUbIhRBEGohEyAUIBRBIGogLUEAIBIgFRtrQQF0Ii4gE0giFhsiFUEIaiEUIBUgFUEQaiAuQQAgEyAWG2tBAXQiLyAUSCIZGyIWQQRqIRUgFiAWQQhqIC9BACAUIBkba0EBdCIZIBVIIhobIhdBAmohFiAYQRZ0QYCAgHxxIBcgF0EEaiAZQQAgFSAaG2tBAXQiGCAWSCIXGyIaIBhBACAWIBcba0EBdCIXSCIwIAEgHExBFnRBgICACEGAgIAMIBsbciADIB1MQRV0ciACIB5MQRR0ciAEIB9MQRN0ciAFICBMQRJ0ciAGICFMQRF0ciAHICJMQRB0aiAIICNMQQ90aiAJICRMQQ50aiAKICVMQQ10aiALICZMQQx0aiAMICdMQQt0aiANIChMQQp0aiAOIClMQQl0aiAPICpMQQh0aiAQICtMQQd0aiARICxMQQZ0aiASIC1MQQV0aiATIC5MQQR0aiAUIC9MQQN0aiAVIBlMQQJ0aiAWIBhMQQF0amoiASABQQFxQQAgGkF/c0EAIDAbIBdqQf////8HcRtqQQF2akGAgID4A2q+C6MLARh/IwBBkAFrIhEkACARQcgAaiABEOECIAEoAkghBUEEIQlBBCECAkACQAJAAkACf0EAIAFB0ABqKAIAIg1FDQAaIA1BqtWq1QBLDQEgDUEMbCIDQQBIDQFBACADRQ0AGkGR+8MALQAAGiADQQQQggwiAkUNAyADCyEHIAIgBSAHEIgNIRcgASgCVCECAkAgAUHcAGooAgAiDkUNACAOQarVqtUASw0BIA5BDGwiA0EASA0BIANFDQBBkfvDAC0AABogA0EEEIIMIglFDQMgAyEICyAJIAIgCBCIDSEYIAEoAmAiAwRAQQQhEkEAIQVBBCETAn9BACABQegAaigCACIJRQ0AGiAJQarVqtUASw0CIAlBDGwiAkEASA0CQQAgAkUNABpBkfvDAC0AABogAkEEEIIMIhNFDQUgAgshCCATIAMgCBCIDRogAUHsAGooAgAhAgJAIAFB9ABqKAIAIghFDQAgCEHj8bgcSw0CIAhBJGwiA0EASA0CIANFDQBBkfvDAC0AABogA0EEEIIMIhJFDQQgAyEFCyASIAIgBRCIDRoLAkAgASgCeCIKBEBBBCEUQQQhDwJ/QQAgAUGAAWooAgAiA0UNABogA0H/////AUsNAyADQQJ0IgJBAEgNA0EAIAJFDQAaQZH7wwAtAAAaIAJBBBCCDCIPRQ0GIAILIQQgDyAKIAQQiA0aIAFBhAFqKAIAIQQCQCABQYwBaigCACIFRQ0AIAVB/////wFLDQMgBUECdCICQQBIDQMgAkUNAEGR+8MALQAAGiACQQQQggwiFEUNBiACIQYLIBQgBCAGEIgNGiABQZABaigCACECQQAhBgJAIAFBmAFqKAIAIgpFBEBBBCEQDAELIApB////P0sNAyAKQQR0IgRBAEgNAyAERQRAQQQhEAwBC0GR+8MALQAAGiAEQQQQggwiEEUNAiAEIQYLIBAgAiAGEIgNGgsgASgCnAEiCwRAQQQhFUEEIRYCf0EAIAFBpAFqKAIAIgZFDQAaIAZB/////wFLDQMgBkECdCICQQBIDQNBACACRQ0AGkGR+8MALQAAGiACQQQQggwiFkUNBiACCyEEIBYgCyAEEIgNGiABQagBaigCACEHAkAgAUGwAWooAgAiBEUNACAEQf////8BSw0DIARBAnQiAkEASA0DIAJFDQBBkfvDAC0AABogAkEEEIIMIhVFDQYgAiEMCyAVIAcgDBCIDRogAUG0AWooAgAhGUEEIQxBACEHAkAgAUG8AWooAgAiC0UNACALQf////8BSw0DIAtBAnQiAkEASA0DIAJFDQBBkfvDAC0AABogAkEEEIIMIgxFDQYgAiEHCyAMIBkgBxCIDRoLIAEtAMABIQcgESARQcgAakHIABCIDSECQZH7wwAtAAAaQcQBQQQQggwiAUUNAiABIAJByAAQiA0iASAHOgDAASABIAs2ArwBIAEgCzYCuAEgASAMNgK0ASABIAQ2ArABIAEgBDYCrAEgASAVNgKoASABIAY2AqQBIAEgBjYCoAEgASAWNgKcASABIAo2ApgBIAEgCjYClAEgASAQNgKQASABIAU2AowBIAEgBTYCiAEgASAUNgKEASABIAM2AoABIAEgAzYCfCABIA82AnggASAINgJ0IAEgCDYCcCABIBI2AmwgASAJNgJoIAEgCTYCZCABIBM2AmAgASAONgJcIAEgDjYCWCABIBg2AlQgASANNgJQIAEgDTYCTCABIBc2AkggAEHQ38IANgIEIAAgATYCACACQZABaiQADwtBBCAEQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAtBBEHEAUHQgcQAKAIAIgBBlwcgABsRAAAAC0EEIANB0IHEACgCACIAQZcHIAAbEQAAAAtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAAL3goCFn0FfyMAQTBrIhskAEMAAKA1EJsBIRoCQAJAIAMqAgwiByAHlCADQRBqKgIAIgggCJSSIANBFGoqAgAiCSAJlJIQmwEiEEMAAAAAWw0AIBCLIgVDAACAf1wEQCAFQwAAADRfDQEgBSAFQwAAADSUXw0BCyADKgIAIREgAyoCBCESIAMqAgghEyAJIBCVIhUgFZQgByAQlSIWIBaUIAggEJUiFyAXlJKSEJsBIQUgAkEANgK8ASACQQA2AqwBIAJBMGpBADYCACACQShqQgA3AgAgAkEkaiAVjCIJIAWV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ADcCACAAQRxqIApBIGopAwA3AgAgAEEkaiAKQShqKQMANwIAIABBLGogCkEwaikDADcCACAAQTRqIApBOGooAgA2AgAgAEE7aiAKQQZqLQAAOgAACyAKQfABaiQAIAAPCxD4DAALEPkMAAtBBEE8QdCBxAAoAgAiAEGXByAAGxEAAAALmgoCCX8JfSMAQdAAayIDJABDAACAPyACQQIgAioCBIsiDSACKgIAiyIQXiIEIAIqAgiLIA0gECAEG14bIgtBAnRqKgIAmCEMIAEqAgghDiABKgIEIQ8gASoCACENAn8CQAJAAkACQAJAAkACQCALDgMBAgMAC0HwpcIAQShB4MzCABCqCgALIANBGGpCjoCAgKABNwMAIANCiICAgMABNwMQIANChoCAgCA3AwggA0KAgICAwAA3AwAgDEMAAADDYCECQf8AAn8gDItDAAAAT10EQCAMqAwBC0GAgICAeAtBgH8gAhsgDEMAAP5CXhtBACAMIAxbG0EBasBBAm0iAcAhAiABQf8BcUECSQ0CIAJBAkGwzMIAEOMIAAsgA0EYakKOgICA4AA3AwAgA0KEgICAwAE3AxAgA0KKgICAIDcDCCADQoCAgICAATcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQcDMwgAQ4wgACyADQRhqQo6AgICgATcDACADQoKAgIDgADcDECADQoyAgICAATcDCCADQoCAgIDAADcDACAMQwAAAMNgIQJB/wACfyAMi0MAAABPXQRAIAyoDAELQYCAgIB4C0GAfyACGyAMQwAA/kJeG0EAIAwgDFsbQQFqwEECbSIBwCECIAFB/wFxQQJJDQIgAkECQdDMwgAQ4wgACyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQv2BgIDAHTcDACADQvSBgIDgHzcDECADQtmBgICAGTcDCCADQtCBgICgGzcDACABKAIMIQggASgCCCEJIAEoAgQhCiAPjCERIA6MIRIgDSAMlCINIRMgDSIQIRQgASgCAAwCCyADIAJBBHRqIgEoAgwhBCABKAIIIQUgASgCBCEGIAEoAgAhByADQRhqQvuB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ALwiDkH/////B3EiB0Hbn6T6A08EQCAHQdKn7YMETwRAIAdB1uOIhwRPBEACQAJAAkACQCAHQf////sHTQRAIAtCADcDCAJ8IAdB2p+k7gRNBEAgAUSDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCICRAAAAAAAAODBZiEGQf////8HAn8gAplEAAAAAAAA4EFjBEAgAqoMAQtBgICAgHgLQYCAgIB4IAYbIAJEAADA////30FkG0EAIAIgAmEbIQcgASACRAAAAFD7Ifm/oqAgAkRjYhphtBBRvqKgDAELIAsgByAHQRd2QZYBayIPQRd0a767OQMAIAtBCGohGSMAQbAEayIEJAAgBEIANwOYASAEQgA3A5ABIARCADcDiAEgBEIANwOAASAEQgA3A3ggBEIANwNwIARCADcDaCAEQgA3A2AgBEIANwNYIARCADcDUCAEQgA3A0ggBEIANwNAIARCADcDOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCCAEQgA3AwAgBEIANwO4AiAEQgA3A7ACIARCADcDqAIgBEIANwOgAiAEQgA3A5gCIARCADcDkAIgBEIANwOIAiAEQgA3A4ACIARCADcD+AEgBEIANwPwASAEQgA3A+gBIARCADcD4AEgBEIANwPYASAEQgA3A9ABIARCADcDyAEgBEIANwPAASAEQgA3A7gBIARCADcDsAEgBEIANwOoASAEQgA3A6ABIARCADcD2AMgBEIANwPQAyAEQgA3A8gDIARCADcDwAMgBEIANwO4AyAEQgA3A7ADIARCADcDqAMgBEIANwOgAyAEQgA3A5gDIARCADcDkAMgBEIANwOIAyAEQgA3A4ADIARCADcD+AIgBEIANwPwAiAEQgA3A+gCIARCADcD4AIgBEIANwPYAiAEQgA3A9ACIARCADcDyAIgBEIANwPAAiAEQeADakEAQdAAEIkNGkGA+MMAKAIAIgwhByAPQQNrQRhtIgZBACAGQQBKGyIUIgZBAnRBkPjDAGohCQNAIAQgBUEDdGogBkEASAR8RAAAAAAAAAAABSAJKAIAtws5AwAgBSAHSQRAIAlBBGohCSAGQQFqIQYgByAFIAUgB0lqIgVPDQELCyAPQRhrIQdBACEGA0AgBkEDdCIJIARBwAJqaiALKwMAIAQgCWorAwCiRAAAAAAAAAAAoDkDACAGIAxJIgUEQCAMIAUgBmoiBk8NAQsLIBRBaGwiGiAHaiIIQf4PSyETQfBoIAggCEHwaEwbQZIPaiAIQckHaiAIQblwSSIVGyESRAAAAAAAAPB/RAAAAAAAAOB/IBMbRAAAAAAAAAAARAAAAAAAAGADIBUbRAAAAAAAAPA/IAhBgnhIIhYbIAhB/wdKIhcbQf0XIAggCEH9F04bQf4PayAIQf8HayATGyIbIBIgCCAWGyAXG0H/B2qtQjSGv6IhAyAMQQJ0IARqQdwDaiEcQRcgCGtBH3EhHUEYIAhrQR9xIRggCEEBayEeIAwhBwJAA0AgBEHAAmogB0EDdGorAwAhAQJAIAdFDQAgBEHgA2ohCiAHIQUDQCABRAAAAAAAAHA+oiICRAAAAAAAAODBZiEJIAFB/////wcgAplEAAAAAAAA4EFjBH8gAqoFQYCAgIB4C0GAgICAeCAJGyACRAAAwP///99BZBtBACACIAJhG7ciAkQAAAAAAABwwaKgIgFEAAAAAAAA4MFmIQkgCkH/////BwJ/IAGZRAAAAAAAAOBBYwRAIAGqDAELQYCAgIB4C0GAgICAeCAJGyABRAAAwP///99BZBtBACABIAFhGzYCACAEQcACaiAFQQFrIgZBA3RqKwMAIAKgIQEgBUECSSIFDQEgCkEEaiEKQQEgBiAFGyIFDQALCwJ/AkAgF0UEQCAWDQEgCAwCCyABRAAAAAAAAOB/oiIBRAAAAAAAAOB/oiABIBMbIQEgGwwBCyABRAAAAAAAAGADoiIBRAAAAAAAAGADoiABIBUbIQEgEgshBiABIAZB/wdqrUI0hr+iIgEgAUQAAAAAAADAP6KcRAAAAAAAACDAoqAiAUQAAAAAAADgwWYhBSABQf////8HAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLQYCAgIB4IAUbIAFEAADA////30FkG0EAIAEgAWEbIhC3oSEBAkACQAJAAkACQAJ/IAhBAEoiH0UEQCAIRQRAIAdBAnQgBGpB3ANqKAIAQRd1DAILQQIhCUEAIQYgAUQAAAAAAADgP2ZFDQYMAgsgB0ECdCAEakHcA2oiBSgCACIJIBh1IQYgBSAJIAYgGHRrIgU2AgAgBiAQaiEQIAUgHXULIglBAEwNAQsgBw0BQQAhCgwCCyAJIQYMAgtBACENQQAhCiAHQQFHBEAgB0F+cSEgIARB4ANqIQUDQCAFKAIAIRFB////ByEGAn8CQCAKDQBBgICACCEGIBENAEEBDAELIAUgBiARazYCAEEACyEKIAVBBGoiISgCACERQf///wchBgJ/AkAgCkUNAEGAgIAIIQYgEQ0AQQAMAQsgISAGIBFrNgIAQQELIQogBUEIaiEFICAgDUECaiINRw0ACwsgB0EBcUUNACAEQeADaiANQQJ0aiINKAIAIQVB////ByEGAkAgCg0AQYCAgAghBiAFDQBBACEKDAELIA0gBiAFazYCAEEBIQoLAkAgH0UNAEH///8DIQUCQAJAIB4OAgEAAgtB////ASEFCyAHQQJ0IARqQdwDaiIGIAYoAgAgBXE2AgALIBBBAWohECAJIgZBAkcNAEQAAAAAAADwPyABoSADRAAAAAAAAAAAIAoboSEBQQIhBgsgBiENIAFEAAAAAAAAAABhBEAgHCEFIAchBgJAIAwgB0EBayIKSw0AQQAhCQNAAkAgBEHgA2ogCkECdGooAgAgCXIhCSAKIAxNDQAgDCAKIAogDEtrIgpNDQELCyAHIQYgCUUNACAHQQJ0IARqQdwDaiEFA0AgB0EBayEHIAhBGGshCCAFKAIAIQYgBUEEayEFIAZFDQALDAMLA0AgBkEBaiEGIAUoAgAhCSAFQQRrIQUgCUUNAAsgB0EBaiEJIAkgBiIHSw0BA0AgBCAJQQN0IgZqIgUgCSAUakECdEGQ+MMAaigCALc5AwAgBEHAAmogBmogCysDACAFKwMAokQAAAAAAAAAAKA5AwAgByAJTQ0CIAcgCUsgCWoiCSAHTQ0ACwwBCwsCQAJAAkBBACAIayIFQf8HTARAIAVBgnhODQMgAUQAAAAAAABgA6IhASAFQbhwTQ0BQckHIAhrIQUMAwsgAUQAAAAAAADgf6IhASAFQf4PSw0BQYF4IAhrIQUMAgsgAUQAAAAAAABgA6IhAUHwaCAFIAVB8GhMG0GSD2ohBQwBCyABRAAAAAAAAOB/oiEBQf0XIAUgBUH9F04bQf4PayEFCyABIAVB/wdqrUI0hr+iIgFEAAAAAAAAcEFmBEAgAUQAAAAAAABwPqIiAkQAAAAAAADgwWYhBSABQf////8HAn8gAplEAAAAAAAA4EFjBEAgAqoMAQtBgICAgHgLQYCAgIB4IAUbIAJEAADA////30FkG0EAIAIgAmEbtyIBRAAAAAAAAHDBoqAiAkQAAAAAAADgwWYhBSAEQeADaiAHQQJ0akH/////BwJ/IAKZRAAAAAAAAOBBYwRAIAKqDAELQYCAgIB4C0GAgICAeCAFGyACRAAAwP///99BZBtBACACIAJhGzYCACAPIBpqIQggB0EBaiEHCyABRAAAAAAAAODBZiEFIARB4ANqIAdBAnRqQf////8HAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLQYCAgIB4IAUbIAFEAADA////30FkG0EAIAEgAWEbNgIACwJ8AkACQCAIQf8HTARARAAAAAAAAPA/IAhBgnhODQMaIAhBuHBNDQEgCEHJB2ohCEQAAAAAAABgAwwDCyAIQf4PSw0BIAhB/wdrIQhEAAAAAAAA4H8MAgtB8GggCCAIQfBoTBtBkg9qIQhEAAAAAAAAAAAMAQtB/RcgCCAIQf0XThtB/g9rIQhEAAAAAAAA8H8LIAhB/wdqrUI0hr+iIQEgB0EBaiIPQQFxBH8gBEHAAmogB0EDdGogASAEQeADaiAHQQJ0aigCALeiOQMAIAFEAAAAAAAAcD6iIQEgB0EBawUgBwshBiAHBEAgBkEBaiEKIAZBAnQgBGpB3ANqIQUgBkEDdCAEakG4AmohBgNAIAYgAUQAAAAAAABwPqIiAiAFKAIAt6I5AwAgBkEIaiABIAVBBGooAgC3ojkDACAFQQhrIQUgBkEQayEGIAJEAAAAAAAAcD6iIQEgCkECayIKDQALCyAEQcACaiAHQQN0aiEKIAchBQNAIAwgByAFIglrIgggCCAMSxshEkQAAAAAAAAAACEBQQAhBUEAIQYDQCABIAVBmPrDAGorAwAgBSAKaisDAKKgIQEgBUEIaiEFIBIgBkEBaiIGTw0ACyAEQaABaiAIQQN0aiABOQMAIApBCGshCiAJQQFrIQUgCQ0ACwJAIA9BA3EiCkUEQEQAAAAAAAAAACEBIAchBgwBCyAEQaABaiAHQQN0aiEFRAAAAAAAAAAAIQEgByEGA0AgBkEBayEGIAEgBSsDAKAhASAFQQhrIQUgCkEBayIKDQALCyAHQQNPBEAgBkEBaiEKIAZBA3QgBGpBiAFqIQUDQCABIAVBGGorAwCgIAVBEGorAwCgIAVBCGorAwCgIAUrAwCgIQEgBUEgayEFIApBBGsiCg0ACwsgGSABmiABIA0bOQMAIARBsARqJAAgEEEHcSEHIA5BAE4EQCALKwMIDAELQQAgB2shByALKwMImgshASAHQQNxDgMCAwQBCyAAIACTIQAMBwsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwGCyABIAEgAaIiAqIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAEgAyACRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMBQsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAQLIAEgAaIiAiABmqIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAMgAkSy+26JEBGBP6JEd6zLVFVVxb+goiABoaC2IQAMAwsgB0Hg27+FBE8EQEQYLURU+yEZwEQYLURU+yEZQCAOQQBOGyABoCICIAKiIQEgAiABoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYhAAwDCyAOQQBOBEAgAUTSITN/fNkSwKAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwDCyABRNIhM3982RJAoCIBIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2IQAMAgsgB0Hkl9uABE8EQEQYLURU+yEJwEQYLURU+yEJQCAOQQBOGyABoCICIAKiIgEgApqiIgMgASABoqIgAUSnRjuMh83GPqJEdOfK4vkAKr+goiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKIgAqGgtiEADAILIA5BAE4EQCABRBgtRFT7Ifm/oCIBIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2IQAMAgsgAUQYLURU+yH5P6AiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwBCyAHQYCAgMwDTwRAIAEgAaIiAiABoiIDIAIgAqKiIAJEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAyACRLL7bokQEYE/okR3rMtUVVXFv6CiIAGgoLYhAAwBCyALIABDAACAA5QgAEMAAIB7kiAHQYCAgARJGzgCCCALKgIIGgsgC0EQaiQAIAAL3AcCBH8OfSMAQeAAayIEJAAgACgCACEHIAAoAgQhBQJAIAEEQCABKgIEIgogBSoCECABKgIQkyIUlCABKgIAIgsgBUEUaioCACABQRRqKgIAkyINlJMiCCAIkiEPIAEqAggiCCANlCAKIAVBGGoqAgAgAUEYaioCAJMiDJSTIgkgCZIhECAEQUBrIgZBGGogDCABKgIMIgkgD5QgCiAQlCALIAsgDJQgCCAUlJMiDCAMkiIOlJOSkjgCACAGQRRqIA0gCSAOlCALIA+UIAggEJSTkpI4AgAgBCAIIAUqAggiDZQgCiAFKgIEIgyUIAsgBSoCACIRlCAJIAUqAgwiEpSSkpI4AkwgBCAKIBGUIAkgDZQgCyAMlJOSIAggEpSTOAJIIAQgCSAMlCALIA2UkiAKIBKUkyAIIBGUkzgCRCAEIAggDJQgCSARlCALIBKUkyAKIA2Uk5I4AkAgBCAUIAkgEJQgCCAOlCAKIA+Uk5KSOAJQDAELIARBQGsiBkEYaiAFQRhqKAIANgIAIAZBEGogBUEQaikCADcDACAGQQhqIAVBCGopAgA3AwAgBCAFKQIANwNACyAEQQhqIAcgBEFAayACIAMgACgCCCAAQQxqKAIAIAAoAhAqAgAQXwJAIAQoAghBAUcNACAEQTxqKgIAIRQgBEEsaioCACEJIARBKGoqAgAhDyAEQSRqKgIAIRAgBEEUaioCACENIARBEGoqAgAhDCAEKgIMIREgACgCFCIAKAIABEAgACoCNCAUXkUNAQsgBEEwaiECIARBGGohAyABBEAgCSABKgIMIhIgDyABKgIAIgqUIBAgASoCBCILlJMiCCAIkiIOlCAKIBAgASoCCCIIlCAJIAqUkyITIBOSIhOUIAsgCSALlCAPIAiUkyIJIAmSIhWUk5KSIQkgDyASIBOUIAggFZQgCiAOlJOSkiEPIBAgEiAVlCALIA6UIAggE5STkpIhECABQRhqKgIAIA0gEiAMIAqUIBEgC5STIg4gDpIiDpQgCiARIAiUIA0gCpSTIhMgE5IiE5QgCyANIAuUIAwgCJSTIg0gDZIiFZSTkpKSIQ0gASoCECARIBIgFZQgCyAOlCAIIBOUk5KSkiERIAFBFGoqAgAgDCASIBOUIAggFZQgCiAOlJOSkpIhDAsgACANOAIMIAAgDDgCCCAAIBE4AgQgAEEBNgIAIAAgCTgCJCAAIA84AiAgACAQOAIcIAAgFDgCNCAAIAMpAgA3AhAgACACKQIANwIoIABBGGogA0EIaigCADYCACAAQTBqIAJBCGooAgA2AgALIARB4ABqJAALhwsCA3wDfyMAQRBrIgUkACAAuyEBAkAgALwiBkH/////B3EiBEHbn6T6A08EQCAEQdKn7YMETwRAIARB1uOIhwRPBEACQAJAAkACQCAEQf////sHTQRAIAVCADcDCAJ8IARB2p+k7gRNBEAgAUSDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCICRAAAAAAAAODBZiEGQf////8HAn8gAplEAAAAAAAA4EFjBEAgAqoMAQtBgICAgHgLQYCAgIB4IAYbIAJEAADA////30FkG0EAIAIgAmEbIQQgASACRAAAAFD7Ifm/oqAgAkRjYhphtBBRvqKgDAELIAUgBCAEQRd2QZYBayIEQRd0a767OQMAIAUgBUEIaiAEEEUhBCAGQQBOBEAgBSsDCAwBC0EAIARrIQQgBSsDCJoLIQEgBEEDcQ4DAgMEAQsgACAAkyEADAcLIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMBgsgASABIAGiIgKiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiABIAMgAkSy+26JEBGBP6JEd6zLVFVVxb+goqCgtiEADAULIAEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwECyABIAGiIgIgAZqiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiADIAJEsvtuiRARgT+iRHesy1RVVcW/oKIgAaGgtiEADAMLIARB4Nu/hQRPBEBEGC1EVPshGcBEGC1EVPshGUAgBkEAThsgAaAiAiACoiEBIAIgAaIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMAwsgBkEATgRAIAFE0iEzf3zZEsCgIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAwsgAUTSITN/fNkSQKAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAILIARB5JfbgARPBEBEGC1EVPshCcBEGC1EVPshCUAgBkEAThsgAaAiAiACoiIBIAKaoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CiIAKhoLYhAAwCCyAGQQBOBEAgAUQYLURU+yH5v6AiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAILIAFEGC1EVPsh+T+gIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAQsgBEGAgIDMA08EQCABIAGiIgIgAaIiAyACIAKioiACRKdGO4yHzcY+okR058ri+QAqv6CiIAMgAkSy+26JEBGBP6JEd6zLVFVVxb+goiABoKC2IQAMAQsgBSAAQwAAgAOUIABDAACAe5IgBEGAgIAESRs4AgggBSoCCBoLIAVBEGokACAAC+cKAgN8A38jAEEQayIFJAAgALshAQJ9AkACQCAAvCIGQf////8HcSIEQdufpPoDTwRAIARB0qftgwRPBEAgBEHW44iHBE8EQAJAAkACQAJAIARB////+wdNBEAgBUIANwMIAnwgBEHan6TuBE0EQCABRIPIyW0wX+Q/okQAAAAAAAA4Q6BEAAAAAAAAOMOgIgJEAAAAAAAA4MFmIQZB/////wcCfyACmUQAAAAAAADgQWMEQCACqgwBC0GAgICAeAtBgICAgHggBhsgAkQAAMD////fQWQbQQAgAiACYRshBCABIAJEAAAAUPsh+b+ioCACRGNiGmG0EFG+oqAMAQsgBSAEIARBF3ZBlgFrIgRBF3Rrvrs5AwAgBSAFQQhqIAQQRSEEIAZBAE4EQCAFKwMIDAELQQAgBGshBCAFKwMImgshASAEQQNxDgMCAwQBCyAAIACTDAkLIAEgASABoiICoiIDIAIgAqKiIAJEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgASADIAJEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYMCAsgASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtgwHCyABIAGiIgIgAZqiIgMgAiACoqIgAkSnRjuMh83GPqJEdOfK4vkAKr+goiADIAJEsvtuiRARgT+iRHesy1RVVcW/oKIgAaGgtgwGCyABIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2jAwFCyAEQd/bv4UESw0CIAZBAE4EQCABRNIhM3982RLAoCICIAKiIQEgAiABoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYMBQtE0iEzf3zZEsAgAaEiAiACoiEBIAIgAaIiAyABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAIgAyABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2DAQLIARB45fbgARLDQIgBkEATgRARBgtRFT7Ifk/IAGhIgIgAqIhASACIAGiIgMgASABoqIgAUSnRjuMh83GPqJEdOfK4vkAKr+goiACIAMgAUSy+26JEBGBP6JEd6zLVFVVxb+goqCgtgwECyABRBgtRFT7Ifk/oCICIAKiIQEgAiABoiIDIAEgAaKiIAFEp0Y7jIfNxj6iRHTnyuL5ACq/oKIgAiADIAFEsvtuiRARgT+iRHesy1RVVcW/oKKgoLYMAwsgBEGAgIDMA08EQCABIAGiIgEgAaIhAiABRIFeDP3//9+/okQAAAAAAADwP6AgAkRCOgXhU1WlP6KgIAEgAqIgAURpUO7gQpP5PqJEJx4P6IfAVr+goqC2DAMLIAUgAEMAAIB7kjgCCCAFKgIIGkMAAIA/DAILRBgtRFT7IRnARBgtRFT7IRlAIAZBAE4bIAGgIgEgAaIiASABoiECIAFEgV4M/f//37+iRAAAAAAAAPA/oCACREI6BeFTVaU/oqAgASACoiABRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYMAQtEGC1EVPshCcBEGC1EVPshCUAgBkEAThsgAaAiASABoiIBIAGiIQIgAUSBXgz9///fv6JEAAAAAAAA8D+gIAJEQjoF4VNVpT+ioCABIAKiIAFEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowLIQAgBUEQaiQAIAALwwcCAn8gfSMAQeAAayIIJAAgCEEMaiACIAcqAgQiFBCIAiAIKgIMIhAgBioCBCIVlCAIKgIQIgsgBioCACIWlJMiDiAOkiEOIAgqAhQiCiAWlCAQIAYqAggiEZSTIgwgDJIhDCARIAgqAhgiFyAOlCAQIAyUIAsgCyARlCAKIBWUkyIRIBGSIhiUk5KSIREgFSAXIAyUIAogGJQgECAOlJOSkiEVIBYgFyAYlCALIA6UIAogDJSTkpIhFiAHQQhqIQkgByoCCCELIAUqAgghFyAFKgIEIRggBSoCACEcIAMqAgghJyADKgIEISggAyoCACEpIAcqAgAhDkEAIQUCQANAIAkhBiAUIRAgDiEKIAFDAAAAAF1FBEAgByEGIBQhDiALIhAhCiABQwAAoDVeRQ0CCyAGIBQ4AgAgByAUIAqSQwAAAD+UIhQ4AgQgECAOk0MAAKA1XUUEQCAIQShqIAIgFBCIAiAIQcQAaiAEIBQQiAIgESAIKgI0IgwgFiAIKgIsIgGUIBUgCCoCKCILlJMiCiAKkiIflCABIBUgCCoCMCIKlCARIAGUkyIPIA+SIiCUIAsgESALlCAWIAqUkyIPIA+SIiGUk5KSISIgASAIKgJUIAgqAjiTIiOUIAsgCCoCWCAIKgI8kyIklJMiDyAPkiEPIAogJJQgASAIKgJcIAgqAkCTIg2UkyIZIBmSIRkgIiANIAwgD5QgASAZlCALIAsgDZQgCiAjlJMiDSANkiIllJOSkiAXIAogCCoCTCINlCABIAgqAkgiEpQgCyAIKgJEIhOUIAwgCCoCUCIalJKSkiImIAogEpQgDCATlCALIBqUkyABIA2Uk5IiHSAYlCAMIBKUIAsgDZSSIAEgGpSTIAogE5STIh4gHJSTIhsgG5IiG5QgHSABIBOUIAwgDZQgCyASlJOSIAogGpSTIg0gHJQgHSAXlJMiEiASkiISlCAeIB4gF5QgDSAYlJMiEyATkiITlJOSkpKUIBYgDCAglCAKICGUIAEgH5STkpIiGiAjIAwgGZQgCiAllCABIA+Uk5KSIBwgJiATlCAeIBuUIA0gEpSTkpKSlCAVIAwgIZQgCyAflCAKICCUk5KSIgEgJCAMICWUIAsgD5QgCiAZlJOSkiAYICYgEpQgDSATlCAdIBuUk5KSkpSSkiAaICmUIAEgKJSSICIgJ5SSkyEBIAVBAWohBSAQIQsMAQsLIAcgEDgCBAsgACAFNgIMIAAgBykCADcCACAAQQhqIAdBCGooAgA2AgAgCEHgAGokAAu7CAICfxR9IwBBgAJrIgUkACAFQagBakEANgIAIAVBuAFqQQA2AgAgBUKCgICAMDcDCCAFQoCAgIAQNwMAIAVCADcDoAEgBUIANwOwASAFQTBqQQBB8AAQiQ0hBiACKgIMIgyMIRZDAACAPyEIIAwgDJQgAkEQaioCACIKIAqUkiACQRRqKgIAIg8gD5SSIg1DAAAAAF4EQCAPjCANEJsBIgeVIQkgCowgB5UhCCAWIAeVIQcLIAZBADYCACAFQShqQgA3AwAgByABKgIAIhCUIAggASoCBCIRlJIgCSABKgIIIhKUkiAHIAEqAgwiE5QgCCABQRBqKgIAIhSUkiAJIAFBFGoqAgAiFZSSXiEGIAVBJGogCSABKgIYIguUIBIgFSAGG5IgAioCCCIXkyIJOAIAIAVBIGogCCALlCARIBQgBhuSIAIqAgQiGJMiCDgCACAFQRxqIAcgC5QgECATIAYbkiACKgIAIhmTIgc4AgAgBUEYaiAJOAIAIAVBFGogCDgCACAFQQA2ArwBIAVBADYCrAEgBSAHOAIQIAVBwAFqIAEgBSACIAMQkAEgBSgCwAEhAgJAIARFBEAgAkUEQCAAQQQ2AgAMAgtDAAAAACEJIAUqAsQBIghDAAAAAFwEQCAAIAg4AgggAEEDNgIAIABBFGogBUHQAWooAgA2AgAgACAFQcgBaikCADcCDAwCC0MAAIA/IQhDAAAAACEHIA8gDRCbASIOlSINIA2UIAwgDpUiDCAMlCAKIA6VIg4gDpSSkiIaQwAAAABeBEAgDSAaEJsBIgeVIQkgDiAHlSEIIAwgB5UhBwsgBUHoAWogD4w4AgAgBUHkAWogCow4AgAgBSAWOALgASAFQQA2ArwBIAVBADYCrAEgBUEANgIwIAVCADcDKCAFIBcgDSANIAsgCZQgEiAVIBIgCZQgESAIlCAQIAeUkpIgFSAJlCAUIAiUIBMgB5SSkl4iAhuSIgogF5OUIAwgCyAHlCAQIBMgAhuSIgcgGZOUIA4gCyAIlCARIBQgAhuSIgggGJOUkpJDbxKDOpIiCZSSIgs4AtwBIAUgCiALkyILOAIkIAUgGCAOIAmUkiIKOALYASAFIAggCpMiCDgCICAFIBkgDCAJlJIiCjgC1AEgBSAHIAqTIgc4AhwgBSALOAIYIAUgCDgCFCAFIAc4AhAgBUHsAWogASAFIAVB1AFqIAlDbxKDOpIQkAEgBSgC7AFFBEAgAEEENgIADAILIAMgCSAFKgLwAZMiA2BFBEAgAEEENgIADAILIAAgAzgCCCAAQQM2AgAgAEEUaiAFQfwBaigCADYCACAAIAVB9AFqKQIANwIMDAELIAIEQCAAIAUqAsQBOAIIIABBAzYCACAAIAVByAFqKQIANwIMIABBFGogBUHQAWooAgA2AgAMAQsgAEEENgIACyAFQYACaiQAC8EIAgZ+CH8CQAJ/AkACQAJAAkAgASkDACIFQgBSBEAgBUKAgICAgICAgCBaDQEgA0UNAkGgfyABLwEYIgFBIGsgASAFQoCAgIAQVCIBGyILQRBrIAsgBUIghiAFIAEbIgVCgICAgICAwABUIgEbIgtBCGsgCyAFQhCGIAUgARsiBUKAgICAgICAgAFUIgEbIgtBBGsgCyAFQgiGIAUgARsiBUKAgICAgICAgBBUIgEbIgtBAmsgCyAFQgSGIAUgARsiBUKAgICAgICAgMAAVCIBGyAFQgKGIAUgARsiBUIAWWsiC2vBQdAAbEGwpwVqQc4QbSIBQdEATw0DIAFBBHQiAUGwycMAaikDACIGQv////8PgyIHIAUgBUJ/hUI/iIYiCEIgiCIJfiEFIAZCIIgiCiAIQv////8PgyIIfiEGIAkgCn4gBUIgiHwgBkIgiHwgBUL/////D4MgByAIfkIgiHwgBkL/////D4N8QoCAgIAIfEIgiHwiB0FAIAsgAUG4ycMAai8BAGprIg5BP3GtIgWIpyELIAFBusnDAGovAQAhAUIBIAWGIghCAX0iCSAHgyIGUARAIANBCksNByADQQJ0QYjXwwBqKAIAIAtLDQcLIAtBkM4ATwRAIAtBwIQ9SQ0FIAtBgMLXL08EQEEIQQkgC0GAlOvcA0kiDBshDUGAwtcvQYCU69wDIAwbDAcLQQZBByALQYCt4gRJIgwbIQ1BwIQ9QYCt4gQgDBsMBgsgC0HkAE8EQEECQQMgC0HoB0kiDBshDUHkAEHoByAMGwwGC0EKQQEgC0EJSyINGwwFC0GHxcMAQRxBuNbDABCqCgALQcjWwwBBJEHs1sMAEKoKAAtB7NXDAEEhQfzWwwAQqgoACyABQdEAQfDTwwAQ4wgAC0EEQQUgC0GgjQZJIgwbIQ1BkM4AQaCNBiAMGwshDAJAAkACQAJAIA0gAWtBAWrBIg8gBMEiAUoEQCAOQf//A3EhESAPIARrwSADIA8gAWsgA0kbIg5BAWshEkEAIQEDQCALIAxuIRAgASADRg0DIAsgDCAQbGshCyABIAJqIBBBMGo6AAAgASASRg0EIAEgDUYNAiABQQFqIQEgDEEKSSEQIAxBCm4hDCAQRQ0AC0GQ1cMAQRlBtNfDABCqCgALIAAgAiADQQAgDyAEIAdCCoAgDK0gBYYgCBCTBA8LIAFBAWohASARQQFrQT9xrSEKQgEhBwNAIAcgCohCAFIEQCAAQQA2AgAPCyABIANPDQMgASACaiAGQgp+IgYgBYinQTBqOgAAIAdCCn4hByAGIAmDIQYgDiABQQFqIgFHDQALIAAgAiADIA4gDyAEIAYgCCAHEJMEDwsgAyADQcTXwwAQ4wgACyAAIAIgAyAOIA8gBCALrSAFhiAGfCAMrSAFhiAIEJMEDwsgASADQdTXwwAQ4wgACyAAQQA2AgAL/wcCD38BfSMAQSBrIgkkACAJIAAoAgwiBjYCACAAKAIQIQMgCSACNgIEIAIgBkYEQCACIANGBEAgAEEkaigCACIFIABBIGooAgAiCk0EQAJAAkAgBUUNACAAKAIUIgYgBUEDdGohDyAGIQMDQCAKQQN0IgQgBmoiCyADIAMgD0YiDBsiEEUNASAQKAIAIg0gAk8NAiAQKAIEIgcgAk8NAiADIARqIQggBUEBR0EDdCEEIAcgDUcEQCABIA1BAnRqIgMqAgAhEiADIAEgB0ECdGoiAygCADYCACADIBI4AgALIAggDyAMGyEPIAsgBiAMGyEGIAQgEGohAyAFQQFrIgUNAAsLIAAoAgAhDgJAAkAgAkEBayIIBEAgDkEIaiEGIAFBCGohCiACQQJrIREgAkECdEEEaiEPQQAhByAIIQADQCACIAdGDQMCQCAHIgtBAWoiByACRg0AIAEgC0ECdGoqAgAhEiAIIAtrQQFxIRBBACEFIAsgEUcEQCAAQX5xIQwgBiEEIAohAwNAIAMgAyoCACASIAQqAgCUkzgCACADQQRrIg0gDSoCACASIARBBGsqAgCUkzgCACAEQQhqIQQgA0EIaiEDIAwgBUECaiIFRw0ACwsgEEUNACAFQQJ0IgQgASAHQQJ0amoiAyADKgIAIBIgDiACIAtsIAdqQQJ0aiAEaioCAJSTOAIACyAAQQFrIQAgBiAPaiEGIApBBGohCiAHIAhHDQALIAJFDQELIA4gCCACIAhsIgpqQQJ0aioCACISQwAAAABbDQAgAkECayEMQQAhB0EAIAJBAnRrIQ0gDiACIAhsQQJ0aiEGIAIhAANAIAAhAyABIAgiAEECdGoiBCoCACASlSESIAQgEjgCAAJAIAIgA08EQCAARQ0DQQAhBSAHIAxGDQEgAEF+cSELIAYhBCABIQMDQCADIAMqAgAgEiAEKgIAlJM4AgAgA0EEaiIIIAgqAgAgEiAEQQRqKgIAlJM4AgAgBEEIaiEEIANBCGohAyALIAVBAmoiBUcNAAsMAQtBpv7AAEEdQcD/wAAQuwsACyAAQQFxBEAgBUECdCIEIAFqIgMgAyoCACASIA4gCkECdGogBGoqAgCUkzgCAAsgBiANaiEGIAdBAWohByAOIABBAWsiCCACbCIKIAhqQQJ0aioCACISQwAAAABcDQALCyAJQSBqJAAPC0Gm/sAAQR1BwP/AABC7CwALQYWNwQBBPkHEjcEAEKoKAAtBpv7AAEEdQbD/wAAQuwsAC0HUkcEAQS5BhJLBABC7CwALIAlCADcCFCAJQZi/wAA2AhAgCUEBNgIMIAlBvJHBADYCCCAJIAlBBGogCUEIakHEkcEAEOAKAAu3CAETfyABKAIAIQdBBCEFQQQhBgJAAkACQAJAAn9BACABKAIIIgpFDQAaIApBqtWq1QBLDQEgCkEMbCICQQBIDQFBACACRQ0AGkGR+8MALQAAGiACQQQQggwiBkUNBCACCyEEIAYgByAEEIgNIQ4gASgCDCEEAkAgAUEUaigCACIHRQ0AIAdB/////wBLDQEgB0EDdCICQQBIDQEgAkUNAEGR+8MALQAAGiACQQQQggwiBUUNBCACIQMLIAUgBCADEIgNIQ8gASgCGCEIQQQhBkEAIQJBBCEFAkACQAJ/QQAgAUEgaigCACILRQ0AGiALQebMmTNLDQMgC0EUbCIDQQBIDQNBACADRQ0AGkGR+8MALQAAGiADQQQQggwiBUUNBSADCyEEIAUgCCAEEIgNIRAgASgCJCEEAkAgAUEsaigCACIIRQ0AIAhB////H0sNAyAIQQV0IgNBAEgNAyADRQ0AQZH7wwAtAAAaIANBBBCCDCIGRQ0FIAMhAgsgBiAEIAIQiA0hESABKAIwIQlBBCEFQQAhA0EEIQYCf0EAIAFBOGooAgAiDEUNABogDEH/////AUsNAyAMQQJ0IgJBAEgNA0EAIAJFDQAaQZH7wwAtAAAaIAJBBBCCDCIGRQ0CIAILIQQgBiAJIAQQiA0hEiABKAI8IQQCQCABQcQAaigCACIGRQ0AIAZB/////wFLDQMgBkECdCICQQBIDQMgAkUNAEGR+8MALQAAGiACQQQQggwiBUUNBiACIQMLIAUgBCADEIgNIRMgASgCSCEUQQQhDUEAIQRBBCEFAn9BACABQdAAaigCACIJRQ0AGiAJQf////8BSw0DIAlBAnQiAkEASA0DQQAgAkUNABpBkfvDAC0AABogAkEEEIIMIgVFDQYgAgshAyAFIBQgAxCIDSEDIAEoAlQhBQJAIAFB3ABqKAIAIgJFDQAgAkH/////AUsNAyACQQJ0IgFBAEgNAyABRQ0AQZH7wwAtAAAaIAFBBBCCDCINRQ0EIAEhBAsgDSAFIAQQiA0hASAAQdwAaiACNgIAIABB2ABqIAI2AgAgACABNgJUIABB0ABqIAk2AgAgAEHMAGogCTYCACAAIAM2AkggAEHEAGogBjYCACAAQUBrIAY2AgAgACATNgI8IABBOGogDDYCACAAQTRqIAw2AgAgACASNgIwIABBLGogCDYCACAAQShqIAg2AgAgACARNgIkIABBIGogCzYCACAAQRxqIAs2AgAgACAQNgIYIABBFGogBzYCACAAQRBqIAc2AgAgACAPNgIMIAAgCjYCCCAAIAo2AgQgACAONgIADwsACwwDCxDbCgALQQQgAUHQgcQAKAIAIgBBlwcgABsRAAAAC0EEIANB0IHEACgCACIAQZcHIAAbEQAAAAtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAAL1AcCA38OfSMAQaABayIKJAAgCiACIAkqAgQiFhCIAiAKKgIAIhQgCCoCBCIYlCAKKgIEIg0gCCoCACIZlJMiEyATkiETIAoqAggiDiAZlCAUIAgqAggiFZSTIhEgEZIhESAVIAoqAgwiDyATlCAUIBGUIA0gDSAVlCAOIBiUkyIVIBWSIhCUk5KSIRUgGCAPIBGUIA4gEJQgFCATlJOSkiEYIBkgDyAQlCANIBOUIA4gEZSTkpIhGSAJQQhqIQwgCSoCCCENIAkqAgAhEwJAA0AgDCEIIBYhFCATIQ4gAUMAAAAAXUUEQCAJIQggFiETIA0iFCEOIAFDAACgNV5FDQILIAggFjgCACAJIBYgDpJDAAAAP5QiFjgCBCAUIBOTQwAAoDVdRQRAIApBHGogAiAWEIgCIApBOGogBSAWEIgCIAogCioCJCIBIAoqAkAiD5QgCioCICINIAoqAjwiEJQgCioCHCIOIAoqAjgiEpQgCioCKCIRIAoqAkQiGpSSkpI4AmAgCiANIBKUIBEgD5QgDiAQlJOSIAEgGpSTOAJcIAogESAQlCAOIA+UkiANIBqUkyABIBKUkzgCWCAKIAEgEJQgESASlCAOIBqUkyANIA+Uk5I4AlQgDSAKKgJIIAoqAiyTIhKUIA4gCioCTCAKKgIwkyIalJMiDyAPkiEPIAEgGpQgDSAKKgJQIAoqAjSTIheUkyIQIBCSIRAgCiAXIBEgD5QgDSAQlCAOIA4gF5QgASASlJMiFyAXkiIXlJOSkjgCbCAKIBogESAXlCAOIA+UIAEgEJSTkpI4AmggCiASIBEgEJQgASAXlCANIA+Uk5KSOAJkIAogFSARIBkgDZQgGCAOlJMiDyAPkiIPlCANIBggAZQgFSANlJMiECAQkiIQlCAOIBUgDpQgGSABlJMiEiASkiISlJOSkjgCeCAKIBggESASlCAOIA+UIAEgEJSTkpI4AnQgCiAZIBEgEJQgASASlCANIA+Uk5KSOAJwIApB/ABqIAMgCkHwAGogBCgCEBEBACAKIAoqAniMOAKcASAKIAoqAnSMOAKYASAKIAoqAnCMOAKUASAKQYgBaiAGIApB1ABqIApBlAFqIAcoAhgRAgAgCioCiAEgCioCcCIBlCAKKgKMASAKKgJ0Ig2UkiAKKgKQASAKKgJ4Ig6UkiABIAoqAnyUIA0gCioCgAGUkiAOIAoqAoQBlJKTIQEgC0EBaiELIBQhDQwBCwsgCSAUOAIECyAAIAs2AgwgACAJKQIANwIAIABBCGogCUEIaigCADYCACAKQaABaiQAC64IAgl/An4jAEHQAGsiAiQAIAAiBwJ/IAEoAgQiAEUEQCAHQQA2AgRBAAwBCyABIABBAWs2AgQCQCABKAIAIgYoAgQiAEEHTQRAIAJCgcqAgIABNwMgIAJBIGoQ6gohAwwBCyAGIABBCGs2AgQgBiAGKAIAIgBBCGo2AgAgAkE4aiAAKQAAENIFIAIoAjwhAyACKAI4DQACQAJAAkACQAJAAkACQEGAgAQgAyADQYCABE8bIgBFBEBBBCEEDAELQZH7wwAtAAAaIABBBHQiAUEEEIIMIgRFDQELQQAhASACQQA2AhAgAiAANgIMIAIgBDYCCCADBEADQCACQQM2AjwgAiAGNgI4IAJBIGogAkE4ahCbAyACKAIkIQAgAigCIARAIAAhAwwICyAARQRAQQAgAkHMAGpBkIPAABDvByEDDAgLIAIpAighCwJAAkAgAigCPCIFBEAgBUEBRg0BIAIoAjgiBSgCBCIKQQhJDQYgAigCLCEIIAIoAighCSAFIApBCGs2AgQgBSAFKAIAIgVBCGo2AgAgBSkAACIMQoCAgIAQVA0CIAJBAToAICACIAw3AyggAkEgaiACQcwAakG0gMAAEKkIIQMMCQtBASACQcwAakGQg8AAEO8HIQMMCAtBAiACQcwAakGQg8AAEO8HIQMMBwsgDKdBA2wiBSAIRwRAIAJBOGoiA0EMakECNgIAIAJBIGoiBEEMakICNwIAIAIgBTYCSCACQQI2AiQgAkG8scAANgIgIAJBAjYCPCACIAg2AkwgAiADNgIoIAIgAkHMAGo2AkAgAiACQcgAajYCOCACQRRqIgYgBBCnBCADIAYQiwkgAkEraiADQQhqKAIANgAAIAIgAikCODcAI0GR+8MALQAAGkEQQQQQggwiA0UNBSADQQg6AAAgAyACKQAgNwABIANBCGogAkEnaikAADcAACACKAIYBEAgAigCFBCaAgsgCUUNCCAAEJoCDAgLIAitIQsgAigCDCABRgRAIAJBCGogARCkBiACKAIIIQQgAigCECEBCyAEIAFBBHRqIgUgDEIghiALhDcCCCAFIAk2AgQgBSAANgIAIAIgAUEBaiIBNgIQIANBAWsiAw0ACyACKAIIIQQgAigCDCEACyAEDQMgACEDDAYLQQQgAUHQgcQAKAIAIgBBlwcgABsRAAAACyACQoHKgICAATcDICACQSBqEOoKIQMMAgtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALIAcgBDYCBCAHQQxqIAE2AgAgB0EIaiAANgIAQQAMAwsgC6dFDQAgABCaAgsgAigCCCEEIAEEQCAEIQADQCAAQQRqKAIABEAgACgCABCaAgsgAEEQaiEAIAFBAWsiAQ0ACwsgAigCDEUNACAEEJoCCyAHIAM2AgRBAQs2AgAgAkHQAGokAAuiCAILfwp9IwBBMGsiDCQAAkACQAJAAkACQCAIKAIMIg0gASgChAIiD0EBdCISIAcoAgAiDmpPBEAgACoCBCEXIAIoAowDIAYgDmpqIRMgAyoCECEeIAMqAgAhGiADKgIEIR8gAyoCDCEdIAMqAgghHCADLQAYIRYgCCgCACEDIBIEQCADIA5BAnRqIgAgEkECdGohAiASIQ4gACEDA0ACQCANQQJ0IhQgAGoiFSADIAIgA0YiEBsiEUUNACARQQA2AgAgEUEEaiIRIAMgFGogAiAQGyICRiEDIBUgACAQGyIAIBRqIhUgESADGyIQRQ0AIBBBADYCACARIBRqIAIgAxshAiAVIAAgAxshACAQIA5BAkdBAnRqIQMgDkECayIODQELCyAIKAIMIQ0gCCgCACEDCyANQQFGIBNBAEdxDQEgE0EAIA1BAUcbIgAgDU8NASADIABBAnRqQYCAgPwDNgIAIA1BAUYgDyATaiIAQQBHcQ0CIABBACANQQFHGyIAIA1PDQIgAyAAQQJ0aiIAQYCAgPwDNgIAIAcoAgAiAiAPaiIIIA9qIA1LDQMgAUHcAGogAyAIQQJ0aiAPEMUBIAAqAgAhGSAFKAIABEAgBSoCBCEbIAxDAAAAAEMAAIA/IBeVIBdDAAAAAFsbIiAgBUEIaioCACAEk5QiGDgCBCAMICAgGyAEk5QiGzgCACAYIBtgRQ0FIBggGyAaIBogG10bIhogGCAaXRshGgsgCygCACIAIApJDQUgACAKQei/wQAQ4wgAC0Gm/sAAQR1BsP/AABC7CwALQcCFwQBBG0HIv8EAELsLAAtBwIXBAEEbQdi/wQAQuwsAC0Gm/sAAQR1BsP/AABC7CwALIAxBIGoiAEEMakGIATYCACAMQQhqIgFBDGpCAjcCACAMQQI2AgwgDEH40MAANgIIIAxBiAE2AiQgDCAANgIQIAwgDEEEajYCKCAMIAw2AiAgAUHU0cAAENwKAAsgCyAAQQFqNgIAIAcgAiASajYCACAJIABBOGxqIgAgFyAelCIYOAIgIAAgGIw4AhwgAEL/////DzcCFCAAIAI2AhAgACAPNgIMIAAgASgCiAI2AgggACAGNgIEIABBATYCACAAQwAAAABDAACAPyAZlSIYIBlDCOU8Hl8bIBggGUMI5TyeYBs4AiQgAEMAAAAAQwAAgD8gFyAXlCAclCAXIB2UkiIZlSIYIBlDCOU8Hl8bIBggGUMI5TyeYBsiGUMAAAAAIBYbOAI0IABDAAAAACAZIBYbOAIwIAAgBCAfkyAcQwAAAABDAACAPyAXIByUIB2SIgSVIhcgBEMI5TweXxsgFyAEQwjlPJ5gG5QiBJRDAAAAAJJDAAAAACAEQwAAAABcGyAakyIEOAIsIAAgBDgCKCAMQTBqJAAL9wYCGX0CfyABQZABaioCACEVIAFBlAFqKgIAIRYgAUGYAWoqAgAhFyABQRhqKgIAIRggAUEUaioCACEZIAFB4AJqLQAAIRsgAUG0AWoqAgAhByABQbABaioCACEJIAFBrAFqKgIAIRMgASoCECEaIAAgASoCCCIEIAFBpAFqKgIAIgOUIAEqAgQiBiABQaABaioCACIClCABKgIAIgUgAUGcAWoqAgAiCpQgASoCDCIRIAFBqAFqKgIAIgiUkpKSIgsgAUGMAWoqAgAiEpQgBCAClCAFIAiUIBEgCpSTIAYgA5STkiIMIAFBgAFqKgIAIg6UkyAGIAiUIAUgA5QgESAClJOSIAQgCpSTIg0gAUGEAWoqAgAiD5STIAQgCJQgBiAKlCARIAOMlCAFIAKUk5KSIhQgAUGIAWoqAgAiEJSTOAIMIAAgFCAPlCALIA6UIAwgEpSSkiANIBCUkzgCACAAIAsgEJQgDSAOlCAUIBKUkiAMIA+Uk5I4AgggACAMIBCUIAsgD5QgDSASlCAUIA6Uk5KSOAIEIABBGGogFyAIIAogCZQgAiATlJMiCyALkiILlCACIAIgB5QgAyAJlJMiDCAMkiIMlCAKIAMgE5QgCiAHlJMiDSANkiINlJOSIAeTIgcgESAFIAggDZQgCiALlCADIAyUk5IgCZMiCpQgBiAIIAyUIAMgDZQgAiALlJOSIBOTIgOUkyICIAKSIgKUIAUgBCADlCAFIAeUkyIIIAiSIgiUIAYgBiAHlCAEIAqUkyIHIAeSIgeUk5KSIgkgCUMAAAAAkiAbQQFxIgEbIgkgCUMAAAAAkiAbQQJxIhwbQwAAAIAgGCAbQQRxIhsbkiIJIBIgDiAKIBEgCJQgBCAHlCAFIAKUk5KSIgUgBUMAAAAAkiABG0MAAACAIBkgHBuSIgUgBUMAAAAAkiAbGyIFlCAPIAMgESAHlCAGIAKUIAQgCJSTkpJDAAAAgCAaIAEbkiIEIARDAAAAAJIgHBsiBCAEQwAAAACSIBsbIgSUkyIDIAOSIgOUIA4gBCAQlCAJIA6UkyIGIAaSIgaUIA8gCSAPlCAFIBCUkyICIAKSIgKUk5KSkjgCACAAQRRqIBYgBSASIAaUIBAgApQgDiADlJOSkpI4AgAgACAVIAQgEiAClCAPIAOUIBAgBpSTkpKSOAIQC50IAg1/A34jAEEgayIJJAAgAUEQaiEOIAEoAgAiB0EEayENIAJBufPd8XlsQQV3IANzQbnz3fF5bCIMQRl2Ig+tQoGChIiQoMCAAX4hFCABQRhqKAIAIQogASgCBCEIIAEoAhAhCyAMIQUCQAJAAkACQAJAA0AgFCAFIAhxIgUgB2opAAAiE4UiEkKBgoSIkKDAgAF9IBJCf4WDQoCBgoSIkKDAgH+DIRIDQCASUARAIBMgE0IBhoNCgIGChIiQoMCAf4NCAFINAyAFIBBBCGoiEGohBQwCCyANIBJ6p0EDdiAFaiAIcUECdGsoAgAiBiAKTw0DIBJCAX0gEoMhEiALIAZBBHRqIhEoAgAgAkcNACARQQRqKAIAIANHDQALCyAAQQE2AgQgACAGNgIAIABBCGogCyAGQQR0aiIAKgIMOAIAIAAgBDgCDAwECyAHIAggDHEiBmopAABCgIGChIiQoMCAf4MiElAEQEEIIQUDQCAFIAZqIQYgBUEIaiEFIAcgBiAIcSIGaikAAEKAgYKEiJCgwIB/gyISUA0ACwsgByASeqdBA3YgBmogCHEiBWosAAAiBkEATgRAIAcgBykDAEKAgYKEiJCgwIB/g3qnQQN2IgVqLQAAIQYLAkAgBkEBcSINRQ0AIAEoAggNACABIAsgChCKASAMIAEoAgQiCHEiBiABKAIAIgdqKQAAQoCBgoSIkKDAgH+DIhJQBEBBCCEFA0AgBSAGaiEGIAVBCGohBSAHIAYgCHEiBmopAABCgIGChIiQoMCAf4MiElANAAsLIAcgEnqnQQN2IAZqIAhxIgVqLAAAQQBIDQAgBykDAEKAgYKEiJCgwIB/g3qnQQN2IQULIAUgB2ogDzoAACAFQQhrIAhxIAdqQQhqIA86AAAgASABKAIIIA1rIgg2AgggASABKAIMQQFqIgs2AgwgByAFQQJ0a0EEayAKNgIAIAEoAhghBSAKIAFBFGooAgAiBkcNAiAIIAtqIAVrIgcgCiIGIAVrTQ0CIAUgB2oiBiAFSQ0BIAZBBHQhByAGQYCAgMAASUECdCEIAkAgCkUEQCAJQQA2AhgMAQsgCSAOKAIANgIUIAlBBDYCGCAJIApBBHQ2AhwLIAlBCGogCCAHIAlBFGoQ2gYgCSgCDCEHIAkoAghFBEAgASAGNgIUIAEgBzYCEAwDCyAKIQYgB0GBgICAeEYNAiAHRQ0BIAcgCUEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACyAGIApBrPvAABDjCAALENsKAAsgBSAGRgRAIA4gBRCkBiABKAIYIQULIABBADYCBCAAIAo2AgAgASAFQQFqNgIYIAEoAhAgBUEEdGoiACAEOAIMIAAgDDYCCCAAIAM2AgQgACACNgIACyAJQSBqJAAL6QcCAn8RfSMAQYACayIFJAAgBUGoAWpBADYCACAFQbgBakEANgIAIAVCgoCAgDA3AwggBUKAgICAEDcDACAFQgA3A6ABIAVCADcDsAEgBUEwakEAQfAAEIkNIQYgAkEQaioCACIKjCERIAIqAgwiC4wiFSALIAuUIAogCpSSIAJBFGoqAgAiDCAMlJIiEhCbASIOlSIHIAeUIAyMIhYgDpUiCCAIlJIQmwEiD0MAAAAAXARAIAggD5UgASoCBCINlCEJIAcgD5UgDZQhDQsgBkEANgIAIAVBKGpCADcDACAFQSRqIAkgCCABKgIIIgiUkiACKgIIIg+TIgk4AgAgBUEgaiABKgIAIhcgESAOlSIOmCAOIAiUkiACKgIEIg6TIhM4AgAgBUEcaiANIAcgCJSSIAIqAgAiDZMiBzgCACAFQRhqIAk4AgAgBUEUaiATOAIAIAVBADYCvAEgBUEANgKsASAFIAc4AhAgBUHAAWogASAFIAIgAxCZASAFKALAASECAkAgBEUEQCACRQRAIABBBDYCAAwCC0MAAAAAIRMgBSoCxAEiB0MAAAAAXARAIAAgBzgCCCAAQQM2AgAgAEEUaiAFQdABaigCADYCACAAIAVByAFqKQIANwIMDAILIAsgEhCbASIHlSILIAwgB5UiDCAMlCALIAuUIAogB5UiCiAKlJKSEJsBIhKVIgcgB5QgDCASlSIJIAmUkhCbASIUQwAAAABcBEAgCSAUlSABKgIEIhCUIRMgByAUlSAQlCEQCyAFQegBaiAWOAIAIAVB5AFqIBE4AgAgBSAVOALgASAFQQA2ArwBIAVBADYCrAEgBUEANgIwIAVCADcDKCAFIA8gDCAMIAggCZQgE5IiDCAPk5QgCiAXIAogEpUiCZggCCAJlJIiCSAOk5QgCyAIIAeUIBCSIgcgDZOUkpJDbxKDOpIiCJSSIhE4AtwBIAUgDCARkyIMOAIkIAUgDiAKIAiUkiIKOALYASAFIAkgCpMiCjgCICAFIA0gCyAIlJIiCzgC1AEgBSAHIAuTIgs4AhwgBSAMOAIYIAUgCjgCFCAFIAs4AhAgBUHsAWogASAFIAVB1AFqIAhDbxKDOpIQmQEgBSgC7AFFBEAgAEEENgIADAILIAMgCCAFKgLwAZMiA2BFBEAgAEEENgIADAILIAAgAzgCCCAAQQM2AgAgAEEUaiAFQfwBaigCADYCACAAIAVB9AFqKQIANwIMDAELIAIEQCAAIAUqAsQBOAIIIABBAzYCACAAIAVByAFqKQIANwIMIABBFGogBUHQAWooAgA2AgAMAQsgAEEENgIACyAFQYACaiQAC7YHAgN/GH0jAEEwayIIJAAgACgCBCIJIAEgAhCXCiEBIAkgAyAEEJcKIQICQCABRQ0AIAJFDQACfQJ/AkAgBS0AvAINACABLQDeAkUNACACLQDeAkUNAAJAIAEtAN0CQQFHBEAgAUHMAmotAABFDQELIAItAN0CQQFHBEAgAkHMAmotAABFDQELIABBCGoMAgtDAACAPyENQwAAgD8hD0MAAIA/IRNDAACAPwwCCyAAQQxqCygCACIDKgIMIQ0gAyoCACEPIAMqAgghEyADKgIECyEQIAJBMGoiAyoCACEdIAJBNGoqAgAhHiACQThqIgQqAgAhHyACQSxqKgIAIRUgBUGEAWoqAgAhFiACQSRqKgIAIREgBUGMAWoqAgAhFyACQShqKgIAIRQgBUGIAWoqAgAhGCABQTBqIgkqAgAhICABQTRqKgIAISEgAUE4aiIKKgIAISIgAUEsaioCACEZIAVB6ABqKgIAIRogAUEkaioCACELIAVB8ABqKgIAIRsgAUEoaioCACEOIAVB7ABqKgIAIRwgAioCICESIAEqAiAhDCAIQQhqIgFBCGogCigCADYCACAIIAkpAgA3AwggCEEgaiIFQQhqIAQoAgA2AgAgBiAPIAYqAgCUOAIAIAcgDyAHKgIAlDgCACAGIBAgBioCBJQ4AgQgByAQIAcqAgSUOAIEIAYgEyAGKgIIlDgCCCAHIBMgByoCCJQ4AgggBiANIAYqAgyUOAIMIAcgDSAHKgIMlDgCDCAIIAMpAgA3AyAgACgCACEAIAggIiAbIBkgHCAMlCAaIAuUkyINIA2SIg2UIAwgGiAOlCAbIAyUkyIQIBCSIhCUIAsgGyALlCAcIA6UkyIPIA+SIg+Uk5KSkiITOAIcIAggISAcIBkgEJQgDiAPlCAMIA2Uk5KSkiIMOAIYIAggICAaIBkgD5QgCyANlCAOIBCUk5KSkiILOAIUIAAgASAIQRRqIgIgBhDrAiAIIBM4AhAgCCAMOAIMIAggCzgCCCAIIB8gFyAVIBggEpQgFiARlJMiCyALkiILlCASIBYgFJQgFyASlJMiDiAOkiIOlCARIBcgEZQgGCAUlJMiDCAMkiIMlJOSkpIiDTgCHCAIIB4gGCAVIA6UIBQgDJQgEiALlJOSkpIiEjgCGCAIIB0gFiAVIAyUIBEgC5QgFCAOlJOSkpIiETgCFCAAIAEgAiAHEOsCIAggDTgCHCAIIBI4AhggCCAROAIUIAAgAiAFIAYQ6wILIAhBMGokAAuDCAIBfw99IwBBgAJrIgUkACAFQagBakEANgIAIAVBuAFqQQA2AgAgBUKCgICAMDcDCCAFQoCAgIAQNwMAIAVCADcDoAEgBUIANwOwASAFQTBqQQBB8AAQiQ0aIAJBEGoqAgAiCIwhDyACKgIMIgmMIRACQAJ9AkAgCSAJlCIOIAJBFGoqAgAiCiAKlCIRkhCbASIGQwAAAABcBEAgASoCACILIA+UIgcgECAGlSABKgIEIg2UIgwgEJQgB5MgCiAKjCAGlSANlCIHlJNeDQEgC4whBgwDCyABKgIEIQ0gASoCACILIA+YDAELQwAAAAAhByALCyEGQwAAAAAhDAsgBUEwakEANgIAIAVBKGpCADcDACAFQSRqIAcgAioCCCISkyIHOAIAIAVBIGogBiACKgIEIhOTIgY4AgAgBUEcaiAMIAIqAgAiFJMiDDgCACAFQRhqIAc4AgAgBUEUaiAGOAIAIAVBADYCvAEgBUEANgKsASAFIAw4AhAgBUHAAWogCyANIAUgAiADEJ4BIAUoAsABIQECQCAERQRAIAFFBEAgAEEENgIADAILIAUqAsQBIgZDAAAAAFwEQCAAIAY4AgggAEEDNgIAIABBFGogBUHQAWooAgA2AgAgACAFQcgBaikCADcCDAwCCyAIIA4gCCAIlJIgEZIQmwEiBpUhDAJAAn0CQCAJIAaVIgggCJQgCiAGlSIJIAmUkhCbASIHQwAAAABcBEAgCyAMlCIRIAkgDSAJIAeVlCIGlCAIIA0gCCAHlZQiDpQgEZOSXg0BIAuMIQcMAwsgCyAMmCEHQwAAAAAMAQsgCyEHQwAAAAALIQZDAAAAACEOCyAFQegBaiAKjDgCACAFQeQBaiAPOAIAIAUgEDgC4AEgBUEANgK8ASAFQQA2AqwBIAVBADYCMCAFQgA3AyggBSASIAkgCSAGIBKTlCAMIAcgE5OUIAggDiAUk5SSkkNvEoM6kiIKlJIiCTgC3AEgBSAGIAmTIgY4AiQgBSATIAwgCpSSIgk4AtgBIAUgByAJkyIHOAIgIAUgFCAIIAqUkiIIOALUASAFIA4gCJMiCDgCHCAFIAY4AhggBSAHOAIUIAUgCDgCECAFQewBaiALIA0gBSAFQdQBaiAKQ28SgzqSEJ4BIAUoAuwBRQRAIABBBDYCAAwCCyADIAogBSoC8AGTIgNgRQRAIABBBDYCAAwCCyAAIAM4AgggAEEDNgIAIABBFGogBUH8AWooAgA2AgAgACAFQfQBaikCADcCDAwBCyABBEAgACAFKgLEATgCCCAAQQM2AgAgACAFQcgBaikCADcCDCAAQRRqIAVB0AFqKAIANgIADAELIABBBDYCAAsgBUGAAmokAAvEBwIXfQ9/IwBBIGsiHSQAAkACQCABRQ0AIABB4ABqKgIAIABB7ABqKgIAkiEFIABB3ABqKgIAIABB6ABqKgIAkiEGIABB8ABqIR8gAEHQAGshICAAKgJYIAAqAmSSIQcDQCAbIAEgASAbSRshHiAbQfAAbCIAIB9qIRwgACAgaiEZA0AgHCEaIBsgHkYNAiAZIgBBoAFqIhkgGSoCACAAQaQBaioCACAAQfAAaiIZKgIAIgIgByAClJQgAEH0AGoqAgAiAiAGIAKUlJIgAEH4AGoqAgAiAiAFIAKUlJIgAEH8AGoqAgAiAiAClCAAQYABaioCACICIAKUkiAAQYQBaioCACICIAKUkpIgAEGIAWoqAgAiAiAClCAAQYwBaioCACICIAKUkiAAQZABaioCACICIAKUkpIiApSSIgM4AgAgAEGUAWpDAAAAAEMAAIA/IAIgA5IiA5UiBCADQwjlPB5dGyAEIANDCOU8nl4bOAIAIBpB8ABqIRwgG0EBaiEbIABB6ABqKgIAQ///f/9cDQAgAEHsAGoqAgBD//9/f1wNAAsgASAbTQ0AQwAAAABDAACAPyAClSIDIAJDCOU8Hl0bIAMgAkMI5TyeXhshA0EAIQADQCAAQX9GDQMgAyAHIBkqAgAiBJQgGkEgaiIcKgIAIgiUIAYgGUEEaioCACIJlCAaQSRqIh4qAgAiCpSSIAUgGUEIaioCACILlCAaQShqIiEqAgAiDJSSIBlBDGoqAgAiDSAaQSxqIiIqAgAiDpQgGUEQaioCACIPIBpBMGoiIyoCACIQlJIgGUEUaioCACIRIBpBNGoiJCoCACISlJKSIBlBGGoqAgAiEyAaQThqIiUqAgAiFJQgGUEcaioCACIVIBpBPGoiJioCACIWlJIgGUEgaioCACIXIBpBQGsiJyoCACIYlJKSlCECICcgGCAXIAKUkzgCACAmIBYgFSAClJM4AgAgJSAUIBMgApSTOAIAICQgEiARIAKUkzgCACAjIBAgDyAClJM4AgAgIiAOIA0gApSTOAIAICEgDCALIAKUkzgCACAeIAogCSAClJM4AgAgHCAIIAQgApSTOAIAIBpBzABqIhwgHCoCACACIBlBLGoqAgCUkzgCACAaQcgAaiIcIBwqAgAgAiAZQShqKgIAlJM4AgAgGkHwAGohGiABIBsgAEEBaiIAaksNAAsMAAsACyAdQSBqJAAPCyAdQRRqQgA3AgAgHUEBNgIMIB1BtIjCADYCCCAdQZi/wAA2AhAgHUEIakHIicIAENwKAAv2BwIFfwN9IwBBwAFrIgskACALQRhqIAMgBCgCqAERAAAgCygCHCENIAsoAhghDCALQRBqIAYgBygCqAERAAACQAJAAkACQAJAIAwEQCALKAIQIg4NAQsgC0EIaiADIAQoAqwBEQAAIAsoAggiDEUNASAAIAEgAiAMIAsoAgwgBSAGIAcgCCAJIAoQLwwECyALKAIUIQ8gCgR/QQAFIAMgBCgCnAERCgAgBiAHKAKcAREKAJIhEiADIAQoAqABEQoAIRAgBiAHKAKgAREKACIRIBEgECAQIBFdGyAQIBBcGyEQQQELIQogCyAQOAJgIAsgEjgCXCALIAo2AlggC0HoAGogAyAEKAKAAREAACALQfgAaiAGIAcoAoABEQAAIAsqAnQgCyoChAFgDQEgC0GIAWogASAFIA4gDyAGIAcgAiAMIA0gAyAEIAggCSALQdgAahA+IAstALwBIgNBBEYEQCALQQQ6AFQMAwsgC0EgaiIBQRhqIAtBiAFqIgJBDGooAgA2AgAgAUEMaiACQRhqKAIANgIAIAFBMGogAkEkaigCADYCACABQSRqIAJBMGooAgA2AgAgCyALKQKMATcCMCALIAspApgBNwIkIAsgCykCpAE3AkggCyALKQKwATcCPCALIAM6AFQgCyALKgKIATgCIAwCCyALIAYgBygCrAERAAAgCygCACIGBEAgC0GIAWogASAFIAYgCygCBCACIAMgBCAIIAkgChAvIAstALwBIgFBBEcEQCALQYABaiALQZQBaigCADYCACALQShqIAtBoAFqKAIANgIAIAtB4ABqIAtBrAFqKAIANgIAIAtB8ABqIAtBuAFqKAIANgIAIAsgCykCjAE3A3ggCyALKQKYATcDICALIAspAqQBNwNYIAsgCykCsAE3A2ggCyoCiAEhCQsgACAJOAIAIAAgCykDIDcCBCAAIAspA3g3AhAgACALKQNoNwIcIAAgCykDWDcCKCAAIAE6ADQgAEEMaiALQShqKAIANgIAIABBGGogC0GAAWooAgA2AgAgAEEkaiALQfAAaigCADYCACAAQTBqIAtB4ABqKAIANgIAIABBN2ogC0GKAWotAAA6AAAgACALLwCIATsANQwDCyAAQQU6ADQMAgsgC0EgaiABIAIgDCANIAMgBCAFIA4gDyAGIAcgCCAJIAtB2ABqED4LIABBMGogC0EgaiIBQTBqKQIANwIAIABBKGogAUEoaikCADcCACAAQSBqIAFBIGopAgA3AgAgAEEYaiABQRhqKQIANwIAIABBEGogAUEQaikCADcCACAAQQhqIAFBCGopAgA3AgAgACALKQIgNwIACyALQcABaiQAC/YIAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4RAQIDBAUGBwgJCgsMDQ4PEBEACyACIAAtAAE6AAggAkEkakIBNwIAIAJBAjYCHCACQcS0wwA2AhggAkGSBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwRCyACIAApAwg3AwggAkEkakIBNwIAIAJBAjYCHCACQeC0wwA2AhggAkH5ADYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwQCyACIAApAwg3AwggAkEkakIBNwIAIAJBAjYCHCACQeC0wwA2AhggAkGTBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwPCyACIAArAwg5AwggAkEkakIBNwIAIAJBAjYCHCACQYC1wwA2AhggAkGUBzYCFCACIAJBEGo2AiAgAiACQQhqNgIQIAEgAkEYahD0CwwOCyACIAAoAgQ2AgggAkEkakIBNwIAIAJBAjYCHCACQZy1wwA2AhggAkGVBzYCFCACIAJB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akJ/NwIAIARBFGpBADoAACAEQRBqQX82AgAgBEFAayEEIAVBBGsiBQ0ACwsgCARAA0AgBEJ/NwIIIARBADoABCAEQX82AgAgBEEQaiEEIAhBAWsiCA0ACwsgBiAKakEBayEGCyAEQn83AgggBEEAOgAEIARBfzYCACAGQQFqBSAECzYCCCAJIAAoAgQiBygCCCIFSwRAIAkgBSIGayIJIAcoAgQgBWtLBEAgByAFIAkQnQYgBygCCCEGCyAHKAIAIAZBGGxqIQQgCUECTwRAIAEgBWsiCkEDcSEIIAVBf3MgAWpBA08EQCAKQXxxIQUDQCAEQv////v///+/fzcCECAEQv////v3//+/fzcCCCAEQv////v3//+//wA3AgAgBEHYAGpC////+////79/NwIAIARB0ABqQv////v3//+/fzcCACAEQcgAakL////79///v/8ANwIAIARBQGtC////+////79/NwIAIARBOGpC////+/f//79/NwIAIARBMGpC////+/f//7//ADcCACAEQShqQv////v///+/fzcCACAEQSBqQv////v3//+/fzcCACAEQRhqQv////v3//+//wA3AgAgBEHgAGohBCAFQQRrIgUNAAsLIAgEQANAIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAEQRhqIQQgCEEBayIIDQALCyAGIAlqQQFrIQYLIARC////+////79/NwIQIARC////+/f//79/NwIIIARC////+/f//7//ADcCACAGQQFqIQkLIAcgCTYCCCAAKAIAIgcoAgghBQsgASAFSQRAIAcoAgAgAUEEdGoiBiABNgIIIAZBDGogAjYCACABIAAoAgQiAigCCCIGSQRAIAIoAgAgAUEYbGoiAiADKQIANwIAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgAgACgCCCIAKAIIIQggACgCBCAIRgRAIAAgCBCoBiAAKAIIIQgLIAAgCEEBajYCCCAAKAIAIAhBAnRqIAE2AgAPCyABIAZB3NrAABDjCAALIAEgBUHM2sAAEOMIAAvmBgIOfwF+IwBBIGsiAyQAQQEhDQJAAkAgAigCFCIMQSIgAkEYaigCACIPKAIQIg4RAwANAAJAIAFFBEBBACECQQAhAQwBCyAA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akEQaigCACIGQQFLBEAgBiEFDAELIAEgBkHIAGxqLQBERQ0CIAEgAEHIAGxqQRRqKAIAIgdBAU0NASAHIQULIAVBAkGsn8MAEOMIAAsgASAHQcgAbGotAEQNAQtBvJ/DAEEsQeifwwAQqgoACyACQQA2AgwCQCABIABByABsaigCGCIDQQJLDQACQAJAAkACQCABIAVByABsaiADQQJ0akEMaiIEKAIAIABHDQAgASAFQcgAbGogA0ECdGoiCEEYaiIEKAIADQEgAiAIQSRqKAIAIgg2AhAgAiABIABByABsakEoaigCACIENgIUIAQgCEcNAiACIAEgBUHIAGxqIANBfkEBIANBAUsbakECdGpBJGooAgAiBTYCECACIAEgAEHIAGxqIgMoAiQiBDYCFCAEIAVHDQMgAkEBNgIMIANBHGooAgAiA0ECSw0EIAEgBkHIAGxqIANBAnRqIglBDGoiBCgCACAARw0AIAlBGGoiBCgCAEEBRw0BIAIgASAGQcgAbGoiBCADQQJ0akEkaigCACIGNgIQIAIgASAAQcgAbGpBLGooAgAiCTYCFCAGIAlHDQIgAiAEIANBfkEBIANBAUsbakECdGpBJGooAgAiAzYCECACIAg2AhQgAyAIRw0DIAEgAEHIAGxqQSBqKAIAIQMgAkECNgIMIANBAksNBCABIAdByABsaiADQQJ0akEMaiIEKAIAIABHDQAgASAHQcgAbGogA0ECdGoiAEEYaiIEKAIAQQJHDQEgAiAAQSRqKAIAIgA2AhAgAiAFNgIUIAAgBUcNAiACIAEgB0HIAGxqIANBfkEBIANBAUsbakECdGpBJGooAgAiADYCECACIAY2AhQgACAGRw0DIAJBMGokAA8LIAJBADYCGCAEIAJBCGogAkEYakHsnsMAEOMKAAsgAkEANgIYIAQgAkEMaiACQRhqQfyewwAQ4woACyACQQA2AhggAkEQaiACQRRqIAJBGGpBjJ/DABDjCgALIAJBADYCGCACQRBqIAJBFGogAkEYakGcn8MAEOMKAAsgA0EDQdyewwAQ4wgAC/YGAQp/IwBBEGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAFQQFrDgMBCBAACyABQSBqKAIAIgsgAk0NCCABQSRqKAIAIANNDQggASgCDCIJIANsIAJqIghBAWohCiABKAIUIAMgC2wgAmpqLQAAQQFxRQ0DIAkgCmohASAEDQIgByABNgIIIAcgCDYCBCAHIAggCWo2AgwgBkEDTw0BIAdBBGogBkECdGooAgAhCAwPCyABQSBqKAIAIg0gAk0NCCABQSRqKAIAIANNDQggASgCDCIIQQFrIgkgA2wiDiACaiIKIAlqIQsgCSABKAIQIg9sIAJqIhAgAyAIbGoiCUEBaiEMIA4gEGogD0EBayAIbGohCCABKAIUIAMgDWwgAmpqLQAAQQFxRQ0FIAQNBCAHIAk2AgwgByALNgIIIAcgCDYCBCAGQQNPDQMgB0EEaiAGQQJ0aigCACEIDA4LIAZBA0Hs+sIAEOMIAAsgByABNgIMIAcgCjYCCCAHIAg2AgQgBkEDSQ0LIAZBA0H8+sIAEOMIAAsgBEUEQCAHIAggCWo2AgwgByAKNgIEIAcgCSAKajYCCCAGQQNJBEAgB0EEaiAGQQJ0aigCACEIDA0LIAZBA0GM+8IAEOMIAAsgByAKNgIIIAcgCDYCBCAHIAggCWo2AgwgBkEDSQ0JIAZBA0Gc+8IAEOMIAAsgBkEDQaz7wgAQ4wgACyAHIAg2AgwgByAMNgIIIAcgCjYCBCAGQQNJDQYgBkEDQbz7wgAQ4wgACyAERQRAIAcgCDYCDCAHIAs2AgggByAMNgIEIAZBA0kEQCAHQQRqIAZBAnRqKAIAIQgMCgsgBkEDQcz7wgAQ4wgACyAHIAk2AgwgByAINgIIIAcgCjYCBCAGQQNJDQQgBkEDQdz7wgAQ4wgACyABKAIMQQFrIANsIQMgASgCTCEBIAZFDQIgASACaiADakEAIAFBAXYgBBtqIQgMBwtB+KnDABC8CwALQfipwwAQvAsACyACIANqQQAgAUEBdiAEG2ohCAwECyAHQQRqIAZBAnRqKAIAIQgMAwsgB0EEaiAGQQJ0aigCACEIDAILIAdBBGogBkECdGooAgAhCAwBCyAHQQRqIAZBAnRqKAIAIQgLIAAgCDYCBCAAIAU2AgAgB0EQaiQAC5gHAgF/Dn0jAEGAAmsiBSQAIAVBqAFqQQA2AgAgBUG4AWpBADYCACAFQoKAgIAwNwMIIAVCgICAgBA3AwAgBUIANwOgASAFQgA3A7ABIAVBMGpBAEHwABCJDRogAkEQaioCACIGjCEPIAIqAgwiB4whEAJAIAcgB5QiDiACQRRqKgIAIgogCpQiDJIQmwEiCUMAAAAAWwRAIAEqAgQhDQwBCyAQIAmVIAEqAgQiDZQhCCAKjCAJlSANlCELCyAFQTBqQQA2AgAgBUEoakIANwMAIAVBJGogCyACKgIIIhGTIgs4AgAgBUEcaiAIIAIqAgAiEpMiCTgCACAFQRhqIAs4AgAgBUEgaiABKgIAIgsgD5ggAioCBCITkyIIOAIAIAVBFGogCDgCACAFQQA2ArwBIAVBADYCrAEgBSAJOAIQIAVBwAFqIAsgDSAFIAIgAxCtASAFKALAASEBAkAgBEUEQCABRQRAIABBBDYCAAwCC0MAAAAAIQkgBSoCxAEiCEMAAAAAXARAIAAgCDgCCCAAQQM2AgAgAEEUaiAFQdABaigCADYCACAAIAVByAFqKQIANwIMDAILIAYgDiAGIAaUkiAMkhCbASIMlSEIQwAAAAAhDiAHIAyVIgYgBpQgCiAMlSIHIAeUkhCbASIMQwAAAABcBEAgDSAGIAyVlCEOIA0gByAMlZQhCQsgBUHoAWogCow4AgAgBUHkAWogDzgCACAFIBA4AuABIAVBADYCvAEgBUEANgKsASAFQQA2AjAgBUIANwMoIAUgESAHIAcgCSARk5QgCCALIAiYIgcgE5OUIAYgDiASk5SSkkNvEoM6kiIKlJIiDzgC3AEgBSAJIA+TIgk4AiQgBSATIAggCpSSIgg4AtgBIAUgByAIkyIHOAIgIAUgEiAGIAqUkiIGOALUASAFIA4gBpMiBjgCHCAFIAk4AhggBSAHOAIUIAUgBjgCECAFQewBaiALIA0gBSAFQdQBaiAKQ28SgzqSEK0BIAUoAuwBRQRAIABBBDYCAAwCCyADIAogBSoC8AGTIgNgRQRAIABBBDYCAAwCCyAAIAM4AgggAEEDNgIAIABBFGogBUH8AWooAgA2AgAgACAFQfQBaikCADcCDAwBCyABBEAgACAFKgLEATgCCCAAQQM2AgAgACAFQcgBaikCADcCDCAAQRRqIAVB0AFqKAIANgIADAELIABBBDYCAAsgBUGAAmokAAuqBwICfw19IwBBoAJrIgUkACAFQagBakEANgIAIAVBuAFqQQA2AgAgBUKCgICAMDcDCCAFQoCAgIAQNwMAIAVCADcDoAEgBUIANwOwASAFQTBqQQBB8AAQiQ0hBiAFIAJBFGoqAgAiB4wiECACKgIMIgggCJQgAkEQaioCACIJIAmUkiAHIAeUkiIKEJsBIguVOAL8ASAFIAmMIhEgC5U4AvgBIAUgCIwiEiALlTgC9AEgBUHIAWogASAFQfQBahDTAyAGQQA2AgAgBUEoakIANwMAIAVBJGogBSoC0AEgAioCCCILkyIMOAIAIAVBIGogBSoCzAEgAioCBCIOkyINOAIAIAVBHGogBSoCyAEgAioCACIPkyITOAIAIAVBGGogDDgCACAFQRRqIA04AgAgBUEANgK8ASAFQQA2AqwBIAUgEzgCECAFQdQBaiABIAUgAiADEKUBIAUoAtQBIQICQCAERQRAIAJFBEAgAEEENgIADAILIAUqAtgBIgxDAAAAAFwEQCAAIAw4AgggAEEDNgIAIABBFGogBUHkAWooAgA2AgAgACAFQdwBaikCADcCDAwCCyAFIAcgChCbASIKlSIHIAcgB5QgCCAKlSIIIAiUIAkgCpUiCSAJlJKSEJsBIgqVOAL8ASAFIAkgCpU4AvgBIAUgCCAKlTgC9AEgBUHoAWogASAFQfQBaiICENMDIAUqAvABIQogBSoC6AEhDCAFKgLsASENIAVBiAJqIBA4AgAgBUGEAmogETgCACAFQQA2ArwBIAVBADYCrAEgBUEANgIwIAVCADcDKCAFIBI4AoACIAUgCyAHIAggDCAPk5QgCSANIA6TlJIgByAKIAuTlJJDbxKDOpIiB5SSIgs4AvwBIAUgCiALkyILOAIkIAUgDiAJIAeUkiIJOAL4ASAFIA0gCZMiCTgCICAFIA8gCCAHlJIiCDgC9AEgBSAMIAiTIgg4AhwgBSALOAIYIAUgCTgCFCAFIAg4AhAgBUGMAmogASAFIAIgB0NvEoM6khClASAFKAKMAkUEQCAAQQQ2AgAMAgsgAyAHIAUqApACkyIDYEUEQCAAQQQ2AgAMAgsgACADOAIIIABBAzYCACAAQRRqIAVBnAJqKAIANgIAIAAgBUGUAmopAgA3AgwMAQsgAgRAIAAgBSoC2AE4AgggAEEDNgIAIAAgBUHcAWopAgA3AgwgAEEUaiAFQeQBaigCADYCAAwBCyAAQQQ2AgALIAVBoAJqJAALyQoCBX8UfSMAQZABayIEJAAgAyoCDCEOIAMqAgghCSADKgIAIQsgAyoCBCEKIARB8ABqQQA2AgAgBEHgAGpBADYCACAEQcwAakIANwIAIARBPGpBADYCACAEQShqQgA3AgAgBEEYakEANgIAIARB7ABqIA4gCiAJQwAAAACUIgyTIg0gDZIiEZQgCiALQwAAAACUIg0gCkMAAAAAlCIPkyITIBOSIhOUIAkgDCALkyIQIBCSIhCUk5JDAAAAAJIiFDgCACAEQdgAaiAOIBCUIAkgEZQgCyATlJOSQwAAAACSIhc4AgAgBEHIAGogDiAPIAmTIhUgFZIiFZQgCiALIA+TIhYgFpIiFpQgCSAMIA2TIhIgEpIiEpSTkkMAAAAAkiIYOAIAIARBNGogDiASlCAJIBWUIAsgFpSTkkMAAIA/kiIZOAIAIARBJGogDiAPIAyTIgwgDJIiDJQgCiANIAqTIg8gD5IiD5QgCSAJIA2TIg0gDZIiDZSTkkMAAIA/kiIaOAIAIARB5ABqIBSMOAIAIARBQGsgGIw4AgAgBEEcaiAajDgCACAEIA4gE5QgCyAQlCAKIBGUk5JDAACAP5IiETgCXCAEQdQAaiARjDgCACAEIA4gFpQgCyASlCAKIBWUk5JDAAAAAJIiETgCOCAEQTBqIBGMOAIAIARBADYCCCAEIBeMOAJoIAQgGYw4AkQgBCAOIA2UIAkgDJQgCyAPlJOSQwAAAACSIgk4AhAgBCAJjDgCICAEIA4gD5QgCyANlCAKIAyUk5JDAAAAAJIiDjgCFCAEIA6MOAIMQ///f/8hDkMAAAAAIRVDAAAAACEWA0ACQCAEQQhqIAZqIgUqAgAiCSAJlCAFQQRqIgcqAgAiCSAJlJIgBUEIaiIIKgIAIgkgCZSSEJsBIglDAAAANF5FDQAgBCAIKgIAIAmVOAKMASAEIAcqAgAgCZU4AogBIAQgBSoCACAJlTgChAFDAACAPyADKgIQIhkgBEGEAWoiBSoCACILlCADQRRqKgIAIhogBSoCBCIKlJIgBSoCCCIMIANBGGoqAgAiG5SSmCEJIARB9ABqIgVBDGogDCAJlCIMOAIAIAVBCGogCiAJlCINOAIAIAUgCyAJlCIPOAIEIA8gAyoCCCIJlCAMIAMqAgAiC5STIgogCpIhEyALIAMqAgwiESATlCALIA0gC5QgDyADKgIEIgqUkyIQIBCSIhKUIAkgDCAKlCANIAmUkyIQIBCSIhSUk5IgDZO8QYCAgIB4cSACKAIEQf////8HcXK+IheUIAogESAUlCAJIBOUIAogEpSTkiAPk7xBgICAgHhxIAIoAgBB/////wdxcr4iGJSTIhAgEJIhECAFIAwgGyARIBCUIAsgCSAYlCALIBEgEpQgCiAUlCALIBOUk5IgDJO8QYCAgIB4cSACKAIIQf////8HcXK+IhOUkyISIBKSIhKUIAogCiATlCAJIBeUkyIUIBSSIhSUk5IgE5KSIAEoAghB/////wdxIAy8QYCAgIB4cXK+k5QgDyAZIBEgFJQgCiAQlCAJIBKUk5IgGJKSIAEoAgBB/////wdxIA+8QYCAgIB4cXK+k5QgDSAaIBEgEpQgCSAUlCALIBCUk5IgF5KSIAEoAgRB/////wdxIA28QYCAgIB4cXK+k5SSkjgCACAEKgJ0IgkgDl5FDQAgBCoCgAEhFiAEKgJ8IRUgBCoCeCEcIAkhDgsgBkEMaiIGQewARw0ACyAAIBw4AgQgACAOOAIAIABBDGogFjgCACAAQQhqIBU4AgAgBEGQAWokAAunBgIDfwl9IwBB4ABrIgYkACACKgIEIg4gAyoCDCIQlCACKgIAIg8gA0EQaioCACIRlJMiDSANkiELIAIqAggiDSARlCAOIANBFGoqAgAiDJSTIgogCpIhCSAGQQRqIgdBFGogDCACKgIMIgogC5QgDiAJlCAPIA8gDJQgDSAQlJMiDCAMkiIMlJOSkjgCACAHQRBqIBEgCiAMlCAPIAuUIA0gCZSTkpI4AgAgBiAQIAogCZQgDSAMlCAOIAuUk5KSOAIQIA4gAyoCACACKgIQkyIQlCAPIAMqAgQgAkEUaioCAJMiEZSTIgsgC5IhCyARIA2UIAMqAgggAkEYaioCAJMiDCAOlJMiCSAJkiEJIAYgDCAKIAuUIA4gCZQgDyAMIA+UIBAgDZSTIgwgDJIiDJSTkpI4AgwgBiARIAogDJQgDyALlCANIAmUk5KSOAIIIAYgECAKIAmUIA0gDJQgDiALlJOSkjgCBCABQQhqIgMqAgAhCiABKgIAIQsgASoCBCEJIAZBHGoiCEEUaiADKAIANgIAIAYgCow4AiQgBiAJjDgCICAGIAuMOAIcIAYgASkCADcCKCAGQTRqIAggByAGQRBqELMBAkACQCAGKAI0RQ0AQwAAAAAhCgJ9IAYqAjgiCUMAAAAAXUUEQCAEIAlgRQ0CIAZByABqKAIAIQMgBkHEAGoqAgAhCiAGKgI8IQsgBkFAayoCAAwBCyAGQdwAaigCACEDIAUEQEMAAAAAIQtDAAAAACEJQwAAAAAMAQsgBkHMAGoqAgAiCSAEX0UNASAGQdgAaioCACEKIAYqAlAhCyAGQdQAaioCAAshBCAAIAk4AgggAEECNgIAIABBAiADayADQQFrIANBAEgbNgIEIAAgCiAPIA0gC5QgDyAKlJMiCSAJkiIJlCAOIA4gCpQgDSAElJMiCiAKkiIKlJMgDyAElCAOIAuUkyIQIBCSIhAgAioCDCIRlJKSOAIUIAAgBCANIAqUIA8gEJSTIAkgEZSSkjgCECAAIAsgDiAQlCANIAmUkyAKIBGUkpI4AgwMAQsgAEEENgIACyAGQeAAaiQAC4oHAgp/AX4jAEEgayIDJAAgAC0AHEUEQCAALQAAIQEgAEEBOgAAIAMgAToABwJAAkAgAUUEQEHkgcQAKAIAQf////8HcQRAQbSFxAAoAgBBAEchBwsgAC0AAUUEQCAALQAcDQMgAEEMaigCACIBRQ0CAn9BwPvDACkDACILQgBSBEAgACgCBCIFIAFBDGxqDAELEJkIIgEoAgAhAiABIAJBAWs2AgAgAyABNgIIIAEpAwghCyACQQFGBEAgA0EIahC3CQtBwPvDACALNwMAIAAoAgwiAUUNAyAAKAIEIgUgAUEMbGoLIQFBASECA0ACQAJAIAQgBWoiCCgCACIJKQMIIAtRDQAgCUEUaiIKKAIAIQYgCiAGIAhBBGooAgAgBhs2AgAgBg0AIAJBAWshBSAIQQhqKAIAIgEEQCAJQRhqIAE2AgALIAAoAgwiASAFTQ0BIANBEGogACgCBCAEaiIEQQhqKAIANgIAIAMgBCkCADcDCCAEIARBDGogASACa0EMbBCKDRogACABQQFrNgIMIAMoAggiAUUNBSABIAEoAgAiAUEBazYCACABQQFHDQUgA0EIahDXCQwFCyACQQFqIQIgBSAEQQxqIgRqIAFHDQEMBAsLIAUgAUHchMAAEOEIAAsgAyAHOgAMIAMgADYCCEHshMAAQSsgA0EIakHEhsAAQaiFwAAQgAgACyADQgA3AhQgA0GAgMAANgIQIANBATYCDCADQZiTwAA2AgggA0EHaiADQQhqEN0KAAsgAEEYaiICKAIAIQEgAkEANgIAIABBEGooAgAiAiABQQxsaiEEAkACQCABRQ0AA0AgAigCACIBRQRAIAJBDGohAgwCCyABQRRqIgYoAgAhBSAGIAUgAikCBCILpyAFGzYCACABIAEoAgAiBUEBazYCACADIAs3AgwgAyABNgIIIAVBAUYEQCADQQhqENcJCyAEIAJBDGoiAkcNAAsMAQsgBCACa0EMbiEFIAIgBEYNACAAKAIQIgEgAiABa0EMbkEMbGohBANAIAQoAgAiAigCACEBIAIgAUEBazYCACABQQFGBEAgBBDXCQsgBEEMaiEEIAVBAWsiBQ0ACwsgACAAKAIMBH9BAQUgACgCGAtFOgAcCwJAIAcNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIABBAToAAQsgAEEAOgAACyADQSBqJAALigcCCn8BfiMAQSBrIgMkACAALQAcRQRAIAAtAAAhASAAQQE6AAAgAyABOgAHAkACQCABRQRAQeSBxAAoAgBB/////wdxBEBBtIXEACgCAEEARyEHCyAALQABRQRAIAAtABwNAyAAQQxqKAIAIgFFDQICf0HA+8MAKQMAIgtCAFIEQCAAKAIEIgUgAUEMbGoMAQsQmQgiASgCACECIAEgAkEBazYCACADIAE2AgggASkDCCELIAJBAUYEQCADQQhqELcJC0HA+8MAIAs3AwAgACgCDCIBRQ0DIAAoAgQiBSABQQxsagshAUEBIQIDQAJAAkAgBCAFaiIIKAIAIgkpAwggC1ENACAJQRRqIgooAgAhBiAKIAYgCEEEaigCACAGGzYCACAGDQAgAkEBayEFIAhBCGooAgAiAQRAIAlBGGogATYCAAsgACgCDCIBIAVNDQEgA0EQaiAAKAIEIARqIgRBCGooAgA2AgAgAyAEKQIANwMIIAQgBEEMaiABIAJrQQxsEIoNGiAAIAFBAWs2AgwgAygCCCIBRQ0FIAEgASgCACIBQQFrNgIAIAFBAUcNBSADQQhqENcJDAULIAJBAWohAiAFIARBDGoiBGogAUcNAQwECwsgBSABQdjFwAAQ4QgACyADIAc6AAwgAyAANgIIQfjFwABBKyADQQhqQfzKwABBtMbAABCACAALIANCADcCFCADQZi/wAA2AhAgA0EBNgIMIANBgM/AADYCCCADQQdqIANBCGoQ3woACyAAQRhqIgIoAgAhASACQQA2AgAgAEEQaigCACICIAFBDGxqIQQCQAJAIAFFDQADQCACKAIAIgFFBEAgAkEMaiECDAILIAFBFGoiBigCACEFIAYgBSACKQIEIgunIAUbNgIAIAEgASgCACIFQQFrNgIAIAMgCzcCDCADIAE2AgggBUEBRgRAIANBCGoQ1wkLIAQgAkEMaiICRw0ACwwBCyAEIAJrQQxuIQUgAiAERg0AIAAoAhAiASACIAFrQQxuQQxsaiEEA0AgBCgCACICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAEENcJCyAEQQxqIQQgBUEBayIFDQALCyAAIAAoAgwEf0EBBSAAKAIYC0U6ABwLAkAgBw0AQeSBxAAoAgBB/////wdxRQ0AQbSFxAAoAgBFDQAgAEEBOgABCyAAQQA6AAALIANBIGokAAvTDwIkfQd/IwBB4ABrIiokACAqQTxqISsgAiEvIAQhAkMAACDBIQsCfQJAIAUEQCACIAVBDGxqITACQAJAAkADQCACKAIAIiwgA0kEQCACQQRqKAIAIi0gA08NAiACQQhqKAIAIi4gA08NAyAGIC8gLkEMbGoiLioCACIOQwAAIEGSIC8gLEEMbGoiLCoCBCIMQwAAIEGSIgYgLyAtQQxsaiItKgIIIg9DAAAgQZIiB5QgLCoCCCIQQwAAIEGSIhEgLSoCBCINQwAAIEGSIhOUk5QgLCoCACIUQwAAIEGSIBMgLioCCCITQwAAIEGSIhWUIAcgLioCBCIWQwAAIEGSIgeUk5QgLSoCACIXQwAAIEGSIAYgFZQgESAHlJOUk5JDAADAQJUiB5IhBiAKIAcgEEMAAIA+lEMAACDAkiAPQwAAgD6UkiATQwAAgD6UkpSSIQogCSAHIAxDAACAPpRDAAAgwJIgDUMAAIA+lJIgFkMAAIA+lJKUkiEJIAggByAUQwAAgD6UQwAAIMCSIBdDAACAPpSSIA5DAACAPpSSlJIhCCAwIAJBDGoiAkcNAQwECwsgLCADQdibwgAQ4wgACyAtIANB6JvCABDjCAALIC4gA0H4m8IAEOMIAAsgBkMAAAAAXA0BC0MAACDBIQpDAAAgwQwBCyAIIAaVIQsgCiAGlSEKIAkgBpULIQkgKyALOAIEICsgBjgCACArQQxqIgIgCjgCACArQQhqIAk4AgAgKioCPCETICpBEGogAigCADYCACAqICopAkA3AwgCQAJAAkACQCATQwAAAABcBEAgBQRAIAQgBUEMbGohLiAqKgIQIRQgKioCDCEVICoqAgghFgNAIAQoAgAiAiADTw0EIARBBGooAgAiKyADTw0FIARBCGooAgAiBSADTw0GIC8gBUEMbGoiBSoCACIGIRcgLyArQQxsaiIrKgIEIgshIiArKgIIISMgKyoCACIJISQgBSoCCCElIAUqAgQiByEmIC8gAkEMbGoiLCoCACIKIScgLCoCBCIOISggLCoCCCEpICpBGGoiAiAGICpBCGoiLSoCACIIkyIGIAaUIAkgCJMiCSAGlCAKIAiTIgogBpQgCSAJlCAKIAmUIAogCpQgCCAIkyIIIAiUIAggCpSSkiAIIAmUkpKSIAggBpSSkpKSIg8gByAtKgIEIgyTIgcgB5QgCyAMkyILIAeUIA4gDJMiDiAHlCAMIAyTIgwgB5QgCyALlCAOIAuUIA4gDpQgDCAMlCAMIA6UkpIgDCALlJKSkpKSkpIiEpJDzczMPZQ4AiAgAiAPIAUqAgggLSoCCCINkyIPIA+UICsqAgggDZMiECAPlCAsKgIIIA2TIhEgD5QgDSANkyINIA+UIBAgEJQgESAQlCARIBGUIA0gDZQgDSARlJKSIA0gEJSSkpKSkpKSIhiSQ83MzD2UOAIQIAIgEiAYkkPNzMw9lDgCACACIAcgD5QiEiASkiALIA+UIA4gD5QgDCAPlCAQIAeUIAsgEJQiEiASkiAOIBCUIAwgEJQgESAHlCARIAuUIA4gEZQiEiASkiAMIBGUIAwgDZQiEiASkiANIA6UkiANIAuUkiANIAeUkpKSkpKSkpKSkpKSkkPNzEy9lCISOAIcIAIgBiAHlCIYIBiSIAkgB5QgCiAHlCAIIAeUIAYgC5QgCSALlCIHIAeSIAogC5QgCCALlCAGIA6UIAkgDpQgCiAOlCIHIAeSIAggDpQgBiAMlCAJIAyUIAogDJQgCCAMlCIHIAeSkpKSkpKSkpKSkpKSkpKSQ83MTL2UIgc4AhggAiASOAIUIAIgBiAPlCILIAuSIAkgD5QgCiAPlCAIIA+UIAYgEJQgCSAQlCILIAuSIAogEJQgCCAQlCAGIBGUIAkgEZQgCiARlCILIAuSIAggEZQgBiANlCAJIA2UIAogDZQgCCANlCIGIAaSkpKSkpKSkpKSkpKSkpKSQ83MTL2UIgY4AgwgAiAHOAIIIAIgBjgCBCAZIBcgFpMgKCAVkyIGICMgFJMiCZQgKSAUkyIKICIgFZMiCJSTlCAnIBaTIAggJSAUkyIIlCAJICYgFZMiCZSTlCAkIBaTIAYgCJQgCiAJlJOUk5JDAADAQJUiBiAqKgI4lJIhGSAaIAYgKioCNJSSIRogGyAGICoqAjCUkiEbIBwgKioCLCAGlJIhHCAdICoqAiggBpSSIR0gHiAqKgIkIAaUkiEeIB8gKioCICAGlJIhHyAgICoqAhwgBpSSISAgISAqKgIYIAaUkiEhIC4gBEEMaiIERw0ACwsgKkMAAMB/QwAAgD8gE5ggEyATXBsiBiAZIAGUlDgCXCAqIAYgGiABlJQ4AlggKiAGIBsgAZSUOAJUICogBiAcIAGUlDgCUCAqIAYgHSABlJQ4AkwgKiAGIB4gAZSUOAJIICogBiAfIAGUlDgCRCAqIAYgICABlJQ4AkAgKiAGICEgAZSUOAI8IAAgKkEIaiATIAGUIAaUICpBPGoQjwIMAQsgAEIANwIQIABCADcCACAAQoCAgICAgIDAPzcCCCAAQRhqQgA3AgAgAEEgakIANwIAIABBKGpBADYCAAsgKkHgAGokAA8LIAIgA0Gom8IAEOMIAAsgKyADQbibwgAQ4wgACyAFIANByJvCABDjCAALzQYCAn4FfwJAIAFBB3EiBEUNAAJAIAAoAqABIgVBKUkEQCAFRQRAIABBADYCoAEMAwsgBEECdEGM18MAajUCACEDIAVBAWtB/////wNxIgRBAWoiB0EDcSEIIARBA0kEQCAAIQQMAgsgB0H8////B3EhByAAIQQDQCAEIAQ1AgAgA34gAnwiAj4CACAEQQRqIgY1AgAgA34gAkIgiHwhAiAGIAI+AgAgBEEIaiIGNQIAIAN+IAJCIIh8IQIgBiACPgIAIARBDGoiBjUCACADfiACQiCIfCECIAYgAj4CACACQiCIIQIgBEEQaiEEIAdBBGsiBw0ACwwBCyAFQShBwPDDABDkCAALIAgEQANAIAQgBDUCACADfiACfCICPgIAIARBBGohBCACQiCIIQIgCEEBayIIDQALCwJAIAKnIgQEQCAFQSdLDQEgACAFQQJ0aiAENgIAIAVBAWohBQsgACAFNgKgAQwBCyAFQShBwPDDABDjCAALAkAgAUEIcQRAAkACQCAAKAKgASIFQSlJBEAgBUUEQEEAIQUMAwsgBUEBa0H/////A3EiBEEBaiIHQQNxIQggBEEDSQRAQgAhAiAAIQQMAgsgB0H8////B3EhB0IAIQIgACEEA0AgBCAENQIAQoDC1y9+IAJ8IgI+AgAgBEEEaiIGNQIAQoDC1y9+IAJCIIh8IQIgBiACPgIAIARBCGoiBjUCAEKAwtcvfiACQiCIfCECIAYgAj4CACAEQQxqIgY1AgBCgMLXL34gAkIgiHwhAiAGIAI+AgAgAkIgiCECIARBEGohBCAHQQRrIgcNAAsMAQsgBUEoQcDwwwAQ5AgACyAIBEADQCAEIAQ1AgBCgMLXL34gAnwiAj4CACAEQQRqIQQgAkIgiCECIAhBAWsiCA0ACwsgAqciBEUNACAFQSdLDQIgACAFQQJ0aiAENgIAIAVBAWohBQsgACAFNgKgAQsgAUEQcQRAIABBgMPDAEECEPsBCyABQSBxBEAgAEGIw8MAQQQQ+wELIAFBwABxBEAgAEGYw8MAQQcQ+wELIAFBgAFxBEAgAEG0w8MAQQ4Q+wELIAFBgAJxBEAgAEHsw8MAQRsQ+wELDwsgBUEoQcDwwwAQ4wgAC/EHAgp/AX0jAEEgayIGJAAgAEEQaiEIAkAgAEEYaigCACIDRQRAIABBFGooAgAhBEEAIQMgAcAQ9QgiDEP//39+IAxD//9/fl0bIQwgBEUEQCAIQQAQrgYgACgCGCECCyAAIAJBAWo2AhggACgCECACQQZ0aiIAQQA6ADwgAEEAOwA5IAAgAToAOCAAQgA3AjAgAEKAgICAwAA3AiggAEIENwIgIABCADcCGCAAQoCAgIDAADcCECAAQgA3AgggAEHA+sAANgIEIAAgDDgCAAwBCyAAKAIQIQcgAEHgAGoiCSECAkACQAJAAkADQCACLQAAIgQgA08NBCABwCIKIAcgBEEGdGoiBSwAOCICTA0BIAVBPWohAiAFLQA8DQALIAYgAzoAByADQf8BcUH/AUcNASAGQgA3AhQgBkGYv8AANgIQIAZBATYCDCAGQajswQA2AggjAEEQayIAJAAgAEGw1sAANgIMIAAgBkEHajYCCEEBIABBCGpBpNXAACAAQQxqQaTVwAAgBkEIakGw7MEAEKsEAAsgAkH/AXEgAUH/AXFHDQEgBCEDDAMLIAAtAGEiBCADSQRAIAcgBEEGdGoiAkEBOgA8IAJBPWogAzoAACAAQRRqKAIAIQUgChD1CCIMQ///f34gDEP//39+XRshDCAFIAMiAkYEQCAIIAMQrgYgACgCECEHIAAoAhghAgsgACADOgBhIAAgAkEBajYCGCAHIAJBBnRqIgJBADoAPCACIAQ6ADsgAkEBOgA6IAIgAzoAOSACIAE6ADggAkIANwIwIAJCgICAgMAANwIoIAJCBDcCICACQgA3AhggAkKAgICAwAA3AhAgAkIANwIIIAJBwPrAADYCBCACIAw4AgAgACADEGsMAwsgBCADQcDswQAQ4wgACyAHIARBBnRqIgItADohCyACQQE6ADogAkE7aiICLQAAIQUgAiADOgAAAkAgCwRAIAMgBUsEQCAHIAVBBnRqIgJBAToAPCACQT1qIAM6AAAMAgsgBSADQdDswQAQ4wgACyAJIAM6AAALIABBFGooAgAhCSAKEPUIIgxD//9/fiAMQ///f35dGyEMIAkgAyICRgRAIAggAxCuBiAAKAIQIQcgACgCGCECCyAAIAJBAWo2AhggByACQQZ0aiICIAQ6AD0gAkEBOgA8IAIgBToAOyACIAs6ADogAiADOgA5IAIgAToAOCACQgA3AjAgAkKAgICAwAA3AiggAkIENwIgIAJCADcCGCACQoCAgIDAADcCECACQgA3AgggAkHA+sAANgIEIAIgDDgCACAAIAMQawwBCyAEIANBhOzBABDjCAALIAZBIGokACADC9EGAQV/IAAoAgQhAgJAAkACQAJAAkACQCAAKAIAQQFrDgIBAgALIAIgAigCgAIiA0EBazYCgAIgA0EBRw0EIAIgAigCQCIDIAIoAsgBIgFyNgJAIAEgA3FFBEAgAkGAAWoQ8AEgAkGgAWoQ8AELIAItAIgCIQMgAkEBOgCIAiADRQ0EIAJB0AFqKAIABEAgAigCzAEQmgILIAJBhAFqEMUGIAJBpAFqEMUGIAIQmgIMBAsgAiACKALAASIDQQFrNgLAASADQQFHDQMgAiACKAJAIgNBAXI2AkAgA0EBcUUEQCACQYABahDwAQsgAi0AyAEhAyACQQE6AMgBIANFDQMgAigCBCEDIAIoAgBBfnEiBCACKAJAQX5xIgVHBEADQCAEQT5xQT5GBEAgAygCACEBIAMQmgIgASEDCyAFIARBAmoiBEcNAAsLIAMNAQwCCyACIAIoAjgiA0EBazYCOCADQQFHDQIgAhCYASACLQBAIQMgAkEBOgBAIANFDQIgAkEEahDFBiACQRxqEMUGIAIQmgIMAgsgAxCaAgsgAkGEAWoQxQYgAhCaAgsgAEEMaigCACEBAkACQAJAAkACQAJAIAAoAghBAWsOAgECAAsgASABKAKAAiIAQQFrNgKAAiAAQQFHDQIgASABKAJAIgAgASgCyAEiA3I2AkAgACADcUUEQCABQYABahDwASABQaABahDwAQsgAS0AiAIhACABQQE6AIgCIABFDQIgAUHQAWooAgAEQCABKALMARCaAgsgAUGEAWoQxQYgAUGkAWoQxQYgARCaAg8LIAEgASgCwAEiAEEBazYCwAEgAEEBRw0BIAEgASgCQCIAQQFyNgJAIABBAXFFBEAgAUGAAWoQ8AELIAEtAMgBIQAgAUEBOgDIASAARQ0BIAEoAgQhACABKAIAQX5xIgQgASgCQEF+cSICRwRAA0AgBEE+cUE+RgRAIAAoAgAhAyAAEJoCIAMhAAsgAiAEQQJqIgRHDQALCyAADQIMAwsgASABKAI4IgBBAWs2AjggAEEBRw0AIAEQmAEgAS0AQCEAIAFBAToAQCAARQ0AIAFBBGoQxQYgAUEcahDFBiABEJoCCw8LIAAQmgILIAFBhAFqEMUGIAEQmgIL7AYCCX8BfiMAQSBrIgQkACAALQAAIQIgAEEBOgAAIAQgAjoABwJAAkACQCACRQRAQeSBxAAoAgBB/////wdxBEBBtIXEACgCAEEARyEGCyAALQABDQECQCAAQQxqKAIAIgFFDQAgACgCBCIDIQIgAUEMbCIHQQxrIghBDG5BAWpBB3EiAQRAIAFBDGwhAQNAIAIoAgBBFGoiCSgCACEFIAkgBUECIAUbNgIAIAJBDGohAiABQQxrIgENAAsLIAhB1ABJDQAgAyAHaiEFA0AgAigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEMaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEYaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEkaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkEwaigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkE8aigCAEEUaiIDKAIAIQEgAyABQQIgARs2AgAgAkHIAGooAgBBFGoiAygCACEBIAMgAUECIAEbNgIAIAJB1ABqKAIAQRRqIgMoAgAhASADIAFBAiABGzYCACAFIAJB4ABqIgJHDQALCyAAQRhqIgEoAgAhAiABQQA2AgAgAEEQaigCACIBIAJBDGxqIQUgAkUNAgNAIAEoAgAiAkUEQCABQQxqIQEMBAsgAkEUaiIHKAIAIQMgByADIAEpAgQiCqcgAxs2AgAgAiACKAIAIgNBAWs2AgAgBCAKNwIMIAQgAjYCCCADQQFGBEAgBEEIahDXCQsgBSABQQxqIgFHDQALDAMLIARCADcCFCAEQYCAwAA2AhAgBEEBNgIMIARBmJPAADYCCCAEQQdqIARBCGoQ3QoACyAEIAY6AAwgBCAANgIIQeyEwABBKyAEQQhqQcSGwABBmIXAABCACAALIAUgAWtBDG4hAyABIAVGDQAgACgCECICIAEgAmtBDG5BDGxqIQIDQCACKAIAIgUoAgAhASAFIAFBAWs2AgAgAUEBRgRAIAIQ1wkLIAJBDGohAiADQQFrIgMNAAsLIAAgACgCDAR/QQEFIAAoAhgLRToAHAJAIAYNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIABBAToAAQsgAEEAOgAAIARBIGokAAv4BgECfyMAQdABayIRJAACQAJAAkAgAEUNACAAKAIAIhJBf0YNASAAIBJBAWo2AgAgAUUNACABKAIAIhJBf0YNASABIBJBAWo2AgAgAkUNACACKAIAIhJBf0YNASACIBJBAWo2AgAgA0UNACADKAIAIhJBf0YNASADIBJBAWo2AgAgBEUNACAEKAIAIhJBf0YNASAEIBJBAWo2AgAgBUUNACAFKAIAIhJBf0YNASAFIBJBAWo2AgAgBkUNACAGKAIAIhJBf0YNASAGIBJBAWo2AgAgESAQNgIEIBEgCTYCbCARIAhBAEc6AGsgESAHOAJkIBEgBkEEajYCYCARIAVBBGo2AlwgESAEQQRqNgJYIBEgA0EEajYCVCARIAJBBGo2AlAgESABQQRqNgJMIBEgAEEEajYCSCARIAs2AnQgESAKQQBHNgJwIBEgDTkDgAEgESAMQQBHrTcDeCARIA85A5ABIBEgDkEAR603A4gBIBEgEUHrAGo2AsgBIBEgEUHkAGo2AsQBIBEgEUHgAGo2AsABIBEgEUHcAGo2ArwBIBEgEUHQAGo2ArgBIBEgEUHMAGo2ArQBIBEgEUHIAGo2ArABIBEgEUHYAGo2AqwBIBEgEUHUAGo2AqgBIBEgEUGIAWo2AqQBIBEgEUH4AGo2AqABIBEgEUHwAGo2ApwBIBEgEUHsAGo2ApgBAkAgEBAEQQFGBEAgESARQQRqNgLMASARQQhqIBFBmAFqIBFBzAFqEMoCDAELIBFBCGogEUGYAWpBABDKAgsgBiAGKAIAQQFrNgIAIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhACARLQBEQQRHBEBBkfvDAC0AABpBxABBBBCCDCIARQ0DIABBADYCACAAIBEpAgg3AgQgAEEMaiARQRBqKQIANwIAIABBFGogEUEYaikCADcCACAAQRxqIBFBIGopAgA3AgAgAEEkaiARQShqKQIANwIAIABBLGogEUEwaikCADcCACAAQTRqIBFBOGopAgA3AgAgAEE8aiARQUBrKQIANwIACyARQdABaiQAIAAPCxD4DAALEPkMAAtBBEHEAEHQgcQAKAIAIgBBlwcgABsRAAAAC4MGAg19AX8jAEEgayIVJAAgAyoCACEQAkACQAJAAkACQCAHBEAgAioCCCEJIAIqAgQhCCACKgIAIQogAyoCCCERIAMqAgQhDQwBCyACKgIAIgogEJQgAioCBCIIIAMqAgQiDZSSIAIqAggiCSADKgIIIhGUkkMAAAAAXg0BCyAVIBGMOAIcIBUgDYw4AhggFSAQjDgCFCAVQQhqIAQgASAVQRRqIAUoAhQRAgAgDSAVKgIMIgyMlCAQIBUqAggiDpQiEpMgFSoCECIPIBGUIhOTIhRDAAAAAF5FBEAgFCAQIAqUIAggDZSSIAkgEZSSlSILQwAAAABgRQ0CIAYgC2BFDQILIAYgC10NAiAPIAkgC5SSIQYgDCAIIAuUkiEJIA4gCiALlJIhCEEDIQIgEiANIAyUkiATkkMAAAAAXUUEQCAGIBEgESAGlCAQIAiUIA0gCZSSkiIKlJMhBiAJIA0gCpSTIQkgCCAQIAqUkyEIQQEhAgsgACAGOAIMIAAgCTgCCCAAIAg4AgQgACALOAIAIAAgAykCADcCHCAAQSRqIANBCGooAgA2AgAgASoCBCIGIA4gASoCEJMiDpQgASoCACIJIAwgAUEUaioCAJMiEpSTIgggCJIhCiABKgIIIgggEpQgBiAPIAFBGGoqAgCTIg+UkyILIAuSIQwgACAPIAEqAgwiCyAKlCAGIAyUIAkgCSAPlCAIIA6UkyIPIA+SIg+Uk5KSOAIYIAAgEiALIA+UIAkgCpQgCCAMlJOSkjgCFCAAIA4gCyAMlCAIIA+UIAYgCpSTkpI4AhAgACACOgA0IAAgCyANIAmUIBAgBpSTIgogCpIiCpQgBiARIAaUIA0gCJSTIgwgDJIiDJQgCSAQIAiUIBEgCZSTIg4gDpIiDpSTkiARkzgCMCAAIAsgDpQgCSAKlCAIIAyUk5IgDZM4AiwgACALIAyUIAggDpQgBiAKlJOSIBCTOAIoDAMLIABBBDoANAwCCyAAQQQ6ADQMAQsgAEEEOgA0CyAVQSBqJAALnAYCCn8GfSMAQRBrIgwkACAMQQhqQzX6jjwQhwECQAJAAkAgASgCCCIFBEBBASEDIAIqAgghDSACKgIEIQ4gAioCACEPIAVBAUYNAyAPIAEoAgAiByoCAJQgDiAHKgIElJIgDSAHKgIIlJIhESAFQQFrIgRBAXEhCCAFQQJHDQFBACEEDAILQQBBAEG0rcMAEOMIAAsgB0EQaiECIARBfnEhCUEAIQQDQCAPIAJBBGsqAgCUIA4gAioCAJSSIA0gAkEEaioCAJSSIhAgEV4hCyAPIAJBCGoqAgCUIA4gAkEMaioCAJSSIA0gAkEQaioCAJSSIhIgECARIAsbIhBeIQYgEiAQIAYbIREgA0EBaiIFIAMgBCALGyAGGyEEIANBAmohAyACQRhqIQIgBSAJRw0ACwsgCEUNACADIAQgDyAHIANBDGxqIgIqAgCUIA4gAioCBJSSIA0gAioCCJSSIBFeGyEECwJAIAQgAUEUaigCACICSQRAIAwqAgwhEiAMKgIIIRAgAUEgaigCACEKIAFBOGooAgAhBiABKAIMIARBA3RqIgcoAgQhCyABKAIYIQkgASgCMCEFQQAhAgNAAkACQCACIAtGBEAgAUEsaigCACEGIAFBxABqKAIAIQggASgCJCEFIAEoAjwhAUEAIQIDQCACIAtGBEAgBCEDQQAhCgwHCyACIAcoAgBqIgMgCE8NAiABIANBAnRqKAIAIgMgBkkEQEEBIQogAkEBaiECIA8gBSADQQV0aiIJKgIQlCAOIAlBFGoqAgCUkiANIAlBGGoqAgCUkosgEF9FDQEMBwsLIAMgBkHk9MIAEOMIAAsgBiACIAcoAgBqIgNNBEAgAyAGQfT0wgAQ4wgACyAKIAUgA0ECdGooAgAiA0sNASADIApBhPXCABDjCAALIAMgCEHU9MIAEOMIAAsgAkEBaiECIA8gCSADQRRsaiIIKgIIlCAOIAhBDGoqAgCUkiANIAhBEGoqAgCUkiASYEUNAAtBAiEKDAELIAQgAkHE9MIAEOMIAAsgACADNgIEIAAgCjYCACAMQRBqJAALwAYBCn8jAEGgAWsiDCQAAkACQAJAIAFBEGooAgAgAk0NACABKAIIIAJBqAFsaiIIKAIARQ0AIAgoAgQgA0cNACAIQQA2AgAgCCgCCCENIAggASkCADcCBCABIAI2AgQgAUEBNgIAIAEgASgCFEEBajYCFCABIAEoAhhBAWs2AhggDUECRg0AIAhBEGooAgAhCyAIQQxqKAIAIQkgDEEMaiAIQRRqQZQBEIgNGiANQQFHDQEgBSgCECAJTQ0BIAUoAggiCEUNASAIIAlB6AJsaiIKKAIARQ0BIAooAgQgC0cNASAKQbACai0AAEEBcUUEQCAKQQE2ArACIAVBJGooAgAiByAFQSBqKAIARgRAIAVBHGogBxCrBiAFKAIkIQcLIAUgB0EBajYCJCAFKAIcIAdBA3RqIgggCzYCBCAIIAk2AgALAkAgCkHAAmooAgAiD0UNACAKQbgCaigCACIIIA9BA3RqIQ4gCCEHA0ACQCACIAcoAgBGBEAgB0EEaigCACADRg0BCyAQQQFqIRAgDiAHQQhqIgdHDQEMAgsLIAogD0EBayIONgLAAiAKIAooArACQQhyNgKwAiAHIAggDkEDdGopAgA3AgALIAZFDQEgBSgCECAJTQ0BIAUoAggiBUUNASAFIAlB6AJsaiIHKAIARQ0BIAcoAgQgC0cNASAHQeUCai0AAA0BIAdBsAJqLQAAQQRxDQEgB0HQAmpBADYCACAHQdQCakEAOgAAIAdB5gJqLQAARQ0BIAQoAgAhBgJAIAQoAggiBSAHQQxqKAIAIghNDQAgBiAIQQN0aiIIKAIAIAlHDQAgCCgCBCALRg0CCyAHIAU2AgwgBCgCBCAFRgRAIAQgBRCrBiAEKAIAIQYgBCgCCCEFCyAEIAVBAWo2AgggBiAFQQN0aiIEIAs2AgQgBCAJNgIADAELIABBAjYCAAwBCyABQTBqKAIAIgcgAUEsaigCAEYEQCABQShqIAcQqwYgASgCMCEHCyABIAdBAWo2AjAgASgCKCAHQQN0aiIBIAM2AgQgASACNgIAIABBDGogDEEMakGUARCIDRogACALNgIIIAAgCTYCBCAAIA02AgALIAxBoAFqJAALrQYCCX8BfiMAQdABayIHJAACQAJAAkACQCAARQ0AIAAoAgAiBkF/Rg0BIAAgBkEBajYCACACRQ0AIAIoAgAiBkF/Rg0BIAIgBkEBajYCACADRQ0AIAMoAgAiBkF/Rg0BIAMgBkEBajYCACAERQ0AIAQoAgAiBkF/Rg0BIAQgBkEBajYCACAHQcgAaiAEQQxqKQIANwMAIAcgBCkCBDcDQCAHQdgAaiADQQRqIgZBCGooAgA2AgAgByAGKQIANwNQIABBBGogAb0iD6cgD0IgiKcQmAoiBkUNAiAHQZgBaiAGQfQAaiAGKAIwIAZBNGooAgAiBigCCEEBa0F4cWpBCGogBiAHQUBrIAIoAgQgAkEIaigCACIGKAIIQQFrQXhxakEIaiAGIAUQogECf0EBIAcoApgBIghBAkYNABogB0HgAGoiBkEwaiIJIAdBzAFqKAIANgIAIAZBKGoiCiAHQcQBaikCADcDACAGQSBqIgsgB0G8AWopAgA3AwAgBkEYaiIMIAdBtAFqKQIANwMAIAZBEGoiDSAHQawBaikCADcDACAGQQhqIg4gB0GkAWopAgA3AwAgByAHKQKcATcDYEEBIAhFDQAaIAdBCGoiBkEwaiAJKAIANgIAIAZBKGogCikDADcDACAGQSBqIAspAwA3AwAgBkEYaiAMKQMANwMAIAZBEGogDSkDADcDACAGQQhqIA4pAwA3AwAgByAHKQNgNwMIQQALIQYgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhAiAGRQRAQZH7wwAtAAAaQThBBBCCDCICRQ0EIAJBADYCACACIAcpAwg3AgQgAkEMaiAHQRBqKQMANwIAIAJBFGogB0EYaikDADcCACACQRxqIAdBIGopAwA3AgAgAkEkaiAHQShqKQMANwIAIAJBLGogB0EwaikDADcCACACQTRqIAdBOGooAgA2AgALIAdB0AFqJAAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC0EEQThB0IHEACgCACIAQZcHIAAbEQAAAAu8BgEdfSABQcwAaioCACEPIAJBHGoqAgAhBiABKgIcIRAgAioCDCEJIAEqAgwhESABQTxqKgIAIRIgAUHcAGoqAgAhEyACQSxqKgIAIQwgASoCLCEUIAFByABqKgIAIRUgAkEYaioCACEEIAEqAhghFiACKgIIIQcgASoCCCEXIAFBOGoqAgAhGCABQdgAaioCACEZIAJBKGoqAgAhDSABKgIoIRogAUHEAGoqAgAhGyACQRRqKgIAIQUgASoCFCEcIAIqAgQhCCABKgIEIQsgAUE0aioCACEdIAFB1ABqKgIAIR4gAkEkaioCACEOIAEqAiQhHyABKgIAIAIqAgAiA5MiCiADIAEqAjCTIgMgAyAKXxsiA0MAAAAAIANDAAAAAGAbIgMgA5QgASoCECACKgIQIgOTIgogAyABQUBrKgIAkyIDIAMgCl8bIgNDAAAAACADQwAAAABgGyIDIAOUkiABKgIgIAIqAiAiA5MiCiADIAFB0ABqKgIAkyIDIAMgCl8bIgNDAAAAACADQwAAAABgGyIDIAOUkhCbASEDIAsgCJMiCyAIIB2TIgggCCALXxsiCEMAAAAAIAhDAAAAAGAbIgggCJQgHCAFkyIIIAUgG5MiBSAFIAhfGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIgHyAOkyIFIA4gHpMiCCAFIAhgGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIQmwEhBSAXIAeTIgggByAYkyIHIAcgCF8bIgdDAAAAACAHQwAAAABgGyIHIAeUIBYgBJMiByAEIBWTIgQgBCAHXxsiBEMAAAAAIARDAAAAAGAbIgQgBJSSIBogDZMiBCANIBmTIgcgBCAHYBsiBEMAAAAAIARDAAAAAGAbIgQgBJSSEJsBIQQgACARIAmTIgcgCSASkyIJIAcgCWAbIglDAAAAACAJQwAAAABgGyIJIAmUIBAgBpMiCSAGIA+TIgYgBiAJXxsiBkMAAAAAIAZDAAAAAGAbIgYgBpSSIBQgDJMiBiAMIBOTIgkgBiAJYBsiBkMAAAAAIAZDAAAAAGAbIgYgBpSSEJsBOAIMIAAgBDgCCCAAIAU4AgQgACADOAIAC+wGAgZ/A34jAEHwCGsiBCQAIAG8IQYCf0EDIAGLQwAAgH9bDQAaQQIgASABXA0AGkEEIAZB/////wdxRQ0AGiAGQf///wNxQYCAgARyIAZBAXRB/v//B3EgBkEXdkH/AXEiBRsiB60iCkIBgyELIAZBgICA/AdxRQRAIAVBlgFrIQdCASEMIAtQDAELQoCAgBAgCkIBhiAHQYCAgARGIgcbIQpCAkIBIAcbIQxB6H5B6X4gBxsgBWohByALUAshBSAEIAc7AegIIAQgDDcD4AggBEIBNwPYCCAEIAo3A9AIIAQgBToA6ggCfwJAAkACQAJAQQMgBUECa0H/AXEiBSAFQQNPGyIJBEBB1tnDAEHX2cMAQfjBwwAgAhsgBkEASBshCEEBIQVBASAGQR92IAIbIQYgCUECaw4CAgMBCyAEQQM2ApgIIARB2NnDADYClAggBEECOwGQCEEBIQVBACEGQfjBwwAhCCAEQZAIagwECyAEQQM2ApgIIARB29nDADYClAggBEECOwGQCCAEQZAIagwDC0ECIQUgBEECOwGQCCADRQ0BIARBoAhqIAM2AgAgBEEAOwGcCCAEQQI2ApgIIARBrdnDADYClAggBEGQCGoMAgsgB8EiAkF0QQUgAkEASBtsIgJBwP0ASQRAIARBkAhqIARB0AhqIARBEGogAkEEdkEVaiIFQYCAfkEAIANrIANBgIACTxsiAhDEASACwSECAkAgBCgCkAhFBEAgBEHACGogBEHQCGogBEEQaiAFIAIQLgwBCyAEQcgIaiAEQZgIaigCADYCACAEIAQpApAINwPACAsgAiAELgHICCICSARAIARBCGogBCgCwAggBCgCxAggAiADIARBkAhqEKAEIAQoAgwhBSAEKAIIDAMLQQIhBSAEQQI7AZAIIANFBEBBASEFIARBATYCmAggBEHe2cMANgKUCCAEQZAIagwDCyAEQaAIaiADNgIAIARBADsBnAggBEECNgKYCCAEQa3ZwwA2ApQIIARBkAhqDAILQeXZwwBBJUGM2sMAEKoKAAtBASEFIARBATYCmAggBEHe2cMANgKUCCAEQZAIagshAiAEQcwIaiAFNgIAIAQgAjYCyAggBCAGNgLECCAEIAg2AsAIIAAgBEHACGoQ0QIhACAEQfAIaiQAIAALvgYCBn8DfSMAQUBqIgMkACABQQhqIgQqAgAhCSABKgIAIQogASoCBCELIANBFGoiBSAEKAIANgIAIAMgCYw4AgggAyALjDgCBCADIAqMOAIAIAMgASkCADcCDEEAIQEgA0EkaiIEIAMgAkEAEK0CIAMtADAhAiADQSBqIgYgBEEIaigCADYCACADIAMpAiQ3AxgCQAJAAkACQCADQTxqKgIAQwAAAABbIgcgBEEUaioCACIJQwAAAABbIgggAyoCNEMAAAAAW2pqIgRBAmsOAgECAAsgACADKQMYNwIAIAAgAjoADCAAIARBAEc2AhAgAEEIaiAGKAIANgIAIABBFGogAyoCHCADKgIEIANBEGoqAgCSQwAAAD+UXUEBdCADKgIYIAMqAgAgAyoCDJJDAAAAP5RdciAGKgIAIAMqAgggBSoCAJJDAAAAP5RdQQJ0ciIAQQJ0QQIgCCAHG3IgACAEGzYCAAwCCyAJQwAAAABcQQIgBxsiAUECdCIEIANBGGpqKgIAIQkgAyADKgIIIAUqAgCSQwAAAD+UOAIsIAMgAyoCBCADQRBqKgIAkkMAAAA/lDgCKCADIAMqAgAgAyoCDJJDAAAAP5Q4AiQgCSADQSRqIARqKgIAXUUEQCAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAILIAAgAykDGDcCACAAQQI2AhAgACACOgAMIABBFGogAUEDajYCACAAQQhqIANBIGooAgA2AgAMAQsCQAJAIAMqAhgiCSADKgIMQwAAALSSXg0AQQMhASAJIAMqAgBDAAAANJJfDQBBASEBIAMqAhwiCSADQRBqKgIAQwAAALSSXg0AQQQhASAJIAMqAgRDAAAANJJfDQBBAiEBIAMqAiAiCSADQRRqKgIAQwAAALSSXg0AQQUhASAJIAMqAghDAAAANJJfRQ0BCyAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAELIAAgAykDGDcCACAAQQM2AhAgACACOgAMIABBCGogA0EgaigCADYCAAsgA0FAayQAC9EFAgN/E30jAEHgAGsiCCQAIAhBDGogAiAHKgIEIhUQiAIgCCoCDCIQIAYqAgQiDZQgCCoCECIMIAYqAgAiFpSTIg8gD5IhDyAIKgIUIgsgFpQgECAGKgIIIhGUkyIOIA6SIQ4gESAIKgIYIhIgD5QgECAOlCAMIAwgEZQgCyANlJMiESARkiITlJOSkiERIA0gEiAOlCALIBOUIBAgD5STkpIhFyAWIBIgE5QgDCAPlCALIA6Uk5KSIRYgB0EIaiEKIAcqAgghDCAHKgIAIQ8CQANAIAohBiAVIRAgDyELIAFDAAAAAF1FBEAgByEGIBUhDyAMIhAhCyABQwAAoDVeRQ0CCyAGIBU4AgAgByAVIAuSQwAAAD+UIhU4AgQgECAPk0MAAKA1XUUEQCAIQShqIAIgFRCIAiAIQcQAaiAEIBUQiAIgESAIKgI0Ig4gFiAIKgIsIgGUIBcgCCoCKCIMlJMiCyALkiIYlCABIBcgCCoCMCILlCARIAGUkyINIA2SIhmUIAwgESAMlCAWIAuUkyINIA2SIhqUk5KSIQ0gASAIKgJUIAgqAjiTIhuUIAwgCCoCWCAIKgI8kyIclJMiEiASkiESIAsgHJQgASAIKgJcIAgqAkCTIhSUkyITIBOSIRMgDSAUIA4gEpQgASATlCAMIAwgFJQgCyAblJMiFCAUkiIdlJOSkiANIAWUk5QgFiAOIBmUIAsgGpQgASAYlJOSkiIUIBsgDiATlCALIB2UIAEgEpSTkpIgFCAFlJOUIBcgDiAalCAMIBiUIAsgGZSTkpIiASAcIA4gHZQgDCASlCALIBOUk5KSIAEgBZSTlJKSIA0gDSADlJQgFCAUIAOUlCABIAEgA5SUkpKTIQEgCUEBaiEJIBAhDAwBCwsgByAQOAIECyAAIAk2AgwgACAHKQIANwIAIABBCGogB0EIaigCADYCACAIQeAAaiQAC5MGAQl/AkACQAJAIAAoAggiCCABTwRAIAAgATYCCCABIAhGDQIgCCABayEFIAAoAgAgAUEMbGohAwNAIANBBGooAgAEQCADKAIAEJoCCyADQQxqIQMgBUEBayIFDQALDAELIAIoAgghBCACKAIEIQsgAigCACEKIAghBSABIAhrIgkgACgCBCAIa0sEQCAAIAggCRCLBiAAKAIIIQULIAAoAgAgBUEMbGohAwJAIAlBAkkNACAERQRAIAhBf3MgAWoiBkEDcSEHIAlBAmtBA08EQCAGQXxxIQYDQCADQoCAgIDAADcCCCADQgQ3AgAgA0EoakIANwIAIANBIGpCgICAgMAANwIAIANBGGpCBDcCACADQRBqQgA3AgAgA0EwaiEDIAZBBGsiBg0ACwsgBwRAA0AgA0EANgIIIANCBDcCACADQQxqIQMgB0EBayIHDQALCyAFIAlqQQFrIQUMAQsCQAJAIARB/////wFLDQAgBEECdCIHQQBIDQAgBSAJaiEFIAdFBEAgCEF/cyABaiIGQQNxIQcgCUECa0EDTwRAIAZBfHEhBgNAIAMgBDYCCCADIAQ2AgQgA0EENgIAIANBLGogBDYCACADQShqIAQ2AgAgA0EkakEENgIAIANBIGogBDYCACADQRxqIAQ2AgAgA0EYakEENgIAIANBFGogBDYCACADQRBqIAQ2AgAgA0EMakEENgIAIANBMGohAyAGQQRrIgYNAAsLIAcEQANAIAMgBDYCCCADIAQ2AgQgA0EENgIAIANBDGohAyAHQQFrIgcNAAsLIAVBAWshBQwDCyAFQQFrIQUgCEF/cyABaiEGA0BBkfvDAC0AABogB0EEEIIMIglFDQIgCSAKIAcQiA0hCSADIAQ2AgggAyAENgIEIAMgCTYCACADQQxqIQMgBkEBayIGDQALDAILENsKAAtBBCAHQdCBxAAoAgAiAEGXByAAGxEAAAALIAMgBDYCCCADIAs2AgQgAyAKNgIAIAAgBUEBajYCCAsgASAISw0BCyACKAIERQ0AIAIoAgAQmgILC9kFAgx/An4jAEGgAWsiAyQAIANBAEGgARCJDSEKAkACQAJAAkACQAJAAkAgACgCoAEiBCACTwRAIARBKU8NASABIAJBAnRqIQsgBEUNBiAEQQFqIQkgBEECdCEMA0AgCiAGQQJ0aiEDA0AgBiECIAMhBSABIAtGDQkgBUEEaiEDIAJBAWohBiABKAIAIQggAUEEaiINIQEgCEUNAAsgCK0hEEIAIQ8gDCEIIAIhASAAIQMDQCABQShPBEAgAUEoQcDwwwAQ4wgACyAFIA8gBTUCAHwgAzUCACAQfnwiDz4CACAPQiCIIQ8gBUEEaiEFIAFBAWohASADQQRqIQMgCEEEayIIDQALIAcgD6ciAwR/IAIgBGoiAUEoTw0HIAogAUECdGogAzYCACAJBSAECyACaiIBIAEgB0kbIQcgDSEBDAALAAsgBEEpTw0BIAJBAnQhDCACQQFqIQsgACAEQQJ0aiEOIAAhAwNAIAogCEECdGohBgNAIAghBCAGIQUgAyAORg0IIAVBBGohBiAEQQFqIQggAygCACEJIANBBGoiDSEDIAlFDQALIAmtIRBCACEPIAwhCSAEIQMgASEGA0AgA0EoTw0FIAUgDyAFNQIAfCAGNQIAIBB+fCIPPgIAIA9CIIghDyAFQQRqIQUgA0EBaiEDIAZBBGohBiAJQQRrIgkNAAsgByAPpyIGBH8gAiAEaiIDQShPDQQgCiADQQJ0aiAGNgIAIAsFIAILIARqIgMgAyAHSRshByANIQMMAAsACyAEQShBwPDDABDkCAALIARBKEHA8MMAEOQIAAsgA0EoQcDwwwAQ4wgACyADQShBwPDDABDjCAALIAFBKEHA8MMAEOMIAAsDQCABIAtGDQEgBUEBaiEFIAEoAgAhAiABQQRqIQEgAkUNACAHIAVBAWsiAiACIAdJGyEHDAALAAsgACAKQaABEIgNIAc2AqABIApBoAFqJAALjAYCEX0MfyMAQSBrIhckAAJAAkAgAUUNACAAQdQAaiEZIABBOGshGiAAQdAAaioCACEFIABBzABqKgIAIQYgACoCSCEHA0AgFSABIAEgFUkbIRggFUHUAGwiACAZaiEWIAAgGmohEwNAIBYhFCAVIBhGDQIgEyIAQfQAaiITIBMqAgAgAEHwAGoqAgAgAEHUAGoiEyoCACICIAcgApSUIABB2ABqKgIAIgIgBiAClJSSIABB3ABqKgIAIgIgBSAClJSSIABB4ABqKgIAIgIgApQgAEHkAGoqAgAiAiAClJIgAEHoAGoqAgAiAiAClJKSIgKUkiIDOAIAIABB7ABqQwAAAABDAACAPyACIAOSIgOVIgQgA0MI5TweXRsgBCADQwjlPJ5eGzgCACAUQdQAaiEWIBVBAWohFSAAQcwAaioCAEP//3//XA0AIABB0ABqKgIAQ///f39cDQALIAEgFU0NAEMAAAAAQwAAgD8gApUiAyACQwjlPB5dGyADIAJDCOU8nl4bIQNBACEAA0AgAEF/Rg0DIAMgByATKgIAIgSUIBRBHGoiFioCACIIlCAGIBNBBGoqAgAiCZQgFEEgaiIYKgIAIgqUkiAFIBNBCGoqAgAiC5QgFEEkaiIbKgIAIgyUkiATQQxqKgIAIg0gFEEoaiIcKgIAIg6UIBNBEGoqAgAiDyAUQSxqIh0qAgAiEJSSIBNBFGoqAgAiESAUQTBqIh4qAgAiEpSSkpQhAiAeIBIgESAClJM4AgAgHSAQIA8gApSTOAIAIBwgDiANIAKUkzgCACAbIAwgCyAClJM4AgAgGCAKIAkgApSTOAIAIBYgCCAEIAKUkzgCACAUQcQAaiIWIBYqAgAgAiATQShqKgIAlJM4AgAgFEFAayIWIBYqAgAgAiATQSRqKgIAlJM4AgAgFEHUAGohFCABIBUgAEEBaiIAaksNAAsMAAsACyAXQSBqJAAPCyAXQRRqQgA3AgAgF0EBNgIMIBdBtIjCADYCCCAXQZi/wAA2AhAgF0EIakHIicIAENwKAAvpBQIUfQF/IwBBEGsiGSQAAkACQAJAIAMEQCABKgIAIAAqAgAiE5MiBSAFlCABKgIEIAAqAgQiFJMiByAHlJIgASoCCCAAKgIIIhWTIgggCJSSIgxDAAAAAF4EQCAIIAwQmwEiDpUhCiAFIA6VIQ0gByAOlSELCyACKgIAIBOTIgUgBZQgAioCBCAUkyIHIAeUkiACKgIIIBWTIgggCJSSIgZDAAAAAF5FDQMgBhCbASEGIAxDAAAAAF5FDQMgA7MhEiANIAcgBpUiCZQgCyAFIAaVIg+UkyIWIBaUIAsgCCAGlSIQlCAKIAmUkyIXIBeUIAogD5QgDSAQlJMiGCAYlJKSIgVDAACAKF5FDQEgBRCbASERIAogEJQgCyAJlCANIA+UkpIiCUMAAIC/Xw0DQwAAgD8hDEMAAAAAIQVDAAAAACEHQwAAAAAhCCAJQwAAgD9gDQIgGUEIakMAAIA/IBKVIAkQ6ASUQwAAAD+UEIcBIBYgEZUgGSoCCCIFlCEIIBggEZUgBZQhByAXIBGVIAWUIQUgGSoCDCEMDAILQcCowwBBHkHgqMMAEKoKAAtDAAAAACEFQwAAAAAhB0MAAAAAIQhDAACAPyEMIAogEJQgCyAJlCANIA+UkpJDAAAAAF0NAQsgA0EBayIARQ0AIAYgDpMgEpUhECAEKAIIIQIDQCAVIBAgDpIiDiAKIAwgBSALlCAHIA2UkyIGIAaSIgaUIAUgCCANlCAFIAqUkyIJIAmSIgmUIAcgByAKlCAIIAuUkyIKIAqSIg+Uk5KSIgqUkiERIBQgDiALIAwgCZQgCCAPlCAFIAaUk5KSIguUkiESIBMgDiANIAwgD5QgByAGlCAIIAmUk5KSIg2UkiEGIAQgBCgCBCACRwR/IAIFIAQgAhCqBiAEKAIICyIBQQFqIgI2AgggBCgCACABQQxsaiIBIBE4AgggASASOAIEIAEgBjgCACAAQQFrIgANAAsLIBlBEGokAAuvBgIIfwN+IwBBQGoiAiQAAn8gASgCBCIERQRAIABBADYCBEEADAELIAEgBEEBazYCBCABKAIAIQEgAkEDNgIsIAIgATYCKCACQRBqIAJBKGoQmwMCQAJAAkACQAJAAkACQCACKAIQRQRAIAIoAhQiBEUEQEEAIAJBPGpBkIPAABDvByEBDAgLIAJBGGoiAykCACEMAkAgAigCLCIIBEAgAigCKCIBKAIEIgZBCEkNBCACQRxqKAIAIQUgAygCACEHIAEgBkEIayIJNgIEIAEgASgCACIDQQhqNgIAIAMpAAAiCkKAgICAEFQNASACQQE6ABAgAiAKNwMYIAJBEGogAkE8akG0gMAAEKkIIQEMCAtBASACQTxqQZCDwAAQ7wchAQwHCyAIQQFHBEAgCUEISQ0EIAEgBkEQazYCBCABIANBEGo2AgAgAykACCILQoCAgIAQVA0CIAJBAToAECACIAs3AxggAkEQaiACQTxqQbSAwAAQqQghAQwHC0ECIAJBPGpBkIPAABDvByEBDAYLIAIoAhQhAQwGCyALpyIBIAqnIgNsIgYgBUYNAyACQShqIgFBDGpBAjYCACACQRBqIgNBDGpCAjcCACACIAY2AjggAkECNgIUIAJBvLHAADYCECACQQI2AiwgAiAFNgI8IAIgATYCGCACIAJBPGo2AjAgAiACQThqNgIoIAJBBGoiBSADEKcEIAEgBRCLCSACQRtqIAFBCGooAgA2AAAgAiACKQIoNwATQZH7wwAtAAAaQRBBBBCCDCIBRQ0CIAFBCDoAACABIAIpABA3AAEgAUEIaiACQRdqKQAANwAAIAIoAggEQCACKAIEEJoCCyAHRQ0FIAQQmgIMBQsgAkKByoCAgAE3AxAgAkEQahDqCiEBDAMLIAJCgcqAgIABNwMQIAJBEGoQ6gohAQwCC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAsgACAENgIEIABBFGogATYCACAAQRBqIAM2AgAgAEEMaiAFNgIAIABBCGogBzYCAEEADAILIAynRQ0AIAQQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAALowYCBn8EfSMAQUBqIgMkACABQQhqIgQqAgAhCyABKgIAIQkgASoCBCEMIANBFGoiBSAEKAIANgIAIAMgC4w4AgggAyAMjDgCBCADIAmMOAIAIAMgASkCADcCDEEAIQEgA0EkaiIEIAMgAkEAEK0CIAMtADAhAiADQSBqIgYgBEEIaigCADYCACADIAMpAiQ3AxgCQAJAAkACQCADQTxqKgIAQwAAAABbIgcgBEEUaioCACIKQwAAAABbIgggAyoCNEMAAAAAW2pqIgRBAmsOAgECAAsgACADKQMYNwIAIAAgAjoADCAAIARBAEc2AhAgAEEIaiAGKAIANgIAIABBFGogAyoCHCADQRBqKgIAIAyTQwAAAD+UXUEBdCADKgIYIAMqAgwgCZNDAAAAP5RdciAGKgIAIAUqAgAgC5NDAAAAP5RdQQJ0ciIAQQJ0QQIgCCAHG3IgACAEGzYCAAwCCyAKQwAAAABcQQIgBxsiAUECdCIEIANBGGpqKgIAIQogAyAFKgIAIAuTQwAAAD+UOAIsIAMgA0EQaioCACAMk0MAAAA/lDgCKCADIAMqAgwgCZNDAAAAP5Q4AiQgCiADQSRqIARqKgIAXUUEQCAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAILIAAgAykDGDcCACAAQQI2AhAgACACOgAMIABBFGogAUEDajYCACAAQQhqIANBIGooAgA2AgAMAQsCQAJAIAMqAhgiCiADKgIMQwAAALSSXg0AQQMhASAKQwAAADQgCZNfDQBBASEBIAMqAhwiCSADQRBqKgIAQwAAALSSXg0AQQQhASAJQwAAADQgDJNfDQBBAiEBIAMqAiAiCSADQRRqKgIAQwAAALSSXg0AQQUhASAJQwAAADQgC5NfRQ0BCyAAIAMpAxg3AgAgAEECNgIQIAAgAjoADCAAQRRqIAE2AgAgAEEIaiADQSBqKAIANgIADAELIAAgAykDGDcCACAAQQM2AhAgACACOgAMIABBCGogA0EgaigCADYCAAsgA0FAayQAC64FAgl9A38jAEHQAGsiDyQAIAIqAgQiCyADKgIMIg6UIAIqAgAiDCADQRBqKgIAIg2UkyIKIAqSIQggAioCCCIKIA2UIAsgA0EUaioCACIJlJMiBiAGkiEHIA9BCGoiEEEUaiAJIAIqAgwiBiAIlCALIAeUIAwgDCAJlCAKIA6UkyIJIAmSIgmUk5KSOAIAIBBBEGogDSAGIAmUIAwgCJQgCiAHlJOSkjgCACAPIA4gBiAHlCAKIAmUIAsgCJSTkpI4AhQgCyADKgIAIAIqAhCTIg6UIAwgAyoCBCACQRRqKgIAkyINlJMiCCAIkiEIIA0gCpQgAyoCCCACQRhqKgIAkyIJIAuUkyIHIAeSIQcgDyAJIAYgCJQgCyAHlCAMIAkgDJQgDiAKlJMiCSAJkiIJlJOSkjgCECAPIA0gBiAJlCAMIAiUIAogB5STkpI4AgwgDyAOIAYgB5QgCiAJlCALIAiUk5KSOAIIIAFBCGoiAyoCACEGIAEqAgAhCCABKgIEIQcgD0EgaiIRQRRqIAMoAgA2AgAgDyAGjDgCKCAPIAeMOAIkIA8gCIw4AiAgDyABKQIANwIsIA9BOGogESAQIAQgBRC9BSAAIA8oAjgEfyAPQThqIgFBCGoqAgAhBCABQRBqKgIAIQYgD0HEAGoqAgAhCCABQRRqKAIAIQMgACAPKgI8OAIIIABBAiADayADQQFrIANBAEgbNgIEIAAgBiAMIAiUIAsgBJSTIgcgB5IiByACKgIMIg6UIAwgCiAElCAMIAaUkyINIA2SIg2UIAsgCyAGlCAKIAiUkyIGIAaSIgaUk5KSOAIUIAAgCCANIA6UIAogBpQgDCAHlJOSkjgCECAAIAQgBiAOlCALIAeUIAogDZSTkpI4AgxBAgVBBAs2AgAgD0HQAGokAAu8BQEdfSAAIAEqAggiBiAGlCIOIAEqAgwiAiAClCIZIAEqAgAiAyADlCIakyIQIAEqAgQiBCAElCIKk5IiCyADIAaUIg8gD5IiDyAEIAKUIgcgB5IiFZMiCEMAAAAAlCIJIAQgBpQiByAHkiIHIAMgApQiBSAFkiIMkiIRQwAAAACUIhKSIAtDAAAAAEMAAIA/IAFBKGoqAgAiBSAFlCIFlSAFQwAAAABbGyIFlJIiF5RDAAAAAEMAAIA/IAEqAiAiDSANlCINlSANQwAAAABbGyINIAiUIBKSIAtDAAAAAJQiCJIiEiACIASMlCITIBOSIhsgD5IiE5QgCUMAAAAAQwAAgD8gAUEkaioCACIJIAmUIgmVIAlDAAAAAFsbIgkgEZSSIAiSIhEgByACIAOMlCIIIAiSIhyTIhiUkpI4AiAgACALIAUgByAMkyIMlCADIASUIgMgA5IiCCAGIAKUIgMgA5IiBJIiFEMAAAAAlCIWIAogEJIgDpMiA0MAAAAAlCIdkpIiEJQgEyAMQwAAAACUIh4gDSAUlCAdkpIiDJQgGCAeIBYgCSADlJKSIhSUkpI4AhwgACALIAUgDyAVkiIFlCAIIASTIhVDAAAAAJQiFiAaIBmSIAqTIA6TIgRDAAAAAJQiCpKSIguUIBMgBUMAAAAAlCIFIBYgDSAElJKSIg6UIBggBSAJIBWUIAqSkiIKlJKSOAIYIAAgFyAcIAeSIgeUIBIgCCACIAaMlCICIAKSIgaTIgKUIAMgEZSSkjgCFCAAIAcgEJQgAiAMlCADIBSUkpI4AhAgACAHIAuUIAIgDpQgAyAKlJKSOAIMIAAgFyAPIBuTIgKUIAQgEpQgESAIIAaSIgaUkpI4AgggACACIBCUIAQgDJQgBiAUlJKSOAIEIAAgAiALlCAEIA6UIAYgCpSSkjgCAAugBQEUfSABKgIgIREgASoCHCESIAEqAiQhCyABKgIQIRQgASoCFCEVIAEqAhghFiACKgIQIQwgAioCGCENIAIqAhQhDiACKgIIIQogASoCCCEFIAIqAgQhAyABKgIEIQYgAioCDCEIIAEqAgwhByACKgIAIQkgASoCACEEIAAgASkCKDcCKCAAQTBqIAFBMGopAgA3AgAgAEE4aiABQThqKQIANwIAIAAgByAIlCAEIAmUkyAGIAOUkyAFIAqUkyITOAIMIAAgBSAIlCAEIAOUIAcgCpSSIAYgCZSTkiIPOAIIIAAgBSAJlCAGIAiUIAcgA5QgBCAKlJOSkiIQOAIEIAAgBiAKlCAHIAmUIAQgCJSSkiAFIAOUkyIKOAIAIAAgFiANIAcgBCAOlCAGIAyUkyIDIAOSIgOUIAQgBSAMlCAEIA2UkyIIIAiSIgiUIAYgBiANlCAFIA6UkyIJIAmSIgmUk5KSkiINOAIYIAAgFSAOIAcgCJQgBSAJlCAEIAOUk5KSkiIOOAIUIAAgFCAMIAcgCZQgBiADlCAFIAiUk5KSkiIMOAIQIAAgFiALIAcgBCARlCAGIBKUkyIDIAOSIgOUIAQgBSASlCAEIAuUkyIIIAiSIgiUIAYgBiALlCAFIBGUkyIJIAmSIgmUk5KSkiANkyILIBMgECAUIBIgByAJlCAGIAOUIAUgCJSTkpKSIAyTIgaUIAogFSARIAcgCJQgBSAJlCAEIAOUk5KSkiAOkyIFlJMiBCAEkiIElCAQIA8gBZQgECALlJMiByAHkiIHlCAKIAogC5QgDyAGlJMiAyADkiIDlJOSkjgCJCAAIAUgEyADlCAKIASUIA8gB5STkpI4AiAgACAGIBMgB5QgDyADlCAQIASUk5KSOAIcC6EGAQt/IwBBgAFrIgIkACABLQBEIQogAkEgaiABEOkDAkACQAJAAkAgAigCKCACKAIsaiIGRQRAQQQhBAwBCyAGQf///z9LDQEgBkEEdCIDQQBIDQEgA0UEQEEEIQQMAQtBkfvDAC0AABogA0EEEIIMIgRFDQMLIAJBADYCCCACIAY2AgQgAiAENgIAIAEoAhAhBwJAAkACQCABQRhqKAIAIgNFBEAgAyAGSw0BDAMLIAMgBk0NAQsgAkEAIAMQnAYgAigCACEEIAIoAgghBQsgAyAFaiEIIAQgBUEEdGohCUEAIQQDQCAEIAlqIgYgBCAHaiIFKQIANwIAIAZBDGogBUEMai0AADoAACAGQQhqIAVBCGooAgA2AgAgBEEQaiEEIANBAWsiAw0ACwsgAkFAayIDQRBqIgcgAikCADcDACADQRhqIgkgCDYCACADQQhqIgggAkEoaiILKQIANwMAIAIgAikCIDcDQCABKAIcIQxBBCEEAn9BACABQSRqKAIAIgVFDQAaIAVB/////wFLDQEgBUECdCIDQQBIDQFBACADRQ0AGkGR+8MALQAAGiADQQQQggwiBEUNAyADCyEGIAQgDCAGEIgNIQMgAiABQShqENYEIAJBIGoiAUEYaiAJKAIANgIAIAFBEGogBykDADcDACALIAgpAwA3AwAgAiACKQNANwMgQZH7wwAtAAAaQcgAQQQQggwiAUUNASABIAIpAyA3AgAgASAFNgIkIAEgBTYCICABIAM2AhwgASACKQMANwIoIAFBGGogAkEgaiIDQRhqKAIANgIAIAFBEGogA0EQaikDADcCACABQQhqIANBCGopAwA3AgAgAUEwaiACQQhqKQMANwIAIAFBOGogAkEQaikDADcCACABQUBrIAJBGGooAgA2AgAgASAKOgBEIAEgAi8AQDsARSABQccAaiACQcIAai0AADoAACAAQaSuwgA2AgQgACABNgIAIAJBgAFqJAAPCxDbCgALQQRByABB0IHEACgCACIAQZcHIAAbEQAAAAtBBCADQdCBxAAoAgAiAEGXByAAGxEAAAALxQsBBn8jAEEQayIDJAACQAJAAkACQAJAAkACQAJAAkACQCABDigFCAgICAgICAgBAwgIAggICAgICAgICAgICAgICAgICAgIBggICAgHAAsgAUHcAEYNAwwHCyAAQYAEOwEKIABCADcBAiAAQdzoATsBAAwHCyAAQYAEOwEKIABCADcBAiAAQdzkATsBAAwGCyAAQYAEOwEKIABCADcBAiAAQdzcATsBAAwFCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAwECyAAQYAEOwEKIABCADcBAiAAQdzgADsBAAwDCyACQYCABHFFDQEgAEGABDsBCiAAQgA3AQIgAEHcxAA7AQAMAgsgAkGAAnFFDQAgAEGABDsBCiAAQgA3AQIgAEHczgA7AQAMAQsCQAJAAkACQCACQQFxBEAgAUELdCEHQSEhBkEhIQICQANAAkACQEF/IAZBAXYgBGoiBUECdEGk8cMAaigCAEELdCIGIAdHIAYgB0kbIgZBAUYEQCAFIQIMAQsgBkH/AXFB/wFHDQEgBUEBaiEECyACIARrIQYgAiAESw0BDAILCyAFQQFqIQQLAn8CfwJAIARBIE0EQCAEQQJ0IgVBpPHDAGooAgBBFXYhAiAEQSBHDQFB1wUhBkEfDAILIARBIUHA78MAEOMIAAsgBUGo8cMAaigCAEEVdiEGQQAgBEUNARogBEEBawtBAnRBpPHDAGooAgBB////AHELIQUCQAJAAkAgBiACQX9zakUNACABIAVrIQhB1wUgAiACQdcFTRshByAGQQFrIQVBACEEA0AgAiAHRg0CIAggBCACQajywwBqLQAAaiIESQ0BIAUgAkEBaiICRw0ACyAFIQILIAJBAXEhAgwBCyAHQdcFQdDvwwAQ4wgACyACDQELAn8CQCABQSBJDQACQAJ/QQEgAUH/AEkNABogAUGAgARJDQECQCABQYCACE8EQCABQbDHDGtB0LorSQ0EIAFBy6YMa0EFSQ0EIAFBnvQLa0HiC0kNBCABQeHXC2tBnxhJDQQgAUGinQtrQQ5JDQQgAUF+cUGe8ApGDQQgAUFgcUHgzQpHDQEMBAsgAUGc5MMAQSxB9OTDAEHEAUG45sMAQcIDELgEDAQLQQAgAUG67gprQQZJDQAaIAFBgIDEAGtB8IN0SQsMAgsgAUH66cMAQShByurDAEGfAkHp7MMAQa8CELgEDAELQQALRQ0BIAAgATYCBCAAQYABOgAADAQLIANBCGpBADoAACADQQA7AQYgA0H9ADoADyADIAFBD3FBxNrDAGotAAA6AA4gAyABQQR2QQ9xQcTawwBqLQAAOgANIAMgAUEIdkEPcUHE2sMAai0AADoADCADIAFBDHZBD3FBxNrDAGotAAA6AAsgAyABQRB2QQ9xQcTawwBqLQAAOgAKIAMgAUEUdkEPcUHE2sMAai0AADoACSABQQFyZ0ECdkECayIBQQtPDQEgA0EGaiICIAFqIgVBjPDDAC8AADsAACAFQQJqQY7wwwAtAAA6AAAgACADKQEGNwAAIABBCGogAkEIai8BADsAACAAQQo6AAsgACABOgAKDAMLIANBCGpBADoAACADQQA7AQYgA0H9ADoADyADIAFBD3FBxNrDAGotAAA6AA4gAyABQQR2QQ9xQcTawwBqLQAAOgANIAMgAUEIdkEPcUHE2sMAai0AADoADCADIAFBDHZBD3FBxNrDAGotAAA6AAsgAyABQRB2QQ9xQcTawwBqLQAAOgAKIAMgAUEUdkEPcUHE2sMAai0AADoACSABQQFyZ0ECdkECayIBQQtPDQEgA0EGaiICIAFqIgVBjPDDAC8AADsAACAFQQJqQY7wwwAtAAA6AAAgACADKQEGNwAAIABBCGogAkEIai8BADsAACAAQQo6AAsgACABOgAKDAILIAFBCkH878MAEOIIAAsgAUEKQfzvwwAQ4ggACyADQRBqJAALlwYBC38jAEGAAWsiAiQAIAEtAEQhCiACQSBqIAEQ6QNBBCEEAkACQAJAAkAgAigCKCACKAIsaiIGRQ0AIAZB5syZM0sNASAGQRRsIgNBAEgNASADRQ0AQZH7wwAtAAAaIANBBBCCDCIERQ0DCyACQQA2AgggAiAGNgIEIAIgBDYCACABKAIQIQcCQAJAAkAgAUEYaigCACIDRQRAIAMgBksNAQwDCyADIAZNDQELIAJBACADEIoGIAIoAgAhBCACKAIIIQULIAMgBWohCCAEIAVBFGxqIQlBACEEA0AgBCAJaiIGIAQgB2oiBSkCADcCACAGQRBqIAVBEGotAAA6AAAgBkEIaiAFQQhqKQIANwIAIARBFGohBCADQQFrIgMNAAsLIAJBQGsiA0EQaiIHIAIpAgA3AwAgA0EYaiIJIAg2AgAgA0EIaiIIIAJBKGoiCykCADcDACACIAIpAiA3A0AgASgCHCEMQQQhBAJ/QQAgAUEkaigCACIFRQ0AGiAFQf////8BSw0BIAVBAnQiA0EASA0BQQAgA0UNABpBkfvDAC0AABogA0EEEIIMIgRFDQMgAwshBiAEIAwgBhCIDSEDIAIgAUEoahDWBCACQSBqIgFBGGogCSgCADYCACABQRBqIAcpAwA3AwAgCyAIKQMANwMAIAIgAikDQDcDIEGR+8MALQAAGkHIAEEEEIIMIgFFDQEgASACKQMgNwIAIAEgBTYCJCABIAU2AiAgASADNgIcIAEgAikDADcCKCABQRhqIAJBIGoiA0EYaigCADYCACABQRBqIANBEGopAwA3AgAgAUEIaiADQQhqKQMANwIAIAFBMGogAkEIaikDADcCACABQThqIAJBEGopAwA3AgAgAUFAayACQRhqKAIANgIAIAEgCjoARCABIAIvAEA7AEUgAUHHAGogAkHCAGotAAA6AAAgAEHkrcIANgIEIAAgATYCACACQYABaiQADwsQ2woAC0EEQcgAQdCBxAAoAgAiAEGXByAAGxEAAAALQQQgA0HQgcQAKAIAIgBBlwcgABsRAAAAC48GARV9IAMqAgQgAkEUaioCAJMiEyACKgIIIgeUIAMqAgggAkEYaioCAJMiFCACKgIEIgqUkyIGIAaSIQ8gFCACKgIAIguUIAMqAgAgAioCEJMiBiAHlJMiCCAIkiEQIAYgAioCDCIMIA+UIAcgEJQgCiAGIAqUIBMgC5STIgYgBpIiFZSTkpIhCUMAAAAAIQggASoCCCERIAEqAgQhDSABKgIAIhaMIRcgByADQRBqKgIAIhiUIAogA0EUaioCACIZlJMiBiAGkiESIAsgGZQgByADKgIMIgaUkyIOIA6SIQ4CQAJAAkAgBiAMIBKUIAcgDpQgCiAKIAaUIAsgGJSTIgYgBpIiGpSTkpIiBkMAAAAAXARAIBYgCZNDAACAPyAGlSIIlCIGIBcgCZMgCJQiCV0hASAEIAQgCSAGIAEbIgggBCAIXRsgCCAIXBsiBEMAAAAAQwAAAAAgBiAJIAEbIgggCEMAAAAAXRsgCCAIXBsiCF1FDQEMAgtBACECIAkgF10NAiAJIBZeDQILIBMgDCAQlCALIBWUIAcgD5STkpIhCSANjCEGAkAgGCAMIA6UIAsgGpQgByASlJOSkiIHQwAAAABcBEAgDSAJk0MAAIA/IAeVIg2UIQcgByAGIAmTIA2UIgZdIQEgBCAEIAYgByABGyIJIAQgCV0bIAkgCVwbIgQgByAGIAEbIgcgByAIIAcgCF4bIAggCFwbIghdDQIMAQtBACECIAYgCV4NAiAJIA1eDQILIBQgDCAVlCAKIA+UIAsgEJSTkpIhByARjCEGAkAgGSAMIBqUIAogEpQgCyAOlJOSkiIKQwAAAABcBEAgESAHk0MAAIA/IAqVIguUIgogBiAHkyALlCILXSEBIAQgBCALIAogARsiByAEIAddGyAHIAdcGyIEIAogCyABGyIHIAcgCCAHIAheGyAIIAhcGyIIXQ0CDAELQQAhAiAGIAdeDQIgByARXg0CCyAIIAggBCAFGyAIQwAAAABcGyEGQQEhAgwBC0EAIQILIAAgBjgCBCAAIAI2AgALjAYCAX8BfSABKgIAIQMgACgCACICKAIIIQAgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAEqAgQhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggASoCCCEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABKgIMIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAEqAhAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggAUEUaioCACEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABQRhqKgIAIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAFBHGoqAgAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggASoCICEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIoAgAgAGogAzgAACACIABBBGoiADYCCCABQSRqKgIAIQMgAigCBCAAa0EDTQRAIAIgAEEEEMgGIAIoAgghAAsgAigCACAAaiADOAAAIAIgAEEEaiIANgIIIAFBKGoqAgAhAyACKAIEIABrQQNNBEAgAiAAQQQQyAYgAigCCCEACyACKAIAIABqIAM4AAAgAiAAQQRqIgA2AgggAUEsaioCACEDIAIoAgQgAGtBA00EQCACIABBBBDIBiACKAIIIQALIAIgAEEEajYCCCACKAIAIABqIAM4AABBAAu2BQEUfSABQTBqKgIAIRMgAUEsaioCACEUIAFBJGoqAgAhAyABQSBqKgIAIQ4gASoCKCEVIAEqAhwhDyABKgIYIQ0gASoCFCERIAEqAhAhEiABKgIMIQUgASoCCCEIIAEqAgQhBCABKgIAIQkCfSABKgI0IAKUQwAAAD+UIgogCpQgAUE4aioCACAClEMAAAA/lCIGIAaUkiABQTxqKgIAIAKUQwAAAD+UIgcgB5SSIgtDAACAKF8EQEMAAIA/IQtDAAAAACEGQwAAAAAhB0MAAAAADAELIwBBEGsiAUMAAAB/OAIMIAEqAgwaIAsQmwEiDBDAASEQIAwQwQFDAACAP5QhCyAHIBBDAACAP5QgDJUiDJQhByAGIAyUIQYgCiAMlAshCiAAIAUgC5QgCSAKlJMgBCAGlJMgCCAHlJM4AgwgACAFIAeUIAQgCpQgCCALlJIgCSAGlJOSOAIIIAAgCSAHlCAFIAaUIAQgC5QgCCAKlJOSkjgCBCAAIAggBpQgBSAKlCAJIAuUkpIgBCAHlJM4AgAgDSANIAMgBSAJIA6UIAQgD5STIg0gDZIiDZQgCSAIIA+UIAkgA5STIgwgDJIiDJQgBCAEIAOUIAggDpSTIgMgA5IiEJSTkpKSIhaTIQMgAEEYaiATIAKUIBaSIAMgCyAKIBEgESAOIAUgDJQgCCAQlCAJIA2Uk5KSkiIOkyIJlCAGIBIgEiAPIAUgEJQgBCANlCAIIAyUk5KSkiIPkyIIlJMiBCAEkiIElCAKIAcgCJQgCiADlJMiBSAFkiIFlCAGIAYgA5QgByAJlJMiAyADkiIDlJOSkpI4AgAgAEEUaiAUIAKUIA6SIAkgCyAFlCAHIAOUIAogBJSTkpKSOAIAIAAgFSAClCAPkiAIIAsgA5QgBiAElCAHIAWUk5KSkjgCEAuhBQERfQJAAkAgAioCACABKgIAIgWTIgggAyoCBCABKgIEIgaTIg2UIAIqAgQgBpMiCyADKgIAIAWTIg6UkyIHIARBFGoqAgAiD5QgBCoCDCIQIAsgAyoCCCABKgIIIgmTIhOUIAIqAgggCZMiEiANlJMiDJQgBEEQaioCACIUIBIgDpQgCCATlJMiCpSSkiIRQwAAAABcBEAgDCAEKgIAIAWTIgWUIAogBCoCBCAGkyIGlJIgByAEKgIIIAmTIhWUkiEJIBFDAAAAAF0gCUMAAAAAXXENAgJAIBFDAAAAAF5FDQAgCUMAAAAAXkUNAAwDCyANIA8gBZQgECAVlJOMIg2UIA4gFCAVlCAPIAaUkyIOlJMgEyAQIAaUIBQgBZSTIg+UkyEFIBGLIQYCQAJAIAlDAAAAAF1FBEAgBUMAAAAAXQ0FIAUgBl4NBSALIA2UIAggDpSTIBIgD5STIghDAAAAAF4NBSAFIAiTIAZeDQVDAACAPyAGlSILIAiMlCEGIAsgBZQhBSALIAmUIQkgByAHIAeUIAwgDJQgCiAKlJKSEJsBIgeVIQggCiAHlSEKIAwgB5UhBwwECyAFQwAAAABeDQQgBYwiECAGXg0EIAsgDZQgCCAOlJMgEiAPlJMiCEMAAAAAXQ0BIAggBZMgBl4NAUMAAIA/IAaVIgsgCJQhBiALIBCUIQUgCyAJjJQhCSAHjCAHIAeUIAwgDJQgCiAKlJKSEJsBIgeVIQggCowgB5UhCiAMjCAHlSEHDAMLAAsMAgsMAQsgACAGOAIgIAAgBTgCHCAAIAg4AhQgACAKOAIQIAAgBzgCDCAAIAk4AgggACARQwAAAABdRTYCBCAAQQI2AgAgACAFjCAGk0MAAIA/kjgCGA8LIABBBDYCAAvKBgIJfwd9AkACQAJAAkAgBygCDCILIAEoAoQCIg1BAXQiECAGKAIAIgxqTwRAIAIoAowDIAUgDGpqIREgACoCGCEVIAAqAgQhFiAAKgIUIRcgAyoCBCEUIAMqAgAhGCAHKAIAIQAgEARAIAAgDEECdGoiAyAQQQJ0aiECIBAhDCADIQADQAJAIAtBAnQiEiADaiITIAAgACACRiIOGyIPRQ0AIA9BADYCACAPQQRqIg8gACASaiACIA4bIgJGIQAgEyADIA4bIgMgEmoiEyAPIAAbIg5FDQAgDkEANgIAIA8gEmogAiAAGyECIBMgAyAAGyEDIA4gDEECR0ECdGohACAMQQJrIgwNAQsLIAcoAgwhCyAHKAIAIQALIAtBAUYgEUEAR3ENASARQQAgC0EBRxsiAiALTw0BIAAgAkECdGpBgICA/AM2AgAgC0EBRiANIBFqIgJBAEdxDQIgAkEAIAtBAUcbIgIgC08NAiAAIAJBAnRqIgNBgICA/AM2AgAgBigCACICIA1qIgcgDWogC0sNAyABQdwAaiAAIAdBAnRqIA0QxQEgCigCACIAIAlJDQQgACAJQbi/wQAQ4wgAC0Gm/sAAQR1BsP/AABC7CwALQcCFwQBBG0GYv8EAELsLAAtBwIXBAEEbQai/wQAQuwsAC0Gm/sAAQR1BsP/AABC7CwALIAogAEEBajYCACAGIAIgEGo2AgAgCCAAQThsaiIAQQA2AjQgAEEANgIsIABD//9/f0MAAAAAIAQgFF4bOAIgIABD//9//0MAAACAIAQgGF0bOAIcIABC/////w83AhQgACACNgIQIAAgDTYCDCAAIAEoAogCNgIIIAAgBTYCBCAAQQE2AgAgAEMAAAAAQwAAgD8gAyoCACIZlSIaIBlDCOU8Hl8bIBogGUMI5TyeYBs4AiQgAEMAAAAAQwAAAAAgBCAUkyIUIBRDAAAAAF0bIBQgFFwbQwAAAABDAAAAACAYIASTIgQgBEMAAAAAXRsgBCAEXBuTIBdDAAAAAEMAAIA/IBaVIBZDAAAAAFsblJRDAAAAAJI4AiggAEMAAIA/IBeVQwAAgL+SIgQgBJQgFSAVIARDAACAP5JDAACAQJSUlJU4AjAL5gUCEH8LfSMAQcABayIEJAAgAioCCCEYIAIqAgQhGSACKgIAIRogBEEQaiIDIAFBAEEAEKkCIARCADcCZCAEIAE2AmAgBCgCEEEBRiEBIARBpQFqIQkgBEE8aiELIANBBHIhBUP//39/IRsgGiEUIBkhHCAYIR0DQAJAIARBmAFqIgNBIGoiDCAFQSBqIg0oAgA2AgAgA0EYaiIOIAVBGGoiDykCADcDACADQRBqIhAgBUEQaiIRKQIANwMAIANBCGoiEiAFQQhqIhMpAgA3AwAgBEEANgIQIAQgBSkCADcDmAECQCABQQFxDQAgBCgCaCEGIAQoAmQhASAEKAJgIQcDQCAEKAI4IQggBEEANgI4IAhBAUYEQCALIQMMAgsgBCABQQFqIgE2AmQgB0EMaigCAEEBayABTQRAIAYgB0EQaigCAEECa08NAyAEQQA2AmQgBCAGQQFqIgY2AmhBACEBCyAEQRBqIAcgASAGEKkCIBIgEykCADcDACAQIBEpAgA3AwAgDiAPKQIANwMAIAwgDSgCADYCACAEKAIQIQggBEEANgIQIAQgBSkCADcDmAEgCEEBRw0ACwsgBEHwAGoiAUEgaiADQSBqKAIANgIAIAFBGGogA0EYaikCADcDACABQRBqIANBEGopAgA3AwAgAUEIaiADQQhqKQIANwMAIAQgAykCADcDcCAEQZgBaiABIAJBABBNIARBlgFqIgEgCUECai0AADoAACAEIAkvAAA7AZQBIBsgBCoCmAEiHiAakyIVIBWUIAQqApwBIhUgGZMiFiAWlJIgBCoCoAEiFiAYkyIXIBeUkiIXXgRAIAQtAKQBIQogBEEOaiABLQAAOgAAIAQgBC8BlAE7AQwgFSEcIBYhHSAXIRsgHiEUC0EAIQEMAQsLIAAgCjoADCAAIB04AgggACAcOAIEIAAgFDgCACAAIAQvAAw7AA0gAEEPaiAEQQ5qLQAAOgAAIARBwAFqJAAL+QQBJ30gAkEUaioCACESIANBFGoqAgAhEyACKgIQIRQgAyoCECEVIABBFGogAkEYaioCACIQIAEqAgAiCCACKgIAIgYgAioCCCIHlCIEIASSIhkgAioCBCINIAIqAgwiDpQiBCAEkiIak4uUIAEqAgQiBCANIAeUIgUgBZIiGyAGIA6UIgUgBZIiHJKLlJIgASoCCCIFIAcgB5QiFiAOIA6UIh0gBiAGlCIekyIfIA0gDZQiF5OSi5SSIhGSIiAgA0EYaioCACIhIAggAyoCACIJIAMqAggiCpQiCyALkiIiIAMqAgQiCyADKgIMIg+UIgwgDJIiI5OLlCAEIAsgCpQiDCAMkiIkIAkgD5QiDCAMkiIlkouUkiAFIAogCpQiDCAPIA+UIiYgCSAJlCInkyIoIAsgC5QiGJOSi5SSIimSIiogICAqYBs4AgAgACAQIBGTIhAgISApkyIRIBAgEV8bOAIIIABBEGogEiAFIBsgHJOLlCAIIAYgDZQiBiAGkiIGIAcgDpQiByAHkiIHkouUIAQgFyAfkiAWk4uUkpIiDZIiDiATIAUgJCAlk4uUIAggCSALlCIJIAmSIgkgCiAPlCIKIAqSIgqSi5QgBCAYICiSIAyTi5SSkiILkiIPIA4gD2AbOAIAIAAgFCAFIBkgGpKLlCAEIAYgB5OLlCAIIB4gHZIgF5MgFpOLlJKSIgaSIgcgFSAFICIgI5KLlCAEIAkgCpOLlCAIICcgJpIgGJMgDJOLlJKSIgiSIgQgBCAHXxs4AgwgACASIA2TIgQgEyALkyIFIAQgBV8bOAIEIAAgFCAGkyIEIBUgCJMiCCAEIAhfGzgCAAvgBQEHfwJ/IAFFBEAgACgCHCEIQS0hCiAFQQFqDAELQStBgIDEACAAKAIcIghBAXEiARshCiABIAVqCyEGAkAgCEEEcUUEQEEAIQIMAQsCQCADQRBPBEAgAiADENgBIQEMAQsgA0UEQEEAIQEMAQsgA0EDcSEJAkAgA0EESQRAQQAhAQwBCyADQXxxIQxBACEBA0AgASACIAdqIgssAABBv39KaiALQQFqLAAAQb9/SmogC0ECaiwAAEG/f0pqIAtBA2osAABBv39KaiEBIAwgB0EEaiIHRw0ACwsgCUUNACACIAdqIQcDQCABIAcsAABBv39KaiEBIAdBAWohByAJQQFrIgkNAAsLIAEgBmohBgsCQAJAIAAoAgBFBEBBASEBIAAoAhQiBiAAKAIYIgAgCiACIAMQyAoNAQwCCyAGIAAoAgQiB08EQEEBIQEgACgCFCIGIAAoAhgiACAKIAIgAxDICg0BDAILIAhBCHEEQCAAKAIQIQsgAEEwNgIQIAAtACAhDEEBIQEgAEEBOgAgIAAoAhQiCCAAKAIYIgkgCiACIAMQyAoNASAHIAZrQQFqIQECQANAIAFBAWsiAUUNASAIQTAgCSgCEBEDAEUNAAtBAQ8LQQEhASAIIAQgBSAJKAIMEQUADQEgACAMOgAgIAAgCzYCEEEAIQEMAQsgByAGayEGAkACQAJAIAAtACAiAUEBaw4DAAEAAgsgBiEBQQAhBgwBCyAGQQF2IQEgBkEBakEBdiEGCyABQQFqIQEgAEEYaigCACEHIAAoAhAhCCAAKAIUIQACQANAIAFBAWsiAUUNASAAIAggBygCEBEDAEUNAAtBAQ8LQQEhASAAIAcgCiACIAMQyAoNACAAIAQgBSAHKAIMEQUADQBBACEBA0AgASAGRgRAQQAPCyABQQFqIQEgACAIIAcoAhARAwBFDQALIAFBAWsgBkkPCyABDwsgBiAEIAUgACgCDBEFAAuIBgIKfwF9IwBBIGsiAiQAAn8gASgCBCIDRQRAIABBADYCBEEADAELIAEgA0EBazYCBAJAAn8CQAJAIAEoAgAiBSgCBCIDQQRPBEAgBSADQQRrIgE2AgQgBSAFKAIAIgRBBGo2AgACQCABQQRPBEAgBCgAACEKIAUgA0EIayIBNgIEIAUgBEEIajYCACABQQdNBEAgAkKByoCAgAE3AwggAkEIahDqCiEBDAcLIAQoAAQhCyAFIANBEGsiCDYCBCAFIARBEGoiCTYCACACQRhqIAQpAAgQ0gUgAigCHCEBIAIoAhgNBgJAQYCACCABIAFBgIAITxsiA0UEQEEEIQYMAQtBkfvDAC0AABogA0EDdCIEQQQQggwiBkUNBAsgAkEANgIQIAIgAzYCDCACIAY2AgggAQRAA0AgCEEESQ0GIAUgCEEEayIENgIEIAUgCUEEaiIDNgIAIARBBEkEQCACQoHKgIDAADcDGCACQRhqEOoKDAgLIAkqAAAhDCAFIARBBGsiCDYCBCAFIANBBGoiCTYCACADKAAAIQQgAigCDCAHRgRAIAJBCGogBxCrBiACKAIIIQYgAigCECEHCyAGIAdBA3RqIgMgBDYCBCADIAw4AgAgAiAHQQFqIgc2AhAgAUEBayIBDQALIAIoAgghBiACKAIMIQMLIAYNASADIQEMBgsgAkEAOgALIAJBJTsACSACQQQ2AgwgAkEBOgAIIAJBCGoQ6gohAQwFCyAAIAY2AgQgAEEgaiALNgIAIABBHGogCjYCACAAQRhqQQA2AgAgAEEQakIENwIAIABBDGogBzYCACAAQQhqIAM2AgBBAAwFCyACQQA6AAsgAkElOwAJIAJBBDYCDCACQQE6AAggAkEIahDqCiEBDAMLQQQgBEHQgcQAKAIAIgBBlwcgABsRAAAACyACQQA6ABsgAkElOwAZIAJBBDYCHCACQQE6ABggAkEYahDqCgshASACKAIMRQ0AIAIoAggQmgILIAAgATYCBEEBCyEBIAAgATYCACACQSBqJAALoQkCD30CfyMAQeAAayITJAAgE0EIaiIUQSBqIANBIGooAgA2AgAgFEEYaiADQRhqKQIANwMAIBRBEGogA0EQaikCADcDACAUQQhqIANBCGopAgA3AwAgEyADKQIANwMIIBNBLGogFBA8AkACQAJAIBMoAjgOAwACAQILQcuPwgBBK0GYlsIAEKoKAAtBy4/CAEErQYiWwgAQqgoACyATKgI0IQogEyoCMCEIIBMqAiwhCwJAIBNBLGoiA0EoaioCACIGIBNBQGsqAgAiDCADQSRqKgIAIgSUIANBGGoqAgAiDSADQSBqKgIAIgmUk5QgA0EQaioCACISIAkgE0HcAGoqAgAiB5QgBCATQdgAaioCACIFlJOUIBNByABqKgIAIg4gDCAHlCANIAWUk5STkkMAAAAAXUUEQCAFIQ8gBiEQIAQhESAJIQUgDiEGIAchBCAIIQkgCiEIDAELIAkhDyAOIRAgByERIAohCQsgEyAEOAJMIBMgDzgCSCATIBA4AkQgEyAROAJAIBMgBTgCPCATIAY4AjggEyANOAI0IBMgDDgCMCATIBI4AiwgE0EIaiEUAkACQCATQSxqIgMqAgAiBCADKgIQIgWSIAMqAiAiBpIiB0MAAAAAXkUEQCAEIAVeIAQgBl5xDQEgBSAGXkUEQCAGQwAAgD+SIASTIAWTEJsBIgQgBJIhBCADKgIcIAMqAhSSIASVIQUgAyoCBCADKgIMkyAElSEGIAMqAhggAyoCCJIgBJUhByAEQwAAgD6UIQQMAwsgBUMAAIA/kiAEkyAGkxCbASIEIASSIQUgAyoCHCADKgIUkiAFlSEEIAMqAhggAyoCCJMgBZUhBiADKgIMIAMqAgSSIAWVIQcgBUMAAIA+lCEFDAILIAdDAACAP5IQmwEiBCAEkiEGIAMqAgQgAyoCDJMgBpUhBCADKgIUIAMqAhyTIAaVIQcgAyoCGCADKgIIkyAGlSEFIAZDAACAPpQhBgwBCyAEQwAAgD+SIAWTIAaTEJsBIgQgBJIhByADKgIYIAMqAgiSIAeVIQQgAyoCFCADKgIckyAHlSEGIAMqAgwgAyoCBJIgB5UhBSAHQwAAgD6UIQcLIBQgBjgCDCAUIAQ4AgggFCAFOAIEIBQgBzgCACATKgIIIgUgBZQgFEEIaiIDKgIAIgYgBpSSIBMqAgwiByAHlCATKgIUIgogCpSSkhCbASEEIAMgBiAElTgCACATIAcgBJU4AgwgEyAFIASVOAIIIAAgEykCCDcCACATIAogBJU4AhQgAEEIaiADKQIANwIAQwAAAAAgCyALQwAAADRdGxCbASEEQwAAAAAgCSAJQwAAADRdGxCbASEFQwAAAAAgCCAIQwAAADRdGxCbASEIIABDAAAAAEMAAIA/IASVIARDAAAAAFsbOAIgIABDAAAAAEMAAIA/IAKVIAJDAAAAAFsbOAIcIABBGGogAUEIaigCADYCACAAIAEpAgA3AhAgAEEkakMAAAAAQwAAgD8gBZUgBUMAAAAAWxs4AgAgAEEoakMAAAAAQwAAgD8gCJUgCEMAAAAAWxs4AgAgE0HgAGokAAuABgIHfwd9IwBBEGsiAyQAAkAgASgCBCICRQRAIABBADYCAAwBCyABIAJBAWs2AgQCfwJAIAEoAgAiASgCBCIEQQNNDQAgASgCACECIAEgBEEEayIHNgIEIAEgAkEEajYCAAJAIAdBA00NACACKAAAIQcgASAEQQhrIgU2AgQgASACQQhqNgIAAkAgBUEDTQ0AIAIqAAQhCSABIARBDGsiBTYCBCABIAJBDGo2AgACQCAFQQNNDQAgAioACCEKIAEgBEEQayIFNgIEIAEgAkEQajYCACAFQQRJDQMgAioADCELIAEgBEEUayIFNgIEIAEgAkEUajYCACAFQQRJDQIgAigAECEFIAEgBEEYayIGNgIEIAEgAkEYajYCACAGQQRJDQEgAioAFCEMIAEgBEEcayIGNgIEIAEgAkEcajYCACAGQQRJDQAgAioAGCENIAEgBEEgayIGNgIEIAEgAkEgajYCACAGQQRJDQMgAioAHCEOIAEgBEEkayIGNgIEIAEgAkEkajYCACAGQQRJDQIgAigAICEGIAEgBEEoayIINgIEIAEgAkEoajYCACAIQQRJDQEgAioAJCEPIAEgBEEsayIINgIEIAEgAkEsajYCACAIQQRJDQAgACACKgAoOAIsIAAgDzgCKCAAIAY2AiQgACAOOAIgIAAgDTgCHCAAIAw4AhggACAFNgIUIAAgCzgCECAAIAo4AgwgACAJOAIIIAAgBzYCBCAAQQE2AgAgASAEQTBrNgIEIAEgAkEwajYCACAAIAIqACw4AjAMBQsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAgsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goMAQsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIANBCGoQ6goLIQEgAEECNgIAIAAgATYCBAsgA0EQaiQAC5cFAgp9CH8gAioCCCEJIAIqAgAhCiACKgIEIQsgAioCDCEMIAEoAgAhDwJAAkACQAJAAkAgASgCCCIQDgIBBAALIAkgAyoCBCIGlCALIAMqAggiCJSTIgQgBJIhBCAKIAiUIAkgAyoCACIHlJMiBSAFkiEFIAcgDCAElCAJIAWUIAsgCyAHlCAKIAaUkyIHIAeSIg2Uk5KSIgcgDyoCAJQgBiAMIAWUIAogDZQgCSAElJOSkiIGIA8qAgSUkiAIIAwgDZQgCyAElCAKIAWUk5KSIgUgDyoCCJSSIQRBASEDIBBBAWsiDkEBcSETIBBBAkcNAUEAIQ4MAgtBAEEAQbStwwAQ4wgACyAPQRBqIQEgDkF+cSEUQQAhDgNAIAcgAUEEayoCAJQgBiABKgIAlJIgBSABQQRqKgIAlJIiCCAEXiERIAcgAUEIaioCAJQgBiABQQxqKgIAlJIgBSABQRBqKgIAlJIiDSAIIAQgERsiBF4hEiANIAQgEhshBCADQQFqIhUgAyAOIBEbIBIbIQ4gA0ECaiEDIAFBGGohASAUIBVHDQALCyATRQ0AIAMgDiAHIA8gA0EMbGoiASoCAJQgBiABKgIElJIgBSABKgIIlJIgBF4bIQ4LIA4gEE8EQCAOIBBBgPfCABDjCAALIAAgAkEYaioCACAPIA5BDGxqIgEqAggiBCAMIAogASoCBCIFlCALIAEqAgAiB5STIgYgBpIiBpQgCiAJIAeUIAogBJSTIgggCJIiCJQgCyALIASUIAkgBZSTIgQgBJIiBJSTkpKSOAIIIAAgAkEUaioCACAFIAwgCJQgCSAElCAKIAaUk5KSkjgCBCAAIAIqAhAgByAMIASUIAsgBpQgCSAIlJOSkpI4AgALqwUCBH8JfSMAQUBqIgYkACAGQQhqIgdBCGoiCCABQRhqKAIANgIAIAYgASkCEDcDCCAGQShqIgkgAiAHIAMoAjARAQAgBkEgaiIHIAlBCGopAgA3AwAgBiAGKQIoNwMYAkACQAJAIAYqAhggBioCCJMiDCAMlCAGKgIcIAYqAgyTIgogCpSSIAcqAgAgCCoCAJMiCyALlJIiDUMAAIAoXgRAIAsgDRCbASINlSELIAogDZUhCiAMIA2VIQwgBi0AJA0BIA0gBJMhDSALjCELIAqMIQogDIwhDAwDCyAGQShqIAIgBigCOCAGQTxqKAIAIAZBGGogAygCtAERBwAgBIwhDSAGKAIoRQRAIAYqAhgiDCAMlCAGKgIcIgogCpSSIAYqAiAiCyALlJIiDkMAAIAoXkUNAiALIA4QmwEiDpUhCyAKIA6VIQogDCAOlSEMDAMLIAYqAjQhCyAGKgIwIQogBioCLCEMDAILIA2MIASTIQ0MAQtDAACAPyEKQwAAAAAhC0MAAAAAIQwLIAAgBSANYAR/IAAgBikDGDcCBCAAQTRqIA04AgAgAEEkaiALOAIAIABBIGogCjgCACAAQRxqIAw4AgAgAEEMaiAGQSBqKAIANgIAIABBMGogASoCDCIRIAogASoCACIFlCAMIAEqAgQiDZSTIg4gDpIiEpQgDSALIA2UIAogASoCCCIOlJMiDyAPkiIPlCAFIAwgDpQgCyAFlJMiECAQkiIQlJOSIAuTIgs4AgAgAEEsaiARIBCUIAUgEpQgDiAPlJOSIAqTIgU4AgAgAEEoaiARIA+UIA4gEJQgDSASlJOSIAyTIgo4AgAgAEEYaiALIASUOAIAIABBFGogBSAElDgCACAAQRBqIAogBJQ4AgBBAQVBAAs2AgAgBkFAayQAC7gFAgZ9B38jAEEgayIJJAACQCABKAIIIgoEQCABKAIAIgggCkEMbCINaiEOIAgqAghEAAAAAAAA8D8gCrijtiIClCEEIAgqAgQgApQhBSAIKgIAIAKUIQYCQCAKQQFGDQAgCEEMaiEKAkAgDUEYayIMQQxuQQFxBEAgCiELIAghCgwBCyAIQRhqIQsgBiAIKgIMIAKUkiEGIAQgCEEUaioCACAClJIhBCAFIAhBEGoqAgAgApSSIQULIAxBDEkNAANAIAYgCyoCACAClJIgC0EMaiIMKgIAIAKUkiEGIAQgCkEUaioCACAClJIgC0EUaioCACAClJIhBCAFIApBEGoqAgAgApSSIAtBEGoqAgAgApSSIQUgDCEKIA4gC0EYaiILRw0ACwsCQCANQQxrIgpBDG5BAXEEQEMAAAAAIQIMAQsgBiAIKgIAkyICIAKUIAUgCCoCBJMiAiAClJIgBCAIKgIIkyICIAKUkiICQwAAAAAgAkMAAAAAXhshAiAIQQxqIQgLIApBDE8EQANAIAYgCEEMaioCAJMiAyADlCAFIAhBEGoqAgCTIgMgA5SSIAQgCEEUaioCAJMiAyADlJIiAyAGIAgqAgCTIgcgB5QgBSAIQQRqKgIAkyIHIAeUkiAEIAhBCGoqAgCTIgcgB5SSIgcgAiACIAddGyICIAIgA10bIQIgDiAIQRhqIghHDQALCyACEJsBIQIgASoCYCIDQwAAAABgRQ0BIAAgBDgCCCAAIAU4AgQgACAGOAIAIAAgAiADkjgCDCAJQSBqJAAPCyAJQRRqQgA3AgAgCUEBNgIMIAlBuKrDADYCCCAJQbSKwgA2AhAgCUEIakGoq8MAENwKAAsgCUEUakIANwIAIAlBATYCDCAJQeSXwgA2AgggCUG0isIANgIQIAlBCGpBwK7DABDcCgALggQBA38gACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQSBqKAIABEAgACgCHBCaAgsgAEEwaigCAARAIAAoAiwQmgILIAAoAjwhAiAAQcQAaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABBQGsoAgAEQCACEJoCCyAAQcwAaigCAARAIAAoAkgQmgILIABB4ABqKAIABEAgACgCXBCaAgsgAEH0AGooAgAEQCAAQfAAaigCABCaAgsgAEGIAWooAgAEQCAAKAKEARCaAgsgAEGcAWooAgAEQCAAKAKYARCaAgsgAEGwAWooAgAEQCAAQawBaigCABCaAgsgAEHEAWooAgAEQCAAKALAARCaAgsgAEHQAWooAgAEQCAAQcwBaigCABCaAgsgACgC3AEhAiAAQeQBaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABB4AFqKAIABEAgAhCaAgsgACgC6AEhAiAAQfABaigCACIDBEAgAiEBA0AgAUEEaigCAARAIAEoAgAQmgILIAFBEGohASADQQFrIgMNAAsLIABB7AFqKAIABEAgAhCaAgsgAEH4AWooAgAEQCAAKAL0ARCaAgsL3gUBFX0gAioCBCABQRRqKgIAkyIMIAEqAggiBZQgAioCCCABQRhqKgIAkyITIAEqAgQiB5STIgQgBJIhECATIAEqAgAiCJQgAioCACABKgIQkyIEIAWUkyIJIAmSIREgBCABKgIMIgkgEJQgBSARlCAHIAQgB5QgDCAIlJMiBCAEkiIUlJOSkiEGQwAAAAAhBCAAKgIIIRIgACoCBCELIAAqAgAiDYwhFSAFIAJBEGoqAgAiFpQgByACQRRqKgIAIheUkyIOIA6SIQ4gCCAXlCAFIAIqAgwiCpSTIg8gD5IhDwJAAkAgCiAJIA6UIAUgD5QgByAHIAqUIAggFpSTIgogCpIiCpSTkpIiGEMAAAAAXARAQQAhASANIAaTQwAAgD8gGJUiBJQiDSAVIAaTIASUIgZdIQAgAyADIAYgDSAAGyIEIAMgBF0bIAQgBFwbIgNDAAAAAEMAAAAAIA0gBiAAGyIEIARDAAAAAF0bIAQgBFwbIgRdRQ0BDAILQQAhASAGIBVdDQEgBiANXg0BCyAMIAkgEZQgCCAUlCAFIBCUk5KSIQYgC4whDAJAIBYgCSAPlCAIIAqUIAUgDpSTkpIiBUMAAAAAXARAIAsgBpNDAACAPyAFlSIFlCILIAwgBpMgBZQiBl0hACADIAMgBiALIAAbIgUgAyAFXRsgBSAFXBsiAyALIAYgABsiBSAFIAQgBCAFXRsgBCAEXBsiBF1FDQEMAgsgBiAMXQ0BIAYgC14NAQsgEyAJIBSUIAcgEJQgCCARlJOSkiEFIBKMIQYCQCAXIAkgCpQgByAOlCAIIA+Uk5KSIgdDAAAAAFwEQCASIAWTQwAAgD8gB5UiCJQiByAGIAWTIAiUIgVdIQAgByAFIAAbIgggCCAEIAQgCF0bIAQgBFwbIAMgAyAFIAcgABsiBCADIARdGyAEIARcG15FDQEMAgsgBSAGXQ0BIAUgEl4NAQtBASEBCyABC9UFAgl/BH4jAEEQayIDJAAgAAJ/AkACQAJAIAEoAgQiBEEESQ0AIAEoAgAhAiABIARBBGsiBzYCBCABIAJBBGo2AgAgB0EESQ0AIAIoAAAhByABIARBCGsiBTYCBCABIAJBCGo2AgAgBUEESQ0AIAI1AAQhCyABIARBDGsiBTYCBCABIAJBDGo2AgAgBUEESQ0BIAI1AAghDCABIARBEGsiBTYCBCABIAJBEGo2AgAgBUEESQ0CIAIoAAwhBSABIARBFGsiCDYCBCABIAJBFGo2AgAgCEEESQ0CIAIoABAhCCABIARBGGsiBjYCBCABIAJBGGo2AgAgBkEESQ0CIAI1ABQhDSABIARBHGsiBjYCBCABIAJBHGo2AgACQCAGQQRJDQAgAjUAGCEOIAEgBEEgayIGNgIEIAEgAkEgajYCACAGQQRJDQAgAigAHCEGIAEgBEEkayIJNgIEIAEgAkEkajYCACAJQQRJDQAgAigAICEJIAEgBEEoayIKNgIEIAEgAkEoajYCACAKQQRJDQAgAigAJCEKIAAgBjYCBCABIARBLGs2AgQgASACQSxqNgIAIABBKGogDkIghiANhDcCACAAQSRqIAg2AgAgAEEgaiAFNgIAIABBGGogDEIghiALhDcCACAAQRRqIAc2AgAgAEEQaiACKAAoNgIAIABBDGogCjYCACAAQQhqIAk2AgBBAAwECyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQEMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIAAgA0EIahDqCjYCBEEBDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCAAIANBCGoQ6go2AgRBAQwBCyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQELNgIAIANBEGokAAugBQIRfQV/AkACQCAAKAIIIhUEQCABKAIIIhZFDQEgACgCACIAIBVBA3RqIRcgA0EYaioCACENIANBFGoqAgAhDiADKgIQIQ8gAyoCDCEKIAMqAgAhByADKgIIIQggAyoCBCEJIAEoAhAhGANAIAAoAgAiFSAYTw0CIBYgFUGoAWxqIgEoAgBFDQIgAEEEaigCACIZIAEoAgRHDQIgASgCCEUNAyABQShqKgIAIgsgB5QgAUEkaioCACIMIAmUkyIEIASSIQQgDCAIlCABQSxqKgIAIgUgB5STIgYgBpIhBiANIAUgCiAElCAHIAaUIAkgBSAJlCALIAiUkyIFIAWSIgWUk5KSkiEQIA4gCyAKIAaUIAggBZQgByAElJOSkpIhESAPIAwgCiAFlCAJIASUIAggBpSTkpKSIQUgAUEgaioCACIEIAiUIAFBGGoqAgAiBiAHlCABQRxqKgIAIgsgCpSSIAFBFGoqAgAiDCAJlJOSIRIgDCAIlCAEIAmUIAYgCpQgCyAHlJOSkiETIAsgCZQgBCAHlCAMIAqUkpIgBiAIlJMhFCAEIAqUIAwgB5STIAYgCZSTIAsgCJSTIQQgAUH4AGooAgAiA0EBcUUEQCACKAIIIgMgAigCBEYEQCACIAMQqwYgAigCCCEDCyACIANBAWo2AgggAigCACADQQN0aiIDIBk2AgQgAyAVNgIAIAEoAnghAwsgAUGUAWogEDgCACABQZABaiAROAIAIAFBjAFqIAU4AgAgAUGIAWogBDgCACABQYQBaiASOAIAIAFBgAFqIBM4AgAgAUH8AGogFDgCACABIANBCHI2AnggFyAAQQhqIgBHDQALCw8LQeybwQBBE0GMhMIAEOEJAAtB9MLAAEErQfTAwQAQqgoAC7UHAQx/IwBBMGsiByQAIAFBEGooAgAiBkEBdCEKIAEoAgQhDCABKAIAIQ0CQCAGIAFBDGooAgAiBCAGayIDTQ0AAkAgBiAGaiAGSQ0AIAZB0AJsIQUgCkGxmIwGSUEDdCEIAkAgBEUEQCAHQQA2AhwMAQsgB0EINgIcIAcgBEGoAWw2AiAgByABKAIINgIYCyAHQQxqIAggBSAHQRhqENoGIAcoAhAhBCAHKAIMRQRAIAEgCjYCDCABIAQ2AgggBiEDDAILIARBgYCAgHhGDQEgBEUNACAEIAdBFGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAGIQQgAyAKIAZrIgNBACADIApNGyIFSQRAIAFBCGohBCMAQSBrIgMkAAJAAkAgBSAGaiIFIAZJDQBBBCAEKAIEIghBAXQiCSAFIAUgCUkbIgUgBUEETRsiCUGoAWwhBSAJQbGYjAZJQQN0IQsCQCAIRQRAIANBADYCGAwBCyADQQg2AhggAyAIQagBbDYCHCADIAQoAgA2AhQLIANBCGogCyAFIANBFGoQ2gYgAygCDCEFIAMoAghFBEAgBCAJNgIEIAQgBTYCAAwCCyAFQYGAgIB4Rg0BIAVFDQAgBSADQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgA0EgaiQAIAEoAhAhBAsgASgCCCEJAkAgBkEATA0AIApBAWshCwJAIAZBAXFFBEAgBiEFDAELIAkgBEGoAWxqIgMgDCAGQQFqIgUgBiALRiIIGzYCCCADIA1BASAIGzYCBCADQQA2AgAgBEEBaiEECyAGQQFGDQAgBSAKa0EBaiEIIAkgBEGoAWxqIQMDQCADQQA2AgAgA0GoAWpBADYCACADQQRqQQEgDSAIGzYCACADQQhqIAVBAWoiDiAMIAgbNgIAIANBsAFqIAwgBUECaiIFIAsgDkYiDhs2AgAgA0GsAWogDUEBIA4bNgIAIAhBAmohCCADQdACaiEDIARBAmohBCAFIApHDQALCyABIAQ2AhACQCAEIAZLBEAgCSAGQagBbGoiAygCAA0BIANBATYCACABIAMpAgQ3AgAgAyABKAIUIgQ2AgQgASABKAIYQQFqNgIYIANBCGogAkGgARCIDRogACAENgIEIAAgBjYCACAHQTBqJAAPCyAGIARBvJ7AABDjCAALIAdBJGpCADcCACAHQQE2AhwgB0HgnsAANgIYIAdBgIDAADYCICAHQRhqQeiewAAQ3AoAC9MFAQx/IwBBMGsiBiQAIAFBEGooAgAiBEEBdCEJIAEoAgQhCiABKAIAIQsCQCAEIAFBDGooAgAiBSAEayIDTQ0AAkAgBCAEaiAESQ0AIARBqARsIQcgCUGC89oDSUECdCEIAkAgBUUEQCAGQQA2AhwMAQsgBkEENgIcIAYgBUGUAmw2AiAgBiABKAIINgIYCyAGQQxqIAggByAGQRhqENoGIAYoAhAhBSAGKAIMRQRAIAEgCTYCDCABIAU2AgggBCEDDAILIAVBgYCAgHhGDQEgBUUNACAFIAZBFGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAEIQUgAyAJIARrIgNBACADIAlNGyIDSQRAIAFBCGogBCADEI0GIAEoAhAhBQsgASgCCCEMAkAgBEEATA0AIAlBAWshDgJAIARBAXFFBEAgBCEHDAELIAwgBUGUAmxqIgNBAjoAkAIgAyAKIARBAWoiByAEIA5GIggbNgIEIAMgC0EBIAgbNgIAIAVBAWohBQsgBEEBRg0AIAcgCWtBAWohCCAMIAVBlAJsaiEDA0AgA0GkBGpBAjoAACADQZACakECOgAAIANBASALIAgbNgIAIANBBGogB0EBaiINIAogCBs2AgAgA0GYAmogCiAHQQJqIgcgDSAORiINGzYCACADQZQCaiALQQEgDRs2AgAgCEECaiEIIANBqARqIQMgBUECaiEFIAcgCUcNAAsLIAEgBTYCEAJAIAQgBUkEQCAMIARBlAJsaiIDLQCQAkECRw0BIAEgASgCGEEBajYCGCABIAMpAgA3AgAgAyABKAIUIgE2AgAgA0EEaiACQZACEIgNGiAAIAE2AgQgACAENgIAIAZBMGokAA8LIAQgBUG8nsAAEOMIAAsgBkEkakIANwIAIAZBATYCHCAGQeCewAA2AhggBkGAgMAANgIgIAZBGGpB6J7AABDcCgALgQYBBX8gAEEIayEBIAEgAEEEaygCACIDQXhxIgBqIQICQAJAAkACQCADQQFxDQAgA0EDcUUNASABKAIAIgMgAGohACABIANrIgFBmIXEACgCAEYEQCACKAIEQQNxQQNHDQFBkIXEACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADELwECwJAAkAgAigCBCIDQQJxRQRAIAJBnIXEACgCAEYNAiACQZiFxAAoAgBGDQUgAiADQXhxIgIQvAQgASAAIAJqIgBBAXI2AgQgACABaiAANgIAIAFBmIXEACgCAEcNAUGQhcQAIAA2AgAPCyACIANBfnE2AgQgASAAQQFyNgIEIAAgAWogADYCAAsgAEGAAkkNAiABIAAQ/ARBACEBQbCFxABBsIXEACgCAEEBayIANgIAIAANAUH4gsQAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQbCFxABB/x8gASABQf8fTRs2AgAPC0GchcQAIAE2AgBBlIXEAEGUhcQAKAIAIABqIgA2AgAgASAAQQFyNgIEQZiFxAAoAgAgAUYEQEGQhcQAQQA2AgBBmIXEAEEANgIACyAAQaiFxAAoAgAiA00NAEGchcQAKAIAIgJFDQBBACEBAkBBlIXEACgCACIEQSlJDQBB8ILEACEAA0AgAiAAKAIAIgVPBEAgBSAAKAIEaiACSw0CCyAAKAIIIgANAAsLQfiCxAAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtBsIXEAEH/HyABIAFB/x9NGzYCACADIARPDQBBqIXEAEF/NgIACw8LIABBeHFBgIPEAGohAgJ/QYiFxAAoAgAiA0EBIABBA3Z0IgBxRQRAQYiFxAAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtBmIXEACABNgIAQZCFxABBkIXEACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgALpgUCHX0KfyAAQcQAaiIfKgIAIQYgAEHIAGoiICoCACEHIABBzABqIiEqAgAhCCAAQdQAaiIiKgIAIQMgAEE0aiIjKgIAIQsgAEHYAGoiJCoCACEEIABBOGoiJSoCACEMIABB3ABqIiYqAgAhCSAAQTxqIicqAgAhDSAAQUBrIigqAgAhBSAAKgIUIREgACoCGCESIAAqAhwhEyAAKgIkIRQgASoCBCEaIAAqAgQhDiAAKgIoIRUgASoCCCEbIAAqAgghDyAAKgIsIRYgASoCDCEcIAAqAgwhECAAKgIQIQogASoCAEMAAAAAIAAqAjAiFyAAKgIAIhhgGyICIABB0ABqIgEqAgAiHZQgAiAAKgIgIh6UkyEZIAEgGSAdkjgCACAoIAUgAiAFlCACIAqUkyIFkjgCACAAIBcgFyAClCAYIAKUkyICkjgCMCAAIB4gGZM4AiAgACAKIAWTOAIQIAAgGCACkzgCACAmIAkgCSAcQwAAAAAgDSAQYBsiApQgAiAWlJMiCZI4AgAgJCAEIAQgG0MAAAAAIAwgD2AbIgSUIAQgFZSTIgWSOAIAICIgAyADIBpDAAAAACALIA5gGyIDlCADIBSUkyIKkjgCACAhIAggAiAIlCACIBOUkyIIkjgCACAgIAcgBCAHlCAEIBKUkyIHkjgCACAfIAYgAyAGlCADIBGUkyIGkjgCACAnIA0gDSAClCAQIAKUkyICkjgCACAlIAwgDCAElCAPIASUkyIEkjgCACAjIAsgCyADlCAOIAOUkyIDkjgCACAAIBYgCZM4AiwgACAVIAWTOAIoIAAgFCAKkzgCJCAAIBMgCJM4AhwgACASIAeTOAIYIAAgESAGkzgCFCAAIBAgApM4AgwgACAPIASTOAIIIAAgDiADkzgCBAuDBQIBfw59IwBB8AFrIgQkACADKgIAIAIqAhAiEJMiCCACKgIEIguUIAMqAgQgAkEUaioCACIRkyIGIAIqAgAiDJSTIgkgCZIhByAGIAIqAggiCZQgAyoCCCACQRhqKgIAIhKTIgUgC5STIg0gDZIhCiAEIAUgAioCDCINIAeUIAsgCpQgDCAFIAyUIAggCZSTIgUgBZIiBZSTkpIiDjgCHCAEIAggDSAKlCAJIAWUIAsgB5STkpIiCDgCFCAEIAYgDSAFlCAMIAeUIAkgCpSTkpIiDzgCGCAEQdgBakIANwMAIARB6AFqQQA2AgAgBEKCgICAMDcDOCAEQoCAgIAQNwMwIARCADcD0AEgBEIANwPgASAEQUBrQQBBkAEQiQ0aIARBADYC7AEgBEEgaiABKAIAIAEoAgggBEEwaiAEQRRqQQAQHSAOIAQqAigiB5MiCowgCiAELQAsIgIbIgYgBpQgCCAEKgIgIgqTIgiMIAggAhsiBSAFlCAPIAQqAiQiCJMiDowgDiACGyIOIA6UkpIiD0MAAIAoXgR/IAQgBiAPEJsBIgaVOAI4IAQgDiAGlTgCNCAEIAUgBpU4AjAgBEEIaiABIARBMGoQ8wEgBCgCDCEBIAQoAggFQQMLIQMgAEEUaiABNgIAIAAgAzYCECAAIAI6AAwgACASIAcgDCAJIAqUIAwgB5STIgYgBpIiBpQgCyALIAeUIAkgCJSTIgcgB5IiB5STIAwgCJQgCyAKlJMiBSAFkiIFIA2UkpKSOAIIIAAgESAIIAkgB5QgDCAFlJMgBiANlJKSkjgCBCAAIBAgCiALIAWUIAkgBpSTIAcgDZSSkpI4AgAgBEHwAWokAAuLBQIGfgZ/IAAoAgwEQCAAQRhqKQMAIgUgAYVC88rRy6eM2bL0AIUiBiAAKQMQIgRC4eSV89bs2bzsAIV8IQMgBULt3pHzlszct+QAhSIFIARC9crNg9es27fzAIV8IgdCIIkgAyAGQhCJhSIEfCIGIARCFYmFQoCAgICAgICACIUhBCAEIAcgBUINiYUiBSADfCIHQiCJfCIIIARCEImFIQMgAyAHIAVCEYmFIgQgASAGhXwiBUIgiXwiBiADQhWJhSEDIAMgBSAEQg2JhSIEIAh8IgVCIIlC/wGFfCIHIANCEImFIQMgAyAFIARCEYmFIgQgBkKAgICAgICAgAiFfCIFQiCJfCIGIANCFYmFIQMgAyAFIARCDYmFIgQgB3wiBUIgiXwiByADQhCJhSEDIAMgBSAEQhGJhSIEIAZ8IgVCIIl8IgYgA0IViYUhAyADIARCDYkgBYUiBCAHfCIFQiCJfCIHIARCEYkgBYUiBCAGfCAEQg2JhSIEfCIFIANCEIkgB4VCFYkgBEIRiYUgBUIgiIWFIgNCGYhC/wCDQoGChIiQoMCAAX4hBiADpyEJIAAoAgAiCkEoayEMIAAoAgQhAANAIAAgCXEiCSAKaikAACIFIAaFIgNCgYKEiJCgwIABfSADQn+Fg0KAgYKEiJCgwIB/gyEEA0ACQCAEIgNQBEAgBSAFQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAkgC0EIaiILaiEJDAMLIANCAX0gA4MhBCAMIAN6p0EDdiAJaiAAcSINQVhsaiIOKQMAIAGFIA5BCGopAwAgAoWEQgBSDQELCwtBAEEAIAogDUFYbGogA1AiABtBKGsgABshCQsgCUEQakEAIAkbC9AEAQ19AkACfSADKgIIIAJBGGoqAgCTIg0gAioCACIJlCADKgIAIAIqAhCTIhEgAioCCCIKlJMiByAHkiEIIBEgAioCBCIHlCADKgIEIAJBFGoqAgCTIg4gCZSTIgwgDJIhCyABKgIEIg8gDiACKgIMIgwgCJQgCSALlCAKIA4gCpQgDSAHlJMiDiAOkiISlJOSkoyUIAEqAgAiDiARIAwgEpQgCiAIlCAHIAuUk5KSlJMgASoCCCIRIA0gDCALlCAHIBKUIAkgCJSTkpKUkyISQwAAAABeBEBDAAAAACELQwAAAAAhDUMAAAAAIAUNARoLIAcgAyoCDCILlCAJIANBEGoqAgAiDZSTIgYgBpIhBiAKIA2UIAcgA0EUaioCACIQlJMiCCAIkiEIIBIgESAQIAwgBpQgByAIlCAJIAkgEJQgCiALlJMiECAQkiIQlJOSkpQgDiALIAwgCJQgCiAQlCAHIAaUk5KSlCAPIA0gDCAQlCAJIAaUIAogCJSTkpKUkpKVIg1DAAAAAGBFDQEgBCANYEUNASARjCARIBJDAAAAAF4iARshBiAOjCAOIAEbIQsgD4wgDyABGwshCCAAIA04AgggAEICNwIAIAAgBiAMIAkgCJQgByALlJMiBCAEkiIElCAJIAogC5QgCSAGlJMiDyAPkiIPlCAHIAcgBpQgCiAIlJMiBiAGkiIGlJOSkjgCFCAAIAggDCAPlCAKIAaUIAkgBJSTkpI4AhAgACALIAYgDJQgByAElCAKIA+Uk5KSOAIMDwsgAEEENgIAC9kEAgl9AX8jAEFAaiIFJAAgAioCBCILIAMqAgwiCpQgAioCACIMIANBEGoqAgAiDZSTIgcgB5IhCCACKgIIIgcgDZQgCyADQRRqKgIAIgaUkyIOIA6SIQkgBUEEaiIPQRRqIAYgAioCDCIOIAiUIAsgCZQgDCAMIAaUIAcgCpSTIgYgBpIiBpSTkpI4AgAgD0EQaiANIA4gBpQgDCAIlCAHIAmUk5KSOAIAIAUgCiAOIAmUIAcgBpQgCyAIlJOSkjgCECALIAMqAgAgAioCEJMiCpQgDCADKgIEIAJBFGoqAgCTIg2UkyIIIAiSIQggDSAHlCADKgIIIAJBGGoqAgCTIgYgC5STIgkgCZIhCSAFIAYgDiAIlCALIAmUIAwgBiAMlCAKIAeUkyIGIAaSIgaUk5KSOAIMIAUgDSAOIAaUIAwgCJQgByAJlJOSkjgCCCAFIAogDiAJlCAHIAaUIAsgCJSTkpI4AgQgBUEcaiABIAFBDGogAUEYaiAPEIkCAkACQCAFKAIcIgFBBEcEQCAFKgIkIgogBF8NAQsgAEEENgIADAELIAUqAjAhBCAFKgIsIQggBSoCKCEJIAUoAiAhAiAAIAo4AgggACACNgIEIAAgATYCACAAIAQgDCAHIAmUIAwgBJSTIgogCpIiCpQgCyALIASUIAcgCJSTIgQgBJIiBJSTIAwgCJQgCyAJlJMiDSANkiINIA6UkpI4AhQgACAIIAcgBJQgDCANlJMgCiAOlJKSOAIQIAAgCSALIA2UIAcgCpSTIAQgDpSSkjgCDAsgBUFAayQAC9wEAhJ9Bn8CQCAAQYQBaigCACIURQ0AIABBmAFqKgIAIgUgASoCACIIlCAAKgKUASILIAEqAgQiCZSTIgcgB5IhAiALIAEqAggiB5QgAEGcAWoqAgAiAyAIlJMiCiAKkiEEIABBkAFqKgIAIgwgAyABKgIMIgogApQgCCAElCAJIAMgCZQgBSAHlJMiAyADkiIDlJOSkpQgACoCiAEiDSALIAogA5QgCSAClCAHIASUk5KSlCAAQYwBaioCACILIAUgCiAElCAHIAOUIAggApSTkpKUkpJDBfZ/v14NACAUQTBsIRYgAUEYaioCACEOIAFBFGoqAgAhDyABKgIQIRAgACgCfCEXQQAhAQNAIAEgF2oiAEEYaiEUIAggAEEQaioCACIFlCAJIABBDGoqAgAiA5STIgIgApIhAiAHIAOUIAggAEEUaioCACIGlJMiBCAEkiEEIBQqAgAgDiAGIAogApQgCCAElCAJIAkgBpQgByAFlJMiBiAGkiIGlJOSkpIiESAAQQhqIhgqAgAiEpMgDJQgDSAQIAMgCiAGlCAJIAKUIAcgBJSTkpKSIgMgACoCACITk5QgCyAPIAUgCiAElCAHIAaUIAggApSTkpKSIgQgAEEEaiIZKgIAIgWTlJKSIgKUQwAAAABdDQEgAyANIAKUkyIDIBOTIgYgBpQgBCACIAuUkyIEIAWTIgUgBZSSIBEgAiAMlJMiBSASkyIGIAaUkkO9N4Y1Xg0BIAAgAzgCACAUIAI4AgAgGSAEOAIAIBggBTgCACAWIAFBMGoiAUcNAAtBASEVCyAVC68FAgZ/An4jAEFAaiICJAACfyABKAIEIgNFBEAgAEEANgIEQQAMAQsgASADQQFrNgIEIAEoAgAhASACQQM2AiwgAiABNgIoIAJBEGogAkEoahCbAwJAAkACQAJAAkACQCACKAIQRQRAIAIoAhQiA0UEQEEAIAJBPGpBkIPAABDvByEBDAcLIAJBGGoiBSkCACEJAkAgAigCLCIGBEAgAigCKCIBKAIEIgdBCEkNBCACQRxqKAIAIQQgBSgCACEFIAEgB0EIazYCBCABIAEoAgAiAUEIajYCACABKQAAIghCgICAgBBUDQEgAkEBOgAQIAIgCDcDGCACQRBqIAJBPGpBtIDAABCpCCEBDAcLQQEgAkE8akGQg8AAEO8HIQEMBgsgBkEBRw0BQQIgAkE8akGQg8AAEO8HIQEMBQsgAigCFCEBDAULIAinIgYgBEYNAiACQShqIgFBDGpBAjYCACACQRBqIgdBDGpCAjcCACACIAY2AjggAkECNgIUIAJBvLHAADYCECACQQI2AiwgAiAENgI8IAIgATYCGCACIAJBPGo2AjAgAiACQThqNgIoIAJBBGoiBCAHEKcEIAEgBBCLCSACQRtqIAFBCGooAgA2AAAgAiACKQIoNwATQZH7wwAtAAAaQRBBBBCCDCIBRQ0BIAFBCDoAACABIAIpABA3AAEgAUEIaiACQRdqKQAANwAAIAIoAggEQCACKAIEEJoCCyAFRQ0EIAMQmgIMBAsgAkKByoCAgAE3AxAgAkEQahDqCiEBDAILQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAM2AgQgAEEIaiAFNgIAIABBDGogBK0iCEIghiAIhDcCAEEADAILIAmnRQ0AIAMQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAALsAUCBn8CfiMAQUBqIgIkAAJ/IAEoAgQiA0UEQCAAQQA2AgRBAAwBCyABIANBAWs2AgQgASgCACEBIAJBAzYCLCACIAE2AiggAkEQaiACQShqEJsDAkACQAJAAkACQAJAIAIoAhBFBEAgAigCFCIDRQRAQQAgAkE8akGQg8AAEO8HIQEMBwsgAkEYaiIFKQIAIQkCQCACKAIsIgEEQCABQQFGDQEgAigCKCIBKAIEIgZBCEkNBCACQRxqKAIAIQQgBSgCACEFIAEgBkEIazYCBCABIAEoAgAiAUEIajYCACABKQAAIghCgICAgBBUDQMgAkEBOgAQIAIgCDcDGCACQRBqIAJBPGpBtIDAABCpCCEBDAcLQQEgAkE8akGQg8AAEO8HIQEMBgtBAiACQTxqQZCDwAAQ7wchAQwFCyACKAIUIQEMBQsgCKdBBmwiBiAERg0CIAJBKGoiAUEMakECNgIAIAJBEGoiB0EMakICNwIAIAIgBjYCOCACQQI2AhQgAkG8scAANgIQIAJBAjYCLCACIAQ2AjwgAiABNgIYIAIgAkE8ajYCMCACIAJBOGo2AiggAkEEaiIEIAcQpwQgASAEEIsJIAJBG2ogAUEIaigCADYAACACIAIpAig3ABNBkfvDAC0AABpBEEEEEIIMIgFFDQEgAUEIOgAAIAEgAikAEDcAASABQQhqIAJBF2opAAA3AAAgAigCCARAIAIoAgQQmgILIAVFDQQgAxCaAgwECyACQoHKgICAATcDECACQRBqEOoKIQEMAgtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALIAAgAzYCBCAAQQhqIAU2AgAgAEEMaiAErSAIQiCGhDcCAEEADAILIAmnRQ0AIAMQmgILIAAgATYCBEEBCyEBIAAgATYCACACQUBrJAAL9AQBC38jAEEgayICJAACfyABKAIEIgNFBEAgAEEANgIEQQAMAQsgASADQQFrNgIEAkAgASgCACIEKAIEIgFBB00EQCACQoHKgICAATcDCCACQQhqEOoKIQEMAQsgBCABQQhrIgo2AgQgBCAEKAIAIgFBCGoiCzYCACACQRhqIAEpAAAQ0gUgAigCHCEBIAIoAhgNAAJAAkACQAJAQYCABCABIAFBgIAETxsiA0UEQEEEIQUMAQtBkfvDAC0AABogA0EEdCIGQQQQggwiBUUNAQsgAkEANgIQIAIgAzYCDCACIAU2AgggAQRAA0AgCkEESQ0EIAQgCkEEayIDNgIEIAQgC0EEaiIJNgIAIANBBEkNBCALKAAAIQwgBCADQQRrIgM2AgQgBCAJQQRqIgY2AgAgA0EDTQ0EIAkoAAAhCSAEIANBBGsiBzYCBCAEIAZBBGoiAzYCACAHQQNNDQQgBigAACEGIAQgB0EEayIKNgIEIAQgA0EEaiILNgIAIAMoAAAhAyACKAIMIAhGBEAgAkEIaiAIEKQGIAIoAgghBSACKAIQIQgLIAUgCEEEdGoiByADNgIMIAcgBjYCCCAHIAk2AgQgByAMNgIAIAIgCEEBaiIINgIQIAFBAWsiAQ0ACyACKAIIIQUgAigCDCEDCyAFDQEgAyEBDAMLQQQgBkHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAU2AgQgAEEMaiAINgIAIABBCGogAzYCAEEADAILIAJCgcqAgMAANwMYIAJBGGoQ6gohASACKAIMRQ0AIAIoAggQmgILIAAgATYCBEEBCyEBIAAgATYCACACQSBqJAAL0QQCBn4EfyAAIAAoAjggAmo2AjgCQCAAKAI8IgtFBEAMAQsCfiACQQggC2siCiACIApJGyIMQQNNBEBCAAwBC0EEIQkgATUAAAshAyAMIAlBAXJLBEAgASAJajMAACAJQQN0rYYgA4QhAyAJQQJyIQkLIAAgACkDMCAJIAxJBH4gASAJajEAACAJQQN0rYYgA4QFIAMLIAtBA3RBOHGthoQiAzcDMCACIApPBEAgACkDGCADhSIFIAApAwh8IgYgACkDECIEIAApAwB8IgcgBEINiYUiCHwhBCAAIAQgCEIRiYU3AxAgACAEQiCJNwMIIAAgBiAFQhCJhSIEIAdCIIl8IgUgBEIViYU3AxggACADIAWFNwMADAELIAAgAiALajYCPA8LIAIgCmsiAkEHcSEJIAogAkF4cSICSQRAIAApAwghBCAAKQMQIQMgACkDGCEFIAApAwAhBgNAIAEgCmopAAAiByAFhSIFIAR8IgggAyAGfCIGIANCDYmFIgN8IQQgBCADQhGJhSEDIAggBUIQiYUiBSAGQiCJfCIGIAVCFYmFIQUgBEIgiSEEIAYgB4UhBiACIApBCGoiCksNAAsgACADNwMQIAAgBTcDGCAAIAQ3AwggACAGNwMACyAJAn8gCUEDTQRAQgAhA0EADAELIAEgCmo1AAAhA0EECyICQQFySwRAIAEgAiAKamozAAAgAkEDdK2GIAOEIQMgAkECciECCyAAIAIgCUkEfiABIAIgCmpqMQAAIAJBA3SthiADhAUgAws3AzAgACAJNgI8C6EFAQh/IwBBMGsiBiQAAkACQAJAAkACQAJAAkACQCABIABB7ABqIggoAgAiBUkEQCAFIQQMAQsgBSABQQFqIgRLDQEgAEHoAGooAgAiAyAEQQV2IARBH3EiCUEAR2oiByADIAdJGyIKIAVBBXYgBUEfcUEAR2oiBUsEQCAAKAJgIAVBAnRqQQAgCiAFa0ECdBCJDRoLIAMgB0kEQCAHIANrIgUgAEHkAGooAgAgA2tLBEAgAEHgAGogAyAFEIkGIAAoAmghAwsgACgCYCADQQJ0akEAIAVBAnQQiQ0aIAAgAyAFaiIDNgJoCyAIIAQ2AgAgCUUNACADQQFrIQQgA0UNAiAAKAJgIARBAnRqIgQgBCgCAEF/IAl0QX9zcTYCACAAKAJsIQQLIAEgBE8NAiABQQV2IgQgAEHoAGooAgBPDQJBsIrCAEGxisIAQQEgAXQiBSAAKAJgIARBAnRqKAIAcRstAAANBSAAQYABaigCACIDIABB/ABqKAIARgRAIABB+ABqIAMQqAYgACgCgAEhAwsgACADQQFqNgKAASAAKAJ4IANBAnRqIAE2AgAgBiABNgIEIAAoAmwgAU0NAyAAKAJoIgEgBE0NBCAAKAJgIARBAnRqIgEgASgCACAFcjYCACACRQ0GIAAgACgCdEEBajYCdAwGC0GGv8AAQRFBuNjAABDhCQALIARBAEHM18AAEOMIAAtB6PnAAEETQbj7wQAQ4QkACyAGQSBqIgBBDGpBigE2AgAgBkEIaiIBQQxqQgI3AgAgBkECNgIMIAZB+NfAADYCCCAGIAg2AiggBkGKATYCJCAGIAA2AhAgBiAGQQRqNgIgIAFBiNjAABDcCgALIAQgAUGo2MAAEOMIAAsgAEECOgCQAQsgBkEwaiQAC6AFARR9IAFBHGoqAgAhBSABQcwAaioCACEOIAFBPGoqAgAhDyABKgIMIQggAUEsaioCACELIAFB3ABqKgIAIRAgAUEYaioCACEDIAFByABqKgIAIREgAUE4aioCACESIAEqAgghBiABQShqKgIAIQwgAUHYAGoqAgAhEyABQRRqKgIAIQQgAUHEAGoqAgAhFCABQTRqKgIAIQogASoCBCEHIAFBJGoqAgAhDSABQdQAaioCACEVIAEqAgAiAiABKgIwjCIJIAIgCWAbIgJDAAAAACACQwAAAABgGyICIAKUIAEqAhAiAiABQUBrKgIAjCIJIAIgCWAbIgJDAAAAACACQwAAAABgGyICIAKUkiABKgIgIgIgAUHQAGoqAgCMIgkgAiAJYBsiAkMAAAAAIAJDAAAAAGAbIgIgApSSEJsBIQIgByAKjCIKIAcgCmAbIgdDAAAAACAHQwAAAABgGyIHIAeUIAQgFIwiByAEIAdgGyIEQwAAAAAgBEMAAAAAYBsiBCAElJIgDSAVjCIEIAQgDV8bIgRDAAAAACAEQwAAAABgGyIEIASUkhCbASEEIAYgEowiByAGIAdgGyIGQwAAAAAgBkMAAAAAYBsiBiAGlCADIBGMIgYgAyAGYBsiA0MAAAAAIANDAAAAAGAbIgMgA5SSIAwgE4wiAyADIAxfGyIDQwAAAAAgA0MAAAAAYBsiAyADlJIQmwEhAyAAIAggD4wiBiAGIAhfGyIIQwAAAAAgCEMAAAAAYBsiCCAIlCAFIA6MIgggBSAIYBsiBUMAAAAAIAVDAAAAAGAbIgUgBZSSIAsgEIwiBSAFIAtfGyIFQwAAAAAgBUMAAAAAYBsiBSAFlJIQmwE4AgwgACADOAIIIAAgBDgCBCAAIAI4AgAL6wQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0G4ncAAQRtB6JDAABChCwALIABBADYCKCAAQQA2AgAL6wQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0HAhcEAQRtB0M7AABC7CwALIABBADYCKCAAQQA2AgAL5AQCCH0HfwJAAkACQCABKAIMIgxBAWsgAk0NAiABKAIQIg5BAWsgA00NAiABQSBqKAIAIg0gAk0NASABQSRqKAIAIANNDQEgASgCFCADIA1sIAJqai0AACINQQZxQQZGBEAMAwsgAiAMTw0BIAMgDk8NASACQQFqIg8gDE8NASADQQFqIhEgDk8NASABKAIAIhAgAyAMbCISIAJqQQJ0aioCACEEIABDAACAPyAOs0MAAIC/kpUiBiARs5RDAAAAv5IgASoCKCIFlCIIOAIcIAAgBSAGIAOzlEMAAAC/kpQiCTgCECAAIAk4AgQgACANQQJxRTYCACAAQwAAgD8gDLNDAACAv5KVIgUgD7OUQwAAAL+SIAFBMGoqAgAiB5QiBjgCGCAAIAcgBSACs5RDAAAAv5KUIgU4AgwgACAEIAFBLGoqAgAiBJQiCjgCCCAAIAQgECAPIBJqQQJ0aioCAJQiCzgCFCAEIBAgDCARbCIBIA9qQQJ0aioCAJQhByAEIBAgASACakECdGoqAgCUIQQgDUEEcUUhASANQQFxRQ0AIAAgBTgCTCAAIAQ4AkggACAIOAJEIAAgBjgCQCAAIAc4AjwgACAIOAI4IAAgBTgCNCAAIAo4AjAgACAJOAIsIAAgATYCKCAAIAY4AiQgACAHOAIgDwsgACAFOAJMIAAgBDgCSCAAIAg4AkQgACAGOAJAIAAgBzgCPCAAIAg4AjggACAGOAI0IAAgCzgCMCAAIAk4AiwgACABNgIoIAAgBTgCJCAAIAQ4AiAPC0H4qcMAELwLAAsgAEEANgIoIABBADYCAAvrBAIGfQZ/IwBBIGsiCiQAIAEoAggiCARAIAEoAgAiASAIQQxsIgxqIQ0gASoCCEQAAAAAAADwPyAIuKO2IgKUIQMgASoCBCAClCEEIAEqAgAgApQhBQJAIAhBAUYNACABQQxqIQgCQCAMQRhrIgtBDG5BAXEEQCAIIQkgASEIDAELIAFBGGohCSAFIAEqAgwgApSSIQUgAyABQRRqKgIAIAKUkiEDIAQgAUEQaioCACAClJIhBAsgC0EMSQ0AA0AgBSAJKgIAIAKUkiAJQQxqIgsqAgAgApSSIQUgAyAIQRRqKgIAIAKUkiAJQRRqKgIAIAKUkiEDIAQgCEEQaioCACAClJIgCUEQaioCACAClJIhBCALIQggDSAJQRhqIglHDQALCwJAIAxBDGsiCEEMbkEBcQRAQwAAAAAhAgwBCyAFIAEqAgCTIgIgApQgBCABKgIEkyICIAKUkiADIAEqAgiTIgIgApSSIgJDAAAAACACQwAAAABeGyECIAFBDGohAQsgCEEMTwRAA0AgBSABQQxqKgIAkyIGIAaUIAQgAUEQaioCAJMiBiAGlJIgAyABQRRqKgIAkyIGIAaUkiIGIAUgASoCAJMiByAHlCAEIAFBBGoqAgCTIgcgB5SSIAMgAUEIaioCAJMiByAHlJIiByACIAIgB10bIgIgAiAGXRshAiANIAFBGGoiAUcNAAsLIAAgAhCbATgCDCAAIAM4AgggACAEOAIEIAAgBTgCACAKQSBqJAAPCyAKQRRqQgA3AgAgCkEBNgIMIApBuKrDADYCCCAKQbSKwgA2AhAgCkEIakGoq8MAENwKAAuKBQICfw19IwBBQGoiBCQAIAIqAgAiByAHlCACKgIIIgggCJSSEJsBIQkgASoCBCEKAkACQAJAIAIqAgQiCyABKgIAIgaMIgxdIAkgCl9xRQRAIARBGGogDDgCACAEQRxqQwAAAAAgCCAJlSAJQwAAADRfIgEbIAqUIg04AgAgBEEANgIQIAQgBjgCDCAEQQA2AgggBEMAAIA/IAcgCZUgARsgCpQiCTgCFCAEQSRqIgEgBEEIaiACEPICIARBImoiBSABQQ9qLQAAOgAAIAQgBC8AMTsBICAELQAwIQEgBCoCLCEKIAQqAighDiAEKgIkIQ8gCyAMYEUNAiAGIAtgRQ0CIAZDAAAAwJQiESAJlCAMIAaTIhBDAAAAAJQiEpMgCSALIAaTIgaUIAcgEJSTlCAHIA2UIAggCZSTIA1DAAAAAJQgCUMAAAAAlJOUIBIgESANlJMgCCAQlCANIAaUk5SSkkMAAAAAYEUNAiADDQEgCiAIkyIGIAaUIA8gB5MiBiAGlCAOIAuTIgYgBpSSkiAIIAiTIgYgBpQgByAHkyIGIAaUIAwgC5MiCyALlJKSXkUEQCAAQQE6AAwgACAKOAIIIAAgDjgCBCAAIA84AgAgACAELwEgOwANIABBD2ogBEEiai0AADoAAAwECyAAIAg4AgggACAMOAIEIAAgBzgCACAAQQE6AAwMAwsgACAIOAIIIAAgDDgCBCAAIAc4AgAgAEEAOgAMDAILIABBAToADCAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIADAELIAAgAToADCAAIAo4AgggACAOOAIEIAAgDzgCACAAIAQvASA7AA0gAEEPaiAFLQAAOgAACyAEQUBrJAALywQBE30gAyoCBCACQRRqKgIAIhWTIhIgAioCCCIMlCADKgIIIAJBGGoqAgAiFpMiCSACKgIEIg2UkyIFIAWSIRAgCSACKgIAIg6UIAMqAgAgAioCECIXkyIGIAyUkyIFIAWSIREgBiACKgIMIhMgEJQgDCARlCANIAYgDZQgEiAOlJMiBSAFkiIHlJOSkiIKIAqUIAkgEyAHlCANIBCUIA4gEZSTkpIiCyALlJIQmwEhDyABKgIEIhRDAAAAACALIA+VIA9DAAAANF8iAhuUIQkgFEMAAIA/IAogD5UgAhuUIQYCQAJAAkACQAJAAkAgASoCACIIjCIFIBIgEyARlCAOIAeUIAwgEJSTkpIiB19FDQAgDyAUX0UNACAHIAhfDQELIAcgCF4NAUEAIQIgBSAHXkUNAyAPIBRfDQQgCSELIAYhCgwEC0EBIQIgBEUNASAHIQUMAwtBACECIA8gFF9FBEAgCSELIAghBSAGIQoMAwsgCCEFDAILIBQgD5MhEAJAIAggB5MiESAIIAeSIhJdRQ0AIBAgEV5FDQAgCCEFDAILIBEgEl5FDQAgECASXg0BCyAJIQsgByEFIAYhCgsgACACOgAMIAAgFiALIBMgDiAFlCANIAqUkyIGIAaSIgiUIA4gDCAKlCAOIAuUkyIGIAaSIgmUIA0gDSALlCAMIAWUkyIGIAaSIgaUk5KSkjgCCCAAIBUgBSATIAmUIAwgBpQgDiAIlJOSkpI4AgQgACAXIAogBiATlCANIAiUIAwgCZSTkpKSOAIAC7EFAgx9AX8jAEEQayEQIAEqAgggAioCCCIMkyIFQwAAAAAgBUMAAAAAYBsgDCABQRRqKgIAkyIGQwAAAAAgBkMAAAAAYBuTIQcgASoCBCACKgIEIg2TIghDAAAAACAIQwAAAABgGyANIAFBEGoqAgCTIglDAAAAACAJQwAAAABgG5MhCgJAAkAgASoCACACKgIAIg6TIgtDAAAAACALQwAAAABgGyAOIAEqAgyTIgRDAAAAACAEQwAAAABgG5MiD0MAAAAAXA0AIApDAAAAAFwNACAHQwAAAABbDQELIAAgDzgCECAAQQA6AAwgAEEYaiAHOAIAIABBFGogCjgCACAAIAwgB5I4AgggACANIAqSOAIEIAAgDiAPkjgCAA8LAkACQCADRQRAIAQgC14NAUP//3//IQRBACECIAtD//9//15FDQJBASECIAshBAwCCyAAQQE6AAwgACAPOAIQIAAgAikCADcCACAAQRhqIAc4AgAgAEEUaiAKOAIAIABBCGogAkEIaigCADYCAA8LQQAhAiAEQ///f/9eDQBD//9//yEECwJ/IAggCV1FBEBBACAEIAhdRQ0BGkEBIQIgCCEEQQEMAQtBACAEIAldRQ0AGkEAIQIgCSEEQQELIQECQAJAAkACQCAFIAZdRQRAIAQgBV1FDQEgEEEANgIMIBBCADcCBEECIQEgBSEEDAMLIAQgBl1FDQAgEEEANgIMIBBCADcCBEECIQEgBiEEDAELIBBBADYCDCAQQgA3AgQgAg0BCyAQQQRqIAFBAnRqIASMOAIADAELIBBBBGogAUECdGogBDgCAAsgACAQKQIENwIQIABBAToADCAAIA0gECoCCJI4AgQgACAOIBAqAgSSOAIAIABBGGogEEEMaiIBKAIANgIAIAAgDCABKgIAkjgCCAuUBQIFfwN+IwBBgAFrIgQkACABvCEGAn9BAyABi0MAAIB/Ww0AGkECIAEgAVwNABpBBCAGQf////8HcUUNABogBkH///8DcUGAgIAEciAGQQF0Qf7//wdxIAZBF3ZB/wFxIgUbIgetIglCAYMhCiAGQYCAgPwHcUUEQCAFQZYBayEHQgEhCyAKUAwBC0KAgIAQIAlCAYYgB0GAgIAERiIHGyEJQgJCASAHGyELQeh+Qel+IAcbIAVqIQcgClALIQUgBCAHOwF4IAQgCzcDcCAEQgE3A2ggBCAJNwNgIAQgBToAegJ/AkACQEEDIAVBAmtB/wFxIgUgBUEDTxsiCARAQdbZwwBB19nDACAGQQBIIgUbQdbZwwBB+MHDACAFGyACGyEHQQEhBUEBIAZBH3YgAhshBgJAIAhBAmsOAgMAAgsgBEEgaiAEQeAAaiAEQQ9qEHECQCAEKAIgRQRAIARB0ABqIARB4ABqIARBD2oQKwwBCyAEQdgAaiAEQShqKAIANgIAIAQgBCkCIDcDUAsgBCAEKAJQIAQoAlQgBC8BWCADIARBIGoQoAQgBCgCBCEFIAQoAgAMAwsgBEEDNgIoIARB2NnDADYCJCAEQQI7ASBBASEFQQAhBkH4wcMAIQcgBEEgagwCCyAEQQM2AiggBEHb2cMANgIkIARBAjsBICAEQSBqDAELQQIhBSAEQQI7ASAgAwRAIARBMGpBATYCACAEQQA7ASwgBEECNgIoIARBrdnDADYCJCAEQSBqDAELQQEhBSAEQQE2AiggBEHe2cMANgIkIARBIGoLIQIgBEHcAGogBTYCACAEIAI2AlggBCAGNgJUIAQgBzYCUCAAIARB0ABqENECIQAgBEGAAWokACAAC5AFAQR/IAAoAggiBCABSQRAIAQhBSABIARrIgYgACgCBCAEa0sEQCAAIAQgBhCdBiAAKAIIIQULIAAoAgAgBUEYbGohAyAGQQJPBEAgBEF/cyABaiIEQQdxIQEgBkECa0EHTwRAIARBeHEhBANAIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIANBGGpCADcCACADQSBqQgA3AgAgA0EoakIANwIAIANBMGpCADcCACADQThqQgA3AgAgA0FAa0IANwIAIANByABqQgA3AgAgA0HQAGpCADcCACADQdgAakIANwIAIANB4ABqQgA3AgAgA0HoAGpCADcCACADQfAAakIANwIAIANBiAFqQgA3AgAgA0GAAWpCADcCACADQfgAakIANwIAIANBoAFqQgA3AgAgA0GYAWpCADcCACADQZABakIANwIAIANBqAFqQgA3AgAgA0GwAWpCADcCACADQbgBakIANwIAIANBwAFqIQMgBEEIayIEDQALCyABBEADQCADQgA3AgAgA0EQakIANwIAIANBCGpCADcCACADQRhqIQMgAUEBayIBDQALCyAFIAZqQQFrIQULIANCADcCACADQRBqQgA3AgAgA0EIakIANwIAIAVBAWohAQsgACABNgIIAkACQAJAIAJFBEBBBCEDDAELIAJB////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NgIAIAVBBEkNACACNQAEIQkgASAEQQxrIgU2AgQgASACQQxqNgIAIAVBBEkNASACNQAIIQogASAEQRBrIgU2AgQgASACQRBqNgIAIAVBBEkNASACKAAMIQUgASAEQRRrIgY2AgQgASACQRRqNgIAIAZBBEkNASACNQAQIQsgASAEQRhrIgY2AgQgASACQRhqNgIAAkAgBkEESQ0AIAI1ABQhDCABIARBHGsiBjYCBCABIAJBHGo2AgAgBkEESQ0AIAIoABghBiABIARBIGsiCDYCBCABIAJBIGo2AgAgCEEESQ0AIAI1ABwhDSAAIAc2AgQgASAEQSRrNgIEIAEgAkEkajYCACAAQRxqIAY2AgAgAEEUaiAMQiCGIAuENwIAIABBEGogBTYCACAAQQhqIApCIIYgCYQ3AgAgAEEgaiANIAI1ACBCIIaENwIAQQAMAwsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIAAgA0EIahDqCjYCBEEBDAILIANBADoACyADQSU7AAkgA0EENgIMIANBAToACCAAIANBCGoQ6go2AgRBAQwBCyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQELNgIAIANBEGokAAu/BAEDfyMAQTBrIgMkACADIAEqAgwgAkE8aioCAF86ABMgAyABKgIIIAJBOGoqAgBfOgASIAMgASoCBCACQTRqKgIAXzoAESADIAEqAgAgAioCMF86ABAgAyACKgIMIAFBPGoqAgBfOgAjIAMgAioCCCABQThqKgIAXzoAIiADIAIqAgQgAUE0aioCAF86ACEgAyACKgIAIAEqAjBfOgAgIAMgA0EQaiIEIANBIGoiBRDKCSADIAFBHGoqAgAgAkHMAGoqAgBfOgAjIAMgAUEYaioCACACQcgAaioCAF86ACIgAyABQRRqKgIAIAJBxABqKgIAXzoAISADIAEqAhAgAkFAayoCAF86ACAgBCADIAUQygkgAyACQRxqKgIAIAFBzABqKgIAXzoAIyADIAJBGGoqAgAgAUHIAGoqAgBfOgAiIAMgAkEUaioCACABQcQAaioCAF86ACEgAyACKgIQIAFBQGsqAgBfOgAgIAMgBCAFEMoJIAMgAUEsaioCACACQdwAaioCAF86ACMgAyABQShqKgIAIAJB2ABqKgIA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IAZBvQVqIghBC2pCADcAACAGQaoFaiIJQQtqQgA3AAAgBkGXBWoiCkELakIANwAAIAZBhAVqIgtBC2pCADcAACAGQgA3A6gDIAZCADcD0AMgBkIANwADIAZCADcAwAUgBkIANwCtBSAGQgA3AJoFIAZCADcAhwUgBkGcA2pCADcCACAGQgA3ApQDIAZB8QNqIAZBCGopAAA3AAAgBkH4A2ogBkEPaigAADYAACAGIAYpAAA3AOkDIAZBlARqIAhBD2ooAAA2AAAgBkGNBGogCEEIaikAADcAACAGIAYpAL0FNwCFBCAGQbAEaiAJQQ9qKAAANgAAIAZBqQRqIAlBCGopAAA3AAAgBiAGKQCqBTcAoQQgBkHMBGogCkEPaigAADYAACAGQcUEaiAKQQhqKQAANwAAIAYgBikAlwU3AL0EIAZB6ARqIAtBD2ooAAA2AAAgBkHhBGogC0EIaikAADcAACAGIAYpAIQFNwDZBCAGQgA3A8gCIAZCADcDwAIgBkGAAjsB/AQgBkE+NgL4BCAGQQA6APQEIAZC////+wc3AuwEIAZBADoA2AQgBkL////7BzcD0AQgBkEAOgC8BCAGQv////sHNwK0BCAGQQA6AKAEIAZC////+wc3A5gEIAZBADoAhAQgBkL////7BzcC/AMgBkEAOgDoAyAGQv////sHNwPgAyAGQgA3A8gDIAZCgICA/AM3A8ADIAZBgICA/AM2AqQDIAZB////+wc2ApADIAZCgICAgPD//79/NwOIAyAGQv////v///+//wA3A4ADIAZC////+wc3A/gCIAZCgICAgPD//79/NwPwAiAGQv////v///+//wA3A+gCIAZC////+wc3A+ACIAZCgICAgPD//79/NwPYAiAGQv////v///+//wA3A9ACIAZBmANqIAdBzAJqIggQ0gMgBiAGQcACakHAAhCIDSIGQfQAaiAIENIDIAdB2AdqIgggBkHAAhCIDRogBkHQBWokACAHQcgIaiAAQQRqIgZBCGooAgA2AgAgB0HACGogBikCADcDACAHQZgFaiIGIAhBwAIQiA0aIAdBpAZqIAFBBGoiCEEIaigCADYCACAHIAgpAgA3ApwGIAdB2AJqIAZBwAIQiA0aIAMNAgwDCxD4DAALEPkMAAsgB0HYB2oiAyAHQdgCaiIGQcACEIgNGiAHIAU4ApwFIAcgBDgCmAUgAyAHQZgFaikCADcDECADIAMtALkCQQFyOgC5AiAGIANBwAIQiA0aCyAHQQhqIAdB2AJqQb0CEIgNGiAHLwGWBSEJIAIoAgBBAWshCCAHLQCVBQshBiACIAg2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQICQCAGQQJHBEAgB0HcB2ogB0EIakG9AhCIDRpBkfvDAC0AABpByAJBCBCCDCICRQ0BIAJBADYCACACQQRqIAdB2AdqQcECEIgNGiACIAk7AcYCIAIgBjoAxQILIAdBoApqJAAgAg8LQQhByAJB0IHEACgCACIAQZcHIAAbEQAAAAuWCgEOfyMAQZAIayIFJAACQAJAAkAgAEUNACAAKAIAIgRBf0YNASAAIARBAWo2AgAgAUUNACABKAIAIgRBf0YNASABIARBAWo2AgAgAkUNACACKAIAIgRBf0YNASACIARBAWo2AgAgA0UNACADKAIAIgRBf0YNASADIARBAWo2AgAgBUHIAmoiBEEIaiIMIAFBBGoiBkEIaikCADcDACAEQRBqIg0gAEEEaiIHKQIANwMAIARBGGoiDiAHQQhqKAIANgIAIAVB6AJqIgRBCGoiDyADQQxqKQIANwMAIARBEGoiECACQQRqIgcpAgA3AwAgBEEYaiIRIAdBCGooAgA2AgAgBSAGKQIANwPIAiAFIAMpAgQ3A+gCIwBB4ABrIgZBzQBqIgdBC2pCADcAACAGQTpqIghBC2pCADcAACAGQSdqIglBC2pCADcAACAGQRRqIgpBC2pCADcAACAFQcgFaiIEQfgAakIANwMAIARB8ABqQgA3AwAgBEIANwNoIARCADcDkAEgBEGYAWpCADcDACAGQQFqIgtBC2pCADcAACAEQdwAakIANwIAIARCADcCVCAGQgA3AFAgBEGxAWogB0EIaikAADcAACAGQgA3AD0gBkIANwAqIAZCADcAFyAGQgA3AAQgBCAGKQBNNwCpASAEQbgBaiAHQQ9qKAAANgAAIAQgBikAOjcAxQEgBEHNAWogCEEIaikAADcAACAEQdQBaiAIQQ9qKAAANgAAIAQgBikAJzcA4QEgBEHpAWogCUEIaikAADcAACAEQfABaiAJQQ9qKAAANgAAIARBjAJqIApBD2ooAAA2AAAgBEGFAmogCkEIaikAADcAACAEIAYpABQ3AP0BIARBqAJqIAtBD2ooAAA2AAAgBEGhAmogC0EIaikAADcAACAEIAYpAAE3AJkCIARCADcDCCAEQgA3AwAgBEGAAjsBvAIgBEE/NgK4AiAEQQA6ALQCIARC////+wc3AqwCIARBADoAmAIgBEL////7BzcDkAIgBEEAOgD8ASAEQv////sHNwL0ASAEQQA6AOABIARC////+wc3A9gBIARBADoAxAEgBEL////7BzcCvAEgBEEAOgCoASAEQv////sHNwOgASAEQgA3A4gBIARCgICA/AM3A4ABIARBgICA/AM2AmQgBEH////7BzYCUCAEQoCAgIDw//+/fzcDSCAEQv////v///+//wA3A0AgBEL////7BzcDOCAEQoCAgIDw//+/fzcDMCAEQv////v///+//wA3AyggBEL////7BzcDICAEQoCAgIDw//+/fzcDGCAEQv////v///+//wA3AxAgBUG4BmogDigCADYCACAFQbAGaiANKQMANwMAIAVBqAZqIAwpAwA3AwAgBSAFKQPIAjcDoAYgBUGIA2oiBiAEQcACEIgNGiAFQYQEaiAPKQMANwIAIAVBjARqIBApAwA3AgAgBUGUBGogESgCADYCACAFIAUpA+gCNwL8AyAFQQhqIgcgBkHAAhCIDRogAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIARBBGogB0HAAhCIDRpBkfvDAC0AABpByAJBCBCCDCIARQ0CIABBADYCACAAQQRqIAVByAVqQcQCEIgNGiAFQZAIaiQAIAAPCxD4DAALEPkMAAtBCEHIAkHQgcQAKAIAIgBBlwcgABsRAAAAC/YDAQ99IAIqAgAgASoCEJMiCiABKgIEIgSUIAIqAgQgAUEUaioCAJMiDSABKgIAIgWUkyIGIAaSIQggDSABKgIIIgaUIAIqAgggAUEYaioCAJMiByAElJMiCyALkiEJIAcgASoCDCILIAiUIAQgCZQgBSAHIAWUIAogBpSTIgcgB5IiB5STkpIiDiAOlCAKIAsgCZQgBiAHlCAEIAiUk5KSIg8gD5QgDSALIAeUIAUgCJQgBiAJlJOSkiINIA2UkpIgACoCACIIIAiUkyEIQwAAAAAhByAEIAIqAgwiEJQgBSACQRBqKgIA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ajYCCCAPQawBaioCACEeIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsgCkEEajYCCCALKAIAIApqIB44AAAgD0HgAGogEEEEahDcBiIKDQMgD0HsAGogEEEEahDcBiIKDQMgD0H4AGogEEEEahDcBiIKDQMgD0GEAWogEEEEahDcBiIKDQMgD0GUAWoqAgAhHiAPQZABaioCACEfIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHzgAACALIApBBGoiCjYCCCALKAIEIAprQQNNBEAgCyAKQQQQyAYgCygCCCEKCyALIApBBGo2AgggCygCACAKaiAeOAAAIA9B/AFqIBBBBGoQ3AYiCg0DIA9BiAJqIBBBBGoQ3AYiCg0DIA9BlAJqKgIAIR4gECgCBCILKAIIIQogCygCBCAKa0EDTQRAIAsgCkEEEMgGIAsoAgghCgsgCyAKQQRqNgIIIAsoAgAgCmogHjgAACAPQZgCaiAQQQRqENwGIgoNAyAPQaQCaiAQQQRqENwGIgoNAyAPQdgCaioCACEeIBAoAgQiCygCCCEKIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHjgAACALIApBBGoiCjYCCCAPQdwCaioCACEeIAsoAgQgCmtBA00EQCALIApBBBDIBiALKAIIIQoLIAsoAgAgCmogHjgAACALIApBBGoiCjYCCCAPQeACai0AACEMIAogCygCBEYEQCALIApBARDIBiALKAIIIQoLIAsoAgAgCmogDDoAACALIApBAWoiCjYCCCAPQeECai0AACEMIAogCygCBEYEQCALIApBARDIBiALKAIIIQoLIAsoAgAgCmogDDoAACALIApBAWo2AgggDzUCCCEcIBAoAgQiCygCCCEKIAsoAgQgCmtBB00EQCALIApBCBDIBiALKAIIIQoLIAsoAgAgCmogHDcAACALIApBCGoiCjYCCCAPQQxqNQIAIRwgCygCBCAKa0EHTQRAIAsgCkEIEMgGIAsoAgghCgsgCygCACAKaiAcNwAAIAsgCkEIaiIKNgIIIA9BEGo1AgAhHCALKAIEIAprQQdNBEAgCyAKQQgQyAYgCygCCCEKCyALKAIAIApqIBw3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QQRqIgo2AgggDCgCACALaiAPNgAAIA4gDUEIaiINRw0ACwsgFSgCGCIRQRBqKAIAIQwgESgCCCETIBAoAgQiCigCCCELIAooAgQgC2tBB00EQCAKIAtBCBDIBiAKKAIIIQsLIAogC0EIajYCCCAKKAIAIAtqIAytNwAAIAwEQCAMQagBbCEUQQAhCwNAAkACQAJAAkACQAJAAkACQCALIBNqIgwoAgBFBEAgECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEANgAAIAogDUEEajYCCCAQKAIEIQogDEEEaigCAA0BIAooAggiDiAKKAIERgRAIAogDkEBEMgGIAooAgghDgsgCigCACAOakEAOgAAIAogDkEBajYCCAwICyAQKAIEIgooAgghDSAKKAIEIA1rQQNNBEAgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qQQE2AAAgCiANQQRqNgIIIAxBBGooAgAhDiAQKAIEIgooAgghDSAKKAIEIA1rQQRJBEAgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qIA42AAAgCiANQQRqNgIIIAxBoAFqLQAAIQ4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANaiAONgAAIAogDUEEajYCCCAMQThqIBBBBGoQLCIKDQogDEEwaigCAEEBaw4CAgUBCyAMQQhqKAIAIQwgCigCCCIOIAooAgRGBEAgCiAOQQEQyAYgCigCCCEOCyAKKAIAIA5qQQE6AAAgCiAOQQFqIg42AgggCigCBCAOa0EDTQRAIAogDkEEEMgGIAooAgghDgsgCigCACAOaiAMNgAAIAogDkEEajYCCAwGCyAMQTRqKgIAIR4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEANgAAIAogDUEEaiINNgIIIAooAgQgDWtBA00NAQwCCyAMQTRqKgIAIR4gECgCBCIKKAIIIQ0gCigCBCANa0EDTQRAIAogDUEEEMgGIAooAgghDQsgCigCACANakEBNgAAIAogDUEEaiINNgIIIAooAgQgDWtBA0sNAQsgCiANQQQQyAYgCigCCCENCyAKKAIAIA1qIB44AAAgCiAN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aiIHQQtqQgA3AAAgA0GEBWoiCEELakIANwAAIANCADcDqAMgA0IANwPQAyADQgA3AAMgA0IANwDABSADQgA3AK0FIANCADcAmgUgA0IANwCHBSADQZwDakIANwIAIANCADcClAMgA0HxA2ogA0EIaikAADcAACADQfgDaiADQQ9qKAAANgAAIAMgAykAADcA6QMgA0GUBGogBUEPaigAADYAACADQY0EaiAFQQhqKQAANwAAIAMgAykAvQU3AIUEIANBsARqIAZBD2ooAAA2AAAgA0GpBGogBkEIaikAADcAACADIAMpAKoFNwChBCADQcwEaiAHQQ9qKAAANgAAIANBxQRqIAdBCGopAAA3AAAgAyADKQCXBTcAvQQgA0HoBGogCEEPaigAADYAACADQeEEaiAIQQhqKQAANwAAIAMgAykAhAU3ANkEIANCADcDyAIgA0IANwPAAiADQYACOwH8BCADQTc2AvgEIANBADoA9AQgA0L////7BzcC7AQgA0EAOgDYBCADQv////sHNwPQBCADQQA6ALwEIANC////+wc3ArQEIANBADoAoAQgA0L////7BzcDmAQgA0EAOgCEBCADQv////sHNwL8AyADQQA6AOgDIANC////+wc3A+ADIANCADcDyAMgA0KAgID8AzcDwAMgA0GAgID8AzYCpAMgA0H////7BzYCkAMgA0KAgICA8P//v383A4gDIANC////+////7//ADcDgAMgA0L////7BzcD+AIgA0KAgICA8P//v383A/ACIANC////+////7//ADcD6AIgA0L////7BzcD4AIgA0KAgICA8P//v383A9gCIANC////+////7//ADcD0AIgA0GYA2ogBEHMAmoiBRDSAyADIANBwAJqQcACEIgNIgNB9ABqIAUQ0gMgBEGYBWoiBSADQcACEIgNGiADQdAFaiQAIARBiAZqIABBBGoiA0EIaigCADYCACAEQYAGaiADKQIANwMAIARB2AJqIgMgBUG9AhCIDRogBC8B1gchBiAELQDVByEFIARB5ANqIAFBBGoiB0EIaigCADYCACAEIAcpAgA3AtwDIARBCGogA0G9AhCIDRogAigCAEEBawUgAws2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEEAIQIgBUECRwRAIARBnAVqIARBCGpBvQIQiA0aQZH7wwAtAAAaQcgCQQgQggwiAkUNAyACQQA2AgAgAkEEaiAEQZgFakHBAhCIDRogAiAGOwHGAiACIAU6AMUCCyAEQeAHaiQAIAIPCxD4DAALEPkMAAtBCEHIAkHQgcQAKAIAIgBBlwcgABsRAAAAC6cDARB9IAJBFGoqAgAhDiACKgIQIQ8gAioCBCIKIAMqAgAiBpQgAioCACILIAMqAgQiBZSTIgcgB5IhCCACKgIIIgcgBZQgCiADKgIIIgSUkyIMIAySIQkgASoCCCIQIAQgAioCDCIMIAiUIAogCZQgCyALIASUIAcgBpSTIgQgBJIiBJSTkpIiDZQgASoCACIRIAYgDCAJlCAHIASUIAogCJSTkpIiBpQgASoCBCISIAUgDCAElCALIAiUIAcgCZSTkpIiCJSSkiABQRRqKgIAIgUgDZQgASoCDCIEIAaUIAFBEGoqAgAiEyAIlJKSXiEDIAAgAkEYaioCACANIAEqAhgiCZQgECAFIAMbkiIFIAwgCyAIIAmUIBIgEyADG5IiCJQgCiAGIAmUIBEgBCADG5IiCZSTIgYgBpIiBpQgCyAHIAmUIAsgBZSTIgQgBJIiBJQgCiAKIAWUIAcgCJSTIgUgBZIiBZSTkpKSOAIIIAAgDiAIIAwgBJQgByAFlCALIAaUk5KSkjgCBCAAIA8gCSAMIAWUIAogBpQgByAElJOSkpI4AgALswMBCn0gAioCBCIKIAMqAgAiB5QgAioCACILIAMqAgQiCJSTIgkgCZIhBiACKgIIIgkgCJQgCiADKgIIIgSUkyIFIAWSIQUgBCACKgIMIgwgBpQgCiAFlCALIAsgBJQgCSAHlJMiBCAEkiIElJOSkiINIA2UIAcgDCAFlCAJIASUIAogBpSTkpIiByAHlCAIIAwgBJQgCyAGlCAJIAWUk5KSIgUgBZSSkhCbASEGIAAgAkEYaioCACABKgIMIgggDSAGlSIElCAEvEGAgICAeHEgASgCCEH/////B3FyvpIiBCACKgIMIgwgCyAIIAUgBpUiBZQgBbxBgICAgHhxIAEoAgRB/////wdxcr6SIgWUIAogCCAHIAaVIgaUIAa8QYCAgIB4cSABKAIAQf////8HcXK+kiIGlJMiByAHkiIHlCALIAkgBpQgCyAElJMiCCAIkiIIlCAKIAogBJQgCSAFlJMiBCAEkiIElJOSkpI4AgggACACQRRqKgIAIAUgDCAIlCAJIASUIAsgB5STkpKSOAIEIAAgAioCECAGIAwgBJQgCiAHlCAJIAiUk5KSkjgCAAv5AwEHfyMAQSBrIgIkACAAIgYCfyABKAIEIgBFBEAgBkEANgIEQQAMAQsgASAAQQFrNgIEAkACQAJAIAEoAgAiBygCBCIEQQdNBEAgAkKByoCAgAE3AwggAkEIahDqCiEADAELIAcgBEEIazYCBCAHIAcoAgAiAEEIaiIINgIAIAJBGGogACkAABDSBSACKAIcIQAgAigCGA0AAkBBgIAQIAAgAEGAgBBPGyIDRQRAQQQhBQwBC0GR+8MALQAAGiADQQJ0IgFBBBCCDCIFRQ0CC0EAIQEgAkEANgIQIAIgAzYCDCACIAU2AgggAARAIARBDGshBANAIARBBGpBA00EQCACQoHKgIDAADcDGCACQRhqEOoKIQAgAigCDEUNAyACKAIIEJoCDAMLIAcgBDYCBCAHIAhBBGoiAzYCACAIKAAAIQggAigCDCABRgRAIAJBCGogARCoBiACKAIIIQUgAigCECEBCyAFIAFBAnRqIAg2AgAgAiABQQFqIgE2AhAgBEEEayEEIAMhCCAAQQFrIgANAAsgAigCCCEFIAIoAgwhAwsgBQ0CIAMhAAsgBiAANgIEQQEMAgtBBCABQdCBxAAoAgAiAEGXByAAGxEAAAALIAYgBTYCBCAGQQxqIAE2AgAgBkEIaiADNgIAQQALNgIAIAJBIGokAAuGBAEJfyMAQSBrIgIkAAJAAkAgASgCBCIDQQdNBEAgAkKByoCAgAE3AwggAkEIahDqCiEDDAELIAEgA0EIayIFNgIEIAEgASgCACIDQQhqNgIAIAJBGGogAykAABDSBSACKAIcIQMgAigCGA0AAn8CQAJAAkBBgIAIIAMgA0GAgAhPGyIERQRAQQQhBwwBC0GR+8MALQAAGiAEQQN0IgZBBBCCDCIHRQ0BCyACIAQ2AgwgAiAHNgIIQQAhBCACQQA2AhAgAwRAIAEoAgAhBgNAIAVBBEkNAyABIAVBBGsiBTYCBCABIAZBBGoiCDYCACAFQQRJBEAgAkKByoCAwAA3AxggAkEYahDqCgwFCyAGKAAAIQkgASAFQQRrIgU2AgQgASAIQQRqIgY2AgAgCCgAACEIIAIoAgwgBEYEQCACQQhqIAQQqwYgAigCCCEHIAIoAhAhBAsgByAEQQN0aiIKIAg2AgQgCiAJNgIAIAIgBEEBaiIENgIQIANBAWsiAw0ACwsgACACKQIINwIAIABBCGogAkEQaigCADYCAAwEC0EEIAZB0IHEACgCACIAQZcHIAAbEQAAAAsgAkKByoCAwAA3AxggAkEYahDqCgshASAAQQA2AgAgACABNgIEIAIoAgxFDQEgAigCCBCaAgwBCyAAQQA2AgAgACADNgIECyACQSBqJAAL3wMCBH8FfiMAQdAAayIDJAAgA0FAayIEQgA3AwAgA0IANwM4IAMgATcDMCADIAFC88rRy6eM2bL0AIU3AyAgAyABQu3ekfOWzNy35ACFNwMYIAMgADcDKCADIABC4eSV89bs2bzsAIU3AxAgAyAAQvXKzYPXrNu38wCFNwMIIAIoAgQhBSADIAIoAgA2AkwgA0EIaiICIANBzABqIgZBBBCkAiADIAU2AkwgAiAGQQQQpAIgAykDCCEBIAMpAxghACAENQIAIQcgAykDOCEIIAMpAyAhCSADKQMQIQogA0HQAGokACAAIAF8IgtCIIkgCCAHQjiGhCIHIAmFIgEgCnwiCCABQhCJhSIBfCIJIAFCFYmFIQEgASAIIABCDYkgC4UiCHwiCkIgiUL/AYV8IgsgAUIQiYUhACAAIAogCEIRiYUiASAHIAmFfCIHQiCJfCIIIABCFYmFIQAgACAHIAFCDYmFIgEgC3wiB0IgiXwiCSAAQhCJhSEAIAAgByABQhGJhSIBIAh8IgdCIIl8IgggAEIViYUhACAAIAFCDYkgB4UiASAJfCIHQiCJfCIJIAFCEYkgB4UiASAIfCABQg2JhSIBfCIHIABCEIkgCYVCFYkgAUIRiYUgB0IgiYWFC68DAgx9AX8jAEEwayIQJAAgAyoCACACKgIQIg2TIgwgAioCBCIHlCADKgIEIAJBFGoqAgAiDpMiCCACKgIAIgmUkyIGIAaSIQogCCACKgIIIgaUIAMqAgggAkEYaioCACIPkyIEIAeUkyILIAuSIQUgECAEIAIqAgwiCyAKlCAHIAWUIAkgBCAJlCAMIAaUkyIEIASSIgSUk5KSOAIQIBAgCCALIASUIAkgCpQgBiAFlJOSkjgCDCAQIAwgCyAFlCAGIASUIAcgCpSTkpI4AgggEEEUaiICIAEgEEEIahDyAiAQKgIUIQogECoCHCEFIBAqAhghDCAQLQAgIQEgAEEUakEAIAJBFGooAgAgECgCJCICGzYCACAAIAI2AhAgACABOgAMIAAgDyAFIAkgBiAKlCAJIAWUkyIIIAiSIgiUIAcgByAFlCAGIAyUkyIFIAWSIgWUkyALIAkgDJQgByAKlJMiBCAEkiIElJKSkjgCCCAAIA4gDCAGIAWUIAkgBJSTIAggC5SSkpI4AgQgACANIAogByAElCAGIAiUkyAFIAuUkpKSOAIAIBBBMGokAAu+AwEKfSAAIAEqAhgiBkOrqqo+lCABKgIMIgNDq6qqPpQgASoCACIEQ6uqqj6UkpIiCiAGkyIGIAaUIAFBHGoqAgAiBUOrqqo+lCABQRBqKgIAIghDq6qqPpQgASoCBCILQ6uqqj6UkpIiBiAFkyIFIAWUkiABQSBqKgIAIgdDq6qqPpQgAUEUaioCACIJQ6uqqj6UIAEqAggiDEOrqqo+lJKSIgUgB5MiByAHlJIiByAKIAOTIgMgA5QgBiAIkyIDIAOUkiAFIAmTIgMgA5SSIgMgCiAEkyIEIASUIAYgC5MiBCAElJIgBSAMkyIEIASUkiIEQwAAAAAgBEMAAAAAXhsiBCADIAReGyIDIAMgB10bEJsBOAIMIAAgAkEYaioCACAFIAIqAgwiCyAGIAIqAgAiA5QgCiACKgIEIgSUkyIIIAiSIgeUIAMgCiACKgIIIgiUIAUgA5STIgkgCZIiCZQgBCAEIAWUIAYgCJSTIgUgBZIiBZSTkpKSOAIIIAAgAkEUaioCACAGIAsgCZQgCCAFlCADIAeUk5KSkjgCBCAAIAIqAhAgCiALIAWUIAQgB5QgCCAJlJOSkpI4AgALpgMCCX0CfyMAQUBqIg0kACABKgIEIgggAioCDCILlCABKgIAIgkgAkEQaioCACIMlJMiBSAFkiEGIAEqAggiBSAMlCAIIAJBFGoqAgAiBJSTIgogCpIhByANQQRqIg5BFGogBCABKgIMIgogBpQgCCAHlCAJIAkgBJQgBSALlJMiBCAEkiIElJOSkjgCACAOQRBqIAwgCiAElCAJIAaUIAUgB5STkpI4AgAgDSALIAogB5QgBSAElCAIIAaUk5KSOAIQIAggAioCACABKgIQkyILlCAJIAIqAgQgAUEUaioCAJMiDJSTIgYgBpIhBiAMIAWUIAIqAgggAUEYaioCAJMiBCAIlJMiByAHkiEHIA0gBCAKIAaUIAggB5QgCSAEIAmUIAsgBZSTIgQgBJIiBJSTkpI4AgwgDSAMIAogBJQgCSAGlCAFIAeUk5KSOAIIIA0gCyAKIAeUIAUgBJQgCCAGlJOSkjgCBCANQRxqIAAgAEEMaiAAQRhqIA4QiQICfyANKAIcQQRHBEBBASANKgIkIANfDQEaC0EACyEBIA1BQGskACABC64DAgF/DH0jAEFAaiIGJAAgAyoCACACKgIQIhCTIgggAioCBCIJlCADKgIEIAJBFGoqAgAiEZMiCiACKgIAIguUkyIHIAeSIQwgCiACKgIIIgeUIAMqAgggAkEYaioCACISkyINIAmUkyIOIA6SIQ8gBiANIAIqAgwiDiAMlCAJIA+UIAsgDSALlCAIIAeUkyINIA2SIg2Uk5KSOAIUIAYgCiAOIA2UIAsgDJQgByAPlJOSkjgCECAGIAggDiAPlCAHIA2UIAkgDJSTkpI4AgwgBkEYaiABIAZBDGogBCAFEEECQAJAIAYoAixBBEcEQCAGLQAkIgFBAkcNAQsgAEECOgAMDAELIAYqAiAhBSAGKgIcIQwgBioCGCEPIAAgAToADCAAIBIgBSALIAcgD5QgCyAFlJMiCCAIkiIIlCAJIAkgBZQgByAMlJMiBSAFkiIFlJMgCyAMlCAJIA+UkyIKIAqSIgogDpSSkpI4AgggACARIAwgByAFlCALIAqUkyAIIA6UkpKSOAIEIAAgECAPIAkgCpQgByAIlJMgBSAOlJKSkjgCAAsgBkFAayQAC74DAQt9IAIqAgQiDSABKgIAIhGUIAEqAgQiDiACKgIAIg+UkyITIBEgBCoCBCIVlCAOIAQqAgAiFpSTlCAOIAIqAggiEpQgASoCCCIQIA2UkyIUIA4gBCoCCCIXlCAQIBWUk5QgECAPlCASIBGUkyIOIBAgFpQgESAXlJOUkpIhESAAAn8CQCAIQwAAAABfRQ0AIAdDAAAAAGBFDQBBACARQwAAAABdDQEaCyATIA8gBioCBCIHlCANIAYqAgAiEJSTlCAUIA0gBioCCCINlCASIAeUk5QgDiASIBCUIA8gDZSTlJKSIQcCQCAKQwAAAABfRQ0AIAlDAAAAAGBFDQBBASAHQwAAAABeDQEaCyATIAUqAgQiCSADKgIAIg2UIAMqAgQiDyAFKgIAIhKUk5QgFCAPIAUqAggiD5QgAyoCCCIQIAmUk5QgDiAQIBKUIA8gDZSTlJKSIQkCQCAMIAqTQwAAAABgRQ0AIAsgCJNDAAAAAGBFDQBBAiAJQwAAAABdDQEaCyAAIBE4AhAgACAHjDgCDCAAIAk4AgggACAXIBOUIA4gFZQgFCAWlJKSQwAAAABgRTYCBEEDCzYCAAvEIwQKfwt9An4BfAJAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIh1Bf0YNASACIB1BAWo2AgAgA0UNACADKAIAIh1Bf0YNASADIB1BAWo2AgAgB0UNACAHKAIAIh1Bf0YNASAHIB1BAWo2AgAgCEUNACAIKAIAIh1Bf0YNASAIIB1BAWo2AgAgCUUNACAJKAIAIh1Bf0YNASAJIB1BAWo2AgAgCkUNACAKKAIAIh1Bf0YNASAKIB1BAWo2AgAgC0UNACALKAIAIh1Bf0YNASALIB1BAWo2AgAgFEEDTQ0CQca3wABBGRD3DAALEPgMAAsQ+QwACyAAQQRqIRsgB0EEaiEfIApBBGohICALQQRqISEjAEGACmsiGiQAIBpBCGoiHUEQaiIiIAJBBGoiHCkCADcDACAdQQhqIiMgA0EEaiIeQQhqKQIANwMAIB1BGGoiHSAcQQhqKAIANgIAIBogHikCADcDCCAaQaAHaiIcQgA3AhQgHEIANwNAIBxBADoAiQEgHCAUOgCIASAcQQA2AnwgHEKAgID8AzcCdCAcQgA3AwAgHEEsakEANgIAIBxBJGpCADcCACAcQRxqQgA3AgAgHEHQAGpCADcDACAcQcgAakKAgICAgICAwD83AwAgHEHYAGpCADcDACAcQeAAakIANwMAIBxB6ABqQgA3AwAgHEHwAGpBADYCACAcQQhqQgA3AwAgHEEAOgCKASAcQYCAgPwDNgIQIBxCgICAgJCAgIABNwOAASAcQgA3AzAgHEE4akIANwMAIBogAUEARzoApwggGkHoAWoiFCAcQfQAEIgNGiAaQcwEaiAaQa4Iai8BADsBACAaQbACaiAjKQMANwMAIBpBuAJqICIpAwA3AwAgGkHAAmogHSgCADYCACAaIBooAaoINgLIBCAaIBopAwg3A6gCIBovAKcIIR4gGi0AqQghHSAcIBRB9AAQiA0aIBpBhAhqIAhBBGoiAUEIaigCADYCACAaIAEpAgA3AvwHIBQgHEHoABCIDRogGkG3AWogGkHNBGotAAA6AAAgGiAaKADJBDYAswEgGkHYAmogCUEEaiIBQQhqKAIANgIAIBogASkCADcD0AIgGkEoaiAUQfQAEIgNGiAaIBg6ALIBQQAhFCAaIB1BwAFxIAxFQQBBAiANG3JBAEEEIA4bckEAQQggDxtyQQBBECAQG3JBAEEgIBEbcnI6ALEBIBogHjsArwEgGiAXQQBHOgCuASAaIBZBAEc6AK0BIBogFUEARzoArAEgGiAZNgKoASAaIBM4AqQBIBogEjgCoAEgGiAEOAKcAQJAIAZFBEAgGkG8AWogHyAFICAgIRCIByAaQaAHaiAaQdgAakHgABCIDRogGkHoAWoiAUEIaiAaQcgBaikCADcDACABQRBqIBpB0AFqKQIANwMAIAFBGGogGkHYAWopAgA3AwAgAUEgaiAaQeABaikCADcDACAaIBopAsABNwPoASAaKgK8ASEFDAELIBpB6AFqIgZBIGogGkHQAGopAwA3AwAgBkEYaiAaQShqIgFBIGopAwA3AwAgBkEQaiABQRhqKQMANwMAIAZBCGogAUEQaikDADcDACAaIBopAzA3A+gBIBpBoAdqIBpB2ABqQeAAEIgNGkEBIRQLIBpBKGoiF0EQaiAaQfABaiIVKQMANwMAIBdBGGogGkHoAWoiGEEQaikDADcDACAXQSBqIBhBGGopAwA3AwAgGkHQAGogGEEgaikDADcDACAaIAU4AiwgGiAUNgIoIBogGikD6AE3AzAgGkHYAGogGkGgB2pB4AAQiA0aIwBBoAJrIhYkACAWQbgBaiIOQRhqEOUKIA5BEGpCADcDACAOQQhqQgA3AwAgDkHMAGpCADcCACAOQdQAakIANwIAIBZBkQJqQgA3AAAgFkIANwO4ASAWQgA3AvwBIBZBQGsgDkHEABCIDRogFkEXakIANwAAIBZBH2pCADcAACAWQShqIgFBEGogDkHYAGopAwA3AwAgAUEIaiAOQdAAaikDADcDACAWQQ5qIBZBmwJqLQAAOgAAIBZCADcADyAWIBYpA4ACNwMoIBYgFi8AmQI7AQwgFkGgAWoiDUEUaiAXQcgAaiIMKAIANgIAIBYgFykCQDcCrAEgF0HMAGoqAgAhJyAXQdAAaiIGKgIAISogF0HUAGoqAgAhKyAXQdgAaiIBKgIAISwgF0HEAGoqAgAhLSAMKgIAIS4gFyoCQCETIA1BCGogASgCADYCACAWIAYpAwA3A6ABIBZBiAFqIgFBCGogF0HkAGooAgA2AgAgFiAXKQJcNwOIASABQRRqIBdB8ABqKAIANgIAIBYgFykCaDcClAEgF0E4aikDACEvIBcpAzAhMCAXKAKAASEUIBctAIgBIREgDhDlCgJAAkACQAJAIBcoAgBFBEAgF0EUaioCACAWKgLIAVwNASAXQRhqKgIAIBYqAswBXA0BIBdBHGoqAgAgFioC0AFcDQEgF0EgaioCACAWKgLUAVwNASAXQSRqKgIAIBYqAtgBXA0BIBdBKGoqAgAgFioC3AFcDQEgF0EsaioCACAWKgLgAVwNASAWKgLEASEoIBYqAsABISkgFioCvAEhJCAXQRBqKgIAISUgF0EMaioCACEmIBdBCGoqAgAhEkEAIQwCQCAXKgIEIgUgFioCuAEiBFwNACASICRcDQAgJiApXA0AICUgKFsNAwsgBSAEjFwNASASICSMXA0BICYgKYxcDQEgJSAojFsNAgwBC0EAIQwgFyoCBEMAAAAAWw0BC0GR+8MALQAAGkEwQQQQggwiDEUNASAMIBcpAgA3AgAgDEEoaiAXQShqKQIANwIAIAxBIGogF0EgaikCADcCACAMQRhqIBdBGGopAgA3AgAgDEEQaiAXQRBqKQIANwIAIAxBCGogF0EIaikCADcCAAsgFy0AhgEhECAXLQCHASEPIBctAIoBIQ4gFyoCdCESIBcqAnwhBSAXKgJ4IQQgFy0AiQEhDQJ/AkAgFy0AhAEiAQRAIBctAIUBDQELQwAAAD9DAACAvyABGyEkQwAAAAAhJUPNzMw+QwAAgL8gARshJkEADAELIBZBmAFqQgA3AwAgFkGQAWpCADcDACAWQgA3A4gBQwAAAD8hJEMAAABAISVDzczMPiEmQQELIQYgGCAwNwMQIBhCADcDACAYICc4AiwgGCAuOAIoIBggLTgCJCAYIBM4AiAgGCAWKQOgATcDMCAYICw4AlQgGCArOAJQIBggKjgCTCAYICc4AkggGEEYaiAvNwMAIBhBCGpCADcDACAYQThqIBZBoAFqIgFBCGopAwA3AwAgGEFAayABQRBqKQMANwMAIBhB6ABqQgA3AwAgGEHgAGpCADcDACAYQgA3A1ggGCAEOAKIASAYIAU4AowBIBggFikDiAE3A3AgGEH4AGogFkGIAWoiAUEIaikDADcDACAYQYABaiABQRBqKQMANwMAIBhBkAFqIBZBQGtBxAAQiA0aIBggDDYC1AEgGCANOgDwASAYQgA3A5ACIBggEjgCjAIgGEGYAmpCADcDACAYQaACakIANwMAIBggFikDKDcD2AEgGEHgAWogFkEoaiIBQQhqKQMANwMAIBhB6AFqIAFBEGopAwA3AwAgGCAWKQEMNwDxASAYQfkBaiAWQQxqIgFBCGopAQA3AAAgGEGBAmogAUEQaikBADcAACAYQYgCaiAWQSNqKAAANgAAIBggDzoA3gIgGCAROgDdAiAYIA46ANwCIBggEDoA2QIgGEEAOgDYAiAYQv////sHNwPQAiAYIAY6AMwCIBggJTgCyAIgGEGAgICABDYCxAIgGCAkOALAAiAYICY4ArwCIBhBADYCuAIgGEIENwOwAiAYIBQ2AqwCIBhB/wE2AqgCIBZBoAJqJAAMAQtBBEEwQdCBxAAoAgAiAEGXByAAGxEAAAALIBhBtAJqKAIABEAgGCgCsAIQmgILIBhCBDcDsAIgGEIANwMAIBhBuAJqQQA2AgAgGEEIakIANwMAIBogGigCkARB/wFyNgKQBCAaKALoASEBIBooAuwBIQwgGkHIBGogFUHWAhCIDRogGi0AxwQhDiAaLQDGBCEPAkACQAJAAkAgGygCAARAIBsoAgQiBiAbQRBqKAIAIg1PDQIgGygCCCAGQegCbGoiDSgCAA0DIA0gDDYCDCANQQE2AgAgGyANKQIENwIAIA1BCGogATYCACANIBsoAhQiDDYCBCAbIBsoAhhBAWo2AhggDUEQaiAaQcgEakHWAhCIDRogDSAOOgDnAiANIA86AOYCDAELIA9BAkYEQCABIQYMAQsgGiAMNgKkByAaIAE2AqAHIBpBqAdqIBVB1gIQiA0aIBogDjoA/wkgGiAPOgD+CSAaQaAHaiEOIwBBMGsiGCQAIBtBEGooAgAiAUEBdCEXIBsoAgQhFiAbKAIAIRUCQCABIBtBDGooAgAiDSABayIUTQ0AAkAgASABaiABSQ0AIAFB0AVsIQwgF0Gxi+wCSUEDdCEGAkAgDUUEQCAYQQA2AhwMAQsgGEEINgIcIBggDUHoAmw2AiAgGCAbKAIINgIYCyAYQQxqIAYgDCAYQRhqENoGIBgoAhAhBiAYKAIMRQRAIBsgFzYCDCAbIAY2AgggASEUDAILIAZBgYCAgHhGDQEgBkUNACAGIBhBFGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyABIQwgFyABayIGQQAgBiAXTRsiBiAUSwRAIBtBCGohECMAQSBrIhEkAAJAAkAgASAGaiIMIAFJDQBBBCAQKAIEIg9BAXQiBiAMIAYgDEsbIgYgBkEETRsiDUHoAmwhDCANQbGL7AJJQQN0IQYCQCAPRQRAIBFBADYCGAwBCyARQQg2AhggESAPQegCbDYCHCARIBAoAgA2AhQLIBFBCGogBiAMIBFBFGoQ2gYgESgCDCEGIBEoAghFBEAgECANNgIEIBAgBjYCAAwCCyAGQYGAgIB4Rg0BIAZFDQAgBiARQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgEUEgaiQAIBsoAhAhDAsgGygCCCERAkAgAUEATA0AIBdBAWshEAJAIAFBAXFFBEAgASEGDAELIBEgDEHoAmxqIg8gFiABQQFqIgYgASAQRiINGzYCCCAPIBVBASANGzYCBCAPQQA2AgAgDEEBaiEMCyABQQFGDQAgBiAXa0EBaiEPIBEgDEHoAmxqIRQDQCAUQQA2AgAgFEHoAmpBADYCACAUQQRqQQEgFSAPGzYCACAUQQhqIAZBAWoiDSAWIA8bNgIAIBRB8AJqIBYgBkECaiIGIA0gEEYiDRs2AgAgFEHsAmogFUEBIA0bNgIAIA9BAmohDyAUQdAFaiEUIAxBAmohDCAGIBdHDQALCyAbIAw2AhACQAJAIAEgDEkEQCARIAFB6AJsaiIMKAIADQEgDEEBNgIAIBsgDCkCBDcCACAMIBsoAhQiBjYCBCAbIBsoAhhBAWo2AhggDEEIaiAOQeACEIgNGiAaIAY2AgQgGiABNgIAIBhBMGokAAwCCyABIAxBvJ7AABDjCAALIBhBJGpCADcCACAYQQE2AhwgGEHgnsAANgIYIBhBgIDAADYCICAYQRhqQeiewAAQ3AoACyAaKAIEIQwgGigCACEGCyAbQSRqKAIAIhQgG0EgaigCAEYEQCAbQRxqIBQQqwYgGygCJCEUCyAbIBRBAWo2AiQgGygCHCAUQQN0aiIBIAw2AgQgASAGNgIAIBpBgApqJAAgBq0gDK1CIIaEvyExDAILIAYgDUG8nsAAEOMIAAsgGkGsB2pCADcCACAaQQE2AqQHIBpB4J7AADYCoAcgGkGAgMAANgKoByAaQaAHakHonsAAENwKAAsgCyALKAIAQQFrNgIAIAogCigCAEEBazYCACAJIAkoAgBBAWs2AgAgCCAIKAIAQQFrNgIAIAcgBygCAEEBazYCACADIAMoAgBBAWs2AgAgAiACKAIAQQFrNgIAIABBADYCACAxC6EDAQt9IAIqAgAiCyADKgIIIgeUIAIqAggiDCADKgIAIgWUkyIJIAmSIQggAioCBCIJIAWUIAsgAyoCBCIKlJMiDSANkiEEIAogAioCDCINIAiUIAsgBJQgDCAMIAqUIAkgB5STIgogCpIiCpSTkpIhDgJAAkACQCAFIA0gCpQgDCAIlCAJIASUk5KSIgUgBZQgByANIASUIAkgCpQgCyAIlJOSkiIEIASUkhCbASIHQwAAAABcBEAgDiABKgIAIgiUIgogBCAEIAeVIAEqAgQiBJQiBpQgBSAFIAeVIASUIgSUIAqTkl4NASAIjCEIDAMLIAEqAgAgDpghCAwBC0MAAAAAIQYLQwAAAAAhBAsgACACQRhqKgIAIAYgDSALIAiUIAkgBJSTIgUgBZIiBZQgCyAMIASUIAsgBpSTIgcgB5IiB5QgCSAJIAaUIAwgCJSTIgYgBpIiBpSTkpKSOAIIIAAgAkEUaioCACAIIA0gB5QgDCAGlCALIAWUk5KSkjgCBCAAIAIqAhAgBCANIAaUIAkgBZQgDCAHlJOSkpI4AgALsAQCAX8HfSMAQRBrIgMkAAJ9IAEqAgAiBSAFlCABKgIIIgQgBJSSEJsBIgZDAAAANF8EQEMAAIA/IQVDAAAAAAwBCyAFIAaVIQUgBCAGlQshBAJAIAEqAgQiCItDAAAAP11FBEAgAkEsaiAAKgIEIgYgBYyUIgk4AgAgAkEoaiAAKgIAIAiYIgc4AgAgAiAEIAaUIgo4AiQgAkEgaiAGIASMlCIEOAIAIAJBHGogBzgCACACIAk4AhggAkEUaiAFIAaUIgU4AgAgAkEQaiAHOAIAIAIgBDgCDCACIAo4AgggAiAHOAIEIAIgBTgCACACQTBqIQEgAkFAayEAAkAgCEMAAAAAXUUEQCADQpCAgICgAjcCCCADQoyAgIDgATcCACAAIAMQrQUgAkKTgICAzAA3AlAgA0KPgICAkAI3AgggA0KLgICA0AE3AgAMAQsgA0KGgICAgAE3AgggA0KCgICAwAA3AgAgACADEK0FIAJCiYCAgMwANwJQIANChYCAgPAANwIIIANCgYCAgDA3AgALIAEgAxCsBQwBCyACQRBqIAAqAgAiBjgCACACQRRqIAQgACoCBCIElCIHOAIAIAIgBSAElCIEOAIMIAIgBzgCCCACIAaMOAIEIAIgBDgCACADQQhqQgA3AwAgA0IANwMAIAJBQGsgAxCtBSACQoCAgIAsNwJQIANCi4CAgLABNwIIIANCgYCAgLABNwIAIAJBMGogAxCsBQsgA0EQaiQAC8sCAQF/IABBHGooAgAEQCAAKAIYEJoCCyAAQShqKAIABEAgACgCJBCaAgsgAEE0aigCAARAIAAoAjAQmgILIABBQGsoAgAEQCAAKAI8EJoCCyAAQcwAaigCAARAIAAoAkgQmgILIABB2ABqKAIABEAgACgCVBCaAgsCQCAAKAJgIgFFDQAgAEHkAGooAgAEQCABEJoCCyAAQfAAaigCAEUNACAAQewAaigCABCaAgsCQCAAKAJ4IgFFDQAgAEH8AGooAgAEQCABEJoCCyAAQYgBaigCAARAIABBhAFqKAIAEJoCCyAAQZQBaigCAEUNACAAQZABaigCABCaAgsCQCAAKAKcASIBRQ0AIABBoAFqKAIABEAgARCaAgsgAEGsAWooAgAEQCAAQagBaigCABCaAgsgAEG4AWooAgBFDQAgAEG0AWooAgAQmgILC5wDARB9IAMqAgAgAioCECIPkyIJIAIqAgQiCpQgAyoCBCACQRRqKgIAIhCTIgsgAioCACIMlJMiByAHkiEIIAsgAioCCCIHlCADKgIIIAJBGGoqAgAiEZMiBSAKlJMiDSANkiEGAkACQCABKgIIIhIgBSACKgIMIg0gCJQgCiAGlCAMIAUgDJQgCSAHlJMiBSAFkiIOlJOSkiIFlCABKgIAIhMgCSANIAaUIAcgDpQgCiAIlJOSkiIJlCABKgIEIhQgCyANIA6UIAwgCJQgByAGlJOSkiIIlJKSIgZDAAAAAF8iAkUNACAERQ0AQQEhAgwBCyAFIBIgBpSTIQUgCCAUIAaUkyEIIAkgEyAGlJMhCQsgACACOgAMIAAgESAFIAwgCJQgCiAJlJMiBiAGkiIGIA2UIAwgByAJlCAMIAWUkyILIAuSIguUIAogCiAFlCAHIAiUkyIFIAWSIgWUk5KSkjgCCCAAIBAgCCALIA2UIAcgBZQgDCAGlJOSkpI4AgQgACAPIAkgBSANlCAKIAaUIAcgC5STkpKSOAIAC8cDAgR/AX4gAEEUaigCACEFAkACQAJAIAQoAggiBgRAIAQoAhAhByADIAVPDQIgACgCDCIIIANBA3RqIgQoAgAgAUcNAiAEKAIEIAJHDQIgACAFQQFrIgU2AhQgBCAIIAVBA3RqKQIAIgk3AgAgAyAFSQ0BDAILAkAgAyAFTw0AIAAoAgwiBiADQQN0aiIEKAIAIAFHDQAgBCgCBCACRw0AIAAgBUEBayIFNgIUIAQgBiAFQQN0aikCADcCAAsgACgCCCIEIANNDQIgASADQQN0IAAoAgAiA2oiASgCAEcNAiABKAIEIAJHDQIgACAEQQFrIgA2AgggASADIABBA3RqKQIANwIADAILIAmnIgUgB08NACAGIAVB6AJsaiIFKAIARQ0AIAUoAgQgBEEEaigCAEcNACAFQQxqIAM2AgALIAAoAggiBCADTQ0AIAEgACgCACIFIANBA3RqIgEoAgBHDQAgASgCBCACRw0AIAAgBEEBayIANgIIIAEgBSAAQQN0aikCACIJNwIAIAAgA00NACAJpyIAIAdPDQAgBiAAQegCbGoiACgCAEUNACAAKAIEIAFBBGooAgBHDQAgAEEMaiADNgIACwu6AwIBfwh9IwBBMGsiBiQAIAVDAAAAAGAEQCAGIAIqAggiCow4AhQgBiACKgIEIgiMOAIQIAYgAioCACILjDgCDCAGQSRqIAMgASAGQQxqIAQoAhQRAgAgAAJ/QQIgBYwgCCAGKgIoIgmMlCALIAYqAiQiDJSTIAogBioCLCIHlJMiBV9FDQAaQQAgBUMAAAAAYA0AGiAAQQxqIAcgCiAFlJI4AgAgAEEIaiAJIAggBZSSOAIAIAAgDCALIAWUkjgCBCAMIAEqAhCTIgwgASoCBCIFlCAJIAFBFGoqAgCTIg0gASoCACIKlJMiCCAIkiEIIA0gASoCCCILlCAHIAFBGGoqAgCTIgcgBZSTIgkgCZIhCSAAQRhqIAcgASoCDCIOIAiUIAUgCZQgCiAHIAqUIAwgC5STIgcgB5IiB5STkpI4AgAgAEEUaiANIA4gB5QgCiAIlCALIAmUk5KSOAIAIAAgDCAOIAmUIAsgB5QgBSAIlJOSkjgCEEEBCzYCACAGQTBqJAAPCyAGQRhqQgA3AgAgBkEBNgIQIAZB0KLCADYCDCAGQbSKwgA2AhQgBkEMakHwqcIAENwKAAvKAwEDfyMAQUBqIgckAAJAAkAgAEUNACAAKAIAIgZBf0YNASAAIAZBAWo2AgAgAUUNACABKAIAIgZBf0YNASABIAZBAWo2AgAgAkUNACACKAIAIgZBf0YNASACIAZBAWo2AgAgA0UNACADKAIAIgZBf0YNASADIAZBAWo2AgAgBEUNACAEKAIAIgZBf0YNASAEIAZBAWo2AgAgBUUNACAFKAIAIgZBf0YNASAFIAZBAWo2AgAgB0EIaiACQQxqKQIANwMAIAcgAikCBDcDACAHQRhqIAFBDGooAgA2AgAgByABKQIENwMQIAdBIGoiBkEIaiAFQQxqKQIANwMAIAcgBSkCBDcDICAGQRhqIARBDGooAgA2AgAgByAEKQIENwMwIAcgACgCBCAAQQhqKAIAIggoAghBAWtBeHFqQQhqIAggBiADKAIEIANBCGooAgAiBigCCEEBa0F4cWpBCGogBhCLBCEGIAUgBSgCAEEBazYCACAEIAQoAgBBAWs2AgAgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIAdBQGskACAGQQFxDwsQ+AwACxD5DAALqQMCDH0BfyMAQUBqIhEkACADKgIAIAIqAhAiDpMiDSACKgIEIgiUIAMqAgQgAkEUaioCACIPkyIJIAIqAgAiCpSTIgcgB5IhCyAJIAIqAggiB5QgAyoCCCACQRhqKgIAIhCTIgUgCJSTIgwgDJIhBiARIAUgAioCDCIMIAuUIAggBpQgCiAFIAqUIA0gB5STIgUgBZIiBZSTkpI4AhQgESAJIAwgBZQgCiALlCAHIAaUk5KSOAIQIBEgDSAMIAaUIAcgBZQgCCALlJOSkjgCDCARQRhqIAEgEUEMaiAEQ///f38QQSARKAIsQQRGBEBBy4/CAEErQeDEwgAQqgoACyARKgIYIQsgESoCICEGIBEqAhwhDSAAIBEtACQ6AAwgACAQIAYgCiAHIAuUIAogBpSTIgkgCZIiCZQgCCAIIAaUIAcgDZSTIgYgBpIiBpSTIAogDZQgCCALlJMiBSAFkiIFIAyUkpKSOAIIIAAgDyANIAcgBpQgCiAFlJMgCSAMlJKSkjgCBCAAIA4gCyAIIAWUIAcgCZSTIAYgDJSSkpI4AgAgEUFAayQAC5EDAQ59IAMqAgAgAioCECIQkyIIIAIqAgQiCpQgAyoCBCACQRRqKgIAIhGTIgsgAioCACIMlJMiCSAJkiEHIAsgAioCCCIJlCADKgIIIAJBGGoqAgAiEpMiBSAKlJMiDSANkiEGAkACQCAFIAIqAgwiDSAHlCAKIAaUIAwgBSAMlCAIIAmUkyIFIAWSIg+Uk5KSIgUgBZQgCCANIAaUIAkgD5QgCiAHlJOSkiIIIAiUIAsgDSAPlCAMIAeUIAkgBpSTkpIiByAHlJKSIgYgASoCACIOIA6UXyICRQ0AIARFDQBBASECDAELIAUgDiAGEJsBlSIGlCEFIAcgBpQhByAIIAaUIQgLIAAgAjoADCAAIBIgBSAMIAeUIAogCJSTIgYgBpIiBiANlCAMIAkgCJQgDCAFlJMiCyALkiILlCAKIAogBZQgCSAHlJMiBSAFkiIFlJOSkpI4AgggACARIAcgCyANlCAJIAWUIAwgBpSTkpKSOAIEIAAgECAIIAUgDZQgCiAGlCAJIAuUk5KSkjgCAAugAwIMfQF/IwBBMGsiECQAIAMqAgAgAioCECINkyILIAIqAgQiCJQgAyoCBCACQRRqKgIAIg6TIgwgAioCACIJlJMiBSAFkiEGIAwgAioCCCIFlCADKgIIIAJBGGoqAgAiD5MiBCAIlJMiCiAKkiEHIBAgBCACKgIMIgogBpQgCCAHlCAJIAQgCZQgCyAFlJMiBCAEkiIElJOSkjgCLCAQIAwgCiAElCAJIAaUIAUgB5STkpI4AiggECALIAogB5QgBSAElCAIIAaUk5KSOAIkIBBBDGoiAiABIBBBJGpBABBUIABBFGogAkEUaigCADYCACAAQQM2AhAgACAQLQAYOgAMIAkgECoCECILlCAIIBAqAgwiDJSTIgYgBpIhBiAFIAyUIAkgECoCFCIElJMiByAHkiEHIAAgDyAEIAogBpQgCSAHlCAIIAggBJQgBSALlJMiBCAEkiIElJOSkpI4AgggACAOIAsgCiAHlCAFIASUIAkgBpSTkpKSOAIEIAAgDSAMIAogBJQgCCAGlCAFIAeUk5KSkjgCACAQQTBqJAALoQMCDH0BfyMAQTBrIhAkACADKgIAIAIqAhAiDZMiCyACKgIEIgiUIAMqAgQgAkEUaioCACIOkyIMIAIqAgAiCZSTIgUgBZIhBiAMIAIqAggiBZQgAyoCCCACQRhqKgIAIg+TIgQgCJSTIgogCpIhByAQIAQgAioCDCIKIAaUIAggB5QgCSAEIAmUIAsgBZSTIgQgBJIiBJSTkpI4AiwgECAMIAogBJQgCSAGlCAFIAeUk5KSOAIoIBAgCyAKIAeUIAUgBJQgCCAGlJOSkjgCJCAQQQxqIgIgASAQQSRqQQAQiwIgAEEUaiACQRRqKAIANgIAIABBAzYCECAAIBAtABg6AAwgCSAQKgIQIguUIAggECoCDCIMlJMiBiAGkiEGIAUgDJQgCSAQKgIUIgSUkyIHIAeSIQcgACAPIAQgCiAGlCAJIAeUIAggCCAElCAFIAuUkyIEIASSIgSUk5KSkjgCCCAAIA4gCyAKIAeUIAUgBJQgCSAGlJOSkpI4AgQgACANIAwgCiAElCAIIAaUIAUgB5STkpKSOAIAIBBBMGokAAuhAwIMfQF/IwBBMGsiECQAIAMqAgAgAioCECINkyILIAIqAgQiCJQgAyoCBCACQRRqKgIAIg6TIgwgAioCACIJlJMiBSAFkiEGIAwgAioCCCIFlCADKgIIIAJBGGoqAgAiD5MiBCAIlJMiCiAKkiEHIBAgBCACKgIMIgogBpQgCCAHlCAJIAQgCZQgCyAFlJMiBCAEkiIElJOSkjgCLCAQIAwgCiAElCAJIAaUIAUgB5STkpI4AiggECALIAogB5QgBSAElCAIIAaUk5KSOAIkIBBBDGoiAiABIBBBJGpBABCrAiAAQRRqIAJBFGooAgA2AgAgAEEDNgIQIAAgEC0AGDoADCAJIBAqAhAiC5QgCCAQKgIMIgyUkyIGIAaSIQYgBSAMlCAJIBAqAhQiBJSTIgcgB5IhByAAIA8gBCAKIAaUIAkgB5QgCCAIIASUIAUgC5STIgQgBJIiBJSTkpKSOAIIIAAgDiALIAogB5QgBSAElCAJIAaUk5KSkjgCBCAAIA0gDCAKIASUIAggBpQgBSAHlJOSkpI4AgAgEEEwaiQAC5ADAQ19An8gAyoCCCACQRhqKgIAkyIPIAIqAgAiC5QgAyoCACACKgIQkyIGIAIqAggiDJSTIgggCJIhCSAGIAIqAgQiCJQgAyoCBCACQRRqKgIAkyIKIAuUkyINIA2SIQ4gASoCBCIQIAogAioCDCINIAmUIAsgDpQgDCAKIAyUIA8gCJSTIgogCpIiCpSTkpKMlCABKgIAIhEgBiANIAqUIAwgCZQgCCAOlJOSkpSTIAEqAggiEiAPIA0gDpQgCCAKlCALIAmUk5KSlJMiCkMAAAAAXgRAQQEgBQ0BGgsgCCADKgIMIg6UIAsgA0EQaioCACIPlJMiByAHkiEHIAwgD5QgCCADQRRqKgIAIgaUkyIJIAmSIQkgCiASIAYgDSAHlCAIIAmUIAsgCyAGlCAMIA6UkyIGIAaSIgaUk5KSlCARIA4gDSAJlCAMIAaUIAggB5STkpKUIBAgDyANIAaUIAsgB5QgDCAJlJOSkpSSkpUiB0MAAAAAYCAEIAdgcQshAiAAIAc4AgQgACACNgIAC6IDAhV9AX8jAEEgayIYJAAgASoCDCIGQwAAAABgRQRAIBhBFGpCADcCACAYQQE2AgwgGEHkl8IANgIIIBhBtIrCADYCECAYQQhqQeyXwgAQ3AoACyACQRRqKgIAIQogAioCECELIABBFGogBiACQRhqKgIAIg8gASoCACIMIAIqAgAiAyACKgIIIgSUIgUgBZIiECACKgIEIgUgAioCDCIIlCIJIAmSIhGTi5QgASoCBCIJIAUgBJQiByAHkiISIAMgCJQiByAHkiITkouUkiABKgIIIgcgBCAElCINIAggCJQiFCADIAOUIhWTIhYgBSAFlCIOk5KLlJIiF5KSOAIAIAAgDyAXkyAGkzgCCCAAQRBqIAYgCiAHIBIgE5OLlCAMIAMgBZQiAyADkiIDIAQgCJQiBCAEkiIEkouUIAkgDiAWkiANk4uUkpIiBZKSOAIAIAAgBiALIAcgECARkouUIAkgAyAEk4uUIAwgFSAUkiAOkyANk4uUkpIiA5KSOAIMIAAgCiAFkyAGkzgCBCAAIAsgA5MgBpM4AgAgGEEgaiQAC+0DAQh9AkBDAACAPxCbASIEQwAAAABbDQAgAUMAAAAAlCIFQwAAAAAgBJUgApRDAAAAAJRDAACAPyAElSAClCIHIAWTkl5FDQBDAAAAACEHCwJAQwAAgD8QmwEiBEMAAAAAWw0AIAFDAAAAAJQiBUMAAAAAIASVIAKUQwAAAACUQwAAgL8gBJUgApQiBowgBZOSXkUNAEMAAAAAIQYLIAGMIQQCfUMAAAAAEJsBIgNDAAAAAFwEQCAEQwAAAAAgA5UgApRDAAAAAJQiAyADIAGTkiABXUUNARogAQwBCyABiwshBQJAQwAAAAAQmwEiA0MAAAAAXARAIAGMQwAAAAAgA5UgApRDAAAAAJQiAyADIAGSkl5FDQEgASEEDAELIAGLjCEECwJAQwAAgD8QmwEiCkMAAAAAWw0AIAFDAAAAAJQiA0MAAIA/IAqVIAKUIglDAAAAACAKlSAClEMAAAAAlCADk5JeRQ0AQwAAAAAhCQsCQEMAAIA/EJsBIgNDAAAAAFsNACABQwAAAACUIgFDAAAAACADlSAClEMAAAAAlCABk0MAAIC/IAOVIAKUIgiTXkUNAEMAAAAAIQgLIAAgBzgCDCAAIAg4AgggACAEOAIEIAAgBjgCACAAQRRqIAk4AgAgAEEQaiAFOAIAC7YDARZ9IAFBHGoqAgAhDiABQRhqKgIAIQQgAUEUaioCACEFIAFBLGoqAgAhDyABQShqKgIAIQYgAUEkaioCACEHIAFBPGoqAgAhECABQThqKgIAIQggAUE0aioCACEJIAFBzABqKgIAIREgAUHIAGoqAgAhCiABQcQAaioCACELIAFBQGsqAgAhEiABQdwAaioCACETIAFB2ABqKgIAIQwgAUHUAGoqAgAhDSABQdAAaioCACEUIAEqAhAhFSABKgIgIRYgASoCMCEXIAAgASoCACICIAEqAgQiAyACIANfGyICIAEqAggiAyACIANfGyICIAEqAgwiAyACIANfGzgCACAAQRRqIBQgDSANIBRfGyINIAwgDCANXxsiDCATIAwgE2AbOAIAIABBEGogEiALIAsgEl8bIgsgCiAKIAtfGyIKIBEgCiARYBs4AgAgACAXIAkgCSAXXxsiCSAIIAggCV8bIgggECAIIBBgGzgCDCAAIBYgByAHIBZgGyIHIAYgBiAHYBsiBiAPIAYgD18bOAIIIAAgFSAFIAUgFWAbIgUgBCAEIAVgGyIEIA4gBCAOXxs4AgQLoAMCAX8MfSMAQSBrIgYkACADKgIAIAIqAhAiEJMiDyACKgIEIgqUIAMqAgQgAkEUaioCACIRkyIHIAIqAgAiC5STIgggCJIhCSAHIAIqAggiCJQgAyoCCCACQRhqKgIAIhKTIgwgCpSTIg0gDZIhDiAGIAwgAioCDCINIAmUIAogDpQgCyAMIAuUIA8gCJSTIgwgDJIiDJSTkpI4AhwgBiAHIA0gDJQgCyAJlCAIIA6Uk5KSOAIYIAYgDyANIA6UIAggDJQgCiAJlJOSkjgCFCAGQQRqIAEgBkEUaiAEIAUQggECQCAGLQAQIgFBAkYEQCAAQQI6AAwMAQsgACABOgAMIAsgBioCCCIOlCAKIAYqAgQiD5STIgUgBZIhBSAIIA+UIAsgBioCDCIHlJMiCSAJkiEJIAAgEiAHIAUgDZQgCyAJlCAKIAogB5QgCCAOlJMiByAHkiIHlJOSkpI4AgggACARIA4gDSAJlCAIIAeUIAsgBZSTkpKSOAIEIAAgECAPIA0gB5QgCiAFlCAIIAmUk5KSkjgCAAsgBkEgaiQAC6ADAgF/DH0jAEEgayIGJAAgAyoCACACKgIQIhCTIg8gAioCBCIKlCADKgIEIAJBFGoqAgAiEZMiByACKgIAIguUkyIIIAiSIQkgByACKgIIIgiUIAMqAgggAkEYaioCACISkyIMIAqUkyINIA2SIQ4gBiAMIAIqAgwiDSAJlCAKIA6UIAsgDCALlCAPIAiUkyIMIAySIgyUk5KSOAIcIAYgByANIAyUIAsgCZQgCCAOlJOSkjgCGCAGIA8gDSAOlCAIIAyUIAogCZSTkpI4AhQgBkEEaiABIAZBFGogBCAFELIEAkAgBi0AECIBQQJGBEAgAEECOgAMDAELIAAgAToADCALIAYqAggiDpQgCiAGKgIEIg+UkyIFIAWSIQUgCCAPlCALIAYqAgwiB5STIgkgCZIhCSAAIBIgByAFIA2UIAsgCZQgCiAKIAeUIAggDpSTIgcgB5IiB5STkpKSOAIIIAAgESAOIA0gCZQgCCAHlCALIAWUk5KSkjgCBCAAIBAgDyANIAeUIAogBZQgCCAJlJOSkpI4AgALIAZBIGokAAv5AwIGfwJ9IwBBMGsiAyQAQZH7wwAtAAAaIAEqAgQhCSABKgIAIQpBGEEEEIIMIgEEQCABQoCAgICAgICAv383AgggAUKAgID4i4CAgL9/NwIAIAFBEGpCgICA+AM3AgAgA0KCgICAIDcCHCADIAE2AhggA0EkaiIBQQhqIgVBADYCACADQgQ3AiRBAEH8o8MAQQEgAiADQRhqIAEQhgEgA0EQaiIHIAUoAgA2AgAgAyADKQIkNwMIIAMoAhghAiADKAIcIQgCQCADKAIgIgVFDQAgCiAKkiEKIAkgCZIhCSACIQEgBUEMbCIGQQxrIgRBDG5BAXFFBEAgAiAJIAIqAgCUOAIAIAIgCiACKgIElDgCBCACIAkgAioCCJQ4AgggAkEMaiEBCyAEQQxJDQAgAiAGaiEGA0AgASAJIAEqAgCUOAIAIAFBBGoiBCAKIAQqAgCUOAIAIAFBCGoiBCAJIAQqAgCUOAIAIAFBDGoiBCAJIAQqAgCUOAIAIAFBEGoiBCAKIAQqAgCUOAIAIAFBFGoiBCAJIAQqAgCUOAIAIAYgAUEYaiIBRw0ACwsgACAFNgIIIAAgCDYCBCAAIAI2AgAgACADKQMINwIMIABBFGogBygCADYCACADQTBqJAAPC0EEQRhB0IHEACgCACIAQZcHIAAbEQAAAAuSBAIEfQF/IAEqAgAhBwJAAkACQCACKgIMIgVDAAAAAFwEQEMAAIA/IAWVIgUgASoCDCACKgIAIgiTlCEGIAYgBSAHIAiTlCIHXSEJIAMgAyAHIAYgCRsiBSADIAVdGyAFIAVcGyIDQwAAAABDAAAAACAGIAcgCRsiBiAGQwAAAABdGyAGIAZcGyIGXUUNAQwCCyACKgIAIgUgB10NAiAFIAEqAgxeDQILAkAgAkEQaioCACIHQwAAAABcBEBDAACAPyAHlSIFIAFBEGoqAgAgAioCBCIIk5QiByAFIAEqAgQgCJOUIghdIQkgAyADIAggByAJGyIFIAMgBV0bIAUgBVwbIgMgByAIIAkbIgUgBSAGIAUgBl4bIAYgBlwbIgZdDQIMAQtBACEJIAIqAgQiBSABKgIEXQ0CIAUgAUEQaioCAF4NAgsCQCACQRRqKgIAIgdDAAAAAFwEQEMAAIA/IAeVIgUgAUEUaioCACACKgIIIgiTlCIHIAUgASoCCCAIk5QiCF0hASADIAMgCCAHIAEbIgUgAyAFXRsgBSAFXBsiAyAHIAggARsiBSAFIAYgBSAGXhsgBiAGXBsiBl0NAgwBC0EAIQkgAioCCCIFIAEqAghdDQIgBSABQRRqKgIAXg0CCyAGIAYgAyAEGyAGQwAAAABcGyEHQQEhCQwBC0EAIQkLIAAgBzgCBCAAIAk2AgALyQMBAn8jAEHwAGsiDSQAAkACQCAARQ0AIAAoAgAiDkF/Rg0BIAAgDkEBajYCACABRQ0AIAEoAgAiDkF/Rg0BIAEgDkEBajYCACACRQ0AIAIoAgAiDkF/Rg0BIAIgDkEBajYCACADRQ0AIAMoAgAiDkF/Rg0BIAMgDkEBajYCACANIAQ2AgAgDSAMNgIEIA0gCzkDQCANIApBAEetNwM4IA0gCTkDMCANIAhBAEetNwMoIA0gBzYCJCANIAZBAEc2AiAgDSAFNgIcIA0gA0EEajYCFCANIAJBBGo2AhAgDSABQQRqNgIMIA0gAEEEajYCCCANIA02AhggDSANQRRqNgJoIA0gDUEQajYCZCANIA1BDGo2AmAgDSANQQhqNgJcIA0gDUEYajYCWCANIA1BOGo2AlQgDSANQShqNgJQIA0gDUEgajYCTCANIA1BHGo2AkgCQCAMEARBAUYEQCANIA1BBGo2AmwgDUHIAGogDUHsAGoQdAwBCyANQcgAakEAEHQLIAMgAygCAEEBazYCACACIAIoAgBBAWs2AgAgASABKAIAQQFrNgIAIAAgACgCAEEBazYCACANQfAAaiQADwsQ+AwACxD5DAALxAMCAn8FfiMAQdAAayIDJAAgA0FAayIEQgA3AwAgA0IANwM4IAMgATcDMCADIAFC88rRy6eM2bL0AIU3AyAgAyABQu3ekfOWzNy35ACFNwMYIAMgADcDKCADIABC4eSV89bs2bzsAIU3AxAgAyAAQvXKzYPXrNu38wCFNwMIIAMgAikDADcDSCADQQhqIANByABqQQgQpAIgAykDCCEBIAMpAxghACAENQIAIQUgAykDOCEGIAMpAyAhByADKQMQIQggA0HQAGokACAAIAF8IglCIIkgBiAFQjiGhCIFIAeFIgEgCHwiBiABQhCJhSIBfCIHIAFCFYmFIQEgASAGIABCDYkgCYUiBnwiCEIgiUL/AYV8IgkgAUIQiYUhACAAIAggBkIRiYUiASAFIAeFfCIFQiCJfCIGIABCFYmFIQAgACAFIAFCDYmFIgEgCXwiBUIgiXwiByAAQhCJhSEAIAAgBSABQhGJhSIBIAZ8IgVCIIl8IgYgAEIViYUhACAAIAFCDYkgBYUiASAHfCIFQiCJfCIHIAFCEYkgBYUiASAGfCABQg2JhSIBfCIFIABCEIkgB4VCFYkgAUIRiYUgBUIgiYWFC4wDAQ19IAJBFGoqAgAhDSACKgIQIQ4gAioCBCIIIAMqAgAiCZQgAioCACIKIAMqAgQiBpSTIgcgB5IhBCACKgIIIgcgBpQgCCADKgIIIgWUkyILIAuSIQwgACACQRhqKgIAIAEgAUEMaiABKgIIIAUgAioCDCILIASUIAggDJQgCiAKIAWUIAcgCZSTIgUgBZIiBZSTkpIiD5QgASoCACIQIAkgCyAMlCAHIAWUIAggBJSTkpIiCZQgASoCBCAGIAsgBZQgCiAElCAHIAyUk5KSIgSUkpIgASoCDCIGIAmUIAQgAUEQaioCAJSSIA8gAUEUaioCAJSSXiIBGyICKgIIIgQgCyAKIAIqAgQiDJQgCCAQIAYgARsiCZSTIgYgBpIiBpQgCiAHIAmUIAogBJSTIgUgBZIiBZQgCCAIIASUIAcgDJSTIgQgBJIiBJSTkpKSOAIIIAAgDSAMIAsgBZQgByAElCAKIAaUk5KSkjgCBCAAIA4gCSALIASUIAggBpQgByAFlJOSkpI4AgALjAMBDX0gAkEUaioCACENIAIqAhAhDiACKgIEIgggAyoCACIJlCACKgIAIgogAyoCBCIGlJMiByAHkiEEIAIqAggiByAGlCAIIAMqAggiBZSTIgsgC5IhDCAAIAJBGGoqAgAgASABQQxqIAEqAgggBSACKgIMIgsgBJQgCCAMlCAKIAogBZQgByAJlJMiBSAFkiIFlJOSkiIPlCABKgIAIhAgCSALIAyUIAcgBZQgCCAElJOSkiIJlCABKgIEIAYgCyAFlCAKIASUIAcgDJSTkpIiBJSSkiAPIAFBFGoqAgCUIAEqAgwiBiAJlCABQRBqKgIAIASUkpJeIgEbIgIqAggiBCALIAogAioCBCIMlCAIIBAgBiABGyIJlJMiBiAGkiIGlCAKIAcgCZQgCiAElJMiBSAFkiIFlCAIIAggBJQgByAMlJMiBCAEkiIElJOSkpI4AgggACANIAwgCyAFlCAHIASUIAogBpSTkpKSOAIEIAAgDiAJIAsgBJQgCCAGlCAHIAWUk5KSkjgCAAv7AwECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBA3FFDQEgACgCACIDIAFqIQEgACADayIAQZiFxAAoAgBGBEAgAigCBEEDcUEDRw0BQZCFxAAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAA8LIAAgAxC8BAsCQAJAAkAgAigCBCIDQQJxRQRAIAJBnIXEACgCAEYNAiACQZiFxAAoAgBGDQMgAiADQXhxIgIQvAQgACABIAJqIgFBAXI2AgQgACABaiABNgIAIABBmIXEACgCAEcNAUGQhcQAIAE2AgAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsgAUGAAk8EQCAAIAEQ/AQMAwsgAUF4cUGAg8QAaiECAn9BiIXEACgCACIDQQEgAUEDdnQiAXFFBEBBiIXEACABIANyNgIAIAIMAQsgAigCCAshASACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0GchcQAIAA2AgBBlIXEAEGUhcQAKAIAIAFqIgE2AgAgACABQQFyNgIEIABBmIXEACgCAEcNAUGQhcQAQQA2AgBBmIXEAEEANgIADwtBmIXEACAANgIAQZCFxABBkIXEACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC5MDAgl9An8jAEEgayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EIaiIQQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgEEEQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCFCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIQIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCDCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgggDyABIBAgBCAFEGggDygCACEBIAAgDyoCBDgCBCAAIAE2AgAgD0EgaiQAC5MDAgl9An8jAEEgayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EIaiIQQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgEEEQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCFCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIQIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCDCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgggDyABIBAgBCAFEF4gDygCACEBIAAgDyoCBDgCBCAAIAE2AgAgD0EgaiQAC5MDAgl9An8jAEEgayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EIaiIQQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgEEEQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCFCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIQIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCDCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgggDyABIBAgBCAFEHMgDygCACEBIAAgDyoCBDgCBCAAIAE2AgAgD0EgaiQAC5ADAgp9AX8jAEEgayIOJAAgAioCBCIJIAMqAgAiCJQgAioCACIKIAMqAgQiDJSTIgcgB5IhBSACKgIIIgcgDJQgCSADKgIIIgSUkyILIAuSIQYgDiAEIAIqAgwiCyAFlCAJIAaUIAogCiAElCAHIAiUkyIEIASSIgSUk5KSIg0gDSANlCAIIAsgBpQgByAElCAJIAWUk5KSIgggCJQgDCALIASUIAogBZQgByAGlJOSkiIFIAWUkpIQmwEiBpU4AhwgDiAFIAaVOAIYIA4gCCAGlTgCFCAOQQhqIAEgDkEUahDTAyAKIA4qAgwiCJQgCSAOKgIIIgyUkyIFIAWSIQUgByAMlCAKIA4qAhAiBJSTIgYgBpIhBiAAIAJBGGoqAgAgBCALIAWUIAogBpQgCSAJIASUIAcgCJSTIgQgBJIiBJSTkpKSOAIIIAAgAkEUaioCACAIIAsgBpQgByAElCAKIAWUk5KSkjgCBCAAIAIqAhAgDCALIASUIAkgBZQgByAGlJOSkpI4AgAgDkEgaiQAC4cDAQ19An0gAioCCCIJIAMqAgQiDpQgAioCBCIKIAMqAggiBJSTIgcgB5IhCCACKgIAIgcgBJQgCSADKgIAIgWUkyILIAuSIQxDAAAAACAFIAIqAgwiCyAIlCAJIAyUIAogCiAFlCAHIA6UkyIFIAWSIg+Uk5KSIgUgBZQgBCALIA+UIAogCJQgByAMlJOSkiIEIASUkhCbASIQQwAAAABbDQAaIAQgEJUgASoCBCINlCEGIAUgEJUgDZQLIQ0gACACQRhqKgIAIAYgBCABKgIIIgSUkiIGIAsgByABKgIAIA4gCyAMlCAHIA+UIAkgCJSTkpIiCJggCCAElJIiCJQgCiANIAUgBJSSIgyUkyIFIAWSIgWUIAcgCSAMlCAHIAaUkyIEIASSIgSUIAogCiAGlCAJIAiUkyIGIAaSIgaUk5KSkjgCCCAAIAJBFGoqAgAgCCALIASUIAkgBpQgByAFlJOSkpI4AgQgACACKgIQIAwgCyAGlCAKIAWUIAkgBJSTkpKSOAIAC64DAQl9IAEqAggiBbxBgICAgHhxQYCAgPwDcr4hAyABKgIEIgQgBJRDAACAvyAFIAOSlSIIlCADkiEGIAEqAgAiAiACIAOUlCAIlEMAAIA/kiEJIAIgA4yUIQoCQAJAIAIgAiAElCAIlCIIIAOUIgOSIASTIgdDAAAAAF5FBEAgAiAEjCIHXiACIANecQ0BIAMgB15FBEAgCiAGkkMAAIA/IASTIAKTIAOTEJsBIgIgApIiBpUhAiAEIAmTIAaVIQMgBSAIkiAGlSEEIAZDAACAPpQhBwwDCyAKIAaSIAQgA0MAAIA/kiACk5IQmwEiAiACkiIClSEHIAggBZMgApUhAyAEIAmSIAKVIQQgAkMAAIA+lCECDAILIAQgCZMgB0MAAIA/khCbASIEIASSIgOVIQcgCiAGkyADlSEEIAggBZMgA5UhAiADQwAAgD6UIQMMAQsgBSAIkiAEIAJDAACAP5IgA5OSEJsBIgIgApIiBZUhByAKIAaTIAWVIQMgBCAJkiAFlSECIAVDAACAPpQhBAsgACADOAIMIAAgBzgCCCAAIAI4AgQgACAEOAIAC6MDAgl/Bn0CQAJAAkAgASgCCCIGBEAgASgCACEFQQEhBCACKgIIIQwgAioCBCEOIAIqAgAhDyAGQQFGDQMgDyAFKgIAlCAOIAUqAgSUkiAMIAUqAgiUkiENIAZBAWsiA0EBcSEJIAZBAkcNAUEAIQMMAgtBAEEAQbStwwAQ4wgACyAFQRBqIQIgA0F+cSEKQQAhAwNAIA8gAkEEayoCAJQgDiACKgIAlJIgDCACQQRqKgIAlJIiECANXiEHIA8gAkEIaioCAJQgDiACQQxqKgIAlJIgDCACQRBqKgIAlJIiESAQIA0gBxsiDV4hCCARIA0gCBshDSAEQQFqIgsgBCADIAcbIAgbIQMgBEECaiEEIAJBGGohAiAKIAtHDQALCyAJRQ0AIAQgAyAPIAUgBEEMbGoiAioCAJQgDiACKgIElJIgDCACKgIIlJIgDV4bIQMLIAMgBk8EQCADIAZBgPfCABDjCAALIAAgBSADQQxsaiICKgIIIAwgASoCYCIMlJI4AgggACACKgIEIA4gDJSSOAIEIAAgAioCACAPIAyUkjgCAAuJAwEQfSAAQgI3AhAgAyoCACACKgIQIg2TIgggAioCBCIJlCADKgIEIAJBFGoqAgAiDpMiDCACKgIAIgqUkyIHIAeSIQUgDCACKgIIIgeUIAMqAgggAkEYaioCACIPkyIEIAmUkyILIAuSIQYgACABKgIIIhAgBCACKgIMIgsgBZQgCSAGlCAKIAQgCpQgCCAHlJMiBCAEkiIElJOSkiIRlCABKgIAIhIgCCALIAaUIAcgBJQgCSAFlJOSkiITlCABKgIEIgggDCALIASUIAogBZQgByAGlJOSkiIGlJKSIgVDAAAAAF86AAwgCiAGIAggBZSTIgiUIAkgEyASIAWUkyIMlJMiBiAGkiEGIAcgDJQgCiARIBAgBZSTIgSUkyIFIAWSIQUgACAPIAQgCyAGlCAKIAWUIAkgCSAElCAHIAiUkyIEIASSIgSUk5KSkjgCCCAAIA4gCCALIAWUIAcgBJQgCiAGlJOSkpI4AgQgACANIAwgCyAElCAJIAaUIAcgBZSTkpKSOAIAC5IDAQl9IwBBMGsiBSQAIAIqAgQiCiADKgIMIg2UIAIqAgAiCyADQRBqKgIAIg6UkyIHIAeSIQggAioCCCIHIA6UIAogA0EUaioCACIGlJMiDCAMkiEJIAVBFGogBiACKgIMIgwgCJQgCiAJlCALIAsgBpQgByANlJMiBiAGkiIGlJOSkjgCACAFQRBqIA4gDCAGlCALIAiUIAcgCZSTkpI4AgAgBSANIAwgCZQgByAGlCAKIAiUk5KSOAIMIAogAyoCACACKgIQkyINlCALIAMqAgQgAkEUaioCAJMiDpSTIgggCJIhCCAOIAeUIAMqAgggAkEYaioCAJMiBiAKlJMiCSAJkiEJIAUgBiAMIAiUIAogCZQgCyAGIAuUIA0gB5STIgYgBpIiBpSTkpI4AgggBSAOIAwgBpQgCyAIlCAHIAmUk5KSOAIEIAUgDSAMIAmUIAcgBpQgCiAIlJOSkjgCACAFQRhqIAEgBSAEQQAQfyAFKAIYIQEgACAFKgIgOAIEIAAgAUEERzYCACAFQTBqJAALlQMCCX0BfyMAQTBrIg8kACACKgIEIgogAyoCDCINlCACKgIAIgsgA0EQaioCACIOlJMiByAHkiEIIAIqAggiByAOlCAKIANBFGoqAgAiBpSTIgwgDJIhCSAPQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCDCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIIIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCBCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgAgD0EYaiABIA8gBCAFEJUBIA8oAhghASAAIA8qAiA4AgQgACABQQRHNgIAIA9BMGokAAuVAwIJfQF/IwBBMGsiDyQAIAIqAgQiCiADKgIMIg2UIAIqAgAiCyADQRBqKgIAIg6UkyIHIAeSIQggAioCCCIHIA6UIAogA0EUaioCACIGlJMiDCAMkiEJIA9BFGogBiACKgIMIgwgCJQgCiAJlCALIAsgBpQgByANlJMiBiAGkiIGlJOSkjgCACAPQRBqIA4gDCAGlCALIAiUIAcgCZSTkpI4AgAgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIMIAogAyoCACACKgIQkyINlCALIAMqAgQgAkEUaioCAJMiDpSTIgggCJIhCCAOIAeUIAMqAgggAkEYaioCAJMiBiAKlJMiCSAJkiEJIA8gBiAMIAiUIAogCZQgCyAGIAuUIA0gB5STIgYgBpIiBpSTkpI4AgggDyAOIAwgBpQgCyAIlCAHIAmUk5KSOAIEIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCACAPQRhqIAEgDyAEIAUQ5gEgDygCGCEBIAAgDyoCIDgCBCAAIAFBBEc2AgAgD0EwaiQAC5UDAgl9AX8jAEEwayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EUaiAGIAIqAgwiDCAIlCAKIAmUIAsgCyAGlCAHIA2UkyIGIAaSIgaUk5KSOAIAIA9BEGogDiAMIAaUIAsgCJQgByAJlJOSkjgCACAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgwgCiADKgIAIAIqAhCTIg2UIAsgAyoCBCACQRRqKgIAkyIOlJMiCCAIkiEIIA4gB5QgAyoCCCACQRhqKgIAkyIGIAqUkyIJIAmSIQkgDyAGIAwgCJQgCiAJlCALIAYgC5QgDSAHlJMiBiAGkiIGlJOSkjgCCCAPIA4gDCAGlCALIAiUIAcgCZSTkpI4AgQgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIAIA9BGGogASAPIAQgBRC9ASAPKAIYIQEgACAPKgIgOAIEIAAgAUEERzYCACAPQTBqJAALlQMCCX0BfyMAQTBrIg8kACACKgIEIgogAyoCDCINlCACKgIAIgsgA0EQaioCACIOlJMiByAHkiEIIAIqAggiByAOlCAKIANBFGoqAgAiBpSTIgwgDJIhCSAPQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCDCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIIIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCBCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgAgD0EYaiABIA8gBCAFELIBIA8oAhghASAAIA8qAiA4AgQgACABQQRHNgIAIA9BMGokAAuVAwIJfQF/IwBBMGsiDyQAIAIqAgQiCiADKgIMIg2UIAIqAgAiCyADQRBqKgIAIg6UkyIHIAeSIQggAioCCCIHIA6UIAogA0EUaioCACIGlJMiDCAMkiEJIA9BFGogBiACKgIMIgwgCJQgCiAJlCALIAsgBpQgByANlJMiBiAGkiIGlJOSkjgCACAPQRBqIA4gDCAGlCALIAiUIAcgCZSTkpI4AgAgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIMIAogAyoCACACKgIQkyINlCALIAMqAgQgAkEUaioCAJMiDpSTIgggCJIhCCAOIAeUIAMqAgggAkEYaioCAJMiBiAKlJMiCSAJkiEJIA8gBiAMIAiUIAogCZQgCyAGIAuUIA0gB5STIgYgBpIiBpSTkpI4AgggDyAOIAwgBpQgCyAIlCAHIAmUk5KSOAIEIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCACAPQRhqIAEgDyAEIAUQwwEgDygCGCEBIAAgDyoCIDgCBCAAIAFBBEc2AgAgD0EwaiQAC5UDAgl9AX8jAEEwayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EUaiAGIAIqAgwiDCAIlCAKIAmUIAsgCyAGlCAHIA2UkyIGIAaSIgaUk5KSOAIAIA9BEGogDiAMIAaUIAsgCJQgByAJlJOSkjgCACAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgwgCiADKgIAIAIqAhCTIg2UIAsgAyoCBCACQRRqKgIAkyIOlJMiCCAIkiEIIA4gB5QgAyoCCCACQRhqKgIAkyIGIAqUkyIJIAmSIQkgDyAGIAwgCJQgCiAJlCALIAYgC5QgDSAHlJMiBiAGkiIGlJOSkjgCCCAPIA4gDCAGlCALIAiUIAcgCZSTkpI4AgQgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIAIA9BGGogASAPIAQgBRDnASAPKAIYIQEgACAPKgIgOAIEIAAgAUEERzYCACAPQTBqJAALlQMCCX0BfyMAQTBrIg8kACACKgIEIgogAyoCDCINlCACKgIAIgsgA0EQaioCACIOlJMiByAHkiEIIAIqAggiByAOlCAKIANBFGoqAgAiBpSTIgwgDJIhCSAPQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCDCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIIIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCBCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgAgD0EYaiABIA8gBCAFEOMBIA8oAhghASAAIA8qAiA4AgQgACABQQRHNgIAIA9BMGokAAuVAwIJfQF/IwBBMGsiDyQAIAIqAgQiCiADKgIMIg2UIAIqAgAiCyADQRBqKgIAIg6UkyIHIAeSIQggAioCCCIHIA6UIAogA0EUaioCACIGlJMiDCAMkiEJIA9BFGogBiACKgIMIgwgCJQgCiAJlCALIAsgBpQgByANlJMiBiAGkiIGlJOSkjgCACAPQRBqIA4gDCAGlCALIAiUIAcgCZSTkpI4AgAgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIMIAogAyoCACACKgIQkyINlCALIAMqAgQgAkEUaioCAJMiDpSTIgggCJIhCCAOIAeUIAMqAgggAkEYaioCAJMiBiAKlJMiCSAJkiEJIA8gBiAMIAiUIAogCZQgCyAGIAuUIA0gB5STIgYgBpIiBpSTkpI4AgggDyAOIAwgBpQgCyAIlCAHIAmUk5KSOAIEIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCACAPQRhqIAEgDyAEIAUQzAEgDygCGCEBIAAgDyoCIDgCBCAAIAFBBEc2AgAgD0EwaiQAC5UDAgl9AX8jAEEwayIPJAAgAioCBCIKIAMqAgwiDZQgAioCACILIANBEGoqAgAiDpSTIgcgB5IhCCACKgIIIgcgDpQgCiADQRRqKgIAIgaUkyIMIAySIQkgD0EUaiAGIAIqAgwiDCAIlCAKIAmUIAsgCyAGlCAHIA2UkyIGIAaSIgaUk5KSOAIAIA9BEGogDiAMIAaUIAsgCJQgByAJlJOSkjgCACAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgwgCiADKgIAIAIqAhCTIg2UIAsgAyoCBCACQRRqKgIAkyIOlJMiCCAIkiEIIA4gB5QgAyoCCCACQRhqKgIAkyIGIAqUkyIJIAmSIQkgDyAGIAwgCJQgCiAJlCALIAYgC5QgDSAHlJMiBiAGkiIGlJOSkjgCCCAPIA4gDCAGlCALIAiUIAcgCZSTkpI4AgQgDyANIAwgCZQgByAGlCAKIAiUk5KSOAIAIA9BGGogASAPIAQgBRDOASAPKAIYIQEgACAPKgIgOAIEIAAgAUEERzYCACAPQTBqJAALlQMCCX0BfyMAQTBrIg8kACACKgIEIgogAyoCDCINlCACKgIAIgsgA0EQaioCACIOlJMiByAHkiEIIAIqAggiByAOlCAKIANBFGoqAgAiBpSTIgwgDJIhCSAPQRRqIAYgAioCDCIMIAiUIAogCZQgCyALIAaUIAcgDZSTIgYgBpIiBpSTkpI4AgAgD0EQaiAOIAwgBpQgCyAIlCAHIAmUk5KSOAIAIA8gDSAMIAmUIAcgBpQgCiAIlJOSkjgCDCAKIAMqAgAgAioCEJMiDZQgCyADKgIEIAJBFGoqAgCTIg6UkyIIIAiSIQggDiAHlCADKgIIIAJBGGoqAgCTIgYgCpSTIgkgCZIhCSAPIAYgDCAIlCAKIAmUIAsgBiALlCANIAeUkyIGIAaSIgaUk5KSOAIIIA8gDiAMIAaUIAsgCJQgByAJlJOSkjgCBCAPIA0gDCAJlCAHIAaUIAogCJSTkpI4AgAgD0EYaiABIA8gBCAFENYBIA8oAhghASAAIA8qAiA4AgQgACABQQRHNgIAIA9BMGokAAvBAwIJfwF+IwBBEGsiAyQAIAACfwJAIAEoAgQiBEEESQ0AIAEoAgAhAiABIARBBGsiBTYCBCABIAJBBGo2AgAgBUEESQ0AIAIoAAAhBSABIARBCGsiBjYCBCABIAJBCGo2AgAgBkEESQ0AIAIoAAQhBiABIARBDGsiBzYCBCABIAJBDGo2AgAgB0EESQ0AIAIoAAghByABIARBEGsiCDYCBCABIAJBEGo2AgACQCAIQQRJDQAgAigADCEIIAEgBEEUayIJNgIEIAEgAkEUajYCACAJQQRJDQAgAigAECEJIAEgBEEYayIKNgIEIAEgAkEYajYCACAKQQRJDQAgAjUAFCELIAAgBTYCBCABIARBHGs2AgQgASACQRxqNgIAIABBFGogCTYCACAAQRBqIAg2AgAgAEEMaiAHNgIAIABBCGogBjYCACAAQRhqIAsgAjUAGEIghoQ3AgBBAAwCCyADQQA6AAsgA0ElOwAJIANBBDYCDCADQQE6AAggACADQQhqEOoKNgIEQQEMAQsgA0EAOgALIANBJTsACSADQQQ2AgwgA0EBOgAIIAAgA0EIahDqCjYCBEEBCzYCACADQRBqJAALkAMBDn0gACABKQIgNwIgIABBKGogAUEoaigCADYCACACQRRqKgIAIQ4gAkEYaioCACEPIAFBGGoqAgAhCyABQRRqKgIAIQwgAioCECEQIAEqAhAhDSACKgIIIQYgASoCBCEDIAIqAgQhByABKgIIIQQgAioCDCEJIAEqAgAhBSACKgIAIQggASoCDCEKIAAgASoCHDgCHCAAIAcgBJQgCSAFlCAIIAqUkpIgBiADlJM4AgAgACAGIAWUIAcgCpQgCSADlCAIIASUk5KSOAIEIAAgBiAKlCAIIAOUIAkgBJSSIAcgBZSTkjgCCCAAIAkgCpQgCCAFlJMgByADlJMgBiAElJM4AgwgAEEYaiAPIAsgCSAMIAiUIA0gB5STIgMgA5IiA5QgCCANIAaUIAsgCJSTIgQgBJIiBJQgByALIAeUIAwgBpSTIgUgBZIiBZSTkpKSOAIAIABBFGogDiAMIAkgBJQgBiAFlCAIIAOUk5KSkjgCACAAIBAgDSAJIAWUIAcgA5QgBiAElJOSkpI4AhALgAMBDn0gASoCACEGIAMqAgAgAioCECIPkyIFIAIqAgQiCpQgAyoCBCACQRRqKgIAIhCTIgcgAioCACILlJMiCCAIkiEJIAcgAioCCCIIlCADKgIIIAJBGGoqAgAiEZMiDCAKlJMiDSANkiEEIAwgAioCDCINIAmUIAogBJQgCyAMIAuUIAUgCJSTIgwgDJIiDJSTkpIiDiAOlCAFIA0gBJQgCCAMlCAKIAmUk5KSIgUgBZQgByANIAyUIAsgCZQgCCAElJOSkiIJIAmUkpIiBBCbASEHIABCAjcCECAAIAQgBiAGlF86AAwgACARIAYgB5UiBiAOlCIEIA0gCyAGIAmUIgmUIAogBiAFlCIGlJMiBSAFkiIFlCALIAggBpQgCyAElJMiByAHkiIHlCAKIAogBJQgCCAJlJMiBCAEkiIElJOSkpI4AgggACAQIAkgDSAHlCAIIASUIAsgBZSTkpKSOAIEIAAgDyAGIA0gBJQgCiAFlCAIIAeUk5KSkjgCAAvKHwIMfwN+IwBBEGsiHCQAAkACQCABRQ0AIAEoAgANASABQX82AgAgA0UNACADKAIAIhpBf0YNASADIBpBAWo2AgAgBEUNACAEKAIAIhpBf0YNASAEIBpBAWo2AgAgBUUNACAFKAIAIhpBf0YNASAFIBpBAWo2AgAgCEUNACAIKAIAIhpBf0YNASAIIBpBAWo2AgAgCUUNACAJKAIAIhpBf0YNASAJIBpBAWo2AgAgCkUNACAKKAIAIhpBf0YNASAKIBpBAWo2AgAgGUUNACAZKAIADQEgGUF/NgIAIAFBBGohGiACQQBHIR0gCEEEaiEeIAlBBGohHyAKQQRqISAgEEEARyEhIBdBAEchFyAZQQRqISQjAEGgBWsiECQAIBBBIGoiAkEIaiIiIAVBBGoiG0EIaikCADcDACACQRhqIiMgBEEEaiICQQhqKAIANgIAIBAgBjYCHCAQIBspAgA3AyAgECACKQIANwMwIANBBGoiGygCACIGKAIAIQIgBiACQQFqNgIAAkACQAJAIAJBAE4EQCAbKAIEIRsgEEGABGoiAkIANwMQIAIgBjYCCCACQQA7AWQgAkGAgID4AzYCMCACQoCAgICAgIDAPzcDACACQgA3AjQgAkIANwJUIAJCfzcDICACQoCAgIDwgYCAATcCXCACQRhqIgZCADcDACACQQxqIBs2AgAgAkE8akIANwIAIAJBzABqQgA3AgAgAkHEAGpCgICA/AM3AgAgAkEoakJ/NwMAIBBB+AFqIhtBGGogBikDACImNwMAIBtBEGogAkEQaikDACInNwMAIBBBqAFqIgZBCGogAkEIaikDACIoNwMAIAZBEGogJzcDACAGQRhqICY3AwAgEEFAayICQQhqICg3AwAgAkEQaiAnNwMAIAJBGGogJjcDACAQIBApA4AEIiY3A6gBIBAgJjcDQCAQLwHmBCECIBBBkAFqICMoAgA2AgAgEEGIAWogEEEwaikDADcDACAQQYABaiAiKQMANwMAIBAgECkDIDcDeCAQIAI7AaYBIBBBAyAPIA9BA08bOgClASAQQQMgDiAOQQNPGzoApAEgEEEAIBMgE0HQI3EbQf//A3FBgIAEQQAgIRtyIB1BGHRyNgKgASAQIBY4ApwBIBAgFUEAIBVBA00bNgKYASAQIBRBACAUQQdNGzYClAEgECANOAJ0IBAgDDgCcCAQIBJB//8DcTYCbCAQIBJBEHY2AmggECARQf//A3E2AmQgECARQRB2NgJgAkACQAJAAkAgECgCHA4DAQIAAwsgEEHMAWoiBiAeIAcgHyAgEIgHIBBBgARqIg4gEEFAayIRQegAEIgNGiAQQfgBaiEPQZH7wwAtAAAaAkBBLEEEEIIMIgIEQCACIAYpAgA3AgAgAkEoaiAGQShqKAIANgIAIAJBIGogBkEgaikCADcCACACQRhqIAZBGGopAgA3AgAgAkEQaiAGQRBqKQIANwIAIAJBCGogBkEIaikCADcCACAOKAIAQQJPBEAgDigCBBCaAgsgDiACNgIEIA5BAjYCACAPIA5B6AAQiA0aDAELDAYLIBEgD0HoABCIDRoMBAsgEEGABGoiAiAQQUBrIg5B6AAQiA0aIBBB+AFqIQYgAigCAEECTwRAIAIoAgQQmgILIAIgCzgCBCACQQA2AgAgBiACQegAEIgNGiAOIAZB6AAQiA0aDAMLIBBBgARqIgIgEEFAayIOQegAEIgNGiAQQfgBaiEGIAIoAgBBAk8EQCACKAIEEJoCCyACIAc4AgQgAkEBNgIAIAYgAkHoABCIDRogDiAGQegAEIgNGgwCCyAQQQA2AoAEIwBBEGsiACQAIABBnLHAADYCDCAAIBBBHGo2AghBACAAQQhqQcCWwAAgAEEMakHAlsAAIBBBgARqQZi3wAAQqwQACwALIBBB4AJqIQIgEEFAayIGKAIIIhEoAgAhDiARIA5BAWo2AgACQCAOQQBOBEAgBkEMaigCACESIAZBLGooAgAhEyAGQSRqKAIAIRQgBi0AYiEVIAYtAGMhHSAGKAJYIR4gBigCVCEfIAYvAWAhICAGKAIoISEgBigCICEiIAYtAGUhGyAGLQBkISMgBioCNCEHIAYqAjAhCwJAIAYoAgAiJUECRwRAIAYoAgQhDgwBC0GR+8MALQAAGkEsQQQQggwiDkUNAyAOIAYoAgQiDykCADcCACAOQQhqIA9BCGopAgA3AgAgDkEQaiAPQRBqKQIANwIAIA5BGGogD0EYaikCADcCACAOQSBqIA9BIGopAgA3AgAgDkEoaiAPQShqKAIANgIACyACIBU6AJgBIAIgETYCMCACQf8DNgJwIAIgJTYCKCACQQA2AgAgAkE0aiASNgIAIAJBLGogDjYCACACIAYpAjg3AnQgAkH8AGogBkFAaykCADcCACACQYQBaiAGQcgAaikCADcCACACQYwBaiAGQdAAaigCADYCACAGKgJcIQwgBikDECEmIAJBQGsgBkEYaikDADcDACACICY3AzggAkHtAGogGzoAACACQewAaiAjOgAAIAJB6ABqIAc4AgAgAiALOAJkIAIgDDgClAEgAkF/NgKQASACQeAAaiAgOwEAIAJB3ABqIB42AgAgAkHYAGogHzYCACACQdQAaiATNgIAIAJB0ABqICE2AgAgAkHMAGogFDYCACACICI2AkggAkHiAGogHUVBAXQ6AAAMAQsACwJAAkACQAJAAkACQAJAAkACQCAXBEAgEEH4AWoiAkEIaiIOIBBB9AJqKQIANwMAIAJBEGoiEiAQQfwCaikCADcDACACQRhqIgIgEEGEA2ooAgA2AgAgECAQKQLsAjcD+AEgGL0iJkIgiKchDyAQQdQDaiERICanIQYgECgC4AIiE0UEQCACIBFBGGooAgA2AgAgEiARQRBqKQIANwMAIA4gEUEIaikCADcDACAQIBEpAgA3A/gBQQEhEwsgJCAGIA8QigciEkUNBSAQQfQDaiEUIBBBiANqIRUgGigCAEUNASAaKAIEIgIgGkEQaigCACIO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QRBNGyIAayABTQ0AQRAgAUELakF4cSABQQtJGyIEIABqQQxqEDoiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIABBACACIANqQQAgAGtxQQhrIgAgAWtBEE0bIABqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQzAMMAQsgASgCACEBIAAgAzYCBCAAIAEgAmo2AgALAkAgACgCBCIBQQNxRQ0AIAFBeHEiAiAEQRBqTQ0AIAAgBCABQQFxckECcjYCBCAAIARqIgEgAiAEayIEQQNyNgIEIAAgAmoiAiACKAIEQQFyNgIEIAEgBBDMAwsgAEEIaiEDCyADC40DAQF/AkAgAgRAIAEtAABBME0NASAFQQI7AQACQAJAAkAgA8EiBkEASgRAIAUgATYCBCADQf//A3EiAyACTw0BIAVBAjsBGCAFQQI7AQwgBSADNgIIIAVBIGogAiADayICNgIAIAVBHGogASADajYCACAFQRRqQQE2AgAgBUEQakGs2cMANgIAQQMhASACIARPDQMgBCACayEEDAILIAVBAjsBGCAFQQA7AQwgBUECNgIIIAVBrdnDADYCBCAFQSBqIAI2AgAgBUEcaiABNgIAIAVBEGpBACAGayIDNgIAQQMhASACIARPDQIgBCACayICIANNDQIgAiAGaiEEDAELIAVBADsBDCAFIAI2AgggBUEQaiADIAJrNgIAIARFBEBBAiEBDAILIAVBAjsBGCAFQSBqQQE2AgAgBUEcakGs2cMANgIACyAFQQA7ASQgBUEoaiAENgIAQQQhAQsgACABNgIEIAAgBTYCAA8LQezVwwBBIUG42MMAEKoKAAtByNjDAEEfQejYwwAQqgoAC5oDAQF/AkACQCAARQ0AIAAoAgANASAAQX82AgAgAUUNACABKAIAIgtBf0YNASABIAtBAWo2AgAgAkUNACACKAIAIgtBf0YNASACIAtBAWo2AgAgA0UNACADKAIADQEgA0F/NgIAIARFDQAgBCgCAA0BIARBfzYCACAFRQ0AIAUoAgANASAFQX82AgAgBkUNACAGKAIADQEgBkF/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KAIAIghBf0YNASAAIAhBAWo2AgAgAkUNACACKAIAIghBf0YNASACIAhBAWo2AgAgBEUNACAEKAIAIghBf0YNASAEIAhBAWo2AgAgAkEEaiELIARBBGohDCAGQQBHIQ0jAEGAAWsiBiQAAkACQCAAQQRqIgkgA70iE6ciDiATQiCIpyIPEJgKIggEQCAJIAG9IhOnIBNCIIinEJgKIglFDQEgBkHEAGogCUH0AGogCyAJKAIwIAlBNGooAgAiCSgCCEEBa0F4cWpBCGogCSAIQfQAaiAMIAgoAjAgCEE0aigCACIIKAIIQQFrQXhxakEIaiAIIAUgDRDHAgJ/AkAgBi0AeCILQQVHBEAgBkEIaiIIQTBqIgwgBkHEAGoiCUEwaigCADYCACAIQShqIg0gCUEoaikCADcDACAIQSBqIhAgCUEgaikCADcDACAIQRhqIhEgCUEYaikCADcDACAIQRBqIhIgCUEQaikCADcDACAIQQhqIAlBCGopAgA3AwAgBkEGaiAGQfsAai0AADoAACAGIAYpAkQ3AwggBiAGLwB5OwEEIAtBBEcNAQsgByAGKQJENwIAIAdBOGogBkHEAGoiCEE4aigCADYCACAHQTBqIAhBMGopAgA3AgAgB0EoaiAIQShqKQIANwIAIAdBIGogCEEgaikCADcCACAHQRhqIAhBGGopAgA3AgAgB0EQaiAIQRBqKQIANwIAIAdBCGogCEEIaikCADcCAEEEIQsgBkHBAGoMAQsgByAPNgIEIAcgDjYCACAHIAYpAwg3AgggB0EQaiAGQRBqKQMANwIAIAdBGGogEikDADcCACAHQSBqIBEpAwA3AgAgB0EoaiAQKQMANwIAIAdBMGogDSkDADcCACAHQThqIAwoAgA2AgAgBkEEagshCCAHIAs6ADwgByAILwAAOwA9IAdBP2ogCEECai0AADoAACAGQYABaiQADAILQYS2wABBzABB4LjAABDhCQALQYS2wABBzABB+LbAABDhCQALIAQgBCgCAEEBazYCACACIAIoAgBBAWs2AgAgACAAKAIAQQFrNgIAIActADxBBEcEQEGR+8MALQAAGkHEAEEEEIIMIgpFDQMgCkEANgIAIAogBykCADcCBCAKQQxqIAdBCGopAgA3AgAgCkEUaiAHQRBqKQIANwIAIApBHGogB0EYaikCADcCACAK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A0UNACADKAIAIgVBf0YNASADIAVBAWo2AgAgBEUNACAEKAIAIgVBf0YNASAEIAVBAWo2AgAjAEHgAGsiBkHNAGoiCEELakIANwAAIAZBOmoiCUELakIANwAAIAZBJ2oiCkELakIANwAAIAZBFGoiC0ELakIANwAAIAdBiAVqIgVB+ABqQgA3AwAgBUHwAGpCADcDACAFQgA3A2ggBkEBaiIMQQtqQgA3AAAgBUIANwJUIAVB3ABqQgA3AgAgBUG4AWogCEEPaigAADYAACAGQgA3AFAgBUGxAWogCEEIaikAADcAACAFIAYpAE03AKkBIAZCADcAPSAGQgA3ACogBkIANwAXIAZCADcABCAFQdQBaiAJQQ9qKAAANgAAIAVBzQFqIAlBCGopAAA3AAAgBSAGKQA6NwDFASAFIAYpACc3AOEBIAVB6QFqIApBCGopAAA3AAAgBUHwAWogCkEPaigAADYAACAFIAYpABQ3AP0BIAVBhQJqIAtBCGopAAA3AAAgBUGMAmogC0EPaigAADYAACAFQagCaiAMQQ9qKAAANgAAIAVBoQJqIAxBCGopAAA3AAAgBSAGKQABNwCZAiAFQgA3AwggBUIANwMAIAVBjAFqQgA3AgAgBUIANwKEASAFQYGOgAg2AboCIAVBADsBuAIgBUEAOgC0AiAFQv////sHNwKsAiAFQQA6AJgCIAVC////+wc3A5ACIAVBADoA/AEgBUL////7BzcC9AEgBUEAOgDgASAFQv////sHNwPYASAFQQA6AMQBIAVC////+wc3ArwBIAVBAToAqAEgBUL////7BzcDoAEgBSACOAKcASAFIAE4ApgBIAUgADgClAEgBUGAgID8AzYCgAEgBUGAgID8AzYCZCAFQf////sHNgJQIAVCgICAgPD//79/NwNIIAVC////+////7//ADcDQCAFQv////sHNwM4IAVCgICAgPD//79/NwMwIAVC////+////7//ADcDKCAFQv////sHNwMgIAVCgICAgPD//79/NwMYIAVC////+////7//ADcDECAHQfgFaiADQQRqIgZBCGooAgA2AgAgB0HwBWogBikCADcDACAHQcgCaiIGIAVBwAIQiA0aIAdB1ANqIARBDGooAgA2AgAgByAEKQIENwLMAyAHQQhqIgggBkHAAhCIDRogBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACAFQQRqIAhBwAIQiA0aQZH7wwAtAAAaQcgCQQgQggwiA0UNAiADQQA2AgAgA0EEaiAHQYgFakHEAhCIDRogB0HQB2okACADDwsQ+AwACxD5DAALQQhByAJB0IHEACgCACIDQZcHIAMbEQAAAAvFAgEIfyMAQTBrIgIkAAJAAkAgAARAIAAoAgANASAAQQA2AgAgAEE8aiIDKAIAIQQgA0ECNgIAIARBAkcEQCACQShqIgMgAEHoAGopAgA3AwAgAkEgaiIFIABB4ABqKQIANwMAIAJBGGoiBiAAQdgAaikCADcDACACQRBqIgcgAEHQAGopAgA3AwAgAkEIaiIIIABByABqKQIANwMAQZH7wwAtAAAaIAIgAEFAaykCADcDAEE4QQQQggwiAUUNAyABIAQ2AgQgAUEANgIAIAEgAikDADcCCCABQRBqIAgpAwA3AgAgAUEYaiAHKQMANwIAIAFBIGogBikDADcCACABQShqIAUpAwA3AgAgAUEwaiADKQMANwIACyACQTBqJAAgAQ8LEPgMAAsQ+QwAC0EEQThB0IHEACgCACIAQZcHIAAbEQAAAAu0AgIIfQF/IwBBIGsiCyQAIAEqAgAiAyADlCABKgIEIgMgA5SSEJsBIQMgASoCCCIGQwAAAABgRQRAIAtBFGpCADcCACALQQE2AgwgC0Hkl8IANgIIIAtBtIrCADYCECALQQhqQcCuwwAQ3AoACyAAIAMgBpI4AgwgACACQRhqKgIAIAIqAgwiAyACKgIAIgZDAAAAAJQiBCACKgIEIghDAAAAAJQiBZMiByAHkiIHlCAGIAIqAggiCUMAAAAAlCIKIASTIgQgBJIiBJQgCCAFIAqTIgUgBZIiBZSTkkMAAAAAkpI4AgggACACQRRqKgIAIAMgBJQgCSAFlCAGIAeUk5JDAAAAAJKSOAIEIAAgAioCECADIAWUIAggB5QgCSAElJOSQwAAAACSkjgCACALQSBqJAALiggBCH8jAEHQB2siBSQAAkACQAJAIAFFDQAgASgCACIDQX9GDQEgASADQQFqNgIAIAJFDQAgAigCACIDQX9GDQEgAiADQQFqNgIAIwBB4ABrIgRBzQBqIgZBC2pCADcAACAEQTpqIgdBC2pCADcAACAEQSdqIghBC2pCADcAACAEQRRqIglBC2pCADcAACAFQYgFaiIDQfgAakIANwMAIANB8ABqQgA3AwAgA0IANwNoIANCADcDkAEgA0GYAWpCADcDACAEQQFqIgpBC2pCADcAACADQdwAakIANwIAIANCADcCVCAEQgA3AFAgA0GxAWogBkEIaikAADcAACAEQgA3AD0gBEIANwAqIARCADcAFyAEQgA3AAQgAyAEKQBNNwCpASADQbgBaiAGQQ9qKAAANgAAIAMgBCkAOjcAxQEgA0HNAWogB0EIaikAADcAACADQdQBaiAHQQ9qKAAANgAAIAMgBCkAJzcA4QEgA0HpAWogCEEIaikAADcAACADQfABaiAIQQ9qKAAANgAAIANBjAJqIAlBD2ooAAA2AAAgA0GFAmogCUEIaikAADcAACADIAQpABQ3AP0BIANBqAJqIApBD2ooAAA2AAAgA0GhAmogCkEIaikAADcAACADIAQpAAE3AJkCIANBEGpBADYCACADQQhqQgA3AwAgA0IANwMAIANBgAI7AbwCIANBgIKAODYCuAIgA0EAOgC0AiADQv////sHNwKsAiADQQA6AJgCIANC////+wc3A5ACIANBADoA/AEgA0L////7BzcC9AEgA0EAOgDgASADQv////sHNwPYASADQQA6AMQBIANC////+wc3ArwBIANBADoAqAEgA0L////7BzcDoAEgA0IANwOIASADQoCAgPwDNwOAASADQYCAgPwDNgJkIANB////+wc2AlAgA0KAgICA8P//v383A0ggA0L////7////v/8ANwNAIANC////+wc3AzggA0KAgICA8P//v383AzAgA0L////7////v/8ANwMoIANC////+wc3AyAgA0KAgICA8P//v383AxggAyAAOAIUIAVB+AVqIAFBBGoiBEEIaigCADYCACAFQfAFaiAEKQIANwMAIAVByAJqIgQgA0HAAhCIDRogBUHUA2ogAkEMaigCADYCACAFIAIpAgQ3AswDIAVBCGoiBiAEQcACEIgNGiACIAIoAgBBAWs2AgAgASABKAIAQQFrNgIAIANBBGogBkHAAhCIDRpBkfvDAC0AABpByAJBCBCCDCIBRQ0CIAFBADYCACABQQRqIAVBiAVqQcQCEIgNGiAFQdAHaiQAIAEPCxD4DAALEPkMAAtBCEHIAkHQgcQAKAIAIgFBlwcgARsRAAAAC4MIAQh/IwBB0AdrIgQkAAJAAkACQCAARQ0AIAAoAgAiAkF/Rg0BIAAgAkEBajYCACABRQ0AIAEoAgAiAkF/Rg0BIAEgAkEBajYCACMAQeAAayIDQc0AaiIFQQtqQgA3AAAgA0E6aiIGQQtqQgA3AAAgA0EnaiIHQQtqQgA3AAAgA0EUaiIIQQtqQgA3AAAgBEGIBWoiAkH4AGpCADcDACACQfAAakIANwMAIAJCADcDaCACQgA3A5ABIAJBmAFqQgA3AwAgA0EBaiIJQQtqQgA3AAAgAkHcAGpCADcCACACQgA3AlQgA0IANwBQIAJBsQFqIAVBCGopAAA3AAAgA0IANwA9IANCADcAKiADQgA3ABcgA0IANwAEIAIgAykATTcAqQEgAkG4AWogBUEPaigAADYAACACIAMpADo3AMUBIAJBzQFqIAZBCGopAAA3AAAgAkHUAWogBkEPaigAADYAACACIAMpACc3AOEBIAJB6QFqIAdBCGopAAA3AAAgAkHwAWogB0EPaigAADYAACACQYwCaiAIQQ9qKAAANgAAIAJBhQJqIAhBCGopAAA3AAAgAiADKQAUNwD9ASACQagCaiAJQQ9qKAAANgAAIAJBoQJqIAlBCGopAAA3AAAgAiADKQABNwCZAiACQgA3AwggAkIANwMAIAJBgAI7AbwCIAJBBzYCuAIgAkEAOgC0AiACQv////sHNwKsAiACQQA6AJgCIAJC////+wc3A5ACIAJBADoA/AEgAkL////7BzcC9AEgAkEAOgDgASACQv////sHNwPYASACQQA6AMQBIAJC////+wc3ArwBIAJBADoAqAEgAkL////7BzcDoAEgAkIANwOIASACQoCAgPwDNwOAASACQYCAgPwDNgJkIAJB////+wc2AlAgAkKAgICA8P//v383A0ggAkL////7////v/8ANwNAIAJC////+wc3AzggAkKAgICA8P//v383AzAgAkL////7////v/8ANwMoIAJC////+wc3AyAgAkKAgICA8P//v383AxggAkL////7////v/8ANwMQIARB+AVqIABBBGoiA0EIaigCADYCACAEQfAFaiADKQIANwMAIARByAJqIgMgAkHAAhCIDRogBEHUA2ogAUEMaigCADYCACAEIAEpAgQ3AswDIARBCGoiBSADQcACEIgNGiABIAEoAgBB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AyAMGyEDDAELIAogC11FDQAgBCEDIAEhAgsgACACKgIIIAkgASoCJCIElJI4AgggACACKgIEIAggBJSSOAIEIAAgAyAHIASUkjgCAAuZAgICfwh9IAAoAggiAgRAIAAoAgAiASoCCCEHIAEqAgQhCCABKgIAIQQCQCACQQFGBEAgByEJIAghBSAEIQMMAQsgASACQQxsaiECIAFBDGohASAEIQMgCCEFIAchCQNAIAkgAUEIaioCACIKIAkgCmAbIQkgBSABQQRqKgIAIgYgBSAGYBshBSAHIAogByAKXxshByAIIAYgBiAIYBshCCADIAEqAgAiBiADIAZgGyEDIAQgBiAEIAZfGyEEIAIgAUEMaiIBRw0ACwsgACoCYCADIASTQwAAAD+UIgQgBSAIk0MAAAA/lCIDIAMgBGAbIgUgCSAHk0MAAAA/lCIDIAMgBWAbkg8LQfKYwgBB0gBB1JnCABDhCQALlwIBAX8jAEEQayICJAAgACgCACEAAn8gASgCACABKAIIcgRAIAJBADYCDCABIAJBDGoCfwJAAkAgAEGAAU8EQCAAQYAQSQ0BIABBgIAETw0CIAIgAEE/cUGAAXI6AA4gAiAAQQx2QeABcjoADCACIABBBnZBP3FBgAFyOgANQQMMAwsgAiAAOgAMQQEMAgsgAiAAQT9xQYABcjoADSACIABBBnZBwAFyOgAMQQIMAQsgAiAAQT9xQYABcjoADyACIABBEnZB8AFyOgAMIAIgAEEGdkE/cUGAAXI6AA4gAiAAQQx2QT9xQYABcjoADUEECxDUAQwBCyABKAIUIAAgAUEYaigCACgCEBEDAAshASACQRBqJAAgAQu8AQAgACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQSRqKAIABEAgACgCIBCaAgsgAEEwaigCAARAIABBLGooAgAQmgILIABBxABqKAIABEAgACgCQBCaAgsgAEHQAGooAgAEQCAAQcwAaigCABCaAgsgAEHkAGooAgAEQCAAKAJgEJoCCyAAQfwAaigCAARAIAAoAngQmgILIABBiAFqKAIABEAgACgChAEQmgILIAAQmgILjgIBBH8gACIEKAIIIgIgAUkEQCACIQMgASACayIFIAQoAgQgAmtLBEAgBCACIAUQiQYgBCgCCCEDCyAEKAIAIANBAnRq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BEL////7BzcCrAIgBEEAOgCYAiAEQv////sHNwOQAiAEQQA6APwBIARC////+wc3AvQBIARBADoA4AEgBEL////7BzcD2AEgBEEAOgDEASAEQv////sHNwK8ASAEQQA6AKgBIARC////+wc3A6ABIARCADcDiAEgBEKAgID8AzcDgAEgBEGAgID8AzYCZCAEQf////sHNgJQIARCgICAgPD//79/NwNIIARC////+////7//ADcDQCAEQv////sHNwM4IARCgICAgPD//79/NwMwIARC////+////7//ADcDKCAEQv////sHNwMgIARCgICAgPD//79/NwMYIARC////+////7//ADcDECAGQcADaiAJQQhqKAIANgIAIAZBuANqIAkpAgA3AwAgBkEQaiIDIARBwAIQiA0aIAZBnAFqIApBCGooAgA2AgAgBiAKKQIANwKUASAEIANBwAIQiA0aIAZBkAVqIgVBCGogESgCADYCACAGIAYpAgQ3A5AFIARB2ABqIAUQ0gMgAyAEQcACEIgNGiADQfQAaiAQENIDIAggA0HAAhCIDRoMAgsgCEECOgC9AgwBCyAIQQI6AL0CCyAGQaAFaiQAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAQQAhACAHLQDFAkECRwRAIAdB0AJqIAdBCGpBwAIQiA0aQZH7wwAtAAAaQcgCQQgQggwiAEUNAyAAQQA2AgAgAEEEaiAHQcwCakHEAhCIDRoLIAdBkAVqJAAgAA8LEPgMAAsQ+QwAC0EIQcgCQdCBxAAoAgAiAEGXByAAGxEAAAALvwUCCn8BfiMAQUBqIggkAAJAAkAgAARAIAAoAgAiBEF/Rg0BIAAgBEEBajYCACAIQQhqIQQjAEHwAGsiBSQAAkACQCAAQQRqIgcgAr0iDqcgDkIgiKcQmAoiBgRAIAcgAb0iDqcgDkIgiKcQmAoiB0UNASAFQThqIAdB9ABqIAcoAjAgB0E0aigCACIHKAIIQQFrQXhxakEIaiAHIAZB9ABqIAYoAjAgBkE0aigCACIGKAIIQQFrQXhxakEIaiAGIAMQogEgBAJ/QQAgBSgCOCIHQQJGDQAaIAVBMGoiCSAFQThqIgZBNGooAgA2AgAgBUEoaiIKIAZBLGopAgA3AwAgBUEgaiILIAZBJGopAgA3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AAsgAyAqQdT2wQAQ4wgACyADICJBkPPBABDjCAALAkAgKQRAIBsgGygCdCArazYCdAJAAkACQAJAAkAgGygCCCIVRQRAQQAhA0EAIQYMAQsgGygCAEEEaiEDQQAhCkGwisIALQAAIRZBsYrCAC0AACESA0ACQCADKAIAIgxB/////wdxIgZB/////wdGDQAgBiAoTw0EIAZBBXYiBiAlTw0EIBYgEiAXIAZBAnRqKAIAIAx2QQFxG0H/AXENAEEBIQYgCkEBaiEDDAILIANBCGohAyAVIApBAWoiCkcNAAtBACEGDAELIAMgFUYNACAVIANrIQogGygCACADQQN0aiEDA0ACQAJAIANBBGooAgAiEkH/////B3EiDEH/////B0YNACAMIChPDQggDEEFdiIMICVPDQhBsIrCAEGxisIAIBcgDEECdGooAgAgEnZBAXEbLQAADQAgBkEBaiEGDAELIAMgBkEDdGsgAykCADcCAAsgA0EIaiEDIApBAWsiCg0ACwsgGyAVIAZrNgIIAkACQCAbQShqKAIAIhVFBEBBACEDQQAhBgwBCyAbKAIgQQRqIQNBACEKQbCKwgAtAAAhFkGxisIALQAAIRIDQAJAIAMoAgAiDEH/////B3EiBkH/////B0YNACAGIChPDQQgBkEFdiIGICVPDQQgFiASIBcgBkECdGooAgAgDHZBAXEbQf8BcQ0AQQEhBiAKQQFqIQMMAgsgA0EIaiEDIBUgCkEBaiIKRw0AC0EAIQYMAQsgAyAVRg0AIBUgA2shCiAbKAIgIANBA3RqIQMDQAJAAkAgA0EEaigCACISQf////8HcSIMQf////8HRg0AIAwgKE8NCCAMQQV2IgwgJU8NCEGwisIAQbGKwgAgFyAMQQJ0aigCACASdkEBcRstAAANACAGQQFqIQYMAQsgAyAGQQN0ayADKQIANwIACyADQQhqIQMgCkEBayIKDQALCyAbIBUgBms2AiggG0HIAGooAgAiFUUEQEEAIQNBACEGDAILIBsoAkBBBGohA0EAIQpBsIrCAC0AACEWQbGKwgAtAAAhEgNAAkAgAygCACIMQf////8HcSIGQf////8HRg0AIAYgKE8NAiAGQQV2IgYgJU8NAiAWIBIgFyAGQQJ0aigCACAMdkEBcRtB/wFxDQBBASEGIApBAWohAwwDCyADQQhqIQMgFSAKQQFqIgpHDQALQQAhBgwCC0Ho+cAAQRNBkPLBABDhCQALIAMgFUYNACAVIANrIQogGygCQCADQQN0aiEDA0ACQAJAIANBBGooAgAiEkH/////B3EiDEH/////B0YNACAMIChPDQUgDEEFdiIMICVPDQVBsIrCAEGxisIAIBcgDEECdGooAgAgEnZBAXEbLQAADQAgBkEBaiEGDAELIAMgBkEDdGsgAykCADcCAAsgA0EIaiEDIApBAWsiCg0ACwsgGyAVIAZrNgJICyAbICxBAWs6AJABDAELQej5wABBE0GQ8sEAEOEJAAsgG0GAAWooAgAiAwRAIBtBIGpBASAbKAJ4IAMgNyAqQQAQRyAbQUBrQQIgGygCeCAbKAKAASA3ICpBABBHIBtBACAbKAJ4IBsoAoABIDcgKiA1EEcgG0EBOgCQASAbQQA2AoABCyAbQYwBaigCACIGBEAgG0GEAWooAgAhAyAGQQJ0IRUDQCADKAIAIgYgKk8NByA3IAZBLGxqIgYoAgBFDQwgBigCBCIGRQ0NIANBBGohAyAGQQEgBi0AkAEiBiAGQQFNGzoAkAEgFUEEayIVDQALCyAbKAJ0RQRAIBRBQGsiBiA6QQRqIgNBCGooAgA2AgAgFCADKQIANwM4IC4oAgAiAyAwKAIARgRAICQgAxCqBiAuKAIAIQMLIC4gA0EBajYCACAkKAIAIANBDGxqIgMgFCkDODcCACADQQhqIAYoAgA2AgALIDooAhAiAyAqTw0EAkAgNyADQSxsaiIGKAIARQ0AIAYoAgQiA0UNACADEI4FCyAGIBs2AgQgBkEBNgIACyAZIDpBFGoiOkcNAAsgEygCGCEMCyAMIDlNDQYgEygCECAjaiIDLQA6IRIgA0E7ai0AACEVIBMoAlwiA0UNAyADQQR0ISAgEygCVEEIaiEDIBMoAgghMCATKAIAISwDQAJAIANBBGsoAgAiHiADKAIAIgpHBEAgHiAwTw0NIAogME8NDSAsIApBLGxqIhYoAgAhBiAsIB5BLGxqIhkoAgBFBEAgA0EEai0AACEKIAZFBEAgFkEIaigCACEtIBlBCGooAgAhHiAWKAIEIRYgGSgCBCEGIApFBEAgOCgCCCIKIDgoAgRGBEAgOCAKEKUGIDgoAgghCgsgOCAKQQFqNgIIIDgoAgAgCkEUbGoiCiAtNgIQIAogFjYCDCAKIB42AgggCiAGNgIEIApBATYCAAwECyA4KAIIIgogOCgCBEYEQCA4IAoQpQYgOCgCCCEKCyA4IApBAWo2AgggOCgCACAKQRRsaiIKIC02AhAgCiAWNgIMIAogHjYCCCAKIAY2AgQgCkEANgIADAMLIApFDQIgFigCBCIGRQ0MIAYgHkEAEKUCDAILIAYNASADQQRqLQAARQ0BIBkoAgQiBkUNCyAGIApBABClAgwBCwwLCyADQRBqIQMgIEEQayIgDQALDAMLIDkgDEGg7cEAEOMIAAsgAyAqQeT2wQAQ4wgACyAGICpB9PbBABDjCAALIBMoAkgiAwRAIDUoAgBB/wEgA0EJahCJDRoLIBNBADYCXCATQQA2AlAgEyADIANBAWpBA3ZBB2wgA0EISRs2AkwgEg0ACyATKAIYIhVFDQACQAJAIBUgEy0AYCIKTQRAIAohAwwBCyATQThqIRYgCiEDA0AgEygCECISIApBBnRqIgwtADxFDQIgA0H/AXEhBiAGIAxBPWotAAAiA0YNByAKIBVPDQggAyAVTw0IIAwgEiADQQZ0aiATIBYQSiATKAJIIgYEQCA1KAIAQf8BIAZBCWoQiQ0aCyATQQA2AlwgE0EANgJQIBMgBiAGQQFqQQN2QQdsIAZBCEkbNgJMIAMhCiATKAIYIhUgA0sNAAsLIAMgFUHU68EAEOMIAAsgEiAKQQZ0akEAIBMgFhBKIBMoAkgiAwRAIDUoAgBB/wEgA0EJahCJDRoLIBNBADYCXCATQQA2AlAgEyADIANBAWpBA3ZBB2wgA0EISRs2AkwgM0UNACATKAIcIidBBGshIyATQSRqKAIAISAgE0E0aigCACEKIBNBKGooAgAhDCATQSBqKAIAISQgE0EsaigCACEvIBMoAgwhEiAxKAIQISwgMSgCCCEZIBMoAgAhLSATKAIIITADQCAdQQRqKAIAIRggHSgCACEoAkAgDEUEQEEAIQwMAQsgKEG5893xeWxBBXcgGHNBufPd8XlsIgNBGXatQoGChIiQoMCAAX4hXEEAIRUCQAJAAkADQCADICRxIhYgJ2opAAAiXSBchSJaQoGChIiQoMCAAX0gWkJ/hYNCgIGChIiQoMCAf4MhWwNAIFtQBEAgXSBdQgGGg0KAgYKEiJCgwIB/g0IAUg0GIBYgFUEIaiIVaiEDDAILICMgW3qnQQN2IBZqICRxQQJ0IgZrIh4oAgAiAyAKTw0CIFtCAX0gW4MhWyAvIANBBHRqIgMoAgAgKEcNACADQQRqKAIAIBhHDQALC0GAASEDIAZBAnUiBiAnaiIWKQAAIlpCAYYgWoNCgIGChIiQoMCAf4N6p0EDdiAnIAZBCGsgJHFqIgYpAAAiWkIBhiBag0KAgYKEiJCgwIB/g3mnQQN2akEHTQRAIBMgIEEBaiIgNgIkQf8BIQMLIBYgAzoAACAGQQhqIAM6AAAgEyAMQQFrIgw2AiggHigCACIeIApPDQEgEyAKQQFrIgo2AjQgLyAKQQR0aiIDQQhqKQIAIVogLyAeQQR0aiIWIAMpAgA3AgAgFigCDCEGIBZBCGogWjcCACAKIB5LBEAgFigCCCIDQRl2rUKBgoSIkKDAgAF+IVxBACEVA0AgAyAkcSIWICdqKQAAIl0gXIUiWkKBgoSIkKDAgAF9IFpCf4WDQoCBgoSIkKDAgH+DIVsDQCBbUARAIF0gXUIBhoNCgIGChIiQoMCAf4NQBEAgFiAVQQhqIhVqIQMMAwtB3PvAAEEPQez7wAAQ4QkACyBbeiFaIFtCAX0gW4MhWyAjIFqnQQN2IBZqICRxQQJ0ayIDKAIAIApHDQALCyADIB42AgALIAZBf0YNAyAGIDBPDQIgEyAGNgIMIC0gBkEsbGogEjYCJCAGIRIMAwsgAyAKQaz7wAAQ4wgACyAeIApBoNbAABDgCAALIAYgMEG4+cEAEOMIAAsCQCAoICxPDQAgGUUNACAZIChBqAFsaiIDKAIARQ0AIAMoAgQgGEcNACADQZgBakF/NgIACyA8IB1BCGoiHUcNAAsLIBRB0ABqJAAMBgsgOSAMQbDtwQAQ4wgACyAUQcQAakIANwIAIBRBATYCPCAUQfD4wQA2AjggFEGYv8AANgJAIBRBOGpBmPnBABDcCgALQfTCwABBK0GI+cEAEKoKAAsgFEHEAGpCADcCACAUQQE2AjwgFEG0iMIANgI4IBRBmL/AADYCQCAUQThqQaCJwgAQ3AoACyAUQcQAakIANwIAIBRBATYCPCAUQbCJwgA2AjggFEGYv8AANgJAIBRBOGpBuInCABDcCgALIBRBADYCOEEBIBRBBGogFEEIaiAUQThqQdD8wQAQ4QoACyARBEACQCALIRUjAEHwAGsiFyQAAn5BwIXEACkDAEIAUgRAQdCFxAApAwAhW0HIhcQAKQMADAELQgIhW0HQhcQAQgI3AwBBwIXEAEIBNwMAQgELIVogF0EQakHQk8EAKQMAIl03AwAgFyBaNwMYQciFxAAgWkICfDcDACAXIFs3AyAgF0HIk8EAKQMAIlw3AwggF0EwaiBdNwMAIBcgXDcDKCAXIFs3A0AgFyBaQgF8NwM4IDMEQCAVIDNBA3RqISwgBEEUaigCACIkQQRqIS0gBEEsaigCACIrQQRqIR4gBEFAaygCACEwIAQoAiAhJiAEKAIIIScDQAJAIBUoAgAiHSAEKAJATw0AIAQoAjgiL0UNACAVKAIEIhYgLyAdQQxsaiIDKAIARw0AIANBfzYCACADKAIEIQsgA0EIaigCACEoIANCfzcCBAJAIBcoAhRFDQAgFykDGCAXKQMgIBUQrQMiWkIZiEL/AINCgYKEiJCgwIABfiFcIFqnIQpBACEDIBcoAgwhEiAXKAIIIREDQCAKIBJxIgwgEWopAAAiXSBchSJaQoGChIiQoMCAAX0gWkJ/hYNCgIGChIiQoMCAf4MhWwNAIFtQBEAgXSBdQgGGg0KAgYKEiJCgwIB/g0IAUg0DIAwgA0EIaiIDaiEKDAILIFt6IVogW0IBfSBbgyFbIBEgWqdBA3YgDGogEnFBdGxqIgpBDGsiBigCACAdRw0AIAZBBGooAgAgFkcNAAsLIApBBGsoAgAhKAsCQCAXKAI0RQ0AIBcpAzggFykDQCAVEK0DIlpCGYhC/wCDQoGChIiQoMCAAX4hXCBapyEKQQAhAyAXKAIsIRIgFygCKCERA0AgCiAScSIMIBFqKQAAIl0gXIUiWkKBgoSIkKDAgAF9IFpCf4WDQoCBgoSIkKDAgH+DIVsDQCBbUARAIF0gXUIBhoNCgIGChIiQoMCAf4NCAFINAyAMIANBCGoiA2ohCgwCCyBbeiFaIFtCAX0gW4MhWyARIFqnQQN2IAxqIBJxQXRsaiIKQQxrIgYoAgAgHUcNACAGQQRqKAIAIBZHDQALCyAKQQRrKAIAIQsLIAQoAhAhHSAEKAIcISkCQCACBEBBfyEKQX8hESALIB1JBEAgJyALQQR0aiIDKAIIIREgA0EMaigCACEKCwJAA0ACQCARIClJBEAgJCARQThsaiIDKAIIIQwgESEGIAMoAgAhEQwBCwNAICkgCiIGTQ0FICQgBkE4bGoiAygCBCEKIAMoAggiDCALRg0ACwsgDCAdSQRAICQgBkE4bGoiIEEMaigCACIDIB1PDQIgJyADQQR0aiIDKAIEITMgAygCACEjICcgDEEEdGoiAygCBCETAkAgAygCACIWIDEoAhBPDQAgMSgCCCIDRQ0AIAMgFkGoAWxqIgYoAgBFDQAgBigCBCATRw0AIAYoAghFDQAgBkEMaigCACIZIAUoAhBPDQAgBSgCCCIDRQ0AIAMgGUHoAmxqIhgoAgBFDQAgBkEQaigCACIMIBgoAgRHDQAgGEHlAmotAAANACAYQbACai0AAEEEcQ0AIBhB0AJqQQA2AgAgGEHUAmpBADoAACAYQeYCai0AAEUNACACKAIAIRICQCACKAIIIgMgGEEMaigCACIGTQ0AIBIgBkEDdGoiBigCACAZRw0AIAYoAgQgDEYNAQsgGCADNgIMIAIoAgQgA0YEQCACIAMQqwYgAigCACESIAIoAgghAwsgAiADQQFqNgIIIBIgA0EDdGoiAyAMNgIEIAMgGTYCAAsCQCAxKAIQICNNDQAgMSgCCCIDRQ0AIAMgI0GoAWxqIgYoAgBFDQAgBigCBCAzRw0AIAYoAghFDQAgBkEMaigCACIZIAUoAhBPDQAgBSgCCCIDRQ0AIAMgGUHoAmxqIhgoAgBFDQAgBkEQaigCACIMIBgoAgRHDQAgGEHlAmotAAANACAYQbACai0AAEEEcQ0AIBhB0AJqQQA2AgAgGEHUAmpBADoAACAYQeYCai0AAEUNACACKAIAIRICQCACKAIIIgMgGEEMaigCACIGTQ0AIBIgBkEDdGoiBigCACAZRw0AIAYoAgQgDEYNAQsgGCADNgIMIAIoAgQgA0YEQCACIAMQqwYgAigCACESIAIoAgghAwsgAiADQQFqNgIIIBIgA0EDdGoiAyAMNgIEIAMgGTYCAAsgIEE1ai0AAEUNASAXIDM2AmwgFyAjNgJoIBcgEzYCZCAXIBY2AmAgF0KBgICAIDcCWCAPIAUgMSAXQdgAaiAgQRBqIBAoAgwRBwAMAQsLIAwgHUHo/cEAEOMIAAsgAyAdQfj9wQAQ4wgAC0F/IQZBfyERIAsgHUkEQCAnIAtBBHRqIgMoAgghESADQQxqKAIAIQYLAkADQAJAIBEgKUkEQCAkIBFBOGxqIgMoAgghDCADKAIAIRIMAQsDQCApIAYiA00NBCAkIANBOGxqIgooAgQhBiAKKAIIIgwgC0YNAAsgESESIAMhEQsgDCAdSQRAICQgEUE4bGoiCkEMaigCACIDIB1PDQIgEiERIApBNWotAABFDQEgJyAMQQR0aikCACFaIBcgJyADQQR0aikCADcCaCAXIFo3AmAgF0KBgICAIDcCWCAPIAUgMSAXQdgAaiAKQRBqIBAoAgwRBwAMAQsLIAwgHUHo/cEAEOMIAAsgAyAdQfj9wQAQ4wgAC0F/IQNBfyEKICggBCgCKCISSQRAICYgKEEEdGoiBigCCCEDIAZBDGooAgAhCgsgBCgCNCEGAkACQANAAkACQAJAAkAgAyAGSQRAICsgA0EUbGoiDCgCCCERIAwoAgAhDAwBCwNAIAoiFiAGTw0CICsgFkEUbGoiDCgCBCEKICggDCgCCCIRRg0ACyADIQwgFiEDCyARIBJPDQIgKyADQRRsaiIWQQxqKAIAIhMgEkkNASATIBJB+P3BABDjCAALIBIgKE0NBCAmIChBBHRqIiBBCGohMyAgKAIIIgpBf0YNAwNAAkAgBiAKTQ0AICsgCkEUbGoiE0EIaiEWAkAgEykCCCJapyIDIBJPDQAgEykCACFcAkACQCAmIANBBHRqIgMoAggiDCAKRgRAIANBCGohEQwBCwNAIAYgDE0NAiArIAxBFGxqIhEoAgAiDCAKRw0ACwsgESBcPgIACyBaQiCIpyIDIBJPDQAgJiADQQR0akEMaiIDKAIAIgwgCkcEfwNAIAYgDE0NAiArIAxBFGxqIgMoAgQiDCAKRw0ACyADQQRqBSADCyBcQiCIPgIACyAEIAZBAWsiBjYCNCArIAZBFGxqIgMpAgAhXCADQQhqKQIAIVogE0EQaiADQRBqKAIANgIAIBYgWjcCACATIFw3AgAgBiAKTQ0AIBYpAgAiWqciAyASTw0AAkACQCAmIANBBHRqIgMoAggiDCAGRgRAIANBCGohEQwBCwNAIAYgDE0NAiArIAxBFGxqIhEoAgAiDCAGRw0ACwsgESAKNgIACyBaQiCIpyIDIBJPDQAgJiADQQR0akEMaiIDKAIAIgwgBkcEfwNAIAYgDE0NAiArIAxBFGxqIgMoAgQiDCAGRw0ACyADQQRqBSADCyAKNgIACyAzKAIAIgpBf0cNAAsMAwsgDCEDIBZBEWotAABFDQEgJiARQQR0aikCACFaIBcgJiATQQR0aikCADcCaCAXIFo3AmAgF0KBgICAMDcCWCAPIAUgMSAXQdgAakEAIBAoAgwRBwAMAQsLIBEgEkHo/cEAEOMIAAsgIEEMaiIWKAIAIgpBf0cEQANAAkAgBiAKTQ0AICsgCkEUbGoiGUEIaiETAkAgGSkCCCJapyIDIBJPDQAgGSkCACFcAkACQCAmIANBBHRqIgMoAggiDCAKRgRAIANBCGohEQwBCwNAIAYgDE0NAiArIAxBFGxqIhEoAgAiDCAKRw0ACwsgESBcPgIACyBaQiCIpyIDIBJPDQAgJiADQQR0akEMaiIDKAIAIgwgCkcEfwNAIAYgDE0NAiArIAxBFGxqIgMoAgQiDCAKRw0ACyADQQRqBSADCyBcQiCIPgIACyAEIAZBAWsiBjYCNCArIAZBFGxqIgMpAgAhXCADQQhqKQIAIVogGUEQaiADQRBqKAIANgIAIBMgWjcCACAZIFw3AgAgBiAKTQ0AIBMpAgAiWqciAyASTw0AAkACQCAmIANBBHRqIgMoAggiDCAGRgRAIANBCGohEQwBCwNAIAYgDE0NAiArIAxBFGxqIhEoAgAiDCAGRw0ACwsgESAKNgIACyBaQiCIpyIDIBJPDQAgJiADQQR0akEMaiIDKAIAIgwgBkcEfwNAIAYgDE0NAiArIAxBFGxqIgMoAgQiDCAGRw0ACyADQQRqBSADCyAKNgIACyAWKAIAIgpBf0cNAAsLIAQgEkEBayISNgIoICYgEkEEdGoiAykCACFaIDMgA0EIaikCADcCACAgIFo3AgAgEiAoTQ0AIDMpAgAiWqciCiAGSQRAA0AgKyAKQRRsaiIDICg2AgggAygCACIKIAZJDQALCyBaQiCIpyIKIAZPDQADQCAKQRRsIgMgK2pBDGogKDYCACADIB5qKAIAIgogBkkNAAsLAkACQAJAAkAgEiAoTQ0AICZFDQAgJiAoQQR0aiIDQQRqKAIAIQogAygCACIGIDBPDQEgLyAGQQxsaiIDKAIAIApHDQEgA0EIaiAoNgIACyALIB1PDQJB2KDBACEDA0AgJyALQQR0aiIYIAMtAABBAnRqQQhqIhMoAgAiBkF/RwRAA0ACQCAGIClPDQAgJCAGQThsaiISQQhqISACQCASKQIIIlqnIgogHU8NACASKQIAIVwCQAJAICcgCkEEdGoiDCgCCCIKIAZGBEAgDEEIaiERDAELA0AgCiApTw0CICQgCkE4bGoiESgCACIKIAZHDQALCyARIFw+AgALIFpCIIinIgogHU8NACAnIApBBHRqQQxqIgwoAgAiCiAGRwRAA0AgCiApTw0CICQgCkE4bGoiDCgCBCIKIAZHDQALIAxBBGohDAsgDCBcQiCIPgIACyAkIClBAWsiKUE4bGoiCkEwaikCACFeIApBKGopAgAhXyAKQSBqKQIAIVsgCkEYaikCACFdIApBEGopAgAhXCAKQQhqKQIAIVogEiAKKQIANwIAICAgWjcCACASQRBqIFw3AgAgEkEYaiBdNwIAIBJBIGoiCigCACEjIBIoAiQhGSAKIFs3AgAgEkEoaiIKKAIAITMgEigCLCEWIAogXzcCACASQTBqIgwoAgAhCiASLQA1IRIgDCBeNwIAIAQgKTYCHAJAIAYgKU8NACAgKQIAIlqnIgwgHU8NAAJAAkAgKSAnIAxBBHRqIhEoAggiDEYEQCARQQhqIREMAQsDQCAMIClPDQIgKSAkIAxBOGxqIhEoAgAiDEcNAAsLIBEgBjYCAAsgWkIgiKciDCAdTw0AICkgJyAMQQR0akEMaiIRKAIAIgxHBEADQCAMIClPDQIgKSAkIAxBOGxqIhEoAgQiDEcNAAsgEUEEaiERCyARIAY2AgALIBJBAkYNACAKBEAgM0HYAGohBgNAIAZBKGooAgAEQCAGQSRqKAIAEJoCCyAGQQRqKAIABEAgBigCABCaAgsgBkGoAWohBiAKQQFrIgoNAAsLIBYEQCAzEJoCCyAjRQ0AICMgGSgCABEGACAZKAIERQ0AIBkoAggaICMQmgILIBMoAgAiBkF/Rw0ACwsgA0EBaiIDQdqgwQBHDQALIAQgHUEBayIdNgIQICcgHUEEdGoiAykCACFaIBhBCGogA0EIaikCADcCACAYIFo3AgAgCyAdTw0CICkgGCkCCCJapyIGTQ0BA0AgJCAGQThsaiIDIAs2AgggKSADKAIAIgZLDQALDAELIBdBCGogBiAKICgQhgNB1MbAAEEoQez/wQAQqgoACyApIFpCIIinIgZNDQADQCAGQThsIgMgJGpBDGogCzYCACApIAMgLWooAgAiBksNAAsLIAsgHU8NACAnRQ0AICcgC0EEdGoiA0EEaigCACEKAkAgAygCACIGIDBPDQAgLyAGQQxsaiIDKAIAIApHDQAgAyALNgIEDAELIBdBKGogBiAKIAsQhgNB1MbAAEEoQfz/wQAQqgoACyAsIBVBCGoiFUcNAAsLIBdBADYCVCAXQgQ3AkwCQAJAIDEoAggiK0UNACAEKAI4Ii0EQCAJIDtBA3RqIR4gBEEoaigCACEmIARBNGooAgAhGCAEQRBqKAIAISUgBEEcaigCACEuIARBQGsoAgAhEyAEQSxqKAIAIScgBEEUaigCACE1IAQoAiAhIyAEKAIIISkgMSgCECEkIBdB2gBqIRVBBCEZQQAhEQJAAkACQAJAAkADQCAFKAIQITMgBSgCCCEoAkACQAJAA0AgCSAeRgRAIBcoAkwhAwJAIBEEQCARQRRsIQogAyEGA0AgBCACIDEgBSAGIA8gECAGQRBqLQAAELoBIAZBFGohBiAKQRRrIgoNAAsgEUEUbCEKIBcoAlAhEiAXQekAaiIRQQJqIQwgAyEGA0AgBi0AECILQQNGDQIgESAGLwAROwAAIBdB2ABqIglBCGogBkEIaikCADcDACAMIAZBE2otAAA6AAAgFyALOgBoIBcgBikCADcDWCAEICsgJCAJEGYgBkEUaiEGIApBFGsiCg0ACwwBCyAXKAJQIRILIBJFDQwgAxCaAgwMCyAJQQhqIQYgKyAJKAIAIi9BqAFsaiE2IAlBBGooAgAhMCAkIC9NBEAgBiEJDAELIDYoAgBFBEAgBiEJDAELIDAgNigCBEcEQCAGIQkMAQsgCUEIaiEJIDZB+ABqKAIAQQNJDQAgBiEJIBMgL00NACAtIC9BDGxqIiwoAgAgMEcNACAsQQRqIRYCQCACRQ0AAkAgNigCCEUNACA2QQxqKAIAIgogM08NACAoRQ0AICggCkHoAmxqIhIoAgBFDQAgNkEQaigCACIJIBIoAgRHDQAgEkHlAmotAAANACASQbACai0AAEEEcQ0AIBJB0AJqQQA2AgAgEkHUAmpBADoAACASQeYCai0AAEUNACACKAIAIQsCQCACKAIIIgwgEkEMaigCACIDTQ0AIAsgA0EDdGoiAygCACAKRw0AIAMoAgQgCUYNAQsgEiAMNgIMIAIoAgQgDEYEQCACIAwQqwYgAigCCCEMIAIoAgAhCwsgAiAMQQFqNgIIIAsgDEEDdGoiAyAJNgIEIAMgCjYCAAtBfyEdQX8hCyAWKAIAIgwgJUkEQCApIAxBBHRqIgMoAgghCyADQQxqKAIAIR0LIDVFBEAgCyAuSQ0ODAELAkADQAJAAkAgCyAuSQRAIDUgC0E4bGoiCSgCCCEDIAkoAgAhCQwBCwNAIC4gHSIKTQ0FIDUgCkE4bGoiAygCBCEdIAwgAygCCCIDRg0ACyALIQkgCiELCyADICVPDQAgNSALQThsakEMaigCACILICVPDQIgKSADQQR0aiIKKAIEIQMCQCAvIAooAgAiEkcNACADIDBHDQAgKSALQQR0aiIDKAIAIRIgAygCBCEDCyAJIQsgEiAkTw0BICsgEkGoAWxqIgkoAgBFDQEgCSgCBCADRw0BIAkoAghFDQEgCUEMaigCACIgIDNPDQEgKEUNASAoICBB6AJsaiI5KAIARQ0BIAlBEGooAgAiCiA5KAIERw0BIDlB5QJqLQAADQEgOUGwAmotAABBBHENASA5QdACakEANgIAIDlB1AJqQQA6AAAgOUHmAmotAABFDQEgAigCACESAkAgAigCCCIDIDlBDGooAgAiCU0NACASIAlBA3RqIgkoAgAgIEcNACAJKAIEIApGDQILIDkgAzYCDCACKAIEIANGBEAgAiADEKsGIAIoAgAhEiACKAIIIQMLIAIgA0EBajYCCCASIANBA3RqIgMgCjYCBCADICA2AgAMAQsLIAMgJUHo/cEAEOMIAAsgCyAlQfj9wQAQ4wgACyAGIQkgNi0AeEHAAHFFDQAgNkGgAWotAAAEQEF/IQZBfyEKIBYoAgAiHSAlSQRAICkgHUEEdGoiAygCCCEKIANBDGooAgAhBgsgNQ0CIAogLk8NAQwNC0F/IQZBfyEKICxBCGooAgAiLCAmSQRAICMgLEEEdGoiAygCCCEKIANBDGooAgAhBgsgJw0CIAogGE8NAAsMCwsDQAJAIAogLkkEQCA1IApBOGxqIgMoAgghEiADKAIAIQMMAQsDQCAuIAYiC00NBSA1IAtBOGxqIgMoAgQhBiAdIAMoAggiEkYNAAsgCiEDIAshCgsgEiAlTw0CIDUgCkE4bGpBDGooAgAiCiAlTw0EICkgCkEEdGoiCigCBCEWIAooAgAhDCApIBJBBHRqIgooAgAhCyAKKAIEIQogFygCUCARRgRAIBdBzABqIBEQpQYgFygCTCEZIBcoAlQhEQsgGSARQRRsaiISQQA6ABAgEiAWNgIMIBIgDDYCCCASIAo2AgQgEiALNgIAIBIgFy8AWDsAESASQRNqIBUtAAA6AAAgFyARQQFqIhE2AlQgAyEKDAALAAsDQCAKIQMDQAJAIAMgGEkEQCAnIANBFGxqIgooAgghEiAKKAIAIgohDAwBCwNAIBggBiILTQ0FICcgC0EUbGoiDCgCBCEGICwgDCgCCCISRg0ACyADIQwgCyEDCyASICZPDQUgJyADQRRsakEMaigCACIWICZPDQYgIyASQQR0aiIDKAIAIh0gJE8NByArIB1BqAFsaiILKAIARQ0HIAMoAgQiEiALKAIERw0HIAwhAyALQaABai0AAA0AICMgFkEEdGoiCygCACIWICRPDQggKyAWQagBbGoiDCgCAEUNCCALKAIEIgsgDCgCBEcNCCAMQaABai0AAA0ACyAXKAJQIBFGBEAgF0HMAGogERClBiAXKAJUIRELIBcoAkwiGSARQRRsaiIDQQE6ABAgAyALNgIMIAMgFjYCCCADIBI2AgQgAyAdNgIAIBcgEUEBaiIRNgJUDAALAAsLIBIgJUHo/cEAEOMIAAsgCiAlQfj9wQAQ4wgACyASICZB6P3BABDjCAALIBYgJkH4/cEAEOMIAAtB7JvBAEETQYyAwgAQ4QkAC0Hsm8EAQRNBnIDCABDhCQALIDtBA3QiBkUNAANAIAZBCGsiBg0ACwsCQCAXKAIsIgNFDQAgAyADQQxsQRNqQXhxIgNqQXdGDQAgFygCKCADaxCaAgsCQCAXKAIMIgNFDQAgAyADQQxsQRNqQXhxIgNqQXdGDQAgFygCCCADaxCaAgsgF0HwAGokAAwBC0H0wsAAQStB2P3BABCqCgALCyAAKAKIBCIDBEAgACgCgAQhACADQRRsIQwgMSgCECEGIDEoAgghAwNAIABBBGohCQJAIAAoAgBFBEAgBCADIAYgCRBmDAELIAQgAiAxIAUgCSAPIBBBAhC6AQsgAEEUaiEAIAxBFGsiDA0ACwsgASFGQQAhOkEAITxBACEoQQAhLyMAQaABayIaJAACQAJAAkAgO0UNACAEQRxqKAIAIgBFDQAgMSgCCCIYRQ0BIARBFGooAgAiMiAAQThsaiEgIAQoAgAgBCgCBCIzKAIIQQFrQXhxakEIaiEsIAdBNGooAgAiF0EEaiEtIAdBPGooAgAhIiAHQTBqKAIAISUgB0EkaigCACEjIAcoAhwhNSAFKAIQITYgBSgCCCE4IDEoAhAhGSAHKAIoITADQCAyKAIQIhEgGU8NAiAYIBFBqAFsaiIfKAIARQ0CIDJBFGooAgAiCiAfKAIERw0CAkACQAJ9AkACQAJAAkACQAJAAkACQCAyQRhqKAIAIgwgGU8NACAYIAxBqAFsaiIhKAIARQ0AIDJBHGooAgAiCSAhKAIERw0AIDJBNGotAAAhHiAfQfgAaigCACInQQJNBEAgIUH4AGooAgBBA0kNCwtBASEbQQEhHQJAIB8oAggiCwRAIB9BDGooAgAiACA2Tw0BIDhFDQEgOCAAQegCbGoiACgCAEUNASAAKAIEIB9BEGooAgBHDQEgAEHlAmotAAAhHQsgMkEQaiEqICEoAggiOUUNAwJAICFBDGooAgAiJCA2Tw0AIDhFDQAgOCAkQegCbGoiACgCAEUNACAhQRBqKAIAIhIgACgCBEcNACAAQeUCai0AACEbIAtFDQQgH0EQaigCACEHQQAhFAJ/QQAgH0EMaigCACITICNPDQAaQQAgNUUNABogNSATQQN0aiIAQQRqQQAgACgCACAHRhsLIQICQCAjICRNDQAgNUUNACA1ICRBA3RqIgBBBGpBACAAKAIAIBJGGyEUCyAXRQ0DIDBFDQNBACACIAJFIBRFchshNANAIDRFDQQgJSA0KAIAIjpNDQQgFCgCACECAkAgIiAwIDpBBHRqIjwoAggiNEsEQANAIBcgNEGAA2xqIgBBDGooAgAgAkYNAiAiIAAoAgAiNEsNAAsLICIgPEEAICUgOksbQQxqKAIAIjRNDQUDQCA0QYADbCIAIBdqKAIIIAJGDQEgIiAAIC1qKAIAIjRLDQALDAULICIgNE0NBCAlIBcgNEGAA2xqIgAoAghNDQQgJSAAQQxqKAIATQ0EQQAhNCAAQf0Cai0AAA0ACwwFC0Hsm8EAQRNBvIHCABDhCQALQeybwQBBE0GsgcIAEOEJAAtB7JvBAEETQZyBwgAQ4QkACyAaQdAAaiEmAkACQCAIQSRqKAIAIgAgE00NACAIKAIcIhVFDQAgFSATQRRsaiIDKAIAIAdHDQAgACAkTQ0AIBUgJEEUbGoiACgCACASRw0AIABBBGoiAigCACADQQRqIgAoAgAiA0cNACAAKAIEIgAgAigCBEcNACAIKAIQIANNDQAgCCgCCCICRQ0AIAIgA0GUAmxqLQCQAkECRg0AIAAgAiADQZQCbGoiAygCAEcNACADQQxqKAIAIgIgFSATQRRsakEQaigCACIGTQ0AIANBBGoiAygCACIWRQ0AAkACQAJAIBYgBkHoA2xqIgAoAogDRQRAIBUgJEEUbGpBEGooAgAhFAwBCyAVICRBFGxqQRBqKAIAIhQgACgCkANGDQELIAIgFE0NAQJAIBYgFEHoA2xqIgAoAogDBEAgFiAUQegDbGooApADIAZGDQELDAMLICYgADYCDCAmIBI2AgggJiAkNgIEICYgAzYCAAwDCyAmIBYgBkHoA2xqNgIMICYgBzYCCCAmIBM2AgQgJiADNgIADAILICZBADYCAAwBCyAmQQA2AgALIBooAlBFDQAgGigCXEGFA2otAABFDQELAkBBASAbdCIGIB9B6ABqLwEAIgAgHUECdEH8AXEiB3ZxDQBBASAddCICIAAgG0ECdEH8AXEiA3ZxDQAgBiAhQegAai8BACIAIAd2cQ0AIAAgA3YgAnFFDQELICFB1ABqKAIAIB8oAlBxRQ0AIB9B1ABqKAIAICFB0ABqKAIAcUUNAEEBITQgIUHgAGooAgAgH0HgAGooAgByIgZBAXEEQCAhQQxqKQIAIVwgH0EMaikCACFaIBogCTYCfCAaIAw2AnggGiAKNgJ0IBogETYCcCAaIDE2AmwgGiAFNgJoIBogCzYCUCAaIFo3AlQgGiA5NgJcIBogXDcCYCAaQQhqIA0gGkHQAGogDigCDBEBACAaKAIIQQFHDQEgGigCDCE0IB8oAnghJwsgIUHYAGooAgAhAyAfQdwAaigCACEuIB9B2ABqKAIAISkgIUHcAGooAgAhKwJAICdBIHFFBEAgIS0AeEEgcUUNAQsCQCAyQSBqKAIAIgJFDQAgAiAyQSRqKAIAIgAoAgARBgAgACgCBEUNACAAKAIIGiACEJoCCyAyQQA2AiALIBogH0GEAWoqAgAiRSAhQYQBaioCACJElCAfQYABaioCACJBICFBgAFqKgIAIj+UIB9B/ABqKgIAIkIgIUH8AGoqAgAiPZQgH0GIAWoqAgAiQCAhQYgBaioCACIBlJKSkjgCICAaIEEgPZQgQCBElCBCID+Uk5IgRSABlJM4AhwgGiBAID+UIEIgRJSSIEEgAZSTIEUgPZSTOAIYIBogRSA/lCBAID2UIEIgAZSTIEEgRJSTkjgCFCBBICFBjAFqKgIAIB9BjAFqKgIAkyJElCBCICFBkAFqKgIAIB9BkAFqKgIAkyI/lJMiASABkiFDIEUgP5QgQSAhQZQBaioCACAfQZQBaioCAJMiPZSTIgEgAZIhPiAaID0gQCBDlCBBID6UIEIgQiA9lCBFIESUkyIBIAGSIgGUk5KSOAIsIBogPyBAIAGUIEIgQ5QgRSA+lJOSkjgCKCAaIEQgQCA+lCBFIAGUIEEgQ5STkpI4AiQgLCAaQRRqIB9BOGooAgAgH0E8aigCACIAKAIIQQFrQXhxakEIaiAAICFBOGooAgAgIUE8aigCACIAKAIIQQFrQXhxakEIaiAAIEYgMkEoaiAyQSBqIDMoAiQRNwAaICFB7ABqKgIAIT0gH0HsAGoqAgAhASAfQfQAai0AACICICFB9ABqLQAAIgAgACACSRsOAwIDBAELICpBIGoiACgCACE0IABBADYCACA0BEAgKigCGEHYAGohHANAIBxBKGooAgAEQCAcQSRqKAIAEJoCCyAcQQRqKAIABEAgHCgCABCaAgsgHEGoAWohHCA0QQFrIjQNAAsLICpBADoAJAJAICooAhAiAkUNACACICpBFGooAgAiACgCABEGACAAKAIERQ0AIAAoAggaIAIQmgILICpBADYCEAwFCyA9ID0gASABID1dGyABIAFcGwwDCyABID2SQwAAAD+UDAILIAEgASA9IAEgPV0bID0gPVwbDAELIAEgPZQLIT0gIUHwAGoqAgAhPyAfQfAAaioCACEBAn0CQAJAAkACQCAfQfUAai0AACICICFB9QBqLQAAIgAgACACSRsOAwECAwALID8gPyABIAEgP10bIAEgAVwbDAMLIAEgP5JDAAAAP5QMAgsgASABID8gASA/XRsgPyA/XBsMAQsgASA/lAshAUEAISdBACEUAkAgHygCCARAIB8oAgwiACA2Tw0BIDhFDQEgOCAAQegCbGoiACgCAEUNASAAKAIEIB8oAhBHDQEgAEHkAmotAAAhFAsCQCAhKAIIBEAgISgCDCIAIDZPDQEgOEUNASA4IABB6AJsaiIAKAIARQ0BIAAoAgQgISgCEEcNASAAQeQCai0AACEnCyAyQQA6ADQgMkEwaigCACICRQ0CIDQgNEF+cSIAIAMgLnEbIAAgKSArcRshEyAyKAIoIhwgAkGoAWxqIRVBgAEgFMAgHRtBgAEgJ8AgGxtrIR0gBkEEcSEWA0ACfSAcKAIAQQFGBEAgHCoCGCJDIB8qAnwiR5QgHCoCFCI+IB8qAoABIkiUkyI/ID+SIUIgPiAfKgKEASJFlCAcKgIcIkQgR5STIj8gP5IhQCAfKgKUASBEIB8qAogBIkEgQpQgRyBAlCBIIEQgSJQgQyBFlJMiPyA/kiI/lJOSkpIhVCAfKgKQASBDIEEgQJQgRSA/lCBHIEKUk5KSkiFVIB8qAowBID4gQSA/lCBIIEKUIEUgQJSTkpKSIVYgHCoCECJDIEWUIBwqAggiPiBHlCAcKgIMIkQgQZSSIBwqAgQiPyBIlJOSIUogPyBFlCBDIEiUID4gQZQgRCBHlJOSkiFLIEQgSJQgQyBHlCA/IEGUkpIgPiBFlJMhTCBDIEGUID8gR5STID4gSJSTIEQgRZSTDAELIB8qApQBIVQgHyoCkAEhVSAfKgKMASFWIB8qAoQBIUogHyoCgAEhSyAfKgJ8IUwgHyoCiAELIUQCfSAcKAIgQQFGBEAgHEE4aioCACJAICEqAnwiSZQgHEE0aioCACJDICEqAoABIkeUkyI/ID+SIUEgQyAhKgKEASJIlCAcQTxqKgIAIj4gSZSTIj8gP5IhQiAhKgKUASA+ICEqAogBIkUgQZQgSSBClCBHID4gR5QgQCBIlJMiPyA/kiI/lJOSkpIhVyAhKgKQASBAIEUgQpQgSCA/lCBJIEGUk5KSkiFYICEqAowBIEMgRSA/lCBHIEGUIEggQpSTkpKSIVkgHEEwaioCACJAIEiUIBxBKGoqAgAiQyBJlCAcQSxqKgIAIj4gRZSSIBxBJGoqAgAiPyBHlJOSIU0gPyBIlCBAIEeUIEMgRZQgPiBJlJOSkiFOID4gR5QgQCBJlCA/IEWUkpIgQyBIlJMhTyBAIEWUID8gSZSTIEMgR5STID4gSJSTDAELICEqApQBIVcgISoCkAEhWCAhKgKMASFZICEqAoQBIU0gISoCgAEhTiAhKgJ8IU8gISoCiAELIT8gHEHgAGpBADYCACAfKAIMIQIgHygCECEAIBwgHygCCCIDNgJAIBxByABqIAAgKyADGyIrNgIAIBxBxABqIAIgOSADGyI5NgIAICEoAgwhAiAhKAIQIQAgISgCCCEDIBxB+ABqIB07AQAgHEHkAGogEzYCACAcQcwAaiADNgIAIBxB1ABqIAAgLiADGyIuNgIAIBxB0ABqIAIgKSADGyIpNgIAIEwgHEGMAWoqAgAiQpQgSyAcKgKIASJAlJMiPiA+kiFFIEogQJQgTCAcQZABaioCACJDlJMiPiA+kiFBIBxB8ABqIEMgRCBFlCBMIEGUIEsgSyBDlCBKIEKUkyI+ID6SIj6Uk5KSOAIAIBxB7ABqIEIgRCBBlCBKID6UIEwgRZSTkpI4AgAgHEHoAGoiJiBAIEQgPpQgSyBFlCBKIEGUk5KSOAIAIBxB2ABqITcgHEGEAWooAgAiAARAIBwoAnwhAyAAQTBsIQJBACEbQQAhFANAIBtBgOAARgRAIBpB3ABqQgA3AgAgGkEBNgJUIBpBsILCADYCUCAaQZi/wAA2AlggGkHQAGpBuILCABDcCgALIAMgG2oiAEEYaioCACJCIEZdBEAgTCAAQQRqKgIAIkmUIEsgACoCACJHlJMiPiA+kiFQIEogR5QgTCAAQQhqKgIAIkCUkyI+ID6SIVEgTyAAQRBqKgIAIkiUIE4gAEEMaioCACJFlJMiPiA+kiFSIE0gRZQgTyAAQRRqKgIAIkOUkyI+ID6SIVMgVCBAIEQgUJQgTCBRlCBLIEsgQJQgSiBJlJMiPiA+kiJBlJOSkpIgVyBDID8gUpQgTyBTlCBOIE4gQ5QgTSBIlJMiPiA+kiI+lJOSkpKSQwAAAD+UIUAgVSBJIEQgUZQgSiBBlCBMIFCUk5KSkiBYIEggPyBTlCBNID6UIE8gUpSTkpKSkkMAAAA/lCFDIFYgRyBEIEGUIEsgUJQgSiBRlJOSkpIgWSBFID8gPpQgTiBSlCBNIFOUk5KSkpJDAAAAP5QhPiAAQSxqKgIAQwAAAABbIQAgHCgCYCI0IBwoAlxGBEAgNyA0EKIGIBwoAmAhNAsgHCA0QQFqNgJgIBwoAlggNEEobGoiBiAAOgAlIAYgFDoAJCAGQQA2AiAgBkIANwIYIAYgATgCFCAGID04AhAgBiBCOAIMIAYgQDgCCCAGIEM4AgQgBiA+OAIAIDJBAToANAsgFEEBaiEUIAIgG0EwaiIbRw0ACwsgFgRAIBpBMGoiEkEIaiIRIDdBCGoiDCgCADYCACAcQQA2AmAgNykCACFaIBxBBDYCWCAaIFo3AzAgHEHcAGoiC0EANgIAIBogHEH0AGooAgA2AjwgGkFAayIKQQhqIgkgJkEIaiIHKAIANgIAIBogJikCADcDQCAfKAIMIQYgHygCECEDICEoAgwhAiAhKAIQIQAgHygCCCEkICEoAgghJyAaIDIpAhg3AogBIBogMikCEDcCgAEgGiAxNgJsIBogBTYCaCAaIBw2AnAgGiAnNgJcIBogJDYCUCAaIAAgOiAnGyI6NgJkIBogAiA8ICcbIjw2AmAgGiADICggJBsiKDYCWCAaIAYgLyAkGyIvNgJUIBogGkE8ajYCfCAaIAo2AnggGiASNgJ0IA0gGkHQAGogDigCFBEAACAaQZgBaiIAIBEoAgA2AgAgGiAaKQMwNwOQASALKAIABEAgNygCABCaAgsgNyAaKQOQATcCACAMIAAoAgA2AgAgByAJKAIANgIAICYgGikDQDcCACAcIBooAjw2AnQLIBUgHEGoAWoiHEcNAAsMAgtB7JvBAEETQdyBwgAQ4QkAC0Hsm8EAQRNBzIHCABDhCQALIB5BAEcgMi0ANCIAQQBHc0UNACAhQeQAaigCACAfQeQAaigCAHJBAXFFDQAgECgCDCECIABFBEAgMkEAOgA1IBpCATcCUCAaIDIpAhg3AmAgGiAyKQIQNwJYIA8gBSAxIBpB0ABqICogAhEHAAwBCyAyQQE6ADUgGkIANwJQIBogMikCGDcCYCAaIDIpAhA3AlggDyAFIDEgGkHQAGogKiACEQcACyAgIDJBOGoiMkcNAAsLIBpBoAFqJAAMAQtB7JvBAEETQYyBwgAQ4QkACyMAQTBrIhgkAAJAAkACQAJAAkACQCA7RQ0AIARBNGooAgAiAEUNACAEQSxqKAIAIQIgBEEoaigCACEwIDEoAggiHkUNASAEKAIAIAQoAgQiEigCCEEBa0F4cWpBCGohDCAFKAIQIRMgBSgCCCEgIDEoAhAhHSAEKAIgIRYgAkERaiEHIABBFGwhFQNAIDAgB0EJaygCACIDTQ0EIDAgB0EFaygCACIATQ0DIBYgA0EEdGoiAigCACI7IB1PDQUgHiA7QagBbGoiIygCAEUNBSACKAIEIiwgIygCBEcNBQJAAn8CQAJAAkACQCAWIABBBHRqIgAoAgAiMyAdTw0AIB4gM0GoAWxqIhkoAgBFDQAgACgCBCItIBkoAgRHDQAgB0EBayILLQAAIQogI0H4AGooAgBBAk0EQCAZQfgAaigCAEECTQ0GC0EBIQBBASERICMoAggiCQRAICNBDGooAgAiAiATTw0CICBFDQIgICACQegCbGoiAigCAEUNAiACKAIEICNBEGooAgBHDQIgAkHlAmotAAAhEQsgGSgCCCIIBEAgGUEMaigCACIAIBNPDQMgIEUNAyAgIABB6AJsaiIAKAIARQ0DIAAoAgQgGUEQaigCAEcNAyAAQeUCai0AACEACwJAQQEgAHQiBCAjQegAai8BACICIBFBAnRB/AFxIgZ2cQ0AIAIgAEECdEH8AXEiA3ZBASARdCICcQ0AIAQgGUHoAGovAQAiACAGdnENACAAIAN2IAJxRQ0ECyAZQdQAaigCACAjKAJQcUUNAyAjQdQAaigCACAZQdAAaigCAHFFDQMgGUHgAGooAgAgI0HgAGooAgByQQJxBEAgGUEMaikCACFcICNBDGopAgAhWiAYIC02AiwgGCAzNgIoIBggLDYCJCAYIDs2AiAgGCAxNgIcIBggBTYCGCAYIAk2AgAgGCBaNwIEIBggCDYCDCAYIFw3AhAgDSAYIA4oAhARAwBFDQQLIBggI0GEAWoqAgAiQSAZQYQBaioCACJGlCAjQYABaioCACJCIBlBgAFqKgIAIj+UICNB/ABqKgIAIkAgGUH8AGoqAgAiPZQgI0GIAWoqAgAiQyAZQYgBaioCACIBlJKSkjgCDCAYIEIgPZQgQyBGlCBAID+Uk5IgQSABlJM4AgggGCBDID+UIEAgRpSSIEIgAZSTIEEgPZSTOAIEIBggQSA/lCBDID2UIEAgAZSTIEIgRpSTkjgCACBCIBlBjAFqKgIAICNBjAFqKgIAkyJGlCBAIBlBkAFqKgIAICNBkAFqKgIAkyI/lJMiASABkiE+IEEgP5QgQiAZQZQBaioCACAjQZQBaioCAJMiPZSTIgEgAZIhRCAYID0gQyA+lCBCIESUIEAgQCA9lCBBIEaUkyIBIAGSIgGUk5KSOAIYIBggPyBDIAGUIEAgPpQgQSBElJOSkjgCFCAYIEYgQyBElCBBIAGUIEIgPpSTkpI4AhAgDCAYICNBOGooAgAgI0E8aigCACIAKAIIQQFrQXhxakEIaiAAIBlBOGooAgAgGUE8aigCACIAKAIIQQFrQXhxakEIaiAAIBIoAgwRFwBBAXEMBAtB7JvBAEETQdyAwgAQ4QkAC0Hsm8EAQRNB7IDCABDhCQALQeybwQBBE0H8gMIAEOEJAAtBAAshACALIAA6AAAgCkEARyAARg0AIBlB5ABqKAIAICNB5ABqKAIAckEBcUUNACAQKAIMIQICQCAARQRAIAdBADoAACAYIC02AhQgGCAzNgIQIBggLDYCDCAYIDs2AgggGEKBgICAEDcCAAwBCyAHQQE6AAAgGCAtNgIUIBggMzYCECAYICw2AgwgGCA7NgIIIBhCgICAgBA3AgALIA8gBSAxIBhBACACEQcACyAHQRRqIQcgFUEUayIVDQALCyAYQTBqJAAMBAsgMCACKAIIIgNNDQEgMCACQQxqKAIAIgBLDQILIAAgMEG8gMIAEOMIAAsgAyAwQayAwgAQ4wgAC0Hsm8EAQRNBzIDCABDhCQALC/gBAQF9IABBPGogASoCDCICOAIAIABBOGogAjgCACAAQTRqIAI4AgAgACACOAIwIAAgASoCCCICOAIsIAAgAjgCKCAAIAI4AiQgACACOAIgIAAgASoCBCICOAIcIAAgAjgCGCAAIAI4AhQgACACOAIQIAAgASoCACICOAIMIAAgAjgCCCAAIAI4AgQgACACOAIAIABB3ABqIAFBFGoqAgAiAjgCACAAQdgAaiACOAIAIABB1ABqIAI4AgAgAEHQAGogAjgCACAAQcwAaiABQRBqKgIAIgI4AgAgAEHIAGogAjgCACAAQcQAaiACOAIAIABBQGsgAjgCAAvaAQIBfwJ9IwBBMGsiBCQAIAQgAUE0aiIBIAIQ1wIgBEEYaiICIAEgAxDXAiAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL2wECAX8CfSMAQTBrIgQkACAEIAFB4ABqIgEgAhDXAiAEQRhqIgIgASADENcCIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvPAQEHfSAAIAIqAhAiBSABKgIAIgSSIgYgBCADKgIQIgeSIgggBiAIYBs4AgwgACAFIASTIgUgByAEkyIGIAUgBl8bOAIAIABBFGogBCACQRhqKgIAIgWSIgYgBCADQRhqKgIAIgeSIgggBiAIYBs4AgAgAEEQaiAEIAJBFGoqAgAiBpIiCCAEIANBFGoqAgAiCZIiCiAIIApgGzgCACAAIAUgBJMiBSAHIASTIgcgBSAHXxs4AgggACAGIASTIgUgCSAEkyIEIAQgBWAbOAIEC9oBAgF/An0jAEEwayIEJAAgBCABQRhqIgEgAhDXAiAEQRhqIgIgASADENcCIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvJAQEJfSACKgIAIAEqAhCTIgkgASoCBCIGlCACKgIEIAFBFGoqAgCTIgogASoCACIHlJMiBCAEkiEEIAogASoCCCIIlCACKgIIIAFBGGoqAgCTIgMgBpSTIgUgBZIhBSAAKgIIIAMgASoCDCILIASUIAYgBZQgByADIAeUIAkgCJSTIgMgA5IiA5STkpKUIAAqAgAgCSALIAWUIAggA5QgBiAElJOSkpQgACoCBCAKIAsgA5QgByAElCAIIAWUk5KSlJKSQwAAAABfC4UCAQV9IAEqAgQiBCAElEMAAEBAlSIGIAEqAggiBSAFlEMAAEBAlSIHkiABKgIAIgMgBJQgBZRDAAAAQZQgApQiApQQmwEhBCADIAOUQwAAQECVIgMgB5IgApQQmwEhBSADIAaSIAKUEJsBIQMgAEMAAAAAQwAAgD8gBJUgBEMAAAAAWxs4AiAgAEMAAAAAQwAAgD8gApUgAkMAAAAAWxs4AhwgAEEYakEANgIAIABCADcCECAAQoCAgICAgIDAPzcCCCAAQgA3AgAgAEEkakMAAAAAQwAAgD8gBZUgBUMAAAAAWxs4AgAgAEEoakMAAAAAQwAAgD8gA5UgA0MAAAAAWxs4AgALxwEBCn0gACABKgIMIgg4AgwgACABKgIIIgKMOAIIIAAgASoCBCIDjDgCBCAAIAEqAgAiBIw4AgAgACAIIAQgAUEUaioCACIJlCADIAEqAhAiCpSTIgUgBZIiBZQgAyADIAFBGGoqAgAiC5QgAiAJlJMiBiAGkiIGlCAEIAIgCpQgBCALlJMiByAHkiIHlJOSIAuTOAIYIAAgCCAHlCAEIAWUIAIgBpSTkiAJkzgCFCAAIAggBpQgAiAHlCADIAWUk5IgCpM4AhAL1QECAX8CfSMAQTBrIgQkACAEIAEgAhDeBiAEQRhqIgIgASADEN4GIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACEMYEIARBGGoiAiABIAMQxgQgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC9cBAQh9IAAgASoCACIDIAOUIAEqAgQiAyADlJIQmwE4AgwgACACQRhqKgIAIAIqAgwiAyACKgIAIgdDAAAAAJQiBCACKgIEIghDAAAAAJQiBZMiBiAGkiIGlCAHIAIqAggiCUMAAAAAlCIKIASTIgQgBJIiBJQgCCAFIAqTIgUgBZIiBZSTkkMAAAAAkpI4AgggACACQRRqKgIAIAMgBJQgCSAFlCAHIAaUk5JDAAAAAJKSOAIEIAAgAioCECADIAWUIAggBpQgCSAElJOSQwAAAACSkjgCAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACEMEDIARBGGoiAiABIAMQwQMgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC9UBAgF/An0jAEEwayIEJAAgBCABIAIQ2gQgBEEYaiICIAEgAxDaBCAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL1QECAX8CfSMAQTBrIgQkACAEIAEgAhDMAiAEQRhqIgIgASADEMwCIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvVAQIBfwJ9IwBBMGsiBCQAIAQgASACENsEIARBGGoiAiABIAMQ2wQgAEEUaiAEQRRqKgIAIgUgAkEUaioCACIGIAUgBmAbOAIAIABBEGogBEEQaioCACIFIAJBEGoqAgAiBiAFIAZgGzgCACAAIAQqAgwiBSAEKgIkIgYgBSAGYBs4AgwgACAEKgIIIgUgBCoCICIGIAUgBl8bOAIIIAAgBCoCBCIFIAQqAhwiBiAFIAZfGzgCBCAAIAQqAgAiBSAEKgIYIgYgBSAGXxs4AgAgBEEwaiQAC9UBAgF/An0jAEEwayIEJAAgBCABIAIQ1wIgBEEYaiICIAEgAxDXAiAAQRRqIARBFGoqAgAiBSACQRRqKgIAIgYgBSAGYBs4AgAgAEEQaiAEQRBqKgIAIgUgAkEQaioCACIGIAUgBmAbOAIAIAAgBCoCDCIFIAQqAiQiBiAFIAZgGzgCDCAAIAQqAggiBSAEKgIgIgYgBSAGXxs4AgggACAEKgIEIgUgBCoCHCIGIAUgBl8bOAIEIAAgBCoCACIFIAQqAhgiBiAFIAZfGzgCACAEQTBqJAAL1QECAX8CfSMAQTBrIgQkACAEIAEgAhCXAyAEQRhqIgIgASADEJcDIABBFGogBEEUaioCACIFIAJBFGoqAgAiBiAFIAZgGzgCACAAQRBqIARBEGoqAgAiBSACQRBqKgIAIgYgBSAGYBs4AgAgACAEKgIMIgUgBCoCJCIGIAUgBmAbOAIMIAAgBCoCCCIFIAQqAiAiBiAFIAZfGzgCCCAAIAQqAgQiBSAEKgIcIgYgBSAGXxs4AgQgACAEKgIAIgUgBCoCGCIGIAUgBl8bOAIAIARBMGokAAvhAQICfwR9IwBBQGoiBSQAIAFBCGoiBioCACEJIAEqAgAhByABKgIEIQggBUEgaiAGKAIANgIAIAUgCYw4AhQgBSAIjDgCECAFIAeMOAIMIAUgASkCADcCGCAFQSRqIAVBDGogAiADEK0CIAUtADAhAQJAIAIqAgAgBSoCJCIJkyIHIAeUIAIqAgQgBSoCKCIHkyIIIAiUkiACKgIIIAUqAiwiCJMiCiAKlJIQmwEgBF5FBEAgACABOgAMIAAgCDgCCCAAIAc4AgQgACAJOAIADAELIABBAjoADAsgBUFAayQAC8QBAQl9IAFBFGoqAgAiCSACKgIAIgaUIAEqAhAiCiACKgIEIgeUkyIEIASSIQQgCiACKgIIIgiUIAFBGGoqAgAiAyAGlJMiBSAFkiEFIAAgAkEYaioCACADIAIqAgwiCyAElCAGIAWUIAcgAyAHlCAJIAiUkyIDIAOSIgOUk5KSkjgCCCAAIAJBFGoqAgAgCSALIAWUIAggA5QgBiAElJOSkpI4AgQgACACKgIQIAogCyADlCAHIASUIAggBZSTkpKSOAIAC8gBAQl9IAAgAS0ADDoADCABKgIEIgkgAioCACIGlCABKgIAIgogAioCBCIHlJMiBCAEkiEEIAogAioCCCIIlCABKgIIIgMgBpSTIgUgBZIhBSAAIAJBGGoqAgAgAyACKgIMIgsgBJQgBiAFlCAHIAMgB5QgCSAIlJMiAyADkiIDlJOSkpI4AgggACACQRRqKgIAIAkgCyAFlCAIIAOUIAYgBJSTkpKSOAIEIAAgAioCECAKIAsgA5QgByAElCAIIAWUk5KSkjgCAAuxAQEEfyAAQRBqKAIAIgIEQCAAKAIIQThqIQEDQAJAIAFBOGsoAgBFDQAgASgCACIEKAIAIQMgBCADQQFrNgIAIANBAUYEQCABEJoICyABQQhrKAIAQQJJDQAgAUEEaygCABCaAgsgAUGoAWohASACQQFrIgINAAsLIABBDGooAgAEQCAAKAIIEJoCCyAAQSBqKAIABEAgACgCHBCaAgsgAEEsaigCAARAIAAoAigQmgILC9dWAx19HH8BfiMAQRBrIj0kAAJAAkAgAEUNACAAKAIADQEgAEF/NgIAIAJFDQAgAigCAA0BIAJBfzYCACADRQ0AIAMoAgAiK0F/Rg0BIAMgK0EBajYCACAERQ0AIAQoAgAiK0F/Rg0BIAQgK0EBajYCACA9IAg2AgwgAEEEaiEIIAJBBGohLCADQQRqISogBEEEaiErIAZBAEchBiMAQUBqIi4kAAJAID1BDGoiJigCABAEQQFGBEAgLiAmNgIMIC5BPGpBqLfAADYCACAuQSxqIAgpAig3AgAgLkEBNgIoIC4gB0H//wNxNgIYIC4gB0EQdjYCFCAuQQA2AhwgLkEAIAUgBUFBcRs2AjQgLiAGNgIQIC4gLkEMajYCOAwBCyAuQTxqQai3wAA2AgAgLkEsaiAIKQIoNwIAIC5BADYCOCAuQQE2AiggLkEANgIcIC4gB0H//wNxNgIYIC4gB0EQdjYCFCAuIAY2AhAgLkEAIAUgBUFBcRs2AjQLICshKCAuQRBqITkjAEHwAGsiJyQAAkACQAJAIAgoAigiBSAsKAIQTw0AICwoAggiBkUNACAGIAVB6AJsaiIpKAIARQ0AICkoAgQgCEEsaigCAEcNAAJAIAgoAggiJkUNACApQUBrKgIAIRggKUE8aioCACEaIClBOGoqAgAhGyApQTRqKgIAIQ4gKUEoaioCACEKIClBMGoqAgAhDCApQSxqKgIAIRAgCCgCACEGICYhBQNAIAUEQCAGQTRqQQA6AAAgCiAGQewAaioCACILlCAQIAZB6ABqKgIAIg+UkyIJIAmSIQkgDCAPlCAKIAZB8ABqKgIAIhGUkyINIA2SIQ0gBkHMAGoiByARIA4gCZQgCiANlCAQIBAgEZQgDCALlJMiESARkiIRlJOSkiIXOAIAIAZByABqIisgCyAOIA2UIAwgEZQgCiAJlJOSkiISOAIAIAZBxABqIi0gDyAOIBGUIBAgCZQgDCANlJOSkiITOAIAIAogBkH4AGoiMCoCACIPlCAQIAZB9ABqIjEqAgAiEZSTIgkgCZIhCSAMIBGUIAogBkH8AGoiMioCACINlJMiCyALkiELIAZB2ABqIjMgDSAOIAmUIAogC5QgECAQIA2UIAwgD5STIg0gDZIiFJSTkpIiDTgCACAGQdQAaiIvIA8gDiALlCAMIBSUIAogCZSTkpIiDzgCACAGQdAAaiI0IBEgDiAUlCAQIAmUIAwgC5STkpIiFTgCACAGQeAAaioCACIRIAqUIAZB3ABqKgIAIhQgEJSTIgkgCZIhCSAUIAyUIAZB5ABqKgIAIhYgCpSTIgsgC5IhCyAGQTBqIjUgGCAWIA4gCZQgCiALlCAQIBYgEJQgESAMlJMiFiAWkiIWlJOSkpI4AgAgBkEsaiI2IBogESAOIAuUIAwgFpQgCiAJlJOSkpI4AgAgBkEoaiI3IBsgFCAOIBaUIBAgCZQgDCALlJOSkpI4AgACfSAGQbgBaioCACIJIBeMlEMAAAA/lCIUIBSUIAkgE4yUQwAAAD+UIhYgFpQgCSASjJRDAAAAP5QiGSAZlJKSIglDAACAKF8EQEMAAIA/IRFDAAAAACELQwAAAAAhFEMAAAAADAELIwBBEGsiOEMAAAB/OAIMIDgqAgwaIAkQmwEiEhDAASEXIBIQwQEhHCAKIDAqAgAiD5QgECAxKgIAIhGUkyIJIAmSIQkgDCARlCAKIDIqAgAiDZSTIgsgC5IhCyANIA4gCZQgCiALlCAQIBAgDZQgDCAPlJMiDSANkiITlJOSkiENIA8gDiALlCAMIBOUIAogCZSTkpIhDyARIA4gE5QgECAJlCAMIAuUk5KSIRUgHEMAAIA/lCERIBQgF0MAAIA/lCASlSIJlCEUIBkgCZQhCyAHKgIAIRcgKyoCACESIC0qAgAhEyAWIAmUCyEJIAZBQGsgNSoCACAXIAZBJGoqAgAiF5SSOAIAIAZBPGogNioCACASIBeUkjgCACAGQThqIDcqAgAgEyAXlJI4AgAgMyANIBEgCSAPlCALIBWUkyISIBKSIhKUIAkgFCAVlCAJIA2UkyITIBOSIhOUIAsgCyANlCAUIA+UkyINIA2SIg2Uk5KSOAIAIC8gDyARIBOUIBQgDZQgCSASlJOSkjgCACA0IBUgESANlCALIBKUIBQgE5STkpI4AgAgBkHUAWohBiAFQQFrIgUNAQwCCwsgJiAmQZSWwQAQ4wgACyAIIClB+ABqKgIAIgkgCZQgKUH8AGoqAgAiCSAJlJIgKUGAAWoqAgAiCSAJlJIQmwEiEjgCJCAIKAI0IQUgJ0EANgIgICdCADcCGAJAIAVBA0kEQCAnQRhqIAVBAnRqQYCAgPwDNgIAICcqAhwiDiApQShqKgIAIgmUICcqAhgiCyApQSxqKgIAIgqUkyIMIAySIQwgCyApQTBqKgIAIhCUICcqAiAiDyAJlJMiDSANkiENICkqAoABIhMgDyApQTRqKgIAIhEgDJQgCSANlCAKIA8gCpQgDiAQlJMiDyAPkiIPlJOSkpQgKSoCeCALIBEgD5QgCiAMlCAQIA2Uk5KSlCApKgJ8IhQgDiARIA2UIBAgD5QgCSAMlJOSkpSSkkMAAAAAXQRAIAggEow4AiQLIAgoAgghByAIKAIAISsgJkUNASAqKAIQITYgKigCCCEvICshBkEAIQUDQAJAAkACQAJAIAUgB0cEQCAGQSBqIjcgBkGAAWoiNCoCACAGQYgBaiI4KgIAkiIQIAZBzABqIjAqAgCUIg4gBkEwaioCACIJkiIROAIAIAZBHGoiOiAQIAZByABqIjEqAgCUIgsgBkEsaioCACIKkiISOAIAIAZBGGoiOyAGQcQAaiIyKgIAIBCUIg8gBkEoaioCACIMkiIVOAIAICcgDjgCFCAnIAs4AhAgJyAPOAIMICcgCTgCCCAnIAo4AgQgJyAMOAIAICdBGGogKCAsICogJ0MAAIA/QQEgORBhIAZBADYCACAnKAIgQQRGDQEgJyoCNCENICcqAjAhCSAnKgIsIQwgJygCHCE1ICcoAhghMwJAICcqAigiCkMAAAAAXA0AIDMgNk8NAyAvRQ0DIC8gM0GoAWxqIi0oAgBFDQMgLSgCBCA1Rw0DICcgETgCQCAnIBI4AjwgJyAVOAI4ICcgDow4AkwgJyALjDgCSCAnIA+MOAJEICdB2ABqIC1BOGooAgAgLUE8aigCACI8KAIIQQFrQXhxakEIaiAtQfwAaiAnQThqQwAAgD9BACA8KAIcEQgAICcoAlhBBEcEQCAnKgJsjCENICcqAmSMIQwgJyoCaIwhCQsgDEMAAAAAXA0AIAlDAAAAAFwNACANQwAAAABcDQAgMCoCAIwhDSAxKgIAjCEJIDIqAgCMIQwLIAZBATYCACAGQTRqQQE6AAAgBkEUaiANOAIAIAZBEGogCTgCACAGQQxqIAw4AgAgBkEIaiA1NgIAIAZBBGogMzYCACAGQSRqIi0gECAKlCA4KgIAkyILOAIAICcgNCoCACIOIAZBhAFqKgIAIg+SIhA4AlQgJyAOIA+TIg44AlAgDiAQX0UNAyAtIBAgDiALIAsgDl0bIg4gDiAQXhs4AgAgJyoCACEQICcqAgwhDiAnKgIEIQsgJyoCECEPIDcgJyoCCCAKICcqAhSUkiIROAIAIDogCyAKIA+UkiILOAIAIDsgECAKIA6UkiIQOAIAIAwgMioCAJQgCSAxKgIAlJIgDSAwKgIAlJIiCkPNzMy9YEUEQCAGQcgBakMAAIC/IAqVIgogDSATIAsgKSoC5AGTIg0gKSoChAEiDpQgKSoCiAEiCyAQICkqAuABkyIQlJOSlCAMICkqAnggESApKgLoAZMiDCALlCANICkqAowBIg2Uk5KUIAkgFCANIBCUIAwgDpSTkpSSkpQ4AgAMBQsgBkHIAWpBADYCAEMAACBBIQoMBAsgByAHQaSWwQAQ4wgACyAGQcgBakEANgIAIAZBJGogNCoCADgCACAGQRRqIDAqAgCMOAIAIAZBEGogMSoCAIw4AgAgBkEMaiAyKgIAjDgCAEMAAIA/IQoMAgtB7JvBAEETQbSWwQAQ4QkACyAnQThqIgBBDGpBiAE2AgAgJ0HYAGoiAkEMakICNwIAICdBAjYCXCAnQfjQwAA2AlggJ0GIATYCPCAnIAA2AmAgJyAnQdQAajYCQCAnICdB0ABqNgI4IAJB1NHAABDcCgALIAZBxAFqIAo4AgAgBkHUAWohBiAmIAVBAWoiBUcNAAsMAQsMAgsgBwRAQwAAAABDAACAPyApQcwBaioCACIJlSAJQwAAAABbGyEKIAchBSArIQYDQCAGQcwBaiAGQTRqLQAABH1DAAAAAEMAAAAAIAogBkGMAWoqAgAgBkGAAWoqAgAgBkEkaioCAJOUIAZBxAFqKgIAlCAGQcgBaioCACIJIAZBkAFBlAEgCUMAAAAAXRtqKgIAlJOUIgkgCUMAAAAAXRsgCSAJXBsFQwAAAAALOAIAIAZB1AFqIQYgBUEBayIFDQALCwJAAkACQAJAAkACQAJAAkACQCAIKAIoIgYgLCgCEE8NACAsKAIIIgVFDQAgBSAGQegCbGoiKCgCAEUNACAIKAIsIikgKCgCBEcNACAsQRxqITogKEGwAmotAABBAXFFBEAgKEEBNgKwAiAsQSRqKAIAIgUgLEEgaigCAEYEQCA6IAUQqwYgLCgCJCEFCyAsIAVBAWo2AiQgLCgCHCAFQQN0aiIFICk2AgQgBSAGNgIACyAHRQ0DIAdB1AFsIS1BACEmA0AgJiAraiIFQbwBaioCAEMAAAAAXgRAICgtANQCBEAgKCAoKAKwAkEEcjYCsAILIChBADYC0AIgKEEAOgDUAgsgBUEQaioCACAFQawBaioCACIJIAVBzAFqKgIAIgogCSAKXRsiCpQgAZQiECAFQRhqKgIAICgqAuABkyIMlCAFQQxqKgIAIAqUIAGUIg0gBUEcaioCACAoKgLkAZMiC5STIQkgDSAFQSBqKgIAICgqAugBkyIPlCAKIAVBFGoqAgCUIAGUIg4gDJSTIQogDiALlCAQIA+UkyEMICgtAOUCIQUCQCANQwAAAABcIBBDAAAAAFxyIA5DAAAAAFxyRQ0AIAUNACAoIA0gKCoC7AGUICgqAniSOAJ4ICggECAoKgLwAZQgKCoCfJI4AnwgKCAOICgqAvQBlCAoKgKAAZI4AoABCwJAIAxDAAAAAFwgCkMAAAAAXHIgCUMAAAAAXHJFDQAgBQ0AIAwgKCoCoAEiEJQgCiAoKgKoASINlJIgCSAoKgKsASIRlJIhDiAMICgqApgBIhKUIAogKCoCnAEiC5SSIAkgEJSSIQ8gKCAoKgKEASAQIA6UIBIgD5QgCyAMIAuUIAogKCoCpAEiCpSSIAkgDZSSIgmUkpKSOAKEASAoICgqAogBIA0gDpQgCyAPlCAKIAmUkpKSOAKIASAoIBEgDpQgECAPlCANIAmUkpIgKCoCjAGSOAKMAQsgLSAmQdQBaiImRw0ACyAHRQ0DICooAhAhPCAqKAIIITQgCCAIQRRqKAIAIgYgB0kEfyAHIAYiBWsiKyAIQRBqKAIAIAZrSwRAIAhBDGogBiArEIsGIAgoAhQhBQsgCCgCDCIqIAVBDGxqISYgK0ECTwRAICZBACAHIAZBf3NqQQxsEIkNGiAFICtqIgZBAWshBSAGQQxsICpqQQxrISYLICZBADYCCCAmQgA3AgAgBUEBagUgBws2AhQgByErIAhBIGooAgAiBiAHSQRAIAcgBiIFayIrIAhBHGooAgAgBmtLBEAgCEEYaiAGICsQiwYgCCgCICEFCyAIKAIYIiogBUEMbGohJiArQQJPBEAgJkEAIAcgBkF/c2pBDGwQiQ0aIAUgK2oiBkEBayEFIAZBDGwgKmpBDGshJgsgJkEANgIIICZCADcCACAFQQFqISsLIAggKzYCICAIKAIIIihB1AFsISogCCgCACEFQQAhNUEAITAgKEUNAiAqQdQBayIGQdQBbkEBaiImQQNxISkgBkH8BEkEQCAFIQYMAgsgJkH8//8fcSEmIAUhBgNAIAZBsAFqQgA3AgAgBkGEA2pCADcCACAGQdgEakIANwIAIAZBrAZqQgA3AgAgMCAGKAIAQQFGaiAGQdQBaigCAEEBRmogBkGoA2ooAgBBAUZqIAZB/ARqKAIAQQFGaiEwIAZB0AZqIQYgJkEEayImDQALDAELQfTCwABBK0HUlsEAEKoKAAsgKUUNACApQdQBbCEmA0AgBkGwAWpCADcCACAwIAYoAgBBAUZqITAgBkHUAWohBiAmQdQBayImDQALCyAFICpqIUFBASAHIAdBAU0bITIgLCgCCCI5IAgoAigiPkHoAmxqIQcgOUUgLCgCECI/ID5NciE2IAgoAiwhMyAIKAIMITsgCCgCFCExIAgoAhghQEEAISlBACEqA0ACQAJ9AkACQAJAAkACQAJAAkAgKCAqRwRAIAUgKWoiJigCAEEBRw0JICogK08NAyAmQQRqKQIAIUIgJkHYAGooAgAhBiA1IEBqIi0gJkHQAGopAgA3AgAgLUEIaiIvIAY2AgAgJkEMaioCACIQIC0qAgAiCpQgJkEQaioCACIOIC1BBGoiNyoCACIMlJIgJkEUaioCACILIC8qAgAiDZSSIQkgLyANIAsgCZSTIg04AgAgNyAMIA4gCZSTIg84AgAgLSAKIBAgCZSTIhI4AgBDAAAAACERQwAAAAAhCkMAAAAAIQlDAAAAACEMIA0gDZQgEiASlCAPIA+UkpIQmwEiE0OsxSc3X0UEQCASIBOVIQwgDSATlSEKIA8gE5UhCQsgLSAMOAIAIDcgCTgCACAvIAo4AgBDAAAAACENQwAAAAAhDyAQIAmUIA4gDJSTIhIgEpQgDiAKlCALIAmUkyIOIA6UIAsgDJQgECAKlJMiCiAKlJKSEJsBIglDrMUnN19FBEAgEiAJlSEPIA4gCZUhESAKIAmVIQ0LICogMU8NBSA1IDtqIgYgETgCACAGQQhqIA84AgAgBkEEaiANOAIAIEKnIgYgPE8NBCA0RQ0EIDQgBkGoAWxqIjgoAgBFDQQgOCgCBCBCQiCIp0cNBCA4KAIIRQ0BIDhBDGooAgAiBiA/Tw0GIDlFDQYgOSAGQegCbGoiBigCAEUNBiAGKAIEIDhBEGooAgBHDQYgBkHlAmotAAANAQJAIDYNACAHKAIARQ0AIAcoAgQgM0YNAwtB7JvBAEETQciZwQAQ4QkACyAoIChB+JjBABDjCAALAkAgNg0AIAcoAgBFDQAgBygCBCAzRg0GC0Hsm8EAQRNB2JnBABDhCQALQwAAAABDAACAPyAmQRxqKgIAIhIgByoC5AGTIhAgLyoCACIJlCAmQSBqKgIAIhMgByoC6AGTIg0gNyoCACIKlJMiCyAHKgKYAZQgDSAtKgIAIgyUICZBGGoqAgAiFCAHKgLgAZMiDiAJlJMiDyAHKgKcASIVlJIgDiAKlCAQIAyUkyIRIAcqAqABIheUkiIWIBaUIAsgFZQgDyAHKgKkAZSSIBEgByoCqAEiFZSSIhYgFpSSIAsgF5QgDyAVlJIgESAHKgKsAZSSIgsgC5SSIAcqAswBIAZBzAFqKgIAkpIgEyAGQegBaioCAJMiDyAKlCASIAZB5AFqKgIAkyIRIAmUkyILIAZBmAFqKgIAlCAUIAZB4AFqKgIAkyISIAmUIA8gDJSTIhMgBkGcAWoqAgAiFZSSIBEgDJQgEiAKlJMiFCAGQaABaioCACIXlJIiFiAWlCALIBWUIBMgBkGkAWoqAgCUkiAUIAZBqAFqKgIAIhWUkiIWIBaUkiALIBeUIBMgFZSSIBQgBkGsAWoqAgCUkiILIAuUkpIiC5UiEyALQwjlPB5fGyATIAtDCOU8nmAbIQsgCSAHKgKAASAQIAcqAoQBIgmUIA4gByoCiAEiE5STkiAGQYABaioCACARIAZBhAFqKgIAIhSUIBIgBkGIAWoqAgAiFZSTkpOUIAcqAnggDSATlCAQIAcqAowBIhCUk5IgBkH4AGoqAgAgDyAVlCARIAZBjAFqKgIAIhGUk5KTIAyUIAogByoCfCAOIBCUIA0gCZSTkiAGQfwAaioCACASIBGUIA8gFJSTkpOUkpIMBQsgKiArQYiZwQAQ4wgAC0Hsm8EAQRNBqJnBABDhCQALICogMUGYmcEAEOMIAAtB7JvBAEETQbiZwQAQ4QkAC0MAAAAAQwAAgD8gByoCzAEgByoCmAEgJkEcaioCACAHKgLkAZMiCSAvKgIAIhCUICZBIGoqAgAgByoC6AGTIgogNyoCACINlJMiDpQgByoCnAEiEiAKIC0qAgAiD5QgJkEYaioCACAHKgLgAZMiDCAQlJMiC5SSIAwgDZQgCSAPlJMiESAHKgKgASITlJIiFCAUlCAOIBKUIAsgByoCpAGUkiARIAcqAqgBIhKUkiIUIBSUkiAOIBOUIAsgEpSSIBEgByoCrAGUkiIOIA6UkpIiDpUiCyAOQwjlPB5fGyALIA5DCOU8nmAbIQsgECAHKgKAASAJIAcqAoQBIhCUIAwgByoCiAEiDpSTkpQgDSAHKgJ8IAwgByoCjAEiDJQgCiAQlJOSlCAHKgJ4IAogDpQgCSAMlJOSIA+UkpILIQkgJkG0AWogJkGcAWoqAgAgCUPNzEy+lCALlJQ4AgALIDVBDGohNSApQdQBaiEpIDIgKkEBaiIqRw0ACyAwsyEiQQEhLUEAISoCQAJAAkACQAJAA0ACQAJAIDZFBEAgOyAqQQxsaiEpIAUgKkHUAWxqISYCQAJAAkACQANAICggKkYNDAJAAkAgJigCAEEBRwRAICZB0AFqQYCAgPwDNgIAICZBsAFqQQA2AgAMAQsCfSAmQbwBaioCACIJQwAAAABbBEAgBygCAEUNDyAHKAIEIDNHDQ8gJkEEaikCACJCpyIGIDxPDQMgNEUNAyA0IAZBqAFsaiIGKAIARQ0DIAYoAgQgQkIgiKdHDQMgJkHAAWoqAgAhFyAGKAIIBH8gBkEMaigCACIvID9PDQYgOSAvQegCbGoiLygCAEUNBiAvKAIEIAZBEGooAgBHDQYgL0EIagVBAAshBiAqIDFPDQYgJkEgaioCACELICZBHGoqAgAhDiAmQRhqKgIAIQ0gKUEIaioCACEJIClBBGoqAgAhCiApKgIAIQwgBgR9IAogDSAGQdgBaioCAJMiEJQgDCAOIAZB3AFqKgIAkyIPlJMiFiAGQZgBaioCACIRlCAGKgKQASIVIAkgD5QgCiALIAZB4AFqKgIAkyISlJMiGZQgBkGUAWoqAgAiEyAMIBKUIAkgEJSTIhiUkpIhFCAGQcQBaioCACAJIA8gFSAUlCATIBMgGZQgGCAGQZwBaioCACIblJIgFiAGQaABaioCACIVlJIiGpSSIBEgGSARlCAYIBWUkiAWIAZBpAFqKgIAIhmUkiIWlJIiGJQgECATIBSUIBsgGpSSIBUgFpSSIhOUk5QgDCASIBOUIA8gESAUlCAVIBqUkiAZIBaUkiIPlJOUIAogECAPlCASIBiUk5SSkpIFQwAAAAALIRYgMEUNB0MAAAAAIBcgF0MAAAAAWxshEAJ9IAZFBEBDAAAAACETQwAAAAAhEkMAAAAADAELIAZB+ABqKgIAIA4gBkHcAWoqAgCTIg8gBkH8AGoqAgAiEZQgDSAGQdgBaioCAJMiEyAGQYABaioCACIUlJOSIRIgBkH0AGoqAgAgEyAGQYQBaioCACIVlCALIAZB4AFqKgIAkyIXIBGUk5IhEyAGKgJwIBcgFJQgDyAVlJOSCyEXIAcqAugBIR0gByoC5AEhFSAHKgLgASEeIAcqAqQBIRkgByoCnAEhDyAHKgKYASEYIAcqAqgBIREgByoCoAEhFCAHKgKsASEaIAcqAswBIR8gByoChAEhGyAHKgKMASEcIAcqAogBISAgByoCgAEhIyAHKgJ8ISQgByoCeCElICcgEDgCOCAnIBCMIiE4AgAgEEMAAAAAYEUNCCAKIA0gHpMiDZQgDCAOIBWTIg6UkyEVIBAgIUMAAIA/IB8gCSAOIBggFSAUlCAYIAkgDpQgCiALIB2TIguUkyIYlCAPIAwgC5QgCSANlJMiHZSSkiIelCAPIA8gGJQgHSAZlJIgFSARlJIiH5SSIBQgGCAUlCAdIBGUkiAVIBqUkiIVlJIiGJQgDSAPIB6UIBkgH5SSIBEgFZSSIg+Uk5QgDCALIA+UIA4gFCAelCARIB+UkiAaIBWUkiIPlJOUIAogDSAPlCALIBiUk5SSkpIgFpKVIAwgJSALICCUIA4gHJSTkiAXk5QgCiAkIA0gHJQgCyAblJOSIBOTlJIgCSAjIA4gG5QgDSAglJOSIBKTlJKMlCAilSIJIAkgIV0bIgkgCSAQXhsMAQsgCSABlAshCSAmQdABaiIGQYCAgPwDNgIAICZBsAFqIi9BADYCACAmQcwBaioCACABlCAmQZgBaioCAJQiCiAKlCIMQwAAAABgRQ0MIC8gCTgCACAMIAlDAAAAP5QiCSAJlCAmQbQBaioCACIJIAmUkiIJXQ0JCyApQQxqISkgJkHUAWohJiAyICpBAWoiKkcNAQwHCwtB7JvBAEETQdSXwQAQ4QkAC0Hsm8EAQRNB5JfBABDhCQALICogMUH0l8EAEOMIAAtBhJjBAEEqQbCYwQAQqgoACyAnQdgAaiIAQQxqQYgBNgIAICdBGGoiAkEMakICNwIAICdBAjYCHCAnQfjQwAA2AhggJ0GIATYCXCAnIAA2AiAgJyAnQThqNgJgICcgJzYCWCACQdTRwAAQ3AoACyAFICpB1AFsaiEmA0AgKCAqRg0HAkAgJigCAEEBRwRAICZB0AFqQYCAgPwDNgIAICZBsAFqQQA2AgAMAQsgJkG8AWoqAgAiCUMAAAAAWw0HICZB0AFqIgZBgICA/AM2AgAgJkGwAWoiKUEANgIAICZBzAFqKgIAIAGUICZBmAFqKgIAlCIKIAqUIgxDAAAAAGBFDQYgKSAJIAGUIgk4AgAgDCAJQwAAAD+UIgkgCZQgJkG0AWoqAgAiCSAJlJIiCV0NAwsgJkHUAWohJiAyICpBAWoiKkcNAAsLIC0gKEVyRQ0CDAYLIAYgCkMAAAAAQwAAgD8gCZEiCZUiCiAJQwjlPB5fGyAKIAlDCOU8nmAblDgCAEEAIS0gMiAqQQFqIipHDQALIChFDQQLIAUhJgJAIChB1AFsQdQBayIGQdQBbkEBcQ0AIAVB1AFqISYgBSoCtAEiCkMAAAAAWw0AIAUqAtABIglDAACAP11FDQAgBSAKIAmUOAK0ASAFIAkgBSoCsAGUOAKwAQsgBkHUAUkNAwNAAkAgJkG0AWoiBioCACIKQwAAAABbDQAgJkHQAWoqAgAiCUMAAIA/XUUNACAGIAogCZQ4AgAgJkGwAWoiBiAJIAYqAgCUOAIACwJAICZBiANqIgYqAgAiCkMAAAAAWw0AICZBpANqKgIAIglDAACAP11FDQAgBiAKIAmUOAIAICZBhANqIgYgCSAGKgIAlDgCAAsgQSAmQagDaiImRw0ACwwDC0HAmMEAQShB6JjBABCqCgALQeybwQBBE0HEl8EAEOEJAAsgKCAoQbSXwQAQ4wgACyA2DQUgBygCAEUNBSAHKAIEIDNHDQUgB0GwAmotAABBAXFFBEAgB0EBNgKwAiAsQSRqKAIAIiYgLEEgaigCAEYEQCA6ICYQqwYgLCgCJCEmCyAsICZBAWo2AiQgLCgCHCAmQQN0aiIGIDM2AgQgBiA+NgIACyAnQRhqIAgoAjAiBkECdGohKSAGQQNJIS1BACEqQQAhJgNAICYgKEYNAiAFQSBqKgIAIRAgBUEcaioCACENIAVBGGoqAgAhDgJAIAVBsAFqKgIAIgpDAAAAAFsNACAmIDFPDQQgCiAqIDtqIgZBBGoqAgCUIgsgDiAHKgLgAZMiDJQgCiAGKgIAlCIPIA0gByoC5AGTIhKUkyEJIA8gECAHKgLoAZMiE5QgCiAGQQhqKgIAlCIRIAyUkyEKIBEgEpQgCyATlJMhDCAHLQDlAiEGAkAgD0MAAAAAXCALQwAAAABcciARQwAAAABcckUNACAGDQAgByAPIAcqAuwBlCAHKgJ4kjgCeCAHIAsgByoC8AGUIAcqAnySOAJ8IAcgESAHKgL0AZQgByoCgAGSOAKAAQsgDEMAAAAAXCAKQwAAAABcciAJQwAAAABcckUNACAGDQAgDCAHKgKgASILlCAKIAcqAqgBIg+UkiAJIAcqAqwBIhSUkiERIAwgByoCmAEiFZQgCiAHKgKcASISlJIgCSALlJIhEyAHIAcqAoQBIAsgEZQgFSATlCASIAwgEpQgCiAHKgKkASIKlJIgCSAPlJIiCZSSkpI4AoQBIAcgByoCiAEgDyARlCASIBOUIAogCZSSkpI4AogBIAcgFCARlCALIBOUIA8gCZSSkiAHKgKMAZI4AowBCwJAIAVBtAFqKgIAIgtDAAAAAFsNACAmICtPDQYgKiBAaiIGQQRqKgIAIRMgBkEIaioCACEWIAYqAgAhGSAHKgI0IQ8gByoCMCEJIAcqAiwhCiAHKgIoIQwgJ0EANgIgICdCADcCGCAtRQ0JIClBgICA/AM2AgAgCiAnKgIgIhSUIAkgJyoCHCIVlJMiESARkiERIAwgFZQgCiAnKgIYIheUkyISIBKSIRIgCyATlCITIA4gFyAPIBGUIAogEpQgCSAJIBeUIAwgFJSTIhcgF5IiF5STkpIiGEMAAIA/IAVBqAFqKgIAkyAQIAcqAugBIhqTIBQgDyASlCAMIBeUIAogEZSTkpIiFJQgGCAOIAcqAuABIg6TlCANIAcqAuQBIhiTIBUgDyAXlCAJIBGUIAwgEpSTkpIiCZSSkpQiCpSTIA6TIgyUIAsgGZQiDiANIAkgCpSTIBiTIg2UkyEJIA4gECAUIAqUkyAakyIPlCALIBaUIhAgDJSTIQogECANlCATIA+UkyEMIActAOUCIQYCQCAOQwAAAABcIBNDAAAAAFxyIBBDAAAAAFxyRQ0AIAYNACAHIA4gByoC7AGUIAcqAniSOAJ4IAcgEyAHKgLwAZQgByoCfJI4AnwgByAQIAcqAvQBlCAHKgKAAZI4AoABCyAMQwAAAABcIApDAAAAAFxyIAlDAAAAAFxyRQ0AIAYNACAMIAcqAqABIhCUIAogByoCqAEiDZSSIAkgByoCrAEiEZSSIQ4gDCAHKgKYASISlCAKIAcqApwBIguUkiAJIBCUkiEPIAcgByoChAEgECAOlCASIA+UIAsgDCALlCAKIAcqAqQBIgqUkiAJIA2UkiIJlJKSkjgChAEgByAHKgKIASANIA6UIAsgD5QgCiAJlJKSkjgCiAEgByARIA6UIBAgD5QgDSAJlJKSIAcqAowBkjgCjAELIAVB1AFqIQUgKkEMaiEqIDIgJkEBaiImRw0ACyAIKAIsISkgCCgCKCEGCyAsKAIQIAZNDQIgLCgCCCIFRQ0CIAUgBkHoAmxqIgcoAgBFDQIgBygCBCApRw0CIAdBsAJqLQAAQQFxRQRAIAdBATYCsAIgLEEkaigCACIFICxBIGooAgBGBEAgOiAFEKsGICwoAiQhBQsgLCAFQQFqNgIkICwoAhwgBUEDdGoiBSApNgIEIAUgBjYCAAsgCCgCCCIFBEAgBUHUAWwhKyAnQRhqIAgoAjQiBUECdGohLCAFQQNJIShBACEmIAgoAgAiCCEqA0ACfSAIICZqIgVBNGotAABFBEAgBUGgAWoiBioCACEKIAVBpAFqKgIAIgkMAQsgBUEoaioCACEXIAcqAuABIRYgByoCiAEhCyAFQSxqKgIAIRkgByoC5AEhGCAHKgKEASEPIAcqAoABIRogBUEwaioCACEbIAcqAugBIRwgByoCjAEhESAHKgJ8ISAgByoCeCEhICdBADYCICAnQgA3AhggKEUNCSAsQYCAgPwDNgIAICpBoAFqIQYgBUGgAWoqAgAhCSAnKgIcIhIgByoCKCIKlCAnKgIYIhMgByoCLCIMlJMiECAQkiEQIBMgByoCMCINlCAnKgIgIhQgCpSTIg4gDpIhDiAFQRRqKgIAIh0gFCAHKgI0IhUgEJQgCiAOlCAMIBQgDJQgEiANlJMiFCAUkiIUlJOSkiIelCAFQQxqKgIAIh8gEyAVIBSUIAwgEJQgDSAOlJOSkiIMlCAFQRBqKgIAIhMgEiAVIA6UIA0gFJQgCiAQlJOSkiIQlJKSIQogGiAZIBiTIg0gD5QgFyAWkyIOIAuUk5IgHiAdIAqUk5QgISAbIByTIhIgC5QgDSARlJOSIAwgHyAKlJOUICAgDiARlCASIA+Uk5IgECATIAqUk5SSkiABlCAFQYgBaioCAJUiCgshDCAqQdQBaiEqIAYgCSAKkjgCACAFQaQBaiAMQ6RwfT+UOAIAICsgJkHUAWoiJkcNAAsLICdB8ABqJAAMBwsgKCAoQYSXwQAQ4wgACyAmIDFBlJfBABDjCAALQfTCwABBK0HklsEAEKoKAAsgJiArQaSXwQAQ4wgAC0H0wsAAQStB9JbBABCqCgALQeybwQBBE0HElsEAEOEJAAtBwIXBAEEbQciCwQAQuwsACyAuQUBrJAAgBCAEKAIAQQFrNgIAIAMgAygCAEEBazYCACACQQA2AgAgAEEANgIAID1BEGokAA8LEPgMAAsQ+QwAC+8BAgN/AX4jAEEQayIDJAACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgACQAJAIAEgAEEMaigCAEkEQCAAQQRqKAIAIgQNAQsgACACNgIAQQAhAAwBCyAEIAFB1AFsaiIBKQJcIQUgAUHkAGooAgAhASAAIAI2AgAgA0EIaiICIAE2AgAgAyAFNwMAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAMpAwA3AgQgAEEMaiACKAIANgIACyADQRBqJAAgAA8LEPgMAAsQ+QwAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvvAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAAkACQCABIABBDGooAgBJBEAgAEEEaigCACIEDQELIAAgAjYCAEEAIQAMAQsgBCABQdQBbGoiASkCaCEFIAFB8ABqKAIAIQEgACACNgIAIANBCGoiAiABNgIAIAMgBTcDAEGR+8MALQAAGkEQQQQQggwiAEUNAyAAQQA2AgAgACADKQMANwIEIABBDGogAigCADYCAAsgA0EQaiQAIAAPCxD4DAALEPkMAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAAL7wECA38BfiMAQRBrIgMkAAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCAAJAAkAgASAAQQxqKAIASQRAIABBBGooAgAiBA0BCyAAIAI2AgBBACEADAELIAQgAUHUAWxqIgEpAnQhBSABQfwAaigCACEBIAAgAjYCACADQQhqIgIgATYCACADIAU3AwBBkfvDAC0AABpBEEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+4BAgN/AX4jAEEQayIDJAACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgACQAJAIAEgAEEMaigCAEkEQCAAQQRqKAIAIgQNAQsgACACNgIAQQAhAAwBCyAEIAFB1AFsaiIBKQIMIQUgAUEUaigCACEBIAAgAjYCACADQQhqIgIgATYCACADIAU3AwBBkfvDAC0AABpBEEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+4BAgN/AX4jAEEQayIDJAACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgACQAJAIAEgAEEMaigCAEkEQCAAQQRqKAIAIgQNAQsgACACNgIAQQAhAAwBCyAEIAFB1AFsaiIBKQIYIQUgAUEgaigCACEBIAAgAjYCACADQQhqIgIgATYCACADIAU3AwBBkfvDAC0AABpBEEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+4BAgN/AX4jAEEQayIDJAACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgACQAJAIAEgAEEMaigCAEkEQCAAQQRqKAIAIgQNAQsgACACNgIAQQAhAAwBCyAEIAFB1AFsaiIBKQIoIQUgAUEwaigCACEBIAAgAjYCACADQQhqIgIgATYCACADIAU3AwBBkfvDAC0AABpBEEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+EBAwN/AX4BfSMAQRBrIgQkAAJAAkACQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgAkEGTw0CIARBCGogAEEEaiABvSIGpyAGQiCIpxDoBiAEKAIIIgNFDQMgBCgCDCIFIANBCGooAgBPDQQgAygCACIDRQ0EIAMgBUHoA2xqIAJBDGxqQdgAaioCACEHIAAgACgCAEEBazYCACAEQRBqJAAgBw8LEPgMAAsQ+QwAC0HGt8AAQRkQ9wwAC0G0s8AAQckAQay0wAAQ4QkAC0HYh8AAQStBvLTAABCqCgAL4QEDA38BfgF9IwBBEGsiBCQAAkACQAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQQZPDQIgBEEIaiAAQQRqIAG9IganIAZCIIinEOgGIAQoAggiA0UNAyAEKAIMIgUgA0EIaigCAE8NBCADKAIAIgNFDQQgAyAFQegDbGogAkEMbGpB3ABqKgIAIQcgACAAKAIAQQFrNgIAIARBEGokACAHDwsQ+AwACxD5DAALQca3wABBGRD3DAALQbSzwABByQBBrLTAABDhCQALQdiHwABBK0G8tMAAEKoKAAvpAQEDfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQBBBCAAKAIEIgJBAXQiBCABIAEgBEkbIgEgAUEETRsiBEECdCEBIARBgICAgAJJQQJ0IQUCQCACRQRAIANBADYCGAwBCyADQQQ2AhggAyACQQJ0NgIcIAMgACgCADYCFAsgA0EIaiAFIAEgA0EUahDaBiADKAIMIQEgAygCCEUEQCAAIAQ2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyADQSBqJAAL6AEBA38jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQQgACgCBCICQQF0IgQgASABIARJGyIBIAFBBE0bIgRBFGwhASAEQefMmTNJQQJ0IQUCQCACRQRAIANBADYCGAwBCyADQQQ2AhggAyACQRRsNgIcIAMgACgCADYCFAsgA0EIaiAFIAEgA0EUahDaBiADKAIMIQEgAygCCEUEQCAAIAQ2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyADQSBqJAAL6QEBA38jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQQgACgCBCICQQF0IgQgASABIARJGyIBIAFBBE0bIgRBDGwhASAEQavVqtUASUECdCEFAkAgAkUEQCADQQA2AhgMAQsgA0EENgIYIAMgAkEMbDYCHCADIAAoAgA2AhQLIANBCGogBSABIANBFGoQ2gYgAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgA0EgaiQAC+kBAQN/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEEIAAoAgQiAkEBdCIEIAEgASAESRsiASABQQRNGyIEQQN0IQEgBEGAgICAAUlBAnQhBQJAIAJFBEAgA0EANgIYDAELIANBBDYCGCADIAJBA3Q2AhwgAyAAKAIANgIUCyADQQhqIAUgASADQRRqENoGIAMoAgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIANBIGokAAvqAQEDfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQBBBCAAKAIEIgJBAXQiBCABIAEgBEkbIgEgAUEETRsiBEGUAmwhASAEQYLz2gNJQQJ0IQUCQCACRQRAIANBADYCGAwBCyADQQQ2AhggAyACQZQCbDYCHCADIAAoAgA2AhQLIANBCGogBSABIANBFGoQ2gYgAygCDCEBIAMoAghFBEAgACAENgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASADQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgA0EgaiQAC/ABAgJ/An4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinENQIIgJFDQIgAkGIAWopAgAhBCACQZABaikCACEFIAAgACgCAEEBazYCACADQQhqIgIgBTcDACADIAQ3AwBBkfvDAC0AABpBFEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIpAwA3AgAgA0EQaiQAIAAPCxD4DAALEPkMAAtBlLLAAEHQAEGUs8AAEOEJAAtBBEEUQdCBxAAoAgAiAEGXByAAGxEAAAAL8AECAn8CfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQ1AgiAkUNAiACQaQBaikCACEEIAJBrAFqKQIAIQUgACAAKAIAQQFrNgIAIANBCGoiAiAFNwMAIAMgBDcDAEGR+8MALQAAGkEUQQQQggwiAEUNAyAAQQA2AgAgACADKQMANwIEIABBDGogAikDADcCACADQRBqJAAgAA8LEPgMAAsQ+QwAC0GUssAAQdAAQZSzwAAQ4QkAC0EEQRRB0IHEACgCACIAQZcHIAAbEQAAAAvwAQICfwF+IwBBEGsiAyQAAkACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIEpyAEQiCIpxDUCCICRQ0CIAJBmAFqKQIAIQQgAkGgAWooAgAhAiAAIAAoAgBBAWs2AgAgA0EIaiIAIAI2AgAgAyAENwMAQZH7wwAtAAAaQRBBBBCCDCICRQ0DIAJBADYCACACIAMpAwA3AgQgAkEMaiAAKAIANgIAIANBEGokACACDwsQ+AwACxD5DAALQZSywABB0ABBlLPAABDhCQALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC/ABAgJ/AX4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinENQIIgJFDQIgAkG0AWopAgAhBCACQbwBaigCACECIAAgACgCAEEBazYCACADQQhqIgAgAjYCACADIAQ3AwBBkfvDAC0AABpBEEEEEIIMIgJFDQMgAkEANgIAIAIgAykDADcCBCACQQxqIAAoAgA2AgAgA0EQaiQAIAIPCxD4DAALEPkMAAtBlLLAAEHQAEGUs8AAEOEJAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAAL7gECAn8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQTBqKQIAIQQgAkE4aigCACECIAAgACgCAEEBazYCACADQQhqIgAgAjYCACADIAQ3AwBBkfvDAC0AABpBEEEEEIIMIgJFDQMgAkEANgIAIAIgAykDADcCBCACQQxqIAAoAgA2AgAgA0EQaiQAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAAL8AECAn8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQcwAaikCACEEIAJB1ABqKAIAIQIgACAAKAIAQQFrNgIAIANBCGoiACACNgIAIAMgBDcDAEGR+8MALQAAGkEQQQQQggwiAkUNAyACQQA2AgAgAiADKQMANwIEIAJBDGogACgCADYCACADQRBqJAAgAg8LEPgMAAsQ+QwAC0HstMAAQc0AQeS1wAAQ4QkAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvvAQICfwJ+IwBBEGsiAyQAAkACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIEpyAEQiCIpxCXCiICRQ0CIAJBPGopAgAhBCACQcQAaikCACEFIAAgACgCAEEBazYCACADQQhqIgIgBTcDACADIAQ3AwBBkfvDAC0AABpBFEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIpAwA3AgAgA0EQaiQAIAAPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtBBEEUQdCBxAAoAgAiAEGXByAAGxEAAAAL8AECAn8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQfwAaikCACEEIAJBhAFqKAIAIQIgACAAKAIAQQFrNgIAIANBCGoiACACNgIAIAMgBDcDAEGR+8MALQAAGkEQQQQQggwiAkUNAyACQQA2AgAgAiADKQMANwIEIAJBDGogACgCADYCACADQRBqJAAgAg8LEPgMAAsQ+QwAC0HstMAAQc0AQeS1wAAQ4QkAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvwAQICfwF+IwBBEGsiAyQAAkACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIEpyAEQiCIpxCXCiICRQ0CIAJB5AFqKQIAIQQgAkHsAWooAgAhAiAAIAAoAgBBAWs2AgAgA0EIaiIAIAI2AgAgAyAENwMAQZH7wwAtAAAaQRBBBBCCDCICRQ0DIAJBADYCACACIAMpAwA3AgQgAkEMaiAAKAIANgIAIANBEGokACACDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC/ABAgJ/AX4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinEJcKIgJFDQIgAkG4AWopAgAhBCACQcABaigCACECIAAgACgCAEEBazYCACADQQhqIgAgAjYCACADIAQ3AwBBkfvDAC0AABpBEEEEEIIMIgJFDQMgAkEANgIAIAIgAykDADcCBCACQQxqIAAoAgA2AgAgA0EQaiQAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAAL8AECAn8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQdgBaikCACEEIAJB4AFqKAIAIQIgACAAKAIAQQFrNgIAIANBCGoiACACNgIAIAMgBDcDAEGR+8MALQAAGkEQQQQQggwiAkUNAyACQQA2AgAgAiADKQMANwIEIAJBDGogACgCADYCACADQRBqJAAgAg8LEPgMAAsQ+QwAC0HstMAAQc0AQeS1wAAQ4QkAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvwAQICfwF+IwBBEGsiAyQAAkACQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIEpyAEQiCIpxCXCiICRQ0CIAJByAFqKQIAIQQgAkHQAWooAgAhAiAAIAAoAgBBAWs2AgAgA0EIaiIAIAI2AgAgAyAENwMAQZH7wwAtAAAaQRBBBBCCDCICRQ0DIAJBADYCACACIAMpAwA3AgQgAkEMaiAAKAIANgIAIANBEGokACACDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC/ABAgJ/An4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinEJcKIgJFDQIgAkGoAWopAgAhBCACQbABaikCACEFIAAgACgCAEEBazYCACADQQhqIgIgBTcDACADIAQ3AwBBkfvDAC0AABpBFEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIpAwA3AgAgA0EQaiQAIAAPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtBBEEUQdCBxAAoAgAiAEGXByAAGxEAAAAL8AECAn8BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQmAoiAkUNAiACQYQBaikCACEEIAJBjAFqKAIAIQIgACAAKAIAQQFrNgIAIANBCGoiACACNgIAIAMgBDcDAEGR+8MALQAAGkEQQQQQggwiAkUNAyACQQA2AgAgAiADKQMANwIEIAJBDGogACgCADYCACADQRBqJAAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvpAQEDfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQBBBCAAKAIEIgJBAXQiBCABIAEgBEkbIgEgAUEETRsiBEEEdCEBIARBgICAwABJQQJ0IQUCQCACRQRAIANBADYCGAwBCyADIAAoAgA2AhQgA0EENgIYIAMgAkEEdDYCHAsgA0EIaiAFIAEgA0EUahDaBiADKAIMIQEgAygCCEUEQCAAIAQ2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyADQSBqJAAL6AEBA38jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQQgACgCBCICQQF0IgQgASABIARJGyIBIAFBBE0bIgRBGGwhASAEQdaq1SpJQQJ0IQUCQCACRQRAIANBADYCGAwBCyADQQQ2AhggAyACQRhsNgIcIAMgACgCADYCFAsgA0EIaiAFIAEgA0EUahDaBiADKAIMIQEgAygCCEUEQCAAIAQ2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyADQSBqJAAL6gEBA38jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQQgACgCBCICQQF0IgQgASABIARJGyIBIAFBBE0bIgRByABsIQEgBEHyuJwOSUECdCEFAkAgAkUEQCADQQA2AhgMAQsgA0EENgIYIAMgAkHIAGw2AhwgAyAAKAIANgIUCyADQQhqIAUgASADQRRqENoGIAMoAgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIANBIGokAAvDAQEGfUEAIQIgACABKgIMIAEqAgAiBpMiCSABQRxqKgIAIAEqAgQiBZMiB5QgAUEQaioCACAFkyIFIAEqAhggBpMiCpSTIgggCJQgBSABQSBqKgIAIAEqAggiBZMiBpQgAUEUaioCACAFkyIFIAeUkyIHIAeUIAUgCpQgCSAGlJMiBiAGlJKSIgVDAACAKF4EfyAAQQxqIAggBRCbASIFlTgCACAAQQhqIAYgBZU4AgAgACAHIAWVOAIEQQEFQQALNgIAC80BAAJAAkAgAQRAIAJBAEgNAQJAAkACfyADKAIEBEAgA0EIaigCACIBRQRAIAJFBEBBASEBDAQLQZH7wwAtAAAaIAJBARCCDAwCCyADKAIAIAFBASACEO0LDAELIAJFBEBBASEBDAILQZH7wwAtAAAaIAJBARCCDAsiAUUNAQsgACABNgIEIABBCGogAjYCACAAQQA2AgAPCyAAQQE2AgQMAgsgAEEANgIEDAELIABBADYCBCAAQQE2AgAPCyAAQQhqIAI2AgAgAEEBNgIAC+YBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0EwbCEBIANBq9WqFUlBAnQhBQJAIARFBEAgAkEANgIYDAELIAJBBDYCGCACIARBMGw2AhwgAiAAKAIANgIUCyACQQhqIAUgASACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvmAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBKGwhASADQbTmzBlJQQJ0IQUCQCAERQRAIAJBADYCGAwBCyACQQQ2AhggAiAEQShsNgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL6AEBBH8jAEEgayICJAACQAJAIAFBAWoiAUUNAEEEIAAoAgQiBEEBdCIDIAEgASADSRsiASABQQRNGyIDQagBbCEBIANBsZiMBklBAnQhBQJAIARFBEAgAkEANgIYDAELIAJBBDYCGCACIARBqAFsNgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL5wEBBH8jAEEgayICJAACQAJAIAFBAWoiAUUNAEEEIAAoAgQiBEEBdCIDIAEgASADSRsiASABQQRNGyIDQQR0IQEgA0GAgIDAAElBAnQhBQJAIARFBEAgAkEANgIYDAELIAIgACgCADYCFCACQQQ2AhggAiAEQQR0NgIcCyACQQhqIAUgASACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvmAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBFGwhASADQefMmTNJQQJ0IQUCQCAERQRAIAJBADYCGAwBCyACQQQ2AhggAiAEQRRsNgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL5gEBBH8jAEEgayICJAACQAJAIAFBAWoiAUUNAEEEIAAoAgQiBEEBdCIDIAEgASADSRsiASABQQRNGyIDQThsIQEgA0GTyaQSSUECdCEFAkAgBEUEQCACQQA2AhgMAQsgAkEENgIYIAIgBEE4bDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+YBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0EkbCEBIANB5PG4HElBAnQhBQJAIARFBEAgAkEANgIYDAELIAJBBDYCGCACIARBJGw2AhwgAiAAKAIANgIUCyACQQhqIAUgASACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvnAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBAnQhASADQYCAgIACSUECdCEFAkAgBEUEQCACQQA2AhgMAQsgAkEENgIYIAIgBEECdDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+YBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0EYbCEBIANB1qrVKklBAnQhBQJAIARFBEAgAkEANgIYDAELIAJBBDYCGCACIARBGGw2AhwgAiAAKAIANgIUCyACQQhqIAUgASACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvnAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBDGwhASADQavVqtUASUECdCEFAkAgBEUEQCACQQA2AhgMAQsgAkEENgIYIAIgBEEMbDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+cBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0EDdCEBIANBgICAgAFJQQJ0IQUCQCAERQRAIAJBADYCGAwBCyACQQQ2AhggAiAEQQN0NgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL5gEBBH8jAEEgayICJAACQAJAIAFBAWoiAUUNAEEEIAAoAgQiBEEBdCIDIAEgASADSRsiASABQQRNGyIDQQV0IQEgA0GAgIAgSUECdCEFAkAgBEUEQCACQQA2AhgMAQsgAkEENgIYIAIgBEEFdDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+YBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0EsbCEBIANBr/SiF0lBAnQhBQJAIARFBEAgAkEANgIYDAELIAJBBDYCGCACIARBLGw2AhwgAiAAKAIANgIUCyACQQhqIAUgASACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvmAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBBnQhASADQYCAgBBJQQJ0IQUCQCAERQRAIAJBADYCGAwBCyACQQQ2AhggAiAEQQZ0NgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL5gEBBH8jAEEgayICJAACQAJAIAFBAWoiAUUNAEEEIAAoAgQiBEEBdCIDIAEgASADSRsiASABQQRNGyIDQQd0IQEgA0GAgIAISUEEdCEFAkAgBEUEQCACQQA2AhgMAQsgAkEQNgIYIAIgBEEHdDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+gBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0GAA2whASADQdaq1QJJQQN0IQUCQCAERQRAIAJBADYCGAwBCyACQQg2AhggAiAEQYADbDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC+gBAQR/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBBCAAKAIEIgRBAXQiAyABIAEgA0kbIgEgAUEETRsiA0HoA2whASADQcbLjAJJQQN0IQUCQCAERQRAIAJBADYCGAwBCyACQQg2AhggAiAEQegDbDYCHCACIAAoAgA2AhQLIAJBCGogBSABIAJBFGoQ2gYgAigCDCEBIAIoAghFBEAgACADNgIEIAAgATYCAAwCCyABQYGAgIB4Rg0BIAFFDQAgASACQRBqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgAkEgaiQAC4sJAgZ/An4jAEEQayIIJAACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgCEEEaiEGIwBB4ABrIgMkAAJAAkACQAJAAkACQAJAIAFBBGogAr0iCacgCUIgiKcQmAoiBARAAkACQAJAAkACQAJAAkAgBEEwaigCACAEQTRqKAIAIgQoAghBAWtBeHFqQQhqIgcgBCgClAERBABB/wFxQQNrDg8BAgMAAAAABAAAAAUAAAYACyAGQQA2AgAMDQsjAEEgayIFJAAgBUEYaiAHIAQoAmARAAAgBUEIaiAFKAIYIgQgBSgCHEEMaigCABEAACAFQRBqKQMAIQkgBSkDCCEKIAVBIGokACAEQQAgCkLMqe2zqZDim+wAhSAJQriDyOLMibnWkH+FhFAbIgRFDQsgA0EIaiIFQRRqIARBFGooAgA2AgAgAyAEKQIMNwIUIAVBCGogBEEIaigCADYCACADIAQpAgA3AwggAyADQSBqNgJcIANBADYCRCADQQA2AjAgAyAFNgJYIAYgA0EwahC3AQwMCyAHIAQQoQkiBEUNCSADQQhqIgVBFGogBEEUaigCADYCACAEKQIMIQkgBUEgaiAEQSBqKAIANgIAIAMgCTcCFCADIAQpAhg3AyAgBUEIaiAEQQhqKAIANgIAIAMgBCkCADcDCCADIANBLGo2AlwgA0EANgJEIANBADYCMCADIAU2AlggBiADQTBqELcBDAsLIAcgBBCiCSIERQ0HIARB0ABqKAIAIQUgAyAEQcgAaigCACIENgJYIANBADYCRCADQQA2AjAgAyAEIAVBDGxqNgJcIAYgA0EwahC3AQwKCyAHIAQQpwkiBEUNBSAEQQhqKAIAIQUgAyAEKAIAIgQ2AlggA0EANgJEIANBADYCMCADIAQgBUEMbGo2AlwgBiADQTBqELcBDAkLIAcgBBCmCSIERQ0DIANBCGoiBUEUaiAEQRRqKAIANgIAIAVBIGogBEEgaigCADYCACAFQQhqIARBCGooAgA2AgAgAyAEKQIMNwIUIAMgBCkCGDcDICADIAQpAgA3AwggAyADQSxqNgJcIANBADYCRCADQQA2AjAgAyAFNgJYIAYgA0EwahC3AQwICyAHIAQQrgkiBEUNASAEQQhqKAIAIQUgAyAEKAIAIgQ2AlggA0EANgJEIANBADYCMCADIAQgBUEMbGo2AlwgBiADQTBqELcBDAcLQYS2wABBzABB+LbAABDhCQALIAZBADYCAAwFCyAGQQA2AgAMBAsgBkEANgIADAMLIAZBADYCAAwCCyAGQQA2AgAMAQsgBkEANgIACyADQeAAaiQAIAEgASgCAEEBazYCAAJAIAgoAgQiBkUEQEEAIQNBACEBDAELIAgoAgwiASAIKAIIIgNPBEAgBiEDDAELIANBAnQhAyABRQRAQQQhAyAGEJoCDAELIAYgA0EEIAFBAnQiBhDtCyIDRQ0DCyAAIAE2AgQgACADNgIAIAhBEGokAA8LEPgMAAsQ+QwAC0EEIAZB0IHEACgCACIAQZcHIAAbEQAAAAuvDgIKfwJ+IwBBEGsiDCQAAkACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAxBBGohCiMAQTBrIgUkAAJAAkACQAJAAkACQAJAIAFBBGogAr0iDacgDUIgiKcQmAoiAwRAAkACQAJAAkACQCADQTBqKAIAIANBNGooAgAiBCgCCEEBa0F4cWpBCGoiBiAEKAKUAREEAEH/AXFBBWsODQECAAAAAwAAAAAAAAQACyAKQQA2AgAMCQsgBiAEEKIJIgNFDQcCfyADQdwAaigCACIEQf////8DcUUEQEEEIQdBAAwBCyADQdQAaigCACIDKAIAIQZBkfvDAC0AABpBEEEEEIIMIglFDQogAyAEQQxsaiELIAkgBjYCACAFQoSAgIAQNwIQIAUgCTYCDCADQQRqIQZBBCEHQQEhCCADQQxqIQQDQAJAAkAgBCAGRwRAIAYhAwwBCyAERQ0BIAQgC0YNASAEIgNBDGohBAsgA0EEaiEGIAMoAgAhAyAFKAIQIAhGBEAgBUEMaiAIIAQgBmtBAnZBAWoQiQYgBSgCDCEJCyAHIAlqIAM2AgAgBSAIQQFqIgg2AhQgB0EEaiEHDAELCyAFKAIMIQcgBSgCEAshAyAKIAg2AgggCiADNgIEIAogBzYCAAwICyMAQSBrIgMkACADQRhqIAYgBCgCYBEAACADQQhqIAMoAhgiBCADKAIcQQxqKAIAEQAAIANBEGopAwAhDSADKQMIIQ4gA0EgaiQAIARBACAOQrTF6LrQuovErn+FIA1ClffNyIus+fn9AIWEUBsiA0UNBQJ/IANBFGooAgAiBEH/////AXFFBEBBBCEHQQAMAQsgA0EMaigCACIDKAIAIQZBkfvDAC0AABpBEEEEEIIMIglFDQkgAyAEQQN0aiELIAkgBjYCACAFQoSAgIAQNwIQIAUgCTYCDCADQQRqIQZBBCEHQQEhCCADQQhqIQQDQAJAAkAgBCAGRwRAIAYhAwwBCyAERQ0BIAQgC0YNASAEIgNBCGohBAsgA0EEaiEGIAMoAgAhAyAFKAIQIAhGBEAgBUEMaiAIIAQgBmtBAnZBAWoQiQYgBSgCDCEJCyAHIAlqIAM2AgAgBSAIQQFqIgg2AhQgB0EEaiEHDAELCyAFKAIMIQcgBSgCEAshAyAKIAg2AgggCiADNgIEIAogBzYCAAwHCyAGIAQQpwkiA0UNAyAFQQxqIAMQoAMCfyAFQSBqKAIAIgRB/////wNxRQRAQQQhB0EADAELIAUoAhgiAygCACEGQZH7wwAtAAAaQRBBBBCCDCIJRQ0IIAMgBEEMbGohCyAJIAY2AgAgBUKEgICAEDcCKCAFIAk2AiQgA0EEaiEGQQQhB0EBIQggA0EMaiEEA0ACQAJAIAQgBkcEQCAGIQMMAQsgBEUNASAEIAtGDQEgBCIDQQxqIQQLIANBBGohBiADKAIAIQMgBSgCKCAIRgRAIAVBJGogCCAEIAZrQQJ2QQFqEIkGIAUoAiQhCQsgByAJaiADNgIAIAUgCEEBaiIINgIsIAdBBGohBwwBCwsgBSgCJCEHIAUoAigLIQMgBSgCEARAIAUoAgwQmgILIAVBHGooAgAEQCAFKAIYEJoCCyAKIAg2AgggCiADNgIEIAogBzYCAAwGCyAGIAQQrgkiA0UNASAFQQxqIAMQoAMCfyAFQSBqKAIAIgRB/////wNxRQRAQQQhB0EADAELIAUoAhgiAygCACEGQZH7wwAtAAAaQRBBBBCCDCIJRQ0HIAMgBEEMbGohCyAJIAY2AgAgBUKEgICAEDcCKCAFIAk2AiQgA0EEaiEGQQQhB0EBIQggA0EMaiEEA0ACQAJAIAQgBkcEQCAGIQMMAQsgBEUNASAEIAtGDQEgBCIDQQxqIQQLIANBBGohBiADKAIAIQMgBSgCKCAIRgRAIAVBJGogCCAEIAZrQQJ2QQFqEIkGIAUoAiQhCQsgByAJaiADNgIAIAUgCEEBaiIINgIsIAdBBGohBwwBCwsgBSgCJCEHIAUoAigLIQMgBSgCEARAIAUoAgwQmgILIAVBHGooAgAEQCAFKAIYEJoCCyAKIAg2AgggCiADNgIEIAogBzYCAAwFC0GEtsAAQcwAQfi2wAAQ4QkACyAKQQA2AgAMAwsgCkEANgIADAILIApBADYCAAwBCyAKQQA2AgALIAVBMGokAAwBC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAsgASABKAIAQQFrNgIAAkAgDCgCBCIERQRAQQAhA0EAIQEMAQsgDCgCDCIBIAwoAggiA08EQCAEIQMMAQsgA0ECdCEDIAFFBEBBBCEDIAQQmgIMAQsgBCADQQQgAUECdCIEEO0LIgNFDQMLIAAgATYCBCAAIAM2AgAgDEEQaiQADwsQ+AwACxD5DAALQQQgBEHQgcQAKAIAIgBBlwcgABsRAAAAC/EDAgd/AX4jAEEQayIFJAACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgBUEEaiEGAkACQAJAAkAgAUEEaiACvSIKpyAKQiCIpxCYCiIDBEAgA0EwaigCACADQTRqKAIAIgMoAghBAWtBeHFqQQhqIgQgAygClAERBABB/wFxQQhHDQEgBCADEKMJIgNFBEAgBkEANgIADAULIAMoAgAhCUEEIQhBACEEAkAgA0EIaigCACIHRQ0AIAdB/////wFLDQMgB0ECdCIDQQBIDQMgA0UNAEGR+8MALQAAGiADQQQQggwiCEUNBCADIQQLIAggCSAEEIgNIQMgBiAHNgIIIAYgBzYCBCAGIAM2AgAMBAtBhLbAAEHMAEH4tsAAEOEJAAsgBkEANgIADAILENsKAAtBBCADQdCBxAAoAgAiAEGXByAAGxEAAAALIAEgASgCAEEBazYCAAJAIAUoAgQiBEUEQEEAIQNBACEBDAELIAUoAgwiASAFKAIIIgNPBEAgBCEDDAELIANBAnQhAyABRQRAQQQhAyAEEJoCDAELIAQgA0EEIAFBAnQiBBDtCyIDRQ0DCyAAIAE2AgQgACADNgIAIAVBEGokAA8LEPgMAAsQ+QwAC0EEIARB0IHEACgCACIAQZcHIAAbEQAAAAvrAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAAkAgASAAKAIEIgRB4ABqKAIATwRAIAAgAjYCAEEAIQAMAQsgBEHYAGooAgAgAUEobGoiASkCACEFIAFBCGooAgAhASAAIAI2AgAgA0EIaiICIAE2AgAgAyAFNwMAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAMpAwA3AgQgAEEMaiACKAIANgIACyADQRBqJAAgAA8LEPgMAAsQ+QwAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvmAQEEfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQQgACgCBCIEQQF0IgMgASABIANJGyIBIAFBBE0bIgNBNGwhASADQePO2BNJQQJ0IQUCQCAERQRAIAJBADYCGAwBCyACQQQ2AhggAiAEQTRsNgIcIAIgACgCADYCFAsgAkEIaiAFIAEgAkEUahDaBiACKAIMIQEgAigCCEUEQCAAIAM2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyACQSBqJAAL2wEBA38jAEEgayIEJAACQAJAIAEgAEEUaigCACIFSQRAIAAoAgwgAUEDdGoiBigCACIFIAAoAggiAU8NASAGKAIEIgYgAU8NAiAEQRxqIAAoAgAiACAGQQxsaiIBQQhqKAIANgIAIAQgASkCADcCFCAEQQhqIgFBCGogACAFQQxsaiIAQQhqKAIANgIAIAQgACkCADcDCCACQQAgAUHIz8IAIAMoAhARAgAgBEEgaiQADwsgASAFQYzOwgAQ4wgACyAFIAFBnM7CABDjCAALIAYgAUGszsIAEOMIAAuBAgEDfSABKgIEIgMgA5QhBSADIAEqAgAiBCADlJRD2w9JQJQiAyADkiAClCECIAQgBJRDAACAQJQgBUMAAEBAlJJDAABAQZUgApQiBBCbASEDIAVDAAAAP5QgApQQmwEhBSAEEJsBIQQgAEMAAAAAQwAAgD8gA5UgA0MAAAAAWxs4AiAgAEMAAAAAQwAAgD8gApUgAkMAAAAAWxs4AhwgAEEYakEANgIAIABCADcCECAAQoCAgICAgIDAPzcCCCAAQgA3AgAgAEEkakMAAAAAQwAAgD8gBZUgBUMAAAAAWxs4AgAgAEEoakMAAAAAQwAAgD8gBJUgBEMAAAAAWxs4AgAL+gEBAn8jAEHQAGsiACQAIABBADYCKCAAQgE3AiAgAEHEAGpBzJTAADYCACAAQQM6AEwgAEEgNgI8IABBADYCSCAAQQA2AjQgAEEANgIsIAAgAEEgajYCQAJAIABBLGpBk4DAAEEgENQBRQRAIABBDGogAEEoaigCADYAACAAIAApAiA3AARBkfvDAC0AABpBEEEEEIIMIgFFDQEgAUEIOgAAIAEgACkAATcAASABQQhqIABBCGopAAA3AAAgAEHQAGokACABDwtB5JTAAEE3IABBAWpBnJXAAEH4lcAAEIAIAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALygECAn8DfSMAQTBrIgUkACABQQhqIgYqAgAhByABKgIAIQggASoCBCEJIAVBFGogBigCADYCACAFIAeMOAIIIAUgCYw4AgQgBSAIjDgCACAFIAEpAgA3AgwgBUEYaiAFIAIgAyAEEL0FIAAgBSgCGAR/IAAgBSoCHDgCCCAAIAVBGGoiAkEIaikCADcCDCAAQRRqIAVBKGooAgA2AgAgAEECIAJBFGooAgAiAmsgAkEBayACQQBIGzYCBEECBUEECzYCACAFQTBqJAAL6wECAn8CfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQShqKQIAIQQgAikCICEFIAAgACgCAEEBazYCACADQQhqIgIgBDcDACADIAU3AwBBkfvDAC0AABpBFEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIpAwA3AgAgA0EQaiQAIAAPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtBBEEUQdCBxAAoAgAiAEGXByAAGxEAAAAL7AECA38BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBacgBUIgiKcQlwoiAkUNAiACQfgAaigCACEEIAIpAnAhBSAAIAAoAgBBAWs2AgAgA0EIaiICIAQ2AgAgAyAFNwMAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAMpAwA3AgQgAEEMaiACKAIANgIAIANBEGokACAADwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+gBAgJ/AX4jAEEgayICJAACQAJAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACAAQQRqIAG9IgSnIARCIIinEJcKIgNFDQIgAkEIaiADQZABahCJBCAAIAAoAgBBAWs2AgBBkfvDAC0AABpBHEEEEIIMIgBFDQMgAEEANgIAIAAgAikCCDcCBCAAQQxqIAJBEGopAgA3AgAgAEEUaiACQRhqKQIANwIAIAJBIGokACAADwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALQQRBHEHQgcQAKAIAIgBBlwcgABsRAAAAC+wBAgJ/An4jAEEQayIDJAACQAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinEJgKIgJFDQIgAkH8AGopAgAhBCACKQJ0IQUgACAAKAIAQQFrNgIAIANBCGoiAiAENwMAIAMgBTcDAEGR+8MALQAAGkEUQQQQggwiAEUNAyAAQQA2AgAgACADKQMANwIEIABBDGogAikDADcCACADQRBqJAAgAA8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC0EEQRRB0IHEACgCACIAQZcHIAAbEQAAAAvsAQIEfwF+IwBBEGsiAiQAAkACQAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgACgCBCIEQeAAaigCACIFIAFNDQIgBEHYAGooAgAgAUEobGoiASkCGCEGIAFBIGooAgAhASAAIAM2AgAgAkEIaiIDIAE2AgAgAiAGNwMAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAIpAwA3AgQgAEEMaiADKAIANgIAIAJBEGokACAADwsQ+AwACxD5DAALIAEgBUHIucAAEOMIAAtBBEEQQdCBxAAoAgAiAEGXByAAGxEAAAALxgEBCn0CfyABKgIAIgwgAioCACIGlCABKgIEIg0gAioCBCIHlJIgASoCCCIOIAIqAggiBZSSIghDAAAAAF8iAQRAIAUhCSAHIQogBiELQQEgAw0BGgsgBSAOIAiUkyEJIAcgDSAIlJMhCiAGIAwgCJSTIQsgAQshAiAFIAmTIgUgBZQgByAKkyIFIAWUIAYgC5MiBSAFlJKSEJsBIAReRQRAIAAgAjoADCAAIAk4AgggACAKOAIEIAAgCzgCAA8LIABBAjoADAuEAgECfyMAQSBrIgYkAEHkgcQAQeSBxAAoAgAiB0EBajYCAAJAAkAgB0EASA0AQbiFxAAtAAANAEG4hcQAQQE6AABBtIXEAEG0hcQAKAIAQQFqNgIAIAYgBToAHSAGIAQ6ABwgBiADNgIYIAYgAjYCFCAGQeC8wwA2AhAgBkGct8MANgIMQdSBxAAoAgAiAkEASA0AQdSBxAAgAkEBajYCAEHUgcQAQdyBxAAoAgAEfyAGIAAgASgCEBEAACAGIAYpAwA3AgxB3IHEACgCACAGQQxqQeCBxAAoAgAoAhQRAABB1IHEACgCAEEBawUgAgs2AgBBuIXEAEEAOgAAIAQNAQsACwAL5wECA38BfiMAQRBrIgMkAAJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCAAJAIAEgACgCBCIEQYQBaigCAE8EQCAAIAI2AgBBACEADAELIAQoAnwgAUEwbGoiASkCACEFIAFBCGooAgAhASAAIAI2AgAgA0EIaiICIAE2AgAgAyAFNwMAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAMpAwA3AgQgAEEMaiACKAIANgIACyADQRBqJAAgAA8LEPgMAAsQ+QwAC0EEQRBB0IHEACgCACIAQZcHIAAbEQAAAAvnAQIDfwF+IwBBEGsiAyQAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAAkAgASAAKAIEIgRBhAFqKAIATwRAIAAgAjYCAEEAIQAMAQsgBCgCfCABQTBsaiIBKQIMIQUgAUEUaigCACEBIAAgAjYCACADQQhqIgIgATYCACADIAU3AwBBkfvDAC0AABpBEEEEEIIMIgBFDQMgAEEANgIAIAAgAykDADcCBCAAQQxqIAIoAgA2AgALIANBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC9IBAQd9IAAgASoCACICQwAAAD+UIAEqAgwiA0MAAAA/lJIiBiADkyIDIAOUIAEqAgQiB0MAAAA/lCABQRBqKgIAIgRDAAAAP5SSIgMgBJMiBCAElJIgASoCCCIIQwAAAD+UIAFBFGoqAgAiBUMAAAA/lJIiBCAFkyIFIAWUkiIFIAYgApMiAiAClCADIAeTIgIgApSSIAQgCJMiAiAClJIiAkMAAAAAIAJDAAAAAF4bIgIgAiAFXRsQmwE4AgwgACAEOAIIIAAgAzgCBCAAIAY4AgALuAEBBH8gACgCCCICBEAgACgCACEBA0AgASgCACIEKAIAIQMgBCADQQFrNgIAIANBAUYEQCABENcJCyABQQxqIQEgAkEBayICDQALCyAAKAIEBEAgACgCABCaAgsgAEEUaigCACICBEAgACgCDCEBA0AgASgCACIEKAIAIQMgBCADQQFrNgIAIANBAUYEQCABENcJCyABQQxqIQEgAkEBayICDQALCyAAQRBqKAIABEAgACgCDBCaAgsL4wECAX8BfSMAQdABayIFJAAgBUG4AWpCADcDACAFQcgBakEANgIAIAVCgoCAgDA3AxggBUKAgICAEDcDECAFQgA3A7ABIAVCADcDwAEgBUEgakEAQZABEIkNGiAFQQA2AswBIAUgASgCACABKAIIIAVBEGogAiADEB0CQCACKgIAIAUqAgCTIgYgBpQgAioCBCAFKgIEkyIGIAaUkiACKgIIIAUqAgiTIgYgBpSSEJsBIAReRQRAIAAgBSkCADcCACAAQQhqIAVBCGopAgA3AgAMAQsgAEECOgAMCyAFQdABaiQAC4IBAQF/IAAoAgQiAQRAIAAoAgAgAUECdEELakF4cWsQmgILIABBFGooAgAEQCAAKAIQEJoCCyAAQSBqKAIABEAgACgCHBCaAgsgAEEsaigCACIBBEAgAEEoaigCACABQQJ0QQtqQXhxaxCaAgsgAEE8aigCAARAIABBOGooAgAQmgILC9sBAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIAAoAgQiAkEBdCIEIAEgASAESRsiASABQQhNGyIEQX9zQR92IQECQCACRQRAIANBADYCGAwBCyADIAI2AhwgA0EBNgIYIAMgACgCADYCFAsgA0EIaiABIAQgA0EUahDaBiADKAIMIQEgAygCCEUEQCAAIAQ2AgQgACABNgIADAILIAFBgYCAgHhGDQEgAUUNACABIANBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyADQSBqJAALuwEBCH0CfyACKgIAIgcgB5QgAioCBCIIIAiUkiACKgIIIgUgBZSSIgwgASoCACILIAuUXyIBBEAgBSEJIAghCiAHIQZBASADDQEaCyAFIAsgDBCbAZUiBpQhCSAIIAaUIQogByAGlCEGIAELIQIgBSAJkyIFIAWUIAggCpMiBSAFlCAHIAaTIgUgBZSSkhCbASAEXkUEQCAAIAI6AAwgACAJOAIIIAAgCjgCBCAAIAY4AgAPCyAAQQI6AAwL2wEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AQQggACgCBCICQQF0IgQgASABIARJGyIBIAFBCE0bIgRBf3NBH3YhAQJAIAJFBEAgA0EANgIYDAELIAMgAjYCHCADQQE2AhggAyAAKAIANgIUCyADQQhqIAEgBCADQRRqEKAGIAMoAgwhASADKAIIRQRAIAAgBDYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgA0EQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIANBIGokAAvZAQEDfyMAQSBrIgIkAAJAAkAgAUEBaiIBRQ0AQQggACgCBCIEQQF0IgMgASABIANJGyIBIAFBCE0bIgNBf3NBH3YhAQJAIARFBEAgAkEANgIYDAELIAIgBDYCHCACQQE2AhggAiAAKAIANgIUCyACQQhqIAEgAyACQRRqENoGIAIoAgwhASACKAIIRQRAIAAgAzYCBCAAIAE2AgAMAgsgAUGBgICAeEYNASABRQ0AIAEgAkEQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIAJBIGokAAvIAQMBfQF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAAkAgAiAClCAEIASUkiADIAOUIAUgBZSSkiIGQwAAAABeRQ0AIAYQmwEhBiAAQQRqIAG9IginIAhCIIinEIoHIgdFDQMgBy0A3QJBAkkNACAHQcgAaiAFIAaVOAIAIAdBxABqIAQgBpU4AgAgB0FAayADIAaVOAIAIAdBPGogAiAGlTgCAAsgAEEANgIADwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQAL0AECAn8BfgJAAkACQAJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIGpyAGQiCIpxCKByIERQ0CIARB8AFqLQAAIgVBB3FBB0YgAkEAR0YNBSADRQ0EIAQtAN0CDQQgBEHMAmotAABFDQMgBCAEKAKoAkEEcjYCqAIMAwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALIARBADoAzAIgBEHIAmpBADYCAAsgBCAFQfgBcUEHQQAgAhtyOgDwASAEEPEECyAAQQA2AgAL0AECAn8BfgJAAkACQAJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIGpyAGQiCIpxCKByIERQ0CIARB8AFqLQAAIgVBOHFBOEYgAkEAR0YNBSADRQ0EIAQtAN0CDQQgBEHMAmotAABFDQMgBCAEKAKoAkEEcjYCqAIMAwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALIARBADoAzAIgBEHIAmpBADYCAAsgBCAFQccBcUE4QQAgAhtyOgDwASAEEPEECyAAQQA2AgAL2wECAX8BfSMAQdABayIFJAAgBUG4AWpCADcDACAFQcgBakEANgIAIAVCgoCAgDA3AxggBUKAgICAEDcDECAFQgA3A7ABIAVCADcDwAEgBUEgakEAQZABEIkNGiAFQQA2AswBIAUgASAFQRBqIAIgAxAgAkAgAioCACAFKgIAkyIGIAaUIAIqAgQgBSoCBJMiBiAGlJIgAioCCCAFKgIIkyIGIAaUkhCbASAEXkUEQCAAIAUpAgA3AgAgAEEIaiAFQQhqKQIANwIADAELIABBAjoADAsgBUHQAWokAAvbAQIBfwF9IwBB0AFrIgUkACAFQbgBakIANwMAIAVByAFqQQA2AgAgBUKCgICAMDcDGCAFQoCAgIAQNwMQIAVCADcDsAEgBUIANwPAASAFQSBqQQBBkAEQiQ0aIAVBADYCzAEgBSABIAVBEGogAiADECICQCACKgIAIAUqAgCTIgYgBpQgAioCBCAFKgIEkyIGIAaUkiACKgIIIAUqAgiTIgYgBpSSEJsBIAReRQRAIAAgBSkCADcCACAAQQhqIAVBCGopAgA3AgAMAQsgAEECOgAMCyAFQdABaiQAC9sBAgF/AX0jAEHQAWsiBSQAIAVBuAFqQgA3AwAgBUHIAWpBADYCACAFQoKAgIAwNwMYIAVCgICAgBA3AxAgBUIANwOwASAFQgA3A8ABIAVBIGpBAEGQARCJDRogBUEANgLMASAFIAEgBUEQaiACIAMQIQJAIAIqAgAgBSoCAJMiBiAGlCACKgIEIAUqAgSTIgYgBpSSIAIqAgggBSoCCJMiBiAGlJIQmwEgBF5FBEAgACAFKQIANwIAIABBCGogBUEIaikCADcCAAwBCyAAQQI6AAwLIAVB0AFqJAAL2wECAX8BfSMAQdABayIFJAAgBUG4AWpCADcDACAFQcgBakEANgIAIAVCgoCAgDA3AxggBUKAgICAEDcDECAFQgA3A7ABIAVCADcDwAEgBUEgakEAQZABEIkNGiAFQQA2AswBIAUgASAFQRBqIAIgAxAeAkAgAioCACAFKgIAkyIGIAaUIAIqAgQgBSoCBJMiBiAGlJIgAioCCCAFKgIIkyIGIAaUkhCbASAEXkUEQCAAIAUpAgA3AgAgAEEIaiAFQQhqKQIANwIADAELIABBAjoADAsgBUHQAWokAAvbAQIBfwF9IwBB0AFrIgUkACAFQbgBakIANwMAIAVByAFqQQA2AgAgBUKCgICAMDcDGCAFQoCAgIAQNwMQIAVCADcDsAEgBUIANwPAASAFQSBqQQBBkAEQiQ0aIAVBADYCzAEgBSABIAVBEGogAiADEB8CQCACKgIAIAUqAgCTIgYgBpQgAioCBCAFKgIEkyIGIAaUkiACKgIIIAUqAgiTIgYgBpSSEJsBIAReRQRAIAAgBSkCADcCACAAQQhqIAVBCGopAgA3AgAMAQsgAEECOgAMCyAFQdABaiQAC8QBAQh9IAAgASoCADgCDCAAIAJBGGoqAgAgAioCDCIGIAIqAgAiB0MAAAAAlCIDIAIqAgQiCEMAAAAAlCIEkyIFIAWSIgWUIAcgAioCCCIJQwAAAACUIgogA5MiAyADkiIDlCAIIAQgCpMiBCAEkiIElJOSQwAAAACSkjgCCCAAIAJBFGoqAgAgBiADlCAJIASUIAcgBZSTkkMAAAAAkpI4AgQgACACKgIQIAYgBJQgCCAFlCAJIAOUk5JDAAAAAJKSOAIAC7kBAQV9IAIqAgAiAyABKgIYlCACKgIEIgQgAUEcaioCAJSSIAIqAggiBSABQSBqKgIAlJIhBiABQRhqIQICQCABKgIAIAOUIAEqAgQgBJSSIAEqAgggBZSSIgcgAyABKgIMlCAEIAFBEGoqAgCUkiAFIAFBFGoqAgCUkiIDXkUEQCABQQxqIAIgAyAGXhshAgwBCyAGIAddRQ0AIAEhAgsgACACKQIANwIAIABBCGogAkEIaigCADYCAAvFAQMBfQF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIAIgApQgBCAElJIgAyADlCAFIAWUkpIiBkMAAAAAXgRAIAYQmwEhBiAAQQRqIAG9IginIAhCIIinEIsHIgdFDQMgB0GAAWogBSAGlTgCACAHQfwAaiAEIAaVOAIAIAdB+ABqIAMgBpU4AgAgByACIAaVOAJ0IAcgBygCcEEIcjYCcAsgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQALkAMBBn8jAEEQayIEJAACQAJAAkAgAEUNACAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAUUNACABKAIAIgJBf0YNASABIAJBAWo2AgAgBEEIaiEFIwBBIGsiAiQAIAJBEGoiBiAAQQRqIgNBCGooAgA2AgAgAkEcaiABQQRqIgdBCGooAgA2AgBBkfvDAC0AABogAiADKQIANwMIIAIgBykCADcCFEEgQQQQggwiA0UEQEEEQSBB0IHEACgCACIAQZcHIAAbEQAAAAsgA0KBgICAEDcCACADIAIpAwg3AgggA0EQaiAGKQMANwIAIANBGGogAkEYaikDADcCACAFQcjPwgA2AgQgBSADNgIAIAJBIGokACAEKAIMIQIgBCgCCCEDIAEgASgCAEEBazYCACAAIAAoAgBBAWs2AgBBkfvDAC0AABpBDEEEEIIMIgBFDQIgACACNgIIIAAgAzYCBCAAQQA2AgAgBEEQaiQAIAAPCxD4DAALEPkMAAtBBEEMQdCBxAAoAgAiAEGXByAAGxEAAAALgQEAIABBNGooAgAEQCAAQTBqKAIAEJoCCyAAQUBrKAIABEAgAEE8aigCABCaAgsgAEHMAGooAgAEQCAAQcgAaigCABCaAgsgAEHYAGooAgAEQCAAQdQAaigCABCaAgsgACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCwvFAQEIfSAAQf////sHNgIMIAAgAkEYaioCACACKgIMIgYgAioCACIHQwAAAACUIgMgAioCBCIIQwAAAACUIgSTIgUgBZIiBZQgByACKgIIIglDAAAAAJQiCiADkyIDIAOSIgOUIAggBCAKkyIEIASSIgSUk5JDAAAAAJKSOAIIIAAgAkEUaioCACAGIAOUIAkgBJQgByAFlJOSQwAAAACSkjgCBCAAIAIqAhAgBiAElCAIIAWUIAkgA5STkkMAAAAAkpI4AgALrgEBAX8CQAJAIAEEQCACQQBIDQECfyADKAIEBEACQCADQQhqKAIAIgRFBEAMAQsgAygCACAEIAEgAhDtCwwCCwsgASACRQ0AGkGR+8MALQAAGiACIAEQggwLIgMEQCAAIAM2AgQgAEEIaiACNgIAIABBADYCAA8LIAAgATYCBCAAQQhqIAI2AgAMAgsgAEEANgIEIABBCGogAjYCAAwBCyAAQQA2AgQLIABBATYCAAufAQEDfyAAKAIYIQIgAEEgaigCACIDBEAgAkHYAGohAQNAIAFBKGooAgAEQCABQSRqKAIAEJoCCyABQQRqKAIABEAgASgCABCaAgsgAUGoAWohASADQQFrIgMNAAsLIABBHGooAgAEQCACEJoCCwJAIAAoAhAiAUUNACABIABBFGooAgAiACgCABEGACAAKAIERQ0AIAAoAggaIAEQmgILC8wBAgF/AX0gACoCACEDIAEoAgAiAigCCCEBIAIoAgQgAWtBA00EQCACIAFBBBDIBiACKAIIIQELIAIoAgAgAWogAzgAACACIAFBBGoiATYCCCAAKgIEIQMgAigCBCABa0EDTQRAIAIgAUEEEMgGIAIoAgghAQsgAigCACABaiADOAAAIAIgAUEEaiIBNgIIIAAqAgghAyACKAIEIAFrQQNNBEAgAiABQQQQyAYgAigCCCEBCyACIAFBBGo2AgggAigCACABaiADOAAAQQALzAIDAX0DfwF+IwBBEGsiAyQAAkACQAJAIAAEQCAAKAIAIgRBf0YNASAAIARBAWo2AgAgAEEEaiABvSIGpyAGQiCIpxCXCiIFRQ0CIANBBGoiBEMAAAAAQwAAgD8gBUGoAWoiBSoCICICIAKUIgKVIAJDAAAAAFsbOAIAIARDAAAAAEMAAIA/IAVBKGoqAgAiAiAClCIClSACQwAAAABbGzgCCCAEQwAAAABDAACAPyAFQSRqKgIAIgIgApQiApUgAkMAAAAAWxs4AgQgACAAKAIAQQFrNgIAQZH7wwAtAAAaQRBBBBCCDCIARQ0DIABBADYCACAAIAMpAgQ3AgQgAEEMaiADQQxqKAIANgIAIANBEGokACAADwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC+UCAgp9An8jAEEwayINJAAgDUEMaiIOIAEgAhDTAiAAQRRqIA1BLGoqAgAiCCIFIAUgDkEUaioCACIJIgMgAyANKgIUIgYiBCADIAReGyAEIARcGyIDIAMgBV0bIAMgA1wbOAIAIABBEGogDUEoaioCACIKIgUgBSAOQRBqKgIAIgsiAyADIA0qAhAiByIEIAMgBF4bIAQgBFwbIgMgAyAFXRsgAyADXBs4AgAgACANKgIkIgQgBCANKgIYIgUgBSANKgIMIgMgAyAFXRsgAyADXBsiDCAEIAxeGyAMIAxcGzgCDCAAIAYgBiAJIAYgCV0bIAkgCVwbIgYgBiAIIAYgCF0bIAggCFwbOAIIIAAgByAHIAsgByALXRsgCyALXBsiByAHIAogByAKXRsgCiAKXBs4AgQgACADIAMgBSADIAVdGyAFIAVcGyIDIAMgBCADIARdGyAEIARcGzgCACANQTBqJAALegAgACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQSRqKAIABEAgACgCIBCaAgsgAEEwaigCAARAIABBLGooAgAQmgILIABBxABqKAIABEAgACgCQBCaAgsgAEHQAGooAgAEQCAAQcwAaigCABCaAgsLxAECA38BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIANBCGogAEEEaiABvSIFpyAFQiCIpxDoBiADKAIIIgJFDQIgAygCDCIEIAJBCGooAgBPDQMgAigCACICRQ0DIAIgBEHoA2xqQYUDai0AACECIAAgACgCAEEBazYCACADQRBqJAAgAg8LEPgMAAsQ+QwAC0G0s8AAQckAQay0wAAQ4QkAC0HYh8AAQStBvLTAABCqCgAL9g4EFX8BfAF+Bn0jAEEQayIPJAACQAJAIABFDQAgACgCACIHQX9GDQEgACAHQQFqNgIAIAFFDQAgASgCACIHQX9GDQEgASAHQQFqNgIAIAJFDQAgAigCACIHQX9GDQEgAiAHQQFqNgIAIA8gAzYCDCMAQeABayIEJAAgBCAPQQxqNgIgIAFBBGoiAyoCACEbIAMqAgQhHCAEQThqIAMqAggiHSACQQRqIgMqAggiHpI4AgAgBEE0aiAcIAMqAgQiH5I4AgAgBCAbIAMqAgAiIJI4AjAgBCAdIB6TOAIsIAQgHCAfkzgCKCAEIBsgIJM4AiQgBCAEQSBqNgI8IARBQGsgBEEkahDrBSAEIARBPGo2AqABIARBADYCvAEgBEIENwK0AQJAIABBBGoiA0HwAGooAgAiCkUNACAEQbQBakEAEKgGIAQoArQBIgkgBCgCvAEiB0ECdGpBADYCACAHQQFqIgdFDQAgA0GUAWooAgAhCyADQYwBaigCACEMIAMoAmghFgNAIAQgB0EBayIDNgK8AQJAAkACQAJAAkAgA0ECdCIXIAlqKAIAIgggCkkEQCAEKAK4ASEQIBYgCEEHdGoiCC0AeEEBcQRAIAhB5ABqKAIAIQUgCEHoAGooAgAhDSAIQewAaigCACERIAgoAmAhBiAEQcABaiAIIARBQGsQ4AIgBC0AwwFBA3QiFSAELQDCAUECdCIUIAQtAMEBQQF0IhIgBC0AwAEiE3JyciIYrSIaQgGDUA0FIAwgBkEEdGpBACAGIAtJGyIGRQ0FIAQoAqABKAIAKAIAIQ4gBisCCCEZIARBgQE2AtgBIAQgGRAANgLcASAEQRhqIA4gBEHYAWogBEHcAWoQtwogBCgCHCEGIAQoAhgNAiAGEAFBAEchDiAGQYQBSQ0EDAMLIARBwAFqIAggBEFAaxDgAiAELQDAASITQQJGDQcgBC0AwwFBA3QhFSAELQDCAUECdCEUIAQtAMEBQQF0IRIMBQsgCCAKQfSYwAAQ4wgAC0EBIQ4gBkGDAU0NAQsgBhACCyAEKALcASIGQYQBTwRAIAYQAgsgBCgC2AEiBkGEAU8EQCAGEAILIA5FDQMLAkAgGkL/AYMiGkICg1ANACAMIAVBBHRqQQAgBSALSRsiBkUNACAEKAKgASgCACgCACEFIAYrAgghGSAEQYEBNgLYASAEIBkQADYC3AEgBEEQaiAFIARB2AFqIARB3AFqELcKIAQoAhQhBQJAAkAgBCgCEARAQQEhBiAFQYMBSw0BDAILIAUQAUEARyEGIAVBhAFJDQELIAUQAgsgBCgC3AEiBUGEAU8EQCAFEAILIAQoAtgBIgVBhAFPBEAgBRACCyAGRQ0DCwJAIBpCBINQDQAgDCANQQR0akEAIAsgDUsbIgZFDQAgBCgCoAEoAgAoAgAhBSAGKwIIIRkgBEGBATYC2AEgBCAZEAA2AtwBIARBCGogBSAEQdgBaiAEQdwBahC3CiAEKAIMIQUCQAJAIAQoAggEQEEBIQYgBUGDAUsNAQwCCyAFEAFBAEchBiAFQYQBSQ0BCyAFEAILIAQoAtwBIgVBhAFPBEAgBRACCyAEKALYASIFQYQBTwRAIAUQAgsgBkUNAwsgGEH/AXFBCEkNACAMIBFBBHRqQQAgCyARSxsiBkUNACAEKAKgASgCACgCACEFIAYrAgghGSAEQYEBNgLYASAEIBkQADYC3AEgBCAFIARB2AFqIARB3AFqELcKIAQoAgQhBQJAAkAgBCgCAARAQQEhBiAFQYMBSw0BDAILIAUQAUEARyEGIAVBhAFJDQELIAUQAgsgBCgC3AEiBUGEAU8EQCAFEAILIAQoAtgBIgVBhAFPBEAgBRACCyAGRQ0CCyAIQfgAaiEGAkAgE0EBcSASQQJxIBRBBHEgFUEIcXJyciIFrSIaQgGDUA0AIAYtAABBAXENACAIKAJgIg0gCksNACAJIBdqIA02AgAgBCAHNgK8ASAHIQMLAkAgGkICg1ANACAGLQAAQQFxDQAgCEHkAGooAgAiByAKSw0AIAMgEEYEQCAEQbQBaiAQEKgGIAQoArQBIQkgBCgCvAEhAwsgCSADQQJ0aiAHNgIAIAQgA0EBaiIDNgK8AQsCQCAaQgSDUA0AIAYtAABBAXENACAIQegAaigCACIHIApLDQAgBCgCuAEgA0YEQCAEQbQBaiADEKgGIAQoArQBIQkgBCgCvAEhAwsgCSADQQJ0aiAHNgIAIAQgA0EBaiIDNgK8AQsCQCAFQQhJBEAgAyEHDAELIAYtAABBAXEEQCADIQcMAQsgCEHsAGooAgAiByAKSwRAIAMhBwwBCyAEKAK4ASADRgRAIARBtAFqIAMQqAYgBCgCtAEhCSAEKAK8ASEDCyAJIANBAnRqIAc2AgAgBCADQQFqIgc2ArwBCyAHDQALCyAEKAK4AQRAIAQoArQBEJoCCyAEQeABaiQAIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIA9BEGokAA8LEPgMAAsQ+QwAC7kBAQh9AkACQAJAIAIqAgAiBSAFlCACKgIIIgMgA5SSEJsBIgRDAAAAAFwEQCABKgIAIgYgAioCBCIIlCIJIAMgAyAElSABKgIEIgqUIgeUIAUgBSAElSAKlCIElCAJk5JeDQEgBowhBgwDCyABKgIAIAIqAgQiCJghBgwBC0MAAAAAIQcLQwAAAAAhBAsgACAHIAMgASoCCCIDlJI4AgggACAGIAggA5SSOAIEIAAgBCAFIAOUkjgCAAvnAQEDfSABKgIAIgMgA5QiBCAEkkMAAKBAlSADIAMgA0PbD0lAlJSUQwAAgECUQwAAQECVIAKUIgKUIgMQmwEhBCADEJsBIQUgAxCbASEDIABDAAAAAEMAAIA/IASVIARDAAAAAFsbOAIgIABDAAAAAEMAAIA/IAKVIAJDAAAAAFsbOAIcIABBGGpBADYCACAAQgA3AhAgAEKAgICAgICAwD83AgggAEIANwIAIABBJGpDAAAAAEMAAIA/IAWVIAVDAAAAAFsbOAIAIABBKGpDAAAAAEMAAIA/IAOVIANDAAAAAFsbOAIAC+sDAwR/BX0BfgJAAkACQCAARQ0AIAAoAgANASAAQX82AgAgAkUNACACKAIAIgVBf0YNASACIAVBAWo2AgAgA0UNACADKAIAIgVBf0YNASADIAVBAWo2AgAgAEEEaiABvSIOpyAOQiCIpxCKByIFRQ0CIANBBGohByAEQQBHIQgCQCACQQRqIgYqAgAiCUMAAAAAXCAGKgIEQwAAAABcciAGKgIIQwAAAABcckUNACAFLQDdAg0AIAVBkAJqIgQgCSAEKgIAkjgCACAFQZQCaiIEIAYqAgQiCyAEKgIAkjgCACAFQZgCaiIEIAYqAggiDCAEKgIAkjgCACAFQZwCaiIEIAQqAgAgDCAHKgIEIAVB3AFqKgIAkyINlCALIAcqAgggBUHgAWoqAgCTIgqUk5I4AgAgBUGgAmoiBCAJIAqUIAwgByoCACAFQdgBaioCAJMiCpSTIAQqAgCSOAIAIAVBpAJqIgQgCiALlCAJIA2UkyAEKgIAkjgCACAIRQ0AIAVBzAJqLQAABEAgBSAFKAKoAkEEcjYCqAILIAVBADoAzAIgBUHIAmpBADYCAAsgAyADKAIAQQFrNgIAIAIgAigCAEEBazYCACAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAvRAQEFfUMAAIA/EJsBIgNDAAAAAFwEQEMAAIA/IAOVIAKUIQULQwAAgD8QmwEiA0MAAAAAXARAQwAAgL8gA5UgApQhBAtDAAAAACEDQwAAAAAQmwEaQwAAAAAQmwEaQwAAgD8QmwEiB0MAAAAAXARAQwAAgD8gB5UgApQhBgtDAACAPxCbASIHQwAAAABcBEBDAACAvyAHlSAClCEDCyAAIAU4AgwgACADOAIIIAAgBDgCACAAQRRqIAY4AgAgAEEQaiABiyIBOAIAIAAgAYw4AgQLzAECAX8BfSMAQdABayIDJAAgA0G4AWpCADcDACADQcgBakEANgIAIANCgoCAgDA3AxggA0KAgICAEDcDECADQgA3A7ABIANCADcDwAEgA0EgakEAQZABEIkNGiADQQA2AswBIAMgACgCACAAKAIIIANBEGogASACEB0gAyoCACABKgIAkyIEIASUIAMqAgQgASoCBJMiBCAElJIgAyoCCCABKgIIkyIEIASUkhCbASEEIAMtAAwhACADQdABaiQAIAQgBIwgBCAAGyACGwtxACAAKAIEBEAgACgCABCaAgsgAEEQaigCAARAIAAoAgwQmgILIABBHGooAgAEQCAAKAIYEJoCCyAAQShqKAIABEAgACgCJBCaAgsgAEE0aigCAARAIAAoAjAQmgILIABBQGsoAgAEQCAAKAI8EJoCCwuZAQEEfwJAIAIgAUEkaigCAE8NACABKAIcIgZFDQAgAyAGIAJBFGxqIgMoAgBHDQAgAygCBCIEIAEoAhBPDQAgASgCCCIHRQ0AIAcgBEGUAmxqLQCQAkECRg0AIAcgBEGUAmxqIgQoAgAgA0EIaigCAEcNACAEQQRqIQUgBiACQRRsakEQaigCACEBCyAAIAE2AgQgACAFNgIAC3QBAX8gACgCBARAIAAoAgAQmgILIABBEGooAgAEQCAAKAIMEJoCCyAAQRxqKAIABEAgACgCGBCaAgsgAEEoaigCACIBBEAgAEEkaigCACABQQJ0QQtqQXhxaxCaAgsgAEE4aigCAARAIABBNGooAgAQmgILC8QBAgF/AX0jAEHQAWsiAyQAIANBuAFqQgA3AwAgA0HIAWpBADYCACADQoKAgIAwNwMYIANCgICAgBA3AxAgA0IANwOwASADQgA3A8ABIANBIGpBAEGQARCJDRogA0EANgLMASADIAAgA0EQaiABIAIQHyADKgIAIAEqAgCTIgQgBJQgAyoCBCABKgIEkyIEIASUkiADKgIIIAEqAgiTIgQgBJSSEJsBIQQgAy0ADCEAIANB0AFqJAAgBCAEjCAEIAAbIAIbC8QBAgF/AX0jAEHQAWsiAyQAIANBuAFqQgA3AwAgA0HIAWpBADYCACADQoKAgIAwNwMYIANCgICAgBA3AxAgA0IANwOwASADQgA3A8ABIANBIGpBAEGQARCJDRogA0EANgLMASADIAAgA0EQaiABIAIQHiADKgIAIAEqAgCTIgQgBJQgAyoCBCABKgIEkyIEIASUkiADKgIIIAEqAgiTIgQgBJSSEJsBIQQgAy0ADCEAIANB0AFqJAAgBCAEjCAEIAAbIAIbC8QBAgF/AX0jAEHQAWsiAyQAIANBuAFqQgA3AwAgA0HIAWpBADYCACADQoKAgIAwNwMYIANCgICAgBA3AxAgA0IANwOwASADQgA3A8ABIANBIGpBAEGQARCJDRogA0EANgLMASADIAAgA0EQaiABIAIQISADKgIAIAEqAgCTIgQgBJQgAyoCBCABKgIEkyIEIASUkiADKgIIIAEqAgiTIgQgBJSSEJsBIQQgAy0ADCEAIANB0AFqJAAgBCAEjCAEIAAbIAIbC8QBAgF/AX0jAEHQAWsiAyQAIANBuAFqQgA3AwAgA0HIAWpBADYCACADQoKAgIAwNwMYIANCgICAgBA3AxAgA0IANwOwASADQgA3A8ABIANBIGpBAEGQARCJDRogA0EANgLMASADIAAgA0EQaiABIAIQIiADKgIAIAEqAgCTIgQgBJQgAyoCBCABKgIEkyIEIASUkiADKgIIIAEqAgiTIgQgBJSSEJsBIQQgAy0ADCEAIANB0AFqJAAgBCAEjCAEIAAbIAIbC8QBAgF/AX0jAEHQAWsiAyQAIANBuAFqQgA3AwAgA0HIAWpBADYCACADQoKAgIAwNwMYIANCgICAgBA3AxAgA0IANwOwASADQgA3A8ABIANBIGpBAEGQARCJDRogA0EANgLMASADIAAgA0EQaiABIAIQICADKgIAIAEqAgCTIgQgBJQgAyoCBCABKgIEkyIEIASUkiADKgIIIAEqAgiTIgQgBJSSEJsBIQQgAy0ADCEAIANB0AFqJAAgBCAEjCAEIAAbIAIbC7IBAgJ/AX0jAEFAaiICJAAgAkEIaiIDQRRqIABBFGooAgA2AgAgA0EIaiAAQQhqKAIANgIAIAIgACkCDDcCFCACIAApAgA3AwggAkEkaiADIAEQ8gJBASEDAkAgASoCACACKgIkkyIEIASUIAEqAgQgAioCKJMiBCAElJIgASoCCCACKgIskyIEIASUkiIEQwAAgCheRQ0AIAQQmwEgACoCGF8NAEEAIQMLIAJBQGskACADC8UBAgF/AX0jAEEwayIDJAAgAyACIAEoAgAgASgCCBDLAiABKgJgIgRDAAAAAGBFBEAgA0EkakIANwIAIANBATYCHCADQeSXwgA2AhggA0G0isIANgIgIANBGGpB7JfCABDcCgALIAAgBCADKgIMkjgCDCAAIAMqAgggBJM4AgggACADKgIEIASTOAIEIAAgAyoCACAEkzgCACAAQRRqIAQgA0EUaioCAJI4AgAgAEEQaiAEIANBEGoqAgCSOAIAIANBMGokAAvDAQIBfwF9IwBBMGsiAiQAIAIgASoCACABKgIEEOUGIAEqAggiA0MAAAAAYEUEQCACQSRqQgA3AgAgAkEBNgIcIAJB5JfCADYCGCACQbSKwgA2AiAgAkEYakHsl8IAENwKAAsgACADIAIqAgySOAIMIAAgAioCCCADkzgCCCAAIAIqAgQgA5M4AgQgACACKgIAIAOTOAIAIABBFGogAyACQRRqKgIAkjgCACAAQRBqIAMgAkEQaioCAJI4AgAgAkEwaiQAC8MBAgF/AX0jAEEwayICJAAgAiABKgIAIAEqAgQQwgMgASoCCCIDQwAAAABgRQRAIAJBJGpCADcCACACQQE2AhwgAkHkl8IANgIYIAJBtIrCADYCICACQRhqQeyXwgAQ3AoACyAAIAMgAioCDJI4AgwgACACKgIIIAOTOAIIIAAgAioCBCADkzgCBCAAIAIqAgAgA5M4AgAgAEEUaiADIAJBFGoqAgCSOAIAIABBEGogAyACQRBqKgIAkjgCACACQTBqJAALiQEBBH8gACgCCCECIABBEGooAgAiAwRAIAIhAQNAAkAgASgCAEUNACABQdwBaigCACIEBEAgBBCaAgsgAUG8AmooAgBFDQAgAUG4AmooAgAQmgILIAFB6AJqIQEgA0EBayIDDQALCyAAQQxqKAIABEAgAhCaAgsgAEEgaigCAARAIAAoAhwQmgILC6gBAQN/IAAoAgAiAygCCCEEIAMoAgQgBGtBB00EQCADIARBCBDIBiADKAIIIQQLIAMgBEEIaiIANgIIIAMoAgAgBGogAq03AAAgAgRAIAJBAnQhBANAIAEoAgAhBSABQQRqIQEgAyADKAIEIABrQQNLBH8gAAUgAyAAQQQQyAYgAygCCAsiAkEEaiIANgIIIAMoAgAgAmogBTYAACAEQQRrIgQNAAsLQQALtwECA38BfiMAQRBrIgMkAAJAAkACQCAABEAgACgCAA0BIABBfzYCACADQQhqIABBBGogAb0iBqcgBkIgiKcQ6AYgAygCCCIERQ0CIAMoAgwiBSAEQQhqKAIATw0DIAQoAgAiBEUNAyAEIAVB6ANsakGFA2ogAkEARzoAACAAQQA2AgAgA0EQaiQADwsQ+AwACxD5DAALQbSzwABByQBBzLTAABDhCQALQdiHwABBK0HctMAAEKoKAAukAQEHfQJ9IAIqAgAiBCAElCACKgIEIgggCJSSIAIqAggiAyADlJIQmwEhBUMAAAAAIAQgBZUiBCAElCADIAWVIgMgA5SSEJsBIglDAAAAAFsNABogAyAJlSABKgIEIgaUIQcgBCAJlSAGlAshBiAAIAcgAyABKgIIIgOUkjgCCCAAIAEqAgAgCCAFlSIFmCAFIAOUkjgCBCAAIAYgBCADlJI4AgAL8wECBX8BfgJAAkACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgAiBUF/Rg0BIAIgBUEBajYCACAAQQRqIAG9IginIAhCIIinEIsHIgNFDQIgAkEIaigCACEFIAIoAgQiBigCACEEIAYgBEEBajYCACAEQQBIDQMgAyADKAJwQSByNgJwIAMoAjAiBCgCACEHIAQgB0EBazYCACAHQQFGBEAgA0EwahCaCAsgAyAGNgIwIANBNGogBTYCACACIAIoAgBBAWs2AgAgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQALAAv/AQIEfwN+IwBBEGsiAiQAIAJBCGpBCEEQEOAHIAIoAgghAQJAIAIoAgwiAwR/QZH7wwAtAAAaIAMgARCCDAUgAQsiAARAIABCgYCAgBA3AwAgAEEQakEANgIAQeiBxAApAwAhBANAIARCAXwiBVANAiAEIQYgBkHogcQAKQMAIgRRIQFB6IHEACAFIAQgARs3AwAgAUUNAAsgACAFNwMIIAJBEGokACAADwsgASADQdCBxAAoAgAiAEGXByAAGxEAAAALIwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGousMANgIIIABBnLfDADYCECAAQQhqQbC6wwAQ3AoAC8EBAQJ/IwBBEGsiAiQAIAACf0EBIAAtAAQNABogACgCACEBIAAtAAVFBEAgASgCFEGm3cMAQQcgAUEYaigCACgCDBEFAAwBCyABLQAcQQRxRQRAIAEoAhRBrd3DAEEGIAFBGGooAgAoAgwRBQAMAQsgAkEBOgAPIAIgASkCFDcCACACIAJBD2o2AghBASACQbPdwwBBAxDkAg0AGiABKAIUQbbdwwBBASABKAIYKAIMEQUACyIAOgAEIAJBEGokACAAC6kBAgR9AX8CQAJAIABFDQAgACgCAA0BIABBfzYCACABRQ0AIAEoAgAiBkF/Rg0BIAEgBkEBajYCACABKgIEIgMgA5QgAUEIaioCACIEIASUkiABQQxqKgIAIgUgBZSSEJsBIQIgAEEwaiAFIAKVOAIAIABBLGogBCAClTgCACAAQShqIAMgApU4AgAgASABKAIAQQFrNgIAIABBADYCAA8LEPgMAAsQ+QwAC5sCAQJ/IwBBQGoiASQAIAFBCGoiAEL////7983EgTs3AiAgAEKAgID8883EwTo3AhggAEKAgID8g4CAwD83AhAgAEK/hrvJo7PmjD83AgggAEKEgICAkJGixDw3AgAgAEKAgYCAEDcCMCAAQoSAgIAQNwIoQZH7wwAtAAAaQTxBBBCCDCIARQRAQQRBPEHQgcQAKAIAIgFBlwcgARsRAAAACyAAQQA2AgAgACABKQIINwIEIABBDGogAUEQaikCADcCACAAQRRqIAFBGGopAgA3AgAgAEEcaiABQSBqKQIANwIAIABBJGogAUEoaikCADcCACAAQSxqIAFBMGopAgA3AgAgAEE0aiABQThqKQIANwIAIAFBQGskACAAC6MBAQF/IwBBQGoiASQAAkAgAARAIAAoAgANASABQThqIABBNGooAgA2AgAgAUEwaiAAQSxqKQIANwMAIAFBKGogAEEkaikCADcDACABQSBqIABBHGopAgA3AwAgAUEYaiAAQRRqKQIANwMAIAFBEGogAEEMaikCADcDACABIAApAgQ3AwggABCaAiABQQhqEP8FIAFBQGskAA8LEPgMAAsQ+QwAC80DAQV/IwBBQGoiASQAIAFBDGohAiMAQSBrIgMkACADQQA2AhggA0EIakEIQaAFIANBFGoQ2gYgAygCDCEAAkAgAygCCEUEQEEEIQQMAQsgAEGBgICAeEYEQEEIIQAMAQsgAARAIAAgA0EQaigCAEHQgcQAKAIAIgBBlwcgABsRAAAACxDbCgALIABCADcD+AMgAEKAgICAEDcD0AIgAEKAgICAEDcDqAEgAEEBNgIIIABCgICAgBA3AwAgAkIENwIoIAJCgICAgMAANwIYIAJCBDcCECACIAQ2AgwgAiAANgIIIAJCATcCACAAQYAEakEANgIAIABB2AJqQQM2AgAgAEGwAWpBAjYCACACQTBqQQA2AgAgAkEgakIANwIAIANBIGokAEGR+8MALQAAGkE4QQQQggwiAEUEQEEEQThB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIAAgASkCDDcCBCAAQQxqIAFBFGopAgA3AgAgAEEUaiABQRxqKQIANwIAIABBHGogAUEkaikCADcCACAAQSRqIAFBLGopAgA3AgAgAEEsaiABQTRqKQIANwIAIABBNGogAUE8aigCADYCACABQUBrJAAgAAvCAQID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ESAVIAIqAlCSIRUgCSALIAeUQwAAAACSlCIXIAIqAkiSIRogFiACKgJEkiEWIBcgAioCQJIhFyAGIAaUIhQgCyALlCIYIAcgB5QiB5KSIQYgCSAHIAaSlCACKgJMkiELIAkgGCAGkpQgAioCPJIhGCAJIBQgBpKUIAIqAlySCyEJIAJBPGogARCBAgJ9IApDAAAAAFsEQCACKgJcIQYgAioCWCEPIAIqAlQhECACKgJQIQwgAioCTCEHIAIqAkghEiACKgJEIQ0gAioCQCEOIAIqAjwMAQsgCCAOIBCTIgogDSAPkyIGlEMAAAAAkpQiDSACKgJYkiEPIAggDCASkyIHIAaUQwAAAACSlCIOIAIqAlSSIRAgDSACKgJQkiEMIAggByAKlEMAAAAAkpQiFCACKgJIkiESIA4gAioCRJIhDSAUIAIqAkCSIQ4gBiAGlCIGIAcgB5QiFCAKIAqUIgeSkiEKIAggBiAKkpQgAioCXJIhBiAIIAcgCpKUIAIqAkySIQcgCCAUIAqSlCACKgI8kgshCCACIAkgBpI4AjggAiATIA+SOAI0IAIgESAQkjgCMCACIBUgDJI4AiwgAiALIAeSOAIoIAIgGiASkjgCJCACIBYgDZI4AiAgAiAXIA6SOAIcIAIgGCAIkjgCGCADIAJBDGogGSACQRhqEI8CDAILIAMgACkCADcCACADQShqIABBKGooAgA2AgAgA0EgaiAAQSBqKQIANwIAIANBGGogAEEYaikCADcCACADQRBqIABBEGopAgA3AgAgA0EIaiAAQQhqKQIANwIADAELIAMgASkCADcCACADQShqIAFBKGooAgA2AgAgA0EgaiABQSBqKQIANwIAIANBGGogAUEYaikCADcCACADQRBqIAFBEGopAgA3AgAgA0EIaiABQQhqKQIANwIACyACQeAAaiQAIABBKGogA0EoaigCADYCACAAQSBqIANBIGopAgA3AgAgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACAEKQIENwIAIARBMGokAAuLAQEFfSACKgIAIgUgBZQgAioCBCIGIAaUkiACKgIIIgcgB5SSIgggASoCACIEIASUXyIBQQAgAxtFBEAgACAHIAQgCBCbAZUiBJQ4AgggACAGIASUOAIEIAAgBSAE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aiAAQRxqKQIANwMAIAFBGGogAEEUaikCADcDACABQRBqIABBDGopAgA3AwAgASAAKQIENwMIIAAQmgIgAUEIahDzBiABQTBqJAAPCxD4DAALEPkMAAucAwEFfyMAQTBrIgEkACABQQhqIQMjAEEgayICJAAgAkEANgIYIAJBCGpBCEGgCyACQRRqENoGIAIoAgwhAAJAIAIoAghFBEBBBCEEDAELIABBgYCAgHhGBEBBCCEADAELIAAEQCAAIAJBEGooAgBB0IHEACgCACIAQZcHIAAbEQAAAAsQ2woACyAAQgA3A7gIIABCgICAgBA3A9AFIABCgICAgBA3A+gCIABBATYCCCAAQoCAgIAQNwMAIANCgICAgMAANwIYIANCBDcCECADIAQ2AgwgAyAANgIIIANCATcCACAAQcAIakEANgIAIABB2AVqQQM2AgAgAEHwAmpBAjYCACADQSBqQgA3AgAgAkEgaiQAQZH7wwAtAAAaQSxBBBCCDCIARQRAQQRBLEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgACABKQIINwIEIABBDGogAUEQaikCADcCACAAQRRqIAFBGGopAgA3AgAgAEEcaiABQSBqKQIANwIAIABBJGogAUEoaikCADcCACABQTBqJAAgAAuMAQIBfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IganIAZCIIinEIsHIgVFDQIgBSgCAARAIAVBJGogBDgCACAFQSBqIAM4AgAgBUEcaiACOAIAIAUgBSgCcEEEcjYCcAsgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQAL2Q8BCn8jAEEwayIHJAACQCAABEAgACgCAA0BIAdBKGogAEEkaigCADYCACAHQSBqIABBHGopAgA3AwAgB0EYaiAAQRRqKQIANwMAIAdBEGogAEEMaikCADcDACAHIAApAgQ3AwggABCaAiAHQQhqIgkQ7wEgCUEUaiIGKAIAIQECQAJAAkACQAJAAkACQAJAIAkoAhAiAkEBaw4FAQIHBwcACyABIAEoAoQCIgBBAWs2AoQCIABBAUcNBSABIAEoAkAiACABKALIASIDcjYCQCAAIANxRQRAIAFBgAFqEPABIAFBoAFqEPABCyABLQCIAiEAIAFBAToAiAIgAEUNBSAB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khCbASECIAEqAgwiA0MAAAAAYEUEQCAEQRRqQgA3AgAgBEEBNgIMIARB5JfCADYCCCAEQbSKwgA2AhAgBEEIakHArsMAENwKAAsgAEEANgIIIABCADcCACAAIAIgA5I4AgwgBEEgaiQAC48BAgR/AX4jAEEgayICJAAgAUEEaiEDIAEoAgRFBEAgASgCACEBIAJBFGoiBEEIaiIFQQA2AgAgAkIBNwIUIARBvLnDACABELICGiACQRBqIAUoAgAiATYCACACIAIpAhQiBjcDCCADQQhqIAE2AgAgAyAGNwIACyAAQZi8wwA2AgQgACADNgIAIAJBIGokAAuFAQECfyMAQRBrIgQkAAJAIAFBB2pBACABa3EiA0EIayADSw0AIAIgA2oiAiADSQ0AIAJBgICAgHhBBCABIAFBBE0bIgFrSw0AIAAgATYCACAAIAEgAmpBAWtBACABa3E2AgQgBEEQaiQADwtBnMDDAEErIARBD2pByMDDAEH0wMMAEIAIAAudAQIBfwF+AkACQAJAIABFDQAgACgCAA0BIABBfzYCACACRQ0AIAIoAgAiA0F/Rg0BIAIgA0EBajYCACAAQQRqIAG9IgSnIARCIIinEIoHIgNFDQIgA0GQAWogAkEEaiADQbACaiADQSBqEJcBIAIgAigCAEEBazYCACAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAuSAQIBfwF+AkACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAFBBGogAr0iBKcgBEIgiKcQmAoiA0UNAiADKwIEIQIgAygCACEDIAEgASgCAEEBazYCACAAIAJEAAAAAAAAAAAgAxs5AwggACADQQBHNgIADwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQALmwEBAn8jAEEQayIBJAACQAJAIAAEQCAAKAIAQX9GDQEgAUEIaiICIABBDGooAgA2AgBBkfvDAC0AABogASAAKQIENwMAQRBBBBCCDCIARQ0CIABBADYCACAAIAEpAwA3AgQgAEEMaiACKAIANgIAIAFBEGokACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC3YBA38CQCAALQAAIgFBAWtBB0kNACABBEAgAEEIaigCAEUNASAAKAIEEJoCDAELIAAtAARBA0cNACAAQQhqKAIAIgEoAgAiAyABQQRqKAIAIgIoAgARBgAgAigCBARAIAIoAggaIAMQmgILIAEQmgILIAAQmgILvAYBCX8jAEEgayIGJAAgBiABNgIQIAYgATYCDCAGIAA2AgggBiADNgIcIAYgAzYCGCAGIAI2AhQgBkEUaiEJQQAhAiMAQTBrIgQkACAGQQhqIgooAgAhCwJAAkACQAJAAkACQAJAIAooAggiAEUEQEEEIQEMAQtBBCEBAkAgACAAQQNuIgNBA2xHIANqIgdFDQAgB0Gq1arVAEsNBCAHQQxsIgNBAEgNBCADRQ0AQZH7wwAtAAAaIANBBBCCDCIBRQ0CCwNAIABBAk0NAyABIAVqIgMgBSALaiIIKgIAOAIAIANBBGogCEEEaikCADcCACAFQQxqIQUgAkEBaiECIABBA2siAA0ACwsgBCACNgIgIAQgBzYCHCAEIAE2AhggCSgCACEDIAkoAggiBUUEQCAEQQA2AiQgBCAEQRhqIARBJGoQ3wkgBCgCBCEFIAQoAgAhAAwGC0EEIQECQCAFQQFxIAVBAXZqIghFDQAgCEH/////AEsNAyAIQQN0IgBBAEgNAyAARQ0AQZH7wwAtAAAaIABBBBCCDCIBRQ0EC0EAIQcgASEAIAMhAgNAQQIgBSAFQQJPGyIMQQFGDQUgACACKQIANwIAIABBCGohACAHQQFrIQcgAiAMQQJ0aiECIAUgDGsiBQ0ACyAHBEAgBEEAIAdrNgIsIAQgCDYCKCAEIAE2AiQgBEEQaiAEQRhqIARBJGoQ3wkgBCgCFCEFIAQoAhAhAAwGCyAEQQA2AiQgBEEIaiAEQRhqIARBJGoQ3wkgBCgCDCEFIAQoAgghACAIRQ0FIAEQmgIMBQtBBCADQdCBxAAoAgAiAEGXByAAGxEAAAALQeybwABBywBBqJ3AABChCwALENsKAAtBBCAAQdCBxAAoAgAiAEGXByAAGxEAAAALQQFBAUH8ucAAEOMIAAsgCSgCBARAIAMQmgILIAooAgQEQCALEJoCCyAGIAA2AgAgBiAFNgIEIARBMGokAEGR+8MALQAAGiAGKAIEIQEgBigCACECQQxBBBCCDCIARQRAQQRBDEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAI2AgQgAEEANgIAIAAgATYCCCAGQSBqJAAgAAudFAIXfwJ+IwBBIGsiCCQAIAggATYCECAIIAE2AgwgCCAANgIIIAggAzYCHCAIIAM2AhggCCACNgIUIAhBFGohDkEAIQEjAEEgayIJJAAgCEEIaiITKAIAIRRBBCECQQQhAwJAAkACQAJAAkACQAJAIBMoAggiAARAAkAgAEEDbiIBIAAgAUEDbEdqIgVFDQAgBUGq1arVAEsNBCAFQQxsIgFBAEgNBCABRQ0AQZH7wwAtAAAaIAFBBBCCDCIDRQ0CC0EAIQEDQCAAQQJNDQMgAyAEaiIGIAQgFGoiCyoCADgCACAGQQRqIAtBBGopAgA3AgAgBEEMaiEEIAFBAWohASAAQQNrIgANAAsLIAkgATYCECAJIAU2AgwgCSADNgIIIA4oAgAhA0EAIQUgDigCCCIEBEACQCAEQQNuIgAgBCAAQQNsR2oiB0UNACAHQarVqtUASw0EIAdBDGwiAEEASA0EIABFDQBBkfvDAC0AABogAEEEEIIMIgJFDQcLIAIhACADIQEDQEEDIAQgBEEDTxsiBkEBRg0FIARBAk0NBiAAIAEoAgA2AgAgAEEEaiABKQIENwIAIABBDGohACAFQQFqIQUgASAGQQJ0aiEBIAQgBmsiBA0ACwsgCSAFNgIcIAkgBzYCGCAJIAI2AhQjAEHQAWsiDyQAIA9BCGohFiAJQQhqIQAjAEHgAWsiBSQAAkAgCUEUaiIBKAIIBEAgBUHYAGogAEEIaigCADYCACAFQeQAaiABQQhqKAIANgIAIAVCADcCSCAFQoCAgIDAADcCQCAFQgQ3AjggBUIANwIwIAVCgICAgMAANwIoIAVCEDcCICAFQv////v///+/fzcCGCAFQv////v3//+/fzcCECAFQv////v3//+//wA3AgggBUEANgJoIAVBADYCgAEgBUEANgKkASAFQQA6AMgBIAUgACkCADcCUCAFIAEpAgA3AlwgBUHMAWohEEEAIQcjAEGAAWsiAiQAIAVBCGoiBEHcAGooAgAhCwJAIAQoAngiAEUNACAEQfwAaigCAARAIAAQmgILIARBiAFqKAIABEAgBEGEAWooAgAQmgILIARBlAFqKAIARQ0AIARBkAFqKAIAEJoCCyAEQQA2AngCQCAEKAJgIgBFDQAgBEHkAGooAgAEQCAAEJoCCyAEQfAAaigCAEUNACAEQewAaigCABCaAgsgBEEANgJgAkAgBCgCnAEiAEUNACAEQaABaigCAARAIAAQmgILIARBrAFqKAIABEAgBEGoAWooAgAQmgILIARBuAFqKAIARQ0AIARBtAFqKAIAEJoCCyAEQQA2ApwBAkACQAJAIAQtAMABQX9zQRBxIhVBEEkNACACQgA3AhwgAkKAgICAwAA3AhQgAkIANwIMIAJB+JDCADYCCEEEIQxBBCEBAkACQAJAAkAgBEHQAGooAgAiBkUNACAGQarVqtUASw0BIAZBDGwiAEEASA0BIABFDQBBkfvDAC0AABogAEEEEIIMIgFFDQ4LIAJBADYCMCACIAY2AiwgAiABNgIoAkACQCALRQ0AIAtBqtWq1QBLDQIgC0EMbCIAQQBIDQIgAEUNAEGR+8MALQAAGiAAQQQQggwiDEUNAQsgBEHUAGohESACIAs2AjggAiAMNgI0IAJBADYCPAJ+QcCFxAApAwBCAFIEQEHQhcQAKQMAIRtByIXEACkDAAwBC0ICIRtB0IXEAEICNwMAQcCFxABCATcDAEIBCyEcIARByABqIQ0gAkHIAGpBiJHCACkDADcDACACIBw3A1BByIXEACAcQgF8NwMAIAIgGzcDWCACQYCRwgApAwA3A0AgESgCACEBIAtFDQMgASALQQxsaiEXIA0oAgAhEgwCCwwNCxDbCgALIAEhAAJAAkACQANAIAAoAgAiCiAGTw0BIBIgCkEMbGogAkEIaiACQShqELUBIRggAEEEaigCACIKIAZPDQIgEiAKQQxsaiACQQhqIAJBKGoQtQEhGSAAQQhqKAIAIgogBk8NAyASIApBDGxqIAJBCGogAkEoahC1ASEaIAIoAjggB0YEQCACQTRqIAcQqgYgAigCNCEMIAIoAjwhBwsgDCAHQQxsaiIKIBo2AgggCiAZNgIEIAogGDYCACACIAdBAWoiBzYCPCAXIABBDGoiAEcNAAsMAwsgCiAGQdD9wgAQ4wgACyAKIAZB4P3CABDjCAALIAogBkHw/cIAEOMIAAsgAigCLCIHIAIoAjAiAEsEQCAHQQxsIQcgAigCKCEGAkAgAEUEQEEEIQcgBhCaAgwBCyAGIAdBBCAAQQxsIgYQ7QsiB0UNAwsgAiAANgIsIAIgBzYCKAsgBEHMAGooAgAEQCANKAIAEJoCCyANIAIpAig3AgAgDUEIaiACQTBqKAIANgIAIARB2ABqKAIABEAgARCaAgsgESACKQI0NwIAIBFBCGogAkE8aigCADYCACAEKAJgBEAgBBAxCyAEKAJ4BEAgAkHsAGogBCAEKAKcAUEARxA3CwJAIAIoAkQiAEUNACAAIABBDGxBE2pBeHEiAGpBd0YNACACKAJAIABrEJoCCyACKAIMIgAEQCACKAIIIABBAnRBC2pBeHFrEJoCCyACKAIcRQ0AIAIoAhgQmgILIBVBB3EEfyACQUBrIARBABA3IAJBEGogAkHMAGopAgA3AwAgAiACKQJENwMIIAIoAkAFQQILIQAgFUEIcQRAIAQQMQsgBCgCXCALRwRAIAQQZAsgECAANgIAIARBEDoAwAEgECACKQMINwIEIBBBDGogAkEQaikDADcCACACQYABaiQADAELQQQgBkHQgcQAKAIAIgBBlwcgABsRAAAACyAFKAIoRQRAIAVBCGoQZAsgFiAFQQhqQcQBEIgNGiAFQeABaiQADAELIAVBFGpCADcCACAFQQE2AgwgBUGI/cIANgIIIAVBtIrCADYCECAFQQhqQZD9wgAQ3AoAC0GR+8MALQAAGkHMAUEEEIIMIgBFBEBBBEHMAUHQgcQAKAIAIgBBlwcgABsRAAAACyAAQoGAgIAQNwIAIABBCGogD0EIakHEARCIDRogCUHQ38IANgIEIAkgADYCACAPQdABaiQAIAkoAgQhACAJKAIAIQEgDigCBARAIAMQmgILIBMoAgQEQCAUEJoCCyAIIAE2AgAgCCAANgIEIAlBIGokAAwGC0EEIAFB0IHEACgCACIAQZcHIAAbEQAAAAtB7JvAAEHLAEGoncAAEKELAAsQ2woAC0EBQQFBjLrAABDjCAALQQJBAkGcusAAEOMIAAtBBCAAQdCBxAAoAgAiAEGXByAAGxEAAAALQZH7wwAtAAAaIAgoAgQhASAIKAIAIQJBDEEEEIIMIgBFBEBBBEEMQdCBxAAoAgAiAEGXByAAGxEAAAALIAAgAjYCBCAAQQA2AgAgACABNgIIIAhBIGokACAAC4oBAQd9IAEqAgwiBSABKgIAIgaTIgIgApQgAUEQaioCACICIAEqAgQiB5MiAyADlJIgAUEUaioCACIDIAEqAggiCJMiBCAElJIQmwEhBCAAIAggA5JDAAAAP5Q4AgggACAHIAKSQwAAAD+UOAIEIAAgBiAFkkMAAAA/lDgCACAAIARDAAAAP5Q4AgwLiwECAn8BfgJAAkAgAARAIAAoAgANASAAQX82AgAgAEEEaiABvSIFpyAFQiCIpxCKByIDRQ0CIAJBAEciBCADLQDeAkEAR0cEQCADIAQ6AN4CIANB/wEgAygCqAJBgAFyIAIbNgKoAgsgAEEANgIADwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALhQECAn8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinEJgKIgJFDQIgAkHMAGooAgAhAyACQcgAaigCACECIAAgACgCAEEBazYCACADIAJBEHRyDwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQALhQECAn8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgSnIARCIIinEJgKIgJFDQIgAkHUAGooAgAhAyACQdAAaigCACECIAAgACgCAEEBazYCACADIAJBEHRyDwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQAL7gMBCn8jAEEgayIEJAAgBCABNgIcIAQgATYCGCAEIAA2AhQgBEEIaiEIQQAhASMAQRBrIgMkACAEQRRqIgkoAgAhCgJAAkACQAJAAkAgCSgCCCIARQRAIANBBEEAIAIQ0QUgAygCBCEBIAMoAgAhAAwBC0EEIQcCQCAAIABBA24iBkEDbEcgBmoiBkUNACAGQarVqtUASw0CIAZBDGwiBUEASA0CIAVFDQBBkfvDAC0AABogBUEEEIIMIgdFDQMLQQAhBQNAIABBAk0NBCABIAdqIgsgASAKaiIMKgIAOAIAIAtBBGogDEEEaikCADcCACABQQxqIQEgBUEBaiEFIABBA2siAA0ACyADQQhqIAcgBSACENEFIAMoAgwhASADKAIIIQAgBkUNACAHEJoCCyAJKAIEBEAgChCaAgsgCCAANgIAIAggATYCBCADQRBqJAAMAwsQ2woAC0EEIAVB0IHEACgCACIAQZcHIAAbEQAAAAtB7JvAAEHLAEGoncAAEKELAAsCQAJAIAQoAggiAEUEQEEAIQEMAQsgBCgCDCEDQZH7wwAtAAAaQQxBBBCCDCIBRQ0BIAEgAzYCCCABIAA2AgQgAUEANgIACyAEQSBqJAAgAQ8LQQRBDEHQgcQAKAIAIgBBlwcgABsRAAAAC+YoAxN/C30CfiMAQdAEayINJAAjAEHgAWsiByQAIAdBmAFqQoCAgPyDgIDAPzcCACAHQYgBakLNmbPyg4CAwD83AgAgB0H4AGpCzZmz9oOAgMA/NwIAIAdB6ABqQs2Zs/aDgIDAPzcCACAHQdgAakLNmbP2g4CAwD83AgAgB0HIAGpCzZmz9oOAgMA/NwIAIAdBOGpCzZmz9oOAgMA/NwIAIAdBKGpCmrPm9IOAgMA/NwIAIAdBGGpCzZmz9oOAgMA/NwIAIAdBgICA+AM2AtgBIAdCADcCkAEgB0KAgID8g4CAwD83AoABIAdCgICAgICAgMA/NwJwIAdCgIDYnISAgMA/NwJgIAdCgICAgICAgIA/NwJQIAdCgIDAm4SAgIA/NwJAIAdCgIDAj4SAgMA/NwIwIAdCgICAjYSAgMA/NwIgIAdCgIDAj4SAgMA/NwIQIAdCmrPm9IOAgMA/NwIIIAdCgIConYSAgMA/NwIAIAdClICAgNAANwLQASAHQbgBakKAgID8g4CAwD83AgAgB0GoAWpCzZmz9oOAgMA/NwIAIAdByAFqQs2Zs/aDgIDAPzcCACAHQZqz5vQDNgLcASAHQoCAgICAgIDAPzcCsAEgB0KAgMCXhICAwD83AqABIAdCgIDgl4SAgMA/NwLAASANQQhqIQ4jAEHwAGsiBiQAAn5BwIXEACkDAEIAUgRAQciFxAApAwAhHkHQhcQAKQMADAELQdCFxABCAjcDAEHAhcQAQgE3AwBCASEeQgILIR8gBygC0AEhESAGQRhqQdCTwQApAwA3AwAgBiAeNwMgQciFxAAgHkIBfDcDACAGIB83AyggBkHIk8EAKQMANwMQIAZBgICA+AM2AjwgBkKAgID4g4CAgD83AjQgBkHYAGohBCAGQTRqIQBBkfvDAC0AABoCQAJAAkBB4ABBBBCCDCIBBEAgAUKAgID4g4CAgD83AlggAUKAgID4g4CAgL9/NwJQIAFCgICA+IOAgIA/NwJIIAFCgICA+IuAgIA/NwJAIAFCgICA+IOAgIA/NwI4IAFCgICA+IuAgIC/fzcCMCABQoCAgPiDgICAv383AiggAUKAgID4i4CAgL9/NwIgIAFCgICA+IOAgIA/NwIYIAFCgICA+IuAgIC/fzcCECABQoCAgPiLgICAPzcCCCABQoCAgPiLgICAv383AgBBkfvDAC0AABpB4ABBBBCCDCIDRQ0CIANCg4CAgPAANwJYIANCgoCAgOAANwJQIANCgYCAgNAANwJIIANCgICAgMAANwJAIANCh4CAgMAANwI4IANChoCAgPAANwIwIANChYCAgOAANwIoIANChICAgNAANwIgIANCAzcCGCADQoKAgIAwNwIQIANCgYCAgCA3AgggA0KAgICAEDcCACABIAAqAgAiEyATkiIVIAEqAgCUOAIAIAEgACoCBCITIBOSIhQgASoCBJQ4AgQgASAAKgIIIhMgE5IiEyABKgIIlDgCCCABIBUgASoCDJQ4AgwgASAUIAEqAhCUOAIQIAEgEyABKgIUlDgCFCABIBUgASoCGJQ4AhggASAUIAEqAhyUOAIcIAEgEyABKgIglDgCICABIBUgASoCJJQ4AiQgASAUIAEqAiiUOAIoIAEgEyABKgIslDgCLCABIBUgASoCMJQ4AjAgASAUIAEqAjSUOAI0IAEgEyABKgI4lDgCOCABIBUgASoCPJQ4AjwgASAUIAEqAkCUOAJAIAEgEyABKgJElDgCRCABIBUgASoCSJQ4AkggASAUIAEqAkyUOAJMIAEgEyABKgJQlDgCUCABIBUgASoCVJQ4AlQgASAUIAEqAliUOAJYIAEgEyABKgJclDgCXCAEQRBqQoyAgIDAATcCACAEIAM2AgwgBEKIgICAgAE3AgQgBCABNgIADAELDAELIAZBQGsgBkEQakKs/M2M2ITwrFFCnbTvpaHohZK2fyAEELMCAkAgBigCQCIARQ0AIAYoAkQEQCAAEJoCCyAGQdAAaigCAEUNACAGKAJMEJoCCyAGQYCAgPgDNgI0IAZB2ABqIQ8jAEEwayIFJAAgBkE0aioCACEdIAVBADYCICAFQgQ3AhggBUEANgIsIAVCBDcCJAJAIBEiBEUEQEEEIQsMAQtD2w/JQCAEs5UhFUEEIQEgBCEDA0AgFhDBAUMAAAA/lCEUIBYQwAFDAAAAP5QhEyAFKAIcIAJGBEAgBUEYaiACEKoGIAUoAiAhAiAFKAIYIQELIAEgAkEMbGoiACATOAIIIABBADYCBCAAIBQ4AgAgBSACQQFqIgI2AiAgFSAWkiEWIANBAWsiAw0AC0MAAAAAIRYgBCEBA0AgFhDBAUMAAAA/lCEUIBYQwAFDAAAAP5QhEyAFKAIcIAJGBEAgBUEYaiACEKoGIAUoAiAhAgsgBSgCGCIDIAJBDGxqIgAgEzgCCCAAQQA2AgQgACAUOAIAIAUgAkEBaiICNgIgIBUgFpIhFiABQQFrIgENAAtDAAAAACEWIAQhAQNAIBYQwQFDAAAAP5QhFCAWEMABQwAAAD+UIRMgBSgCHCACRgRAIAVBGGogAhCqBiAFKAIgIQIgBSgCGCEDCyADIAJBDGxqIgAgEzgCCCAAQQA2AgQgACAUOAIAIAUgAkEBaiICNgIgIBUgFpIhFiABQQFrIgENAAsgBEEBdCEIAkAgBEEATgRAIAIgCEkNASAFKAIYIQsMAgsgBCAIQZyiwwAQ5QgACyAIIAJBnKLDABDkCAALIwBBEGsiAEMAAAB/OAIMIAAqAgwaQ+fpHT8QmwEiFRDAASEUIBUQwQEhEyAEBEAgBEEMbCIDIAtqIgAgA2ohCSATQwAAgD+UIRkgFEMAAIA/lCAVlSITQwAAAACUIRcgE0PbD0k/lCEYA0AgGCAAQQRqIgEqAgAiFpQgFyAAKgIAIhWUIhSTIhMgE5IhGiAUIBggAEEIaiIDKgIAIhSUkyITIBOSIRsgAyAUIBkgGpQgGCAblCAXIBcgFJQgFyAWlJMiEyATkiIUlCITk5KSQwAAAACSOAIAIAEgFiAZIBuUIBMgGCAalJOSkkMAAAAAkjgCACAAIBUgGSAUlCAXIBqUIBcgG5STkpJDAAAAAJI4AgAgCSAAQQxqIgBHDQALCwJAAkAgBEEDbCIQIAhPBEAgAiAQSQ0BIwBBEGsiAEMAAAB/OAIMIAAqAgwaQ+fpHT8QmwEiFRDAASEUIBUQwQEhEwJAAkAgBEUEQEF/IQkMAQsgCyAIQQxsaiICIARBDGxqIQEgE0MAAIA/lCEYIBRDAACAP5QgFZUiE0PbD0k/lCEXIBNDAAAAAJQhHANAIBwgAkEEaiIDKgIAIhqUIBwgAioCACIblJMiEyATkiEWIBcgG5QgHCACQQhqIgAqAgAiFZQiFJMiEyATkiEZIAAgFSAYIBaUIBwgGZQgHCAUIBcgGpSTIhMgE5IiFJSTkpJDAAAAAJI4AgAgAyAaIBggGZQgFyAUlCAcIBaUIhOTkpJDAAAAAJI4AgAgAiAbIBggFJQgEyAXIBmUk5KSQwAAAACSOAIAIAEgAkEMaiICRw0AC0EAIQFBACEDIARBAWsiCUUNAQtBACEAIAVBJGpBACAJEIwGIAlBA3EhCyAFKAIkIRIgBSgCLCEBIARBAmtBA08EQCAJQXxxIQogEiABQQN0aiECQQAhAwNAIAIgAzYCACACQRxqIANBBGoiADYCACACQRhqIANBA2oiDDYCACACQRRqIAw2AgAgAkEQaiADQQJqIgw2AgAgAkEMaiAMNgIAIAJBCGogA0EBaiIDNgIAIAIgAzYCBCACQSBqIQIgCiAAIgNHDQALIAAgAWohAQsgCSEDIAtFDQAgASALaiEJIBIgAUEDdGohAgNAIAIgADYCACACIABBAWoiADYCBCACQQhqIQIgC0EBayILDQALIAkhAQsgBSABNgIsIAEgBSgCKCICRgRAIAVBJGogARCrBiAFKAIoIQIgBSgCLCEBCyAFKAIkIgsgAUEDdGoiAEEANgIEIAAgAzYCACAFIAFBAWoiAzYCLCAIQQFrIgogBGsiAEEAIAAgCk0bIgAgAiADa0sEQCAFQSRqIAMgABCMBiAFKAIkIQsgBSgCLCEDCwJAIAQgCk8NACAIIARrQQJrIQwCQCAIIARBf3NqQQNxIgFFBEAgBCEADAELIAEgA2ohCSALIANBA3RqIQIgBCEAA0AgAiAANgIAIAIgAEEBaiIANgIEIAJBCGohAiABQQFrIgENAAsgCSEDCyAMQQNJDQAgCyADQQN0aiECA0AgAiAANgIAIAJBHGogAEEEaiIBNgIAIAJBGGogAEEDaiIJNgIAIAJBFGogCTYCACACQRBqIABBAmoiCTYCACACQQxqIAk2AgAgAkEIaiAAQQFqIgA2AgAgAiAANgIEIAJBIGohAiADQQRqIQMgCiABIgBHDQALCyAFIAM2AiwgBSgCKCADRgRAIAVBJGogAxCrBiAFKAIkIQsgBSgCLCEDCyALIANBA3RqIgAgBDYCBCAAIAo2AgAgBSADQQFqIgM2AiwgEEEBayIMIAhrIgBBACAAIAxNGyIAIAUoAiggA2tLBEAgBUEkaiADIAAQjAYgBSgCLCEDCyAFKAIkIQsCQCAIIAxPDQAgECAIa0ECayEJAkAgECAIQX9zakEDcSIBRQRAIAghAAwBCyABIANqIQQgCyADQQN0aiECIAghAANAIAIgADYCACACIABBAWoiADYCBCACQQhqIQIgAUEBayIBDQALIAQhAwsgCUEDSQ0AIAsgA0EDdGohAgNAIAIgADYCACACQRxqIABBBGoiBDYCACACQRhqIABBA2oiATYCACACQRRqIAE2AgAgAkEQaiAAQQJqIgE2AgAgAkEMaiABNgIAIAJBCGogAEEBaiIANgIAIAIgADYCBCACQSBqIQIgA0EEaiEDIAwgBCIARw0ACwsgBSADNgIsIAUoAiggA0YEQCAFQSRqIAMQqwYgBSgCJCELIAUoAiwhAwsgBUEQaiIJIANBAWo2AgAgCyADQQN0aiIAIAg2AgQgACAMNgIAIAUgBSkCJDcDCCAFKAIYIQAgBSgCHCEBAkAgBSgCICIIRQ0AIB0gHZIhEyAAIQIgCEEMbCIDQQxrIgRBDG5BAXFFBEAgACATIAAqAgCUOAIAIAAgEyAAKgIElDgCBCAAIBMgACoCCJQ4AgggAEEMaiECCyAEQQxJDQAgACADaiEDA0AgAiATIAIqAgCUOAIAIAJBBGoiBCATIAQqAgCUOAIAIAJBCGoiBCATIAQqAgCUOAIAIAJBDGoiBCATIAQqAgCUOAIAIAJBEGoiBCATIAQqAgCUOAIAIAJBFGoiBCATIAQqAgCUOAIAIAMgAkEYaiICRw0ACwsgDyAINgIIIA8gATYCBCAPIAA2AgAgDyAFKQMINwIMIA9BFGogCSgCADYCACAFQTBqJAAMAgsgCCAQQayiwwAQ5QgACyAQIAJBrKLDABDkCAALIAZBQGsgBkEQakK65aKq6Lvo2G9Cw9+m8rD/iKAgIA8QswICQCAGKAJAIgBFDQAgBigCRARAIAAQmgILIAZB0ABqKAIARQ0AIAYoAkwQmgILIAZCgICA+IOAgIA/NwI0IAZB2ABqIQwjAEEwayIKJABBkfvDAC0AABogBkE0aiIAKgIEIRQgACoCACETAkBBGEEEEIIMIgAEQCAAQgA3AgggAEKAgID4i4CAgL9/NwIAIABBEGpCgICA+AM3AgAgCkKCgICAIDcCHCAKIAA2AhggCkEkaiIEQQhqIgBBADYCACAKQgQ3AiRBAUH0o8MAQQEgESAKQRhqIAQQhgEgCkEQaiIJIAAoAgA2AgAgCiAKKQIkNwMIIAooAhghBCAKKAIcIQgCQCAKKAIgIgJFDQAgEyATkiETIBQgFJIhFCAEIQAgAkEMbCIBQQxrIgNBDG5BAXFFBEAgBCAUIAQqAgCUOAIAIAQgEyAEKgIElDgCBCAEIBQgBCoCCJQ4AgggBEEMaiEACyADQQxJDQAgASAEaiEBA0AgACAUIAAqAgCUOAIAIABBBGoiAyATIAMqAgCUOAIAIABBCGoiAyAUIAMqAgCUOAIAIABBDGoiAyAUIAMqAgCUOAIAIABBEGoiAyATIAMqAgCUOAIAIABBFGoiAyAUIAMqAgCUOAIAIAEgAEEYaiIARw0ACwsgDCACNgIIIAwgCDYCBCAMIAQ2AgAgDCAKKQMINwIMIAxBFGogCSgCADYCACAKQTBqJAAMAQtBBEEYQdCBxAAoAgAiAEGXByAAGxEAAAALIAZBQGsgBkEQakLUv4+1hfDgo88AQuboj9vv9bewHCAMELMCAkAgBigCQCIARQ0AIAYoAkQEQCAAEJoCCyAGQdAAaigCAEUNACAGKAJMEJoCCyAGQQhqIgBDAAAAPzgCBCAAQwAAAD84AgAgBiAGKQMINwI0IAZB2ABqIgAgBkE0aiAREMYDIAZBQGsgBkEQakKJvO/Y+4nkmK5/QuiC043ihfKX2QAgABCzAgJAIAYoAkAiAEUNACAGKAJEBEAgABCaAgsgBkHQAGooAgBFDQAgBigCTBCaAgsgDiAGKQMQNwMAIA5BGGogBkEQaiIAQRhqKQMANwMAIA5BEGogAEEQaikDADcDACAOQQhqIABBCGopAwA3AwAgDkEgaiAHQeABEIgNGiAOQQ82AoACIAZB8ABqJAAMAQtBBEHgAEHQgcQAKAIAIgBBlwcgABsRAAAACyAHQeABaiQAIA1BoAJqQgA3AwAgDUGYAmpCgICAgMAANwMAIA1CBDcDkAIgDUGwAmogDkGgAhCIDRpBkfvDAC0AABpBqAJBCBCCDCIARQRAQQhBqAJB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIABBBGogDUGsAmpBpAIQiA0aIA1B0ARqJAAgAAuKAQECfyMAQRBrIgIkACAAKAIAIQMgAkEEaiIAIAEQoAsgAiADNgIMIAAgAkEMaiIBEIcFIAIgA0EEajYCDCAAIAEQhwUgAiADQQhqNgIMIAAgARCHBSAALQAEBH9BAQUgACgCACIAKAIUQb7dwwBBASAAQRhqKAIAKAIMEQUACyEAIAJBEGokACAAC3cBBX0gAioCACIGIAaUIAIqAggiAyADlJIQmwEiB0MAAAAAXARAIAMgB5UgASoCBCIElCEFIAYgB5UgBJQhBAsgACAFIAMgASoCCCIDlJI4AgggACABKgIAIAIqAgQiBZggBSADlJI4AgQgACAEIAYgA5SSOAIAC4MBAQF/IwBBQGoiAyQAIAMgAjYCFCADIAE2AhAgAyAANgIMIANBGGoiAEEMakICNwIAIANBMGoiAUEMakEBNgIAIANBAjYCHCADQaCXwAA2AhggA0ECNgI0IAMgATYCICADIANBEGo2AjggAyADQQxqNgIwIAAQmQUhACADQUBrJAAgAAvqAwEKfyMAQSBrIgMkACADIAE2AhwgAyABNgIYIAMgADYCFCADQQhqIQdBACEBIwBBEGsiAiQAIANBFGoiCCgCACEJAkACQAJAAkACQCAIKAIIIgBFBEAgAkEEQQAQ1wUgAigCBCEBIAIoAgAhAAwBC0EEIQYCQCAAIABBA24iBUEDbEcgBWoiBUUNACAFQarVqtUASw0CIAVBDGwiBEEASA0CIARFDQBBkfvDAC0AABogBEEEEIIMIgZFDQMLQQAhBANAIABBAk0NBCABIAZqIgogASAJaiILKgIAOAIAIApBBGogC0EEaikCADcCACABQQxqIQEgBEEBaiEEIABBA2siAA0ACyACQQhqIAYgBBDXBSACKAIMIQEgAigCCCEAIAVFDQAgBhCaAgsgCCgCBARAIAkQmgILIAcgADYCACAHIAE2AgQgAkEQaiQADAMLENsKAAtBBCAEQdCBxAAoAgAiAEGXByAAGxEAAAALQeybwABBywBBqJ3AABChCwALAkACQCADKAIIIgBFBEBBACEBDAELIAMoAgwhAkGR+8MALQAAGkEMQQQQggwiAUUNASABIAI2AgggASAANgIEIAFBADYCAAsgA0EgaiQAIAEPC0EEQQxB0IHEACgCACIAQZcHIAAbEQAAAAubAQIEfwF+IwBBEGsiAiQAEJkIIQMgAhCZCCIBNgIMQZH7wwAtAAAaIAEpAwghBEEgQQgQggwiAARAIABCADcCFCAAIAM2AhAgACAENwMIIABCgYCAgBA3AwAgASABKAIAIgFBAWs2AgAgAUEBRgRAIAJBDGoQtwkLIAJBEGokACAADwtBCEEgQdCBxAAoAgAiAEGXByAAGxEAAAALdwECfyMAQSBrIgIkACACQQRqIgMgACABEIgCIABBGGogA0EYaigCADYCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAikCBDcCACAAQThqQgA3AgAgAEEwakIANwIAIABCADcCKCACQSBqJAALgwECAX8BfSMAQRBrIgUkACAFIAEgAiADEOoCAkAgAioCACAFKgIAkyIGIAaUIAIqAgQgBSoCBJMiBiAGlJIgAioCCCAFKgIIkyIGIAaUkhCbASAEXkUEQCAAIAUpAgA3AgAgAEEIaiAFQQhqKQIANwIADAELIABBAjoADAsgBUEQaiQAC4IBAgF/AX0jAEEQayIFJAAgBSABIAIgAxBUAkAgAioCACAFKgIAkyIGIAaUIAIqAgQgBSoCBJMiBiAGlJIgAioCCCAFKgIIkyIGIAaUkhCbASAEXkUEQCAAIAUpAgA3AgAgAEEIaiAFQQhqKQIANwIADAELIABBAjoADAsgBUEQaiQAC4MBAgF/AX0jAEEQayIFJAAgBSABIAIgAxCrAgJAIAIqAgAgBSoCAJMiBiAGlCACKgIEIAUqAgSTIgYgBpSSIAIqAgggBSoCCJMiBiAGlJIQmwEgBF5FBEAgACAFKQIANwIAIABBCGogBUEIaikCADcCAAwBCyAAQQI6AAwLIAVBEGokAAuHAQICfwN9IwBBIGsiBSQAIAFBCGoiBioCACEHIAEqAgAhCCABKgIEIQkgBUEcaiAGKAIANgIAIAUgB4w4AhAgBSAJjDgCDCAFIAiMOAIIIAUgASkCADcCFCAFIAVBCGogAiADIAQQxwMgBSgCACEBIAAgBSoCBDgCBCAAIAE2AgAgBUEgaiQAC4YBAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBqcgBkIgiKcQigciBUUNAiAFLQDdAkECTwRAIAVB1ABqIAQ4AgAgBUHQAGogAzgCACAFQcwAaiACOAIACyAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAuDAQICfwF+IwBBMGsiBCQAAkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IganIAZCIIinEIoHIgVFDQIgBEEBNgIAIAQgAjgCBCAFIAQgA0EARxDSAiAAQQA2AgAgBEEwaiQADwsQ+AwACxD5DAALQey0wABBzQBB9LXAABDhCQALigEDAX8BfQF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iBKcgBEIgiKcQlwoiAkUNAiACQcQBaioCACEDIAAgACgCAEEBazYCAEMAAAAAQwAAgD8gA5UgA0MAAAAAWxsPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAuHAQIBfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEIoHIgJFDQIgAkHMAmotAAAEQCACIAIoAqgCQQRyNgKoAgsgAkEAOgDMAiACQcgCakEANgIAIABBADYCAA8LEPgMAAsQ+QwAC0HstMAAQc0AQfS1wAAQ4QkAC4cBAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBqcgBkIgiKcQiwciBUUNAiAFQYwBaiAEOAIAIAVBiAFqIAM4AgAgBUGEAWogAjgCACAFIAUoAnBBCHI2AnAgAEEANgIADwsQ+AwACxD5DAALQYS2wABBzABBiLfAABDhCQALhwMDBX8BfQF+IwBBEGsiBSQAAkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCACAFQQhqIQYCQCABQQRqIAK9IgmnIAlCIIinEJgKIgMEQAJAAkACQAJAAkACQAJAAkACQAJAAkAgA0EwaigCACADQTRqKAIAIgMoAghBAWtBeHFqQQhqIgQgAygClAERBABB/wFxDhAACgEKCgoKCgoKCgIDCgoECgsgBCADEJwJIgMNCAwJCyAEIAMQnwkiAw0DDAgLIAQgAxCoCSIDDQMMBwsgBCADEKoJIgMNAwwGCyAEIAMQrAkiAw0DDAULIANBGGohAwwDCyADQQRqIQMMAgsgA0EEaiEDDAELIANBBGohAwsgAyoCACEIQQEhBwsgBiAIOAIEIAYgBzYCAAwBC0GEtsAAQcwAQfi2wAAQ4QkACyAFKgIMIQggBSgCCCEDIAEgASgCAEEBazYCACAAIAhDAAAAACADGzgCBCAAIANBAEc2AgAgBUEQaiQADwsQ+AwACxD5DAALrQMDBX8BfQF+IwBBEGsiBCQAAkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCACAEQQhqIQcCQCABQQRqIAK9IgmnIAlCIIinEJgKIgMEQAJAAn0CQAJAAkACQAJAAkACQAJAIANBMGooAgAgA0E0aigCACIDKAIIQQFrQXhxakEIaiIFIAMoApQBEQQAQf8BcUECaw4OAAkJCQkJCQkJAQIJCQMJCyAFIAMQnwkiAw0DDAgLIAUgAxCoCSIDDQMMBwsgBSADEKoJIgMNAwwGCyAFIAMQrAkiAw0DDAULQQEhBiADKgIMIAMqAgCTIgggCJQgA0EQaioCACADKgIEkyIIIAiUkiADQRRqKgIAIAMqAgiTIgggCJSSEJsBQwAAAD+UIQgMBAsgAyoCAAwCCyADKgIADAELIAMqAgALIQhBASEGCyAHIAg4AgQgByAGNgIADAELQYS2wABBzABB+LbAABDhCQALIAQqAgwhCCAEKAIIIQMgASABKAIAQQFrNgIAIAAgCEMAAAAAIAMbOAIEIAAgA0EARzYCACAEQRBqJAAPCxD4DAALEPkMAAvtAwMGfwF9An4jAEEQayIGJAACQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAIAZBCGohBwJAAkAgAUEEaiACvSIKpyAKQiCIpxCYCiIDBEACQAJAAkACQAJAAkACQAJAAkACQCADQTBqKAIAIANBNGooAgAiBCgCCEEBa0F4cWpBCGoiBSAEKAKUAREEAEH/AXFBDWsOBQABAgMEDAsgBSAEEKQJIgMNBAwLCyAFIAQQpgkiAw0EDAoLIAUgBBCsCSIDDQQMCQsjAEEgayIDJAAgA0EYaiAFIAQoAmARAAAgA0EIaiADKAIYIgQgAygCHEEMaigCABEAACADQRBqKQMAIQogAykDCCELIANBIGokACAEQQAgC0KBnrGymKOz7XaFIApCs5zGqbruy8BdhYRQGyIDDQQMCAsgBSAEEK4JIgMNBAwHCyADQQxqIQMMBQsgA0EkaiEDDAQLIANBCGohAwwDCyADQQhqIQMMAgsgA0HgAGohAwwBC0GEtsAAQcwAQfi2wAAQ4QkACyADKgIAIQlBASEICyAHIAk4AgQgByAINgIAIAYqAgwhCSAGKAIIIQMgASABKAIAQQFrNgIAIAAgCUMAAAAAIAMbOAIEIAAgA0EARzYCACAGQRBqJAAPCxD4DAALEPkMAAudAQIBfwF9QZH7wwAtAAAaIAEqAiQhA0EoQQQQggwiAkUEQEEEQShB0IHEACgCACIAQZcHIAAbEQAAAAsgAiADOAIkIAIgASkCADcCACACQSBqIAFBIGooAgA2AgAgAkEYaiABQRhqKQIANwIAIAJBEGogAUEQaikCADcCACACQQhqIAFBCGopAgA3AgAgAEHEisMANgIEIAAgAjYCAAuEAQEBfyMAQUBqIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUEYaiIAQQxqQgI3AgAgBUEwaiIBQQxqQa4HNgIAIAVBAjYCHCAFQfDcwwA2AhggBUGvBzYCNCAFIAE2AiAgBSAFQRBqNgI4IAUgBUEIajYCMCAAIAQQ3AoAC4MBAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBKcgBEIgiKcQiwciA0UNAiACQQBHIgIgAy0AmAFBAEdHBEAgAyACOgCYASADIAMoAnBBwAByNgJwCyAAQQA2AgAPCxD4DAALEPkMAAtBhLbAAEHMAEGIt8AAEOEJAAuDAQECfyMAQRBrIgIkACACQQRqIgMgARCgCyACIAA2AgwgAyACQQxqIgEQhwUgAiAAQQRqNgIMIAMgARCHBSACIABBCGo2AgwgAyABEIcFIAMtAAQEf0EBBSADKAIAIgAoAhRBvt3DAEEBIABBGGooAgAoAgwRBQALIQAgAkEQaiQAIAALjAECAX8CfSMAQSBrIgIkACABKgIAIgMgA5QgASoCBCIDIAOUkhCbASEDIAEqAggiBEMAAAAAYEUEQCACQRRqQgA3AgAgAkEBNgIMIAJB5JfCADYCCCACQbSKwgA2AhAgAkEIakHArsMAENwKAAsgAEEANgIIIABCADcCACAAIAMgBJI4AgwgAkEgaiQAC4YBAgF+AX8CQAJAAkAgAARAIAAoAgANASAAQX82AgAgAkEGTw0CIABBBGogAb0iBacgBUIgiKcQ1AgiBkUNAyAGQTBqIAJDAAAAACADQwAAAAAgBBCDCiAAQQA2AgAPCxD4DAALEPkMAAtBxrfAAEEZEPcMAAtBlLLAAEHQAEGks8AAEOEJAAuDAQIBfgF/AkACQAJAIAAEQCAAKAIADQEgAEF/NgIAIAJBBk8NAiAAQQRqIAG9IganIAZCIIinENQIIgdFDQMgB0EwaiACIANDAAAAACAEIAUQgwogAEEANgIADwsQ+AwACxD5DAALQca3wABBGRD3DAALQZSywABB0ABBpLPAABDhCQALgAECAX4BfwJAAkACQCAABEAgACgCAA0BIABBfzYCACACQQZPDQIgAEEEaiABvSIHpyAHQiCIpxDUCCIIRQ0DIAhBMGogAiADIAQgBSAGEIMKIABBADYCAA8LEPgMAAsQ+QwAC0HGt8AAQRkQ9wwAC0GUssAAQdAAQaSzwAAQ4QkAC3wCAX8GfSMAQSBrIgQkACAEIAEqAggiBYw4AhwgBCABKgIEIgaMOAIYIAQgASoCACIHjDgCFCAEQQhqIAIgACAEQRRqIAMRAgAgBCoCDCEIIAQqAgghCSAEKgIQIQogBEEgaiQAIAcgCZQgBiAIlJIgBSAKlJJDAAAAAF8LcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqAoABIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ICA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgKEASEGQQEhBAsgASADNgIAIAAgBjgCBCAAIAQ2AgAPCxD4DAALEPkMAAtyAgN/AX0CQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAAkAgAUEMaigCACACTQ0AIAFBBGooAgAiBUUNACAFIAJB1AFsaioCiAEhBkEBIQQLIAEgAzYCACAAIAY4AgQgACAENgIADwsQ+AwACxD5DAALcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqAowBIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ICA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgKQASEGQQEhBAsgASADNgIAIAAgBjgCBCAAIAQ2AgAPCxD4DAALEPkMAAtyAgN/AX0CQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAAkAgAUEMaigCACACTQ0AIAFBBGooAgAiBUUNACAFIAJB1AFsaioClAEhBkEBIQQLIAEgAzYCACAAIAY4AgQgACAENgIADwsQ+AwACxD5DAALcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqAqwBIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ICA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgLAASEGQQEhBAsgASADNgIAIAAgBjgCBCAAIAQ2AgAPCxD4DAALEPkMAAtyAgN/AX0CQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAAkAgAUEMaigCACACTQ0AIAFBBGooAgAiBUUNACAFIAJB1AFsaioCuAEhBkEBIQQLIAEgAzYCACAAIAY4AgQgACAENgIADwsQ+AwACxD5DAALcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqArwBIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ICA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgKYASEGQQEhBAsgASADNgIAIAAgBjgCBCAAIAQ2AgAPCxD4DAALEPkMAAtyAgN/AX0CQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAAkAgAUEMaigCACACTQ0AIAFBBGooAgAiBUUNACAFIAJB1AFsaioCnAEhBkEBIQQLIAEgAzYCACAAIAY4AgQgACAENgIADwsQ+AwACxD5DAALcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqAqABIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ICA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgKwASEGQQEhBAsgASADNgIAIAAgBjgCBCAAIAQ2AgAPCxD4DAALEPkMAAtyAgN/AX0CQCABBEAgASgCACIDQX9GDQEgASADQQFqNgIAAkAgAUEMaigCACACTQ0AIAFBBGooAgAiBUUNACAFIAJB1AFsaioCtAEhBkEBIQQLIAEgAzYCACAAIAY4AgQgACAENgIADwsQ+AwACxD5DAALcgIDfwF9AkAgAQRAIAEoAgAiA0F/Rg0BIAEgA0EBajYCAAJAIAFBDGooAgAgAk0NACABQQRqKAIAIgVFDQAgBSACQdQBbGoqAswBIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC3ECA38BfQJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgACQCABQQxqKAIAIAJNDQAgAUEEaigCACIFRQ0AIAUgAkHUAWxqKgIkIQZBASEECyABIAM2AgAgACAGOAIEIAAgBDYCAA8LEPgMAAsQ+QwAC44BAQN/IwBBIGsiACQAAkACQEG8hcQAKAIAIgFFBEAQ+AYhAUG8hcQAKAIADQFBvIXEACABNgIACyABIAEoAgAiAkEBajYCACACQQBIDQEgAEEgaiQAIAEPCyAAQRRqQgA3AgAgAEEBNgIMIABBrLfDADYCCCAAQZy3wwA2AhAgAEEIakGEuMMAENwKAAsAC2wBA38gACgCACIBIAAoAgQiACgCCCICQQFrQXhxakEIaiAAKAIAEQYAAkAgAUF/Rg0AIAEgASgCBCIDQQFrNgIEIANBAUcNACAAKAIEQQQgAiACQQRNGyIAakEHakEAIABrcUUNACABEJoCCwt7AgJ/A30jAEEgayIDJAAgAEEIaiIEKgIAIQUgACoCACEGIAAqAgQhByADQRxqIAQoAgA2AgAgAyAFjDgCECADIAeMOAIMIAMgBow4AgggAyAAKQIANwIUIAMgA0EIaiABIAJBARDHAyADKAIAIQAgA0EgaiQAIABBAUYLbwICfwF+IwBBEGsiAiQAAkAgAARAIAAoAgAiA0F/Rg0BIAAgA0EBajYCACACQQhqIABBBGogAb0iBKcgBEIgiKcQ6AYgAigCCCEDIAAgACgCAEEBazYCACACQRBqJAAgA0EARw8LEPgMAAsQ+QwAC4ABAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBKcgBEIgiKcQigciA0UNAiADLQDcAiACQf8BcUcEQCADIAI6ANwCIAMgAygCqAJBIHI2AqgCCyAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAt2AQJ/IwBBEGsiAiQAAkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACACIABBmAJqKAIAIgEQEzYCDCACQQxqIABBkAJqKAIAIAEQsQcgAigCDCEBIAAgACgCAEEBazYCACACQRBqJAAgAQ8LEPgMAAsQ+QwAC3YBAn8jAEEQayICJAACQCAABEAgACgCACIBQX9GDQEgACABQQFqNgIAIAIgAEGkAmooAgAiARATNgIMIAJBDGogAEGcAmooAgAgARCxByACKAIMIQEgACAAKAIAQQFrNgIAIAJBEGokACABDwsQ+AwACxD5DAALcwIEfQF/QQEhByAAKgIEIgMgASoCBIyUIAEqAgAgACoCACIElJMgASoCCCAAKgIIIgWUkyIGQwAAAABeBH9BAQUgBiAEIAEqAgyUIAMgAUEQaioCAJSSIAUgAUEUaioCAJSSlSIDQwAAAABgIAIgA2BxCwtlAQN/IwBBIGsiAyQAIANBCGogARCgAyADQRhqKAIAIQEgAygCDCEEIAAgAiADKAIIIgAgAygCECADKAIUIgUgA0EcaigCABDsASABBEAgBRCaAgsgBARAIAAQmgILIANBIGokAAt3AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJB3QJqLQAAIQIgACAAKAIAQQFrNgIAIAJBAUYPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt3AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJB3QJqLQAAIQIgACAAKAIAQQFrNgIAIAJBAUsPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtvAQN/IwBBEGsiASQAAkAgAARAIAAoAgANASAAQQhqKAIAIQMgACgCBCECIAAQmgIgAiACKAIAIgBBAWs2AgAgASADNgIMIAEgAjYCCCAAQQFGBEAgAUEIahCaCAsgAUEQaiQADwsQ+AwACxD5DAALiAEBAX8jAEHQAWsiAiQAIAJBuAFqQgA3AwAgAkHIAWpBADYCACACQoKAgIAwNwMYIAJCgICAgBA3AxAgAkIANwOwASACQgA3A8ABIAJBIGpBAEGQARCJDRogAkEANgLMASACIAAoAgAgACgCCCACQRBqIAFBARAdIAItAAwhACACQdABaiQAIAALgwECAX8BfSAAIAEqAgwiBCACKAIIIgO+lCABKAIIQf////8HcSADQYCAgIB4cXK+kjgCCCAAIAQgAigCBCIDvpQgASgCBEH/////B3EgA0GAgICAeHFyvpI4AgQgACAEIAIoAgAiAL6UIAEoAgBB/////wdxIABBgICAgHhxcr6SOAIAC3ABA30gACABIAFBDGogASoCACACKgIAIgOUIAEqAgQgAioCBCIElJIgASoCCCACKgIIIgWUkiADIAEqAgyUIAQgAUEQaioCAJSSIAUgAUEUaioCAJSSXhsiASkCADcCACAAQQhqIAFBCGooAgA2AgALlgEBAX8jAEHgAGsiBSQAIAUgASACIAMQMAJAAkAgBSgCAEUEQEEAIQMMAQtBkfvDAC0AABpB7ABBBBCCDCIDRQ0BIANCgYCAgBA3AgAgA0EIaiAFQeAAEIgNGiADIAQ4AmgLIABBwIXDADYCBCAAIAM2AgAgBUHgAGokAA8LQQRB7ABB0IHEACgCACIAQZcHIAAbEQAAAAt2AQF/IwBBMGsiAyQAIAMgAjYCBCADIAE2AgAgA0EIaiIBQQxqQgI3AgAgA0EgaiICQQxqQQE2AgAgA0ECNgIMIANBgJfAADYCCCADQQM2AiQgAyAANgIgIAMgAjYCECADIAM2AiggARCZBSEAIANBMGokACAAC24CAX0BfyMAQTBrIgQkACAEQQxqIAAgASACEEggBC0AGCEAIAQqAgwgASoCAJMiAyADlCAEKgIQIAEqAgSTIgMgA5SSIAQqAhQgASoCCJMiAyADlJIQmwEhAyAEQTBqJAAgAyADjCADIAAbIAIbC/4BAgN/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIAJBA00EQCAAQQRqIAG9IgenIAdCIIinEIoHIgRFDQMgA0EARyEFAkAgAkH/AXEiBiAELQDdAkYNACAEIAI6AN0CIAQgBCgCqAIiA0EQcjYCqAIgBkEBRgRAIARCADcDcCAEQYABakIANwMAIARB+ABqQgA3AwAMAQsgAkH/AXENACAFRQ0AIARBzAJqLQAABEAgBCADQRRyNgKoAgsgBEEAOgDMAiAEQcgCakEANgIACyAAQQA2AgAPC0HGt8AAQRkQ9wwACxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAt1AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJB3QJqLQAAIQIgACAAKAIAQQFrNgIAIAJFDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALdQIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQmAoiAkUNAiACQeIAai0AACECIAAgACgCAEEBazYCACACRQ8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBDGoqAgAhASAAQQhqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgATgCDCAAIAI4AgggACADOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBDGoqAgAhASAAQQhqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgATgCDCAAIAM4AgggACACOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBCGoqAgAhASAAQQxqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgATgCDCAAIAM4AgggACACOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBCGoqAgAhASAAQQxqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgATgCDCAAIAI4AgggACADOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBDGoqAgAhASAAQQhqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgAzgCDCAAIAE4AgggACACOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4gBAQN9AkACQCAABEAgACgCAEF/Rg0BQZH7wwAtAAAaIABBCGoqAgAhASAAQQxqKgIAIQIgACoCBCEDQRBBBBCCDCIARQ0CIAAgAzgCDCAAIAE4AgggACACOAIEIABBADYCACAADwsQ+AwACxD5DAALQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAAC4cBAgF/A30jAEEgayIEJAAgBCABKgIIIgWMOAIcIAQgASoCBCIGjDgCGCAEIAEqAgAiB4w4AhQgBEEIaiACIAAgBEEUaiADEQIAIAcgBCoCCJQgBiAEKgIMlJIgBSAEKgIQlJIhBSAEQSBqJABDAAAAAEMAAAAAIAUgBUMAAAAAXRsgBSAFXBsLbgIBfQF/IwBBMGsiBCQAIARBDGogACABIAIQTSAELQAYIQAgBCoCDCABKgIAkyIDIAOUIAQqAhAgASoCBJMiAyADlJIgBCoCFCABKgIIkyIDIAOUkhCbASEDIARBMGokACADIAOMIAMgABsgAhsLbQEEfSADKgIAIgYgBpQgAyoCBCIHIAeUkiADKgIIIgQgBJSSEJsBIQUgACACQRhqKgIAIAQgBZUgASoCACIElJI4AgggACACQRRqKgIAIAQgByAFlZSSOAIEIAAgAioCECAEIAYgBZWUkjgCAAuNAQEBf0GR+8MALQAAGkEkQQQQggwiAkUEQEEEQSRB0IHEACgCACIAQZcHIAAbEQAAAAsgAiABKQIANwIAIAJBIGogAUEgaigCADYCACACQRhqIAFBGGopAgA3AgAgAkEQaiABQRBqKQIANwIAIAJBCGogAUEIaikCADcCACAAQajJwgA2AgQgACACNgIAC3MCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinENQIIgJFDQIgAkEIaisDACEBIAAgACgCAEEBazYCACABDwsQ+AwACxD5DAALQZSywABB0ABBlLPAABDhCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQ1AgiAkUNAiACQe0Cai0AACECIAAgACgCAEEBazYCACACDwsQ+AwACxD5DAALQZSywABB0ABBlLPAABDhCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQlwoiAkUNAiACQcwCai0AACECIAAgACgCAEEBazYCACACDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQlwoiAkUNAiACQdwCaiwAACECIAAgACgCAEEBazYCACACDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALdgMBfwF+AX0CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJBxAFqKgIAIQQgACAAKAIAQQFrNgIAIAQPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJB2QJqLQAAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJBuAJqKAIAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJB3QJqLQAAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt2AwF/AX4BfQJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEJcKIgJFDQIgAkGIAWoqAgAhBCAAIAAoAgBBAWs2AgAgBA8LEPgMAAsQ+QwAC0HstMAAQc0AQeS1wAAQ4QkAC3YDAX8BfgF9AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQlwoiAkUNAiACQYwBaioCACEEIAAgACgCAEEBazYCACAEDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALdAIBfwF+AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQlwoiAkUNAiACQd4Cai0AACECIAAgACgCAEEBazYCACACDwsQ+AwACxD5DAALQey0wABBzQBB5LXAABDhCQALdgMBfwF+AX0CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJBjAJqKgIAIQQgACAAKAIAQQFrNgIAIAQPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJBrAJqKAIAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtB7LTAAEHNAEHktcAAEOEJAAtzAgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCXCiICRQ0CIAJBEGooAgAhAiAAIAAoAgBBAWs2AgAgAg8LEPgMAAsQ+QwAC0HstMAAQc0AQeS1wAAQ4QkAC3QCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEJgKIgJFDQIgAkGYAWotAAAhAiAAIAAoAgBBAWs2AgAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC3YDAX8BfgF9AkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIABBBGogAb0iA6cgA0IgiKcQmAoiAkUNAiACQeQAaioCACEEIAAgACgCAEEBazYCACAEDwsQ+AwACxD5DAALQYS2wABBzABB+LbAABDhCQALdgMBfwF+AX0CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCYCiICRQ0CIAJB6ABqKgIAIQQgACAAKAIAQQFrNgIAIAQPCxD4DAALEPkMAAtBhLbAAEHMAEH4tsAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCYCiICRQ0CIAJB2ABqKAIAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtBhLbAAEHMAEH4tsAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCYCiICRQ0CIAJB4ABqLwEAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtBhLbAAEHMAEH4tsAAEOEJAAt0AgF/AX4CQAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAEEEaiABvSIDpyADQiCIpxCYCiICRQ0CIAJB3ABqKAIAIQIgACAAKAIAQQFrNgIAIAIPCxD4DAALEPkMAAtBhLbAAEHMAEH4tsAAEOEJAAt2AwF/AX4BfQJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEJgKIgJFDQIgAkGUAWoqAgAhBCAAIAAoAgBBAWs2AgAgBA8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC3QCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEJgKIgJFDQIgAkHsAGotAAAhAiAAIAAoAgBBAWs2AgAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC3QCAX8BfgJAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACAAQQRqIAG9IgOnIANCIIinEJgKIgJFDQIgAkHtAGotAAAhAiAAIAAoAgBBAWs2AgAgAg8LEPgMAAsQ+QwAC0GEtsAAQcwAQfi2wAAQ4QkAC3QCAX0BfyAAIAAqAiBDAAAAAEMAAIA/IAGVIAFDAAAAAFsbIgGRQwAAAABDAACAPyAAKgIcIgKVIAJDAAAAAFsbkZQiApQ4AiAgAEEkaiIDIAMqAgAgApQ4AgAgAEEoaiIDIAIgAyoCAJQ4AgAgACABOAIcC20CAX0BfyMAQSBrIgQkACAEQQRqIAAgARDyAiAELQAQIQAgBCoCBCABKgIAkyIDIAOUIAQqAgggASoCBJMiAyADlJIgBCoCDCABKgIIkyIDIAOUkhCbASEDIARBIGokACADIAOMIAMgABsgAhsLewIBfwF9IwBBEGsiAiQAIAJCADcDCAJAIAEoAgBFBEBDAACAPyEDIAEoAgQiAUECSQ0BIAFBAkHw0cIAEOMIAAsgAiABKgIEOAIIIAFBCGoqAgAhA0EBIQELIAJBCGogAUECdGogAzgCACAAIAIpAwg3AgAgAkEQaiQAC70YAhF/An4CQAJAIABFDQAgACgCAA0BIABBfzYCACABRQ0AIAEoAgAiBkF/Rg0BIAEgBkEBajYCACABQQhqIRQgBEEARyEVIwBBQGoiDCQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQQRqIgUoAgAEQCAFKAIEIg8gBUEQaigCACIETw0CIAUoAgggD0EMbGoiBCgCAA0DIARBATYCACAFIAQpAgQ3AgAgBEEIakEANgIAIAQgBSgCFCISNgIEIAUgBSgCGEEBajYCGAwBCyAMQQhqIREjAEEwayIIJAAgBUEQaigCACIEQQF0IQsgBSgCBCENIAUoAgAhDwJAIAQgBUEMaigCACIHIARrIgZNDQACQCAEIARqIARJDQAgBEEYbCEJIAtBq9Wq1QBJQQJ0IQoCQCAHRQRAIAhBADYCHAwBCyAIQQQ2AhwgCCAHQQxsNgIgIAggBSgCCDYCGAsgCEEMaiAKIAkgCEEYahDaBiAIKAIQIQcgCCgCDEUEQCAFIAs2AgwgBSAHNgIIIAQhBgwCCyAHQYGAgIB4Rg0BIAdFDQAgByAIQRRqKAIAQdCBxAAoAgAiAEGXByAAGxEAAAALENsKAAsgBiALIAQiB2siBkEAIAYgC00bIgZJBEAgBUEIaiAEIAYQiwYgBSgCECEHCyAFKAIIIRACQCAEQQBMDQAgC0EBayESAkAgBEEBcUUEQCAEIQkMAQsgECAHQQxsaiIGIA0gBEEBaiIJIAQgEkYiChs2AgggBiAPQQEgChs2AgQgBkEANgIAIAdBAWohBwsgBEEBRg0AIAkgC2tBAWohCiAQIAdBDGxqIQYDQCAGQQA2AgAgBkEMakEANgIAIAZBBGpBASAPIAobNgIAIAZBCGogCUEBaiIOIA0gChs2AgAgBkEUaiANIAlBAmoiCSAOIBJGIg4bNgIAIAZBEGogD0EBIA4bNgIAIApBAmohCiAGQRhqIQYgB0ECaiEHIAkgC0cNAAsLIAUgBzYCEAJAAkAgBCAHSQRAIBAgBEEMbGoiBigCAA0BIAZBATYCACAFIAYpAgQ3AgAgBkEIakEANgIAIAYgBSgCFCIGNgIEIAUgBSgCGEEBajYCGCARIAY2AgQgESAENgIAIAhBMGokAAwCCyAEIAdBvJ7AABDjCAALIAhBGGoiAEEMakIANwIAIAhBATYCHCAIQeCewAA2AhggCEGAgMAANgIgIABB6J7AABDcCgALIAwoAgwhEiAMKAIIIQ8LIAxBIGpCADcDACAMQRhqQgA3AwAgDEIANwMQAkAgAr0iFqciDSAFQSRqKAIAIgdJBEAgByEEDAELIAcgDUEBaiIESQRAIAQgByIGayIJIAVBIGooAgAgB2tLBEAgBUEcaiAHIAkQjAYgBSgCJCEGCyAFKAIcIgggBkEDdGohBCAJQQJPBEAgBEH/ASANIAdrIgRBA3QQiQ0aIAggBCAGakEDdGohBCAGIAlqQQFrIQYLIARCfzcCACAGQQFqIQQLIAUgBDYCJAsCfwJAIAQgDUsEQCADvSIXpyELIBZCIIinIhAgBSgCHCIKIA1BA3RqIgYoAgBHDQEgBigCBAwCCyANIARBqKLAABDjCAALIAYgEDYCACAGQX82AgRBfwshCQJAIAQgC0sEQCAEIQYMAQsgC0EBaiIGIARLBEAgBCEHIAYgBGsiCCAFQSBqKAIAIARrSwRAIAVBHGogBCAIEIwGIAUoAhwhCiAFKAIkIQcLIAogB0EDdGohBiAIQQJPBEAgBkH/ASALIARrIgRBA3QQiQ0aIAogBCAHakEDdGohBiAHIAhqQQFrIQcLIAZCfzcCACAHQQFqIQYLIAUgBjYCJAsCfwJAIAYgC0sEQCAXQiCIpyIRIAogC0EDdGoiBCgCAEcNASAEKAIEDAILIAsgBkGoosAAEOMIAAsgBCARNgIAIARBfzYCBEF/CyEGIAlBf0YEQCAFQTBqKAIAIglBf0YNAyAJIgQgBUEsaigCAEYEQCAFQShqIAkQpAYgBSgCMCEECyAFIARBAWo2AjAgBSgCKCAEQQR0aiIEQn83AgggBCAQNgIEIAQgDTYCACANIAUoAiQiB08EQCAHIQggDSAHayITQQFqIg4gBUEgaigCACAHa0sEQCAFQRxqIAcgDhCMBiAFKAIkIQgLIAUoAhwgCEEDdGohBCAOQQJPBEAgE0EHcSEKIAdBf3MgDWpBB08EQCATQXhxIQcDQCAEQv////8PNwIAIARBOGpC/////w83AgAgBEEwakL/////DzcCACAEQShqQv////8PNwIAIARBIGpC/////w83AgAgBEEYakL/////DzcCACAEQRBqQv////8PNwIAIARBCGpC/////w83AgAgBEFAayEEIAdBCGsiBw0ACwsgCgRAA0AgBEL/////DzcCACAEQQhqIQQgCkEBayIKDQALCyAIIA5qQQFrIQgLIARC/////w83AgAgBSAIQQFqIgc2AiQLIAcgDU0NBCAFKAIcIA1BA3RqIgQgCTYCBCAEIBA2AgALIAZBf0YEQCAFQTBqKAIAIgZBf0YNBSAGIgQgBUEsaigCAEYEQCAFQShqIAYQpAYgBSgCMCEECyAFIARBAWo2AjAgBSgCKCAEQQR0aiIEQn83AgggBCARNgIEIAQgCzYCAAJAIAUoAiQiByALSwRAIAchBAwBCyAHIAtBAWoiBEkEQCAHIQggBCAHayIOIAVBIGooAgAgB2tLBEAgBUEcaiAHIA4QjAYgBSgCJCEICyAFKAIcIAhBA3RqIQQgDkECTwRAIAsgB2siE0EHcSEKIAdBf3MgC2pBB08EQCATQXhxIQcDQCAEQv////8PNwIAIARBOGpC/////w83AgAgBEEwakL/////DzcCACAEQShqQv////8PNwIAIARBIGpC/////w83AgAgBEEYakL/////DzcCACAEQRBqQv////8PNwIAIARBCGpC/////w83AgAgBEFAayEEIAdBCGsiBw0ACwsgCgRAA0AgBEL/////DzcCACAEQQhqIQQgCkEBayIKDQALCyAIIA5qQQFrIQgLIARC/////w83AgAgCEEBaiEECyAFIAQ2AiQLIAQgC00NBiAFKAIcIAtBA3RqIgQgBjYCBCAEIBE2AgALIAVBPGooAgAiBEF/Rg0GIAVBMGooAgAg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AEHYAmogHCkDADcDACAAQdACaiAdKQMANwMAIAAgASkDUDcDyAIgAEH4AmogHikDADcDACAAQfACaiAfKQMANwMAIAAgASkDODcD6AIgAEGQA2ogICkDADcDACAAQYgDaiAhKQMANwMAIAAgASkDIDcDgAMgAEGoA2ogIikDADcDACAAQaADaiAjKQMANwMAIAAgASkDCDcDmAMgAEGQBGpCADcDACAAQYgEakKAgICAwAA3AwAgAEIENwOABCAAQfgDakIANwMAIABB8ANqQoCAgIDAADcDACAAQgQ3A+gDIABB4ANqQgA3AwAgAEHYA2pCgICAgMAANwMAIABCBDcD0AMgAEEBOgDIAyAAQQA2AsADIABCADcDuAMgAUGQA2okACACQagEaiAAQZgEEIgNGkGR+8MALQAAGkGgBEEIEIIMIgBFBEBBCEGgBEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAEEEaiACQaQEakGcBBCIDRogAkHACGokACAAC2kBAn8jAEEgayICJAAgAiABNgIEQQEhAwJAIAAoAgAgAUYNAEECIQMgACgCBCABRg0AQQAhAyAAKAIIIAFGDQAgAkEANgIIIABBCGogAkEEaiACQQhqQcyzwgAQ4woACyACQSBqJAAgAwt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQiQ0aIANBADYCvAEgACABIAMgAkEAECAgAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEIkNGiADQQA2ArwBIAAgASADIAJBABAhIABBAzYCECADQcABaiQAC3sBAX8jAEHAAWsiAyQAIANBqAFqQgA3AwAgA0G4AWpBADYCACADQoKAgIAwNwMIIANCgICAgBA3AwAgA0IANwOgASADQgA3A7ABIANBEGpBAEGQARCJDRogA0EANgK8ASAAIAEgAyACQQAQHyAAQQM2AhAgA0HAAWokAAt7AQF/IwBBwAFrIgMkACADQagBakIANwMAIANBuAFqQQA2AgAgA0KCgICAMDcDCCADQoCAgIAQNwMAIANCADcDoAEgA0IANwOwASADQRBqQQBBkAEQiQ0aIANBADYCvAEgACABIAMgAkEAEB4gAEEDNgIQIANBwAFqJAALewEBfyMAQcABayIDJAAgA0GoAWpCADcDACADQbgBakEANgIAIANCgoCAgDA3AwggA0KAgICAEDcDACADQgA3A6ABIANCADcDsAEgA0EQakEAQZABEIkNGiADQQA2ArwBIAAgASADIAJBABAiIABBAzYCECADQcABaiQAC3wBAX8jAEHAAWsiBCQAIARBqAFqQgA3AwAgBEG4AWpBADYCACAEQoKAgIAwNwMIIARCgICAgBA3AwAgBEIANwOgASAEQgA3A7ABIARBEGpBAEGQARCJDRogBEEANgK8ASAAIAEoAgAgASgCCCAEIAIgAxAdIARBwAFqJAALcAEBfyMAQSBrIgIkAAJ/QQEgACABEN0EDQAaIAJBFGpCADcCACACQQE2AgwgAkG82sMANgIIIAJB+MHDADYCEEEBIAEoAhQgAUEYaigCACACQQhqELICDQAaIABBBGogARDdBAshACACQSBqJAAgAAtfAQN/AkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCAAJAIABBDGooAgAgAU0NACAAQQRqKAIAIgRFDQAgBCABQdQBbGotADQhAwsgACACNgIAIAMPCxD4DAALEPkMAAtrAgF/AX4CQAJAIAAEQCAAKAIADQEgAEF/NgIAIABBBGogAb0iBKcgBEIgiKcQigciA0UNAiADQRhqQgA3AwAgAyACrTcDECAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAtlAgF/BH0jAEEQayIDJAAgAioCACIFIAWUIAIqAgQiBiAGlJIgAioCCCIHIAeUkhCbASEEIAMgByAElTgCDCADIAYgBJU4AgggAyAFIASVOAIEIAAgASADQQRqENMDIANBEGokAAtpACAAQgA3AgAgAEIANwIwIABCADcCQCAAQShqQgA3AgAgAEEgakIANwIAIABBGGpCADcCACAAQRBqQgA3AgAgAEEIakIANwIAIABBOGpCADcCACAAQcgAakIANwIAIABB0ABqQgA3AgALXwECfyMAQSBrIgIkACACQQxqIgMgAUGYv8AAEIQLIAIg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akEoaioCACECCyAAIAM2AgAgAg8LEPgMAAsQ+QwAC14CAX0CfwJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgASAAKAIEIgRB4ABqKAIASQRAIARB2ABqKAIAIAFBKGxqKgIMIQILIAAgAzYCACACDwsQ+AwACxD5DAALagAgACABKQIANwIMIAAgAikCADcCGCAAIAEqAgQgAioCBJM4AgQgACABKgIAIAIqAgCTOAIAIABBFGogAUEIaiIBKAIANgIAIABBIGogAkEIaiICKAIANgIAIAAgASoCACACKgIAkzgCCAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADEB8gBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECAgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECIgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADECEgBEHAAWokAAt0AQF/IwBBwAFrIgQkACAEQagBakIANwMAIARBuAFqQQA2AgAgBEKCgICAMDcDCCAEQoCAgIAQNwMAIARCADcDoAEgBEIANwOwASAEQRBqQQBBkAEQiQ0aIARBADYCvAEgACABIAQgAiADEB4gBEHAAWokAAtdAQJ/IwBBIGsiAyQAIANBBGoiBCABIAIQ8gIgAEEIaiAEQQhqKQIANwIAIAAgAykCBDcCACAAQRRqQQAgBEEUaigCACADKAIUIgEbNgIAIAAgATYCECADQSBqJAALcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCuuWiqui76NhvhSADQsPfpvKw/4igIIWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCrPzNjNiE8KxRhSADQp2076Wh6IWStn+FhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQu/Cy+3Lto2+WoUgA0KE0dKKu+SMzssAhYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEK1vYK6y7q96vsAhSADQsHN5/jm8IShGIWEUBsLcgIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCtb2Cusu6ver7AIUgA0LBzef45vCEoRiFhFAbC3ECAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQqWSyKytwtOTBIUgA0K///2xwrzFw2yFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQsnr8I2An+6jfYUgA0LLv7z095PnuKt/hYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEL5yKaVsqD59wqFIANCwqao39+zztXGAIWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARChdqn8drxkeIYhSADQsaZlq7jzbvzOYWEUBsLcQIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJkEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARChdqn8drxkeIYhSADQsaZlq7jzbvzOYWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCj6CK4/aL2Jv4AIUgA0KLlZLKhbvNvP8AhYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmARAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELKid2Dm7bq+fAAhSADQpaDlJCrl76wUoWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCibzv2PuJ5Jiuf4UgA0LogtON4oXyl9kAhYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKJvO/Y+4nkmK5/hSADQuiC043ihfKX2QCFhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQtS/j7WF8OCjzwCFIANC5uiP2+/1t7AchYRQGwtyAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBELUv4+1hfDgo88AhSADQuboj9vv9bewHIWEUBsLcwIBfwJ+IwBBIGsiAiQAIAJBGGogACABKAJgEQAAIAJBCGogAigCGCIAIAIoAhxBDGooAgARAAAgAkEQaikDACEDIAIpAwghBCACQSBqJAAgAEEAIARCsK/2q77pqK+df4UgA0LGj8PK/pXCqIx/hYRQGwtzAgF/An4jAEEgayICJAAgAkEYaiAAIAEoAmQRAAAgAkEIaiACKAIYIgAgAigCHEEMaigCABEAACACQRBqKQMAIQMgAikDCCEEIAJBIGokACAAQQAgBEKwr/arvumor51/hSADQsaPw8r+lcKojH+FhFAbC3ICAX8CfiMAQSBrIgIkACACQRhqIAAgASgCYBEAACACQQhqIAIoAhgiACACKAIcQQxqKAIAEQAAIAJBEGopAwAhAyACKQMIIQQgAkEgaiQAIABBACAEQovuxoLg/8GDhH+FIANCvePxpq/G7Ps9hYRQGwt9AQF/QZH7wwAtAAAaQRxBBBCCDCICRQRAQQRBHEHQgcQAKAIAIgBBlwcgABsRAAAACyACIAEpAgA3AgAgAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikCADcCACACQQhqIAFBCGopAgA3AgAgAEG01sIANgIEIAAgAjYCAAtoACMAQTBrIgAkAEGQ+8MALQAABEAgAEEYakIBNwIAIABBAjYCECAAQbS7wwA2AgwgAEECNgIoIAAgATYCLCAAIABBJGo2AhQgACAAQSxqNgIkIABBDGpB3LvDABDcCgALIABBMGokAAvDAwELfyMAQRBrIgUkAAJAIAAEQCAAKAIAIgNBf0YNASAAIANBAWo2AgAgBSABNgIMIAVBDGohCSMAQSBrIgIkACACQYEBNgIIIAJBDGogAEEEahCWCwJAIAIoAgwiASACKAIQIgdGDQAgAigCFCEGIAIoAhghCANAIAFBFGohAwJAAkAgASgCACIKQX9HBEAgAUEQaigCACILDQELIAMgB0YNAwwBCwJAIAFBBGooAgAiBCAIQRBqKAIATw0AIAhBCGooAgAiDEUNACAMIARBlAJsaiIELQCQAkECRg0AIAQoAgAgAUEIaigCAEcNAAJAIAsgBEEMaigCAEkEQCAEQQRqKAIADQELQdiHwABBK0GEpcAAEKoKAAsgAiAGrSAKrUIghoS/EAA2AhwgAiAJIAJBCGogAkEcahC3CiACKAIEIgFBhAFPBEAgARACCyACKAIcIgFBhAFPBEAgARACCyADIAdHDQEMAwtBgIDAAEETQfSkwAAQ4QkACyAGQQFqIQYgAyEBDAALAAsgAigCCCIBQYQBTwRAIAEQAgsgAkEgaiQAIAAgACgCAEEBazYCACAFQRBqJAAPCxD4DAALEPkMAAudAgEGfyMAQRBrIgMkAAJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAgAyABNgIMIANBDGohBiMAQSBrIgEkACABQYEBNgIIIAFBDGogAEEEahCACyABKAIUIQQgASgCECEHIAEoAgwhAgNAAkACQAJAIAIgB0cEQCACKAIADQEMAgsgASgCCCICQYQBTwRAIAIQAgsgAUEgaiQADAILIAEgBK0gAkEEajUCAEIghoS/EAA2AhwgASAGIAFBCGogAUEcahC3CiABKAIEIgVBhAFPBEAgBRACCyABKAIcIgVBhAFJDQAgBRACCyACQegCaiECIARBAWohBAwBCwsgACAAKAIAQQFrNgIAIANBEGokAA8LEPgMAAsQ+QwAC50CAQZ/IwBBEGsiAyQAAkAgAARAIAAoAgAiAkF/Rg0BIAAgAkEBajYCACADIAE2AgwgA0EMaiEGIwBBIGsiASQAIAFBgQE2AgggAUEMaiAAQQRqEIELIAEoAhQhBCABKAIQIQcgASgCDCECA0ACQAJAAkAgAiAHRwRAIAIoAgANAQwCCyABKAIIIgJBhAFPBEAgAhACCyABQSBqJAAMAgsgASAErSACQQRqNQIAQiCGhL8QADYCHCABIAYgAUEIaiABQRxqELcKIAEoAgQiBUGEAU8EQCAFEAILIAEoAhwiBUGEAUkNACAFEAILIAJBqAFqIQIgBEEBaiEEDAELCyAAIAAoAgBBAWs2AgAgA0EQaiQADwsQ+AwACxD5DAAL1AEBBH8jAEEQayIFJAAgBUEIaiEGQZH7wwAtAAAaQRhBBBCCDCIERQRAQQRBGEHQgcQAKAIAIgRBlwcgBBsRAAAACyAEIAM4AhQgBCACOAIQIAQgATgCDCAEIAA4AgggBEKBgICAEDcCACAGQfiCwwA2AgQgBiAENgIAQZH7wwAtAAAaIAUoAgwhBiAFKAIIIQdBDEEEEIIMIgRFBEBBBEEMQdCBxAAoAgAiBEGXByAEGxEAAAALIAQgBjYCCCAEIAc2AgQgBEEANgIAIAVBEGokACAEC84BACAAQv////v///+/fzcDMCAAQv////v3//+//wA3AyggAEL////79///v/8ANwMgIABC////+/f//7//ADcDGCAAQv////v3//+//wA3AxAgAEL////79///v/8ANwMIIABC////+/f//7//ADcDACAAQdgAakL////7////v383AwAgAEHQAGpC////+////79/NwMAIABByABqQv////v///+/fzcDACAAQUBrQv////v///+/fzcDACAAQThqQv////v///+/fzcDAAtgAQN9IAAgAioCECIEIAEqAgAiA5I4AgwgACAEIAOTOAIAIABBFGogAyACQRhqKgIAIgSSOAIAIABBEGogAyACQRRqKgIAIgWSOAIAIAAgBCADkzgCCCAAIAUgA5M4AgQLWQECfwJAIAAoAgAiAEEQaigCACIBRQ0AIABBFGooAgAhAiABQQA6AAAgAkUNACABEJoCCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCaAgsLlAEBAX9BkfvDAC0AABpB+ABBBBCCDCIARQRAQQRB+ABB0IHEACgCACIAQZcHIAAbEQAAAAsgAEKAgICAgICAwD83AhQgAEIANwIMIABBfzYCCCAAQoCAgIBwNwIAIABBHGpBAEHEABCJDRogAEECOgB0IABBADYCcCAAQoCAgICAgIDAPzcCaCAAQoCAgPwDNwJgIAALhQECAX8BfkGR+8MALQAAGkE8QQQQggwiAUUEQEEEQTxB0IHEACgCACIBQZcHIAEbEQAAAAsgAUIBNwI0IAFBADYCKCABQgA3AiAgAUKAgICAwAA3AhggAUIENwIQIAFCADcCCCABQoCAgIDAADcCACABIAC9IgI+AiwgASACQiCIPgIwIAELZAIBfgF/AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgOnIANCIIinEIoHIgRFDQIgBEGMAWogAjgCACAAQQA2AgAPCxD4DAALEPkMAAtB7LTAAEHNAEH0tcAAEOEJAAvfAQICfwF+AkACQCAABEAgACgCAA0BIABBfzYCACAAQQRqIAG9IgWnIAVCIIinEIoH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RQRAQQQhC0EAIQdBAAwCCyAHQf////8ASw0CIAdBA3QiAkEASA0CAkACQCACRQRAQQQhCwwBC0GR+8MALQAAGiACQQQQggwiC0UNAQsgB0EDcSEBIAVBAmtBA08EQCAHQXxxIQUgCyECA0AgAiAGNgIAIAJBHGogBkEEaiIENgIAIAJBGGogBkEDaiIINgIAIAJBFGogCDYCACACQRBqIAZBAmoiCDYCACACQQxqIAg2AgAgAkEIaiAGQQFqIgg2AgAgAiAINgIEIAJBIGohAiAEIQYgBCAFRw0ACwsgAQRAIAsgBEEDdGohAgNAIAIgBDYCACACIARBAWoiBDYCBCACQQhqIQIgAUEBayIBDQALCyAHDAILDAgLIAIoAgghByACKAIECyESIANBQGtBADYCACADQThqQoCAgIDAADcCACADQShqQgA3AgAgA0EgakKAgICAwAA3AgAgA0IENwIwIANCEDcCGCADQv////v///+/fzcCECADQv////v3//+/fzcCCCADQv////v3//+//wA3AgAgA0EBOgBLAkACQCAHRQRAIANBADYCVCADQgQ3AkwgA0EANgJEIANCBDcCPCADQQA2AmAgA0IENwJYDAELQZH7wwAtAAAaIAdBAnQiAkEEEIIMIgFFDQggA0EANgJUIAMgATYCTCADIAc2AlAgB0HVqtUqSw0CIAdBGGwiAkEASA0CAkAgAkUEQEEEIQEMAQtBkfvDAC0AABogAkEEEIIMIgFFDQILIAEhAgJAIAdBAkkNACAHQQFrIgVBA3EhBCAHQQJrQQNPBEAgBUF8cSEGA0AgAkL////7////v383AhAgAkL////79///v383AgggAkL////79///v/8ANwIAIAJB2ABqQv////v///+/fzcCACACQdAAakL////79///v383AgAgAkHIAGpC////+/f//7//ADcCACACQUBrQv////v///+/fzcCACACQThqQv////v3//+/fzcCACACQTBqQv////v3//+//wA3AgAgAkEoakL////7////v383AgAgAkEgakL////79///v383AgAgAkEYakL////79///v/8ANwIAIAJB4ABqIQIgBkEEayIGDQALCyAERQ0AA0AgAkL////7////v383AhAgAkL////79///v383AgggAkL////79///v/8ANwIAIAJBGGohAiAEQQFrIgQNAAsLIAJB////+wc2AgggAkL////79///v/8ANwIAIAJB////ezYCFCACQv////v///+/fzcCDCADIAc2AmAgAyAHNgJcIAMgATYCWCAHQQxsIgJBAEgNAgJAIAJFBEBBBCEBDAELQZH7wwAtAAAaIAJBBBCCDCIBRQ0JCyABIQICQCAHQQJJDQAgB0EBayIFQQNxIQQgB0ECa0EDTwRAIAVBfHEhBgNAIAJCfzcCCCACQQA6AAQgAkF/NgIAIAJBLGpBfzYCACACQShqQQA6AAAgAkEgakJ/NwIAIAJBHGpBADoAACACQRRqQn83AgAgAkEQakEAOgAAIAJBMGohAiAGQQRrIgYNAAsLIARFDQADQCACQX82AgggAkEAOgAEIAJBfzYCACACQQxqIQIgBEEBayIEDQALCyACQX82AgggAkEAOgAEIAJBfzYCACADKAJABEAgAygCPBCaAgsgAyAHNgJEIAMgBzYCQCADIAE2AjwgB0UNACALIAdBA3RqIRMgDSgCACERIA0oAgghDyADQTxqIRQgByEBQQAhBCALIRADQCAQKAIAIgIgD08NBCAQQQRqKAIAIgUgD08NBSAEQQFqIQggESAFQQxsaiIFKgIEIRYgBSoCACEXIAUqAgghGCARIAJBDGxqIgIqAgAhGSACKgIEIRogAioCCCEbIAEgBE0EQCABIQUgCCABayIJIAMoAkAgAWtLBEAgFCABIAkQiwYgAygCRCEFCyADKAI8IAVBDGxqIQIgCUECTwRAIAQgAWsiBkEDcSEMIAQgAUF/c2pBA08EQCAGQXxxIQYDQCACQn83AgggAkEAOgAEIAJBfzYCACACQSxqQX82AgAgAkEoakEAOgAAIAJBIGpCfzcCACACQRxqQQA6AAAgAkEUakJ/NwIAIAJBEGpBADoAACACQTBqIQIgBkEEayIGDQALCyAMBEAgDiABa0EDcSEGA0AgAkF/NgIIIAJBADoABCACQX82AgAgAkEMaiECIAZBAWsiBg0ACwsgBSAJakEBayEFCyACQX82AgggAkEAOgAEIAJBfzYCACADIAVBAWoiATYCRCADIAMoAmAiCSAETQR/IAggCSIFayEMIAwgAygCXCAFa0sEQCADQdgAaiAJIAwQnQYgAygCYCEFCyADKAJYIAVBGGxqIQIgDEECTwRAIAQgCWsiBkEDcSEVIAQgCUF/c2pBA08EQCAGQXxxIQYDQCACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgAkHYAGpC////+////79/NwIAIAJB0ABqQv////v3//+/fzcCACACQcgAakL////79///v/8ANwIAIAJBQGtC////+////79/NwIAIAJBOGpC////+/f//79/NwIAIAJBMGpC////+/f//7//ADcCACACQShqQv////v///+/fzcCACACQSBqQv////v3//+/fzcCACACQRhqQv////v3//+//wA3AgAgAkHgAGohAiAGQQRrIgYNAAsLIBUEQCAOIAlrQQNxIQYDQCACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgAkEYaiECIAZBAWsiBg0ACwsgBSAMakEBayEFCyACQv////v///+/fzcCECACQv////v3//+/fzcCCCACQv////v3//+//wA3AgAgBUEBagUgCAs2AmALIAEgBE0NBiADKAI8IARBDGxqIAQ2AgggAygCYCICIARNDQcgAygCWCAEQRhsaiICIBsgGCAbIBpDAAAAAJQiHiAZQwAAAACUIh+SIiKSIBggF0MAAAAAlCIgIBZDAAAAAJQiIZIiI5JeGzgCFCACIBogFiAbQwAAAACUIhwgGiAfkpIgICAWkiAYQwAAAACUIh2SXhs4AhAgAiAZIBcgHCAZIB6SkiAXICGSIB2SXhs4AgwgAiAbIBggIiAbkyAjIBiTXhs4AgggAiAaIBYgHCAfIBqTkiAgIBaTIB2SXhs4AgQgAiAZIBcgHCAeIBmTkiAhIBeTIB2SXhs4AgAgAygCVCICIAMoAlBGBEAgA0HMAGogAhCoBiADKAJUIQILIAMoAkwgAkECdGogBDYCACADIAJBAWo2AlQgDkEBaiEOIAghBCATIBBBCGoiEEcNAAsLIAMoAiAiBCADKAIcRgRAIANBGGogBBCvBiADKAIgIQQLIAMoAhggBEEHdGoiAUKBgICAcDcDYCABQQA6AHggAUEAOgB0IAFBfzYCcCABQv////v///+/fzcDWCABQv////v///+/fzcDUCABQv////v///+/fzcDSCABQv////v///+/fzcDQCABQv////v///+/fzcDOCABQv////v///+/fzcDMCABQv////v3//+//wA3AyggAUL////79///v/8ANwMgIAFC////+/f//7//ADcDGCABQv////v3//+//wA3AxAgAUL////79///v/8ANwMIIAFC////+/f//7//ADcDACABQegAakJ/NwMAIAMgBEEBajYCICADQeQAaiADIANBywBqIAMoAkwiAiADKAJUIANB2ABqQQBBABBEIAMgA0H8AGoqAgAiFjgCFCADIANB+ABqKgIAIhc4AhAgAyADQfQAaioCACIYOAIMIAMgA0HwAGoqAgAiGTgCCCADIANB7ABqKgIAIho4AgQgAyADKgJoIhs4AgAgAygCIEUNBiADKAIYIgFB////ezYCXCABQv////v///+/fzcCVCABIBY4AlAgAUH///97NgJMIAFC////+////79/NwJEIAEgFzgCQCABQf///3s2AjwgAUL////7////v383AjQgASAYOAIwIAFB////+wc2AiwgAUL////79///v/8ANwIkIAEgGTgCICABQf////sHNgIcIAFC////+/f//7//ADcCFCABIBo4AhAgAUH////7BzYCDCABQv////v3//+//wA3AgQgASAbOAIAIAMoAlwEQCADKAJYEJoCCyADKAJQBEAgAhCaAgsgCkEYaiADQcgAEIgNGiAKQRRqIAc2AgAgCkEQaiASNgIAIAogCzYCDCAKQQhqIA1BCGooAgA2AgAgCiANKQIANwIAIANBgAFqJAAMCAsMBgsQ2woACyACIA9B7M3CABDjCAALIAUgD0H8zcIAEOMIAAsgBCABQdCewgAQ4wgACyAEIAJB4J7CABDjCAALQQBBAEHAnsIAEOMIAAtBBCACQdCBxAAoAgAiAEGXByAAGxEAAAALQZH7wwAtAAAaQegAQQQQggwiAUUEQEEEQegAQdCBxAAoAgAiAEGXByAAGxEAAAALIAFCgYCAgBA3AgAgAUEIaiAKQeAAEIgNGiAAQfTcwgA2AgQgACABNgIAIApB4ABqJAALeAIBfwF9IwBB4ABrIgIkACACIAEQxgFBkfvDAC0AABogASoCYCEDQeQAQQQQggwiAUUEQEEEQeQAQdCBxAAoAgAiAEGXByAAGxEAAAALIAEgAkHgABCIDSIBIAM4AmAgAEHAhcMANgIEIAAgATYCACACQeAAaiQAC10BAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQRxqQgE3AgAgA0EBNgIUIANB1NrDADYCECADQa8HNgIsIAMgA0EoajYCGCADIANBCGo2AiggA0EQaiACENwKAAvMAgEDfyMAQaABayICJAACQCAABEAgACgCAA0BIAJBBGoiASAAQQRqQZwBEIgNGiAAEJoCIAEoAgAiACgCACEDIAAgA0EBazYCACADQQFGBEAgARCaCAsgAUHsAGooAgAEQCABQegAaigCABCaAgsgAUH4AGooAgAEQCABQfQAaigCABCaAgsgAUGEAWooAgAEQCABQYABaigCABCaAgsgAUGQAWooAgAEQCABQYwBaigCABCaAgsgAUEMaigCAARAIAEoAggQmgILIAFBGGooAgAEQCABQRRqKAIAEJoCCyABQSRqKAIABEAgAUEgaigCABCaAgsgAUEwaigCAARAIAFBLGooAgAQmgILIAFBPGooAgAEQCABQThqKAIAEJoCCyABQcgAaigCAARAIAFBxABqKAIAEJoCCyACQaABaiQADwsQ+AwACxD5DAAL8AIBA38jAEGgAWsiASQAIAFBBGohAEGR+8MALQAAGkEIQQQQggwiAkUEQEEEQQhB0IHEACgCACIAQZcHIAAbEQAAAAsgAEGKro/hAzYCmAEgAEIANwKQASAAQoCAgIDAADcCiAEgAEIENwKAASAAQgA3AnggAEKAgICAwAA3AnAgAEIQNwJoIABC////+////79/NwJgIABC////+/f//79/NwJYIABC////+/f//7//ADcCUCAAQgA3AkggAEKAgICAwAA3AkAgAEIBNwI4IABCADcCMCAAQoCAgIDAADcCKCAAQgQ3AiAgAEIANwIYIABCgICAgMAANwIQIABCBDcCCCAAQYjqwQA2AgQgACACNgIAIAJCgYCAgBA3AgBBkfvDAC0AABpBoAFBBBCCDCIARQRAQQRBoAFB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIABBBGogAUEEakGcARCIDRogAUGgAWokACAAC0sBAn8jAEHQAGsiASQAAkAgAARAIAAoAgANASABQQRqIgIgAEEEakHMABCIDRogABCaAiACEJEHIAFB0ABqJAAPCxD4DAALEPkMAAvxAwEHfyMAQdAA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GxEAAAALQQRByAFB0IHEACgCACIAQZcHIAAbEQAAAAtBkfvDAC0AABpByABBBBCCDCIARQRAQQRByABB0IHEACgCACIAQZcHIAAbEQAAAAsgAEEANgIAIABBBGogAUEMakHEABCIDRogAUHQAGokACAADwtBBEGgAUHQgcQAKAIAIgBBlwcgABsRAAAAC7gJAQR/IwBBoARrIgQkAAJAIAAEQCAAKAIADQEgBEEIaiIBIABBCGpBmAQQiA0aIAAQmgIgAUHUA2ooAgAEQCABKALQAxCaAgsgASgC3AMhAiABQeQDaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBDGohACADQQFrIgMNAAsLIAFB4ANqKAIABEAgAhCaAgsgASgC6AMhAiABQfADaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBDGohACADQQFrIgMNAAsLIAFB7ANqKAIABEAgAhCaAgsgAUH4A2ooAgAEQCABKAL0AxCaAgsgAUGEBGooAgAEQCABKAKABBCaAgsgASgCjAQhAiABQZQEaigCACIDBEAgAiEAA0AgAEEEaigCAARAIAAoAgAQmgILIABBFGooAgAEQCAAQRBqKAIAEJoCCyAAQSBqKAIABEAgAEEcaigCABCaAgsgAEEsaigCAARAIABBKGooAgAQmgILIABBOGooAgAEQCAAQTRqKAIAEJoCCyAAQcQAaigCAARAIABBQGsoAgAQmgILIABB0ABqKAIABEAgAEHMAGooAgAQmgILIABB3ABqKAIABEAgAEHYAGooAgAQmgILIABB6ABqKAIABEAgAEHkAGooAgAQmgILIABB9ABqKAIABEAgAEHwAGooAgAQmgILIABBgAFqKAIABEAgAEH8AGooAgAQmgILIABBjAFqKAIABEAgAEGIAWooAgAQmgILIABBmAFqKAIABEAgAEGUAWooAgAQmgILIABBpAFqKAIABEAgAEGgAWooAgAQmgILIABBsAFqKAIABEAgAEGsAWooAgAQmgILIABBvAFqKAIABEAgAEG4AWooAgAQmgILIABBzAFqKAIABEAgAEHIAWooAgAQmgILIABB2AFqKAIABEAgAEHUAWooAgAQmgILIABB5AFqKAIABEAgAEHgAWooAgAQmgILIABB8AFqKAIABEAgAEHsAWooAgAQmgILIABB/AFqKAIABEAgAEH4AWooAgAQmgILIABBiAJqKAIABEAgAEGEAmooAgAQmgILIABBlAJqKAIABEAgAEGQAmooAgAQmgILIABBoAJqKAIABEAgAEGcAmooAgAQmgILIABBrAJqKAIABEAgAEGoAmooAgAQmgILIABBuAJqKAIABEAgAEG0AmooAgAQmgILIABBxAJqKAIABEAgAEHAAmooAgAQmgILIABB0AJqKAIABEAgAEHMAmooAgAQmgILIABB3AJqKAIABEAgAEHYAmooAgAQmgILIABB6AJqKAIABEAgAEHkAmooAgAQmgILIABB9AJqKAIABEAgAEHwAmooAgAQmgILIABBgANqKAIABEAgAEH8AmooAgAQmgILIABBjANqKAIABEAgAEGIA2ooAgAQmgILIABBmANqKAIABEAgAEGUA2ooAgAQmgILIABBqANqKAIABEAgAEGkA2ooAgAQmgILIABBuANqKAIABEAgAEG0A2ooAgAQmgILIABBwANqIQAgA0EBayIDDQALCyABQZAEaigCAARAIAIQmgILIARBoARqJAAPCxD4DAALEPkMAAumAwEDfyMAQaABayIBJAAgAUEEaiEAQZH7wwAtAAAaQQhBBBCCDCICRQRAQQRBCEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQYquj+EDNgKYASAAQv////v3//+//wA3AlAgAEGI6sEANgIEIAAgAjYCACACQoGAgIAQNwIAIABCBDcCCCAAQZABakIANwIAIABBiAFqQoCAgIDAADcCACAAQYABakIENwIAIABB+ABqQgA3AgAgAEHwAGpCgICAgMAANwIAIABB6ABqQhA3AgAgAEHgAGpC////+////79/NwIAIABB2ABqQv////v3//+/fzcCACAAQRBqQoCAgIDAADcCACAAQRhqQgA3AgAgAEEgakIENwIAIABBKGpCgICAgMAANwIAIABBMGpCADcCACAAQThqQgE3AgAgAEFAa0KAgICAwAA3AgAgAEHIAGpCADcCAEGR+8MALQAAGkGgAUEEEIIMIgBFBEBBBEGgAUHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAEEEaiABQQRqQZwBEIgNGiABQaABaiQAIAALNQEBfyAAKAIEIgEEQCAAKAIAIAFBAnRB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QRBqJAAgA0EQaiQAIAALQgEBfUMAAAAAIAEqAgAiAyADlCABKgIEIgMgA5SSIAEqAggiAyADlJIQmwEgACoCAJMiAyACGyADIANDAAAAAF0bCz0BA30gASoCACICIAKUIAEqAggiAiAClJIQmwEhAiABKgIEIgMgACoCACIEXyACIAAqAgRfcSADIASMYHELPQECfyMAQTBrIgQkACAEQQxqIgUgASACIAMQTSAAQQhqIAVBCGopAgA3AgAgACAEKQIMNwIAIARBMGokAAtdAQF/QZH7wwAtAAAaQQZBARCCDCIBRQRAQQFBBkHQgcQAKAIAIgBBlwcgABsRAAAACyABQQRqQcS3wAAvAAA7AAAgAUHAt8AAKAAANgAAIAAgATYCACAAQQY2AgQLQAIBfwF8AkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACAAKAIEKwIAIQIgACABNgIAIAIPCxD4DAALEPkMAAtAAgF/AXwCQCAABEAgACgCACIBQX9GDQEgACABQQFqNgIAIAAoAgQrAgghAiAAIAE2AgAgAg8LEPgMAAsQ+QwACz8BAn8CQCAABEAgACgCACIBQX9GDQEgACABQQFqNgIAIAAoAgQoAqABIQIgACABNgIAIAIPCxD4DAALEPkMAAs/AQJ/AkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACAAKAIEKAKkASECIAAgATYCACACDwsQ+AwACxD5DAALVwEBf0GR+8MALQAAGkEUQQQQggwiBEUEQEEEQRRB0IHEACgCACIEQZcHIAQbEQAAAAsgBCADOAIQIAQgAjgCDCAEIAE4AgggBCAAOAIEIARBADYCACAEC0sAIAEoAgAgAigCACADKAIAEAchAUGY+8MAKAIAIQJBlPvDACgCACEDQZT7wwBCADcCACAAIAIgASADQQFGIgEbNgIEIAAgATYCAAs5AAJAIAFpQQFHDQBBgICAgHggAWsgAEkNACAABEBBkfvDAC0AABogACABEIIMIgFFDQELIAEPCwALPAEBfyMAQSBrIgMkACADQQRqIgQgASACEPICIABBCGogBEEIaikCADcCACAAIAMpAgQ3AgAgA0EgaiQACz8BAX8jAEEgayIFJAAgBUEIaiABIAIgAyAEEOcBIAUoAgghASAAIAUqAhA4AgQgACABQQRHNgIAIAVB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cSICIAJBA08bIggEQEHW2cMAQdfZwwBB+MHDACADGyAJQgBTGyEGQQEhAkEBIAlCP4inIAMbIQcgCEECaw4CAgMBCyAAQQM2ApgIIABB2NnDADYClAggAEECOwGQCEEBIQJBACEHQfjBwwAhBiAAQZAIagwECyAAQQM2ApgIIABB29nDADYClAggAEECOwGQCCAAQZAIagwDC0ECIQIgAEECOwGQCCAERQ0BIABBoAhqIAQ2AgAgAEEAOwGcCCAAQQI2ApgIIABBrdnDADYClAggAEGQCGoMAgtBdEEFIAXBIgNBAEgbIANsIgNBwP0ASQRAIABBkAhqIABB0AhqIABBEGogA0EEdkEVaiICQYCAfkEAIARrIARBgIACTxsiAxDEASADwSEDAkAgACgCkAhFBEAgAEHACGogAEHQCGogAEEQaiACIAMQLgwBCyAAQcgIaiAAQZgIaigCADYCACAAIAApApAINwPACAsgAyAALgHICCIDSARAIABBCGogACgCwAggACgCxAggAyAEIABBkAhqEKAEIAAoAgwhAiAAKAIIDAMLQQIhAiAAQQI7AZAIIARFBEBBASECIABBATYCmAggAEHe2cMANgKUCCAAQZAIagwDCyAAQaAIaiAENgIAIABBADsBnAggAEECNgKYCCAAQa3ZwwA2ApQIIABBkAhqDAILQeXZwwBBJUGM2sMAEKoKAAtBASECIABBATYCmAggAEHe2cMANgKUCCAAQZAIagshAyAAQcwIaiACNgIAIAAgAzYCyAggACAHNgLECCAAIAY2AsAIIAEgAEHACGoQ0QIhASAAQfAIaiQAIAEPCyMAQYABayIAJAAgD70hCQJAIA8gD2IEQEECIQIMAQsgCUL/////////B4MiDUKAgICAgICACIQgCUIBhkL+////////D4MgCUI0iKdB/w9xIgUbIgpCAYMhDEEDIQICQAJAAkBBAUECQQQgCUKAgICAgICA+P8AgyIOUCIGGyAOQoCAgICAgID4/wBRG0EDQQQgBhsgDVAbQQJrDgMAAQIDC0EEIQIMAgsgBUGzCGshBCAMUCECQgEhCwwBC0KAgICAgICAICAKQgGGIApCgICAgICAgAhRIgIbIQpCAkIBIAIbIQtBy3dBzHcgAhsgBWohBCAMUCECCyAAIAQ7AXggACALNwNwIABCATcDaCAA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QQA2AgAPCxD4DAALEPkMAAt2AQJ/AkAgAARAIAAoAgANASAAQX82AgAgAEEEaiIBKAIsIgJFBEBB9MLAAEErQZSowQAQqgoACyABQQE2AiwgASACNgIAIAFCgICA/IOAgMA/NwIUIAFCmrPm+IOAgMA/NwIMIABBADYCAA8LEPgMAAsQ+QwAC0kBAX5BkfvDAC0AABogACkCACEBQRBBBBCCDCIARQRAQQRBEEHQgcQAKAIAIgBBlwcgABsRAAAACyAAIAE3AgQgAEEAOgAAIAALMgEBfyABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQ7QwPCyAAIAEQlwcPCyAAIAEQlgcLLwEBfSABKgIAIgIgApQgASoCBCICIAKUkiABKgIIIgIgApSSIAAqAgAiAiAClF8LMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQ1gEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOcBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDOASADKAIIIQAgA0EgaiQAIABBBEcLLwEBfyMAQRBrIgMkACADQQhqIAAgASACQQEQaCADKAIIIQAgA0EQaiQAIABBAUYLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQvQEgAygCCCEAIANBIGokACAAQQRHCy8BAX8jAEEQayIDJAAgA0EIaiAAIAEgAkEBEF4gAygCCCEAIANBEGokACAAQQFGCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOMBIAMoAgghACADQSBqJAAgAEEERwswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARCyASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQlQEgAygCCCEAIANBIGokACAAQQRHCzABAX8jAEEgayIDJAAgA0EIaiAAIAEgAkEBEOYBIAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBIGsiAyQAIANBCGogACABIAJBABB/IAMoAgghACADQSBqJAAgAEEERwsvAQF/IwBBEGsiAyQAIANBCGogACABIAJBARBzIAMoAgghACADQRBqJAAgAEEBRgswAQF/IwBBIGsiAyQAIANBCGogACABIAJBARDDASADKAIIIQAgA0EgaiQAIABBBEcLMAEBfyMAQSBrIgMkACADQQhqIAAgASACQQEQzAEgAygCCCEAIANBIGokACAAQQRHCy4BAX8CQCAAKAIAIgBBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgABCaAgsLLgEBfyMAQRBrIgAkACAAQQhqIgIgAUGwl8AAEJ8LIAIQ+QYhASAAQRBqJAAgAQstAQF/IwBBMGsiAiQAIAJBDGogACABQQEQSCACLQAYIQAgAkEwaiQAIABBAEcLRQEBf0GR+8MALQAAGkEQQQQQggwiAEUEQEEEQRBB0IHEACgCACIAQZcHIAAbEQAAAAsgAEIANwIAIABBCGpCADcCACAACy4BAX8jAEEQayIAJAAgAEEIaiICIAFB4NbAABCfCyACEPkGIQEgAEEQaiQAIAELNQEBfyAAQQA2AgggACABKAIYNgIMIAAgASgCCCICNgIAIAAgAiABQRBqKAIAQegCbGo2AgQLNQEBfyAAQQA2AgggACABKAIYNgIMIAAgASgCCCICNgIAIAAgAiABQRBqKAIAQagBbGo2AgQLLQEBfyMAQTBrIgIkACACQQxqIAAgAUEBEE0gAi0AGCEAIAJBMGokACAAQQBHC8kDAgJ9A38CQCAAKgIAIgEgAVsgACoCBCICIAJbcUUEQCACIAGSIQEMAQsgAbwiA0GAgID8A0YEQCACEL4EIQEMAQsgA0EedkECcSIFIAK8IgRBH3ZyIQACQAJAAkACQAJAAkAgBEH/////B3EiBEUEQEPbD0nAIQEgAA4DAQECBgsgA0H/////B3EiA0UNAiADQYCAgPwHRw0DIARBgICA/AdHDQRD5MsWwCEBIABBA0YNBSAAQQJ0Qfj6wwBqKgIAIQEMBgsgAiEBDAULQ9sPSUAhAQwEC0PbD8k/IAKYIQEMAwsgBEGAgID8B0cgA0GAgIDoAGogBE9xRQRAQ9sPyT8gApghAQwDCwJ9IAUEQEMAAAAAIARBgICA6ABqIANJDQEaCyACIAGVixC+BAshAQJAAkACQCAADgMEAQIACyABQy69uzOSQ9sPScCSIQEMBAsgAYwhAQwDC0PbD0lAIAFDLr27M5KTIQEMAgtD2w9JwCEBIABBA0YNACAAQQJ0QYT7wwBqKgIAIQELCyABQwAAAABgRQRAQbTswgBBKEHE7cIAEKoKAAtD2w/JPyABkyICIAIgASABkiIBIAEgAl4bIAEgAVwbCzMAIAAgASgCFCACQQAgAUEYaigCACgCDBEFADoACCAAIAE2AgQgAEEBOgAJIABBADYCAAtAAQF/IAAoAgAhAQJAIAAtAAQNAEHkgcQAKAIAQf////8HcUUNAEG0hcQAKAIARQ0AIAFBAToAAQsgAUEAOgAACy8AAkAgAARAIAAoAgANASAAQoCAgIAQNwIAIABBCGogATgCAA8LEPgMAAsQ+QwACygAAkAgAARAIAAoAgBBf0YNASAAQQxqKAIAQQJHDwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQQxqQQI2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBNGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE4aiABOAIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqQQI2AgAPCxD4DAALEPkMAAsoAAJAIAAEQCAAKAIAQX9GDQEgAEEgaigCAEECRw8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEE0aiABNgIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQThqIAE2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBCGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEQaiABOAIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQSBqIAE4AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBKGogATgCAA8LEPgMAAsQ+QwACysAAkAgAARAIAAoAgANASAAQQA2AgAgAEEsaiABNgIADwsQ+AwACxD5DAALKwACQCAABEAgACgCAA0BIABBADYCACAAQTBqIAE2AgAPCxD4DAALEPkMAAsrAAJAIAAEQCAAKAIADQEgAEEANgIAIABBDGogATgCAA8LEPgMAAsQ+QwACzEBAX8gACABNgIMIABBADYCCCAAIAEoAhwiAjYCACAAIAIgAUEkaigCAEEUbGo2AgQLLAEBfyMAQSBrIgIkACACQQRqIAAgARDyAiACLQAQIQAgAkEgaiQAIABBAEcLLQECfSAAKgIMIAAqAgAiASAAKgIEIgIgASACXxsiASAAKgIIIgIgASACXxuSCzABAX0gACACKgIIIAEqAgAiA5Q4AgggACADIAIqAgSUOAIEIAAgAyACKgIAlDgCAAsuACAAIAEpAmA3AgAgAEEQaiABQfAAaikCADcCACAAQQhqIAFB6ABqKQIANwIACywAIAAgASkCGDcCACAAQRBqIAFBKGopAgA3AgAgAEEIaiABQSBqKQIANwIACywAIAAgASkCADcCACAAQRBqIAFBEGopAgA3AgAgAEEIaiABQQhqKQIANwIACy0AIAAgASkCNDcCACAAQRBqIAFBxABqKQIANwIAIABBCGogAUE8aikCADcCAAsvAQF9IAAgASoCACICIAKUIAEqAgQiAiAClJIQmwE4AgwgAEEANgIIIABCADcCAAswACABKAIUIAJBCyABQRhqKAIAKAIMEQUAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALNQEBfyABKAIUQdzawwBBASABQRhqKAIAKAIMEQUAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALUwEBfyMAQRBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCMAQRBrIgAkACAAIANBBGoiASkCADcCCCAAQQhqQZiUwABBACABKAIIQQFBABDBBgALJQACQCAABEAgACgCAEF/Rg0BIABBPGotAAAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEE0aioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQThqKgIADwsQ+AwACxD5DAALJgACQCAABEAgACgCAEF/Rg0BIABBzABqLQAADwsQ+AwACxD5DAALJgACQCAABEAgACgCAEF/Rg0BIABB2ABqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBQGsqAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEoaioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQSxqKwIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBNGooAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEE4aigCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQQxqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBQGsoAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEIaioCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRBqKgIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBLGooAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEwaigCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRxqKAIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBEGotAAAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEcaisCAA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQRhqLQAADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBDGoqAgAPCxD4DAALEPkMAAsoAAJAIAAEQCAAKAIADQEgAEEANgIAIAAgATgCBA8LEPgMAAsQ+QwACyUAAkAgAARAIAAoAgBBf0YNASAAQQxqKwIADwsQ+AwACxD5DAALJQACQCAABEAgACgCAEF/Rg0BIABBIGoqAgAPCxD4DAALEPkMAAslAAJAIAAEQCAAKAIAQX9GDQEgAEEwaioCAA8LEPgMAAsQ+QwAC1MBAX8jAEEQayIDJAAgAyACNgIMIAMgATYCCCADIAA2AgQjAEEQayIAJAAgACADQQRqIgEpAgA3AgggAEEIakGA0MAAQQAgASgCCEEBQQAQwQYAC1YBAX8jAEEQayIBJAAgASAANgIMIAFBGzYCCCABQdCSwgA2AgQjAEEQayIAJAAgACABQQRqIgEpAgA3AgggAEEIakGwi8IAQQAgASgCCEEBQQAQwQYACysAIAAqAgAgASoCAJQgACoCBCABKgIElJIgACoCCCABKgIIlJJDAAAAAF8LKAEBfyMAQRBrIgIkACACIAAgAUEBEKsCIAItAAwhACACQRBqJAAgAAsnAQJ9IAAqAgAiASAAKgIEIgIgASACXxsiASAAKgIIIgIgASACXxsLHwACQCAABEAgACgCAA0BIAAQmgIPCxD4DAALEPkMAAsiAAJAIAAEQCAAKAIAQX9GDQEgACsCBA8LEPgMAAsQ+QwACyIAAkAgAARAIAAoAgBBf0YNASAAKAIEDwsQ+AwACxD5DAALIgACQCAABEAgACgCAEF/Rg0BIAAqAgQPCxD4DAALEPkMAAs7AQF/QZH7wwAtAAAaQQRBBBCCDCIARQRAQQRBBEHQgcQAKAIAIgBBlwcgABsRAAAACyAAQQA2AgAgAAshAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARCaAgsLJQAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAUgASgCEBEhAAs2ACABKAIUIAAoAgAtAABBAnQiAEGgisIAaigCACAAQZCKwgBqKAIAIAFBGGooAgAoAgwRBQALHwAgAUEDTwRAQcCFwQBBGyACELsLAAsgACABQQJ0agslACAAIAIgASgCSCABQdAAaigCACABKAJUIAFB3ABqKAIAEOwBCyIBAn4gACkDACICQj+HIQMgAiADhSADfSACQgBZIAEQ2QQLIwAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhARAgALIwAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhAREwALJAAgAEUEQEHovMAAQTIQ9wwACyAAIAIgAyAEIAEoAhARlQEACyQAIABFBEBB6LzAAEEyEPcMAAsgACACIAMgBCABKAIQEZcBAAsjACAARQRAQei8wABBMhD3DAALIAAgAiADIAQgASgCEBEaAAshACAARQRAQei8wABBMhD3DAALIAAgAiADIAEoAhARAQALJAAgAC0AAEUEQCABQYTgwwBBBRDUAQ8LIAFBieDDAEEEENQBCx0AIAEoAgBFBEAACyAAQYyxwAA2AgQgACABNgIACx8AIABFBEBB6LzAAEEyEPcMAAsgACACIAEoAhARAwALHQAgASgCAEUEQAALIABBtJPBADYCBCAAIAE2AgALHQAgASgCAEUEQAALIABBvJbCADYCBCAAIAE2AgALEgAgACgCBARAIAAoAgAQmgILCzQAIABC////9//////+ADcCCCAAQv////f/////fjcCACAAQRBqQv////f3/////gA3AgALNAAgAEL////3//////4ANwIIIABC////9/////9+NwIAIABBEGpC////9/f////+ADcCAAs0ACAAQv////f//////gA3AgggAEL////3/////343AgAgAEEQakL////39/////4ANwIACxkAIAAoAgAiACgCACAAQQRqKAIAIAEQ4gELGgAgAEEANgIIIABCADcCACAAIAEqAgA4AgwLHQAgAEGM2MIANgIEIAAgATYCACAAIAEqAhg4AggLHQAgAEGE1cIANgIEIAAgATYCACAAIAEqAgw4AggLHQAgAEHM2MIANgIEIAAgATYCACAAIAEqAiQ4AggLHQAgAEHI6cIANgIEIAAgATYCACAAIAEqAgg4AggLHQAgAEHw7cIANgIEIAAgATYCACAAIAEqAgg4AggLHQAgAEHM5sIANgIEIAAgATYCACAAIAEqAmA4AggLGgAgAEEANgIIIABB2JfAADYCBCAAIAE2AgALGgAgAEEANgIIIABBvJrAADYCBCAAIAE2AgALGAAgACgCACABKAIAIAIoAgAgAygCABAKCxoAIABBADYCCCAAQZj6wAA2AgQgACABNgIACxoAIABBADYCCCAAQYTVwgA2AgQgACABNgIAC74EAg19Bn8gASoCGCEEIwBBQGoiECQAIAFBDGoiESoCACIIIAEqAgAiCZMiAyADlCARKgIEIgogASoCBCILkyIDIAOUkiARQQhqIhMqAgAiDCABQQhqIhQqAgAiDZMiAyADlJIQmwEhAyAQQShqIhJBCGoiFSAUKAIANgIAIBJBFGogEygCADYCACAQIBEpAgA3AjQgEEEIaiIRQQhqIBUpAwA3AwAgEUEQaiASQRBqKQMANwMAIBAgASkCADcDCCAQIAQ4AiAgACAREIoEIANDAAAAP5QiAyAElCAElEPbD0lAlCIGIAaSIQYgBCAElCIFIAWSQwAAoECVIARD2w9JQJQgBJQgBJRDAACAQJRDAABAQJUiB5QiDiAFQwAAQECUIAMgA5RDAACAQJSSQwAAQEGVIAaUkiAClCAHIAMgA5IiAyADlEMAAIA+lCADIASUQwAAQECUQwAAAD6UkpQgApSSIg8QmwEhBCAOIAVDAAAAP5QgBpSSIAKUEJsBIQMgDxCbASEFIABDAAAAAEMAAIA/IASVIARDAAAA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8OHDADYCMCAFQQI2AkwgBSAANgI4IAUgBUEYajYCYCAFIAVBEGo2AlggBSAFQQxqNgJQIAUgBUEIajYCSCABIAQQ3AoACyADIAdBxOPDABDlCAALQY3WwwBBKyAEEKoKAAsgACABIAMgASAEEPgLAAsgACABQQAgBiAEEPgLAAsgACAAQuTex4WQ0IXefTcDCCAAQsH3+ejMk7LRQTcDAAsgACAAQr///bHCvMXDbDcDCCAAQqWSyKytwtOTBDcDAAshACAAQp2076Wh6IWStn83AwggAEKs/M2M2ITwrFE3AwALEwAgAEGslMAANgIEIAAgATYCAAsTACAAQbyUwAA2AgQgACABNgIACxMAIABBvJfAADYCBCAAIAE2AgALEAAgAEEBNgIAIAAgATYCBAsTACAAQaCawAA2AgQgACABNgIACxAAIABBBDYCACAAIAE2AgQLGgACfyABQQlPBEAgASAAEJ8EDAELIAAQOgsLFgBBmPvDACAANgIAQZT7wwBBATYCAAsTACAAQZTQwAA2AgQgACABNgIACxMAIABB/PnAADYCBCAAIAE2AgALIQAgAEKWg5SQq5e+sFI3AwggAELKid2Dm7bq+fAANwMACyIAIABCxo/Dyv6VwqiMfzcDCCAAQrCv9qu+6aivnX83AwALIQAgAELZhvfV0s6+sW03AwggAELMp5Cu0YD53dUANwMACyEAIABC7oj9gba/4841NwMIIABCgeWlwZjP9umsfzcDAAsiACAAQuiC043ihfKX2QA3AwggAEKJvO/Y+4nkmK5/NwMACyEAIABC5uiP2+/1t7AcNwMIIABC1L+PtYXw4KPPADcDAAshACAAQsu/vPT3k+e4q383AwggAELJ6/CNgJ/uo303AwALIQAgAEK94/Gmr8bs+z03AwggAEKL7saC4P/Bg4R/NwMACyIAIABCtO26q6unmfPLADcDCCAAQqObv7/Btp+HywA3AwALIQAgAELBzef45vCEoRg3AwggAEK1vYK6y7q96vsANwMACyEAIABChNHSirvkjM7LADcDCCAAQu/Cy+3Lto2+WjcDAAshACAAQsKmqN/fs87VxgA3AwggAEL5yKaVsqD59wo3AwALIAAgAELy4qm04KmkxAQ3AwggAEL0pIKy7KjDqX03AwALIgAgAEKLlZLKhbvNvP8ANwMIIABCj6CK4/aL2Jv4ADcDAAsgACAAQrOcxqm67svAXTcDCCAAQoGesbKYo7PtdjcDAAsiACAAQpX3zciLrPn5/QA3AwggAEK0xei60LqLxK5/NwMACyEAIABClsa87dLPvspBNwMIIABC07vD9LGD7pDTADcDAAsiACAAQriDyOLMibnWkH83AwggAELMqe2zqZDim+wANwMACyAAIABCxpmWruPNu/M5NwMIIABChdqn8drxkeIYNwMACyIAIABCqZv3yYLkhYbHADcDCCAAQpv9hczKhL3nywA3AwALIAAgAELD36bysP+IoCA3AwggAEK65aKq6Lvo2G83AwALEwAgAEHEi8IANgIEIAAgATYCAAsTACAAQdSLwgA2AgQgACABNgIACxMAIABB5IvCADYCBCAAIAE2AgALEwAgAEH0i8IANgIEIAAgATYCAAsTACAAQYSMwgA2AgQgACABNgIACxMAIABBlIzCADYCBCAAIAE2AgALEwAgAEGkjMIANgIEIAAgATYCAAsTACAAQbSMwgA2AgQgACABNgIACxMAIABBxIzCADYCBCAAIAE2AgALEwAgAEHUjMIANgIEIAAgATYCAAsTACAAQeSMwgA2AgQgACABNgIACxMAIABB9IzCADYCBCAAIAE2AgALEwAgAEGEjcIANgIEIAAgATYCAAsTACAAQZSNwgA2AgQgACABNgIACxMAIABBpI3CADYCBCAAIAE2AgALEwAgAEG0jcIANgIEIAAgATYCAAsTACAAQcSNwgA2AgQgACABNgIACxMAIABB1I3CADYCBCAAIAE2AgALEwAgAEHkjcIANgIEIAAgATYCAAsTACAAQfSNwgA2AgQgACABNgIACxMAIABBhI7CADYCBCAAIAE2AgALEwAgAEGUjsIANgIEIAAgATYCAAsTACAAQaSOwgA2AgQgACABNgIACxAAIABBAzYCACAAIAE2AgQLEAAgAEECNgIAIAAgATYCBAsQACAAQQA2AgAgACABNgIECw4AIAAgAUEYaiACENcCCxMAIABBkNLCADYCBCAAIAE2AgALEwAgAEHo1MIANgIEIAAgATYCAAsTACAAQfDXwgA2AgQgACABNgIACxMAIABBsNjCADYCBCAAIAE2AgALEwAgAEHw2MIANgIEIAAgATYCAAsPACAAIAFB4ABqIAIQ1wILEAAgAEEJNgIAIAAgATYCBAsTACAAQdTbwgA2AgQgACABNgIACxAAIABBBjYCACAAIAE2AgQLEwAgAEGw3sIANgIEIAAgATYCAAsQACAAQQU2AgAgACABNgIECxMAIABBjOHCADYCBCAAIAE2AgALDgAgACABQTRqIAIQ1wILEAAgAEEINgIAIAAgATYCBAsQACAAQQo2AgAgACABNgIECxMAIABBsObCADYCBCAAIAE2AgALEQAgACABKgIAIAEqAgQQ5QYLEAAgAEELNgIAIAAgATYCBAsTACAAQazpwgA2AgQgACABNgIACxEAIAAgASoCACABKgIEEMIDCxAAIABBDDYCACAAIAE2AgQLEwAgAEHU7cIANgIEIAAgATYCAAsZACAAQoCAgIDw//+//wA3AgggAEIANwIACxAAIABBBzYCACAAIAE2AgQLEAAgAEENNgIAIAAgATYCBAsTACAAQdCuwwA2AgQgACABNgIACxAAIABBDjYCACAAIAE2AgQLEwAgAEHsrsMANgIEIAAgATYCAAsQACAAQQ82AgAgACABNgIECxMAIABBiK/DADYCBCAAIAE2AgALEAAgAEEQNgIAIAAgATYCBAsTACAAQaSvwwA2AgQgACABNgIACxAAIABBETYCACAAIAE2AgQLEwAgAEHAr8MANgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARDiAQsfACABKAIUIAAoAgAgACgCBCABQRhqKAIAKAIMEQUACyEAIABC2N797/ftoNaKfzcDCCAAQq/D14rE8PndNjcDAAsgACAAQsWAsKa9qOHJSzcDCCAAQpXM9oWR7LDtHzcDAAsTACAAQai8wwA2AgQgACABNgIACxEAIAEgACgCACAAKAIEENQBCwwAIAAgASACIAMQVQsMACAAIAEgAiADEGwLDAAgACABIAIgAxBSCwwAIAAgASACIAMQVgsNACAAIAEgAiADEIQBCw0AIAAgASACIAMQrwELDQAgACABIAIgAxCMAwsNACAAIAEgAiADEL8BCw0AIAAgASACIAMQvAELDQAgACABIAIgAxDtAgvKAwIEfQF/IwBBEGsiASQAAkACQAJAAkACQAJAAkAgAg4DAAECAwtDAABAQBCbASEFIABBATYCACAAQQxqQwAAgL9DAACAPyADQQRxGyAFlTgCACAAQQhqQwAAgL9DAACAPyAD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aiICQYABSw0CIAFBAUG/3cMAQQIgACADakGAAWpBACAAaxCNAgshACADQYABaiQADAILIAJBgAFB3N3DABDiCAALIAJBgAFB3N3DABDiCAALIAALCwAgACMAaiQAIwALHAAgASgCFEH8gsAAQREgAUEYaigCACgCDBEFAAscACABKAIUQcyxwABBFCABQRhqKAIAKAIMEQUACxwAIAEoAhRB8LHAAEEUIAFBGGooAgAoAgwRBQALDAAgACgCACABENELCw4AIABBzJTAACABELICCxwAIAEoAhRB4JbAAEEFIAFBGGooAgAoAgwRBQALCQAgACABEBQACw0AQZy+wABBGxD3DAALDgBBt77AAEHPABD3DAALDAAgACgCACABEOYICw4AIAFBpNDAAEECENQBCwsAIAAgASACELkBCwsAIAAgASACENcCC40CAgN/Bn0jAEEgayIDJAAgA0EANgIQIANCgICA/AM3AgggA0EUaiIEIAEgAiADQQhqIgUQjwQgA0GAgID8ezYCCCADKgIUIQYgBCABIAIgBRCPBCADQoCAgICAgIDAPzcCCCADKgIUIQcgBCABIAIgBRCPBCADQYCAgPx7NgIMIAMqAhghCCAEIAEgAiAFEI8EIANCgICAgICAgMA/NwIMIAMqAhghCSAEIAEgAiAFEI8EIANBgICA/Hs2AhAgAyoCHCEKIAQgASACIAUQjwQgAyoCHCELIABBFGogCjgCACAAQRBqIAg4AgAgACAGOAIMIAAgCzgCCCAAIAk4AgQgACAHOAIAIANBIGokAAuNAgIDfwZ9IwBBIGsiAyQAIANBADYCECADQoCAgPwDNwIIIANBFGoiBCABIAIgA0EIaiIFELQDIANBgICA/Hs2AgggAyoCFCEGIAQgASACIAUQtAMgA0KAgICAgICAwD83AgggAyoCFCEHIAQgASACIAUQtAMgA0GAgID8ezYCDCADKgIYIQggBCABIAIgBRC0AyADQoCAgICAgIDAPzcCDCADKgIYIQkgBCABIAIgBRC0AyADQYCAgPx7NgIQIAMqAhwhCiAEIAEgAiAFELQDIAMqAhwhCyAAQRRqIAo4AgAgAEEQaiAIOAIAIAAgBjgCDCAAIAs4AgggACAJOAIEIAAgBzgCACADQSBqJAALCwAgAiAAIAEQuQELDQAgACoCJEMAAAAAkgsO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cwDIARAAHwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvd2FrZXIucnMAAPABEABqAAAAaAAAACsAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAPABEABqAAAAAwEAACsAAADwARAAagAAAN4AAAAvAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jaGFubmVsLnJzuAIQAGwAAAD/AgAAFQAAALgCEABsAAAABwMAABUAAAALAAAACAAAAAQAAAAMAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9mbGF2b3JzL3plcm8ucnMAAABUAxAAcQAAAGYBAAArAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQBUAxAAcQAAAMAAAAA2AAAAVAMQAHEAAAC5AAAANgAAAFQDEABxAAAAFgEAACsAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDI0BBAAGAAAAHZhcmlhbnQgaW5kZXggMCA8PSBpIDwgMTkAAABUBBAAGQAAAHN0cnVjdCBHcmFwaCB3aXRoIDIgZWxlbWVudHN4BBAAHAAAAHN0cnVjdCBMVSB3aXRoIDIgZWxlbWVudHMAAACcBBAAGQAAAHN0cnVjdCBSaWdpZEJvZHlTZXQgd2l0aCAyIGVsZW1lbnRzAMAEEAAjAAAAc3RydWN0IElzbGFuZE1hbmFnZXIgd2l0aCA1IGVsZW1lbnRz7AQQACQAAABzdHJ1Y3QgQ29udmV4UG9seWhlZHJvbiB3aXRoIDggZWxlbWVudHMAGAUQACcAAABzdHJ1Y3QgQ29udGFjdE1hbmlmb2xkRGF0YSB3aXRoIDcgZWxlbWVudHMAAEgFEAAqAAAAc3RydWN0IEdlbmVyaWNUcmlNZXNoIHdpdGggNyBlbGVtZW50cwAAAHwFEAAlAAAAdmFyaWFudCBpbmRleCAwIDw9IGkgPCAzrAUQABgAAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDTMBRAAGAAAAHN0cnVjdCBUcmlNZXNoQ29ubmVjdGVkQ29tcG9uZW50cyB3aXRoIDMgZWxlbWVudHMAAADsBRAAMQAAAHN0cnVjdCBHZW5lcmljSGVpZ2h0RmllbGQgd2l0aCA1IGVsZW1lbnRzAAAAKAYQACkAAABzdHJ1Y3QgTXVsdGlib2R5IHdpdGggMTYgZWxlbWVudHMAAABcBhAAIQAAAHN0cnVjdCBTQVBSZWdpb24gd2l0aCA3IGVsZW1lbnRziAYQACAAAABzdHJ1Y3QgSW1wdWxzZUpvaW50IHdpdGggNSBlbGVtZW50cwCwBhAAIwAAAHN0cnVjdCBJbnRlcm5hbEVkZ2VzRml4ZXIgd2l0aCAyIGVsZW1lbnRzAAAA3AYQACkAAABzdHJ1Y3QgR2VuZXJpY1Fidmggd2l0aCA1IGVsZW1lbnRzAAAQBxAAIgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludCB3aXRoIDMgZWxlbWVudHMAAAA8BxAAJQAAAHN0cnVjdCBJbXB1bHNlSm9pbnRTZXQgd2l0aCA0IGVsZW1lbnRzAABsBxAAJgAAAHN0cnVjdCBNdWx0aWJvZHlKb2ludFNldCB3aXRoIDQgZWxlbWVudHOcBxAAKAAAAHN0cnVjdCBNdWx0aWJvZHlXb3Jrc3BhY2Ugd2l0aCAyIGVsZW1lbnRzAAAAzAcQACkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2FycmF5LnJzAAAIEABnAAAASgAAAA0AAAB2YXJpYW50IGluZGV4IDAgPD0gaSA8IDZ4CBAAGAAAAHN0cnVjdCBUcmlNZXNoU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggNCBlbGVtZW50c5gIEAA8AAAAc3RydWN0IEhlaWdodEZpZWxkU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggMyBlbGVtZW50c9wIEABAAAAAc3RydWN0IEhlaWdodEZpZWxkQ29tcG9zaXRlU2hhcGVDb250YWN0TWFuaWZvbGRzV29ya3NwYWNlIHdpdGggMyBlbGVtZW50cwAAACQJEABJAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFjcXVpcmUgbXV0ZXh4CRAAIAAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9tdXRleC5ycwAAoAkQAGYAAAAUAAAACQAAAAcAAAAIAAAABAAAAA0AAAAOAAAABwAAACQAAAAEAAAADwAAAAcAAAAMAAAABAAAABAAAAARAAAADAAAAAQAAAASAAAAEwAAABQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5AAQAAAAAAAAAAQAAABUAAAAvcnVzdGMvODJlMTYwOGRmYTZlMGI1NTY5MjMyNTU5ZTNkMzg1ZmVhNWE5MzExMi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMArAoQAEsAAAAzCgAADgAAAGNhbm5vdCB0cmFuc211dGVfY29weSBpZiBEc3QgaXMgbGFyZ2VyIHRoYW4gU3JjAAgLEAAvAAAABwAAAAQAAAAEAAAAFgAAAAcAAAAEAAAABAAAABcAAABFcnJvcmludmFsaWQgdmFsdWU6ICwgZXhwZWN0ZWQgAGULEAAPAAAAdAsQAAsAAABpbnZhbGlkIGxlbmd0aCAAkAsQAA8AAAB0CxAACwAAAFBvaXNvbkVycm9yAAcAAAAMAAAABAAAABgAAAAZAAAAGgAAABsAAAAHAAAADAAAAAQAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3BhcnRpdGlvbmluZy9xYnZoL3RyYXZlcnNhbC5ycwD8CxAAdwAAAE0AAAAjAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9zaGFwZS90cmltZXNoLnJzAAAAhAwQAGkAAADvAwAAHgAAAIQMEABpAAAA8AMAAB4AAACEDBAAaQAAAPEDAAAeAAAABwAAACQAAAAEAAAAHgAAAB8AAAAgAAAAIQAAAAcAAAAkAAAABAAAAB4AAAAfAAAAIAAAACEAAAAiAAAAHQAAAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5yc2gNEABkAAAAKgAAACMAAABoDRAAZAAAACIAAAAPAAAATWF0cml4IGluaXQuIGVycm9yOiB0aGUgc2xpY2UgZGlkIG5vdCBjb250YWluIHRoZSByaWdodCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb24ucnMAAAA3DhAAbgAAAGsAAAAJAAAATWF0cml4IGluZGV4IG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9hcmVuYS5ycwAA0w4QAGcAAAAKAQAAKAAAAGNvcnJ1cHQgZnJlZSBsaXN0AAAATA8QABEAAADTDhAAZwAAAAsBAAArAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9ncmFwaC5yc2Fzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZWRnZXMubGVuKCkgIT0gY3JhdGU6OklOVkFMSURfVVNJWkUAAAB4DxAAZwAAANwAAAAJAAAAR3JhcGg6OmFkZF9lZGdlOiBub2RlIGluZGljZXMgb3V0IG9mIGJvdW5kcwAsEBAAKwAAAHgPEABnAAAA5AAAABsAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLm5vZGVzLmxlbigpICE9IGNyYXRlOjpJTlZBTElEX1VTSVpFAAB4DxAAZwAAALMAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZGF0YS9jb2FyZW5hLnJzAAAAvBAQAGkAAABdAAAAIgAAALwQEABpAAAATgAAABIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9pbXB1bHNlX2pvaW50L2ltcHVsc2Vfam9pbnRfc2V0LnJzAEgREACLAAAADQEAABcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvbXVsdGlib2R5X2pvaW50X3NldC5ycwDkERAAjwAAAH0AAAArAAAA5BEQAI8AAAB+AAAARgAAAOQREACPAAAAqAAAAD4AAADkERAAjwAAAKkAAAAvAAAA5BEQAI8AAACsAAAAQgAAAFBhcmVudCByaWdpZCBib2R5IG5vdCBmb3VuZC4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAAOASEAByAAAAeQAAAA4AAADgEhAAcgAAAH0AAAA1AAAA4BIQAHIA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AAAGAAAABgAAAAYAAAACAAAAAQAAAEludmFsaWQgc2l6ZSA6IHNpemVzIG11c3QgZml0IGluIGEgdXNpemUgKDAgdG8gKRweEAANAAAAKR4QACIAAABLHhAAAQAAAP////9jbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZAAAhgAAAAQAAAAEAAAAhwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9qcy1zeXMtMC4zLjY0L3NyYy9saWIucnMAAKweEABeAAAAChgAAAEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0Y2FwYWNpdHkgb3ZlcmZsb3cAVGhlIGxvb3NlbmluZyBtYXJnaW4gbXVzdCBiZSBwb3NpdGl2ZS4AAJgfEAAmAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc8gfEABwAAAAJAIAAAkAAABJbmRleCBvdXQgb2YgYm91bmRzAEggEAATAAAAQWxsb2NhdGlvbiBmcm9tIGl0ZXJhdG9yIGVycm9yOiB0aGUgaXRlcmF0b3IgZGlkIG5vdCB5aWVsZCB0aGUgY29ycmVjdCBudW1iZXIgb2YgZWxlbWVudHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9kZWZhdWx0X2FsbG9jYXRvci5ycwAAAL4gEABzAAAAfAAAAAkAAAAAAAAAjQAAAAAAAAABAAAAjgAAAI8AAACQAAAAkQAAAJIAAACTAAAAlAAAAJUAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9kZWZhdWx0X3F1ZXJ5X2Rpc3BhdGNoZXIucnMAAACfIRAAegAAANcBAAAxAAAAnyEQAHoAAADqAQAAMQAAAJ8hEAB6AAAAEQIAACcAAACfIRAAegAAAEECAAAvAAAAnyEQAHoAAABQAgAALwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvd2FrZXIucnMAAGwiEABqAAAAaAAAACsAAABsIhAAagAAAEYAAAAoAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBsIhAAagAAANEAAAArAAAAbCIQAGoAAADeAAAALwAAAGwiEABqAAAAxgAAACsAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Nyb3NzYmVhbS1jaGFubmVsLTAuNS44L3NyYy9jaGFubmVsLnJzfCMQAGwAAAC7AQAALQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9jcm9zc2JlYW0tY2hhbm5lbC0wLjUuOC9zcmMvY29udGV4dC5yc/gjEABsAAAAMwAAAB4AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvbGlzdC5ycwAAAHQkEABxAAAABQEAAEMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvemVyby5ycwAAAPgkEABxAAAA6AAAAC0AAACWAAAACAAAAAQAAACXAAAA+CQQAHEAAADhAAAAKwAAAPgkEABxAAAA/wAAACYAAAD4JBAAcQAAAAEBAABJAAAA+CQQAHEAAAACAQAARwAAAPgkEABxAAAAAQEAACcAAAD4JBAAcQAAAAYBAABJAAAA+CQQAHEAAAAHAQAARwAAAPgkEABxAAAABgEAACcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvY3Jvc3NiZWFtLWNoYW5uZWwtMC41Ljgvc3JjL2ZsYXZvcnMvYXJyYXkucnMAAAwmEAByAAAAdgEAACoAAAAMJhAAcgAAAHgBAAA3AAAATWF0cml4IGluaXQuIGZyb20gaXRlcmF0b3I6IGl0ZXJhdG9yIG5vdCBsb25nIGVub3VnaC4AAAC+IBAAcwAAAEoAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy91dGlscy9hcnJheS5ycwDoJhAAZwAAAEoAAAANAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFjcXVpcmUgbXV0ZXhgJxAAIAAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9tdXRleC5ycwAAiCcQAGYAAAAUAAAACQAAAJgAAAAIAAAABAAAAJkAAACaAAAAmAAAACQAAAAEAAAAmwAAACgpAEGw0MAAC5tDYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyb21pbiA+IG1heCwgb3IgZWl0aGVyIHdhcyBOYU4uIG1pbiA9ICwgbWF4ID0gAAAASSgQACQAAABtKBAACAAAAC9ydXN0Yy84MmUx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ACcAAABsLRAAdAAAAIIBAAATAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMAsC8QAHcAAADaAAAAIwAAALAvEAB3AAAAmgAAACMAAACwLxAAdwAAAE0AAAAjAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9pbnRlcm5hbF9lZGdlc19maXhlci5yc1gwEACIAAAAcAAAACoAAABYMBAAiAAAAF8AAAAfAAAAWDAQAIgAAABgAAAAHwAAAFgwEACIAAAAiwAAAE0AAABYMBAAiAAAAIYAAAA4AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19oYWxmc3BhY2VfcGZtLnJzADAxEACTAAAAQAAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX3RyaW1lc2hfc2hhcGUucnMA1DEQAJMAAABhAAAAHAAAANQxEACTAAAAYQAAADYAAADUMRAAkwAAALAAAAApAAAA1DEQAJMAAAC2AAAAJgAAAJgAAAAkAAAABAAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACYAAAAJAAAAAQAAACbAAAAsAAAALEAAACyAAAAswAAAJgAAAAkAAAABAAAAJgAAAAkAAAABAAAAJsAAACwAAAAsQAAALIAAACzAAAA/DIQAPwyEACxAAAAmAAAACQAAAAEAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAApgAAAKcAAACoAAAAqQAAAKoAAACrAAAArAAAAK0AAACuAAAArwAAAKgyEACbAAAAFCgQALAAAACxAAAAsgAAALMAAADcMhAA/DIQAPwyEACxAAAACDMQADcAAAA4AAAAOQAAADoAAAC6AAAAPAAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAARQAAAMMAAADUMRAAkwAAANAAAAAgAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19oZWlnaHRmaWVsZF9zaGFwZS5ycwAANBAAlwAAAHcAAAAcAAAAADQQAJcAAAB3AAAANgAAAAA0EACXAAAAiwAAAC0AAAAANBAAlwAAAKIAAAAmAAAAADQQAJcAAADAAAAAMgAAAAA0EACXAAAAwQAAADcAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwD4NBAAmwAAAEoAAAAcAAAA+DQQAJsAAABKAAAANgAAAJgAAAA0AAAABAAAAMQAAADFAAAA+DQQAJsAAABeAAAAMQAAAPg0EACbAAAAewAAACoAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3RfbWFuaWZvbGRzL2NvbnRhY3RfbWFuaWZvbGRzX2hlaWdodGZpZWxkX2NvbXBvc2l0ZV9zaGFwZS5ycwAAAOg1EAChAAAAVAAAABwAAADoNRAAoQAAAFQAAAA2AAAA6DUQAKEAAACuAAAAMgAAAOg1EAChAAAArwAAADcAAACYAAAANAAAAAQAAADGAAAAxwAAAOg1EAChAAAAbAAAADUAAADoNRAAoQAAAIkAAAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jb250YWN0X21hbmlmb2xkcy9jb250YWN0X21hbmlmb2xkc19jb21wb3NpdGVfc2hhcGVfY29tcG9zaXRlX3NoYXBlLnJzAAAAADcQAKUAAABJAAAAHAAAAAA3EAClAAAASQAAADYAAACYAAAAOAAAAAQAAADIAAAAyQAAAJgAAAA4AAAABAAAAMoAAADLAAAAADcQAKUAAAB3AAAAOQAAAAA3EAClAAAAlgAAADIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2VwYS9lcGEzLnJzAAAQOBAAagAAAPAAAAAkAAAAEDgQAGoAAADxAAAAJAAAABA4EABqAAAA8gAAACQAAAAQOBAAagAAAA0BAAAnAAAAEDgQAGoAAAANAQAARAAAABA4EABqAAAAEgEAACcAAAAQOBAAagAAABIBAABEAAAAEDgQAGoAAAAXAQAAJwAAABA4EABqAAAAFwEAAEQAAAAQOBAAagAAABwBAAAnAAAAEDgQAGoAAAAcAQAARAAAABA4EABqAAAAIQEAACgAAAAQOBAAagAAAD0BAAAyAAAAEDgQAGoAAABEAQAAIgAAABA4EABqAAAAXQEAABcAAAAQOBAAagAAAF8BAAAsAAAAEDgQAGoAAABgAQAALAAAABA4EABqAAAAYQEAACwAAAAQOBAAagAAAJcBAAAXAAAAEDgQAGoAAACYAQAAIwAAABA4EABqAAAAbwEAAB8AAAAQOBAAagAAAIMBAAA6AAAAEDgQAGoAAACDAQAALwAAABA4EABqAAAAWAEAACwAAAAQOBAAagAAAKMBAAAkAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWluX2JvdW5kID09IG1pbl9ib3VuZC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZ2prL2dqay5ycwAAADQ6EABpAAAAjAAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL2hlaWdodGZpZWxkMy5ycwAAsDoQAG4AAADZAAAAEQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvc2hhcGUvcG9seWdvbmFsX2ZlYXR1cmUzZC5ycwAAADA7EAB1AAAAvgAAABYAAAAAAAAAMDsQAHUAAAAZAQAAHgAAADA7EAB1AAAAGwEAADoAAAAwOxAAdQAAAEUBAAAeAAAAMDsQAHUAAABHAQAAOgAAADA7EAB1AAAAbgEAABEAAAAwOxAAdQAAAG8BAAARAAAAMDsQAHUAAAB0AQAAFQAAADA7EAB1AAAAdQEAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3NoYXBlL3RyaW1lc2gucnMAAAA8PBAAaQAAABwEAAAfAAAAPDwQAGkAAAAeBAAAGgAAADw8EABpAAAAHwQAABoAAAA8PBAAaQAAACAEAAAaAAAAaW5kZXggb3V0IG9mIGJvdW5kcwCYAAAAJAAAAAQAAADMAAAAzQAAAM4AAADPAAAAmAAAACQAAAAEAAAAzAAAAM0AAADOAAAAzwAAACIAAADQAAAAAAAAAP//////////L1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5yc0g9EABkAAAAKgAAACMAAABIPRAAZAAAAKsCAAAeAAAASD0QAGQAAADQAQAAHgAAAGluZGV4IG5vdCBmb3VuZABIPRAAZAAAADcAAAAKAAAAYXNzZXJ0aW9uIGZhaWxlZDogaW5kaWNlcy5jYXBhY2l0eSgpIC0gaW5kaWNlcy5sZW4oKSA+PSBlbnRyaWVzLmxlbigpL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS9yYXcucnMAAABBPhAAaAAAABAAAAAFAAAAQT4QAGgAAACDAAAAGgAAAEg9EABkAAAAIgAAAA8AAABnZW1tOiBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBhZGRpdGlvbi4A3D4QACcAAABHZW12OiBkaW1lbnNpb25zIG1pc21hdGNoLk1hdHJpeCBzbGljaW5nIG91dCBvZiBib3VuZHMuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9tYXRyaXhfdmlldy5yc0M/EABtAAAAFgEAAAkAAABDPxAAbQAAABoBAAAJAAAAUm93cyByYW5nZSBwYWlyOiB0aGUgcmFuZ2VzIG11c3Qgbm90IG92ZXJsYXAuAAAAQz8QAG0AAAASAwAABQAAAFJvd3MgcmFuZ2UgcGFpcjogaW5kZXggb3V0IG9mIHJhbmdlLkRhdGEgc3RvcmFnZSBidWZmZXIgZGltZW5zaW9uIG1pc21hdGNoLi9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvdmVjX3N0b3JhZ2UucnNbQBAAbQAAAFQAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb24ucnMAANhAEABuAAAAYAQAAAwAAABDb21wb25lbnR3aXNlIG11bC9kaXY6IG1pc21hdGNoZWQgbWF0cml4IGRpbWVuc2lvbnMuWEEQADQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2NvbXBvbmVudHdpc2UucnMAlEEQAG8AAACWAAAABQAAAE1hdHJpeCB2aWV3OiBpbnB1dCBkYXRhIGJ1ZmZlciB0b28gc21hbGwuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9jb25zdHJ1Y3Rpb25fdmlldy5ycz1CEABzAAAAMAAAAAkAAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy5NYXRyaXggYWRkaXRpb24vc3VidHJhY3Rpb24gZGltZW5zaW9ucyBtaXNtYXRjaC4A20IQADAAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL29wcy5ycwAAABRDEABlAAAAaAEAAAEAAAAgYW5kIDogbGVmdCByb3dzICE9IHJpZ2h0IHJvd3MuTWF0cml4IG11bHRpcGxpY2F0aW9uIG91dHB1dCBkaW1lbnNpb25zIG1pc21hdGNoIDogbGVmdCBjb2xzICE9IHJpZ2h0IHJvd3MuAACrQxAAMQAAAIxDEAAFAAAA3EMQABoAAAAUQxAAZQAAANUCAAAJAAAAQXhweTogbWlzbWF0Y2hlZCB2ZWN0b3Igc2hhcGVzLgAgRBAAHwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvYmxhcy5ycwAASEQQAGYAAABCAQAACQAAAEhEEABmAAAACAIAAAkAAABEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgANBEEAArAAAAjEMQAAUAAACRQxAAGgAAAEhEEABmAAAAIAAAAAkAAABIRBAAZgAAABgDAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvYmFzZS9tYXRyaXgucnNNYXRyaXggZWxlbWVudHMgc3dhcCBpbmRleCBvdXQgb2YgYm91bmRzLgAAADRFEABoAAAAvAQAAAkAAABVbmFibGUgdG8gY29weSBmcm9tIGEgbWF0cml4IHdpdGggYSBkaWZmZXJlbnQgc2hhcGUuNEUQAGgAAADlBAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvZWRpdGlvbi5yc2Fzc2VydGlvbiBmYWlsZWQ6IGlyb3cxIDwgc2VsZi5ucm93cygpICYmIGlyb3cyIDwgc2VsZi5ucm93cygpABxGEABpAAAAOAEAAAkAAABUaGUgaW5wdXQgdmVjdG9yIG11c3Qgbm90IGJlIGVtcHR5Li9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9uYWxnZWJyYS0wLjMyLjMvc3JjL2Jhc2UvbWluX21heC5yc/dGEABpAAAA4QAAAAkAAABNYXhpbXVtIG51bWJlciBvZiBwZXJtdXRhdGlvbnMgZXhjZWVkZWQuL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3Blcm11dGF0aW9uX3NlcXVlbmNlLnJzmEcQAHgAAABVAAAADQAAAJhHEAB4AAAAWQAAABYAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9saW5hbGcvbHUucnNMVSBzb2x2ZSBtYXRyaXggZGltZW5zaW9uIG1pc21hdGNoLgAAAJZIEAAjAAAAMEgQAGYAAAD2AAAACQAAAExVIHNvbHZlOiB1bmFibGUgdG8gc29sdmUgYSBub24tc3F1YXJlIHN5c3RlbS4AADBIEABmAAAA+wAAAAkAAAAwSBAAZgAAAGgAAAAeAAAASW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2luZGV4aW5nLnJzAAA4SRAAagAAAFIBAAAaAAAAmAAAAAgAAAAEAAAA0QAAAAIAAABAPRAAQdiTwQALq30vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9jb250cm9sL2NoYXJhY3Rlcl9jb250cm9sbGVyLnJzAAAA2EkQAHkAAADYAgAAOQAAANhJEAB5AAAA2QIAACMAAADYSRAAeQAAAMkCAAA4AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvY29udHJvbC9yYXlfY2FzdF92ZWhpY2xlX2NvbnRyb2xsZXIucnOEShAAgAAAACIBAAAZAAAAhEoQAIAAAAA6AQAAJQAAAIRKEACAAAAATQEAACUAAACEShAAgAAAAFkBAAAqAAAAhEoQAIAAAACfAQAAHgAAAIRKEACAAAAAugEAAA4AAACEShAAgAAAANABAAAOAAAAhEoQAIAAAACoAgAAEgAAAIRKEACAAAAAqwIAACkAAACEShAAgAAAALACAAAoAAAAhEoQAIAAAAC2AgAAMQAAAIRKEACAAAAAYAIA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AD4AAABaUBAAdAAAADsBAAA+AAAAWlAQAHQAAACiAQAALQAAAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0X3RpbWUgPD0gZW5kX3RpbWUvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9jY2QvdG9pX2VudHJ5LnJzABRTEABzAAAANgAAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9pbnRlZ3JhdGlvbl9wYXJhbWV0ZXJzLnJzmFMQAHwAAABgAAAAWgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2lzbGFuZF9tYW5hZ2VyLnJzJFQQAHQAAACAAAAALwAAACRUEAB0AAAAgAAAAE8AAAAkVBAAdAAAAIEAAAAhAAAAJFQQAHQAAACFAAAAOQAAAFRoZSBtaW5pbXVtIGlzbGFuZCBzaXplIG11c3QgYmUgYXQgbGVhc3QgMS4A2FQQACsAAAAkVBAAdAAAAKAAAAAJAAAAJFQQAHQAAAAMAQAAVAAAACRUEAB0AAAALQEAADsAAAAkVBAAdAAAAOIAAAAdAAAAJFQQAHQAAADVAAAAQAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L2ltcHVsc2Vfam9pbnQvaW1wdWxzZV9qb2ludF9zZXQucnMAXFUQAIsAAAAfAQAAIwAAAFxVEACLAAAAJgEAAB4AAABcVRAAiwAAACcBAAAeAAAAXFUQAIsAAAA0AQAAFAAAAFxVEACLAAAATQEAABsAAABcVRAAiwAAAG4BAABXAAAAXFUQAIsAAABzAQAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHkucnMAAABYVhAAhQAAAK8AAAA5AAAAWFYQAIUAAACLAAAAJQAAAFhWEACFAAAAiwAAABgAAABYVhAAhQAAAIgAAAAYAAAAWFYQAIUAAACOAAAALgAAAFhWEACFAAAAjgAAACYAAABYVhAAhQAAALgAAAAnAAAAWFYQAIUAAADJAAAAFgAAAFhWEACFAAAAYQEAABgAAABYVhAAhQAAAHcBAAAdAAAAWFYQAIUAAAB9AQAALgAAAFhWEACFAAAAfgEAACgAAABYVhAAhQAAAIABAAArAAAAWFYQAIUAAACTAQAAIAAAAFhWEACFAAAAqgEAACUAAABYVhAAhQAAAL0BAAAjAAAAWFYQAIUAAADHAQAAHQAAAFhWEACFAAAAyAEAACQAAABYVhAAhQAAAMwBAABGAAAAWFYQAIUAAADAAQAAQgAAAFhWEACFAAAA4gEAACMAAABYVhAAhQAAAOsBAAAuAAAAWFYQAIUAAADLAgAAPAAAAFhWEACFAAAAywIAACQAAABYVhAAhQAAAMwCAAA4AAAAWFYQAIUAAADMAgAAIAAAAFhWEACFAAAALAIAACMAAABYVhAAhQAAAC0CAAAdAAAAWFYQAIUAAAAxAgAANQAAAFhWEACFAAAATQIAACwAAABYVhAAhQAAAJACAAAgAAAAWFYQAIUAAACRAgAAIAAAAFhWEACFAAAAVAIAAC4AAABYVhAAhQAAAFUCAAAoAAAAWFYQAIUAAABWAgAANAAAAFhWEACFAAAAlAIAADIAAABYVhAAhQAAAJUCAAAyAAAAWFYQAIUAAACpAgAAMgAAAFhWEACFAAAAqgIAADIAAABYVhAAhQAAAPcCAAA7AAAAWFYQAIUAAAADAwAAMAAAAFhWEACFAAAACQMAAB8AAABYVhAAhQAAABEDAAAwAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi52ZWxvY2l0aWVzLmxlbigpID49IFNQQVRJQUxfRElNAABYVhAAhQAAABUDAAAVAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5kYW1waW5nLmxlbigpID49IFNQQVRJQUxfRElNAFhWEACFAAAAFgMAABUAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFjY2VsZXJhdGlvbnMubGVuKCkgPj0gU1BBVElBTF9ESU0AAABYVhAAhQAAABcDAAAVAAAAWFYQAIUAAAAcAwAAHwAAAFhWEACFAAAALQMAADAAAABYVhAAhQAAADYDAAAaAAAAWFYQAIUAAABEAwAAJwAAAFhWEACFAAAAWAMAACgAAABYVhAAhQAAAFkDAAAmAAAAQSByaWdpZC1ib2R5IHRoYXQgaXMgbm90IGF0IHRoZSByb290IG9mIGEgbXVsdGlib2R5IG11c3QgYmUgZHluYW1pYy7IWhAARAAAAFhWEACFAAAAZgMAAA0AAABYVhAAhQAAAJQDAAAfAAAAWFYQAIUAAACWAwAAHAAAAFhWEACFAAAAmgMAAC0AAABYVhAAhQAAAJoDAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvZHluYW1pY3Mvam9pbnQvbXVsdGlib2R5X2pvaW50L211bHRpYm9keV9qb2ludF9zZXQucnMAZFsQAI8AAADBAAAASgAAAGRbEACPAAAAxAAAAEMAAABkWxAAjwAAAMUAAAA9AAAAZFsQAI8AAADHAAAAMQAAAGRbEACPAAAA2gAAADkAAABkWxAAjwAAAN4AAAA1AAAAZFsQAI8AAADfAAAATQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfbGluay5ycwAAZFwQAIoAAABxAAAAHQAAAEludGVybmFsIGVycm9yOiBjaXJjdWxhciByaWdpZCBib2R5IGRlcGVuZGVuY3kuAABdEAAvAAAAZFwQAIoAAABzAAAACQAAAEludmFsaWQgcGFyZW50IGluZGV4LgAAAEhdEAAVAAAAZFwQAIoAAAB3AAAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2R5bmFtaWNzL2pvaW50L211bHRpYm9keV9qb2ludC9tdWx0aWJvZHlfam9pbnQucnMAeF0QAIsAAABhAAAALgAAAHhdEACLAAAAYQAAABwAAABub3QgeWV0IGltcGxlbWVudGVkAHhdEACLAAAAbwAAABEAAAB4XRAAiwAAAHMAAAA7AAAAeF0QAIsAAAB6AAAAEgAAAHhdEACLAAAAVgAAACMAAAB4XRAAiwAAAKQAAAARAAAAeF0QAIsAAACsAAAAEgAAAHhdEACLAAAAygAAAC4AAAB4XRAAiwAAAMoAAAAiAAAAeF0QAIsAAADOAAAAEQAAAHhdEACLAAAA0gAAADoAAAB4XRAAiwAAANUAAAASAAAAeF0QAIsAAAC5AAAAMQAAAHhdEACLAAAA4wAAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9qb2ludC9tdWx0aWJvZHlfam9pbnQvdW5pdF9tdWx0aWJvZHlfam9pbnQucnMIXxAAkAAAACEAAAAOAAAACF8QAJAAAAAiAAAADgAAAAhfEACQAAAAPAAAAAUAAAAIXxAAkAAAAFcAAAAOAAAACF8QAJAAAABYAAAADgAAAAhfEACQAAAAfgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9keW5hbWljcy9yaWdpZF9ib2R5X2NvbXBvbmVudHMucnMA+F8QAHsAAADPAwAAOwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4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cy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L2Jyb2FkX3BoYXNlX211bHRpX3NhcC9zYXBfcmVnaW9uLnJz8nwQAIYAAABHAAAACQAAAPJ8EACGAAAARgAAAAkAAADyfBAAhgAAAIkAAAAJAAAA8nwQAIYAAACBAAAADQAAAPJ8EACGAAAAqQAAACIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9icm9hZF9waGFzZV9tdWx0aV9zYXAvc2FwX3V0aWxzLnJzAAAAyH0QAIUAAAANAAAABQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L2ludGVyYWN0aW9uX2dyYXBoLnJzAGB+EAB3AAAAggAAAD8AAABgfhAAdwAAAIMAAAAYAAAAYH4QAHcAAACDAAAAMQAAAGB+EAB3AAAA6AAAAD0AAABgfhAAdwAAAOkAAAApAAAAYH4QAHcAAADpAAAAQgAAAGB+EAB3AAAA8AAAADkAAABgfhAAdwAAAPEAAAAlAAAAYH4QAHcAAADxAAAAPgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL2dlb21ldHJ5L25hcnJvd19waGFzZS5ycwAAaH8QAHIAAAC3AAAAKAAAAGh/EAByAAAAjQEAABEAAABofxAAcgAAAJkBAAARAAAAaH8QAHIAAADjAQAALwAAAGh/EAByAAAA4wEAAE4AAABofxAAcgAAAMQCAAAgAAAAaH8QAHIAAADFAgAAIAAAAGh/EAByAAAAxwIAACEAAABofxAAcgAAAMgCAAAhAAAAaH8QAHIAAADYAgAAJgAAAGh/EAByAAAA3AIAACYAAABofxAAcgAAACwDAAAhAAAAaH8QAHIAAAAtAwAAIQAAAGh/EAByAAAAPQMAACYAAABofxAAcgAAAEEDAAAmAAAAaH8QAHIAAACjAwAAJQAAAGh/EAByAAAApwMAACUAAABBIGNvbnRhY3QgbWFuaWZvbGQgY2Fubm90IGNvbnRhaW4gbW9yZSB0aGFuIDI1NSBjb250YWN0cyBjdXJyZW50bHkuAOyAEABDAAAAaH8QAHIAAAC5AwAAGQAAAGh/EAByAAAACgQAACMAAABofxAAcgAAABsEAAAuAAAAaH8QAHIAAAAnBAAALgAAAGh/EAByAAAAOwQAABwAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9nZW9tZXRyeS9jb2xsaWRlcl9zZXQucnMAAIiBEAByAAAArAAAADYAAACIgRAAcgAAABcBAAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhcGllcjNkLTAuMTguMC9zcmMvcGlwZWxpbmUvcGh5c2ljc19waXBlbGluZS5ycwAAHIIQAHYAAAAwAQAAIQAAAByCEAB2AAAAMQEAACEAAAAcghAAdgAAAOYAAAAdAAAAHIIQAHYAAADtAAAAKwAAAByCEAB2AAAA7wAAADMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmFwaWVyM2QtMC4xOC4wL3NyYy9waXBlbGluZS9xdWVyeV9waXBlbGluZS5yc+SCEAB0AAAAXQEAABoAAADkghAAdAAAAIUBAAA/AAAA5IIQAHQAAACQAQAANgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL3BpcGVsaW5lL3VzZXJfY2hhbmdlcy5ycwAAiIMQAHIAAAAUAAAALAAAAFVuYWJsZSB0byBpbmRleCB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLgAMhBAAJwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yYXBpZXIzZC0wLjE4LjAvc3JjL3V0aWxzLnJzAAA8hBAAYgAAABEDAAAJAAAAJEkQABQAAAA8hBAAYgAAABIDAAAJAAAAPIQQAGIAAAAfAwAACQAAAER5bmFtaWNGaXhlZEtpbmVtYXRpY1Bvc2l0aW9uQmFzZWRLaW5lbWF0aWNWZWxvY2l0eUJhc2VkBwAAAAUAAAAWAAAAFgAAANiEEADfhBAA5IQQAPqEEAABAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NpbWJhLTAuOC4xL3NyYy9zaW1kL2F1dG9fc2ltZF9pbXBsLnJzNIUQAGwAAAC/BQAAAQAAANQAAAAIAAAABAAAANUAAADWAAAA1wAAAFAAAAAEAAAA2AAAANkAAADEAAAABAAAANoAAADbAAAASAAAAAQAAADcAAAA1AAAAAgAAAAEAAAA3QAAANQAAAAIAAAABAAAAN4AAADUAAAADAAAAAQAAADfAAAA1AAAACQAAAAEAAAA4AAAANQAAAAMAAAABAAAAOEAAADiAAAAIAAAAAQAAADjAAAA5AAAAHgAAAAEAAAA5QAAAOYAAABIAAAABAAAAOcAAADoAAAAYAAAAAQAAADpAAAA1AAAABgAAAAEAAAA6gAAAOsAAAAgAAAABAAAAOwAAADUAAAABAAAAAQAAADtAAAA7gAAAGAAAAAEAAAA7wAAANQAAAAQAAAABAAAAPAAAADUAAAAHAAAAAQAAADxAAAA8gAAAFgAAAAEAAAA8wAAANQAAAAMAAAABAAAAPQAAADUAAAAKAAAAAQAAAD1AAAA9gAAAGQAAAAEAAAA9wAAANQAAAAMAAAABAAAAPgAAABhc3NlcnRpb24gZmFpbGVkOiBtaW4gPD0gbWF4L3J1c3RjLzgyZTE2MDhkZmE2ZTBiNTU2OTIzMjU1OWUzZDM4NWZlYTVhOTMxMTIvbGlicmFyeS9jb3JlL3NyYy9jbXAucnMAUIcQAEcAAABsAwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAA1AAAAAQAAAAEAAAA+QAAANQAAAAEAAAABAAAAPoAAAAvcnVzdGMvODJlMTYwOGRmYTZlMGI1NTY5MjMyNTU5ZTNkMzg1ZmVhNWE5MzExMi9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJzGIgQAEwAAACyBQAADQAAAAAAAAD//////////3iIEABBkJHCAAuGsgFjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTEuOS4zL3NyYy9tYXAvY29yZS5ycwC7iBAAZAAAACoAAAAjAAAAu4gQAGQAAACrAgAAHgAAALuIEABkAAAAIgAAAA8AAABNYXRyaXggaW5kZXggb3V0IG9mIGJvdW5kcy4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbmFsZ2VicmEtMC4zMi4zL3NyYy9iYXNlL2JsYXMucnNEb3QgcHJvZHVjdCBkaW1lbnNpb25zIG1pc21hdGNoIGZvciBzaGFwZXMgIGFuZCA6IGxlZnQgcm93cyAhPSByaWdodCByb3dzLgDRiRAAKwAAAPyJEAAFAAAAAYoQABoAAABriRAAZgAAACAAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL25hbGdlYnJhLTAuMzIuMy9zcmMvbGluYWxnL3N5bW1ldHJpY19laWdlbi5ycwBEihAAcwAAAMkAAAAvAAAARIoQAHMAAACQAAAAIQAAAESKEABzAAAAkQAAACEAAABEihAAcwAAALAAAAA4AAAARIoQAHMAAAD+AAAAGAAAAESKEABzAAAAQAAAAD4AAABEihAAcwAAAFQAAAAgAAAASW5kZXggb3V0IG9mIGJvdW5kcy7UAAAACAAAAAQAAAD7AAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYWFiYi5yc1RoZSBsb29zZW5pbmcgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUuAAC8ixAAJgAAAEyLEABwAAAAJAIAAAkAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL2JvdW5kaW5nX3ZvbHVtZS9hYWJiX3V0aWxzLnJzUG9pbnQgY2xvdWQgQWFiYiBjb25zdHJ1Y3Rpb246IHRoZSBpbnB1dCBpdGVyYXRvciBzaG91bGQgeWllbGQgYXQgbGVhc3Qgb25lIHBvaW50LvyLEAB2AAAAQAAAABgAAAD8ixAAdgAAAFcAAAAYAAAAdHdvIGFycmF5cyBjb250YWluaW5nIGF0IGxlYXN0ICBmbG9hdHMAAOSMEAAfAAAAA40QAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9tYXNzX3Byb3BlcnRpZXMvbWFzc19wcm9wZXJ0aWVzX3RyaW1lc2gzZC5ycwAAACCNEACFAAAAFgAAABcAAAAgjRAAhQAAABcAAAAXAAAAII0QAIUAAAAYAAAAFwAAACCNEACFAAAApQAAABIAAAAgjRAAhQAAAKYAAAASAAAAII0QAIUAAACnAAAAEgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcGFydGl0aW9uaW5nL3FidmgvdXRpbHMucnMACI4QAHMAAAAlAAAAEQAAAAiOEABzAAAAEgAAABEAAAAIjhAAcwAAABMAAAAWAAAACI4QAHMAAAAVAAAAEgAAAAiOEABzAAAAFwAAABUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3BhcnRpdGlvbmluZy9xYnZoL2J1aWxkLnJzAMyOEABzAAAARAEAABMAAADMjhAAcwAAACwBAAAZAAAAzI4QAHMAAAAtAQAAEgAAAMyOEABzAAAAswEAABMAAADMjhAAcwAAALUBAAATAAAAzI4QAHMAAAC3AQAAEwAAAMyOEABzAAAAuwEAACEAAADMjhAAcwAAAIEBAAAqAAAAzI4QAHMAAAB5AQAAHwAAAMyOEABzAAAAWwEAACYAAADMjhAAcwAAAF0BAAAdAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9wYXJ0aXRpb25pbmcvcWJ2aC90cmF2ZXJzYWwucnMA8I8QAHcAAABNAAAAIwAAAPCPEAB3AAAAmgAAACMAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NsaXAvY2xpcF9hYWJiX2xpbmUucnMAAACIkBAAdQAAAI0AAAATAAAAiJAQAHUAAACbAAAAEwAAAFRoZSBwcm94aW1pdHkgbWFyZ2luIG11c3QgYmUgcG9zaXRpdmUgb3IgbnVsbC4AACCREAAuAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19iYWxsX2JhbGwucnMAAABYkRAAiQAAAA8AAAAFAAAAVGhlIGNvbXBvc2l0ZSBzaGFwZSBtdXN0IG5vdCBiZSBlbXB0eS4vVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2NvbXBvc2l0ZV9zaGFwZV9zaGFwZS5ycwAakhAAlQAAABsAAAAKAAAAGpIQAJUAAACBAAAAIQAAABqSEACVAAAAggAAACEAAAAakhAAlQAAAIMAAAAhAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZS9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvY2xvc2VzdF9wb2ludHMvY2xvc2VzdF9wb2ludHNfY3Vib2lkX2N1Ym9pZC5ycwAAABiTEACNAAAAUgAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2Nsb3Nlc3RfcG9pbnRzL2Nsb3Nlc3RfcG9pbnRzX2N1Ym9pZF90cmlhbmdsZS5ycwC4kxAAjwAAAE0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19oYWxmc3BhY2Vfc3VwcG9ydF9tYXAucnMAAABYlBAAlQAAAA0AAAAFAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9jbG9zZXN0X3BvaW50cy9jbG9zZXN0X3BvaW50c19zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAlRAAlwAAACAAAAAkAAAA1AAAABgAAAAEAAAA/AAAAP0AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2NvbnRhY3QvY29udGFjdF9zdXBwb3J0X21hcF9zdXBwb3J0X21hcC5ycwAAALyVEACJAAAAHgAAACQAAADrAAAAIAAAAAQAAADrAAAAIAAAAAQAAADsAAAA/gAAAP8AAAAAAQAAAQEAAFiWEABYlhAA/wAAAAIBAAADAQAA4gAAACAAAAAEAAAA4gAAACAAAAAEAAAA4wAAAAQBAAAFAQAABgEAAAcBAACYlhAAmJYQAAUBAAAIAQAACQEAANsAAABIAAAABAAAANsAAABIAAAABAAAANwAAAAKAQAACwEAAAwBAAANAQAA2JYQANiWEAALAQAADgEAAA8BAADmAAAASAAAAAQAAADmAAAASAAAAAQAAADnAAAAEAEAABEBAAASAQAAEwEAABiXEAAYlxAAEQEAABQBAAAVAQAA8gAAAFgAAAAEAAAA8gAAAFgAAAAEAAAA8wAAABYBAAAXAQAAGAEAABkBAABYlxAAWJcQABcBAAAaAQAAGwEAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2VfY29tcG9zaXRlX3NoYXBlX3NoYXBlLnJzAAAAmJcQAIkAAAAXAAAACgAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZGlzdGFuY2UvZGlzdGFuY2Vfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMANJgQAIsAAAA0AAAAJAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZXBhL2VwYTMucnMAANCYEABqAAAARgAAAA4AAADQmBAAagAAAEcAAAAOAAAA0JgQAGoAAABIAAAADgAAANCYEABqAAAAXgAAAA0AAADQmBAAagAAAF8AAAANAAAA0JgQAGoAAABgAAAADQAAANCYEABqAAAAbgAAAA0AAADQmBAAagAAAG8AAAATAAAA0JgQAGoAAABwAAAAEwAAANCYEABqAAAAgQAAAA0AAADQmBAAagAAAIcAAAAcAAAA0JgQAGoAAACHAAAAEwAAANCYEABqAAAAiAAAABMAAADQmBAAagAAAIkAAAATAAAA0JgQAGoAAACKAAAAEwAAANCYEABqAAAA8AAAACQAAADQmBAAagAAAPEAAAAkAAAA0JgQAGoAAADyAAAAJAAAANCYEABqAAAADQEAACcAAADQmBAAagAAAA0BAABEAAAA0JgQAGoAAAASAQAAJwAAANCYEABqAAAAEgEAAEQAAADQmBAAagAAABcBAAAnAAAA0JgQAGoAAAAXAQAARAAAANCYEABqAAAAHAEAACcAAADQmBAAagAAABwBAABEAAAA0JgQAGoAAAAhAQAAKAAAANCYEABqAAAAPQEAADIAAADQmBAAagAAAEQBAAAiAAAA0JgQAGoAAABdAQAAFwAAANCYEABqAAAAXwEAACwAAADQmBAAagAAAGABAAAsAAAA0JgQAGoAAABhAQAALAAAANCYEABqAAAAlwEAABcAAADQmBAAagAAAJgBAAAjAAAA0JgQAGoAAABvAQAAHwAAANCYEABqAAAAgwEAADoAAADQmBAAagAAAIMBAAAvAAAA0JgQAGoAAABYAQAALAAAANCYEABqAAAAowEAACQAAADQmBAAagAAAKkBAAAXAAAA0JgQAGoAAACyAQAAJgAAANCYEABqAAAAtgEAAB8AAADQmBAAagAAALgBAAAfAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9xdWVyeS9namsvZ2prLnJzAAAA/JsQAGkAAABDAAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG1pbl9ib3VuZCA9PSBtaW5fYm91bmT8mxAAaQAAAIwAAAAJAAAA/JsQAGkAAABPAQAACQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvZ2prL3Zvcm9ub2lfc2ltcGxleDMucnMAAMCcEAB2AAAAJwAAABcAAADAnBAAdgAAAFAAAAASAAAAKIsQABQAAADAnBAAdgAAAFsAAAAJAAAAwJwQAHYAAABgAAAACQAAAMCcEAB2AAAAYQAAAAoAAADAnBAAdgAAAGcAAAAJAAAAwJwQAHYAAABtAAAACgAAAMCcEAB2AAAAjgAAABYAAADAnBAAdgAAAOgAAAAeAAAAwJwQAHYAAAARAQAAHgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuZGltID09IDMAwJwQAHYAAAC8AAAADQAAAMCcEAB2AAAAXwEAABQAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L2ludGVyc2VjdGlvbl90ZXN0L2ludGVyc2VjdGlvbl90ZXN0X3N1cHBvcnRfbWFwX3N1cHBvcnRfbWFwLnJzAAAAIJ4QAJ0AAAA5AAAAKQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvbm9ubGluZWFyX3RpbWVfb2ZfaW1wYWN0L25vbmxpbmVhcl90aW1lX29mX2ltcGFjdF9jb21wb3NpdGVfc2hhcGVfc2hhcGUucnMAAADUAAAABAAAAAQAAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAA1AAAAAQAAAAEAAAA7QAAACYBAAAnAQAAKAEAACkBAADUAAAABAAAAAQAAADUAAAABAAAAAQAAADtAAAAJgEAACcBAAAoAQAAKQEAANCfEADQnxAAJwEAANQAAAAEAAAABAAAACoBAAArAQAALAEAAC0BAAAuAQAALwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJAEAACUBAAB8nxAA7QAAAKSGEAAmAQAAJwEAACgBAAApAQAAsJ8QANCfEADQnxAAJwEAANyfEAAwAQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8AQAAPQEAAD4BAAA/AQAA0J4QAKkAAACcAAAAKgAAANCeEACpAAAAxAAAABUAAADQnhAAqQAAAL0AAAAhAAAA0J4QAKkAAAC+AAAAIQAAANCeEACpAAAAvwAAACEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L25vbmxpbmVhcl90aW1lX29mX2ltcGFjdC9ub25saW5lYXJfdGltZV9vZl9pbXBhY3Rfc3VwcG9ydF9tYXBfc3VwcG9ydF9tYXAucnMAFKEQAKsAAADJAAAAKAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvcXVlcnkvcG9pbnQvcG9pbnRfY29tcG9zaXRlX3NoYXBlLnJzAAAA0KEQAH0AAAAjAAAAUwAAANChEAB9AAAAngAAAA4AAADQoRAAfQAAAEgAAABUAAAA0KEQAH0AAABwAAAANwAAANChEAB9AAAAjwAAADcAAADQoRAAfQAAALsAAAAxAAAA0KEQAH0AAAC+AAAAJQAAANChEAB9AAAAuQAAACMAAABhc3NlcnRpb24gZmFpbGVkOiBzcW5hYiAhPSAwLjAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3F1ZXJ5L3BvaW50L3BvaW50X3NlZ21lbnQucnMA7qIQAHUAAABIAAAADQAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMu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bDMvdHJpYW5nbGVfZmFjZXQucnMAAGTNEACGAAAAFQAAABQAAABkzRAAhgAAABUAAAAhAAAAZM0QAIYAAAAWAAAAFAAAAGFzc2VydGlvbiBmYWlsZWQ6IGRpc3RhbmNlID4gY3JhdGU6Om1hdGg6OkRFRkFVTFRfRVBTSUxPTgAAAGTNEACGAAAAKgAAAAkAAABkzRAAhgAAADUAAAAbAAAAZM0QAIYAAAA1AAAAKwAAAGTNEACGAAAASwAAAAkAAABkzRAAhgAAAFgAAAASAAAAZM0QAIYAAABZAAAAEgAAAGTNEACGAAAAcAAAABYAAABkzRAAhgAAAHEAAAAWAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbDMvdmFsaWRhdGlvbi5ycwAA2M4QAIIAAAAPAAAAFAAAANjOEACCAAAADwAAAAkAAADYzhAAggAAABAAAAAJAAAA2M4QAIIAAAARAAAACQAAANjOEACCAAAAFQAAAAkAAADYzhAAggAAAAkAAAARAAAAYXNzZXJ0aW9uIGZhaWxlZDogZmFjZXRzW2ZhY2V0LmFkaltpXV0udmFsaWTYzhAAggAAAAkAAAAJAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi9jb252ZXhfaHVsbF91dGlscy5yc/jPEAB8AAAAKQAAACIAAAD4zxAAfAAAAEIAAAAiAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy90cmFuc2Zvcm1hdGlvbi90b19vdXRsaW5lL2JhbGxfdG9fb3V0bGluZS5ycwAAAJTQEACFAAAAHgAAABQAAACU0BAAhQAAACIAAAAUAAAAlNAQAIUAAAA8AAAAEQAAAJTQEACFAAAAQAAAABEAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvY2Fwc3VsZV90b19vdXRsaW5lLnJzXNEQAIgAAAAcAAAACAAAAAAAAAABAAAAAAAAAAIAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3RyYW5zZm9ybWF0aW9uL3RvX291dGxpbmUvcm91bmRfY29udmV4X3BvbHloZWRyb25fdG9fb3V0bGluZS5ycwTSEACYAAAAMAAAABoAAAAE0hAAmAAAACIAAAA0AAAABNIQAJgAAAAjAAAAHgAAAATSEACYAAAADwAAABoAAAAE0hAAmAAAABIAAAA4AAAABNIQAJgAAAAVAAAAHAAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vdG9fdHJpbWVzaC9jb252ZXhfcG9seWhlZHJvbl90b190cmltZXNoLnJzAAD80hAAkgAAAA0AAAAcAAAA/NIQAJIAAAAPAAAAMwAAAC9Vc2Vycy9zZWJjcm96ZXQvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9wYXJyeTNkLTAuMTMuNS9zcmMvdHJhbnNmb3JtYXRpb24vdXRpbHMucnOw0xAAcAAAAMQAAAAQAAAAsNMQAHAAAADFAAAAEAAAAGFzc2VydGlvbiBmYWlsZWQ6IG5zdWJkaXZzID4gMAAAsNMQAHAAAADWAAAABQAAALDTEABwAAAARAEAAB0AAACw0xAAcAAAADMBAAAnAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy91dGlscy9hcnJheS5ycwCQ1BAAZwAAAEoAAAANAAAAQ2Fubm90IGNvbXB1dGUgdGhlIGNlbnRlciBvZiBsZXNzIHRoYW4gMSBwb2ludC4ACNUQAC8AAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2NlbnRlci5yc0DVEABoAAAABwAAAAUAAAAvVXNlcnMvc2ViY3JvemV0Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcGFycnkzZC0wLjEzLjUvc3JjL3V0aWxzL2NsZWFudXAucnMAAAC41RAAaQAAAB0AAAARAAAAuNUQAGkAAAAeAAAAEQAAALjVEABpAAAAHwAAABEAAAC41RAAaQAAABMAAAANAAAAuNUQAGkAAAAVAAAADQAAALjVEABpAAAAFgAAABcAAAC41RAAaQAAAAwAAAAJAAAAuNUQAGkAAAANAAAACQAAALjVEABpAAAADgAAAAkAAAAEuxAAewAAAAcAAAAYAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3BhcnJ5M2QtMC4xMy41L3NyYy9ib3VuZGluZ192b2x1bWUvYm91bmRpbmdfc3BoZXJlLnJzAMTWEAB7AAAAfQAAAAkAAADUAAAAEAAAAAQAAAB9AwAAfgMAAH8DAACAAwAA1AAAACgAAAAEAAAAgQMAAIIDAACDAwAAhAMAANQAAAAMAAAABAAAAIUDAACGAwAAhwMAAIgDAADUAAAADAAAAAQAAACJAwAAigMAAIsDAACMAwAA9gAAAGQAAAAEAAAAjQMAAI4DAACPAwAAkAMAAEludGVybmFsRXJyb3IAAADUAAAABAAAAAQAAACRAwAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd/zXEAAcAAAAL1VzZXJzL3NlYmNyb3pldC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2hhc2hicm93bi0wLjEyLjMvc3JjL3Jhdy9tb2QucnMAAAAg2BAAZQAAAFoAAAAoAAAAOGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojMAAAA/AAAAvwMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAAAABA+yH5PwAAAAAtRHQ+AAAAgJhG+DwAAABgUcx4OwAAAICDG/A5AAAAQCAlejgAAACAIoLjNgAAAAAd82k12w9JP9sPSb/kyxZAAAAAAAAAAIDbD0lAYnl0ZSBhcnJheWJvb2xlYW4gYGA62hAACQAAAEPaEAABAAAAaW50ZWdlciBgAAAAVNoQAAkAAABD2hAAAQAAAGZsb2F0aW5nIHBvaW50IGBw2hAAEAAAAEPaEAABAAAAY2hhcmFjdGVyIGAAkNoQAAsAAABD2hAAAQAAAHN0cmluZyAArNoQAAcAAAAw2hAACgAAAHVuaXQgdmFsdWUAAMTaEAAKAAAAT3B0aW9uIHZhbHVl2NoQAAwAAABuZXd0eXBlIHN0cnVjdAAA7NoQAA4AAABzZXF1ZW5jZQTbEAAIAAAAbWFwABTbEAADAAAAZW51bSDbEAAEAAAAdW5pdCB2YXJpYW50LNsQAAwAAABuZXd0eXBlIHZhcmlhbnQAQNsQAA8AAAB0dXBsZSB2YXJpYW50AAAAWNsQAA0AAABzdHJ1Y3QgdmFyaWFudAAAcNsQAA4AAABhIG5vbnplcm8gdXNpemV1c2l6ZXJlZW50cmFudCBpbml0AACc2xAADgAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAtNsQAE0AAADZAAAAQgAAAG92ZXJmbG93IGluIER1cmF0aW9uOjpuZXcAAAAU3BAAGQAAAC9ydXN0Yy84MmUxNjA4ZGZhNmUwYjU1NjkyMzI1NTllM2QzODVmZWE1YTkzMTEyL2xpYnJhcnkvY29yZS9zcmMvdGltZS5yczjcEABIAAAAygAAABUAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlAJgDAAAMAAAABAAAAJkDAACaAwAAmwMAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvbW9kLnJzZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZPHcEAA3AAAA1NwQAB0AAACcBAAADQAAAG92ZXJmbG93IHdoZW4gYWRkaW5nIGR1cmF0aW9uIHRvIGluc3RhbnRsaWJyYXJ5L3N0ZC9zcmMvdGltZS5ycwBo3RAAFwAAAKEBAAAhAAAAbWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAAkN0QABUAAACl3RAADQAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc8TdEAAYAAAAYgEAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJz7N0QABwAAACEAgAAHgAAAJgDAAAMAAAABAAAAJwDAACdAwAACAAAAAQAAACeAwAAnQMAAAgAAAAEAAAAnwMAAKADAAChAwAAEAAAAAQAAACiAwAAowMAAKQDAAAAAAAAAQAAAKUDAAB0aW1lIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtAAAAcN4QACUAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvdGltZS5ycwCg3hAALwAAAA0AAAAJAAAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd+DeEAAcAAAAL3J1c3QvZGVwcy9oYXNoYnJvd24tMC4xNC4yL3NyYy9yYXcvbW9kLnJzAAAE3xAAKgAAAFgAAAAoAAAARXJyb3JMYXlvdXRFcnJvcqYDAAAMAAAABAAAAKcDAACoAwAAqQMAAGxp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").buffer)})}function oH(){return function(){let g,A;try{const B=M.__wbindgen_add_to_stack_pointer(-16);M.version(B);var I=ZI()[B/4+0],C=ZI()[B/4+1];return g=I,A=C,CH(I,C)}finally{M.__wbindgen_add_to_stack_pointer(16),M.__wbindgen_free(g,A,1)}}()}Gi[45]=62,Gi[95]=63;var uV=Object.freeze({__proto__:null,version:oH,Vector3:Tn,VectorOps:uA,Quaternion:ph,RotationOps:gg,SdpMatrix3:GM,SdpMatrix3Ops:Uh,get RigidBodyType(){return ui},RigidBody:Kh,RigidBodyDesc:ki,RigidBodySet:yM,IntegrationParameters:uM,get JointType(){return bC},get MotorModel(){return Nh},get JointAxesMask(){return fh},ImpulseJoint:qi,UnitImpulseJoint:Ww,FixedImpulseJoint:kM,RopeImpulseJoint:dM,SpringImpulseJoint:MM,PrismaticImpulseJoint:pM,RevoluteImpulseJoint:UM,GenericImpulseJoint:NM,SphericalImpulseJoint:fM,JointData:hQ,ImpulseJointSet:FM,MultibodyJoint:re,UnitMultibodyJoint:jw,FixedMultibodyJoint:RM,PrismaticMultibodyJoint:KM,RevoluteMultibodyJoint:JM,SphericalMultibodyJoint:qM,MultibodyJointSet:mM,get CoefficientCombineRule(){return Ca},CCDSolver:LM,IslandManager:YM,BroadPhase:HM,NarrowPhase:TM,TempContactManifold:xM,Shape:kC,get ShapeType(){return lC},Ball:Vw,HalfSpace:vM,Cuboid:Xw,RoundCuboid:zw,Capsule:$w,Segment:AS,Triangle:IS,RoundTriangle:gS,Polyline:CS,TriMesh:BS,ConvexPolyhedron:fr,RoundConvexPolyhedron:Fr,Heightfield:iS,Cylinder:QS,RoundCylinder:eS,Cone:ES,RoundCone:tS,get ActiveCollisionTypes(){return Nr},Collider:qh,get MassPropsMode(){return aE},ColliderDesc:BC,ColliderSet:zM,get FeatureType(){return Io},Ray:EH,RayIntersection:Sa,RayColliderIntersection:ia,RayColliderToi:Cl,PointProjection:wa,PointColliderProjection:Ba,ShapeTOI:co,ShapeColliderTOI:Ga,ShapeContact:go,World:Bl,PhysicsPipeline:bM,SerializationPipeline:Jh,get ActiveEvents(){return Ce},TempContactForceEvent:VM,EventQueue:XM,get ActiveHooks(){return Ur},get SolverFlags(){return Rh},DebugRenderBuffers:_M,DebugRenderPipeline:ZM,get QueryFilterFlags(){return Fh},QueryPipeline:OM,init:tH,CharacterCollision:PM,KinematicCharacterController:WM,DynamicRayCastVehicleController:jM});const kV=Object.freeze(Object.defineProperty({__proto__:null,get ActiveCollisionTypes(){return Nr},get ActiveEvents(){return Ce},get ActiveHooks(){return Ur},Ball:Vw,BroadPhase:HM,CCDSolver:LM,Capsule:$w,CharacterCollision:PM,get CoefficientCombineRule(){return Ca},Collider:qh,ColliderDesc:BC,ColliderSet:zM,Cone:ES,ConvexPolyhedron:fr,Cuboid:Xw,Cylinder:QS,DebugRenderBuffers:_M,DebugRenderPipeline:ZM,DynamicRayCastVehicleController:jM,EventQueue:XM,get FeatureType(){return Io},FixedImpulseJoint:kM,FixedMultibodyJoint:RM,GenericImpulseJoint:NM,HalfSpace:vM,Heightfield:iS,ImpulseJoint:qi,ImpulseJointSet:FM,IntegrationParameters:uM,IslandManager:YM,get JointAxesMask(){return fh},JointData:hQ,get JointType(){return bC},KinematicCharacterController:WM,get MassPropsMode(){return aE},get MotorModel(){return Nh},MultibodyJoint:re,MultibodyJointSet:mM,NarrowPhase:TM,PhysicsPipeline:bM,PointColliderProjection:Ba,PointProjection:wa,Polyline:CS,PrismaticImpulseJoint:pM,PrismaticMultibodyJoint:KM,Quaternion:ph,get QueryFilterFlags(){return Fh},QueryPipeline:OM,Ray:EH,RayColliderIntersection:ia,RayColliderToi:Cl,RayIntersection:Sa,RevoluteImpulseJoint:UM,RevoluteMultibodyJoint:JM,RigidBody:Kh,RigidBodyDesc:ki,RigidBodySet:yM,get RigidBodyType(){return ui},RopeImpulseJoint:dM,RotationOps:gg,RoundCone:tS,RoundConvexPolyhedron:Fr,RoundCuboid:zw,RoundCylinder:eS,RoundTriangle:gS,SdpMatrix3:GM,SdpMatrix3Ops:Uh,Segment:AS,SerializationPipeline:Jh,Shape:kC,ShapeColliderTOI:Ga,ShapeContact:go,ShapeTOI:co,get ShapeType(){return lC},get SolverFlags(){return Rh},SphericalImpulseJoint:fM,SphericalMultibodyJoint:qM,SpringImpulseJoint:MM,TempContactForceEvent:VM,TempContactManifold:xM,TriMesh:BS,Triangle:IS,UnitImpulseJoint:Ww,UnitMultibodyJoint:jw,Vector3:Tn,VectorOps:uA,World:Bl,default:uV,init:tH,version:oH},Symbol.toStringTag,{value:"Module"}));var dV=function g(A,I){if(A===I)return!0;if(A&&I&&typeof A=="object"&&typeof I=="object"){if(A.constructor!==I.constructor)return!1;var C,B,i;if(Array.isArray(A)){if(C=A.length,C!=I.length)return!1;for(B=C;B--!==0;)if(!g(A[B],I[B]))return!1;return!0}if(A.constructor===RegExp)return A.source===I.source&&A.flags===I.flags;if(A.valueOf!==Object.prototype.valueOf)return A.valueOf()===I.valueOf();if(A.toString!==Object.prototype.toString)return A.toString()===I.toString();if(i=Object.keys(A),C=i.length,C!==Object.keys(I).length)return!1;for(B=C;B--!==0;)if(!Object.prototype.hasOwnProperty.call(I,i[B]))return!1;for(B=C;B--!==0;){var Q=i[B];if(!g(A[Q],I[Q]))return!1}return!0}return A!==A&&I!==I};const $M=mh(dV),oS=[];function nH(g,A,I,C=0,B=!1){for(const Q of A)if($M(I,Q.args)){if(B)return;if(Q.error)throw Q.error;if(Q.response)return Q.response;throw Q.promise}const i={args:I,promise:g(...I).then(Q=>i.response=Q??!0).catch(Q=>i.error=Q??"unknown error").then(()=>{C>0&&setTimeout(()=>{const Q=A.indexOf(i);Q!==-1&&A.splice(Q,1)},C)})};if(A.push(i),!B)throw i.promise}function MV(g,...A){if(A===void 0||A.length===0)g.splice(0,g.length);else{const I=g.find(C=>$M(A,C.args));if(I){const C=g.indexOf(I);C!==-1&&g.splice(C,1)}}}function Co(g,...A){return nH(g,oS,A,Co.lifespan)}Co.lifespan=0;Co.clear=(...g)=>MV(oS,...g);Co.preload=(g,...A)=>void nH(g,oS,A,Co.lifespan,!0);Co.peek=(...g)=>{var A;return(A=oS.find(I=>$M(g,I.args)))==null?void 0:A.response};function pV(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),E={},t={},n=[],s=["getX","getY","getZ","getW"];for(let G=0,h=e.length;G[]))}const r=Math.log10(1/A),l=Math.pow(10,r);for(let G=0;G{const[A,I,C]=g;return new O(A,I,C)},CK=({x:g,y:A,z:I,w:C})=>NV.set(g,A,I,C),RV=g=>{if(Array.isArray(g))return new Tn(g[0],g[1],g[2]);if(typeof g=="number")return new Tn(g,g,g);{const A=g;return new Tn(A.x,A.y,A.z)}},KV={fixed:1,dynamic:0,kinematicPosition:2,kinematicVelocity:3},aH=g=>KV[g],JV=(g,A)=>{const I=Array.from(g);for(let C=0;Cg?g instanceof _g?[g.x,g.y,g.z,g.w]:g instanceof O||g instanceof fQ?[g.x,g.y,g.z]:Array.isArray(g)?g:[g]:[0];function AE(g){const A=j.useRef();return A.current===void 0&&(A.current={value:typeof g=="function"?g():g}),A.current.value}const qV=g=>{const A=j.useRef(g),I=j.useRef(0),C=j.useRef(0);j.useEffect(()=>{A.current=g},[g]),j.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)},[])},mV=({onStep:g,updatePriority:A})=>(OB((I,C)=>{g(C)},A),null),LV=({onStep:g})=>(qV(A=>{g(A)}),null),YV=({onStep:g,type:A,updatePriority:I})=>A==="independent"?$I.createElement(LV,{onStep:g}):$I.createElement(mV,{onStep:g,updatePriority:I});var HV=j.memo(YV);function TV(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 Ap(g,A){if(g==null)return{};var I=TV(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 xV=["mass","linearDamping","angularDamping","type","onCollisionEnter","onCollisionExit","onIntersectionEnter","onIntersectionExit","onContactForce","children","canSleep","ccd","gravityScale"],vV=(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]=JV(C[0],I),C;const B=[I.x,I.y,I.z,I.x,I.x];return C.map((i,Q)=>B[Q]*i)},bV=(g,A,I,C)=>{const B=vV(g.shape,g.args,I),i=BC[g.shape](...B);return A.createCollider(i,C?.())},OV=["shape","args"],BK="Please pick ONLY ONE of the `density`, `mass` and `massProperties` options.",_V=(g,A)=>{if(A.density!==void 0){if(A.mass!==void 0||A.massProperties!==void 0)throw new Error(BK);g.setDensity(A.density);return}if(A.mass!==void 0){if(A.massProperties!==void 0)throw new Error(BK);g.setMass(A.mass);return}A.massProperties!==void 0&&g.setMassProperties(A.massProperties.mass,A.massProperties.centerOfMass,A.massProperties.principalAngularInertia,A.massProperties.angularInertiaLocalFrame)},rH={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)},quaternion:()=>{},position:()=>{},rotation:()=>{},scale:()=>{}},lH=Object.keys(rH),ZV=(g,A,I)=>{const C=I.get(g.handle);if(C){var B;const i=C.object.parent.getWorldScale(fV),Q=(B=C.worldParent)===null||B===void 0?void 0:B.matrixWorld.clone().invert();C.object.updateWorldMatrix(!0,!1),UE.copy(C.object.matrixWorld),Q&&UE.premultiply(Q),UE.decompose(AB,zi,Bo),g.parent()?(g.setTranslationWrtParent({x:AB.x*i.x,y:AB.y*i.y,z:AB.z*i.z}),g.setRotationWrtParent(zi)):(g.setTranslation({x:AB.x*i.x,y:AB.y*i.y,z:AB.z*i.z}),g.setRotation(zi)),lH.forEach(e=>{if(e in A){const E=A[e];rH[e](g,E,A)}}),_V(g,A)}},PV=(g,A,I)=>{const C=j.useMemo(()=>lH.flatMap(B=>sH(A[B])),[A]);j.useEffect(()=>{const B=g();ZV(B,A,I)},[...C,g])},WV=g=>{let A=!1;return g.traverseAncestors(I=>{I.userData.r3RapierType==="MeshCollider"&&(A=!0)}),A},jV=(g,A,I)=>({collider:g,worldParent:I||void 0,object:A}),VV={cuboid:"cuboid",ball:"ball",hull:"convexHull",trimesh:"trimesh"},XV=({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&&WV(Q))return;const e=Q.getWorldScale(Bo),E=VV[I.colliders||"cuboid"];Q.updateWorldMatrix(!0,!1),UE.copy(Q.matrixWorld).premultiply(B).decompose(AB,zi,Bo);const t=new fQ().setFromQuaternion(zi,"XYZ"),{geometry:n}=Q,{args:s,offset:r}=zV(n,I.colliders||"cuboid"),l=fg(fg({},DH(I)),{},{args:s,shape:E,rotation:[t.x,t.y,t.z],position:[AB.x+r.x*e.x,AB.y+r.y*e.y,AB.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},zV=(g,A)=>{switch(A){case"cuboid":{g.computeBoundingBox();const{boundingBox:C}=g,B=C.getSize(new O);return{args:[B.x/2,B.y/2,B.z/2],offset:C.getCenter(new O)}}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():pV(g);return{args:[C.attributes.position.array,(I=C.index)===null||I===void 0?void 0:I.array],offset:new O}}case"hull":return{args:[g.clone().attributes.position.array],offset:new O}}return{args:[],offset:new O}},cH=g=>({collision:!!(g!=null&&g.onCollisionEnter||g!=null&&g.onCollisionExit||g!=null&&g.onIntersectionEnter||g!=null&&g.onIntersectionExit),contactForce:!!(g!=null&&g.onContactForce)}),$V=(g,A,I,C={})=>{const{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:E}=A;j.useEffect(()=>{const t=g();if(t){const{collision:n,contactForce:s}=cH(A),r=n||C.collision,l=s||C.contactForce;r&&l?t.setActiveEvents(Ce.COLLISION_EVENTS|Ce.CONTACT_FORCE_EVENTS):r?t.setActiveEvents(Ce.COLLISION_EVENTS):l&&t.setActiveEvents(Ce.CONTACT_FORCE_EVENTS),I.set(t.handle,{onCollisionEnter:B,onCollisionExit:i,onIntersectionEnter:Q,onIntersectionExit:e,onContactForce:E})}return()=>{t&&I.delete(t.handle)}},[B,i,Q,e,E,C])},DH=(g={})=>Ap(g,xV),nS=()=>{const g=j.useContext(hH);if(!g)throw new Error("react-three-rapier: useRapier must be used within !");return g},Ip=(g,A,I=!0)=>{const[C,B]=j.useState([]);return j.useEffect(()=>{g.current&&A.colliders!==!1&&B(XV({object:g.current,options:A,ignoreMeshColliders:I}))},[A.colliders]),C},AX=j.memo(()=>{const{world:g}=nS(),A=j.useRef(null);return OB(()=>{const I=A.current;if(!I)return;const C=g.debugRender();I.geometry.setAttribute("position",new Ag(C.vertices,3)),I.geometry.setAttribute("color",new Ag(C.colors,4))}),$I.createElement("group",null,$I.createElement("lineSegments",{ref:A,frustumCulled:!1},$I.createElement("lineBasicMaterial",{color:16777215,vertexColors:!0}),$I.createElement("bufferGeometry",null)))}),IX=g=>{let A;const I={get(Q,e){return A||(A=g()),Reflect.get(A,e)},set(Q,e,E){return A||(A=g()),Reflect.set(A,e,E)}};return{proxy:new Proxy({},I),reset:()=>{A=void 0},set:Q=>{A=Q}}},hH=j.createContext(void 0),yD=(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}},gX=async()=>{let g=await w8(()=>Promise.resolve().then(()=>kV),void 0);return await g.init(),g},CX=g=>{const{colliders:A="cuboid",children:I,timeStep:C=1/60,paused:B=!1,interpolate:i=!0,updatePriority:Q,updateLoop:e="follow",debug:E=!1,gravity:t=[0,-9.81,0],allowedLinearError:n=.001,predictionDistance:s=.002,numSolverIterations:r=4,numAdditionalFrictionIterations:l=4,numInternalPgsIterations:D=1,minIslandSize:G=128,maxCcdSubsteps:h=1,erp:c=.8}=g,y=Co(gX),{invalidate:S}=wB(),k=AE(()=>new Map),N=AE(()=>new Map),p=AE(()=>new Map),f=AE(()=>new Map),q=AE(()=>new XM(!1)),_=AE(()=>new Set),U=AE(()=>new Set),{proxy:K,reset:z,set:rA}=AE(()=>IX(()=>new y.World(FV(t))));j.useEffect(()=>()=>{K.free(),z()},[]),j.useEffect(()=>{K.gravity=RV(t),K.integrationParameters.numSolverIterations=r,K.integrationParameters.numAdditionalFrictionIterations=l,K.integrationParameters.numInternalPgsIterations=D,K.integrationParameters.allowedLinearError=n,K.integrationParameters.minIslandSize=G,K.integrationParameters.maxCcdSubsteps=h,K.integrationParameters.predictionDistance=s,K.integrationParameters.erp=c},[K,...t,r,l,D,n,G,h,s,c]);const X=j.useCallback(gA=>{var CA;const DA=K.getCollider(gA),fA=f.get(gA),VA=N.get(gA),W=DA==null||(CA=DA.parent())===null||CA===void 0?void 0:CA.handle,v=W!==void 0?K.getRigidBody(W):void 0,x=v&&W!==void 0?p.get(W):void 0,H=W!==void 0?k.get(W):void 0;return{collider:{object:DA,events:fA,state:VA},rigidBody:{object:v,events:x,state:H}}},[]),[sA]=j.useState({previousState:{},accumulator:0}),oA=j.useCallback(gA=>{const CA=K,DA=C==="vary",fA=kE.clamp(gA,0,.5),VA=v=>{_.forEach(x=>{x.current(CA)}),CA.timestep=v,CA.step(q),U.forEach(x=>{x.current(CA)})};if(DA)VA(fA);else for(sA.accumulator+=fA;sA.accumulator>=C;)i&&(sA.previousState={},CA.forEachRigidBody(v=>{sA.previousState[v.handle]={position:v.translation(),rotation:v.rotation()}})),VA(C),sA.accumulator-=C;const W=DA||!i||B?1:sA.accumulator/C;k.forEach((v,x)=>{const H=CA.getRigidBody(x),EA=p.get(x);if(EA!=null&&EA.onSleep||EA!=null&&EA.onWake){if(H.isSleeping()&&!v.isSleeping){var UA;EA==null||(UA=EA.onSleep)===null||UA===void 0||UA.call(EA)}if(!H.isSleeping()&&v.isSleeping){var hA;EA==null||(hA=EA.onWake)===null||hA===void 0||hA.call(EA)}v.isSleeping=H.isSleeping()}if(!H||H.isSleeping()&&!("isInstancedMesh"in v.object)||!v.setMatrix)return;let NA=H.translation(),Z=H.rotation(),MA=sA.previousState[x];MA&&(UE.compose(MA.position,CK(MA.rotation),v.scale).premultiply(v.invertedWorldMatrix).decompose(AB,zi,Bo),v.meshType=="mesh"&&(v.object.position.copy(AB),v.object.quaternion.copy(zi))),UE.compose(NA,CK(Z),v.scale).premultiply(v.invertedWorldMatrix).decompose(AB,zi,Bo),v.meshType=="instancedMesh"?v.setMatrix(UE):(v.object.position.lerp(AB,W),v.object.quaternion.slerp(zi,W))}),q.drainCollisionEvents((v,x,H)=>{const EA=X(v),UA=X(x);if(!(EA!=null&&EA.collider.object)||!(UA!=null&&UA.collider.object))return;const hA=yD(EA,UA),NA=yD(UA,EA);if(H)CA.contactPair(EA.collider.object,UA.collider.object,(dI,LI)=>{var FI,vI,XA,IA,II,gI,lI,fI;(FI=EA.rigidBody.events)===null||FI===void 0||(vI=FI.onCollisionEnter)===null||vI===void 0||vI.call(FI,fg(fg({},hA),{},{manifold:dI,flipped:LI})),(XA=UA.rigidBody.events)===null||XA===void 0||(IA=XA.onCollisionEnter)===null||IA===void 0||IA.call(XA,fg(fg({},NA),{},{manifold:dI,flipped:LI})),(II=EA.collider.events)===null||II===void 0||(gI=II.onCollisionEnter)===null||gI===void 0||gI.call(II,fg(fg({},hA),{},{manifold:dI,flipped:LI})),(lI=UA.collider.events)===null||lI===void 0||(fI=lI.onCollisionEnter)===null||fI===void 0||fI.call(lI,fg(fg({},NA),{},{manifold:dI,flipped:LI}))});else{var Z,MA,eA,wA,SA,bA,QA,F;(Z=EA.rigidBody.events)===null||Z===void 0||(MA=Z.onCollisionExit)===null||MA===void 0||MA.call(Z,hA),(eA=UA.rigidBody.events)===null||eA===void 0||(wA=eA.onCollisionExit)===null||wA===void 0||wA.call(eA,NA),(SA=EA.collider.events)===null||SA===void 0||(bA=SA.onCollisionExit)===null||bA===void 0||bA.call(SA,hA),(QA=UA.collider.events)===null||QA===void 0||(F=QA.onCollisionExit)===null||F===void 0||F.call(QA,NA)}if(H){if(CA.intersectionPair(EA.collider.object,UA.collider.object)){var m,cA,PA,ZA,TA,eI,BI,aI;(m=EA.rigidBody.events)===null||m===void 0||(cA=m.onIntersectionEnter)===null||cA===void 0||cA.call(m,hA),(PA=UA.rigidBody.events)===null||PA===void 0||(ZA=PA.onIntersectionEnter)===null||ZA===void 0||ZA.call(PA,NA),(TA=EA.collider.events)===null||TA===void 0||(eI=TA.onIntersectionEnter)===null||eI===void 0||eI.call(TA,hA),(BI=UA.collider.events)===null||BI===void 0||(aI=BI.onIntersectionEnter)===null||aI===void 0||aI.call(BI,NA)}}else{var hI,NI,jA,OI,YI,kI,EI,sI;(hI=EA.rigidBody.events)===null||hI===void 0||(NI=hI.onIntersectionExit)===null||NI===void 0||NI.call(hI,hA),(jA=UA.rigidBody.events)===null||jA===void 0||(OI=jA.onIntersectionExit)===null||OI===void 0||OI.call(jA,NA),(YI=EA.collider.events)===null||YI===void 0||(kI=YI.onIntersectionExit)===null||kI===void 0||kI.call(YI,hA),(EI=UA.collider.events)===null||EI===void 0||(sI=EI.onIntersectionExit)===null||sI===void 0||sI.call(EI,NA)}}),q.drainContactForceEvents(v=>{var x,H,EA,UA,hA,NA,Z,MA;const eA=X(v.collider1()),wA=X(v.collider2());if(!(eA!=null&&eA.collider.object)||!(wA!=null&&wA.collider.object))return;const SA=yD(eA,wA),bA=yD(wA,eA);(x=eA.rigidBody.events)===null||x===void 0||(H=x.onContactForce)===null||H===void 0||H.call(x,fg(fg({},SA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(EA=wA.rigidBody.events)===null||EA===void 0||(UA=EA.onContactForce)===null||UA===void 0||UA.call(EA,fg(fg({},bA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(hA=eA.collider.events)===null||hA===void 0||(NA=hA.onContactForce)===null||NA===void 0||NA.call(hA,fg(fg({},SA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()})),(Z=wA.collider.events)===null||Z===void 0||(MA=Z.onContactForce)===null||MA===void 0||MA.call(Z,fg(fg({},bA),{},{totalForce:v.totalForce(),totalForceMagnitude:v.totalForceMagnitude(),maxForceDirection:v.maxForceDirection(),maxForceMagnitude:v.maxForceMagnitude()}))}),CA.forEachActiveRigidBody(()=>{S()})},[B,C,i,K]),GA=j.useMemo(()=>({rapier:y,world:K,setWorld:gA=>{rA(gA)},physicsOptions:{colliders:A,gravity:t},rigidBodyStates:k,colliderStates:N,rigidBodyEvents:p,colliderEvents:f,beforeStepCallbacks:_,afterStepCallbacks:U,isPaused:B,isDebug:E,step:oA}),[B,oA,E,A,t]),b=j.useCallback(gA=>{B||oA(gA)},[B,oA]);return $I.createElement(hH.Provider,{value:GA},$I.createElement(HV,{onStep:b,type:e,updatePriority:Q}),E&&$I.createElement(AX,null),I)};function PC(){return PC=Object.assign?Object.assign.bind():function(g){for(var A=1;A{const C=j.useRef(),B=j.useCallback(()=>(C.current||(C.current=g()),C.current),I);return j.useEffect(()=>{const i=B(),Q=()=>A(i);return()=>{Q(),C.current=void 0}},[B]),B},BX=({x:g,y:A,z:I}={x:0,y:0,z:0})=>new O(g,A,I),gp=(g,A=null)=>{const I=j.useRef(A);return g&&typeof g!="function"?(g.current||(g.current=I.current),g):I},oi=j.memo(j.forwardRef((g,A)=>{const{children:I,position:C,rotation:B,quaternion:i,scale:Q,name:e}=g,{world:E,colliderEvents:t,colliderStates:n}=nS(),s=dH(),r=gp(A),l=j.useRef(null),D=OV.flatMap(c=>Array.isArray(g[c])?[...g[c]]:g[c]),G=wH(()=>{const c=l.current.getWorldScale(BX()),y=bV(g,E,c,s?.getRigidBody);return typeof A=="function"&&A(y),r.current=y,y},c=>{E.getCollider(c.handle)&&E.removeCollider(c,!0)},[...D,s]);j.useEffect(()=>{const c=G();return n.set(c.handle,jV(c,l.current,s?.ref.current)),()=>{n.delete(c.handle)}},[G]);const h=j.useMemo(()=>fg(fg({},DH(s?.options)),g),[g,s?.options]);return PV(G,h,n),$V(G,h,t,cH(s?.options)),$I.createElement("object3D",{position:C,rotation:B,quaternion:i,scale:Q,ref:l,name:e},I)})),iX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cuboid",ref:A})));iX.displayName="CuboidCollider";const QX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"roundCuboid",ref:A})));QX.displayName="RoundCuboidCollider";const SH=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"ball",ref:A})));SH.displayName="BallCollider";const eX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"capsule",ref:A})));eX.displayName="CapsuleCollider";const EX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"heightfield",ref:A})));EX.displayName="HeightfieldCollider";const tX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"trimesh",ref:A})));tX.displayName="TrimeshCollider";const oX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cone",ref:A})));oX.displayName="ConeCollider";const nX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"roundCone",ref:A})));nX.displayName="RoundConeCollider";const GH=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"cylinder",ref:A})));GH.displayName="CylinderCollider";GH.displayName="RoundCylinderCollider";const aX=$I.forwardRef((g,A)=>$I.createElement(oi,PC({},g,{shape:"convexHull",ref:A})));aX.displayName="ConvexHullCollider";const sX=g=>{var A;const I=aH(g?.type||"dynamic"),C=new ki(I);return C.canSleep=(A=g?.canSleep)!==null&&A!==void 0?A:!0,C},rX=({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(Bo).clone(),isSleeping:!1,meshType:i}},lX=["args","colliders","canSleep"],yH={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)},userData:(g,A)=>{g.userData=A},type(g,A){g.setBodyType(aH(A),!0)},position:()=>{},rotation:()=>{},quaternion:()=>{},scale:()=>{}},uH=Object.keys(yH),cX=(g,A,I,C=!0)=>{if(!g)return;const B=I.get(g.handle);B&&(C&&(B.object.updateWorldMatrix(!0,!1),UE.copy(B.object.matrixWorld).decompose(AB,zi,Bo),g.setTranslation(AB,!1),g.setRotation(zi,!1)),uH.forEach(i=>{i in A&&yH[i](g,A[i])}))},DX=(g,A,I,C=!0)=>{const B=j.useMemo(()=>uH.flatMap(i=>sH(A[i])),[A]);j.useEffect(()=>{const i=g();cX(i,A,I,C)},B)},hX=(g,A,I)=>{const{onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:E,onContactForce:t}=A,n={onWake:C,onSleep:B,onCollisionEnter:i,onCollisionExit:Q,onIntersectionEnter:e,onIntersectionExit:E,onContactForce:t};j.useEffect(()=>{const s=g();return I.set(s.handle,n),()=>{I.delete(s.handle)}},[C,B,i,Q,e,E,t])},wX=["children","type","position","rotation","scale","quaternion","transformState"],kH=j.createContext(void 0),dH=()=>j.useContext(kH),aS=j.memo(j.forwardRef((g,A)=>{const{children:I,type:C,position:B,rotation:i,scale:Q,quaternion:e,transformState:E}=g,t=Ap(g,wX),n=j.useRef(null),s=gp(A),{world:r,rigidBodyStates:l,physicsOptions:D,rigidBodyEvents:G}=nS(),h=j.useMemo(()=>fg(fg(fg({},D),g),{},{children:void 0}),[D,g]),c=lX.flatMap(N=>Array.isArray(h[N])?[...h[N]]:h[N]),y=Ip(n,h),S=wH(()=>{const N=sX(h),p=r.createRigidBody(N);return typeof A=="function"&&A(p),s.current=p,p},N=>{r.getRigidBody(N.handle)&&r.removeRigidBody(N)},c);j.useEffect(()=>{const N=S(),p=rX({rigidBody:N,object:n.current});return l.set(N.handle,g.transformState?g.transformState(p):p),()=>{l.delete(N.handle)}},[S]),DX(S,h,l),hX(S,h,G);const k=j.useMemo(()=>({ref:n,getRigidBody:S,options:h}),[S]);return $I.createElement(kH.Provider,{value:k},$I.createElement("object3D",PC({ref:n},t,{position:B,rotation:i,quaternion:e,scale:Q}),I,y.map((N,p)=>$I.createElement(oi,PC({key:p},N)))))}));aS.displayName="RigidBody";const SX=j.memo(g=>{const{children:A,type:I}=g,{physicsOptions:C}=nS(),B=j.useRef(null),{options:i}=dH(),Q=j.useMemo(()=>fg(fg(fg({},C),i),{},{children:void 0,colliders:I}),[C,i]),e=Ip(B,Q,!1);return $I.createElement("object3D",{ref:B,userData:{r3RapierType:"MeshCollider"}},A,e.map((E,t)=>$I.createElement(oi,PC({key:t},E))))});SX.displayName="MeshCollider";const GX=["children","instances","colliderNodes","position","rotation","quaternion","scale"],yX=j.memo(j.forwardRef((g,A)=>{const I=gp(A,[]),C=j.useRef(null),B=j.useRef(null),{children:i,instances:Q,colliderNodes:e=[],position:E,rotation:t,quaternion:n,scale:s}=g,r=Ap(g,GX),l=Ip(C,fg(fg({},g),{},{children:void 0})),D=()=>{const h=B.current.children[0];if(h&&"isInstancedMesh"in h)return h};j.useEffect(()=>{const h=D();h?h.instanceMatrix.setUsage(Ie):console.warn("InstancedRigidBodies expects exactly one child, which must be an InstancedMesh")},[]);const G=(h,c)=>{const y=D();return y?fg(fg({},h),{},{getMatrix:S=>(y.getMatrixAt(c,S),S),setMatrix:S=>{y.setMatrixAt(c,S),y.instanceMatrix.needsUpdate=!0},meshType:"instancedMesh"}):h};return $I.createElement("object3D",PC({ref:C},r,{position:E,rotation:t,quaternion:n,scale:s}),$I.createElement("object3D",{ref:B},i),Q?.map((h,c)=>$I.createElement(aS,PC({},r,h,{ref:y=>I.current[c]=y,transformState:y=>G(y,c)}),$I.createElement($I.Fragment,null,e.map((y,S)=>$I.createElement(j.Fragment,{key:S},y)),l.map((y,S)=>$I.createElement(oi,PC({key:S},y)))))))}));yX.displayName="InstancedRigidBodies";function uX(g){const{nodes:A,materials:I}=zr("/uikit/examples/card/smileys-transformed.glb");return HA.jsxs("group",{...g,dispose:null,children:[HA.jsx(ls,{children:HA.jsx("mesh",{geometry:A.hash.geometry,material:I.PaletteMaterial001,position:[-4.095,1.891,-2.58],scale:.216})}),HA.jsx(ls,{children:HA.jsx("mesh",{geometry:A.star001.geometry,material:I.PaletteMaterial001,position:[2.932,-2.747,-2.807],scale:.278})}),HA.jsx(ls,{children:HA.jsx("mesh",{geometry:A.play.geometry,material:I.PaletteMaterial001,position:[3.722,.284,-1.553],scale:.245})}),HA.jsx(ls,{children:HA.jsx("mesh",{geometry:A.points.geometry,material:I.PaletteMaterial001,position:[3,2.621,-1.858],scale:.239})}),HA.jsx(ls,{children:HA.jsx("mesh",{geometry:A.Ellipse.geometry,material:I.PaletteMaterial001,position:[-3.275,-1,-3.389],scale:.317})})]})}function kX(){const{nodes:g,materials:A}=zr("/uikit/examples/card/smileys-transformed.glb"),I=j.useMemo(()=>Object.values(g).filter(C=>"isMesh"in C),[g]);return HA.jsxs(CX,{gravity:[0,0,0],children:[I.map(C=>HA.jsx(dX,{mesh:C},C.uuid)),HA.jsx(MX,{})]})}function dX({mesh:g,vec:A=new O}){const I=j.useRef(null);return OB((C,B)=>{I.current?.applyImpulse(A.copy(I.current.translation()).negate().add({x:0,y:2,z:0}).multiplyScalar(.2),!1)}),HA.jsx(aS,{ref:I,scale:.2,position:[kE.randFloatSpread(10),kE.randFloatSpread(10),kE.randFloatSpread(10)],linearDamping:4,angularDamping:1,friction:.1,colliders:"ball",children:HA.jsx("mesh",{geometry:g.geometry,material:g.material})})}function MX({vec:g=new O}){const A=j.useRef(null);return OB(({mouse:I,viewport:C})=>{A.current?.setNextKinematicTranslation(g.set(I.x*C.width/2,I.y*C.height/2,0))}),HA.jsx(aS,{position:[0,0,0],type:"kinematicPosition",colliders:!1,ref:A,children:HA.jsx(SH,{args:[2]})})}oj("light");const tu=[{title:"Your call has been confirmed.",description:"1 hour ago"}];function pX(){return HA.jsx(sP,{camera:{position:[0,0,18],fov:32.5},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:HA.jsxs(AH,{children:[HA.jsx("ambientLight",{intensity:Math.PI}),HA.jsx("spotLight",{decay:0,position:[0,5,10],angle:.25,penumbra:1,intensity:2,castShadow:!0}),HA.jsx(fX,{}),HA.jsx(z5,{flexDirection:"column",justifyContent:"flex-end",alignItems:"center",paddingBottom:32,children:HA.jsx(IH,{onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/card","_blank"),children:HA.jsx(lQ,{children:"Source Code"})})}),HA.jsx(uX,{position:[0,0,7]}),HA.jsx(nY,{preset:"city"}),HA.jsx(UX,{})]})})}function UX(){return OB((g,A)=>{X0.damp3(g.camera.position,[g.pointer.x*2,g.pointer.y*2,18],.35,A),g.camera.lookAt(0,0,-10)}),null}const NX=new AW.RoundedPlaneGeometry(1,1,.025);function fX(){const g=j.useRef(!1),A=j.useMemo(()=>SI(-460),[]),I=j.useMemo(()=>SI(0),[]);return OB((C,B)=>{X0.damp(A,"value",g.current?0:-460,.2,B),X0.damp(I,"value",g.current?200:0,.2,B)}),HA.jsx(zY,{flexDirection:"column",pixelSize:.01,sizeX:4.4,children:HA.jsxs(AH,{children:[HA.jsxs(pC,{backgroundColor:16777215,dark:{backgroundColor:0},borderRadius:20,onClick:C=>(C.stopPropagation(),g.current=!g.current),cursor:"pointer",flexDirection:"column",zIndexOffset:10,transformTranslateZ:I,children:[HA.jsx(X5,{transformTranslateZ:1,padding:14,keepAspectRatio:!1,width:"100%",height:400,children:HA.jsx("mesh",{geometry:NX,children:HA.jsxs(r8,{children:[HA.jsx("color",{attach:"background",args:["white"]}),HA.jsx("ambientLight",{intensity:Math.PI}),HA.jsx(nY,{preset:"city"}),HA.jsx(kX,{}),HA.jsx(B8,{makeDefault:!0,position:[0,0,10],fov:50})]})})}),HA.jsxs(pC,{backgroundColor:16777215,dark:{backgroundColor:0},flexDirection:"row",padding:28,paddingTop:32,alignItems:"center",justifyContent:"space-between",borderBottomRadius:20,castShadow:!0,children:[HA.jsxs(pC,{flexDirection:"column",gap:8,children:[HA.jsx(lQ,{fontWeight:"normal",fontSize:24,lineHeight:1,children:"VanArsdel Marketing"}),HA.jsx(lQ,{fontSize:20,fontWeight:"medium",letterSpacing:-.4,color:Vg.primary,children:"1 activities for you"})]}),HA.jsxs(pC,{flexDirection:"row",children:[HA.jsx(Qu,{width:40,src:"https://avatar.iran.liara.run/public/boy?username=Scot"}),HA.jsx(Qu,{marginLeft:-6,width:40,src:"https://avatar.iran.liara.run/public/boy?username=Theo"}),HA.jsx(Qu,{marginLeft:-6,width:40,src:"https://avatar.iran.liara.run/public/boy?username=Paul"})]})]})]}),HA.jsx(pC,{flexDirection:"column",transformTranslateY:-40,overflow:"hidden",children:HA.jsxs(pC,{paddingTop:40,transformTranslateY:A,backgroundColor:Vg.secondary,borderRadius:20,flexDirection:"column",children:[HA.jsxs(eV,{children:[HA.jsx(EV,{children:HA.jsx(lQ,{children:"Notifications"})}),HA.jsx(tV,{children:HA.jsx(lQ,{children:"You have 3 unread messages."})})]}),HA.jsxs(oV,{flexDirection:"column",gap:16,children:[HA.jsxs(pC,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[HA.jsx(gV,{}),HA.jsxs(pC,{flexDirection:"column",gap:4,children:[HA.jsx(lQ,{fontSize:14,lineHeight:1,children:"Push Notifications"}),HA.jsx(lQ,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:"Send notifications to device."})]}),HA.jsx(pC,{flexGrow:1}),HA.jsx(aV,{})]}),HA.jsx(pC,{flexDirection:"column",children:tu.map((C,B)=>HA.jsxs(pC,{marginBottom:B===tu.length-1?0:16,paddingBottom:B===tu.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[HA.jsx(pC,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:Vg.primary}),HA.jsxs(pC,{gap:4,flexDirection:"column",children:[HA.jsx(lQ,{fontSize:14,lineHeight:1,children:C.title}),HA.jsx(lQ,{fontSize:14,lineHeight:1.43,color:Vg.mutedForeground,children:C.description})]})]},B))})]}),HA.jsx(nV,{children:HA.jsxs(IH,{onClick:C=>(C.stopPropagation(),g.current=!g.current),flexDirection:"row",width:"100%",children:[HA.jsx(BV,{marginRight:8,height:16,width:16}),HA.jsx(lQ,{children:"Mark all as read"})]})})]})})]})})}hq(document.getElementById("root")).render(HA.jsx(j.StrictMode,{children:HA.jsx(pX,{})})); -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/examples/card/index.html b/examples/card/index.html index 5c1b85ed..1e29ef76 100644 --- a/examples/card/index.html +++ b/examples/card/index.html @@ -5,7 +5,7 @@ Document - + diff --git a/examples/dashboard/assets/index-KC0nbZSx.js b/examples/dashboard/assets/index-NZ56dFtM.js similarity index 65% rename from examples/dashboard/assets/index-KC0nbZSx.js rename to examples/dashboard/assets/index-NZ56dFtM.js index 8e94a321..737d0b5f 100644 --- a/examples/dashboard/assets/index-KC0nbZSx.js +++ b/examples/dashboard/assets/index-NZ56dFtM.js @@ -1,4 +1,4 @@ -(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 IC(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var N_={exports:{}},vg={},U_={exports:{}},Yt={};/** +(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 IC(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var U_={exports:{}},vg={},k_={exports:{}},Yt={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Uh=Symbol.for("react.element"),aL=Symbol.for("react.portal"),lL=Symbol.for("react.fragment"),cL=Symbol.for("react.strict_mode"),uL=Symbol.for("react.profiler"),AL=Symbol.for("react.provider"),hL=Symbol.for("react.context"),fL=Symbol.for("react.forward_ref"),dL=Symbol.for("react.suspense"),pL=Symbol.for("react.memo"),gL=Symbol.for("react.lazy"),X1=Symbol.iterator;function mL(n){return n===null||typeof n!="object"?null:(n=X1&&n[X1]||n["@@iterator"],typeof n=="function"?n:null)}var k_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},F_=Object.assign,O_={};function xu(n,e,t){this.props=n,this.context=e,this.refs=O_,this.updater=t||k_}xu.prototype.isReactComponent={};xu.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")};xu.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function H_(){}H_.prototype=xu.prototype;function yC(n,e,t){this.props=n,this.context=e,this.refs=O_,this.updater=t||k_}var CC=yC.prototype=new H_;CC.constructor=yC;F_(CC,xu.prototype);CC.isPureReactComponent=!0;var K1=Array.isArray,G_=Object.prototype.hasOwnProperty,vC={current:null},z_={key:!0,ref:!0,__self:!0,__source:!0};function V_(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)G_.call(e,i)&&!z_.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,_e=k[Ae];if(0>>1;Aer(G,ne))O<_e&&0>r(P,G)?(k[Ae]=P,k[O]=ne,Ae=O):(k[Ae]=G,k[V]=ne,Ae=V);else if(O<_e&&0>r(P,ne))k[Ae]=P,k[O]=ne,Ae=O;else break e}}return Z}function r(k,Z){var ne=k.sortIndex-Z.sortIndex;return ne!==0?ne: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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,y=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(k){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=k)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(k){if(y=!1,v(k),!E)if(t(l)!==null)E=!0,se(Q);else{var Z=t(A);Z!==null&&de(S,Z.startTime-k)}}function Q(k,Z){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=d;try{for(v(Z),f=t(l);f!==null&&(!(f.expirationTime>Z)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),v(Z)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-Z),ke=!1}return ke}finally{f=null,d=ne,g=!1}}var R=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ne,e(A,k),t(l)===null&&k===t(A)&&(y?(p(U),U=-1):y=!0,de(S,ne-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,se(Q))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var Z=d;return function(){var ne=d;d=Z;try{return k.apply(this,arguments)}finally{d=ne}}}})(X_);J_.exports=X_;var ML=J_.exports;/** + */(function(n){function e(k,$){var ne=k.length;k.push($);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(G,ne))O<_e&&0>r(P,G)?(k[Ae]=P,k[O]=ne,Ae=O):(k[Ae]=G,k[V]=ne,Ae=V);else if(O<_e&&0>r(P,ne))k[Ae]=P,k[O]=ne,Ae=O;else break e}}return $}function r(k,$){var ne=k.sortIndex-$.sortIndex;return ne!==0?ne:k.id-$.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(k){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=k)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function S(k){if(C=!1,v(k),!E)if(t(l)!==null)E=!0,re(R);else{var $=t(A);$!==null&&fe(S,$.startTime-k)}}function R(k,$){E=!1,C&&(C=!1,p(U),U=-1),g=!0;var ne=f;try{for(v($),d=t(l);d!==null&&(!(d.expirationTime>$)||k&&!b());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),v($)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var V=t(A);V!==null&&fe(S,V.startTime-$),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var Q=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ne,e(A,k),t(l)===null&&k===t(A)&&(C?(p(U),U=-1):C=!0,fe(S,ne-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,re(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var $=f;return function(){var ne=f;f=$;try{return k.apply(this,arguments)}finally{f=ne}}}})(K_);X_.exports=K_;var QL=X_.exports;/** * @license React * react-dom.production.min.js * @@ -30,22 +30,22 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var K_=$,pr=ML;function Oe(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"),xI=Object.prototype.hasOwnProperty,QL=/^[: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]*$/,j1={},Z1={};function RL(n){return xI.call(Z1,n)?!0:xI.call(j1,n)?!1:QL.test(n)?Z1[n]=!0:(j1[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 TL(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 zi(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 mi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){mi[n]=new zi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];mi[e]=new zi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){mi[n]=new zi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){mi[n]=new zi(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){mi[n]=new zi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){mi[n]=new zi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){mi[n]=new zi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){mi[n]=new zi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){mi[n]=new zi(n,5,!1,n.toLowerCase(),null,!1,!1)});var SC=/[\-:]([a-z])/g;function wC(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(SC,wC);mi[e]=new zi(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(SC,wC);mi[e]=new zi(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(SC,wC);mi[e]=new zi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){mi[n]=new zi(n,1,!1,n.toLowerCase(),null,!1,!1)});mi.xlinkHref=new zi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){mi[n]=new zi(n,1,!1,n.toLowerCase(),null,!0,!0)});function _C(n,e,t,i){var r=mi.hasOwnProperty(e)?mi[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xI=Object.prototype.hasOwnProperty,RL=/^[: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]*$/,Z1={},$1={};function DL(n){return xI.call($1,n)?!0:xI.call(Z1,n)?!1:RL.test(n)?$1[n]=!0:(Z1[n]=!0,!1)}function TL(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 LL(n,e,t,i){if(e===null||typeof e>"u"||TL(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 zi(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 mi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){mi[n]=new zi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];mi[e]=new zi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){mi[n]=new zi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){mi[n]=new zi(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){mi[n]=new zi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){mi[n]=new zi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){mi[n]=new zi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){mi[n]=new zi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){mi[n]=new zi(n,5,!1,n.toLowerCase(),null,!1,!1)});var SC=/[\-:]([a-z])/g;function wC(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(SC,wC);mi[e]=new zi(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(SC,wC);mi[e]=new zi(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(SC,wC);mi[e]=new zi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){mi[n]=new zi(n,1,!1,n.toLowerCase(),null,!1,!1)});mi.xlinkHref=new zi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){mi[n]=new zi(n,1,!1,n.toLowerCase(),null,!0,!0)});function _C(n,e,t,i){var r=mi.hasOwnProperty(e)?mi[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{P0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?_A(n):""}function LL(n){switch(n.tag){case 5:return _A(n.type);case 16:return _A("Lazy");case 13:return _A("Suspense");case 19:return _A("SuspenseList");case 0:case 2:case 15:return n=N0(n.type,!1),n;case 11:return n=N0(n.type.render,!1),n;case 1:return n=N0(n.type,!0),n;default:return""}}function MI(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 zc:return"Fragment";case Gc:return"Portal";case SI:return"Profiler";case MC:return"StrictMode";case wI:return"Suspense";case _I:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case Z_:return(n.displayName||"Context")+".Consumer";case j_:return(n._context.displayName||"Context")+".Provider";case QC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case RC:return e=n.displayName||null,e!==null?e:MI(n.type)||"Memo";case Ko:e=n._payload,n=n._init;try{return MI(n(e))}catch{}}return null}function bL(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 MI(e);case 8:return e===MC?"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 ma(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function eM(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function PL(n){var e=eM(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 Zf(n){n._valueTracker||(n._valueTracker=PL(n))}function tM(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=eM(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Gp(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 QI(n,e){var t=e.checked;return Qn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function ex(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=ma(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 nM(n,e){e=e.checked,e!=null&&_C(n,"checked",e,!1)}function RI(n,e){nM(n,e);var t=ma(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")?DI(n,e.type,t):e.hasOwnProperty("defaultValue")&&DI(n,e.type,ma(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function tx(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 DI(n,e,t){(e!=="number"||Gp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var MA=Array.isArray;function su(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=$f.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function KA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var LA={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},NL=["Webkit","ms","Moz","O"];Object.keys(LA).forEach(function(n){NL.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),LA[e]=LA[n]})});function oM(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||LA.hasOwnProperty(n)&&LA[n]?(""+e).trim():e+"px"}function aM(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=oM(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var UL=Qn({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 bI(n,e){if(e){if(UL[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function PI(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 NI=null;function DC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var UI=null,ou=null,au=null;function rx(n){if(n=Oh(n)){if(typeof UI!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=_g(e),UI(n.stateNode,n.type,e))}}function lM(n){ou?au?au.push(n):au=[n]:ou=n}function cM(){if(ou){var n=ou,e=au;if(au=ou=null,rx(n),e)for(n=0;n>>=0,n===0?32:31-(XL(n)/KL|0)|0}var ed=64,td=4194304;function QA(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 Yp(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=QA(a):(s&=o,s!==0&&(i=QA(s)))}else o=t&~r,o!==0?i=QA(o):s!==0&&(i=QA(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 kh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Zr(e),n[e]=t}function $L(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=PA),fx=" ",dx=!1;function QM(n,e){switch(n){case"keyup":return _b.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function RM(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Vc=!1;function Qb(n,e){switch(n){case"compositionend":return RM(e);case"keypress":return e.which!==32?null:(dx=!0,fx);case"textInput":return n=e.data,n===fx&&dx?null:n;default:return null}}function Rb(n,e){if(Vc)return n==="compositionend"||!FC&&QM(n,e)?(n=_M(),Bp=NC=ea=null,Vc=!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=Ex(t)}}function bM(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?bM(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function PM(){for(var n=window,e=Gp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Gp(n.document)}return e}function OC(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 Fb(n){var e=PM(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&bM(t.ownerDocument.documentElement,t)){if(i!==null&&OC(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=Ix(t,s);var o=Ix(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,Wc=null,zI=null,UA=null,VI=!1;function yx(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;VI||Wc==null||Wc!==Gp(i)||(i=Wc,"selectionStart"in i&&OC(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}),UA&&th(UA,i)||(UA=i,i=Kp(zI,"onSelect"),0Xc||(n.current=qI[Xc],qI[Xc]=null,Xc--)}function pn(n,e){Xc++,qI[Xc]=n.current,n.current=e}var Ea={},Ri=va(Ea),Zi=va(!1),Ml=Ea;function pu(n,e){var t=n.type.contextTypes;if(!t)return Ea;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 $i(n){return n=n.childContextTypes,n!=null}function jp(){Cn(Zi),Cn(Ri)}function _x(n,e,t){if(Ri.current!==Ea)throw Error(Oe(168));pn(Ri,e),pn(Zi,t)}function VM(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(Oe(108,bL(n)||"Unknown",r));return Qn({},t,i)}function Zp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Ea,Ml=Ri.current,pn(Ri,n),pn(Zi,Zi.current),!0}function Mx(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=VM(n,e,Ml),i.__reactInternalMemoizedMergedChildContext=n,Cn(Zi),Cn(Ri),pn(Ri,n)):Cn(Zi),pn(Zi,t)}var Zs=null,Mg=!1,q0=!1;function WM(n){Zs===null?Zs=[n]:Zs.push(n)}function jb(n){Mg=!0,WM(n)}function Ba(){if(!q0&&Zs!==null){q0=!0;var n=0,e=An;try{var t=Zs;for(An=1;n>=o,r-=o,to=1<<32-Zr(e)+r|t<U?(J=D,D=null):J=D.sibling;var _=d(p,D,v[U],S);if(_===null){D===null&&(D=J);break}n&&D&&_.alternate===null&&e(p,D),C=s(_,C,U),R===null?Q=_:R.sibling=_,R=_,D=J}if(U===v.length)return t(p,D),Bn&&rl(p,U),Q;if(D===null){for(;UU?(J=D,D=null):J=D.sibling;var b=d(p,D,_.value,S);if(b===null){D===null&&(D=J);break}n&&D&&b.alternate===null&&e(p,D),C=s(b,C,U),R===null?Q=b:R.sibling=b,R=b,D=J}if(_.done)return t(p,D),Bn&&rl(p,U),Q;if(D===null){for(;!_.done;U++,_=v.next())_=f(p,_.value,S),_!==null&&(C=s(_,C,U),R===null?Q=_:R.sibling=_,R=_);return Bn&&rl(p,U),Q}for(D=i(p,D);!_.done;U++,_=v.next())_=g(D,p,U,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),C=s(_,C,U),R===null?Q=_:R.sibling=_,R=_);return n&&D.forEach(function(j){return e(p,j)}),Bn&&rl(p,U),Q}function I(p,C,v,S){if(typeof v=="object"&&v!==null&&v.type===zc&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case jf:e:{for(var Q=v.key,R=C;R!==null;){if(R.key===Q){if(Q=v.type,Q===zc){if(R.tag===7){t(p,R.sibling),C=r(R,v.props.children),C.return=p,p=C;break e}}else if(R.elementType===Q||typeof Q=="object"&&Q!==null&&Q.$$typeof===Ko&&Px(Q)===R.type){t(p,R.sibling),C=r(R,v.props),C.ref=cA(p,R,v),C.return=p,p=C;break e}t(p,R);break}else e(p,R);R=R.sibling}v.type===zc?(C=yl(v.props.children,p.mode,S,v.key),C.return=p,p=C):(S=Dp(v.type,v.key,v.props,null,p.mode,S),S.ref=cA(p,C,v),S.return=p,p=S)}return o(p);case Gc:e:{for(R=v.key;C!==null;){if(C.key===R)if(C.tag===4&&C.stateNode.containerInfo===v.containerInfo&&C.stateNode.implementation===v.implementation){t(p,C.sibling),C=r(C,v.children||[]),C.return=p,p=C;break e}else{t(p,C);break}else e(p,C);C=C.sibling}C=rE(v,p.mode,S),C.return=p,p=C}return o(p);case Ko:return R=v._init,I(p,C,R(v._payload),S)}if(MA(v))return E(p,C,v,S);if(rA(v))return y(p,C,v,S);ld(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,C!==null&&C.tag===6?(t(p,C.sibling),C=r(C,v),C.return=p,p=C):(t(p,C),C=iE(v,p.mode,S),C.return=p,p=C),o(p)):t(p,C)}return I}var mu=$M(!0),eQ=$M(!1),Hh={},ws=va(Hh),sh=va(Hh),oh=va(Hh);function fl(n){if(n===Hh)throw Error(Oe(174));return n}function KC(n,e){switch(pn(oh,e),pn(sh,n),pn(ws,Hh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:LI(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=LI(e,n)}Cn(ws),pn(ws,e)}function Eu(){Cn(ws),Cn(sh),Cn(oh)}function tQ(n){fl(oh.current);var e=fl(ws.current),t=LI(e,n.type);e!==t&&(pn(sh,n),pn(ws,t))}function qC(n){sh.current===n&&(Cn(ws),Cn(sh))}var wn=va(0);function rg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var j0=[];function jC(){for(var n=0;nt?t:4,n(!0);var i=Z0.transition;Z0.transition={};try{n(!1),e()}finally{An=t,Z0.transition=i}}function mQ(){return Nr().memoizedState}function t3(n,e,t){var i=ca(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},EQ(n))IQ(e,t);else if(t=KM(n,e,t,i),t!==null){var r=Oi();$r(t,n,i,r),yQ(t,e,i)}}function n3(n,e,t){var i=ca(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(EQ(n))IQ(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,ts(a,o)){var l=e.interleaved;l===null?(r.next=r,JC(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=KM(n,e,r,i),t!==null&&(r=Oi(),$r(t,n,i,r),yQ(t,e,i))}}function EQ(n){var e=n.alternate;return n===Mn||e!==null&&e===Mn}function IQ(n,e){kA=sg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function yQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,LC(n,t)}}var og={readContext:Pr,useCallback:Bi,useContext:Bi,useEffect:Bi,useImperativeHandle:Bi,useInsertionEffect:Bi,useLayoutEffect:Bi,useMemo:Bi,useReducer:Bi,useRef:Bi,useState:Bi,useDebugValue:Bi,useDeferredValue:Bi,useTransition:Bi,useMutableSource:Bi,useSyncExternalStore:Bi,useId:Bi,unstable_isNewReconciler:!1},i3={readContext:Pr,useCallback:function(n,e){return ms().memoizedState=[n,e===void 0?null:e],n},useContext:Pr,useEffect:Ux,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,_p(4194308,4,hQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return _p(4194308,4,n,e)},useInsertionEffect:function(n,e){return _p(4,2,n,e)},useMemo:function(n,e){var t=ms();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ms();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=t3.bind(null,Mn,n),[i.memoizedState,n]},useRef:function(n){var e=ms();return n={current:n},e.memoizedState=n},useState:Nx,useDebugValue:nv,useDeferredValue:function(n){return ms().memoizedState=n},useTransition:function(){var n=Nx(!1),e=n[0];return n=e3.bind(null,n[1]),ms().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Mn,r=ms();if(Bn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),ci===null)throw Error(Oe(349));Rl&30||rQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,Ux(oQ.bind(null,i,s,n),[n]),i.flags|=2048,ch(9,sQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ms(),e=ci.identifierPrefix;if(Bn){var t=no,i=to;t=(i&~(1<<32-Zr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=ah++,0")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{P0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?_A(n):""}function bL(n){switch(n.tag){case 5:return _A(n.type);case 16:return _A("Lazy");case 13:return _A("Suspense");case 19:return _A("SuspenseList");case 0:case 2:case 15:return n=N0(n.type,!1),n;case 11:return n=N0(n.type.render,!1),n;case 1:return n=N0(n.type,!0),n;default:return""}}function MI(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 zc:return"Fragment";case Gc:return"Portal";case SI:return"Profiler";case MC:return"StrictMode";case wI:return"Suspense";case _I:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case $_:return(n.displayName||"Context")+".Consumer";case Z_:return(n._context.displayName||"Context")+".Provider";case QC:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case RC:return e=n.displayName||null,e!==null?e:MI(n.type)||"Memo";case Ko:e=n._payload,n=n._init;try{return MI(n(e))}catch{}}return null}function PL(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 MI(e);case 8:return e===MC?"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 ma(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function tM(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function NL(n){var e=tM(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 jd(n){n._valueTracker||(n._valueTracker=NL(n))}function nM(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=tM(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Gp(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 QI(n,e){var t=e.checked;return Qn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function tx(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=ma(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 iM(n,e){e=e.checked,e!=null&&_C(n,"checked",e,!1)}function RI(n,e){iM(n,e);var t=ma(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")?DI(n,e.type,t):e.hasOwnProperty("defaultValue")&&DI(n,e.type,ma(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function nx(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 DI(n,e,t){(e!=="number"||Gp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var MA=Array.isArray;function su(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Zd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function KA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var LA={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},UL=["Webkit","ms","Moz","O"];Object.keys(LA).forEach(function(n){UL.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),LA[e]=LA[n]})});function aM(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||LA.hasOwnProperty(n)&&LA[n]?(""+e).trim():e+"px"}function lM(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=aM(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var kL=Qn({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 bI(n,e){if(e){if(kL[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function PI(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 NI=null;function DC(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var UI=null,ou=null,au=null;function sx(n){if(n=Oh(n)){if(typeof UI!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=_g(e),UI(n.stateNode,n.type,e))}}function cM(n){ou?au?au.push(n):au=[n]:ou=n}function uM(){if(ou){var n=ou,e=au;if(au=ou=null,sx(n),e)for(n=0;n>>=0,n===0?32:31-(KL(n)/qL|0)|0}var $d=64,ef=4194304;function QA(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 Yp(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=QA(a):(s&=o,s!==0&&(i=QA(s)))}else o=t&~r,o!==0?i=QA(o):s!==0&&(i=QA(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 kh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Zr(e),n[e]=t}function eb(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=PA),fx=" ",px=!1;function RM(n,e){switch(n){case"keyup":return Mb.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function DM(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Vc=!1;function Rb(n,e){switch(n){case"compositionend":return DM(e);case"keypress":return e.which!==32?null:(px=!0,fx);case"textInput":return n=e.data,n===fx&&px?null:n;default:return null}}function Db(n,e){if(Vc)return n==="compositionend"||!FC&&RM(n,e)?(n=MM(),Bp=NC=ea=null,Vc=!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=Ix(t)}}function PM(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?PM(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function NM(){for(var n=window,e=Gp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Gp(n.document)}return e}function OC(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 Ob(n){var e=NM(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&PM(t.ownerDocument.documentElement,t)){if(i!==null&&OC(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=yx(t,s);var o=yx(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,Wc=null,zI=null,UA=null,VI=!1;function Cx(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;VI||Wc==null||Wc!==Gp(i)||(i=Wc,"selectionStart"in i&&OC(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}),UA&&th(UA,i)||(UA=i,i=Kp(zI,"onSelect"),0Xc||(n.current=qI[Xc],qI[Xc]=null,Xc--)}function pn(n,e){Xc++,qI[Xc]=n.current,n.current=e}var Ea={},Ri=va(Ea),Zi=va(!1),Ml=Ea;function pu(n,e){var t=n.type.contextTypes;if(!t)return Ea;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 $i(n){return n=n.childContextTypes,n!=null}function jp(){Cn(Zi),Cn(Ri)}function Mx(n,e,t){if(Ri.current!==Ea)throw Error(Oe(168));pn(Ri,e),pn(Zi,t)}function WM(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(Oe(108,PL(n)||"Unknown",r));return Qn({},t,i)}function Zp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Ea,Ml=Ri.current,pn(Ri,n),pn(Zi,Zi.current),!0}function Qx(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=WM(n,e,Ml),i.__reactInternalMemoizedMergedChildContext=n,Cn(Zi),Cn(Ri),pn(Ri,n)):Cn(Zi),pn(Zi,t)}var Zs=null,Mg=!1,q0=!1;function YM(n){Zs===null?Zs=[n]:Zs.push(n)}function Zb(n){Mg=!0,YM(n)}function Ba(){if(!q0&&Zs!==null){q0=!0;var n=0,e=An;try{var t=Zs;for(An=1;n>=o,r-=o,to=1<<32-Zr(e)+r|t<U?(J=D,D=null):J=D.sibling;var _=f(p,D,v[U],S);if(_===null){D===null&&(D=J);break}n&&D&&_.alternate===null&&e(p,D),y=s(_,y,U),Q===null?R=_:Q.sibling=_,Q=_,D=J}if(U===v.length)return t(p,D),Bn&&rl(p,U),R;if(D===null){for(;UU?(J=D,D=null):J=D.sibling;var b=f(p,D,_.value,S);if(b===null){D===null&&(D=J);break}n&&D&&b.alternate===null&&e(p,D),y=s(b,y,U),Q===null?R=b:Q.sibling=b,Q=b,D=J}if(_.done)return t(p,D),Bn&&rl(p,U),R;if(D===null){for(;!_.done;U++,_=v.next())_=d(p,_.value,S),_!==null&&(y=s(_,y,U),Q===null?R=_:Q.sibling=_,Q=_);return Bn&&rl(p,U),R}for(D=i(p,D);!_.done;U++,_=v.next())_=g(D,p,U,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),y=s(_,y,U),Q===null?R=_:Q.sibling=_,Q=_);return n&&D.forEach(function(j){return e(p,j)}),Bn&&rl(p,U),R}function I(p,y,v,S){if(typeof v=="object"&&v!==null&&v.type===zc&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case qd:e:{for(var R=v.key,Q=y;Q!==null;){if(Q.key===R){if(R=v.type,R===zc){if(Q.tag===7){t(p,Q.sibling),y=r(Q,v.props.children),y.return=p,p=y;break e}}else if(Q.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Ko&&Nx(R)===Q.type){t(p,Q.sibling),y=r(Q,v.props),y.ref=cA(p,Q,v),y.return=p,p=y;break e}t(p,Q);break}else e(p,Q);Q=Q.sibling}v.type===zc?(y=yl(v.props.children,p.mode,S,v.key),y.return=p,p=y):(S=Dp(v.type,v.key,v.props,null,p.mode,S),S.ref=cA(p,y,v),S.return=p,p=S)}return o(p);case Gc:e:{for(Q=v.key;y!==null;){if(y.key===Q)if(y.tag===4&&y.stateNode.containerInfo===v.containerInfo&&y.stateNode.implementation===v.implementation){t(p,y.sibling),y=r(y,v.children||[]),y.return=p,p=y;break e}else{t(p,y);break}else e(p,y);y=y.sibling}y=rE(v,p.mode,S),y.return=p,p=y}return o(p);case Ko:return Q=v._init,I(p,y,Q(v._payload),S)}if(MA(v))return E(p,y,v,S);if(rA(v))return C(p,y,v,S);lf(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,y!==null&&y.tag===6?(t(p,y.sibling),y=r(y,v),y.return=p,p=y):(t(p,y),y=iE(v,p.mode,S),y.return=p,p=y),o(p)):t(p,y)}return I}var mu=eQ(!0),tQ=eQ(!1),Hh={},ws=va(Hh),sh=va(Hh),oh=va(Hh);function dl(n){if(n===Hh)throw Error(Oe(174));return n}function KC(n,e){switch(pn(oh,e),pn(sh,n),pn(ws,Hh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:LI(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=LI(e,n)}Cn(ws),pn(ws,e)}function Eu(){Cn(ws),Cn(sh),Cn(oh)}function nQ(n){dl(oh.current);var e=dl(ws.current),t=LI(e,n.type);e!==t&&(pn(sh,n),pn(ws,t))}function qC(n){sh.current===n&&(Cn(ws),Cn(sh))}var wn=va(0);function rg(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var j0=[];function jC(){for(var n=0;nt?t:4,n(!0);var i=Z0.transition;Z0.transition={};try{n(!1),e()}finally{An=t,Z0.transition=i}}function EQ(){return Nr().memoizedState}function n3(n,e,t){var i=ca(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},IQ(n))yQ(e,t);else if(t=qM(n,e,t,i),t!==null){var r=Oi();$r(t,n,i,r),CQ(t,e,i)}}function i3(n,e,t){var i=ca(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(IQ(n))yQ(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,ts(a,o)){var l=e.interleaved;l===null?(r.next=r,JC(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=qM(n,e,r,i),t!==null&&(r=Oi(),$r(t,n,i,r),CQ(t,e,i))}}function IQ(n){var e=n.alternate;return n===Mn||e!==null&&e===Mn}function yQ(n,e){kA=sg=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function CQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,LC(n,t)}}var og={readContext:Pr,useCallback:Bi,useContext:Bi,useEffect:Bi,useImperativeHandle:Bi,useInsertionEffect:Bi,useLayoutEffect:Bi,useMemo:Bi,useReducer:Bi,useRef:Bi,useState:Bi,useDebugValue:Bi,useDeferredValue:Bi,useTransition:Bi,useMutableSource:Bi,useSyncExternalStore:Bi,useId:Bi,unstable_isNewReconciler:!1},r3={readContext:Pr,useCallback:function(n,e){return ms().memoizedState=[n,e===void 0?null:e],n},useContext:Pr,useEffect:kx,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,_p(4194308,4,dQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return _p(4194308,4,n,e)},useInsertionEffect:function(n,e){return _p(4,2,n,e)},useMemo:function(n,e){var t=ms();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ms();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=n3.bind(null,Mn,n),[i.memoizedState,n]},useRef:function(n){var e=ms();return n={current:n},e.memoizedState=n},useState:Ux,useDebugValue:nv,useDeferredValue:function(n){return ms().memoizedState=n},useTransition:function(){var n=Ux(!1),e=n[0];return n=t3.bind(null,n[1]),ms().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Mn,r=ms();if(Bn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),ui===null)throw Error(Oe(349));Rl&30||sQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,kx(aQ.bind(null,i,s,n),[n]),i.flags|=2048,ch(9,oQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ms(),e=ui.identifierPrefix;if(Bn){var t=no,i=to;t=(i&~(1<<32-Zr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=ah++,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[ys]=e,n[rh]=i,QQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=PI(t,i),t){case"dialog":mn("cancel",n),mn("close",n),r=i;break;case"iframe":case"object":case"embed":mn("load",n),r=i;break;case"video":case"audio":for(r=0;ryu&&(e.flags|=128,i=!0,uA(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),uA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Bn)return xi(e),null}else 2*On()-s.renderingStartTime>yu&&t!==1073741824&&(e.flags|=128,i=!0,uA(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=On(),e.sibling=null,t=wn.current,pn(wn,i?t&1|2:t&1),e):(xi(e),null);case 22:case 23:return lv(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?lr&1073741824&&(xi(e),e.subtreeFlags&6&&(e.flags|=8192)):xi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function A3(n,e){switch(GC(e),e.tag){case 1:return $i(e.type)&&jp(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Eu(),Cn(Zi),Cn(Ri),jC(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return qC(e),null;case 13:if(Cn(wn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));gu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Cn(wn),null;case 4:return Eu(),null;case 10:return YC(e.type._context),null;case 22:case 23:return lv(),null;case 24:return null;default:return null}}var ud=!1,Mi=!1,h3=typeof WeakSet=="function"?WeakSet:Set,tt=null;function Zc(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 ly(n,e,t){try{t()}catch(i){bn(n,e,i)}}var Yx=!1;function f3(n,e){if(WI=Jp,n=PM(),OC(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,A=0,h=0,f=n,d=null;t:for(;;){for(var g;f!==t||r!==0&&f.nodeType!==3||(a=o+r),f!==s||i!==0&&f.nodeType!==3||(l=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(g=f.firstChild)!==null;)d=f,f=g;for(;;){if(f===n)break t;if(d===t&&++A===r&&(a=o),d===s&&++h===i&&(l=o),(g=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(YI={focusedElem:n,selectionRange:t},Jp=!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 E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var y=E.memoizedProps,I=E.memoizedState,p=e.stateNode,C=p.getSnapshotBeforeUpdate(e.elementType===e.type?y:Jr(e.type,y),I);p.__reactInternalSnapshotBeforeUpdate=C}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(S){bn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,tt=n;break}tt=e.return}return E=Yx,Yx=!1,E}function FA(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&&ly(e,t,s)}r=r.next}while(r!==i)}}function Dg(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 cy(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 TQ(n){var e=n.alternate;e!==null&&(n.alternate=null,TQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[ys],delete e[rh],delete e[KI],delete e[Kb],delete e[qb])),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 LQ(n){return n.tag===5||n.tag===3||n.tag===4}function Jx(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||LQ(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 uy(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=qp));else if(i!==4&&(n=n.child,n!==null))for(uy(n,e,t),n=n.sibling;n!==null;)uy(n,e,t),n=n.sibling}function Ay(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(Ay(n,e,t),n=n.sibling;n!==null;)Ay(n,e,t),n=n.sibling}var di=null,Kr=!1;function Fo(n,e,t){for(t=t.child;t!==null;)bQ(n,e,t),t=t.sibling}function bQ(n,e,t){if(Ss&&typeof Ss.onCommitFiberUnmount=="function")try{Ss.onCommitFiberUnmount(Bg,t)}catch{}switch(t.tag){case 5:Mi||Zc(t,e);case 6:var i=di,r=Kr;di=null,Fo(n,e,t),di=i,Kr=r,di!==null&&(Kr?(n=di,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):di.removeChild(t.stateNode));break;case 18:di!==null&&(Kr?(n=di,t=t.stateNode,n.nodeType===8?K0(n.parentNode,t):n.nodeType===1&&K0(n,t),$A(n)):K0(di,t.stateNode));break;case 4:i=di,r=Kr,di=t.stateNode.containerInfo,Kr=!0,Fo(n,e,t),di=i,Kr=r;break;case 0:case 11:case 14:case 15:if(!Mi&&(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)&&ly(t,e,o),r=r.next}while(r!==i)}Fo(n,e,t);break;case 1:if(!Mi&&(Zc(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)}Fo(n,e,t);break;case 21:Fo(n,e,t);break;case 22:t.mode&1?(Mi=(i=Mi)||t.memoizedState!==null,Fo(n,e,t),Mi=i):Fo(n,e,t);break;default:Fo(n,e,t)}}function Xx(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new h3),e.forEach(function(i){var r=v3.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function zr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=On()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*p3(i/1960))-i,10n?16:n,ta===null)var i=!1;else{if(n=ta,ta=null,cg=0,jt&6)throw Error(Oe(331));var r=jt;for(jt|=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;lOn()-ov?Il(n,0):sv|=t),er(n,e)}function GQ(n,e){e===0&&(n.mode&1?(e=td,td<<=1,!(td&130023424)&&(td=4194304)):e=1);var t=Oi();n=uo(n,e),n!==null&&(kh(n,e,t),er(n,t))}function C3(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),GQ(n,t)}function v3(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(Oe(314))}i!==null&&i.delete(e),GQ(n,t)}var zQ;zQ=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Zi.current)ji=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return ji=!1,c3(n,e,t);ji=!!(n.flags&131072)}else ji=!1,Bn&&e.flags&1048576&&YM(e,eg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Mp(n,e),n=e.pendingProps;var r=pu(e,Ri.current);cu(e,t),r=$C(null,e,i,n,r,t);var s=ev();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,$i(i)?(s=!0,Zp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,XC(e),r.updater=Qg,e.stateNode=r,r._reactInternals=e,ty(e,i,n,t),e=ry(null,e,i,!0,s,t)):(e.tag=0,Bn&&s&&HC(e),Ui(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Mp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=x3(i),n=Jr(i,n),r){case 0:e=iy(null,e,i,n,t);break e;case 1:e=zx(null,e,i,n,t);break e;case 11:e=Hx(null,e,i,n,t);break e;case 14:e=Gx(null,e,i,Jr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),iy(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),zx(n,e,i,r,t);case 3:e:{if(wQ(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,qM(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=Iu(Error(Oe(423)),e),e=Vx(n,e,i,t,r);break e}else if(i!==r){r=Iu(Error(Oe(424)),e),e=Vx(n,e,i,t,r);break e}else for(Ar=oa(e.stateNode.containerInfo.firstChild),fr=e,Bn=!0,qr=null,t=eQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(gu(),i===r){e=Ao(n,e,t);break e}Ui(n,e,i,t)}e=e.child}return e;case 5:return tQ(e),n===null&&ZI(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,JI(i,r)?o=null:s!==null&&JI(i,s)&&(e.flags|=32),SQ(n,e),Ui(n,e,o,t),e.child;case 6:return n===null&&ZI(e),null;case 13:return _Q(n,e,t);case 4:return KC(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=mu(e,null,i,t):Ui(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),Hx(n,e,i,r,t);case 7:return Ui(n,e,e.pendingProps,t),e.child;case 8:return Ui(n,e,e.pendingProps.children,t),e.child;case 12:return Ui(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(tg,i._currentValue),i._currentValue=o,s!==null)if(ts(s.value,o)){if(s.children===r.children&&!Zi.current){e=Ao(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=oo(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),$I(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),$I(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}Ui(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,cu(e,t),r=Pr(r),i=i(r),e.flags|=1,Ui(n,e,i,t),e.child;case 14:return i=e.type,r=Jr(i,e.pendingProps),r=Jr(i.type,r),Gx(n,e,i,r,t);case 15:return BQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),Mp(n,e),e.tag=1,$i(i)?(n=!0,Zp(e)):n=!1,cu(e,t),ZM(e,i,r),ty(e,i,r,t),ry(null,e,i,!0,n,t);case 19:return MQ(n,e,t);case 22:return xQ(n,e,t)}throw Error(Oe(156,e.tag))};function VQ(n,e){return gM(n,e)}function B3(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 Tr(n,e,t,i){return new B3(n,e,t,i)}function uv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function x3(n){if(typeof n=="function")return uv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===QC)return 11;if(n===RC)return 14}return 2}function ua(n,e){var t=n.alternate;return t===null?(t=Tr(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 Dp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")uv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case zc:return yl(t.children,r,s,e);case MC:o=8,r|=8;break;case SI:return n=Tr(12,t,e,r|2),n.elementType=SI,n.lanes=s,n;case wI:return n=Tr(13,t,e,r),n.elementType=wI,n.lanes=s,n;case _I:return n=Tr(19,t,e,r),n.elementType=_I,n.lanes=s,n;case $_:return Lg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case j_:o=10;break e;case Z_:o=9;break e;case QC:o=11;break e;case RC:o=14;break e;case Ko:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Tr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function yl(n,e,t,i){return n=Tr(7,n,i,e),n.lanes=t,n}function Lg(n,e,t,i){return n=Tr(22,n,i,e),n.elementType=$_,n.lanes=t,n.stateNode={isHidden:!1},n}function iE(n,e,t){return n=Tr(6,n,null,e),n.lanes=t,n}function rE(n,e,t){return e=Tr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function S3(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 Av(n,e,t,i,r,s,o,a,l){return n=new S3(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Tr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},XC(s),n}function w3(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(XQ)}catch(n){console.error(n)}}XQ(),Y_.exports=mr;var D3=Y_.exports,KQ,nS=D3;KQ=nS.createRoot,nS.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function tE(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function ny(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var a3=typeof WeakMap=="function"?WeakMap:Map;function vQ(n,e,t){t=oo(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){lg||(lg=!0,hy=i),ny(n,e)},t}function BQ(n,e,t){t=oo(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){ny(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){ny(n,e),typeof i!="function"&&(la===null?la=new Set([this]):la.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function Fx(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new a3;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=C3.bind(null,n,e,t),e.then(n,n))}function Ox(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function Hx(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=oo(-1,1),e.tag=2,aa(t,e,1))),t.lanes|=1),n)}var l3=fo.ReactCurrentOwner,ji=!1;function Ui(n,e,t,i){e.child=n===null?tQ(e,null,t,i):mu(e,n.child,t,i)}function Gx(n,e,t,i,r){t=t.render;var s=e.ref;return cu(e,r),i=$C(n,e,t,i,s,r),t=ev(),n!==null&&!ji?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Ao(n,e,r)):(Bn&&t&&HC(e),e.flags|=1,Ui(n,e,i,r),e.child)}function zx(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!uv(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,xQ(n,e,s,i,r)):(n=Dp(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:th,t(o,i)&&n.ref===e.ref)return Ao(n,e,r)}return e.flags|=1,n=ua(s,i),n.ref=e.ref,n.return=e,e.child=n}function xQ(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(th(s,i)&&n.ref===e.ref)if(ji=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&(ji=!0);else return e.lanes=n.lanes,Ao(n,e,r)}return iy(n,e,t,i,r)}function SQ(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},pn($c,lr),lr|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,pn($c,lr),lr|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,pn($c,lr),lr|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,pn($c,lr),lr|=i;return Ui(n,e,r,t),e.child}function wQ(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function iy(n,e,t,i,r){var s=$i(t)?Ml:Ri.current;return s=pu(e,s),cu(e,r),t=$C(n,e,t,i,s,r),i=ev(),n!==null&&!ji?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Ao(n,e,r)):(Bn&&i&&HC(e),e.flags|=1,Ui(n,e,t,r),e.child)}function Vx(n,e,t,i,r){if($i(t)){var s=!0;Zp(e)}else s=!1;if(cu(e,r),e.stateNode===null)Mp(n,e),$M(e,t,i),ty(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,A=t.contextType;typeof A=="object"&&A!==null?A=Pr(A):(A=$i(t)?Ml:Ri.current,A=pu(e,A));var h=t.getDerivedStateFromProps,d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==A)&&Px(e,o,i,A),qo=!1;var f=e.memoizedState;o.state=f,ig(e,i,o,r),l=e.memoizedState,a!==i||f!==l||Zi.current||qo?(typeof h=="function"&&(ey(e,t,h,i),l=e.memoizedState),(a=qo||bx(e,t,a,i,f,l,A))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=A,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,jM(n,e),a=e.memoizedProps,A=e.type===e.elementType?a:Jr(e.type,a),o.props=A,d=e.pendingProps,f=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=Pr(l):(l=$i(t)?Ml:Ri.current,l=pu(e,l));var g=t.getDerivedStateFromProps;(h=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||f!==l)&&Px(e,o,i,l),qo=!1,f=e.memoizedState,o.state=f,ig(e,i,o,r);var E=e.memoizedState;a!==d||f!==E||Zi.current||qo?(typeof g=="function"&&(ey(e,t,g,i),E=e.memoizedState),(A=qo||bx(e,t,A,i,f,E,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,E,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,E,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=E),o.props=i,o.state=E,o.context=l,i=A):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),i=!1)}return ry(n,e,t,i,s,r)}function ry(n,e,t,i,r,s){wQ(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&Qx(e,t,!1),Ao(n,e,s);i=e.stateNode,l3.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=mu(e,n.child,null,s),e.child=mu(e,null,a,s)):Ui(n,e,a,s),e.memoizedState=i.state,r&&Qx(e,t,!0),e.child}function _Q(n){var e=n.stateNode;e.pendingContext?Mx(n,e.pendingContext,e.pendingContext!==e.context):e.context&&Mx(n,e.context,!1),KC(n,e.containerInfo)}function Wx(n,e,t,i,r){return gu(),zC(r),e.flags|=256,Ui(n,e,t,i),e.child}var sy={dehydrated:null,treeContext:null,retryLane:0};function oy(n){return{baseLanes:n,cachePool:null,transitions:null}}function MQ(n,e,t){var i=e.pendingProps,r=wn.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),pn(wn,r&1),n===null)return ZI(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Lg(o,i,0,null),n=yl(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=oy(t),e.memoizedState=sy,n):iv(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return c3(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=ua(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=ua(a,s):(s=yl(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?oy(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=sy,i}return s=n.child,n=s.sibling,i=ua(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function iv(n,e){return e=Lg({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function cf(n,e,t,i){return i!==null&&zC(i),mu(e,n.child,null,t),n=iv(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function c3(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=tE(Error(Oe(422))),cf(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=Lg({mode:"visible",children:i.children},r,0,null),s=yl(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&mu(e,n.child,null,o),e.child.memoizedState=oy(o),e.memoizedState=sy,s);if(!(e.mode&1))return cf(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Oe(419)),i=tE(s,i,void 0),cf(n,e,o,i)}if(a=(o&n.childLanes)!==0,ji||a){if(i=ui,i!==null){switch(o&-o){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}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,uo(n,r),$r(i,n,r,-1))}return cv(),i=tE(Error(Oe(421))),cf(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=v3.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,Ar=oa(r.nextSibling),dr=e,Bn=!0,qr=null,n!==null&&(Qr[Rr++]=to,Qr[Rr++]=no,Qr[Rr++]=Ql,to=n.id,no=n.overflow,Ql=e),e=iv(e,i.children),e.flags|=4096,e)}function Yx(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),$I(n.return,e,t)}function nE(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function QQ(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(Ui(n,e,i.children,t),i=wn.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&Yx(n,t,e);else if(n.tag===19)Yx(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(pn(wn,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&rg(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),nE(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&rg(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}nE(e,!0,t,null,s);break;case"together":nE(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Mp(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function Ao(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),Dl|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Oe(153));if(e.child!==null){for(n=e.child,t=ua(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=ua(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function u3(n,e,t){switch(e.tag){case 3:_Q(e),gu();break;case 5:nQ(e);break;case 1:$i(e.type)&&Zp(e);break;case 4:KC(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;pn(tg,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(pn(wn,wn.current&1),e.flags|=128,null):t&e.child.childLanes?MQ(n,e,t):(pn(wn,wn.current&1),n=Ao(n,e,t),n!==null?n.sibling:null);pn(wn,wn.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return QQ(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),pn(wn,wn.current),i)break;return null;case 22:case 23:return e.lanes=0,SQ(n,e,t)}return Ao(n,e,t)}var RQ,ay,DQ,TQ;RQ=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};ay=function(){};DQ=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,dl(ws.current);var s=null;switch(t){case"input":r=QI(n,r),i=QI(n,i),s=[];break;case"select":r=Qn({},r,{value:void 0}),i=Qn({},i,{value:void 0}),s=[];break;case"textarea":r=TI(n,r),i=TI(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=qp)}bI(t,i);var o;t=null;for(A in r)if(!i.hasOwnProperty(A)&&r.hasOwnProperty(A)&&r[A]!=null)if(A==="style"){var a=r[A];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else A!=="dangerouslySetInnerHTML"&&A!=="children"&&A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&A!=="autoFocus"&&(XA.hasOwnProperty(A)?s||(s=[]):(s=s||[]).push(A,null));for(A in i){var l=i[A];if(a=r?.[A],i.hasOwnProperty(A)&&l!==a&&(l!=null||a!=null))if(A==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(A,t)),t=l;else A==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(A,l)):A==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(A,""+l):A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&(XA.hasOwnProperty(A)?(l!=null&&A==="onScroll"&&mn("scroll",n),s||a===l||(s=[])):(s=s||[]).push(A,l))}t&&(s=s||[]).push("style",t);var A=s;(e.updateQueue=A)&&(e.flags|=4)}};TQ=function(n,e,t,i){t!==i&&(e.flags|=4)};function uA(n,e){if(!Bn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function xi(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function A3(n,e,t){var i=e.pendingProps;switch(GC(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return xi(e),null;case 1:return $i(e.type)&&jp(),xi(e),null;case 3:return i=e.stateNode,Eu(),Cn(Zi),Cn(Ri),jC(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(af(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,qr!==null&&(py(qr),qr=null))),ay(n,e),xi(e),null;case 5:qC(e);var r=dl(oh.current);if(t=e.type,n!==null&&e.stateNode!=null)DQ(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Oe(166));return xi(e),null}if(n=dl(ws.current),af(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[ys]=e,i[rh]=s,n=(e.mode&1)!==0,t){case"dialog":mn("cancel",i),mn("close",i);break;case"iframe":case"object":case"embed":mn("load",i);break;case"video":case"audio":for(r=0;r<\/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[ys]=e,n[rh]=i,RQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=PI(t,i),t){case"dialog":mn("cancel",n),mn("close",n),r=i;break;case"iframe":case"object":case"embed":mn("load",n),r=i;break;case"video":case"audio":for(r=0;ryu&&(e.flags|=128,i=!0,uA(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),uA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Bn)return xi(e),null}else 2*On()-s.renderingStartTime>yu&&t!==1073741824&&(e.flags|=128,i=!0,uA(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=On(),e.sibling=null,t=wn.current,pn(wn,i?t&1|2:t&1),e):(xi(e),null);case 22:case 23:return lv(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?lr&1073741824&&(xi(e),e.subtreeFlags&6&&(e.flags|=8192)):xi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function h3(n,e){switch(GC(e),e.tag){case 1:return $i(e.type)&&jp(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Eu(),Cn(Zi),Cn(Ri),jC(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return qC(e),null;case 13:if(Cn(wn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));gu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Cn(wn),null;case 4:return Eu(),null;case 10:return YC(e.type._context),null;case 22:case 23:return lv(),null;case 24:return null;default:return null}}var uf=!1,Mi=!1,d3=typeof WeakSet=="function"?WeakSet:Set,it=null;function Zc(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 ly(n,e,t){try{t()}catch(i){bn(n,e,i)}}var Jx=!1;function f3(n,e){if(WI=Jp,n=NM(),OC(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,A=0,h=0,d=n,f=null;t:for(;;){for(var g;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),(g=d.firstChild)!==null;)f=d,d=g;for(;;){if(d===n)break t;if(f===t&&++A===r&&(a=o),f===s&&++h===i&&(l=o),(g=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(YI={focusedElem:n,selectionRange:t},Jp=!1,it=e;it!==null;)if(e=it,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,it=n;else for(;it!==null;){e=it;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var C=E.memoizedProps,I=E.memoizedState,p=e.stateNode,y=p.getSnapshotBeforeUpdate(e.elementType===e.type?C:Jr(e.type,C),I);p.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(S){bn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,it=n;break}it=e.return}return E=Jx,Jx=!1,E}function FA(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&&ly(e,t,s)}r=r.next}while(r!==i)}}function Dg(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 cy(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 LQ(n){var e=n.alternate;e!==null&&(n.alternate=null,LQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[ys],delete e[rh],delete e[KI],delete e[qb],delete e[jb])),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 bQ(n){return n.tag===5||n.tag===3||n.tag===4}function Xx(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||bQ(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 uy(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=qp));else if(i!==4&&(n=n.child,n!==null))for(uy(n,e,t),n=n.sibling;n!==null;)uy(n,e,t),n=n.sibling}function Ay(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(Ay(n,e,t),n=n.sibling;n!==null;)Ay(n,e,t),n=n.sibling}var fi=null,Kr=!1;function Fo(n,e,t){for(t=t.child;t!==null;)PQ(n,e,t),t=t.sibling}function PQ(n,e,t){if(Ss&&typeof Ss.onCommitFiberUnmount=="function")try{Ss.onCommitFiberUnmount(Bg,t)}catch{}switch(t.tag){case 5:Mi||Zc(t,e);case 6:var i=fi,r=Kr;fi=null,Fo(n,e,t),fi=i,Kr=r,fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):fi.removeChild(t.stateNode));break;case 18:fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?K0(n.parentNode,t):n.nodeType===1&&K0(n,t),$A(n)):K0(fi,t.stateNode));break;case 4:i=fi,r=Kr,fi=t.stateNode.containerInfo,Kr=!0,Fo(n,e,t),fi=i,Kr=r;break;case 0:case 11:case 14:case 15:if(!Mi&&(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)&&ly(t,e,o),r=r.next}while(r!==i)}Fo(n,e,t);break;case 1:if(!Mi&&(Zc(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)}Fo(n,e,t);break;case 21:Fo(n,e,t);break;case 22:t.mode&1?(Mi=(i=Mi)||t.memoizedState!==null,Fo(n,e,t),Mi=i):Fo(n,e,t);break;default:Fo(n,e,t)}}function Kx(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new d3),e.forEach(function(i){var r=B3.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function zr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=On()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*g3(i/1960))-i,10n?16:n,ta===null)var i=!1;else{if(n=ta,ta=null,cg=0,jt&6)throw Error(Oe(331));var r=jt;for(jt|=4,it=n.current;it!==null;){var s=it,o=s.child;if(it.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lOn()-ov?Il(n,0):sv|=t),er(n,e)}function zQ(n,e){e===0&&(n.mode&1?(e=ef,ef<<=1,!(ef&130023424)&&(ef=4194304)):e=1);var t=Oi();n=uo(n,e),n!==null&&(kh(n,e,t),er(n,t))}function v3(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),zQ(n,t)}function B3(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(Oe(314))}i!==null&&i.delete(e),zQ(n,t)}var VQ;VQ=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Zi.current)ji=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return ji=!1,u3(n,e,t);ji=!!(n.flags&131072)}else ji=!1,Bn&&e.flags&1048576&&JM(e,eg,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;Mp(n,e),n=e.pendingProps;var r=pu(e,Ri.current);cu(e,t),r=$C(null,e,i,n,r,t);var s=ev();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,$i(i)?(s=!0,Zp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,XC(e),r.updater=Qg,e.stateNode=r,r._reactInternals=e,ty(e,i,n,t),e=ry(null,e,i,!0,s,t)):(e.tag=0,Bn&&s&&HC(e),Ui(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(Mp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=S3(i),n=Jr(i,n),r){case 0:e=iy(null,e,i,n,t);break e;case 1:e=Vx(null,e,i,n,t);break e;case 11:e=Gx(null,e,i,n,t);break e;case 14:e=zx(null,e,i,Jr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),iy(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),Vx(n,e,i,r,t);case 3:e:{if(_Q(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,jM(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=Iu(Error(Oe(423)),e),e=Wx(n,e,i,t,r);break e}else if(i!==r){r=Iu(Error(Oe(424)),e),e=Wx(n,e,i,t,r);break e}else for(Ar=oa(e.stateNode.containerInfo.firstChild),dr=e,Bn=!0,qr=null,t=tQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(gu(),i===r){e=Ao(n,e,t);break e}Ui(n,e,i,t)}e=e.child}return e;case 5:return nQ(e),n===null&&ZI(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,JI(i,r)?o=null:s!==null&&JI(i,s)&&(e.flags|=32),wQ(n,e),Ui(n,e,o,t),e.child;case 6:return n===null&&ZI(e),null;case 13:return MQ(n,e,t);case 4:return KC(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=mu(e,null,i,t):Ui(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),Gx(n,e,i,r,t);case 7:return Ui(n,e,e.pendingProps,t),e.child;case 8:return Ui(n,e,e.pendingProps.children,t),e.child;case 12:return Ui(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(tg,i._currentValue),i._currentValue=o,s!==null)if(ts(s.value,o)){if(s.children===r.children&&!Zi.current){e=Ao(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=oo(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),$I(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),$I(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}Ui(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,cu(e,t),r=Pr(r),i=i(r),e.flags|=1,Ui(n,e,i,t),e.child;case 14:return i=e.type,r=Jr(i,e.pendingProps),r=Jr(i.type,r),zx(n,e,i,r,t);case 15:return xQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),Mp(n,e),e.tag=1,$i(i)?(n=!0,Zp(e)):n=!1,cu(e,t),$M(e,i,r),ty(e,i,r,t),ry(null,e,i,!0,n,t);case 19:return QQ(n,e,t);case 22:return SQ(n,e,t)}throw Error(Oe(156,e.tag))};function WQ(n,e){return mM(n,e)}function x3(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 Tr(n,e,t,i){return new x3(n,e,t,i)}function uv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function S3(n){if(typeof n=="function")return uv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===QC)return 11;if(n===RC)return 14}return 2}function ua(n,e){var t=n.alternate;return t===null?(t=Tr(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 Dp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")uv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case zc:return yl(t.children,r,s,e);case MC:o=8,r|=8;break;case SI:return n=Tr(12,t,e,r|2),n.elementType=SI,n.lanes=s,n;case wI:return n=Tr(13,t,e,r),n.elementType=wI,n.lanes=s,n;case _I:return n=Tr(19,t,e,r),n.elementType=_I,n.lanes=s,n;case eM:return Lg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case Z_:o=10;break e;case $_:o=9;break e;case QC:o=11;break e;case RC:o=14;break e;case Ko:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Tr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function yl(n,e,t,i){return n=Tr(7,n,i,e),n.lanes=t,n}function Lg(n,e,t,i){return n=Tr(22,n,i,e),n.elementType=eM,n.lanes=t,n.stateNode={isHidden:!1},n}function iE(n,e,t){return n=Tr(6,n,null,e),n.lanes=t,n}function rE(n,e,t){return e=Tr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function w3(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 Av(n,e,t,i,r,s,o,a,l){return n=new w3(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Tr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},XC(s),n}function _3(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(KQ)}catch(n){console.error(n)}}KQ(),J_.exports=mr;var T3=J_.exports,qQ,iS=T3;qQ=iS.createRoot,iS.hydrateRoot;/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const kg="161",T3={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},L3={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},qQ=0,gy=1,jQ=2,b3=3,ZQ=0,Fg=1,GA=2,Xr=3,Ur=0,Hi=1,Cs=2,ao=0,Cl=1,my=2,Ey=3,Iy=4,$Q=5,$o=100,e2=101,t2=102,yy=103,Cy=104,n2=200,i2=201,r2=202,s2=203,hg=204,fg=205,o2=206,a2=207,l2=208,c2=209,u2=210,A2=211,h2=212,f2=213,d2=214,p2=0,g2=1,m2=2,Ah=3,E2=4,I2=5,y2=6,C2=7,Gh=0,v2=1,B2=2,_s=0,x2=1,S2=2,w2=3,pv=4,_2=5,M2=6,vy="attached",Q2="detached",Og=300,ho=301,Ia=302,hh=303,fh=304,_u=306,dh=1e3,Qi=1001,ph=1002,Fn=1003,dg=1004,P3=1004,ll=1005,N3=1005,yn=1006,zA=1007,U3=1007,vs=1008,k3=1008,Ms=1009,R2=1010,D2=1011,Hg=1012,gv=1013,io=1014,Dr=1015,Ll=1016,mv=1017,Ev=1018,Aa=1020,T2=1021,ki=1023,L2=1024,b2=1025,ha=1026,bl=1027,P2=1028,Iv=1029,N2=1030,yv=1031,Cv=1033,Tp=33776,Lp=33777,bp=33778,Pp=33779,By=35840,xy=35841,Sy=35842,wy=35843,vv=36196,_y=37492,My=37496,Qy=37808,Ry=37809,Dy=37810,Ty=37811,Ly=37812,by=37813,Py=37814,Ny=37815,Uy=37816,ky=37817,Fy=37818,Oy=37819,Hy=37820,Gy=37821,Np=36492,zy=36494,Vy=36495,U2=36283,Wy=36284,Yy=36285,Jy=36286,k2=2200,F2=2201,O2=2202,gh=2300,mh=2301,Up=2302,dl=2400,pl=2401,Eh=2402,Gg=2500,Bv=2501,F3=0,O3=1,H3=2,xv=3e3,fa=3001,H2=3200,Sv=3201,xa=0,G2=1,cr="",Pn="srgb",Qs="srgb-linear",zg="display-p3",zh="display-p3-linear",Ih="linear",dn="srgb",yh="rec709",Ch="p3",G3=0,ol=7680,z3=7681,V3=7682,W3=7683,Y3=34055,J3=34056,X3=5386,K3=512,q3=513,j3=514,Z3=515,$3=516,eP=517,tP=518,Xy=519,z2=512,V2=513,W2=514,wv=515,Y2=516,J2=517,X2=518,K2=519,vh=35044,na=35048,nP=35040,iP=35045,rP=35049,sP=35041,oP=35046,aP=35050,lP=35042,cP="100",Ky="300 es",pg=1035,Bs=2e3,Bh=2001;class po{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]+Si[n>>16&255]+Si[n>>24&255]+"-"+Si[e&255]+Si[e>>8&255]+"-"+Si[e>>16&15|64]+Si[e>>24&255]+"-"+Si[t&63|128]+Si[t>>8&255]+"-"+Si[t>>16&255]+Si[t>>24&255]+Si[i&255]+Si[i>>8&255]+Si[i>>16&255]+Si[i>>24&255]).toLowerCase()}function Nn(n,e,t){return Math.max(e,Math.min(t,n))}function _v(n,e){return(n%e+e)%e}function uP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function AP(n,e,t){return n!==e?(t-n)/(e-n):0}function VA(n,e,t){return(1-t)*n+t*e}function hP(n,e,t,i){return VA(n,e,1-Math.exp(-t*i))}function fP(n,e=1){return e-Math.abs(_v(n,e*2)-e)}function dP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function pP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function gP(n,e){return n+Math.floor(Math.random()*(e-n+1))}function mP(n,e){return n+Math.random()*(e-n)}function EP(n){return n*(.5-Math.random())}function IP(n){n!==void 0&&(iS=n);let e=iS+=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 yP(n){return n*vl}function CP(n){return n*Cu}function qy(n){return(n&n-1)===0&&n!==0}function vP(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function gg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function BP(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),f=s((e-i)/2),d=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*f,l*d,a*A);break;case"YZY":n.set(l*d,a*h,l*f,a*A);break;case"ZXZ":n.set(l*f,l*d,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Fi(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 Lt(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 xP={DEG2RAD:vl,RAD2DEG:Cu,generateUUID:dr,clamp:Nn,euclideanModulo:_v,mapLinear:uP,inverseLerp:AP,lerp:VA,damp:hP,pingpong:fP,smoothstep:dP,smootherstep:pP,randInt:gP,randFloat:mP,randFloatSpread:EP,seededRandom:IP,degToRad:yP,radToDeg:CP,isPowerOfTwo:qy,ceilPowerOfTwo:vP,floorPowerOfTwo:gg,setQuaternionFromProperEuler:BP,normalize:Lt,denormalize:Fi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Nn(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 Qt{constructor(e,t,i,r,s,o,a,l,A){Qt.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,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],f=i[7],d=i[2],g=i[5],E=i[8],y=r[0],I=r[3],p=r[6],C=r[1],v=r[4],S=r[7],Q=r[2],R=r[5],D=r[8];return s[0]=o*y+a*C+l*Q,s[3]=o*I+a*v+l*R,s[6]=o*p+a*S+l*D,s[1]=A*y+h*C+f*Q,s[4]=A*I+h*v+f*R,s[7]=A*p+h*S+f*D,s[2]=d*y+g*C+E*Q,s[5]=d*I+g*v+E*R,s[8]=d*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],f=h*o-a*A,d=a*l-h*s,g=A*s-o*l,E=t*f+i*d+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/E;return e[0]=f*y,e[1]=(r*A-h*i)*y,e[2]=(a*i-r*o)*y,e[3]=d*y,e[4]=(h*t-r*l)*y,e[5]=(r*s-a*t)*y,e[6]=g*y,e[7]=(i*l-A*t)*y,e[8]=(o*t-i*s)*y,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(sE.makeScale(e,t)),this}rotate(e){return this.premultiply(sE.makeRotation(-e)),this}translate(e,t){return this.premultiply(sE.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 sE=new Qt;function q2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const SP={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function eu(n,e){return new SP[n](e)}function xh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function j2(){const n=xh("canvas");return n.style.display="block",n}const rS={};function Bl(n){n in rS||(rS[n]=!0,console.warn(n))}const sS=new Qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),oS=new Qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),fd={[Qs]:{transfer:Ih,primaries:yh,toReference:n=>n,fromReference:n=>n},[Pn]:{transfer:dn,primaries:yh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[zh]:{transfer:Ih,primaries:Ch,toReference:n=>n.applyMatrix3(oS),fromReference:n=>n.applyMatrix3(sS)},[zg]:{transfer:dn,primaries:Ch,toReference:n=>n.convertSRGBToLinear().applyMatrix3(oS),fromReference:n=>n.applyMatrix3(sS).convertLinearToSRGB()}},wP=new Set([Qs,zh]),cn={enabled:!0,_workingColorSpace:Qs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!wP.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=fd[e].toReference,r=fd[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 fd[n].primaries},getTransfer:function(n){return n===cr?Ih:fd[n].transfer}};function Au(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function oE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let cc;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{cc===void 0&&(cc=xh("canvas")),cc.width=e.width,cc.height=e.height;const i=cc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=cc}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=xh("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!==Og)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case dh:e.x=e.x-Math.floor(e.x);break;case Qi:e.x=e.x<0?0:1;break;case ph: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 dh:e.y=e.y-Math.floor(e.y);break;case Qi:e.y=e.y<0?0:1;break;case ph: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)}get encoding(){return Bl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Pn?fa:xv}set encoding(e){Bl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===fa?Pn:cr}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Og;xn.DEFAULT_ANISOTROPY=1;class un{constructor(e=0,t=0,i=0,r=1){un.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,A=l[0],h=l[4],f=l[8],d=l[1],g=l[5],E=l[9],y=l[2],I=l[6],p=l[10];if(Math.abs(h-d)<.01&&Math.abs(f-y)<.01&&Math.abs(E-I)<.01){if(Math.abs(h+d)<.1&&Math.abs(f+y)<.1&&Math.abs(E+I)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(A+1)/2,S=(g+1)/2,Q=(p+1)/2,R=(h+d)/4,D=(f+y)/4,U=(E+I)/4;return v>S&&v>Q?v<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(v),r=R/i,s=D/i):S>Q?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=R/r,s=U/r):Q<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(Q),i=D/s,r=U/s),this.set(i,r,s,t),this}let C=Math.sqrt((I-E)*(I-E)+(f-y)*(f-y)+(d-h)*(d-h));return Math.abs(C)<.001&&(C=1),this.x=(I-E)/C,this.y=(f-y)/C,this.z=(d-h)/C,this.w=Math.acos((A+g+p-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 Z2 extends po{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new un(0,0,e,t),this.scissorTest=!1,this.viewport=new un(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(Bl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===fa?Pn:cr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:yn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new gl(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class kr extends Z2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Vg extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class QP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Vg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Qv extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class RP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Qv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class DP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,v=1-p*p;if(v>Number.EPSILON){const Q=Math.sqrt(v),R=Math.atan2(Q,p*C);I=Math.sin(I*R)/Q,a=Math.sin(a*R)/Q}const S=a*C;if(l=l*I+d*S,A=A*I+g*S,h=h*I+E*S,f=f*I+y*S,I===1-a){const Q=1/Math.sqrt(l*l+A*A+h*h+f*f);l*=Q,A*=Q,h*=Q,f*=Q}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],f=s[o],d=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*f+l*g-A*d,e[t+1]=l*E+h*d+A*f-a*g,e[t+2]=A*E+h*g+a*d-l*f,e[t+3]=h*E-a*f-l*d-A*g,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,A=a(i/2),h=a(r/2),f=a(s/2),d=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"YXZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"ZXY":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"ZYX":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"YZX":this._x=d*h*f+A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f-d*g*E;break;case"XZY":this._x=d*h*f-A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f+d*g*E;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],A=t[2],h=t[6],f=t[10],d=i+a+f;if(d>0){const g=.5/Math.sqrt(d+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>f){const g=2*Math.sqrt(1+i-a-f);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>f){const g=2*Math.sqrt(1+a-i-f);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+f-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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(Nn(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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),f=Math.sin((1-t)*h)/A,d=Math.sin(t*h)/A;return this._w=o*f+this._w*d,this._x=i*f+this._x*d,this._y=r*f+this._y*d,this._z=s*f+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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 F{constructor(e=0,t=0,i=0){F.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(aS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(aS.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,A=2*(o*r-a*i),h=2*(a*t-s*r),f=2*(s*i-o*t);return this.x=t+l*A+o*f-a*h,this.y=i+l*h+a*A-s*f,this.z=r+l*f+s*h-o*A,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 lE.copy(this).projectOnVector(e),this.sub(lE)}reflect(e){return this.sub(lE.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(Nn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const lE=new F,aS=new Hn;class Zn{constructor(e=new F(1/0,1/0,1/0),t=new F(-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,Vr),Vr.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(hA),pd.subVectors(this.max,hA),uc.subVectors(e.a,hA),Ac.subVectors(e.b,hA),hc.subVectors(e.c,hA),Oo.subVectors(Ac,uc),Ho.subVectors(hc,Ac),Wa.subVectors(uc,hc);let t=[0,-Oo.z,Oo.y,0,-Ho.z,Ho.y,0,-Wa.z,Wa.y,Oo.z,0,-Oo.x,Ho.z,0,-Ho.x,Wa.z,0,-Wa.x,-Oo.y,Oo.x,0,-Ho.y,Ho.x,0,-Wa.y,Wa.x,0];return!cE(t,uc,Ac,hc,pd)||(t=[1,0,0,0,1,0,0,0,1],!cE(t,uc,Ac,hc,pd))?!1:(gd.crossVectors(Oo,Ho),t=[gd.x,gd.y,gd.z],cE(t,uc,Ac,hc,pd))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Vr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Vr).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 F,new F,new F,new F,new F,new F,new F,new F],Vr=new F,dd=new Zn,uc=new F,Ac=new F,hc=new F,Oo=new F,Ho=new F,Wa=new F,hA=new F,pd=new F,gd=new F,Ya=new F;function cE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Ya.fromArray(n,s);const a=r.x*Math.abs(Ya.x)+r.y*Math.abs(Ya.y)+r.z*Math.abs(Ya.z),l=e.dot(Ya),A=t.dot(Ya),h=i.dot(Ya);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const TP=new Zn,fA=new F,uE=new F;class Yn{constructor(e=new F,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):TP.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;fA.subVectors(e,this.center);const t=fA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(fA,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):(uE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(fA.copy(e.center).add(uE)),this.expandByPoint(fA.copy(e.center).sub(uE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const zs=new F,AE=new F,md=new F,Go=new F,hE=new F,Ed=new F,fE=new F;class Sa{constructor(e=new F,t=new F(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,zs)),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=zs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(zs.copy(this.origin).addScaledVector(this.direction,t),zs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){AE.copy(e).add(t).multiplyScalar(.5),md.copy(t).sub(e).normalize(),Go.copy(this.origin).sub(AE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(md),a=Go.dot(this.direction),l=-Go.dot(md),A=Go.lengthSq(),h=Math.abs(1-o*o);let f,d,g,E;if(h>0)if(f=o*l-a,d=o*a-l,E=s*h,f>=0)if(d>=-E)if(d<=E){const y=1/h;f*=y,d*=y,g=f*(f+o*d+2*a)+d*(o*f+d+2*l)+A}else d=s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d=-s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d<=-E?(f=Math.max(0,-(-o*s+a)),d=f>0?-s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A):d<=E?(f=0,d=Math.min(Math.max(-s,-l),s),g=d*(d+2*l)+A):(f=Math.max(0,-(o*s+a)),d=f>0?s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A);else d=o>0?-s:s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,f),r&&r.copy(AE).addScaledVector(md,d),g}intersectSphere(e,t){zs.subVectors(e.center,this.origin);const i=zs.dot(this.direction),r=zs.dot(zs)-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 A=1/this.direction.x,h=1/this.direction.y,f=1/this.direction.z,d=this.origin;return A>=0?(i=(e.min.x-d.x)*A,r=(e.max.x-d.x)*A):(i=(e.max.x-d.x)*A,r=(e.min.x-d.x)*A),h>=0?(s=(e.min.y-d.y)*h,o=(e.max.y-d.y)*h):(s=(e.max.y-d.y)*h,o=(e.min.y-d.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-d.z)*f,l=(e.max.z-d.z)*f):(a=(e.max.z-d.z)*f,l=(e.min.z-d.z)*f),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,zs)!==null}intersectTriangle(e,t,i,r,s){hE.subVectors(t,e),Ed.subVectors(i,e),fE.crossVectors(hE,Ed);let o=this.direction.dot(fE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Go.subVectors(this.origin,e);const l=a*this.direction.dot(Ed.crossVectors(Go,Ed));if(l<0)return null;const A=a*this.direction.dot(hE.cross(Go));if(A<0||l+A>o)return null;const h=-a*Go.dot(fE);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 lt{constructor(e,t,i,r,s,o,a,l,A,h,f,d,g,E,y,I){lt.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,A,h,f,d,g,E,y,I)}set(e,t,i,r,s,o,a,l,A,h,f,d,g,E,y,I){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=f,p[14]=d,p[3]=g,p[7]=E,p[11]=y,p[15]=I,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 lt().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/fc.setFromMatrixColumn(e,0).length(),s=1/fc.setFromMatrixColumn(e,1).length(),o=1/fc.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),A=Math.sin(r),h=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const d=o*h,g=o*f,E=a*h,y=a*f;t[0]=l*h,t[4]=-l*f,t[8]=A,t[1]=g+E*A,t[5]=d-y*A,t[9]=-a*l,t[2]=y-d*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const d=l*h,g=l*f,E=A*h,y=A*f;t[0]=d+y*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*f,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=y+d*a,t[10]=o*l}else if(e.order==="ZXY"){const d=l*h,g=l*f,E=A*h,y=A*f;t[0]=d-y*a,t[4]=-o*f,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=y-d*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const d=o*h,g=o*f,E=a*h,y=a*f;t[0]=l*h,t[4]=E*A-g,t[8]=d*A+y,t[1]=l*f,t[5]=y*A+d,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const d=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*h,t[4]=y-d*f,t[8]=E*f+g,t[1]=f,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*f+E,t[10]=d-y*f}else if(e.order==="XZY"){const d=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*h,t[4]=-f,t[8]=A*h,t[1]=d*f+y,t[5]=o*h,t[9]=g*f-E,t[2]=E*f-g,t[6]=a*h,t[10]=y*f+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(LP,e,bP)}lookAt(e,t,i){const r=this.elements;return or.subVectors(e,t),or.lengthSq()===0&&(or.z=1),or.normalize(),zo.crossVectors(i,or),zo.lengthSq()===0&&(Math.abs(i.z)===1?or.x+=1e-4:or.z+=1e-4,or.normalize(),zo.crossVectors(i,or)),zo.normalize(),Id.crossVectors(or,zo),r[0]=zo.x,r[4]=Id.x,r[8]=or.x,r[1]=zo.y,r[5]=Id.y,r[9]=or.y,r[2]=zo.z,r[6]=Id.z,r[10]=or.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],A=i[12],h=i[1],f=i[5],d=i[9],g=i[13],E=i[2],y=i[6],I=i[10],p=i[14],C=i[3],v=i[7],S=i[11],Q=i[15],R=r[0],D=r[4],U=r[8],J=r[12],_=r[1],b=r[5],j=r[9],fe=r[13],Y=r[2],le=r[6],se=r[10],de=r[14],k=r[3],Z=r[7],ne=r[11],Ae=r[15];return s[0]=o*R+a*_+l*Y+A*k,s[4]=o*D+a*b+l*le+A*Z,s[8]=o*U+a*j+l*se+A*ne,s[12]=o*J+a*fe+l*de+A*Ae,s[1]=h*R+f*_+d*Y+g*k,s[5]=h*D+f*b+d*le+g*Z,s[9]=h*U+f*j+d*se+g*ne,s[13]=h*J+f*fe+d*de+g*Ae,s[2]=E*R+y*_+I*Y+p*k,s[6]=E*D+y*b+I*le+p*Z,s[10]=E*U+y*j+I*se+p*ne,s[14]=E*J+y*fe+I*de+p*Ae,s[3]=C*R+v*_+S*Y+Q*k,s[7]=C*D+v*b+S*le+Q*Z,s[11]=C*U+v*j+S*se+Q*ne,s[15]=C*J+v*fe+S*de+Q*Ae,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],A=e[13],h=e[2],f=e[6],d=e[10],g=e[14],E=e[3],y=e[7],I=e[11],p=e[15];return E*(+s*l*f-r*A*f-s*a*d+i*A*d+r*a*g-i*l*g)+y*(+t*l*g-t*A*d+s*o*d-r*o*g+r*A*h-s*l*h)+I*(+t*A*f-t*a*g-s*o*f+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*f+t*a*d+r*o*f-i*o*d+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],A=e[7],h=e[8],f=e[9],d=e[10],g=e[11],E=e[12],y=e[13],I=e[14],p=e[15],C=f*I*A-y*d*A+y*l*g-a*I*g-f*l*p+a*d*p,v=E*d*A-h*I*A-E*l*g+o*I*g+h*l*p-o*d*p,S=h*y*A-E*f*A+E*a*g-o*y*g-h*a*p+o*f*p,Q=E*f*l-h*y*l-E*a*d+o*y*d+h*a*I-o*f*I,R=t*C+i*v+r*S+s*Q;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=C*D,e[1]=(y*d*s-f*I*s-y*r*g+i*I*g+f*r*p-i*d*p)*D,e[2]=(a*I*s-y*l*s+y*r*A-i*I*A-a*r*p+i*l*p)*D,e[3]=(f*l*s-a*d*s-f*r*A+i*d*A+a*r*g-i*l*g)*D,e[4]=v*D,e[5]=(h*I*s-E*d*s+E*r*g-t*I*g-h*r*p+t*d*p)*D,e[6]=(E*l*s-o*I*s-E*r*A+t*I*A+o*r*p-t*l*p)*D,e[7]=(o*d*s-h*l*s+h*r*A-t*d*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*f*s-h*y*s-E*i*g+t*y*g+h*i*p-t*f*p)*D,e[10]=(o*y*s-E*a*s+E*i*A-t*y*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*f*s-h*i*A+t*f*A+o*i*g-t*a*g)*D,e[12]=Q*D,e[13]=(h*y*r-E*f*r+E*i*d-t*y*d-h*i*I+t*f*I)*D,e[14]=(E*a*r-o*y*r-E*i*l+t*y*l+o*i*I-t*a*I)*D,e[15]=(o*f*r-h*a*r+h*i*l-t*f*l-o*i*d+t*a*d)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,f=a+a,d=s*A,g=s*h,E=s*f,y=o*h,I=o*f,p=a*f,C=l*A,v=l*h,S=l*f,Q=i.x,R=i.y,D=i.z;return r[0]=(1-(y+p))*Q,r[1]=(g+S)*Q,r[2]=(E-v)*Q,r[3]=0,r[4]=(g-S)*R,r[5]=(1-(d+p))*R,r[6]=(I+C)*R,r[7]=0,r[8]=(E+v)*D,r[9]=(I-C)*D,r[10]=(1-(d+y))*D,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=fc.set(r[0],r[1],r[2]).length();const o=fc.set(r[4],r[5],r[6]).length(),a=fc.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],Wr.copy(this);const A=1/s,h=1/o,f=1/a;return Wr.elements[0]*=A,Wr.elements[1]*=A,Wr.elements[2]*=A,Wr.elements[4]*=h,Wr.elements[5]*=h,Wr.elements[6]*=h,Wr.elements[8]*=f,Wr.elements[9]*=f,Wr.elements[10]*=f,t.setFromRotationMatrix(Wr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Bs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),f=(t+e)/(t-e),d=(i+r)/(i-r);let g,E;if(a===Bs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Bh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=h,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Bs){const l=this.elements,A=1/(t-e),h=1/(i-r),f=1/(o-s),d=(t+e)*A,g=(i+r)*h;let E,y;if(a===Bs)E=(o+s)*f,y=-2*f;else if(a===Bh)E=s*f,y=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=y,l[14]=-E,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 fc=new F,Wr=new lt,LP=new F(0,0,0),bP=new F(1,1,1),zo=new F,Id=new F,or=new F,lS=new lt,cS=new Hn;class Mu{constructor(e=0,t=0,i=0,r=Mu.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],A=r[5],h=r[9],f=r[2],d=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Nn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Nn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Nn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-f,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Nn(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(d,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Nn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Nn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 lS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(lS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return cS.setFromEuler(this),this.setFromQuaternion(cS,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}}Mu.DEFAULT_ORDER="XYZ";class xl{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),f.length>0&&(i.shapes=f),d.length>0&&(i.skeletons=d),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){Yr.subVectors(r,t),Ws.subVectors(i,t),dE.subVectors(e,t);const o=Yr.dot(Yr),a=Yr.dot(Ws),l=Yr.dot(dE),A=Ws.dot(Ws),h=Ws.dot(dE),f=o*A-a*a;if(f===0)return s.set(0,0,0),null;const d=1/f,g=(A*l-a*h)*d,E=(o*h-a*l)*d;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ys)===null?!1:Ys.x>=0&&Ys.y>=0&&Ys.x+Ys.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ys)===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,Ys.x),l.addScaledVector(o,Ys.y),l.addScaledVector(a,Ys.z),l)}static isFrontFacing(e,t,i,r){return Yr.subVectors(i,t),Ws.subVectors(e,t),Yr.cross(Ws).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 Yr.subVectors(this.c,this.b),Ws.subVectors(this.a,this.b),Yr.cross(Ws).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ur.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ur.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return ur.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return ur.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ur.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;pc.subVectors(r,i),gc.subVectors(s,i),pE.subVectors(e,i);const l=pc.dot(pE),A=gc.dot(pE);if(l<=0&&A<=0)return t.copy(i);gE.subVectors(e,r);const h=pc.dot(gE),f=gc.dot(gE);if(h>=0&&f<=h)return t.copy(r);const d=l*f-h*A;if(d<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(pc,o);mE.subVectors(e,s);const g=pc.dot(mE),E=gc.dot(mE);if(E>=0&&g<=E)return t.copy(s);const y=g*A-l*E;if(y<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(gc,a);const I=h*E-g*f;if(I<=0&&f-h>=0&&g-E>=0)return dS.subVectors(s,r),a=(f-h)/(f-h+(g-E)),t.copy(r).addScaledVector(dS,a);const p=1/(I+y+d);return o=y*p,a=d*p,t.copy(i).addScaledVector(pc,o).addScaledVector(gc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const $2={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},Vo={h:0,s:0,l:0},Cd={h:0,s:0,l:0};function EE(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 qe{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=Pn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,cn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=cn.workingColorSpace){return this.r=e,this.g=t,this.b=i,cn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=cn.workingColorSpace){if(e=_v(e,1),t=Nn(t,0,1),i=Nn(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=EE(o,s,e+1/3),this.g=EE(o,s,e),this.b=EE(o,s,e-1/3)}return cn.toWorkingColorSpace(this,r),this}setStyle(e,t=Pn){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=Pn){const i=$2[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=Au(e.r),this.g=Au(e.g),this.b=Au(e.b),this}copyLinearToSRGB(e){return this.r=oE(e.r),this.g=oE(e.g),this.b=oE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Pn){return cn.fromWorkingColorSpace(wi.copy(this),e),Math.round(Nn(wi.r*255,0,255))*65536+Math.round(Nn(wi.g*255,0,255))*256+Math.round(Nn(wi.b*255,0,255))}getHexString(e=Pn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=cn.workingColorSpace){cn.fromWorkingColorSpace(wi.copy(this),t);const i=wi.r,r=wi.g,s=wi.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const f=o-a;switch(A=h<=.5?f/(o+a):f/(2-o-a),o){case i:l=(r-s)/f+(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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Cl&&(i.blending=this.blending),this.side!==Ur&&(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!==hg&&(i.blendSrc=this.blendSrc),this.blendDst!==fg&&(i.blendDst=this.blendDst),this.blendEquation!==$o&&(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!==Ah&&(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!==Xy&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ol&&(i.stencilFail=this.stencilFail),this.stencilZFail!==ol&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==ol&&(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 tr extends ui{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new qe(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.combine=Gh,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.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 $s=HP();function HP(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Ki(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Nn(n,-65504,65504),$s.floatView[0]=n;const e=$s.uint32View[0],t=e>>23&511;return $s.baseTable[t]+((e&8388607)>>$s.shiftTable[t])}function DA(n){const e=n>>10;return $s.uint32View[0]=$s.mantissaTable[$s.offsetTable[e]+(n&1023)]+$s.exponentTable[e],$s.floatView[0]}const GP={toHalfFloat:Ki,fromHalfFloat:DA},Vn=new F,vd=new ve;class an{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=vh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Dr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Bl("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let f=0,d=A.length;f0&&(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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],f=s[A];for(let d=0,g=f.length;d0){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))&&(pS.copy(s).invert(),Ja.copy(e.ray).applyMatrix4(pS),!(i.boundingBox!==null&&Ja.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ja)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,f=s.attributes.normal,d=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,y=d.length;Et.far?null:{distance:A,point:Qd.clone(),object:n}}function Rd(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,Ec),n.getVertexPosition(l,Ic),n.getVertexPosition(A,yc);const h=jP(n,e,t,i,Ec,Ic,yc,Md);if(h){r&&(Sd.fromBufferAttribute(r,a),wd.fromBufferAttribute(r,l),_d.fromBufferAttribute(r,A),h.uv=ur.getInterpolation(Md,Ec,Ic,yc,Sd,wd,_d,new ve)),s&&(Sd.fromBufferAttribute(s,a),wd.fromBufferAttribute(s,l),_d.fromBufferAttribute(s,A),h.uv1=ur.getInterpolation(Md,Ec,Ic,yc,Sd,wd,_d,new ve),h.uv2=h.uv1),o&&(mS.fromBufferAttribute(o,a),ES.fromBufferAttribute(o,l),IS.fromBufferAttribute(o,A),h.normal=ur.getInterpolation(Md,Ec,Ic,yc,mS,ES,IS,new F),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const f={a,b:l,c:A,normal:new F,materialIndex:0};ur.getNormal(Ec,Ic,yc,f.normal),h.face=f}return h}class Fl extends bt{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=[],A=[],h=[],f=[];let d=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new st(A,3)),this.setAttribute("normal",new st(h,3)),this.setAttribute("uv",new st(f,2));function E(y,I,p,C,v,S,Q,R,D,U,J){const _=S/D,b=Q/U,j=S/2,fe=Q/2,Y=R/2,le=D+1,se=U+1;let de=0,k=0;const Z=new F;for(let ne=0;ne0?1:-1,h.push(Z.x,Z.y,Z.z),f.push(_e/D),f.push(1-ne/U),de+=1}}for(let ne=0;ne>8&255]+Si[n>>16&255]+Si[n>>24&255]+"-"+Si[e&255]+Si[e>>8&255]+"-"+Si[e>>16&15|64]+Si[e>>24&255]+"-"+Si[t&63|128]+Si[t>>8&255]+"-"+Si[t>>16&255]+Si[t>>24&255]+Si[i&255]+Si[i>>8&255]+Si[i>>16&255]+Si[i>>24&255]).toLowerCase()}function Nn(n,e,t){return Math.max(e,Math.min(t,n))}function _v(n,e){return(n%e+e)%e}function AP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function hP(n,e,t){return n!==e?(t-n)/(e-n):0}function VA(n,e,t){return(1-t)*n+t*e}function dP(n,e,t,i){return VA(n,e,1-Math.exp(-t*i))}function fP(n,e=1){return e-Math.abs(_v(n,e*2)-e)}function pP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function gP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function mP(n,e){return n+Math.floor(Math.random()*(e-n+1))}function EP(n,e){return n+Math.random()*(e-n)}function IP(n){return n*(.5-Math.random())}function yP(n){n!==void 0&&(rS=n);let e=rS+=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 CP(n){return n*vl}function vP(n){return n*Cu}function qy(n){return(n&n-1)===0&&n!==0}function BP(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function gg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function xP(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),f=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*f,a*A);break;case"YZY":n.set(l*f,a*h,l*d,a*A);break;case"ZXZ":n.set(l*d,l*f,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Fi(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 Lt(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 SP={DEG2RAD:vl,RAD2DEG:Cu,generateUUID:fr,clamp:Nn,euclideanModulo:_v,mapLinear:AP,inverseLerp:hP,lerp:VA,damp:dP,pingpong:fP,smoothstep:pP,smootherstep:gP,randInt:mP,randFloat:EP,randFloatSpread:IP,seededRandom:yP,degToRad:CP,radToDeg:vP,isPowerOfTwo:qy,ceilPowerOfTwo:BP,floorPowerOfTwo:gg,setQuaternionFromProperEuler:xP,normalize:Lt,denormalize:Fi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(Nn(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 Qt{constructor(e,t,i,r,s,o,a,l,A){Qt.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,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],d=i[7],f=i[2],g=i[5],E=i[8],C=r[0],I=r[3],p=r[6],y=r[1],v=r[4],S=r[7],R=r[2],Q=r[5],D=r[8];return s[0]=o*C+a*y+l*R,s[3]=o*I+a*v+l*Q,s[6]=o*p+a*S+l*D,s[1]=A*C+h*y+d*R,s[4]=A*I+h*v+d*Q,s[7]=A*p+h*S+d*D,s[2]=f*C+g*y+E*R,s[5]=f*I+g*v+E*Q,s[8]=f*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],d=h*o-a*A,f=a*l-h*s,g=A*s-o*l,E=t*d+i*f+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const C=1/E;return e[0]=d*C,e[1]=(r*A-h*i)*C,e[2]=(a*i-r*o)*C,e[3]=f*C,e[4]=(h*t-r*l)*C,e[5]=(r*s-a*t)*C,e[6]=g*C,e[7]=(i*l-A*t)*C,e[8]=(o*t-i*s)*C,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(sE.makeScale(e,t)),this}rotate(e){return this.premultiply(sE.makeRotation(-e)),this}translate(e,t){return this.premultiply(sE.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 sE=new Qt;function j2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const wP={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function eu(n,e){return new wP[n](e)}function xh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function Z2(){const n=xh("canvas");return n.style.display="block",n}const sS={};function Bl(n){n in sS||(sS[n]=!0,console.warn(n))}const oS=new Qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),aS=new Qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),df={[Qs]:{transfer:Ih,primaries:yh,toReference:n=>n,fromReference:n=>n},[Pn]:{transfer:fn,primaries:yh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[zh]:{transfer:Ih,primaries:Ch,toReference:n=>n.applyMatrix3(aS),fromReference:n=>n.applyMatrix3(oS)},[zg]:{transfer:fn,primaries:Ch,toReference:n=>n.convertSRGBToLinear().applyMatrix3(aS),fromReference:n=>n.applyMatrix3(oS).convertLinearToSRGB()}},_P=new Set([Qs,zh]),cn={enabled:!0,_workingColorSpace:Qs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!_P.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=df[e].toReference,r=df[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 df[n].primaries},getTransfer:function(n){return n===cr?Ih:df[n].transfer}};function Au(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function oE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let cc;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{cc===void 0&&(cc=xh("canvas")),cc.width=e.width,cc.height=e.height;const i=cc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=cc}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=xh("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!==Og)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case fh:e.x=e.x-Math.floor(e.x);break;case Qi:e.x=e.x<0?0:1;break;case ph: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 fh:e.y=e.y-Math.floor(e.y);break;case Qi:e.y=e.y<0?0:1;break;case ph: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)}get encoding(){return Bl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Pn?da:xv}set encoding(e){Bl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===da?Pn:cr}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Og;xn.DEFAULT_ANISOTROPY=1;class un{constructor(e=0,t=0,i=0,r=1){un.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,A=l[0],h=l[4],d=l[8],f=l[1],g=l[5],E=l[9],C=l[2],I=l[6],p=l[10];if(Math.abs(h-f)<.01&&Math.abs(d-C)<.01&&Math.abs(E-I)<.01){if(Math.abs(h+f)<.1&&Math.abs(d+C)<.1&&Math.abs(E+I)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(A+1)/2,S=(g+1)/2,R=(p+1)/2,Q=(h+f)/4,D=(d+C)/4,U=(E+I)/4;return v>S&&v>R?v<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(v),r=Q/i,s=D/i):S>R?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=Q/r,s=U/r):R<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(R),i=D/s,r=U/s),this.set(i,r,s,t),this}let y=Math.sqrt((I-E)*(I-E)+(d-C)*(d-C)+(f-h)*(f-h));return Math.abs(y)<.001&&(y=1),this.x=(I-E)/y,this.y=(d-C)/y,this.z=(f-h)/y,this.w=Math.acos((A+g+p-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 $2 extends po{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new un(0,0,e,t),this.scissorTest=!1,this.viewport=new un(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(Bl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===da?Pn:cr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:yn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new gl(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class kr extends $2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Vg extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class RP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Vg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Qv extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class DP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Qv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class TP extends kr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,v=1-p*p;if(v>Number.EPSILON){const R=Math.sqrt(v),Q=Math.atan2(R,p*y);I=Math.sin(I*Q)/R,a=Math.sin(a*Q)/R}const S=a*y;if(l=l*I+f*S,A=A*I+g*S,h=h*I+E*S,d=d*I+C*S,I===1-a){const R=1/Math.sqrt(l*l+A*A+h*h+d*d);l*=R,A*=R,h*=R,d*=R}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],d=s[o],f=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*d+l*g-A*f,e[t+1]=l*E+h*f+A*d-a*g,e[t+2]=A*E+h*g+a*f-l*d,e[t+3]=h*E-a*d-l*f-A*g,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,A=a(i/2),h=a(r/2),d=a(s/2),f=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"YXZ":this._x=f*h*d+A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"ZXY":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d-f*g*E;break;case"ZYX":this._x=f*h*d-A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d+f*g*E;break;case"YZX":this._x=f*h*d+A*g*E,this._y=A*g*d+f*h*E,this._z=A*h*E-f*g*d,this._w=A*h*d-f*g*E;break;case"XZY":this._x=f*h*d-A*g*E,this._y=A*g*d-f*h*E,this._z=A*h*E+f*g*d,this._w=A*h*d+f*g*E;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],A=t[2],h=t[6],d=t[10],f=i+a+d;if(f>0){const g=.5/Math.sqrt(f+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>d){const g=2*Math.sqrt(1+i-a-d);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>d){const g=2*Math.sqrt(1+a-i-d);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+d-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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(Nn(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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),d=Math.sin((1-t)*h)/A,f=Math.sin(t*h)/A;return this._w=o*d+this._w*f,this._x=i*d+this._x*f,this._y=r*d+this._y*f,this._z=s*d+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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 F{constructor(e=0,t=0,i=0){F.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(lS.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(lS.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,A=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*A+o*d-a*h,this.y=i+l*h+a*A-s*d,this.z=r+l*d+s*h-o*A,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 lE.copy(this).projectOnVector(e),this.sub(lE)}reflect(e){return this.sub(lE.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(Nn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const lE=new F,lS=new Hn;class Zn{constructor(e=new F(1/0,1/0,1/0),t=new F(-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,Vr),Vr.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(hA),pf.subVectors(this.max,hA),uc.subVectors(e.a,hA),Ac.subVectors(e.b,hA),hc.subVectors(e.c,hA),Oo.subVectors(Ac,uc),Ho.subVectors(hc,Ac),Wa.subVectors(uc,hc);let t=[0,-Oo.z,Oo.y,0,-Ho.z,Ho.y,0,-Wa.z,Wa.y,Oo.z,0,-Oo.x,Ho.z,0,-Ho.x,Wa.z,0,-Wa.x,-Oo.y,Oo.x,0,-Ho.y,Ho.x,0,-Wa.y,Wa.x,0];return!cE(t,uc,Ac,hc,pf)||(t=[1,0,0,0,1,0,0,0,1],!cE(t,uc,Ac,hc,pf))?!1:(gf.crossVectors(Oo,Ho),t=[gf.x,gf.y,gf.z],cE(t,uc,Ac,hc,pf))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Vr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Vr).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 F,new F,new F,new F,new F,new F,new F,new F],Vr=new F,ff=new Zn,uc=new F,Ac=new F,hc=new F,Oo=new F,Ho=new F,Wa=new F,hA=new F,pf=new F,gf=new F,Ya=new F;function cE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Ya.fromArray(n,s);const a=r.x*Math.abs(Ya.x)+r.y*Math.abs(Ya.y)+r.z*Math.abs(Ya.z),l=e.dot(Ya),A=t.dot(Ya),h=i.dot(Ya);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const LP=new Zn,dA=new F,uE=new F;class Yn{constructor(e=new F,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):LP.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;dA.subVectors(e,this.center);const t=dA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(dA,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):(uE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(dA.copy(e.center).add(uE)),this.expandByPoint(dA.copy(e.center).sub(uE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const zs=new F,AE=new F,mf=new F,Go=new F,hE=new F,Ef=new F,dE=new F;class Sa{constructor(e=new F,t=new F(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,zs)),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=zs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(zs.copy(this.origin).addScaledVector(this.direction,t),zs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){AE.copy(e).add(t).multiplyScalar(.5),mf.copy(t).sub(e).normalize(),Go.copy(this.origin).sub(AE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(mf),a=Go.dot(this.direction),l=-Go.dot(mf),A=Go.lengthSq(),h=Math.abs(1-o*o);let d,f,g,E;if(h>0)if(d=o*l-a,f=o*a-l,E=s*h,d>=0)if(f>=-E)if(f<=E){const C=1/h;d*=C,f*=C,g=d*(d+o*f+2*a)+f*(o*d+f+2*l)+A}else f=s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f=-s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;else f<=-E?(d=Math.max(0,-(-o*s+a)),f=d>0?-s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A):f<=E?(d=0,f=Math.min(Math.max(-s,-l),s),g=f*(f+2*l)+A):(d=Math.max(0,-(o*s+a)),f=d>0?s:Math.min(Math.max(-s,-l),s),g=-d*d+f*(f+2*l)+A);else f=o>0?-s:s,d=Math.max(0,-(o*f+a)),g=-d*d+f*(f+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(AE).addScaledVector(mf,f),g}intersectSphere(e,t){zs.subVectors(e.center,this.origin);const i=zs.dot(this.direction),r=zs.dot(zs)-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 A=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,f=this.origin;return A>=0?(i=(e.min.x-f.x)*A,r=(e.max.x-f.x)*A):(i=(e.max.x-f.x)*A,r=(e.min.x-f.x)*A),h>=0?(s=(e.min.y-f.y)*h,o=(e.max.y-f.y)*h):(s=(e.max.y-f.y)*h,o=(e.min.y-f.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-f.z)*d,l=(e.max.z-f.z)*d):(a=(e.max.z-f.z)*d,l=(e.min.z-f.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,zs)!==null}intersectTriangle(e,t,i,r,s){hE.subVectors(t,e),Ef.subVectors(i,e),dE.crossVectors(hE,Ef);let o=this.direction.dot(dE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Go.subVectors(this.origin,e);const l=a*this.direction.dot(Ef.crossVectors(Go,Ef));if(l<0)return null;const A=a*this.direction.dot(hE.cross(Go));if(A<0||l+A>o)return null;const h=-a*Go.dot(dE);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 ct{constructor(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){ct.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I)}set(e,t,i,r,s,o,a,l,A,h,d,f,g,E,C,I){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=d,p[14]=f,p[3]=g,p[7]=E,p[11]=C,p[15]=I,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ct().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/dc.setFromMatrixColumn(e,0).length(),s=1/dc.setFromMatrixColumn(e,1).length(),o=1/dc.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),A=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=-l*d,t[8]=A,t[1]=g+E*A,t[5]=f-C*A,t[9]=-a*l,t[2]=C-f*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f+C*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=C+f*a,t[10]=o*l}else if(e.order==="ZXY"){const f=l*h,g=l*d,E=A*h,C=A*d;t[0]=f-C*a,t[4]=-o*d,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=C-f*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const f=o*h,g=o*d,E=a*h,C=a*d;t[0]=l*h,t[4]=E*A-g,t[8]=f*A+C,t[1]=l*d,t[5]=C*A+f,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=C-f*d,t[8]=E*d+g,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*d+E,t[10]=f-C*d}else if(e.order==="XZY"){const f=o*l,g=o*A,E=a*l,C=a*A;t[0]=l*h,t[4]=-d,t[8]=A*h,t[1]=f*d+C,t[5]=o*h,t[9]=g*d-E,t[2]=E*d-g,t[6]=a*h,t[10]=C*d+f}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(bP,e,PP)}lookAt(e,t,i){const r=this.elements;return or.subVectors(e,t),or.lengthSq()===0&&(or.z=1),or.normalize(),zo.crossVectors(i,or),zo.lengthSq()===0&&(Math.abs(i.z)===1?or.x+=1e-4:or.z+=1e-4,or.normalize(),zo.crossVectors(i,or)),zo.normalize(),If.crossVectors(or,zo),r[0]=zo.x,r[4]=If.x,r[8]=or.x,r[1]=zo.y,r[5]=If.y,r[9]=or.y,r[2]=zo.z,r[6]=If.z,r[10]=or.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],A=i[12],h=i[1],d=i[5],f=i[9],g=i[13],E=i[2],C=i[6],I=i[10],p=i[14],y=i[3],v=i[7],S=i[11],R=i[15],Q=r[0],D=r[4],U=r[8],J=r[12],_=r[1],b=r[5],j=r[9],de=r[13],Y=r[2],ae=r[6],re=r[10],fe=r[14],k=r[3],$=r[7],ne=r[11],Ae=r[15];return s[0]=o*Q+a*_+l*Y+A*k,s[4]=o*D+a*b+l*ae+A*$,s[8]=o*U+a*j+l*re+A*ne,s[12]=o*J+a*de+l*fe+A*Ae,s[1]=h*Q+d*_+f*Y+g*k,s[5]=h*D+d*b+f*ae+g*$,s[9]=h*U+d*j+f*re+g*ne,s[13]=h*J+d*de+f*fe+g*Ae,s[2]=E*Q+C*_+I*Y+p*k,s[6]=E*D+C*b+I*ae+p*$,s[10]=E*U+C*j+I*re+p*ne,s[14]=E*J+C*de+I*fe+p*Ae,s[3]=y*Q+v*_+S*Y+R*k,s[7]=y*D+v*b+S*ae+R*$,s[11]=y*U+v*j+S*re+R*ne,s[15]=y*J+v*de+S*fe+R*Ae,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],A=e[13],h=e[2],d=e[6],f=e[10],g=e[14],E=e[3],C=e[7],I=e[11],p=e[15];return E*(+s*l*d-r*A*d-s*a*f+i*A*f+r*a*g-i*l*g)+C*(+t*l*g-t*A*f+s*o*f-r*o*g+r*A*h-s*l*h)+I*(+t*A*d-t*a*g-s*o*d+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*d+t*a*f+r*o*d-i*o*f+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],A=e[7],h=e[8],d=e[9],f=e[10],g=e[11],E=e[12],C=e[13],I=e[14],p=e[15],y=d*I*A-C*f*A+C*l*g-a*I*g-d*l*p+a*f*p,v=E*f*A-h*I*A-E*l*g+o*I*g+h*l*p-o*f*p,S=h*C*A-E*d*A+E*a*g-o*C*g-h*a*p+o*d*p,R=E*d*l-h*C*l-E*a*f+o*C*f+h*a*I-o*d*I,Q=t*y+i*v+r*S+s*R;if(Q===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/Q;return e[0]=y*D,e[1]=(C*f*s-d*I*s-C*r*g+i*I*g+d*r*p-i*f*p)*D,e[2]=(a*I*s-C*l*s+C*r*A-i*I*A-a*r*p+i*l*p)*D,e[3]=(d*l*s-a*f*s-d*r*A+i*f*A+a*r*g-i*l*g)*D,e[4]=v*D,e[5]=(h*I*s-E*f*s+E*r*g-t*I*g-h*r*p+t*f*p)*D,e[6]=(E*l*s-o*I*s-E*r*A+t*I*A+o*r*p-t*l*p)*D,e[7]=(o*f*s-h*l*s+h*r*A-t*f*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*d*s-h*C*s-E*i*g+t*C*g+h*i*p-t*d*p)*D,e[10]=(o*C*s-E*a*s+E*i*A-t*C*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*d*s-h*i*A+t*d*A+o*i*g-t*a*g)*D,e[12]=R*D,e[13]=(h*C*r-E*d*r+E*i*f-t*C*f-h*i*I+t*d*I)*D,e[14]=(E*a*r-o*C*r-E*i*l+t*C*l+o*i*I-t*a*I)*D,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*f+t*a*f)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,d=a+a,f=s*A,g=s*h,E=s*d,C=o*h,I=o*d,p=a*d,y=l*A,v=l*h,S=l*d,R=i.x,Q=i.y,D=i.z;return r[0]=(1-(C+p))*R,r[1]=(g+S)*R,r[2]=(E-v)*R,r[3]=0,r[4]=(g-S)*Q,r[5]=(1-(f+p))*Q,r[6]=(I+y)*Q,r[7]=0,r[8]=(E+v)*D,r[9]=(I-y)*D,r[10]=(1-(f+C))*D,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=dc.set(r[0],r[1],r[2]).length();const o=dc.set(r[4],r[5],r[6]).length(),a=dc.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],Wr.copy(this);const A=1/s,h=1/o,d=1/a;return Wr.elements[0]*=A,Wr.elements[1]*=A,Wr.elements[2]*=A,Wr.elements[4]*=h,Wr.elements[5]*=h,Wr.elements[6]*=h,Wr.elements[8]*=d,Wr.elements[9]*=d,Wr.elements[10]*=d,t.setFromRotationMatrix(Wr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Bs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),f=(i+r)/(i-r);let g,E;if(a===Bs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Bh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Bs){const l=this.elements,A=1/(t-e),h=1/(i-r),d=1/(o-s),f=(t+e)*A,g=(i+r)*h;let E,C;if(a===Bs)E=(o+s)*d,C=-2*d;else if(a===Bh)E=s*d,C=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=C,l[14]=-E,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 dc=new F,Wr=new ct,bP=new F(0,0,0),PP=new F(1,1,1),zo=new F,If=new F,or=new F,cS=new ct,uS=new Hn;class Mu{constructor(e=0,t=0,i=0,r=Mu.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],A=r[5],h=r[9],d=r[2],f=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Nn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Nn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(Nn(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-d,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Nn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(f,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Nn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Nn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 cS.makeRotationFromQuaternion(e),this.setFromRotationMatrix(cS,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return uS.setFromEuler(this),this.setFromQuaternion(uS,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}}Mu.DEFAULT_ORDER="XYZ";class xl{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),f.length>0&&(i.skeletons=f),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){Yr.subVectors(r,t),Ws.subVectors(i,t),fE.subVectors(e,t);const o=Yr.dot(Yr),a=Yr.dot(Ws),l=Yr.dot(fE),A=Ws.dot(Ws),h=Ws.dot(fE),d=o*A-a*a;if(d===0)return s.set(0,0,0),null;const f=1/d,g=(A*l-a*h)*f,E=(o*h-a*l)*f;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ys)===null?!1:Ys.x>=0&&Ys.y>=0&&Ys.x+Ys.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ys)===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,Ys.x),l.addScaledVector(o,Ys.y),l.addScaledVector(a,Ys.z),l)}static isFrontFacing(e,t,i,r){return Yr.subVectors(i,t),Ws.subVectors(e,t),Yr.cross(Ws).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 Yr.subVectors(this.c,this.b),Ws.subVectors(this.a,this.b),Yr.cross(Ws).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ur.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ur.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return ur.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return ur.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ur.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;pc.subVectors(r,i),gc.subVectors(s,i),pE.subVectors(e,i);const l=pc.dot(pE),A=gc.dot(pE);if(l<=0&&A<=0)return t.copy(i);gE.subVectors(e,r);const h=pc.dot(gE),d=gc.dot(gE);if(h>=0&&d<=h)return t.copy(r);const f=l*d-h*A;if(f<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(pc,o);mE.subVectors(e,s);const g=pc.dot(mE),E=gc.dot(mE);if(E>=0&&g<=E)return t.copy(s);const C=g*A-l*E;if(C<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(gc,a);const I=h*E-g*d;if(I<=0&&d-h>=0&&g-E>=0)return pS.subVectors(s,r),a=(d-h)/(d-h+(g-E)),t.copy(r).addScaledVector(pS,a);const p=1/(I+C+f);return o=C*p,a=f*p,t.copy(i).addScaledVector(pc,o).addScaledVector(gc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const eR={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},Vo={h:0,s:0,l:0},Cf={h:0,s:0,l:0};function EE(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 qe{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=Pn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,cn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=cn.workingColorSpace){return this.r=e,this.g=t,this.b=i,cn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=cn.workingColorSpace){if(e=_v(e,1),t=Nn(t,0,1),i=Nn(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=EE(o,s,e+1/3),this.g=EE(o,s,e),this.b=EE(o,s,e-1/3)}return cn.toWorkingColorSpace(this,r),this}setStyle(e,t=Pn){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=Pn){const i=eR[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=Au(e.r),this.g=Au(e.g),this.b=Au(e.b),this}copyLinearToSRGB(e){return this.r=oE(e.r),this.g=oE(e.g),this.b=oE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Pn){return cn.fromWorkingColorSpace(wi.copy(this),e),Math.round(Nn(wi.r*255,0,255))*65536+Math.round(Nn(wi.g*255,0,255))*256+Math.round(Nn(wi.b*255,0,255))}getHexString(e=Pn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=cn.workingColorSpace){cn.fromWorkingColorSpace(wi.copy(this),t);const i=wi.r,r=wi.g,s=wi.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const d=o-a;switch(A=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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==Cl&&(i.blending=this.blending),this.side!==Ur&&(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!==hg&&(i.blendSrc=this.blendSrc),this.blendDst!==dg&&(i.blendDst=this.blendDst),this.blendEquation!==$o&&(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!==Ah&&(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!==Xy&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ol&&(i.stencilFail=this.stencilFail),this.stencilZFail!==ol&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==ol&&(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 tr extends ii{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new qe(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.combine=Gh,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.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 $s=GP();function GP(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Ki(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Nn(n,-65504,65504),$s.floatView[0]=n;const e=$s.uint32View[0],t=e>>23&511;return $s.baseTable[t]+((e&8388607)>>$s.shiftTable[t])}function DA(n){const e=n>>10;return $s.uint32View[0]=$s.mantissaTable[$s.offsetTable[e]+(n&1023)]+$s.exponentTable[e],$s.floatView[0]}const zP={toHalfFloat:Ki,fromHalfFloat:DA},Vn=new F,vf=new ve;class an{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=vh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Dr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Bl("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let d=0,f=A.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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],d=s[A];for(let f=0,g=d.length;f0){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))&&(gS.copy(s).invert(),Ja.copy(e.ray).applyMatrix4(gS),!(i.boundingBox!==null&&Ja.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ja)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,f=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,C=f.length;Et.far?null:{distance:A,point:Qf.clone(),object:n}}function Rf(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,Ec),n.getVertexPosition(l,Ic),n.getVertexPosition(A,yc);const h=ZP(n,e,t,i,Ec,Ic,yc,Mf);if(h){r&&(Sf.fromBufferAttribute(r,a),wf.fromBufferAttribute(r,l),_f.fromBufferAttribute(r,A),h.uv=ur.getInterpolation(Mf,Ec,Ic,yc,Sf,wf,_f,new ve)),s&&(Sf.fromBufferAttribute(s,a),wf.fromBufferAttribute(s,l),_f.fromBufferAttribute(s,A),h.uv1=ur.getInterpolation(Mf,Ec,Ic,yc,Sf,wf,_f,new ve),h.uv2=h.uv1),o&&(ES.fromBufferAttribute(o,a),IS.fromBufferAttribute(o,l),yS.fromBufferAttribute(o,A),h.normal=ur.getInterpolation(Mf,Ec,Ic,yc,ES,IS,yS,new F),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c:A,normal:new F,materialIndex:0};ur.getNormal(Ec,Ic,yc,d.normal),h.face=d}return h}class Fl extends bt{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=[],A=[],h=[],d=[];let f=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new ot(A,3)),this.setAttribute("normal",new ot(h,3)),this.setAttribute("uv",new ot(d,2));function E(C,I,p,y,v,S,R,Q,D,U,J){const _=S/D,b=R/U,j=S/2,de=R/2,Y=Q/2,ae=D+1,re=U+1;let fe=0,k=0;const $=new F;for(let ne=0;ne0?1:-1,h.push($.x,$.y,$.z),d.push(_e/D),d.push(1-ne/U),fe+=1}}for(let ne=0;ne0&&(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 Vh extends zt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new lt,this.projectionMatrix=new lt,this.projectionMatrixInverse=new lt,this.coordinateSystem=Bs}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 Wo=new F,yS=new ve,CS=new ve;class qn extends Vh{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=Cu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(vl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Cu*2*Math.atan(Math.tan(vl*.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){Wo.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Wo.x,Wo.y).multiplyScalar(-e/Wo.z),Wo.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Wo.x,Wo.y).multiplyScalar(-e/Wo.z)}getViewSize(e,t){return this.getViewBounds(e,yS,CS),t.subVectors(CS,yS)}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(vl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 Cc=-90,vc=1;class nR extends zt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(Cc,vc,e,t);r.layers=this.layers,this.add(r);const s=new qn(Cc,vc,e,t);s.layers=this.layers,this.add(s);const o=new qn(Cc,vc,e,t);o.layers=this.layers,this.add(o);const a=new qn(Cc,vc,e,t);a.layers=this.layers,this.add(a);const l=new qn(Cc,vc,e,t);l.layers=this.layers,this.add(l);const A=new qn(Cc,vc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Bs)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===Bh)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 A of t)this.add(A),A.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,A,h]=this.children,f=e.getRenderTarget(),d=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const y=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,A),i.texture.generateMipmaps=y,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(f,d,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Wh extends xn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:ho,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class iR extends kr{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];t.encoding!==void 0&&(Bl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===fa?Pn:cr),this.texture=new Wh(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:yn}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:` +}`;class ns extends ii{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=eN,this.fragmentShader=tN,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=vu(e.uniforms),this.uniformsGroups=$P(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Vh extends zt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ct,this.projectionMatrix=new ct,this.projectionMatrixInverse=new ct,this.coordinateSystem=Bs}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 Wo=new F,CS=new ve,vS=new ve;class qn extends Vh{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=Cu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(vl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Cu*2*Math.atan(Math.tan(vl*.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){Wo.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Wo.x,Wo.y).multiplyScalar(-e/Wo.z),Wo.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Wo.x,Wo.y).multiplyScalar(-e/Wo.z)}getViewSize(e,t){return this.getViewBounds(e,CS,vS),t.subVectors(vS,CS)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(vl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 Cc=-90,vc=1;class iR extends zt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(Cc,vc,e,t);r.layers=this.layers,this.add(r);const s=new qn(Cc,vc,e,t);s.layers=this.layers,this.add(s);const o=new qn(Cc,vc,e,t);o.layers=this.layers,this.add(o);const a=new qn(Cc,vc,e,t);a.layers=this.layers,this.add(a);const l=new qn(Cc,vc,e,t);l.layers=this.layers,this.add(l);const A=new qn(Cc,vc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Bs)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===Bh)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 A of t)this.add(A),A.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,A,h]=this.children,d=e.getRenderTarget(),f=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const C=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,A),i.texture.generateMipmaps=C,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,f,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Wh extends xn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:ho,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class rR extends kr{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];t.encoding!==void 0&&(Bl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===da?Pn:cr),this.texture=new Wh(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:yn}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; @@ -80,9 +80,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new Fl(5,5,5),s=new ns({name:"CubemapFromEquirect",uniforms:vu(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Hi,blending:ao});s.uniforms.tEquirect.value=t;const o=new tn(r,s),a=t.minFilter;return t.minFilter===vs&&(t.minFilter=yn),new nR(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 CE=new F,tN=new F,nN=new Qt;class rn{constructor(e=new F(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=CE.subVectors(i,t).cross(tN.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(CE),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||nN.getNormalMatrix(e),r=this.coplanarPoint(CE).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 Xa=new Yn,Dd=new F;class Yh{constructor(e=new rn,t=new rn,i=new rn,r=new rn,s=new rn,o=new rn){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=Bs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],f=r[6],d=r[7],g=r[8],E=r[9],y=r[10],I=r[11],p=r[12],C=r[13],v=r[14],S=r[15];if(i[0].setComponents(l-s,d-A,I-g,S-p).normalize(),i[1].setComponents(l+s,d+A,I+g,S+p).normalize(),i[2].setComponents(l+o,d+h,I+E,S+C).normalize(),i[3].setComponents(l-o,d-h,I-E,S-C).normalize(),i[4].setComponents(l-a,d-f,I-y,S-v).normalize(),t===Bs)i[5].setComponents(l+a,d+f,I+y,S+v).normalize();else if(t===Bh)i[5].setComponents(a,f,y,v).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(),Xa.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Xa.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Xa)}intersectsSprite(e){return Xa.center.set(0,0,0),Xa.radius=.7071067811865476,Xa.applyMatrix4(e.matrixWorld),this.intersectsSphere(Xa)}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,Dd.y=r.normal.y>0?e.max.y:e.min.y,Dd.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Dd)<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 rR(){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 iN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const f=A.array,d=A.usage,g=f.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,f,d),A.onUploadCallback();let y;if(f instanceof Float32Array)y=n.FLOAT;else if(f instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)y=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else y=n.UNSIGNED_SHORT;else if(f instanceof Int16Array)y=n.SHORT;else if(f instanceof Uint32Array)y=n.UNSIGNED_INT;else if(f instanceof Int32Array)y=n.INT;else if(f instanceof Int8Array)y=n.BYTE;else if(f instanceof Uint8Array)y=n.UNSIGNED_BYTE;else if(f instanceof Uint8ClampedArray)y=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+f);return{buffer:E,type:y,bytesPerElement:f.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,f){const d=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(f,A),g.count===-1&&E.length===0&&n.bufferSubData(f,0,d),E.length!==0){for(let y=0,I=E.length;y1?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||iN.getNormalMatrix(e),r=this.coplanarPoint(CE).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 Xa=new Yn,Df=new F;class Yh{constructor(e=new rn,t=new rn,i=new rn,r=new rn,s=new rn,o=new rn){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=Bs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],d=r[6],f=r[7],g=r[8],E=r[9],C=r[10],I=r[11],p=r[12],y=r[13],v=r[14],S=r[15];if(i[0].setComponents(l-s,f-A,I-g,S-p).normalize(),i[1].setComponents(l+s,f+A,I+g,S+p).normalize(),i[2].setComponents(l+o,f+h,I+E,S+y).normalize(),i[3].setComponents(l-o,f-h,I-E,S-y).normalize(),i[4].setComponents(l-a,f-d,I-C,S-v).normalize(),t===Bs)i[5].setComponents(l+a,f+d,I+C,S+v).normalize();else if(t===Bh)i[5].setComponents(a,d,C,v).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(),Xa.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Xa.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Xa)}intersectsSprite(e){return Xa.center.set(0,0,0),Xa.radius=.7071067811865476,Xa.applyMatrix4(e.matrixWorld),this.intersectsSphere(Xa)}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,Df.y=r.normal.y>0?e.max.y:e.min.y,Df.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Df)<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 sR(){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 rN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const d=A.array,f=A.usage,g=d.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,d,f),A.onUploadCallback();let C;if(d instanceof Float32Array)C=n.FLOAT;else if(d instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)C=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else C=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)C=n.SHORT;else if(d instanceof Uint32Array)C=n.UNSIGNED_INT;else if(d instanceof Int32Array)C=n.INT;else if(d instanceof Int8Array)C=n.BYTE;else if(d instanceof Uint8Array)C=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)C=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:E,type:C,bytesPerElement:d.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,d){const f=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(d,A),g.count===-1&&E.length===0&&n.bufferSubData(d,0,f),E.length!==0){for(let C=0,I=E.length;C 0 +#endif`,yN=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -312,26 +312,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,yN=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,CN=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,vN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,BN=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,BN=`#if defined( USE_COLOR_ALPHA ) +#endif`,xN=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,xN=`#if defined( USE_COLOR_ALPHA ) +#endif`,SN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,SN=`#if defined( USE_COLOR_ALPHA ) +#endif`,wN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,wN=`#if defined( USE_COLOR_ALPHA ) +#endif`,_N=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -341,7 +341,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,_N=`#define PI 3.141592653589793 +#endif`,MN=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -419,7 +419,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 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`,MN=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,QN=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -512,7 +512,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,QN=`vec3 transformedNormal = objectNormal; +#endif`,RN=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -541,18 +541,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,RN=`#ifdef USE_DISPLACEMENTMAP +#endif`,DN=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,DN=`#ifdef USE_DISPLACEMENTMAP +#endif`,TN=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,TN=`#ifdef USE_EMISSIVEMAP +#endif`,LN=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,LN=`#ifdef USE_EMISSIVEMAP +#endif`,bN=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,bN="gl_FragColor = linearToOutputTexel( gl_FragColor );",PN=` +#endif`,PN="gl_FragColor = linearToOutputTexel( gl_FragColor );",NN=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -580,7 +580,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,NN=`#ifdef USE_ENVMAP +}`,UN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -609,7 +609,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,UN=`#ifdef USE_ENVMAP +#endif`,kN=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -618,7 +618,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,kN=`#ifdef USE_ENVMAP +#endif`,FN=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -629,7 +629,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,FN=`#ifdef USE_ENVMAP +#endif`,ON=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -640,7 +640,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,ON=`#ifdef USE_ENVMAP +#endif`,HN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -657,18 +657,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,HN=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,GN=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,zN=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,VN=`#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`,VN=`#ifdef USE_FOG +#endif`,WN=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -677,7 +677,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,WN=`#ifdef USE_GRADIENTMAP +#endif`,YN=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -689,16 +689,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 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 -}`,YN=`#ifdef USE_LIGHTMAP +}`,JN=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,JN=`#ifdef USE_LIGHTMAP +#endif`,XN=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,XN=`LambertMaterial material; +#endif`,KN=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,KN=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,qN=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -712,7 +712,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,qN=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,jN=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -835,7 +835,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,jN=`#ifdef USE_ENVMAP +#endif`,ZN=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -868,8 +868,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,ZN=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,$N=`varying vec3 vViewPosition; +#endif`,$N=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,eU=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -881,11 +881,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,eU=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,tU=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,tU=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,nU=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -902,7 +902,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,nU=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,iU=`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 ); @@ -985,7 +985,7 @@ material.roughness = min( material.roughness, 1.0 ); 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`,iU=`struct PhysicalMaterial { +#endif`,rU=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1285,7 +1285,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #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 ); -}`,rU=` +}`,sU=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1400,7 +1400,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,sU=`#if defined( RE_IndirectDiffuse ) +#endif`,oU=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1419,25 +1419,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,oU=`#if defined( RE_IndirectDiffuse ) +#endif`,aU=`#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`,aU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,lU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,cU=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,cU=`#ifdef USE_LOGDEPTHBUF +#endif`,uU=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,uU=`#ifdef USE_LOGDEPTHBUF +#endif`,AU=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1447,14 +1447,14 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,AU=`#ifdef USE_MAP +#endif`,hU=`#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`,hU=`#ifdef USE_MAP +#endif`,dU=`#ifdef USE_MAP uniform sampler2D map; #endif`,fU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) @@ -1468,7 +1468,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,dU=`#if defined( USE_POINTS_UV ) +#endif`,pU=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1480,13 +1480,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,pU=`float metalnessFactor = metalness; +#endif`,gU=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,gU=`#ifdef USE_METALNESSMAP +#endif`,mU=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,mU=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,EU=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1495,7 +1495,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,EU=`#ifdef USE_MORPHNORMALS +#endif`,IU=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1507,7 +1507,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,IU=`#ifdef USE_MORPHTARGETS +#endif`,yU=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1527,7 +1527,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,yU=`#ifdef USE_MORPHTARGETS +#endif`,CU=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1545,7 +1545,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,CU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,vU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1586,7 +1586,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,vU=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,BU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1601,25 +1601,25 @@ vec3 nonPerturbedNormal = normal;`,vU=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,BU=`#ifndef FLAT_SHADED +#endif`,xU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,xU=`#ifndef FLAT_SHADED +#endif`,SU=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,SU=`#ifndef FLAT_SHADED +#endif`,wU=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,wU=`#ifdef USE_NORMALMAP +#endif`,_U=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1641,13 +1641,13 @@ vec3 nonPerturbedNormal = normal;`,vU=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,_U=`#ifdef USE_CLEARCOAT +#endif`,MU=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,MU=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,QU=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,QU=`#ifdef USE_CLEARCOATMAP +#endif`,RU=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1656,18 +1656,18 @@ vec3 nonPerturbedNormal = normal;`,vU=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,RU=`#ifdef USE_IRIDESCENCEMAP +#endif`,DU=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,DU=`#ifdef OPAQUE +#endif`,TU=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,TU=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,LU=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1708,9 +1708,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,LU=`#ifdef PREMULTIPLIED_ALPHA +}`,bU=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,bU=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,PU=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1718,22 +1718,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,NU=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,NU=`#ifdef DITHERING +#endif`,UU=`#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`,UU=`float roughnessFactor = roughness; +#endif`,kU=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,kU=`#ifdef USE_ROUGHNESSMAP +#endif`,FU=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,FU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,OU=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1910,7 +1910,7 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,OU=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,HU=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1948,7 +1948,7 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,HU=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,GU=`#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 @@ -1980,7 +1980,7 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,GU=`float getShadowMask() { +#endif`,zU=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2012,12 +2012,12 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING #endif #endif return shadow; -}`,zU=`#ifdef USE_SKINNING +}`,VU=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,VU=`#ifdef USE_SKINNING +#endif`,WU=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2032,7 +2032,7 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,WU=`#ifdef USE_SKINNING +#endif`,YU=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2040,7 +2040,7 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,YU=`#ifdef USE_SKINNING +#endif`,JU=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2051,17 +2051,17 @@ gl_Position = projectionMatrix * mvPosition;`,PU=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,JU=`float specularStrength; +#endif`,XU=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,XU=`#ifdef USE_SPECULARMAP +#endif`,KU=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,KU=`#if defined( TONE_MAPPING ) +#endif`,qU=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,qU=`#ifndef saturate +#endif`,jU=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,ZU=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,ZU=`#ifdef USE_TRANSMISSION +#endif`,$U=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,$U=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,ek=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,ek=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,tk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,tk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,nk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,nk=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,ik=`#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; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,jU=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const ik=`varying vec2 vUv; +#endif`;const rk=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,rk=`uniform sampler2D t2D; +}`,sk=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,sk=`varying vec3 vWorldDirection; +}`,ok=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,ok=`#ifdef ENVMAP_TYPE_CUBE +}`,ak=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,ak=`varying vec3 vWorldDirection; +}`,lk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,lk=`uniform samplerCube tCube; +}`,ck=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,ck=`#include +}`,uk=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,uk=`#if DEPTH_PACKING == 3200 +}`,Ak=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,Ak=`#define DISTANCE +}`,hk=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,hk=`#define DISTANCE +}`,dk=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2689,7 +2689,7 @@ void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,dk=`uniform sampler2D tEquirect; +}`,pk=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,pk=`uniform float scale; +}`,gk=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,gk=`uniform vec3 diffuse; +}`,mk=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,mk=`#include +}`,Ek=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,Ek=`uniform vec3 diffuse; +}`,Ik=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,Ik=`#define LAMBERT +}`,yk=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,yk=`#define LAMBERT +}`,Ck=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,Ck=`#define MATCAP +}`,vk=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,vk=`#define MATCAP +}`,Bk=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,Bk=`#define NORMAL +}`,xk=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,xk=`#define NORMAL +}`,Sk=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3054,7 +3054,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,Sk=`#define PHONG +}`,wk=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3092,7 +3092,7 @@ void main() { #include #include #include -}`,wk=`#define PHONG +}`,_k=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3151,7 +3151,7 @@ void main() { #include #include #include -}`,_k=`#define STANDARD +}`,Mk=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3193,7 +3193,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,Mk=`#define STANDARD +}`,Qk=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3315,7 +3315,7 @@ void main() { #include #include #include -}`,Qk=`#define TOON +}`,Rk=`#define TOON varying vec3 vViewPosition; #include #include @@ -3351,7 +3351,7 @@ void main() { #include #include #include -}`,Rk=`#define TOON +}`,Dk=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3404,7 +3404,7 @@ void main() { #include #include #include -}`,Dk=`uniform float size; +}`,Tk=`uniform float size; uniform float scale; #include #include @@ -3434,7 +3434,7 @@ void main() { #include #include #include -}`,Tk=`uniform vec3 diffuse; +}`,Lk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3459,7 +3459,7 @@ void main() { #include #include #include -}`,Lk=`#include +}`,bk=`#include #include #include #include @@ -3481,7 +3481,7 @@ void main() { #include #include #include -}`,bk=`uniform vec3 color; +}`,Pk=`uniform vec3 color; uniform float opacity; #include #include @@ -3497,7 +3497,7 @@ void main() { #include #include #include -}`,Pk=`uniform float rotation; +}`,Nk=`uniform float rotation; uniform vec2 center; #include #include @@ -3523,7 +3523,7 @@ void main() { #include #include #include -}`,Nk=`uniform vec3 diffuse; +}`,Uk=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3548,7 +3548,7 @@ void main() { #include #include #include -}`,Nt={alphahash_fragment:rN,alphahash_pars_fragment:sN,alphamap_fragment:oN,alphamap_pars_fragment:aN,alphatest_fragment:lN,alphatest_pars_fragment:cN,aomap_fragment:uN,aomap_pars_fragment:AN,batching_pars_vertex:hN,batching_vertex:fN,begin_vertex:dN,beginnormal_vertex:pN,bsdfs:gN,iridescence_fragment:mN,bumpmap_pars_fragment:EN,clipping_planes_fragment:IN,clipping_planes_pars_fragment:yN,clipping_planes_pars_vertex:CN,clipping_planes_vertex:vN,color_fragment:BN,color_pars_fragment:xN,color_pars_vertex:SN,color_vertex:wN,common:_N,cube_uv_reflection_fragment:MN,defaultnormal_vertex:QN,displacementmap_pars_vertex:RN,displacementmap_vertex:DN,emissivemap_fragment:TN,emissivemap_pars_fragment:LN,colorspace_fragment:bN,colorspace_pars_fragment:PN,envmap_fragment:NN,envmap_common_pars_fragment:UN,envmap_pars_fragment:kN,envmap_pars_vertex:FN,envmap_physical_pars_fragment:jN,envmap_vertex:ON,fog_vertex:HN,fog_pars_vertex:GN,fog_fragment:zN,fog_pars_fragment:VN,gradientmap_pars_fragment:WN,lightmap_fragment:YN,lightmap_pars_fragment:JN,lights_lambert_fragment:XN,lights_lambert_pars_fragment:KN,lights_pars_begin:qN,lights_toon_fragment:ZN,lights_toon_pars_fragment:$N,lights_phong_fragment:eU,lights_phong_pars_fragment:tU,lights_physical_fragment:nU,lights_physical_pars_fragment:iU,lights_fragment_begin:rU,lights_fragment_maps:sU,lights_fragment_end:oU,logdepthbuf_fragment:aU,logdepthbuf_pars_fragment:lU,logdepthbuf_pars_vertex:cU,logdepthbuf_vertex:uU,map_fragment:AU,map_pars_fragment:hU,map_particle_fragment:fU,map_particle_pars_fragment:dU,metalnessmap_fragment:pU,metalnessmap_pars_fragment:gU,morphcolor_vertex:mU,morphnormal_vertex:EU,morphtarget_pars_vertex:IU,morphtarget_vertex:yU,normal_fragment_begin:CU,normal_fragment_maps:vU,normal_pars_fragment:BU,normal_pars_vertex:xU,normal_vertex:SU,normalmap_pars_fragment:wU,clearcoat_normal_fragment_begin:_U,clearcoat_normal_fragment_maps:MU,clearcoat_pars_fragment:QU,iridescence_pars_fragment:RU,opaque_fragment:DU,packing:TU,premultiplied_alpha_fragment:LU,project_vertex:bU,dithering_fragment:PU,dithering_pars_fragment:NU,roughnessmap_fragment:UU,roughnessmap_pars_fragment:kU,shadowmap_pars_fragment:FU,shadowmap_pars_vertex:OU,shadowmap_vertex:HU,shadowmask_pars_fragment:GU,skinbase_vertex:zU,skinning_pars_vertex:VU,skinning_vertex:WU,skinnormal_vertex:YU,specularmap_fragment:JU,specularmap_pars_fragment:XU,tonemapping_fragment:KU,tonemapping_pars_fragment:qU,transmission_fragment:jU,transmission_pars_fragment:ZU,uv_pars_fragment:$U,uv_pars_vertex:ek,uv_vertex:tk,worldpos_vertex:nk,background_vert:ik,background_frag:rk,backgroundCube_vert:sk,backgroundCube_frag:ok,cube_vert:ak,cube_frag:lk,depth_vert:ck,depth_frag:uk,distanceRGBA_vert:Ak,distanceRGBA_frag:hk,equirect_vert:fk,equirect_frag:dk,linedashed_vert:pk,linedashed_frag:gk,meshbasic_vert:mk,meshbasic_frag:Ek,meshlambert_vert:Ik,meshlambert_frag:yk,meshmatcap_vert:Ck,meshmatcap_frag:vk,meshnormal_vert:Bk,meshnormal_frag:xk,meshphong_vert:Sk,meshphong_frag:wk,meshphysical_vert:_k,meshphysical_frag:Mk,meshtoon_vert:Qk,meshtoon_frag:Rk,points_vert:Dk,points_frag:Tk,shadow_vert:Lk,shadow_frag:bk,sprite_vert:Pk,sprite_frag:Nk},Ye={common:{diffuse:{value:new qe(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Qt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new qe(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 qe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0},uvTransform:{value:new Qt}},sprite:{diffuse:{value:new qe(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}}},jr={basic:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Nt.meshbasic_vert,fragmentShader:Nt.meshbasic_frag},lambert:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Nt.meshlambert_vert,fragmentShader:Nt.meshlambert_frag},phong:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},specular:{value:new qe(1118481)},shininess:{value:30}}]),vertexShader:Nt.meshphong_vert,fragmentShader:Nt.meshphong_frag},standard:{uniforms:Ni([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag},toon:{uniforms:Ni([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Nt.meshtoon_vert,fragmentShader:Nt.meshtoon_frag},matcap:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Nt.meshmatcap_vert,fragmentShader:Nt.meshmatcap_frag},points:{uniforms:Ni([Ye.points,Ye.fog]),vertexShader:Nt.points_vert,fragmentShader:Nt.points_frag},dashed:{uniforms:Ni([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Nt.linedashed_vert,fragmentShader:Nt.linedashed_frag},depth:{uniforms:Ni([Ye.common,Ye.displacementmap]),vertexShader:Nt.depth_vert,fragmentShader:Nt.depth_frag},normal:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Nt.meshnormal_vert,fragmentShader:Nt.meshnormal_frag},sprite:{uniforms:Ni([Ye.sprite,Ye.fog]),vertexShader:Nt.sprite_vert,fragmentShader:Nt.sprite_frag},background:{uniforms:{uvTransform:{value:new Qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Nt.background_vert,fragmentShader:Nt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Nt.backgroundCube_vert,fragmentShader:Nt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Nt.cube_vert,fragmentShader:Nt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Nt.equirect_vert,fragmentShader:Nt.equirect_frag},distanceRGBA:{uniforms:Ni([Ye.common,Ye.displacementmap,{referencePosition:{value:new F},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Nt.distanceRGBA_vert,fragmentShader:Nt.distanceRGBA_frag},shadow:{uniforms:Ni([Ye.lights,Ye.fog,{color:{value:new qe(0)},opacity:{value:1}}]),vertexShader:Nt.shadow_vert,fragmentShader:Nt.shadow_frag}};jr.physical={uniforms:Ni([jr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Qt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Qt},sheen:{value:0},sheenColor:{value:new qe(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Qt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Qt},attenuationDistance:{value:0},attenuationColor:{value:new qe(0)},specularColor:{value:new qe(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Qt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Qt}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag};const Td={r:0,b:0,g:0};function Uk(n,e,t,i,r,s,o){const a=new qe(0);let l=s===!0?0:1,A,h,f=null,d=0,g=null;function E(I,p){let C=!1,v=p.isScene===!0?p.background:null;v&&v.isTexture&&(v=(p.backgroundBlurriness>0?t:e).get(v)),v===null?y(a,l):v&&v.isColor&&(y(v,1),C=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||C)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),v&&(v.isCubeTexture||v.mapping===_u)?(h===void 0&&(h=new tn(new Fl(1,1,1),new ns({name:"BackgroundCubeMaterial",uniforms:vu(jr.backgroundCube.uniforms),vertexShader:jr.backgroundCube.vertexShader,fragmentShader:jr.backgroundCube.fragmentShader,side:Hi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(Q,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=cn.getTransfer(v.colorSpace)!==dn,(f!==v||d!==v.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,f=v,d=v.version,g=n.toneMapping),h.layers.enableAll(),I.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(A===void 0&&(A=new tn(new wa(2,2),new ns({name:"BackgroundMaterial",uniforms:vu(jr.background.uniforms),vertexShader:jr.background.vertexShader,fragmentShader:jr.background.fragmentShader,side:Ur,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=v,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=cn.getTransfer(v.colorSpace)!==dn,v.matrixAutoUpdate===!0&&v.updateMatrix(),A.material.uniforms.uvTransform.value.copy(v.matrix),(f!==v||d!==v.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,f=v,d=v.version,g=n.toneMapping),A.layers.enableAll(),I.unshift(A,A.geometry,A.material,0,0,null))}function y(I,p){I.getRGB(Td,eR(n)),i.buffers.color.setClear(Td.r,Td.g,Td.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(I,p=1){a.set(I),l=p,y(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(I){l=I,y(a,l)},render:E}}function kk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=I(null);let A=l,h=!1;function f(Y,le,se,de,k){let Z=!1;if(o){const ne=y(de,se,le);A!==ne&&(A=ne,g(A.object)),Z=p(Y,de,se,k),Z&&C(Y,de,se,k)}else{const ne=le.wireframe===!0;(A.geometry!==de.id||A.program!==se.id||A.wireframe!==ne)&&(A.geometry=de.id,A.program=se.id,A.wireframe=ne,Z=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(Z||h)&&(h=!1,U(Y,le,se,de),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function d(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(Y){return i.isWebGL2?n.bindVertexArray(Y):s.bindVertexArrayOES(Y)}function E(Y){return i.isWebGL2?n.deleteVertexArray(Y):s.deleteVertexArrayOES(Y)}function y(Y,le,se){const de=se.wireframe===!0;let k=a[Y.id];k===void 0&&(k={},a[Y.id]=k);let Z=k[le.id];Z===void 0&&(Z={},k[le.id]=Z);let ne=Z[de];return ne===void 0&&(ne=I(d()),Z[de]=ne),ne}function I(Y){const le=[],se=[],de=[];for(let k=0;k=0){const V=k[_e];let G=Z[_e];if(G===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(G=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(G=Y.instanceColor)),V===void 0||V.attribute!==G||G&&V.data!==G.data)return!0;ne++}return A.attributesNum!==ne||A.index!==de}function C(Y,le,se,de){const k={},Z=le.attributes;let ne=0;const Ae=se.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let V=Z[_e];V===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(V=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(V=Y.instanceColor));const G={};G.attribute=V,V&&V.data&&(G.data=V.data),k[_e]=G,ne++}A.attributes=k,A.attributesNum=ne,A.index=de}function v(){const Y=A.newAttributes;for(let le=0,se=Y.length;le=0){let ke=k[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&Y.instanceMatrix&&(ke=Y.instanceMatrix),Ae==="instanceColor"&&Y.instanceColor&&(ke=Y.instanceColor)),ke!==void 0){const V=ke.normalized,G=ke.itemSize,O=t.get(ke);if(O===void 0)continue;const P=O.buffer,Ee=O.type,Be=O.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===gv);if(ke.isInterleavedBufferAttribute){const Se=ke.data,H=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)Q(_e.location+te,Se.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let te=0;te<_e.locationSize;te++)S(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,P);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,G/_e.locationSize,Ee,V,H*Be,(me+G/_e.locationSize*te)*Be,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)Q(_e.location+Se,ke.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,P);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,G/_e.locationSize,Ee,V,G*Be,G/_e.locationSize*Se*Be,pe)}}else if(ne!==void 0){const V=ne[Ae];if(V!==void 0)switch(V.length){case 2:n.vertexAttrib2fv(_e.location,V);break;case 3:n.vertexAttrib3fv(_e.location,V);break;case 4:n.vertexAttrib4fv(_e.location,V);break;default:n.vertexAttrib1fv(_e.location,V)}}}}R()}function J(){j();for(const Y in a){const le=a[Y];for(const se in le){const de=le[se];for(const k in de)E(de[k].object),delete de[k];delete le[se]}delete a[Y]}}function _(Y){if(a[Y.id]===void 0)return;const le=a[Y.id];for(const se in le){const de=le[se];for(const k in de)E(de[k].object),delete de[k];delete le[se]}delete a[Y.id]}function b(Y){for(const le in a){const se=a[le];if(se[Y.id]===void 0)continue;const de=se[Y.id];for(const k in de)E(de[k].object),delete de[k];delete se[Y.id]}}function j(){fe(),h=!0,A!==l&&(A=l,g(A.object))}function fe(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:f,reset:j,resetDefaultState:fe,dispose:J,releaseStatesOfGeometry:_,releaseStatesOfProgram:b,initAttributes:v,enableAttribute:S,disableUnusedAttributes:R}}function Fk(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,f){n.drawArrays(s,h,f),t.update(f,s,1)}function l(h,f,d){if(d===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,f,d),t.update(f,s,d)}function A(h,f,d){if(d===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,f=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),d=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),I=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),C=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),v=d>0,S=o||e.has("OES_texture_float"),Q=v&&S,R=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:f,maxVertexTextures:d,maxTextureSize:g,maxCubemapSize:E,maxAttributes:y,maxVertexUniforms:I,maxVaryings:p,maxFragmentUniforms:C,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:Q,maxSamples:R}}function Hk(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new rn,a=new Qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,d){const g=f.length!==0||d||i!==0||r;return r=d,i=f.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,d){t=h(f,d,0)},this.setState=function(f,d,g){const E=f.clippingPlanes,y=f.clipIntersection,I=f.clipShadows,p=n.get(f);if(!r||E===null||E.length===0||s&&!I)s?h(null):A();else{const C=s?0:i,v=C*4;let S=p.clippingState||null;l.value=S,S=h(E,d,v,g);for(let Q=0;Q!==v;++Q)S[Q]=t[Q];p.clippingState=S,this.numIntersection=y?this.numPlanes:0,this.numPlanes+=C}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(f,d,g,E){const y=f!==null?f.length:0;let I=null;if(y!==0){if(I=l.value,E!==!0||I===null){const p=g+y*4,C=d.matrixWorldInverse;a.getNormalMatrix(C),(I===null||I.length0){const A=new iR(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Qu extends Vh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 tu=4,vS=[.125,.215,.35,.446,.526,.582],cl=20,vE=new Qu,BS=new qe;let BE=null,xE=0,SE=0;const al=(1+Math.sqrt(5))/2,Bc=1/al,xS=[new F(1,1,1),new F(-1,1,1),new F(1,1,-1),new F(-1,1,-1),new F(0,al,Bc),new F(0,al,-Bc),new F(Bc,0,al),new F(-Bc,0,al),new F(al,Bc,0),new F(-al,Bc,0)];class jy{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){BE=this._renderer.getRenderTarget(),xE=this._renderer.getActiveCubeFace(),SE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=_S(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=wS(),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?v:0,v,v),h.setRenderTarget(r),y&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=d,h.autoClear=f,e.background=I}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===ho||e.mapping===Ia;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=_S()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=wS());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new tn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Ld(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,vE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rcl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${I} samples when the maximum is set to ${cl}`);const p=[];let C=0;for(let D=0;Dv-tu?r-v+tu:0),R=4*(this._cubeSize-S);Ld(t,Q,R,3*S,2*S),l.setRenderTarget(t),l.render(f,vE)}}function zk(n){const e=[],t=[],i=[];let r=n;const s=n-tu+1+vS.length;for(let o=0;on-tu?l=vS[o-n+tu-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,f=1+A,d=[h,h,f,h,f,f,h,h,f,f,h,f],g=6,E=6,y=3,I=2,p=1,C=new Float32Array(y*E*g),v=new Float32Array(I*E*g),S=new Float32Array(p*E*g);for(let R=0;R2?0:-1,J=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];C.set(J,y*E*R),v.set(d,I*E*R);const _=[R,R,R,R,R,R];S.set(_,p*E*R)}const Q=new bt;Q.setAttribute("position",new an(C,y)),Q.setAttribute("uv",new an(v,I)),Q.setAttribute("faceIndex",new an(S,p)),e.push(Q),r>tu&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function SS(n,e,t){const i=new kr(n,e,t);return i.texture.mapping=_u,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Ld(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function Vk(n,e,t){const i=new Float32Array(cl),r=new F(0,1,0);return new ns({name:"SphericalGaussianBlur",defines:{n:cl,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:Tv(),fragmentShader:` +}`,Nt={alphahash_fragment:sN,alphahash_pars_fragment:oN,alphamap_fragment:aN,alphamap_pars_fragment:lN,alphatest_fragment:cN,alphatest_pars_fragment:uN,aomap_fragment:AN,aomap_pars_fragment:hN,batching_pars_vertex:dN,batching_vertex:fN,begin_vertex:pN,beginnormal_vertex:gN,bsdfs:mN,iridescence_fragment:EN,bumpmap_pars_fragment:IN,clipping_planes_fragment:yN,clipping_planes_pars_fragment:CN,clipping_planes_pars_vertex:vN,clipping_planes_vertex:BN,color_fragment:xN,color_pars_fragment:SN,color_pars_vertex:wN,color_vertex:_N,common:MN,cube_uv_reflection_fragment:QN,defaultnormal_vertex:RN,displacementmap_pars_vertex:DN,displacementmap_vertex:TN,emissivemap_fragment:LN,emissivemap_pars_fragment:bN,colorspace_fragment:PN,colorspace_pars_fragment:NN,envmap_fragment:UN,envmap_common_pars_fragment:kN,envmap_pars_fragment:FN,envmap_pars_vertex:ON,envmap_physical_pars_fragment:ZN,envmap_vertex:HN,fog_vertex:GN,fog_pars_vertex:zN,fog_fragment:VN,fog_pars_fragment:WN,gradientmap_pars_fragment:YN,lightmap_fragment:JN,lightmap_pars_fragment:XN,lights_lambert_fragment:KN,lights_lambert_pars_fragment:qN,lights_pars_begin:jN,lights_toon_fragment:$N,lights_toon_pars_fragment:eU,lights_phong_fragment:tU,lights_phong_pars_fragment:nU,lights_physical_fragment:iU,lights_physical_pars_fragment:rU,lights_fragment_begin:sU,lights_fragment_maps:oU,lights_fragment_end:aU,logdepthbuf_fragment:lU,logdepthbuf_pars_fragment:cU,logdepthbuf_pars_vertex:uU,logdepthbuf_vertex:AU,map_fragment:hU,map_pars_fragment:dU,map_particle_fragment:fU,map_particle_pars_fragment:pU,metalnessmap_fragment:gU,metalnessmap_pars_fragment:mU,morphcolor_vertex:EU,morphnormal_vertex:IU,morphtarget_pars_vertex:yU,morphtarget_vertex:CU,normal_fragment_begin:vU,normal_fragment_maps:BU,normal_pars_fragment:xU,normal_pars_vertex:SU,normal_vertex:wU,normalmap_pars_fragment:_U,clearcoat_normal_fragment_begin:MU,clearcoat_normal_fragment_maps:QU,clearcoat_pars_fragment:RU,iridescence_pars_fragment:DU,opaque_fragment:TU,packing:LU,premultiplied_alpha_fragment:bU,project_vertex:PU,dithering_fragment:NU,dithering_pars_fragment:UU,roughnessmap_fragment:kU,roughnessmap_pars_fragment:FU,shadowmap_pars_fragment:OU,shadowmap_pars_vertex:HU,shadowmap_vertex:GU,shadowmask_pars_fragment:zU,skinbase_vertex:VU,skinning_pars_vertex:WU,skinning_vertex:YU,skinnormal_vertex:JU,specularmap_fragment:XU,specularmap_pars_fragment:KU,tonemapping_fragment:qU,tonemapping_pars_fragment:jU,transmission_fragment:ZU,transmission_pars_fragment:$U,uv_pars_fragment:ek,uv_pars_vertex:tk,uv_vertex:nk,worldpos_vertex:ik,background_vert:rk,background_frag:sk,backgroundCube_vert:ok,backgroundCube_frag:ak,cube_vert:lk,cube_frag:ck,depth_vert:uk,depth_frag:Ak,distanceRGBA_vert:hk,distanceRGBA_frag:dk,equirect_vert:fk,equirect_frag:pk,linedashed_vert:gk,linedashed_frag:mk,meshbasic_vert:Ek,meshbasic_frag:Ik,meshlambert_vert:yk,meshlambert_frag:Ck,meshmatcap_vert:vk,meshmatcap_frag:Bk,meshnormal_vert:xk,meshnormal_frag:Sk,meshphong_vert:wk,meshphong_frag:_k,meshphysical_vert:Mk,meshphysical_frag:Qk,meshtoon_vert:Rk,meshtoon_frag:Dk,points_vert:Tk,points_frag:Lk,shadow_vert:bk,shadow_frag:Pk,sprite_vert:Nk,sprite_frag:Uk},Ye={common:{diffuse:{value:new qe(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Qt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new qe(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 qe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0},uvTransform:{value:new Qt}},sprite:{diffuse:{value:new qe(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}}},jr={basic:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Nt.meshbasic_vert,fragmentShader:Nt.meshbasic_frag},lambert:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Nt.meshlambert_vert,fragmentShader:Nt.meshlambert_frag},phong:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},specular:{value:new qe(1118481)},shininess:{value:30}}]),vertexShader:Nt.meshphong_vert,fragmentShader:Nt.meshphong_frag},standard:{uniforms:Ni([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag},toon:{uniforms:Ni([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Nt.meshtoon_vert,fragmentShader:Nt.meshtoon_frag},matcap:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Nt.meshmatcap_vert,fragmentShader:Nt.meshmatcap_frag},points:{uniforms:Ni([Ye.points,Ye.fog]),vertexShader:Nt.points_vert,fragmentShader:Nt.points_frag},dashed:{uniforms:Ni([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Nt.linedashed_vert,fragmentShader:Nt.linedashed_frag},depth:{uniforms:Ni([Ye.common,Ye.displacementmap]),vertexShader:Nt.depth_vert,fragmentShader:Nt.depth_frag},normal:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Nt.meshnormal_vert,fragmentShader:Nt.meshnormal_frag},sprite:{uniforms:Ni([Ye.sprite,Ye.fog]),vertexShader:Nt.sprite_vert,fragmentShader:Nt.sprite_frag},background:{uniforms:{uvTransform:{value:new Qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Nt.background_vert,fragmentShader:Nt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Nt.backgroundCube_vert,fragmentShader:Nt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Nt.cube_vert,fragmentShader:Nt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Nt.equirect_vert,fragmentShader:Nt.equirect_frag},distanceRGBA:{uniforms:Ni([Ye.common,Ye.displacementmap,{referencePosition:{value:new F},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Nt.distanceRGBA_vert,fragmentShader:Nt.distanceRGBA_frag},shadow:{uniforms:Ni([Ye.lights,Ye.fog,{color:{value:new qe(0)},opacity:{value:1}}]),vertexShader:Nt.shadow_vert,fragmentShader:Nt.shadow_frag}};jr.physical={uniforms:Ni([jr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Qt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Qt},sheen:{value:0},sheenColor:{value:new qe(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Qt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Qt},attenuationDistance:{value:0},attenuationColor:{value:new qe(0)},specularColor:{value:new qe(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Qt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Qt}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag};const Tf={r:0,b:0,g:0};function kk(n,e,t,i,r,s,o){const a=new qe(0);let l=s===!0?0:1,A,h,d=null,f=0,g=null;function E(I,p){let y=!1,v=p.isScene===!0?p.background:null;v&&v.isTexture&&(v=(p.backgroundBlurriness>0?t:e).get(v)),v===null?C(a,l):v&&v.isColor&&(C(v,1),y=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),v&&(v.isCubeTexture||v.mapping===_u)?(h===void 0&&(h=new Zt(new Fl(1,1,1),new ns({name:"BackgroundCubeMaterial",uniforms:vu(jr.backgroundCube.uniforms),vertexShader:jr.backgroundCube.vertexShader,fragmentShader:jr.backgroundCube.fragmentShader,side:Hi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(R,Q,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=v,h.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=cn.getTransfer(v.colorSpace)!==fn,(d!==v||f!==v.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,d=v,f=v.version,g=n.toneMapping),h.layers.enableAll(),I.unshift(h,h.geometry,h.material,0,0,null)):v&&v.isTexture&&(A===void 0&&(A=new Zt(new wa(2,2),new ns({name:"BackgroundMaterial",uniforms:vu(jr.background.uniforms),vertexShader:jr.background.vertexShader,fragmentShader:jr.background.fragmentShader,side:Ur,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=v,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=cn.getTransfer(v.colorSpace)!==fn,v.matrixAutoUpdate===!0&&v.updateMatrix(),A.material.uniforms.uvTransform.value.copy(v.matrix),(d!==v||f!==v.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,d=v,f=v.version,g=n.toneMapping),A.layers.enableAll(),I.unshift(A,A.geometry,A.material,0,0,null))}function C(I,p){I.getRGB(Tf,tR(n)),i.buffers.color.setClear(Tf.r,Tf.g,Tf.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(I,p=1){a.set(I),l=p,C(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(I){l=I,C(a,l)},render:E}}function Fk(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=I(null);let A=l,h=!1;function d(Y,ae,re,fe,k){let $=!1;if(o){const ne=C(fe,re,ae);A!==ne&&(A=ne,g(A.object)),$=p(Y,fe,re,k),$&&y(Y,fe,re,k)}else{const ne=ae.wireframe===!0;(A.geometry!==fe.id||A.program!==re.id||A.wireframe!==ne)&&(A.geometry=fe.id,A.program=re.id,A.wireframe=ne,$=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),($||h)&&(h=!1,U(Y,ae,re,fe),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function f(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(Y){return i.isWebGL2?n.bindVertexArray(Y):s.bindVertexArrayOES(Y)}function E(Y){return i.isWebGL2?n.deleteVertexArray(Y):s.deleteVertexArrayOES(Y)}function C(Y,ae,re){const fe=re.wireframe===!0;let k=a[Y.id];k===void 0&&(k={},a[Y.id]=k);let $=k[ae.id];$===void 0&&($={},k[ae.id]=$);let ne=$[fe];return ne===void 0&&(ne=I(f()),$[fe]=ne),ne}function I(Y){const ae=[],re=[],fe=[];for(let k=0;k=0){const V=k[_e];let G=$[_e];if(G===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(G=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(G=Y.instanceColor)),V===void 0||V.attribute!==G||G&&V.data!==G.data)return!0;ne++}return A.attributesNum!==ne||A.index!==fe}function y(Y,ae,re,fe){const k={},$=ae.attributes;let ne=0;const Ae=re.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let V=$[_e];V===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(V=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(V=Y.instanceColor));const G={};G.attribute=V,V&&V.data&&(G.data=V.data),k[_e]=G,ne++}A.attributes=k,A.attributesNum=ne,A.index=fe}function v(){const Y=A.newAttributes;for(let ae=0,re=Y.length;ae=0){let ke=k[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&Y.instanceMatrix&&(ke=Y.instanceMatrix),Ae==="instanceColor"&&Y.instanceColor&&(ke=Y.instanceColor)),ke!==void 0){const V=ke.normalized,G=ke.itemSize,O=t.get(ke);if(O===void 0)continue;const P=O.buffer,Ee=O.type,Be=O.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===gv);if(ke.isInterleavedBufferAttribute){const Se=ke.data,H=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)R(_e.location+te,Se.meshPerAttribute);Y.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let te=0;te<_e.locationSize;te++)S(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,P);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,G/_e.locationSize,Ee,V,H*Be,(me+G/_e.locationSize*te)*Be,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)R(_e.location+Se,ke.meshPerAttribute);Y.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,P);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,G/_e.locationSize,Ee,V,G*Be,G/_e.locationSize*Se*Be,pe)}}else if(ne!==void 0){const V=ne[Ae];if(V!==void 0)switch(V.length){case 2:n.vertexAttrib2fv(_e.location,V);break;case 3:n.vertexAttrib3fv(_e.location,V);break;case 4:n.vertexAttrib4fv(_e.location,V);break;default:n.vertexAttrib1fv(_e.location,V)}}}}Q()}function J(){j();for(const Y in a){const ae=a[Y];for(const re in ae){const fe=ae[re];for(const k in fe)E(fe[k].object),delete fe[k];delete ae[re]}delete a[Y]}}function _(Y){if(a[Y.id]===void 0)return;const ae=a[Y.id];for(const re in ae){const fe=ae[re];for(const k in fe)E(fe[k].object),delete fe[k];delete ae[re]}delete a[Y.id]}function b(Y){for(const ae in a){const re=a[ae];if(re[Y.id]===void 0)continue;const fe=re[Y.id];for(const k in fe)E(fe[k].object),delete fe[k];delete re[Y.id]}}function j(){de(),h=!0,A!==l&&(A=l,g(A.object))}function de(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:d,reset:j,resetDefaultState:de,dispose:J,releaseStatesOfGeometry:_,releaseStatesOfProgram:b,initAttributes:v,enableAttribute:S,disableUnusedAttributes:Q}}function Ok(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,d){n.drawArrays(s,h,d),t.update(d,s,1)}function l(h,d,f){if(f===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,d,f),t.update(d,s,f)}function A(h,d,f){if(f===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),C=n.getParameter(n.MAX_VERTEX_ATTRIBS),I=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,S=o||e.has("OES_texture_float"),R=v&&S,Q=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:f,maxTextureSize:g,maxCubemapSize:E,maxAttributes:C,maxVertexUniforms:I,maxVaryings:p,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:S,floatVertexTextures:R,maxSamples:Q}}function Gk(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new rn,a=new Qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,f){const g=d.length!==0||f||i!==0||r;return r=f,i=d.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,f){t=h(d,f,0)},this.setState=function(d,f,g){const E=d.clippingPlanes,C=d.clipIntersection,I=d.clipShadows,p=n.get(d);if(!r||E===null||E.length===0||s&&!I)s?h(null):A();else{const y=s?0:i,v=y*4;let S=p.clippingState||null;l.value=S,S=h(E,f,v,g);for(let R=0;R!==v;++R)S[R]=t[R];p.clippingState=S,this.numIntersection=C?this.numPlanes:0,this.numPlanes+=y}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,f,g,E){const C=d!==null?d.length:0;let I=null;if(C!==0){if(I=l.value,E!==!0||I===null){const p=g+C*4,y=f.matrixWorldInverse;a.getNormalMatrix(y),(I===null||I.length0){const A=new rR(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Qu extends Vh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 tu=4,BS=[.125,.215,.35,.446,.526,.582],cl=20,vE=new Qu,xS=new qe;let BE=null,xE=0,SE=0;const al=(1+Math.sqrt(5))/2,Bc=1/al,SS=[new F(1,1,1),new F(-1,1,1),new F(1,1,-1),new F(-1,1,-1),new F(0,al,Bc),new F(0,al,-Bc),new F(Bc,0,al),new F(-Bc,0,al),new F(al,Bc,0),new F(-al,Bc,0)];class jy{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){BE=this._renderer.getRenderTarget(),xE=this._renderer.getActiveCubeFace(),SE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=MS(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=_S(),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?v:0,v,v),h.setRenderTarget(r),C&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=f,h.autoClear=d,e.background=I}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===ho||e.mapping===Ia;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=MS()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=_S());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Zt(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Lf(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,vE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rcl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${I} samples when the maximum is set to ${cl}`);const p=[];let y=0;for(let D=0;Dv-tu?r-v+tu:0),Q=4*(this._cubeSize-S);Lf(t,R,Q,3*S,2*S),l.setRenderTarget(t),l.render(d,vE)}}function Vk(n){const e=[],t=[],i=[];let r=n;const s=n-tu+1+BS.length;for(let o=0;on-tu?l=BS[o-n+tu-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,d=1+A,f=[h,h,d,h,d,d,h,h,d,d,h,d],g=6,E=6,C=3,I=2,p=1,y=new Float32Array(C*E*g),v=new Float32Array(I*E*g),S=new Float32Array(p*E*g);for(let Q=0;Q2?0:-1,J=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];y.set(J,C*E*Q),v.set(f,I*E*Q);const _=[Q,Q,Q,Q,Q,Q];S.set(_,p*E*Q)}const R=new bt;R.setAttribute("position",new an(y,C)),R.setAttribute("uv",new an(v,I)),R.setAttribute("faceIndex",new an(S,p)),e.push(R),r>tu&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function wS(n,e,t){const i=new kr(n,e,t);return i.texture.mapping=_u,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Lf(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function Wk(n,e,t){const i=new Float32Array(cl),r=new F(0,1,0);return new ns({name:"SphericalGaussianBlur",defines:{n:cl,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:Tv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3608,7 +3608,7 @@ void main() { } } - `,blending:ao,depthTest:!1,depthWrite:!1})}function wS(){return new ns({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Tv(),fragmentShader:` + `,blending:ao,depthTest:!1,depthWrite:!1})}function _S(){return new ns({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Tv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3627,7 +3627,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:ao,depthTest:!1,depthWrite:!1})}function _S(){return new ns({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Tv(),fragmentShader:` + `,blending:ao,depthTest:!1,depthWrite:!1})}function MS(){return new ns({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Tv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3698,16 +3698,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function Wk(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,A=l===hh||l===fh,h=l===ho||l===Ia;if(A||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let f=e.get(a);return t===null&&(t=new jy(n)),f=A?t.fromEquirectangular(a,f):t.fromCubemap(a,f),e.set(a,f),f.texture}else{if(e.has(a))return e.get(a).texture;{const f=a.image;if(A&&f&&f.height>0||h&&f&&r(f)){t===null&&(t=new jy(n));const d=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,d),a.addEventListener("dispose",s),d.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(J/e.maxTextureSize),J=e.maxTextureSize);const b=new Float32Array(J*_*4*E),j=new Vg(b,J,_,E);j.type=Dr,j.needsUpdate=!0;const fe=U*4;for(let le=0;le0)return n;const r=e*t;let s=MS[r];if(s===void 0&&(s=new Float32Array(r),MS[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 $n(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||h&&d&&r(d)){t===null&&(t=new jy(n));const f=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(J/e.maxTextureSize),J=e.maxTextureSize);const b=new Float32Array(J*_*4*E),j=new Vg(b,J,_,E);j.type=Dr,j.needsUpdate=!0;const de=U*4;for(let ae=0;ae0)return n;const r=e*t;let s=QS[r];if(s===void 0&&(s=new Float32Array(r),QS[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 $n(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function JF(n){const e=cn.getPrimaries(cn.workingColorSpace),t=cn.getPrimaries(n);let i;switch(e===t?i="":e===Ch&&t===yh?i="LinearDisplayP3ToLinearSRGB":e===yh&&t===Ch&&(i="LinearSRGBToLinearDisplayP3"),n){case Qs:case zh:return[i,"LinearTransferOETF"];case Pn:case zg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function PS(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()+` +`)}function XF(n){const e=cn.getPrimaries(cn.workingColorSpace),t=cn.getPrimaries(n);let i;switch(e===t?i="":e===Ch&&t===yh?i="LinearDisplayP3ToLinearSRGB":e===yh&&t===Ch&&(i="LinearSRGBToLinearDisplayP3"),n){case Qs:case zh:return[i,"LinearTransferOETF"];case Pn:case zg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function NS(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+` -`+YF(n.getShaderSource(e),o)}else return r}function XF(n,e){const t=JF(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function KF(n,e){let t;switch(e){case x2:t="Linear";break;case S2:t="Reinhard";break;case w2:t="OptimizedCineon";break;case pv:t="ACESFilmic";break;case M2:t="AgX";break;case _2:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function qF(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(nu).join(` -`)}function jF(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(nu).join(` -`)}function ZF(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function $F(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function Zy(n){return n.replace(e4,n4)}const t4=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function n4(n,e){let t=Nt[e];if(t===void 0){const i=t4.get(e);if(i!==void 0)t=Nt[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 Zy(t)}const i4=/#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 kS(n){return n.replace(i4,r4)}function r4(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function Zy(n){return n.replace(t4,i4)}const n4=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function i4(n,e){let t=Nt[e];if(t===void 0){const i=n4.get(e);if(i!==void 0)t=Nt[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 Zy(t)}const r4=/#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 FS(n){return n.replace(r4,s4)}function s4(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(p+=` -`),C=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y].filter(nu).join(` -`),C.length>0&&(C+=` -`)):(p=[FS(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.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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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",` +`),y=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C].filter(nu).join(` +`),y.length>0&&(y+=` +`)):(p=[OS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(nu).join(` -`),C=[g,FS(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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+f:"",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.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==_s?"#define TONE_MAPPING":"",t.toneMapping!==_s?Nt.tonemapping_pars_fragment:"",t.toneMapping!==_s?KF("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Nt.colorspace_pars_fragment,XF("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),y=[g,OS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,C,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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==_s?"#define TONE_MAPPING":"",t.toneMapping!==_s?Nt.tonemapping_pars_fragment:"",t.toneMapping!==_s?qF("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Nt.colorspace_pars_fragment,KF("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(nu).join(` -`)),o=Zy(o),o=NS(o,t),o=US(o,t),a=Zy(a),a=NS(a,t),a=US(a,t),o=kS(o),a=kS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(v=`#version 300 es +`)),o=Zy(o),o=US(o,t),o=kS(o,t),a=Zy(a),a=US(a,t),a=kS(a,t),o=FS(o),a=FS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(v=`#version 300 es `,p=[E,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` -`+p,C=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===Ky?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Ky?"":"#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(` +`+p,y=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===Ky?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Ky?"":"#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 S=v+p+o,Q=v+C+a,R=bS(r,r.VERTEX_SHADER,S),D=bS(r,r.FRAGMENT_SHADER,Q);r.attachShader(I,R),r.attachShader(I,D),t.index0AttributeName!==void 0?r.bindAttribLocation(I,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(I,0,"position"),r.linkProgram(I);function U(j){if(n.debug.checkShaderErrors){const fe=r.getProgramInfoLog(I).trim(),Y=r.getShaderInfoLog(R).trim(),le=r.getShaderInfoLog(D).trim();let se=!0,de=!0;if(r.getProgramParameter(I,r.LINK_STATUS)===!1)if(se=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,I,R,D);else{const k=PS(r,R,"vertex"),Z=PS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(I,r.VALIDATE_STATUS)+` +`+y);const S=v+p+o,R=v+y+a,Q=PS(r,r.VERTEX_SHADER,S),D=PS(r,r.FRAGMENT_SHADER,R);r.attachShader(I,Q),r.attachShader(I,D),t.index0AttributeName!==void 0?r.bindAttribLocation(I,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(I,0,"position"),r.linkProgram(I);function U(j){if(n.debug.checkShaderErrors){const de=r.getProgramInfoLog(I).trim(),Y=r.getShaderInfoLog(Q).trim(),ae=r.getShaderInfoLog(D).trim();let re=!0,fe=!0;if(r.getProgramParameter(I,r.LINK_STATUS)===!1)if(re=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,I,Q,D);else{const k=NS(r,Q,"vertex"),$=NS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(I,r.VALIDATE_STATUS)+` Material Name: `+j.name+` Material Type: `+j.type+` -Program Info Log: `+fe+` +Program Info Log: `+de+` `+k+` -`+Z)}else fe!==""?console.warn("THREE.WebGLProgram: Program Info Log:",fe):(Y===""||le==="")&&(de=!1);de&&(j.diagnostics={runnable:se,programLog:fe,vertexShader:{log:Y,prefix:p},fragmentShader:{log:le,prefix:C}})}r.deleteShader(R),r.deleteShader(D),J=new kp(r,I),_=$F(r,I)}let J;this.getUniforms=function(){return J===void 0&&U(this),J};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let b=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return b===!1&&(b=r.getProgramParameter(I,VF)),b},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(I),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=WF++,this.cacheKey=e,this.usedTimes=1,this.program=I,this.vertexShader=R,this.fragmentShader=D,this}let A4=0;class h4{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 f4(e),t.set(e,i)),i}}class f4{constructor(e){this.id=A4++,this.code=e,this.usedTimes=0}}function d4(n,e,t,i,r,s,o){const a=new xl,l=new h4,A=new Set,h=[],f=r.isWebGL2,d=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=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 I(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,b,j,fe,Y){const le=fe.fog,se=Y.geometry,de=_.isMeshStandardMaterial?fe.environment:null,k=(_.isMeshStandardMaterial?t:e).get(_.envMap||de),Z=k&&k.mapping===_u?k.image.height:null,ne=y[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=se.morphAttributes.position||se.morphAttributes.normal||se.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;se.morphAttributes.position!==void 0&&(ke=1),se.morphAttributes.normal!==void 0&&(ke=2),se.morphAttributes.color!==void 0&&(ke=3);let V,G,O,P;if(ne){const nn=jr[ne];V=nn.vertexShader,G=nn.fragmentShader}else V=_.vertexShader,G=_.fragmentShader,l.update(_),O=l.getVertexShaderID(_),P=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=Y.isInstancedMesh===!0,pe=Y.isBatchedMesh===!0,Se=!!_.map,H=!!_.matcap,me=!!k,te=!!_.aoMap,ue=!!_.lightMap,ae=!!_.bumpMap,De=!!_.normalMap,q=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,Le=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,je=Le&&!!_.anisotropyMap,at=Te&&!!_.clearcoatMap,mt=Te&&!!_.clearcoatNormalMap,be=Te&&!!_.clearcoatRoughnessMap,Pt=Re&&!!_.iridescenceMap,Mt=Re&&!!_.iridescenceThicknessMap,gt=Je&&!!_.sheenColorMap,ot=Je&&!!_.sheenRoughnessMap,et=!!_.specularMap,vt=!!_.specularColorMap,Vt=!!_.specularIntensityMap,Ht=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Ft=!!_.gradientMap,K=!!_.alphaMap,Ge=_.alphaTest>0,ze=!!_.alphaHash,it=!!_.extensions;let dt=_s;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(dt=n.toneMapping);const Kt={isWebGL2:f,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:V,fragmentShader:G,defines:_.defines,customVertexShaderID:O,customFragmentShaderID:P,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&Y.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Qs,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:H,envMap:me,envMapMode:me&&k.mapping,envMapCubeUVHeight:Z,aoMap:te,lightMap:ue,bumpMap:ae,normalMap:De,displacementMap:g&&q,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===G2,normalMapTangentSpace:De&&_.normalMapType===xa,metalnessMap:T,roughnessMap:ie,anisotropy:Le,anisotropyMap:je,clearcoat:Te,clearcoatMap:at,clearcoatNormalMap:mt,clearcoatRoughnessMap:be,iridescence:Re,iridescenceMap:Pt,iridescenceThicknessMap:Mt,sheen:Je,sheenColorMap:gt,sheenRoughnessMap:ot,specularMap:et,specularColorMap:vt,specularIntensityMap:Vt,transmission:Ve,transmissionMap:Ht,thicknessMap:Tt,gradientMap:Ft,opaque:_.transparent===!1&&_.blending===Cl&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:Ge,alphaHash:ze,combine:_.combine,mapUv:Se&&I(_.map.channel),aoMapUv:te&&I(_.aoMap.channel),lightMapUv:ue&&I(_.lightMap.channel),bumpMapUv:ae&&I(_.bumpMap.channel),normalMapUv:De&&I(_.normalMap.channel),displacementMapUv:q&&I(_.displacementMap.channel),emissiveMapUv:w&&I(_.emissiveMap.channel),metalnessMapUv:T&&I(_.metalnessMap.channel),roughnessMapUv:ie&&I(_.roughnessMap.channel),anisotropyMapUv:je&&I(_.anisotropyMap.channel),clearcoatMapUv:at&&I(_.clearcoatMap.channel),clearcoatNormalMapUv:mt&&I(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:be&&I(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Pt&&I(_.iridescenceMap.channel),iridescenceThicknessMapUv:Mt&&I(_.iridescenceThicknessMap.channel),sheenColorMapUv:gt&&I(_.sheenColorMap.channel),sheenRoughnessMapUv:ot&&I(_.sheenRoughnessMap.channel),specularMapUv:et&&I(_.specularMap.channel),specularColorMapUv:vt&&I(_.specularColorMap.channel),specularIntensityMapUv:Vt&&I(_.specularIntensityMap.channel),transmissionMapUv:Ht&&I(_.transmissionMap.channel),thicknessMapUv:Tt&&I(_.thicknessMap.channel),alphaMapUv:K&&I(_.alphaMap.channel),vertexTangents:!!se.attributes.tangent&&(De||Le),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!se.attributes.color&&se.attributes.color.itemSize===4,pointsUvs:Y.isPoints===!0&&!!se.attributes.uv&&(Se||K),fog:!!le,useFog:_.fog===!0,fogExp2:!!le&&le.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:Y.isSkinnedMesh===!0,morphTargets:se.morphAttributes.position!==void 0,morphNormals:se.morphAttributes.normal!==void 0,morphColors:se.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:b.directional.length,numPointLights:b.point.length,numSpotLights:b.spot.length,numSpotLightMaps:b.spotLightMap.length,numRectAreaLights:b.rectArea.length,numHemiLights:b.hemi.length,numDirLightShadows:b.directionalShadowMap.length,numPointLightShadows:b.pointShadowMap.length,numSpotLightShadows:b.spotShadowMap.length,numSpotLightShadowsWithMaps:b.numSpotLightShadowsWithMaps,numLightProbes:b.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&j.length>0,shadowMapType:n.shadowMap.type,toneMapping:dt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&cn.getTransfer(_.map.colorSpace)===dn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===Cs,flipSided:_.side===Hi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:it&&_.extensions.derivatives===!0,extensionFragDepth:it&&_.extensions.fragDepth===!0,extensionDrawBuffers:it&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:it&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:it&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:it&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:f||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:f||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:f||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Kt.vertexUv1s=A.has(1),Kt.vertexUv2s=A.has(2),Kt.vertexUv3s=A.has(3),A.clear(),Kt}function C(_){const b=[];if(_.shaderID?b.push(_.shaderID):(b.push(_.customVertexShaderID),b.push(_.customFragmentShaderID)),_.defines!==void 0)for(const j in _.defines)b.push(j),b.push(_.defines[j]);return _.isRawShaderMaterial===!1&&(v(b,_),S(b,_),b.push(n.outputColorSpace)),b.push(_.customProgramCacheKey),b.join()}function v(_,b){_.push(b.precision),_.push(b.outputColorSpace),_.push(b.envMapMode),_.push(b.envMapCubeUVHeight),_.push(b.mapUv),_.push(b.alphaMapUv),_.push(b.lightMapUv),_.push(b.aoMapUv),_.push(b.bumpMapUv),_.push(b.normalMapUv),_.push(b.displacementMapUv),_.push(b.emissiveMapUv),_.push(b.metalnessMapUv),_.push(b.roughnessMapUv),_.push(b.anisotropyMapUv),_.push(b.clearcoatMapUv),_.push(b.clearcoatNormalMapUv),_.push(b.clearcoatRoughnessMapUv),_.push(b.iridescenceMapUv),_.push(b.iridescenceThicknessMapUv),_.push(b.sheenColorMapUv),_.push(b.sheenRoughnessMapUv),_.push(b.specularMapUv),_.push(b.specularColorMapUv),_.push(b.specularIntensityMapUv),_.push(b.transmissionMapUv),_.push(b.thicknessMapUv),_.push(b.combine),_.push(b.fogExp2),_.push(b.sizeAttenuation),_.push(b.morphTargetsCount),_.push(b.morphAttributeCount),_.push(b.numDirLights),_.push(b.numPointLights),_.push(b.numSpotLights),_.push(b.numSpotLightMaps),_.push(b.numHemiLights),_.push(b.numRectAreaLights),_.push(b.numDirLightShadows),_.push(b.numPointLightShadows),_.push(b.numSpotLightShadows),_.push(b.numSpotLightShadowsWithMaps),_.push(b.numLightProbes),_.push(b.shadowMapType),_.push(b.toneMapping),_.push(b.numClippingPlanes),_.push(b.numClipIntersection),_.push(b.depthPacking)}function S(_,b){a.disableAll(),b.isWebGL2&&a.enable(0),b.supportsVertexTextures&&a.enable(1),b.instancing&&a.enable(2),b.instancingColor&&a.enable(3),b.matcap&&a.enable(4),b.envMap&&a.enable(5),b.normalMapObjectSpace&&a.enable(6),b.normalMapTangentSpace&&a.enable(7),b.clearcoat&&a.enable(8),b.iridescence&&a.enable(9),b.alphaTest&&a.enable(10),b.vertexColors&&a.enable(11),b.vertexAlphas&&a.enable(12),b.vertexUv1s&&a.enable(13),b.vertexUv2s&&a.enable(14),b.vertexUv3s&&a.enable(15),b.vertexTangents&&a.enable(16),b.anisotropy&&a.enable(17),b.alphaHash&&a.enable(18),b.batching&&a.enable(19),_.push(a.mask),a.disableAll(),b.fog&&a.enable(0),b.useFog&&a.enable(1),b.flatShading&&a.enable(2),b.logarithmicDepthBuffer&&a.enable(3),b.skinning&&a.enable(4),b.morphTargets&&a.enable(5),b.morphNormals&&a.enable(6),b.morphColors&&a.enable(7),b.premultipliedAlpha&&a.enable(8),b.shadowMapEnabled&&a.enable(9),b.useLegacyLights&&a.enable(10),b.doubleSided&&a.enable(11),b.flipSided&&a.enable(12),b.useDepthPacking&&a.enable(13),b.dithering&&a.enable(14),b.transmission&&a.enable(15),b.sheen&&a.enable(16),b.opaque&&a.enable(17),b.pointsUvs&&a.enable(18),b.decodeVideoTexture&&a.enable(19),b.alphaToCoverage&&a.enable(20),_.push(a.mask)}function Q(_){const b=y[_.type];let j;if(b){const fe=jr[b];j=tR.clone(fe.uniforms)}else j=_.uniforms;return j}function R(_,b){let j;for(let fe=0,Y=h.length;fe0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(f,d,g,E,y,I){const p=o(f,d,g,E,y,I);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(f,d){t.length>1&&t.sort(f||g4),i.length>1&&i.sort(d||OS),r.length>1&&r.sort(d||OS)}function h(){for(let f=e,d=n.length;f=s.length?(o=new HS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function E4(){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 F,color:new qe};break;case"SpotLight":t={position:new F,direction:new F,color:new qe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new F,color:new qe,distance:0,decay:0};break;case"HemisphereLight":t={direction:new F,skyColor:new qe,groundColor:new qe};break;case"RectAreaLight":t={color:new qe,position:new F,halfWidth:new F,halfHeight:new F};break}return n[e.id]=t,t}}}function I4(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let y4=0;function C4(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function v4(n,e){const t=new E4,i=I4(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new F);const s=new F,o=new lt,a=new lt;function l(h,f){let d=0,g=0,E=0;for(let j=0;j<9;j++)r.probe[j].set(0,0,0);let y=0,I=0,p=0,C=0,v=0,S=0,Q=0,R=0,D=0,U=0,J=0;h.sort(C4);const _=f===!0?Math.PI:1;for(let j=0,fe=h.length;j0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=d,r.ambient[1]=g,r.ambient[2]=E;const b=r.hash;(b.directionalLength!==y||b.pointLength!==I||b.spotLength!==p||b.rectAreaLength!==C||b.hemiLength!==v||b.numDirectionalShadows!==S||b.numPointShadows!==Q||b.numSpotShadows!==R||b.numSpotMaps!==D||b.numLightProbes!==J)&&(r.directional.length=y,r.spot.length=p,r.rectArea.length=C,r.point.length=I,r.hemi.length=v,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=Q,r.pointShadowMap.length=Q,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=Q,r.spotLightMatrix.length=R+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=J,b.directionalLength=y,b.pointLength=I,b.spotLength=p,b.rectAreaLength=C,b.hemiLength=v,b.numDirectionalShadows=S,b.numPointShadows=Q,b.numSpotShadows=R,b.numSpotMaps=D,b.numLightProbes=J,r.version=y4++)}function A(h,f){let d=0,g=0,E=0,y=0,I=0;const p=f.matrixWorldInverse;for(let C=0,v=h.length;C=a.length?(l=new GS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Yg extends ui{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=H2,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 Jg extends ui{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 x4=`void main() { +`+$)}else de!==""?console.warn("THREE.WebGLProgram: Program Info Log:",de):(Y===""||ae==="")&&(fe=!1);fe&&(j.diagnostics={runnable:re,programLog:de,vertexShader:{log:Y,prefix:p},fragmentShader:{log:ae,prefix:y}})}r.deleteShader(Q),r.deleteShader(D),J=new kp(r,I),_=e4(r,I)}let J;this.getUniforms=function(){return J===void 0&&U(this),J};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let b=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return b===!1&&(b=r.getProgramParameter(I,WF)),b},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(I),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=YF++,this.cacheKey=e,this.usedTimes=1,this.program=I,this.vertexShader=Q,this.fragmentShader=D,this}let h4=0;class d4{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 f4(e),t.set(e,i)),i}}class f4{constructor(e){this.id=h4++,this.code=e,this.usedTimes=0}}function p4(n,e,t,i,r,s,o){const a=new xl,l=new d4,A=new Set,h=[],d=r.isWebGL2,f=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=r.precision;const C={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 I(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,b,j,de,Y){const ae=de.fog,re=Y.geometry,fe=_.isMeshStandardMaterial?de.environment:null,k=(_.isMeshStandardMaterial?t:e).get(_.envMap||fe),$=k&&k.mapping===_u?k.image.height:null,ne=C[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=re.morphAttributes.position||re.morphAttributes.normal||re.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;re.morphAttributes.position!==void 0&&(ke=1),re.morphAttributes.normal!==void 0&&(ke=2),re.morphAttributes.color!==void 0&&(ke=3);let V,G,O,P;if(ne){const nn=jr[ne];V=nn.vertexShader,G=nn.fragmentShader}else V=_.vertexShader,G=_.fragmentShader,l.update(_),O=l.getVertexShaderID(_),P=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=Y.isInstancedMesh===!0,pe=Y.isBatchedMesh===!0,Se=!!_.map,H=!!_.matcap,me=!!k,te=!!_.aoMap,ue=!!_.lightMap,le=!!_.bumpMap,De=!!_.normalMap,q=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,Le=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,je=Le&&!!_.anisotropyMap,lt=Te&&!!_.clearcoatMap,mt=Te&&!!_.clearcoatNormalMap,be=Te&&!!_.clearcoatRoughnessMap,Pt=Re&&!!_.iridescenceMap,Mt=Re&&!!_.iridescenceThicknessMap,gt=Je&&!!_.sheenColorMap,at=Je&&!!_.sheenRoughnessMap,tt=!!_.specularMap,vt=!!_.specularColorMap,Vt=!!_.specularIntensityMap,Gt=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Ot=!!_.gradientMap,K=!!_.alphaMap,Ge=_.alphaTest>0,ze=!!_.alphaHash,rt=!!_.extensions;let ft=_s;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(ft=n.toneMapping);const Kt={isWebGL2:d,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:V,fragmentShader:G,defines:_.defines,customVertexShaderID:O,customFragmentShaderID:P,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&Y.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Qs,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:H,envMap:me,envMapMode:me&&k.mapping,envMapCubeUVHeight:$,aoMap:te,lightMap:ue,bumpMap:le,normalMap:De,displacementMap:g&&q,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===z2,normalMapTangentSpace:De&&_.normalMapType===xa,metalnessMap:T,roughnessMap:ie,anisotropy:Le,anisotropyMap:je,clearcoat:Te,clearcoatMap:lt,clearcoatNormalMap:mt,clearcoatRoughnessMap:be,iridescence:Re,iridescenceMap:Pt,iridescenceThicknessMap:Mt,sheen:Je,sheenColorMap:gt,sheenRoughnessMap:at,specularMap:tt,specularColorMap:vt,specularIntensityMap:Vt,transmission:Ve,transmissionMap:Gt,thicknessMap:Tt,gradientMap:Ot,opaque:_.transparent===!1&&_.blending===Cl&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:Ge,alphaHash:ze,combine:_.combine,mapUv:Se&&I(_.map.channel),aoMapUv:te&&I(_.aoMap.channel),lightMapUv:ue&&I(_.lightMap.channel),bumpMapUv:le&&I(_.bumpMap.channel),normalMapUv:De&&I(_.normalMap.channel),displacementMapUv:q&&I(_.displacementMap.channel),emissiveMapUv:w&&I(_.emissiveMap.channel),metalnessMapUv:T&&I(_.metalnessMap.channel),roughnessMapUv:ie&&I(_.roughnessMap.channel),anisotropyMapUv:je&&I(_.anisotropyMap.channel),clearcoatMapUv:lt&&I(_.clearcoatMap.channel),clearcoatNormalMapUv:mt&&I(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:be&&I(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Pt&&I(_.iridescenceMap.channel),iridescenceThicknessMapUv:Mt&&I(_.iridescenceThicknessMap.channel),sheenColorMapUv:gt&&I(_.sheenColorMap.channel),sheenRoughnessMapUv:at&&I(_.sheenRoughnessMap.channel),specularMapUv:tt&&I(_.specularMap.channel),specularColorMapUv:vt&&I(_.specularColorMap.channel),specularIntensityMapUv:Vt&&I(_.specularIntensityMap.channel),transmissionMapUv:Gt&&I(_.transmissionMap.channel),thicknessMapUv:Tt&&I(_.thicknessMap.channel),alphaMapUv:K&&I(_.alphaMap.channel),vertexTangents:!!re.attributes.tangent&&(De||Le),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!re.attributes.color&&re.attributes.color.itemSize===4,pointsUvs:Y.isPoints===!0&&!!re.attributes.uv&&(Se||K),fog:!!ae,useFog:_.fog===!0,fogExp2:!!ae&&ae.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:Y.isSkinnedMesh===!0,morphTargets:re.morphAttributes.position!==void 0,morphNormals:re.morphAttributes.normal!==void 0,morphColors:re.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:b.directional.length,numPointLights:b.point.length,numSpotLights:b.spot.length,numSpotLightMaps:b.spotLightMap.length,numRectAreaLights:b.rectArea.length,numHemiLights:b.hemi.length,numDirLightShadows:b.directionalShadowMap.length,numPointLightShadows:b.pointShadowMap.length,numSpotLightShadows:b.spotShadowMap.length,numSpotLightShadowsWithMaps:b.numSpotLightShadowsWithMaps,numLightProbes:b.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&j.length>0,shadowMapType:n.shadowMap.type,toneMapping:ft,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&cn.getTransfer(_.map.colorSpace)===fn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===Cs,flipSided:_.side===Hi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:rt&&_.extensions.derivatives===!0,extensionFragDepth:rt&&_.extensions.fragDepth===!0,extensionDrawBuffers:rt&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:rt&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:rt&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:rt&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:d||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Kt.vertexUv1s=A.has(1),Kt.vertexUv2s=A.has(2),Kt.vertexUv3s=A.has(3),A.clear(),Kt}function y(_){const b=[];if(_.shaderID?b.push(_.shaderID):(b.push(_.customVertexShaderID),b.push(_.customFragmentShaderID)),_.defines!==void 0)for(const j in _.defines)b.push(j),b.push(_.defines[j]);return _.isRawShaderMaterial===!1&&(v(b,_),S(b,_),b.push(n.outputColorSpace)),b.push(_.customProgramCacheKey),b.join()}function v(_,b){_.push(b.precision),_.push(b.outputColorSpace),_.push(b.envMapMode),_.push(b.envMapCubeUVHeight),_.push(b.mapUv),_.push(b.alphaMapUv),_.push(b.lightMapUv),_.push(b.aoMapUv),_.push(b.bumpMapUv),_.push(b.normalMapUv),_.push(b.displacementMapUv),_.push(b.emissiveMapUv),_.push(b.metalnessMapUv),_.push(b.roughnessMapUv),_.push(b.anisotropyMapUv),_.push(b.clearcoatMapUv),_.push(b.clearcoatNormalMapUv),_.push(b.clearcoatRoughnessMapUv),_.push(b.iridescenceMapUv),_.push(b.iridescenceThicknessMapUv),_.push(b.sheenColorMapUv),_.push(b.sheenRoughnessMapUv),_.push(b.specularMapUv),_.push(b.specularColorMapUv),_.push(b.specularIntensityMapUv),_.push(b.transmissionMapUv),_.push(b.thicknessMapUv),_.push(b.combine),_.push(b.fogExp2),_.push(b.sizeAttenuation),_.push(b.morphTargetsCount),_.push(b.morphAttributeCount),_.push(b.numDirLights),_.push(b.numPointLights),_.push(b.numSpotLights),_.push(b.numSpotLightMaps),_.push(b.numHemiLights),_.push(b.numRectAreaLights),_.push(b.numDirLightShadows),_.push(b.numPointLightShadows),_.push(b.numSpotLightShadows),_.push(b.numSpotLightShadowsWithMaps),_.push(b.numLightProbes),_.push(b.shadowMapType),_.push(b.toneMapping),_.push(b.numClippingPlanes),_.push(b.numClipIntersection),_.push(b.depthPacking)}function S(_,b){a.disableAll(),b.isWebGL2&&a.enable(0),b.supportsVertexTextures&&a.enable(1),b.instancing&&a.enable(2),b.instancingColor&&a.enable(3),b.matcap&&a.enable(4),b.envMap&&a.enable(5),b.normalMapObjectSpace&&a.enable(6),b.normalMapTangentSpace&&a.enable(7),b.clearcoat&&a.enable(8),b.iridescence&&a.enable(9),b.alphaTest&&a.enable(10),b.vertexColors&&a.enable(11),b.vertexAlphas&&a.enable(12),b.vertexUv1s&&a.enable(13),b.vertexUv2s&&a.enable(14),b.vertexUv3s&&a.enable(15),b.vertexTangents&&a.enable(16),b.anisotropy&&a.enable(17),b.alphaHash&&a.enable(18),b.batching&&a.enable(19),_.push(a.mask),a.disableAll(),b.fog&&a.enable(0),b.useFog&&a.enable(1),b.flatShading&&a.enable(2),b.logarithmicDepthBuffer&&a.enable(3),b.skinning&&a.enable(4),b.morphTargets&&a.enable(5),b.morphNormals&&a.enable(6),b.morphColors&&a.enable(7),b.premultipliedAlpha&&a.enable(8),b.shadowMapEnabled&&a.enable(9),b.useLegacyLights&&a.enable(10),b.doubleSided&&a.enable(11),b.flipSided&&a.enable(12),b.useDepthPacking&&a.enable(13),b.dithering&&a.enable(14),b.transmission&&a.enable(15),b.sheen&&a.enable(16),b.opaque&&a.enable(17),b.pointsUvs&&a.enable(18),b.decodeVideoTexture&&a.enable(19),b.alphaToCoverage&&a.enable(20),_.push(a.mask)}function R(_){const b=C[_.type];let j;if(b){const de=jr[b];j=nR.clone(de.uniforms)}else j=_.uniforms;return j}function Q(_,b){let j;for(let de=0,Y=h.length;de0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(d,f,g,E,C,I){const p=o(d,f,g,E,C,I);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(d,f){t.length>1&&t.sort(d||m4),i.length>1&&i.sort(f||HS),r.length>1&&r.sort(f||HS)}function h(){for(let d=e,f=n.length;d=s.length?(o=new GS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function I4(){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 F,color:new qe};break;case"SpotLight":t={position:new F,direction:new F,color:new qe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new F,color:new qe,distance:0,decay:0};break;case"HemisphereLight":t={direction:new F,skyColor:new qe,groundColor:new qe};break;case"RectAreaLight":t={color:new qe,position:new F,halfWidth:new F,halfHeight:new F};break}return n[e.id]=t,t}}}function y4(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let C4=0;function v4(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function B4(n,e){const t=new I4,i=y4(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new F);const s=new F,o=new ct,a=new ct;function l(h,d){let f=0,g=0,E=0;for(let j=0;j<9;j++)r.probe[j].set(0,0,0);let C=0,I=0,p=0,y=0,v=0,S=0,R=0,Q=0,D=0,U=0,J=0;h.sort(v4);const _=d===!0?Math.PI:1;for(let j=0,de=h.length;j0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=g,r.ambient[2]=E;const b=r.hash;(b.directionalLength!==C||b.pointLength!==I||b.spotLength!==p||b.rectAreaLength!==y||b.hemiLength!==v||b.numDirectionalShadows!==S||b.numPointShadows!==R||b.numSpotShadows!==Q||b.numSpotMaps!==D||b.numLightProbes!==J)&&(r.directional.length=C,r.spot.length=p,r.rectArea.length=y,r.point.length=I,r.hemi.length=v,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=R,r.pointShadowMap.length=R,r.spotShadow.length=Q,r.spotShadowMap.length=Q,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=R,r.spotLightMatrix.length=Q+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=J,b.directionalLength=C,b.pointLength=I,b.spotLength=p,b.rectAreaLength=y,b.hemiLength=v,b.numDirectionalShadows=S,b.numPointShadows=R,b.numSpotShadows=Q,b.numSpotMaps=D,b.numLightProbes=J,r.version=C4++)}function A(h,d){let f=0,g=0,E=0,C=0,I=0;const p=d.matrixWorldInverse;for(let y=0,v=h.length;y=a.length?(l=new zS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Yg extends ii{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=G2,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 Jg extends ii{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 S4=`void main() { gl_Position = vec4( position, 1.0 ); -}`,S4=`uniform sampler2D shadow_pass; +}`,w4=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3776,12 +3776,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function w4(n,e,t){let i=new Yh;const r=new ve,s=new ve,o=new un,a=new Yg({depthPacking:Sv}),l=new Jg,A={},h=t.maxTextureSize,f={[Ur]:Hi,[Hi]:Ur,[Cs]:Cs},d=new ns({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:x4,fragmentShader:S4}),g=d.clone();g.defines.HORIZONTAL_PASS=1;const E=new bt;E.setAttribute("position",new an(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const y=new tn(E,d),I=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Fg;let p=this.type;this.render=function(R,D,U){if(I.enabled===!1||I.autoUpdate===!1&&I.needsUpdate===!1||R.length===0)return;const J=n.getRenderTarget(),_=n.getActiveCubeFace(),b=n.getActiveMipmapLevel(),j=n.state;j.setBlending(ao),j.buffers.color.setClear(1,1,1,1),j.buffers.depth.setTest(!0),j.setScissorTest(!1);const fe=p!==Xr&&this.type===Xr,Y=p===Xr&&this.type!==Xr;for(let le=0,se=R.length;leh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/Z.x),r.x=s.x*Z.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/Z.y),r.y=s.y*Z.y,k.mapSize.y=s.y)),k.map===null||fe===!0||Y===!0){const Ae=this.type!==Xr?{minFilter:Fn,magFilter:Fn}:{};k.map!==null&&k.map.dispose(),k.map=new kr(r.x,r.y,Ae),k.map.texture.name=de.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const ne=k.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const j=_.uuid,fe=D.uuid;let Y=A[j];Y===void 0&&(Y={},A[j]=Y);let le=Y[fe];le===void 0&&(le=_.clone(),Y[fe]=le,D.addEventListener("dispose",Q)),_=le}if(_.visible=D.visible,_.wireframe=D.wireframe,J===Xr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:f[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const j=n.properties.get(_);j.light=U}return _}function S(R,D,U,J,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===Xr)&&(!R.frustumCulled||i.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,R.matrixWorld);const fe=e.update(R),Y=R.material;if(Array.isArray(Y)){const le=fe.groups;for(let se=0,de=le.length;se=1):ne.indexOf("OpenGL ES")!==-1&&(Z=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),k=Z>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),V=n.getParameter(n.VIEWPORT),G=new un().fromArray(ke),O=new un().fromArray(V);function P(K,Ge,ze,it){const dt=new Uint8Array(4),Kt=n.createTexture();n.bindTexture(K,Kt),n.texParameteri(K,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(K,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let nn=0;nn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let f;const d=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):xh("canvas")}function y(w,T,ie,Le){let Te=1;if((w.width>Le||w.height>Le)&&(Te=Le/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?gg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);f===void 0&&(f=E(Je,Ve));const je=ie?E(Je,Ve):f;return je.width=Je,je.height=Ve,je.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),je}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function I(w){return qy(w.width)&&qy(w.height)}function p(w){return a?!1:w.wrapS!==Qi||w.wrapT!==Qi||w.minFilter!==Fn&&w.minFilter!==yn}function C(w,T){return w.generateMipmaps&&T&&w.minFilter!==Fn&&w.minFilter!==yn}function v(w){n.generateMipmap(w)}function S(w,T,ie,Le,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?Ih:cn.getTransfer(Le);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Je===dn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function Q(w,T,ie){return C(w,ie)===!0||w.isFramebufferTexture&&w.minFilter!==Fn&&w.minFilter!==yn?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function R(w){return w===Fn||w===dg||w===ll?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),J(T),T.isVideoTexture&&h.delete(T)}function U(w){const T=w.target;T.removeEventListener("dispose",U),b(T)}function J(w){const T=i.get(w);if(T.__webglInit===void 0)return;const ie=w.source,Le=d.get(ie);if(Le){const Te=Le[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(Le).length===0&&d.delete(ie)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const ie=w.source,Le=d.get(ie);delete Le[T.__cacheKey],o.memory.textures--}function b(w){const T=w.texture,ie=i.get(w),Le=i.get(T);if(Le.__webglTexture!==void 0&&(n.deleteTexture(Le.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),j+=1,w}function le(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function se(w,T){const ie=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&ie.__version!==w.version){const Le=w.image;if(Le===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Le.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{G(ie,w,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function de(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function k(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function Z(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){O(ie,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[dh]:n.REPEAT,[Qi]:n.CLAMP_TO_EDGE,[ph]:n.MIRRORED_REPEAT},Ae={[Fn]:n.NEAREST,[dg]:n.NEAREST_MIPMAP_NEAREST,[ll]:n.NEAREST_MIPMAP_LINEAR,[yn]:n.LINEAR,[zA]:n.LINEAR_MIPMAP_NEAREST,[vs]:n.LINEAR_MIPMAP_LINEAR},_e={[z2]:n.NEVER,[K2]:n.ALWAYS,[V2]:n.LESS,[wv]:n.LEQUAL,[W2]:n.EQUAL,[X2]:n.GEQUAL,[Y2]:n.GREATER,[J2]:n.NOTEQUAL};function ke(w,T,ie){if(T.type===Dr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===yn||T.magFilter===zA||T.magFilter===ll||T.magFilter===vs||T.minFilter===yn||T.minFilter===zA||T.minFilter===ll||T.minFilter===vs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(w,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ne[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Qi||T.wrapT!==Qi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,R(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==Fn&&T.minFilter!==yn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Le=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===Fn||T.minFilter!==ll&&T.minFilter!==vs||T.type===Dr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ll&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,Le.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function V(w,T){let ie=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const Le=T.source;let Te=d.get(Le);Te===void 0&&(Te={},d.set(Le,Te));const Re=le(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return ie}function G(w,T,ie){let Le=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(Le=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(Le=n.TEXTURE_3D);const Te=V(w,T),Re=T.source;t.bindTexture(Le,w.__webglTexture,n.TEXTURE0+ie);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=cn.getPrimaries(cn.workingColorSpace),je=T.colorSpace===cr?null:cn.getPrimaries(T.colorSpace),at=T.colorSpace===cr||Ve===je?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,at);const mt=p(T)&&I(T.image)===!1;let be=y(T.image,mt,!1,r.maxTextureSize);be=q(T,be);const Pt=I(be)||a,Mt=s.convert(T.format,T.colorSpace);let gt=s.convert(T.type),ot=S(T.internalFormat,Mt,gt,T.colorSpace,T.isVideoTexture);ke(Le,T,Pt);let et;const vt=T.mipmaps,Vt=a&&T.isVideoTexture!==!0&&ot!==vv,Ht=Je.__version===void 0||Te===!0,Tt=Re.dataReady,Ft=Q(T,be,Pt);if(T.isDepthTexture)ot=n.DEPTH_COMPONENT,a?T.type===Dr?ot=n.DEPTH_COMPONENT32F:T.type===io?ot=n.DEPTH_COMPONENT24:T.type===Aa?ot=n.DEPTH24_STENCIL8:ot=n.DEPTH_COMPONENT16:T.type===Dr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===ha&&ot===n.DEPTH_COMPONENT&&T.type!==Hg&&T.type!==io&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=io,gt=s.convert(T.type)),T.format===bl&&ot===n.DEPTH_COMPONENT&&(ot=n.DEPTH_STENCIL,T.type!==Aa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=Aa,gt=s.convert(T.type))),Ht&&(Vt?t.texStorage2D(n.TEXTURE_2D,1,ot,be.width,be.height):t.texImage2D(n.TEXTURE_2D,0,ot,be.width,be.height,0,Mt,gt,null));else if(T.isDataTexture)if(vt.length>0&&Pt){Vt&&Ht&&t.texStorage2D(n.TEXTURE_2D,Ft,ot,vt[0].width,vt[0].height);for(let K=0,Ge=vt.length;K>=1,Ge>>=1}}else if(vt.length>0&&Pt){Vt&&Ht&&t.texStorage2D(n.TEXTURE_2D,Ft,ot,vt[0].width,vt[0].height);for(let K=0,Ge=vt.length;K0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,et,be[0].width,be[0].height));for(let K=0;K<6;K++)if(mt){vt?Ht&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,be[K].width,be[K].height,gt,ot,be[K].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,et,be[K].width,be[K].height,0,gt,ot,be[K].data);for(let Ge=0;Ge>Re),be=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,je,mt,be,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,je,mt,be,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),ae(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Le,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Le,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let Le=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||ae(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Dr?Le=n.DEPTH_COMPONENT32F:Te.type===io&&(Le=n.DEPTH_COMPONENT24));const Re=ue(T);ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,Le,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,Le,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,Le,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const Le=ue(T);ie&&ae(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const Le=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let je=0;je0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&ae(w)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let je=0;je0)for(let je=0;je0)for(let je=0;je0&&ae(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],ie=w.width,Le=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),je=w.isWebGLMultipleRenderTargets===!0;if(je)for(let at=0;at0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function q(w,T){const ie=w.colorSpace,Le=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===pg||ie!==Qs&&ie!==cr&&(cn.getTransfer(ie)===dn?a===!1?e.has("EXT_sRGB")===!0&&Le===ki?(w.format=pg,w.minFilter=yn,w.generateMipmaps=!1):T=Mv.sRGBToLinear(T):(Le!==ki||Te!==Ms)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=Y,this.resetTextureUnits=fe,this.setTexture2D=se,this.setTexture2DArray=de,this.setTexture3D=k,this.setTextureCube=Z,this.rebindTextures=Se,this.setupRenderTarget=H,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=P,this.useMultisampledRTT=ae}function uR(n,e,t){const i=t.isWebGL2;function r(s,o=cr){let a;const l=cn.getTransfer(o);if(s===Ms)return n.UNSIGNED_BYTE;if(s===mv)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Ev)return n.UNSIGNED_SHORT_5_5_5_1;if(s===R2)return n.BYTE;if(s===D2)return n.SHORT;if(s===Hg)return n.UNSIGNED_SHORT;if(s===gv)return n.INT;if(s===io)return n.UNSIGNED_INT;if(s===Dr)return n.FLOAT;if(s===Ll)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===T2)return n.ALPHA;if(s===ki)return n.RGBA;if(s===L2)return n.LUMINANCE;if(s===b2)return n.LUMINANCE_ALPHA;if(s===ha)return n.DEPTH_COMPONENT;if(s===bl)return n.DEPTH_STENCIL;if(s===pg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===P2)return n.RED;if(s===Iv)return n.RED_INTEGER;if(s===N2)return n.RG;if(s===yv)return n.RG_INTEGER;if(s===Cv)return n.RGBA_INTEGER;if(s===Tp||s===Lp||s===bp||s===Pp)if(l===dn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Tp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Lp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===bp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Pp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Tp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Lp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===bp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Pp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===By||s===xy||s===Sy||s===wy)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===By)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===xy)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Sy)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===wy)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===vv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===_y||s===My)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===_y)return l===dn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===My)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Qy||s===Ry||s===Dy||s===Ty||s===Ly||s===by||s===Py||s===Ny||s===Uy||s===ky||s===Fy||s===Oy||s===Hy||s===Gy)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Qy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Ry)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Dy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Ty)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===Ly)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===by)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Py)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Ny)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Uy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===ky)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Fy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Oy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===Hy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===Gy)return l===dn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Np||s===zy||s===Vy)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Np)return l===dn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===zy)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===Vy)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===U2||s===Wy||s===Yy||s===Jy)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Np)return a.COMPRESSED_RED_RGTC1_EXT;if(s===Wy)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===Yy)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===Jy)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Aa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class AR extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class ro extends zt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Q4={type:"move"};class _E{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ro,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 ro,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 ro,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(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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const y of e.hand.values()){const I=t.getJointPose(y,i),p=this._getHandJoint(A,y);I!==null&&(p.matrix.fromArray(I.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=I.radius),p.visible=I!==null}const h=A.joints["index-finger-tip"],f=A.joints["thumb-tip"],d=h.position.distanceTo(f.position),g=.02,E=.005;A.inputState.pinching&&d>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&d<=g-E&&(A.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(Q4)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new ro;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const R4=` +}`;function _4(n,e,t){let i=new Yh;const r=new ve,s=new ve,o=new un,a=new Yg({depthPacking:Sv}),l=new Jg,A={},h=t.maxTextureSize,d={[Ur]:Hi,[Hi]:Ur,[Cs]:Cs},f=new ns({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:S4,fragmentShader:w4}),g=f.clone();g.defines.HORIZONTAL_PASS=1;const E=new bt;E.setAttribute("position",new an(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const C=new Zt(E,f),I=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Fg;let p=this.type;this.render=function(Q,D,U){if(I.enabled===!1||I.autoUpdate===!1&&I.needsUpdate===!1||Q.length===0)return;const J=n.getRenderTarget(),_=n.getActiveCubeFace(),b=n.getActiveMipmapLevel(),j=n.state;j.setBlending(ao),j.buffers.color.setClear(1,1,1,1),j.buffers.depth.setTest(!0),j.setScissorTest(!1);const de=p!==Xr&&this.type===Xr,Y=p===Xr&&this.type!==Xr;for(let ae=0,re=Q.length;aeh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/$.x),r.x=s.x*$.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/$.y),r.y=s.y*$.y,k.mapSize.y=s.y)),k.map===null||de===!0||Y===!0){const Ae=this.type!==Xr?{minFilter:Fn,magFilter:Fn}:{};k.map!==null&&k.map.dispose(),k.map=new kr(r.x,r.y,Ae),k.map.texture.name=fe.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const ne=k.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const j=_.uuid,de=D.uuid;let Y=A[j];Y===void 0&&(Y={},A[j]=Y);let ae=Y[de];ae===void 0&&(ae=_.clone(),Y[de]=ae,D.addEventListener("dispose",R)),_=ae}if(_.visible=D.visible,_.wireframe=D.wireframe,J===Xr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:d[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const j=n.properties.get(_);j.light=U}return _}function S(Q,D,U,J,_){if(Q.visible===!1)return;if(Q.layers.test(D.layers)&&(Q.isMesh||Q.isLine||Q.isPoints)&&(Q.castShadow||Q.receiveShadow&&_===Xr)&&(!Q.frustumCulled||i.intersectsObject(Q))){Q.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,Q.matrixWorld);const de=e.update(Q),Y=Q.material;if(Array.isArray(Y)){const ae=de.groups;for(let re=0,fe=ae.length;re=1):ne.indexOf("OpenGL ES")!==-1&&($=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),k=$>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),V=n.getParameter(n.VIEWPORT),G=new un().fromArray(ke),O=new un().fromArray(V);function P(K,Ge,ze,rt){const ft=new Uint8Array(4),Kt=n.createTexture();n.bindTexture(K,Kt),n.texParameteri(K,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(K,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let nn=0;nn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let d;const f=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):xh("canvas")}function C(w,T,ie,Le){let Te=1;if((w.width>Le||w.height>Le)&&(Te=Le/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?gg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);d===void 0&&(d=E(Je,Ve));const je=ie?E(Je,Ve):d;return je.width=Je,je.height=Ve,je.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),je}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function I(w){return qy(w.width)&&qy(w.height)}function p(w){return a?!1:w.wrapS!==Qi||w.wrapT!==Qi||w.minFilter!==Fn&&w.minFilter!==yn}function y(w,T){return w.generateMipmaps&&T&&w.minFilter!==Fn&&w.minFilter!==yn}function v(w){n.generateMipmap(w)}function S(w,T,ie,Le,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?Ih:cn.getTransfer(Le);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Je===fn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function R(w,T,ie){return y(w,ie)===!0||w.isFramebufferTexture&&w.minFilter!==Fn&&w.minFilter!==yn?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function Q(w){return w===Fn||w===fg||w===ll?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),J(T),T.isVideoTexture&&h.delete(T)}function U(w){const T=w.target;T.removeEventListener("dispose",U),b(T)}function J(w){const T=i.get(w);if(T.__webglInit===void 0)return;const ie=w.source,Le=f.get(ie);if(Le){const Te=Le[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(Le).length===0&&f.delete(ie)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const ie=w.source,Le=f.get(ie);delete Le[T.__cacheKey],o.memory.textures--}function b(w){const T=w.texture,ie=i.get(w),Le=i.get(T);if(Le.__webglTexture!==void 0&&(n.deleteTexture(Le.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),j+=1,w}function ae(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function re(w,T){const ie=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&ie.__version!==w.version){const Le=w.image;if(Le===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Le.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{G(ie,w,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function fe(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function k(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){G(ie,w,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function $(w,T){const ie=i.get(w);if(w.version>0&&ie.__version!==w.version){O(ie,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[fh]:n.REPEAT,[Qi]:n.CLAMP_TO_EDGE,[ph]:n.MIRRORED_REPEAT},Ae={[Fn]:n.NEAREST,[fg]:n.NEAREST_MIPMAP_NEAREST,[ll]:n.NEAREST_MIPMAP_LINEAR,[yn]:n.LINEAR,[zA]:n.LINEAR_MIPMAP_NEAREST,[vs]:n.LINEAR_MIPMAP_LINEAR},_e={[V2]:n.NEVER,[q2]:n.ALWAYS,[W2]:n.LESS,[wv]:n.LEQUAL,[Y2]:n.EQUAL,[K2]:n.GEQUAL,[J2]:n.GREATER,[X2]:n.NOTEQUAL};function ke(w,T,ie){if(T.type===Dr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===yn||T.magFilter===zA||T.magFilter===ll||T.magFilter===vs||T.minFilter===yn||T.minFilter===zA||T.minFilter===ll||T.minFilter===vs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(w,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ne[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Qi||T.wrapT!==Qi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Q(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Q(T.minFilter)),T.minFilter!==Fn&&T.minFilter!==yn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Le=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===Fn||T.minFilter!==ll&&T.minFilter!==vs||T.type===Dr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ll&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,Le.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function V(w,T){let ie=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const Le=T.source;let Te=f.get(Le);Te===void 0&&(Te={},f.set(Le,Te));const Re=ae(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return ie}function G(w,T,ie){let Le=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(Le=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(Le=n.TEXTURE_3D);const Te=V(w,T),Re=T.source;t.bindTexture(Le,w.__webglTexture,n.TEXTURE0+ie);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=cn.getPrimaries(cn.workingColorSpace),je=T.colorSpace===cr?null:cn.getPrimaries(T.colorSpace),lt=T.colorSpace===cr||Ve===je?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,lt);const mt=p(T)&&I(T.image)===!1;let be=C(T.image,mt,!1,r.maxTextureSize);be=q(T,be);const Pt=I(be)||a,Mt=s.convert(T.format,T.colorSpace);let gt=s.convert(T.type),at=S(T.internalFormat,Mt,gt,T.colorSpace,T.isVideoTexture);ke(Le,T,Pt);let tt;const vt=T.mipmaps,Vt=a&&T.isVideoTexture!==!0&&at!==vv,Gt=Je.__version===void 0||Te===!0,Tt=Re.dataReady,Ot=R(T,be,Pt);if(T.isDepthTexture)at=n.DEPTH_COMPONENT,a?T.type===Dr?at=n.DEPTH_COMPONENT32F:T.type===io?at=n.DEPTH_COMPONENT24:T.type===Aa?at=n.DEPTH24_STENCIL8:at=n.DEPTH_COMPONENT16:T.type===Dr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===ha&&at===n.DEPTH_COMPONENT&&T.type!==Hg&&T.type!==io&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=io,gt=s.convert(T.type)),T.format===bl&&at===n.DEPTH_COMPONENT&&(at=n.DEPTH_STENCIL,T.type!==Aa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=Aa,gt=s.convert(T.type))),Gt&&(Vt?t.texStorage2D(n.TEXTURE_2D,1,at,be.width,be.height):t.texImage2D(n.TEXTURE_2D,0,at,be.width,be.height,0,Mt,gt,null));else if(T.isDataTexture)if(vt.length>0&&Pt){Vt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ot,at,vt[0].width,vt[0].height);for(let K=0,Ge=vt.length;K>=1,Ge>>=1}}else if(vt.length>0&&Pt){Vt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ot,at,vt[0].width,vt[0].height);for(let K=0,Ge=vt.length;K0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,tt,be[0].width,be[0].height));for(let K=0;K<6;K++)if(mt){vt?Gt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,be[K].width,be[K].height,gt,at,be[K].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,tt,be[K].width,be[K].height,0,gt,at,be[K].data);for(let Ge=0;Ge>Re),be=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,je,mt,be,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,je,mt,be,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),le(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Le,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Le,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let Le=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||le(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Dr?Le=n.DEPTH_COMPONENT32F:Te.type===io&&(Le=n.DEPTH_COMPONENT24));const Re=ue(T);le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,Le,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,Le,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,Le,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const Le=ue(T);ie&&le(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const Le=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let je=0;je0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&le(w)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let je=0;je0)for(let je=0;je0)for(let je=0;je0&&le(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],ie=w.width,Le=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),je=w.isWebGLMultipleRenderTargets===!0;if(je)for(let lt=0;lt0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function q(w,T){const ie=w.colorSpace,Le=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===pg||ie!==Qs&&ie!==cr&&(cn.getTransfer(ie)===fn?a===!1?e.has("EXT_sRGB")===!0&&Le===ki?(w.format=pg,w.minFilter=yn,w.generateMipmaps=!1):T=Mv.sRGBToLinear(T):(Le!==ki||Te!==Ms)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=Y,this.resetTextureUnits=de,this.setTexture2D=re,this.setTexture2DArray=fe,this.setTexture3D=k,this.setTextureCube=$,this.rebindTextures=Se,this.setupRenderTarget=H,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=P,this.useMultisampledRTT=le}function AR(n,e,t){const i=t.isWebGL2;function r(s,o=cr){let a;const l=cn.getTransfer(o);if(s===Ms)return n.UNSIGNED_BYTE;if(s===mv)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Ev)return n.UNSIGNED_SHORT_5_5_5_1;if(s===D2)return n.BYTE;if(s===T2)return n.SHORT;if(s===Hg)return n.UNSIGNED_SHORT;if(s===gv)return n.INT;if(s===io)return n.UNSIGNED_INT;if(s===Dr)return n.FLOAT;if(s===Ll)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===L2)return n.ALPHA;if(s===ki)return n.RGBA;if(s===b2)return n.LUMINANCE;if(s===P2)return n.LUMINANCE_ALPHA;if(s===ha)return n.DEPTH_COMPONENT;if(s===bl)return n.DEPTH_STENCIL;if(s===pg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===N2)return n.RED;if(s===Iv)return n.RED_INTEGER;if(s===U2)return n.RG;if(s===yv)return n.RG_INTEGER;if(s===Cv)return n.RGBA_INTEGER;if(s===Tp||s===Lp||s===bp||s===Pp)if(l===fn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Tp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Lp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===bp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Pp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Tp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Lp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===bp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Pp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===By||s===xy||s===Sy||s===wy)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===By)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===xy)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===Sy)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===wy)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===vv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===_y||s===My)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===_y)return l===fn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===My)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===Qy||s===Ry||s===Dy||s===Ty||s===Ly||s===by||s===Py||s===Ny||s===Uy||s===ky||s===Fy||s===Oy||s===Hy||s===Gy)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===Qy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===Ry)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===Dy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===Ty)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===Ly)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===by)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===Py)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===Ny)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===Uy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===ky)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===Fy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===Oy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===Hy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===Gy)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Np||s===zy||s===Vy)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Np)return l===fn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===zy)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===Vy)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===k2||s===Wy||s===Yy||s===Jy)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Np)return a.COMPRESSED_RED_RGTC1_EXT;if(s===Wy)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===Yy)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===Jy)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Aa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class hR extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class ro extends zt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const R4={type:"move"};class _E{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ro,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 ro,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 ro,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(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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const C of e.hand.values()){const I=t.getJointPose(C,i),p=this._getHandJoint(A,C);I!==null&&(p.matrix.fromArray(I.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=I.radius),p.visible=I!==null}const h=A.joints["index-finger-tip"],d=A.joints["thumb-tip"],f=h.position.distanceTo(d.position),g=.02,E=.005;A.inputState.pinching&&f>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&f<=g-E&&(A.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(R4)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new ro;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const D4=` void main() { gl_Position = vec4( position, 1.0 ); -}`,D4=` +}`,T4=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3800,7 +3800,7 @@ void main() { } -}`;class T4{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new xn,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new ns({extensions:{fragDepth:!0},vertexShader:R4,fragmentShader:D4,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new tn(new wa(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class L4 extends po{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,A=null,h=null,f=null,d=null,g=null,E=null;const y=new T4,I=t.getContextAttributes();let p=null,C=null;const v=[],S=[],Q=new ve;let R=null;const D=new qn;D.layers.enable(1),D.viewport=new un;const U=new qn;U.layers.enable(2),U.viewport=new un;const J=[D,U],_=new AR;_.layers.enable(1),_.layers.enable(2);let b=null,j=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(V){let G=v[V];return G===void 0&&(G=new _E,v[V]=G),G.getTargetRaySpace()},this.getControllerGrip=function(V){let G=v[V];return G===void 0&&(G=new _E,v[V]=G),G.getGripSpace()},this.getHand=function(V){let G=v[V];return G===void 0&&(G=new _E,v[V]=G),G.getHandSpace()};function fe(V){const G=S.indexOf(V.inputSource);if(G===-1)return;const O=v[G];O!==void 0&&(O.update(V.inputSource,V.frame,A||o),O.dispatchEvent({type:V.type,data:V.inputSource}))}function Y(){r.removeEventListener("select",fe),r.removeEventListener("selectstart",fe),r.removeEventListener("selectend",fe),r.removeEventListener("squeeze",fe),r.removeEventListener("squeezestart",fe),r.removeEventListener("squeezeend",fe),r.removeEventListener("end",Y),r.removeEventListener("inputsourceschange",le);for(let V=0;V=0&&(S[P]=null,v[P].disconnect(O))}for(let G=0;G=S.length){S.push(O),P=Be;break}else if(S[Be]===null){S[Be]=O,P=Be;break}if(P===-1)break}const Ee=v[P];Ee&&Ee.connect(O)}}const se=new F,de=new F;function k(V,G,O){se.setFromMatrixPosition(G.matrixWorld),de.setFromMatrixPosition(O.matrixWorld);const P=se.distanceTo(de),Ee=G.projectionMatrix.elements,Be=O.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),H=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],ae=pe*te,De=pe*ue,q=P/(-te+ue),w=q*-te;G.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(w),V.translateZ(q),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const T=pe+q,ie=Se+q,Le=ae-w,Te=De+(P-w),Re=H*Se/ie*T,Je=me*Se/ie*T;V.projectionMatrix.makePerspective(Le,Te,Re,Je,T,ie),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function Z(V,G){G===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(G.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(r===null)return;y.texture!==null&&(V.near=y.depthNear,V.far=y.depthFar),_.near=U.near=D.near=V.near,_.far=U.far=D.far=V.far,(b!==_.near||j!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),b=_.near,j=_.far,D.near=b,D.far=j,U.near=b,U.far=j,D.updateProjectionMatrix(),U.updateProjectionMatrix(),V.updateProjectionMatrix());const G=V.parent,O=_.cameras;Z(_,G);for(let P=0;P0&&(I.alphaTest.value=p.alphaTest);const C=e.get(p).envMap;if(C&&(I.envMap.value=C,I.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,I.reflectivity.value=p.reflectivity,I.ior.value=p.ior,I.refractionRatio.value=p.refractionRatio),p.lightMap){I.lightMap.value=p.lightMap;const v=n._useLegacyLights===!0?Math.PI:1;I.lightMapIntensity.value=p.lightMapIntensity*v,t(p.lightMap,I.lightMapTransform)}p.aoMap&&(I.aoMap.value=p.aoMap,I.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,I.aoMapTransform))}function o(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform))}function a(I,p){I.dashSize.value=p.dashSize,I.totalSize.value=p.dashSize+p.gapSize,I.scale.value=p.scale}function l(I,p,C,v){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.size.value=p.size*C,I.scale.value=v*.5,p.map&&(I.map.value=p.map,t(p.map,I.uvTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function A(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.rotation.value=p.rotation,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function h(I,p){I.specular.value.copy(p.specular),I.shininess.value=Math.max(p.shininess,1e-4)}function f(I,p){p.gradientMap&&(I.gradientMap.value=p.gradientMap)}function d(I,p){I.metalness.value=p.metalness,p.metalnessMap&&(I.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,I.metalnessMapTransform)),I.roughness.value=p.roughness,p.roughnessMap&&(I.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,I.roughnessMapTransform)),e.get(p).envMap&&(I.envMapIntensity.value=p.envMapIntensity)}function g(I,p,C){I.ior.value=p.ior,p.sheen>0&&(I.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),I.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(I.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,I.sheenColorMapTransform)),p.sheenRoughnessMap&&(I.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,I.sheenRoughnessMapTransform))),p.clearcoat>0&&(I.clearcoat.value=p.clearcoat,I.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(I.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,I.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(I.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,I.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(I.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,I.clearcoatNormalMapTransform),I.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Hi&&I.clearcoatNormalScale.value.negate())),p.iridescence>0&&(I.iridescence.value=p.iridescence,I.iridescenceIOR.value=p.iridescenceIOR,I.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],I.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(I.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,I.iridescenceMapTransform)),p.iridescenceThicknessMap&&(I.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,I.iridescenceThicknessMapTransform))),p.transmission>0&&(I.transmission.value=p.transmission,I.transmissionSamplerMap.value=C.texture,I.transmissionSamplerSize.value.set(C.width,C.height),p.transmissionMap&&(I.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,I.transmissionMapTransform)),I.thickness.value=p.thickness,p.thicknessMap&&(I.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,I.thicknessMapTransform)),I.attenuationDistance.value=p.attenuationDistance,I.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(I.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(I.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,I.anisotropyMapTransform))),I.specularIntensity.value=p.specularIntensity,I.specularColor.value.copy(p.specularColor),p.specularColorMap&&(I.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,I.specularColorMapTransform)),p.specularIntensityMap&&(I.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,I.specularIntensityMapTransform))}function E(I,p){p.matcap&&(I.matcap.value=p.matcap)}function y(I,p){const C=e.get(p).light;I.referencePosition.value.setFromMatrixPosition(C.matrixWorld),I.nearDistance.value=C.shadow.camera.near,I.farDistance.value=C.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function P4(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(C,v){const S=v.program;i.uniformBlockBinding(C,S)}function A(C,v){let S=r[C.id];S===void 0&&(E(C),S=h(C),r[C.id]=S,C.addEventListener("dispose",I));const Q=v.program;i.updateUBOMapping(C,Q);const R=e.render.frame;s[C.id]!==R&&(d(C),s[C.id]=R)}function h(C){const v=f();C.__bindingPointIndex=v;const S=n.createBuffer(),Q=C.__size,R=C.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,Q,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,v,S),S}function f(){for(let C=0;C0&&(S+=Q-R),C.__size=S,C.__cache={},this}function y(C){const v={boundary:0,storage:0};return typeof C=="number"||typeof C=="boolean"?(v.boundary=4,v.storage=4):C.isVector2?(v.boundary=8,v.storage=8):C.isVector3||C.isColor?(v.boundary=16,v.storage=12):C.isVector4?(v.boundary=16,v.storage=16):C.isMatrix3?(v.boundary=48,v.storage=48):C.isMatrix4?(v.boundary=64,v.storage=64):C.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",C),v}function I(C){const v=C.target;v.removeEventListener("dispose",I);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[v.id]),delete r[v.id],delete s[v.id]}function p(){for(const C in r)n.deleteBuffer(r[C]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class bv{constructor(e={}){const{canvas:t=j2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:f=!1}=e;this.isWebGLRenderer=!0;let d;i!==null?d=i.getContextAttributes().alpha:d=o;const g=new Uint32Array(4),E=new Int32Array(4);let y=null,I=null;const p=[],C=[];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=Pn,this._useLegacyLights=!1,this.toneMapping=_s,this.toneMappingExposure=1;const v=this;let S=!1,Q=0,R=0,D=null,U=-1,J=null;const _=new un,b=new un;let j=null;const fe=new qe(0);let Y=0,le=t.width,se=t.height,de=1,k=null,Z=null;const ne=new un(0,0,le,se),Ae=new un(0,0,le,se);let _e=!1;const ke=new Yh;let V=!1,G=!1,O=null;const P=new lt,Ee=new ve,Be=new F,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?de:1}let H=i;function me(z,ge){for(let Ce=0;Ce{function Xe(){if(we.forEach(function(ct){q.get(ct).currentProgram.isReady()&&we.delete(ct)}),we.size===0){ye(z);return}setTimeout(Xe,10)}te.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let nn=null;function sn(z){nn&&nn(z)}function Ai(){ln.stop()}function on(){ln.start()}const ln=new rR;ln.setAnimationLoop(sn),typeof self<"u"&&ln.setContext(self),this.setAnimationLoop=function(z){nn=z,Tt.setAnimationLoop(z),z===null?ln.stop():ln.start()},Tt.addEventListener("sessionstart",Ai),Tt.addEventListener("sessionend",on),this.render=function(z,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),z.isScene===!0&&z.onBeforeRender(v,z,ge,D),I=at.get(z,C.length),I.init(),C.push(I),P.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(P),G=this.localClippingEnabled,V=mt.init(this.clippingPlanes,G),y=je.get(z,p.length),y.init(),p.push(y),Di(z,ge,0,v.sortObjects),y.finish(),v.sortObjects===!0&&y.sort(k,Z),this.info.render.frame++,V===!0&&mt.beginShadows();const Ce=I.state.shadowsArray;if(be.render(Ce,z,ge),V===!0&&mt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Pt.render(y,z),I.setupLights(v._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let ye=0,Xe=we.length;ye0?I=C[C.length-1]:I=null,p.pop(),p.length>0?y=p[p.length-1]:y=null};function Di(z,ge,Ce,we){if(z.visible===!1)return;if(z.layers.test(ge.layers)){if(z.isGroup)Ce=z.renderOrder;else if(z.isLOD)z.autoUpdate===!0&&z.update(ge);else if(z.isLight)I.pushLight(z),z.castShadow&&I.pushShadow(z);else if(z.isSprite){if(!z.frustumCulled||ke.intersectsSprite(z)){we&&Be.setFromMatrixPosition(z.matrixWorld).applyMatrix4(P);const ct=Re.update(z),Et=z.material;Et.visible&&y.push(z,ct,Et,Ce,Be.z,null)}}else if((z.isMesh||z.isLine||z.isPoints)&&(!z.frustumCulled||ke.intersectsObject(z))){const ct=Re.update(z),Et=z.material;if(we&&(z.boundingSphere!==void 0?(z.boundingSphere===null&&z.computeBoundingSphere(),Be.copy(z.boundingSphere.center)):(ct.boundingSphere===null&&ct.computeBoundingSphere(),Be.copy(ct.boundingSphere.center)),Be.applyMatrix4(z.matrixWorld).applyMatrix4(P)),Array.isArray(Et)){const It=ct.groups;for(let _t=0,St=It.length;_t0&&Ps(ye,Xe,ge,Ce),we&&ae.viewport(_.copy(we)),ye.length>0&&os(ye,ge,Ce),Xe.length>0&&os(Xe,ge,Ce),ct.length>0&&os(ct,ge,Ce),ae.buffers.depth.setTest(!0),ae.buffers.depth.setMask(!0),ae.buffers.color.setMask(!0),ae.setPolygonOffset(!1)}function Ps(z,ge,Ce,we){if((Ce.isScene===!0?Ce.overrideMaterial:null)!==null)return;const Xe=ue.isWebGL2;O===null&&(O=new kr(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ll:Ms,minFilter:vs,samples:Xe?4:0})),v.getDrawingBufferSize(Ee),Xe?O.setSize(Ee.x,Ee.y):O.setSize(gg(Ee.x),gg(Ee.y));const ct=v.getRenderTarget();v.setRenderTarget(O),v.getClearColor(fe),Y=v.getClearAlpha(),Y<1&&v.setClearColor(16777215,.5),v.clear();const Et=v.toneMapping;v.toneMapping=_s,os(z,Ce,we),w.updateMultisampleRenderTarget(O),w.updateRenderTargetMipmap(O);let It=!1;for(let _t=0,St=ge.length;_t0),xt=!!Ce.morphAttributes.position,gn=!!Ce.morphAttributes.normal,Jn=!!Ce.morphAttributes.color;let hn=_s;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(hn=v.toneMapping);const Rn=Ce.morphAttributes.position||Ce.morphAttributes.normal||Ce.morphAttributes.color,ut=Rn!==void 0?Rn.length:0,$e=q.get(we),Ti=I.state.lights;if(V===!0&&(G===!0||z!==J)){const Ue=z===J&&we.id===U;mt.setState(we,z,Ue)}let L=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Ti.state.version||$e.outputColorSpace!==Et||ye.isBatchedMesh&&$e.batching===!1||!ye.isBatchedMesh&&$e.batching===!0||ye.isInstancedMesh&&$e.instancing===!1||!ye.isInstancedMesh&&$e.instancing===!0||ye.isSkinnedMesh&&$e.skinning===!1||!ye.isSkinnedMesh&&$e.skinning===!0||ye.isInstancedMesh&&$e.instancingColor===!0&&ye.instanceColor===null||ye.isInstancedMesh&&$e.instancingColor===!1&&ye.instanceColor!==null||$e.envMap!==It||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==mt.numPlanes||$e.numIntersection!==mt.numIntersection)||$e.vertexAlphas!==_t||$e.vertexTangents!==St||$e.morphTargets!==xt||$e.morphNormals!==gn||$e.morphColors!==Jn||$e.toneMapping!==hn||ue.isWebGL2===!0&&$e.morphTargetsCount!==ut)&&(L=!0):(L=!0,$e.__version=we.version);let N=$e.currentProgram;L===!0&&(N=as(we,ge,ye));let ee=!1,re=!1,he=!1;const xe=N.getUniforms(),Pe=$e.uniforms;if(ae.useProgram(N.program)&&(ee=!0,re=!0,he=!0),we.id!==U&&(U=we.id,re=!0),ee||J!==z){xe.setValue(H,"projectionMatrix",z.projectionMatrix),xe.setValue(H,"viewMatrix",z.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(H,Be.setFromMatrixPosition(z.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(H,"logDepthBufFC",2/(Math.log(z.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(H,"isOrthographic",z.isOrthographicCamera===!0),J!==z&&(J=z,re=!0,he=!0)}if(ye.isSkinnedMesh){xe.setOptional(H,ye,"bindMatrix"),xe.setOptional(H,ye,"bindMatrixInverse");const Ue=ye.skeleton;Ue&&(ue.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(H,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ye.isBatchedMesh&&(xe.setOptional(H,ye,"batchingTexture"),xe.setValue(H,"batchingTexture",ye._matricesTexture,w));const Ne=Ce.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Mt.update(ye,Ce,N),(re||$e.receiveShadow!==ye.receiveShadow)&&($e.receiveShadow=ye.receiveShadow,xe.setValue(H,"receiveShadow",ye.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Pe.envMap.value=It,Pe.flipEnvMap.value=It.isCubeTexture&&It.isRenderTargetTexture===!1?-1:1),re&&(xe.setValue(H,"toneMappingExposure",v.toneMappingExposure),$e.needsLights&&ku(Pe,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Pe,Xe),Ve.refreshMaterialUniforms(Pe,we,de,se,O),kp.upload(H,Jl($e),Pe,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(kp.upload(H,Jl($e),Pe,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(H,"center",ye.center),xe.setValue(H,"modelViewMatrix",ye.modelViewMatrix),xe.setValue(H,"normalMatrix",ye.normalMatrix),xe.setValue(H,"modelMatrix",ye.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(z)===!1?ye=q.get(z).__webglMultisampledFramebuffer:Array.isArray(St)?ye=St[Ce]:ye=St,_.copy(z.viewport),b.copy(z.scissor),j=z.scissorTest}else _.copy(ne).multiplyScalar(de).floor(),b.copy(Ae).multiplyScalar(de).floor(),j=_e;if(ae.bindFramebuffer(H.FRAMEBUFFER,ye)&&ue.drawBuffers&&we&&ae.drawBuffers(z,ye),ae.viewport(_),ae.scissor(b),ae.setScissorTest(j),Xe){const It=q.get(z.texture);H.framebufferTexture2D(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,H.TEXTURE_CUBE_MAP_POSITIVE_X+ge,It.__webglTexture,Ce)}else if(ct){const It=q.get(z.texture),_t=ge||0;H.framebufferTextureLayer(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,It.__webglTexture,Ce||0,_t)}U=-1},this.readRenderTargetPixels=function(z,ge,Ce,we,ye,Xe,ct){if(!(z&&z.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Et=q.get(z).__webglFramebuffer;if(z.isWebGLCubeRenderTarget&&ct!==void 0&&(Et=Et[ct]),Et){ae.bindFramebuffer(H.FRAMEBUFFER,Et);try{const It=z.texture,_t=It.format,St=It.type;if(_t!==ki&&et.convert(_t)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const xt=St===Ll&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(St!==Ms&&et.convert(St)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_TYPE)&&!(St===Dr&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!xt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=z.width-we&&Ce>=0&&Ce<=z.height-ye&&H.readPixels(ge,Ce,we,ye,et.convert(_t),et.convert(St),Xe)}finally{const It=D!==null?q.get(D).__webglFramebuffer:null;ae.bindFramebuffer(H.FRAMEBUFFER,It)}}},this.copyFramebufferToTexture=function(z,ge,Ce=0){const we=Math.pow(2,-Ce),ye=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),H.copyTexSubImage2D(H.TEXTURE_2D,Ce,0,0,z.x,z.y,ye,Xe),ae.unbindTexture()},this.copyTextureToTexture=function(z,ge,Ce,we=0){const ye=ge.image.width,Xe=ge.image.height,ct=et.convert(Ce.format),Et=et.convert(Ce.type);w.setTexture2D(Ce,0),H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,Ce.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ce.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,Ce.unpackAlignment),ge.isDataTexture?H.texSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ye,Xe,ct,Et,ge.image.data):ge.isCompressedTexture?H.compressedTexSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ge.mipmaps[0].width,ge.mipmaps[0].height,ct,ge.mipmaps[0].data):H.texSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ct,Et,ge.image),we===0&&Ce.generateMipmaps&&H.generateMipmap(H.TEXTURE_2D),ae.unbindTexture()},this.copyTextureToTexture3D=function(z,ge,Ce,we,ye=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=z.max.x-z.min.x+1,ct=z.max.y-z.min.y+1,Et=z.max.z-z.min.z+1,It=et.convert(we.format),_t=et.convert(we.type);let St;if(we.isData3DTexture)w.setTexture3D(we,0),St=H.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),St=H.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,we.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,we.unpackAlignment);const xt=H.getParameter(H.UNPACK_ROW_LENGTH),gn=H.getParameter(H.UNPACK_IMAGE_HEIGHT),Jn=H.getParameter(H.UNPACK_SKIP_PIXELS),hn=H.getParameter(H.UNPACK_SKIP_ROWS),Rn=H.getParameter(H.UNPACK_SKIP_IMAGES),ut=Ce.isCompressedTexture?Ce.mipmaps[ye]:Ce.image;H.pixelStorei(H.UNPACK_ROW_LENGTH,ut.width),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,ut.height),H.pixelStorei(H.UNPACK_SKIP_PIXELS,z.min.x),H.pixelStorei(H.UNPACK_SKIP_ROWS,z.min.y),H.pixelStorei(H.UNPACK_SKIP_IMAGES,z.min.z),Ce.isDataTexture||Ce.isData3DTexture?H.texSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ct,Et,It,_t,ut.data):Ce.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),H.compressedTexSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ct,Et,It,ut.data)):H.texSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ct,Et,It,_t,ut),H.pixelStorei(H.UNPACK_ROW_LENGTH,xt),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,gn),H.pixelStorei(H.UNPACK_SKIP_PIXELS,Jn),H.pixelStorei(H.UNPACK_SKIP_ROWS,hn),H.pixelStorei(H.UNPACK_SKIP_IMAGES,Rn),ye===0&&we.generateMipmaps&&H.generateMipmap(St),ae.unbindTexture()},this.initTexture=function(z){z.isCubeTexture?w.setTextureCube(z,0):z.isData3DTexture?w.setTexture3D(z,0):z.isDataArrayTexture||z.isCompressedArrayTexture?w.setTexture2DArray(z,0):w.setTexture2D(z,0),ae.unbindTexture()},this.resetState=function(){Q=0,R=0,D=null,ae.reset(),vt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Bs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===zg?"display-p3":"srgb",t.unpackColorSpace=cn.workingColorSpace===zh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Pn?fa:xv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===fa?Pn:Qs}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 hR extends bv{}hR.prototype.isWebGL1Renderer=!0;class Xg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new qe(e),this.density=t}clone(){return new Xg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Kg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new qe(e),this.near=t,this.far=i}clone(){return new Kg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Sh extends zt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class qg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=vh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=dr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Bl("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:gA.clone(),uv:ur.getInterpolation(gA,bd,EA,Pd,zS,ME,VS,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Nd(n,e,t,i,r,s){_c.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(mA.x=s*_c.x-r*_c.y,mA.y=r*_c.x+s*_c.y):mA.copy(_c),n.copy(e),n.x+=mA.x,n.y+=mA.y,n.applyMatrix4(fR)}const Ud=new F,WS=new F;class pR extends zt{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){Ud.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Ud);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Ud.setFromMatrixPosition(e.matrixWorld),WS.setFromMatrixPosition(this.matrixWorld);const i=Ud.distanceTo(WS)/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 Qc="batchId",Yo=new lt,ew=new lt,G4=new lt,tw=new lt,DE=new Yh,Od=new Zn,Ka=new Yn,CA=new F,TE=new H4,_i=new tn,Hd=[];function z4(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 an(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Qc,new an(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Qc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Qc}"`);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===Qc)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 Zn);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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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 f=this._visibility,d=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;f.push(!0),d.push(!0);const y=this._geometryCount;this._geometryCount++,G4.toArray(E,y*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new Zn,sphereInitialized:!1,sphere:new Yn});const I=this.geometry.getAttribute(Qc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Qc)continue;const E=t.getAttribute(g),y=i.getAttribute(g);z4(E,y,l);const I=E.itemSize;for(let p=E.count,C=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,f=A.start+A.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;_i.material=this.material,_i.geometry.index=l.index,_i.geometry.attributes=l.attributes,_i.geometry.boundingBox===null&&(_i.geometry.boundingBox=new Zn),_i.geometry.boundingSphere===null&&(_i.geometry.boundingSphere=new Yn);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,f=this._multiDrawCounts,d=this._drawRanges,g=this.perObjectFrustumCulled;g&&(tw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),DE.setFromProjectionMatrix(tw,e.coordinateSystem));let E=0;if(this.sortObjects){ew.copy(this.matrixWorld).invert(),CA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(ew);for(let p=0,C=A.length;pl)continue;d.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(d);Ue.far||t.push({distance:U,point:f.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),C=Math.min(I.count,o.start+o.count);for(let v=p,S=C-1;vl)continue;d.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(d);Re.far||t.push({distance:R,point:f.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class yR extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:yn,this.magFilter=s!==void 0?s:yn,this.generateMipmaps=!1;const h=this;function f(){h.needsUpdate=!0,e.requestVideoFrameCallback(f)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(f)}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 V4 extends xn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Fn,this.minFilter=Fn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Zg extends xn{constructor(e,t,i,r,s,o,a,l,A,h,f,d){super(null,o,a,l,A,h,r,s,f,d),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class W4 extends Zg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Qi}}class Y4 extends Zg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,ho),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class J4 extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class is{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],d=i[r+1]-h,g=(o-h)/d;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new F);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 F,r=[],s=[],o=[],a=new F,l=new lt;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new F)}s[0]=new F,o[0]=new F;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),f=Math.abs(r[0].y),d=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),f<=A&&(A=f,i.set(0,1,0)),d<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Nn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Nn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 $g extends is{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){const i=t||new ve,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(Wd.subVectors(r[0],r[1]).add(r[0]),A=Wd);const f=r[a%s],d=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],f=r[o>r.length-3?r.length-1:o+2];return i.set(cw(a,l.x,A.x,h.x,f.x),cw(a,l.y,A.y,h.y,f.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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 f=A.getPoint(0);f.equals(this.currentPoint)||this.lineTo(f.x,f.y)}this.curves.push(A);const h=A.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 Jh extends bt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=Nn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],h=1/t,f=new F,d=new ve,g=new F,E=new F,y=new F;let I=0,p=0;for(let C=0;C<=e.length-1;C++)switch(C){case 0:I=e[C+1].x-e[C].x,p=e[C+1].y-e[C].y,g.x=p*1,g.y=-I,g.z=p*0,y.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(y.x,y.y,y.z);break;default:I=e[C+1].x-e[C].x,p=e[C+1].y-e[C].y,g.x=p*1,g.y=-I,g.z=p*0,E.copy(g),g.x+=y.x,g.y+=y.y,g.z+=y.z,g.normalize(),l.push(g.x,g.y,g.z),y.copy(E)}for(let C=0;C<=t;C++){const v=i+C*h*r,S=Math.sin(v),Q=Math.cos(v);for(let R=0;R<=e.length-1;R++){f.x=e[R].x*S,f.y=e[R].y,f.z=e[R].x*Q,o.push(f.x,f.y,f.z),d.x=C/t,d.y=R/(e.length-1),a.push(d.x,d.y);const D=l[3*R+0]*S,U=l[3*R+1],J=l[3*R+0]*Q;A.push(D,U,J)}}for(let C=0;C0&&v(!0),t>0&&v(!1)),this.setIndex(h),this.setAttribute("position",new st(f,3)),this.setAttribute("normal",new st(d,3)),this.setAttribute("uv",new st(g,2));function C(){const S=new F,Q=new F;let R=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const J=[],_=U/s,b=_*(t-e)+e;for(let j=0;j<=r;j++){const fe=j/r,Y=fe*l+a,le=Math.sin(Y),se=Math.cos(Y);Q.x=b*le,Q.y=-_*i+I,Q.z=b*se,f.push(Q.x,Q.y,Q.z),S.set(le,D,se).normalize(),d.push(S.x,S.y,S.z),g.push(fe,1-_),J.push(E++)}y.push(J)}for(let U=0;U.9&&D<.1&&(v<.2&&(o[C+0]+=1),S<.2&&(o[C+2]+=1),Q<.2&&(o[C+4]+=1))}}function d(C){s.push(C.x,C.y,C.z)}function g(C,v){const S=C*3;v.x=e[S+0],v.y=e[S+1],v.z=e[S+2]}function E(){const C=new F,v=new F,S=new F,Q=new F,R=new ve,D=new ve,U=new ve;for(let J=0,_=0;J80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=f),d>h&&(h=d);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return wh(s,o,t,a,l,g,0),o}};function _R(n,e,t,i,r){let s,o;if(r===mO(n,e,t,i)>0)for(s=e;s=e;s-=i)o=uw(s,n[s],n[s+1],o);return o&&rm(o,o.next)&&(Mh(o),o=o.next),o}function Nl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(rm(t,t.next)||_n(t.prev,t,t.next)===0)){if(Mh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function wh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&AO(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?iO(n,i,r,s):nO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Mh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=rO(Nl(n),e,t),wh(n,e,t,i,r,s,2)):o===2&&sO(n,e,t,i,r,s):wh(Nl(n),e,t,i,r,s,1);break}}}function nO(n){const e=n.prev,t=n,i=n.next;if(_n(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=d&&E.y>=f&&E.y<=g&&iu(r,a,s,l,o,A,E.x,E.y)&&_n(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function iO(n,e,t,i){const r=n.prev,s=n,o=n.next;if(_n(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,f=s.y,d=o.y,g=al?a>A?a:A:l>A?l:A,I=h>f?h>d?h:d:f>d?f:d,p=eC(g,E,e,t,i),C=eC(y,I,e,t,i);let v=n.prevZ,S=n.nextZ;for(;v&&v.z>=p&&S&&S.z<=C;){if(v.x>=g&&v.x<=y&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&iu(a,h,l,f,A,d,v.x,v.y)&&_n(v.prev,v,v.next)>=0||(v=v.prevZ,S.x>=g&&S.x<=y&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&iu(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;v&&v.z>=p;){if(v.x>=g&&v.x<=y&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&iu(a,h,l,f,A,d,v.x,v.y)&&_n(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;S&&S.z<=C;){if(S.x>=g&&S.x<=y&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&iu(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function rO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!rm(r,s)&&MR(r,i,i.next,s)&&_h(r,s)&&_h(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Mh(i),Mh(i.next),i=n=s),i=i.next}while(i!==n);return Nl(i)}function sO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&dO(o,a)){let l=QR(o,a);o=Nl(o,o.next),l=Nl(l,l.next),wh(o,e,t,i,r,s,0),wh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function oO(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const d=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=s&&d>i&&(i=d,r=t.x=t.x&&t.x>=l&&s!==t.x&&iu(or.x||t.x===r.x&&uO(r,t)))&&(r=t,h=f)),t=t.next;while(t!==a);return r}function uO(n,e){return _n(n.prev,n,e.prev)<0&&_n(e.next,n,n.next)<0}function AO(n,e,t,i){let r=n;do r.z===0&&(r.z=eC(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,hO(r)}function hO(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function eC(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 fO(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 dO(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!pO(n,e)&&(_h(n,e)&&_h(e,n)&&gO(n,e)&&(_n(n.prev,n,e.prev)||_n(n,e.prev,e))||rm(n,e)&&_n(n.prev,n,n.next)>0&&_n(e.prev,e,e.next)>0)}function _n(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function rm(n,e){return n.x===e.x&&n.y===e.y}function MR(n,e,t,i){const r=qd(_n(n,e,t)),s=qd(_n(n,e,i)),o=qd(_n(t,i,n)),a=qd(_n(t,i,e));return!!(r!==s&&o!==a||r===0&&Kd(n,t,e)||s===0&&Kd(n,i,e)||o===0&&Kd(t,n,i)||a===0&&Kd(t,e,i))}function Kd(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 qd(n){return n>0?1:n<0?-1:0}function pO(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&&MR(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function _h(n,e){return _n(n.prev,n,n.next)<0?_n(n,e,n.next)>=0&&_n(n,n.prev,e)>=0:_n(n,e,n.prev)<0||_n(n,n.next,e)<0}function gO(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 QR(n,e){const t=new tC(n.i,n.x,n.y),i=new tC(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 uw(n,e,t,i){const r=new tC(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 Mh(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 tC(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 mO(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function hw(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(Le),Je=Math.sqrt(T*T+ie*ie),Ve=me.x-w/Re,je=me.y+q/Re,at=te.x-ie/Je,mt=te.y+T/Je,be=((at-Ve)*ie-(mt-je)*T)/(q*ie-w*T);ue=Ve+q*be-H.x,ae=je+w*be-H.y;const Pt=ue*ue+ae*ae;if(Pt<=2)return new ve(ue,ae);De=Math.sqrt(Pt/2)}else{let Re=!1;q>Number.EPSILON?T>Number.EPSILON&&(Re=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(ie)&&(Re=!0),Re?(ue=-w,ae=q,De=Math.sqrt(Le)):(ue=q,ae=w,De=Math.sqrt(Le/2))}return new ve(ue/De,ae/De)}const Z=[];for(let H=0,me=Y.length,te=me-1,ue=H+1;H=0;H--){const me=H/I,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+y;for(let ae=0,De=Y.length;ae=0;){const ue=te;let ae=te-1;ae<0&&(ae=H.length-1);for(let De=0,q=h+I*2;De0)&&g.push(v,S,R),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class bR extends ui{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new qe(16777215),this.specular=new qe(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Gh,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.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 PR extends ui{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new qe(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class NR extends ui{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class UR extends ui{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new qe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Gh,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.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 kR extends ui{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new qe(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class FR extends Vi{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 ml(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 OR(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function HR(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 nC(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 Yv(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 CO(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){f.push(A.times[g]);for(let y=0;ys.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*f+h,C=p+f-h;y=a.values.slice(p,C)}else{const p=a.createInterpolant(),C=h,v=f-h;p.evaluate(s),y=p.resultBuffer.slice(C,v)}l==="quaternion"&&new Hn().fromArray(y).normalize().conjugate().toArray(y);const I=A.times.length;for(let p=0;p=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&&OR(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Up,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}rs.prototype.TimeBufferType=Float32Array;rs.prototype.ValueBufferType=Float32Array;rs.prototype.DefaultInterpolation=mh;class Ol extends rs{}Ol.prototype.ValueTypeName="bool";Ol.prototype.ValueBufferType=Array;Ol.prototype.DefaultInterpolation=gh;Ol.prototype.InterpolantFactoryMethodLinear=void 0;Ol.prototype.InterpolantFactoryMethodSmooth=void 0;class Xv extends rs{}Xv.prototype.ValueTypeName="color";class Qh extends rs{}Qh.prototype.ValueTypeName="number";class VR extends qh{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 A=e*a;for(let h=A+a;A!==h;A+=4)Hn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Lu extends rs{InterpolantFactoryMethodLinear(e){return new VR(this.times,this.values,this.getValueSize(),e)}}Lu.prototype.ValueTypeName="quaternion";Lu.prototype.DefaultInterpolation=mh;Lu.prototype.InterpolantFactoryMethodSmooth=void 0;class Hl extends rs{}Hl.prototype.ValueTypeName="string";Hl.prototype.ValueBufferType=Array;Hl.prototype.DefaultInterpolation=gh;Hl.prototype.InterpolantFactoryMethodLinear=void 0;Hl.prototype.InterpolantFactoryMethodSmooth=void 0;class Rh extends rs{}Rh.prototype.ValueTypeName="vector";class Dh{constructor(e,t=-1,i,r=Gg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=dr(),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(SO(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(rs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const f=h[1];let d=r[f];d||(r[f]=d=[]),d.push(A)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(f,d,g,E,y){if(g.length!==0){const I=[],p=[];Yv(g,I,p,E),I.length!==0&&y.push(new f(d,I,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let f=0;f{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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=Js[e],f=A.body.getReader(),d=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=d?parseInt(d):0,E=g!==0;let y=0;const I=new ReadableStream({start(p){C();function C(){f.read().then(({done:v,value:S})=>{if(v)p.close();else{y+=S.byteLength;const Q=new ProgressEvent("progress",{lengthComputable:E,loaded:y,total:g});for(let R=0,D=h.length;R{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),d=f&&f[1]?f[1].toLowerCase():void 0,g=new TextDecoder(d);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{so.add(e,A);const h=Js[e];delete Js[e];for(let f=0,d=h.length;f{const h=Js[e];if(h===void 0)throw this.manager.itemError(e),A;delete Js[e];for(let f=0,d=h.length;f{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class _O extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Rs(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 qe().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new F().fromArray(o.value);break;case"v4":r.uniforms[s].value=new un().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Qt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new lt().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:DR,SpriteMaterial:Pv,RawShaderMaterial:TR,ShaderMaterial:ns,PointsMaterial:kv,MeshPhysicalMaterial:LR,MeshStandardMaterial:Wv,MeshPhongMaterial:bR,MeshToonMaterial:PR,MeshNormalMaterial:NR,MeshLambertMaterial:UR,MeshDepthMaterial:Yg,MeshDistanceMaterial:Jg,MeshBasicMaterial:tr,MeshMatcapMaterial:kR,LineDashedMaterial:FR,LineBasicMaterial:Vi,Material:ui};return new t[e]}}class iC{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 Kv(t);s=new Th(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new Th(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const I=new Zn;I.min.fromArray(y.boxMin),I.max.fromArray(y.boxMax);const p=new Yn;return p.radius=y.sphereRadius,p.center.fromArray(y.sphereCenter),{boxInitialized:y.boxInitialized,box:I,sphereInitialized:y.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new pR;break;case"Line":o=new ya(a(e.geometry),l(e.material));break;case"LineLoop":o=new ER(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ds(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new IR(a(e.geometry),l(e.material));break;case"Sprite":o=new dR(l(e.material));break;case"Group":o=new ro;break;case"Bone":o=new Nv;break;default:o=new zt}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 d=e.children;for(let g=0;g"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=so.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return so.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),so.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});so.add(e,l),s.manager.itemStart(e)}}let jd;class jv{static getContext(){return jd===void 0&&(jd=new(window.AudioContext||window.webkitAudioContext)),jd}static setContext(e){jd=e}}class UO extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Rs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);jv.getContext().decodeAudioData(A,function(f){t(f)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const yw=new lt,Cw=new lt,qa=new lt;class kO{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,qa.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(vl*t.fov*.5)/t.zoom;let a,l;Cw.elements[12]=-r,yw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,qa.elements[0]=2*t.near/(l-a),qa.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(qa),a=-o*t.aspect-s,l=o*t.aspect-s,qa.elements[0]=2*t.near/(l-a),qa.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(qa)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Cw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(yw)}}class Zv{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=vw(),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=vw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function vw(){return(typeof performance>"u"?Date:performance).now()}const ja=new F,Bw=new Hn,FO=new F,Za=new F;class OO extends zt{constructor(){super(),this.type="AudioListener",this.context=jv.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Zv}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ja,Bw,FO),Za.set(0,0,-1).applyQuaternion(Bw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(ja.x,r),t.positionY.linearRampToValueAtTime(ja.y,r),t.positionZ.linearRampToValueAtTime(ja.z,r),t.forwardX.linearRampToValueAtTime(Za.x,r),t.forwardY.linearRampToValueAtTime(Za.y,r),t.forwardZ.linearRampToValueAtTime(Za.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(ja.x,ja.y,ja.z),t.setOrientation(Za.x,Za.y,Za.z,i.x,i.y,i.z)}}class nD extends zt{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,A=t+t;l!==A;++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){Hn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Hn.multiplyQuaternionsFlat(e,o,e,t,e,i),Hn.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 $v="\\[\\]\\.:\\/",VO=new RegExp("["+$v+"]","g"),eB="[^"+$v+"]",WO="[^"+$v.replace("\\.","")+"]",YO=/((?:WC+[\/:])*)/.source.replace("WC",eB),JO=/(WCOD+)?/.source.replace("WCOD",WO),XO=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",eB),KO=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",eB),qO=new RegExp("^"+YO+JO+XO+KO+"$"),jO=["material","materials","bones","map"];class ZO{constructor(e,t,i){const r=i||qt.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 qt{constructor(e,t,i){this.path=t,this.parsedPath=i||qt.parseTrackName(t),this.node=qt.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 qt.Composite(e,t,i):new qt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(VO,"")}static parseTrackName(e){const t=qO.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);jO.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 f=s++,d=e[f];t[d.uuid]=h,e[h]=d,t[A]=f,e[f]=l;for(let g=0,E=r;g!==E;++g){const y=i[g],I=y[f],p=y[h];y[h]=I,y[f]=p}}}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 A=arguments[a],h=A.uuid,f=t[h];if(f!==void 0)if(delete t[h],f0&&(t[g.uuid]=f),e[f]=g,e.pop();for(let E=0,y=r;E!==y;++E){const I=i[E];I[f]=I[d],I.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,A=l.length,h=this.nCachedObjects_,f=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(f);for(let d=h,g=l.length;d!==g;++d){const E=l[d];f[d]=new qt(E,e,t)}return f}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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class rD{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:dl,endingEnd:dl};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=F2,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Bv:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case Gg:default:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[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===O2;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===k2){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 A=e<0;this._setEndings(A,!A,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=pl,r.endingEnd=pl):(e?r.endingStart=this.zeroSlopeAtStart?pl:dl:r.endingStart=Eh,t?r.endingEnd=this.zeroSlopeAtEnd?pl:dl:r.endingEnd=Eh)}_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 eH=new Float32Array(1);class tH extends po{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let f=0;f!==s;++f){const d=r[f],g=d.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[f]=E;else{if(E=o[f],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const y=t&&t._propertyBindings[f].binding.parsedPath;E=new iD(qt.create(i,g,y),d.ValueTypeName,d.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[f]=E}a[f].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,ww).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 _w=new F,Zd=new F;class oD{constructor(e=new F,t=new F){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){_w.subVectors(e,this.start),Zd.subVectors(this.end,this.start);const i=Zd.dot(Zd);let s=Zd.dot(_w)/i;return t&&(s=Nn(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 Mw=new F;class lH extends zt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new bt,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 f=0;f.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Lw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Lw,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 CH extends Ds{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 bt;r.setAttribute("position",new st(t,3)),r.setAttribute("color",new st(i,3));const s=new Vi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new qe,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 Xo{constructor(){this.type="ShapePath",this.color=new qe,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new da,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(p){const C=[];for(let v=0,S=p.length;vNumber.EPSILON){if(_<0&&(D=C[R],J=-J,U=C[Q],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const b=_*(p.x-D.x)-J*(p.y-D.y);if(b===0)return!0;if(b<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return S}const r=es.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new pa,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const f=[],d=[];let g=[],E=0,y;d[E]=void 0,g[E]=[];for(let p=0,C=s.length;p1){let p=!1,C=0;for(let v=0,S=d.length;v0&&p===!1&&(g=f)}let I;for(let p=0,C=d.length;p=0&&(S[P]=null,v[P].disconnect(O))}for(let G=0;G=S.length){S.push(O),P=Be;break}else if(S[Be]===null){S[Be]=O,P=Be;break}if(P===-1)break}const Ee=v[P];Ee&&Ee.connect(O)}}const re=new F,fe=new F;function k(V,G,O){re.setFromMatrixPosition(G.matrixWorld),fe.setFromMatrixPosition(O.matrixWorld);const P=re.distanceTo(fe),Ee=G.projectionMatrix.elements,Be=O.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),H=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],le=pe*te,De=pe*ue,q=P/(-te+ue),w=q*-te;G.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(w),V.translateZ(q),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const T=pe+q,ie=Se+q,Le=le-w,Te=De+(P-w),Re=H*Se/ie*T,Je=me*Se/ie*T;V.projectionMatrix.makePerspective(Le,Te,Re,Je,T,ie),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function $(V,G){G===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(G.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(r===null)return;C.texture!==null&&(V.near=C.depthNear,V.far=C.depthFar),_.near=U.near=D.near=V.near,_.far=U.far=D.far=V.far,(b!==_.near||j!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),b=_.near,j=_.far,D.near=b,D.far=j,U.near=b,U.far=j,D.updateProjectionMatrix(),U.updateProjectionMatrix(),V.updateProjectionMatrix());const G=V.parent,O=_.cameras;$(_,G);for(let P=0;P0&&(I.alphaTest.value=p.alphaTest);const y=e.get(p).envMap;if(y&&(I.envMap.value=y,I.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,I.reflectivity.value=p.reflectivity,I.ior.value=p.ior,I.refractionRatio.value=p.refractionRatio),p.lightMap){I.lightMap.value=p.lightMap;const v=n._useLegacyLights===!0?Math.PI:1;I.lightMapIntensity.value=p.lightMapIntensity*v,t(p.lightMap,I.lightMapTransform)}p.aoMap&&(I.aoMap.value=p.aoMap,I.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,I.aoMapTransform))}function o(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform))}function a(I,p){I.dashSize.value=p.dashSize,I.totalSize.value=p.dashSize+p.gapSize,I.scale.value=p.scale}function l(I,p,y,v){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.size.value=p.size*y,I.scale.value=v*.5,p.map&&(I.map.value=p.map,t(p.map,I.uvTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function A(I,p){I.diffuse.value.copy(p.color),I.opacity.value=p.opacity,I.rotation.value=p.rotation,p.map&&(I.map.value=p.map,t(p.map,I.mapTransform)),p.alphaMap&&(I.alphaMap.value=p.alphaMap,t(p.alphaMap,I.alphaMapTransform)),p.alphaTest>0&&(I.alphaTest.value=p.alphaTest)}function h(I,p){I.specular.value.copy(p.specular),I.shininess.value=Math.max(p.shininess,1e-4)}function d(I,p){p.gradientMap&&(I.gradientMap.value=p.gradientMap)}function f(I,p){I.metalness.value=p.metalness,p.metalnessMap&&(I.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,I.metalnessMapTransform)),I.roughness.value=p.roughness,p.roughnessMap&&(I.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,I.roughnessMapTransform)),e.get(p).envMap&&(I.envMapIntensity.value=p.envMapIntensity)}function g(I,p,y){I.ior.value=p.ior,p.sheen>0&&(I.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),I.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(I.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,I.sheenColorMapTransform)),p.sheenRoughnessMap&&(I.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,I.sheenRoughnessMapTransform))),p.clearcoat>0&&(I.clearcoat.value=p.clearcoat,I.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(I.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,I.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(I.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,I.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(I.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,I.clearcoatNormalMapTransform),I.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Hi&&I.clearcoatNormalScale.value.negate())),p.iridescence>0&&(I.iridescence.value=p.iridescence,I.iridescenceIOR.value=p.iridescenceIOR,I.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],I.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(I.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,I.iridescenceMapTransform)),p.iridescenceThicknessMap&&(I.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,I.iridescenceThicknessMapTransform))),p.transmission>0&&(I.transmission.value=p.transmission,I.transmissionSamplerMap.value=y.texture,I.transmissionSamplerSize.value.set(y.width,y.height),p.transmissionMap&&(I.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,I.transmissionMapTransform)),I.thickness.value=p.thickness,p.thicknessMap&&(I.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,I.thicknessMapTransform)),I.attenuationDistance.value=p.attenuationDistance,I.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(I.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(I.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,I.anisotropyMapTransform))),I.specularIntensity.value=p.specularIntensity,I.specularColor.value.copy(p.specularColor),p.specularColorMap&&(I.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,I.specularColorMapTransform)),p.specularIntensityMap&&(I.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,I.specularIntensityMapTransform))}function E(I,p){p.matcap&&(I.matcap.value=p.matcap)}function C(I,p){const y=e.get(p).light;I.referencePosition.value.setFromMatrixPosition(y.matrixWorld),I.nearDistance.value=y.shadow.camera.near,I.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function N4(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,v){const S=v.program;i.uniformBlockBinding(y,S)}function A(y,v){let S=r[y.id];S===void 0&&(E(y),S=h(y),r[y.id]=S,y.addEventListener("dispose",I));const R=v.program;i.updateUBOMapping(y,R);const Q=e.render.frame;s[y.id]!==Q&&(f(y),s[y.id]=Q)}function h(y){const v=d();y.__bindingPointIndex=v;const S=n.createBuffer(),R=y.__size,Q=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,R,Q),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,v,S),S}function d(){for(let y=0;y0&&(S+=R-Q),y.__size=S,y.__cache={},this}function C(y){const v={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function I(y){const v=y.target;v.removeEventListener("dispose",I);const S=o.indexOf(v.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[v.id]),delete r[v.id],delete s[v.id]}function p(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class bv{constructor(e={}){const{canvas:t=Z2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;const g=new Uint32Array(4),E=new Int32Array(4);let C=null,I=null;const p=[],y=[];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=Pn,this._useLegacyLights=!1,this.toneMapping=_s,this.toneMappingExposure=1;const v=this;let S=!1,R=0,Q=0,D=null,U=-1,J=null;const _=new un,b=new un;let j=null;const de=new qe(0);let Y=0,ae=t.width,re=t.height,fe=1,k=null,$=null;const ne=new un(0,0,ae,re),Ae=new un(0,0,ae,re);let _e=!1;const ke=new Yh;let V=!1,G=!1,O=null;const P=new ct,Ee=new ve,Be=new F,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?fe:1}let H=i;function me(z,ge){for(let Ce=0;Ce{function Xe(){if(we.forEach(function(ut){q.get(ut).currentProgram.isReady()&&we.delete(ut)}),we.size===0){ye(z);return}setTimeout(Xe,10)}te.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let nn=null;function sn(z){nn&&nn(z)}function Ai(){ln.stop()}function on(){ln.start()}const ln=new sR;ln.setAnimationLoop(sn),typeof self<"u"&&ln.setContext(self),this.setAnimationLoop=function(z){nn=z,Tt.setAnimationLoop(z),z===null?ln.stop():ln.start()},Tt.addEventListener("sessionstart",Ai),Tt.addEventListener("sessionend",on),this.render=function(z,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),z.isScene===!0&&z.onBeforeRender(v,z,ge,D),I=lt.get(z,y.length),I.init(),y.push(I),P.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(P),G=this.localClippingEnabled,V=mt.init(this.clippingPlanes,G),C=je.get(z,p.length),C.init(),p.push(C),Di(z,ge,0,v.sortObjects),C.finish(),v.sortObjects===!0&&C.sort(k,$),this.info.render.frame++,V===!0&&mt.beginShadows();const Ce=I.state.shadowsArray;if(be.render(Ce,z,ge),V===!0&&mt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Pt.render(C,z),I.setupLights(v._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let ye=0,Xe=we.length;ye0?I=y[y.length-1]:I=null,p.pop(),p.length>0?C=p[p.length-1]:C=null};function Di(z,ge,Ce,we){if(z.visible===!1)return;if(z.layers.test(ge.layers)){if(z.isGroup)Ce=z.renderOrder;else if(z.isLOD)z.autoUpdate===!0&&z.update(ge);else if(z.isLight)I.pushLight(z),z.castShadow&&I.pushShadow(z);else if(z.isSprite){if(!z.frustumCulled||ke.intersectsSprite(z)){we&&Be.setFromMatrixPosition(z.matrixWorld).applyMatrix4(P);const ut=Re.update(z),Et=z.material;Et.visible&&C.push(z,ut,Et,Ce,Be.z,null)}}else if((z.isMesh||z.isLine||z.isPoints)&&(!z.frustumCulled||ke.intersectsObject(z))){const ut=Re.update(z),Et=z.material;if(we&&(z.boundingSphere!==void 0?(z.boundingSphere===null&&z.computeBoundingSphere(),Be.copy(z.boundingSphere.center)):(ut.boundingSphere===null&&ut.computeBoundingSphere(),Be.copy(ut.boundingSphere.center)),Be.applyMatrix4(z.matrixWorld).applyMatrix4(P)),Array.isArray(Et)){const It=ut.groups;for(let _t=0,St=It.length;_t0&&Ps(ye,Xe,ge,Ce),we&&le.viewport(_.copy(we)),ye.length>0&&os(ye,ge,Ce),Xe.length>0&&os(Xe,ge,Ce),ut.length>0&&os(ut,ge,Ce),le.buffers.depth.setTest(!0),le.buffers.depth.setMask(!0),le.buffers.color.setMask(!0),le.setPolygonOffset(!1)}function Ps(z,ge,Ce,we){if((Ce.isScene===!0?Ce.overrideMaterial:null)!==null)return;const Xe=ue.isWebGL2;O===null&&(O=new kr(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ll:Ms,minFilter:vs,samples:Xe?4:0})),v.getDrawingBufferSize(Ee),Xe?O.setSize(Ee.x,Ee.y):O.setSize(gg(Ee.x),gg(Ee.y));const ut=v.getRenderTarget();v.setRenderTarget(O),v.getClearColor(de),Y=v.getClearAlpha(),Y<1&&v.setClearColor(16777215,.5),v.clear();const Et=v.toneMapping;v.toneMapping=_s,os(z,Ce,we),w.updateMultisampleRenderTarget(O),w.updateRenderTargetMipmap(O);let It=!1;for(let _t=0,St=ge.length;_t0),xt=!!Ce.morphAttributes.position,gn=!!Ce.morphAttributes.normal,Jn=!!Ce.morphAttributes.color;let hn=_s;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(hn=v.toneMapping);const Rn=Ce.morphAttributes.position||Ce.morphAttributes.normal||Ce.morphAttributes.color,At=Rn!==void 0?Rn.length:0,$e=q.get(we),Ti=I.state.lights;if(V===!0&&(G===!0||z!==J)){const Ue=z===J&&we.id===U;mt.setState(we,z,Ue)}let L=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Ti.state.version||$e.outputColorSpace!==Et||ye.isBatchedMesh&&$e.batching===!1||!ye.isBatchedMesh&&$e.batching===!0||ye.isInstancedMesh&&$e.instancing===!1||!ye.isInstancedMesh&&$e.instancing===!0||ye.isSkinnedMesh&&$e.skinning===!1||!ye.isSkinnedMesh&&$e.skinning===!0||ye.isInstancedMesh&&$e.instancingColor===!0&&ye.instanceColor===null||ye.isInstancedMesh&&$e.instancingColor===!1&&ye.instanceColor!==null||$e.envMap!==It||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==mt.numPlanes||$e.numIntersection!==mt.numIntersection)||$e.vertexAlphas!==_t||$e.vertexTangents!==St||$e.morphTargets!==xt||$e.morphNormals!==gn||$e.morphColors!==Jn||$e.toneMapping!==hn||ue.isWebGL2===!0&&$e.morphTargetsCount!==At)&&(L=!0):(L=!0,$e.__version=we.version);let N=$e.currentProgram;L===!0&&(N=as(we,ge,ye));let ee=!1,se=!1,he=!1;const xe=N.getUniforms(),Pe=$e.uniforms;if(le.useProgram(N.program)&&(ee=!0,se=!0,he=!0),we.id!==U&&(U=we.id,se=!0),ee||J!==z){xe.setValue(H,"projectionMatrix",z.projectionMatrix),xe.setValue(H,"viewMatrix",z.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(H,Be.setFromMatrixPosition(z.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(H,"logDepthBufFC",2/(Math.log(z.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(H,"isOrthographic",z.isOrthographicCamera===!0),J!==z&&(J=z,se=!0,he=!0)}if(ye.isSkinnedMesh){xe.setOptional(H,ye,"bindMatrix"),xe.setOptional(H,ye,"bindMatrixInverse");const Ue=ye.skeleton;Ue&&(ue.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(H,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ye.isBatchedMesh&&(xe.setOptional(H,ye,"batchingTexture"),xe.setValue(H,"batchingTexture",ye._matricesTexture,w));const Ne=Ce.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Mt.update(ye,Ce,N),(se||$e.receiveShadow!==ye.receiveShadow)&&($e.receiveShadow=ye.receiveShadow,xe.setValue(H,"receiveShadow",ye.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Pe.envMap.value=It,Pe.flipEnvMap.value=It.isCubeTexture&&It.isRenderTargetTexture===!1?-1:1),se&&(xe.setValue(H,"toneMappingExposure",v.toneMappingExposure),$e.needsLights&&ku(Pe,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Pe,Xe),Ve.refreshMaterialUniforms(Pe,we,fe,re,O),kp.upload(H,Jl($e),Pe,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(kp.upload(H,Jl($e),Pe,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(H,"center",ye.center),xe.setValue(H,"modelViewMatrix",ye.modelViewMatrix),xe.setValue(H,"normalMatrix",ye.normalMatrix),xe.setValue(H,"modelMatrix",ye.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(z)===!1?ye=q.get(z).__webglMultisampledFramebuffer:Array.isArray(St)?ye=St[Ce]:ye=St,_.copy(z.viewport),b.copy(z.scissor),j=z.scissorTest}else _.copy(ne).multiplyScalar(fe).floor(),b.copy(Ae).multiplyScalar(fe).floor(),j=_e;if(le.bindFramebuffer(H.FRAMEBUFFER,ye)&&ue.drawBuffers&&we&&le.drawBuffers(z,ye),le.viewport(_),le.scissor(b),le.setScissorTest(j),Xe){const It=q.get(z.texture);H.framebufferTexture2D(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,H.TEXTURE_CUBE_MAP_POSITIVE_X+ge,It.__webglTexture,Ce)}else if(ut){const It=q.get(z.texture),_t=ge||0;H.framebufferTextureLayer(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,It.__webglTexture,Ce||0,_t)}U=-1},this.readRenderTargetPixels=function(z,ge,Ce,we,ye,Xe,ut){if(!(z&&z.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Et=q.get(z).__webglFramebuffer;if(z.isWebGLCubeRenderTarget&&ut!==void 0&&(Et=Et[ut]),Et){le.bindFramebuffer(H.FRAMEBUFFER,Et);try{const It=z.texture,_t=It.format,St=It.type;if(_t!==ki&&tt.convert(_t)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const xt=St===Ll&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(St!==Ms&&tt.convert(St)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_TYPE)&&!(St===Dr&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!xt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=z.width-we&&Ce>=0&&Ce<=z.height-ye&&H.readPixels(ge,Ce,we,ye,tt.convert(_t),tt.convert(St),Xe)}finally{const It=D!==null?q.get(D).__webglFramebuffer:null;le.bindFramebuffer(H.FRAMEBUFFER,It)}}},this.copyFramebufferToTexture=function(z,ge,Ce=0){const we=Math.pow(2,-Ce),ye=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),H.copyTexSubImage2D(H.TEXTURE_2D,Ce,0,0,z.x,z.y,ye,Xe),le.unbindTexture()},this.copyTextureToTexture=function(z,ge,Ce,we=0){const ye=ge.image.width,Xe=ge.image.height,ut=tt.convert(Ce.format),Et=tt.convert(Ce.type);w.setTexture2D(Ce,0),H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,Ce.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ce.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,Ce.unpackAlignment),ge.isDataTexture?H.texSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ye,Xe,ut,Et,ge.image.data):ge.isCompressedTexture?H.compressedTexSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ge.mipmaps[0].width,ge.mipmaps[0].height,ut,ge.mipmaps[0].data):H.texSubImage2D(H.TEXTURE_2D,we,z.x,z.y,ut,Et,ge.image),we===0&&Ce.generateMipmaps&&H.generateMipmap(H.TEXTURE_2D),le.unbindTexture()},this.copyTextureToTexture3D=function(z,ge,Ce,we,ye=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=z.max.x-z.min.x+1,ut=z.max.y-z.min.y+1,Et=z.max.z-z.min.z+1,It=tt.convert(we.format),_t=tt.convert(we.type);let St;if(we.isData3DTexture)w.setTexture3D(we,0),St=H.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),St=H.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,we.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,we.unpackAlignment);const xt=H.getParameter(H.UNPACK_ROW_LENGTH),gn=H.getParameter(H.UNPACK_IMAGE_HEIGHT),Jn=H.getParameter(H.UNPACK_SKIP_PIXELS),hn=H.getParameter(H.UNPACK_SKIP_ROWS),Rn=H.getParameter(H.UNPACK_SKIP_IMAGES),At=Ce.isCompressedTexture?Ce.mipmaps[ye]:Ce.image;H.pixelStorei(H.UNPACK_ROW_LENGTH,At.width),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,At.height),H.pixelStorei(H.UNPACK_SKIP_PIXELS,z.min.x),H.pixelStorei(H.UNPACK_SKIP_ROWS,z.min.y),H.pixelStorei(H.UNPACK_SKIP_IMAGES,z.min.z),Ce.isDataTexture||Ce.isData3DTexture?H.texSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ut,Et,It,_t,At.data):Ce.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),H.compressedTexSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ut,Et,It,At.data)):H.texSubImage3D(St,ye,ge.x,ge.y,ge.z,Xe,ut,Et,It,_t,At),H.pixelStorei(H.UNPACK_ROW_LENGTH,xt),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,gn),H.pixelStorei(H.UNPACK_SKIP_PIXELS,Jn),H.pixelStorei(H.UNPACK_SKIP_ROWS,hn),H.pixelStorei(H.UNPACK_SKIP_IMAGES,Rn),ye===0&&we.generateMipmaps&&H.generateMipmap(St),le.unbindTexture()},this.initTexture=function(z){z.isCubeTexture?w.setTextureCube(z,0):z.isData3DTexture?w.setTexture3D(z,0):z.isDataArrayTexture||z.isCompressedArrayTexture?w.setTexture2DArray(z,0):w.setTexture2D(z,0),le.unbindTexture()},this.resetState=function(){R=0,Q=0,D=null,le.reset(),vt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Bs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===zg?"display-p3":"srgb",t.unpackColorSpace=cn.workingColorSpace===zh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Pn?da:xv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===da?Pn:Qs}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 dR extends bv{}dR.prototype.isWebGL1Renderer=!0;class Xg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new qe(e),this.density=t}clone(){return new Xg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Kg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new qe(e),this.near=t,this.far=i}clone(){return new Kg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Sh extends zt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class qg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=vh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=fr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return Bl("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:gA.clone(),uv:ur.getInterpolation(gA,bf,EA,Pf,VS,ME,WS,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Nf(n,e,t,i,r,s){_c.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(mA.x=s*_c.x-r*_c.y,mA.y=r*_c.x+s*_c.y):mA.copy(_c),n.copy(e),n.x+=mA.x,n.y+=mA.y,n.applyMatrix4(fR)}const Uf=new F,YS=new F;class gR extends zt{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){Uf.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Uf);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Uf.setFromMatrixPosition(e.matrixWorld),YS.setFromMatrixPosition(this.matrixWorld);const i=Uf.distanceTo(YS)/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 Qc="batchId",Yo=new ct,tw=new ct,z4=new ct,nw=new ct,DE=new Yh,Of=new Zn,Ka=new Yn,CA=new F,TE=new G4,_i=new Zt,Hf=[];function V4(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 an(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Qc,new an(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Qc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Qc}"`);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===Qc)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 Zn);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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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,f=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;d.push(!0),f.push(!0);const C=this._geometryCount;this._geometryCount++,z4.toArray(E,C*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new Zn,sphereInitialized:!1,sphere:new Yn});const I=this.geometry.getAttribute(Qc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Qc)continue;const E=t.getAttribute(g),C=i.getAttribute(g);V4(E,C,l);const I=E.itemSize;for(let p=E.count,y=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,d=A.start+A.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;_i.material=this.material,_i.geometry.index=l.index,_i.geometry.attributes=l.attributes,_i.geometry.boundingBox===null&&(_i.geometry.boundingBox=new Zn),_i.geometry.boundingSphere===null&&(_i.geometry.boundingSphere=new Yn);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,d=this._multiDrawCounts,f=this._drawRanges,g=this.perObjectFrustumCulled;g&&(nw.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),DE.setFromProjectionMatrix(nw,e.coordinateSystem));let E=0;if(this.sortObjects){tw.copy(this.matrixWorld).invert(),CA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(tw);for(let p=0,y=A.length;pl)continue;f.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(f);Ue.far||t.push({distance:U,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),y=Math.min(I.count,o.start+o.count);for(let v=p,S=y-1;vl)continue;f.applyMatrix4(this.matrixWorld);const Q=e.ray.origin.distanceTo(f);Qe.far||t.push({distance:Q,point:d.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class CR extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:yn,this.magFilter=s!==void 0?s:yn,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 W4 extends xn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Fn,this.minFilter=Fn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Zg extends xn{constructor(e,t,i,r,s,o,a,l,A,h,d,f){super(null,o,a,l,A,h,r,s,d,f),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Y4 extends Zg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Qi}}class J4 extends Zg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,ho),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class X4 extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class is{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],f=i[r+1]-h,g=(o-h)/f;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new F);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 F,r=[],s=[],o=[],a=new F,l=new ct;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new F)}s[0]=new F,o[0]=new F;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),f=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),d<=A&&(A=d,i.set(0,1,0)),f<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Nn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Nn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 $g extends is{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){const i=t||new ve,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(Wf.subVectors(r[0],r[1]).add(r[0]),A=Wf);const d=r[a%s],f=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(uw(a,l.x,A.x,h.x,d.x),uw(a,l.y,A.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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=A.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(A);const h=A.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 Jh extends bt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=Nn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],h=1/t,d=new F,f=new ve,g=new F,E=new F,C=new F;let I=0,p=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:I=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-I,g.z=p*0,C.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(C.x,C.y,C.z);break;default:I=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-I,g.z=p*0,E.copy(g),g.x+=C.x,g.y+=C.y,g.z+=C.z,g.normalize(),l.push(g.x,g.y,g.z),C.copy(E)}for(let y=0;y<=t;y++){const v=i+y*h*r,S=Math.sin(v),R=Math.cos(v);for(let Q=0;Q<=e.length-1;Q++){d.x=e[Q].x*S,d.y=e[Q].y,d.z=e[Q].x*R,o.push(d.x,d.y,d.z),f.x=y/t,f.y=Q/(e.length-1),a.push(f.x,f.y);const D=l[3*Q+0]*S,U=l[3*Q+1],J=l[3*Q+0]*R;A.push(D,U,J)}}for(let y=0;y0&&v(!0),t>0&&v(!1)),this.setIndex(h),this.setAttribute("position",new ot(d,3)),this.setAttribute("normal",new ot(f,3)),this.setAttribute("uv",new ot(g,2));function y(){const S=new F,R=new F;let Q=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const J=[],_=U/s,b=_*(t-e)+e;for(let j=0;j<=r;j++){const de=j/r,Y=de*l+a,ae=Math.sin(Y),re=Math.cos(Y);R.x=b*ae,R.y=-_*i+I,R.z=b*re,d.push(R.x,R.y,R.z),S.set(ae,D,re).normalize(),f.push(S.x,S.y,S.z),g.push(de,1-_),J.push(E++)}C.push(J)}for(let U=0;U.9&&D<.1&&(v<.2&&(o[y+0]+=1),S<.2&&(o[y+2]+=1),R<.2&&(o[y+4]+=1))}}function f(y){s.push(y.x,y.y,y.z)}function g(y,v){const S=y*3;v.x=e[S+0],v.y=e[S+1],v.z=e[S+2]}function E(){const y=new F,v=new F,S=new F,R=new F,Q=new ve,D=new ve,U=new ve;for(let J=0,_=0;J80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=d),f>h&&(h=f);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return wh(s,o,t,a,l,g,0),o}};function MR(n,e,t,i,r){let s,o;if(r===EO(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Aw(s,n[s],n[s+1],o);return o&&rm(o,o.next)&&(Mh(o),o=o.next),o}function Nl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(rm(t,t.next)||_n(t.prev,t,t.next)===0)){if(Mh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function wh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&hO(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?rO(n,i,r,s):iO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Mh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=sO(Nl(n),e,t),wh(n,e,t,i,r,s,2)):o===2&&oO(n,e,t,i,r,s):wh(Nl(n),e,t,i,r,s,1);break}}}function iO(n){const e=n.prev,t=n,i=n.next;if(_n(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=f&&E.y>=d&&E.y<=g&&iu(r,a,s,l,o,A,E.x,E.y)&&_n(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function rO(n,e,t,i){const r=n.prev,s=n,o=n.next;if(_n(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,d=s.y,f=o.y,g=al?a>A?a:A:l>A?l:A,I=h>d?h>f?h:f:d>f?d:f,p=eC(g,E,e,t,i),y=eC(C,I,e,t,i);let v=n.prevZ,S=n.nextZ;for(;v&&v.z>=p&&S&&S.z<=y;){if(v.x>=g&&v.x<=C&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&iu(a,h,l,d,A,f,v.x,v.y)&&_n(v.prev,v,v.next)>=0||(v=v.prevZ,S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&iu(a,h,l,d,A,f,S.x,S.y)&&_n(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;v&&v.z>=p;){if(v.x>=g&&v.x<=C&&v.y>=E&&v.y<=I&&v!==r&&v!==o&&iu(a,h,l,d,A,f,v.x,v.y)&&_n(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;S&&S.z<=y;){if(S.x>=g&&S.x<=C&&S.y>=E&&S.y<=I&&S!==r&&S!==o&&iu(a,h,l,d,A,f,S.x,S.y)&&_n(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function sO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!rm(r,s)&&QR(r,i,i.next,s)&&_h(r,s)&&_h(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Mh(i),Mh(i.next),i=n=s),i=i.next}while(i!==n);return Nl(i)}function oO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&pO(o,a)){let l=RR(o,a);o=Nl(o,o.next),l=Nl(l,l.next),wh(o,e,t,i,r,s,0),wh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function aO(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&s!==t.x&&iu(or.x||t.x===r.x&&AO(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function AO(n,e){return _n(n.prev,n,e.prev)<0&&_n(e.next,n,n.next)<0}function hO(n,e,t,i){let r=n;do r.z===0&&(r.z=eC(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,dO(r)}function dO(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function eC(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 fO(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 pO(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!gO(n,e)&&(_h(n,e)&&_h(e,n)&&mO(n,e)&&(_n(n.prev,n,e.prev)||_n(n,e.prev,e))||rm(n,e)&&_n(n.prev,n,n.next)>0&&_n(e.prev,e,e.next)>0)}function _n(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function rm(n,e){return n.x===e.x&&n.y===e.y}function QR(n,e,t,i){const r=qf(_n(n,e,t)),s=qf(_n(n,e,i)),o=qf(_n(t,i,n)),a=qf(_n(t,i,e));return!!(r!==s&&o!==a||r===0&&Kf(n,t,e)||s===0&&Kf(n,i,e)||o===0&&Kf(t,n,i)||a===0&&Kf(t,e,i))}function Kf(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 qf(n){return n>0?1:n<0?-1:0}function gO(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&&QR(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function _h(n,e){return _n(n.prev,n,n.next)<0?_n(n,e,n.next)>=0&&_n(n,n.prev,e)>=0:_n(n,e,n.prev)<0||_n(n,n.next,e)<0}function mO(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 RR(n,e){const t=new tC(n.i,n.x,n.y),i=new tC(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 Aw(n,e,t,i){const r=new tC(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 Mh(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 tC(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 EO(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function dw(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(Le),Je=Math.sqrt(T*T+ie*ie),Ve=me.x-w/Re,je=me.y+q/Re,lt=te.x-ie/Je,mt=te.y+T/Je,be=((lt-Ve)*ie-(mt-je)*T)/(q*ie-w*T);ue=Ve+q*be-H.x,le=je+w*be-H.y;const Pt=ue*ue+le*le;if(Pt<=2)return new ve(ue,le);De=Math.sqrt(Pt/2)}else{let Re=!1;q>Number.EPSILON?T>Number.EPSILON&&(Re=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(ie)&&(Re=!0),Re?(ue=-w,le=q,De=Math.sqrt(Le)):(ue=q,le=w,De=Math.sqrt(Le/2))}return new ve(ue/De,le/De)}const $=[];for(let H=0,me=Y.length,te=me-1,ue=H+1;H=0;H--){const me=H/I,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+C;for(let le=0,De=Y.length;le=0;){const ue=te;let le=te-1;le<0&&(le=H.length-1);for(let De=0,q=h+I*2;De0)&&g.push(v,S,Q),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class PR extends ii{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new qe(16777215),this.specular=new qe(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Gh,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.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 NR extends ii{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new qe(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class UR extends ii{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class kR extends ii{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new qe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Gh,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.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 FR extends ii{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new qe(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=xa,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class OR extends Vi{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 ml(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 HR(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function GR(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 nC(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 Yv(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 vO(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(A.times[g]);for(let C=0;Cs.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*d+h,y=p+d-h;C=a.values.slice(p,y)}else{const p=a.createInterpolant(),y=h,v=d-h;p.evaluate(s),C=p.resultBuffer.slice(y,v)}l==="quaternion"&&new Hn().fromArray(C).normalize().conjugate().toArray(C);const I=A.times.length;for(let p=0;p=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&&HR(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Up,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}rs.prototype.TimeBufferType=Float32Array;rs.prototype.ValueBufferType=Float32Array;rs.prototype.DefaultInterpolation=mh;class Ol extends rs{}Ol.prototype.ValueTypeName="bool";Ol.prototype.ValueBufferType=Array;Ol.prototype.DefaultInterpolation=gh;Ol.prototype.InterpolantFactoryMethodLinear=void 0;Ol.prototype.InterpolantFactoryMethodSmooth=void 0;class Xv extends rs{}Xv.prototype.ValueTypeName="color";class Qh extends rs{}Qh.prototype.ValueTypeName="number";class WR extends qh{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 A=e*a;for(let h=A+a;A!==h;A+=4)Hn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Lu extends rs{InterpolantFactoryMethodLinear(e){return new WR(this.times,this.values,this.getValueSize(),e)}}Lu.prototype.ValueTypeName="quaternion";Lu.prototype.DefaultInterpolation=mh;Lu.prototype.InterpolantFactoryMethodSmooth=void 0;class Hl extends rs{}Hl.prototype.ValueTypeName="string";Hl.prototype.ValueBufferType=Array;Hl.prototype.DefaultInterpolation=gh;Hl.prototype.InterpolantFactoryMethodLinear=void 0;Hl.prototype.InterpolantFactoryMethodSmooth=void 0;class Rh extends rs{}Rh.prototype.ValueTypeName="vector";class Dh{constructor(e,t=-1,i,r=Gg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=fr(),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(wO(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(rs.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 f=r[d];f||(r[d]=f=[]),f.push(A)}}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,f,g,E,C){if(g.length!==0){const I=[],p=[];Yv(g,I,p,E),I.length!==0&&C.push(new d(f,I,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=Js[e],d=A.body.getReader(),f=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=f?parseInt(f):0,E=g!==0;let C=0;const I=new ReadableStream({start(p){y();function y(){d.read().then(({done:v,value:S})=>{if(v)p.close();else{C+=S.byteLength;const R=new ProgressEvent("progress",{lengthComputable:E,loaded:C,total:g});for(let Q=0,D=h.length;Q{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),f=d&&d[1]?d[1].toLowerCase():void 0,g=new TextDecoder(f);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{so.add(e,A);const h=Js[e];delete Js[e];for(let d=0,f=h.length;d{const h=Js[e];if(h===void 0)throw this.manager.itemError(e),A;delete Js[e];for(let d=0,f=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 MO extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Rs(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 qe().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new F().fromArray(o.value);break;case"v4":r.uniforms[s].value=new un().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Qt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ct().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:TR,SpriteMaterial:Pv,RawShaderMaterial:LR,ShaderMaterial:ns,PointsMaterial:kv,MeshPhysicalMaterial:bR,MeshStandardMaterial:Wv,MeshPhongMaterial:PR,MeshToonMaterial:NR,MeshNormalMaterial:UR,MeshLambertMaterial:kR,MeshDepthMaterial:Yg,MeshDistanceMaterial:Jg,MeshBasicMaterial:tr,MeshMatcapMaterial:FR,LineDashedMaterial:OR,LineBasicMaterial:Vi,Material:ii};return new t[e]}}class iC{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 Kv(t);s=new Th(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new Th(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const I=new Zn;I.min.fromArray(C.boxMin),I.max.fromArray(C.boxMax);const p=new Yn;return p.radius=C.sphereRadius,p.center.fromArray(C.sphereCenter),{boxInitialized:C.boxInitialized,box:I,sphereInitialized:C.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new gR;break;case"Line":o=new ya(a(e.geometry),l(e.material));break;case"LineLoop":o=new IR(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ds(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new yR(a(e.geometry),l(e.material));break;case"Sprite":o=new pR(l(e.material));break;case"Group":o=new ro;break;case"Bone":o=new Nv;break;default:o=new zt}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 f=e.children;for(let g=0;g"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=so.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return so.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),so.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});so.add(e,l),s.manager.itemStart(e)}}let jf;class jv{static getContext(){return jf===void 0&&(jf=new(window.AudioContext||window.webkitAudioContext)),jf}static setContext(e){jf=e}}class kO extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Rs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);jv.getContext().decodeAudioData(A,function(d){t(d)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Cw=new ct,vw=new ct,qa=new ct;class FO{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,qa.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(vl*t.fov*.5)/t.zoom;let a,l;vw.elements[12]=-r,Cw.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,qa.elements[0]=2*t.near/(l-a),qa.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(qa),a=-o*t.aspect-s,l=o*t.aspect-s,qa.elements[0]=2*t.near/(l-a),qa.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(qa)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(vw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Cw)}}class Zv{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Bw(),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=Bw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Bw(){return(typeof performance>"u"?Date:performance).now()}const ja=new F,xw=new Hn,OO=new F,Za=new F;class HO extends zt{constructor(){super(),this.type="AudioListener",this.context=jv.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Zv}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ja,xw,OO),Za.set(0,0,-1).applyQuaternion(xw),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(ja.x,r),t.positionY.linearRampToValueAtTime(ja.y,r),t.positionZ.linearRampToValueAtTime(ja.z,r),t.forwardX.linearRampToValueAtTime(Za.x,r),t.forwardY.linearRampToValueAtTime(Za.y,r),t.forwardZ.linearRampToValueAtTime(Za.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(ja.x,ja.y,ja.z),t.setOrientation(Za.x,Za.y,Za.z,i.x,i.y,i.z)}}class iD extends zt{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,A=t+t;l!==A;++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){Hn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Hn.multiplyQuaternionsFlat(e,o,e,t,e,i),Hn.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 $v="\\[\\]\\.:\\/",WO=new RegExp("["+$v+"]","g"),eB="[^"+$v+"]",YO="[^"+$v.replace("\\.","")+"]",JO=/((?:WC+[\/:])*)/.source.replace("WC",eB),XO=/(WCOD+)?/.source.replace("WCOD",YO),KO=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",eB),qO=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",eB),jO=new RegExp("^"+JO+XO+KO+qO+"$"),ZO=["material","materials","bones","map"];class $O{constructor(e,t,i){const r=i||qt.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 qt{constructor(e,t,i){this.path=t,this.parsedPath=i||qt.parseTrackName(t),this.node=qt.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 qt.Composite(e,t,i):new qt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(WO,"")}static parseTrackName(e){const t=jO.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);ZO.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++,f=e[d];t[f.uuid]=h,e[h]=f,t[A]=d,e[d]=l;for(let g=0,E=r;g!==E;++g){const C=i[g],I=C[d],p=C[h];C[h]=I,C[d]=p}}}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 A=arguments[a],h=A.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[g.uuid]=d),e[d]=g,e.pop();for(let E=0,C=r;E!==C;++E){const I=i[E];I[d]=I[f],I.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,A=l.length,h=this.nCachedObjects_,d=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let f=h,g=l.length;f!==g;++f){const E=l[f];d[f]=new qt(E,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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class sD{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:fl,endingEnd:fl};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=O2,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Bv:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case Gg:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),A[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===H2;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===F2){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 A=e<0;this._setEndings(A,!A,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=pl,r.endingEnd=pl):(e?r.endingStart=this.zeroSlopeAtStart?pl:fl:r.endingStart=Eh,t?r.endingEnd=this.zeroSlopeAtEnd?pl:fl:r.endingEnd=Eh)}_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 tH=new Float32Array(1);class nH extends po{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let d=0;d!==s;++d){const f=r[d],g=f.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[d]=E;else{if(E=o[d],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const C=t&&t._propertyBindings[d].binding.parsedPath;E=new rD(qt.create(i,g,C),f.ValueTypeName,f.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[d]=E}a[d].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,_w).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 Mw=new F,Zf=new F;class aD{constructor(e=new F,t=new F){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){Mw.subVectors(e,this.start),Zf.subVectors(this.end,this.start);const i=Zf.dot(Zf);let s=Zf.dot(Mw)/i;return t&&(s=Nn(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 Qw=new F;class cH extends zt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new bt,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{bw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(bw,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 vH extends Ds{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 bt;r.setAttribute("position",new ot(t,3)),r.setAttribute("color",new ot(i,3));const s=new Vi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new qe,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 Xo{constructor(){this.type="ShapePath",this.color=new qe,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new fa,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(p){const y=[];for(let v=0,S=p.length;vNumber.EPSILON){if(_<0&&(D=y[Q],J=-J,U=y[R],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const b=_*(p.x-D.x)-J*(p.y-D.y);if(b===0)return!0;if(b<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return S}const r=es.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new pa,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],f=[];let g=[],E=0,C;f[E]=void 0,g[E]=[];for(let p=0,y=s.length;p1){let p=!1,y=0;for(let v=0,S=f.length;v0&&p===!1&&(g=d)}let I;for(let p=0,y=f.length;p{const f=typeof A=="function"?A(e):A;if(f!==e){const d=e;e=h?f:Object.assign({},e,f),t.forEach(g=>g(e,d))}},r=()=>e,s=(A,h=r,f=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=h(e);function g(){const E=h(e);if(!f(d,E)){const y=d;A(d=E,y)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,f)=>h||f?s(A,h,f):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const xH=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),bw=xH?$.useEffect:$.useLayoutEffect;function cD(n){const e=typeof n=="function"?BH(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=$.useReducer(I=>I+1,0),o=e.getState(),a=$.useRef(o),l=$.useRef(i),A=$.useRef(r),h=$.useRef(!1),f=$.useRef();f.current===void 0&&(f.current=i(o));let d,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(d=i(o),g=!r(f.current,d)),bw(()=>{g&&(f.current=d),a.current=o,l.current=i,A.current=r,h.current=!1});const E=$.useRef(o);bw(()=>{const I=()=>{try{const C=e.getState(),v=l.current(C);A.current(f.current,v)||(a.current=C,f.current=v,s())}catch{h.current=!0,s()}},p=e.subscribe(I);return e.getState()!==E.current&&I(),p},[]);const y=g?d:f.current;return $.useDebugValue(y),y};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 uD={exports:{}},AD={exports:{}},hD={};/** + */Gl.ConcurrentRoot=1;Gl.ContinuousEventPriority=4;Gl.DefaultEventPriority=16;Gl.DiscreteEventPriority=1;Gl.IdleEventPriority=536870912;Gl.LegacyRoot=0;cD.exports=Gl;var ru=cD.exports;function xH(n){let e;const t=new Set,i=(A,h)=>{const d=typeof A=="function"?A(e):A;if(d!==e){const f=e;e=h?d:Object.assign({},e,d),t.forEach(g=>g(e,f))}},r=()=>e,s=(A,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=h(e);function g(){const E=h(e);if(!d(f,E)){const C=f;A(f=E,C)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,d)=>h||d?s(A,h,d):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const SH=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Pw=SH?Z.useEffect:Z.useLayoutEffect;function uD(n){const e=typeof n=="function"?xH(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Z.useReducer(I=>I+1,0),o=e.getState(),a=Z.useRef(o),l=Z.useRef(i),A=Z.useRef(r),h=Z.useRef(!1),d=Z.useRef();d.current===void 0&&(d.current=i(o));let f,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(f=i(o),g=!r(d.current,f)),Pw(()=>{g&&(d.current=f),a.current=o,l.current=i,A.current=r,h.current=!1});const E=Z.useRef(o);Pw(()=>{const I=()=>{try{const y=e.getState(),v=l.current(y);A.current(d.current,v)||(a.current=y,d.current=v,s())}catch{h.current=!0,s()}},p=e.subscribe(I);return e.getState()!==E.current&&I(),p},[]);const C=g?f:d.current;return Z.useDebugValue(C),C};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 AD={exports:{}},hD={exports:{}},dD={};/** * @license React * scheduler.production.min.js * @@ -3816,7 +3816,7 @@ void main() { * * 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 ne=k.length;k.push(Z);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(G,ne))O<_e&&0>r(P,G)?(k[Ae]=P,k[O]=ne,Ae=O):(k[Ae]=G,k[V]=ne,Ae=V);else if(O<_e&&0>r(P,ne))k[Ae]=P,k[O]=ne,Ae=O;else break e}}return Z}function r(k,Z){var ne=k.sortIndex-Z.sortIndex;return ne!==0?ne: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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,y=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(k){for(var Z=t(A);Z!==null;){if(Z.callback===null)i(A);else if(Z.startTime<=k)i(A),Z.sortIndex=Z.expirationTime,e(l,Z);else break;Z=t(A)}}function S(k){if(y=!1,v(k),!E)if(t(l)!==null)E=!0,se(Q);else{var Z=t(A);Z!==null&&de(S,Z.startTime-k)}}function Q(k,Z){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=d;try{for(v(Z),f=t(l);f!==null&&(!(f.expirationTime>Z)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=Z);Z=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),v(Z)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-Z),ke=!1}return ke}finally{f=null,d=ne,g=!1}}var R=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ne,e(A,k),t(l)===null&&k===t(A)&&(y?(p(U),U=-1):y=!0,de(S,ne-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,se(Q))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var Z=d;return function(){var ne=d;d=Z;try{return k.apply(this,arguments)}finally{d=ne}}}})(hD);AD.exports=hD;var sC=AD.exports;/** + */(function(n){function e(k,$){var ne=k.length;k.push($);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(G,ne))O<_e&&0>r(P,G)?(k[Ae]=P,k[O]=ne,Ae=O):(k[Ae]=G,k[V]=ne,Ae=V);else if(O<_e&&0>r(P,ne))k[Ae]=P,k[O]=ne,Ae=O;else break e}}return $}function r(k,$){var ne=k.sortIndex-$.sortIndex;return ne!==0?ne:k.id-$.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=[],A=[],h=1,d=null,f=3,g=!1,E=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(k){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=k)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function S(k){if(C=!1,v(k),!E)if(t(l)!==null)E=!0,re(R);else{var $=t(A);$!==null&&fe(S,$.startTime-k)}}function R(k,$){E=!1,C&&(C=!1,p(U),U=-1),g=!0;var ne=f;try{for(v($),d=t(l);d!==null&&(!(d.expirationTime>$)||k&&!b());){var Ae=d.callback;if(typeof Ae=="function"){d.callback=null,f=d.priorityLevel;var _e=Ae(d.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?d.callback=_e:d===t(l)&&i(l),v($)}else i(l);d=t(l)}if(d!==null)var ke=!0;else{var V=t(A);V!==null&&fe(S,V.startTime-$),ke=!1}return ke}finally{d=null,f=ne,g=!1}}var Q=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ne,e(A,k),t(l)===null&&k===t(A)&&(C?(p(U),U=-1):C=!0,fe(S,ne-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,re(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var $=f;return function(){var ne=f;f=$;try{return k.apply(this,arguments)}finally{f=ne}}}})(dD);hD.exports=dD;var sC=hD.exports;/** * @license React * react-reconciler.production.min.js * @@ -3824,25 +3824,25 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var SH=function(e){var t={},i=$,r=sC,s=Object.assign;function o(c){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+c,m=1;moe||x[W]!==M[oe]){var Qe=` -`+x[W].replace(" at new "," at ");return c.displayName&&Qe.includes("")&&(Qe=Qe.replace("",c.displayName)),Qe}while(1<=W&&0<=oe);break}}}finally{St=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var gn=Object.prototype.hasOwnProperty,Jn=[],hn=-1;function Rn(c){return{current:c}}function ut(c){0>hn||(c.current=Jn[hn],Jn[hn]=null,hn--)}function $e(c,u){hn++,Jn[hn]=c.current,c.current=u}var Ti={},L=Rn(Ti),N=Rn(!1),ee=Ti;function re(c,u){var m=c.type.contextTypes;if(!m)return Ti;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},M;for(M in m)x[M]=u[M];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){ut(N),ut(L)}function Pe(c,u,m){if(L.current!==Ti)throw Error(o(168));$e(L,u),$e(N,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Ti,ee=L.current,$e(L,c),$e(N,N.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,ut(N),ut(L),$e(L,c)):ut(N),$e(N,m)}var We=Math.clz32?Math.clz32:Dn,pt=Math.log,Jt=Math.LN2;function Dn(c){return c>>>=0,c===0?32:31-(pt(c)/Jt|0)|0}var Xt=64,ii=4194304;function hi(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 ls(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,M=c.pingedLanes,W=m&268435455;if(W!==0){var oe=W&~x;oe!==0?B=hi(oe):(M&=W,M!==0&&(B=hi(M)))}else W=m&~x,W!==0?B=hi(W):M!==0&&(B=hi(M));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,M=u&-u,x>=M||x===16&&(M&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Ou(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function CT(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=W,x-=W,ks=1<<32-We(u)+x|m<$t?(oi=Dt,Dt=null):oi=Dt.sibling;var en=yt(Ie,Dt,Me[$t],Ze);if(en===null){Dt===null&&(Dt=oi);break}c&&Dt&&en.alternate===null&&u(Ie,Dt),ce=M(en,ce,$t),Ut===null?ht=en:Ut.sibling=en,Ut=en,Dt=oi}if($t===Me.length)return m(Ie,Dt),vn&&Ua(Ie,$t),ht;if(Dt===null){for(;$t$t?(oi=Dt,Dt=null):oi=Dt.sibling;var ko=yt(Ie,Dt,en.value,Ze);if(ko===null){Dt===null&&(Dt=oi);break}c&&Dt&&ko.alternate===null&&u(Ie,Dt),ce=M(ko,ce,$t),Ut===null?ht=ko:Ut.sibling=ko,Ut=ko,Dt=oi}if(en.done)return m(Ie,Dt),vn&&Ua(Ie,$t),ht;if(Dt===null){for(;!en.done;$t++,en=Me.next())en=Rt(Ie,en.value,Ze),en!==null&&(ce=M(en,ce,$t),Ut===null?ht=en:Ut.sibling=en,Ut=en);return vn&&Ua(Ie,$t),ht}for(Dt=B(Ie,Dt);!en.done;$t++,en=Me.next())en=fn(Dt,Ie,$t,en.value,Ze),en!==null&&(c&&en.alternate!==null&&Dt.delete(en.key===null?$t:en.key),ce=M(en,ce,$t),Ut===null?ht=en:Ut.sibling=en,Ut=en);return c&&Dt.forEach(function(oL){return u(Ie,oL)}),vn&&Ua(Ie,$t),ht}function _r(Ie,ce,Me,Ze){if(typeof Me=="object"&&Me!==null&&Me.type===h&&Me.key===null&&(Me=Me.props.children),typeof Me=="object"&&Me!==null){switch(Me.$$typeof){case l:e:{for(var ht=Me.key,Ut=ce;Ut!==null;){if(Ut.key===ht){if(ht=Me.type,ht===h){if(Ut.tag===7){m(Ie,Ut.sibling),ce=x(Ut,Me.props.children),ce.return=Ie,Ie=ce;break e}}else if(Ut.elementType===ht||typeof ht=="object"&&ht!==null&&ht.$$typeof===v&&TB(ht)===Ut.type){m(Ie,Ut.sibling),ce=x(Ut,Me.props),ce.ref=zu(Ie,Ut,Me),ce.return=Ie,Ie=ce;break e}m(Ie,Ut);break}else u(Ie,Ut);Ut=Ut.sibling}Me.type===h?(ce=Va(Me.props.children,Ie.mode,Ze,Me.key),ce.return=Ie,Ie=ce):(Ze=Xf(Me.type,Me.key,Me.props,null,Ie.mode,Ze),Ze.ref=zu(Ie,ce,Me),Ze.return=Ie,Ie=Ze)}return W(Ie);case A:e:{for(Ut=Me.key;ce!==null;){if(ce.key===Ut)if(ce.tag===4&&ce.stateNode.containerInfo===Me.containerInfo&&ce.stateNode.implementation===Me.implementation){m(Ie,ce.sibling),ce=x(ce,Me.children||[]),ce.return=Ie,Ie=ce;break e}else{m(Ie,ce);break}else u(Ie,ce);ce=ce.sibling}ce=D0(Me,Ie.mode,Ze),ce.return=Ie,Ie=ce}return W(Ie);case v:return Ut=Me._init,_r(Ie,ce,Ut(Me._payload),Ze)}if(le(Me))return ft(Ie,ce,Me,Ze);if(R(Me))return vi(Ie,ce,Me,Ze);mf(Ie,Me)}return typeof Me=="string"&&Me!==""||typeof Me=="number"?(Me=""+Me,ce!==null&&ce.tag===6?(m(Ie,ce.sibling),ce=x(ce,Me),ce.return=Ie,Ie=ce):(m(Ie,ce),ce=R0(Me,Ie.mode,Ze),ce.return=Ie,Ie=ce),W(Ie)):m(Ie,ce)}return _r}var tc=LB(!0),bB=LB(!1),Vu={},Br=Rn(Vu),Wu=Rn(Vu),nc=Rn(Vu);function fs(c){if(c===Vu)throw Error(o(174));return c}function Xm(c,u){$e(nc,u),$e(Wu,c),$e(Br,Vu),c=de(u),ut(Br),$e(Br,c)}function ic(){ut(Br),ut(Wu),ut(nc)}function PB(c){var u=fs(nc.current),m=fs(Br.current);u=k(m,c.type,u),m!==u&&($e(Wu,c),$e(Br,u))}function Km(c){Wu.current===c&&(ut(Br),ut(Wu))}var Sn=Rn(0);function Ef(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ss(m)||Ps(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var qm=[];function jm(){for(var c=0;cm?m:4,c(!0);var B=xr.transition;xr.transition={};try{c(!1),u()}finally{Zt=m,xr.transition=B}}function KB(){return ds().memoizedState}function LT(c,u,m){var B=Po(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},qB(c)?jB(u,m):(ZB(c,u,m),m=bi(),c=Sr(c,B,m),c!==null&&$B(c,u,B))}function bT(c,u,m){var B=Po(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(qB(c))jB(u,x);else{ZB(c,u,x);var M=c.alternate;if(c.lanes===0&&(M===null||M.lanes===0)&&(M=u.lastRenderedReducer,M!==null))try{var W=u.lastRenderedState,oe=M(W,m);if(x.hasEagerState=!0,x.eagerState=oe,us(oe,W))return}catch{}finally{}m=bi(),c=Sr(c,B,m),c!==null&&$B(c,u,B)}}function qB(c){var u=c.alternate;return c===Tn||u!==null&&u===Tn}function jB(c,u){Yu=yf=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function ZB(c,u,m){Gn!==null&&c.mode&1&&!(kt&2)?(c=u.interleaved,c===null?(m.next=m,hs===null?hs=[u]:hs.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function $B(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Dm(c,m)}}var Sf={readContext:yr,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useInsertionEffect:yi,useLayoutEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useMutableSource:yi,useSyncExternalStore:yi,useId:yi,unstable_isNewReconciler:!1},PT={readContext:yr,useCallback:function(c,u){return Os().memoizedState=[c,u===void 0?null:u],c},useContext:yr,useEffect:n0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,Bf(4194308,4,WB.bind(null,u,c),m)},useLayoutEffect:function(c,u){return Bf(4194308,4,c,u)},useInsertionEffect:function(c,u){return Bf(4,2,c,u)},useMemo:function(c,u){var m=Os();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=Os();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=LT.bind(null,Tn,c),[B.memoizedState,c]},useRef:function(c){var u=Os();return c={current:c},u.memoizedState=c},useState:t0,useDebugValue:i0,useDeferredValue:function(c){var u=t0(c),m=u[0],B=u[1];return n0(function(){var x=xr.transition;xr.transition={};try{B(c)}finally{xr.transition=x}},[c]),m},useTransition:function(){var c=t0(!1),u=c[0];return c=TT.bind(null,c[1]),Os().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=Tn,x=Os();if(vn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),Gn===null)throw Error(o(349));rc&30||kB(B,u,m)}x.memoizedState=m;var M={value:m,getSnapshot:u};return x.queue=M,n0(OB.bind(null,B,M,c),[c]),B.flags|=2048,Xu(9,FB.bind(null,B,M,m,u),void 0,null),m},useId:function(){var c=Os(),u=Gn.identifierPrefix;if(vn){var m=Fs,B=ks;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Ju++,0")&&(Qe=Qe.replace("",c.displayName)),Qe}while(1<=W&&0<=oe);break}}}finally{St=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var gn=Object.prototype.hasOwnProperty,Jn=[],hn=-1;function Rn(c){return{current:c}}function At(c){0>hn||(c.current=Jn[hn],Jn[hn]=null,hn--)}function $e(c,u){hn++,Jn[hn]=c.current,c.current=u}var Ti={},L=Rn(Ti),N=Rn(!1),ee=Ti;function se(c,u){var m=c.type.contextTypes;if(!m)return Ti;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},M;for(M in m)x[M]=u[M];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){At(N),At(L)}function Pe(c,u,m){if(L.current!==Ti)throw Error(o(168));$e(L,u),$e(N,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Ti,ee=L.current,$e(L,c),$e(N,N.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,At(N),At(L),$e(L,c)):At(N),$e(N,m)}var We=Math.clz32?Math.clz32:Dn,pt=Math.log,Jt=Math.LN2;function Dn(c){return c>>>=0,c===0?32:31-(pt(c)/Jt|0)|0}var Xt=64,ri=4194304;function hi(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 ls(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,M=c.pingedLanes,W=m&268435455;if(W!==0){var oe=W&~x;oe!==0?B=hi(oe):(M&=W,M!==0&&(B=hi(M)))}else W=m&~x,W!==0?B=hi(W):M!==0&&(B=hi(M));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,M=u&-u,x>=M||x===16&&(M&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Ou(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function vT(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=W,x-=W,ks=1<<32-We(u)+x|m<en?(ai=Dt,Dt=null):ai=Dt.sibling;var tn=yt(Ie,Dt,Me[en],Ze);if(tn===null){Dt===null&&(Dt=ai);break}c&&Dt&&tn.alternate===null&&u(Ie,Dt),ce=M(tn,ce,en),Ut===null?ht=tn:Ut.sibling=tn,Ut=tn,Dt=ai}if(en===Me.length)return m(Ie,Dt),vn&&Ua(Ie,en),ht;if(Dt===null){for(;enen?(ai=Dt,Dt=null):ai=Dt.sibling;var ko=yt(Ie,Dt,tn.value,Ze);if(ko===null){Dt===null&&(Dt=ai);break}c&&Dt&&ko.alternate===null&&u(Ie,Dt),ce=M(ko,ce,en),Ut===null?ht=ko:Ut.sibling=ko,Ut=ko,Dt=ai}if(tn.done)return m(Ie,Dt),vn&&Ua(Ie,en),ht;if(Dt===null){for(;!tn.done;en++,tn=Me.next())tn=Rt(Ie,tn.value,Ze),tn!==null&&(ce=M(tn,ce,en),Ut===null?ht=tn:Ut.sibling=tn,Ut=tn);return vn&&Ua(Ie,en),ht}for(Dt=B(Ie,Dt);!tn.done;en++,tn=Me.next())tn=dn(Dt,Ie,en,tn.value,Ze),tn!==null&&(c&&tn.alternate!==null&&Dt.delete(tn.key===null?en:tn.key),ce=M(tn,ce,en),Ut===null?ht=tn:Ut.sibling=tn,Ut=tn);return c&&Dt.forEach(function(aL){return u(Ie,aL)}),vn&&Ua(Ie,en),ht}function _r(Ie,ce,Me,Ze){if(typeof Me=="object"&&Me!==null&&Me.type===h&&Me.key===null&&(Me=Me.props.children),typeof Me=="object"&&Me!==null){switch(Me.$$typeof){case l:e:{for(var ht=Me.key,Ut=ce;Ut!==null;){if(Ut.key===ht){if(ht=Me.type,ht===h){if(Ut.tag===7){m(Ie,Ut.sibling),ce=x(Ut,Me.props.children),ce.return=Ie,Ie=ce;break e}}else if(Ut.elementType===ht||typeof ht=="object"&&ht!==null&&ht.$$typeof===v&&LB(ht)===Ut.type){m(Ie,Ut.sibling),ce=x(Ut,Me.props),ce.ref=zu(Ie,Ut,Me),ce.return=Ie,Ie=ce;break e}m(Ie,Ut);break}else u(Ie,Ut);Ut=Ut.sibling}Me.type===h?(ce=Va(Me.props.children,Ie.mode,Ze,Me.key),ce.return=Ie,Ie=ce):(Ze=Jd(Me.type,Me.key,Me.props,null,Ie.mode,Ze),Ze.ref=zu(Ie,ce,Me),Ze.return=Ie,Ie=Ze)}return W(Ie);case A:e:{for(Ut=Me.key;ce!==null;){if(ce.key===Ut)if(ce.tag===4&&ce.stateNode.containerInfo===Me.containerInfo&&ce.stateNode.implementation===Me.implementation){m(Ie,ce.sibling),ce=x(ce,Me.children||[]),ce.return=Ie,Ie=ce;break e}else{m(Ie,ce);break}else u(Ie,ce);ce=ce.sibling}ce=D0(Me,Ie.mode,Ze),ce.return=Ie,Ie=ce}return W(Ie);case v:return Ut=Me._init,_r(Ie,ce,Ut(Me._payload),Ze)}if(ae(Me))return dt(Ie,ce,Me,Ze);if(Q(Me))return vi(Ie,ce,Me,Ze);gd(Ie,Me)}return typeof Me=="string"&&Me!==""||typeof Me=="number"?(Me=""+Me,ce!==null&&ce.tag===6?(m(Ie,ce.sibling),ce=x(ce,Me),ce.return=Ie,Ie=ce):(m(Ie,ce),ce=R0(Me,Ie.mode,Ze),ce.return=Ie,Ie=ce),W(Ie)):m(Ie,ce)}return _r}var tc=bB(!0),PB=bB(!1),Vu={},Br=Rn(Vu),Wu=Rn(Vu),nc=Rn(Vu);function ds(c){if(c===Vu)throw Error(o(174));return c}function Xm(c,u){$e(nc,u),$e(Wu,c),$e(Br,Vu),c=fe(u),At(Br),$e(Br,c)}function ic(){At(Br),At(Wu),At(nc)}function NB(c){var u=ds(nc.current),m=ds(Br.current);u=k(m,c.type,u),m!==u&&($e(Wu,c),$e(Br,u))}function Km(c){Wu.current===c&&(At(Br),At(Wu))}var Sn=Rn(0);function md(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ss(m)||Ps(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var qm=[];function jm(){for(var c=0;cm?m:4,c(!0);var B=xr.transition;xr.transition={};try{c(!1),u()}finally{$t=m,xr.transition=B}}function qB(){return fs().memoizedState}function bT(c,u,m){var B=Po(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},jB(c)?ZB(u,m):($B(c,u,m),m=bi(),c=Sr(c,B,m),c!==null&&e1(c,u,B))}function PT(c,u,m){var B=Po(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(jB(c))ZB(u,x);else{$B(c,u,x);var M=c.alternate;if(c.lanes===0&&(M===null||M.lanes===0)&&(M=u.lastRenderedReducer,M!==null))try{var W=u.lastRenderedState,oe=M(W,m);if(x.hasEagerState=!0,x.eagerState=oe,us(oe,W))return}catch{}finally{}m=bi(),c=Sr(c,B,m),c!==null&&e1(c,u,B)}}function jB(c){var u=c.alternate;return c===Tn||u!==null&&u===Tn}function ZB(c,u){Yu=Id=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function $B(c,u,m){Gn!==null&&c.mode&1&&!(kt&2)?(c=u.interleaved,c===null?(m.next=m,hs===null?hs=[u]:hs.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function e1(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Dm(c,m)}}var xd={readContext:yr,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useInsertionEffect:yi,useLayoutEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useMutableSource:yi,useSyncExternalStore:yi,useId:yi,unstable_isNewReconciler:!1},NT={readContext:yr,useCallback:function(c,u){return Os().memoizedState=[c,u===void 0?null:u],c},useContext:yr,useEffect:n0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,vd(4194308,4,YB.bind(null,u,c),m)},useLayoutEffect:function(c,u){return vd(4194308,4,c,u)},useInsertionEffect:function(c,u){return vd(4,2,c,u)},useMemo:function(c,u){var m=Os();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=Os();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=bT.bind(null,Tn,c),[B.memoizedState,c]},useRef:function(c){var u=Os();return c={current:c},u.memoizedState=c},useState:t0,useDebugValue:i0,useDeferredValue:function(c){var u=t0(c),m=u[0],B=u[1];return n0(function(){var x=xr.transition;xr.transition={};try{B(c)}finally{xr.transition=x}},[c]),m},useTransition:function(){var c=t0(!1),u=c[0];return c=LT.bind(null,c[1]),Os().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=Tn,x=Os();if(vn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),Gn===null)throw Error(o(349));rc&30||FB(B,u,m)}x.memoizedState=m;var M={value:m,getSnapshot:u};return x.queue=M,n0(HB.bind(null,B,M,c),[c]),B.flags|=2048,Xu(9,OB.bind(null,B,M,m,u),void 0,null),m},useId:function(){var c=Os(),u=Gn.identifierPrefix;if(vn){var m=Fs,B=ks;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Ju++,0v0&&(u.flags|=128,B=!0,Zu(x,!1),u.lanes=4194304)}else{if(!B)if(c=Ef(M),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),Zu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!M.alternate&&!vn)return Ci(u),null}else 2*ri()-x.renderingStartTime>v0&&m!==1073741824&&(u.flags|=128,B=!0,Zu(x,!1),u.lanes=4194304);x.isBackwards?(M.sibling=u.child,u.child=M):(c=x.last,c!==null?c.sibling=M:u.child=M,x.last=M)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=ri(),u.sibling=null,c=Sn.current,$e(Sn,B?c&1|2:c&1),u):(Ci(u),null);case 22:case 23:return _0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?sr&1073741824&&(Ci(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):Ci(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var OT=a.ReactCurrentOwner,rr=!1;function Li(c,u,m,B){u.child=c===null?bB(u,null,m,B):tc(u,c.child,m,B)}function a1(c,u,m,B,x){m=m.render;var M=u.ref;return jl(u,x),B=$m(c,u,m,B,M,x),m=e0(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Hs(c,u,x)):(vn&&m&&zm(u),u.flags|=1,Li(c,u,B,x),u.child)}function l1(c,u,m,B,x){if(c===null){var M=m.type;return typeof M=="function"&&!Q0(M)&&M.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=M,c1(c,u,M,B,x)):(c=Xf(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(M=c.child,!(c.lanes&x)){var W=M.memoizedProps;if(m=m.compare,m=m!==null?m:cf,m(W,B)&&c.ref===u.ref)return Hs(c,u,x)}return u.flags|=1,c=Uo(M,B),c.ref=u.ref,c.return=u,u.child=c}function c1(c,u,m,B,x){if(c!==null&&cf(c.memoizedProps,B)&&c.ref===u.ref)if(rr=!1,(c.lanes&x)!==0)c.flags&131072&&(rr=!0);else return u.lanes=c.lanes,Hs(c,u,x);return o0(c,u,m,B,x)}function u1(c,u,m){var B=u.pendingProps,x=B.children,M=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e(sc,sr),sr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=M!==null?M.baseLanes:m,$e(sc,sr),sr|=B;else return c=M!==null?M.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e(sc,sr),sr|=c,null;else M!==null?(B=M.baseLanes|m,u.memoizedState=null):B=m,$e(sc,sr),sr|=B;return Li(c,u,x,m),u.child}function A1(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function o0(c,u,m,B,x){var M=he(m)?ee:L.current;return M=re(u,M),jl(u,x),m=$m(c,u,m,B,M,x),B=e0(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Hs(c,u,x)):(vn&&B&&zm(u),u.flags|=1,Li(c,u,m,x),u.child)}function h1(c,u,m,B,x){if(he(m)){var M=!0;Ue(u)}else M=!1;if(jl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),wB(u,m,B),Gm(u,m,B,x),B=!0;else if(c===null){var W=u.stateNode,oe=u.memoizedProps;W.props=oe;var Qe=W.context,He=m.contextType;typeof He=="object"&&He!==null?He=yr(He):(He=he(m)?ee:L.current,He=re(u,He));var rt=m.getDerivedStateFromProps,Rt=typeof rt=="function"||typeof W.getSnapshotBeforeUpdate=="function";Rt||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(oe!==B||Qe!==He)&&_B(u,W,B,He),Do=!1;var yt=u.memoizedState;W.state=yt,ff(u,B,W,x),Qe=u.memoizedState,oe!==B||yt!==Qe||N.current||Do?(typeof rt=="function"&&(Hm(u,m,rt,B),Qe=u.memoizedState),(oe=Do||SB(u,m,oe,B,yt,Qe,He))?(Rt||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"&&(u.flags|=4194308)):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Qe),W.props=B,W.state=Qe,W.context=He,B=oe):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{W=u.stateNode,CB(c,u),oe=u.memoizedProps,He=u.type===u.elementType?oe:Hr(u.type,oe),W.props=He,Rt=u.pendingProps,yt=W.context,Qe=m.contextType,typeof Qe=="object"&&Qe!==null?Qe=yr(Qe):(Qe=he(m)?ee:L.current,Qe=re(u,Qe));var fn=m.getDerivedStateFromProps;(rt=typeof fn=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(oe!==Rt||yt!==Qe)&&_B(u,W,B,Qe),Do=!1,yt=u.memoizedState,W.state=yt,ff(u,B,W,x);var ft=u.memoizedState;oe!==Rt||yt!==ft||N.current||Do?(typeof fn=="function"&&(Hm(u,m,fn,B),ft=u.memoizedState),(He=Do||SB(u,m,He,B,yt,ft,Qe)||!1)?(rt||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(B,ft,Qe),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(B,ft,Qe)),typeof W.componentDidUpdate=="function"&&(u.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof W.componentDidUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=ft),W.props=B,W.state=ft,W.context=Qe,B=He):(typeof W.componentDidUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=1024),B=!1)}return a0(c,u,m,B,M,x)}function a0(c,u,m,B,x,M){A1(c,u);var W=(u.flags&128)!==0;if(!B&&!W)return x&&Fe(u,m,!1),Hs(c,u,M);B=u.stateNode,OT.current=u;var oe=W&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&W?(u.child=tc(u,c.child,null,M),u.child=tc(u,null,oe,M)):Li(c,u,oe,M),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function f1(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),Xm(c,u.containerInfo)}function d1(c,u,m,B,x){return ec(),Jm(x),u.flags|=256,Li(c,u,m,B),u.child}var Mf={dehydrated:null,treeContext:null,retryLane:0};function Qf(c){return{baseLanes:c,cachePool:null}}function p1(c,u,m){var B=u.pendingProps,x=Sn.current,M=!1,W=(u.flags&128)!==0,oe;if((oe=W)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(M=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(Sn,x&1),c===null)return Ym(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Ps(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,M?(B=u.mode,M=u.child,x={mode:"hidden",children:x},!(B&1)&&M!==null?(M.childLanes=0,M.pendingProps=x):M=Kf(x,B,0,null),c=Va(c,B,m,null),M.return=u,c.return=u,M.sibling=c,u.child=M,u.child.memoizedState=Qf(m),u.memoizedState=Mf,c):l0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(W)return u.flags&256?(u.flags&=-257,Rf(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(M=B.fallback,x=u.mode,B=Kf({mode:"visible",children:B.children},x,0,null),M=Va(M,x,m,null),M.flags|=2,B.return=u,M.return=u,B.sibling=M,u.child=B,u.mode&1&&tc(u,c.child,null,m),u.child.memoizedState=Qf(m),u.memoizedState=Mf,M);if(!(u.mode&1))u=Rf(c,u,m,null);else if(Ps(oe))u=Rf(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,rr||B){if(B=Gn,B!==null){switch(m&-m){case 4:M=2;break;case 16:M=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:M=32;break;case 536870912:M=268435456;break;default:M=0}B=M&(B.suspendedLanes|m)?0:M,B!==0&&B!==x.retryLane&&(x.retryLane=B,Sr(c,B,-1))}M0(),u=Rf(c,u,m,Error(o(421)))}else ss(oe)?(u.flags|=128,u.child=c.child,u=$T.bind(null,c),os(oe,u),u=null):(m=x.treeContext,me&&(ir=Xl(oe),nr=u,vn=!0,Gr=null,Hu=!1,m!==null&&(Cr[vr++]=ks,Cr[vr++]=Fs,Cr[vr++]=Na,ks=m.id,Fs=m.overflow,Na=u)),u=l0(u,u.pendingProps.children),u.flags|=4096);return u}return M?(B=m1(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Qf(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=Mf,B):(m=g1(c,u,B.children,m),u.memoizedState=null,m)}return M?(B=m1(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Qf(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=Mf,B):(m=g1(c,u,B.children,m),u.memoizedState=null,m)}function l0(c,u){return u=Kf({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function g1(c,u,m,B){var x=c.child;return c=x.sibling,m=Uo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function m1(c,u,m,B,x){var M=u.mode;c=c.child;var W=c.sibling,oe={mode:"hidden",children:m};return!(M&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Uo(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),W!==null?B=Uo(W,B):(B=Va(B,M,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function Rf(c,u,m,B){return B!==null&&Jm(B),tc(u,c.child,null,m),c=l0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function E1(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Fm(c.return,u,m)}function c0(c,u,m,B,x){var M=c.memoizedState;M===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(M.isBackwards=u,M.rendering=null,M.renderingStartTime=0,M.last=B,M.tail=m,M.tailMode=x)}function I1(c,u,m){var B=u.pendingProps,x=B.revealOrder,M=B.tail;if(Li(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&E1(c,m,u);else if(c.tag===19)E1(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&Ef(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),c0(u,!1,x,m,M);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&Ef(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}c0(u,!0,m,null,M);break;case"together":c0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Hs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),oc|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Uo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Uo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function HT(c,u,m){switch(u.tag){case 3:f1(u),ec();break;case 5:PB(u);break;case 1:he(u.type)&&Ue(u);break;case 4:Xm(u,u.stateNode.containerInfo);break;case 10:yB(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?p1(c,u,m):($e(Sn,Sn.current&1),c=Hs(c,u,m),c!==null?c.sibling:null);$e(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return I1(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,u1(c,u,m)}return Hs(c,u,m)}function GT(c,u){switch(Vm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return ic(),ut(N),ut(L),jm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Km(u),null;case 13:if(ut(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));ec()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ut(Sn),null;case 4:return ic(),null;case 10:return km(u.type._context),null;case 22:case 23:return _0(),null;case 24:return null;default:return null}}var Df=!1,Fa=!1,zT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Tf(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){Xi(c,u,B)}else m.current=null}function u0(c,u,m){try{m()}catch(B){Xi(c,u,B)}}var y1=!1;function VT(c,u){for(Z(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,M=c.stateNode,W=M.getSnapshotBeforeUpdate(c.elementType===c.type?B:Hr(c.type,B),x);M.__reactInternalSnapshotBeforeUpdate=W}break;case 3:Se&&Ge(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){Xi(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=y1,y1=!1,m}function Oa(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var M=x.destroy;x.destroy=void 0,M!==void 0&&u0(u,m,M)}x=x.next}while(x!==B)}}function $u(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function A0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=se(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function C1(c,u,m){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(af,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,M=x.destroy;x=x.tag,M!==void 0&&(x&2||x&4)&&u0(u,m,M),B=B.next}while(B!==c)}break;case 1:if(Tf(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(W){Xi(u,m,W)}break;case 5:Tf(u,m);break;case 4:Se?_1(c,u,m):H&&H&&(u=u.stateNode.containerInfo,m=it(u),nn(u,m))}}function v1(c,u,m){for(var B=u;;)if(C1(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function B1(c){var u=c.alternate;u!==null&&(c.alternate=null,B1(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 x1(c){return c.tag===5||c.tag===3||c.tag===4}function S1(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||x1(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 w1(c){if(Se){e:{for(var u=c.return;u!==null;){if(x1(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Vt(u),m.flags&=-33),m=S1(c),f0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=S1(c),h0(c,m,u);break;default:throw Error(o(161))}}}function h0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?ot(m,c,u):mt(m,c);else if(B!==4&&(c=c.child,c!==null))for(h0(c,u,m),c=c.sibling;c!==null;)h0(c,u,m),c=c.sibling}function f0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?gt(m,c,u):at(m,c);else if(B!==4&&(c=c.child,c!==null))for(f0(c,u,m),c=c.sibling;c!==null;)f0(c,u,m),c=c.sibling}function _1(c,u,m){for(var B=u,x=!1,M,W;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(M=x.stateNode,x.tag){case 5:W=!1;break e;case 3:M=M.containerInfo,W=!0;break e;case 4:M=M.containerInfo,W=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)v1(c,B,m),W?vt(M,B.stateNode):et(M,B.stateNode);else if(B.tag===18)W?ye(M,B.stateNode):we(M,B.stateNode);else if(B.tag===4){if(B.child!==null){M=B.stateNode.containerInfo,W=!0,B.child.return=B,B=B.child;continue}}else if(C1(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function d0(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:Oa(3,u,u.return),$u(3,u),Oa(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,M=u.updateQueue;u.updateQueue=null,M!==null&&Mt(m,M,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,be(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Lf(u);return;case 19:Lf(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Oa(3,u,u.return),$u(3,u),Oa(5,u,u.return);return;case 12:return;case 13:Lf(u);return;case 19:Lf(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(H){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,nn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Lf(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new zT),u.forEach(function(B){var x=eL.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function WT(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case Pf:return":has("+(m0(c)||"")+")";case Nf:return'[role="'+c.value+'"]';case kf:return'"'+c.value+'"';case Uf:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function T1(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=W),B&=~M}if(B=x,B=ri()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*JT(B/1960))-B,10c?16:c,bo===null)var B=!1;else{if(c=bo,bo=null,zf=0,kt&6)throw Error(o(331));var x=kt;for(kt|=4,Ke=c.current;Ke!==null;){var M=Ke,W=M.child;if(Ke.flags&16){var oe=M.deletions;if(oe!==null){for(var Qe=0;Qeri()-C0?Ha(c,0):y0|=m),Ji(c,u)}function H1(c,u){u===0&&(c.mode&1?(u=ii,ii<<=1,!(ii&130023424)&&(ii=4194304)):u=1);var m=bi();c=Yf(c,u),c!==null&&(Ou(c,u,m),Ji(c,m))}function $T(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),H1(c,m)}function eL(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),H1(c,m)}var G1;G1=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||N.current)rr=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return rr=!1,HT(c,u,m);rr=!!(c.flags&131072)}else rr=!1,vn&&u.flags&1048576&&MB(u,gf,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=re(u,L.current);jl(u,m),x=$m(null,u,B,c,x,m);var M=e0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(M=!0,Ue(u)):M=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Om(u),x.updater=df,u.stateNode=x,x._reactInternals=u,Gm(u,B,c,m),u=a0(null,u,B,!0,M,m)):(u.tag=0,vn&&M&&zm(u),Li(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=nL(B),c=Hr(B,c),x){case 0:u=o0(null,u,B,c,m);break e;case 1:u=h1(null,u,B,c,m);break e;case 11:u=a1(null,u,B,c,m);break e;case 14:u=l1(null,u,B,Hr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),o0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),h1(c,u,B,x,m);case 3:e:{if(f1(u),c===null)throw Error(o(387));B=u.pendingProps,M=u.memoizedState,x=M.element,CB(c,u),ff(u,B,null,m);var W=u.memoizedState;if(B=W.element,me&&M.isDehydrated)if(M={element:B,isDehydrated:!1,cache:W.cache,transitions:W.transitions},u.updateQueue.baseState=M,u.memoizedState=M,u.flags&256){x=Error(o(423)),u=d1(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=d1(c,u,B,m,x);break e}else for(me&&(ir=Jl(u.stateNode.containerInfo),nr=u,vn=!0,Gr=null,Hu=!1),m=bB(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(ec(),B===x){u=Hs(c,u,m);break e}Li(c,u,B,m)}u=u.child}return u;case 5:return PB(u),c===null&&Ym(u),B=u.type,x=u.pendingProps,M=c!==null?c.memoizedProps:null,W=x.children,G(B,x)?W=null:M!==null&&G(B,M)&&(u.flags|=32),A1(c,u),Li(c,u,W,m),u.child;case 6:return c===null&&Ym(u),null;case 13:return p1(c,u,m);case 4:return Xm(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=tc(u,null,B,m):Li(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),a1(c,u,B,x,m);case 7:return Li(c,u,u.pendingProps,m),u.child;case 8:return Li(c,u,u.pendingProps.children,m),u.child;case 12:return Li(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,M=u.memoizedProps,W=x.value,yB(u,B,W),M!==null)if(us(M.value,W)){if(M.children===x.children&&!N.current){u=Hs(c,u,m);break e}}else for(M=u.child,M!==null&&(M.return=u);M!==null;){var oe=M.dependencies;if(oe!==null){W=M.child;for(var Qe=oe.firstContext;Qe!==null;){if(Qe.context===B){if(M.tag===1){Qe=Us(-1,m&-m),Qe.tag=2;var He=M.updateQueue;if(He!==null){He=He.shared;var rt=He.pending;rt===null?Qe.next=Qe:(Qe.next=rt.next,rt.next=Qe),He.pending=Qe}}M.lanes|=m,Qe=M.alternate,Qe!==null&&(Qe.lanes|=m),Fm(M.return,m,u),oe.lanes|=m;break}Qe=Qe.next}}else if(M.tag===10)W=M.type===u.type?null:M.child;else if(M.tag===18){if(W=M.return,W===null)throw Error(o(341));W.lanes|=m,oe=W.alternate,oe!==null&&(oe.lanes|=m),Fm(W,m,u),W=M.sibling}else W=M.child;if(W!==null)W.return=M;else for(W=M;W!==null;){if(W===u){W=null;break}if(M=W.sibling,M!==null){M.return=W.return,W=M;break}W=W.return}M=W}Li(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,jl(u,m),x=yr(x),B=B(x),u.flags|=1,Li(c,u,B,m),u.child;case 14:return B=u.type,x=Hr(B,u.pendingProps),x=Hr(B.type,x),l1(c,u,B,x,m);case 15:return c1(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,jl(u,m),wB(u,B,x),Gm(u,B,x,m),a0(null,u,B,!0,c,m);case 19:return I1(c,u,m);case 22:return u1(c,u,m)}throw Error(o(156,u.tag))};function z1(c,u){return Tm(c,u)}function tL(c,u,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=u,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 wr(c,u,m,B){return new tL(c,u,m,B)}function Q0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function nL(c){if(typeof c=="function")return Q0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===y)return 11;if(c===C)return 14}return 2}function Uo(c,u){var m=c.alternate;return m===null?(m=wr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Xf(c,u,m,B,x,M){var W=2;if(B=c,typeof c=="function")Q0(c)&&(W=1);else if(typeof c=="string")W=5;else e:switch(c){case h:return Va(m.children,x,M,u);case f:W=8,x|=8;break;case d:return c=wr(12,m,u,x|2),c.elementType=d,c.lanes=M,c;case I:return c=wr(13,m,u,x),c.elementType=I,c.lanes=M,c;case p:return c=wr(19,m,u,x),c.elementType=p,c.lanes=M,c;case S:return Kf(m,x,M,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:W=10;break e;case E:W=9;break e;case y:W=11;break e;case C:W=14;break e;case v:W=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=wr(W,m,u,x),u.elementType=c,u.type=B,u.lanes=M,u}function Va(c,u,m,B){return c=wr(7,c,B,u),c.lanes=m,c}function Kf(c,u,m,B){return c=wr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function R0(c,u,m){return c=wr(6,c,null,u),c.lanes=m,c}function D0(c,u,m){return u=wr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function iL(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rm(0),this.expirationTimes=Rm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function V1(c,u,m,B,x,M,W,oe,Qe){return c=new iL(c,u,m,oe,Qe),u===1?(u=1,M===!0&&(u|=8)):u=0,M=wr(3,null,null,u),c.current=M,M.stateNode=c,M.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Om(M),c}function W1(c){if(!c)return Ti;c=c._reactInternals;e:{if(J(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Ne(c,m,u)}return u}function Y1(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=j(u),c===null?null:c.stateNode}function J1(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=He&&M>=Rt&&x<=rt&&W<=yt){c.splice(u,1);break}else if(B!==He||m.width!==Qe.width||ytW){if(!(M!==Rt||m.height!==Qe.height||rtx)){He>B&&(Qe.width+=He-B,Qe.x=B),rtM&&(Qe.height+=Rt-M,Qe.y=M),ytm&&(m=W)),Wv0&&(u.flags|=128,B=!0,Zu(x,!1),u.lanes=4194304)}else{if(!B)if(c=md(M),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),Zu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!M.alternate&&!vn)return Ci(u),null}else 2*si()-x.renderingStartTime>v0&&m!==1073741824&&(u.flags|=128,B=!0,Zu(x,!1),u.lanes=4194304);x.isBackwards?(M.sibling=u.child,u.child=M):(c=x.last,c!==null?c.sibling=M:u.child=M,x.last=M)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=si(),u.sibling=null,c=Sn.current,$e(Sn,B?c&1|2:c&1),u):(Ci(u),null);case 22:case 23:return _0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?sr&1073741824&&(Ci(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):Ci(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var HT=a.ReactCurrentOwner,rr=!1;function Li(c,u,m,B){u.child=c===null?PB(u,null,m,B):tc(u,c.child,m,B)}function l1(c,u,m,B,x){m=m.render;var M=u.ref;return jl(u,x),B=$m(c,u,m,B,M,x),m=e0(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Hs(c,u,x)):(vn&&m&&zm(u),u.flags|=1,Li(c,u,B,x),u.child)}function c1(c,u,m,B,x){if(c===null){var M=m.type;return typeof M=="function"&&!Q0(M)&&M.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=M,u1(c,u,M,B,x)):(c=Jd(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(M=c.child,!(c.lanes&x)){var W=M.memoizedProps;if(m=m.compare,m=m!==null?m:ld,m(W,B)&&c.ref===u.ref)return Hs(c,u,x)}return u.flags|=1,c=Uo(M,B),c.ref=u.ref,c.return=u,u.child=c}function u1(c,u,m,B,x){if(c!==null&&ld(c.memoizedProps,B)&&c.ref===u.ref)if(rr=!1,(c.lanes&x)!==0)c.flags&131072&&(rr=!0);else return u.lanes=c.lanes,Hs(c,u,x);return o0(c,u,m,B,x)}function A1(c,u,m){var B=u.pendingProps,x=B.children,M=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e(sc,sr),sr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=M!==null?M.baseLanes:m,$e(sc,sr),sr|=B;else return c=M!==null?M.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e(sc,sr),sr|=c,null;else M!==null?(B=M.baseLanes|m,u.memoizedState=null):B=m,$e(sc,sr),sr|=B;return Li(c,u,x,m),u.child}function h1(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function o0(c,u,m,B,x){var M=he(m)?ee:L.current;return M=se(u,M),jl(u,x),m=$m(c,u,m,B,M,x),B=e0(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Hs(c,u,x)):(vn&&B&&zm(u),u.flags|=1,Li(c,u,m,x),u.child)}function d1(c,u,m,B,x){if(he(m)){var M=!0;Ue(u)}else M=!1;if(jl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),_B(u,m,B),Gm(u,m,B,x),B=!0;else if(c===null){var W=u.stateNode,oe=u.memoizedProps;W.props=oe;var Qe=W.context,He=m.contextType;typeof He=="object"&&He!==null?He=yr(He):(He=he(m)?ee:L.current,He=se(u,He));var st=m.getDerivedStateFromProps,Rt=typeof st=="function"||typeof W.getSnapshotBeforeUpdate=="function";Rt||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(oe!==B||Qe!==He)&&MB(u,W,B,He),Do=!1;var yt=u.memoizedState;W.state=yt,hd(u,B,W,x),Qe=u.memoizedState,oe!==B||yt!==Qe||N.current||Do?(typeof st=="function"&&(Hm(u,m,st,B),Qe=u.memoizedState),(oe=Do||wB(u,m,oe,B,yt,Qe,He))?(Rt||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"&&(u.flags|=4194308)):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Qe),W.props=B,W.state=Qe,W.context=He,B=oe):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{W=u.stateNode,vB(c,u),oe=u.memoizedProps,He=u.type===u.elementType?oe:Hr(u.type,oe),W.props=He,Rt=u.pendingProps,yt=W.context,Qe=m.contextType,typeof Qe=="object"&&Qe!==null?Qe=yr(Qe):(Qe=he(m)?ee:L.current,Qe=se(u,Qe));var dn=m.getDerivedStateFromProps;(st=typeof dn=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(oe!==Rt||yt!==Qe)&&MB(u,W,B,Qe),Do=!1,yt=u.memoizedState,W.state=yt,hd(u,B,W,x);var dt=u.memoizedState;oe!==Rt||yt!==dt||N.current||Do?(typeof dn=="function"&&(Hm(u,m,dn,B),dt=u.memoizedState),(He=Do||wB(u,m,He,B,yt,dt,Qe)||!1)?(st||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(B,dt,Qe),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(B,dt,Qe)),typeof W.componentDidUpdate=="function"&&(u.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof W.componentDidUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=dt),W.props=B,W.state=dt,W.context=Qe,B=He):(typeof W.componentDidUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&yt===c.memoizedState||(u.flags|=1024),B=!1)}return a0(c,u,m,B,M,x)}function a0(c,u,m,B,x,M){h1(c,u);var W=(u.flags&128)!==0;if(!B&&!W)return x&&Fe(u,m,!1),Hs(c,u,M);B=u.stateNode,HT.current=u;var oe=W&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&W?(u.child=tc(u,c.child,null,M),u.child=tc(u,null,oe,M)):Li(c,u,oe,M),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function f1(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),Xm(c,u.containerInfo)}function p1(c,u,m,B,x){return ec(),Jm(x),u.flags|=256,Li(c,u,m,B),u.child}var _d={dehydrated:null,treeContext:null,retryLane:0};function Md(c){return{baseLanes:c,cachePool:null}}function g1(c,u,m){var B=u.pendingProps,x=Sn.current,M=!1,W=(u.flags&128)!==0,oe;if((oe=W)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(M=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(Sn,x&1),c===null)return Ym(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Ps(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,M?(B=u.mode,M=u.child,x={mode:"hidden",children:x},!(B&1)&&M!==null?(M.childLanes=0,M.pendingProps=x):M=Xd(x,B,0,null),c=Va(c,B,m,null),M.return=u,c.return=u,M.sibling=c,u.child=M,u.child.memoizedState=Md(m),u.memoizedState=_d,c):l0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(W)return u.flags&256?(u.flags&=-257,Qd(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(M=B.fallback,x=u.mode,B=Xd({mode:"visible",children:B.children},x,0,null),M=Va(M,x,m,null),M.flags|=2,B.return=u,M.return=u,B.sibling=M,u.child=B,u.mode&1&&tc(u,c.child,null,m),u.child.memoizedState=Md(m),u.memoizedState=_d,M);if(!(u.mode&1))u=Qd(c,u,m,null);else if(Ps(oe))u=Qd(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,rr||B){if(B=Gn,B!==null){switch(m&-m){case 4:M=2;break;case 16:M=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:M=32;break;case 536870912:M=268435456;break;default:M=0}B=M&(B.suspendedLanes|m)?0:M,B!==0&&B!==x.retryLane&&(x.retryLane=B,Sr(c,B,-1))}M0(),u=Qd(c,u,m,Error(o(421)))}else ss(oe)?(u.flags|=128,u.child=c.child,u=eL.bind(null,c),os(oe,u),u=null):(m=x.treeContext,me&&(ir=Xl(oe),nr=u,vn=!0,Gr=null,Hu=!1,m!==null&&(Cr[vr++]=ks,Cr[vr++]=Fs,Cr[vr++]=Na,ks=m.id,Fs=m.overflow,Na=u)),u=l0(u,u.pendingProps.children),u.flags|=4096);return u}return M?(B=E1(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Md(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=_d,B):(m=m1(c,u,B.children,m),u.memoizedState=null,m)}return M?(B=E1(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Md(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=_d,B):(m=m1(c,u,B.children,m),u.memoizedState=null,m)}function l0(c,u){return u=Xd({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function m1(c,u,m,B){var x=c.child;return c=x.sibling,m=Uo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function E1(c,u,m,B,x){var M=u.mode;c=c.child;var W=c.sibling,oe={mode:"hidden",children:m};return!(M&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Uo(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),W!==null?B=Uo(W,B):(B=Va(B,M,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function Qd(c,u,m,B){return B!==null&&Jm(B),tc(u,c.child,null,m),c=l0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function I1(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Fm(c.return,u,m)}function c0(c,u,m,B,x){var M=c.memoizedState;M===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(M.isBackwards=u,M.rendering=null,M.renderingStartTime=0,M.last=B,M.tail=m,M.tailMode=x)}function y1(c,u,m){var B=u.pendingProps,x=B.revealOrder,M=B.tail;if(Li(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&I1(c,m,u);else if(c.tag===19)I1(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&md(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),c0(u,!1,x,m,M);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&md(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}c0(u,!0,m,null,M);break;case"together":c0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Hs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),oc|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Uo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Uo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function GT(c,u,m){switch(u.tag){case 3:f1(u),ec();break;case 5:NB(u);break;case 1:he(u.type)&&Ue(u);break;case 4:Xm(u,u.stateNode.containerInfo);break;case 10:CB(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?g1(c,u,m):($e(Sn,Sn.current&1),c=Hs(c,u,m),c!==null?c.sibling:null);$e(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return y1(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,A1(c,u,m)}return Hs(c,u,m)}function zT(c,u){switch(Vm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return ic(),At(N),At(L),jm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Km(u),null;case 13:if(At(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));ec()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return At(Sn),null;case 4:return ic(),null;case 10:return km(u.type._context),null;case 22:case 23:return _0(),null;case 24:return null;default:return null}}var Rd=!1,Fa=!1,VT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Dd(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){Xi(c,u,B)}else m.current=null}function u0(c,u,m){try{m()}catch(B){Xi(c,u,B)}}var C1=!1;function WT(c,u){for($(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,M=c.stateNode,W=M.getSnapshotBeforeUpdate(c.elementType===c.type?B:Hr(c.type,B),x);M.__reactInternalSnapshotBeforeUpdate=W}break;case 3:Se&&Ge(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){Xi(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=C1,C1=!1,m}function Oa(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var M=x.destroy;x.destroy=void 0,M!==void 0&&u0(u,m,M)}x=x.next}while(x!==B)}}function $u(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function A0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=re(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function v1(c,u,m){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(od,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,M=x.destroy;x=x.tag,M!==void 0&&(x&2||x&4)&&u0(u,m,M),B=B.next}while(B!==c)}break;case 1:if(Dd(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(W){Xi(u,m,W)}break;case 5:Dd(u,m);break;case 4:Se?M1(c,u,m):H&&H&&(u=u.stateNode.containerInfo,m=rt(u),nn(u,m))}}function B1(c,u,m){for(var B=u;;)if(v1(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function x1(c){var u=c.alternate;u!==null&&(c.alternate=null,x1(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 S1(c){return c.tag===5||c.tag===3||c.tag===4}function w1(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||S1(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 _1(c){if(Se){e:{for(var u=c.return;u!==null;){if(S1(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Vt(u),m.flags&=-33),m=w1(c),d0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=w1(c),h0(c,m,u);break;default:throw Error(o(161))}}}function h0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?at(m,c,u):mt(m,c);else if(B!==4&&(c=c.child,c!==null))for(h0(c,u,m),c=c.sibling;c!==null;)h0(c,u,m),c=c.sibling}function d0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?gt(m,c,u):lt(m,c);else if(B!==4&&(c=c.child,c!==null))for(d0(c,u,m),c=c.sibling;c!==null;)d0(c,u,m),c=c.sibling}function M1(c,u,m){for(var B=u,x=!1,M,W;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(M=x.stateNode,x.tag){case 5:W=!1;break e;case 3:M=M.containerInfo,W=!0;break e;case 4:M=M.containerInfo,W=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)B1(c,B,m),W?vt(M,B.stateNode):tt(M,B.stateNode);else if(B.tag===18)W?ye(M,B.stateNode):we(M,B.stateNode);else if(B.tag===4){if(B.child!==null){M=B.stateNode.containerInfo,W=!0,B.child.return=B,B=B.child;continue}}else if(v1(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function f0(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:Oa(3,u,u.return),$u(3,u),Oa(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,M=u.updateQueue;u.updateQueue=null,M!==null&&Mt(m,M,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,be(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Td(u);return;case 19:Td(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Oa(3,u,u.return),$u(3,u),Oa(5,u,u.return);return;case 12:return;case 13:Td(u);return;case 19:Td(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(H){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,nn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Td(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new VT),u.forEach(function(B){var x=tL.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function YT(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case bd:return":has("+(m0(c)||"")+")";case Pd:return'[role="'+c.value+'"]';case Ud:return'"'+c.value+'"';case Nd:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function L1(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=W),B&=~M}if(B=x,B=si()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*XT(B/1960))-B,10c?16:c,bo===null)var B=!1;else{if(c=bo,bo=null,Gd=0,kt&6)throw Error(o(331));var x=kt;for(kt|=4,Ke=c.current;Ke!==null;){var M=Ke,W=M.child;if(Ke.flags&16){var oe=M.deletions;if(oe!==null){for(var Qe=0;Qesi()-C0?Ha(c,0):y0|=m),Ji(c,u)}function G1(c,u){u===0&&(c.mode&1?(u=ri,ri<<=1,!(ri&130023424)&&(ri=4194304)):u=1);var m=bi();c=Wd(c,u),c!==null&&(Ou(c,u,m),Ji(c,m))}function eL(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),G1(c,m)}function tL(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),G1(c,m)}var z1;z1=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||N.current)rr=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return rr=!1,GT(c,u,m);rr=!!(c.flags&131072)}else rr=!1,vn&&u.flags&1048576&&QB(u,pd,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=se(u,L.current);jl(u,m),x=$m(null,u,B,c,x,m);var M=e0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(M=!0,Ue(u)):M=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Om(u),x.updater=dd,u.stateNode=x,x._reactInternals=u,Gm(u,B,c,m),u=a0(null,u,B,!0,M,m)):(u.tag=0,vn&&M&&zm(u),Li(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=iL(B),c=Hr(B,c),x){case 0:u=o0(null,u,B,c,m);break e;case 1:u=d1(null,u,B,c,m);break e;case 11:u=l1(null,u,B,c,m);break e;case 14:u=c1(null,u,B,Hr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),o0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),d1(c,u,B,x,m);case 3:e:{if(f1(u),c===null)throw Error(o(387));B=u.pendingProps,M=u.memoizedState,x=M.element,vB(c,u),hd(u,B,null,m);var W=u.memoizedState;if(B=W.element,me&&M.isDehydrated)if(M={element:B,isDehydrated:!1,cache:W.cache,transitions:W.transitions},u.updateQueue.baseState=M,u.memoizedState=M,u.flags&256){x=Error(o(423)),u=p1(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=p1(c,u,B,m,x);break e}else for(me&&(ir=Jl(u.stateNode.containerInfo),nr=u,vn=!0,Gr=null,Hu=!1),m=PB(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(ec(),B===x){u=Hs(c,u,m);break e}Li(c,u,B,m)}u=u.child}return u;case 5:return NB(u),c===null&&Ym(u),B=u.type,x=u.pendingProps,M=c!==null?c.memoizedProps:null,W=x.children,G(B,x)?W=null:M!==null&&G(B,M)&&(u.flags|=32),h1(c,u),Li(c,u,W,m),u.child;case 6:return c===null&&Ym(u),null;case 13:return g1(c,u,m);case 4:return Xm(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=tc(u,null,B,m):Li(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),l1(c,u,B,x,m);case 7:return Li(c,u,u.pendingProps,m),u.child;case 8:return Li(c,u,u.pendingProps.children,m),u.child;case 12:return Li(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,M=u.memoizedProps,W=x.value,CB(u,B,W),M!==null)if(us(M.value,W)){if(M.children===x.children&&!N.current){u=Hs(c,u,m);break e}}else for(M=u.child,M!==null&&(M.return=u);M!==null;){var oe=M.dependencies;if(oe!==null){W=M.child;for(var Qe=oe.firstContext;Qe!==null;){if(Qe.context===B){if(M.tag===1){Qe=Us(-1,m&-m),Qe.tag=2;var He=M.updateQueue;if(He!==null){He=He.shared;var st=He.pending;st===null?Qe.next=Qe:(Qe.next=st.next,st.next=Qe),He.pending=Qe}}M.lanes|=m,Qe=M.alternate,Qe!==null&&(Qe.lanes|=m),Fm(M.return,m,u),oe.lanes|=m;break}Qe=Qe.next}}else if(M.tag===10)W=M.type===u.type?null:M.child;else if(M.tag===18){if(W=M.return,W===null)throw Error(o(341));W.lanes|=m,oe=W.alternate,oe!==null&&(oe.lanes|=m),Fm(W,m,u),W=M.sibling}else W=M.child;if(W!==null)W.return=M;else for(W=M;W!==null;){if(W===u){W=null;break}if(M=W.sibling,M!==null){M.return=W.return,W=M;break}W=W.return}M=W}Li(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,jl(u,m),x=yr(x),B=B(x),u.flags|=1,Li(c,u,B,m),u.child;case 14:return B=u.type,x=Hr(B,u.pendingProps),x=Hr(B.type,x),c1(c,u,B,x,m);case 15:return u1(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Hr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,jl(u,m),_B(u,B,x),Gm(u,B,x,m),a0(null,u,B,!0,c,m);case 19:return y1(c,u,m);case 22:return A1(c,u,m)}throw Error(o(156,u.tag))};function V1(c,u){return Tm(c,u)}function nL(c,u,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=u,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 wr(c,u,m,B){return new nL(c,u,m,B)}function Q0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function iL(c){if(typeof c=="function")return Q0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===C)return 11;if(c===y)return 14}return 2}function Uo(c,u){var m=c.alternate;return m===null?(m=wr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Jd(c,u,m,B,x,M){var W=2;if(B=c,typeof c=="function")Q0(c)&&(W=1);else if(typeof c=="string")W=5;else e:switch(c){case h:return Va(m.children,x,M,u);case d:W=8,x|=8;break;case f:return c=wr(12,m,u,x|2),c.elementType=f,c.lanes=M,c;case I:return c=wr(13,m,u,x),c.elementType=I,c.lanes=M,c;case p:return c=wr(19,m,u,x),c.elementType=p,c.lanes=M,c;case S:return Xd(m,x,M,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:W=10;break e;case E:W=9;break e;case C:W=11;break e;case y:W=14;break e;case v:W=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=wr(W,m,u,x),u.elementType=c,u.type=B,u.lanes=M,u}function Va(c,u,m,B){return c=wr(7,c,B,u),c.lanes=m,c}function Xd(c,u,m,B){return c=wr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function R0(c,u,m){return c=wr(6,c,null,u),c.lanes=m,c}function D0(c,u,m){return u=wr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function rL(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rm(0),this.expirationTimes=Rm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function W1(c,u,m,B,x,M,W,oe,Qe){return c=new rL(c,u,m,oe,Qe),u===1?(u=1,M===!0&&(u|=8)):u=0,M=wr(3,null,null,u),c.current=M,M.stateNode=c,M.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Om(M),c}function Y1(c){if(!c)return Ti;c=c._reactInternals;e:{if(J(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Ne(c,m,u)}return u}function J1(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=j(u),c===null?null:c.stateNode}function X1(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=He&&M>=Rt&&x<=st&&W<=yt){c.splice(u,1);break}else if(B!==He||m.width!==Qe.width||ytW){if(!(M!==Rt||m.height!==Qe.height||stx)){He>B&&(Qe.width+=He-B,Qe.x=B),stM&&(Qe.height+=Rt-M,Qe.y=M),ytm&&(m=W)),W ")+` 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 se(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:rL,findFiberByHostInstance:c.findFiberByHostInstance||sL,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{af=u.inject(c),cs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=E0(c,u);var x=je(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=Zt;try{return Zt=c,u()}finally{Zt=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,M=bi(),W=Po(x);return m=W1(m),u.context===null?u.context=m:u.pendingContext=m,u=Us(M,W),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),To(x,u),c=Sr(x,W,M),c!==null&&hf(c,x,W),W},t};uD.exports=SH;var wH=uD.exports;const _H=IC(wH),MH=n=>typeof n=="object"&&typeof n.then=="function",El=[];function fD(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=El.indexOf(r);s!==-1&&El.splice(s,1)},promise:(MH(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(El.push(r),!t)throw r.promise}const QH=(n,e,t)=>dD(n,e,!1,t),RH=(n,e,t)=>void dD(n,e,!0,t),DH=n=>{if(n===void 0||n.length===0)El.splice(0,El.length);else{const e=El.find(t=>fD(n,t.keys,t.equal));e&&e.remove()}},nB={},TH=n=>void Object.assign(nB,n);function LH(n,e){function t(h,{args:f=[],attach:d,...g},E){let y=`${h[0].toUpperCase()}${h.slice(1)}`,I;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;I=Oc(p,{type:h,root:E,attach:d,primitive:!0})}else{const p=nB[y];if(!p)throw new Error(`R3F: ${y} 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(f))throw new Error("R3F: The args prop must be an array!");I=Oc(new p(...f),{type:h,root:E,attach:d,memoizedProps:{args:f}})}return I.__r3f.attach===void 0&&(I instanceof bt?I.__r3f.attach="geometry":I instanceof ui&&(I.__r3f.attach="material")),y!=="inject"&&VE(I,g),I}function i(h,f){let d=!1;if(f){var g,E;(g=f.__r3f)!=null&&g.attach?zE(h,f,f.__r3f.attach):f.isObject3D&&h.isObject3D&&(h.add(f),d=!0),d||(E=h.__r3f)==null||E.objects.push(f),f.__r3f||Oc(f,{}),f.__r3f.parent=h,aC(f),Hc(f)}}function r(h,f,d){let g=!1;if(f){var E,y;if((E=f.__r3f)!=null&&E.attach)zE(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){f.parent=h,f.dispatchEvent({type:"added"});const I=h.children.filter(C=>C!==f),p=I.indexOf(d);h.children=[...I.slice(0,p),f,...I.slice(p)],g=!0}g||(y=h.__r3f)==null||y.objects.push(f),f.__r3f||Oc(f,{}),f.__r3f.parent=h,aC(f),Hc(f)}}function s(h,f,d=!1){h&&[...h].forEach(g=>o(f,g,d))}function o(h,f,d){if(f){var g,E,y;if(f.__r3f&&(f.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==f)),(E=f.__r3f)!=null&&E.attach)Fw(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){var I;h.remove(f),(I=f.__r3f)!=null&&I.root&&HH(f.__r3f.root,f)}const C=(y=f.__r3f)==null?void 0:y.primitive,v=!C&&(d===void 0?f.dispose!==null:d);if(!C){var p;s((p=f.__r3f)==null?void 0:p.objects,f,v),s(f.children,f,v)}if(delete f.__r3f,v&&f.dispose&&f.type!=="Scene"){const S=()=>{try{f.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?sC.unstable_scheduleCallback(sC.unstable_IdlePriority,S):S()}Hc(h)}}function a(h,f,d,g){var E;const y=(E=h.__r3f)==null?void 0:E.parent;if(!y)return;const I=t(f,d,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(I,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(I,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(y,h),I.parent&&(I.__r3f.autoRemovedBeforeAppend=!0),i(y,I),I.raycast&&I.__r3f.eventCount&&I.__r3f.root.getState().internal.interaction.push(I),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=I,p.ref&&(typeof p.ref=="function"?p.ref(I):p.ref.current=I))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:_H({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,f)=>{if(!f)return;const d=h.getState().scene;d.__r3f&&(d.__r3f.root=h,i(d,f))},removeChildFromContainer:(h,f)=>{f&&o(h.getState().scene,f)},insertInContainerBefore:(h,f,d)=>{if(!f||!d)return;const g=h.getState().scene;g.__r3f&&r(g,f,d)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var f;return!!((f=h?.__r3f)!=null?f:{}).handlers},prepareUpdate(h,f,d,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:I=[],children:p,...C}=g,{args:v=[],children:S,...Q}=d;if(!Array.isArray(I))throw new Error("R3F: the args prop must be an array!");if(I.some((D,U)=>D!==v[U]))return[!0];const R=CD(h,C,Q,!0);return R.changes.length?[!1,R]:null}},commitUpdate(h,[f,d],g,E,y,I){f?a(h,g,y,I):VE(h,d)},commitMount(h,f,d,g){var E;const y=(E=h.__r3f)!=null?E:{};h.raycast&&y.handlers&&y.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>Oc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var f;const{attach:d,parent:g}=(f=h.__r3f)!=null?f:{};d&&g&&Fw(g,h,d),h.isObject3D&&(h.visible=!1),Hc(h)},unhideInstance(h,f){var d;const{attach:g,parent:E}=(d=h.__r3f)!=null?d:{};g&&E&&zE(E,h,g),(h.isObject3D&&f.visible==null||f.visible)&&(h.visible=!0),Hc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():ru.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&In.fun(performance.now)?performance.now:In.fun(Date.now)?Date.now:()=>0,scheduleTimeout:In.fun(setTimeout)?setTimeout:void 0,cancelTimeout:In.fun(clearTimeout)?clearTimeout:void 0}),applyProps:VE}}var Pw,Nw;const GE=n=>"colorSpace"in n||"outputColorSpace"in n,pD=()=>{var n;return(n=nB.ColorManagement)!=null?n:null},gD=n=>n&&n.isOrthographicCamera,bH=n=>n&&n.hasOwnProperty("current"),Zh=typeof window<"u"&&((Pw=window.document)!=null&&Pw.createElement||((Nw=window.navigator)==null?void 0:Nw.product)==="ReactNative")?$.useLayoutEffect:$.useEffect;function mD(n){const e=$.useRef(n);return Zh(()=>void(e.current=n),[n]),e}function PH({set:n}){return Zh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class ED extends $.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}ED.getDerivedStateFromError=()=>({error:!0});const ID="__default",Uw=new Map,NH=n=>n&&!!n.memoized&&!!n.changes;function yD(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 BA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},In={obj:n=>n===Object(n)&&!In.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(In.str(n)||In.num(n))return n===e;const s=In.obj(n);if(s&&i==="reference")return n===e;const o=In.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(!In.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(In.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 UH(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 kH(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Oc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function oC(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 kw=/-\d+$/;function zE(n,e,t){if(In.str(t)){if(kw.test(t)){const s=t.replace(kw,""),{target:o,key:a}=oC(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=oC(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function Fw(n,e,t){var i,r;if(In.str(t)){const{target:s,key:o}=oC(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 CD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const f=(h=n?.__r3f)!=null?h:{},d=Object.entries(r),g=[];if(A){const y=Object.keys(l);for(let I=0;I{var p;if((p=n.__r3f)!=null&&p.primitive&&y==="object"||In.equ(I,l[y]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(y))return g.push([y,I,!0,[]]);let C=[];y.includes("-")&&(C=y.split("-")),g.push([y,I,!1,C]);for(const v in r){const S=r[v];v.startsWith(`${y}-`)&&g.push([v,S,!1,v.split("-")])}});const E={...r};return f.memoizedProps&&f.memoizedProps.args&&(E.args=f.memoizedProps.args),f.memoizedProps&&f.memoizedProps.attach&&(E.attach=f.memoizedProps.attach),{memoized:E,changes:g}}const FH=typeof process<"u"&&!1;function VE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=NH(e)?e:CD(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let d=0;dv[S],n),!(C&&C.set))){const[v,...S]=I.reverse();p=S.reverse().reduce((Q,R)=>Q[R],n),g=v}if(E===ID+"remove")if(p.constructor){let v=Uw.get(p.constructor);v||(v=new p.constructor,Uw.set(p.constructor,v)),E=v[g]}else E=0;if(y)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(C&&C.set&&(C.copy||C instanceof xl)){if(Array.isArray(E))C.fromArray?C.fromArray(E):C.set(...E);else if(C.copy&&E&&E.constructor&&(FH?C.constructor.name===E.constructor.name:C.constructor===E.constructor))C.copy(E);else if(E!==void 0){const v=C instanceof qe;!v&&C.setScalar?C.setScalar(E):C instanceof xl&&E instanceof xl?C.mask=E.mask:C.set(E),!pD()&&!a.linear&&v&&C.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof xn&&p[g].format===ki&&p[g].type===Ms){const v=p[g];GE(v)&&GE(a.gl)?v.colorSpace=a.gl.outputColorSpace:v.encoding=a.gl.outputEncoding}Hc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const d=a.internal.interaction.indexOf(n);d>-1&&a.internal.interaction.splice(d,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&aC(n),n}function Hc(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 aC(n){n.onUpdate==null||n.onUpdate(n)}function vD(n,e){n.manual||(gD(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 rp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function OH(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return ru.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return ru.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return ru.ContinuousEventPriority;default:return ru.DefaultEventPriority}}function BD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function HH(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)=>{BD(t.capturedMap,e,i,r)})}function GH(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],f=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+f*f))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var f;return(f=A.__r3f)==null?void 0:f.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),f=new Set,d=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const v=BA(p.object),S=BA(C.object);return!v||!S?p.distance-C.distance:S.events.priority-v.events.priority||p.distance-C.distance}).filter(p=>{const C=rp(p);return f.has(C)?!1:(f.add(C),!0)});h.events.filter&&(y=h.events.filter(y,h));for(const p of y){let C=p.object;for(;C;){var I;(I=C.__r3f)!=null&&I.eventCount&&d.push({...p,eventObject:C}),C=C.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())f.has(rp(p.intersection))||d.push(p.intersection);return d}function r(l,A,h,f){const d=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const y=BA(E.object)||d,{raycaster:I,pointer:p,camera:C,internal:v}=y,S=new F(p.x,p.y,0).unproject(C),Q=_=>{var b,j;return(b=(j=v.capturedMap.get(_))==null?void 0:j.has(E.eventObject))!=null?b:!1},R=_=>{const b={intersection:E,target:A.target};v.capturedMap.has(_)?v.capturedMap.get(_).set(E.eventObject,b):v.capturedMap.set(_,new Map([[E.eventObject,b]])),A.target.setPointerCapture(_)},D=_=>{const b=v.capturedMap.get(_);b&&BD(v.capturedMap,E.eventObject,b,_)};let U={};for(let _ in A){let b=A[_];typeof b!="function"&&(U[_]=b)}let J={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:I.ray,camera:C,stopPropagation(){const _="pointerId"in A&&v.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(J.stopped=g.stopped=!0,v.hovered.size&&Array.from(v.hovered.values()).find(b=>b.eventObject===E.eventObject))){const b=l.slice(0,l.indexOf(E));s([...b,E])}},target:{hasPointerCapture:Q,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:Q,setPointerCapture:R,releasePointerCapture:D},nativeEvent:A};if(f(J),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(f=>f.object===h.object&&f.index===h.index&&f.instanceId===h.instanceId)){const d=h.eventObject.__r3f,g=d?.handlers;if(A.hovered.delete(rp(h)),d!=null&&d.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:f,internal:d}=n.getState();d.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",I=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(d.initialClick=[h.offsetX,h.offsetY],d.initialHits=I.map(v=>v.eventObject)),E&&!I.length&&p<=2&&(o(h,d.interaction),f&&f(h)),g&&s(I);function C(v){const S=v.eventObject,Q=S.__r3f,R=Q?.handlers;if(Q!=null&&Q.eventCount)if(g){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=rp(v),U=d.hovered.get(D);U?U.stopped&&v.stopPropagation():(d.hovered.set(D,v),R.onPointerOver==null||R.onPointerOver(v),R.onPointerEnter==null||R.onPointerEnter(v))}R.onPointerMove==null||R.onPointerMove(v)}else{const D=R[l];D?(!E||d.initialHits.includes(S))&&(o(h,d.interaction.filter(U=>!d.initialHits.includes(U))),D(v)):E&&d.initialHits.includes(S)&&o(h,d.interaction.filter(U=>!d.initialHits.includes(U)))}}r(I,h,p,C)}}return{handlePointer:a}}const zH=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],xD=n=>!!(n!=null&&n.render),iB=$.createContext(null),VH=(n,e)=>{const t=cD((a,l)=>{const A=new F,h=new F,f=new F;function d(p=l().camera,C=h,v=l().size){const{width:S,height:Q,top:R,left:D}=v,U=S/Q;C instanceof F?f.copy(C):f.set(...C);const J=p.getWorldPosition(A).distanceTo(f);if(gD(p))return{width:S/p.zoom,height:Q/p.zoom,top:R,left:D,factor:1,distance:J,aspect:U};{const _=p.fov*Math.PI/180,b=2*Math.tan(_/2)*J,j=b*(S/Q);return{width:j,height:b,top:R,left:D,factor:S/j,distance:J,aspect:U}}}let g;const E=p=>a(C=>({performance:{...C.performance,current:p}})),y=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,C)=>e(p,C,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new Zv,pointer:y,mouse:y,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:p=>a(C=>({...C,events:{...C.events,...p}})),setSize:(p,C,v,S,Q)=>{const R=l().camera,D={width:p,height:C,top:S||0,left:Q||0,updateStyle:v};a(U=>({size:D,viewport:{...U.viewport,...d(R,h,D)}}))},setDpr:p=>a(C=>{const v=yD(p);return{viewport:{...C.viewport,dpr:v,initialDpr:C.viewport.initialDpr||v}}}),setFrameloop:(p="always")=>{const C=l().clock;C.stop(),C.elapsedTime=0,p!=="never"&&(C.start(),C.elapsedTime=0),a(()=>({frameloop:p}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:$.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(p,C,v)=>{const S=l().internal;return S.priority=S.priority+(C>0?1:0),S.subscribers.push({ref:p,priority:C,store:v}),S.subscribers=S.subscribers.sort((Q,R)=>Q.priority-R.priority),()=>{const Q=l().internal;Q!=null&&Q.subscribers&&(Q.priority=Q.priority-(C>0?1:0),Q.subscribers=Q.subscribers.filter(R=>R.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:f}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var d;r=l,s=A.dpr,vD(a,l),h.setPixelRatio(A.dpr);const g=(d=l.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,f(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let sp,WH=new Set,YH=new Set,JH=new Set;function WE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function xA(n,e){switch(n){case"before":return WE(WH,e);case"after":return WE(YH,e);case"tail":return WE(JH,e)}}let YE,JE;function XE(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),YE=e.internal.subscribers,sp=0;sp0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=XE(l,r))}if(xA("after",l),t===0)return xA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(f=>o(f.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,f){if(A&&xA("before",l),h)XE(l,h,f);else for(const d of n.values())XE(l,d.store.getState());A&&xA("after",l)}return{loop:s,invalidate:o,advance:a}}function Ts(){const n=$.useContext(iB);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function rB(n=t=>t,e){return Ts()(n,e)}function $h(n,e=0){const t=Ts(),i=t.getState().internal.subscribe,r=mD(n);return Zh(()=>i(r,e,t),[e,i,t]),null}const Ow=new WeakMap;function SD(n,e){return function(t,...i){let r=Ow.get(t);return r||(r=new t,Ow.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,UH(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function sB(n,e,t,i){const r=Array.isArray(e)?e:[e],s=QH(SD(t,i),[n,...r],{equal:In.equ});return Array.isArray(e)?s:s[0]}sB.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return RH(SD(t),[n,...i])};sB.clear=function(n,e){const t=Array.isArray(e)?e:[e];return DH([n,...t])};const Bu=new Map,{invalidate:Hw,advance:Gw}=XH(Bu),{reconciler:Lh,applyProps:Rc}=LH(Bu,OH),Dc={objects:"shallow",strict:!1},KH=(n,e)=>{const t=typeof n=="function"?n(e):n;return xD(t)?t:new bv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function qH(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 jH(n){const e=Bu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||VH(Hw,Gw),o=t||Lh.createContainer(s,ru.ConcurrentRoot,null,!1,null,"",r,null);e||Bu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:f,size:d,scene:g,events:E,onCreated:y,shadows:I=!1,linear:p=!1,flat:C=!1,legacy:v=!1,orthographic:S=!1,frameloop:Q="always",dpr:R=[1,2],performance:D,raycaster:U,camera:J,onPointerMissed:_}=h,b=s.getState(),j=b.gl;b.gl||b.set({gl:j=KH(f,n)});let fe=b.raycaster;fe||b.set({raycaster:fe=new jh});const{params:Y,...le}=U||{};if(In.equ(le,fe,Dc)||Rc(fe,{...le}),In.equ(Y,fe.params,Dc)||Rc(fe,{params:{...fe.params,...Y}}),!b.camera||b.camera===A&&!In.equ(A,J,Dc)){A=J;const _e=J instanceof Vh,ke=_e?J:S?new Qu(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(ke.position.z=5,J&&Rc(ke,J),!b.camera&&!(J!=null&&J.rotation)&&ke.lookAt(0,0,0)),b.set({camera:ke}),fe.camera=ke}if(!b.scene){let _e;g instanceof Sh?_e=g:(_e=new Sh,g&&Rc(_e,g)),b.set({scene:Oc(_e)})}if(!b.xr){var se;const _e=(G,O)=>{const P=s.getState();P.frameloop!=="never"&&Gw(G,!0,P,O)},ke=()=>{const G=s.getState();G.gl.xr.enabled=G.gl.xr.isPresenting,G.gl.xr.setAnimationLoop(G.gl.xr.isPresenting?_e:null),G.gl.xr.isPresenting||Hw(G)},V={connect(){const G=s.getState().gl;G.xr.addEventListener("sessionstart",ke),G.xr.addEventListener("sessionend",ke)},disconnect(){const G=s.getState().gl;G.xr.removeEventListener("sessionstart",ke),G.xr.removeEventListener("sessionend",ke)}};typeof((se=j.xr)==null?void 0:se.addEventListener)=="function"&&V.connect(),b.set({xr:V})}if(j.shadowMap){const _e=j.shadowMap.enabled,ke=j.shadowMap.type;if(j.shadowMap.enabled=!!I,In.boo(I))j.shadowMap.type=GA;else if(In.str(I)){var de;const V={basic:ZQ,percentage:Fg,soft:GA,variance:Xr};j.shadowMap.type=(de=V[I])!=null?de:GA}else In.obj(I)&&Object.assign(j.shadowMap,I);(_e!==j.shadowMap.enabled||ke!==j.shadowMap.type)&&(j.shadowMap.needsUpdate=!0)}const k=pD();k&&("enabled"in k?k.enabled=!v:"legacyMode"in k&&(k.legacyMode=v)),Rc(j,{outputEncoding:p?3e3:3001,toneMapping:C?_s:pv}),b.legacy!==v&&b.set(()=>({legacy:v})),b.linear!==p&&b.set(()=>({linear:p})),b.flat!==C&&b.set(()=>({flat:C})),f&&!In.fun(f)&&!xD(f)&&!In.equ(f,j,Dc)&&Rc(j,f),E&&!b.events.handlers&&b.set({events:E(s)});const Ae=qH(n,d);return In.equ(Ae,b.size,Dc)||b.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),R&&b.viewport.dpr!==yD(R)&&b.setDpr(R),b.frameloop!==Q&&b.setFrameloop(Q),b.onPointerMissed||b.set({onPointerMissed:_}),D&&!In.equ(D,b.performance,Dc)&&b.set(_e=>({performance:{..._e.performance,...D}})),a=y,l=!0,this},render(h){return l||this.configure(),Lh.updateContainer($.createElement(ZH,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){wD(n)}}}function ZH({store:n,children:e,onCreated:t,rootElement:i}){return Zh(()=>{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)},[]),$.createElement(iB.Provider,{value:n},e)}function wD(n,e){const t=Bu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),Lh.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(),kH(r),Bu.delete(n),e&&e(n)}catch{}},500)})}}function _D(n,e,t){return $.createElement($H,{key:e.uuid,children:n,container:e,state:t})}function $H({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Ts(),[a]=$.useState(()=>new jh),[l]=$.useState(()=>new ve),A=$.useCallback((f,d)=>{const g={...f};Object.keys(f).forEach(y=>{(zH.includes(y)||f[y]!==d[y]&&d[y])&&delete g[y]});let E;if(d&&r){const y=d.camera;E=f.viewport.getCurrentViewport(y,new F,r),y!==f.camera&&vD(y,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...d?.events,...i},size:{...f.size,...r},viewport:{...f.viewport,...E},...s}},[n]),[h]=$.useState(()=>{const f=o.getState();return cD((g,E)=>({...f,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...i},size:{...f.size,...r},...s,set:g,get:E,setEvents:y=>g(I=>({...I,events:{...I.events,...y}}))}))});return $.useEffect(()=>{const f=o.subscribe(d=>h.setState(g=>A(d,g)));return()=>{f(),h.destroy()}},[]),$.useEffect(()=>{h.setState(f=>A(o.getState(),f))},[A]),$.createElement($.Fragment,null,Lh.createPortal($.createElement(iB.Provider,{value:h},e),h,null))}Lh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:$.version});function Eg(){return Eg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}lC.debounce=lC;var eG=lC;const zw=IC(eG);function tG(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]=$.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=$.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,f=$.useRef(!1);$.useEffect(()=>(f.current=!0,()=>void(f.current=!1)));const[d,g,E]=$.useMemo(()=>{const C=()=>{if(!l.current.element)return;const{left:v,top:S,width:Q,height:R,bottom:D,right:U,x:J,y:_}=l.current.element.getBoundingClientRect(),b={left:v,top:S,width:Q,height:R,bottom:D,right:U,x:J,y:_};l.current.element instanceof HTMLElement&&r&&(b.height=l.current.element.offsetHeight,b.width=l.current.element.offsetWidth),Object.freeze(b),f.current&&!sG(l.current.lastBounds,b)&&a(l.current.lastBounds=b)};return[C,h?zw(C,h):C,A?zw(C,A):C]},[a,r,A,h]);function y(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(C=>C.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function I(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(C=>C.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=C=>{!C||C===l.current.element||(y(),l.current.element=C,l.current.scrollContainers=MD(C),I())};return iG(E,!!t),nG(g),$.useEffect(()=>{y(),I()},[t,E,g]),$.useEffect(()=>y,[]),[p,o,d]}function nG(n){$.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function iG(n,e){$.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function MD(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,...MD(n.parentElement)]}const rG=["x","y","top","bottom","left","right","width","height"],sG=(n,e)=>rG.every(t=>n[t]===e[t]);var oG=Object.defineProperty,aG=Object.defineProperties,lG=Object.getOwnPropertyDescriptors,Vw=Object.getOwnPropertySymbols,cG=Object.prototype.hasOwnProperty,uG=Object.prototype.propertyIsEnumerable,Ww=(n,e,t)=>e in n?oG(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Yw=(n,e)=>{for(var t in e||(e={}))cG.call(e,t)&&Ww(n,t,e[t]);if(Vw)for(var t of Vw(e))uG.call(e,t)&&Ww(n,t,e[t]);return n},AG=(n,e)=>aG(n,lG(e));function QD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=QD(i,e,t);if(r)return r;i=e?null:i.sibling}}function RD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const oB=RD($.createContext(null));class DD extends $.Component{render(){return $.createElement(oB.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:Jw,ReactCurrentDispatcher:Xw}=$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function hG(){const n=$.useContext(oB);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=$.useId();return $.useMemo(()=>{for(const i of[Jw?.current,n,n?.alternate]){if(!i)continue;const r=QD(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 fG(){var n,e;const t=hG(),[i]=$.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==oB&&!i.has(s)&&i.set(s,(e=Xw?.current)==null?void 0:e.readContext(RD(s))),r=r.return}return i}function dG(){const n=fG();return $.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>$.createElement(e,null,$.createElement(t.Provider,AG(Yw({},i),{value:n.get(t)}))),e=>$.createElement(DD,Yw({},e))),[n])}const KE={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 pG(n){const{handlePointer:e}=GH(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(KE).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,A]=KE[o];t.addEventListener(l,a,{passive:A})})},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]=KE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const gG=$.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=pG,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:y,performance:I,raycaster:p,camera:C,scene:v,onPointerMissed:S,onCreated:Q,...R},D){$.useMemo(()=>TH(vH),[]);const U=dG(),[J,_]=tG({scroll:!0,debounce:{scroll:50,resize:0},...i}),b=$.useRef(null),j=$.useRef(null);$.useImperativeHandle(D,()=>b.current);const fe=mD(S),[Y,le]=$.useState(!1),[se,de]=$.useState(!1);if(Y)throw Y;if(se)throw se;const k=$.useRef(null);Zh(()=>{const ne=b.current;_.width>0&&_.height>0&&ne&&(k.current||(k.current=jH(ne)),k.current.configure({gl:s,events:o,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:y,performance:I,raycaster:p,camera:C,scene:v,size:_,onPointerMissed:(...Ae)=>fe.current==null?void 0:fe.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?bH(a)?a.current:a:j.current),l&&Ae.setEvents({compute:(_e,ke)=>{const V=_e[l+"X"],G=_e[l+"Y"];ke.pointer.set(V/ke.size.width*2-1,-(G/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),Q?.(Ae)}}),k.current.render($.createElement(U,null,$.createElement(ED,{set:de},$.createElement($.Suspense,{fallback:$.createElement(PH,{set:le})},e)))))}),$.useEffect(()=>{const ne=b.current;if(ne)return()=>wD(ne)},[]);const Z=a?"none":"auto";return $.createElement("div",Eg({ref:j,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:Z,...r}},R),$.createElement("div",{ref:J,style:{width:"100%",height:"100%"}},$.createElement("canvas",{ref:b,style:{display:"block"}},t)))}),mG=$.forwardRef(function(e,t){return $.createElement(DD,null,$.createElement(gG,Eg({},e,{ref:t})))}),EG=$.createContext(null);function TD(){return $.useContext(EG)}const LD=$.createContext(void 0);function Qa(){const n=$.useContext(LD);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const bu=LD.Provider;function dm(){throw new Error("Cycle detected")}var IG=Symbol.for("preact-signals");function pm(){if(ga>1)ga--;else{for(var n,e=!1;JA!==void 0;){var t=JA;for(JA=void 0,cC++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&ND(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(cC=0,ga--,e)throw n}}function bD(n){if(ga>0)return n();ga++;try{return n()}finally{pm()}}var En=void 0,qE=0;function yG(n){if(qE>0)return n();var e=En;En=void 0,qE++;try{return n()}finally{qE--,En=e}}var JA=void 0,ga=0,cC=0,Ig=0;function PD(n){if(En!==void 0){var e=n.n;if(e===void 0||e.t!==En)return e={i:0,S:n,p:En.s,n:void 0,t:En,e:void 0,x:void 0,r:e},En.s!==void 0&&(En.s.n=e),En.s=e,n.n=e,32&En.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=En.s,e.n=void 0,En.s.n=e,En.s=e),e}}function ti(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ti.prototype.brand=IG;ti.prototype.h=function(){return!0};ti.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ti.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ti.prototype.subscribe=function(n){var e=this;return At(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ti.prototype.valueOf=function(){return this.value};ti.prototype.toString=function(){return this.value+""};ti.prototype.toJSON=function(){return this.value};ti.prototype.peek=function(){return this.v};Object.defineProperty(ti.prototype,"value",{get:function(){var n=PD(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(En instanceof Ra&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){cC>100&&dm(),this.v=n,this.i++,Ig++,ga++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{pm()}}}});function nt(n){return new ti(n)}function ND(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function UD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function kD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Ra(n){ti.call(this,void 0),this.x=n,this.s=void 0,this.g=Ig-1,this.f=4}(Ra.prototype=new ti).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Ig))return!0;if(this.g=Ig,this.f|=1,this.i>0&&!ND(this))return this.f&=-2,!0;var n=En;try{UD(this),En=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return En=n,kD(this),this.f&=-2,!0};Ra.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ti.prototype.S.call(this,n)};Ra.prototype.U=function(n){if(this.t!==void 0&&(ti.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Ra.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Ra.prototype.peek=function(){if(this.h()||dm(),16&this.f)throw this.v;return this.v};Object.defineProperty(Ra.prototype,"value",{get:function(){1&this.f&&dm();var n=PD(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Wt(n){return new Ra(n)}function FD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){ga++;var t=En;En=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,aB(n),i}finally{En=t,pm()}}}function aB(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,FD(n)}function CG(n){if(En!==this)throw new Error("Out-of-order effect");kD(this),En=n,this.f&=-2,8&this.f&&aB(this),pm()}function ef(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}ef.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};ef.prototype.S=function(){1&this.f&&dm(),this.f|=1,this.f&=-9,FD(this),UD(this),ga++;var n=En;return En=this,CG.bind(this,n)};ef.prototype.N=function(){2&this.f||(this.f|=2,this.o=JA,JA=this)};ef.prototype.d=function(){this.f|=8,1&this.f||aB(this)};function At(n){var e=new ef(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var vG=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,N){i=L,r=N});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&Y("no native wasm support detected");var h,f=!1;function d(L,N,ee){ee=N+ee;for(var re="";!(N>=ee);){var he=L[N++];if(!he)break;if(he&128){var xe=L[N++]&63;if((he&224)==192)re+=String.fromCharCode((he&31)<<6|xe);else{var Pe=L[N++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Pe:(he&7)<<18|xe<<12|Pe<<6|L[N++]&63,65536>he?re+=String.fromCharCode(he):(he-=65536,re+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else re+=String.fromCharCode(he)}return re}var g,E,y,I,p,C,v,S,Q;function R(){var L=h.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=I=new Int16Array(L),t.HEAP32=C=new Int32Array(L),t.HEAPU8=y=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=v=new Uint32Array(L),t.HEAPF32=S=new Float32Array(L),t.HEAPF64=Q=new Float64Array(L)}var D,U=[],J=[],_=[];function b(){var L=t.preRun.shift();U.unshift(L)}var j=0,fe=null;function Y(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),f=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function le(L){return L.startsWith("data:application/octet-stream;base64,")}var se;if(se="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkLIQAgACABKAIAIAEgASwAC0EASBtB9zkgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFBmCY2AgAgAQsFAEH3OQsFAEH0OQshACAAIAEoAgAgASABLAALQQBIG0HgOSACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBAsGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQKAsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQaAlNgIAIAELBQBB4DkLaQECfyMAQRBrIgYkACABIAAoAgQiB0EBdWohASAAKAIAIQAgBiABIAIgAyAEIAUgB0EBcQR/IAEoAgAgAGooAgAFIAALERAAQRAQHiIAIAYpAwg3AwggACAGKQMANwMAIAZBEGokACAACwUAQdw5Cx0AIAAoAgAiACAALQAAQfcBcUEIQQAgARtyOgAAC6UBAgJ/AX0jAEEQayICJAAgACgCACEAIAFB/wFxIgNBBkkEQAJ/AkACQAJAIANBBGsOAgABAgsgAEHQA2ogAC0AhANBA3FBAkYNAhogAEHIA2oMAgsgAEHIA2ogAC0AhANBA3FBAkYNARogAEHQA2oMAQsgACABQf8BcUECdGpByANqCyoCACEEIAJBEGokACAEuw8LIAJB0xA2AgAgACACEDAQJwALpQECAn8BfSMAQRBrIgIkACAAKAIAIQAgAUH/AXEiA0EGSQRAAn8CQAJAAkAgA0EEaw4CAAECCyAAQcADaiAALQCEA0EDcUECRg0CGiAAQbgDagwCCyAAQbgDaiAALQCEA0EDcUECRg0BGiAAQcADagwBCyAAIAFB/wFxQQJ0akG4A2oLKgIAIQQgAkEQaiQAIAS7DwsgAkHTEDYCACAAIAIQMBAnAAulAQICfwF9IwBBEGsiAiQAIAAoAgAhACABQf8BcSIDQQZJBEACfwJAAkACQCADQQRrDgIAAQILIABBsANqIAAtAIQDQQNxQQJGDQIaIABBqANqDAILIABBqANqIAAtAIQDQQNxQQJGDQEaIABBsANqDAELIAAgAUH/AXFBAnRqQagDagsqAgAhBCACQRBqJAAgBLsPCyACQdMQNgIAIAAgAhAwECcAC08AIAAgASgCACIBKgKYA7s5AwAgACABKgKgA7s5AwggACABKgKcA7s5AxAgACABKgKkA7s5AxggACABKgKIA7s5AyAgACABKgKMA7s5AygLDAAgACgCACoCjAO7CwwAIAAoAgAqAogDuwsMACAAKAIAKgKkA7sLDAAgACgCACoCnAO7CwwAIAAoAgAqAqADuwsMACAAKAIAKgKYA7sL3gUCBX0EfyMAQUBqIgkkACAAKAIAIQAgCUEIakEAQTgQLxpBsDlBsDkoAgBBAWo2AgAgABBtIABBFGohCiABtiEFIAAqAvADIgYhBAJ/AkACQAJAIAAtAPQDIgtBAWsOAgEAAgsgBiAFlEMK1yM8lCEECyAEQwAAAABgRQ0AQwAAwH8hBAJAAkACQCALQQFrDgIAAQILIAYhBAwBCyAGIAWUQwrXIzyUIQQLIAQgCkECQQEgBRAkIApBAkEBIAUQI5KSIQdBAAwBCyAJIABB/ABqIgsgAC8BdhAfAkACfQJAAkAgCS0ABEEBaw4CAAEDCyAJKgIADAELIAkqAgAgBZRDCtcjPJQLIgQgBFwNACAJIAsgAC8BdhAfQwAAwH8hBwJAAkACQCAJLQAEQQFrDgIAAQILIAkqAgAhBwwBCyAJKgIAIAWUQwrXIzyUIQcLQQIMAQsgBSEHIAUgBVwLIQsgArYhBiAAKgL4AyIIIQQCfwJAAkACQCAALQD8AyIMQQFrDgIBAAILIAggBpRDCtcjPJQhBAsgBEMAAAAAYEUNAEMAAMB/IQQCQAJAAkAgDEEBaw4CAAECCyAIIQQMAQsgCCAGlEMK1yM8lCEECyAEIApBAEEBIAUQJCAKQQBBASAFECOSkiEEQQAMAQsgCSAAQfwAaiIKIAAvAXgQHwJAAn0CQAJAIAktAARBAWsOAgABAwsgCSoCAAwBCyAJKgIAIAaUQwrXIzyUCyIEIARcDQAgCSAKIAAvAXgQH0MAAMB/IQQCQAJAAkAgCS0ABEEBaw4CAAECCyAJKgIAIQQMAQsgCSoCACAGlEMK1yM8lCEEC0ECDAELIAYhBCAGIAZcCyEMIAAgByAEIANB/wFxIAsgDCAFIAZBAUEAIAlBCGpBAEGwOSgCABA4BEAgACAALQCEA0EDcSAFIAYgBRBrIABEAAAAAAAAAABEAAAAAAAAAAAQagsgCUFAayQACxAAIAAoAgAtAABBBHFBAnYLdQECfyMAQRBrIgEkACAAKAIAIgAoAggEQANAIAAtAAAiAkEEcUUEQCAAIAJBBHI6AAAgACgCECICBEAgACACEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQELCyABQRBqJAAPCyABQYAINgIAIAAgARAwECcACy4BAX8gACgCCCEBIABBADYCCCABBEAgASABKAIAKAIEEQAACyAAKAIAQQA2AhALFwAgACgCBCgCCCIAIAAoAgAoAggRAAALLgEBfyAAKAIIIQIgACABNgIIIAIEQCACIAIoAgAoAgQRAAALIAAoAgBBBTYCEAs+AQF/IAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCBBEAAAsgACgCACIAQQA2AgggACAALQAAQe8BcToAAAtJAQF/IwBBEGsiBiQAIAYgASgCBCgCBCIBIAIgAyAEIAUgASgCACgCCBEQACAAIAYrAwC2OAIAIAAgBisDCLY4AgQgBkEQaiQAC24BAn8jAEEQayICJAAgACgCBCEDIAAgATYCBCADBEAgAyADKAIAKAIEEQAACyAAKAIAIgAoAuQDIAAoAuADRwRAIAJBvSI2AgAgACACEDAQJwALIABBBDYCCCAAIAAtAABBEHI6AAAgAkEQaiQACzwBAX8CQCAAKAIAIgAoAuQDIAAoAuADIgBrQQJ1IAFNDQAgACABQQJ0aigCACIARQ0AIAAoAgQhAgsgAgsZACAAKAIAKALcAyIARQRAQQAPCyAAKAIECxcAIAAoAgAiACgC5AMgACgC4ANrQQJ1C/kCAQR/IwBBwAJrIgQkAAJAIAAoAgAiACgC5AMgACgC4ANGDQAgASgCACIDKALcAyEBIAAgAxBoRQ0AIAAgAUYEQCAEQQBBwAIQLyICQYCAgP4HNgIEIAJBEGpBAEHEARAvGiACQdQBaiEFIAJBFGohAQNAIAFCgICA/IuAgMC/fzcCECABQoGAgIAQNwIIIAFCgICA/IuAgMC/fzcCACABQRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!le(se)){var de=se;se=t.locateFile?t.locateFile(de,o):o+de}function k(){var L=se;try{if(L==se&&A)return new Uint8Array(A);if(le(L))try{var N=gn(L.slice(37)),ee=new Uint8Array(N.length);for(L=0;L=N?"_"+L:L}function _e(L,N){return L=Ae(L),function(){return N.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],V=[];function G(L){var N=Error,ee=_e(L,function(re){this.name=L,this.message=re,re=Error(re).stack,re!==void 0&&(this.stack=this.toString()+` -`+re.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(N.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var O=void 0;function P(L){throw new O(L)}var Ee=L=>(L||P("Cannot use deleted val. handle = "+L),ke[L].value),Be=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var N=V.length?V.pop():ke.length;return ke[N]={ga:1,value:L},N}},pe=void 0,Se=void 0;function H(L){for(var N="";y[L];)N+=Se[y[L++]];return N}var me=[];function te(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ue=void 0,ae={};function De(L,N){for(N===void 0&&P("ptr should not be undefined");L.R;)N=L.ba(N),L=L.R;return N}var q={};function w(L){L=hn(L);var N=H(L);return ut(L),N}function T(L,N){var ee=q[L];return ee===void 0&&P(N+" has unknown type "+w(L)),ee}function ie(){}var Le=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,N,ee){return N===ee?L:ee.R===void 0?null:(L=Re(L,N,ee.R),L===null?null:ee.na(L))}var Je={};function Ve(L,N){return N=De(L,N),ae[N]}var je=void 0;function at(L){throw new je(L)}function mt(L,N){return N.P&&N.O||at("makeClassHandle requires ptr and ptrType"),!!N.U!=!!N.T&&at("Both smartPtrType and smartPtr must be specified"),N.count={value:1},be(Object.create(L,{M:{value:N}}))}function be(L){return typeof FinalizationRegistry>"u"?(be=N=>N,L):(Le=new FinalizationRegistry(N=>{Te(N.M)}),be=N=>{var ee=N.M;return ee.T&&Le.register(N,{M:ee},N),N},ie=N=>{Le.unregister(N)},be(L))}var Pt={};function Mt(L){for(;L.length;){var N=L.pop();L.pop()(N)}}function gt(L){return this.fromWireType(C[L>>2])}var ot={},et={};function vt(L,N,ee){function re(Ne){Ne=ee(Ne),Ne.length!==L.length&&at("Mismatched type converter count");for(var Ue=0;Ue{q.hasOwnProperty(Ne)?he[Ue]=q[Ne]:(xe.push(Ne),ot.hasOwnProperty(Ne)||(ot[Ne]=[]),ot[Ne].push(()=>{he[Ue]=q[Ne],++Pe,Pe===xe.length&&re(he)}))}),xe.length===0&&re(he)}function Vt(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function Ht(L,N,ee={}){if(!("argPackAdvance"in N))throw new TypeError("registerType registeredInstance requires argPackAdvance");var re=N.name;if(L||P('type "'+re+'" must have a positive integer typeid pointer'),q.hasOwnProperty(L)){if(ee.ua)return;P("Cannot register type '"+re+"' twice")}q[L]=N,delete et[L],ot.hasOwnProperty(L)&&(N=ot[L],delete ot[L],N.forEach(he=>he()))}function Tt(L){P(L.M.P.N.name+" instance already deleted")}function Ft(){}function K(L,N,ee){if(L[N].S===void 0){var re=L[N];L[N]=function(){return L[N].S.hasOwnProperty(arguments.length)||P("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[N].S+")!"),L[N].S[arguments.length].apply(this,arguments)},L[N].S=[],L[N].S[re.Z]=re}}function Ge(L,N){t.hasOwnProperty(L)?(P("Cannot register public name '"+L+"' twice"),K(t,L,L),t.hasOwnProperty(void 0)&&P("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=N):t[L]=N}function ze(L,N,ee,re,he,xe,Pe,Ne){this.name=L,this.constructor=N,this.X=ee,this.W=re,this.R=he,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function it(L,N,ee){for(;N!==ee;)N.ba||P("Expected null or instance of "+ee.name+", got an instance of "+N.name),L=N.ba(L),N=N.R;return L}function dt(L,N){return N===null?(this.ea&&P("null is not a valid "+this.name),0):(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),it(N.M.O,N.M.P.N,this.N))}function Kt(L,N){if(N===null){if(this.ea&&P("null is not a valid "+this.name),this.da){var ee=this.fa();return L!==null&&L.push(this.W,ee),ee}return 0}if(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&N.M.P.ca&&P("Cannot convert argument of type "+(N.M.U?N.M.U.name:N.M.P.name)+" to parameter type "+this.name),ee=it(N.M.O,N.M.P.N,this.N),this.da)switch(N.M.T===void 0&&P("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:N.M.U===this?ee=N.M.T:P("Cannot convert argument of type "+(N.M.U?N.M.U.name:N.M.P.name)+" to parameter type "+this.name);break;case 1:ee=N.M.T;break;case 2:if(N.M.U===this)ee=N.M.T;else{var re=N.clone();ee=this.xa(ee,Be(function(){re.delete()})),L!==null&&L.push(this.W,ee)}break;default:P("Unsupporting sharing policy")}return ee}function nn(L,N){return N===null?(this.ea&&P("null is not a valid "+this.name),0):(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),N.M.P.ca&&P("Cannot convert argument of type "+N.M.P.name+" to parameter type "+this.name),it(N.M.O,N.M.P.N,this.N))}function sn(L,N,ee,re){this.name=L,this.N=N,this.ea=ee,this.ca=re,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,N.R!==void 0?this.toWireType=Kt:(this.toWireType=re?dt:nn,this.V=null)}function Ai(L,N){t.hasOwnProperty(L)||at("Replacing nonexistant public symbol"),t[L]=N,t[L].Z=void 0}function on(L,N){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),L.includes("j")){var re=t["dynCall_"+L];re=ee&&ee.length?re.apply(null,[N].concat(ee)):re.call(null,N)}else re=D.get(N).apply(null,ee);return re}}function ln(L,N){L=H(L);var ee=L.includes("j")?on(L,N):D.get(N);return typeof ee!="function"&&P("unknown function pointer with signature "+L+": "+N),ee}var Di=void 0;function ss(L,N){function ee(xe){he[xe]||q[xe]||(et[xe]?et[xe].forEach(ee):(re.push(xe),he[xe]=!0))}var re=[],he={};throw N.forEach(ee),new Di(L+": "+re.map(w).join([", "]))}function Ps(L,N,ee,re,he){var xe=N.length;2>xe&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=N[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function Ir(L){4>2])};case 3:return function(ee){return this.fromWireType(Q[ee>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Xl(L,N,ee){switch(N){case 0:return ee?function(re){return E[re]}:function(re){return y[re]};case 1:return ee?function(re){return I[re>>1]}:function(re){return p[re>>1]};case 2:return ee?function(re){return C[re>>2]}:function(re){return v[re>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Uu(L,N){for(var ee="",re=0;!(re>=N/2);++re){var he=I[L+2*re>>1];if(he==0)break;ee+=String.fromCharCode(he)}return ee}function ku(L,N,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var re=N;ee=ee<2*L.length?ee/2:L.length;for(var he=0;he>1]=L.charCodeAt(he),N+=2;return I[N>>1]=0,N-re}function Fu(L){return 2*L.length}function z(L,N){for(var ee=0,re="";!(ee>=N/4);){var he=C[L+4*ee>>2];if(he==0)break;++ee,65536<=he?(he-=65536,re+=String.fromCharCode(55296|he>>10,56320|he&1023)):re+=String.fromCharCode(he)}return re}function ge(L,N,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var re=N;ee=re+ee-4;for(var he=0;he=xe){var Pe=L.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Pe&1023}if(C[N>>2]=xe,N+=4,N+4>ee)break}return C[N>>2]=0,N-re}function Ce(L){for(var N=0,ee=0;ee=re&&++ee,N+=4}return N}var we={};function ye(L){var N=we[L];return N===void 0?H(L):N}var Xe=[];function ct(L){var N=Xe.length;return Xe.push(L),N}function Et(L,N){for(var ee=Array(L),re=0;re>2],"parameter "+re);return ee}var It=[],_t=[null,[],[]];O=t.BindingError=G("BindingError"),t.count_emval_handles=function(){for(var L=0,N=5;Nxt;++xt)St[xt]=String.fromCharCode(xt);Se=St,t.getInheritedInstanceCount=function(){return Object.keys(ae).length},t.getLiveInheritedInstances=function(){var L=[],N;for(N in ae)ae.hasOwnProperty(N)&&L.push(ae[N]);return L},t.flushPendingDeletes=te,t.setDelayFunction=function(L){ue=L,me.length&&ue&&ue(te)},je=t.InternalError=G("InternalError"),Ft.prototype.isAliasOf=function(L){if(!(this instanceof Ft&&L instanceof Ft))return!1;var N=this.M.P.N,ee=this.M.O,re=L.M.P.N;for(L=L.M.O;N.R;)ee=N.ba(ee),N=N.R;for(;re.R;)L=re.ba(L),re=re.R;return N===re&&ee===L},Ft.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var L=be,N=Object,ee=N.create,re=Object.getPrototypeOf(this),he=this.M;return L=L(ee.call(N,re,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),L.M.count.value+=1,L.M.$=!1,L},Ft.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&P("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ft.prototype.isDeleted=function(){return!this.M.O},Ft.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&P("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},sn.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},sn.prototype.ha=function(L){this.W&&this.W(L)},sn.prototype.argPackAdvance=8,sn.prototype.readValueFromPointer=gt,sn.prototype.deleteObject=function(L){L!==null&&L.delete()},sn.prototype.fromWireType=function(L){function N(){return this.da?mt(this.N.X,{P:this.wa,O:ee,U:this,T:L}):mt(this.N.X,{P:this,O:L})}var ee=this.qa(L);if(!ee)return this.ha(L),null;var re=Ve(this.N,ee);if(re!==void 0)return re.M.count.value===0?(re.M.O=ee,re.M.T=L,re.clone()):(re=re.clone(),this.ha(L),re);if(re=this.N.pa(ee),re=Je[re],!re)return N.call(this);re=this.ca?re.la:re.pointerType;var he=Re(ee,this.N,re.N);return he===null?N.call(this):this.da?mt(re.N.X,{P:re,O:he,U:this,T:L}):mt(re.N.X,{P:re,O:he})},Di=t.UnboundTypeError=G("UnboundTypeError");var gn=typeof atob=="function"?atob:function(L){var N="",ee=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++));re=re<<2|he>>4,he=(he&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;N+=String.fromCharCode(re),xe!==64&&(N+=String.fromCharCode(he)),Pe!==64&&(N+=String.fromCharCode(Ne))}while(eePe.ta).concat(he.map(Pe=>Pe.za));vt([L],xe,Pe=>{var Ne={};return he.forEach((Ue,Fe)=>{var We=Pe[Fe],pt=Ue.ra,Jt=Ue.sa,Dn=Pe[Fe+he.length],Xt=Ue.ya,ii=Ue.Aa;Ne[Ue.oa]={read:hi=>We.fromWireType(pt(Jt,hi)),write:(hi,ls)=>{var Or=[];Xt(ii,hi,Dn.toWireType(Or,ls)),Mt(Or)}}}),[{name:N.name,fromWireType:function(Ue){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(Ue);return re(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var pt=ee();for(We in Ne)Ne[We].write(pt,Fe[We]);return Ue!==null&&Ue.push(re,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:re}]})},v:function(){},B:function(L,N,ee,re,he){var xe=Vt(ee);N=H(N),Ht(L,{name:N,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?re:he},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=I;else if(ee===4)Ne=C;else throw new TypeError("Unknown boolean type size: "+N);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(L,N,ee,re,he,xe,Pe,Ne,Ue,Fe,We,pt,Jt){We=H(We),xe=ln(he,xe),Ne&&(Ne=ln(Pe,Ne)),Fe&&(Fe=ln(Ue,Fe)),Jt=ln(pt,Jt);var Dn=Ae(We);Ge(Dn,function(){ss("Cannot construct "+We+" due to unbound types",[re])}),vt([L,N,ee],re?[re]:[],function(Xt){if(Xt=Xt[0],re)var ii=Xt.N,hi=ii.X;else hi=Ft.prototype;Xt=_e(Dn,function(){if(Object.getPrototypeOf(this)!==ls)throw new O("Use 'new' to construct "+We);if(Or.Y===void 0)throw new O(We+" has no accessible constructor");var Kl=Or.Y[arguments.length];if(Kl===void 0)throw new O("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Or.Y).toString()+") parameters instead!");return Kl.apply(this,arguments)});var ls=Object.create(hi,{constructor:{value:Xt}});Xt.prototype=ls;var Or=new ze(We,Xt,ls,Jt,ii,xe,Ne,Fe);ii=new sn(We,Or,!0,!1),hi=new sn(We+"*",Or,!1,!1);var of=new sn(We+" const*",Or,!1,!0);return Je[L]={pointerType:hi,la:of},Ai(Dn,Xt),[ii,hi,of]})},d:function(L,N,ee,re,he,xe,Pe){var Ne=os(ee,re);N=H(N),xe=ln(he,xe),vt([],[L],function(Ue){function Fe(){ss("Cannot call "+We+" due to unbound types",Ne)}Ue=Ue[0];var We=Ue.name+"."+N;N.startsWith("@@")&&(N=Symbol[N.substring(2)]);var pt=Ue.N.constructor;return pt[N]===void 0?(Fe.Z=ee-1,pt[N]=Fe):(K(pt,N,We),pt[N].S[ee-1]=Fe),vt([],Ne,function(Jt){return Jt=Ps(We,[Jt[0],null].concat(Jt.slice(1)),null,xe,Pe),pt[N].S===void 0?(Jt.Z=ee-1,pt[N]=Jt):pt[N].S[ee-1]=Jt,[]}),[]})},p:function(L,N,ee,re,he,xe){0{ss("Cannot construct "+Ne.name+" due to unbound types",Pe)},vt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[N-1]=Ps(Ue,Fe,null,he,xe),[]}),[]})},a:function(L,N,ee,re,he,xe,Pe,Ne){var Ue=os(ee,re);N=H(N),xe=ln(he,xe),vt([],[L],function(Fe){function We(){ss("Cannot call "+pt+" due to unbound types",Ue)}Fe=Fe[0];var pt=Fe.name+"."+N;N.startsWith("@@")&&(N=Symbol[N.substring(2)]),Ne&&Fe.N.ja.push(N);var Jt=Fe.N.X,Dn=Jt[N];return Dn===void 0||Dn.S===void 0&&Dn.className!==Fe.name&&Dn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Jt[N]=We):(K(Jt,N,pt),Jt[N].S[ee-2]=We),vt([],Ue,function(Xt){return Xt=Ps(pt,Xt,Fe,xe,Pe),Jt[N].S===void 0?(Xt.Z=ee-2,Jt[N]=Xt):Jt[N].S[ee-2]=Xt,[]}),[]})},A:function(L,N){N=H(N),Ht(L,{name:N,fromWireType:function(ee){var re=Ee(ee);return Ir(ee),re},toWireType:function(ee,re){return Be(re)},argPackAdvance:8,readValueFromPointer:gt,V:null})},n:function(L,N,ee){ee=Vt(ee),N=H(N),Ht(L,{name:N,fromWireType:function(re){return re},toWireType:function(re,he){return he},argPackAdvance:8,readValueFromPointer:Jl(N,ee),V:null})},e:function(L,N,ee,re,he){N=H(N),he===-1&&(he=4294967295),he=Vt(ee);var xe=Ne=>Ne;if(re===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=N.includes("unsigned")?function(Ne,Ue){return Ue>>>0}:function(Ne,Ue){return Ue},Ht(L,{name:N,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Xl(N,he,re!==0),V:null})},b:function(L,N,ee){function re(xe){xe>>=2;var Pe=v;return new he(g,Pe[xe+1],Pe[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][N];ee=H(ee),Ht(L,{name:ee,fromWireType:re,argPackAdvance:8,readValueFromPointer:re},{ua:!0})},o:function(L,N){N=H(N);var ee=N==="std::string";Ht(L,{name:N,fromWireType:function(re){var he=v[re>>2],xe=re+4;if(ee)for(var Pe=xe,Ne=0;Ne<=he;++Ne){var Ue=xe+Ne;if(Ne==he||y[Ue]==0){if(Pe=Pe?d(y,Pe,Ue-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=Ue+1}}else{for(Fe=Array(he),Ne=0;Ne=Ue?Ne++:2047>=Ue?Ne+=2:55296<=Ue&&57343>=Ue?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=he.length;if(Ne=Rn(4+xe+1),Ue=Ne+4,v[Ne>>2]=xe,ee&&Pe){if(Pe=Ue,Ue=xe+1,xe=y,0=We){var pt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|pt&1023}if(127>=We){if(Pe>=Ue)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=Ue)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=Ue)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=Ue)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else N===4&&(re=z,he=ge,xe=Ce,Pe=()=>v,Ne=2);Ht(L,{name:ee,fromWireType:function(Ue){for(var Fe=v[Ue>>2],We=Pe(),pt,Jt=Ue+4,Dn=0;Dn<=Fe;++Dn){var Xt=Ue+4+Dn*N;(Dn==Fe||We[Xt>>Ne]==0)&&(Jt=re(Jt,Xt-Jt),pt===void 0?pt=Jt:(pt+="\0",pt+=Jt),Jt=Xt+N)}return ut(Ue),pt},toWireType:function(Ue,Fe){typeof Fe!="string"&&P("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),pt=Rn(4+We+N);return v[pt>>2]=We>>Ne,he(Fe,pt+4,We+N),Ue!==null&&Ue.push(ut,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:function(Ue){ut(Ue)}})},k:function(L,N,ee,re,he,xe){Pt[L]={name:H(N),fa:ln(ee,re),W:ln(he,xe),ia:[]}},h:function(L,N,ee,re,he,xe,Pe,Ne,Ue,Fe){Pt[L].ia.push({oa:H(N),ta:ee,ra:ln(re,he),sa:xe,za:Pe,ya:ln(Ne,Ue),Aa:Fe})},C:function(L,N){N=H(N),Ht(L,{va:!0,name:N,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,N,ee,re,he){L=Xe[L],N=Ee(N),ee=ye(ee);var xe=[];return v[re>>2]=Be(xe),L(N,ee,xe,he)},t:function(L,N,ee,re){L=Xe[L],N=Ee(N),ee=ye(ee),L(N,ee,null,re)},g:Ir,m:function(L,N){var ee=Et(L,N),re=ee[0];N=re.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var he=It[N];if(he!==void 0)return he;var xe=Array(L-1);return he=ct((Pe,Ne,Ue,Fe)=>{for(var We=0,pt=0;pt>>=0,2147483648=ee;ee*=2){var re=N*(1+.2/ee);re=Math.min(re,L+100663296);var he=Math;re=Math.max(L,re),he=he.min.call(he,2147483648,re+(65536-re%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),R();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,N,ee,re){for(var he=0,xe=0;xe>2],Ne=v[N+4>>2];N+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function L(he){t.asm=he.exports,h=t.asm.E,R(),D=t.asm.J,J.unshift(t.asm.F),j--,t.monitorRunDependencies&&t.monitorRunDependencies(j),j==0&&fe&&(he=fe,fe=null,he())}function N(he){L(he.instance)}function ee(he){return Z().then(function(xe){return WebAssembly.instantiate(xe,re)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),Y(xe)})}var re={a:Jn};if(j++,t.monitorRunDependencies&&t.monitorRunDependencies(j),t.instantiateWasm)try{return t.instantiateWasm(re,L)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||le(se)||typeof fetch!="function"?ee(N):fetch(se,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,re).then(N,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(N)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var hn=t.___getTypeName=function(){return(hn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Rn=t._malloc=function(){return(Rn=t._malloc=t.asm.I).apply(null,arguments)},ut=t._free=function(){return(ut=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;fe=function L(){$e||Ti(),$e||(fe=L)};function Ti(){function L(){if(!$e&&($e=!0,t.calledRun=!0,!f)){if(ne(J),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var N=t.postRun.shift();_.unshift(N)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Fp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...xG}}const OD=SG(await vG());function Ks(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const wG={static:0,relative:1,absolute:2},eI={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},_G={column:0,"column-reverse":1,row:2,"row-reverse":3},MG={"no-wrap":0,wrap:1,"wrap-reverse":2},QG={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},RG={visible:0,hidden:1,scroll:2},DG={flex:0,none:1},HD={positionType:(n,e)=>n.setPositionType(Ks(wG,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Ks(eI,e,4)),alignItems:(n,e)=>n.setAlignItems(Ks(eI,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Ks(eI,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Ks(_G,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Ks(MG,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Ks(QG,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Ks(RG,e,0)),display:(n,e)=>n.setDisplay(Ks(DG,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function lB(n,e,t,i,r){let s=!1,o,a={};r.push(At(()=>{const l=n.value;s&&Zw(t,l,o,a,i),o=l}),At(()=>{if(s=e.value,!!s&&o!=null)return Zw(t,o,void 0,a,i),()=>{TG(a),a={}}}))}function Zw(n,e,t,i,r){const s=l=>i[l]=At(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};yG(()=>e.filterCompare(n,t,s,a,o))}function TG(n){for(const e in n)n[e]()}const TA=100,cB=OD.Config.create();cB.setUseWebDefaults(!0);cB.setPointScaleFactor(TA);function LG(n){return n==="measureFunc"?!0:n in HD}function go(n){const e=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(wl.Visible),scrollable:e,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0]),anyAncestorScrollable:Wt(()=>{const[t,i]=n?.value??[!1,!1],[r,s]=e.value;return[t||r,i||s]})}}class GD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=OD.Node.create(cB),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),lB(t,this.active,LG,(o,a)=>{HD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*TA+1)/TA,height:Math.ceil(a.height*TA+1)/TA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),bD(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const f=e.indexOf(A);if(f===-1)throw new Error("parent mismatch");return h-f});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&bG(i,e_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=e_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Pc(this.state.maxScrollPosition,J?D:void 0,_?U:void 0),Pc(this.state.scrollable,J,_)}else Pc(this.state.maxScrollPosition,void 0,void 0),Pc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===wl.Visible;return[s+Math.max(i,S?C:0),o+Math.max(r,S?v:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Pc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function $w(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function e_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function bG(n,e){return n.M.O===e.M.O}function gm(n,e,t,i){t!=null&&(tI(t.classes,i),i(t)),e!=null&&(tI(e.classes,i),i(e)),n!=null&&(tI(n.classes,i),i(n))}function tI(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class zG{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=GG[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ti?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);t_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:t_(i,r)}addAll(e,t,i,r){gm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function t_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!YG(Fr(t),Fr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function YG(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function zl(n,e,t){return n[uC]=e,n[AC]=t,n}function mo(n,e,t,i){let r=!0;i.push(()=>At(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function Da(n,e,t,i){let r=!0;i.push(()=>At(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const JG=new F,XG=new F,ap=new F,nI=new lt,KG=new Mu,qG=new Hn,iI=Math.PI/180;function jG([n,e,t]){return qG.setFromEuler(KG.set(n*iI,e*iI,t*iI))}const ZG="center",$G="center";function Eo(n,{relativeCenter:e,size:t},i){const r=Gt(n,"transformTranslateX",0),s=Gt(n,"transformTranslateY",0),o=Gt(n,"transformTranslateZ",0),a=Gt(n,"transformRotateX",0),l=Gt(n,"transformRotateY",0),A=Gt(n,"transformRotateZ",0),h=Gt(n,"transformScaleX",1),f=Gt(n,"transformScaleY",1),d=Gt(n,"transformScaleZ",1),g=Gt(n,"transformOriginX",ZG),E=Gt(n,"transformOriginY",$G);return Wt(()=>{if(e.value==null)return;const[y,I]=e.value,p=i.value,C=new lt().makeTranslation(y*p,I*p,0);let v=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;v=!1,ap.set(-dT[g.value]*D*p,-pT[E.value]*U*p,0),C.multiply(nI.makeTranslation(ap)),ap.negate()}const S=[a.value,l.value,A.value],Q=[r.value,-s.value,o.value],R=[h.value,f.value,d.value];return(Q.some(D=>D!=0)||S.some(D=>D!=0)||R.some(D=>D!=1))&&C.multiply(nI.compose(JG.fromArray(Q).multiplyScalar(p),jG(S),XG.fromArray(R))),v||C.multiply(nI.makeTranslation(ap)),C})}function Io(n,e,t){t.push(()=>At(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const ez=Math.cos(45/180*Math.PI),rI=[new rn,new rn,new rn,new rn],n_=new F;class tz{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new F(t,i,0).applyMatrix4(e),this.facePlane=new rn(new F(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,f=-t+o;this.planes=[new rn(new F(0,-1,0),h).applyMatrix4(e),new rn(new F(-1,0,0),f).applyMatrix4(e),new rn(new F(0,1,0),l).applyMatrix4(e),new rn(new F(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=rI[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,f=(o.constant-s.constant*a)/A;n_.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,f),l.constant=-n_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;rI[t].normal.dot(i)>ez;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;rI[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let f=0;f<4;f++){const[d,g]=nz[f];i_[f].set(d*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let f=0;f<4;f++){const d=A[f];h=!0;for(let g=0;g<4;g++){const E=i_[g];d.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function mm(n,{overflow:e,borderInset:t,size:i},r,s){return Wt(()=>{const o=n.value;if(o==null||e.value===wl.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,f,d]=t.value,g=r.value,E=new tz(o,(h-d)*g/2,(A-f)*g/2,(a-d-h)*g,(l-A-f)*g);return s?.value!=null&&E.min(s.value),E})}const hC=new rn(new F(-1,0,0),Number.MAX_SAFE_INTEGER),yg=new Float32Array(16);for(let n=0;n<4;n++)hC.normal.toArray(yg,n*4),yg[n*4+3]=hC.constant;function tf(n,e,t){const i=[new rn,new rn,new rn,new rn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(hC);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function zD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function iz(n,e,t){zD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function rz(n,e,t,i){zD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function sz(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,f=l.elements.length-1;if(f!=i){const g=h+f,E=h+i;a(E,g,g+1);const y=l.elements[f];l.elements[i]=y,o(y,i)}if(s(h+f),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=d.missingSpace,d=n[--e]}return n.length=e+1,!1}function oz(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const f=n[h];if(f.missingSpace===0)continue;const d=f.missingSpace<0;if(d&&(l||A)){r_(n,t,h,o,Math.abs(f.missingSpace));continue}if(!A&&!d)continue;const g=Math.min(Math.abs(f.missingSpace),Math.abs(a.missingSpace));A?az(n,t,h,o,g):r_(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),WD=nt(VD?.matches??!1);VD?.addEventListener("change",n=>WD.value=n.matches);const YD=nt("system"),JD=Wt(()=>{switch(YD.value){case"system":return WD.value;case"dark":return!0;case"light":return!1}});function lz(n){YD.value=n}const yo={dark:rf(()=>JD.value)};function cz({dark:n,light:e}){const t={};for(const i in n)t[i]=Wt(()=>JD.value?n[i]:e[i]);return t}const XD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},KD=Object.keys(XD),uz=KD.length;function Co(n){const e={};for(let t=0;t(n.value?.[0]??0)>XD[i])}return e}function s_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function sI(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function bh(n,e,t){return e.xadvance*n+t}function lp(n,e){return n*e}function fC(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const Az=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=uB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},hz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=uB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return re(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:sL,findFiberByHostInstance:c.findFiberByHostInstance||oL,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{od=u.inject(c),cs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=E0(c,u);var x=je(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=$t;try{return $t=c,u()}finally{$t=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,M=bi(),W=Po(x);return m=Y1(m),u.context===null?u.context=m:u.pendingContext=m,u=Us(M,W),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),To(x,u),c=Sr(x,W,M),c!==null&&Ad(c,x,W),W},t};AD.exports=wH;var _H=AD.exports;const MH=IC(_H),QH=n=>typeof n=="object"&&typeof n.then=="function",El=[];function fD(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=El.indexOf(r);s!==-1&&El.splice(s,1)},promise:(QH(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(El.push(r),!t)throw r.promise}const RH=(n,e,t)=>pD(n,e,!1,t),DH=(n,e,t)=>void pD(n,e,!0,t),TH=n=>{if(n===void 0||n.length===0)El.splice(0,El.length);else{const e=El.find(t=>fD(n,t.keys,t.equal));e&&e.remove()}},nB={},LH=n=>void Object.assign(nB,n);function bH(n,e){function t(h,{args:d=[],attach:f,...g},E){let C=`${h[0].toUpperCase()}${h.slice(1)}`,I;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;I=Oc(p,{type:h,root:E,attach:f,primitive:!0})}else{const p=nB[C];if(!p)throw new Error(`R3F: ${C} 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!");I=Oc(new p(...d),{type:h,root:E,attach:f,memoizedProps:{args:d}})}return I.__r3f.attach===void 0&&(I instanceof bt?I.__r3f.attach="geometry":I instanceof ii&&(I.__r3f.attach="material")),C!=="inject"&&VE(I,g),I}function i(h,d){let f=!1;if(d){var g,E;(g=d.__r3f)!=null&&g.attach?zE(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),f=!0),f||(E=h.__r3f)==null||E.objects.push(d),d.__r3f||Oc(d,{}),d.__r3f.parent=h,aC(d),Hc(d)}}function r(h,d,f){let g=!1;if(d){var E,C;if((E=d.__r3f)!=null&&E.attach)zE(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const I=h.children.filter(y=>y!==d),p=I.indexOf(f);h.children=[...I.slice(0,p),d,...I.slice(p)],g=!0}g||(C=h.__r3f)==null||C.objects.push(d),d.__r3f||Oc(d,{}),d.__r3f.parent=h,aC(d),Hc(d)}}function s(h,d,f=!1){h&&[...h].forEach(g=>o(d,g,f))}function o(h,d,f){if(d){var g,E,C;if(d.__r3f&&(d.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==d)),(E=d.__r3f)!=null&&E.attach)Ow(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var I;h.remove(d),(I=d.__r3f)!=null&&I.root&&GH(d.__r3f.root,d)}const y=(C=d.__r3f)==null?void 0:C.primitive,v=!y&&(f===void 0?d.dispose!==null:f);if(!y){var p;s((p=d.__r3f)==null?void 0:p.objects,d,v),s(d.children,d,v)}if(delete d.__r3f,v&&d.dispose&&d.type!=="Scene"){const S=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?sC.unstable_scheduleCallback(sC.unstable_IdlePriority,S):S()}Hc(h)}}function a(h,d,f,g){var E;const C=(E=h.__r3f)==null?void 0:E.parent;if(!C)return;const I=t(d,f,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(I,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(I,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(C,h),I.parent&&(I.__r3f.autoRemovedBeforeAppend=!0),i(C,I),I.raycast&&I.__r3f.eventCount&&I.__r3f.root.getState().internal.interaction.push(I),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=I,p.ref&&(typeof p.ref=="function"?p.ref(I):p.ref.current=I))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:MH({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 f=h.getState().scene;f.__r3f&&(f.__r3f.root=h,i(f,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,f)=>{if(!d||!f)return;const g=h.getState().scene;g.__r3f&&r(g,d,f)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h?.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,f,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:I=[],children:p,...y}=g,{args:v=[],children:S,...R}=f;if(!Array.isArray(I))throw new Error("R3F: the args prop must be an array!");if(I.some((D,U)=>D!==v[U]))return[!0];const Q=vD(h,y,R,!0);return Q.changes.length?[!1,Q]:null}},commitUpdate(h,[d,f],g,E,C,I){d?a(h,g,C,I):VE(h,f)},commitMount(h,d,f,g){var E;const C=(E=h.__r3f)!=null?E:{};h.raycast&&C.handlers&&C.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>Oc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:f,parent:g}=(d=h.__r3f)!=null?d:{};f&&g&&Ow(g,h,f),h.isObject3D&&(h.visible=!1),Hc(h)},unhideInstance(h,d){var f;const{attach:g,parent:E}=(f=h.__r3f)!=null?f:{};g&&E&&zE(E,h,g),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),Hc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():ru.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&In.fun(performance.now)?performance.now:In.fun(Date.now)?Date.now:()=>0,scheduleTimeout:In.fun(setTimeout)?setTimeout:void 0,cancelTimeout:In.fun(clearTimeout)?clearTimeout:void 0}),applyProps:VE}}var Nw,Uw;const GE=n=>"colorSpace"in n||"outputColorSpace"in n,gD=()=>{var n;return(n=nB.ColorManagement)!=null?n:null},mD=n=>n&&n.isOrthographicCamera,PH=n=>n&&n.hasOwnProperty("current"),Zh=typeof window<"u"&&((Nw=window.document)!=null&&Nw.createElement||((Uw=window.navigator)==null?void 0:Uw.product)==="ReactNative")?Z.useLayoutEffect:Z.useEffect;function ED(n){const e=Z.useRef(n);return Zh(()=>void(e.current=n),[n]),e}function NH({set:n}){return Zh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class ID extends Z.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}ID.getDerivedStateFromError=()=>({error:!0});const yD="__default",kw=new Map,UH=n=>n&&!!n.memoized&&!!n.changes;function CD(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 BA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},In={obj:n=>n===Object(n)&&!In.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(In.str(n)||In.num(n))return n===e;const s=In.obj(n);if(s&&i==="reference")return n===e;const o=In.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(!In.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(In.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 kH(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 FH(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Oc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function oC(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 Fw=/-\d+$/;function zE(n,e,t){if(In.str(t)){if(Fw.test(t)){const s=t.replace(Fw,""),{target:o,key:a}=oC(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=oC(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function Ow(n,e,t){var i,r;if(In.str(t)){const{target:s,key:o}=oC(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 vD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const d=(h=n?.__r3f)!=null?h:{},f=Object.entries(r),g=[];if(A){const C=Object.keys(l);for(let I=0;I{var p;if((p=n.__r3f)!=null&&p.primitive&&C==="object"||In.equ(I,l[C]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(C))return g.push([C,I,!0,[]]);let y=[];C.includes("-")&&(y=C.split("-")),g.push([C,I,!1,y]);for(const v in r){const S=r[v];v.startsWith(`${C}-`)&&g.push([v,S,!1,v.split("-")])}});const E={...r};return d.memoizedProps&&d.memoizedProps.args&&(E.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(E.attach=d.memoizedProps.attach),{memoized:E,changes:g}}const OH=typeof process<"u"&&!1;function VE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=UH(e)?e:vD(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let f=0;fv[S],n),!(y&&y.set))){const[v,...S]=I.reverse();p=S.reverse().reduce((R,Q)=>R[Q],n),g=v}if(E===yD+"remove")if(p.constructor){let v=kw.get(p.constructor);v||(v=new p.constructor,kw.set(p.constructor,v)),E=v[g]}else E=0;if(C)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof xl)){if(Array.isArray(E))y.fromArray?y.fromArray(E):y.set(...E);else if(y.copy&&E&&E.constructor&&(OH?y.constructor.name===E.constructor.name:y.constructor===E.constructor))y.copy(E);else if(E!==void 0){const v=y instanceof qe;!v&&y.setScalar?y.setScalar(E):y instanceof xl&&E instanceof xl?y.mask=E.mask:y.set(E),!gD()&&!a.linear&&v&&y.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof xn&&p[g].format===ki&&p[g].type===Ms){const v=p[g];GE(v)&&GE(a.gl)?v.colorSpace=a.gl.outputColorSpace:v.encoding=a.gl.outputEncoding}Hc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const f=a.internal.interaction.indexOf(n);f>-1&&a.internal.interaction.splice(f,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&aC(n),n}function Hc(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 aC(n){n.onUpdate==null||n.onUpdate(n)}function BD(n,e){n.manual||(mD(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 rp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function HH(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return ru.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return ru.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return ru.ContinuousEventPriority;default:return ru.DefaultEventPriority}}function xD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function GH(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)=>{xD(t.capturedMap,e,i,r)})}function zH(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],d=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=A.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),d=new Set,f=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const v=BA(p.object),S=BA(y.object);return!v||!S?p.distance-y.distance:S.events.priority-v.events.priority||p.distance-y.distance}).filter(p=>{const y=rp(p);return d.has(y)?!1:(d.add(y),!0)});h.events.filter&&(C=h.events.filter(C,h));for(const p of C){let y=p.object;for(;y;){var I;(I=y.__r3f)!=null&&I.eventCount&&f.push({...p,eventObject:y}),y=y.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())d.has(rp(p.intersection))||f.push(p.intersection);return f}function r(l,A,h,d){const f=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const C=BA(E.object)||f,{raycaster:I,pointer:p,camera:y,internal:v}=C,S=new F(p.x,p.y,0).unproject(y),R=_=>{var b,j;return(b=(j=v.capturedMap.get(_))==null?void 0:j.has(E.eventObject))!=null?b:!1},Q=_=>{const b={intersection:E,target:A.target};v.capturedMap.has(_)?v.capturedMap.get(_).set(E.eventObject,b):v.capturedMap.set(_,new Map([[E.eventObject,b]])),A.target.setPointerCapture(_)},D=_=>{const b=v.capturedMap.get(_);b&&xD(v.capturedMap,E.eventObject,b,_)};let U={};for(let _ in A){let b=A[_];typeof b!="function"&&(U[_]=b)}let J={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:I.ray,camera:y,stopPropagation(){const _="pointerId"in A&&v.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(J.stopped=g.stopped=!0,v.hovered.size&&Array.from(v.hovered.values()).find(b=>b.eventObject===E.eventObject))){const b=l.slice(0,l.indexOf(E));s([...b,E])}},target:{hasPointerCapture:R,setPointerCapture:Q,releasePointerCapture:D},currentTarget:{hasPointerCapture:R,setPointerCapture:Q,releasePointerCapture:D},nativeEvent:A};if(d(J),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const f=h.eventObject.__r3f,g=f?.handlers;if(A.hovered.delete(rp(h)),f!=null&&f.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:f}=n.getState();f.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",I=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(f.initialClick=[h.offsetX,h.offsetY],f.initialHits=I.map(v=>v.eventObject)),E&&!I.length&&p<=2&&(o(h,f.interaction),d&&d(h)),g&&s(I);function y(v){const S=v.eventObject,R=S.__r3f,Q=R?.handlers;if(R!=null&&R.eventCount)if(g){if(Q.onPointerOver||Q.onPointerEnter||Q.onPointerOut||Q.onPointerLeave){const D=rp(v),U=f.hovered.get(D);U?U.stopped&&v.stopPropagation():(f.hovered.set(D,v),Q.onPointerOver==null||Q.onPointerOver(v),Q.onPointerEnter==null||Q.onPointerEnter(v))}Q.onPointerMove==null||Q.onPointerMove(v)}else{const D=Q[l];D?(!E||f.initialHits.includes(S))&&(o(h,f.interaction.filter(U=>!f.initialHits.includes(U))),D(v)):E&&f.initialHits.includes(S)&&o(h,f.interaction.filter(U=>!f.initialHits.includes(U)))}}r(I,h,p,y)}}return{handlePointer:a}}const VH=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],SD=n=>!!(n!=null&&n.render),iB=Z.createContext(null),WH=(n,e)=>{const t=uD((a,l)=>{const A=new F,h=new F,d=new F;function f(p=l().camera,y=h,v=l().size){const{width:S,height:R,top:Q,left:D}=v,U=S/R;y instanceof F?d.copy(y):d.set(...y);const J=p.getWorldPosition(A).distanceTo(d);if(mD(p))return{width:S/p.zoom,height:R/p.zoom,top:Q,left:D,factor:1,distance:J,aspect:U};{const _=p.fov*Math.PI/180,b=2*Math.tan(_/2)*J,j=b*(S/R);return{width:j,height:b,top:Q,left:D,factor:S/j,distance:J,aspect:U}}}let g;const E=p=>a(y=>({performance:{...y.performance,current:p}})),C=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,y)=>e(p,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new Zv,pointer:C,mouse:C,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:f},setEvents:p=>a(y=>({...y,events:{...y.events,...p}})),setSize:(p,y,v,S,R)=>{const Q=l().camera,D={width:p,height:y,top:S||0,left:R||0,updateStyle:v};a(U=>({size:D,viewport:{...U.viewport,...f(Q,h,D)}}))},setDpr:p=>a(y=>{const v=CD(p);return{viewport:{...y.viewport,dpr:v,initialDpr:y.viewport.initialDpr||v}}}),setFrameloop:(p="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,p!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:p}))},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:(p,y,v)=>{const S=l().internal;return S.priority=S.priority+(y>0?1:0),S.subscribers.push({ref:p,priority:y,store:v}),S.subscribers=S.subscribers.sort((R,Q)=>R.priority-Q.priority),()=>{const R=l().internal;R!=null&&R.subscribers&&(R.priority=R.priority-(y>0?1:0),R.subscribers=R.subscribers.filter(Q=>Q.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var f;r=l,s=A.dpr,BD(a,l),h.setPixelRatio(A.dpr);const g=(f=l.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,d(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let sp,YH=new Set,JH=new Set,XH=new Set;function WE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function xA(n,e){switch(n){case"before":return WE(YH,e);case"after":return WE(JH,e);case"tail":return WE(XH,e)}}let YE,JE;function XE(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),YE=e.internal.subscribers,sp=0;sp0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=XE(l,r))}if(xA("after",l),t===0)return xA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(d=>o(d.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,d){if(A&&xA("before",l),h)XE(l,h,d);else for(const f of n.values())XE(l,f.store.getState());A&&xA("after",l)}return{loop:s,invalidate:o,advance:a}}function Ts(){const n=Z.useContext(iB);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function rB(n=t=>t,e){return Ts()(n,e)}function $h(n,e=0){const t=Ts(),i=t.getState().internal.subscribe,r=ED(n);return Zh(()=>i(r,e,t),[e,i,t]),null}const Hw=new WeakMap;function wD(n,e){return function(t,...i){let r=Hw.get(t);return r||(r=new t,Hw.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,kH(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function sB(n,e,t,i){const r=Array.isArray(e)?e:[e],s=RH(wD(t,i),[n,...r],{equal:In.equ});return Array.isArray(e)?s:s[0]}sB.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return DH(wD(t),[n,...i])};sB.clear=function(n,e){const t=Array.isArray(e)?e:[e];return TH([n,...t])};const Bu=new Map,{invalidate:Gw,advance:zw}=KH(Bu),{reconciler:Lh,applyProps:Rc}=bH(Bu,HH),Dc={objects:"shallow",strict:!1},qH=(n,e)=>{const t=typeof n=="function"?n(e):n;return SD(t)?t:new bv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function jH(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 ZH(n){const e=Bu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||WH(Gw,zw),o=t||Lh.createContainer(s,ru.ConcurrentRoot,null,!1,null,"",r,null);e||Bu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:d,size:f,scene:g,events:E,onCreated:C,shadows:I=!1,linear:p=!1,flat:y=!1,legacy:v=!1,orthographic:S=!1,frameloop:R="always",dpr:Q=[1,2],performance:D,raycaster:U,camera:J,onPointerMissed:_}=h,b=s.getState(),j=b.gl;b.gl||b.set({gl:j=qH(d,n)});let de=b.raycaster;de||b.set({raycaster:de=new jh});const{params:Y,...ae}=U||{};if(In.equ(ae,de,Dc)||Rc(de,{...ae}),In.equ(Y,de.params,Dc)||Rc(de,{params:{...de.params,...Y}}),!b.camera||b.camera===A&&!In.equ(A,J,Dc)){A=J;const _e=J instanceof Vh,ke=_e?J:S?new Qu(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(ke.position.z=5,J&&Rc(ke,J),!b.camera&&!(J!=null&&J.rotation)&&ke.lookAt(0,0,0)),b.set({camera:ke}),de.camera=ke}if(!b.scene){let _e;g instanceof Sh?_e=g:(_e=new Sh,g&&Rc(_e,g)),b.set({scene:Oc(_e)})}if(!b.xr){var re;const _e=(G,O)=>{const P=s.getState();P.frameloop!=="never"&&zw(G,!0,P,O)},ke=()=>{const G=s.getState();G.gl.xr.enabled=G.gl.xr.isPresenting,G.gl.xr.setAnimationLoop(G.gl.xr.isPresenting?_e:null),G.gl.xr.isPresenting||Gw(G)},V={connect(){const G=s.getState().gl;G.xr.addEventListener("sessionstart",ke),G.xr.addEventListener("sessionend",ke)},disconnect(){const G=s.getState().gl;G.xr.removeEventListener("sessionstart",ke),G.xr.removeEventListener("sessionend",ke)}};typeof((re=j.xr)==null?void 0:re.addEventListener)=="function"&&V.connect(),b.set({xr:V})}if(j.shadowMap){const _e=j.shadowMap.enabled,ke=j.shadowMap.type;if(j.shadowMap.enabled=!!I,In.boo(I))j.shadowMap.type=GA;else if(In.str(I)){var fe;const V={basic:$Q,percentage:Fg,soft:GA,variance:Xr};j.shadowMap.type=(fe=V[I])!=null?fe:GA}else In.obj(I)&&Object.assign(j.shadowMap,I);(_e!==j.shadowMap.enabled||ke!==j.shadowMap.type)&&(j.shadowMap.needsUpdate=!0)}const k=gD();k&&("enabled"in k?k.enabled=!v:"legacyMode"in k&&(k.legacyMode=v)),Rc(j,{outputEncoding:p?3e3:3001,toneMapping:y?_s:pv}),b.legacy!==v&&b.set(()=>({legacy:v})),b.linear!==p&&b.set(()=>({linear:p})),b.flat!==y&&b.set(()=>({flat:y})),d&&!In.fun(d)&&!SD(d)&&!In.equ(d,j,Dc)&&Rc(j,d),E&&!b.events.handlers&&b.set({events:E(s)});const Ae=jH(n,f);return In.equ(Ae,b.size,Dc)||b.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),Q&&b.viewport.dpr!==CD(Q)&&b.setDpr(Q),b.frameloop!==R&&b.setFrameloop(R),b.onPointerMissed||b.set({onPointerMissed:_}),D&&!In.equ(D,b.performance,Dc)&&b.set(_e=>({performance:{..._e.performance,...D}})),a=C,l=!0,this},render(h){return l||this.configure(),Lh.updateContainer(Z.createElement($H,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){_D(n)}}}function $H({store:n,children:e,onCreated:t,rootElement:i}){return Zh(()=>{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)},[]),Z.createElement(iB.Provider,{value:n},e)}function _D(n,e){const t=Bu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),Lh.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(),FH(r),Bu.delete(n),e&&e(n)}catch{}},500)})}}function MD(n,e,t){return Z.createElement(eG,{key:e.uuid,children:n,container:e,state:t})}function eG({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Ts(),[a]=Z.useState(()=>new jh),[l]=Z.useState(()=>new ve),A=Z.useCallback((d,f)=>{const g={...d};Object.keys(d).forEach(C=>{(VH.includes(C)||d[C]!==f[C]&&f[C])&&delete g[C]});let E;if(f&&r){const C=f.camera;E=d.viewport.getCurrentViewport(C,new F,r),C!==d.camera&&BD(C,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...f?.events,...i},size:{...d.size,...r},viewport:{...d.viewport,...E},...s}},[n]),[h]=Z.useState(()=>{const d=o.getState();return uD((g,E)=>({...d,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...d.events,...i},size:{...d.size,...r},...s,set:g,get:E,setEvents:C=>g(I=>({...I,events:{...I.events,...C}}))}))});return Z.useEffect(()=>{const d=o.subscribe(f=>h.setState(g=>A(f,g)));return()=>{d(),h.destroy()}},[]),Z.useEffect(()=>{h.setState(d=>A(o.getState(),d))},[A]),Z.createElement(Z.Fragment,null,Lh.createPortal(Z.createElement(iB.Provider,{value:h},e),h,null))}Lh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Z.version});function Eg(){return Eg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}lC.debounce=lC;var tG=lC;const Vw=IC(tG);function nG(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]=Z.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=Z.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=Z.useRef(!1);Z.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,g,E]=Z.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:v,top:S,width:R,height:Q,bottom:D,right:U,x:J,y:_}=l.current.element.getBoundingClientRect(),b={left:v,top:S,width:R,height:Q,bottom:D,right:U,x:J,y:_};l.current.element instanceof HTMLElement&&r&&(b.height=l.current.element.offsetHeight,b.width=l.current.element.offsetWidth),Object.freeze(b),d.current&&!oG(l.current.lastBounds,b)&&a(l.current.lastBounds=b)};return[y,h?Vw(y,h):y,A?Vw(y,A):y]},[a,r,A,h]);function C(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function I(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=y=>{!y||y===l.current.element||(C(),l.current.element=y,l.current.scrollContainers=QD(y),I())};return rG(E,!!t),iG(g),Z.useEffect(()=>{C(),I()},[t,E,g]),Z.useEffect(()=>C,[]),[p,o,f]}function iG(n){Z.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function rG(n,e){Z.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function QD(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,...QD(n.parentElement)]}const sG=["x","y","top","bottom","left","right","width","height"],oG=(n,e)=>sG.every(t=>n[t]===e[t]);var aG=Object.defineProperty,lG=Object.defineProperties,cG=Object.getOwnPropertyDescriptors,Ww=Object.getOwnPropertySymbols,uG=Object.prototype.hasOwnProperty,AG=Object.prototype.propertyIsEnumerable,Yw=(n,e,t)=>e in n?aG(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Jw=(n,e)=>{for(var t in e||(e={}))uG.call(e,t)&&Yw(n,t,e[t]);if(Ww)for(var t of Ww(e))AG.call(e,t)&&Yw(n,t,e[t]);return n},hG=(n,e)=>lG(n,cG(e));function RD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=RD(i,e,t);if(r)return r;i=e?null:i.sibling}}function DD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const oB=DD(Z.createContext(null));class TD extends Z.Component{render(){return Z.createElement(oB.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:Xw,ReactCurrentDispatcher:Kw}=Z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function dG(){const n=Z.useContext(oB);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=Z.useId();return Z.useMemo(()=>{for(const i of[Xw?.current,n,n?.alternate]){if(!i)continue;const r=RD(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 fG(){var n,e;const t=dG(),[i]=Z.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==oB&&!i.has(s)&&i.set(s,(e=Kw?.current)==null?void 0:e.readContext(DD(s))),r=r.return}return i}function pG(){const n=fG();return Z.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Z.createElement(e,null,Z.createElement(t.Provider,hG(Jw({},i),{value:n.get(t)}))),e=>Z.createElement(TD,Jw({},e))),[n])}const KE={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 gG(n){const{handlePointer:e}=zH(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(KE).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,A]=KE[o];t.addEventListener(l,a,{passive:A})})},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]=KE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const mG=Z.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=gG,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:y,scene:v,onPointerMissed:S,onCreated:R,...Q},D){Z.useMemo(()=>LH(BH),[]);const U=pG(),[J,_]=nG({scroll:!0,debounce:{scroll:50,resize:0},...i}),b=Z.useRef(null),j=Z.useRef(null);Z.useImperativeHandle(D,()=>b.current);const de=ED(S),[Y,ae]=Z.useState(!1),[re,fe]=Z.useState(!1);if(Y)throw Y;if(re)throw re;const k=Z.useRef(null);Zh(()=>{const ne=b.current;_.width>0&&_.height>0&&ne&&(k.current||(k.current=ZH(ne)),k.current.configure({gl:s,events:o,shadows:A,linear:h,flat:d,legacy:f,orthographic:g,frameloop:E,dpr:C,performance:I,raycaster:p,camera:y,scene:v,size:_,onPointerMissed:(...Ae)=>de.current==null?void 0:de.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?PH(a)?a.current:a:j.current),l&&Ae.setEvents({compute:(_e,ke)=>{const V=_e[l+"X"],G=_e[l+"Y"];ke.pointer.set(V/ke.size.width*2-1,-(G/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),R?.(Ae)}}),k.current.render(Z.createElement(U,null,Z.createElement(ID,{set:fe},Z.createElement(Z.Suspense,{fallback:Z.createElement(NH,{set:ae})},e)))))}),Z.useEffect(()=>{const ne=b.current;if(ne)return()=>_D(ne)},[]);const $=a?"none":"auto";return Z.createElement("div",Eg({ref:j,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:$,...r}},Q),Z.createElement("div",{ref:J,style:{width:"100%",height:"100%"}},Z.createElement("canvas",{ref:b,style:{display:"block"}},t)))}),EG=Z.forwardRef(function(e,t){return Z.createElement(TD,null,Z.createElement(mG,Eg({},e,{ref:t})))}),IG=Z.createContext(null);function LD(){return Z.useContext(IG)}const bD=Z.createContext(void 0);function Qa(){const n=Z.useContext(bD);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const bu=bD.Provider;function fm(){throw new Error("Cycle detected")}var yG=Symbol.for("preact-signals");function pm(){if(ga>1)ga--;else{for(var n,e=!1;JA!==void 0;){var t=JA;for(JA=void 0,cC++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&UD(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(cC=0,ga--,e)throw n}}function PD(n){if(ga>0)return n();ga++;try{return n()}finally{pm()}}var En=void 0,qE=0;function CG(n){if(qE>0)return n();var e=En;En=void 0,qE++;try{return n()}finally{qE--,En=e}}var JA=void 0,ga=0,cC=0,Ig=0;function ND(n){if(En!==void 0){var e=n.n;if(e===void 0||e.t!==En)return e={i:0,S:n,p:En.s,n:void 0,t:En,e:void 0,x:void 0,r:e},En.s!==void 0&&(En.s.n=e),En.s=e,n.n=e,32&En.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=En.s,e.n=void 0,En.s.n=e,En.s=e),e}}function ti(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ti.prototype.brand=yG;ti.prototype.h=function(){return!0};ti.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ti.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ti.prototype.subscribe=function(n){var e=this;return et(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ti.prototype.valueOf=function(){return this.value};ti.prototype.toString=function(){return this.value+""};ti.prototype.toJSON=function(){return this.value};ti.prototype.peek=function(){return this.v};Object.defineProperty(ti.prototype,"value",{get:function(){var n=ND(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(En instanceof Ra&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){cC>100&&fm(),this.v=n,this.i++,Ig++,ga++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{pm()}}}});function nt(n){return new ti(n)}function UD(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function kD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function FD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Ra(n){ti.call(this,void 0),this.x=n,this.s=void 0,this.g=Ig-1,this.f=4}(Ra.prototype=new ti).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Ig))return!0;if(this.g=Ig,this.f|=1,this.i>0&&!UD(this))return this.f&=-2,!0;var n=En;try{kD(this),En=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return En=n,FD(this),this.f&=-2,!0};Ra.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ti.prototype.S.call(this,n)};Ra.prototype.U=function(n){if(this.t!==void 0&&(ti.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Ra.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Ra.prototype.peek=function(){if(this.h()||fm(),16&this.f)throw this.v;return this.v};Object.defineProperty(Ra.prototype,"value",{get:function(){1&this.f&&fm();var n=ND(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Wt(n){return new Ra(n)}function OD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){ga++;var t=En;En=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,aB(n),i}finally{En=t,pm()}}}function aB(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,OD(n)}function vG(n){if(En!==this)throw new Error("Out-of-order effect");FD(this),En=n,this.f&=-2,8&this.f&&aB(this),pm()}function ed(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}ed.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};ed.prototype.S=function(){1&this.f&&fm(),this.f|=1,this.f&=-9,OD(this),kD(this),ga++;var n=En;return En=this,vG.bind(this,n)};ed.prototype.N=function(){2&this.f||(this.f|=2,this.o=JA,JA=this)};ed.prototype.d=function(){this.f|=8,1&this.f||aB(this)};function et(n){var e=new ed(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var BG=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,N){i=L,r=N});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&Y("no native wasm support detected");var h,d=!1;function f(L,N,ee){ee=N+ee;for(var se="";!(N>=ee);){var he=L[N++];if(!he)break;if(he&128){var xe=L[N++]&63;if((he&224)==192)se+=String.fromCharCode((he&31)<<6|xe);else{var Pe=L[N++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Pe:(he&7)<<18|xe<<12|Pe<<6|L[N++]&63,65536>he?se+=String.fromCharCode(he):(he-=65536,se+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else se+=String.fromCharCode(he)}return se}var g,E,C,I,p,y,v,S,R;function Q(){var L=h.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=I=new Int16Array(L),t.HEAP32=y=new Int32Array(L),t.HEAPU8=C=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=v=new Uint32Array(L),t.HEAPF32=S=new Float32Array(L),t.HEAPF64=R=new Float64Array(L)}var D,U=[],J=[],_=[];function b(){var L=t.preRun.shift();U.unshift(L)}var j=0,de=null;function Y(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),d=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function ae(L){return L.startsWith("data:application/octet-stream;base64,")}var re;if(re="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!ae(re)){var fe=re;re=t.locateFile?t.locateFile(fe,o):o+fe}function k(){var L=re;try{if(L==re&&A)return new Uint8Array(A);if(ae(L))try{var N=gn(L.slice(37)),ee=new Uint8Array(N.length);for(L=0;L=N?"_"+L:L}function _e(L,N){return L=Ae(L),function(){return N.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],V=[];function G(L){var N=Error,ee=_e(L,function(se){this.name=L,this.message=se,se=Error(se).stack,se!==void 0&&(this.stack=this.toString()+` +`+se.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(N.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var O=void 0;function P(L){throw new O(L)}var Ee=L=>(L||P("Cannot use deleted val. handle = "+L),ke[L].value),Be=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var N=V.length?V.pop():ke.length;return ke[N]={ga:1,value:L},N}},pe=void 0,Se=void 0;function H(L){for(var N="";C[L];)N+=Se[C[L++]];return N}var me=[];function te(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ue=void 0,le={};function De(L,N){for(N===void 0&&P("ptr should not be undefined");L.R;)N=L.ba(N),L=L.R;return N}var q={};function w(L){L=hn(L);var N=H(L);return At(L),N}function T(L,N){var ee=q[L];return ee===void 0&&P(N+" has unknown type "+w(L)),ee}function ie(){}var Le=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,N,ee){return N===ee?L:ee.R===void 0?null:(L=Re(L,N,ee.R),L===null?null:ee.na(L))}var Je={};function Ve(L,N){return N=De(L,N),le[N]}var je=void 0;function lt(L){throw new je(L)}function mt(L,N){return N.P&&N.O||lt("makeClassHandle requires ptr and ptrType"),!!N.U!=!!N.T&<("Both smartPtrType and smartPtr must be specified"),N.count={value:1},be(Object.create(L,{M:{value:N}}))}function be(L){return typeof FinalizationRegistry>"u"?(be=N=>N,L):(Le=new FinalizationRegistry(N=>{Te(N.M)}),be=N=>{var ee=N.M;return ee.T&&Le.register(N,{M:ee},N),N},ie=N=>{Le.unregister(N)},be(L))}var Pt={};function Mt(L){for(;L.length;){var N=L.pop();L.pop()(N)}}function gt(L){return this.fromWireType(y[L>>2])}var at={},tt={};function vt(L,N,ee){function se(Ne){Ne=ee(Ne),Ne.length!==L.length&<("Mismatched type converter count");for(var Ue=0;Ue{q.hasOwnProperty(Ne)?he[Ue]=q[Ne]:(xe.push(Ne),at.hasOwnProperty(Ne)||(at[Ne]=[]),at[Ne].push(()=>{he[Ue]=q[Ne],++Pe,Pe===xe.length&&se(he)}))}),xe.length===0&&se(he)}function Vt(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function Gt(L,N,ee={}){if(!("argPackAdvance"in N))throw new TypeError("registerType registeredInstance requires argPackAdvance");var se=N.name;if(L||P('type "'+se+'" must have a positive integer typeid pointer'),q.hasOwnProperty(L)){if(ee.ua)return;P("Cannot register type '"+se+"' twice")}q[L]=N,delete tt[L],at.hasOwnProperty(L)&&(N=at[L],delete at[L],N.forEach(he=>he()))}function Tt(L){P(L.M.P.N.name+" instance already deleted")}function Ot(){}function K(L,N,ee){if(L[N].S===void 0){var se=L[N];L[N]=function(){return L[N].S.hasOwnProperty(arguments.length)||P("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[N].S+")!"),L[N].S[arguments.length].apply(this,arguments)},L[N].S=[],L[N].S[se.Z]=se}}function Ge(L,N){t.hasOwnProperty(L)?(P("Cannot register public name '"+L+"' twice"),K(t,L,L),t.hasOwnProperty(void 0)&&P("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=N):t[L]=N}function ze(L,N,ee,se,he,xe,Pe,Ne){this.name=L,this.constructor=N,this.X=ee,this.W=se,this.R=he,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function rt(L,N,ee){for(;N!==ee;)N.ba||P("Expected null or instance of "+ee.name+", got an instance of "+N.name),L=N.ba(L),N=N.R;return L}function ft(L,N){return N===null?(this.ea&&P("null is not a valid "+this.name),0):(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),rt(N.M.O,N.M.P.N,this.N))}function Kt(L,N){if(N===null){if(this.ea&&P("null is not a valid "+this.name),this.da){var ee=this.fa();return L!==null&&L.push(this.W,ee),ee}return 0}if(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&N.M.P.ca&&P("Cannot convert argument of type "+(N.M.U?N.M.U.name:N.M.P.name)+" to parameter type "+this.name),ee=rt(N.M.O,N.M.P.N,this.N),this.da)switch(N.M.T===void 0&&P("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:N.M.U===this?ee=N.M.T:P("Cannot convert argument of type "+(N.M.U?N.M.U.name:N.M.P.name)+" to parameter type "+this.name);break;case 1:ee=N.M.T;break;case 2:if(N.M.U===this)ee=N.M.T;else{var se=N.clone();ee=this.xa(ee,Be(function(){se.delete()})),L!==null&&L.push(this.W,ee)}break;default:P("Unsupporting sharing policy")}return ee}function nn(L,N){return N===null?(this.ea&&P("null is not a valid "+this.name),0):(N.M||P('Cannot pass "'+as(N)+'" as a '+this.name),N.M.O||P("Cannot pass deleted object as a pointer of type "+this.name),N.M.P.ca&&P("Cannot convert argument of type "+N.M.P.name+" to parameter type "+this.name),rt(N.M.O,N.M.P.N,this.N))}function sn(L,N,ee,se){this.name=L,this.N=N,this.ea=ee,this.ca=se,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,N.R!==void 0?this.toWireType=Kt:(this.toWireType=se?ft:nn,this.V=null)}function Ai(L,N){t.hasOwnProperty(L)||lt("Replacing nonexistant public symbol"),t[L]=N,t[L].Z=void 0}function on(L,N){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),L.includes("j")){var se=t["dynCall_"+L];se=ee&&ee.length?se.apply(null,[N].concat(ee)):se.call(null,N)}else se=D.get(N).apply(null,ee);return se}}function ln(L,N){L=H(L);var ee=L.includes("j")?on(L,N):D.get(N);return typeof ee!="function"&&P("unknown function pointer with signature "+L+": "+N),ee}var Di=void 0;function ss(L,N){function ee(xe){he[xe]||q[xe]||(tt[xe]?tt[xe].forEach(ee):(se.push(xe),he[xe]=!0))}var se=[],he={};throw N.forEach(ee),new Di(L+": "+se.map(w).join([", "]))}function Ps(L,N,ee,se,he){var xe=N.length;2>xe&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=N[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function Ir(L){4>2])};case 3:return function(ee){return this.fromWireType(R[ee>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Xl(L,N,ee){switch(N){case 0:return ee?function(se){return E[se]}:function(se){return C[se]};case 1:return ee?function(se){return I[se>>1]}:function(se){return p[se>>1]};case 2:return ee?function(se){return y[se>>2]}:function(se){return v[se>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Uu(L,N){for(var ee="",se=0;!(se>=N/2);++se){var he=I[L+2*se>>1];if(he==0)break;ee+=String.fromCharCode(he)}return ee}function ku(L,N,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var se=N;ee=ee<2*L.length?ee/2:L.length;for(var he=0;he>1]=L.charCodeAt(he),N+=2;return I[N>>1]=0,N-se}function Fu(L){return 2*L.length}function z(L,N){for(var ee=0,se="";!(ee>=N/4);){var he=y[L+4*ee>>2];if(he==0)break;++ee,65536<=he?(he-=65536,se+=String.fromCharCode(55296|he>>10,56320|he&1023)):se+=String.fromCharCode(he)}return se}function ge(L,N,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var se=N;ee=se+ee-4;for(var he=0;he=xe){var Pe=L.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Pe&1023}if(y[N>>2]=xe,N+=4,N+4>ee)break}return y[N>>2]=0,N-se}function Ce(L){for(var N=0,ee=0;ee=se&&++ee,N+=4}return N}var we={};function ye(L){var N=we[L];return N===void 0?H(L):N}var Xe=[];function ut(L){var N=Xe.length;return Xe.push(L),N}function Et(L,N){for(var ee=Array(L),se=0;se>2],"parameter "+se);return ee}var It=[],_t=[null,[],[]];O=t.BindingError=G("BindingError"),t.count_emval_handles=function(){for(var L=0,N=5;Nxt;++xt)St[xt]=String.fromCharCode(xt);Se=St,t.getInheritedInstanceCount=function(){return Object.keys(le).length},t.getLiveInheritedInstances=function(){var L=[],N;for(N in le)le.hasOwnProperty(N)&&L.push(le[N]);return L},t.flushPendingDeletes=te,t.setDelayFunction=function(L){ue=L,me.length&&ue&&ue(te)},je=t.InternalError=G("InternalError"),Ot.prototype.isAliasOf=function(L){if(!(this instanceof Ot&&L instanceof Ot))return!1;var N=this.M.P.N,ee=this.M.O,se=L.M.P.N;for(L=L.M.O;N.R;)ee=N.ba(ee),N=N.R;for(;se.R;)L=se.ba(L),se=se.R;return N===se&&ee===L},Ot.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var L=be,N=Object,ee=N.create,se=Object.getPrototypeOf(this),he=this.M;return L=L(ee.call(N,se,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),L.M.count.value+=1,L.M.$=!1,L},Ot.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&P("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ot.prototype.isDeleted=function(){return!this.M.O},Ot.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&P("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},sn.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},sn.prototype.ha=function(L){this.W&&this.W(L)},sn.prototype.argPackAdvance=8,sn.prototype.readValueFromPointer=gt,sn.prototype.deleteObject=function(L){L!==null&&L.delete()},sn.prototype.fromWireType=function(L){function N(){return this.da?mt(this.N.X,{P:this.wa,O:ee,U:this,T:L}):mt(this.N.X,{P:this,O:L})}var ee=this.qa(L);if(!ee)return this.ha(L),null;var se=Ve(this.N,ee);if(se!==void 0)return se.M.count.value===0?(se.M.O=ee,se.M.T=L,se.clone()):(se=se.clone(),this.ha(L),se);if(se=this.N.pa(ee),se=Je[se],!se)return N.call(this);se=this.ca?se.la:se.pointerType;var he=Re(ee,this.N,se.N);return he===null?N.call(this):this.da?mt(se.N.X,{P:se,O:he,U:this,T:L}):mt(se.N.X,{P:se,O:he})},Di=t.UnboundTypeError=G("UnboundTypeError");var gn=typeof atob=="function"?atob:function(L){var N="",ee=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++));se=se<<2|he>>4,he=(he&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;N+=String.fromCharCode(se),xe!==64&&(N+=String.fromCharCode(he)),Pe!==64&&(N+=String.fromCharCode(Ne))}while(eePe.ta).concat(he.map(Pe=>Pe.za));vt([L],xe,Pe=>{var Ne={};return he.forEach((Ue,Fe)=>{var We=Pe[Fe],pt=Ue.ra,Jt=Ue.sa,Dn=Pe[Fe+he.length],Xt=Ue.ya,ri=Ue.Aa;Ne[Ue.oa]={read:hi=>We.fromWireType(pt(Jt,hi)),write:(hi,ls)=>{var Or=[];Xt(ri,hi,Dn.toWireType(Or,ls)),Mt(Or)}}}),[{name:N.name,fromWireType:function(Ue){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(Ue);return se(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var pt=ee();for(We in Ne)Ne[We].write(pt,Fe[We]);return Ue!==null&&Ue.push(se,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:se}]})},v:function(){},B:function(L,N,ee,se,he){var xe=Vt(ee);N=H(N),Gt(L,{name:N,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?se:he},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=I;else if(ee===4)Ne=y;else throw new TypeError("Unknown boolean type size: "+N);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(L,N,ee,se,he,xe,Pe,Ne,Ue,Fe,We,pt,Jt){We=H(We),xe=ln(he,xe),Ne&&(Ne=ln(Pe,Ne)),Fe&&(Fe=ln(Ue,Fe)),Jt=ln(pt,Jt);var Dn=Ae(We);Ge(Dn,function(){ss("Cannot construct "+We+" due to unbound types",[se])}),vt([L,N,ee],se?[se]:[],function(Xt){if(Xt=Xt[0],se)var ri=Xt.N,hi=ri.X;else hi=Ot.prototype;Xt=_e(Dn,function(){if(Object.getPrototypeOf(this)!==ls)throw new O("Use 'new' to construct "+We);if(Or.Y===void 0)throw new O(We+" has no accessible constructor");var Kl=Or.Y[arguments.length];if(Kl===void 0)throw new O("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Or.Y).toString()+") parameters instead!");return Kl.apply(this,arguments)});var ls=Object.create(hi,{constructor:{value:Xt}});Xt.prototype=ls;var Or=new ze(We,Xt,ls,Jt,ri,xe,Ne,Fe);ri=new sn(We,Or,!0,!1),hi=new sn(We+"*",Or,!1,!1);var sd=new sn(We+" const*",Or,!1,!0);return Je[L]={pointerType:hi,la:sd},Ai(Dn,Xt),[ri,hi,sd]})},d:function(L,N,ee,se,he,xe,Pe){var Ne=os(ee,se);N=H(N),xe=ln(he,xe),vt([],[L],function(Ue){function Fe(){ss("Cannot call "+We+" due to unbound types",Ne)}Ue=Ue[0];var We=Ue.name+"."+N;N.startsWith("@@")&&(N=Symbol[N.substring(2)]);var pt=Ue.N.constructor;return pt[N]===void 0?(Fe.Z=ee-1,pt[N]=Fe):(K(pt,N,We),pt[N].S[ee-1]=Fe),vt([],Ne,function(Jt){return Jt=Ps(We,[Jt[0],null].concat(Jt.slice(1)),null,xe,Pe),pt[N].S===void 0?(Jt.Z=ee-1,pt[N]=Jt):pt[N].S[ee-1]=Jt,[]}),[]})},p:function(L,N,ee,se,he,xe){0{ss("Cannot construct "+Ne.name+" due to unbound types",Pe)},vt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[N-1]=Ps(Ue,Fe,null,he,xe),[]}),[]})},a:function(L,N,ee,se,he,xe,Pe,Ne){var Ue=os(ee,se);N=H(N),xe=ln(he,xe),vt([],[L],function(Fe){function We(){ss("Cannot call "+pt+" due to unbound types",Ue)}Fe=Fe[0];var pt=Fe.name+"."+N;N.startsWith("@@")&&(N=Symbol[N.substring(2)]),Ne&&Fe.N.ja.push(N);var Jt=Fe.N.X,Dn=Jt[N];return Dn===void 0||Dn.S===void 0&&Dn.className!==Fe.name&&Dn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Jt[N]=We):(K(Jt,N,pt),Jt[N].S[ee-2]=We),vt([],Ue,function(Xt){return Xt=Ps(pt,Xt,Fe,xe,Pe),Jt[N].S===void 0?(Xt.Z=ee-2,Jt[N]=Xt):Jt[N].S[ee-2]=Xt,[]}),[]})},A:function(L,N){N=H(N),Gt(L,{name:N,fromWireType:function(ee){var se=Ee(ee);return Ir(ee),se},toWireType:function(ee,se){return Be(se)},argPackAdvance:8,readValueFromPointer:gt,V:null})},n:function(L,N,ee){ee=Vt(ee),N=H(N),Gt(L,{name:N,fromWireType:function(se){return se},toWireType:function(se,he){return he},argPackAdvance:8,readValueFromPointer:Jl(N,ee),V:null})},e:function(L,N,ee,se,he){N=H(N),he===-1&&(he=4294967295),he=Vt(ee);var xe=Ne=>Ne;if(se===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=N.includes("unsigned")?function(Ne,Ue){return Ue>>>0}:function(Ne,Ue){return Ue},Gt(L,{name:N,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Xl(N,he,se!==0),V:null})},b:function(L,N,ee){function se(xe){xe>>=2;var Pe=v;return new he(g,Pe[xe+1],Pe[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][N];ee=H(ee),Gt(L,{name:ee,fromWireType:se,argPackAdvance:8,readValueFromPointer:se},{ua:!0})},o:function(L,N){N=H(N);var ee=N==="std::string";Gt(L,{name:N,fromWireType:function(se){var he=v[se>>2],xe=se+4;if(ee)for(var Pe=xe,Ne=0;Ne<=he;++Ne){var Ue=xe+Ne;if(Ne==he||C[Ue]==0){if(Pe=Pe?f(C,Pe,Ue-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=Ue+1}}else{for(Fe=Array(he),Ne=0;Ne=Ue?Ne++:2047>=Ue?Ne+=2:55296<=Ue&&57343>=Ue?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=he.length;if(Ne=Rn(4+xe+1),Ue=Ne+4,v[Ne>>2]=xe,ee&&Pe){if(Pe=Ue,Ue=xe+1,xe=C,0=We){var pt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|pt&1023}if(127>=We){if(Pe>=Ue)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=Ue)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=Ue)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=Ue)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else N===4&&(se=z,he=ge,xe=Ce,Pe=()=>v,Ne=2);Gt(L,{name:ee,fromWireType:function(Ue){for(var Fe=v[Ue>>2],We=Pe(),pt,Jt=Ue+4,Dn=0;Dn<=Fe;++Dn){var Xt=Ue+4+Dn*N;(Dn==Fe||We[Xt>>Ne]==0)&&(Jt=se(Jt,Xt-Jt),pt===void 0?pt=Jt:(pt+="\0",pt+=Jt),Jt=Xt+N)}return At(Ue),pt},toWireType:function(Ue,Fe){typeof Fe!="string"&&P("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),pt=Rn(4+We+N);return v[pt>>2]=We>>Ne,he(Fe,pt+4,We+N),Ue!==null&&Ue.push(At,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:function(Ue){At(Ue)}})},k:function(L,N,ee,se,he,xe){Pt[L]={name:H(N),fa:ln(ee,se),W:ln(he,xe),ia:[]}},h:function(L,N,ee,se,he,xe,Pe,Ne,Ue,Fe){Pt[L].ia.push({oa:H(N),ta:ee,ra:ln(se,he),sa:xe,za:Pe,ya:ln(Ne,Ue),Aa:Fe})},C:function(L,N){N=H(N),Gt(L,{va:!0,name:N,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,N,ee,se,he){L=Xe[L],N=Ee(N),ee=ye(ee);var xe=[];return v[se>>2]=Be(xe),L(N,ee,xe,he)},t:function(L,N,ee,se){L=Xe[L],N=Ee(N),ee=ye(ee),L(N,ee,null,se)},g:Ir,m:function(L,N){var ee=Et(L,N),se=ee[0];N=se.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var he=It[N];if(he!==void 0)return he;var xe=Array(L-1);return he=ut((Pe,Ne,Ue,Fe)=>{for(var We=0,pt=0;pt>>=0,2147483648=ee;ee*=2){var se=N*(1+.2/ee);se=Math.min(se,L+100663296);var he=Math;se=Math.max(L,se),he=he.min.call(he,2147483648,se+(65536-se%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),Q();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,N,ee,se){for(var he=0,xe=0;xe>2],Ne=v[N+4>>2];N+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function L(he){t.asm=he.exports,h=t.asm.E,Q(),D=t.asm.J,J.unshift(t.asm.F),j--,t.monitorRunDependencies&&t.monitorRunDependencies(j),j==0&&de&&(he=de,de=null,he())}function N(he){L(he.instance)}function ee(he){return $().then(function(xe){return WebAssembly.instantiate(xe,se)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),Y(xe)})}var se={a:Jn};if(j++,t.monitorRunDependencies&&t.monitorRunDependencies(j),t.instantiateWasm)try{return t.instantiateWasm(se,L)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||ae(re)||typeof fetch!="function"?ee(N):fetch(re,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,se).then(N,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(N)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var hn=t.___getTypeName=function(){return(hn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Rn=t._malloc=function(){return(Rn=t._malloc=t.asm.I).apply(null,arguments)},At=t._free=function(){return(At=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;de=function L(){$e||Ti(),$e||(de=L)};function Ti(){function L(){if(!$e&&($e=!0,t.calledRun=!0,!d)){if(ne(J),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var N=t.postRun.shift();_.unshift(N)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Fp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...SG}}const HD=wG(await BG());function Ks(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const _G={static:0,relative:1,absolute:2},eI={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},MG={column:0,"column-reverse":1,row:2,"row-reverse":3},QG={"no-wrap":0,wrap:1,"wrap-reverse":2},RG={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},DG={visible:0,hidden:1,scroll:2},TG={flex:0,none:1},GD={positionType:(n,e)=>n.setPositionType(Ks(_G,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Ks(eI,e,4)),alignItems:(n,e)=>n.setAlignItems(Ks(eI,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Ks(eI,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Ks(MG,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Ks(QG,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Ks(RG,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Ks(DG,e,0)),display:(n,e)=>n.setDisplay(Ks(TG,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function lB(n,e,t,i,r){let s=!1,o,a={};r.push(et(()=>{const l=n.value;s&&$w(t,l,o,a,i),o=l}),et(()=>{if(s=e.value,!!s&&o!=null)return $w(t,o,void 0,a,i),()=>{LG(a),a={}}}))}function $w(n,e,t,i,r){const s=l=>i[l]=et(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};CG(()=>e.filterCompare(n,t,s,a,o))}function LG(n){for(const e in n)n[e]()}const TA=100,cB=HD.Config.create();cB.setUseWebDefaults(!0);cB.setPointScaleFactor(TA);function bG(n){return n==="measureFunc"?!0:n in GD}function go(){const n=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(wl.Visible),scrollable:n,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0])}}class zD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=HD.Node.create(cB),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),lB(t,this.active,bG,(o,a)=>{GD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*TA+1)/TA,height:Math.ceil(a.height*TA+1)/TA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),PD(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const d=e.indexOf(A);if(d===-1)throw new Error("parent mismatch");return h-d});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&PG(i,t_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=t_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Pc(this.state.maxScrollPosition,J?D:void 0,_?U:void 0),Pc(this.state.scrollable,J,_)}else Pc(this.state.maxScrollPosition,void 0,void 0),Pc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===wl.Visible;return[s+Math.max(i,S?y:0),o+Math.max(r,S?v:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Pc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function e_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function t_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function PG(n,e){return n.M.O===e.M.O}function gm(n,e,t,i){t!=null&&(tI(t.classes,i),i(t)),e!=null&&(tI(e.classes,i),i(e)),n!=null&&(tI(n.classes,i),i(n))}function tI(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class VG{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=zG[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ti?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);n_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:n_(i,r)}addAll(e,t,i,r){gm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function n_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!JG(Fr(t),Fr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function JG(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function zl(n,e,t){return n[uC]=e,n[AC]=t,n}function mo(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function Da(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const XG=new F,KG=new F,ap=new F,nI=new ct,qG=new Mu,jG=new Hn,iI=Math.PI/180;function ZG([n,e,t]){return jG.setFromEuler(qG.set(n*iI,e*iI,t*iI))}const $G="center",ez="center";function Eo(n,{relativeCenter:e,size:t},i){const r=Ft(n,"transformTranslateX",0),s=Ft(n,"transformTranslateY",0),o=Ft(n,"transformTranslateZ",0),a=Ft(n,"transformRotateX",0),l=Ft(n,"transformRotateY",0),A=Ft(n,"transformRotateZ",0),h=Ft(n,"transformScaleX",1),d=Ft(n,"transformScaleY",1),f=Ft(n,"transformScaleZ",1),g=Ft(n,"transformOriginX",$G),E=Ft(n,"transformOriginY",ez);return Wt(()=>{if(e.value==null)return;const[C,I]=e.value,p=i.value,y=new ct().makeTranslation(C*p,I*p,0);let v=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;v=!1,ap.set(-pT[g.value]*D*p,-gT[E.value]*U*p,0),y.multiply(nI.makeTranslation(ap)),ap.negate()}const S=[a.value,l.value,A.value],R=[r.value,-s.value,o.value],Q=[h.value,d.value,f.value];return(R.some(D=>D!=0)||S.some(D=>D!=0)||Q.some(D=>D!=1))&&y.multiply(nI.compose(XG.fromArray(R).multiplyScalar(p),ZG(S),KG.fromArray(Q))),v||y.multiply(nI.makeTranslation(ap)),y})}function Io(n,e,t){t.push(()=>et(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const tz=Math.cos(45/180*Math.PI),rI=[new rn,new rn,new rn,new rn],i_=new F;class nz{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new F(t,i,0).applyMatrix4(e),this.facePlane=new rn(new F(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,d=-t+o;this.planes=[new rn(new F(0,-1,0),h).applyMatrix4(e),new rn(new F(-1,0,0),d).applyMatrix4(e),new rn(new F(0,1,0),l).applyMatrix4(e),new rn(new F(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=rI[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,d=(o.constant-s.constant*a)/A;i_.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,d),l.constant=-i_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;rI[t].normal.dot(i)>tz;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;rI[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let d=0;d<4;d++){const[f,g]=iz[d];r_[d].set(f*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let d=0;d<4;d++){const f=A[d];h=!0;for(let g=0;g<4;g++){const E=r_[g];f.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function mm(n,{overflow:e,borderInset:t,size:i},r,s){return Wt(()=>{const o=n.value;if(o==null||e.value===wl.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,d,f]=t.value,g=r.value,E=new nz(o,(h-f)*g/2,(A-d)*g/2,(a-f-h)*g,(l-A-d)*g);return s?.value!=null&&E.min(s.value),E})}const hC=new rn(new F(-1,0,0),Number.MAX_SAFE_INTEGER),yg=new Float32Array(16);for(let n=0;n<4;n++)hC.normal.toArray(yg,n*4),yg[n*4+3]=hC.constant;function td(n,e,t){const i=[new rn,new rn,new rn,new rn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(hC);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function VD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function rz(n,e,t){VD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function sz(n,e,t,i){VD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function oz(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,d=l.elements.length-1;if(d!=i){const g=h+d,E=h+i;a(E,g,g+1);const C=l.elements[d];l.elements[i]=C,o(C,i)}if(s(h+d),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=f.missingSpace,f=n[--e]}return n.length=e+1,!1}function az(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const d=n[h];if(d.missingSpace===0)continue;const f=d.missingSpace<0;if(f&&(l||A)){s_(n,t,h,o,Math.abs(d.missingSpace));continue}if(!A&&!f)continue;const g=Math.min(Math.abs(d.missingSpace),Math.abs(a.missingSpace));A?lz(n,t,h,o,g):s_(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),YD=nt(WD?.matches??!1);WD?.addEventListener("change",n=>YD.value=n.matches);const JD=nt("system"),XD=Wt(()=>{switch(JD.value){case"system":return YD.value;case"dark":return!0;case"light":return!1}});function cz(n){JD.value=n}const yo={dark:id(()=>XD.value)};function uz({dark:n,light:e}){const t={};for(const i in n)t[i]=Wt(()=>XD.value?n[i]:e[i]);return t}const KD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},qD=Object.keys(KD),Az=qD.length;function Co(n){const e={};for(let t=0;t(n.value?.[0]??0)>KD[i])}return e}function o_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function sI(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function bh(n,e,t){return e.xadvance*n+t}function lp(n,e){return n*e}function dC(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const hz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=uB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},dz=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=uB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=uB(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s0&&r!=null&&l>r)break;const f=n[s+1];(f===" "||f===` -`||f==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function uB(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);oI.set(n,s)}).catch(console.error)}async function gz(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await dz.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new yz(t,i)}const dC={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},mz={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function qD(n,e,t,i){const r=nt(void 0),s=Gt(n,"fontFamily",void 0),o=Gt(n,"fontWeight","normal");return i.push(()=>At(()=>{const a=e?.value??mz;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=Ez(a[l],typeof o.value=="string"?dC[o.value]:o.value);let h=!1;return pz(A,t,f=>h?void 0:r.value=f),()=>h=!0})),r}function Ez(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-Iz(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(f=>Fr(f)).join(""):Fr(A),wordBreak:a.value};return i.current=h,(f,d)=>xz(h,d===Op.Undefined?void 0:f)})}const jD={"keep-all":hz,"break-all":Az,"break-word":fz},cp={};function xz(n,e){const t=jD[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; +`){o.charLength=s-a+1;break}if(l+=bh(e,t.getGlyphInfo(h),i),h===" "){A+=1,o.charLength=s-a+1;continue}if(o.nonWhitespaceWidth>0&&r!=null&&l>r)break;const d=n[s+1];(d===" "||d===` +`||d==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function uB(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);oI.set(n,s)}).catch(console.error)}async function mz(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await pz.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new Cz(t,i)}const fC={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},Ez={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function jD(n,e,t,i){const r=nt(void 0),s=Ft(n,"fontFamily",void 0),o=Ft(n,"fontWeight","normal");return i.push(()=>et(()=>{const a=e?.value??Ez;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=Iz(a[l],typeof o.value=="string"?fC[o.value]:o.value);let h=!1;return gz(A,t,d=>h?void 0:r.value=d),()=>h=!0})),r}function Iz(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-yz(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(d=>Fr(d)).join(""):Fr(A),wordBreak:a.value};return i.current=h,(d,f)=>Sz(h,f===Op.Undefined?void 0:d)})}const ZD={"keep-all":dz,"break-all":hz,"break-word":fz},cp={};function Sz(n,e){const t=ZD[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; varying vec2 fontUv; attribute vec4 instanceRGBA; varying vec4 rgba; @@ -3888,9 +3888,9 @@ No matching component was found for: } diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); diffuseColor *= rgba; - `)}}}class _z extends tn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new Zn;boundingSphere=new Yn;constructor(e,t,i,r,s){const o=new wa;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const o_=new lt,Mz=new lt;function ZD(n){return Wt(()=>({font:n.value}))}class Qz{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(yg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Ph(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;Cz(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),o_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(Mz.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),o_.toArray(t.array,e),t.needsUpdate=!0}}class Rz{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.rootCameraDistance=t,this.object=i}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new Dz(this.object,t,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:ni.Text,minorIndex:0})),r}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class Dz{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s){this.object=e,this.pixelSize=i,this.rootCameraDistance=r,this.orderInfo=s,this.instanceMaterial=new wz(t)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;of-d);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let f=this.holeIndicies[0];fAt(()=>i.value?.addLayoutChangeListener(()=>{const R=y.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:J}}=r;if(R==null||D==null||U==null||J==null)return;const[_,b]=D,[j,fe,Y,le]=U,[se,de,k,Z]=J,ne=_-fe-le-de-Z,Ae=b-j-Y-se-k;Q.value=Sz(R,ne,Ae)})),()=>At(()=>{const R=l.value;if(R==null||a.value==null)return;const D=new Pz(A.getGroup(a.value.majorIndex,R),C,p,v,S,Q,t,s,o,h,f,d);return g!=null&&(g.current=D),()=>D.destroy()})),I}const bz=[];class Pz{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,f,d){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=f,this.caretPosition=d,this.unsubscribeInitialList=[At(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),At(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-Ap(i,this.verticalAlign.peek());const r=Math.floor(t/-lp(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=f.charIndexOffset+f.charLength)continue;const d=this.glyphLines[h][Math.max(i-f.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(d,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:l_(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(tl(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(At(()=>{const e=this.matrix.value;e!=null&&tl(this.glyphLines,t=>t.updateBaseMatrix(e))}),At(()=>{const e=this.parentClippingRect?.value;tl(this.glyphLines,t=>t.updateClippingRect(e))}),At(()=>{const e=this.color.value;tl(this.glyphLines,t=>t.updateColor(e))}),At(()=>{const e=this.opacity.value;tl(this.glyphLines,t=>t.updateOpacity(e))}),At(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=Ap(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,f=this.group.pixelSize.value;for(let d=0;dI+y){S=b.id;const Y=v+s_(i,o,b,S);typeof Q[J]=="number"?Q[J]=v:Q.splice(J,0,Y),v+=C+bh(o,b,s);continue}let j=Q[J];for(;Jd.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Es.constant=0,Es.normal.set(0,0,1),Es.applyMatrix4(i),Es.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Es,hp)==null)return;const r=Es.normal.clone();for(let s=0;s<4;s++){const o=kz[s];if(Es.copy(o).applyMatrix4(i),(nl[s]=Es.distanceToPoint(hp))<0)return}t.push({distance:hp.distanceTo(e.ray.origin),object:n,point:hp.clone(),uv:new ve(nl[0]/(nl[0]+nl[1]),nl[3]/(nl[2]+nl[3])),normal:r})}}function Pu(n,e,t,i,r){return(s,o)=>{const a=t instanceof zt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,f=o.length;e.call(n,s,o);const d=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=f;E--){const y=o[E];if(y.distance-=l*.01+h*.001+A*1e-5,d!=null){for(let I=0;I<4;I++)if(Es.copy(d[I]).applyMatrix4(g),Es.distanceToPoint(y.point)<0){o.splice(E,1);continue e}}}}}const nT=new qe(-1,-1,-1),iT={backgroundColor:nT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let aI;function Vl(){if(aI==null){const n={};for(const e in iT)n[e]=e;aI=nf(n)}return aI}function nf(n,e){const t={...iT,...e},i={};for(const s in n){const o=Fz[s],a=t[s];i[n[s]]=(l,A,h,f,d)=>o(l,A,h??a,f,d)}const r=new Float32Array(16);return Ph(r,4,t.backgroundColor,void 0),Ph(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Wt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),f=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),d=o.value.some(I=>I>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&f!=nT)&&!d?!1:l==null?!0:!l.value})}}const Fz={backgroundColor:(n,e,t,i,r)=>Ph(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&fp(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&fp(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&fp(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&fp(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Ph(n,e+8,t,r),borderBend:(n,e,t,i,r)=>lI(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>lI(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>lI(n,e+15,t,r)};function fp(n,e,t,i,r,s){Uz(n,e,t,i,r),s?.(e,1)}function lI(n,e,t,i){n[e]=t,i?.(e,1)}const Oz=new qe;function Ph(n,e,t,i){Array.isArray(t)?n.set(t,e):Oz.set(t).toArray(n,e),i?.(e,3)}function rT(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Ur,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Ur,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),zz(r,e.type==="instanced")},t}class sT extends Jg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),aT(e,this.info.type==="instanced")}}class oT extends Yg{info;constructor(e){super({depthPacking:Sv}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),aT(e,this.info.type==="instanced")}}const Hz=new oT({type:"instanced"}),Gz=new sT({type:"instanced"});function aT(n,e){lT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include - ${cT(e,void 0)} - `)}function lT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include + `)}}}class Mz extends Zt{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new Zn;boundingSphere=new Yn;constructor(e,t,i,r,s){const o=new wa;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const a_=new ct,Qz=new ct;function $D(n){return Wt(()=>({font:n.value}))}class Rz{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(yg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Ph(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;vz(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),a_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(Qz.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),a_.toArray(t.array,e),t.needsUpdate=!0}}class Dz{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new Tz(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{majorIndex:e,elementType:ni.Text,minorIndex:0})),r}}class Tz{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s,o,a){this.renderOrder=e,this.object=i,this.pixelSize=s,this.rootCameraDistance=o,this.orderInfo=a,this.instanceMaterial=new _z(r),this.instanceMaterial.depthTest=t}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;od-f);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let d=this.holeIndicies[0];det(()=>i.value?.addLayoutChangeListener(()=>{const Q=C.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:J}}=r;if(Q==null||D==null||U==null||J==null)return;const[_,b]=D,[j,de,Y,ae]=U,[re,fe,k,$]=J,ne=_-de-ae-fe-$,Ae=b-j-Y-re-k;R.value=wz(Q,ne,Ae)})),()=>et(()=>{const Q=l.value;if(Q==null||a.value==null)return;const D=new Nz(A.getGroup(a.value.majorIndex,Q),y,p,v,S,R,t,s,o,h,d,f);return g!=null&&(g.current=D),()=>D.destroy()})),I}const Pz=[];class Nz{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,d,f){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=d,this.caretPosition=f,this.unsubscribeInitialList=[et(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),et(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-Ap(i,this.verticalAlign.peek());const r=Math.floor(t/-lp(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=d.charIndexOffset+d.charLength)continue;const f=this.glyphLines[h][Math.max(i-d.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(f,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:c_(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(tl(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(et(()=>{const e=this.matrix.value;e!=null&&tl(this.glyphLines,t=>t.updateBaseMatrix(e))}),et(()=>{const e=this.parentClippingRect?.value;tl(this.glyphLines,t=>t.updateClippingRect(e))}),et(()=>{const e=this.color.value;tl(this.glyphLines,t=>t.updateColor(e))}),et(()=>{const e=this.opacity.value;tl(this.glyphLines,t=>t.updateOpacity(e))}),et(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=Ap(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,d=this.group.pixelSize.value;for(let f=0;fI+C){S=b.id;const Y=v+o_(i,o,b,S);typeof R[J]=="number"?R[J]=v:R.splice(J,0,Y),v+=y+bh(o,b,s);continue}let j=R[J];for(;Jf.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Es.constant=0,Es.normal.set(0,0,1),Es.applyMatrix4(i),Es.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Es,hp)==null)return;const r=Es.normal.clone();for(let s=0;s<4;s++){const o=Fz[s];if(Es.copy(o).applyMatrix4(i),(nl[s]=Es.distanceToPoint(hp))<0)return}t.push({distance:hp.distanceTo(e.ray.origin),object:n,point:hp.clone(),uv:new ve(nl[0]/(nl[0]+nl[1]),nl[3]/(nl[2]+nl[3])),normal:r})}}function Pu(n,e,t,i,r){return(s,o)=>{const a=t instanceof zt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,d=o.length;e.call(n,s,o);const f=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=d;E--){const C=o[E];if(C.distance-=l*.01+h*.001+A*1e-5,f!=null){for(let I=0;I<4;I++)if(Es.copy(f[I]).applyMatrix4(g),Es.distanceToPoint(C.point)<0){o.splice(E,1);continue e}}}}}const iT=new qe(-1,-1,-1),rT={backgroundColor:iT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let aI;function Vl(){if(aI==null){const n={};for(const e in rT)n[e]=e;aI=nd(n)}return aI}function nd(n,e){const t={...rT,...e},i={};for(const s in n){const o=Oz[s],a=t[s];i[n[s]]=(l,A,h,d,f)=>o(l,A,h??a,d,f)}const r=new Float32Array(16);return Ph(r,4,t.backgroundColor,void 0),Ph(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Wt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),d=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),f=o.value.some(I=>I>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&d!=iT)&&!f?!1:l==null?!0:!l.value})}}const Oz={backgroundColor:(n,e,t,i,r)=>Ph(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&dp(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&dp(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&dp(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&dp(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Ph(n,e+8,t,r),borderBend:(n,e,t,i,r)=>lI(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>lI(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>lI(n,e+15,t,r)};function dp(n,e,t,i,r,s){kz(n,e,t,i,r),s?.(e,1)}function lI(n,e,t,i){n[e]=t,i?.(e,1)}const Hz=new qe;function Ph(n,e,t,i){Array.isArray(t)?n.set(t,e):Hz.set(t).toArray(n,e),i?.(e,3)}function sT(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Ur,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Ur,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),Vz(r,e.type==="instanced")},t}class oT extends Jg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),lT(e,this.info.type==="instanced")}}class aT extends Yg{info;constructor(e){super({depthPacking:Sv}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),lT(e,this.info.type==="instanced")}}const Gz=new aT({type:"instanced"}),zz=new oT({type:"instanced"});function lT(n,e){cT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include + ${uT(e,void 0)} + `)}function cT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include out vec4 borderRadius; ${e?"":"uniform highp mat4 data;"}`),n.vertexShader=n.vertexShader.replace("#include ",` #include highp int packedBorderRadius = int(data[1].w); @@ -4019,7 +4019,7 @@ No matching component was found for: borderWeight = normalize(insideBorder); } - #include `)}function cT(n,e){return`float ddx = fwidth(distance.x); + #include `)}function uT(n,e){return`float ddx = fwidth(distance.x); float outer = smoothstep(-ddx, ddx, distance.x); float ddy = fwidth(distance.y); @@ -4042,8 +4042,8 @@ No matching component was found for: if(outOpacity < 0.01) { discard; - }`}function zz(n,e){lT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include - ${cT(e,"diffuseColor.a")} + }`}function Vz(n,e){cT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include + ${uT(e,"diffuseColor.a")} diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); diffuseColor.a = outOpacity; `),n.fragmentShader=n.fragmentShader.replace("#include ",` #include @@ -4054,4 +4054,4 @@ No matching component was found for: float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Wl(n,e,t,i,r){const s=new tn(hB);return s.matrixAutoUpdate=!1,s.raycast=Pu(s,tT(s),e.object,t,n),s.visible=!1,r.push(()=>At(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class Vz extends tn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new Zn;boundingSphere=new Yn;constructor(e,t,i){const r=eT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=Hz,this.customDistanceMaterial=Gz}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Yl(n){const e=Gt(n,"panelMaterialClass",tr),t=Gt(n,"castShadow",!1),i=Gt(n,"receiveShadow",!1);return Wt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const Em={panelMaterialClass:tr,castShadow:!1,receiveShadow:!1};class Wz{pixelSize;root;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.root=t,this.object=i}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=Em){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);if(a==null){const l=rT(t,{type:"instanced"});s.set(o,a=new Yz(this.object,l,this.pixelSize,this.root,{elementType:ni.Panel,majorIndex:e,minorIndex:0},i,r))}return a}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class Yz{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{cI(this.instanceMatrix,e,t,i),cI(this.instanceData,e,t,i),cI(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a){this.object=e,this.instanceMaterial=t,this.pixelSize=i,this.root=r,this.orderInfo=s,this.meshReceiveShadow=o,this.meshCastShadow=a}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}insert(e,t){if(this.elementCount+=1,!rz(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!sz(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),oz(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),iz(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new hr(t,16,!1),this.instanceMatrix.setUsage(na);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new hr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(na);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new hr(r,16,!1),this.instanceClipping.setUsage(na),this.mesh=new Vz(this.instanceMatrix,this.instanceData,this.instanceClipping),zl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function cI(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function Ls(n,e,t,i,r,s,o,a,l,A,h,f){return f.push(At(()=>{if(e.value==null)return;const d=[],g=i.getGroup(e.value.majorIndex,t?.value);return new Xz(n,g,e.value.minorIndex,r,s,o,a,l,A,h,d),()=>gr(d)})),f}const dp=new lt,Jz=new lt;class Xz{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,f){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const d=h.setters;lB(e,this.active,h.hasProperty,(E,y)=>{const I=this.getIndexInBuffer();if(I==null)return;const{instanceData:p,instanceDataOnUpdate:C}=this.group;d[E](p.array,p.itemSize*I,y,s,C)},f);const g=h.computedIsVisibile(e,a,s,A);f.push(At(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(At(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(dp.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;dp.premultiply(Jz.makeTranslation(A*a,h*a,0))}dp.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;dp.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),At(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),At(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),At(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(yg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new lt().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Cm(n,e,t,i){return i.push(()=>At(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function vm(n,{scrollable:e,maxScrollPosition:t,anyAncestorScrollable:i},r,s,o,a,l){const A=Wt(()=>e.value?.some(E=>E)??!1),h=new Map,f=new ve,d=(E,y,I,p,C)=>{if(n.value==null)return;const[v,S]=E==null?[!1,!1]:Kz(E.nativeEvent);v&&(y=0),S&&(I=0);const[Q,R]=n.value,[D,U]=t.value;let[J,_]=n.value;const[b,j]=i?.value??[!1,!1];J=c_(Q,D,y,C&&!b),_=c_(R,U,I,C&&!j),p!=null&&p>0&&f.set(y,I).divideScalar(p),E!=null&&qz(E.nativeEvent,v||Math.min(Q,(D??0)-Q)>5,S||Math.min(R,(U??0)-R)>5),!(s.peek()?.onScroll?.(J,_,n,E)===!1||Q===J&&R===_)&&(n.value=[J,_])},g=E=>{if(h.size>0||n.value==null)return;let y=0,I=0;const[p,C]=n.value,[v,S]=t.value;y+=pC(p,0,v??0)*-.3,I+=pC(C,0,S??0)*-.3,y+=f.x*E,I+=f.y*E,f.multiplyScalar(.9),Math.abs(f.x)<.01&&(f.x=0),Math.abs(f.y)<.01&&(f.y=0),!(y===0&&I===0)&&d(void 0,y,I,void 0,!0)};return l.push(()=>(a.add(g),()=>a.delete(g))),Wt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:y})=>{let I=h.get(E.pointerId);I==null&&h.set(E.pointerId,I={timestamp:0,point:new F}),I.timestamp=performance.now()/1e3,r.current.worldToLocal(I.point.copy(y))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const y=h.get(E.nativeEvent.pointerId);if(y==null)return;r.current.worldToLocal(AI.copy(E.point)),uI.copy(AI).sub(y.point).divideScalar(o.peek());const I=performance.now()/1e3,p=I-y.timestamp;y.point.copy(AI),y.timestamp=I,!E.defaultPrevented&&d(E,-uI.x,uI.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:y}=E;d(E,y.deltaX,y.deltaY,void 0,!1)}}})}const uT=Symbol("was-scrolled");function Kz(n){return n[uT]??[!1,!1]}function qz(n,e,t){n[uT]=[e,t]}function c_(n,e,t,i){if(t===0)return n;const r=pC(n,0,e??0);u_(t)===u_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:AB(s,0,e??0)}function u_(n){return n>=0}function pC(n,e,t){return nt?n-t:0}const jz=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Bm(n,e,t,i,r,s,o,a,l){const A=Ei(void 0,ni.Panel,Em,o),h=Gt(n,"scrollbarWidth",10),f=fB(n,jz);h_(n,0,e,t,i,r,s,A,a,h,f,l),h_(n,1,e,t,i,r,s,A,a,h,f,l)}let A_;function Zz(){return A_??=nf({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),A_}function h_(n,e,t,i,r,s,o,a,l,A,h,f){const d=Wt(()=>$z(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Wt(()=>d.value?.slice(0,2)??[0,0]),E=Wt(()=>d.value?.slice(2,4)??[0,0]);f.push(y=>Ls(n,a,void 0,l,r,E,g,h,o,s,Zz(),y))}function $z(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),f=A-h,d=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-f*AB(d/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function e5(n,e,t,i,r){let s=!1;if(gm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};_l("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),_l("onPointerUp",n,o),_l("onPointerLeave",n,o)}function vo(n){return{active:rf(()=>n.value.length>0)}}function La(n,e){return Wt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function AT(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ti)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(At(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function ba(n,e,t,i,r,s){s.push(o=>{const a=new GD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(At(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const f_=new Map,xm={keepAspectRatio:(n,e)=>{let t=f_.get(n);t==null&&f_.set(n,t=Wt(()=>Fr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Bo(n,e,t,i,r,s,o){return Wt(()=>{const a={};return t5(a,s?.value),L5(a,n.value,e.value,t.value,i,o),e5(a,n.value,e.value,t.value,r),a})}function t5(n,e){for(const t in e)_l(t,n,e[t])}function _l(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function xo(n,e,t,i,r,s){return Wt(()=>{const o=new zG(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const d_=new qe;function hT(n,e,t){const i=Gt(n,"color",void 0),r=Gt(n,"opacity",1);t.push(()=>At(()=>{let s;Array.isArray(i.value)?s=d_.setRGB(...i.value):i.value!=null&&(s=d_.set(i.value)),Fr(e)?.traverse(o=>{if(!(o instanceof tn))return;const a=o.material;a.color.copy(s??o.userData.color),a.opacity=r.value})}))}const n5=.01,p_=new F,pp=new rn,gp=nt(new lt);function i5(n,e,t,i,r,s,o,a){const l=nt([0,0]),A=nt([]),h=nt([]),f=[];wo(A,f);const d=Wt(()=>Fr(e.value?.pixelSize)??n5),g=xo(n,e,t,{...yo,...Co(l),..._o(A),...vo(h)},{...g_(d,"sizeX","width"),...g_(d,"sizeY","height")}),E=nt(void 0),y=r5(a,E,f),I=go(void 0);f.push(fe=>{const Y=new GD(I,g,y,i,fe);return E.value=Y,fe});const p=Eo(g,I,d),C=l5(g,p,I.size,d);Io(i,C,f);const v=Yl(g),S=Ei(void 0,ni.Panel,v,void 0),Q={cameraDistance:0},R=new Wz(d,Q,i);f.push(()=>(a.add(R.onFrame),()=>a.delete(R.onFrame)));const D=()=>{if(i.current==null){Q.cameraDistance=0;return}pp.normal.set(0,0,1),pp.constant=0,pp.applyMatrix4(i.current.matrixWorld),p_.setFromMatrixPosition(s().matrixWorld),Q.cameraDistance=pp.distanceToPoint(p_)};f.push(()=>(a.add(D),()=>a.delete(D))),f.push(fe=>Ls(g,S,v,R,gp,I.size,void 0,I.borderInset,void 0,void 0,Vl(),fe));const U=Im();Cm(r,U,d,f);const J=ym(U,gp,d);Bm(g,U,I,gp,void 0,void 0,S,R,f);const _=vm(U,I,i,e,d,a,f);mo(n,e,I.size,f);const b=new Rz(d,Q,i);f.push(()=>(a.add(b.onFrame),()=>a.delete(b.onFrame)));const j=Object.assign(Q,{requestCalculateLayout:y,onFrameSet:a,cameraDistance:0,gylphGroupManager:b,object:i,panelGroupManager:R,pixelSize:d,renderer:o,size:I.size});return Object.assign(I,{clippingRect:mm(gp,I,d,void 0),childrenMatrix:J,node:E,orderInfo:S,initializers:f,interactionPanel:Wl(S,j,void 0,I.size,f),handlers:Bo(n,e,t,A,h,_),root:j})}function r5(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function g_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Wt(()=>{const a=Fr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const s5=new lt,o5="center",a5="center";function l5(n,e,t,i){const r=Gt(n,"anchorX",o5),s=Gt(n,"anchorY",a5);return Wt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(s5.makeTranslation(dT[r.value]*o*i.value,pT[s.value]*a*i.value,0))})}function c5(n,e,t,i,r,s){const o=nt(void 0),a=go(n.anyAncestorScrollable),l=nt([]),A=nt([]),h=[];wo(l,h);const f=xo(e,t,i,{...yo,...Co(n.root.size),..._o(l),...vo(A)});ba(o,a,n,f,r,h);const d=Eo(f,a,n.root.pixelSize);Io(r,d,h);const g=La(n.childrenMatrix,d),E=Ta(n.clippingRect,g,a.size,n.root.pixelSize),y=Yl(f),I=Ei(f,ni.Panel,y,n.orderInfo);h.push(S=>Ls(f,I,y,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Vl(),S));const p=Im();Cm(s,p,n.root.pixelSize,h);const C=ym(p,g,n.root.pixelSize);Bm(f,p,a,g,E,n.clippingRect,I,n.root.panelGroupManager,h);const v=vm(p,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return mo(e,t,a.size,h),Da(e,t,E,h),Object.assign(a,{clippingRect:mm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:C,node:o,orderInfo:I,root:n.root,scrollPosition:p,interactionPanel:Wl(I,n.root,n.clippingRect,a.size,h),handlers:Bo(e,t,i,l,A,v),initializers:h})}const u5="fill";function A5(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);wo(A,a);const f=Wt(()=>Fr(e.value));AT(l,p5,a,f);const d=Wt(()=>{const U=l.value;if(U==null)return;const J=U.source.data;return J.width/J.height}),g=xo(t,i,r,{...yo,...Co(n.root.size),..._o(A),...vo(h)},xm,U=>U.add("aspectRatio",d)),E=nt(void 0),y=go(n.anyAncestorScrollable);ba(E,y,n,g,s,a);const I=Eo(g,y,n.root.pixelSize);Io(s,I,a);const p=La(n.childrenMatrix,I),C=Ta(n.clippingRect,p,y.size,n.root.pixelSize),v=Wt(()=>C.value||l.value==null),S=Ei(g,ni.Image,void 0,n.orderInfo),Q=Im();Cm(o,Q,n.root.pixelSize,a);const R=ym(Q,p,n.root.pixelSize);Bm(g,Q,y,p,C,n.clippingRect,S,n.root.panelGroupManager,a);const D=vm(Q,y,s,i,n.root.pixelSize,n.root.onFrameSet,a);return mo(t,i,y.size,a),Da(t,i,C,a),Object.assign(y,{initializers:a,handlers:Bo(t,i,r,A,h,D),interactionPanel:h5(g,l,n,y,S,n.root,v,a),clippingRect:mm(p,y,n.root.pixelSize,n.clippingRect),childrenMatrix:R,node:E,orderInfo:S,root:n.root})}let m_;function fT(){return m_??=nf({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),m_}function h5(n,e,t,i,r,s,o,a){const l=new tn(hB);l.matrixAutoUpdate=!1;const A=tf(s,t.clippingRect,a),h=fT().computedIsVisibile(n,i.borderInset,i.size,o);return g5(n,l,i.size,i.borderInset,h,A,a),l.raycast=Pu(l,tT(l),s.object,t.clippingRect,r),zl(l,s,r),f5(n,e,i.borderInset,i.size,a),a.push(()=>At(()=>l.visible=h.value)),a.push(()=>At(()=>{const f=e.value??null;l.material.map!==f&&(l.material.map=f,l.material.needsUpdate=!0)}),()=>At(()=>{if(i.size.value==null)return;const[f,d]=i.size.value,g=t.root.pixelSize.value;l.scale.set(f*g,d*g,1),l.updateMatrix()})),l}function f5(n,e,t,i,r){const s=Gt(n,"fit",u5);r.push(()=>At(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){E_(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,f]=i.value,[d,g,E,y]=t.value,I=(h-y-g)/(f-d-E);A>I?o.matrix.translate(-(.5*(I-A))/I,0).scale(I/A,1):o.matrix.translate(0,-(.5*(A-I))/A).scale(1,A/I),E_(t,i,o)}))}function E_(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const d5=new hm;async function p5(n){if(n==null)return Promise.resolve(void 0);if(n instanceof xn)return Promise.resolve(n);try{const e=await d5.loadAsync(n);return e.colorSpace=Pn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function g5(n,e,t,i,r,s,o){const a=new Float32Array(16),l={data:a,type:"normal"};e.customDepthMaterial=new oT(l),e.customDistanceMaterial=new sT(l),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const A=Gt(n,"panelMaterialClass",tr);o.push(()=>At(()=>{e.material=rT(A.value,l),e.material.clippingPlanes=s}),()=>At(()=>e.castShadow=n.value.read("castShadow",!1)),()=>At(()=>e.receiveShadow=n.value.read("receiveShadow",!1)));const h=fT(),f=[];o.push(()=>At(()=>{if(r.value)return a.set(h.defaultData),f.push(At(()=>t.value!=null&&a.set(t.value,13)),At(()=>i.value!=null&&a.set(i.value,0))),()=>gr(f)}));const d=h.setters;o.push(g=>(lB(n,r,h.hasProperty,(E,y)=>d[E](a,0,y,t,void 0),g),g))}function m5(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];wo(a,A);const h=xo(i,r,s,{...yo,...Co(n.root.size),..._o(a),...vo(l)}),f=nt(void 0),d=go(n.anyAncestorScrollable);ba(f,d,n,h,o,A);const g=Eo(h,d,n.root.pixelSize);Io(o,g,A);const E=La(n.childrenMatrix,g),y=Ta(n.clippingRect,E,d.size,n.root.pixelSize),I=Yl(h),p=Ei(h,ni.Panel,I,n.orderInfo);A.push(Q=>Ls(h,p,I,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,y,Vl(),Q));const C=qD(h,t,n.root.renderer,A),v=Ei(void 0,ni.Text,ZD(C),p),S=$D(h,e,E,f,d,y,n.clippingRect,v,C,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>At(()=>f.value?.setMeasureFunc(S))),mo(i,r,d.size,A),Da(i,r,y,A),Object.assign(d,{interactionPanel:Wl(p,n.root,n.clippingRect,d.size,A),handlers:Bo(i,r,s,a,l),initializers:A})}const E5=Pn;class Nu extends Wi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Rs(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(V,G){if(V.nodeType!==1)return;const O=S(V);let P=!1,Ee=null;switch(V.nodeName){case"svg":G=E(V,G);break;case"style":s(V);break;case"g":G=E(V,G);break;case"path":G=E(V,G),V.hasAttribute("d")&&(Ee=r(V));break;case"rect":G=E(V,G),Ee=l(V);break;case"polygon":G=E(V,G),Ee=A(V);break;case"polyline":G=E(V,G),Ee=h(V);break;case"circle":G=E(V,G),Ee=f(V);break;case"ellipse":G=E(V,G),Ee=d(V);break;case"line":G=E(V,G),Ee=g(V);break;case"defs":P=!0;break;case"use":G=E(V,G);const Se=(V.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),H=V.viewportElement.getElementById(Se);H?i(H,G):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(G.fill!==void 0&&G.fill!=="none"&&Ee.color.setStyle(G.fill,E5),R(Ee,Ae),j.push(Ee),Ee.userData={node:V,style:G});const Be=V.childNodes;for(let pe=0;pe0?Ae.copy(Y[Y.length-1]):Ae.identity())}function r(V){const G=new Xo,O=new ve,P=new ve,Ee=new ve;let Be=!0,pe=!1;const Se=V.getAttribute("d");if(Se===""||Se==="none")return null;const H=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=H.length;me0&&(O.copy(Ee),G.currentPath.currentPoint.copy(O),Be=!0);break;default:console.warn(ue)}pe=!1}return G}function s(V){if(!(!V.sheet||!V.sheet.cssRules||!V.sheet.cssRules.length))for(let G=0;GEe.trim());for(let Ee=0;Eepe!==""));fe[P[Ee]]=Object.assign(fe[P[Ee]]||{},Be)}}}function o(V,G,O,P,Ee,Be,pe,Se){if(G==0||O==0){V.lineTo(Se.x,Se.y);return}P=P*Math.PI/180,G=Math.abs(G),O=Math.abs(O);const H=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,te=Math.cos(P)*H+Math.sin(P)*me,ue=-Math.sin(P)*H+Math.cos(P)*me;let ae=G*G,De=O*O;const q=te*te,w=ue*ue,T=q/ae+w/De;if(T>1){const be=Math.sqrt(T);G=be*G,O=be*O,ae=G*G,De=O*O}const ie=ae*w+De*q,Le=(ae*De-ie)/ie;let Te=Math.sqrt(Math.max(0,Le));Ee===Be&&(Te=-Te);const Re=Te*G*ue/O,Je=-Te*O*te/G,Ve=Math.cos(P)*Re-Math.sin(P)*Je+(pe.x+Se.x)/2,je=Math.sin(P)*Re+Math.cos(P)*Je+(pe.y+Se.y)/2,at=a(1,0,(te-Re)/G,(ue-Je)/O),mt=a((te-Re)/G,(ue-Je)/O,(-te-Re)/G,(-ue-Je)/O)%(Math.PI*2);V.currentPath.absellipse(Ve,je,G,O,at,at+mt,Be===0,P)}function a(V,G,O,P){const Ee=V*O+G*P,Be=Math.sqrt(V*V+G*G)*Math.sqrt(O*O+P*P);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return V*P-G*O<0&&(pe=-pe),pe}function l(V){const G=v(V.getAttribute("x")||0),O=v(V.getAttribute("y")||0),P=v(V.getAttribute("rx")||V.getAttribute("ry")||0),Ee=v(V.getAttribute("ry")||V.getAttribute("rx")||0),Be=v(V.getAttribute("width")),pe=v(V.getAttribute("height")),Se=1-.551915024494,H=new Xo;return H.moveTo(G+P,O),H.lineTo(G+Be-P,O),(P!==0||Ee!==0)&&H.bezierCurveTo(G+Be-P*Se,O,G+Be,O+Ee*Se,G+Be,O+Ee),H.lineTo(G+Be,O+pe-Ee),(P!==0||Ee!==0)&&H.bezierCurveTo(G+Be,O+pe-Ee*Se,G+Be-P*Se,O+pe,G+Be-P,O+pe),H.lineTo(G+P,O+pe),(P!==0||Ee!==0)&&H.bezierCurveTo(G+P*Se,O+pe,G,O+pe-Ee*Se,G,O+pe-Ee),H.lineTo(G,O+Ee),(P!==0||Ee!==0)&&H.bezierCurveTo(G,O+Ee*Se,G+P*Se,O,G+P,O),H}function A(V){function G(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?P.moveTo(H,me):P.lineTo(H,me),Ee++}const O=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,P=new Xo;let Ee=0;return V.getAttribute("points").replace(O,G),P.currentPath.autoClose=!0,P}function h(V){function G(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?P.moveTo(H,me):P.lineTo(H,me),Ee++}const O=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,P=new Xo;let Ee=0;return V.getAttribute("points").replace(O,G),P.currentPath.autoClose=!1,P}function f(V){const G=v(V.getAttribute("cx")||0),O=v(V.getAttribute("cy")||0),P=v(V.getAttribute("r")||0),Ee=new da;Ee.absarc(G,O,P,0,Math.PI*2);const Be=new Xo;return Be.subPaths.push(Ee),Be}function d(V){const G=v(V.getAttribute("cx")||0),O=v(V.getAttribute("cy")||0),P=v(V.getAttribute("rx")||0),Ee=v(V.getAttribute("ry")||0),Be=new da;Be.absellipse(G,O,P,Ee,0,Math.PI*2);const pe=new Xo;return pe.subPaths.push(Be),pe}function g(V){const G=v(V.getAttribute("x1")||0),O=v(V.getAttribute("y1")||0),P=v(V.getAttribute("x2")||0),Ee=v(V.getAttribute("y2")||0),Be=new Xo;return Be.moveTo(G,O),Be.lineTo(P,Ee),Be.currentPath.autoClose=!1,Be}function E(V,G){G=Object.assign({},G);let O={};if(V.hasAttribute("class")){const pe=V.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&G.premultiply(Y[Y.length-1]),Ae.copy(G),Y.push(G),G}function Q(V){const G=new Qt,O=le;if(V.nodeName==="use"&&(V.hasAttribute("x")||V.hasAttribute("y"))){const P=v(V.getAttribute("x")),Ee=v(V.getAttribute("y"));G.translate(P,Ee)}if(V.hasAttribute("transform")){const P=V.getAttribute("transform").split(")");for(let Ee=P.length-1;Ee>=0;Ee--){const Be=P[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),Se=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),O.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,ae=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],ae=me[2]),se.makeTranslation(-ue,-ae),de.makeRotation(te),k.multiplyMatrices(de,se),se.makeTranslation(ue,ae),O.multiplyMatrices(se,k)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),O.scale(te,ue)}break;case"skewX":me.length===1&&O.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&O.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&O.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}G.premultiply(O)}}return G}function R(V,G){function O(pe){ne.set(pe.x,pe.y,1).applyMatrix3(G),pe.set(ne.x,ne.y)}function P(pe){const Se=pe.xRadius,H=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new F(Se*me,Se*te,0),ae=new F(-H*te,H*me,0),De=ue.applyMatrix3(G),q=ae.applyMatrix3(G),w=le.set(De.x,q.x,0,De.y,q.y,0,0,0,1),T=se.copy(w).invert(),Te=de.copy(T).transpose().multiply(T).elements,Re=b(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:gt,y:ot}=new F(Math.cos(Mt),Math.sin(Mt),0).applyMatrix3(be);return Math.atan2(ot,gt)};pe.aStartAngle=Pt(pe.aStartAngle),pe.aEndAngle=Pt(pe.aEndAngle),D(G)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=J(G),H=_(G);pe.xRadius*=Se,pe.yRadius*=H;const me=Se>Number.EPSILON?Math.atan2(G.elements[1],G.elements[0]):Math.atan2(-G.elements[3],G.elements[4]);pe.aRotation+=me,D(G)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=V.subPaths;for(let pe=0,Se=Be.length;peNumber.EPSILON}function J(V){const G=V.elements;return Math.sqrt(G[0]*G[0]+G[1]*G[1])}function _(V){const G=V.elements;return Math.sqrt(G[3]*G[3]+G[4]*G[4])}function b(V,G,O){let P,Ee,Be,pe,Se;const H=V+O,me=V-O,te=Math.sqrt(me*me+4*G*G);return H>0?(P=.5*(H+te),Se=1/P,Ee=V*Se*O-G*Se*G):H<0?Ee=.5*(H-te):(P=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(G)?(Se=-2*G/Be,pe=1/Math.sqrt(1+Se*Se),Be=Se*pe):Math.abs(G)===0?(Be=1,pe=0):(Se=-.5*Be/G,Be=1/Math.sqrt(1+Se*Se),pe=Se*Be),me>0&&(Se=Be,Be=-pe,pe=Se),{rt1:P,rt2:Ee,cs:Be,sn:pe}}const j=[],fe={},Y=[],le=new Qt,se=new Qt,de=new Qt,k=new Qt,Z=new ve,ne=new F,Ae=new Qt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:j,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(y,I,p,C){const v=y.x,S=I.x,Q=p.x,R=C.x,D=y.y,U=I.y,J=p.y,_=C.y,b=(R-Q)*(D-J)-(_-J)*(v-Q),j=(S-v)*(D-J)-(U-D)*(v-Q),fe=(_-J)*(S-v)-(R-Q)*(U-D),Y=b/fe,le=j/fe;if(fe===0&&b!==0||Y<=0||Y>=1||le<0||le>1)return null;if(b===0&&fe===0){for(let se=0;se<2;se++)if(o(se===0?p:C,y,I),r.loc==i.ORIGIN){const de=se===0?p:C;return{x:de.x,y:de.y,t:r.t}}else if(r.loc==i.BETWEEN){const de=+(v+r.t*(S-v)).toPrecision(10),k=+(D+r.t*(U-D)).toPrecision(10);return{x:de,y:k,t:r.t}}return null}else{for(let k=0;k<2;k++)if(o(k===0?p:C,y,I),r.loc==i.ORIGIN){const Z=k===0?p:C;return{x:Z.x,y:Z.y,t:r.t}}const se=+(v+Y*(S-v)).toPrecision(10),de=+(D+Y*(U-D)).toPrecision(10);return{x:se,y:de,t:Y}}}function o(y,I,p){const C=p.x-I.x,v=p.y-I.y,S=y.x-I.x,Q=y.y-I.y,R=C*Q-S*v;if(y.x===I.x&&y.y===I.y){r.loc=i.ORIGIN,r.t=0;return}if(y.x===p.x&&y.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=i.LEFT;return}if(R>Number.EPSILON){r.loc=i.RIGHT;return}if(C*S<0||v*Q<0){r.loc=i.BEHIND;return}if(Math.sqrt(C*C+v*v)_.t<=J.t+Number.EPSILON&&_.t>=J.t-Number.EPSILON)===void 0&&(p.push(J),C.push(new ve(J.x,J.y)))}}return C}function l(y,I,p){const C=new ve;I.getCenter(C);const v=[];return p.forEach(S=>{S.boundingBox.containsPoint(C)&&a(y,S.points).forEach(R=>{v.push({identifier:S.identifier,isCW:S.isCW,point:R})})}),v.sort((S,Q)=>S.point.x-Q.point.x),v}function A(y,I,p,C,v){(v==null||v==="")&&(v="nonzero");const S=new ve;y.boundingBox.getCenter(S);const Q=[new ve(p,S.y),new ve(C,S.y)],R=l(Q,y.boundingBox,I);R.sort((j,fe)=>j.point.x-fe.point.x);const D=[],U=[];R.forEach(j=>{j.identifier===y.identifier?D.push(j):U.push(j)});const J=D[0].point.x,_=[];let b=0;for(;b0&&_[_.length-1]===U[b].identifier?_.pop():_.push(U[b].identifier),b++;if(_.push(y.identifier),v==="evenodd"){const j=_.length%2===0,fe=_[_.length-2];return{identifier:y.identifier,isHole:j,for:fe}}else if(v==="nonzero"){let j=!0,fe=null,Y=null;for(let le=0;le<_.length;le++){const se=_[le];j?(Y=I[se].isCW,j=!1,fe=se):Y!==I[se].isCW&&(Y=I[se].isCW,j=!0)}return{identifier:y.identifier,isHole:j,for:fe}}else console.warn('fill-rule: "'+v+'" is currently not implemented.')}let h=999999999,f=-999999999,d=e.subPaths.map(y=>{const I=y.getPoints();let p=-999999999,C=999999999,v=-999999999,S=999999999;for(let Q=0;Qp&&(p=R.y),R.yv&&(v=R.x),R.x=S&&(h=S-1),{curves:y.curves,points:I,isCW:es.isClockWise(I),identifier:-1,boundingBox:new sD(new ve(S,C),new ve(v,p))}});d=d.filter(y=>y.points.length>1);for(let y=0;yA(y,d,h,f,e.userData?e.userData.style.fillRule:void 0)),E=[];return d.forEach(y=>{if(!g[y.identifier].isHole){const p=new pa;p.curves=y.curves,g.filter(v=>v.isHole&&v.for===y.identifier).forEach(v=>{const S=d[v.identifier],Q=new da;Q.curves=S.curves,p.holes.push(Q)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Nu.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new bt;return l.setAttribute("position",new st(s,3)),l.setAttribute("normal",new st(o,3)),l.setAttribute("uv",new st(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,h=new ve,f=new ve,d=new ve,g=new ve,E=new ve,y=new ve,I=new ve,p=new ve,C=new ve,v=new ve,S=new ve,Q=new ve,R=new ve,D=new ve,U=new ve,J=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const b=e[0].equals(e[_-1]);let j,fe=e[0],Y;const le=t.strokeWidth/2,se=1/(_-1);let de=0,k,Z,ne,Ae,_e=!1,ke=0,V=l*3,G=l*2;O(e[0],e[1],A).multiplyScalar(le),I.copy(e[0]).sub(A),p.copy(e[0]).add(A),C.copy(I),v.copy(p);for(let te=1;te<_;te++){j=e[te],te===_-1?b?Y=e[1]:Y=void 0:Y=e[te+1];const ue=A;if(O(fe,j,ue),f.copy(ue).multiplyScalar(le),S.copy(j).sub(f),Q.copy(j).add(f),k=de+se,Z=!1,Y!==void 0){O(j,Y,h),f.copy(h).multiplyScalar(le),R.copy(j).sub(f),D.copy(j).add(f),ne=!0,f.subVectors(Y,fe),ue.dot(f)<0&&(ne=!1),te===1&&(_e=ne),f.subVectors(Y,j),f.normalize();const ae=Math.abs(ue.dot(f));if(ae>Number.EPSILON){const De=le/ae;f.multiplyScalar(-De),d.subVectors(j,fe),g.copy(d).setLength(De).add(f),U.copy(g).negate();const q=g.length(),w=d.length();d.divideScalar(w),E.subVectors(Y,j);const T=E.length();switch(E.divideScalar(T),d.dot(U)=r&&ae.push(te[De]);return ae.push(te[te.length-1]),ae}}}function I5(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);wo(l,a);const h=nt(void 0),f=xo(t,i,r,{...yo,...Co(n.root.size),..._o(l),...vo(A)},xm,b=>b.add("aspectRatio",h)),d=nt(void 0),g=go(n.anyAncestorScrollable);ba(d,g,n,f,s,a);const E=Eo(f,g,n.root.pixelSize);Io(s,E,a);const y=La(n.childrenMatrix,E),I=Ta(n.clippingRect,y,g.size,n.root.pixelSize),p=Yl(f),C=Ei(f,ni.Panel,p,n.orderInfo);a.push(b=>Ls(f,C,p,n.root.panelGroupManager,y,g.size,void 0,g.borderInset,n.clippingRect,I,Vl(),b));const v=Ei(void 0,ni.Svg,void 0,C),S=Wt(()=>Fr(e.value)),Q=nt(void 0),R=tf(n.root,n.clippingRect,a);AT(Q,v5,a,S,n.root,R,n.clippingRect,v,h),hT(f,Q,a);const D=y5(g,n.root.pixelSize,Q,h,I,a),U=Im();Cm(o,U,n.root.pixelSize,a);const J=ym(U,y,n.root.pixelSize);Bm(f,U,g,y,I,n.clippingRect,v,n.root.panelGroupManager,a);const _=vm(U,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return mo(t,i,g.size,a),Da(t,i,I,a),Object.assign(g,{clippingRect:mm(y,g,n.root.pixelSize,n.clippingRect),childrenMatrix:J,node:d,orderInfo:v,root:n.root,initializers:a,centerGroup:D,handlers:Bo(t,i,r,l,A,_),interactionPanel:Wl(v,n.root,n.clippingRect,g.size,a)})}function y5(n,e,t,i,r,s){const o=new ro;return o.matrixAutoUpdate=!1,s.push(()=>At(()=>{gT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>At(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>At(()=>void(o.visible=t.value!=null&&!r.value))),o}const C5=new Nu,mp=new Zn,il=new F;async function v5(n,e,t,i,r,s){const o=new ro;o.matrixAutoUpdate=!1;const a=await C5.loadAsync(n);mp.makeEmpty();for(const A of a.paths){const h=Nu.createShapes(A),f=new tr;f.transparent=!0,f.depthWrite=!1,f.toneMapped=!1,f.clippingPlanes=t;for(const d of h){const g=new Tu(d);g.computeBoundingBox(),mp.union(g.boundingBox);const E=new tn(g,f);E.matrixAutoUpdate=!1,E.raycast=Pu(E,E.raycast,e.object,i,r),zl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}mp.getSize(il),s.value=il.x/il.y;const l=1/il.y;return o.scale.set(1,1,1).multiplyScalar(l),mp.getCenter(il),il.y*=-1,o.position.copy(il).negate().multiplyScalar(l),o.updateMatrix(),o}function B5(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);wo(A,l);const f=xo(r,s,o,{...yo,...Co(n.root.size),..._o(A),...vo(h)},xm,Q=>{Q.add("aspectRatio",t/i),Q.add("width",t),Q.add("height",i)}),d=go(n.anyAncestorScrollable);ba(void 0,d,n,f,a,l);const g=Eo(f,d,n.root.pixelSize);Io(a,g,l);const E=La(n.childrenMatrix,g),y=Ta(n.clippingRect,E,d.size,n.root.pixelSize),I=Yl(f),p=Ei(f,ni.Panel,I,n.orderInfo);l.push(Q=>Ls(f,p,I,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,y,Vl(),Q));const C=Ei(void 0,ni.Svg,void 0,p),v=tf(n.root,n.clippingRect,l),S=S5(f,e,t,i,n,C,d,y,v,l);return mo(r,s,d.size,l),Da(r,s,y,l),Object.assign(d,{initializers:l,iconGroup:S,handlers:Bo(r,s,o,A,h),interactionPanel:Wl(C,n.root,n.clippingRect,d.size,l)})}const x5=new Nu;function S5(n,e,t,i,r,s,o,a,l,A){const h=new ro;h.matrixAutoUpdate=!1;const f=x5.parse(e);for(const g of f.paths){const E=Nu.createShapes(g),y=new tr;y.transparent=!0,y.depthWrite=!1,y.toneMapped=!1,y.clippingPlanes=l;for(const I of E){const p=new Tu(I);p.computeBoundingBox();const C=new tn(p,y);C.matrixAutoUpdate=!1,C.raycast=Pu(C,C.raycast,r.root.object,r.clippingRect,s),zl(C,r.root,s),C.userData.color=g.color,C.scale.y=-1,C.updateMatrix(),h.add(C)}}const d=t/i;return A.push(()=>At(()=>{gT(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,d),h.position.x-=h.scale.x*d/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>At(()=>void(h.visible=!a.value))),hT(n,h,A),h}function w5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];wo(o,l);const A=xo(e,t,i,{...yo,...Co(n.root.size),..._o(o),...vo(a)}),h=go(n.anyAncestorScrollable);ba(void 0,h,n,A,r,l);const f=Eo(A,h,n.root.pixelSize);Io(r,f,l);const d=La(n.childrenMatrix,f),g=Ta(n.clippingRect,d,h.size,n.root.pixelSize),E=Ei(A,ni.Custom,void 0,n.orderInfo),y=tf(n.root,n.clippingRect,l);return l.push(I=>{const p=s.current;return p==null||(p.matrixAutoUpdate=!1,p.material instanceof ui&&(p.material.clippingPlanes=y,p.material.needsUpdate=!0,p.material.shadowSide=Ur),p.raycast=Pu(p,p.raycast,n.root.object,n.clippingRect,E),zl(p,n.root,E),I.push(At(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),At(()=>p.castShadow=A.value.read("castShadow",!1)),At(()=>{if(h.size.value==null)return;const[C,v]=h.size.value,S=n.root.pixelSize.value;p.scale.set(C*S,v*S,1),p.updateMatrix()}),At(()=>void(p.visible=!g.value)))),I}),mo(e,t,h.size,l),Da(e,t,g,l),Object.assign(h,{root:n.root,handlers:Bo(e,t,i,o,a),initializers:l})}function _5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=go(n.anyAncestorScrollable);wo(o,l);const h=nt(new F(1,1,1)),f=Wt(()=>h.value.x/h.value.y),d=xo(e,t,i,{...yo,...Co(n.root.size),..._o(o),...vo(a)},xm,v=>v.add("aspectRatio",f));ba(void 0,A,n,d,r,l);const g=Eo(d,A,n.root.pixelSize);Io(r,g,l);const E=La(n.childrenMatrix,g),y=Ta(n.clippingRect,E,A.size,n.root.pixelSize),I=Yl(d),p=Ei(d,ni.Panel,I,n.orderInfo);l.push(v=>Ls(d,p,I,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,y,Vl(),v));const C=Ei(void 0,ni.Object,void 0,p);return mo(e,t,A.size,l),Da(e,t,y,l),Object.assign(A,{remeasureContent:R5(d,n.root,A,n.clippingRect,C,h,s,l),interactionPanel:Wl(p,n.root,n.clippingRect,A.size,l),handlers:Bo(e,t,i,o,a),initializers:l})}const hI=new Zn,I_=new F().setScalar(.001),M5=new F,Q5="back";function R5(n,e,t,i,r,s,o,a){const l=tf(e,i,a),A=Gt(n,"depthAlign",Q5),h=Gt(n,"keepAspectRatio",!0),f=new F,d=new F,g=()=>{const E=o.current;if(E==null){f.copy(I_),d.set(0,0,0);return}E.traverse(I=>{I instanceof tn&&(zl(I,e,r),I.material.clippingPlanes=l,I.material.needsUpdate=!0,I.raycast=Pu(I,I.raycast,e.object,i,r))});const y=E.parent;E.parent=null,hI.setFromObject(E),hI.getSize(f).max(I_),s.value=f,y!=null&&(E.parent=y),hI.getCenter(d)};return a.push(E=>{const y=o.current;return y==null||(g(),E.push(At(()=>{const{size:{value:I},paddingInset:{value:p},borderInset:{value:C}}=t;if(I==null||p==null||C==null)return;const[v,S]=I,[Q,R,D,U]=p,[J,_,b,j]=C,fe=Q+J,Y=R+_,le=D+b,se=U+j,de=v-se-Y,k=S-fe-le,Z=e.pixelSize.value;y.scale.set(de*Z,k*Z,h.value?k*Z*f.z/f.y:f.z).divide(f),y.position.copy(d).negate(),y.position.z-=T5[A.value]*f.z,y.position.multiply(y.scale),y.position.add(M5.set((se-Y)*.5*Z,(le-fe)*.5*Z,0)),y.updateMatrix()}))),E}),g}function D5(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Qu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function gr(n){const e=n.length;for(let t=0;to){e.setScalar(R*s);return}e.setScalar(Q*s/o)}function Fr(n){return n instanceof ti?n.value:n}function rf(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Wt(()=>n()?Fr(s):void 0)),i.add(r,o)}}}function fB(n,e){const t=e.map(i=>Gt(n,i,0));return Wt(()=>t.map(i=>i.value))}function wo(n,e){e.push(()=>()=>mT(n))}function L5(n,e,t,i,r,s){let o=!1;gm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}_l("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&b5(r,a)}),_l("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),mT(r)})}function _o(n){return{hover:rf(()=>n.value.length>0)}}const gC=[],Hp=[];function b5(n,e){gC.push(n),Hp.push(e),document.body.style.cursor=e}function mT(n){const e=gC.indexOf(n);e!=-1&&(gC.splice(e,1),Hp.splice(e,1),document.body.style.cursor=Hp[Hp.length-1]??"default")}const P5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let y_;function N5(){return y_??=nf({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),y_}function U5(n,e,t,i,r,s,o,a){const l=Ei(void 0,ni.Panel,Em,r),A=nt(void 0);a.push(()=>At(()=>{const d=t.value;d==null&&(A.value=void 0),A.value=d;const g=setInterval(()=>A.value=A.peek()==null?d:void 0,500);return()=>clearInterval(g)}));const h=fB(n,P5),f=Gt(n,"caretWidth",1.5);a.push(d=>Ls(n,l,void 0,o,e,Wt(()=>{const g=A.value;return g==null?[0,0]:[f.value,g[2]]}),Wt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-f.value/2,g[1]]}),h,s,i,N5(),d))}const k5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let C_;function F5(){return C_??=nf({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),C_}function O5(n,e,t,i,r,s,o,a){const l=[],A=Ei(void 0,ni.Panel,Em,r),h=fB(n,k5);return a.push(()=>At(()=>{const f=t.value,d=f.length;for(let E=0;E()=>{const f=l.length;for(let d=0;dn.value)}}const G5=new Set;function z5(n){G5.add(n)}function V5(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),f=nt(!1),d=[];wo(A,d);const g=xo(s,o,a,{...yo,...Co(n.root.size),..._o(A),...vo(h),...H5(f)},void 0,de=>{gm(s.value,o.value,a.value,k=>{de.add("caretOpacity",k.opacity),de.add("caretColor",k.color)})}),E=go(n.anyAncestorScrollable),y=nt(void 0);ba(y,E,n,g,l,d);const I=Eo(g,E,n.root.pixelSize);Io(l,I,d);const p=La(n.childrenMatrix,I),C=Ta(n.clippingRect,p,E.size,n.root.pixelSize),v=Yl(g),S=Ei(g,ni.Panel,v,n.orderInfo);d.push(de=>Ls(g,S,v,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,C,Vl(),de));const Q={},R=nt([]),D=nt(void 0),U=nt(void 0);U5(g,p,D,C,S,n.clippingRect,n.root.panelGroupManager,d);const J=O5(g,p,R,C,S,n.clippingRect,n.root.panelGroupManager,d),_=qD(g,r,n.root.renderer,d),b=Ei(void 0,ni.Text,ZD(_),J),j=$D(g,e,p,y,E,C,n.clippingRect,b,_,n.root.gylphGroupManager,U,R,D,Q,d);d.push(()=>At(()=>y.value?.setMeasureFunc(j))),mo(s,o,E.size,d),Da(s,o,C,d);const fe=Gt(g,"disabled",!1),Y=Y5(e,U,t,i,fe,d),le=()=>{f.peek()||Y.peek()?.focus()};J5(Y,f,d);const se=W5(E,Y,Q,U,le,fe);return Object.assign(E,{focus:le,root:n.root,element:Y,node:y,interactionPanel:Wl(S,n.root,n.clippingRect,E.size,d),handlers:Bo(s,o,a,A,h,se,"text"),initializers:d})}function W5(n,e,t,i,r,s){return Wt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;z5(a.nativeEvent),a.stopPropagation?.();const l=v_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=v_(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),f=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,f)})}}})}function Y5(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:f,selectionEnd:d}=l;if(f==null||d==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===f&&g[1]===d||(e.value=[f,d])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},At(()=>l.value=n.value),At(()=>l.disabled=r.value)),a}),o}function J5(n,e,t){t.push(()=>At(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function v_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,f]=o,[d,,,g]=a,E=i.x*l-f-g,y=-i.y*A+h+d;return r.getCharIndex(E,y)}new ve;const mC=$.createContext(void 0);function X5(){return $.useContext(mC)}function bs(n){const t={...$.useContext(mC)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return X.jsx(mC.Provider,{value:t,children:n.children})}const B_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Mo=$.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=$.useState(()=>n.value);$.useEffect(()=>At(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=$.useMemo(()=>{const a={...r},l=B_.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=X5(),e}function Ro(n,e,t,i,r,s){$.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:f}=i;return{setStyle:d=>t.value=d,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:f,size:h,interactionPanel:r instanceof tn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Bt=$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=$.useRef(null),s=Qo(n),o=$.useMemo(()=>c5(t,s.style,s.properties,s.default,i,r),[t,s]);return $.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[t,s,o]),Ro(e,t.root.pixelSize,s.style,o,o.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:[X.jsx("primitive",{object:o.interactionPanel}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:o,children:n.children})})]})}),K5=$.forwardRef((n,e)=>{const t=rB(A=>A.gl);t.setTransparentSort(VG);const i=Ts(),r=$.useRef(null),s=$.useRef(null),o=Qo(n),a=$.useMemo(()=>new Set,[]),l=$.useMemo(()=>i5(o.style,o.properties,o.default,r,s,()=>i.getState().camera,t,a),[]);return $.useEffect(()=>{const A=[];return So(l.initializers,A),()=>gr(A)},[l]),$h((A,h)=>{for(const f of a)f(h)}),Ro(e,l.root.pixelSize,o.style,l,l.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:l.handlers,ref:r,children:[X.jsx("primitive",{object:l.interactionPanel}),X.jsx("object3D",{ref:s,children:X.jsx(bu,{value:l,children:n.children})})]})}),Sm=$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=$.useRef(null),s=Qo(n),o=$.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=$.useMemo(()=>A5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,s.style,a,a.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:a.handlers,children:[X.jsx("primitive",{object:a.interactionPanel}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:a,children:n.children})})]})}),Ct=$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=Qo(n),s=$.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=$.useMemo(()=>nt(void 0),[]);o.value=TD();const a=$.useMemo(()=>m5(t,s,o,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,r.style,a,a.interactionPanel),X.jsx(Mo,{userHandlers:n,handlers:a.handlers,ref:i,children:X.jsx("primitive",{object:a.interactionPanel})})});$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=$.useRef(null),s=Qo(n),o=$.useMemo(()=>nt(""),[]);o.value=n.src;const a=$.useMemo(()=>I5(t,o,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,s.style,a,a.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:a.handlers,children:[X.jsx("primitive",{object:a.interactionPanel}),X.jsx("primitive",{object:a.centerGroup}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:a,children:n.children})})]})});const Pa=$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=Qo(n),s=$.useMemo(()=>B5(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const o=[];return So(s.initializers,o),()=>gr(o)},[s]),Ro(e,t.root.pixelSize,r.style,s,s.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:s.handlers,children:[X.jsx("primitive",{object:s.interactionPanel}),X.jsx("primitive",{object:s.iconGroup})]})});$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=Qo(n),s=$.useMemo(()=>nt(""),[]),o=$.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=$.useMemo(()=>Wt(()=>Fr(s.value)),[s]),l=$.useMemo(()=>nt(void 0),[]);l.value=TD();const A=$.useMemo(()=>V5(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return $.useEffect(()=>{const h=[];return So(A.initializers,h),()=>gr(h)},[A]),$.useEffect(()=>At(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),Ro(e,t.root.pixelSize,r.style,A,A.interactionPanel,$.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),X.jsx(Mo,{userHandlers:n,handlers:A.handlers,ref:i,children:X.jsx("primitive",{object:A.interactionPanel})})});$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=$.useRef(null),s=Qo(n),o=$.useMemo(()=>w5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[o]),Ro(e,t.root.pixelSize,s.style,o,r),X.jsx(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:X.jsx(bu,{value:void 0,children:X.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:hB,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});$.forwardRef((n,e)=>{const t=Qa(),i=$.useRef(null),r=$.useRef(null),s=Qo(n),o=$.useMemo(()=>_5(t,s.style,s.properties,s.default,i,r),[]);return $.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[o]),Ro(e,t.root.pixelSize,s.style,o,o.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:[X.jsx("primitive",{object:o.interactionPanel}),X.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:X.jsx(bu,{value:void 0,children:n.children})})]})});const q5=$.forwardRef((n,e)=>{const t=Ts(),[i,r,s]=$.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=rB(A=>A.camera),a=n.distanceToCamera??o.near+.01;$.useEffect(()=>{const A=({camera:h,size:{height:f}})=>bD(()=>D5(i,r,s,a,h,f));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return X.jsxs(X.Fragment,{children:[l&&X.jsx("primitive",{object:o}),_D(X.jsx("group",{"position-z":-a,children:X.jsx(K5,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});$.forwardRef(({src:n,...e},t)=>{const i=sB(hm,n);return i.colorSpace=Pn,i.matrixAutoUpdate=!1,X.jsx(Sm,{ref:t,src:i,...e})});$.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=$.useMemo(()=>new kr(1,1,{minFilter:yn,magFilter:yn,type:Ll}),[]),l=$.useRef(null),A=$.useMemo(()=>({events:{compute:j5.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);$.useEffect(()=>{if(l.current==null)return;const{size:f}=l.current,d=At(()=>{if(f.value==null)return;const[g,E]=f.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{d(),a.dispose()}},[a,A]),$.useImperativeHandle(o,()=>l.current,[]);const h=$.useMemo(()=>new Sh,[]);return X.jsxs(X.Fragment,{children:[_D(X.jsxs(Z5,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,X.jsx("group",{onPointerOver:()=>null})]}),h,A),X.jsx(Sm,{...s,src:a.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function j5({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function Z5({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Ts();$.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return At(()=>{if(A.value==null)return;const[h,f]=A.value;s.setState({size:{width:h,height:f,top:0,left:0}})})});let o=0,a,l;return $h(A=>{(n===1/0||o{const t=$.useMemo(()=>nt(void 0),[]),i=$.useMemo(()=>nt(1),[]),r=$.useMemo(()=>document.createElement("video"),[]);return $.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,$.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),$.useEffect(()=>{const s=new yR(r);return t.value=s,()=>s.dispose()},[t,r]),$.useImperativeHandle(e,()=>r,[r]),X.jsx(Sm,{aspectRatio:i,...n,src:t})});const $5='',e8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:$5,svgWidth:24,svgHeight:24})),t8='',n8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:t8,svgWidth:24,svgHeight:24})),i8='',r8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:i8,svgWidth:24,svgHeight:24})),s8='',o8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:s8,svgWidth:24,svgHeight:24})),a8='',l8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:a8,svgWidth:24,svgHeight:24})),c8='',u8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:c8,svgWidth:24,svgHeight:24})),A8='',h8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:A8,svgWidth:24,svgHeight:24})),f8='',d8=$.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:f8,svgWidth:24,svgHeight:24}));function Ot(n,e,t){return new qe().setHSL(n/360,e/100,t/100,"srgb")}const wt=cz({light:{background:Ot(0,0,100),foreground:Ot(222.2,84,4.9),card:Ot(0,0,100),cardForeground:Ot(222.2,84,4.9),popover:Ot(0,0,100),popoverForeground:Ot(222.2,84,4.9),primary:Ot(222.2,47.4,11.2),primaryForeground:Ot(210,40,98),secondary:Ot(210,40,96.1),secondaryForeground:Ot(222.2,47.4,11.2),muted:Ot(210,40,96.1),mutedForeground:Ot(215.4,16.3,46.9),accent:Ot(210,40,96.1),accentForeground:Ot(222.2,47.4,11.2),destructive:Ot(0,72.22,50.59),destructiveForeground:Ot(210,40,98),border:Ot(214.3,31.8,91.4),input:Ot(214.3,31.8,91.4),ring:Ot(222.2,84,4.9)},dark:{background:Ot(222.2,84,4.9),foreground:Ot(210,40,98),card:Ot(222.2,84,4.9),cardForeground:Ot(210,40,98),popover:Ot(222.2,84,4.9),popoverForeground:Ot(210,40,98),primary:Ot(210,40,98),primaryForeground:Ot(222.2,47.4,11.2),secondary:Ot(217.2,32.6,17.5),secondaryForeground:Ot(210,40,98),muted:Ot(217.2,32.6,17.5),mutedForeground:Ot(215,20.2,65.1),accent:Ot(217.2,32.6,17.5),accentForeground:Ot(210,40,98),destructive:Ot(0,62.8,30.6),destructiveForeground:Ot(210,40,98),border:Ot(217.2,32.6,17.5),input:Ot(217.2,32.6,17.5),ring:Ot(212.7,26.8,83.9)}});function p8(n){return X.jsx(bs,{scrollbarColor:wt.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:wt.border,color:wt.foreground,...n})}const g8={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:wt.primary},defaultProps:{color:wt.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:wt.destructive},defaultProps:{color:wt.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:wt.accent},containerProps:{border:1,borderColor:wt.input,backgroundColor:wt.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:wt.secondary},defaultProps:{color:wt.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:wt.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:wt.primary}}},m8={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Nh({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=g8[e],A=m8[t];return X.jsx(Bt,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:X.jsx(bs,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Nc({children:n,...e}){return X.jsx(Bt,{flexDirection:"column",borderRadius:8,border:1,backgroundColor:wt.card,...e,children:X.jsx(bs,{color:wt.cardForeground,children:n})})}function Uc(n){return X.jsx(Bt,{padding:24,flexDirection:"column",gap:6,...n})}function kc({children:n}){return X.jsx(bs,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:n})}function E8({children:n}){return X.jsx(bs,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:n})}function Fc(n){return X.jsx(Bt,{padding:24,paddingTop:0,...n})}const dB=$.createContext({});function I8({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=$.useState(t),a=$.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return X.jsx(Bt,{flexDirection:"column",...r,children:X.jsx(dB.Provider,{value:a,children:i})})}function y8({children:n,...e}){return X.jsx(Bt,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:wt.muted,padding:4,flexShrink:0,...e,children:X.jsx(bs,{color:wt.mutedForeground,children:n})})}function Ep({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=$.useContext(dB),o=e===s;return X.jsx(Bt,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?wt.background:void 0,paddingY:6,justifyContent:"center",...i,children:X.jsx(bs,{opacity:t?.5:void 0,color:o?wt.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function C8({value:n,...e}){const{value:t}=$.useContext(dB);return n!=t?null:X.jsx(Bt,{marginTop:8,...e})}const ET=$.createContext(void 0);function v8({children:n}){const[e,t]=$.useState(void 0),i=$.useCallback((r,s)=>t(o=>o===r?s:o),[]);return X.jsxs(X.Fragment,{children:[X.jsx(B8,{set:i,children:n}),e]})}const B8=$.memo(({children:n,set:e})=>X.jsx(ET.Provider,{value:e,children:n})),pB=$.createContext(void 0);function gB(){const n=$.useContext(pB);if(n==null)throw new Error("Can only be used inside a component.");return n}function x8({children:n,open:e,onOpenChange:t,defaultOpen:i}){const[r,s]=$.useState(i??!1),o=e??r,a=$.useContext(ET);if(a==null)throw new Error("Can only be used inside a component.");const l=$.useRef(void 0),A=$.useRef(void 0);$.useEffect(()=>{if(!o){a(A.current,void 0),A.current=void 0;return}l.current!=null&&(a(void 0,l.current),A.current=l.current)},[o,a]);const h=$.useRef(t);h.current=t;const f=e!=null,d=$.useMemo(()=>({setContent(g){A.current!=null&&(a(A.current,g),A.current=g),l.current=g},setOpen(g){f||s(g),h.current?.(g)}}),[f,a]);return X.jsx(pB.Provider,{value:d,children:n})}function S8({children:n}){const{setOpen:e}=gB();return X.jsx(Bt,{onClick:()=>e(!0),children:n})}function w8(n){return X.jsx(Bt,{onPointerMove:e=>e.stopPropagation(),onPointerEnter:e=>e.stopPropagation(),onPointerLeave:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),positionType:"absolute",inset:0,zIndexOffset:50,backgroundColor:"black",backgroundOpacity:.8,...n})}function _8(){const{setOpen:n}=gB();return $.useCallback(()=>n(!1),[n])}function M8({children:n}){const e=gB();return $.useEffect(()=>e.setContent(X.jsx(pB.Provider,{value:e,children:n}))),null}function Q8({children:n,sm:e,...t}){const i=_8();return X.jsx(M8,{children:X.jsx(w8,{onClick:r=>{i(),r.stopPropagation()},alignItems:"center",justifyContent:"center",children:X.jsxs(Bt,{onClick:r=>r.stopPropagation(),positionType:"relative",flexDirection:"column",width:"100%",gap:16,border:1,backgroundColor:wt.background,padding:24,sm:{borderRadius:8,...e},...t,children:[n,X.jsx(d8,{color:wt.mutedForeground,onClick:i,cursor:"pointer",positionType:"absolute",zIndexOffset:50,positionRight:16,positionTop:16,borderRadius:2,opacity:.7,backgroundOpacity:.7,hover:{opacity:1,backgroundOpacity:1},width:16,height:16})]})})})}function R8({children:n,...e}){return X.jsx(Bt,{flexDirection:"column",gap:6,...e,children:X.jsx(bs,{horizontalAlign:"center",sm:{horizontalAlign:"left"},children:n})})}function D8(n){return X.jsx(Bt,{flexDirection:"column-reverse",sm:{flexDirection:"row",justifyContent:"flex-end"},gap:8,...n})}function T8({children:n}){return X.jsx(bs,{fontSize:18,lineHeight:1,letterSpacing:-.4,fontWeight:"semi-bold",children:n})}function L8({children:n}){return X.jsx(bs,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:n})}const qs=new jh,fI=new oD,x_=new rn;function b8(n,e,t,i,r){const s=[];for(const[o,a]of r){fI.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=fI.at(a.distanceOnLine/fI.distance(),new F);_m(x_,a,o);const A=P8(n,i,x_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const S_=new F,dI=new Sa;function P8(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(dI.origin.copy(r).applyMatrix4(n.matrixWorld),dI.direction.copy(s).applyMatrix4(n.matrixWorld).sub(qs.ray.origin).normalize(),dI.intersectPlane(t,S_)!=null)return S_.clone()}}const N8=new lt;function U8(n,e,t,i,r,s,o){const a=[];return sf(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let h=1;hC===y.object)!=-1)continue;const p=y.distance;y.distance+=A,a.push(Object.assign(y,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:h-1,distanceOnLine:p,pointOnFace:y.point,localPoint:y.point.clone().applyMatrix4(N8.copy(y.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const xs=new jh,hu=new F,eo=new rn,w_=new Sa;function k8(n,e,t,i){hu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){w_.set(n,hu),_m(eo,o,s);const a=w_.intersectPlane(eo,new F)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:hu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function F8(n,e,t,i,r){xs.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(hu);const s=[];for(const[o,a]of t){eo.setFromNormalAndCoplanarPoint(hu,xs.ray.origin),eo.constant-=a.distanceViewPlane;const l=xs.ray.intersectPlane(eo,new F);if(l==null)continue;_m(eo,a,o);const A=xs.ray.intersectPlane(eo,new F)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Cg=new lt;function O8(n,e,t,i,r,s){xs.ray.origin.copy(n),xs.ray.direction.copy(s).applyQuaternion(e);const o=[];return sf(t,i.hasEventHandlers.bind(i),a=>{const l=xs.intersectObject(a,!0);for(const A of l)r&&!wm(A)||(Cg.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Cg)})))}),o.sort((a,l)=>a.distance-l.distance)}function H8(n,e,t,i,r,s,o){xs.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),eo.setFromNormalAndCoplanarPoint(n.getWorldDirection(hu),xs.ray.origin);const a=[];return sf(t,i.hasEventHandlers.bind(i),l=>{const A=xs.intersectObject(l,!0);for(const h of A)r&&!wm(h)||(Cg.copy(l.matrixWorld).invert(),a.push(Object.assign(h,{intersections:a,pointOnFace:h.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:eo.distanceToPoint(h.point),localPoint:h.point.clone().applyMatrix4(Cg)})))}),a.sort((l,A)=>l.distance-A.distance)}const __=new F,M_=new Hn,Q_=new rn;function G8(n,e,t){const i=[];for(const[r,s]of t){__.copy(s.point).sub(s.inputDevicePosition),M_.copy(s.inputDeviceRotation).invert().multiply(e);const o=__.clone().applyQuaternion(M_).add(n);_m(Q_,s,r);const a=Q_.projectPoint(n,new F);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Lr=new Yn;function z8(n,e,t,i,r,s){Lr.center.copy(n),Lr.radius=t;const o=[];return sf(i,r.hasEventHandlers.bind(r),a=>IT(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function IT(n,e,t,i){W8(n,e,t,i);for(const r of n.children)IT(r,e,t,i)}const SA=new lt,wA=new lt;function V8(n){return"spherecast"in n}function W8(n,e,t,i){if(n.updateWorldMatrix(!0,!1),V8(n)){const r=[];n.spherecast(Lr,r);for(const s of r)t&&!wm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Lr.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(SA.copy(s.object.matrixWorld).invert())})}if(n instanceof Uv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sLr.radius*Lr.radius)return;pI.max(Y8);const h=fu.center.clone().sub(D_);h.divide(pI),J8(h);const f=Ip.clone();o&&!X8(n,f)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:h},pointOnFace:f,point:f,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:f.clone().applyMatrix4(r)})}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)}function sf(n,e,t){if(e(n))return t(n);for(const i of n.children)sf(i,e,t)}function wm(n){if(!(n.object instanceof tn)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function X8(n,e){if(!(n instanceof tn)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function _m(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const gI=new F,L_=new Hn,b_=Symbol("traversal-id"),P_=[],EC=new zt;class Mm{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,h,f){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=h,this.onEndEventCaptures=f}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(gI,L_),this.intersections=[{distance:1/0,inputDevicePosition:gI.clone(),inputDeviceRotation:L_.clone(),object:EC,point:gI.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,h,f)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,f,r),this.dispatchRelease(e,a,A,l,f),this.updateElementStateMap(A,l,f,r,s)),l.lastPressedElementIds=f,l.blockFollowingIntersections&&(this.intersections.length=h+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,h)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,h,A,a),this.eventDispatcher.leave(l,h),A.lastLeftTime=s,A.lastPressedElementIds=P_,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),f=$.useMemo(()=>new Qm,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=o;const d=$.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);d.filterClipped=A??!0,d.computeIntersections=n,d.isDrag=e,d.onIntersections=t,d.filterIntersections=i,d.onStartEventCaptures=a,d.onEndEventCaptures=l;for(const[g,E]of h)yT(E.translator,g,d);return $.useEffect(()=>()=>{for(const{translator:g}of h.values())g.leave({});h.clear()},[]),$.useMemo(()=>{const g=E=>j8(h,f,d,E);return{cancel:(E,y)=>{const{translator:I}=g(E);I.cancel(y)},enter:(E,y)=>{const{translator:I}=g(E);I.update(y,!0,!0)},leave:(E,y)=>{const{translator:I}=g(E);I.leave(y),h.delete(E)},press:(E,y,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:C,translator:v}=g(E);for(const S of I)C.add(S),p.set(S,y);v.update(y,!1,!0,...I)},release:(E,y,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:C,inputDeviceElementDragSet:v,translator:S}=g(E);for(const Q of I)C.delete(Q),p.delete(Q);S.update(y,!1,!0);for(const Q of I)v.delete(Q)},move:(E,y)=>{const{translator:I,inputDeviceElementPressMap:p,inputDeviceElementDragSet:C}=g(E);for(const[v,S]of p)d.isDrag(S,y)&&C.add(v);I.update(y,!0,!1)},wheel:E=>{for(const{translator:y}of h.values())y.wheel(E)},blur:E=>{for(const{translator:y}of h.values())y.leave(E);h.clear()}}},[])}function yT(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function j8(n,e,t,i){let r=n.get(i);if(r==null){const s=new F,o=new Hn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new Mm(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};yT(a.translator,i,t),n.set(i,r=a)}return r}new F;const Z8=[];function $8(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function e6({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Ts(),l=rB(({gl:d})=>d.domElement),A=$.useMemo(()=>t6.bind(null,a),[a]),h=$.useRef(o);h.current=o;const f=q8(A,$8.bind(null,h),i,e,r,s,t,n6,i6,n);return $.useEffect(()=>{const d=C=>f.cancel(C.pointerId,C),g=C=>f.press(C.pointerId,C,C.button),E=C=>f.release(C.pointerId,C,C.button),y=C=>f.enter(C.pointerId,C),I=C=>f.leave(C.pointerId,C),p=C=>f.move(C.pointerId,C);return l.addEventListener("pointercancel",d),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",y),l.addEventListener("pointerout",I),l.addEventListener("pointermove",p),l.addEventListener("wheel",f.wheel),l.addEventListener("blur",f.blur),()=>{l.removeEventListener("pointercancel",d),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",y),l.removeEventListener("pointerout",I),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",f.wheel),l.removeEventListener("blur",f.blur)}},[l,f]),null}function t6(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return Z8;const{camera:a,scene:l,size:A}=n.getState(),h=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?H8(a,h,l,r,i,s,o):F8(a,h,t,s,o)}function n6(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function i6(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const mI=new F,EI=new Hn,r6=new F(0,0,1);$.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=r6,initialPressedElementIds:l},A)=>{const h=Ts(),f=$.useMemo(()=>new zt,[]),d=$.useMemo(()=>new Qm,[]);d.onPointerDownMissed=r,d.onPointerUpMissed=s,d.onClickMissed=i;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const y=$.useMemo(()=>new Mm(n,!1,d,(p,C)=>(f.getWorldPosition(mI),f.getWorldQuaternion(EI),C==null?O8(mI,EI,h.getState().scene,d,E.filterClipped,E.direction):k8(mI,EI,C,E.direction)),()=>[...g],(p,C)=>{f.getWorldPosition(p),f.getWorldQuaternion(C)}),[n,h]);y.onIntersections=e,y.filterIntersections=t,$.useImperativeHandle(A,()=>({press:(p,C)=>{g.add(p),y.update(C,!1,!0,p)},release:(p,C)=>{g.delete(p),y.update(C,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),$.useEffect(()=>y.leave.bind(y,{}),[y]);const I=$.useRef(g.size>0);return $h(()=>{y.update({},!0,I.current,...g),I.current=!1}),xC.createElement("primitive",{object:f})});const II=new F,yI=new Hn;$.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},h)=>{const f=$.useMemo(()=>new zt,[]),d=Ts(),g=$.useMemo(()=>new Set(A),[]),E=$.useMemo(()=>new Qm,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const y=$.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);y.distanceElement=e,y.radius=t,y.filterClipped=l;const I=$.useMemo(()=>new Mm(n,!0,E,(C,v)=>(f.getWorldPosition(II),f.getWorldQuaternion(yI),v==null?z8(II,yI,y.radius,d.getState().scene,E,y.filterClipped):G8(II,yI,v)),C=>C!=null&&y.distanceElement!=null&&C.distance<=y.distanceElement.downRadius&&(C.distanceToFace==null||C.distanceToFace<2*y.distanceElement.downRadius*2)?[...g,y.distanceElement.id]:[...g],(C,v)=>{f.getWorldPosition(C),f.getWorldQuaternion(v)}),[n,d]);I.onIntersections=i,I.filterIntersections=r,$.useImperativeHandle(h,()=>({press:(C,v)=>{g.add(C),I.update(v,!1,!0,C)},release:(C,v)=>{g.delete(C),I.update(v,!1,!0)},cancel:I.cancel.bind(I),wheel(C){I.wheel(C)}}),[I]),$.useEffect(()=>I.leave.bind(I,{}),[I]);const p=$.useRef(g.size>0);return $h(()=>{I.update({},!0,p.current||e!=null,...g),p.current=!1}),xC.createElement("primitive",{object:f})});const CI=new F,vI=new Hn;$.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const h=$.useMemo(()=>new zt,[]),f=Ts(),d=$.useMemo(()=>new Qm,[]);d.onPointerDownMissed=s,d.onPointerUpMissed=o,d.onClickMissed=r;const g=$.useMemo(()=>new Set(l),[]),E=$.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const y=$.useMemo(()=>new Mm(n,!1,d,(p,C)=>(h.getWorldPosition(CI),h.getWorldQuaternion(vI),C==null?U8(h,CI,vI,E.points,f.getState().scene,d,E.filterClipped):b8(h,CI,vI,E.points,C)),()=>[...g],(p,C)=>{h.getWorldPosition(p),h.getWorldQuaternion(C)}),[n,f]);y.onIntersections=t,y.filterIntersections=i,$.useImperativeHandle(A,()=>({press:(p,C)=>{g.add(p),y.update(C,!1,!0,p)},release:(p,C)=>{g.delete(p),y.update(C,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),$.useEffect(()=>y.leave.bind(y,{}),[y]);const I=$.useRef(g.size>0);return $h(()=>{y.update({},!0,I.current,...g),I.current=!1}),xC.createElement("primitive",{object:h})});const s6=()=>({enabled:!1,priority:0});class Qm{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==EC){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const h=this.event[A];typeof h!="function"&&(l[A]=h)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===EC)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}function o6(){return X.jsxs(Nh,{variant:"outline",width:260,justifyContent:"flex-start",children:[X.jsx(r8,{marginRight:8,width:16,height:16}),X.jsx(Ct,{fontWeight:"normal",children:"Jan 20, 2023 - Feb 09, 2023"})]})}function a6(n){return X.jsxs(Bt,{alignItems:"center",flexDirection:"row",gap:16,lg:{gap:24},...n,children:[X.jsx(Ct,{fontSize:14,lineHeight:1.43,fontWeight:"medium",hover:{color:wt.primary},children:"Overview"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Customers"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Products"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Settings"})]})}const l6=[{name:"Jan",total:Math.floor(Math.random()*5e3)+1e3},{name:"Feb",total:Math.floor(Math.random()*5e3)+1e3},{name:"Mar",total:Math.floor(Math.random()*5e3)+1e3},{name:"Apr",total:Math.floor(Math.random()*5e3)+1e3},{name:"May",total:Math.floor(Math.random()*5e3)+1e3},{name:"Jun",total:Math.floor(Math.random()*5e3)+1e3},{name:"Jul",total:Math.floor(Math.random()*5e3)+1e3},{name:"Aug",total:Math.floor(Math.random()*5e3)+1e3},{name:"Sep",total:Math.floor(Math.random()*5e3)+1e3},{name:"Oct",total:Math.floor(Math.random()*5e3)+1e3},{name:"Nov",total:Math.floor(Math.random()*5e3)+1e3},{name:"Dec",total:Math.floor(Math.random()*5e3)+1e3}],c6=6e3,u6=["$6000","$4500","$3000","$1500","$0"];function A6(){return X.jsxs(Bt,{flexShrink:0,paddingX:16,gap:16,width:"100%",height:350,flexDirection:"row",children:[X.jsx(Bt,{paddingBottom:12*1.333+8,flexDirection:"column",alignItems:"flex-end",justifyContent:"space-between",children:u6.map(n=>X.jsx(Ct,{color:wt.mutedForeground,fontSize:12,lineHeight:1.3333,children:n},n))}),X.jsx(Bt,{gap:16,height:"100%",flexGrow:1,flexDirection:"row",children:l6.map(({name:n,total:e})=>X.jsxs(Bt,{flexDirection:"column",gap:8,flexGrow:1,alignItems:"center",children:[X.jsx(Bt,{flexDirection:"column",flexGrow:1,flexShrink:1,justifyContent:"flex-end",width:"100%",children:X.jsx(Bt,{borderTopRadius:4,height:`${Math.min(1,e/c6)*100}%`,backgroundColor:wt.primary,width:"100%"})}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:12,lineHeight:1.3333,children:n})]},n))})]})}function ul(n){return X.jsx(Sm,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...n})}function h6(){return X.jsxs(Bt,{flexDirection:"column",gap:32,children:[X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{height:36,width:36,src:"/uikit/examples/dashboard/01.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Olivia Martin"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"olivia.martin@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$1,999.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{height:36,width:36,alignItems:"center",justifyContent:"center",border:1,gap:0,src:"/uikit/examples/dashboard/02.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Jackson Lee"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"jackson.lee@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$39.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/03.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Isabella Nguyen"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"isabella.nguyen@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$299.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/04.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"William Kim"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"will@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$99.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/05.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Sofia Davis"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"sofia.davis@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$39.00"})]})]})}const f6=[{label:"Personal Account",teams:[{label:"Alicia Koch",value:"personal"}]},{label:"Teams",teams:[{label:"Acme Inc.",value:"acme-inc"},{label:"Monsters Inc.",value:"monsters"}]}];function d6(n){const e=f6[0].teams[0];return X.jsxs(Nh,{variant:"outline",width:200,justifyContent:"space-between",...n,children:[X.jsx(ul,{marginRight:8,height:20,width:20,src:`/uikit/examples/dashboard/${e.value}.png`}),X.jsx(Ct,{children:e.label}),X.jsx(o8,{marginLeft:"auto",height:20,width:20,flexShrink:0,opacity:.5})]})}function p6({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=$.useState(n??!1),a=e??s;return X.jsx(Bt,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:t?.5:void 0,borderRadius:1e3,backgroundColor:a?wt.primary:wt.input,cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},...r,children:X.jsx(Bt,{width:20,height:20,borderRadius:1e3,transformTranslateX:a?20:0,backgroundColor:wt.background})})}const BI=[{title:"Your call has been confirmed.",description:"1 hour ago"},{title:"You have a new message!",description:"1 hour ago"},{title:"Your subscription is expiring soon!",description:"2 hours ago"}];function g6({open:n,setOpen:e}){return X.jsxs(x8,{open:n,onOpenChange:e,children:[X.jsx(S8,{children:X.jsx(ul,{cursor:"pointer",src:"/uikit/examples/dashboard/01.png",height:32,width:32})}),X.jsxs(Q8,{positionType:"relative",transformTranslateZ:200,sm:{maxWidth:425},children:[X.jsxs(R8,{children:[X.jsx(T8,{children:X.jsx(Ct,{children:"Edit profile"})}),X.jsx(L8,{children:X.jsx(Ct,{children:"Make changes to your profile here. Click save when you're done."})})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[X.jsx(n8,{}),X.jsxs(Bt,{gap:4,children:[X.jsx(Ct,{fontWeight:"medium",fontSize:14,lineHeight:1,children:"Push Notifications"}),X.jsx(Ct,{fontWeight:"medium",fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"Send notifications to device."})]}),X.jsx(p6,{})]}),X.jsx(Bt,{flexDirection:"column",children:BI.map((t,i)=>X.jsxs(Bt,{marginBottom:i===BI.length-1?0:16,paddingBottom:i===BI.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[X.jsx(Bt,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:959977}),X.jsxs(Bt,{flexDirection:"column",gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,children:t.title}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:t.description})]})]},i))}),X.jsx(D8,{children:X.jsx(Nh,{onClick:()=>e(!1),children:X.jsx(Ct,{children:"Save changes"})})})]})]})}lz("light");function m6(){const[n,e]=$.useState(!1);return X.jsxs(mG,{events:s6,flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[X.jsx(e6,{}),X.jsx(q5,{distanceToCamera:1,backgroundColor:16777215,dark:{backgroundColor:0},children:X.jsx(p8,{children:X.jsx(v8,{children:X.jsx(Bt,{flexDirection:"column",width:"100%",height:"100%",overflow:"scroll",children:X.jsx(E6,{open:n,setOpen:e})})})})})]})}function E6({open:n,setOpen:e}){return X.jsxs(Bt,{flexShrink:0,flexDirection:"column",children:[X.jsx(Bt,{flexShrink:0,flexDirection:"column",borderBottom:1,children:X.jsxs(Bt,{height:64,alignItems:"center",flexDirection:"row",paddingX:16,children:[X.jsx(d6,{}),X.jsx(a6,{marginX:24}),X.jsxs(Bt,{marginLeft:"auto",flexDirection:"row",alignItems:"center",gap:16,children:[X.jsx(Nh,{variant:"secondary",size:"sm",onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/dashboard","_blank"),children:X.jsx(Ct,{children:"Source Code"})}),X.jsx(g6,{open:n,setOpen:e})]})]})}),X.jsxs(Bt,{flexDirection:"column",flexGrow:1,gap:16,padding:32,paddingTop:24,children:[X.jsxs(Bt,{flexShrink:0,flexDirection:"row",justifyContent:"space-between",gap:8,children:[X.jsx(Ct,{fontSize:30,lineHeight:1,children:"Dashboard"}),X.jsxs(Bt,{flexDirection:"row",gap:8,alignItems:"center",children:[X.jsx(o6,{}),X.jsx(Nh,{children:X.jsx(Ct,{children:"Download"})})]})]}),X.jsxs(I8,{flexDirection:"column",defaultValue:"overview",gap:16,children:[X.jsxs(y8,{alignSelf:"flex-start",children:[X.jsx(Ep,{value:"overview",children:X.jsx(Ct,{children:"Overview"})}),X.jsx(Ep,{value:"analytics",disabled:!0,children:X.jsx(Ct,{children:"Analytics"})}),X.jsx(Ep,{value:"reports",disabled:!0,children:X.jsx(Ct,{children:"Reports"})}),X.jsx(Ep,{value:"notifications",disabled:!0,children:X.jsx(Ct,{children:"Notifications"})})]}),X.jsxs(C8,{flexShrink:0,flexDirection:"column",value:"overview",gap:16,children:[X.jsxs(Bt,{flexShrink:0,flexDirection:"column",gap:16,lg:{flexDirection:"row"},children:[X.jsxs(Bt,{flexGrow:1,gap:16,flexDirection:"row",children:[X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexShrink:0,flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Total Revenue"})}),X.jsx(u8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"$45,231.89"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+20.1% from last month"})]})]}),X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,flexShrink:0,gap:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Subscriptions"})}),X.jsx(h8,{height:16,width:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+2350"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+180.1% from last month"})]})]})]}),X.jsxs(Bt,{flexGrow:1,gap:16,flexDirection:"row",children:[X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:2,gap:0,flexShrink:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Sales"})}),X.jsx(l8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+12,234"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+19% from last month"})]})]}),X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:2,gap:0,flexShrink:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Active Now"})}),X.jsx(e8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+573"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+201 since last hour"})]})]})]})]}),X.jsxs(Bt,{flexShrink:0,lg:{flexDirection:"row"},flexDirection:"column",gap:16,children:[X.jsxs(Nc,{flexDirection:"column",lg:{flexGrow:4},flexBasis:0,children:[X.jsx(Uc,{children:X.jsx(kc,{children:X.jsx(Ct,{children:"Overview"})})}),X.jsx(Fc,{flexShrink:0,paddingLeft:8,children:X.jsx(A6,{})})]}),X.jsxs(Nc,{flexDirection:"column",lg:{flexGrow:3},flexBasis:0,children:[X.jsxs(Uc,{children:[X.jsx(kc,{children:X.jsx(Ct,{children:"Recent Sales"})}),X.jsx(E8,{children:X.jsx(Ct,{children:"You made 265 sales this month."})})]}),X.jsx(Fc,{flexDirection:"column",children:X.jsx(h6,{})})]})]})]})]})]})]})}KQ(document.getElementById("root")).render(X.jsx($.StrictMode,{children:X.jsx(m6,{})})); + `)}function Wl(n,e,t,i,r){const s=new Zt(hB);return s.matrixAutoUpdate=!1,s.raycast=Pu(s,nT(s),e.object,t,n),s.visible=!1,r.push(()=>et(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class Wz extends Zt{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new Zn;boundingSphere=new Yn;constructor(e,t,i){const r=tT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=Gz,this.customDistanceMaterial=zz}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Yl(n){const e=Ft(n,"panelMaterialClass",tr),t=Ft(n,"castShadow",!1),i=Ft(n,"receiveShadow",!1);return Wt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const Em={panelMaterialClass:tr,castShadow:!1,receiveShadow:!1};class Yz{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=Em){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);return a==null&&s.set(o,a=new Jz(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{elementType:ni.Panel,majorIndex:e,minorIndex:0},i,r)),a}}class Jz{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{cI(this.instanceMatrix,e,t,i),cI(this.instanceData,e,t,i),cI(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a,l,A){this.renderOrder=e,this.object=i,this.pixelSize=s,this.root=o,this.orderInfo=a,this.meshReceiveShadow=l,this.meshCastShadow=A,this.instanceMaterial=sT(r,{type:"instanced"}),this.instanceMaterial.depthTest=t}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,t){if(this.elementCount+=1,!sz(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!oz(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),az(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),rz(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new hr(t,16,!1),this.instanceMatrix.setUsage(na);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new hr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(na);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new hr(r,16,!1),this.instanceClipping.setUsage(na),this.mesh=new Wz(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,zl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function cI(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function Ls(n,e,t,i,r,s,o,a,l,A,h,d){return d.push(et(()=>{if(e.value==null)return;const f=[],g=i.getGroup(e.value.majorIndex,t?.value);return new Kz(n,g,e.value.minorIndex,r,s,o,a,l,A,h,f),()=>gr(f)})),d}const fp=new ct,Xz=new ct;class Kz{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,d){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const f=h.setters;lB(e,this.active,h.hasProperty,(E,C)=>{const I=this.getIndexInBuffer();if(I==null)return;const{instanceData:p,instanceDataOnUpdate:y}=this.group;f[E](p.array,p.itemSize*I,C,s,y)},d);const g=h.computedIsVisibile(e,a,s,A);d.push(et(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(et(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(fp.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;fp.premultiply(Xz.makeTranslation(A*a,h*a,0))}fp.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;fp.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),et(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(yg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new ct().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Cm(n,e,t,i){return i.push(()=>et(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function dB(n,e){return Wt(()=>{const[t,i]=e?.value??[!1,!1],[r,s]=n.value;return[t||r,i||s]})}function vm(n,e,{scrollable:t,maxScrollPosition:i},r,s,o,a,l){const A=Wt(()=>t.value?.some(E=>E)??!1),h=new Map,d=new ve,f=(E,C,I,p,y)=>{if(n.value==null)return;const[v,S]=E==null?[!1,!1]:qz(E.nativeEvent);v&&(C=0),S&&(I=0);const[R,Q]=n.value,[D,U]=i.value;let[J,_]=n.value;const[b,j]=e?.value??[!1,!1];J=u_(R,D,C,y&&!b),_=u_(Q,U,I,y&&!j),p!=null&&p>0&&d.set(C,I).divideScalar(p),E!=null&&jz(E.nativeEvent,v||Math.min(R,(D??0)-R)>5,S||Math.min(Q,(U??0)-Q)>5),!(s.peek()?.onScroll?.(J,_,n,E)===!1||R===J&&Q===_)&&(n.value=[J,_])},g=E=>{if(h.size>0||n.value==null)return;let C=0,I=0;const[p,y]=n.value,[v,S]=i.value;C+=pC(p,0,v??0)*-.3,I+=pC(y,0,S??0)*-.3,C+=d.x*E,I+=d.y*E,d.multiplyScalar(.9),Math.abs(d.x)<.01&&(d.x=0),Math.abs(d.y)<.01&&(d.y=0),!(C===0&&I===0)&&f(void 0,C,I,void 0,!0)};return l.push(()=>et(()=>{if(A.value)return a.add(g),()=>a.delete(g)})),Wt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:C})=>{let I=h.get(E.pointerId);I==null&&h.set(E.pointerId,I={timestamp:0,point:new F}),I.timestamp=performance.now()/1e3,r.current.worldToLocal(I.point.copy(C))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const C=h.get(E.nativeEvent.pointerId);if(C==null)return;r.current.worldToLocal(AI.copy(E.point)),uI.copy(AI).sub(C.point).divideScalar(o.peek());const I=performance.now()/1e3,p=I-C.timestamp;C.point.copy(AI),C.timestamp=I,!E.defaultPrevented&&f(E,-uI.x,uI.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:C}=E;f(E,C.deltaX,C.deltaY,void 0,!1)}}})}const AT=Symbol("was-scrolled");function qz(n){return n[AT]??[!1,!1]}function jz(n,e,t){n[AT]=[e,t]}function u_(n,e,t,i){if(t===0)return n;const r=pC(n,0,e??0);A_(t)===A_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:AB(s,0,e??0)}function A_(n){return n>=0}function pC(n,e,t){return nt?n-t:0}const Zz=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function Bm(n,e,t,i,r,s,o,a,l){const A=Ei(void 0,ni.Panel,Em,o),h=Ft(n,"scrollbarWidth",10),d=fB(n,Zz);d_(n,0,e,t,i,r,s,A,a,h,d,l),d_(n,1,e,t,i,r,s,A,a,h,d,l)}let h_;function $z(){return h_??=nd({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),h_}function d_(n,e,t,i,r,s,o,a,l,A,h,d){const f=Wt(()=>e5(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Wt(()=>f.value?.slice(0,2)??[0,0]),E=Wt(()=>f.value?.slice(2,4)??[0,0]);d.push(C=>Ls(n,a,void 0,l,r,E,g,h,o,s,$z(),C))}function e5(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),d=A-h,f=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-d*AB(f/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function t5(n,e,t,i,r){let s=!1;if(gm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};_l("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),_l("onPointerUp",n,o),_l("onPointerLeave",n,o)}function vo(n){return{active:id(()=>n.value.length>0)}}function La(n,e){return Wt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function hT(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ti)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(et(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function ba(n,e,t,i,r,s){s.push(o=>{const a=new zD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(et(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const f_=new Map,xm={keepAspectRatio:(n,e)=>{let t=f_.get(n);t==null&&f_.set(n,t=Wt(()=>Fr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Bo(n,e,t,i,r,s,o){return Wt(()=>{const a={};return n5(a,s?.value),b5(a,n.value,e.value,t.value,i,o),t5(a,n.value,e.value,t.value,r),a})}function n5(n,e){for(const t in e)_l(t,n,e[t])}function _l(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function xo(n,e,t,i,r,s){return Wt(()=>{const o=new VG(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const p_=new qe;function dT(n,e,t,i){const r=Ft(n,"color",void 0),s=Ft(n,"opacity",1);t.push(()=>et(()=>{let o;Array.isArray(r.value)?o=p_.setRGB(...r.value):r.value!=null&&(o=p_.set(r.value)),Fr(e)?.traverse(a=>{if(!(a instanceof Zt))return;a.renderOrder=i.renderOrder.value;const l=a.material;l.color.copy(o??a.userData.color),l.opacity=s.value,l.depthTest=i.depthTest.value})}))}const i5=.01,g_=new F,pp=new rn,gp=nt(new ct);function r5(n,e,t,i,r,s,o,a,l){const A=nt([0,0]),h=nt([]),d=nt([]),f=[];wo(h,f);const g=xo(e,t,i,{...yo,...Co(A),..._o(h),...vo(d)},{...m_(n,"sizeX","width"),...m_(n,"sizeY","height")}),E=Ft(g,"renderOrder",0),C=Ft(g,"depthTest",!0),I=nt(void 0),p=s5(l,I,f),y=go();f.push(ae=>{const re=new zD(y,g,p,r,ae);return I.value=re,ae});const v=Eo(g,y,n),S=c5(g,v,y.size,n);Io(r,S,f);const R=Yl(g),Q=Ei(void 0,ni.Panel,R,void 0),D={cameraDistance:0,onFrameSet:l},U=new Yz(E,C,n,D,r,f),J=()=>{if(r.current==null){D.cameraDistance=0;return}pp.normal.set(0,0,1),pp.constant=0,pp.applyMatrix4(r.current.matrixWorld),g_.setFromMatrixPosition(o().matrixWorld),D.cameraDistance=pp.distanceToPoint(g_)};f.push(()=>(l.add(J),()=>l.delete(J))),f.push(ae=>Ls(g,Q,R,U,gp,y.size,void 0,y.borderInset,void 0,void 0,Vl(),ae));const _=Im();Cm(s,_,n,f);const b=ym(_,gp,n);Bm(g,_,y,gp,void 0,void 0,Q,U,f);const j=vm(_,void 0,y,r,t,n,l,f);mo(e,t,y.size,f);const de=new Dz(E,C,n,D,r,f),Y=Object.assign(D,{requestCalculateLayout:p,cameraDistance:0,gylphGroupManager:de,object:r,panelGroupManager:U,pixelSize:n,renderOrder:E,depthTest:C,renderer:a,size:y.size});return Object.assign(y,{anyAncestorScrollable:y.scrollable,clippingRect:mm(gp,y,n,void 0),childrenMatrix:b,node:I,orderInfo:Q,initializers:f,interactionPanel:Wl(Q,Y,void 0,y.size,f),handlers:Bo(e,t,i,h,d,j),root:Y})}function s5(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function m_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Wt(()=>{const a=Fr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const o5=new ct,a5="center",l5="center";function c5(n,e,t,i){const r=Ft(n,"anchorX",a5),s=Ft(n,"anchorY",l5);return Wt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(o5.makeTranslation(pT[r.value]*o*i.value,gT[s.value]*a*i.value,0))})}function u5(n,e,t,i,r,s){const o=nt(void 0),a=go(),l=nt([]),A=nt([]),h=[];wo(l,h);const d=xo(e,t,i,{...yo,...Co(n.root.size),..._o(l),...vo(A)});ba(o,a,n,d,r,h);const f=Eo(d,a,n.root.pixelSize);Io(r,f,h);const g=La(n.childrenMatrix,f),E=Ta(n.clippingRect,g,a.size,n.root.pixelSize),C=Yl(d),I=Ei(d,ni.Panel,C,n.orderInfo);h.push(S=>Ls(d,I,C,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Vl(),S));const p=Im();Cm(s,p,n.root.pixelSize,h);const y=ym(p,g,n.root.pixelSize);Bm(d,p,a,g,E,n.clippingRect,I,n.root.panelGroupManager,h);const v=vm(p,n.anyAncestorScrollable,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return mo(e,t,a.size,h),Da(e,t,E,h),Object.assign(a,{anyAncestorScrollable:dB(a.scrollable,n.anyAncestorScrollable),clippingRect:mm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:I,root:n.root,scrollPosition:p,interactionPanel:Wl(I,n.root,n.clippingRect,a.size,h),handlers:Bo(e,t,i,l,A,v),initializers:h})}const A5="fill";function h5(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);wo(A,a);const d=Wt(()=>Fr(e.value));hT(l,g5,a,d);const f=Wt(()=>{const U=l.value;if(U==null)return;const J=U.source.data;return J.width/J.height}),g=xo(t,i,r,{...yo,...Co(n.root.size),..._o(A),...vo(h)},xm,U=>U.add("aspectRatio",f)),E=nt(void 0),C=go();ba(E,C,n,g,s,a);const I=Eo(g,C,n.root.pixelSize);Io(s,I,a);const p=La(n.childrenMatrix,I),y=Ta(n.clippingRect,p,C.size,n.root.pixelSize),v=Wt(()=>y.value||l.value==null),S=Ei(g,ni.Image,void 0,n.orderInfo),R=Im();Cm(o,R,n.root.pixelSize,a);const Q=ym(R,p,n.root.pixelSize);Bm(g,R,C,p,y,n.clippingRect,S,n.root.panelGroupManager,a);const D=vm(R,n.anyAncestorScrollable,C,s,i,n.root.pixelSize,n.root.onFrameSet,a);return mo(t,i,C.size,a),Da(t,i,y,a),Object.assign(C,{anyAncestorScrollable:dB(C.scrollable,n.anyAncestorScrollable),initializers:a,handlers:Bo(t,i,r,A,h,D),interactionPanel:d5(g,l,n,C,S,n.root,v,a),clippingRect:mm(p,C,n.root.pixelSize,n.clippingRect),childrenMatrix:Q,node:E,orderInfo:S,root:n.root})}let E_;function fT(){return E_??=nd({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),E_}function d5(n,e,t,i,r,s,o,a){const l=new Zt(hB);l.matrixAutoUpdate=!1;const A=td(s,t.clippingRect,a),h=fT().computedIsVisibile(n,i.borderInset,i.size,o);return m5(n,l,i.size,i.borderInset,h,A,s,a),l.raycast=Pu(l,nT(l),s.object,t.clippingRect,r),zl(l,s,r),f5(n,e,i.borderInset,i.size,a),a.push(()=>et(()=>l.visible=h.value)),a.push(()=>et(()=>{const d=e.value??null;l.material.map!==d&&(l.material.map=d,l.material.needsUpdate=!0)}),()=>et(()=>{if(i.size.value==null)return;const[d,f]=i.size.value,g=t.root.pixelSize.value;l.scale.set(d*g,f*g,1),l.updateMatrix()})),l}function f5(n,e,t,i,r){const s=Ft(n,"fit",A5);r.push(()=>et(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){I_(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,d]=i.value,[f,g,E,C]=t.value,I=(h-C-g)/(d-f-E);A>I?o.matrix.translate(-(.5*(I-A))/I,0).scale(I/A,1):o.matrix.translate(0,-(.5*(A-I))/A).scale(1,A/I),I_(t,i,o)}))}function I_(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const p5=new hm;async function g5(n){if(n==null)return Promise.resolve(void 0);if(n instanceof xn)return Promise.resolve(n);try{const e=await p5.loadAsync(n);return e.colorSpace=Pn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function m5(n,e,t,i,r,s,o,a){const l=new Float32Array(16),A={data:l,type:"normal"};e.customDepthMaterial=new aT(A),e.customDistanceMaterial=new oT(A),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const h=Ft(n,"panelMaterialClass",tr);a.push(E=>(E.push(et(()=>{const C=sT(h.value,A);return C.clippingPlanes=s,e.material=C,et(()=>C.depthTest=o.depthTest.value)}),et(()=>e.renderOrder=o.renderOrder.value),et(()=>e.castShadow=n.value.read("castShadow",!1)),et(()=>e.receiveShadow=n.value.read("receiveShadow",!1))),E));const d=fT(),f=[];a.push(()=>et(()=>{if(r.value)return l.set(d.defaultData),f.push(et(()=>t.value!=null&&l.set(t.value,13)),et(()=>i.value!=null&&l.set(i.value,0))),()=>gr(f)}));const g=d.setters;a.push(E=>(lB(n,r,d.hasProperty,(C,I)=>g[C](l,0,I,t,void 0),E),E))}function E5(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];wo(a,A);const h=xo(i,r,s,{...yo,...Co(n.root.size),..._o(a),...vo(l)}),d=nt(void 0),f=go();ba(d,f,n,h,o,A);const g=Eo(h,f,n.root.pixelSize);Io(o,g,A);const E=La(n.childrenMatrix,g),C=Ta(n.clippingRect,E,f.size,n.root.pixelSize),I=Yl(h),p=Ei(h,ni.Panel,I,n.orderInfo);A.push(R=>Ls(h,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Vl(),R));const y=jD(h,t,n.root.renderer,A),v=Ei(void 0,ni.Text,$D(y),p),S=eT(h,e,E,d,f,C,n.clippingRect,v,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>et(()=>d.value?.setMeasureFunc(S))),mo(i,r,f.size,A),Da(i,r,C,A),Object.assign(f,{interactionPanel:Wl(p,n.root,n.clippingRect,f.size,A),handlers:Bo(i,r,s,a,l),initializers:A})}const I5=Pn;class Nu extends Wi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Rs(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(V,G){if(V.nodeType!==1)return;const O=S(V);let P=!1,Ee=null;switch(V.nodeName){case"svg":G=E(V,G);break;case"style":s(V);break;case"g":G=E(V,G);break;case"path":G=E(V,G),V.hasAttribute("d")&&(Ee=r(V));break;case"rect":G=E(V,G),Ee=l(V);break;case"polygon":G=E(V,G),Ee=A(V);break;case"polyline":G=E(V,G),Ee=h(V);break;case"circle":G=E(V,G),Ee=d(V);break;case"ellipse":G=E(V,G),Ee=f(V);break;case"line":G=E(V,G),Ee=g(V);break;case"defs":P=!0;break;case"use":G=E(V,G);const Se=(V.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),H=V.viewportElement.getElementById(Se);H?i(H,G):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(G.fill!==void 0&&G.fill!=="none"&&Ee.color.setStyle(G.fill,I5),Q(Ee,Ae),j.push(Ee),Ee.userData={node:V,style:G});const Be=V.childNodes;for(let pe=0;pe0?Ae.copy(Y[Y.length-1]):Ae.identity())}function r(V){const G=new Xo,O=new ve,P=new ve,Ee=new ve;let Be=!0,pe=!1;const Se=V.getAttribute("d");if(Se===""||Se==="none")return null;const H=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=H.length;me0&&(O.copy(Ee),G.currentPath.currentPoint.copy(O),Be=!0);break;default:console.warn(ue)}pe=!1}return G}function s(V){if(!(!V.sheet||!V.sheet.cssRules||!V.sheet.cssRules.length))for(let G=0;GEe.trim());for(let Ee=0;Eepe!==""));de[P[Ee]]=Object.assign(de[P[Ee]]||{},Be)}}}function o(V,G,O,P,Ee,Be,pe,Se){if(G==0||O==0){V.lineTo(Se.x,Se.y);return}P=P*Math.PI/180,G=Math.abs(G),O=Math.abs(O);const H=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,te=Math.cos(P)*H+Math.sin(P)*me,ue=-Math.sin(P)*H+Math.cos(P)*me;let le=G*G,De=O*O;const q=te*te,w=ue*ue,T=q/le+w/De;if(T>1){const be=Math.sqrt(T);G=be*G,O=be*O,le=G*G,De=O*O}const ie=le*w+De*q,Le=(le*De-ie)/ie;let Te=Math.sqrt(Math.max(0,Le));Ee===Be&&(Te=-Te);const Re=Te*G*ue/O,Je=-Te*O*te/G,Ve=Math.cos(P)*Re-Math.sin(P)*Je+(pe.x+Se.x)/2,je=Math.sin(P)*Re+Math.cos(P)*Je+(pe.y+Se.y)/2,lt=a(1,0,(te-Re)/G,(ue-Je)/O),mt=a((te-Re)/G,(ue-Je)/O,(-te-Re)/G,(-ue-Je)/O)%(Math.PI*2);V.currentPath.absellipse(Ve,je,G,O,lt,lt+mt,Be===0,P)}function a(V,G,O,P){const Ee=V*O+G*P,Be=Math.sqrt(V*V+G*G)*Math.sqrt(O*O+P*P);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return V*P-G*O<0&&(pe=-pe),pe}function l(V){const G=v(V.getAttribute("x")||0),O=v(V.getAttribute("y")||0),P=v(V.getAttribute("rx")||V.getAttribute("ry")||0),Ee=v(V.getAttribute("ry")||V.getAttribute("rx")||0),Be=v(V.getAttribute("width")),pe=v(V.getAttribute("height")),Se=1-.551915024494,H=new Xo;return H.moveTo(G+P,O),H.lineTo(G+Be-P,O),(P!==0||Ee!==0)&&H.bezierCurveTo(G+Be-P*Se,O,G+Be,O+Ee*Se,G+Be,O+Ee),H.lineTo(G+Be,O+pe-Ee),(P!==0||Ee!==0)&&H.bezierCurveTo(G+Be,O+pe-Ee*Se,G+Be-P*Se,O+pe,G+Be-P,O+pe),H.lineTo(G+P,O+pe),(P!==0||Ee!==0)&&H.bezierCurveTo(G+P*Se,O+pe,G,O+pe-Ee*Se,G,O+pe-Ee),H.lineTo(G,O+Ee),(P!==0||Ee!==0)&&H.bezierCurveTo(G,O+Ee*Se,G+P*Se,O,G+P,O),H}function A(V){function G(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?P.moveTo(H,me):P.lineTo(H,me),Ee++}const O=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,P=new Xo;let Ee=0;return V.getAttribute("points").replace(O,G),P.currentPath.autoClose=!0,P}function h(V){function G(Be,pe,Se){const H=v(pe),me=v(Se);Ee===0?P.moveTo(H,me):P.lineTo(H,me),Ee++}const O=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,P=new Xo;let Ee=0;return V.getAttribute("points").replace(O,G),P.currentPath.autoClose=!1,P}function d(V){const G=v(V.getAttribute("cx")||0),O=v(V.getAttribute("cy")||0),P=v(V.getAttribute("r")||0),Ee=new fa;Ee.absarc(G,O,P,0,Math.PI*2);const Be=new Xo;return Be.subPaths.push(Ee),Be}function f(V){const G=v(V.getAttribute("cx")||0),O=v(V.getAttribute("cy")||0),P=v(V.getAttribute("rx")||0),Ee=v(V.getAttribute("ry")||0),Be=new fa;Be.absellipse(G,O,P,Ee,0,Math.PI*2);const pe=new Xo;return pe.subPaths.push(Be),pe}function g(V){const G=v(V.getAttribute("x1")||0),O=v(V.getAttribute("y1")||0),P=v(V.getAttribute("x2")||0),Ee=v(V.getAttribute("y2")||0),Be=new Xo;return Be.moveTo(G,O),Be.lineTo(P,Ee),Be.currentPath.autoClose=!1,Be}function E(V,G){G=Object.assign({},G);let O={};if(V.hasAttribute("class")){const pe=V.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&G.premultiply(Y[Y.length-1]),Ae.copy(G),Y.push(G),G}function R(V){const G=new Qt,O=ae;if(V.nodeName==="use"&&(V.hasAttribute("x")||V.hasAttribute("y"))){const P=v(V.getAttribute("x")),Ee=v(V.getAttribute("y"));G.translate(P,Ee)}if(V.hasAttribute("transform")){const P=V.getAttribute("transform").split(")");for(let Ee=P.length-1;Ee>=0;Ee--){const Be=P[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),Se=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),O.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,le=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],le=me[2]),re.makeTranslation(-ue,-le),fe.makeRotation(te),k.multiplyMatrices(fe,re),re.makeTranslation(ue,le),O.multiplyMatrices(re,k)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),O.scale(te,ue)}break;case"skewX":me.length===1&&O.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&O.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&O.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}G.premultiply(O)}}return G}function Q(V,G){function O(pe){ne.set(pe.x,pe.y,1).applyMatrix3(G),pe.set(ne.x,ne.y)}function P(pe){const Se=pe.xRadius,H=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new F(Se*me,Se*te,0),le=new F(-H*te,H*me,0),De=ue.applyMatrix3(G),q=le.applyMatrix3(G),w=ae.set(De.x,q.x,0,De.y,q.y,0,0,0,1),T=re.copy(w).invert(),Te=fe.copy(T).transpose().multiply(T).elements,Re=b(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:gt,y:at}=new F(Math.cos(Mt),Math.sin(Mt),0).applyMatrix3(be);return Math.atan2(at,gt)};pe.aStartAngle=Pt(pe.aStartAngle),pe.aEndAngle=Pt(pe.aEndAngle),D(G)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=J(G),H=_(G);pe.xRadius*=Se,pe.yRadius*=H;const me=Se>Number.EPSILON?Math.atan2(G.elements[1],G.elements[0]):Math.atan2(-G.elements[3],G.elements[4]);pe.aRotation+=me,D(G)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=V.subPaths;for(let pe=0,Se=Be.length;peNumber.EPSILON}function J(V){const G=V.elements;return Math.sqrt(G[0]*G[0]+G[1]*G[1])}function _(V){const G=V.elements;return Math.sqrt(G[3]*G[3]+G[4]*G[4])}function b(V,G,O){let P,Ee,Be,pe,Se;const H=V+O,me=V-O,te=Math.sqrt(me*me+4*G*G);return H>0?(P=.5*(H+te),Se=1/P,Ee=V*Se*O-G*Se*G):H<0?Ee=.5*(H-te):(P=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(G)?(Se=-2*G/Be,pe=1/Math.sqrt(1+Se*Se),Be=Se*pe):Math.abs(G)===0?(Be=1,pe=0):(Se=-.5*Be/G,Be=1/Math.sqrt(1+Se*Se),pe=Se*Be),me>0&&(Se=Be,Be=-pe,pe=Se),{rt1:P,rt2:Ee,cs:Be,sn:pe}}const j=[],de={},Y=[],ae=new Qt,re=new Qt,fe=new Qt,k=new Qt,$=new ve,ne=new F,Ae=new Qt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:j,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(C,I,p,y){const v=C.x,S=I.x,R=p.x,Q=y.x,D=C.y,U=I.y,J=p.y,_=y.y,b=(Q-R)*(D-J)-(_-J)*(v-R),j=(S-v)*(D-J)-(U-D)*(v-R),de=(_-J)*(S-v)-(Q-R)*(U-D),Y=b/de,ae=j/de;if(de===0&&b!==0||Y<=0||Y>=1||ae<0||ae>1)return null;if(b===0&&de===0){for(let re=0;re<2;re++)if(o(re===0?p:y,C,I),r.loc==i.ORIGIN){const fe=re===0?p:y;return{x:fe.x,y:fe.y,t:r.t}}else if(r.loc==i.BETWEEN){const fe=+(v+r.t*(S-v)).toPrecision(10),k=+(D+r.t*(U-D)).toPrecision(10);return{x:fe,y:k,t:r.t}}return null}else{for(let k=0;k<2;k++)if(o(k===0?p:y,C,I),r.loc==i.ORIGIN){const $=k===0?p:y;return{x:$.x,y:$.y,t:r.t}}const re=+(v+Y*(S-v)).toPrecision(10),fe=+(D+Y*(U-D)).toPrecision(10);return{x:re,y:fe,t:Y}}}function o(C,I,p){const y=p.x-I.x,v=p.y-I.y,S=C.x-I.x,R=C.y-I.y,Q=y*R-S*v;if(C.x===I.x&&C.y===I.y){r.loc=i.ORIGIN,r.t=0;return}if(C.x===p.x&&C.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(Q<-Number.EPSILON){r.loc=i.LEFT;return}if(Q>Number.EPSILON){r.loc=i.RIGHT;return}if(y*S<0||v*R<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+v*v)_.t<=J.t+Number.EPSILON&&_.t>=J.t-Number.EPSILON)===void 0&&(p.push(J),y.push(new ve(J.x,J.y)))}}return y}function l(C,I,p){const y=new ve;I.getCenter(y);const v=[];return p.forEach(S=>{S.boundingBox.containsPoint(y)&&a(C,S.points).forEach(Q=>{v.push({identifier:S.identifier,isCW:S.isCW,point:Q})})}),v.sort((S,R)=>S.point.x-R.point.x),v}function A(C,I,p,y,v){(v==null||v==="")&&(v="nonzero");const S=new ve;C.boundingBox.getCenter(S);const R=[new ve(p,S.y),new ve(y,S.y)],Q=l(R,C.boundingBox,I);Q.sort((j,de)=>j.point.x-de.point.x);const D=[],U=[];Q.forEach(j=>{j.identifier===C.identifier?D.push(j):U.push(j)});const J=D[0].point.x,_=[];let b=0;for(;b0&&_[_.length-1]===U[b].identifier?_.pop():_.push(U[b].identifier),b++;if(_.push(C.identifier),v==="evenodd"){const j=_.length%2===0,de=_[_.length-2];return{identifier:C.identifier,isHole:j,for:de}}else if(v==="nonzero"){let j=!0,de=null,Y=null;for(let ae=0;ae<_.length;ae++){const re=_[ae];j?(Y=I[re].isCW,j=!1,de=re):Y!==I[re].isCW&&(Y=I[re].isCW,j=!0)}return{identifier:C.identifier,isHole:j,for:de}}else console.warn('fill-rule: "'+v+'" is currently not implemented.')}let h=999999999,d=-999999999,f=e.subPaths.map(C=>{const I=C.getPoints();let p=-999999999,y=999999999,v=-999999999,S=999999999;for(let R=0;Rp&&(p=Q.y),Q.yv&&(v=Q.x),Q.x=S&&(h=S-1),{curves:C.curves,points:I,isCW:es.isClockWise(I),identifier:-1,boundingBox:new oD(new ve(S,y),new ve(v,p))}});f=f.filter(C=>C.points.length>1);for(let C=0;CA(C,f,h,d,e.userData?e.userData.style.fillRule:void 0)),E=[];return f.forEach(C=>{if(!g[C.identifier].isHole){const p=new pa;p.curves=C.curves,g.filter(v=>v.isHole&&v.for===C.identifier).forEach(v=>{const S=f[v.identifier],R=new fa;R.curves=S.curves,p.holes.push(R)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Nu.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new bt;return l.setAttribute("position",new ot(s,3)),l.setAttribute("normal",new ot(o,3)),l.setAttribute("uv",new ot(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,h=new ve,d=new ve,f=new ve,g=new ve,E=new ve,C=new ve,I=new ve,p=new ve,y=new ve,v=new ve,S=new ve,R=new ve,Q=new ve,D=new ve,U=new ve,J=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const b=e[0].equals(e[_-1]);let j,de=e[0],Y;const ae=t.strokeWidth/2,re=1/(_-1);let fe=0,k,$,ne,Ae,_e=!1,ke=0,V=l*3,G=l*2;O(e[0],e[1],A).multiplyScalar(ae),I.copy(e[0]).sub(A),p.copy(e[0]).add(A),y.copy(I),v.copy(p);for(let te=1;te<_;te++){j=e[te],te===_-1?b?Y=e[1]:Y=void 0:Y=e[te+1];const ue=A;if(O(de,j,ue),d.copy(ue).multiplyScalar(ae),S.copy(j).sub(d),R.copy(j).add(d),k=fe+re,$=!1,Y!==void 0){O(j,Y,h),d.copy(h).multiplyScalar(ae),Q.copy(j).sub(d),D.copy(j).add(d),ne=!0,d.subVectors(Y,de),ue.dot(d)<0&&(ne=!1),te===1&&(_e=ne),d.subVectors(Y,j),d.normalize();const le=Math.abs(ue.dot(d));if(le>Number.EPSILON){const De=ae/le;d.multiplyScalar(-De),f.subVectors(j,de),g.copy(f).setLength(De).add(d),U.copy(g).negate();const q=g.length(),w=f.length();f.divideScalar(w),E.subVectors(Y,j);const T=E.length();switch(E.divideScalar(T),f.dot(U)=r&&le.push(te[De]);return le.push(te[te.length-1]),le}}}function y5(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);wo(l,a);const h=nt(void 0),d=xo(t,i,r,{...yo,...Co(n.root.size),..._o(l),...vo(A)},xm,b=>b.add("aspectRatio",h)),f=nt(void 0),g=go();ba(f,g,n,d,s,a);const E=Eo(d,g,n.root.pixelSize);Io(s,E,a);const C=La(n.childrenMatrix,E),I=Ta(n.clippingRect,C,g.size,n.root.pixelSize),p=Yl(d),y=Ei(d,ni.Panel,p,n.orderInfo);a.push(b=>Ls(d,y,p,n.root.panelGroupManager,C,g.size,void 0,g.borderInset,n.clippingRect,I,Vl(),b));const v=Ei(void 0,ni.Svg,void 0,y),S=Wt(()=>Fr(e.value)),R=nt(void 0),Q=td(n.root,n.clippingRect,a);hT(R,B5,a,S,n.root,Q,n.clippingRect,v,h),dT(d,R,a,n.root);const D=C5(g,n.root.pixelSize,R,h,I,a),U=Im();Cm(o,U,n.root.pixelSize,a);const J=ym(U,C,n.root.pixelSize);Bm(d,U,g,C,I,n.clippingRect,v,n.root.panelGroupManager,a);const _=vm(U,n.anyAncestorScrollable,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return mo(t,i,g.size,a),Da(t,i,I,a),Object.assign(g,{anyAncestorScrollable:dB(g.scrollable,n.anyAncestorScrollable),clippingRect:mm(C,g,n.root.pixelSize,n.clippingRect),childrenMatrix:J,node:f,orderInfo:v,root:n.root,initializers:a,centerGroup:D,handlers:Bo(t,i,r,l,A,_),interactionPanel:Wl(v,n.root,n.clippingRect,g.size,a)})}function C5(n,e,t,i,r,s){const o=new ro;return o.matrixAutoUpdate=!1,s.push(()=>et(()=>{mT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>et(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>et(()=>void(o.visible=t.value!=null&&!r.value))),o}const v5=new Nu,mp=new Zn,il=new F;async function B5(n,e,t,i,r,s){const o=new ro;o.matrixAutoUpdate=!1;const a=await v5.loadAsync(n);mp.makeEmpty();for(const A of a.paths){const h=Nu.createShapes(A),d=new tr;d.transparent=!0,d.depthWrite=!1,d.toneMapped=!1,d.clippingPlanes=t;for(const f of h){const g=new Tu(f);g.computeBoundingBox(),mp.union(g.boundingBox);const E=new Zt(g,d);E.matrixAutoUpdate=!1,E.raycast=Pu(E,E.raycast,e.object,i,r),zl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}mp.getSize(il),s.value=il.x/il.y;const l=1/il.y;return o.scale.set(1,1,1).multiplyScalar(l),mp.getCenter(il),il.y*=-1,o.position.copy(il).negate().multiplyScalar(l),o.updateMatrix(),o}function x5(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);wo(A,l);const d=xo(r,s,o,{...yo,...Co(n.root.size),..._o(A),...vo(h)},xm,R=>{R.add("aspectRatio",t/i),R.add("width",t),R.add("height",i)}),f=go();ba(void 0,f,n,d,a,l);const g=Eo(d,f,n.root.pixelSize);Io(a,g,l);const E=La(n.childrenMatrix,g),C=Ta(n.clippingRect,E,f.size,n.root.pixelSize),I=Yl(d),p=Ei(d,ni.Panel,I,n.orderInfo);l.push(R=>Ls(d,p,I,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,C,Vl(),R));const y=Ei(void 0,ni.Svg,void 0,p),v=td(n.root,n.clippingRect,l),S=w5(d,e,t,i,n,y,f,C,v,l);return mo(r,s,f.size,l),Da(r,s,C,l),Object.assign(f,{initializers:l,iconGroup:S,handlers:Bo(r,s,o,A,h),interactionPanel:Wl(y,n.root,n.clippingRect,f.size,l)})}const S5=new Nu;function w5(n,e,t,i,r,s,o,a,l,A){const h=new ro;h.matrixAutoUpdate=!1;const d=S5.parse(e);for(const g of d.paths){const E=Nu.createShapes(g),C=new tr;C.transparent=!0,C.depthWrite=!1,C.toneMapped=!1,C.clippingPlanes=l;for(const I of E){const p=new Tu(I);p.computeBoundingBox();const y=new Zt(p,C);y.matrixAutoUpdate=!1,y.raycast=Pu(y,y.raycast,r.root.object,r.clippingRect,s),zl(y,r.root,s),y.userData.color=g.color,y.scale.y=-1,y.updateMatrix(),h.add(y)}}const f=t/i;return A.push(()=>et(()=>{mT(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,f),h.position.x-=h.scale.x*f/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>et(()=>void(h.visible=!a.value))),dT(n,h,A,r.root),h}function _5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];wo(o,l);const A=xo(e,t,i,{...yo,...Co(n.root.size),..._o(o),...vo(a)}),h=go();ba(void 0,h,n,A,r,l);const d=Eo(A,h,n.root.pixelSize);Io(r,d,l);const f=La(n.childrenMatrix,d),g=Ta(n.clippingRect,f,h.size,n.root.pixelSize),E=Ei(A,ni.Custom,void 0,n.orderInfo),C=td(n.root,n.clippingRect,l);return l.push(I=>{const p=s.current;if(p==null)return I;if(p.matrixAutoUpdate=!1,p.material instanceof ii){const y=p.material;y.clippingPlanes=C,y.needsUpdate=!0,y.shadowSide=Ur,I.push(()=>et(()=>y.depthTest=n.root.depthTest.value))}return p.raycast=Pu(p,p.raycast,n.root.object,n.clippingRect,E),zl(p,n.root,E),I.push(et(()=>p.renderOrder=n.root.renderOrder.value),et(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),et(()=>p.castShadow=A.value.read("castShadow",!1)),et(()=>{if(h.size.value==null)return;const[y,v]=h.size.value,S=n.root.pixelSize.value;p.scale.set(y*S,v*S,1),p.updateMatrix()}),et(()=>void(p.visible=!g.value))),I}),mo(e,t,h.size,l),Da(e,t,g,l),Object.assign(h,{root:n.root,handlers:Bo(e,t,i,o,a),initializers:l})}function M5(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=go();wo(o,l);const h=nt(new F(1,1,1)),d=Wt(()=>h.value.x/h.value.y),f=xo(e,t,i,{...yo,...Co(n.root.size),..._o(o),...vo(a)},xm,v=>v.add("aspectRatio",d));ba(void 0,A,n,f,r,l);const g=Eo(f,A,n.root.pixelSize);Io(r,g,l);const E=La(n.childrenMatrix,g),C=Ta(n.clippingRect,E,A.size,n.root.pixelSize),I=Yl(f),p=Ei(f,ni.Panel,I,n.orderInfo);l.push(v=>Ls(f,p,I,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,C,Vl(),v));const y=Ei(void 0,ni.Object,void 0,p);return mo(e,t,A.size,l),Da(e,t,C,l),Object.assign(A,{remeasureContent:D5(f,n.root,A,n.clippingRect,y,h,s,l),interactionPanel:Wl(p,n.root,n.clippingRect,A.size,l),handlers:Bo(e,t,i,o,a),initializers:l})}const hI=new Zn,y_=new F().setScalar(.001),Q5=new F,R5="back";function D5(n,e,t,i,r,s,o,a){const l=td(e,i,a),A=Ft(n,"depthAlign",R5),h=Ft(n,"keepAspectRatio",!0),d=new F,f=new F,g=(C,I,p)=>C?.traverse(y=>{y instanceof Zt&&(y.renderOrder=I,y.material instanceof ii&&(y.material.depthTest=p))}),E=()=>{const C=o.current;if(C==null){d.copy(y_),f.set(0,0,0);return}C.traverse(p=>{p instanceof Zt&&(zl(p,e,r),p.material.clippingPlanes=l,p.material.needsUpdate=!0,p.raycast=Pu(p,p.raycast,e.object,i,r))});const I=C.parent;C.parent=null,hI.setFromObject(C),hI.getSize(d).max(y_),s.value=d,I!=null&&(C.parent=I),hI.getCenter(f)};return a.push(()=>et(()=>g(o.current,e.renderOrder.value,e.depthTest.value)),C=>{const I=o.current;return I==null||(E(),C.push(et(()=>{const{size:{value:p},paddingInset:{value:y},borderInset:{value:v}}=t;if(p==null||y==null||v==null)return;const[S,R]=p,[Q,D,U,J]=y,[_,b,j,de]=v,Y=Q+_,ae=D+b,re=U+j,fe=J+de,k=S-fe-ae,$=R-Y-re,ne=e.pixelSize.value;I.scale.set(k*ne,$*ne,h.value?$*ne*d.z/d.y:d.z).divide(d),I.position.copy(f).negate(),I.position.z-=L5[A.value]*d.z,I.position.multiply(I.scale),I.position.add(Q5.set((fe-ae)*.5*ne,(re-Y)*.5*ne,0)),I.updateMatrix()}))),C}),()=>{g(o.current,e.renderOrder.peek(),e.depthTest.peek()),E()}}function T5(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Qu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function gr(n){const e=n.length;for(let t=0;to){e.setScalar(Q*s);return}e.setScalar(R*s/o)}function Fr(n){return n instanceof ti?n.value:n}function id(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Wt(()=>n()?Fr(s):void 0)),i.add(r,o)}}}function fB(n,e){const t=e.map(i=>Ft(n,i,0));return Wt(()=>t.map(i=>i.value))}function wo(n,e){e.push(()=>()=>ET(n))}function b5(n,e,t,i,r,s){let o=!1;gm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}_l("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&P5(r,a)}),_l("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),ET(r)})}function _o(n){return{hover:id(()=>n.value.length>0)}}const gC=[],Hp=[];function P5(n,e){gC.push(n),Hp.push(e),document.body.style.cursor=e}function ET(n){const e=gC.indexOf(n);e!=-1&&(gC.splice(e,1),Hp.splice(e,1),document.body.style.cursor=Hp[Hp.length-1]??"default")}const N5=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let C_;function U5(){return C_??=nd({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),C_}function k5(n,e,t,i,r,s,o,a){const l=Ei(void 0,ni.Panel,Em,r),A=nt(void 0);a.push(()=>et(()=>{const f=t.value;f==null&&(A.value=void 0),A.value=f;const g=setInterval(()=>A.value=A.peek()==null?f:void 0,500);return()=>clearInterval(g)}));const h=fB(n,N5),d=Ft(n,"caretWidth",1.5);a.push(f=>Ls(n,l,void 0,o,e,Wt(()=>{const g=A.value;return g==null?[0,0]:[d.value,g[2]]}),Wt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-d.value/2,g[1]]}),h,s,i,U5(),f))}const F5=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let v_;function O5(){return v_??=nd({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),v_}function H5(n,e,t,i,r,s,o,a){const l=[],A=Ei(void 0,ni.Panel,Em,r),h=fB(n,F5);return a.push(()=>et(()=>{const d=t.value,f=d.length;for(let E=0;E()=>{const d=l.length;for(let f=0;fn.value)}}const z5=new Set;function V5(n){z5.add(n)}function W5(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),d=nt(!1),f=[];wo(A,f);const g=xo(s,o,a,{...yo,...Co(n.root.size),..._o(A),...vo(h),...G5(d)},void 0,fe=>{gm(s.value,o.value,a.value,k=>{fe.add("caretOpacity",k.opacity),fe.add("caretColor",k.color)})}),E=go(),C=nt(void 0);ba(C,E,n,g,l,f);const I=Eo(g,E,n.root.pixelSize);Io(l,I,f);const p=La(n.childrenMatrix,I),y=Ta(n.clippingRect,p,E.size,n.root.pixelSize),v=Yl(g),S=Ei(g,ni.Panel,v,n.orderInfo);f.push(fe=>Ls(g,S,v,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,y,Vl(),fe));const R={},Q=nt([]),D=nt(void 0),U=nt(void 0);k5(g,p,D,y,S,n.clippingRect,n.root.panelGroupManager,f);const J=H5(g,p,Q,y,S,n.clippingRect,n.root.panelGroupManager,f),_=jD(g,r,n.root.renderer,f),b=Ei(void 0,ni.Text,$D(_),J),j=eT(g,e,p,C,E,y,n.clippingRect,b,_,n.root.gylphGroupManager,U,Q,D,R,f);f.push(()=>et(()=>C.value?.setMeasureFunc(j))),mo(s,o,E.size,f),Da(s,o,y,f);const de=Ft(g,"disabled",!1),Y=J5(e,U,t,i,de,f),ae=()=>{d.peek()||Y.peek()?.focus()};X5(Y,d,f);const re=Y5(E,Y,R,U,ae,de);return Object.assign(E,{focus:ae,root:n.root,element:Y,node:C,interactionPanel:Wl(S,n.root,n.clippingRect,E.size,f),handlers:Bo(s,o,a,A,h,re,"text"),initializers:f})}function Y5(n,e,t,i,r,s){return Wt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;V5(a.nativeEvent),a.stopPropagation?.();const l=B_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=B_(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),d=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,d)})}}})}function J5(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:d,selectionEnd:f}=l;if(d==null||f==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===d&&g[1]===f||(e.value=[d,f])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},et(()=>l.value=n.value),et(()=>l.disabled=r.value)),a}),o}function X5(n,e,t){t.push(()=>et(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function B_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,d]=o,[f,,,g]=a,E=i.x*l-d-g,C=-i.y*A+h+f;return r.getCharIndex(E,C)}new ve;const mC=Z.createContext(void 0);function K5(){return Z.useContext(mC)}function bs(n){const t={...Z.useContext(mC)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return X.jsx(mC.Provider,{value:t,children:n.children})}const x_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Mo=Z.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=Z.useState(()=>n.value);Z.useEffect(()=>et(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=Z.useMemo(()=>{const a={...r},l=x_.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=K5(),e}function Ro(n,e,t,i,r,s){Z.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:d}=i;return{setStyle:f=>t.value=f,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:d,size:h,interactionPanel:r instanceof Zt?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Bt=Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Z.useRef(null),s=Qo(n),o=Z.useMemo(()=>u5(t,s.style,s.properties,s.default,i,r),[t,s]);return Z.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[t,s,o]),Ro(e,t.root.pixelSize,s.style,o,o.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:[X.jsx("primitive",{object:o.interactionPanel}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:o,children:n.children})})]})}),q5=Z.forwardRef((n,e)=>{const t=rB(h=>h.gl);t.setTransparentSort(WG);const i=Ts(),r=Z.useRef(null),s=Z.useRef(null),o=Z.useMemo(()=>nt(void 0),[]);o.value=n.pixelSize;const a=Qo(n),l=Z.useMemo(()=>new Set,[]),A=Z.useMemo(()=>r5(Wt(()=>Fr(o.value)??i5),a.style,a.properties,a.default,r,s,()=>i.getState().camera,t,l),[]);return Z.useEffect(()=>{const h=[];return So(A.initializers,h),()=>gr(h)},[A]),$h((h,d)=>{for(const f of l)f(d)}),Ro(e,A.root.pixelSize,a.style,A,A.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:A.handlers,ref:r,children:[X.jsx("primitive",{object:A.interactionPanel}),X.jsx("object3D",{ref:s,children:X.jsx(bu,{value:A,children:n.children})})]})}),Sm=Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Z.useRef(null),s=Qo(n),o=Z.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=Z.useMemo(()=>h5(t,o,s.style,s.properties,s.default,i,r),[]);return Z.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,s.style,a,a.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:a.handlers,children:[X.jsx("primitive",{object:a.interactionPanel}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:a,children:n.children})})]})}),Ct=Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Qo(n),s=Z.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=Z.useMemo(()=>nt(void 0),[]);o.value=LD();const a=Z.useMemo(()=>E5(t,s,o,r.style,r.properties,r.default,i),[]);return Z.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,r.style,a,a.interactionPanel),X.jsx(Mo,{userHandlers:n,handlers:a.handlers,ref:i,children:X.jsx("primitive",{object:a.interactionPanel})})});Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Z.useRef(null),s=Qo(n),o=Z.useMemo(()=>nt(""),[]);o.value=n.src;const a=Z.useMemo(()=>y5(t,o,s.style,s.properties,s.default,i,r),[]);return Z.useEffect(()=>{const l=[];return So(a.initializers,l),()=>gr(l)},[a]),Ro(e,t.root.pixelSize,s.style,a,a.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:a.handlers,children:[X.jsx("primitive",{object:a.interactionPanel}),X.jsx("primitive",{object:a.centerGroup}),X.jsx("object3D",{ref:r,children:X.jsx(bu,{value:a,children:n.children})})]})});const Pa=Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Qo(n),s=Z.useMemo(()=>x5(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return Z.useEffect(()=>{const o=[];return So(s.initializers,o),()=>gr(o)},[s]),Ro(e,t.root.pixelSize,r.style,s,s.interactionPanel),X.jsxs(Mo,{userHandlers:n,ref:i,handlers:s.handlers,children:[X.jsx("primitive",{object:s.interactionPanel}),X.jsx("primitive",{object:s.iconGroup})]})});Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Qo(n),s=Z.useMemo(()=>nt(""),[]),o=Z.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=Z.useMemo(()=>Wt(()=>Fr(s.value)),[s]),l=Z.useMemo(()=>nt(void 0),[]);l.value=LD();const A=Z.useMemo(()=>W5(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return Z.useEffect(()=>{const h=[];return So(A.initializers,h),()=>gr(h)},[A]),Z.useEffect(()=>et(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),Ro(e,t.root.pixelSize,r.style,A,A.interactionPanel,Z.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),X.jsx(Mo,{userHandlers:n,handlers:A.handlers,ref:i,children:X.jsx("primitive",{object:A.interactionPanel})})});Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Z.useRef(null),s=Qo(n),o=Z.useMemo(()=>_5(t,s.style,s.properties,s.default,i,r),[]);return Z.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[o]),Ro(e,t.root.pixelSize,s.style,o,r),X.jsx(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:X.jsx(bu,{value:void 0,children:X.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:hB,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});Z.forwardRef((n,e)=>{const t=Qa(),i=Z.useRef(null),r=Z.useRef(null),s=Qo(n),o=Z.useMemo(()=>M5(t,s.style,s.properties,s.default,i,r),[]);return Z.useEffect(()=>{const a=[];return So(o.initializers,a),()=>gr(a)},[o]),Ro(e,t.root.pixelSize,s.style,o,o.interactionPanel),X.jsxs(Mo,{userHandlers:n,handlers:o.handlers,ref:i,children:[X.jsx("primitive",{object:o.interactionPanel}),X.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:X.jsx(bu,{value:void 0,children:n.children})})]})});const j5=Z.forwardRef((n,e)=>{const t=Ts(),[i,r,s]=Z.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=rB(A=>A.camera),a=n.distanceToCamera??o.near+.01;Z.useEffect(()=>{const A=({camera:h,size:{height:d}})=>PD(()=>T5(i,r,s,a,h,d));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return X.jsxs(X.Fragment,{children:[l&&X.jsx("primitive",{object:o}),MD(X.jsx("group",{"position-z":-a,children:X.jsx(q5,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});Z.forwardRef(({src:n,...e},t)=>{const i=sB(hm,n);return i.colorSpace=Pn,i.matrixAutoUpdate=!1,X.jsx(Sm,{ref:t,src:i,...e})});Z.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=Z.useMemo(()=>new kr(1,1,{minFilter:yn,magFilter:yn,type:Ll}),[]),l=Z.useRef(null),A=Z.useMemo(()=>({events:{compute:Z5.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);Z.useEffect(()=>{if(l.current==null)return;const{size:d}=l.current,f=et(()=>{if(d.value==null)return;const[g,E]=d.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{f(),a.dispose()}},[a,A]),Z.useImperativeHandle(o,()=>l.current,[]);const h=Z.useMemo(()=>new Sh,[]);return X.jsxs(X.Fragment,{children:[MD(X.jsxs($5,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,X.jsx("group",{onPointerOver:()=>null})]}),h,A),X.jsx(Sm,{src:a.texture,fit:"fill",keepAspectRatio:!1,...s,ref:l})]})});function Z5({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function $5({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Ts();Z.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return et(()=>{if(A.value==null)return;const[h,d]=A.value;s.setState({size:{width:h,height:d,top:0,left:0}})})});let o=0,a,l;return $h(A=>{(n===1/0||o{const t=Z.useMemo(()=>nt(void 0),[]),i=Z.useMemo(()=>nt(1),[]),r=Z.useMemo(()=>document.createElement("video"),[]);return Z.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,Z.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),Z.useEffect(()=>{const s=new CR(r);return t.value=s,()=>s.dispose()},[t,r]),Z.useImperativeHandle(e,()=>r,[r]),X.jsx(Sm,{aspectRatio:i,...n,src:t})});const e8='',t8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:e8,svgWidth:24,svgHeight:24})),n8='',i8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:n8,svgWidth:24,svgHeight:24})),r8='',s8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:r8,svgWidth:24,svgHeight:24})),o8='',a8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:o8,svgWidth:24,svgHeight:24})),l8='',c8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:l8,svgWidth:24,svgHeight:24})),u8='',A8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:u8,svgWidth:24,svgHeight:24})),h8='',d8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:h8,svgWidth:24,svgHeight:24})),f8='',p8=Z.forwardRef((n,e)=>X.jsx(Pa,{...n,ref:e,text:f8,svgWidth:24,svgHeight:24}));function Ht(n,e,t){return new qe().setHSL(n/360,e/100,t/100,"srgb")}const wt=uz({light:{background:Ht(0,0,100),foreground:Ht(222.2,84,4.9),card:Ht(0,0,100),cardForeground:Ht(222.2,84,4.9),popover:Ht(0,0,100),popoverForeground:Ht(222.2,84,4.9),primary:Ht(222.2,47.4,11.2),primaryForeground:Ht(210,40,98),secondary:Ht(210,40,96.1),secondaryForeground:Ht(222.2,47.4,11.2),muted:Ht(210,40,96.1),mutedForeground:Ht(215.4,16.3,46.9),accent:Ht(210,40,96.1),accentForeground:Ht(222.2,47.4,11.2),destructive:Ht(0,72.22,50.59),destructiveForeground:Ht(210,40,98),border:Ht(214.3,31.8,91.4),input:Ht(214.3,31.8,91.4),ring:Ht(222.2,84,4.9)},dark:{background:Ht(222.2,84,4.9),foreground:Ht(210,40,98),card:Ht(222.2,84,4.9),cardForeground:Ht(210,40,98),popover:Ht(222.2,84,4.9),popoverForeground:Ht(210,40,98),primary:Ht(210,40,98),primaryForeground:Ht(222.2,47.4,11.2),secondary:Ht(217.2,32.6,17.5),secondaryForeground:Ht(210,40,98),muted:Ht(217.2,32.6,17.5),mutedForeground:Ht(215,20.2,65.1),accent:Ht(217.2,32.6,17.5),accentForeground:Ht(210,40,98),destructive:Ht(0,62.8,30.6),destructiveForeground:Ht(210,40,98),border:Ht(217.2,32.6,17.5),input:Ht(217.2,32.6,17.5),ring:Ht(212.7,26.8,83.9)}});function g8(n){return X.jsx(bs,{scrollbarColor:wt.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:wt.border,color:wt.foreground,...n})}const m8={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:wt.primary},defaultProps:{color:wt.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:wt.destructive},defaultProps:{color:wt.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:wt.accent},containerProps:{border:1,borderColor:wt.input,backgroundColor:wt.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:wt.secondary},defaultProps:{color:wt.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:wt.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:wt.primary}}},E8={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Nh({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=m8[e],A=E8[t];return X.jsx(Bt,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:X.jsx(bs,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Nc({children:n,...e}){return X.jsx(Bt,{flexDirection:"column",borderRadius:8,border:1,backgroundColor:wt.card,...e,children:X.jsx(bs,{color:wt.cardForeground,children:n})})}function Uc(n){return X.jsx(Bt,{padding:24,flexDirection:"column",gap:6,...n})}function kc({children:n}){return X.jsx(bs,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:n})}function I8({children:n}){return X.jsx(bs,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:n})}function Fc(n){return X.jsx(Bt,{padding:24,paddingTop:0,...n})}const pB=Z.createContext({});function y8({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=Z.useState(t),a=Z.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return X.jsx(Bt,{flexDirection:"column",...r,children:X.jsx(pB.Provider,{value:a,children:i})})}function C8({children:n,...e}){return X.jsx(Bt,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:wt.muted,padding:4,flexShrink:0,...e,children:X.jsx(bs,{color:wt.mutedForeground,children:n})})}function Ep({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=Z.useContext(pB),o=e===s;return X.jsx(Bt,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?wt.background:void 0,paddingY:6,justifyContent:"center",...i,children:X.jsx(bs,{opacity:t?.5:void 0,color:o?wt.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function v8({value:n,...e}){const{value:t}=Z.useContext(pB);return n!=t?null:X.jsx(Bt,{marginTop:8,...e})}const IT=Z.createContext(void 0);function B8({children:n}){const[e,t]=Z.useState(void 0),i=Z.useCallback((r,s)=>t(o=>o===r?s:o),[]);return X.jsxs(X.Fragment,{children:[X.jsx(x8,{set:i,children:n}),e]})}const x8=Z.memo(({children:n,set:e})=>X.jsx(IT.Provider,{value:e,children:n})),gB=Z.createContext(void 0);function mB(){const n=Z.useContext(gB);if(n==null)throw new Error("Can only be used inside a component.");return n}function S8({children:n,open:e,onOpenChange:t,defaultOpen:i}){const[r,s]=Z.useState(i??!1),o=e??r,a=Z.useContext(IT);if(a==null)throw new Error("Can only be used inside a component.");const l=Z.useRef(void 0),A=Z.useRef(void 0);Z.useEffect(()=>{if(!o){a(A.current,void 0),A.current=void 0;return}l.current!=null&&(a(void 0,l.current),A.current=l.current)},[o,a]);const h=Z.useRef(t);h.current=t;const d=e!=null,f=Z.useMemo(()=>({setContent(g){A.current!=null&&(a(A.current,g),A.current=g),l.current=g},setOpen(g){d||s(g),h.current?.(g)}}),[d,a]);return X.jsx(gB.Provider,{value:f,children:n})}function w8({children:n}){const{setOpen:e}=mB();return X.jsx(Bt,{onClick:()=>e(!0),children:n})}function _8(n){return X.jsx(Bt,{onPointerMove:e=>e.stopPropagation(),onPointerEnter:e=>e.stopPropagation(),onPointerLeave:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),positionType:"absolute",inset:0,zIndexOffset:50,backgroundColor:"black",backgroundOpacity:.8,...n})}function M8(){const{setOpen:n}=mB();return Z.useCallback(()=>n(!1),[n])}function Q8({children:n}){const e=mB();return Z.useEffect(()=>e.setContent(X.jsx(gB.Provider,{value:e,children:n}))),null}function R8({children:n,sm:e,...t}){const i=M8();return X.jsx(Q8,{children:X.jsx(_8,{onClick:r=>{i(),r.stopPropagation()},alignItems:"center",justifyContent:"center",children:X.jsxs(Bt,{onClick:r=>r.stopPropagation(),positionType:"relative",flexDirection:"column",width:"100%",gap:16,border:1,backgroundColor:wt.background,padding:24,sm:{borderRadius:8,...e},...t,children:[n,X.jsx(p8,{color:wt.mutedForeground,onClick:i,cursor:"pointer",positionType:"absolute",zIndexOffset:50,positionRight:16,positionTop:16,borderRadius:2,opacity:.7,backgroundOpacity:.7,hover:{opacity:1,backgroundOpacity:1},width:16,height:16})]})})})}function D8({children:n,...e}){return X.jsx(Bt,{flexDirection:"column",gap:6,...e,children:X.jsx(bs,{horizontalAlign:"center",sm:{horizontalAlign:"left"},children:n})})}function T8(n){return X.jsx(Bt,{flexDirection:"column-reverse",sm:{flexDirection:"row",justifyContent:"flex-end"},gap:8,...n})}function L8({children:n}){return X.jsx(bs,{fontSize:18,lineHeight:1,letterSpacing:-.4,fontWeight:"semi-bold",children:n})}function b8({children:n}){return X.jsx(bs,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:n})}const qs=new jh,dI=new aD,S_=new rn;function P8(n,e,t,i,r){const s=[];for(const[o,a]of r){dI.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=dI.at(a.distanceOnLine/dI.distance(),new F);_m(S_,a,o);const A=N8(n,i,S_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const w_=new F,fI=new Sa;function N8(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(fI.origin.copy(r).applyMatrix4(n.matrixWorld),fI.direction.copy(s).applyMatrix4(n.matrixWorld).sub(qs.ray.origin).normalize(),fI.intersectPlane(t,w_)!=null)return w_.clone()}}const U8=new ct;function k8(n,e,t,i,r,s,o){const a=[];return rd(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let h=1;hy===C.object)!=-1)continue;const p=C.distance;C.distance+=A,a.push(Object.assign(C,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:h-1,distanceOnLine:p,pointOnFace:C.point,localPoint:C.point.clone().applyMatrix4(U8.copy(C.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const xs=new jh,hu=new F,eo=new rn,__=new Sa;function F8(n,e,t,i){hu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){__.set(n,hu),_m(eo,o,s);const a=__.intersectPlane(eo,new F)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:hu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function O8(n,e,t,i,r){xs.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(hu);const s=[];for(const[o,a]of t){eo.setFromNormalAndCoplanarPoint(hu,xs.ray.origin),eo.constant-=a.distanceViewPlane;const l=xs.ray.intersectPlane(eo,new F);if(l==null)continue;_m(eo,a,o);const A=xs.ray.intersectPlane(eo,new F)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Cg=new ct;function H8(n,e,t,i,r,s){xs.ray.origin.copy(n),xs.ray.direction.copy(s).applyQuaternion(e);const o=[];return rd(t,i.hasEventHandlers.bind(i),a=>{const l=xs.intersectObject(a,!0);for(const A of l)r&&!wm(A)||(Cg.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Cg)})))}),o.sort((a,l)=>a.distance-l.distance)}function G8(n,e,t,i,r,s,o){xs.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),eo.setFromNormalAndCoplanarPoint(n.getWorldDirection(hu),xs.ray.origin);const a=[];return rd(t,i.hasEventHandlers.bind(i),l=>{const A=xs.intersectObject(l,!0);for(const h of A)r&&!wm(h)||(Cg.copy(l.matrixWorld).invert(),a.push(Object.assign(h,{intersections:a,pointOnFace:h.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:eo.distanceToPoint(h.point),localPoint:h.point.clone().applyMatrix4(Cg)})))}),a.sort((l,A)=>l.distance-A.distance)}const M_=new F,Q_=new Hn,R_=new rn;function z8(n,e,t){const i=[];for(const[r,s]of t){M_.copy(s.point).sub(s.inputDevicePosition),Q_.copy(s.inputDeviceRotation).invert().multiply(e);const o=M_.clone().applyQuaternion(Q_).add(n);_m(R_,s,r);const a=R_.projectPoint(n,new F);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Lr=new Yn;function V8(n,e,t,i,r,s){Lr.center.copy(n),Lr.radius=t;const o=[];return rd(i,r.hasEventHandlers.bind(r),a=>yT(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function yT(n,e,t,i){Y8(n,e,t,i);for(const r of n.children)yT(r,e,t,i)}const SA=new ct,wA=new ct;function W8(n){return"spherecast"in n}function Y8(n,e,t,i){if(n.updateWorldMatrix(!0,!1),W8(n)){const r=[];n.spherecast(Lr,r);for(const s of r)t&&!wm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Lr.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(SA.copy(s.object.matrixWorld).invert())})}if(n instanceof Uv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sLr.radius*Lr.radius)return;pI.max(J8);const h=du.center.clone().sub(T_);h.divide(pI),X8(h);const d=Ip.clone();o&&!K8(n,d)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:h},pointOnFace:d,point:d,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:d.clone().applyMatrix4(r)})}function X8(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)}function rd(n,e,t){if(e(n))return t(n);for(const i of n.children)rd(i,e,t)}function wm(n){if(!(n.object instanceof Zt)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function K8(n,e){if(!(n instanceof Zt)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function _m(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const gI=new F,b_=new Hn,P_=Symbol("traversal-id"),N_=[],EC=new zt;class Mm{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,h,d){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=h,this.onEndEventCaptures=d}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(gI,b_),this.intersections=[{distance:1/0,inputDevicePosition:gI.clone(),inputDeviceRotation:b_.clone(),object:EC,point:gI.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,h,d)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,d,r),this.dispatchRelease(e,a,A,l,d),this.updateElementStateMap(A,l,d,r,s)),l.lastPressedElementIds=d,l.blockFollowingIntersections&&(this.intersections.length=h+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,h)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,h,A,a),this.eventDispatcher.leave(l,h),A.lastLeftTime=s,A.lastPressedElementIds=N_,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),d=Z.useMemo(()=>new Qm,[]);d.onPointerDownMissed=r,d.onPointerUpMissed=s,d.onClickMissed=o;const f=Z.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);f.filterClipped=A??!0,f.computeIntersections=n,f.isDrag=e,f.onIntersections=t,f.filterIntersections=i,f.onStartEventCaptures=a,f.onEndEventCaptures=l;for(const[g,E]of h)CT(E.translator,g,f);return Z.useEffect(()=>()=>{for(const{translator:g}of h.values())g.leave({});h.clear()},[]),Z.useMemo(()=>{const g=E=>Z8(h,d,f,E);return{cancel:(E,C)=>{const{translator:I}=g(E);I.cancel(C)},enter:(E,C)=>{const{translator:I}=g(E);I.update(C,!0,!0)},leave:(E,C)=>{const{translator:I}=g(E);I.leave(C),h.delete(E)},press:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:y,translator:v}=g(E);for(const S of I)y.add(S),p.set(S,C);v.update(C,!1,!0,...I)},release:(E,C,...I)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:y,inputDeviceElementDragSet:v,translator:S}=g(E);for(const R of I)y.delete(R),p.delete(R);S.update(C,!1,!0);for(const R of I)v.delete(R)},move:(E,C)=>{const{translator:I,inputDeviceElementPressMap:p,inputDeviceElementDragSet:y}=g(E);for(const[v,S]of p)f.isDrag(S,C)&&y.add(v);I.update(C,!0,!1)},wheel:E=>{for(const{translator:C}of h.values())C.wheel(E)},blur:E=>{for(const{translator:C}of h.values())C.leave(E);h.clear()}}},[])}function CT(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function Z8(n,e,t,i){let r=n.get(i);if(r==null){const s=new F,o=new Hn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new Mm(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};CT(a.translator,i,t),n.set(i,r=a)}return r}new F;const $8=[];function e6(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function t6({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Ts(),l=rB(({gl:f})=>f.domElement),A=Z.useMemo(()=>n6.bind(null,a),[a]),h=Z.useRef(o);h.current=o;const d=j8(A,e6.bind(null,h),i,e,r,s,t,i6,r6,n);return Z.useEffect(()=>{const f=y=>d.cancel(y.pointerId,y),g=y=>d.press(y.pointerId,y,y.button),E=y=>d.release(y.pointerId,y,y.button),C=y=>d.enter(y.pointerId,y),I=y=>d.leave(y.pointerId,y),p=y=>d.move(y.pointerId,y);return l.addEventListener("pointercancel",f),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",C),l.addEventListener("pointerout",I),l.addEventListener("pointermove",p),l.addEventListener("wheel",d.wheel),l.addEventListener("blur",d.blur),()=>{l.removeEventListener("pointercancel",f),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",C),l.removeEventListener("pointerout",I),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",d.wheel),l.removeEventListener("blur",d.blur)}},[l,d]),null}function n6(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return $8;const{camera:a,scene:l,size:A}=n.getState(),h=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?G8(a,h,l,r,i,s,o):O8(a,h,t,s,o)}function i6(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function r6(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const mI=new F,EI=new Hn,s6=new F(0,0,1);Z.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=s6,initialPressedElementIds:l},A)=>{const h=Ts(),d=Z.useMemo(()=>new zt,[]),f=Z.useMemo(()=>new Qm,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=i;const g=Z.useMemo(()=>new Set(l),[]),E=Z.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const C=Z.useMemo(()=>new Mm(n,!1,f,(p,y)=>(d.getWorldPosition(mI),d.getWorldQuaternion(EI),y==null?H8(mI,EI,h.getState().scene,f,E.filterClipped,E.direction):F8(mI,EI,y,E.direction)),()=>[...g],(p,y)=>{d.getWorldPosition(p),d.getWorldQuaternion(y)}),[n,h]);C.onIntersections=e,C.filterIntersections=t,Z.useImperativeHandle(A,()=>({press:(p,y)=>{g.add(p),C.update(y,!1,!0,p)},release:(p,y)=>{g.delete(p),C.update(y,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),Z.useEffect(()=>C.leave.bind(C,{}),[C]);const I=Z.useRef(g.size>0);return $h(()=>{C.update({},!0,I.current,...g),I.current=!1}),xC.createElement("primitive",{object:d})});const II=new F,yI=new Hn;Z.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},h)=>{const d=Z.useMemo(()=>new zt,[]),f=Ts(),g=Z.useMemo(()=>new Set(A),[]),E=Z.useMemo(()=>new Qm,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const C=Z.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);C.distanceElement=e,C.radius=t,C.filterClipped=l;const I=Z.useMemo(()=>new Mm(n,!0,E,(y,v)=>(d.getWorldPosition(II),d.getWorldQuaternion(yI),v==null?V8(II,yI,C.radius,f.getState().scene,E,C.filterClipped):z8(II,yI,v)),y=>y!=null&&C.distanceElement!=null&&y.distance<=C.distanceElement.downRadius&&(y.distanceToFace==null||y.distanceToFace<2*C.distanceElement.downRadius*2)?[...g,C.distanceElement.id]:[...g],(y,v)=>{d.getWorldPosition(y),d.getWorldQuaternion(v)}),[n,f]);I.onIntersections=i,I.filterIntersections=r,Z.useImperativeHandle(h,()=>({press:(y,v)=>{g.add(y),I.update(v,!1,!0,y)},release:(y,v)=>{g.delete(y),I.update(v,!1,!0)},cancel:I.cancel.bind(I),wheel(y){I.wheel(y)}}),[I]),Z.useEffect(()=>I.leave.bind(I,{}),[I]);const p=Z.useRef(g.size>0);return $h(()=>{I.update({},!0,p.current||e!=null,...g),p.current=!1}),xC.createElement("primitive",{object:d})});const CI=new F,vI=new Hn;Z.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const h=Z.useMemo(()=>new zt,[]),d=Ts(),f=Z.useMemo(()=>new Qm,[]);f.onPointerDownMissed=s,f.onPointerUpMissed=o,f.onClickMissed=r;const g=Z.useMemo(()=>new Set(l),[]),E=Z.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const C=Z.useMemo(()=>new Mm(n,!1,f,(p,y)=>(h.getWorldPosition(CI),h.getWorldQuaternion(vI),y==null?k8(h,CI,vI,E.points,d.getState().scene,f,E.filterClipped):P8(h,CI,vI,E.points,y)),()=>[...g],(p,y)=>{h.getWorldPosition(p),h.getWorldQuaternion(y)}),[n,d]);C.onIntersections=t,C.filterIntersections=i,Z.useImperativeHandle(A,()=>({press:(p,y)=>{g.add(p),C.update(y,!1,!0,p)},release:(p,y)=>{g.delete(p),C.update(y,!1,!0)},cancel:C.cancel.bind(C),wheel(p){C.wheel(p)}}),[C]),Z.useEffect(()=>C.leave.bind(C,{}),[C]);const I=Z.useRef(g.size>0);return $h(()=>{C.update({},!0,I.current,...g),I.current=!1}),xC.createElement("primitive",{object:h})});const o6=()=>({enabled:!1,priority:0});class Qm{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==EC){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const h=this.event[A];typeof h!="function"&&(l[A]=h)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===EC)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}function a6(){return X.jsxs(Nh,{variant:"outline",width:260,justifyContent:"flex-start",children:[X.jsx(s8,{marginRight:8,width:16,height:16}),X.jsx(Ct,{fontWeight:"normal",children:"Jan 20, 2023 - Feb 09, 2023"})]})}function l6(n){return X.jsxs(Bt,{alignItems:"center",flexDirection:"row",gap:16,lg:{gap:24},...n,children:[X.jsx(Ct,{fontSize:14,lineHeight:1.43,fontWeight:"medium",hover:{color:wt.primary},children:"Overview"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Customers"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Products"}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:"Settings"})]})}const c6=[{name:"Jan",total:Math.floor(Math.random()*5e3)+1e3},{name:"Feb",total:Math.floor(Math.random()*5e3)+1e3},{name:"Mar",total:Math.floor(Math.random()*5e3)+1e3},{name:"Apr",total:Math.floor(Math.random()*5e3)+1e3},{name:"May",total:Math.floor(Math.random()*5e3)+1e3},{name:"Jun",total:Math.floor(Math.random()*5e3)+1e3},{name:"Jul",total:Math.floor(Math.random()*5e3)+1e3},{name:"Aug",total:Math.floor(Math.random()*5e3)+1e3},{name:"Sep",total:Math.floor(Math.random()*5e3)+1e3},{name:"Oct",total:Math.floor(Math.random()*5e3)+1e3},{name:"Nov",total:Math.floor(Math.random()*5e3)+1e3},{name:"Dec",total:Math.floor(Math.random()*5e3)+1e3}],u6=6e3,A6=["$6000","$4500","$3000","$1500","$0"];function h6(){return X.jsxs(Bt,{flexShrink:0,paddingX:16,gap:16,width:"100%",height:350,flexDirection:"row",children:[X.jsx(Bt,{paddingBottom:12*1.333+8,flexDirection:"column",alignItems:"flex-end",justifyContent:"space-between",children:A6.map(n=>X.jsx(Ct,{color:wt.mutedForeground,fontSize:12,lineHeight:1.3333,children:n},n))}),X.jsx(Bt,{gap:16,height:"100%",flexGrow:1,flexDirection:"row",children:c6.map(({name:n,total:e})=>X.jsxs(Bt,{flexDirection:"column",gap:8,flexGrow:1,alignItems:"center",children:[X.jsx(Bt,{flexDirection:"column",flexGrow:1,flexShrink:1,justifyContent:"flex-end",width:"100%",children:X.jsx(Bt,{borderTopRadius:4,height:`${Math.min(1,e/u6)*100}%`,backgroundColor:wt.primary,width:"100%"})}),X.jsx(Ct,{color:wt.mutedForeground,fontSize:12,lineHeight:1.3333,children:n})]},n))})]})}function ul(n){return X.jsx(Sm,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...n})}function d6(){return X.jsxs(Bt,{flexDirection:"column",gap:32,children:[X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{height:36,width:36,src:"/uikit/examples/dashboard/01.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Olivia Martin"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"olivia.martin@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$1,999.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{height:36,width:36,alignItems:"center",justifyContent:"center",border:1,gap:0,src:"/uikit/examples/dashboard/02.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Jackson Lee"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"jackson.lee@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$39.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/03.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Isabella Nguyen"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"isabella.nguyen@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$299.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/04.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"William Kim"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"will@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$99.00"})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",children:[X.jsx(ul,{width:36,height:36,src:"/uikit/examples/dashboard/05.png"}),X.jsxs(Bt,{flexDirection:"column",marginLeft:16,gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,fontWeight:"medium",children:"Sofia Davis"}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"sofia.davis@email.com"})]}),X.jsx(Ct,{marginLeft:"auto",fontWeight:"medium",children:"+$39.00"})]})]})}const f6=[{label:"Personal Account",teams:[{label:"Alicia Koch",value:"personal"}]},{label:"Teams",teams:[{label:"Acme Inc.",value:"acme-inc"},{label:"Monsters Inc.",value:"monsters"}]}];function p6(n){const e=f6[0].teams[0];return X.jsxs(Nh,{variant:"outline",width:200,justifyContent:"space-between",...n,children:[X.jsx(ul,{marginRight:8,height:20,width:20,src:`/uikit/examples/dashboard/${e.value}.png`}),X.jsx(Ct,{children:e.label}),X.jsx(a8,{marginLeft:"auto",height:20,width:20,flexShrink:0,opacity:.5})]})}function g6({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=Z.useState(n??!1),a=e??s;return X.jsx(Bt,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:t?.5:void 0,borderRadius:1e3,backgroundColor:a?wt.primary:wt.input,cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},...r,children:X.jsx(Bt,{width:20,height:20,borderRadius:1e3,transformTranslateX:a?20:0,backgroundColor:wt.background})})}const BI=[{title:"Your call has been confirmed.",description:"1 hour ago"},{title:"You have a new message!",description:"1 hour ago"},{title:"Your subscription is expiring soon!",description:"2 hours ago"}];function m6({open:n,setOpen:e}){return X.jsxs(S8,{open:n,onOpenChange:e,children:[X.jsx(w8,{children:X.jsx(ul,{cursor:"pointer",src:"/uikit/examples/dashboard/01.png",height:32,width:32})}),X.jsxs(R8,{positionType:"relative",transformTranslateZ:200,sm:{maxWidth:425},children:[X.jsxs(D8,{children:[X.jsx(L8,{children:X.jsx(Ct,{children:"Edit profile"})}),X.jsx(b8,{children:X.jsx(Ct,{children:"Make changes to your profile here. Click save when you're done."})})]}),X.jsxs(Bt,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[X.jsx(i8,{}),X.jsxs(Bt,{gap:4,children:[X.jsx(Ct,{fontWeight:"medium",fontSize:14,lineHeight:1,children:"Push Notifications"}),X.jsx(Ct,{fontWeight:"medium",fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:"Send notifications to device."})]}),X.jsx(g6,{})]}),X.jsx(Bt,{flexDirection:"column",children:BI.map((t,i)=>X.jsxs(Bt,{marginBottom:i===BI.length-1?0:16,paddingBottom:i===BI.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[X.jsx(Bt,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:959977}),X.jsxs(Bt,{flexDirection:"column",gap:4,children:[X.jsx(Ct,{fontSize:14,lineHeight:1,children:t.title}),X.jsx(Ct,{fontSize:14,lineHeight:1.43,color:wt.mutedForeground,children:t.description})]})]},i))}),X.jsx(T8,{children:X.jsx(Nh,{onClick:()=>e(!1),children:X.jsx(Ct,{children:"Save changes"})})})]})]})}cz("light");function E6(){const[n,e]=Z.useState(!1);return X.jsxs(EG,{events:o6,flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[X.jsx(t6,{}),X.jsx(j5,{distanceToCamera:1,backgroundColor:16777215,dark:{backgroundColor:0},children:X.jsx(g8,{children:X.jsx(B8,{children:X.jsx(Bt,{flexDirection:"column",width:"100%",height:"100%",overflow:"scroll",children:X.jsx(I6,{open:n,setOpen:e})})})})})]})}function I6({open:n,setOpen:e}){return X.jsxs(Bt,{flexShrink:0,flexDirection:"column",children:[X.jsx(Bt,{flexShrink:0,flexDirection:"column",borderBottom:1,children:X.jsxs(Bt,{height:64,alignItems:"center",flexDirection:"row",paddingX:16,children:[X.jsx(p6,{}),X.jsx(l6,{marginX:24}),X.jsxs(Bt,{marginLeft:"auto",flexDirection:"row",alignItems:"center",gap:16,children:[X.jsx(Nh,{variant:"secondary",size:"sm",onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/dashboard","_blank"),children:X.jsx(Ct,{children:"Source Code"})}),X.jsx(m6,{open:n,setOpen:e})]})]})}),X.jsxs(Bt,{flexDirection:"column",flexGrow:1,gap:16,padding:32,paddingTop:24,children:[X.jsxs(Bt,{flexShrink:0,flexDirection:"row",justifyContent:"space-between",gap:8,children:[X.jsx(Ct,{fontSize:30,lineHeight:1,children:"Dashboard"}),X.jsxs(Bt,{flexDirection:"row",gap:8,alignItems:"center",children:[X.jsx(a6,{}),X.jsx(Nh,{children:X.jsx(Ct,{children:"Download"})})]})]}),X.jsxs(y8,{flexDirection:"column",defaultValue:"overview",gap:16,children:[X.jsxs(C8,{alignSelf:"flex-start",children:[X.jsx(Ep,{value:"overview",children:X.jsx(Ct,{children:"Overview"})}),X.jsx(Ep,{value:"analytics",disabled:!0,children:X.jsx(Ct,{children:"Analytics"})}),X.jsx(Ep,{value:"reports",disabled:!0,children:X.jsx(Ct,{children:"Reports"})}),X.jsx(Ep,{value:"notifications",disabled:!0,children:X.jsx(Ct,{children:"Notifications"})})]}),X.jsxs(v8,{flexShrink:0,flexDirection:"column",value:"overview",gap:16,children:[X.jsxs(Bt,{flexShrink:0,flexDirection:"column",gap:16,lg:{flexDirection:"row"},children:[X.jsxs(Bt,{flexGrow:1,gap:16,flexDirection:"row",children:[X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexShrink:0,flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Total Revenue"})}),X.jsx(A8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"$45,231.89"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+20.1% from last month"})]})]}),X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:8,flexShrink:0,gap:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Subscriptions"})}),X.jsx(d8,{height:16,width:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+2350"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+180.1% from last month"})]})]})]}),X.jsxs(Bt,{flexGrow:1,gap:16,flexDirection:"row",children:[X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:2,gap:0,flexShrink:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Sales"})}),X.jsx(c8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+12,234"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+19% from last month"})]})]}),X.jsxs(Nc,{flexDirection:"column",flexBasis:0,flexGrow:1,children:[X.jsxs(Uc,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingBottom:2,gap:0,flexShrink:0,children:[X.jsx(kc,{children:X.jsx(Ct,{fontSize:14,lineHeight:1.43,children:"Active Now"})}),X.jsx(t8,{width:16,height:16,color:wt.mutedForeground})]}),X.jsxs(Fc,{flexShrink:0,flexDirection:"column",children:[X.jsx(Ct,{fontSize:24,lineHeight:1.3333,children:"+573"}),X.jsx(Ct,{fontSize:12,lineHeight:1.3333,color:wt.mutedForeground,children:"+201 since last hour"})]})]})]})]}),X.jsxs(Bt,{flexShrink:0,lg:{flexDirection:"row"},flexDirection:"column",gap:16,children:[X.jsxs(Nc,{flexDirection:"column",lg:{flexGrow:4},flexBasis:0,children:[X.jsx(Uc,{children:X.jsx(kc,{children:X.jsx(Ct,{children:"Overview"})})}),X.jsx(Fc,{flexShrink:0,paddingLeft:8,children:X.jsx(h6,{})})]}),X.jsxs(Nc,{flexDirection:"column",lg:{flexGrow:3},flexBasis:0,children:[X.jsxs(Uc,{children:[X.jsx(kc,{children:X.jsx(Ct,{children:"Recent Sales"})}),X.jsx(I8,{children:X.jsx(Ct,{children:"You made 265 sales this month."})})]}),X.jsx(Fc,{flexDirection:"column",children:X.jsx(d6,{})})]})]})]})]})]})]})}qQ(document.getElementById("root")).render(X.jsx(Z.StrictMode,{children:X.jsx(E6,{})})); diff --git a/examples/dashboard/index.html b/examples/dashboard/index.html index 54f20b6e..54d51945 100644 --- a/examples/dashboard/index.html +++ b/examples/dashboard/index.html @@ -5,7 +5,7 @@ Document - +
diff --git a/examples/default/assets/index-GTCJp4Jh.js b/examples/default/assets/index-a4z6UWEM.js similarity index 70% rename from examples/default/assets/index-GTCJp4Jh.js rename to examples/default/assets/index-a4z6UWEM.js index 06d30830..9037c1a4 100644 --- a/examples/default/assets/index-GTCJp4Jh.js +++ b/examples/default/assets/index-a4z6UWEM.js @@ -1,4 +1,4 @@ -(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 Ly(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var nM={exports:{}},yg={},iM={exports:{}},Yt={};/** +(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 Ly(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var iM={exports:{}},yg={},rM={exports:{}},Yt={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Nd=Symbol.for("react.element"),V3=Symbol.for("react.portal"),W3=Symbol.for("react.fragment"),Y3=Symbol.for("react.strict_mode"),J3=Symbol.for("react.profiler"),X3=Symbol.for("react.provider"),K3=Symbol.for("react.context"),j3=Symbol.for("react.forward_ref"),q3=Symbol.for("react.suspense"),Z3=Symbol.for("react.memo"),$3=Symbol.for("react.lazy"),Ax=Symbol.iterator;function eb(n){return n===null||typeof n!="object"?null:(n=Ax&&n[Ax]||n["@@iterator"],typeof n=="function"?n:null)}var rM={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},sM=Object.assign,oM={};function vu(n,e,t){this.props=n,this.context=e,this.refs=oM,this.updater=t||rM}vu.prototype.isReactComponent={};vu.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")};vu.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function aM(){}aM.prototype=vu.prototype;function Py(n,e,t){this.props=n,this.context=e,this.refs=oM,this.updater=t||rM}var Ny=Py.prototype=new aM;Ny.constructor=Py;sM(Ny,vu.prototype);Ny.isPureReactComponent=!0;var dx=Array.isArray,lM=Object.prototype.hasOwnProperty,ky={current:null},cM={key:!0,ref:!0,__self:!0,__source:!0};function uM(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)lM.call(e,i)&&!cM.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,_e=F[Ae];if(0>>1;Aer(z,ne))H<_e&&0>r(N,z)?(F[Ae]=N,F[H]=ne,Ae=H):(F[Ae]=z,F[W]=ne,Ae=W);else if(H<_e&&0>r(N,ne))F[Ae]=N,F[H]=ne,Ae=H;else break e}}return $}function r(F,$){var ne=F.sortIndex-$.sortIndex;return ne!==0?ne:F.id-$.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=[],A=[],d=1,h=null,f=3,g=!1,E=!1,y=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(F){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=F)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function w(F){if(y=!1,I(F),!E)if(t(l)!==null)E=!0,se(Q);else{var $=t(A);$!==null&&fe(w,$.startTime-F)}}function Q(F,$){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=f;try{for(I($),h=t(l);h!==null&&(!(h.expirationTime>$)||F&&!P());){var Ae=h.callback;if(typeof Ae=="function"){h.callback=null,f=h.priorityLevel;var _e=Ae(h.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?h.callback=_e:h===t(l)&&i(l),I($)}else i(l);h=t(l)}if(h!==null)var Ue=!0;else{var W=t(A);W!==null&&fe(w,W.startTime-$),Ue=!1}return Ue}finally{h=null,f=ne,g=!1}}var R=!1,D=null,U=-1,K=5,_=-1;function P(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(y?(p(U),U=-1):y=!0,fe(w,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,se(Q))),F},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(F){var $=f;return function(){var ne=f;f=$;try{return F.apply(this,arguments)}finally{f=ne}}}})(fM);hM.exports=fM;var Ab=hM.exports;/** + */(function(n){function e(F,$){var ne=F.length;F.push($);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))H<_e&&0>r(N,z)?(F[Ae]=N,F[H]=ne,Ae=H):(F[Ae]=z,F[W]=ne,Ae=W);else if(H<_e&&0>r(N,ne))F[Ae]=N,F[H]=ne,Ae=H;else break e}}return $}function r(F,$){var ne=F.sortIndex-$.sortIndex;return ne!==0?ne:F.id-$.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=[],A=[],d=1,h=null,f=3,g=!1,E=!1,y=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(F){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=F)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function w(F){if(y=!1,v(F),!E)if(t(l)!==null)E=!0,re(R);else{var $=t(A);$!==null&&fe(w,$.startTime-F)}}function R(F,$){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=f;try{for(v($),h=t(l);h!==null&&(!(h.expirationTime>$)||F&&!P());){var Ae=h.callback;if(typeof Ae=="function"){h.callback=null,f=h.priorityLevel;var _e=Ae(h.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?h.callback=_e:h===t(l)&&i(l),v($)}else i(l);h=t(l)}if(h!==null)var Ue=!0;else{var W=t(A);W!==null&&fe(w,W.startTime-$),Ue=!1}return Ue}finally{h=null,f=ne,g=!1}}var Q=!1,D=null,U=-1,K=5,_=-1;function P(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(y?(p(U),U=-1):y=!0,fe(w,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,re(R))),F},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(F){var $=f;return function(){var ne=f;f=$;try{return F.apply(this,arguments)}finally{f=ne}}}})(pM);fM.exports=pM;var db=fM.exports;/** * @license React * react-dom.production.min.js * @@ -30,22 +30,22 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var pM=Y,mr=Ab;function Oe(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"),TC=Object.prototype.hasOwnProperty,db=/^[: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]*$/,fx={},px={};function hb(n){return TC.call(px,n)?!0:TC.call(fx,n)?!1:db.test(n)?px[n]=!0:(fx[n]=!0,!1)}function fb(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 pb(n,e,t,i){if(e===null||typeof e>"u"||fb(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 Vi(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 Ei={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Ei[n]=new Vi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Ei[e]=new Vi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Ei[n]=new Vi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Ei[n]=new Vi(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){Ei[n]=new Vi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Ei[n]=new Vi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Ei[n]=new Vi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Ei[n]=new Vi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Ei[n]=new Vi(n,5,!1,n.toLowerCase(),null,!1,!1)});var Oy=/[\-:]([a-z])/g;function Hy(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(Oy,Hy);Ei[e]=new Vi(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(Oy,Hy);Ei[e]=new Vi(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(Oy,Hy);Ei[e]=new Vi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Ei[n]=new Vi(n,1,!1,n.toLowerCase(),null,!1,!1)});Ei.xlinkHref=new Vi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Ei[n]=new Vi(n,1,!1,n.toLowerCase(),null,!0,!0)});function Gy(n,e,t,i){var r=Ei.hasOwnProperty(e)?Ei[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),TC=Object.prototype.hasOwnProperty,hb=/^[: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]*$/,px={},gx={};function fb(n){return TC.call(gx,n)?!0:TC.call(px,n)?!1:hb.test(n)?gx[n]=!0:(px[n]=!0,!1)}function pb(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 gb(n,e,t,i){if(e===null||typeof e>"u"||pb(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 Vi(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 Ei={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Ei[n]=new Vi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Ei[e]=new Vi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Ei[n]=new Vi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Ei[n]=new Vi(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){Ei[n]=new Vi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Ei[n]=new Vi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Ei[n]=new Vi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Ei[n]=new Vi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Ei[n]=new Vi(n,5,!1,n.toLowerCase(),null,!1,!1)});var Oy=/[\-:]([a-z])/g;function Hy(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(Oy,Hy);Ei[e]=new Vi(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(Oy,Hy);Ei[e]=new Vi(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(Oy,Hy);Ei[e]=new Vi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Ei[n]=new Vi(n,1,!1,n.toLowerCase(),null,!1,!1)});Ei.xlinkHref=new Vi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Ei[n]=new Vi(n,1,!1,n.toLowerCase(),null,!0,!0)});function Gy(n,e,t,i){var r=Ei.hasOwnProperty(e)?Ei[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{P0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?SA(n):""}function gb(n){switch(n.tag){case 5:return SA(n.type);case 16:return SA("Lazy");case 13:return SA("Suspense");case 19:return SA("SuspenseList");case 0:case 2:case 15:return n=N0(n.type,!1),n;case 11:return n=N0(n.type.render,!1),n;case 1:return n=N0(n.type,!0),n;default:return""}}function NC(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 Hc:return"Fragment";case Oc:return"Portal";case bC:return"Profiler";case zy:return"StrictMode";case LC:return"Suspense";case PC:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case EM:return(n.displayName||"Context")+".Consumer";case mM:return(n._context.displayName||"Context")+".Provider";case Vy:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case Wy:return e=n.displayName||null,e!==null?e:NC(n.type)||"Memo";case Zo:e=n._payload,n=n._init;try{return NC(n(e))}catch{}}return null}function mb(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 NC(e);case 8:return e===zy?"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 IM(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Eb(n){var e=IM(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 Kh(n){n._valueTracker||(n._valueTracker=Eb(n))}function yM(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=IM(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Op(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 kC(n,e){var t=e.checked;return Rn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function mx(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 vM(n,e){e=e.checked,e!=null&&Gy(n,"checked",e,!1)}function UC(n,e){vM(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")?FC(n,e.type,t):e.hasOwnProperty("defaultValue")&&FC(n,e.type,Ia(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function Ex(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 FC(n,e,t){(e!=="number"||Op(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var _A=Array.isArray;function iu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=jh.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function KA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var TA={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},Cb=["Webkit","ms","Moz","O"];Object.keys(TA).forEach(function(n){Cb.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),TA[e]=TA[n]})});function SM(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||TA.hasOwnProperty(n)&&TA[n]?(""+e).trim():e+"px"}function _M(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=SM(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var Ib=Rn({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 GC(n,e){if(e){if(Ib[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function zC(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 VC=null;function Yy(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var WC=null,ru=null,su=null;function yx(n){if(n=Fd(n)){if(typeof WC!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=Sg(e),WC(n.stateNode,n.type,e))}}function MM(n){ru?su?su.push(n):su=[n]:ru=n}function QM(){if(ru){var n=ru,e=su;if(su=ru=null,yx(n),e)for(n=0;n>>=0,n===0?32:31-(Db(n)/Tb|0)|0}var qh=64,Zh=4194304;function MA(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 Vp(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=MA(a):(s&=o,s!==0&&(i=MA(s)))}else o=t&~r,o!==0?i=MA(o):s!==0&&(i=MA(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 kd(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 Nb(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=LA),Rx=" ",Dx=!1;function KM(n,e){switch(n){case"keyup":return uL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function jM(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Gc=!1;function dL(n,e){switch(n){case"compositionend":return jM(e);case"keypress":return e.which!==32?null:(Dx=!0,Rx);case"textInput":return n=e.data,n===Rx&&Dx?null:n;default:return null}}function hL(n,e){if(Gc)return n==="compositionend"||!ev&&KM(n,e)?(n=JM(),Ip=qy=ia=null,Gc=!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=Px(t)}}function eQ(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?eQ(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function tQ(){for(var n=window,e=Op();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Op(n.document)}return e}function tv(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 vL(n){var e=tQ(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&eQ(t.ownerDocument.documentElement,t)){if(i!==null&&tv(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=Nx(t,s);var o=Nx(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,zc=null,qC=null,NA=null,ZC=!1;function kx(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;ZC||zc==null||zc!==Op(i)||(i=zc,"selectionStart"in i&&tv(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}),NA&&td(NA,i)||(NA=i,i=Jp(qC,"onSelect"),0Yc||(n.current=rI[Yc],rI[Yc]=null,Yc--)}function pn(n,e){Yc++,rI[Yc]=n.current,n.current=e}var ya={},Di=wa(ya),er=wa(!1),Ql=ya;function hu(n,e){var t=n.type.contextTypes;if(!t)return ya;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 Kp(){vn(er),vn(Di)}function Vx(n,e,t){if(Di.current!==ya)throw Error(Oe(168));pn(Di,e),pn(er,t)}function uQ(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(Oe(108,mb(n)||"Unknown",r));return Rn({},t,i)}function jp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||ya,Ql=Di.current,pn(Di,n),pn(er,er.current),!0}function Wx(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=uQ(n,e,Ql),i.__reactInternalMemoizedMergedChildContext=n,vn(er),vn(Di),pn(Di,n)):vn(er),pn(er,t)}var to=null,_g=!1,j0=!1;function AQ(n){to===null?to=[n]:to.push(n)}function LL(n){_g=!0,AQ(n)}function Sa(){if(!j0&&to!==null){j0=!0;var n=0,e=An;try{var t=to;for(An=1;n>=o,r-=o,ro=1<<32-ts(e)+r|t<U?(K=D,D=null):K=D.sibling;var _=f(p,D,I[U],w);if(_===null){D===null&&(D=K);break}n&&D&&_.alternate===null&&e(p,D),v=s(_,v,U),R===null?Q=_:R.sibling=_,R=_,D=K}if(U===I.length)return t(p,D),xn&&ol(p,U),Q;if(D===null){for(;UU?(K=D,D=null):K=D.sibling;var P=f(p,D,_.value,w);if(P===null){D===null&&(D=K);break}n&&D&&P.alternate===null&&e(p,D),v=s(P,v,U),R===null?Q=P:R.sibling=P,R=P,D=K}if(_.done)return t(p,D),xn&&ol(p,U),Q;if(D===null){for(;!_.done;U++,_=I.next())_=h(p,_.value,w),_!==null&&(v=s(_,v,U),R===null?Q=_:R.sibling=_,R=_);return xn&&ol(p,U),Q}for(D=i(p,D);!_.done;U++,_=I.next())_=g(D,p,U,_.value,w),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),v=s(_,v,U),R===null?Q=_:R.sibling=_,R=_);return n&&D.forEach(function(Z){return e(p,Z)}),xn&&ol(p,U),Q}function C(p,v,I,w){if(typeof I=="object"&&I!==null&&I.type===Hc&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case Xh:e:{for(var Q=I.key,R=v;R!==null;){if(R.key===Q){if(Q=I.type,Q===Hc){if(R.tag===7){t(p,R.sibling),v=r(R,I.props.children),v.return=p,p=v;break e}}else if(R.elementType===Q||typeof Q=="object"&&Q!==null&&Q.$$typeof===Zo&&Zx(Q)===R.type){t(p,R.sibling),v=r(R,I.props),v.ref=lA(p,R,I),v.return=p,p=v;break e}t(p,R);break}else e(p,R);R=R.sibling}I.type===Hc?(v=yl(I.props.children,p.mode,w,I.key),v.return=p,p=v):(w=Mp(I.type,I.key,I.props,null,p.mode,w),w.ref=lA(p,v,I),w.return=p,p=w)}return o(p);case Oc:e:{for(R=I.key;v!==null;){if(v.key===R)if(v.tag===4&&v.stateNode.containerInfo===I.containerInfo&&v.stateNode.implementation===I.implementation){t(p,v.sibling),v=r(v,I.children||[]),v.return=p,p=v;break e}else{t(p,v);break}else e(p,v);v=v.sibling}v=rE(I,p.mode,w),v.return=p,p=v}return o(p);case Zo:return R=I._init,C(p,v,R(I._payload),w)}if(_A(I))return E(p,v,I,w);if(iA(I))return y(p,v,I,w);of(p,I)}return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,v!==null&&v.tag===6?(t(p,v.sibling),v=r(v,I),v.return=p,p=v):(t(p,v),v=iE(I,p.mode,w),v.return=p,p=v),o(p)):t(p,v)}return C}var pu=CQ(!0),IQ=CQ(!1),Od={},Qs=wa(Od),sd=wa(Od),od=wa(Od);function fl(n){if(n===Od)throw Error(Oe(174));return n}function uv(n,e){switch(pn(od,e),pn(sd,n),pn(Qs,Od),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:HC(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=HC(e,n)}vn(Qs),pn(Qs,e)}function gu(){vn(Qs),vn(sd),vn(od)}function yQ(n){fl(od.current);var e=fl(Qs.current),t=HC(e,n.type);e!==t&&(pn(sd,n),pn(Qs,t))}function Av(n){sd.current===n&&(vn(Qs),vn(sd))}var _n=wa(0);function ng(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var q0=[];function dv(){for(var n=0;nt?t:4,n(!0);var i=Z0.transition;Z0.transition={};try{n(!1),e()}finally{An=t,Z0.transition=i}}function kQ(){return Ur().memoizedState}function UL(n,e,t){var i=da(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},UQ(n))FQ(e,t);else if(t=pQ(n,e,t,i),t!==null){var r=Hi();ns(t,n,i,r),OQ(t,e,i)}}function FL(n,e,t){var i=da(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(UQ(n))FQ(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,rs(a,o)){var l=e.interleaved;l===null?(r.next=r,lv(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=pQ(n,e,r,i),t!==null&&(r=Hi(),ns(t,n,i,r),OQ(t,e,i))}}function UQ(n){var e=n.alternate;return n===Qn||e!==null&&e===Qn}function FQ(n,e){kA=ig=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function OQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,Xy(n,t)}}var rg={readContext:kr,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},OL={readContext:kr,useCallback:function(n,e){return Is().memoizedState=[n,e===void 0?null:e],n},useContext:kr,useEffect:ew,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,xp(4194308,4,TQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return xp(4194308,4,n,e)},useInsertionEffect:function(n,e){return xp(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=UL.bind(null,Qn,n),[i.memoizedState,n]},useRef:function(n){var e=Is();return n={current:n},e.memoizedState=n},useState:$x,useDebugValue:mv,useDeferredValue:function(n){return Is().memoizedState=n},useTransition:function(){var n=$x(!1),e=n[0];return n=kL.bind(null,n[1]),Is().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Qn,r=Is();if(xn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),ui===null)throw Error(Oe(349));Dl&30||xQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,ew(SQ.bind(null,i,s,n),[n]),i.flags|=2048,cd(9,wQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=Is(),e=ui.identifierPrefix;if(xn){var t=so,i=ro;t=(i&~(1<<32-ts(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=ad++,0")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{P0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?SA(n):""}function mb(n){switch(n.tag){case 5:return SA(n.type);case 16:return SA("Lazy");case 13:return SA("Suspense");case 19:return SA("SuspenseList");case 0:case 2:case 15:return n=N0(n.type,!1),n;case 11:return n=N0(n.type.render,!1),n;case 1:return n=N0(n.type,!0),n;default:return""}}function NC(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 Hc:return"Fragment";case Oc:return"Portal";case bC:return"Profiler";case zy:return"StrictMode";case LC:return"Suspense";case PC:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case CM:return(n.displayName||"Context")+".Consumer";case EM:return(n._context.displayName||"Context")+".Provider";case Vy:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case Wy:return e=n.displayName||null,e!==null?e:NC(n.type)||"Memo";case Zo:e=n._payload,n=n._init;try{return NC(n(e))}catch{}}return null}function Eb(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 NC(e);case 8:return e===zy?"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 yM(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Cb(n){var e=yM(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 Kh(n){n._valueTracker||(n._valueTracker=Cb(n))}function vM(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=yM(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function Op(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 kC(n,e){var t=e.checked;return Rn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function Ex(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 BM(n,e){e=e.checked,e!=null&&Gy(n,"checked",e,!1)}function UC(n,e){BM(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")?FC(n,e.type,t):e.hasOwnProperty("defaultValue")&&FC(n,e.type,Ia(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function Cx(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 FC(n,e,t){(e!=="number"||Op(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var _A=Array.isArray;function iu(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=jh.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function KA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var TA={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},Ib=["Webkit","ms","Moz","O"];Object.keys(TA).forEach(function(n){Ib.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),TA[e]=TA[n]})});function _M(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||TA.hasOwnProperty(n)&&TA[n]?(""+e).trim():e+"px"}function MM(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=_M(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var yb=Rn({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 GC(n,e){if(e){if(yb[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function zC(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 VC=null;function Yy(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var WC=null,ru=null,su=null;function vx(n){if(n=Fd(n)){if(typeof WC!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=Sg(e),WC(n.stateNode,n.type,e))}}function QM(n){ru?su?su.push(n):su=[n]:ru=n}function RM(){if(ru){var n=ru,e=su;if(su=ru=null,vx(n),e)for(n=0;n>>=0,n===0?32:31-(Tb(n)/bb|0)|0}var qh=64,Zh=4194304;function MA(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 Vp(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=MA(a):(s&=o,s!==0&&(i=MA(s)))}else o=t&~r,o!==0?i=MA(o):s!==0&&(i=MA(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 kd(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 kb(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=LA),Dx=" ",Tx=!1;function jM(n,e){switch(n){case"keyup":return AL.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function qM(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Gc=!1;function hL(n,e){switch(n){case"compositionend":return qM(e);case"keypress":return e.which!==32?null:(Tx=!0,Dx);case"textInput":return n=e.data,n===Dx&&Tx?null:n;default:return null}}function fL(n,e){if(Gc)return n==="compositionend"||!ev&&jM(n,e)?(n=XM(),Ip=qy=ia=null,Gc=!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=Nx(t)}}function tQ(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?tQ(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function nQ(){for(var n=window,e=Op();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=Op(n.document)}return e}function tv(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 BL(n){var e=nQ(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&tQ(t.ownerDocument.documentElement,t)){if(i!==null&&tv(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=kx(t,s);var o=kx(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,zc=null,qC=null,NA=null,ZC=!1;function Ux(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;ZC||zc==null||zc!==Op(i)||(i=zc,"selectionStart"in i&&tv(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}),NA&&td(NA,i)||(NA=i,i=Jp(qC,"onSelect"),0Yc||(n.current=rI[Yc],rI[Yc]=null,Yc--)}function pn(n,e){Yc++,rI[Yc]=n.current,n.current=e}var ya={},Di=wa(ya),er=wa(!1),Ql=ya;function hu(n,e){var t=n.type.contextTypes;if(!t)return ya;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 Kp(){vn(er),vn(Di)}function Wx(n,e,t){if(Di.current!==ya)throw Error(Oe(168));pn(Di,e),pn(er,t)}function AQ(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(Oe(108,Eb(n)||"Unknown",r));return Rn({},t,i)}function jp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||ya,Ql=Di.current,pn(Di,n),pn(er,er.current),!0}function Yx(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=AQ(n,e,Ql),i.__reactInternalMemoizedMergedChildContext=n,vn(er),vn(Di),pn(Di,n)):vn(er),pn(er,t)}var to=null,_g=!1,j0=!1;function dQ(n){to===null?to=[n]:to.push(n)}function PL(n){_g=!0,dQ(n)}function Sa(){if(!j0&&to!==null){j0=!0;var n=0,e=An;try{var t=to;for(An=1;n>=o,r-=o,ro=1<<32-ts(e)+r|t<U?(K=D,D=null):K=D.sibling;var _=f(p,D,v[U],w);if(_===null){D===null&&(D=K);break}n&&D&&_.alternate===null&&e(p,D),I=s(_,I,U),Q===null?R=_:Q.sibling=_,Q=_,D=K}if(U===v.length)return t(p,D),xn&&ol(p,U),R;if(D===null){for(;UU?(K=D,D=null):K=D.sibling;var P=f(p,D,_.value,w);if(P===null){D===null&&(D=K);break}n&&D&&P.alternate===null&&e(p,D),I=s(P,I,U),Q===null?R=P:Q.sibling=P,Q=P,D=K}if(_.done)return t(p,D),xn&&ol(p,U),R;if(D===null){for(;!_.done;U++,_=v.next())_=h(p,_.value,w),_!==null&&(I=s(_,I,U),Q===null?R=_:Q.sibling=_,Q=_);return xn&&ol(p,U),R}for(D=i(p,D);!_.done;U++,_=v.next())_=g(D,p,U,_.value,w),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),I=s(_,I,U),Q===null?R=_:Q.sibling=_,Q=_);return n&&D.forEach(function(Z){return e(p,Z)}),xn&&ol(p,U),R}function C(p,I,v,w){if(typeof v=="object"&&v!==null&&v.type===Hc&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Xh:e:{for(var R=v.key,Q=I;Q!==null;){if(Q.key===R){if(R=v.type,R===Hc){if(Q.tag===7){t(p,Q.sibling),I=r(Q,v.props.children),I.return=p,p=I;break e}}else if(Q.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Zo&&$x(R)===Q.type){t(p,Q.sibling),I=r(Q,v.props),I.ref=lA(p,Q,v),I.return=p,p=I;break e}t(p,Q);break}else e(p,Q);Q=Q.sibling}v.type===Hc?(I=yl(v.props.children,p.mode,w,v.key),I.return=p,p=I):(w=Mp(v.type,v.key,v.props,null,p.mode,w),w.ref=lA(p,I,v),w.return=p,p=w)}return o(p);case Oc:e:{for(Q=v.key;I!==null;){if(I.key===Q)if(I.tag===4&&I.stateNode.containerInfo===v.containerInfo&&I.stateNode.implementation===v.implementation){t(p,I.sibling),I=r(I,v.children||[]),I.return=p,p=I;break e}else{t(p,I);break}else e(p,I);I=I.sibling}I=rE(v,p.mode,w),I.return=p,p=I}return o(p);case Zo:return Q=v._init,C(p,I,Q(v._payload),w)}if(_A(v))return E(p,I,v,w);if(iA(v))return y(p,I,v,w);of(p,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,I!==null&&I.tag===6?(t(p,I.sibling),I=r(I,v),I.return=p,p=I):(t(p,I),I=iE(v,p.mode,w),I.return=p,p=I),o(p)):t(p,I)}return C}var pu=IQ(!0),yQ=IQ(!1),Od={},Qs=wa(Od),sd=wa(Od),od=wa(Od);function fl(n){if(n===Od)throw Error(Oe(174));return n}function uv(n,e){switch(pn(od,e),pn(sd,n),pn(Qs,Od),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:HC(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=HC(e,n)}vn(Qs),pn(Qs,e)}function gu(){vn(Qs),vn(sd),vn(od)}function vQ(n){fl(od.current);var e=fl(Qs.current),t=HC(e,n.type);e!==t&&(pn(sd,n),pn(Qs,t))}function Av(n){sd.current===n&&(vn(Qs),vn(sd))}var _n=wa(0);function ng(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var q0=[];function dv(){for(var n=0;nt?t:4,n(!0);var i=Z0.transition;Z0.transition={};try{n(!1),e()}finally{An=t,Z0.transition=i}}function UQ(){return Ur().memoizedState}function FL(n,e,t){var i=da(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},FQ(n))OQ(e,t);else if(t=gQ(n,e,t,i),t!==null){var r=Hi();ns(t,n,i,r),HQ(t,e,i)}}function OL(n,e,t){var i=da(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(FQ(n))OQ(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,rs(a,o)){var l=e.interleaved;l===null?(r.next=r,lv(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=gQ(n,e,r,i),t!==null&&(r=Hi(),ns(t,n,i,r),HQ(t,e,i))}}function FQ(n){var e=n.alternate;return n===Qn||e!==null&&e===Qn}function OQ(n,e){kA=ig=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function HQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,Xy(n,t)}}var rg={readContext:kr,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},HL={readContext:kr,useCallback:function(n,e){return Is().memoizedState=[n,e===void 0?null:e],n},useContext:kr,useEffect:tw,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,xp(4194308,4,bQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return xp(4194308,4,n,e)},useInsertionEffect:function(n,e){return xp(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=FL.bind(null,Qn,n),[i.memoizedState,n]},useRef:function(n){var e=Is();return n={current:n},e.memoizedState=n},useState:ew,useDebugValue:mv,useDeferredValue:function(n){return Is().memoizedState=n},useTransition:function(){var n=ew(!1),e=n[0];return n=UL.bind(null,n[1]),Is().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Qn,r=Is();if(xn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),Ai===null)throw Error(Oe(349));Dl&30||wQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,tw(_Q.bind(null,i,s,n),[n]),i.flags|=2048,cd(9,SQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=Is(),e=Ai.identifierPrefix;if(xn){var t=so,i=ro;t=(i&~(1<<32-ts(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=ad++,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[Bs]=e,n[rd]=i,KQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=zC(t,i),t){case"dialog":En("cancel",n),En("close",n),r=i;break;case"iframe":case"object":case"embed":En("load",n),r=i;break;case"video":case"audio":for(r=0;rEu&&(e.flags|=128,i=!0,cA(s,!1),e.lanes=4194304)}else{if(!i)if(n=ng(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),cA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!xn)return wi(e),null}else 2*Hn()-s.renderingStartTime>Eu&&t!==1073741824&&(e.flags|=128,i=!0,cA(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=_n.current,pn(_n,i?t&1|2:t&1),e):(wi(e),null);case 22:case 23:return Bv(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?ur&1073741824&&(wi(e),e.subtreeFlags&6&&(e.flags|=8192)):wi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function XL(n,e){switch(iv(e),e.tag){case 1:return tr(e.type)&&Kp(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return gu(),vn(er),vn(Di),dv(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return Av(e),null;case 13:if(vn(_n),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));fu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return vn(_n),null;case 4:return gu(),null;case 10:return av(e.type._context),null;case 22:case 23:return Bv(),null;case 24:return null;default:return null}}var lf=!1,Qi=!1,KL=typeof WeakSet=="function"?WeakSet:Set,rt=null;function jc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Pn(n,e,i)}else t.current=null}function gI(n,e,t){try{t()}catch(i){Pn(n,e,i)}}var cw=!1;function jL(n,e){if($C=Wp,n=tQ(),tv(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,A=0,d=0,h=n,f=null;t:for(;;){for(var g;h!==t||r!==0&&h.nodeType!==3||(a=o+r),h!==s||i!==0&&h.nodeType!==3||(l=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(g=h.firstChild)!==null;)f=h,h=g;for(;;){if(h===n)break t;if(f===t&&++A===r&&(a=o),f===s&&++d===i&&(l=o),(g=h.nextSibling)!==null)break;h=f,f=h.parentNode}h=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(eI={focusedElem:n,selectionRange:t},Wp=!1,rt=e;rt!==null;)if(e=rt,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,rt=n;else for(;rt!==null;){e=rt;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var y=E.memoizedProps,C=E.memoizedState,p=e.stateNode,v=p.getSnapshotBeforeUpdate(e.elementType===e.type?y:Kr(e.type,y),C);p.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var I=e.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(w){Pn(e,e.return,w)}if(n=e.sibling,n!==null){n.return=e.return,rt=n;break}rt=e.return}return E=cw,cw=!1,E}function UA(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&&gI(e,t,s)}r=r.next}while(r!==i)}}function Rg(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 mI(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 ZQ(n){var e=n.alternate;e!==null&&(n.alternate=null,ZQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Bs],delete e[rd],delete e[iI],delete e[TL],delete e[bL])),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 $Q(n){return n.tag===5||n.tag===3||n.tag===4}function uw(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||$Q(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 EI(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=Xp));else if(i!==4&&(n=n.child,n!==null))for(EI(n,e,t),n=n.sibling;n!==null;)EI(n,e,t),n=n.sibling}function CI(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(CI(n,e,t),n=n.sibling;n!==null;)CI(n,e,t),n=n.sibling}var pi=null,qr=!1;function Go(n,e,t){for(t=t.child;t!==null;)e2(n,e,t),t=t.sibling}function e2(n,e,t){if(Ms&&typeof Ms.onCommitFiberUnmount=="function")try{Ms.onCommitFiberUnmount(vg,t)}catch{}switch(t.tag){case 5:Qi||jc(t,e);case 6:var i=pi,r=qr;pi=null,Go(n,e,t),pi=i,qr=r,pi!==null&&(qr?(n=pi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):pi.removeChild(t.stateNode));break;case 18:pi!==null&&(qr?(n=pi,t=t.stateNode,n.nodeType===8?K0(n.parentNode,t):n.nodeType===1&&K0(n,t),$A(n)):K0(pi,t.stateNode));break;case 4:i=pi,r=qr,pi=t.stateNode.containerInfo,qr=!0,Go(n,e,t),pi=i,qr=r;break;case 0:case 11:case 14:case 15:if(!Qi&&(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)&&gI(t,e,o),r=r.next}while(r!==i)}Go(n,e,t);break;case 1:if(!Qi&&(jc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Pn(t,e,a)}Go(n,e,t);break;case 21:Go(n,e,t);break;case 22:t.mode&1?(Qi=(i=Qi)||t.memoizedState!==null,Go(n,e,t),Qi=i):Go(n,e,t);break;default:Go(n,e,t)}}function Aw(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new KL),e.forEach(function(i){var r=sP.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Wr(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*ZL(i/1960))-i,10n?16:n,ra===null)var i=!1;else{if(n=ra,ra=null,ag=0,qt&6)throw Error(Oe(331));var r=qt;for(qt|=4,rt=n.current;rt!==null;){var s=rt,o=s.child;if(rt.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lHn()-yv?Il(n,0):Iv|=t),nr(n,e)}function l2(n,e){e===0&&(n.mode&1?(e=Zh,Zh<<=1,!(Zh&130023424)&&(Zh=4194304)):e=1);var t=Hi();n=fo(n,e),n!==null&&(kd(n,e,t),nr(n,t))}function rP(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),l2(n,t)}function sP(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(Oe(314))}i!==null&&i.delete(e),l2(n,t)}var c2;c2=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||er.current)$i=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return $i=!1,YL(n,e,t);$i=!!(n.flags&131072)}else $i=!1,xn&&e.flags&1048576&&dQ(e,Zp,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;wp(n,e),n=e.pendingProps;var r=hu(e,Di.current);au(e,t),r=fv(null,e,i,n,r,t);var s=pv();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,jp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,cv(e),r.updater=Mg,e.stateNode=r,r._reactInternals=e,cI(e,i,n,t),e=dI(null,e,i,!0,s,t)):(e.tag=0,xn&&s&&nv(e),Ui(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(wp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=aP(i),n=Kr(i,n),r){case 0:e=AI(null,e,i,n,t);break e;case 1:e=ow(null,e,i,n,t);break e;case 11:e=rw(null,e,i,n,t);break e;case 14:e=sw(null,e,i,Kr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),AI(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),ow(n,e,i,r,t);case 3:e:{if(YQ(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,gQ(n,e),tg(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=mu(Error(Oe(423)),e),e=aw(n,e,i,t,r);break e}else if(i!==r){r=mu(Error(Oe(424)),e),e=aw(n,e,i,t,r);break e}else for(hr=ca(e.stateNode.containerInfo.firstChild),pr=e,xn=!0,Zr=null,t=IQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(fu(),i===r){e=po(n,e,t);break e}Ui(n,e,i,t)}e=e.child}return e;case 5:return yQ(e),n===null&&oI(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,tI(i,r)?o=null:s!==null&&tI(i,s)&&(e.flags|=32),WQ(n,e),Ui(n,e,o,t),e.child;case 6:return n===null&&oI(e),null;case 13:return JQ(n,e,t);case 4:return uv(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=pu(e,null,i,t):Ui(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),rw(n,e,i,r,t);case 7:return Ui(n,e,e.pendingProps,t),e.child;case 8:return Ui(n,e,e.pendingProps.children,t),e.child;case 12:return Ui(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($p,i._currentValue),i._currentValue=o,s!==null)if(rs(s.value,o)){if(s.children===r.children&&!er.current){e=po(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=co(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var d=A.pending;d===null?l.next=l:(l.next=d.next,d.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),aI(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),aI(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}Ui(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,au(e,t),r=kr(r),i=i(r),e.flags|=1,Ui(n,e,i,t),e.child;case 14:return i=e.type,r=Kr(i,e.pendingProps),r=Kr(i.type,r),sw(n,e,i,r,t);case 15:return zQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),wp(n,e),e.tag=1,tr(i)?(n=!0,jp(e)):n=!1,au(e,t),EQ(e,i,r),cI(e,i,r,t),dI(null,e,i,!0,n,t);case 19:return XQ(n,e,t);case 22:return VQ(n,e,t)}throw Error(Oe(156,e.tag))};function u2(n,e){return NM(n,e)}function oP(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 Lr(n,e,t,i){return new oP(n,e,t,i)}function wv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function aP(n){if(typeof n=="function")return wv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===Vy)return 11;if(n===Wy)return 14}return 2}function ha(n,e){var t=n.alternate;return t===null?(t=Lr(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 Mp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")wv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Hc:return yl(t.children,r,s,e);case zy:o=8,r|=8;break;case bC:return n=Lr(12,t,e,r|2),n.elementType=bC,n.lanes=s,n;case LC:return n=Lr(13,t,e,r),n.elementType=LC,n.lanes=s,n;case PC:return n=Lr(19,t,e,r),n.elementType=PC,n.lanes=s,n;case CM:return Tg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case mM:o=10;break e;case EM:o=9;break e;case Vy:o=11;break e;case Wy:o=14;break e;case Zo:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Lr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function yl(n,e,t,i){return n=Lr(7,n,i,e),n.lanes=t,n}function Tg(n,e,t,i){return n=Lr(22,n,i,e),n.elementType=CM,n.lanes=t,n.stateNode={isHidden:!1},n}function iE(n,e,t){return n=Lr(6,n,null,e),n.lanes=t,n}function rE(n,e,t){return e=Lr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function lP(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=U0(0),this.expirationTimes=U0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=U0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Sv(n,e,t,i,r,s,o,a,l){return n=new lP(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Lr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},cv(s),n}function cP(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(f2)}catch(n){console.error(n)}}f2(),dM.exports=Cr;var fP=dM.exports,p2,Cw=fP;p2=Cw.createRoot,Cw.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function tE(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function uI(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var VL=typeof WeakMap=="function"?WeakMap:Map;function GQ(n,e,t){t=co(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){og||(og=!0,II=i),uI(n,e)},t}function zQ(n,e,t){t=co(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){uI(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){uI(n,e),typeof i!="function"&&(Aa===null?Aa=new Set([this]):Aa.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function nw(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new VL;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=rP.bind(null,n,e,t),e.then(n,n))}function iw(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function rw(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=co(-1,1),e.tag=2,ua(t,e,1))),t.lanes|=1),n)}var WL=mo.ReactCurrentOwner,$i=!1;function Ui(n,e,t,i){e.child=n===null?yQ(e,null,t,i):pu(e,n.child,t,i)}function sw(n,e,t,i,r){t=t.render;var s=e.ref;return au(e,r),i=fv(n,e,t,i,s,r),t=pv(),n!==null&&!$i?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,po(n,e,r)):(xn&&t&&nv(e),e.flags|=1,Ui(n,e,i,r),e.child)}function ow(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!wv(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,VQ(n,e,s,i,r)):(n=Mp(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:td,t(o,i)&&n.ref===e.ref)return po(n,e,r)}return e.flags|=1,n=ha(s,i),n.ref=e.ref,n.return=e,e.child=n}function VQ(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(td(s,i)&&n.ref===e.ref)if($i=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&($i=!0);else return e.lanes=n.lanes,po(n,e,r)}return AI(n,e,t,i,r)}function WQ(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},pn(qc,ur),ur|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,pn(qc,ur),ur|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,pn(qc,ur),ur|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,pn(qc,ur),ur|=i;return Ui(n,e,r,t),e.child}function YQ(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function AI(n,e,t,i,r){var s=tr(t)?Ql:Di.current;return s=hu(e,s),au(e,r),t=fv(n,e,t,i,s,r),i=pv(),n!==null&&!$i?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,po(n,e,r)):(xn&&i&&nv(e),e.flags|=1,Ui(n,e,t,r),e.child)}function aw(n,e,t,i,r){if(tr(t)){var s=!0;jp(e)}else s=!1;if(au(e,r),e.stateNode===null)wp(n,e),CQ(e,t,i),cI(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,A=t.contextType;typeof A=="object"&&A!==null?A=kr(A):(A=tr(t)?Ql:Di.current,A=hu(e,A));var d=t.getDerivedStateFromProps,h=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";h||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==A)&&Zx(e,o,i,A),$o=!1;var f=e.memoizedState;o.state=f,tg(e,i,o,r),l=e.memoizedState,a!==i||f!==l||er.current||$o?(typeof d=="function"&&(lI(e,t,d,i),l=e.memoizedState),(a=$o||qx(e,t,a,i,f,l,A))?(h||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=A,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,mQ(n,e),a=e.memoizedProps,A=e.type===e.elementType?a:Kr(e.type,a),o.props=A,h=e.pendingProps,f=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=kr(l):(l=tr(t)?Ql:Di.current,l=hu(e,l));var g=t.getDerivedStateFromProps;(d=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==h||f!==l)&&Zx(e,o,i,l),$o=!1,f=e.memoizedState,o.state=f,tg(e,i,o,r);var E=e.memoizedState;a!==h||f!==E||er.current||$o?(typeof g=="function"&&(lI(e,t,g,i),E=e.memoizedState),(A=$o||qx(e,t,A,i,f,E,l)||!1)?(d||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,E,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,E,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=E),o.props=i,o.state=E,o.context=l,i=A):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(e.flags|=1024),i=!1)}return dI(n,e,t,i,s,r)}function dI(n,e,t,i,r,s){YQ(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&Yx(e,t,!1),po(n,e,s);i=e.stateNode,WL.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=pu(e,n.child,null,s),e.child=pu(e,null,a,s)):Ui(n,e,a,s),e.memoizedState=i.state,r&&Yx(e,t,!0),e.child}function JQ(n){var e=n.stateNode;e.pendingContext?Wx(n,e.pendingContext,e.pendingContext!==e.context):e.context&&Wx(n,e.context,!1),uv(n,e.containerInfo)}function lw(n,e,t,i,r){return fu(),rv(r),e.flags|=256,Ui(n,e,t,i),e.child}var hI={dehydrated:null,treeContext:null,retryLane:0};function fI(n){return{baseLanes:n,cachePool:null,transitions:null}}function XQ(n,e,t){var i=e.pendingProps,r=_n.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),pn(_n,r&1),n===null)return oI(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Tg(o,i,0,null),n=yl(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=fI(t),e.memoizedState=hI,n):Ev(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return YL(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=ha(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=ha(a,s):(s=yl(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?fI(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=hI,i}return s=n.child,n=s.sibling,i=ha(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function Ev(n,e){return e=Tg({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function af(n,e,t,i){return i!==null&&rv(i),pu(e,n.child,null,t),n=Ev(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function YL(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=tE(Error(Oe(422))),af(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=Tg({mode:"visible",children:i.children},r,0,null),s=yl(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&pu(e,n.child,null,o),e.child.memoizedState=fI(o),e.memoizedState=hI,s);if(!(e.mode&1))return af(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Oe(419)),i=tE(s,i,void 0),af(n,e,o,i)}if(a=(o&n.childLanes)!==0,$i||a){if(i=Ai,i!==null){switch(o&-o){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}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,fo(n,r),ns(i,n,r,-1))}return xv(),i=tE(Error(Oe(421))),af(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=sP.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,hr=ca(r.nextSibling),pr=e,xn=!0,Zr=null,n!==null&&(Dr[Tr++]=ro,Dr[Tr++]=so,Dr[Tr++]=Rl,ro=n.id,so=n.overflow,Rl=e),e=Ev(e,i.children),e.flags|=4096,e)}function cw(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),aI(n.return,e,t)}function nE(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function KQ(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(Ui(n,e,i.children,t),i=_n.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&cw(n,t,e);else if(n.tag===19)cw(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(pn(_n,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&ng(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),nE(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&ng(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}nE(e,!0,t,null,s);break;case"together":nE(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function wp(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function po(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),Tl|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Oe(153));if(e.child!==null){for(n=e.child,t=ha(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=ha(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function JL(n,e,t){switch(e.tag){case 3:JQ(e),fu();break;case 5:vQ(e);break;case 1:tr(e.type)&&jp(e);break;case 4:uv(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;pn($p,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(pn(_n,_n.current&1),e.flags|=128,null):t&e.child.childLanes?XQ(n,e,t):(pn(_n,_n.current&1),n=po(n,e,t),n!==null?n.sibling:null);pn(_n,_n.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return KQ(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),pn(_n,_n.current),i)break;return null;case 22:case 23:return e.lanes=0,WQ(n,e,t)}return po(n,e,t)}var jQ,pI,qQ,ZQ;jQ=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};pI=function(){};qQ=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,fl(Qs.current);var s=null;switch(t){case"input":r=kC(n,r),i=kC(n,i),s=[];break;case"select":r=Rn({},r,{value:void 0}),i=Rn({},i,{value:void 0}),s=[];break;case"textarea":r=OC(n,r),i=OC(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=Xp)}GC(t,i);var o;t=null;for(A in r)if(!i.hasOwnProperty(A)&&r.hasOwnProperty(A)&&r[A]!=null)if(A==="style"){var a=r[A];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else A!=="dangerouslySetInnerHTML"&&A!=="children"&&A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&A!=="autoFocus"&&(XA.hasOwnProperty(A)?s||(s=[]):(s=s||[]).push(A,null));for(A in i){var l=i[A];if(a=r?.[A],i.hasOwnProperty(A)&&l!==a&&(l!=null||a!=null))if(A==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(A,t)),t=l;else A==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(A,l)):A==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(A,""+l):A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&(XA.hasOwnProperty(A)?(l!=null&&A==="onScroll"&&En("scroll",n),s||a===l||(s=[])):(s=s||[]).push(A,l))}t&&(s=s||[]).push("style",t);var A=s;(e.updateQueue=A)&&(e.flags|=4)}};ZQ=function(n,e,t,i){t!==i&&(e.flags|=4)};function cA(n,e){if(!xn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function wi(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function XL(n,e,t){var i=e.pendingProps;switch(iv(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return wi(e),null;case 1:return tr(e.type)&&Kp(),wi(e),null;case 3:return i=e.stateNode,gu(),vn(er),vn(Di),dv(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(sf(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Zr!==null&&(BI(Zr),Zr=null))),pI(n,e),wi(e),null;case 5:Av(e);var r=fl(od.current);if(t=e.type,n!==null&&e.stateNode!=null)qQ(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Oe(166));return wi(e),null}if(n=fl(Qs.current),sf(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[Bs]=e,i[rd]=s,n=(e.mode&1)!==0,t){case"dialog":En("cancel",i),En("close",i);break;case"iframe":case"object":case"embed":En("load",i);break;case"video":case"audio":for(r=0;r<\/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[Bs]=e,n[rd]=i,jQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=zC(t,i),t){case"dialog":En("cancel",n),En("close",n),r=i;break;case"iframe":case"object":case"embed":En("load",n),r=i;break;case"video":case"audio":for(r=0;rEu&&(e.flags|=128,i=!0,cA(s,!1),e.lanes=4194304)}else{if(!i)if(n=ng(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),cA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!xn)return wi(e),null}else 2*Hn()-s.renderingStartTime>Eu&&t!==1073741824&&(e.flags|=128,i=!0,cA(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=_n.current,pn(_n,i?t&1|2:t&1),e):(wi(e),null);case 22:case 23:return Bv(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?ur&1073741824&&(wi(e),e.subtreeFlags&6&&(e.flags|=8192)):wi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function KL(n,e){switch(iv(e),e.tag){case 1:return tr(e.type)&&Kp(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return gu(),vn(er),vn(Di),dv(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return Av(e),null;case 13:if(vn(_n),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));fu()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return vn(_n),null;case 4:return gu(),null;case 10:return av(e.type._context),null;case 22:case 23:return Bv(),null;case 24:return null;default:return null}}var lf=!1,Qi=!1,jL=typeof WeakSet=="function"?WeakSet:Set,st=null;function jc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){Pn(n,e,i)}else t.current=null}function gI(n,e,t){try{t()}catch(i){Pn(n,e,i)}}var uw=!1;function qL(n,e){if($C=Wp,n=nQ(),tv(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,A=0,d=0,h=n,f=null;t:for(;;){for(var g;h!==t||r!==0&&h.nodeType!==3||(a=o+r),h!==s||i!==0&&h.nodeType!==3||(l=o+i),h.nodeType===3&&(o+=h.nodeValue.length),(g=h.firstChild)!==null;)f=h,h=g;for(;;){if(h===n)break t;if(f===t&&++A===r&&(a=o),f===s&&++d===i&&(l=o),(g=h.nextSibling)!==null)break;h=f,f=h.parentNode}h=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(eI={focusedElem:n,selectionRange:t},Wp=!1,st=e;st!==null;)if(e=st,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,st=n;else for(;st!==null;){e=st;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var y=E.memoizedProps,C=E.memoizedState,p=e.stateNode,I=p.getSnapshotBeforeUpdate(e.elementType===e.type?y:Kr(e.type,y),C);p.__reactInternalSnapshotBeforeUpdate=I}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(w){Pn(e,e.return,w)}if(n=e.sibling,n!==null){n.return=e.return,st=n;break}st=e.return}return E=uw,uw=!1,E}function UA(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&&gI(e,t,s)}r=r.next}while(r!==i)}}function Rg(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 mI(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 $Q(n){var e=n.alternate;e!==null&&(n.alternate=null,$Q(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Bs],delete e[rd],delete e[iI],delete e[bL],delete e[LL])),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 e2(n){return n.tag===5||n.tag===3||n.tag===4}function Aw(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||e2(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 EI(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=Xp));else if(i!==4&&(n=n.child,n!==null))for(EI(n,e,t),n=n.sibling;n!==null;)EI(n,e,t),n=n.sibling}function CI(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(CI(n,e,t),n=n.sibling;n!==null;)CI(n,e,t),n=n.sibling}var pi=null,qr=!1;function Go(n,e,t){for(t=t.child;t!==null;)t2(n,e,t),t=t.sibling}function t2(n,e,t){if(Ms&&typeof Ms.onCommitFiberUnmount=="function")try{Ms.onCommitFiberUnmount(vg,t)}catch{}switch(t.tag){case 5:Qi||jc(t,e);case 6:var i=pi,r=qr;pi=null,Go(n,e,t),pi=i,qr=r,pi!==null&&(qr?(n=pi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):pi.removeChild(t.stateNode));break;case 18:pi!==null&&(qr?(n=pi,t=t.stateNode,n.nodeType===8?K0(n.parentNode,t):n.nodeType===1&&K0(n,t),$A(n)):K0(pi,t.stateNode));break;case 4:i=pi,r=qr,pi=t.stateNode.containerInfo,qr=!0,Go(n,e,t),pi=i,qr=r;break;case 0:case 11:case 14:case 15:if(!Qi&&(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)&&gI(t,e,o),r=r.next}while(r!==i)}Go(n,e,t);break;case 1:if(!Qi&&(jc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){Pn(t,e,a)}Go(n,e,t);break;case 21:Go(n,e,t);break;case 22:t.mode&1?(Qi=(i=Qi)||t.memoizedState!==null,Go(n,e,t),Qi=i):Go(n,e,t);break;default:Go(n,e,t)}}function dw(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new jL),e.forEach(function(i){var r=oP.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Wr(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*$L(i/1960))-i,10n?16:n,ra===null)var i=!1;else{if(n=ra,ra=null,ag=0,qt&6)throw Error(Oe(331));var r=qt;for(qt|=4,st=n.current;st!==null;){var s=st,o=s.child;if(st.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lHn()-yv?Il(n,0):Iv|=t),nr(n,e)}function c2(n,e){e===0&&(n.mode&1?(e=Zh,Zh<<=1,!(Zh&130023424)&&(Zh=4194304)):e=1);var t=Hi();n=fo(n,e),n!==null&&(kd(n,e,t),nr(n,t))}function sP(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),c2(n,t)}function oP(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(Oe(314))}i!==null&&i.delete(e),c2(n,t)}var u2;u2=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||er.current)$i=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return $i=!1,JL(n,e,t);$i=!!(n.flags&131072)}else $i=!1,xn&&e.flags&1048576&&hQ(e,Zp,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;wp(n,e),n=e.pendingProps;var r=hu(e,Di.current);au(e,t),r=fv(null,e,i,n,r,t);var s=pv();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,jp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,cv(e),r.updater=Mg,e.stateNode=r,r._reactInternals=e,cI(e,i,n,t),e=dI(null,e,i,!0,s,t)):(e.tag=0,xn&&s&&nv(e),Ui(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(wp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=lP(i),n=Kr(i,n),r){case 0:e=AI(null,e,i,n,t);break e;case 1:e=aw(null,e,i,n,t);break e;case 11:e=sw(null,e,i,n,t);break e;case 14:e=ow(null,e,i,Kr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),AI(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),aw(n,e,i,r,t);case 3:e:{if(JQ(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,mQ(n,e),tg(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=mu(Error(Oe(423)),e),e=lw(n,e,i,t,r);break e}else if(i!==r){r=mu(Error(Oe(424)),e),e=lw(n,e,i,t,r);break e}else for(hr=ca(e.stateNode.containerInfo.firstChild),pr=e,xn=!0,Zr=null,t=yQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(fu(),i===r){e=po(n,e,t);break e}Ui(n,e,i,t)}e=e.child}return e;case 5:return vQ(e),n===null&&oI(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,tI(i,r)?o=null:s!==null&&tI(i,s)&&(e.flags|=32),YQ(n,e),Ui(n,e,o,t),e.child;case 6:return n===null&&oI(e),null;case 13:return XQ(n,e,t);case 4:return uv(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=pu(e,null,i,t):Ui(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),sw(n,e,i,r,t);case 7:return Ui(n,e,e.pendingProps,t),e.child;case 8:return Ui(n,e,e.pendingProps.children,t),e.child;case 12:return Ui(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($p,i._currentValue),i._currentValue=o,s!==null)if(rs(s.value,o)){if(s.children===r.children&&!er.current){e=po(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=co(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var d=A.pending;d===null?l.next=l:(l.next=d.next,d.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),aI(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),aI(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}Ui(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,au(e,t),r=kr(r),i=i(r),e.flags|=1,Ui(n,e,i,t),e.child;case 14:return i=e.type,r=Kr(i,e.pendingProps),r=Kr(i.type,r),ow(n,e,i,r,t);case 15:return VQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Kr(i,r),wp(n,e),e.tag=1,tr(i)?(n=!0,jp(e)):n=!1,au(e,t),CQ(e,i,r),cI(e,i,r,t),dI(null,e,i,!0,n,t);case 19:return KQ(n,e,t);case 22:return WQ(n,e,t)}throw Error(Oe(156,e.tag))};function A2(n,e){return kM(n,e)}function aP(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 Lr(n,e,t,i){return new aP(n,e,t,i)}function wv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function lP(n){if(typeof n=="function")return wv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===Vy)return 11;if(n===Wy)return 14}return 2}function ha(n,e){var t=n.alternate;return t===null?(t=Lr(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 Mp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")wv(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case Hc:return yl(t.children,r,s,e);case zy:o=8,r|=8;break;case bC:return n=Lr(12,t,e,r|2),n.elementType=bC,n.lanes=s,n;case LC:return n=Lr(13,t,e,r),n.elementType=LC,n.lanes=s,n;case PC:return n=Lr(19,t,e,r),n.elementType=PC,n.lanes=s,n;case IM:return Tg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case EM:o=10;break e;case CM:o=9;break e;case Vy:o=11;break e;case Wy:o=14;break e;case Zo:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Lr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function yl(n,e,t,i){return n=Lr(7,n,i,e),n.lanes=t,n}function Tg(n,e,t,i){return n=Lr(22,n,i,e),n.elementType=IM,n.lanes=t,n.stateNode={isHidden:!1},n}function iE(n,e,t){return n=Lr(6,n,null,e),n.lanes=t,n}function rE(n,e,t){return e=Lr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function cP(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=U0(0),this.expirationTimes=U0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=U0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Sv(n,e,t,i,r,s,o,a,l){return n=new cP(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Lr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},cv(s),n}function uP(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(p2)}catch(n){console.error(n)}}p2(),hM.exports=Cr;var pP=hM.exports,g2,Iw=pP;g2=Iw.createRoot,Iw.hydrateRoot;/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const kg="161",pP={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},gP={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},g2=0,xI=1,m2=2,mP=3,E2=0,Ug=1,HA=2,jr=3,Fr=0,Gi=1,xs=2,uo=0,vl=1,wI=2,SI=3,_I=4,C2=5,na=100,I2=101,y2=102,MI=103,QI=104,v2=200,B2=201,x2=202,w2=203,ug=204,Ag=205,S2=206,_2=207,M2=208,Q2=209,R2=210,D2=211,T2=212,b2=213,L2=214,P2=0,N2=1,k2=2,Ad=3,U2=4,F2=5,O2=6,H2=7,Hd=0,G2=1,z2=2,Rs=0,V2=1,W2=2,Y2=3,Rv=4,J2=5,X2=6,RI="attached",K2="detached",Fg=300,go=301,va=302,dd=303,hd=304,wu=306,fd=1e3,Ri=1001,pd=1002,On=1003,dg=1004,EP=1004,ul=1005,CP=1005,yn=1006,GA=1007,IP=1007,ws=1008,yP=1008,Ds=1009,j2=1010,q2=1011,Og=1012,Dv=1013,oo=1014,br=1015,Ll=1016,Tv=1017,bv=1018,fa=1020,Z2=1021,Fi=1023,$2=1024,eR=1025,pa=1026,Pl=1027,tR=1028,Lv=1029,nR=1030,Pv=1031,Nv=1033,Qp=33776,Rp=33777,Dp=33778,Tp=33779,DI=35840,TI=35841,bI=35842,LI=35843,kv=36196,PI=37492,NI=37496,kI=37808,UI=37809,FI=37810,OI=37811,HI=37812,GI=37813,zI=37814,VI=37815,WI=37816,YI=37817,JI=37818,XI=37819,KI=37820,jI=37821,bp=36492,qI=36494,ZI=36495,iR=36283,$I=36284,ey=36285,ty=36286,rR=2200,sR=2201,oR=2202,gd=2300,md=2301,Lp=2302,pl=2400,gl=2401,Ed=2402,Hg=2500,Uv=2501,vP=0,BP=1,xP=2,Fv=3e3,ga=3001,aR=3200,Ov=3201,_a=0,lR=1,Ar="",Nn="srgb",Ts="srgb-linear",Gg="display-p3",Gd="display-p3-linear",Cd="linear",fn="srgb",Id="rec709",yd="p3",wP=0,ll=7680,SP=7681,_P=7682,MP=7683,QP=34055,RP=34056,DP=5386,TP=512,bP=513,LP=514,PP=515,NP=516,kP=517,UP=518,ny=519,cR=512,uR=513,AR=514,Hv=515,dR=516,hR=517,fR=518,pR=519,vd=35044,sa=35048,FP=35040,OP=35045,HP=35049,GP=35041,zP=35046,VP=35050,WP=35042,YP="100",iy="300 es",hg=1035,Ss=2e3,Bd=2001;class Eo{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]+Si[n>>16&255]+Si[n>>24&255]+"-"+Si[e&255]+Si[e>>8&255]+"-"+Si[e>>16&15|64]+Si[e>>24&255]+"-"+Si[t&63|128]+Si[t>>8&255]+"-"+Si[t>>16&255]+Si[t>>24&255]+Si[i&255]+Si[i>>8&255]+Si[i>>16&255]+Si[i>>24&255]).toLowerCase()}function kn(n,e,t){return Math.max(e,Math.min(t,n))}function Gv(n,e){return(n%e+e)%e}function JP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function XP(n,e,t){return n!==e?(t-n)/(e-n):0}function zA(n,e,t){return(1-t)*n+t*e}function KP(n,e,t,i){return zA(n,e,1-Math.exp(-t*i))}function jP(n,e=1){return e-Math.abs(Gv(n,e*2)-e)}function qP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function ZP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function $P(n,e){return n+Math.floor(Math.random()*(e-n+1))}function eN(n,e){return n+Math.random()*(e-n)}function tN(n){return n*(.5-Math.random())}function nN(n){n!==void 0&&(Iw=n);let e=Iw+=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 iN(n){return n*Bl}function rN(n){return n*Cu}function ry(n){return(n&n-1)===0&&n!==0}function sN(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function fg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function oN(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),d=o((e+i)/2),h=s((e-i)/2),f=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*d,l*h,l*f,a*A);break;case"YZY":n.set(l*f,a*d,l*h,a*A);break;case"ZXZ":n.set(l*h,l*f,a*d,a*A);break;case"XZX":n.set(a*d,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*d,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*d,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Oi(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function bt(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const aN={DEG2RAD:Bl,RAD2DEG:Cu,generateUUID:gr,clamp:kn,euclideanModulo:Gv,mapLinear:JP,inverseLerp:XP,lerp:zA,damp:KP,pingpong:jP,smoothstep:qP,smootherstep:ZP,randInt:$P,randFloat:eN,randFloatSpread:tN,seededRandom:nN,degToRad:iN,radToDeg:rN,isPowerOfTwo:ry,ceilPowerOfTwo:sN,floorPowerOfTwo:fg,setQuaternionFromProperEuler:oN,normalize:bt,denormalize:Oi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(kn(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 Qt{constructor(e,t,i,r,s,o,a,l,A){Qt.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,A)}set(e,t,i,r,s,o,a,l,A){const d=this.elements;return d[0]=e,d[1]=r,d[2]=a,d[3]=t,d[4]=s,d[5]=l,d[6]=i,d[7]=o,d[8]=A,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],A=i[1],d=i[4],h=i[7],f=i[2],g=i[5],E=i[8],y=r[0],C=r[3],p=r[6],v=r[1],I=r[4],w=r[7],Q=r[2],R=r[5],D=r[8];return s[0]=o*y+a*v+l*Q,s[3]=o*C+a*I+l*R,s[6]=o*p+a*w+l*D,s[1]=A*y+d*v+h*Q,s[4]=A*C+d*I+h*R,s[7]=A*p+d*w+h*D,s[2]=f*y+g*v+E*Q,s[5]=f*C+g*I+E*R,s[8]=f*p+g*w+E*D,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],A=e[7],d=e[8];return t*o*d-t*a*A-i*s*d+i*a*l+r*s*A-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],A=e[7],d=e[8],h=d*o-a*A,f=a*l-d*s,g=A*s-o*l,E=t*h+i*f+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/E;return e[0]=h*y,e[1]=(r*A-d*i)*y,e[2]=(a*i-r*o)*y,e[3]=f*y,e[4]=(d*t-r*l)*y,e[5]=(r*s-a*t)*y,e[6]=g*y,e[7]=(i*l-A*t)*y,e[8]=(o*t-i*s)*y,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(sE.makeScale(e,t)),this}rotate(e){return this.premultiply(sE.makeRotation(-e)),this}translate(e,t){return this.premultiply(sE.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 sE=new Qt;function gR(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const lN={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Zc(n,e){return new lN[n](e)}function xd(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function mR(){const n=xd("canvas");return n.style.display="block",n}const yw={};function xl(n){n in yw||(yw[n]=!0,console.warn(n))}const vw=new Qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),Bw=new Qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Af={[Ts]:{transfer:Cd,primaries:Id,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:fn,primaries:Id,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Gd]:{transfer:Cd,primaries:yd,toReference:n=>n.applyMatrix3(Bw),fromReference:n=>n.applyMatrix3(vw)},[Gg]:{transfer:fn,primaries:yd,toReference:n=>n.convertSRGBToLinear().applyMatrix3(Bw),fromReference:n=>n.applyMatrix3(vw).convertLinearToSRGB()}},cN=new Set([Ts,Gd]),cn={enabled:!0,_workingColorSpace:Ts,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!cN.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=Af[e].toReference,r=Af[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 Af[n].primaries},getTransfer:function(n){return n===Ar?Cd:Af[n].transfer}};function cu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function oE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let uc;class zv{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{uc===void 0&&(uc=xd("canvas")),uc.width=e.width,uc.height=e.height;const i=uc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=uc}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=xd("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!==Fg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case fd:e.x=e.x-Math.floor(e.x);break;case Ri:e.x=e.x<0?0:1;break;case pd: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 fd:e.y=e.y-Math.floor(e.y);break;case Ri:e.y=e.y<0?0:1;break;case pd: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)}get encoding(){return xl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?ga:Fv}set encoding(e){xl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===ga?Nn:Ar}}wn.DEFAULT_IMAGE=null;wn.DEFAULT_MAPPING=Fg;wn.DEFAULT_ANISOTROPY=1;class un{constructor(e=0,t=0,i=0,r=1){un.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,A=l[0],d=l[4],h=l[8],f=l[1],g=l[5],E=l[9],y=l[2],C=l[6],p=l[10];if(Math.abs(d-f)<.01&&Math.abs(h-y)<.01&&Math.abs(E-C)<.01){if(Math.abs(d+f)<.1&&Math.abs(h+y)<.1&&Math.abs(E+C)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const I=(A+1)/2,w=(g+1)/2,Q=(p+1)/2,R=(d+f)/4,D=(h+y)/4,U=(E+C)/4;return I>w&&I>Q?I<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(I),r=R/i,s=D/i):w>Q?w<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(w),i=R/r,s=U/r):Q<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(Q),i=D/s,r=U/s),this.set(i,r,s,t),this}let v=Math.sqrt((C-E)*(C-E)+(h-y)*(h-y)+(f-d)*(f-d));return Math.abs(v)<.001&&(v=1),this.x=(C-E)/v,this.y=(h-y)/v,this.z=(f-d)/v,this.w=Math.acos((A+g+p-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 ER extends Eo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new un(0,0,e,t),this.scissorTest=!1,this.viewport=new un(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(xl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===ga?Nn:Ar),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:yn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new wn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ml(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Or extends ER{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class zg extends wn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class dN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new zg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Vv extends wn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class hN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Vv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class fN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,I=1-p*p;if(I>Number.EPSILON){const Q=Math.sqrt(I),R=Math.atan2(Q,p*v);C=Math.sin(C*R)/Q,a=Math.sin(a*R)/Q}const w=a*v;if(l=l*C+f*w,A=A*C+g*w,d=d*C+E*w,h=h*C+y*w,C===1-a){const Q=1/Math.sqrt(l*l+A*A+d*d+h*h);l*=Q,A*=Q,d*=Q,h*=Q}}e[t]=l,e[t+1]=A,e[t+2]=d,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],d=i[r+3],h=s[o],f=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+d*h+l*g-A*f,e[t+1]=l*E+d*f+A*h-a*g,e[t+2]=A*E+d*g+a*f-l*h,e[t+3]=d*E-a*h-l*f-A*g,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,A=a(i/2),d=a(r/2),h=a(s/2),f=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=f*d*h+A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h-f*g*E;break;case"YXZ":this._x=f*d*h+A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h+f*g*E;break;case"ZXY":this._x=f*d*h-A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h-f*g*E;break;case"ZYX":this._x=f*d*h-A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h+f*g*E;break;case"YZX":this._x=f*d*h+A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h-f*g*E;break;case"XZY":this._x=f*d*h-A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h+f*g*E;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],A=t[2],d=t[6],h=t[10],f=i+a+h;if(f>0){const g=.5/Math.sqrt(f+1);this._w=.25/g,this._x=(d-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>h){const g=2*Math.sqrt(1+i-a-h);this._w=(d-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>h){const g=2*Math.sqrt(1+a-i-h);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+d)/g}else{const g=2*Math.sqrt(1+h-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+d)/g,this._z=.25*g}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(kn(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,A=t._z,d=t._w;return this._x=i*d+o*a+r*A-s*l,this._y=r*d+o*l+s*a-i*A,this._z=s*d+o*A+i*l-r*a,this._w=o*d-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),d=Math.atan2(A,a),h=Math.sin((1-t)*d)/A,f=Math.sin(t*d)/A;return this._w=o*h+this._w*f,this._x=i*h+this._x*f,this._y=r*h+this._y*f,this._z=s*h+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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(xw.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(xw.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,A=2*(o*r-a*i),d=2*(a*t-s*r),h=2*(s*i-o*t);return this.x=t+l*A+o*h-a*d,this.y=i+l*d+a*A-s*h,this.z=r+l*h+s*d-o*A,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 lE.copy(this).projectOnVector(e),this.sub(lE)}reflect(e){return this.sub(lE.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(kn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const lE=new O,xw=new Gn;class $n{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,Yr),Yr.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(AA),hf.subVectors(this.max,AA),Ac.subVectors(e.a,AA),dc.subVectors(e.b,AA),hc.subVectors(e.c,AA),zo.subVectors(dc,Ac),Vo.subVectors(hc,dc),Ja.subVectors(Ac,hc);let t=[0,-zo.z,zo.y,0,-Vo.z,Vo.y,0,-Ja.z,Ja.y,zo.z,0,-zo.x,Vo.z,0,-Vo.x,Ja.z,0,-Ja.x,-zo.y,zo.x,0,-Vo.y,Vo.x,0,-Ja.y,Ja.x,0];return!cE(t,Ac,dc,hc,hf)||(t=[1,0,0,0,1,0,0,0,1],!cE(t,Ac,dc,hc,hf))?!1:(ff.crossVectors(zo,Vo),t=[ff.x,ff.y,ff.z],cE(t,Ac,dc,hc,hf))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Yr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Yr).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:(Ws[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ws[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ws[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ws[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ws[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ws[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ws[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ws[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ws),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 Ws=[new O,new O,new O,new O,new O,new O,new O,new O],Yr=new O,df=new $n,Ac=new O,dc=new O,hc=new O,zo=new O,Vo=new O,Ja=new O,AA=new O,hf=new O,ff=new O,Xa=new O;function cE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Xa.fromArray(n,s);const a=r.x*Math.abs(Xa.x)+r.y*Math.abs(Xa.y)+r.z*Math.abs(Xa.z),l=e.dot(Xa),A=t.dot(Xa),d=i.dot(Xa);if(Math.max(-Math.max(l,A,d),Math.min(l,A,d))>a)return!1}return!0}const pN=new $n,dA=new O,uE=new O;class Jn{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):pN.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;dA.subVectors(e,this.center);const t=dA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(dA,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):(uE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(dA.copy(e.center).add(uE)),this.expandByPoint(dA.copy(e.center).sub(uE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ys=new O,AE=new O,pf=new O,Wo=new O,dE=new O,gf=new O,hE=new O;class Ma{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,Ys)),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=Ys.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Ys.copy(this.origin).addScaledVector(this.direction,t),Ys.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){AE.copy(e).add(t).multiplyScalar(.5),pf.copy(t).sub(e).normalize(),Wo.copy(this.origin).sub(AE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(pf),a=Wo.dot(this.direction),l=-Wo.dot(pf),A=Wo.lengthSq(),d=Math.abs(1-o*o);let h,f,g,E;if(d>0)if(h=o*l-a,f=o*a-l,E=s*d,h>=0)if(f>=-E)if(f<=E){const y=1/d;h*=y,f*=y,g=h*(h+o*f+2*a)+f*(o*h+f+2*l)+A}else f=s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;else f=-s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;else f<=-E?(h=Math.max(0,-(-o*s+a)),f=h>0?-s:Math.min(Math.max(-s,-l),s),g=-h*h+f*(f+2*l)+A):f<=E?(h=0,f=Math.min(Math.max(-s,-l),s),g=f*(f+2*l)+A):(h=Math.max(0,-(o*s+a)),f=h>0?s:Math.min(Math.max(-s,-l),s),g=-h*h+f*(f+2*l)+A);else f=o>0?-s:s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(AE).addScaledVector(pf,f),g}intersectSphere(e,t){Ys.subVectors(e.center,this.origin);const i=Ys.dot(this.direction),r=Ys.dot(Ys)-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 A=1/this.direction.x,d=1/this.direction.y,h=1/this.direction.z,f=this.origin;return A>=0?(i=(e.min.x-f.x)*A,r=(e.max.x-f.x)*A):(i=(e.max.x-f.x)*A,r=(e.min.x-f.x)*A),d>=0?(s=(e.min.y-f.y)*d,o=(e.max.y-f.y)*d):(s=(e.max.y-f.y)*d,o=(e.min.y-f.y)*d),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-f.z)*h,l=(e.max.z-f.z)*h):(a=(e.max.z-f.z)*h,l=(e.min.z-f.z)*h),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Ys)!==null}intersectTriangle(e,t,i,r,s){dE.subVectors(t,e),gf.subVectors(i,e),hE.crossVectors(dE,gf);let o=this.direction.dot(hE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Wo.subVectors(this.origin,e);const l=a*this.direction.dot(gf.crossVectors(Wo,gf));if(l<0)return null;const A=a*this.direction.dot(dE.cross(Wo));if(A<0||l+A>o)return null;const d=-a*Wo.dot(hE);return d<0?null:this.at(d/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class At{constructor(e,t,i,r,s,o,a,l,A,d,h,f,g,E,y,C){At.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,A,d,h,f,g,E,y,C)}set(e,t,i,r,s,o,a,l,A,d,h,f,g,E,y,C){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=d,p[10]=h,p[14]=f,p[3]=g,p[7]=E,p[11]=y,p[15]=C,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 At().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/fc.setFromMatrixColumn(e,0).length(),s=1/fc.setFromMatrixColumn(e,1).length(),o=1/fc.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),A=Math.sin(r),d=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const f=o*d,g=o*h,E=a*d,y=a*h;t[0]=l*d,t[4]=-l*h,t[8]=A,t[1]=g+E*A,t[5]=f-y*A,t[9]=-a*l,t[2]=y-f*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const f=l*d,g=l*h,E=A*d,y=A*h;t[0]=f+y*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*h,t[5]=o*d,t[9]=-a,t[2]=g*a-E,t[6]=y+f*a,t[10]=o*l}else if(e.order==="ZXY"){const f=l*d,g=l*h,E=A*d,y=A*h;t[0]=f-y*a,t[4]=-o*h,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*d,t[9]=y-f*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const f=o*d,g=o*h,E=a*d,y=a*h;t[0]=l*d,t[4]=E*A-g,t[8]=f*A+y,t[1]=l*h,t[5]=y*A+f,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const f=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*d,t[4]=y-f*h,t[8]=E*h+g,t[1]=h,t[5]=o*d,t[9]=-a*d,t[2]=-A*d,t[6]=g*h+E,t[10]=f-y*h}else if(e.order==="XZY"){const f=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*d,t[4]=-h,t[8]=A*d,t[1]=f*h+y,t[5]=o*d,t[9]=g*h-E,t[2]=E*h-g,t[6]=a*d,t[10]=y*h+f}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(gN,e,mN)}lookAt(e,t,i){const r=this.elements;return lr.subVectors(e,t),lr.lengthSq()===0&&(lr.z=1),lr.normalize(),Yo.crossVectors(i,lr),Yo.lengthSq()===0&&(Math.abs(i.z)===1?lr.x+=1e-4:lr.z+=1e-4,lr.normalize(),Yo.crossVectors(i,lr)),Yo.normalize(),mf.crossVectors(lr,Yo),r[0]=Yo.x,r[4]=mf.x,r[8]=lr.x,r[1]=Yo.y,r[5]=mf.y,r[9]=lr.y,r[2]=Yo.z,r[6]=mf.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],A=i[12],d=i[1],h=i[5],f=i[9],g=i[13],E=i[2],y=i[6],C=i[10],p=i[14],v=i[3],I=i[7],w=i[11],Q=i[15],R=r[0],D=r[4],U=r[8],K=r[12],_=r[1],P=r[5],Z=r[9],he=r[13],X=r[2],le=r[6],se=r[10],fe=r[14],F=r[3],$=r[7],ne=r[11],Ae=r[15];return s[0]=o*R+a*_+l*X+A*F,s[4]=o*D+a*P+l*le+A*$,s[8]=o*U+a*Z+l*se+A*ne,s[12]=o*K+a*he+l*fe+A*Ae,s[1]=d*R+h*_+f*X+g*F,s[5]=d*D+h*P+f*le+g*$,s[9]=d*U+h*Z+f*se+g*ne,s[13]=d*K+h*he+f*fe+g*Ae,s[2]=E*R+y*_+C*X+p*F,s[6]=E*D+y*P+C*le+p*$,s[10]=E*U+y*Z+C*se+p*ne,s[14]=E*K+y*he+C*fe+p*Ae,s[3]=v*R+I*_+w*X+Q*F,s[7]=v*D+I*P+w*le+Q*$,s[11]=v*U+I*Z+w*se+Q*ne,s[15]=v*K+I*he+w*fe+Q*Ae,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],A=e[13],d=e[2],h=e[6],f=e[10],g=e[14],E=e[3],y=e[7],C=e[11],p=e[15];return E*(+s*l*h-r*A*h-s*a*f+i*A*f+r*a*g-i*l*g)+y*(+t*l*g-t*A*f+s*o*f-r*o*g+r*A*d-s*l*d)+C*(+t*A*h-t*a*g-s*o*h+i*o*g+s*a*d-i*A*d)+p*(-r*a*d-t*l*h+t*a*f+r*o*h-i*o*f+i*l*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],A=e[7],d=e[8],h=e[9],f=e[10],g=e[11],E=e[12],y=e[13],C=e[14],p=e[15],v=h*C*A-y*f*A+y*l*g-a*C*g-h*l*p+a*f*p,I=E*f*A-d*C*A-E*l*g+o*C*g+d*l*p-o*f*p,w=d*y*A-E*h*A+E*a*g-o*y*g-d*a*p+o*h*p,Q=E*h*l-d*y*l-E*a*f+o*y*f+d*a*C-o*h*C,R=t*v+i*I+r*w+s*Q;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=v*D,e[1]=(y*f*s-h*C*s-y*r*g+i*C*g+h*r*p-i*f*p)*D,e[2]=(a*C*s-y*l*s+y*r*A-i*C*A-a*r*p+i*l*p)*D,e[3]=(h*l*s-a*f*s-h*r*A+i*f*A+a*r*g-i*l*g)*D,e[4]=I*D,e[5]=(d*C*s-E*f*s+E*r*g-t*C*g-d*r*p+t*f*p)*D,e[6]=(E*l*s-o*C*s-E*r*A+t*C*A+o*r*p-t*l*p)*D,e[7]=(o*f*s-d*l*s+d*r*A-t*f*A-o*r*g+t*l*g)*D,e[8]=w*D,e[9]=(E*h*s-d*y*s-E*i*g+t*y*g+d*i*p-t*h*p)*D,e[10]=(o*y*s-E*a*s+E*i*A-t*y*A-o*i*p+t*a*p)*D,e[11]=(d*a*s-o*h*s-d*i*A+t*h*A+o*i*g-t*a*g)*D,e[12]=Q*D,e[13]=(d*y*r-E*h*r+E*i*f-t*y*f-d*i*C+t*h*C)*D,e[14]=(E*a*r-o*y*r-E*i*l+t*y*l+o*i*C-t*a*C)*D,e[15]=(o*h*r-d*a*r+d*i*l-t*h*l-o*i*f+t*a*f)*D,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,A=s*o,d=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,d*a+i,d*l-r*o,0,A*l-r*a,d*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,A=s+s,d=o+o,h=a+a,f=s*A,g=s*d,E=s*h,y=o*d,C=o*h,p=a*h,v=l*A,I=l*d,w=l*h,Q=i.x,R=i.y,D=i.z;return r[0]=(1-(y+p))*Q,r[1]=(g+w)*Q,r[2]=(E-I)*Q,r[3]=0,r[4]=(g-w)*R,r[5]=(1-(f+p))*R,r[6]=(C+v)*R,r[7]=0,r[8]=(E+I)*D,r[9]=(C-v)*D,r[10]=(1-(f+y))*D,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=fc.set(r[0],r[1],r[2]).length();const o=fc.set(r[4],r[5],r[6]).length(),a=fc.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],Jr.copy(this);const A=1/s,d=1/o,h=1/a;return Jr.elements[0]*=A,Jr.elements[1]*=A,Jr.elements[2]*=A,Jr.elements[4]*=d,Jr.elements[5]*=d,Jr.elements[6]*=d,Jr.elements[8]*=h,Jr.elements[9]*=h,Jr.elements[10]*=h,t.setFromRotationMatrix(Jr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Ss){const l=this.elements,A=2*s/(t-e),d=2*s/(i-r),h=(t+e)/(t-e),f=(i+r)/(i-r);let g,E;if(a===Ss)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Bd)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=d,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,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,A=1/(t-e),d=1/(i-r),h=1/(o-s),f=(t+e)*A,g=(i+r)*d;let E,y;if(a===Ss)E=(o+s)*h,y=-2*h;else if(a===Bd)E=s*h,y=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=y,l[14]=-E,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 fc=new O,Jr=new At,gN=new O(0,0,0),mN=new O(1,1,1),Yo=new O,mf=new O,lr=new O,ww=new At,Sw=new Gn;class Su{constructor(e=0,t=0,i=0,r=Su.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],A=r[5],d=r[9],h=r[2],f=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(kn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,A),this._z=0);break;case"YXZ":this._x=Math.asin(-kn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(kn(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-kn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(kn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,A),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-kn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-d,g),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 ww.makeRotationFromQuaternion(e),this.setFromRotationMatrix(ww,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Sw.setFromEuler(this),this.setFromQuaternion(Sw,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}}Su.DEFAULT_ORDER="XYZ";class wl{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 A=0,d=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),d.length>0&&(i.images=d),h.length>0&&(i.shapes=h),f.length>0&&(i.skeletons=f),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const d=a[A];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Xr.subVectors(r,t),Xs.subVectors(i,t),fE.subVectors(e,t);const o=Xr.dot(Xr),a=Xr.dot(Xs),l=Xr.dot(fE),A=Xs.dot(Xs),d=Xs.dot(fE),h=o*A-a*a;if(h===0)return s.set(0,0,0),null;const f=1/h,g=(A*l-a*d)*f,E=(o*d-a*l)*f;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ks)===null?!1:Ks.x>=0&&Ks.y>=0&&Ks.x+Ks.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ks)===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,Ks.x),l.addScaledVector(o,Ks.y),l.addScaledVector(a,Ks.z),l)}static isFrontFacing(e,t,i,r){return Xr.subVectors(i,t),Xs.subVectors(e,t),Xr.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 Xr.subVectors(this.c,this.b),Xs.subVectors(this.a,this.b),Xr.cross(Xs).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return dr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return dr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return dr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return dr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return dr.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;gc.subVectors(r,i),mc.subVectors(s,i),pE.subVectors(e,i);const l=gc.dot(pE),A=mc.dot(pE);if(l<=0&&A<=0)return t.copy(i);gE.subVectors(e,r);const d=gc.dot(gE),h=mc.dot(gE);if(d>=0&&h<=d)return t.copy(r);const f=l*h-d*A;if(f<=0&&l>=0&&d<=0)return o=l/(l-d),t.copy(i).addScaledVector(gc,o);mE.subVectors(e,s);const g=gc.dot(mE),E=mc.dot(mE);if(E>=0&&g<=E)return t.copy(s);const y=g*A-l*E;if(y<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(mc,a);const C=d*E-g*h;if(C<=0&&h-d>=0&&g-E>=0)return Dw.subVectors(s,r),a=(h-d)/(h-d+(g-E)),t.copy(r).addScaledVector(Dw,a);const p=1/(C+y+f);return o=y*p,a=f*p,t.copy(i).addScaledVector(gc,o).addScaledVector(mc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const CR={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},Jo={h:0,s:0,l:0},Cf={h:0,s:0,l:0};function EE(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 Ze{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,cn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=cn.workingColorSpace){return this.r=e,this.g=t,this.b=i,cn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=cn.workingColorSpace){if(e=Gv(e,1),t=kn(t,0,1),i=kn(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=EE(o,s,e+1/3),this.g=EE(o,s,e),this.b=EE(o,s,e-1/3)}return cn.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=CR[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=cu(e.r),this.g=cu(e.g),this.b=cu(e.b),this}copyLinearToSRGB(e){return this.r=oE(e.r),this.g=oE(e.g),this.b=oE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return cn.fromWorkingColorSpace(_i.copy(this),e),Math.round(kn(_i.r*255,0,255))*65536+Math.round(kn(_i.g*255,0,255))*256+Math.round(kn(_i.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=cn.workingColorSpace){cn.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,A;const d=(a+o)/2;if(a===o)l=0,A=0;else{const h=o-a;switch(A=d<=.5?h/(o+a):h/(2-o-a),o){case i:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==vl&&(i.blending=this.blending),this.side!==Fr&&(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!==ug&&(i.blendSrc=this.blendSrc),this.blendDst!==Ag&&(i.blendDst=this.blendDst),this.blendEquation!==na&&(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!==Ad&&(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!==ny&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ll&&(i.stencilFail=this.stencilFail),this.stencilZFail!==ll&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==ll&&(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 ir extends Ai{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ze(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.combine=Hd,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.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 no=xN();function xN(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,d=0;for(;!(A&8388608);)A<<=1,d-=8388608;A&=-8388609,d+=947912704,s[l]=A|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function qi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=kn(n,-65504,65504),no.floatView[0]=n;const e=no.uint32View[0],t=e>>23&511;return no.baseTable[t]+((e&8388607)>>no.shiftTable[t])}function RA(n){const e=n>>10;return no.uint32View[0]=no.mantissaTable[no.offsetTable[e]+(n&1023)]+no.exponentTable[e],no.floatView[0]}const wN={toHalfFloat:qi,fromHalfFloat:RA},Wn=new O,If=new ve;class an{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=vd,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 xl("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],d=[];for(let h=0,f=A.length;h0&&(r[l]=d,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const A in r){const d=r[A];this.setAttribute(A,d.clone(t))}const s=e.morphAttributes;for(const A in s){const d=[],h=s[A];for(let f=0,g=h.length;f0){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))&&(Tw.copy(s).invert(),Ka.copy(e.ray).applyMatrix4(Tw),!(i.boundingBox!==null&&Ka.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ka)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,d=s.attributes.uv1,h=s.attributes.normal,f=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,y=f.length;Et.far?null:{distance:A,point:_f.clone(),object:n}}function Mf(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,Cc),n.getVertexPosition(l,Ic),n.getVertexPosition(A,yc);const d=LN(n,e,t,i,Cc,Ic,yc,Sf);if(d){r&&(Bf.fromBufferAttribute(r,a),xf.fromBufferAttribute(r,l),wf.fromBufferAttribute(r,A),d.uv=dr.getInterpolation(Sf,Cc,Ic,yc,Bf,xf,wf,new ve)),s&&(Bf.fromBufferAttribute(s,a),xf.fromBufferAttribute(s,l),wf.fromBufferAttribute(s,A),d.uv1=dr.getInterpolation(Sf,Cc,Ic,yc,Bf,xf,wf,new ve),d.uv2=d.uv1),o&&(Lw.fromBufferAttribute(o,a),Pw.fromBufferAttribute(o,l),Nw.fromBufferAttribute(o,A),d.normal=dr.getInterpolation(Sf,Cc,Ic,yc,Lw,Pw,Nw,new O),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const h={a,b:l,c:A,normal:new O,materialIndex:0};dr.getNormal(Cc,Ic,yc,h.normal),d.face=h}return d}class Ol extends Lt{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=[],A=[],d=[],h=[];let f=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new at(A,3)),this.setAttribute("normal",new at(d,3)),this.setAttribute("uv",new at(h,2));function E(y,C,p,v,I,w,Q,R,D,U,K){const _=w/D,P=Q/U,Z=w/2,he=Q/2,X=R/2,le=D+1,se=U+1;let fe=0,F=0;const $=new O;for(let ne=0;ne0?1:-1,d.push($.x,$.y,$.z),h.push(_e/D),h.push(1-ne/U),fe+=1}}for(let ne=0;ne>8&255]+Si[n>>16&255]+Si[n>>24&255]+"-"+Si[e&255]+Si[e>>8&255]+"-"+Si[e>>16&15|64]+Si[e>>24&255]+"-"+Si[t&63|128]+Si[t>>8&255]+"-"+Si[t>>16&255]+Si[t>>24&255]+Si[i&255]+Si[i>>8&255]+Si[i>>16&255]+Si[i>>24&255]).toLowerCase()}function kn(n,e,t){return Math.max(e,Math.min(t,n))}function Gv(n,e){return(n%e+e)%e}function XP(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function KP(n,e,t){return n!==e?(t-n)/(e-n):0}function zA(n,e,t){return(1-t)*n+t*e}function jP(n,e,t,i){return zA(n,e,1-Math.exp(-t*i))}function qP(n,e=1){return e-Math.abs(Gv(n,e*2)-e)}function ZP(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function $P(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function eN(n,e){return n+Math.floor(Math.random()*(e-n+1))}function tN(n,e){return n+Math.random()*(e-n)}function nN(n){return n*(.5-Math.random())}function iN(n){n!==void 0&&(yw=n);let e=yw+=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 rN(n){return n*Bl}function sN(n){return n*Cu}function ry(n){return(n&n-1)===0&&n!==0}function oN(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function fg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function aN(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),d=o((e+i)/2),h=s((e-i)/2),f=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*d,l*h,l*f,a*A);break;case"YZY":n.set(l*f,a*d,l*h,a*A);break;case"ZXZ":n.set(l*h,l*f,a*d,a*A);break;case"XZX":n.set(a*d,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*d,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*d,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Oi(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function bt(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const lN={DEG2RAD:Bl,RAD2DEG:Cu,generateUUID:gr,clamp:kn,euclideanModulo:Gv,mapLinear:XP,inverseLerp:KP,lerp:zA,damp:jP,pingpong:qP,smoothstep:ZP,smootherstep:$P,randInt:eN,randFloat:tN,randFloatSpread:nN,seededRandom:iN,degToRad:rN,radToDeg:sN,isPowerOfTwo:ry,ceilPowerOfTwo:oN,floorPowerOfTwo:fg,setQuaternionFromProperEuler:aN,normalize:bt,denormalize:Oi};class ve{constructor(e=0,t=0){ve.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(kn(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 Qt{constructor(e,t,i,r,s,o,a,l,A){Qt.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,A)}set(e,t,i,r,s,o,a,l,A){const d=this.elements;return d[0]=e,d[1]=r,d[2]=a,d[3]=t,d[4]=s,d[5]=l,d[6]=i,d[7]=o,d[8]=A,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],A=i[1],d=i[4],h=i[7],f=i[2],g=i[5],E=i[8],y=r[0],C=r[3],p=r[6],I=r[1],v=r[4],w=r[7],R=r[2],Q=r[5],D=r[8];return s[0]=o*y+a*I+l*R,s[3]=o*C+a*v+l*Q,s[6]=o*p+a*w+l*D,s[1]=A*y+d*I+h*R,s[4]=A*C+d*v+h*Q,s[7]=A*p+d*w+h*D,s[2]=f*y+g*I+E*R,s[5]=f*C+g*v+E*Q,s[8]=f*p+g*w+E*D,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],A=e[7],d=e[8];return t*o*d-t*a*A-i*s*d+i*a*l+r*s*A-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],A=e[7],d=e[8],h=d*o-a*A,f=a*l-d*s,g=A*s-o*l,E=t*h+i*f+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/E;return e[0]=h*y,e[1]=(r*A-d*i)*y,e[2]=(a*i-r*o)*y,e[3]=f*y,e[4]=(d*t-r*l)*y,e[5]=(r*s-a*t)*y,e[6]=g*y,e[7]=(i*l-A*t)*y,e[8]=(o*t-i*s)*y,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),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(sE.makeScale(e,t)),this}rotate(e){return this.premultiply(sE.makeRotation(-e)),this}translate(e,t){return this.premultiply(sE.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 sE=new Qt;function mR(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const cN={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Zc(n,e){return new cN[n](e)}function xd(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function ER(){const n=xd("canvas");return n.style.display="block",n}const vw={};function xl(n){n in vw||(vw[n]=!0,console.warn(n))}const Bw=new Qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),xw=new Qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Af={[Ts]:{transfer:Cd,primaries:Id,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:fn,primaries:Id,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Gd]:{transfer:Cd,primaries:yd,toReference:n=>n.applyMatrix3(xw),fromReference:n=>n.applyMatrix3(Bw)},[Gg]:{transfer:fn,primaries:yd,toReference:n=>n.convertSRGBToLinear().applyMatrix3(xw),fromReference:n=>n.applyMatrix3(Bw).convertLinearToSRGB()}},uN=new Set([Ts,Gd]),cn={enabled:!0,_workingColorSpace:Ts,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!uN.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=Af[e].toReference,r=Af[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 Af[n].primaries},getTransfer:function(n){return n===Ar?Cd:Af[n].transfer}};function cu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function oE(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let uc;class zv{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{uc===void 0&&(uc=xd("canvas")),uc.width=e.width,uc.height=e.height;const i=uc.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=uc}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=xd("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!==Fg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case fd:e.x=e.x-Math.floor(e.x);break;case Ri:e.x=e.x<0?0:1;break;case pd: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 fd:e.y=e.y-Math.floor(e.y);break;case Ri:e.y=e.y<0?0:1;break;case pd: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)}get encoding(){return xl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?ga:Fv}set encoding(e){xl("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===ga?Nn:Ar}}wn.DEFAULT_IMAGE=null;wn.DEFAULT_MAPPING=Fg;wn.DEFAULT_ANISOTROPY=1;class un{constructor(e=0,t=0,i=0,r=1){un.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,A=l[0],d=l[4],h=l[8],f=l[1],g=l[5],E=l[9],y=l[2],C=l[6],p=l[10];if(Math.abs(d-f)<.01&&Math.abs(h-y)<.01&&Math.abs(E-C)<.01){if(Math.abs(d+f)<.1&&Math.abs(h+y)<.1&&Math.abs(E+C)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(A+1)/2,w=(g+1)/2,R=(p+1)/2,Q=(d+f)/4,D=(h+y)/4,U=(E+C)/4;return v>w&&v>R?v<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(v),r=Q/i,s=D/i):w>R?w<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(w),i=Q/r,s=U/r):R<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(R),i=D/s,r=U/s),this.set(i,r,s,t),this}let I=Math.sqrt((C-E)*(C-E)+(h-y)*(h-y)+(f-d)*(f-d));return Math.abs(I)<.001&&(I=1),this.x=(C-E)/I,this.y=(h-y)/I,this.z=(f-d)/I,this.w=Math.acos((A+g+p-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 CR extends Eo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new un(0,0,e,t),this.scissorTest=!1,this.viewport=new un(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(xl("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===ga?Nn:Ar),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:yn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new wn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ml(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Or extends CR{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class zg extends wn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class hN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new zg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Vv extends wn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=On,this.minFilter=On,this.wrapR=Ri,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class fN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new Vv(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class pN extends Or{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,v=1-p*p;if(v>Number.EPSILON){const R=Math.sqrt(v),Q=Math.atan2(R,p*I);C=Math.sin(C*Q)/R,a=Math.sin(a*Q)/R}const w=a*I;if(l=l*C+f*w,A=A*C+g*w,d=d*C+E*w,h=h*C+y*w,C===1-a){const R=1/Math.sqrt(l*l+A*A+d*d+h*h);l*=R,A*=R,d*=R,h*=R}}e[t]=l,e[t+1]=A,e[t+2]=d,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],d=i[r+3],h=s[o],f=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+d*h+l*g-A*f,e[t+1]=l*E+d*f+A*h-a*g,e[t+2]=A*E+d*g+a*f-l*h,e[t+3]=d*E-a*h-l*f-A*g,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,A=a(i/2),d=a(r/2),h=a(s/2),f=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=f*d*h+A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h-f*g*E;break;case"YXZ":this._x=f*d*h+A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h+f*g*E;break;case"ZXY":this._x=f*d*h-A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h-f*g*E;break;case"ZYX":this._x=f*d*h-A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h+f*g*E;break;case"YZX":this._x=f*d*h+A*g*E,this._y=A*g*h+f*d*E,this._z=A*d*E-f*g*h,this._w=A*d*h-f*g*E;break;case"XZY":this._x=f*d*h-A*g*E,this._y=A*g*h-f*d*E,this._z=A*d*E+f*g*h,this._w=A*d*h+f*g*E;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],A=t[2],d=t[6],h=t[10],f=i+a+h;if(f>0){const g=.5/Math.sqrt(f+1);this._w=.25/g,this._x=(d-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>h){const g=2*Math.sqrt(1+i-a-h);this._w=(d-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>h){const g=2*Math.sqrt(1+a-i-h);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+d)/g}else{const g=2*Math.sqrt(1+h-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+d)/g,this._z=.25*g}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(kn(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,A=t._z,d=t._w;return this._x=i*d+o*a+r*A-s*l,this._y=r*d+o*l+s*a-i*A,this._z=s*d+o*A+i*l-r*a,this._w=o*d-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),d=Math.atan2(A,a),h=Math.sin((1-t)*d)/A,f=Math.sin(t*d)/A;return this._w=o*h+this._w*f,this._x=i*h+this._x*f,this._y=r*h+this._y*f,this._z=s*h+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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(ww.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ww.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,A=2*(o*r-a*i),d=2*(a*t-s*r),h=2*(s*i-o*t);return this.x=t+l*A+o*h-a*d,this.y=i+l*d+a*A-s*h,this.z=r+l*h+s*d-o*A,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 lE.copy(this).projectOnVector(e),this.sub(lE)}reflect(e){return this.sub(lE.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(kn(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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const lE=new O,ww=new Gn;class $n{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,Yr),Yr.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(AA),hf.subVectors(this.max,AA),Ac.subVectors(e.a,AA),dc.subVectors(e.b,AA),hc.subVectors(e.c,AA),zo.subVectors(dc,Ac),Vo.subVectors(hc,dc),Ja.subVectors(Ac,hc);let t=[0,-zo.z,zo.y,0,-Vo.z,Vo.y,0,-Ja.z,Ja.y,zo.z,0,-zo.x,Vo.z,0,-Vo.x,Ja.z,0,-Ja.x,-zo.y,zo.x,0,-Vo.y,Vo.x,0,-Ja.y,Ja.x,0];return!cE(t,Ac,dc,hc,hf)||(t=[1,0,0,0,1,0,0,0,1],!cE(t,Ac,dc,hc,hf))?!1:(ff.crossVectors(zo,Vo),t=[ff.x,ff.y,ff.z],cE(t,Ac,dc,hc,hf))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Yr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Yr).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:(Ws[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ws[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ws[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ws[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ws[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ws[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ws[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ws[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ws),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 Ws=[new O,new O,new O,new O,new O,new O,new O,new O],Yr=new O,df=new $n,Ac=new O,dc=new O,hc=new O,zo=new O,Vo=new O,Ja=new O,AA=new O,hf=new O,ff=new O,Xa=new O;function cE(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Xa.fromArray(n,s);const a=r.x*Math.abs(Xa.x)+r.y*Math.abs(Xa.y)+r.z*Math.abs(Xa.z),l=e.dot(Xa),A=t.dot(Xa),d=i.dot(Xa);if(Math.max(-Math.max(l,A,d),Math.min(l,A,d))>a)return!1}return!0}const gN=new $n,dA=new O,uE=new O;class Jn{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):gN.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;dA.subVectors(e,this.center);const t=dA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(dA,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):(uE.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(dA.copy(e.center).add(uE)),this.expandByPoint(dA.copy(e.center).sub(uE))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ys=new O,AE=new O,pf=new O,Wo=new O,dE=new O,gf=new O,hE=new O;class Ma{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,Ys)),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=Ys.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Ys.copy(this.origin).addScaledVector(this.direction,t),Ys.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){AE.copy(e).add(t).multiplyScalar(.5),pf.copy(t).sub(e).normalize(),Wo.copy(this.origin).sub(AE);const s=e.distanceTo(t)*.5,o=-this.direction.dot(pf),a=Wo.dot(this.direction),l=-Wo.dot(pf),A=Wo.lengthSq(),d=Math.abs(1-o*o);let h,f,g,E;if(d>0)if(h=o*l-a,f=o*a-l,E=s*d,h>=0)if(f>=-E)if(f<=E){const y=1/d;h*=y,f*=y,g=h*(h+o*f+2*a)+f*(o*h+f+2*l)+A}else f=s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;else f=-s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;else f<=-E?(h=Math.max(0,-(-o*s+a)),f=h>0?-s:Math.min(Math.max(-s,-l),s),g=-h*h+f*(f+2*l)+A):f<=E?(h=0,f=Math.min(Math.max(-s,-l),s),g=f*(f+2*l)+A):(h=Math.max(0,-(o*s+a)),f=h>0?s:Math.min(Math.max(-s,-l),s),g=-h*h+f*(f+2*l)+A);else f=o>0?-s:s,h=Math.max(0,-(o*f+a)),g=-h*h+f*(f+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(AE).addScaledVector(pf,f),g}intersectSphere(e,t){Ys.subVectors(e.center,this.origin);const i=Ys.dot(this.direction),r=Ys.dot(Ys)-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 A=1/this.direction.x,d=1/this.direction.y,h=1/this.direction.z,f=this.origin;return A>=0?(i=(e.min.x-f.x)*A,r=(e.max.x-f.x)*A):(i=(e.max.x-f.x)*A,r=(e.min.x-f.x)*A),d>=0?(s=(e.min.y-f.y)*d,o=(e.max.y-f.y)*d):(s=(e.max.y-f.y)*d,o=(e.min.y-f.y)*d),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-f.z)*h,l=(e.max.z-f.z)*h):(a=(e.max.z-f.z)*h,l=(e.min.z-f.z)*h),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Ys)!==null}intersectTriangle(e,t,i,r,s){dE.subVectors(t,e),gf.subVectors(i,e),hE.crossVectors(dE,gf);let o=this.direction.dot(hE),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Wo.subVectors(this.origin,e);const l=a*this.direction.dot(gf.crossVectors(Wo,gf));if(l<0)return null;const A=a*this.direction.dot(dE.cross(Wo));if(A<0||l+A>o)return null;const d=-a*Wo.dot(hE);return d<0?null:this.at(d/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class dt{constructor(e,t,i,r,s,o,a,l,A,d,h,f,g,E,y,C){dt.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,A,d,h,f,g,E,y,C)}set(e,t,i,r,s,o,a,l,A,d,h,f,g,E,y,C){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=d,p[10]=h,p[14]=f,p[3]=g,p[7]=E,p[11]=y,p[15]=C,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 dt().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/fc.setFromMatrixColumn(e,0).length(),s=1/fc.setFromMatrixColumn(e,1).length(),o=1/fc.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),A=Math.sin(r),d=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const f=o*d,g=o*h,E=a*d,y=a*h;t[0]=l*d,t[4]=-l*h,t[8]=A,t[1]=g+E*A,t[5]=f-y*A,t[9]=-a*l,t[2]=y-f*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const f=l*d,g=l*h,E=A*d,y=A*h;t[0]=f+y*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*h,t[5]=o*d,t[9]=-a,t[2]=g*a-E,t[6]=y+f*a,t[10]=o*l}else if(e.order==="ZXY"){const f=l*d,g=l*h,E=A*d,y=A*h;t[0]=f-y*a,t[4]=-o*h,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*d,t[9]=y-f*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const f=o*d,g=o*h,E=a*d,y=a*h;t[0]=l*d,t[4]=E*A-g,t[8]=f*A+y,t[1]=l*h,t[5]=y*A+f,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const f=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*d,t[4]=y-f*h,t[8]=E*h+g,t[1]=h,t[5]=o*d,t[9]=-a*d,t[2]=-A*d,t[6]=g*h+E,t[10]=f-y*h}else if(e.order==="XZY"){const f=o*l,g=o*A,E=a*l,y=a*A;t[0]=l*d,t[4]=-h,t[8]=A*d,t[1]=f*h+y,t[5]=o*d,t[9]=g*h-E,t[2]=E*h-g,t[6]=a*d,t[10]=y*h+f}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(mN,e,EN)}lookAt(e,t,i){const r=this.elements;return lr.subVectors(e,t),lr.lengthSq()===0&&(lr.z=1),lr.normalize(),Yo.crossVectors(i,lr),Yo.lengthSq()===0&&(Math.abs(i.z)===1?lr.x+=1e-4:lr.z+=1e-4,lr.normalize(),Yo.crossVectors(i,lr)),Yo.normalize(),mf.crossVectors(lr,Yo),r[0]=Yo.x,r[4]=mf.x,r[8]=lr.x,r[1]=Yo.y,r[5]=mf.y,r[9]=lr.y,r[2]=Yo.z,r[6]=mf.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],A=i[12],d=i[1],h=i[5],f=i[9],g=i[13],E=i[2],y=i[6],C=i[10],p=i[14],I=i[3],v=i[7],w=i[11],R=i[15],Q=r[0],D=r[4],U=r[8],K=r[12],_=r[1],P=r[5],Z=r[9],he=r[13],X=r[2],ae=r[6],re=r[10],fe=r[14],F=r[3],$=r[7],ne=r[11],Ae=r[15];return s[0]=o*Q+a*_+l*X+A*F,s[4]=o*D+a*P+l*ae+A*$,s[8]=o*U+a*Z+l*re+A*ne,s[12]=o*K+a*he+l*fe+A*Ae,s[1]=d*Q+h*_+f*X+g*F,s[5]=d*D+h*P+f*ae+g*$,s[9]=d*U+h*Z+f*re+g*ne,s[13]=d*K+h*he+f*fe+g*Ae,s[2]=E*Q+y*_+C*X+p*F,s[6]=E*D+y*P+C*ae+p*$,s[10]=E*U+y*Z+C*re+p*ne,s[14]=E*K+y*he+C*fe+p*Ae,s[3]=I*Q+v*_+w*X+R*F,s[7]=I*D+v*P+w*ae+R*$,s[11]=I*U+v*Z+w*re+R*ne,s[15]=I*K+v*he+w*fe+R*Ae,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],A=e[13],d=e[2],h=e[6],f=e[10],g=e[14],E=e[3],y=e[7],C=e[11],p=e[15];return E*(+s*l*h-r*A*h-s*a*f+i*A*f+r*a*g-i*l*g)+y*(+t*l*g-t*A*f+s*o*f-r*o*g+r*A*d-s*l*d)+C*(+t*A*h-t*a*g-s*o*h+i*o*g+s*a*d-i*A*d)+p*(-r*a*d-t*l*h+t*a*f+r*o*h-i*o*f+i*l*d)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],A=e[7],d=e[8],h=e[9],f=e[10],g=e[11],E=e[12],y=e[13],C=e[14],p=e[15],I=h*C*A-y*f*A+y*l*g-a*C*g-h*l*p+a*f*p,v=E*f*A-d*C*A-E*l*g+o*C*g+d*l*p-o*f*p,w=d*y*A-E*h*A+E*a*g-o*y*g-d*a*p+o*h*p,R=E*h*l-d*y*l-E*a*f+o*y*f+d*a*C-o*h*C,Q=t*I+i*v+r*w+s*R;if(Q===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/Q;return e[0]=I*D,e[1]=(y*f*s-h*C*s-y*r*g+i*C*g+h*r*p-i*f*p)*D,e[2]=(a*C*s-y*l*s+y*r*A-i*C*A-a*r*p+i*l*p)*D,e[3]=(h*l*s-a*f*s-h*r*A+i*f*A+a*r*g-i*l*g)*D,e[4]=v*D,e[5]=(d*C*s-E*f*s+E*r*g-t*C*g-d*r*p+t*f*p)*D,e[6]=(E*l*s-o*C*s-E*r*A+t*C*A+o*r*p-t*l*p)*D,e[7]=(o*f*s-d*l*s+d*r*A-t*f*A-o*r*g+t*l*g)*D,e[8]=w*D,e[9]=(E*h*s-d*y*s-E*i*g+t*y*g+d*i*p-t*h*p)*D,e[10]=(o*y*s-E*a*s+E*i*A-t*y*A-o*i*p+t*a*p)*D,e[11]=(d*a*s-o*h*s-d*i*A+t*h*A+o*i*g-t*a*g)*D,e[12]=R*D,e[13]=(d*y*r-E*h*r+E*i*f-t*y*f-d*i*C+t*h*C)*D,e[14]=(E*a*r-o*y*r-E*i*l+t*y*l+o*i*C-t*a*C)*D,e[15]=(o*h*r-d*a*r+d*i*l-t*h*l-o*i*f+t*a*f)*D,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,A=s*o,d=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,d*a+i,d*l-r*o,0,A*l-r*a,d*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,A=s+s,d=o+o,h=a+a,f=s*A,g=s*d,E=s*h,y=o*d,C=o*h,p=a*h,I=l*A,v=l*d,w=l*h,R=i.x,Q=i.y,D=i.z;return r[0]=(1-(y+p))*R,r[1]=(g+w)*R,r[2]=(E-v)*R,r[3]=0,r[4]=(g-w)*Q,r[5]=(1-(f+p))*Q,r[6]=(C+I)*Q,r[7]=0,r[8]=(E+v)*D,r[9]=(C-I)*D,r[10]=(1-(f+y))*D,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=fc.set(r[0],r[1],r[2]).length();const o=fc.set(r[4],r[5],r[6]).length(),a=fc.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],Jr.copy(this);const A=1/s,d=1/o,h=1/a;return Jr.elements[0]*=A,Jr.elements[1]*=A,Jr.elements[2]*=A,Jr.elements[4]*=d,Jr.elements[5]*=d,Jr.elements[6]*=d,Jr.elements[8]*=h,Jr.elements[9]*=h,Jr.elements[10]*=h,t.setFromRotationMatrix(Jr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Ss){const l=this.elements,A=2*s/(t-e),d=2*s/(i-r),h=(t+e)/(t-e),f=(i+r)/(i-r);let g,E;if(a===Ss)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===Bd)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=h,l[12]=0,l[1]=0,l[5]=d,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,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,A=1/(t-e),d=1/(i-r),h=1/(o-s),f=(t+e)*A,g=(i+r)*d;let E,y;if(a===Ss)E=(o+s)*h,y=-2*h;else if(a===Bd)E=s*h,y=-1*h;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=y,l[14]=-E,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 fc=new O,Jr=new dt,mN=new O(0,0,0),EN=new O(1,1,1),Yo=new O,mf=new O,lr=new O,Sw=new dt,_w=new Gn;class Su{constructor(e=0,t=0,i=0,r=Su.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],A=r[5],d=r[9],h=r[2],f=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(kn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(f,A),this._z=0);break;case"YXZ":this._x=Math.asin(-kn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(kn(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-kn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(kn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,A),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-kn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(f,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-d,g),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 Sw.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Sw,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return _w.setFromEuler(this),this.setFromQuaternion(_w,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}}Su.DEFAULT_ORDER="XYZ";class wl{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 A=0,d=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),d.length>0&&(i.images=d),h.length>0&&(i.shapes=h),f.length>0&&(i.skeletons=f),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const d=a[A];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Xr.subVectors(r,t),Xs.subVectors(i,t),fE.subVectors(e,t);const o=Xr.dot(Xr),a=Xr.dot(Xs),l=Xr.dot(fE),A=Xs.dot(Xs),d=Xs.dot(fE),h=o*A-a*a;if(h===0)return s.set(0,0,0),null;const f=1/h,g=(A*l-a*d)*f,E=(o*d-a*l)*f;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ks)===null?!1:Ks.x>=0&&Ks.y>=0&&Ks.x+Ks.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ks)===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,Ks.x),l.addScaledVector(o,Ks.y),l.addScaledVector(a,Ks.z),l)}static isFrontFacing(e,t,i,r){return Xr.subVectors(i,t),Xs.subVectors(e,t),Xr.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 Xr.subVectors(this.c,this.b),Xs.subVectors(this.a,this.b),Xr.cross(Xs).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return dr.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return dr.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return dr.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return dr.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return dr.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;gc.subVectors(r,i),mc.subVectors(s,i),pE.subVectors(e,i);const l=gc.dot(pE),A=mc.dot(pE);if(l<=0&&A<=0)return t.copy(i);gE.subVectors(e,r);const d=gc.dot(gE),h=mc.dot(gE);if(d>=0&&h<=d)return t.copy(r);const f=l*h-d*A;if(f<=0&&l>=0&&d<=0)return o=l/(l-d),t.copy(i).addScaledVector(gc,o);mE.subVectors(e,s);const g=gc.dot(mE),E=mc.dot(mE);if(E>=0&&g<=E)return t.copy(s);const y=g*A-l*E;if(y<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(mc,a);const C=d*E-g*h;if(C<=0&&h-d>=0&&g-E>=0)return Tw.subVectors(s,r),a=(h-d)/(h-d+(g-E)),t.copy(r).addScaledVector(Tw,a);const p=1/(C+y+f);return o=y*p,a=f*p,t.copy(i).addScaledVector(gc,o).addScaledVector(mc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const IR={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},Jo={h:0,s:0,l:0},Cf={h:0,s:0,l:0};function EE(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 Ze{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,cn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=cn.workingColorSpace){return this.r=e,this.g=t,this.b=i,cn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=cn.workingColorSpace){if(e=Gv(e,1),t=kn(t,0,1),i=kn(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=EE(o,s,e+1/3),this.g=EE(o,s,e),this.b=EE(o,s,e-1/3)}return cn.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=IR[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=cu(e.r),this.g=cu(e.g),this.b=cu(e.b),this}copyLinearToSRGB(e){return this.r=oE(e.r),this.g=oE(e.g),this.b=oE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return cn.fromWorkingColorSpace(_i.copy(this),e),Math.round(kn(_i.r*255,0,255))*65536+Math.round(kn(_i.g*255,0,255))*256+Math.round(kn(_i.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=cn.workingColorSpace){cn.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,A;const d=(a+o)/2;if(a===o)l=0,A=0;else{const h=o-a;switch(A=d<=.5?h/(o+a):h/(2-o-a),o){case i:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==vl&&(i.blending=this.blending),this.side!==Fr&&(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!==ug&&(i.blendSrc=this.blendSrc),this.blendDst!==Ag&&(i.blendDst=this.blendDst),this.blendEquation!==na&&(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!==Ad&&(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!==ny&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ll&&(i.stencilFail=this.stencilFail),this.stencilZFail!==ll&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==ll&&(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 ir extends ri{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ze(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.combine=Hd,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.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 no=wN();function wN(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,d=0;for(;!(A&8388608);)A<<=1,d-=8388608;A&=-8388609,d+=947912704,s[l]=A|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function qi(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=kn(n,-65504,65504),no.floatView[0]=n;const e=no.uint32View[0],t=e>>23&511;return no.baseTable[t]+((e&8388607)>>no.shiftTable[t])}function RA(n){const e=n>>10;return no.uint32View[0]=no.mantissaTable[no.offsetTable[e]+(n&1023)]+no.exponentTable[e],no.floatView[0]}const SN={toHalfFloat:qi,fromHalfFloat:RA},Wn=new O,If=new ve;class an{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=vd,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 xl("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],d=[];for(let h=0,f=A.length;h0&&(r[l]=d,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const A in r){const d=r[A];this.setAttribute(A,d.clone(t))}const s=e.morphAttributes;for(const A in s){const d=[],h=s[A];for(let f=0,g=h.length;f0){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))&&(bw.copy(s).invert(),Ka.copy(e.ray).applyMatrix4(bw),!(i.boundingBox!==null&&Ka.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ka)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,d=s.attributes.uv1,h=s.attributes.normal,f=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,y=f.length;Et.far?null:{distance:A,point:_f.clone(),object:n}}function Mf(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,Cc),n.getVertexPosition(l,Ic),n.getVertexPosition(A,yc);const d=PN(n,e,t,i,Cc,Ic,yc,Sf);if(d){r&&(Bf.fromBufferAttribute(r,a),xf.fromBufferAttribute(r,l),wf.fromBufferAttribute(r,A),d.uv=dr.getInterpolation(Sf,Cc,Ic,yc,Bf,xf,wf,new ve)),s&&(Bf.fromBufferAttribute(s,a),xf.fromBufferAttribute(s,l),wf.fromBufferAttribute(s,A),d.uv1=dr.getInterpolation(Sf,Cc,Ic,yc,Bf,xf,wf,new ve),d.uv2=d.uv1),o&&(Pw.fromBufferAttribute(o,a),Nw.fromBufferAttribute(o,l),kw.fromBufferAttribute(o,A),d.normal=dr.getInterpolation(Sf,Cc,Ic,yc,Pw,Nw,kw,new O),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const h={a,b:l,c:A,normal:new O,materialIndex:0};dr.getNormal(Cc,Ic,yc,h.normal),d.face=h}return d}class Ol extends Lt{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=[],A=[],d=[],h=[];let f=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new lt(A,3)),this.setAttribute("normal",new lt(d,3)),this.setAttribute("uv",new lt(h,2));function E(y,C,p,I,v,w,R,Q,D,U,K){const _=w/D,P=R/U,Z=w/2,he=R/2,X=Q/2,ae=D+1,re=U+1;let fe=0,F=0;const $=new O;for(let ne=0;ne0?1:-1,d.push($.x,$.y,$.z),h.push(_e/D),h.push(1-ne/U),fe+=1}}for(let ne=0;ne0&&(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 zd extends Vt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new At,this.projectionMatrix=new At,this.projectionMatrixInverse=new At,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 Xo=new O,kw=new ve,Uw=new ve;class qn extends zd{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=Cu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Bl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Cu*2*Math.atan(Math.tan(Bl*.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){Xo.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Xo.x,Xo.y).multiplyScalar(-e/Xo.z),Xo.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Xo.x,Xo.y).multiplyScalar(-e/Xo.z)}getViewSize(e,t){return this.getViewBounds(e,kw,Uw),t.subVectors(Uw,kw)}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(Bl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 vc=-90,Bc=1;class vR extends Vt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(vc,Bc,e,t);r.layers=this.layers,this.add(r);const s=new qn(vc,Bc,e,t);s.layers=this.layers,this.add(s);const o=new qn(vc,Bc,e,t);o.layers=this.layers,this.add(o);const a=new qn(vc,Bc,e,t);a.layers=this.layers,this.add(a);const l=new qn(vc,Bc,e,t);l.layers=this.layers,this.add(l);const A=new qn(vc,Bc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);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===Bd)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 A of t)this.add(A),A.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,A,d]=this.children,h=e.getRenderTarget(),f=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const y=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,A),i.texture.generateMipmaps=y,e.setRenderTarget(i,5,r),e.render(t,d),e.setRenderTarget(h,f,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Vd extends wn{constructor(e,t,i,r,s,o,a,l,A,d){e=e!==void 0?e:[],t=t!==void 0?t:go,super(e,t,i,r,s,o,a,l,A,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class BR extends Or{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];t.encoding!==void 0&&(xl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===ga?Nn:Ar),this.texture=new Vd(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:yn}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:` +}`;class ss extends ri{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=kN,this.fragmentShader=UN,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Iu(e.uniforms),this.uniformsGroups=NN(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class zd extends Vt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new dt,this.projectionMatrix=new dt,this.projectionMatrixInverse=new dt,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 Xo=new O,Uw=new ve,Fw=new ve;class qn extends zd{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=Cu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Bl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Cu*2*Math.atan(Math.tan(Bl*.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){Xo.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Xo.x,Xo.y).multiplyScalar(-e/Xo.z),Xo.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Xo.x,Xo.y).multiplyScalar(-e/Xo.z)}getViewSize(e,t){return this.getViewBounds(e,Uw,Fw),t.subVectors(Fw,Uw)}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(Bl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 vc=-90,Bc=1;class BR extends Vt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new qn(vc,Bc,e,t);r.layers=this.layers,this.add(r);const s=new qn(vc,Bc,e,t);s.layers=this.layers,this.add(s);const o=new qn(vc,Bc,e,t);o.layers=this.layers,this.add(o);const a=new qn(vc,Bc,e,t);a.layers=this.layers,this.add(a);const l=new qn(vc,Bc,e,t);l.layers=this.layers,this.add(l);const A=new qn(vc,Bc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);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===Bd)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 A of t)this.add(A),A.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,A,d]=this.children,h=e.getRenderTarget(),f=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const y=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,A),i.texture.generateMipmaps=y,e.setRenderTarget(i,5,r),e.render(t,d),e.setRenderTarget(h,f,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class Vd extends wn{constructor(e,t,i,r,s,o,a,l,A,d){e=e!==void 0?e:[],t=t!==void 0?t:go,super(e,t,i,r,s,o,a,l,A,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class xR extends Or{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];t.encoding!==void 0&&(xl("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===ga?Nn:Ar),this.texture=new Vd(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:yn}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; @@ -80,9 +80,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new Ol(5,5,5),s=new ss({name:"CubemapFromEquirect",uniforms:Iu(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Gi,blending:uo});s.uniforms.tEquirect.value=t;const o=new tn(r,s),a=t.minFilter;return t.minFilter===ws&&(t.minFilter=yn),new vR(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 yE=new O,UN=new O,FN=new Qt;class rn{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=yE.subVectors(i,t).cross(UN.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(yE),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||FN.getNormalMatrix(e),r=this.coplanarPoint(yE).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 ja=new Jn,Qf=new O;class Wd{constructor(e=new rn,t=new rn,i=new rn,r=new rn,s=new rn,o=new rn){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],A=r[4],d=r[5],h=r[6],f=r[7],g=r[8],E=r[9],y=r[10],C=r[11],p=r[12],v=r[13],I=r[14],w=r[15];if(i[0].setComponents(l-s,f-A,C-g,w-p).normalize(),i[1].setComponents(l+s,f+A,C+g,w+p).normalize(),i[2].setComponents(l+o,f+d,C+E,w+v).normalize(),i[3].setComponents(l-o,f-d,C-E,w-v).normalize(),i[4].setComponents(l-a,f-h,C-y,w-I).normalize(),t===Ss)i[5].setComponents(l+a,f+h,C+y,w+I).normalize();else if(t===Bd)i[5].setComponents(a,h,y,I).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(),ja.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),ja.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ja)}intersectsSprite(e){return ja.center.set(0,0,0),ja.radius=.7071067811865476,ja.applyMatrix4(e.matrixWorld),this.intersectsSphere(ja)}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,Qf.y=r.normal.y>0?e.max.y:e.min.y,Qf.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Qf)<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 xR(){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 ON(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,d){const h=A.array,f=A.usage,g=h.byteLength,E=n.createBuffer();n.bindBuffer(d,E),n.bufferData(d,h,f),A.onUploadCallback();let y;if(h instanceof Float32Array)y=n.FLOAT;else if(h instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)y=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else y=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)y=n.SHORT;else if(h instanceof Uint32Array)y=n.UNSIGNED_INT;else if(h instanceof Int32Array)y=n.INT;else if(h instanceof Int8Array)y=n.BYTE;else if(h instanceof Uint8Array)y=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)y=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:E,type:y,bytesPerElement:h.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,d,h){const f=d.array,g=d._updateRange,E=d.updateRanges;if(n.bindBuffer(h,A),g.count===-1&&E.length===0&&n.bufferSubData(h,0,f),E.length!==0){for(let y=0,C=E.length;y1?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||ON.getNormalMatrix(e),r=this.coplanarPoint(yE).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 ja=new Jn,Qf=new O;class Wd{constructor(e=new rn,t=new rn,i=new rn,r=new rn,s=new rn,o=new rn){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],A=r[4],d=r[5],h=r[6],f=r[7],g=r[8],E=r[9],y=r[10],C=r[11],p=r[12],I=r[13],v=r[14],w=r[15];if(i[0].setComponents(l-s,f-A,C-g,w-p).normalize(),i[1].setComponents(l+s,f+A,C+g,w+p).normalize(),i[2].setComponents(l+o,f+d,C+E,w+I).normalize(),i[3].setComponents(l-o,f-d,C-E,w-I).normalize(),i[4].setComponents(l-a,f-h,C-y,w-v).normalize(),t===Ss)i[5].setComponents(l+a,f+h,C+y,w+v).normalize();else if(t===Bd)i[5].setComponents(a,h,y,v).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(),ja.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),ja.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(ja)}intersectsSprite(e){return ja.center.set(0,0,0),ja.radius=.7071067811865476,ja.applyMatrix4(e.matrixWorld),this.intersectsSphere(ja)}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,Qf.y=r.normal.y>0?e.max.y:e.min.y,Qf.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Qf)<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 wR(){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 HN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,d){const h=A.array,f=A.usage,g=h.byteLength,E=n.createBuffer();n.bindBuffer(d,E),n.bufferData(d,h,f),A.onUploadCallback();let y;if(h instanceof Float32Array)y=n.FLOAT;else if(h instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)y=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else y=n.UNSIGNED_SHORT;else if(h instanceof Int16Array)y=n.SHORT;else if(h instanceof Uint32Array)y=n.UNSIGNED_INT;else if(h instanceof Int32Array)y=n.INT;else if(h instanceof Int8Array)y=n.BYTE;else if(h instanceof Uint8Array)y=n.UNSIGNED_BYTE;else if(h instanceof Uint8ClampedArray)y=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+h);return{buffer:E,type:y,bytesPerElement:h.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,d,h){const f=d.array,g=d._updateRange,E=d.updateRanges;if(n.bindBuffer(h,A),g.count===-1&&E.length===0&&n.bufferSubData(h,0,f),E.length!==0){for(let y=0,C=E.length;y 0 +#endif`,i4=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -312,26 +312,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,i4=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,r4=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,s4=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,o4=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,o4=`#if defined( USE_COLOR_ALPHA ) +#endif`,a4=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,a4=`#if defined( USE_COLOR_ALPHA ) +#endif`,l4=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,l4=`#if defined( USE_COLOR_ALPHA ) +#endif`,c4=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,c4=`#if defined( USE_COLOR_ALPHA ) +#endif`,u4=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -341,7 +341,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,u4=`#define PI 3.141592653589793 +#endif`,A4=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -419,7 +419,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 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`,A4=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,d4=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -512,7 +512,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,d4=`vec3 transformedNormal = objectNormal; +#endif`,h4=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -541,18 +541,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,h4=`#ifdef USE_DISPLACEMENTMAP +#endif`,f4=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,f4=`#ifdef USE_DISPLACEMENTMAP +#endif`,p4=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,p4=`#ifdef USE_EMISSIVEMAP +#endif`,g4=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,g4=`#ifdef USE_EMISSIVEMAP +#endif`,m4=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,m4="gl_FragColor = linearToOutputTexel( gl_FragColor );",E4=` +#endif`,E4="gl_FragColor = linearToOutputTexel( gl_FragColor );",C4=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -580,7 +580,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,C4=`#ifdef USE_ENVMAP +}`,I4=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -609,7 +609,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,I4=`#ifdef USE_ENVMAP +#endif`,y4=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -618,7 +618,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,y4=`#ifdef USE_ENVMAP +#endif`,v4=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -629,7 +629,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,v4=`#ifdef USE_ENVMAP +#endif`,B4=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -640,7 +640,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,B4=`#ifdef USE_ENVMAP +#endif`,x4=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -657,18 +657,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,x4=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,w4=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,S4=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,_4=`#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`,_4=`#ifdef USE_FOG +#endif`,M4=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -677,7 +677,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,M4=`#ifdef USE_GRADIENTMAP +#endif`,Q4=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -689,16 +689,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 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 -}`,Q4=`#ifdef USE_LIGHTMAP +}`,R4=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,R4=`#ifdef USE_LIGHTMAP +#endif`,D4=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,D4=`LambertMaterial material; +#endif`,T4=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,T4=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,b4=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -712,7 +712,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,b4=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,L4=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -835,7 +835,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,L4=`#ifdef USE_ENVMAP +#endif`,P4=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -868,8 +868,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,P4=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,N4=`varying vec3 vViewPosition; +#endif`,N4=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,k4=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -881,11 +881,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,k4=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,U4=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,U4=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,F4=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -902,7 +902,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,F4=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,O4=`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 ); @@ -985,7 +985,7 @@ material.roughness = min( material.roughness, 1.0 ); 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`,O4=`struct PhysicalMaterial { +#endif`,H4=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1285,7 +1285,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #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 ); -}`,H4=` +}`,G4=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1400,7 +1400,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,G4=`#if defined( RE_IndirectDiffuse ) +#endif`,z4=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1419,25 +1419,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,z4=`#if defined( RE_IndirectDiffuse ) +#endif`,V4=`#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`,V4=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,W4=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,Y4=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,Y4=`#ifdef USE_LOGDEPTHBUF +#endif`,J4=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,J4=`#ifdef USE_LOGDEPTHBUF +#endif`,X4=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1447,16 +1447,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,X4=`#ifdef USE_MAP +#endif`,K4=`#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`,K4=`#ifdef USE_MAP +#endif`,j4=`#ifdef USE_MAP uniform sampler2D map; -#endif`,j4=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,q4=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1468,7 +1468,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,q4=`#if defined( USE_POINTS_UV ) +#endif`,Z4=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1480,13 +1480,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,Z4=`float metalnessFactor = metalness; +#endif`,$4=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,$4=`#ifdef USE_METALNESSMAP +#endif`,ek=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,ek=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,tk=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1495,7 +1495,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,tk=`#ifdef USE_MORPHNORMALS +#endif`,nk=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1507,7 +1507,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,nk=`#ifdef USE_MORPHTARGETS +#endif`,ik=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1527,7 +1527,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,ik=`#ifdef USE_MORPHTARGETS +#endif`,rk=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1545,7 +1545,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,rk=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,sk=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1586,7 +1586,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,sk=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,ok=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1601,25 +1601,25 @@ vec3 nonPerturbedNormal = normal;`,sk=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,ok=`#ifndef FLAT_SHADED +#endif`,ak=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,ak=`#ifndef FLAT_SHADED +#endif`,lk=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,lk=`#ifndef FLAT_SHADED +#endif`,ck=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,ck=`#ifdef USE_NORMALMAP +#endif`,uk=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1641,13 +1641,13 @@ vec3 nonPerturbedNormal = normal;`,sk=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,uk=`#ifdef USE_CLEARCOAT +#endif`,Ak=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,Ak=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,dk=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,dk=`#ifdef USE_CLEARCOATMAP +#endif`,hk=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1656,18 +1656,18 @@ vec3 nonPerturbedNormal = normal;`,sk=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,hk=`#ifdef USE_IRIDESCENCEMAP +#endif`,fk=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,fk=`#ifdef OPAQUE +#endif`,pk=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,pk=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,gk=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1708,9 +1708,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,gk=`#ifdef PREMULTIPLIED_ALPHA +}`,mk=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,mk=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,Ek=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1718,22 +1718,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,Ck=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,Ck=`#ifdef DITHERING +#endif`,Ik=`#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`,Ik=`float roughnessFactor = roughness; +#endif`,yk=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,yk=`#ifdef USE_ROUGHNESSMAP +#endif`,vk=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,vk=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Bk=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1910,7 +1910,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,Bk=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,xk=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1948,7 +1948,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,xk=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,wk=`#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 @@ -1980,7 +1980,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,wk=`float getShadowMask() { +#endif`,Sk=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2012,12 +2012,12 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING #endif #endif return shadow; -}`,Sk=`#ifdef USE_SKINNING +}`,_k=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,_k=`#ifdef USE_SKINNING +#endif`,Mk=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2032,7 +2032,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,Mk=`#ifdef USE_SKINNING +#endif`,Qk=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2040,7 +2040,7 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,Qk=`#ifdef USE_SKINNING +#endif`,Rk=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2051,17 +2051,17 @@ gl_Position = projectionMatrix * mvPosition;`,Ek=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,Rk=`float specularStrength; +#endif`,Dk=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,Dk=`#ifdef USE_SPECULARMAP +#endif`,Tk=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,Tk=`#if defined( TONE_MAPPING ) +#endif`,bk=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,bk=`#ifndef saturate +#endif`,Lk=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,Pk=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,Pk=`#ifdef USE_TRANSMISSION +#endif`,Nk=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,Nk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,kk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,kk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Uk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,Uk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,Fk=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,Fk=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,Ok=`#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; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,Lk=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const Ok=`varying vec2 vUv; +#endif`;const Hk=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,Hk=`uniform sampler2D t2D; +}`,Gk=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,Gk=`varying vec3 vWorldDirection; +}`,zk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,zk=`#ifdef ENVMAP_TYPE_CUBE +}`,Vk=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,Vk=`varying vec3 vWorldDirection; +}`,Wk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,Wk=`uniform samplerCube tCube; +}`,Yk=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,Yk=`#include +}`,Jk=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,Jk=`#if DEPTH_PACKING == 3200 +}`,Xk=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,Xk=`#define DISTANCE +}`,Kk=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,Kk=`#define DISTANCE +}`,jk=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2683,13 +2683,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,jk=`varying vec3 vWorldDirection; +}`,qk=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,qk=`uniform sampler2D tEquirect; +}`,Zk=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,Zk=`uniform float scale; +}`,$k=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,$k=`uniform vec3 diffuse; +}`,eU=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,eU=`#include +}`,tU=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,tU=`uniform vec3 diffuse; +}`,nU=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,nU=`#define LAMBERT +}`,iU=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,iU=`#define LAMBERT +}`,rU=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,rU=`#define MATCAP +}`,sU=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,sU=`#define MATCAP +}`,oU=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,oU=`#define NORMAL +}`,aU=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,aU=`#define NORMAL +}`,lU=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3054,7 +3054,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,lU=`#define PHONG +}`,cU=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3092,7 +3092,7 @@ void main() { #include #include #include -}`,cU=`#define PHONG +}`,uU=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3151,7 +3151,7 @@ void main() { #include #include #include -}`,uU=`#define STANDARD +}`,AU=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3193,7 +3193,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,AU=`#define STANDARD +}`,dU=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3315,7 +3315,7 @@ void main() { #include #include #include -}`,dU=`#define TOON +}`,hU=`#define TOON varying vec3 vViewPosition; #include #include @@ -3351,7 +3351,7 @@ void main() { #include #include #include -}`,hU=`#define TOON +}`,fU=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3404,7 +3404,7 @@ void main() { #include #include #include -}`,fU=`uniform float size; +}`,pU=`uniform float size; uniform float scale; #include #include @@ -3434,7 +3434,7 @@ void main() { #include #include #include -}`,pU=`uniform vec3 diffuse; +}`,gU=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3459,7 +3459,7 @@ void main() { #include #include #include -}`,gU=`#include +}`,mU=`#include #include #include #include @@ -3481,7 +3481,7 @@ void main() { #include #include #include -}`,mU=`uniform vec3 color; +}`,EU=`uniform vec3 color; uniform float opacity; #include #include @@ -3497,7 +3497,7 @@ void main() { #include #include #include -}`,EU=`uniform float rotation; +}`,CU=`uniform float rotation; uniform vec2 center; #include #include @@ -3523,7 +3523,7 @@ void main() { #include #include #include -}`,CU=`uniform vec3 diffuse; +}`,IU=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3548,7 +3548,7 @@ void main() { #include #include #include -}`,Nt={alphahash_fragment:HN,alphahash_pars_fragment:GN,alphamap_fragment:zN,alphamap_pars_fragment:VN,alphatest_fragment:WN,alphatest_pars_fragment:YN,aomap_fragment:JN,aomap_pars_fragment:XN,batching_pars_vertex:KN,batching_vertex:jN,begin_vertex:qN,beginnormal_vertex:ZN,bsdfs:$N,iridescence_fragment:e4,bumpmap_pars_fragment:t4,clipping_planes_fragment:n4,clipping_planes_pars_fragment:i4,clipping_planes_pars_vertex:r4,clipping_planes_vertex:s4,color_fragment:o4,color_pars_fragment:a4,color_pars_vertex:l4,color_vertex:c4,common:u4,cube_uv_reflection_fragment:A4,defaultnormal_vertex:d4,displacementmap_pars_vertex:h4,displacementmap_vertex:f4,emissivemap_fragment:p4,emissivemap_pars_fragment:g4,colorspace_fragment:m4,colorspace_pars_fragment:E4,envmap_fragment:C4,envmap_common_pars_fragment:I4,envmap_pars_fragment:y4,envmap_pars_vertex:v4,envmap_physical_pars_fragment:L4,envmap_vertex:B4,fog_vertex:x4,fog_pars_vertex:w4,fog_fragment:S4,fog_pars_fragment:_4,gradientmap_pars_fragment:M4,lightmap_fragment:Q4,lightmap_pars_fragment:R4,lights_lambert_fragment:D4,lights_lambert_pars_fragment:T4,lights_pars_begin:b4,lights_toon_fragment:P4,lights_toon_pars_fragment:N4,lights_phong_fragment:k4,lights_phong_pars_fragment:U4,lights_physical_fragment:F4,lights_physical_pars_fragment:O4,lights_fragment_begin:H4,lights_fragment_maps:G4,lights_fragment_end:z4,logdepthbuf_fragment:V4,logdepthbuf_pars_fragment:W4,logdepthbuf_pars_vertex:Y4,logdepthbuf_vertex:J4,map_fragment:X4,map_pars_fragment:K4,map_particle_fragment:j4,map_particle_pars_fragment:q4,metalnessmap_fragment:Z4,metalnessmap_pars_fragment:$4,morphcolor_vertex:ek,morphnormal_vertex:tk,morphtarget_pars_vertex:nk,morphtarget_vertex:ik,normal_fragment_begin:rk,normal_fragment_maps:sk,normal_pars_fragment:ok,normal_pars_vertex:ak,normal_vertex:lk,normalmap_pars_fragment:ck,clearcoat_normal_fragment_begin:uk,clearcoat_normal_fragment_maps:Ak,clearcoat_pars_fragment:dk,iridescence_pars_fragment:hk,opaque_fragment:fk,packing:pk,premultiplied_alpha_fragment:gk,project_vertex:mk,dithering_fragment:Ek,dithering_pars_fragment:Ck,roughnessmap_fragment:Ik,roughnessmap_pars_fragment:yk,shadowmap_pars_fragment:vk,shadowmap_pars_vertex:Bk,shadowmap_vertex:xk,shadowmask_pars_fragment:wk,skinbase_vertex:Sk,skinning_pars_vertex:_k,skinning_vertex:Mk,skinnormal_vertex:Qk,specularmap_fragment:Rk,specularmap_pars_fragment:Dk,tonemapping_fragment:Tk,tonemapping_pars_fragment:bk,transmission_fragment:Lk,transmission_pars_fragment:Pk,uv_pars_fragment:Nk,uv_pars_vertex:kk,uv_vertex:Uk,worldpos_vertex:Fk,background_vert:Ok,background_frag:Hk,backgroundCube_vert:Gk,backgroundCube_frag:zk,cube_vert:Vk,cube_frag:Wk,depth_vert:Yk,depth_frag:Jk,distanceRGBA_vert:Xk,distanceRGBA_frag:Kk,equirect_vert:jk,equirect_frag:qk,linedashed_vert:Zk,linedashed_frag:$k,meshbasic_vert:eU,meshbasic_frag:tU,meshlambert_vert:nU,meshlambert_frag:iU,meshmatcap_vert:rU,meshmatcap_frag:sU,meshnormal_vert:oU,meshnormal_frag:aU,meshphong_vert:lU,meshphong_frag:cU,meshphysical_vert:uU,meshphysical_frag:AU,meshtoon_vert:dU,meshtoon_frag:hU,points_vert:fU,points_frag:pU,shadow_vert:gU,shadow_frag:mU,sprite_vert:EU,sprite_frag:CU},Ye={common:{diffuse:{value:new Ze(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Qt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ze(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 Ze(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0},uvTransform:{value:new Qt}},sprite:{diffuse:{value:new Ze(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}}},$r={basic:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Nt.meshbasic_vert,fragmentShader:Nt.meshbasic_frag},lambert:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)}}]),vertexShader:Nt.meshlambert_vert,fragmentShader:Nt.meshlambert_frag},phong:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)},specular:{value:new Ze(1118481)},shininess:{value:30}}]),vertexShader:Nt.meshphong_vert,fragmentShader:Nt.meshphong_frag},standard:{uniforms:ki([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag},toon:{uniforms:ki([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)}}]),vertexShader:Nt.meshtoon_vert,fragmentShader:Nt.meshtoon_frag},matcap:{uniforms:ki([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Nt.meshmatcap_vert,fragmentShader:Nt.meshmatcap_frag},points:{uniforms:ki([Ye.points,Ye.fog]),vertexShader:Nt.points_vert,fragmentShader:Nt.points_frag},dashed:{uniforms:ki([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Nt.linedashed_vert,fragmentShader:Nt.linedashed_frag},depth:{uniforms:ki([Ye.common,Ye.displacementmap]),vertexShader:Nt.depth_vert,fragmentShader:Nt.depth_frag},normal:{uniforms:ki([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Nt.meshnormal_vert,fragmentShader:Nt.meshnormal_frag},sprite:{uniforms:ki([Ye.sprite,Ye.fog]),vertexShader:Nt.sprite_vert,fragmentShader:Nt.sprite_frag},background:{uniforms:{uvTransform:{value:new Qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Nt.background_vert,fragmentShader:Nt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Nt.backgroundCube_vert,fragmentShader:Nt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Nt.cube_vert,fragmentShader:Nt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Nt.equirect_vert,fragmentShader:Nt.equirect_frag},distanceRGBA:{uniforms:ki([Ye.common,Ye.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Nt.distanceRGBA_vert,fragmentShader:Nt.distanceRGBA_frag},shadow:{uniforms:ki([Ye.lights,Ye.fog,{color:{value:new Ze(0)},opacity:{value:1}}]),vertexShader:Nt.shadow_vert,fragmentShader:Nt.shadow_frag}};$r.physical={uniforms:ki([$r.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Qt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Qt},sheen:{value:0},sheenColor:{value:new Ze(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Qt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Qt},attenuationDistance:{value:0},attenuationColor:{value:new Ze(0)},specularColor:{value:new Ze(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Qt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Qt}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag};const Rf={r:0,b:0,g:0};function IU(n,e,t,i,r,s,o){const a=new Ze(0);let l=s===!0?0:1,A,d,h=null,f=0,g=null;function E(C,p){let v=!1,I=p.isScene===!0?p.background:null;I&&I.isTexture&&(I=(p.backgroundBlurriness>0?t:e).get(I)),I===null?y(a,l):I&&I.isColor&&(y(I,1),v=!0);const w=n.xr.getEnvironmentBlendMode();w==="additive"?i.buffers.color.setClear(0,0,0,1,o):w==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||v)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),I&&(I.isCubeTexture||I.mapping===wu)?(d===void 0&&(d=new tn(new Ol(1,1,1),new ss({name:"BackgroundCubeMaterial",uniforms:Iu($r.backgroundCube.uniforms),vertexShader:$r.backgroundCube.vertexShader,fragmentShader:$r.backgroundCube.fragmentShader,side:Gi,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(Q,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(d)),d.material.uniforms.envMap.value=I,d.material.uniforms.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,d.material.toneMapped=cn.getTransfer(I.colorSpace)!==fn,(h!==I||f!==I.version||g!==n.toneMapping)&&(d.material.needsUpdate=!0,h=I,f=I.version,g=n.toneMapping),d.layers.enableAll(),C.unshift(d,d.geometry,d.material,0,0,null)):I&&I.isTexture&&(A===void 0&&(A=new tn(new Qa(2,2),new ss({name:"BackgroundMaterial",uniforms:Iu($r.background.uniforms),vertexShader:$r.background.vertexShader,fragmentShader:$r.background.fragmentShader,side:Fr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=I,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=cn.getTransfer(I.colorSpace)!==fn,I.matrixAutoUpdate===!0&&I.updateMatrix(),A.material.uniforms.uvTransform.value.copy(I.matrix),(h!==I||f!==I.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,h=I,f=I.version,g=n.toneMapping),A.layers.enableAll(),C.unshift(A,A.geometry,A.material,0,0,null))}function y(C,p){C.getRGB(Rf,IR(n)),i.buffers.color.setClear(Rf.r,Rf.g,Rf.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(C,p=1){a.set(C),l=p,y(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(C){l=C,y(a,l)},render:E}}function yU(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=C(null);let A=l,d=!1;function h(X,le,se,fe,F){let $=!1;if(o){const ne=y(fe,se,le);A!==ne&&(A=ne,g(A.object)),$=p(X,fe,se,F),$&&v(X,fe,se,F)}else{const ne=le.wireframe===!0;(A.geometry!==fe.id||A.program!==se.id||A.wireframe!==ne)&&(A.geometry=fe.id,A.program=se.id,A.wireframe=ne,$=!0)}F!==null&&t.update(F,n.ELEMENT_ARRAY_BUFFER),($||d)&&(d=!1,U(X,le,se,fe),F!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(F).buffer))}function f(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(X){return i.isWebGL2?n.bindVertexArray(X):s.bindVertexArrayOES(X)}function E(X){return i.isWebGL2?n.deleteVertexArray(X):s.deleteVertexArrayOES(X)}function y(X,le,se){const fe=se.wireframe===!0;let F=a[X.id];F===void 0&&(F={},a[X.id]=F);let $=F[le.id];$===void 0&&($={},F[le.id]=$);let ne=$[fe];return ne===void 0&&(ne=C(f()),$[fe]=ne),ne}function C(X){const le=[],se=[],fe=[];for(let F=0;F=0){const W=F[_e];let z=$[_e];if(z===void 0&&(_e==="instanceMatrix"&&X.instanceMatrix&&(z=X.instanceMatrix),_e==="instanceColor"&&X.instanceColor&&(z=X.instanceColor)),W===void 0||W.attribute!==z||z&&W.data!==z.data)return!0;ne++}return A.attributesNum!==ne||A.index!==fe}function v(X,le,se,fe){const F={},$=le.attributes;let ne=0;const Ae=se.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let W=$[_e];W===void 0&&(_e==="instanceMatrix"&&X.instanceMatrix&&(W=X.instanceMatrix),_e==="instanceColor"&&X.instanceColor&&(W=X.instanceColor));const z={};z.attribute=W,W&&W.data&&(z.data=W.data),F[_e]=z,ne++}A.attributes=F,A.attributesNum=ne,A.index=fe}function I(){const X=A.newAttributes;for(let le=0,se=X.length;le=0){let Ue=F[Ae];if(Ue===void 0&&(Ae==="instanceMatrix"&&X.instanceMatrix&&(Ue=X.instanceMatrix),Ae==="instanceColor"&&X.instanceColor&&(Ue=X.instanceColor)),Ue!==void 0){const W=Ue.normalized,z=Ue.itemSize,H=t.get(Ue);if(H===void 0)continue;const N=H.buffer,Ee=H.type,Be=H.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||Ue.gpuType===Dv);if(Ue.isInterleavedBufferAttribute){const we=Ue.data,G=we.stride,me=Ue.offset;if(we.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)Q(_e.location+te,we.meshPerAttribute);X.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=we.meshPerAttribute*we.count)}else for(let te=0;te<_e.locationSize;te++)w(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,N);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,z/_e.locationSize,Ee,W,G*Be,(me+z/_e.locationSize*te)*Be,pe)}else{if(Ue.isInstancedBufferAttribute){for(let we=0;we<_e.locationSize;we++)Q(_e.location+we,Ue.meshPerAttribute);X.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=Ue.meshPerAttribute*Ue.count)}else for(let we=0;we<_e.locationSize;we++)w(_e.location+we);n.bindBuffer(n.ARRAY_BUFFER,N);for(let we=0;we<_e.locationSize;we++)D(_e.location+we,z/_e.locationSize,Ee,W,z*Be,z/_e.locationSize*we*Be,pe)}}else if(ne!==void 0){const W=ne[Ae];if(W!==void 0)switch(W.length){case 2:n.vertexAttrib2fv(_e.location,W);break;case 3:n.vertexAttrib3fv(_e.location,W);break;case 4:n.vertexAttrib4fv(_e.location,W);break;default:n.vertexAttrib1fv(_e.location,W)}}}}R()}function K(){Z();for(const X in a){const le=a[X];for(const se in le){const fe=le[se];for(const F in fe)E(fe[F].object),delete fe[F];delete le[se]}delete a[X]}}function _(X){if(a[X.id]===void 0)return;const le=a[X.id];for(const se in le){const fe=le[se];for(const F in fe)E(fe[F].object),delete fe[F];delete le[se]}delete a[X.id]}function P(X){for(const le in a){const se=a[le];if(se[X.id]===void 0)continue;const fe=se[X.id];for(const F in fe)E(fe[F].object),delete fe[F];delete se[X.id]}}function Z(){he(),d=!0,A!==l&&(A=l,g(A.object))}function he(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:h,reset:Z,resetDefaultState:he,dispose:K,releaseStatesOfGeometry:_,releaseStatesOfProgram:P,initAttributes:I,enableAttribute:w,disableUnusedAttributes:R}}function vU(n,e,t,i){const r=i.isWebGL2;let s;function o(d){s=d}function a(d,h){n.drawArrays(s,d,h),t.update(h,s,1)}function l(d,h,f){if(f===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,d,h,f),t.update(h,s,f)}function A(d,h,f){if(f===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),C=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),v=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),I=f>0,w=o||e.has("OES_texture_float"),Q=I&&w,R=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:d,maxTextures:h,maxVertexTextures:f,maxTextureSize:g,maxCubemapSize:E,maxAttributes:y,maxVertexUniforms:C,maxVaryings:p,maxFragmentUniforms:v,vertexTextures:I,floatFragmentTextures:w,floatVertexTextures:Q,maxSamples:R}}function xU(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new rn,a=new Qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const g=h.length!==0||f||i!==0||r;return r=f,i=h.length,g},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,f){t=d(h,f,0)},this.setState=function(h,f,g){const E=h.clippingPlanes,y=h.clipIntersection,C=h.clipShadows,p=n.get(h);if(!r||E===null||E.length===0||s&&!C)s?d(null):A();else{const v=s?0:i,I=v*4;let w=p.clippingState||null;l.value=w,w=d(E,f,I,g);for(let Q=0;Q!==I;++Q)w[Q]=t[Q];p.clippingState=w,this.numIntersection=y?this.numPlanes:0,this.numPlanes+=v}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function d(h,f,g,E){const y=h!==null?h.length:0;let C=null;if(y!==0){if(C=l.value,E!==!0||C===null){const p=g+y*4,v=f.matrixWorldInverse;a.getNormalMatrix(v),(C===null||C.length0){const A=new BR(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 _u extends zd{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const $c=4,Fw=[.125,.215,.35,.446,.526,.582],Al=20,vE=new _u,Ow=new Ze;let BE=null,xE=0,wE=0;const cl=(1+Math.sqrt(5))/2,xc=1/cl,Hw=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,cl,xc),new O(0,cl,-xc),new O(xc,0,cl),new O(-xc,0,cl),new O(cl,xc,0),new O(-cl,xc,0)];class sy{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){BE=this._renderer.getRenderTarget(),xE=this._renderer.getActiveCubeFace(),wE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Vw(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=zw(),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?I:0,I,I),d.setRenderTarget(r),y&&d.render(E,a),d.render(e,a)}E.geometry.dispose(),E.material.dispose(),d.toneMapping=f,d.autoClear=h,e.background=C}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===go||e.mapping===va;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Vw()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=zw());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new tn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Df(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,vE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rAl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${C} samples when the maximum is set to ${Al}`);const p=[];let v=0;for(let D=0;DI-$c?r-I+$c:0),R=4*(this._cubeSize-w);Df(t,Q,R,3*w,2*w),l.setRenderTarget(t),l.render(h,vE)}}function SU(n){const e=[],t=[],i=[];let r=n;const s=n-$c+1+Fw.length;for(let o=0;on-$c?l=Fw[o-n+$c-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),d=-A,h=1+A,f=[d,d,h,d,h,h,d,d,h,h,d,h],g=6,E=6,y=3,C=2,p=1,v=new Float32Array(y*E*g),I=new Float32Array(C*E*g),w=new Float32Array(p*E*g);for(let R=0;R2?0:-1,K=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];v.set(K,y*E*R),I.set(f,C*E*R);const _=[R,R,R,R,R,R];w.set(_,p*E*R)}const Q=new Lt;Q.setAttribute("position",new an(v,y)),Q.setAttribute("uv",new an(I,C)),Q.setAttribute("faceIndex",new an(w,p)),e.push(Q),r>$c&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function Gw(n,e,t){const i=new Or(n,e,t);return i.texture.mapping=wu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Df(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function _U(n,e,t){const i=new Float32Array(Al),r=new O(0,1,0);return new ss({name:"SphericalGaussianBlur",defines:{n:Al,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:Jv(),fragmentShader:` +}`,Nt={alphahash_fragment:GN,alphahash_pars_fragment:zN,alphamap_fragment:VN,alphamap_pars_fragment:WN,alphatest_fragment:YN,alphatest_pars_fragment:JN,aomap_fragment:XN,aomap_pars_fragment:KN,batching_pars_vertex:jN,batching_vertex:qN,begin_vertex:ZN,beginnormal_vertex:$N,bsdfs:e4,iridescence_fragment:t4,bumpmap_pars_fragment:n4,clipping_planes_fragment:i4,clipping_planes_pars_fragment:r4,clipping_planes_pars_vertex:s4,clipping_planes_vertex:o4,color_fragment:a4,color_pars_fragment:l4,color_pars_vertex:c4,color_vertex:u4,common:A4,cube_uv_reflection_fragment:d4,defaultnormal_vertex:h4,displacementmap_pars_vertex:f4,displacementmap_vertex:p4,emissivemap_fragment:g4,emissivemap_pars_fragment:m4,colorspace_fragment:E4,colorspace_pars_fragment:C4,envmap_fragment:I4,envmap_common_pars_fragment:y4,envmap_pars_fragment:v4,envmap_pars_vertex:B4,envmap_physical_pars_fragment:P4,envmap_vertex:x4,fog_vertex:w4,fog_pars_vertex:S4,fog_fragment:_4,fog_pars_fragment:M4,gradientmap_pars_fragment:Q4,lightmap_fragment:R4,lightmap_pars_fragment:D4,lights_lambert_fragment:T4,lights_lambert_pars_fragment:b4,lights_pars_begin:L4,lights_toon_fragment:N4,lights_toon_pars_fragment:k4,lights_phong_fragment:U4,lights_phong_pars_fragment:F4,lights_physical_fragment:O4,lights_physical_pars_fragment:H4,lights_fragment_begin:G4,lights_fragment_maps:z4,lights_fragment_end:V4,logdepthbuf_fragment:W4,logdepthbuf_pars_fragment:Y4,logdepthbuf_pars_vertex:J4,logdepthbuf_vertex:X4,map_fragment:K4,map_pars_fragment:j4,map_particle_fragment:q4,map_particle_pars_fragment:Z4,metalnessmap_fragment:$4,metalnessmap_pars_fragment:ek,morphcolor_vertex:tk,morphnormal_vertex:nk,morphtarget_pars_vertex:ik,morphtarget_vertex:rk,normal_fragment_begin:sk,normal_fragment_maps:ok,normal_pars_fragment:ak,normal_pars_vertex:lk,normal_vertex:ck,normalmap_pars_fragment:uk,clearcoat_normal_fragment_begin:Ak,clearcoat_normal_fragment_maps:dk,clearcoat_pars_fragment:hk,iridescence_pars_fragment:fk,opaque_fragment:pk,packing:gk,premultiplied_alpha_fragment:mk,project_vertex:Ek,dithering_fragment:Ck,dithering_pars_fragment:Ik,roughnessmap_fragment:yk,roughnessmap_pars_fragment:vk,shadowmap_pars_fragment:Bk,shadowmap_pars_vertex:xk,shadowmap_vertex:wk,shadowmask_pars_fragment:Sk,skinbase_vertex:_k,skinning_pars_vertex:Mk,skinning_vertex:Qk,skinnormal_vertex:Rk,specularmap_fragment:Dk,specularmap_pars_fragment:Tk,tonemapping_fragment:bk,tonemapping_pars_fragment:Lk,transmission_fragment:Pk,transmission_pars_fragment:Nk,uv_pars_fragment:kk,uv_pars_vertex:Uk,uv_vertex:Fk,worldpos_vertex:Ok,background_vert:Hk,background_frag:Gk,backgroundCube_vert:zk,backgroundCube_frag:Vk,cube_vert:Wk,cube_frag:Yk,depth_vert:Jk,depth_frag:Xk,distanceRGBA_vert:Kk,distanceRGBA_frag:jk,equirect_vert:qk,equirect_frag:Zk,linedashed_vert:$k,linedashed_frag:eU,meshbasic_vert:tU,meshbasic_frag:nU,meshlambert_vert:iU,meshlambert_frag:rU,meshmatcap_vert:sU,meshmatcap_frag:oU,meshnormal_vert:aU,meshnormal_frag:lU,meshphong_vert:cU,meshphong_frag:uU,meshphysical_vert:AU,meshphysical_frag:dU,meshtoon_vert:hU,meshtoon_frag:fU,points_vert:pU,points_frag:gU,shadow_vert:mU,shadow_frag:EU,sprite_vert:CU,sprite_frag:IU},Ye={common:{diffuse:{value:new Ze(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Qt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Qt},normalScale:{value:new ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ze(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 Ze(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0},uvTransform:{value:new Qt}},sprite:{diffuse:{value:new Ze(16777215)},opacity:{value:1},center:{value:new ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}}},$r={basic:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Nt.meshbasic_vert,fragmentShader:Nt.meshbasic_frag},lambert:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)}}]),vertexShader:Nt.meshlambert_vert,fragmentShader:Nt.meshlambert_frag},phong:{uniforms:ki([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)},specular:{value:new Ze(1118481)},shininess:{value:30}}]),vertexShader:Nt.meshphong_vert,fragmentShader:Nt.meshphong_frag},standard:{uniforms:ki([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag},toon:{uniforms:ki([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new Ze(0)}}]),vertexShader:Nt.meshtoon_vert,fragmentShader:Nt.meshtoon_frag},matcap:{uniforms:ki([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Nt.meshmatcap_vert,fragmentShader:Nt.meshmatcap_frag},points:{uniforms:ki([Ye.points,Ye.fog]),vertexShader:Nt.points_vert,fragmentShader:Nt.points_frag},dashed:{uniforms:ki([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Nt.linedashed_vert,fragmentShader:Nt.linedashed_frag},depth:{uniforms:ki([Ye.common,Ye.displacementmap]),vertexShader:Nt.depth_vert,fragmentShader:Nt.depth_frag},normal:{uniforms:ki([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Nt.meshnormal_vert,fragmentShader:Nt.meshnormal_frag},sprite:{uniforms:ki([Ye.sprite,Ye.fog]),vertexShader:Nt.sprite_vert,fragmentShader:Nt.sprite_frag},background:{uniforms:{uvTransform:{value:new Qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Nt.background_vert,fragmentShader:Nt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Nt.backgroundCube_vert,fragmentShader:Nt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Nt.cube_vert,fragmentShader:Nt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Nt.equirect_vert,fragmentShader:Nt.equirect_frag},distanceRGBA:{uniforms:ki([Ye.common,Ye.displacementmap,{referencePosition:{value:new O},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Nt.distanceRGBA_vert,fragmentShader:Nt.distanceRGBA_frag},shadow:{uniforms:ki([Ye.lights,Ye.fog,{color:{value:new Ze(0)},opacity:{value:1}}]),vertexShader:Nt.shadow_vert,fragmentShader:Nt.shadow_frag}};$r.physical={uniforms:ki([$r.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Qt},clearcoatNormalScale:{value:new ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Qt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Qt},sheen:{value:0},sheenColor:{value:new Ze(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Qt},transmissionSamplerSize:{value:new ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Qt},attenuationDistance:{value:0},attenuationColor:{value:new Ze(0)},specularColor:{value:new Ze(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Qt},anisotropyVector:{value:new ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Qt}}]),vertexShader:Nt.meshphysical_vert,fragmentShader:Nt.meshphysical_frag};const Rf={r:0,b:0,g:0};function yU(n,e,t,i,r,s,o){const a=new Ze(0);let l=s===!0?0:1,A,d,h=null,f=0,g=null;function E(C,p){let I=!1,v=p.isScene===!0?p.background:null;v&&v.isTexture&&(v=(p.backgroundBlurriness>0?t:e).get(v)),v===null?y(a,l):v&&v.isColor&&(y(v,1),I=!0);const w=n.xr.getEnvironmentBlendMode();w==="additive"?i.buffers.color.setClear(0,0,0,1,o):w==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||I)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),v&&(v.isCubeTexture||v.mapping===wu)?(d===void 0&&(d=new Zt(new Ol(1,1,1),new ss({name:"BackgroundCubeMaterial",uniforms:Iu($r.backgroundCube.uniforms),vertexShader:$r.backgroundCube.vertexShader,fragmentShader:$r.backgroundCube.fragmentShader,side:Gi,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(R,Q,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(d)),d.material.uniforms.envMap.value=v,d.material.uniforms.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,d.material.toneMapped=cn.getTransfer(v.colorSpace)!==fn,(h!==v||f!==v.version||g!==n.toneMapping)&&(d.material.needsUpdate=!0,h=v,f=v.version,g=n.toneMapping),d.layers.enableAll(),C.unshift(d,d.geometry,d.material,0,0,null)):v&&v.isTexture&&(A===void 0&&(A=new Zt(new Qa(2,2),new ss({name:"BackgroundMaterial",uniforms:Iu($r.background.uniforms),vertexShader:$r.background.vertexShader,fragmentShader:$r.background.fragmentShader,side:Fr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=v,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=cn.getTransfer(v.colorSpace)!==fn,v.matrixAutoUpdate===!0&&v.updateMatrix(),A.material.uniforms.uvTransform.value.copy(v.matrix),(h!==v||f!==v.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,h=v,f=v.version,g=n.toneMapping),A.layers.enableAll(),C.unshift(A,A.geometry,A.material,0,0,null))}function y(C,p){C.getRGB(Rf,yR(n)),i.buffers.color.setClear(Rf.r,Rf.g,Rf.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(C,p=1){a.set(C),l=p,y(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(C){l=C,y(a,l)},render:E}}function vU(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=C(null);let A=l,d=!1;function h(X,ae,re,fe,F){let $=!1;if(o){const ne=y(fe,re,ae);A!==ne&&(A=ne,g(A.object)),$=p(X,fe,re,F),$&&I(X,fe,re,F)}else{const ne=ae.wireframe===!0;(A.geometry!==fe.id||A.program!==re.id||A.wireframe!==ne)&&(A.geometry=fe.id,A.program=re.id,A.wireframe=ne,$=!0)}F!==null&&t.update(F,n.ELEMENT_ARRAY_BUFFER),($||d)&&(d=!1,U(X,ae,re,fe),F!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(F).buffer))}function f(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(X){return i.isWebGL2?n.bindVertexArray(X):s.bindVertexArrayOES(X)}function E(X){return i.isWebGL2?n.deleteVertexArray(X):s.deleteVertexArrayOES(X)}function y(X,ae,re){const fe=re.wireframe===!0;let F=a[X.id];F===void 0&&(F={},a[X.id]=F);let $=F[ae.id];$===void 0&&($={},F[ae.id]=$);let ne=$[fe];return ne===void 0&&(ne=C(f()),$[fe]=ne),ne}function C(X){const ae=[],re=[],fe=[];for(let F=0;F=0){const W=F[_e];let z=$[_e];if(z===void 0&&(_e==="instanceMatrix"&&X.instanceMatrix&&(z=X.instanceMatrix),_e==="instanceColor"&&X.instanceColor&&(z=X.instanceColor)),W===void 0||W.attribute!==z||z&&W.data!==z.data)return!0;ne++}return A.attributesNum!==ne||A.index!==fe}function I(X,ae,re,fe){const F={},$=ae.attributes;let ne=0;const Ae=re.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let W=$[_e];W===void 0&&(_e==="instanceMatrix"&&X.instanceMatrix&&(W=X.instanceMatrix),_e==="instanceColor"&&X.instanceColor&&(W=X.instanceColor));const z={};z.attribute=W,W&&W.data&&(z.data=W.data),F[_e]=z,ne++}A.attributes=F,A.attributesNum=ne,A.index=fe}function v(){const X=A.newAttributes;for(let ae=0,re=X.length;ae=0){let Ue=F[Ae];if(Ue===void 0&&(Ae==="instanceMatrix"&&X.instanceMatrix&&(Ue=X.instanceMatrix),Ae==="instanceColor"&&X.instanceColor&&(Ue=X.instanceColor)),Ue!==void 0){const W=Ue.normalized,z=Ue.itemSize,H=t.get(Ue);if(H===void 0)continue;const N=H.buffer,Ee=H.type,Be=H.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||Ue.gpuType===Dv);if(Ue.isInterleavedBufferAttribute){const we=Ue.data,G=we.stride,me=Ue.offset;if(we.isInstancedInterleavedBuffer){for(let te=0;te<_e.locationSize;te++)R(_e.location+te,we.meshPerAttribute);X.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=we.meshPerAttribute*we.count)}else for(let te=0;te<_e.locationSize;te++)w(_e.location+te);n.bindBuffer(n.ARRAY_BUFFER,N);for(let te=0;te<_e.locationSize;te++)D(_e.location+te,z/_e.locationSize,Ee,W,G*Be,(me+z/_e.locationSize*te)*Be,pe)}else{if(Ue.isInstancedBufferAttribute){for(let we=0;we<_e.locationSize;we++)R(_e.location+we,Ue.meshPerAttribute);X.isInstancedMesh!==!0&&fe._maxInstanceCount===void 0&&(fe._maxInstanceCount=Ue.meshPerAttribute*Ue.count)}else for(let we=0;we<_e.locationSize;we++)w(_e.location+we);n.bindBuffer(n.ARRAY_BUFFER,N);for(let we=0;we<_e.locationSize;we++)D(_e.location+we,z/_e.locationSize,Ee,W,z*Be,z/_e.locationSize*we*Be,pe)}}else if(ne!==void 0){const W=ne[Ae];if(W!==void 0)switch(W.length){case 2:n.vertexAttrib2fv(_e.location,W);break;case 3:n.vertexAttrib3fv(_e.location,W);break;case 4:n.vertexAttrib4fv(_e.location,W);break;default:n.vertexAttrib1fv(_e.location,W)}}}}Q()}function K(){Z();for(const X in a){const ae=a[X];for(const re in ae){const fe=ae[re];for(const F in fe)E(fe[F].object),delete fe[F];delete ae[re]}delete a[X]}}function _(X){if(a[X.id]===void 0)return;const ae=a[X.id];for(const re in ae){const fe=ae[re];for(const F in fe)E(fe[F].object),delete fe[F];delete ae[re]}delete a[X.id]}function P(X){for(const ae in a){const re=a[ae];if(re[X.id]===void 0)continue;const fe=re[X.id];for(const F in fe)E(fe[F].object),delete fe[F];delete re[X.id]}}function Z(){he(),d=!0,A!==l&&(A=l,g(A.object))}function he(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:h,reset:Z,resetDefaultState:he,dispose:K,releaseStatesOfGeometry:_,releaseStatesOfProgram:P,initAttributes:v,enableAttribute:w,disableUnusedAttributes:Q}}function BU(n,e,t,i){const r=i.isWebGL2;let s;function o(d){s=d}function a(d,h){n.drawArrays(s,d,h),t.update(h,s,1)}function l(d,h,f){if(f===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,d,h,f),t.update(h,s,f)}function A(d,h,f){if(f===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),d=t.logarithmicDepthBuffer===!0,h=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),f=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),y=n.getParameter(n.MAX_VERTEX_ATTRIBS),C=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),I=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),v=f>0,w=o||e.has("OES_texture_float"),R=v&&w,Q=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:d,maxTextures:h,maxVertexTextures:f,maxTextureSize:g,maxCubemapSize:E,maxAttributes:y,maxVertexUniforms:C,maxVaryings:p,maxFragmentUniforms:I,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:R,maxSamples:Q}}function wU(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new rn,a=new Qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,f){const g=h.length!==0||f||i!==0||r;return r=f,i=h.length,g},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,f){t=d(h,f,0)},this.setState=function(h,f,g){const E=h.clippingPlanes,y=h.clipIntersection,C=h.clipShadows,p=n.get(h);if(!r||E===null||E.length===0||s&&!C)s?d(null):A();else{const I=s?0:i,v=I*4;let w=p.clippingState||null;l.value=w,w=d(E,f,v,g);for(let R=0;R!==v;++R)w[R]=t[R];p.clippingState=w,this.numIntersection=y?this.numPlanes:0,this.numPlanes+=I}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function d(h,f,g,E){const y=h!==null?h.length:0;let C=null;if(y!==0){if(C=l.value,E!==!0||C===null){const p=g+y*4,I=f.matrixWorldInverse;a.getNormalMatrix(I),(C===null||C.length0){const A=new xR(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 _u extends zd{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const $c=4,Ow=[.125,.215,.35,.446,.526,.582],Al=20,vE=new _u,Hw=new Ze;let BE=null,xE=0,wE=0;const cl=(1+Math.sqrt(5))/2,xc=1/cl,Gw=[new O(1,1,1),new O(-1,1,1),new O(1,1,-1),new O(-1,1,-1),new O(0,cl,xc),new O(0,cl,-xc),new O(xc,0,cl),new O(-xc,0,cl),new O(cl,xc,0),new O(-cl,xc,0)];class sy{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){BE=this._renderer.getRenderTarget(),xE=this._renderer.getActiveCubeFace(),wE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Ww(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Vw(),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?v:0,v,v),d.setRenderTarget(r),y&&d.render(E,a),d.render(e,a)}E.geometry.dispose(),E.material.dispose(),d.toneMapping=f,d.autoClear=h,e.background=C}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===go||e.mapping===va;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Ww()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Vw());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Zt(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Df(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,vE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rAl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${C} samples when the maximum is set to ${Al}`);const p=[];let I=0;for(let D=0;Dv-$c?r-v+$c:0),Q=4*(this._cubeSize-w);Df(t,R,Q,3*w,2*w),l.setRenderTarget(t),l.render(h,vE)}}function _U(n){const e=[],t=[],i=[];let r=n;const s=n-$c+1+Ow.length;for(let o=0;on-$c?l=Ow[o-n+$c-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),d=-A,h=1+A,f=[d,d,h,d,h,h,d,d,h,h,d,h],g=6,E=6,y=3,C=2,p=1,I=new Float32Array(y*E*g),v=new Float32Array(C*E*g),w=new Float32Array(p*E*g);for(let Q=0;Q2?0:-1,K=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];I.set(K,y*E*Q),v.set(f,C*E*Q);const _=[Q,Q,Q,Q,Q,Q];w.set(_,p*E*Q)}const R=new Lt;R.setAttribute("position",new an(I,y)),R.setAttribute("uv",new an(v,C)),R.setAttribute("faceIndex",new an(w,p)),e.push(R),r>$c&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function zw(n,e,t){const i=new Or(n,e,t);return i.texture.mapping=wu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Df(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(Al),r=new O(0,1,0);return new ss({name:"SphericalGaussianBlur",defines:{n:Al,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:Jv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3608,7 +3608,7 @@ void main() { } } - `,blending:uo,depthTest:!1,depthWrite:!1})}function zw(){return new ss({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Jv(),fragmentShader:` + `,blending:uo,depthTest:!1,depthWrite:!1})}function Vw(){return new ss({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Jv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3627,7 +3627,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:uo,depthTest:!1,depthWrite:!1})}function Vw(){return new ss({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Jv(),fragmentShader:` + `,blending:uo,depthTest:!1,depthWrite:!1})}function Ww(){return new ss({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Jv(),fragmentShader:` precision mediump float; precision mediump int; @@ -3698,16 +3698,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function MU(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,A=l===dd||l===hd,d=l===go||l===va;if(A||d)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let h=e.get(a);return t===null&&(t=new sy(n)),h=A?t.fromEquirectangular(a,h):t.fromCubemap(a,h),e.set(a,h),h.texture}else{if(e.has(a))return e.get(a).texture;{const h=a.image;if(A&&h&&h.height>0||d&&h&&r(h)){t===null&&(t=new sy(n));const f=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let d=0;de.maxTextureSize&&(_=Math.ceil(K/e.maxTextureSize),K=e.maxTextureSize);const P=new Float32Array(K*_*4*E),Z=new zg(P,K,_,E);Z.type=br,Z.needsUpdate=!0;const he=U*4;for(let le=0;le0)return n;const r=e*t;let s=Ww[r];if(s===void 0&&(s=new Float32Array(r),Ww[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 ei(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||d&&h&&r(h)){t===null&&(t=new sy(n));const f=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,f),a.addEventListener("dispose",s),f.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let d=0;de.maxTextureSize&&(_=Math.ceil(K/e.maxTextureSize),K=e.maxTextureSize);const P=new Float32Array(K*_*4*E),Z=new zg(P,K,_,E);Z.type=br,Z.needsUpdate=!0;const he=U*4;for(let ae=0;ae0)return n;const r=e*t;let s=Yw[r];if(s===void 0&&(s=new Float32Array(r),Yw[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 ei(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function RF(n){const e=cn.getPrimaries(cn.workingColorSpace),t=cn.getPrimaries(n);let i;switch(e===t?i="":e===yd&&t===Id?i="LinearDisplayP3ToLinearSRGB":e===Id&&t===yd&&(i="LinearSRGBToLinearDisplayP3"),n){case Ts:case Gd:return[i,"LinearTransferOETF"];case Nn:case Gg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function Zw(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()+` +`)}function DF(n){const e=cn.getPrimaries(cn.workingColorSpace),t=cn.getPrimaries(n);let i;switch(e===t?i="":e===yd&&t===Id?i="LinearDisplayP3ToLinearSRGB":e===Id&&t===yd&&(i="LinearSRGBToLinearDisplayP3"),n){case Ts:case Gd:return[i,"LinearTransferOETF"];case Nn:case Gg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function $w(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+` -`+QF(n.getShaderSource(e),o)}else return r}function DF(n,e){const t=RF(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function TF(n,e){let t;switch(e){case V2:t="Linear";break;case W2:t="Reinhard";break;case Y2:t="OptimizedCineon";break;case Rv:t="ACESFilmic";break;case X2:t="AgX";break;case J2:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function bF(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(eu).join(` -`)}function LF(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(eu).join(` -`)}function PF(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function NF(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function oy(n){return n.replace(kF,FF)}const UF=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function FF(n,e){let t=Nt[e];if(t===void 0){const i=UF.get(e);if(i!==void 0)t=Nt[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 oy(t)}const OF=/#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 tS(n){return n.replace(OF,HF)}function HF(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function oy(n){return n.replace(UF,OF)}const FF=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function OF(n,e){let t=Nt[e];if(t===void 0){const i=FF.get(e);if(i!==void 0)t=Nt[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 oy(t)}const HF=/#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 nS(n){return n.replace(HF,GF)}function GF(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(p+=` -`),v=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y].filter(eu).join(` -`),v.length>0&&(v+=` -`)):(p=[nS(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.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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",` +`),I=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,y].filter(eu).join(` +`),I.length>0&&(I+=` +`)):(p=[iS(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.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(eu).join(` -`),v=[g,nS(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 "+A:"",t.envMap?"#define "+d:"",t.envMap?"#define "+h:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Rs?"#define TONE_MAPPING":"",t.toneMapping!==Rs?Nt.tonemapping_pars_fragment:"",t.toneMapping!==Rs?TF("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Nt.colorspace_pars_fragment,DF("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),I=[g,iS(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 "+A:"",t.envMap?"#define "+d:"",t.envMap?"#define "+h:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Rs?"#define TONE_MAPPING":"",t.toneMapping!==Rs?Nt.tonemapping_pars_fragment:"",t.toneMapping!==Rs?bF("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Nt.colorspace_pars_fragment,TF("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(eu).join(` -`)),o=oy(o),o=$w(o,t),o=eS(o,t),a=oy(a),a=$w(a,t),a=eS(a,t),o=tS(o),a=tS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(I=`#version 300 es +`)),o=oy(o),o=eS(o,t),o=tS(o,t),a=oy(a),a=eS(a,t),a=tS(a,t),o=nS(o),a=nS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(v=`#version 300 es `,p=[E,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` -`+p,v=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===iy?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===iy?"":"#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(` +`+p,I=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===iy?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===iy?"":"#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 w=I+p+o,Q=I+v+a,R=qw(r,r.VERTEX_SHADER,w),D=qw(r,r.FRAGMENT_SHADER,Q);r.attachShader(C,R),r.attachShader(C,D),t.index0AttributeName!==void 0?r.bindAttribLocation(C,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(C,0,"position"),r.linkProgram(C);function U(Z){if(n.debug.checkShaderErrors){const he=r.getProgramInfoLog(C).trim(),X=r.getShaderInfoLog(R).trim(),le=r.getShaderInfoLog(D).trim();let se=!0,fe=!0;if(r.getProgramParameter(C,r.LINK_STATUS)===!1)if(se=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,C,R,D);else{const F=Zw(r,R,"vertex"),$=Zw(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(C,r.VALIDATE_STATUS)+` +`+I);const w=v+p+o,R=v+I+a,Q=Zw(r,r.VERTEX_SHADER,w),D=Zw(r,r.FRAGMENT_SHADER,R);r.attachShader(C,Q),r.attachShader(C,D),t.index0AttributeName!==void 0?r.bindAttribLocation(C,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(C,0,"position"),r.linkProgram(C);function U(Z){if(n.debug.checkShaderErrors){const he=r.getProgramInfoLog(C).trim(),X=r.getShaderInfoLog(Q).trim(),ae=r.getShaderInfoLog(D).trim();let re=!0,fe=!0;if(r.getProgramParameter(C,r.LINK_STATUS)===!1)if(re=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,C,Q,D);else{const F=$w(r,Q,"vertex"),$=$w(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(C,r.VALIDATE_STATUS)+` Material Name: `+Z.name+` Material Type: `+Z.type+` Program Info Log: `+he+` `+F+` -`+$)}else he!==""?console.warn("THREE.WebGLProgram: Program Info Log:",he):(X===""||le==="")&&(fe=!1);fe&&(Z.diagnostics={runnable:se,programLog:he,vertexShader:{log:X,prefix:p},fragmentShader:{log:le,prefix:v}})}r.deleteShader(R),r.deleteShader(D),K=new Pp(r,C),_=NF(r,C)}let K;this.getUniforms=function(){return K===void 0&&U(this),K};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(C,_F)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(C),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=MF++,this.cacheKey=e,this.usedTimes=1,this.program=C,this.vertexShader=R,this.fragmentShader=D,this}let XF=0;class KF{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 jF(e),t.set(e,i)),i}}class jF{constructor(e){this.id=XF++,this.code=e,this.usedTimes=0}}function qF(n,e,t,i,r,s,o){const a=new wl,l=new KF,A=new Set,d=[],h=r.isWebGL2,f=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=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 C(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,P,Z,he,X){const le=he.fog,se=X.geometry,fe=_.isMeshStandardMaterial?he.environment:null,F=(_.isMeshStandardMaterial?t:e).get(_.envMap||fe),$=F&&F.mapping===wu?F.image.height:null,ne=y[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=se.morphAttributes.position||se.morphAttributes.normal||se.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let Ue=0;se.morphAttributes.position!==void 0&&(Ue=1),se.morphAttributes.normal!==void 0&&(Ue=2),se.morphAttributes.color!==void 0&&(Ue=3);let W,z,H,N;if(ne){const nn=$r[ne];W=nn.vertexShader,z=nn.fragmentShader}else W=_.vertexShader,z=_.fragmentShader,l.update(_),H=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=X.isInstancedMesh===!0,pe=X.isBatchedMesh===!0,we=!!_.map,G=!!_.matcap,me=!!F,te=!!_.aoMap,ue=!!_.lightMap,ae=!!_.bumpMap,De=!!_.normalMap,q=!!_.displacementMap,S=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,be=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Ke=_.sheen>0,Ve=_.transmission>0,$e=be&&!!_.anisotropyMap,ut=Te&&!!_.clearcoatMap,It=Te&&!!_.clearcoatNormalMap,Le=Te&&!!_.clearcoatRoughnessMap,Pt=Re&&!!_.iridescenceMap,Mt=Re&&!!_.iridescenceThicknessMap,Ct=Ke&&!!_.sheenColorMap,ct=Ke&&!!_.sheenRoughnessMap,nt=!!_.specularMap,xt=!!_.specularColorMap,Wt=!!_.specularIntensityMap,Gt=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Ft=!!_.gradientMap,j=!!_.alphaMap,Ge=_.alphaTest>0,ze=!!_.alphaHash,st=!!_.extensions;let mt=Rs;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(mt=n.toneMapping);const Kt={isWebGL2:h,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:W,fragmentShader:z,defines:_.defines,customVertexShaderID:H,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&X.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Ts,alphaToCoverage:!!_.alphaToCoverage,map:we,matcap:G,envMap:me,envMapMode:me&&F.mapping,envMapCubeUVHeight:$,aoMap:te,lightMap:ue,bumpMap:ae,normalMap:De,displacementMap:g&&q,emissiveMap:S,normalMapObjectSpace:De&&_.normalMapType===lR,normalMapTangentSpace:De&&_.normalMapType===_a,metalnessMap:T,roughnessMap:ie,anisotropy:be,anisotropyMap:$e,clearcoat:Te,clearcoatMap:ut,clearcoatNormalMap:It,clearcoatRoughnessMap:Le,iridescence:Re,iridescenceMap:Pt,iridescenceThicknessMap:Mt,sheen:Ke,sheenColorMap:Ct,sheenRoughnessMap:ct,specularMap:nt,specularColorMap:xt,specularIntensityMap:Wt,transmission:Ve,transmissionMap:Gt,thicknessMap:Tt,gradientMap:Ft,opaque:_.transparent===!1&&_.blending===vl&&_.alphaToCoverage===!1,alphaMap:j,alphaTest:Ge,alphaHash:ze,combine:_.combine,mapUv:we&&C(_.map.channel),aoMapUv:te&&C(_.aoMap.channel),lightMapUv:ue&&C(_.lightMap.channel),bumpMapUv:ae&&C(_.bumpMap.channel),normalMapUv:De&&C(_.normalMap.channel),displacementMapUv:q&&C(_.displacementMap.channel),emissiveMapUv:S&&C(_.emissiveMap.channel),metalnessMapUv:T&&C(_.metalnessMap.channel),roughnessMapUv:ie&&C(_.roughnessMap.channel),anisotropyMapUv:$e&&C(_.anisotropyMap.channel),clearcoatMapUv:ut&&C(_.clearcoatMap.channel),clearcoatNormalMapUv:It&&C(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Le&&C(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Pt&&C(_.iridescenceMap.channel),iridescenceThicknessMapUv:Mt&&C(_.iridescenceThicknessMap.channel),sheenColorMapUv:Ct&&C(_.sheenColorMap.channel),sheenRoughnessMapUv:ct&&C(_.sheenRoughnessMap.channel),specularMapUv:nt&&C(_.specularMap.channel),specularColorMapUv:xt&&C(_.specularColorMap.channel),specularIntensityMapUv:Wt&&C(_.specularIntensityMap.channel),transmissionMapUv:Gt&&C(_.transmissionMap.channel),thicknessMapUv:Tt&&C(_.thicknessMap.channel),alphaMapUv:j&&C(_.alphaMap.channel),vertexTangents:!!se.attributes.tangent&&(De||be),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!se.attributes.color&&se.attributes.color.itemSize===4,pointsUvs:X.isPoints===!0&&!!se.attributes.uv&&(we||j),fog:!!le,useFog:_.fog===!0,fogExp2:!!le&&le.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:X.isSkinnedMesh===!0,morphTargets:se.morphAttributes.position!==void 0,morphNormals:se.morphAttributes.normal!==void 0,morphColors:se.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:Ue,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&Z.length>0,shadowMapType:n.shadowMap.type,toneMapping:mt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:we&&_.map.isVideoTexture===!0&&cn.getTransfer(_.map.colorSpace)===fn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===xs,flipSided:_.side===Gi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:st&&_.extensions.derivatives===!0,extensionFragDepth:st&&_.extensions.fragDepth===!0,extensionDrawBuffers:st&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:st&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:st&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:st&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Kt.vertexUv1s=A.has(1),Kt.vertexUv2s=A.has(2),Kt.vertexUv3s=A.has(3),A.clear(),Kt}function v(_){const P=[];if(_.shaderID?P.push(_.shaderID):(P.push(_.customVertexShaderID),P.push(_.customFragmentShaderID)),_.defines!==void 0)for(const Z in _.defines)P.push(Z),P.push(_.defines[Z]);return _.isRawShaderMaterial===!1&&(I(P,_),w(P,_),P.push(n.outputColorSpace)),P.push(_.customProgramCacheKey),P.join()}function I(_,P){_.push(P.precision),_.push(P.outputColorSpace),_.push(P.envMapMode),_.push(P.envMapCubeUVHeight),_.push(P.mapUv),_.push(P.alphaMapUv),_.push(P.lightMapUv),_.push(P.aoMapUv),_.push(P.bumpMapUv),_.push(P.normalMapUv),_.push(P.displacementMapUv),_.push(P.emissiveMapUv),_.push(P.metalnessMapUv),_.push(P.roughnessMapUv),_.push(P.anisotropyMapUv),_.push(P.clearcoatMapUv),_.push(P.clearcoatNormalMapUv),_.push(P.clearcoatRoughnessMapUv),_.push(P.iridescenceMapUv),_.push(P.iridescenceThicknessMapUv),_.push(P.sheenColorMapUv),_.push(P.sheenRoughnessMapUv),_.push(P.specularMapUv),_.push(P.specularColorMapUv),_.push(P.specularIntensityMapUv),_.push(P.transmissionMapUv),_.push(P.thicknessMapUv),_.push(P.combine),_.push(P.fogExp2),_.push(P.sizeAttenuation),_.push(P.morphTargetsCount),_.push(P.morphAttributeCount),_.push(P.numDirLights),_.push(P.numPointLights),_.push(P.numSpotLights),_.push(P.numSpotLightMaps),_.push(P.numHemiLights),_.push(P.numRectAreaLights),_.push(P.numDirLightShadows),_.push(P.numPointLightShadows),_.push(P.numSpotLightShadows),_.push(P.numSpotLightShadowsWithMaps),_.push(P.numLightProbes),_.push(P.shadowMapType),_.push(P.toneMapping),_.push(P.numClippingPlanes),_.push(P.numClipIntersection),_.push(P.depthPacking)}function w(_,P){a.disableAll(),P.isWebGL2&&a.enable(0),P.supportsVertexTextures&&a.enable(1),P.instancing&&a.enable(2),P.instancingColor&&a.enable(3),P.matcap&&a.enable(4),P.envMap&&a.enable(5),P.normalMapObjectSpace&&a.enable(6),P.normalMapTangentSpace&&a.enable(7),P.clearcoat&&a.enable(8),P.iridescence&&a.enable(9),P.alphaTest&&a.enable(10),P.vertexColors&&a.enable(11),P.vertexAlphas&&a.enable(12),P.vertexUv1s&&a.enable(13),P.vertexUv2s&&a.enable(14),P.vertexUv3s&&a.enable(15),P.vertexTangents&&a.enable(16),P.anisotropy&&a.enable(17),P.alphaHash&&a.enable(18),P.batching&&a.enable(19),_.push(a.mask),a.disableAll(),P.fog&&a.enable(0),P.useFog&&a.enable(1),P.flatShading&&a.enable(2),P.logarithmicDepthBuffer&&a.enable(3),P.skinning&&a.enable(4),P.morphTargets&&a.enable(5),P.morphNormals&&a.enable(6),P.morphColors&&a.enable(7),P.premultipliedAlpha&&a.enable(8),P.shadowMapEnabled&&a.enable(9),P.useLegacyLights&&a.enable(10),P.doubleSided&&a.enable(11),P.flipSided&&a.enable(12),P.useDepthPacking&&a.enable(13),P.dithering&&a.enable(14),P.transmission&&a.enable(15),P.sheen&&a.enable(16),P.opaque&&a.enable(17),P.pointsUvs&&a.enable(18),P.decodeVideoTexture&&a.enable(19),P.alphaToCoverage&&a.enable(20),_.push(a.mask)}function Q(_){const P=y[_.type];let Z;if(P){const he=$r[P];Z=yR.clone(he.uniforms)}else Z=_.uniforms;return Z}function R(_,P){let Z;for(let he=0,X=d.length;he0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(h,f,g,E,y,C){const p=o(h,f,g,E,y,C);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(h,f){t.length>1&&t.sort(h||$F),i.length>1&&i.sort(f||iS),r.length>1&&r.sort(f||iS)}function d(){for(let h=e,f=n.length;h=s.length?(o=new rS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function tO(){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 Ze};break;case"SpotLight":t={position:new O,direction:new O,color:new Ze,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new Ze,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new Ze,groundColor:new Ze};break;case"RectAreaLight":t={color:new Ze,position:new O,halfWidth:new O,halfHeight:new O};break}return n[e.id]=t,t}}}function nO(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let iO=0;function rO(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function sO(n,e){const t=new tO,i=nO(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)r.probe.push(new O);const s=new O,o=new At,a=new At;function l(d,h){let f=0,g=0,E=0;for(let Z=0;Z<9;Z++)r.probe[Z].set(0,0,0);let y=0,C=0,p=0,v=0,I=0,w=0,Q=0,R=0,D=0,U=0,K=0;d.sort(rO);const _=h===!0?Math.PI:1;for(let Z=0,he=d.length;Z0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=g,r.ambient[2]=E;const P=r.hash;(P.directionalLength!==y||P.pointLength!==C||P.spotLength!==p||P.rectAreaLength!==v||P.hemiLength!==I||P.numDirectionalShadows!==w||P.numPointShadows!==Q||P.numSpotShadows!==R||P.numSpotMaps!==D||P.numLightProbes!==K)&&(r.directional.length=y,r.spot.length=p,r.rectArea.length=v,r.point.length=C,r.hemi.length=I,r.directionalShadow.length=w,r.directionalShadowMap.length=w,r.pointShadow.length=Q,r.pointShadowMap.length=Q,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=w,r.pointShadowMatrix.length=Q,r.spotLightMatrix.length=R+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=K,P.directionalLength=y,P.pointLength=C,P.spotLength=p,P.rectAreaLength=v,P.hemiLength=I,P.numDirectionalShadows=w,P.numPointShadows=Q,P.numSpotShadows=R,P.numSpotMaps=D,P.numLightProbes=K,r.version=iO++)}function A(d,h){let f=0,g=0,E=0,y=0,C=0;const p=h.matrixWorldInverse;for(let v=0,I=d.length;v=a.length?(l=new sS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Wg extends Ai{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=aR,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 Yg extends Ai{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 aO=`void main() { +`+$)}else he!==""?console.warn("THREE.WebGLProgram: Program Info Log:",he):(X===""||ae==="")&&(fe=!1);fe&&(Z.diagnostics={runnable:re,programLog:he,vertexShader:{log:X,prefix:p},fragmentShader:{log:ae,prefix:I}})}r.deleteShader(Q),r.deleteShader(D),K=new Pp(r,C),_=kF(r,C)}let K;this.getUniforms=function(){return K===void 0&&U(this),K};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let P=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(C,MF)),P},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(C),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=QF++,this.cacheKey=e,this.usedTimes=1,this.program=C,this.vertexShader=Q,this.fragmentShader=D,this}let KF=0;class jF{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 qF(e),t.set(e,i)),i}}class qF{constructor(e){this.id=KF++,this.code=e,this.usedTimes=0}}function ZF(n,e,t,i,r,s,o){const a=new wl,l=new jF,A=new Set,d=[],h=r.isWebGL2,f=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=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 C(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,P,Z,he,X){const ae=he.fog,re=X.geometry,fe=_.isMeshStandardMaterial?he.environment:null,F=(_.isMeshStandardMaterial?t:e).get(_.envMap||fe),$=F&&F.mapping===wu?F.image.height:null,ne=y[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=re.morphAttributes.position||re.morphAttributes.normal||re.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let Ue=0;re.morphAttributes.position!==void 0&&(Ue=1),re.morphAttributes.normal!==void 0&&(Ue=2),re.morphAttributes.color!==void 0&&(Ue=3);let W,z,H,N;if(ne){const nn=$r[ne];W=nn.vertexShader,z=nn.fragmentShader}else W=_.vertexShader,z=_.fragmentShader,l.update(_),H=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),Be=X.isInstancedMesh===!0,pe=X.isBatchedMesh===!0,we=!!_.map,G=!!_.matcap,me=!!F,te=!!_.aoMap,ue=!!_.lightMap,le=!!_.bumpMap,De=!!_.normalMap,q=!!_.displacementMap,S=!!_.emissiveMap,T=!!_.metalnessMap,ie=!!_.roughnessMap,be=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Ke=_.sheen>0,Ve=_.transmission>0,$e=be&&!!_.anisotropyMap,At=Te&&!!_.clearcoatMap,It=Te&&!!_.clearcoatNormalMap,Le=Te&&!!_.clearcoatRoughnessMap,Pt=Re&&!!_.iridescenceMap,Mt=Re&&!!_.iridescenceThicknessMap,Ct=Ke&&!!_.sheenColorMap,ut=Ke&&!!_.sheenRoughnessMap,it=!!_.specularMap,xt=!!_.specularColorMap,Wt=!!_.specularIntensityMap,zt=Ve&&!!_.transmissionMap,Tt=Ve&&!!_.thicknessMap,Ot=!!_.gradientMap,j=!!_.alphaMap,Ge=_.alphaTest>0,ze=!!_.alphaHash,ot=!!_.extensions;let mt=Rs;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(mt=n.toneMapping);const Kt={isWebGL2:h,shaderID:ne,shaderType:_.type,shaderName:_.name,vertexShader:W,fragmentShader:z,defines:_.defines,customVertexShaderID:H,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:Be,instancingColor:Be&&X.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Ts,alphaToCoverage:!!_.alphaToCoverage,map:we,matcap:G,envMap:me,envMapMode:me&&F.mapping,envMapCubeUVHeight:$,aoMap:te,lightMap:ue,bumpMap:le,normalMap:De,displacementMap:g&&q,emissiveMap:S,normalMapObjectSpace:De&&_.normalMapType===cR,normalMapTangentSpace:De&&_.normalMapType===_a,metalnessMap:T,roughnessMap:ie,anisotropy:be,anisotropyMap:$e,clearcoat:Te,clearcoatMap:At,clearcoatNormalMap:It,clearcoatRoughnessMap:Le,iridescence:Re,iridescenceMap:Pt,iridescenceThicknessMap:Mt,sheen:Ke,sheenColorMap:Ct,sheenRoughnessMap:ut,specularMap:it,specularColorMap:xt,specularIntensityMap:Wt,transmission:Ve,transmissionMap:zt,thicknessMap:Tt,gradientMap:Ot,opaque:_.transparent===!1&&_.blending===vl&&_.alphaToCoverage===!1,alphaMap:j,alphaTest:Ge,alphaHash:ze,combine:_.combine,mapUv:we&&C(_.map.channel),aoMapUv:te&&C(_.aoMap.channel),lightMapUv:ue&&C(_.lightMap.channel),bumpMapUv:le&&C(_.bumpMap.channel),normalMapUv:De&&C(_.normalMap.channel),displacementMapUv:q&&C(_.displacementMap.channel),emissiveMapUv:S&&C(_.emissiveMap.channel),metalnessMapUv:T&&C(_.metalnessMap.channel),roughnessMapUv:ie&&C(_.roughnessMap.channel),anisotropyMapUv:$e&&C(_.anisotropyMap.channel),clearcoatMapUv:At&&C(_.clearcoatMap.channel),clearcoatNormalMapUv:It&&C(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Le&&C(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Pt&&C(_.iridescenceMap.channel),iridescenceThicknessMapUv:Mt&&C(_.iridescenceThicknessMap.channel),sheenColorMapUv:Ct&&C(_.sheenColorMap.channel),sheenRoughnessMapUv:ut&&C(_.sheenRoughnessMap.channel),specularMapUv:it&&C(_.specularMap.channel),specularColorMapUv:xt&&C(_.specularColorMap.channel),specularIntensityMapUv:Wt&&C(_.specularIntensityMap.channel),transmissionMapUv:zt&&C(_.transmissionMap.channel),thicknessMapUv:Tt&&C(_.thicknessMap.channel),alphaMapUv:j&&C(_.alphaMap.channel),vertexTangents:!!re.attributes.tangent&&(De||be),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!re.attributes.color&&re.attributes.color.itemSize===4,pointsUvs:X.isPoints===!0&&!!re.attributes.uv&&(we||j),fog:!!ae,useFog:_.fog===!0,fogExp2:!!ae&&ae.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:f,skinning:X.isSkinnedMesh===!0,morphTargets:re.morphAttributes.position!==void 0,morphNormals:re.morphAttributes.normal!==void 0,morphColors:re.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:Ue,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&Z.length>0,shadowMapType:n.shadowMap.type,toneMapping:mt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:we&&_.map.isVideoTexture===!0&&cn.getTransfer(_.map.colorSpace)===fn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===xs,flipSided:_.side===Gi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:ot&&_.extensions.derivatives===!0,extensionFragDepth:ot&&_.extensions.fragDepth===!0,extensionDrawBuffers:ot&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:ot&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:ot&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:ot&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Kt.vertexUv1s=A.has(1),Kt.vertexUv2s=A.has(2),Kt.vertexUv3s=A.has(3),A.clear(),Kt}function I(_){const P=[];if(_.shaderID?P.push(_.shaderID):(P.push(_.customVertexShaderID),P.push(_.customFragmentShaderID)),_.defines!==void 0)for(const Z in _.defines)P.push(Z),P.push(_.defines[Z]);return _.isRawShaderMaterial===!1&&(v(P,_),w(P,_),P.push(n.outputColorSpace)),P.push(_.customProgramCacheKey),P.join()}function v(_,P){_.push(P.precision),_.push(P.outputColorSpace),_.push(P.envMapMode),_.push(P.envMapCubeUVHeight),_.push(P.mapUv),_.push(P.alphaMapUv),_.push(P.lightMapUv),_.push(P.aoMapUv),_.push(P.bumpMapUv),_.push(P.normalMapUv),_.push(P.displacementMapUv),_.push(P.emissiveMapUv),_.push(P.metalnessMapUv),_.push(P.roughnessMapUv),_.push(P.anisotropyMapUv),_.push(P.clearcoatMapUv),_.push(P.clearcoatNormalMapUv),_.push(P.clearcoatRoughnessMapUv),_.push(P.iridescenceMapUv),_.push(P.iridescenceThicknessMapUv),_.push(P.sheenColorMapUv),_.push(P.sheenRoughnessMapUv),_.push(P.specularMapUv),_.push(P.specularColorMapUv),_.push(P.specularIntensityMapUv),_.push(P.transmissionMapUv),_.push(P.thicknessMapUv),_.push(P.combine),_.push(P.fogExp2),_.push(P.sizeAttenuation),_.push(P.morphTargetsCount),_.push(P.morphAttributeCount),_.push(P.numDirLights),_.push(P.numPointLights),_.push(P.numSpotLights),_.push(P.numSpotLightMaps),_.push(P.numHemiLights),_.push(P.numRectAreaLights),_.push(P.numDirLightShadows),_.push(P.numPointLightShadows),_.push(P.numSpotLightShadows),_.push(P.numSpotLightShadowsWithMaps),_.push(P.numLightProbes),_.push(P.shadowMapType),_.push(P.toneMapping),_.push(P.numClippingPlanes),_.push(P.numClipIntersection),_.push(P.depthPacking)}function w(_,P){a.disableAll(),P.isWebGL2&&a.enable(0),P.supportsVertexTextures&&a.enable(1),P.instancing&&a.enable(2),P.instancingColor&&a.enable(3),P.matcap&&a.enable(4),P.envMap&&a.enable(5),P.normalMapObjectSpace&&a.enable(6),P.normalMapTangentSpace&&a.enable(7),P.clearcoat&&a.enable(8),P.iridescence&&a.enable(9),P.alphaTest&&a.enable(10),P.vertexColors&&a.enable(11),P.vertexAlphas&&a.enable(12),P.vertexUv1s&&a.enable(13),P.vertexUv2s&&a.enable(14),P.vertexUv3s&&a.enable(15),P.vertexTangents&&a.enable(16),P.anisotropy&&a.enable(17),P.alphaHash&&a.enable(18),P.batching&&a.enable(19),_.push(a.mask),a.disableAll(),P.fog&&a.enable(0),P.useFog&&a.enable(1),P.flatShading&&a.enable(2),P.logarithmicDepthBuffer&&a.enable(3),P.skinning&&a.enable(4),P.morphTargets&&a.enable(5),P.morphNormals&&a.enable(6),P.morphColors&&a.enable(7),P.premultipliedAlpha&&a.enable(8),P.shadowMapEnabled&&a.enable(9),P.useLegacyLights&&a.enable(10),P.doubleSided&&a.enable(11),P.flipSided&&a.enable(12),P.useDepthPacking&&a.enable(13),P.dithering&&a.enable(14),P.transmission&&a.enable(15),P.sheen&&a.enable(16),P.opaque&&a.enable(17),P.pointsUvs&&a.enable(18),P.decodeVideoTexture&&a.enable(19),P.alphaToCoverage&&a.enable(20),_.push(a.mask)}function R(_){const P=y[_.type];let Z;if(P){const he=$r[P];Z=vR.clone(he.uniforms)}else Z=_.uniforms;return Z}function Q(_,P){let Z;for(let he=0,X=d.length;he0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(h,f,g,E,y,C){const p=o(h,f,g,E,y,C);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(h,f){t.length>1&&t.sort(h||eO),i.length>1&&i.sort(f||rS),r.length>1&&r.sort(f||rS)}function d(){for(let h=e,f=n.length;h=s.length?(o=new sS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function nO(){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 Ze};break;case"SpotLight":t={position:new O,direction:new O,color:new Ze,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new O,color:new Ze,distance:0,decay:0};break;case"HemisphereLight":t={direction:new O,skyColor:new Ze,groundColor:new Ze};break;case"RectAreaLight":t={color:new Ze,position:new O,halfWidth:new O,halfHeight:new O};break}return n[e.id]=t,t}}}function iO(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let rO=0;function sO(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function oO(n,e){const t=new nO,i=iO(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)r.probe.push(new O);const s=new O,o=new dt,a=new dt;function l(d,h){let f=0,g=0,E=0;for(let Z=0;Z<9;Z++)r.probe[Z].set(0,0,0);let y=0,C=0,p=0,I=0,v=0,w=0,R=0,Q=0,D=0,U=0,K=0;d.sort(sO);const _=h===!0?Math.PI:1;for(let Z=0,he=d.length;Z0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=f,r.ambient[1]=g,r.ambient[2]=E;const P=r.hash;(P.directionalLength!==y||P.pointLength!==C||P.spotLength!==p||P.rectAreaLength!==I||P.hemiLength!==v||P.numDirectionalShadows!==w||P.numPointShadows!==R||P.numSpotShadows!==Q||P.numSpotMaps!==D||P.numLightProbes!==K)&&(r.directional.length=y,r.spot.length=p,r.rectArea.length=I,r.point.length=C,r.hemi.length=v,r.directionalShadow.length=w,r.directionalShadowMap.length=w,r.pointShadow.length=R,r.pointShadowMap.length=R,r.spotShadow.length=Q,r.spotShadowMap.length=Q,r.directionalShadowMatrix.length=w,r.pointShadowMatrix.length=R,r.spotLightMatrix.length=Q+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=K,P.directionalLength=y,P.pointLength=C,P.spotLength=p,P.rectAreaLength=I,P.hemiLength=v,P.numDirectionalShadows=w,P.numPointShadows=R,P.numSpotShadows=Q,P.numSpotMaps=D,P.numLightProbes=K,r.version=rO++)}function A(d,h){let f=0,g=0,E=0,y=0,C=0;const p=h.matrixWorldInverse;for(let I=0,v=d.length;I=a.length?(l=new oS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Wg extends ri{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=lR,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 Yg extends ri{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const lO=`void main() { gl_Position = vec4( position, 1.0 ); -}`,lO=`uniform sampler2D shadow_pass; +}`,cO=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3776,12 +3776,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function cO(n,e,t){let i=new Wd;const r=new ve,s=new ve,o=new un,a=new Wg({depthPacking:Ov}),l=new Yg,A={},d=t.maxTextureSize,h={[Fr]:Gi,[Gi]:Fr,[xs]:xs},f=new ss({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:aO,fragmentShader:lO}),g=f.clone();g.defines.HORIZONTAL_PASS=1;const E=new Lt;E.setAttribute("position",new an(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const y=new tn(E,f),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Ug;let p=this.type;this.render=function(R,D,U){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||R.length===0)return;const K=n.getRenderTarget(),_=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),Z=n.state;Z.setBlending(uo),Z.buffers.color.setClear(1,1,1,1),Z.buffers.depth.setTest(!0),Z.setScissorTest(!1);const he=p!==jr&&this.type===jr,X=p===jr&&this.type!==jr;for(let le=0,se=R.length;led||r.y>d)&&(r.x>d&&(s.x=Math.floor(d/$.x),r.x=s.x*$.x,F.mapSize.x=s.x),r.y>d&&(s.y=Math.floor(d/$.y),r.y=s.y*$.y,F.mapSize.y=s.y)),F.map===null||he===!0||X===!0){const Ae=this.type!==jr?{minFilter:On,magFilter:On}:{};F.map!==null&&F.map.dispose(),F.map=new Or(r.x,r.y,Ae),F.map.texture.name=fe.name+".shadowMap",F.camera.updateProjectionMatrix()}n.setRenderTarget(F.map),n.clear();const ne=F.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const Z=_.uuid,he=D.uuid;let X=A[Z];X===void 0&&(X={},A[Z]=X);let le=X[he];le===void 0&&(le=_.clone(),X[he]=le,D.addEventListener("dispose",Q)),_=le}if(_.visible=D.visible,_.wireframe=D.wireframe,K===jr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:h[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const Z=n.properties.get(_);Z.light=U}return _}function w(R,D,U,K,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===jr)&&(!R.frustumCulled||i.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,R.matrixWorld);const he=e.update(R),X=R.material;if(Array.isArray(X)){const le=he.groups;for(let se=0,fe=le.length;se=1):ne.indexOf("OpenGL ES")!==-1&&($=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),F=$>=2);let Ae=null,_e={};const Ue=n.getParameter(n.SCISSOR_BOX),W=n.getParameter(n.VIEWPORT),z=new un().fromArray(Ue),H=new un().fromArray(W);function N(j,Ge,ze,st){const mt=new Uint8Array(4),Kt=n.createTexture();n.bindTexture(j,Kt),n.texParameteri(j,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(j,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let nn=0;nn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),d=new WeakMap;let h;const f=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(S,T){return g?new OffscreenCanvas(S,T):xd("canvas")}function y(S,T,ie,be){let Te=1;if((S.width>be||S.height>be)&&(Te=be/Math.max(S.width,S.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&S instanceof ImageBitmap){const Re=T?fg:Math.floor,Ke=Re(Te*S.width),Ve=Re(Te*S.height);h===void 0&&(h=E(Ke,Ve));const $e=ie?E(Ke,Ve):h;return $e.width=Ke,$e.height=Ve,$e.getContext("2d").drawImage(S,0,0,Ke,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+S.width+"x"+S.height+") to ("+Ke+"x"+Ve+")."),$e}else return"data"in S&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+S.width+"x"+S.height+")."),S;return S}function C(S){return ry(S.width)&&ry(S.height)}function p(S){return a?!1:S.wrapS!==Ri||S.wrapT!==Ri||S.minFilter!==On&&S.minFilter!==yn}function v(S,T){return S.generateMipmaps&&T&&S.minFilter!==On&&S.minFilter!==yn}function I(S){n.generateMipmap(S)}function w(S,T,ie,be,Te=!1){if(a===!1)return T;if(S!==null){if(n[S]!==void 0)return n[S];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+S+"'")}let Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Ke=Te?Cd:cn.getTransfer(be);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Ke===fn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function Q(S,T,ie){return v(S,ie)===!0||S.isFramebufferTexture&&S.minFilter!==On&&S.minFilter!==yn?Math.log2(Math.max(T.width,T.height))+1:S.mipmaps!==void 0&&S.mipmaps.length>0?S.mipmaps.length:S.isCompressedTexture&&Array.isArray(S.image)?T.mipmaps.length:1}function R(S){return S===On||S===dg||S===ul?n.NEAREST:n.LINEAR}function D(S){const T=S.target;T.removeEventListener("dispose",D),K(T),T.isVideoTexture&&d.delete(T)}function U(S){const T=S.target;T.removeEventListener("dispose",U),P(T)}function K(S){const T=i.get(S);if(T.__webglInit===void 0)return;const ie=S.source,be=f.get(ie);if(be){const Te=be[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(S),Object.keys(be).length===0&&f.delete(ie)}i.remove(S)}function _(S){const T=i.get(S);n.deleteTexture(T.__webglTexture);const ie=S.source,be=f.get(ie);delete be[T.__cacheKey],o.memory.textures--}function P(S){const T=S.texture,ie=i.get(S),be=i.get(T);if(be.__webglTexture!==void 0&&(n.deleteTexture(be.__webglTexture),o.memory.textures--),S.depthTexture&&S.depthTexture.dispose(),S.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+S+" texture units while this GPU supports only "+r.maxTextures),Z+=1,S}function le(S){const T=[];return T.push(S.wrapS),T.push(S.wrapT),T.push(S.wrapR||0),T.push(S.magFilter),T.push(S.minFilter),T.push(S.anisotropy),T.push(S.internalFormat),T.push(S.format),T.push(S.type),T.push(S.generateMipmaps),T.push(S.premultiplyAlpha),T.push(S.flipY),T.push(S.unpackAlignment),T.push(S.colorSpace),T.join()}function se(S,T){const ie=i.get(S);if(S.isVideoTexture&&De(S),S.isRenderTargetTexture===!1&&S.version>0&&ie.__version!==S.version){const be=S.image;if(be===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(be.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(ie,S,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function fe(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){z(ie,S,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function F(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){z(ie,S,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function $(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){H(ie,S,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[fd]:n.REPEAT,[Ri]:n.CLAMP_TO_EDGE,[pd]:n.MIRRORED_REPEAT},Ae={[On]:n.NEAREST,[dg]:n.NEAREST_MIPMAP_NEAREST,[ul]:n.NEAREST_MIPMAP_LINEAR,[yn]:n.LINEAR,[GA]:n.LINEAR_MIPMAP_NEAREST,[ws]:n.LINEAR_MIPMAP_LINEAR},_e={[cR]:n.NEVER,[pR]:n.ALWAYS,[uR]:n.LESS,[Hv]:n.LEQUAL,[AR]:n.EQUAL,[fR]:n.GEQUAL,[dR]:n.GREATER,[hR]:n.NOTEQUAL};function Ue(S,T,ie){if(T.type===br&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===yn||T.magFilter===GA||T.magFilter===ul||T.magFilter===ws||T.minFilter===yn||T.minFilter===GA||T.minFilter===ul||T.minFilter===ws)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(S,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(S,n.TEXTURE_WRAP_T,ne[T.wrapT]),(S===n.TEXTURE_3D||S===n.TEXTURE_2D_ARRAY)&&n.texParameteri(S,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(S,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(S,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(S,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(S,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(S===n.TEXTURE_3D||S===n.TEXTURE_2D_ARRAY)&&n.texParameteri(S,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Ri||T.wrapT!==Ri)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(S,n.TEXTURE_MAG_FILTER,R(T.magFilter)),n.texParameteri(S,n.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==On&&T.minFilter!==yn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(S,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(S,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const be=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===On||T.minFilter!==ul&&T.minFilter!==ws||T.type===br&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ll&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(S,be.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function W(S,T){let ie=!1;S.__webglInit===void 0&&(S.__webglInit=!0,T.addEventListener("dispose",D));const be=T.source;let Te=f.get(be);Te===void 0&&(Te={},f.set(be,Te));const Re=le(T);if(Re!==S.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Ke=Te[S.__cacheKey];Ke!==void 0&&(Te[S.__cacheKey].usedTimes--,Ke.usedTimes===0&&_(T)),S.__cacheKey=Re,S.__webglTexture=Te[Re].texture}return ie}function z(S,T,ie){let be=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(be=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(be=n.TEXTURE_3D);const Te=W(S,T),Re=T.source;t.bindTexture(be,S.__webglTexture,n.TEXTURE0+ie);const Ke=i.get(Re);if(Re.version!==Ke.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=cn.getPrimaries(cn.workingColorSpace),$e=T.colorSpace===Ar?null:cn.getPrimaries(T.colorSpace),ut=T.colorSpace===Ar||Ve===$e?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,ut);const It=p(T)&&C(T.image)===!1;let Le=y(T.image,It,!1,r.maxTextureSize);Le=q(T,Le);const Pt=C(Le)||a,Mt=s.convert(T.format,T.colorSpace);let Ct=s.convert(T.type),ct=w(T.internalFormat,Mt,Ct,T.colorSpace,T.isVideoTexture);Ue(be,T,Pt);let nt;const xt=T.mipmaps,Wt=a&&T.isVideoTexture!==!0&&ct!==kv,Gt=Ke.__version===void 0||Te===!0,Tt=Re.dataReady,Ft=Q(T,Le,Pt);if(T.isDepthTexture)ct=n.DEPTH_COMPONENT,a?T.type===br?ct=n.DEPTH_COMPONENT32F:T.type===oo?ct=n.DEPTH_COMPONENT24:T.type===fa?ct=n.DEPTH24_STENCIL8:ct=n.DEPTH_COMPONENT16:T.type===br&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===pa&&ct===n.DEPTH_COMPONENT&&T.type!==Og&&T.type!==oo&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=oo,Ct=s.convert(T.type)),T.format===Pl&&ct===n.DEPTH_COMPONENT&&(ct=n.DEPTH_STENCIL,T.type!==fa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=fa,Ct=s.convert(T.type))),Gt&&(Wt?t.texStorage2D(n.TEXTURE_2D,1,ct,Le.width,Le.height):t.texImage2D(n.TEXTURE_2D,0,ct,Le.width,Le.height,0,Mt,Ct,null));else if(T.isDataTexture)if(xt.length>0&&Pt){Wt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ft,ct,xt[0].width,xt[0].height);for(let j=0,Ge=xt.length;j>=1,Ge>>=1}}else if(xt.length>0&&Pt){Wt&&Gt&&t.texStorage2D(n.TEXTURE_2D,Ft,ct,xt[0].width,xt[0].height);for(let j=0,Ge=xt.length;j0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,nt,Le[0].width,Le[0].height));for(let j=0;j<6;j++)if(It){xt?Gt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+j,0,0,0,Le[j].width,Le[j].height,Ct,ct,Le[j].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+j,0,nt,Le[j].width,Le[j].height,0,Ct,ct,Le[j].data);for(let Ge=0;Ge>Re),Le=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,$e,It,Le,T.depth,0,Ke,Ve,null):t.texImage2D(Te,Re,$e,It,Le,0,Ke,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,S),ae(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(S,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,S),T.depthBuffer&&!T.stencilBuffer){let be=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||ae(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===br?be=n.DEPTH_COMPONENT32F:Te.type===oo&&(be=n.DEPTH_COMPONENT24));const Re=ue(T);ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,be,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,be,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,be,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,S)}else if(T.depthBuffer&&T.stencilBuffer){const be=ue(T);ie&&ae(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):ae(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,S)}else{const be=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let $e=0;$e0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&ae(S)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let $e=0;$e0)for(let $e=0;$e0)for(let $e=0;$e0&&ae(S)===!1){const T=S.isWebGLMultipleRenderTargets?S.texture:[S.texture],ie=S.width,be=S.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Ke=S.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(S),$e=S.isWebGLMultipleRenderTargets===!0;if($e)for(let ut=0;ut0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(S){const T=o.render.frame;d.get(S)!==T&&(d.set(S,T),S.update())}function q(S,T){const ie=S.colorSpace,be=S.format,Te=S.type;return S.isCompressedTexture===!0||S.isVideoTexture===!0||S.format===hg||ie!==Ts&&ie!==Ar&&(cn.getTransfer(ie)===fn?a===!1?e.has("EXT_sRGB")===!0&&be===Fi?(S.format=hg,S.minFilter=yn,S.generateMipmaps=!1):T=zv.sRGBToLinear(T):(be!==Fi||Te!==Ds)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=X,this.resetTextureUnits=he,this.setTexture2D=se,this.setTexture2DArray=fe,this.setTexture3D=F,this.setTextureCube=$,this.rebindTextures=we,this.setupRenderTarget=G,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=ae}function RR(n,e,t){const i=t.isWebGL2;function r(s,o=Ar){let a;const l=cn.getTransfer(o);if(s===Ds)return n.UNSIGNED_BYTE;if(s===Tv)return n.UNSIGNED_SHORT_4_4_4_4;if(s===bv)return n.UNSIGNED_SHORT_5_5_5_1;if(s===j2)return n.BYTE;if(s===q2)return n.SHORT;if(s===Og)return n.UNSIGNED_SHORT;if(s===Dv)return n.INT;if(s===oo)return n.UNSIGNED_INT;if(s===br)return n.FLOAT;if(s===Ll)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===Z2)return n.ALPHA;if(s===Fi)return n.RGBA;if(s===$2)return n.LUMINANCE;if(s===eR)return n.LUMINANCE_ALPHA;if(s===pa)return n.DEPTH_COMPONENT;if(s===Pl)return n.DEPTH_STENCIL;if(s===hg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===tR)return n.RED;if(s===Lv)return n.RED_INTEGER;if(s===nR)return n.RG;if(s===Pv)return n.RG_INTEGER;if(s===Nv)return n.RGBA_INTEGER;if(s===Qp||s===Rp||s===Dp||s===Tp)if(l===fn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Qp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Rp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Dp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Tp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Qp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Rp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Dp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Tp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===DI||s===TI||s===bI||s===LI)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===DI)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===TI)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===bI)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===LI)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===kv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===PI||s===NI)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===PI)return l===fn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===NI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===kI||s===UI||s===FI||s===OI||s===HI||s===GI||s===zI||s===VI||s===WI||s===YI||s===JI||s===XI||s===KI||s===jI)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===kI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===UI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===FI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===OI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===HI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===GI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===zI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===VI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===WI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===YI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===JI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===XI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===KI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===jI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===bp||s===qI||s===ZI)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===bp)return l===fn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===qI)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===ZI)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===iR||s===$I||s===ey||s===ty)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===bp)return a.COMPRESSED_RED_RGTC1_EXT;if(s===$I)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===ey)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===ty)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===fa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class DR extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class ao extends Vt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const dO={type:"move"};class _E{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ao,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 ao,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 ao,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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const y of e.hand.values()){const C=t.getJointPose(y,i),p=this._getHandJoint(A,y);C!==null&&(p.matrix.fromArray(C.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=C.radius),p.visible=C!==null}const d=A.joints["index-finger-tip"],h=A.joints["thumb-tip"],f=d.position.distanceTo(h.position),g=.02,E=.005;A.inputState.pinching&&f>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&f<=g-E&&(A.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(dO)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new ao;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const hO=` +}`;function uO(n,e,t){let i=new Wd;const r=new ve,s=new ve,o=new un,a=new Wg({depthPacking:Ov}),l=new Yg,A={},d=t.maxTextureSize,h={[Fr]:Gi,[Gi]:Fr,[xs]:xs},f=new ss({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ve},radius:{value:4}},vertexShader:lO,fragmentShader:cO}),g=f.clone();g.defines.HORIZONTAL_PASS=1;const E=new Lt;E.setAttribute("position",new an(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const y=new Zt(E,f),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Ug;let p=this.type;this.render=function(Q,D,U){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||Q.length===0)return;const K=n.getRenderTarget(),_=n.getActiveCubeFace(),P=n.getActiveMipmapLevel(),Z=n.state;Z.setBlending(uo),Z.buffers.color.setClear(1,1,1,1),Z.buffers.depth.setTest(!0),Z.setScissorTest(!1);const he=p!==jr&&this.type===jr,X=p===jr&&this.type!==jr;for(let ae=0,re=Q.length;aed||r.y>d)&&(r.x>d&&(s.x=Math.floor(d/$.x),r.x=s.x*$.x,F.mapSize.x=s.x),r.y>d&&(s.y=Math.floor(d/$.y),r.y=s.y*$.y,F.mapSize.y=s.y)),F.map===null||he===!0||X===!0){const Ae=this.type!==jr?{minFilter:On,magFilter:On}:{};F.map!==null&&F.map.dispose(),F.map=new Or(r.x,r.y,Ae),F.map.texture.name=fe.name+".shadowMap",F.camera.updateProjectionMatrix()}n.setRenderTarget(F.map),n.clear();const ne=F.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const Z=_.uuid,he=D.uuid;let X=A[Z];X===void 0&&(X={},A[Z]=X);let ae=X[he];ae===void 0&&(ae=_.clone(),X[he]=ae,D.addEventListener("dispose",R)),_=ae}if(_.visible=D.visible,_.wireframe=D.wireframe,K===jr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:h[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const Z=n.properties.get(_);Z.light=U}return _}function w(Q,D,U,K,_){if(Q.visible===!1)return;if(Q.layers.test(D.layers)&&(Q.isMesh||Q.isLine||Q.isPoints)&&(Q.castShadow||Q.receiveShadow&&_===jr)&&(!Q.frustumCulled||i.intersectsObject(Q))){Q.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,Q.matrixWorld);const he=e.update(Q),X=Q.material;if(Array.isArray(X)){const ae=he.groups;for(let re=0,fe=ae.length;re=1):ne.indexOf("OpenGL ES")!==-1&&($=parseFloat(/^OpenGL ES (\d)/.exec(ne)[1]),F=$>=2);let Ae=null,_e={};const Ue=n.getParameter(n.SCISSOR_BOX),W=n.getParameter(n.VIEWPORT),z=new un().fromArray(Ue),H=new un().fromArray(W);function N(j,Ge,ze,ot){const mt=new Uint8Array(4),Kt=n.createTexture();n.bindTexture(j,Kt),n.texParameteri(j,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(j,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let nn=0;nn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),d=new WeakMap;let h;const f=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(S,T){return g?new OffscreenCanvas(S,T):xd("canvas")}function y(S,T,ie,be){let Te=1;if((S.width>be||S.height>be)&&(Te=be/Math.max(S.width,S.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&S instanceof ImageBitmap){const Re=T?fg:Math.floor,Ke=Re(Te*S.width),Ve=Re(Te*S.height);h===void 0&&(h=E(Ke,Ve));const $e=ie?E(Ke,Ve):h;return $e.width=Ke,$e.height=Ve,$e.getContext("2d").drawImage(S,0,0,Ke,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+S.width+"x"+S.height+") to ("+Ke+"x"+Ve+")."),$e}else return"data"in S&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+S.width+"x"+S.height+")."),S;return S}function C(S){return ry(S.width)&&ry(S.height)}function p(S){return a?!1:S.wrapS!==Ri||S.wrapT!==Ri||S.minFilter!==On&&S.minFilter!==yn}function I(S,T){return S.generateMipmaps&&T&&S.minFilter!==On&&S.minFilter!==yn}function v(S){n.generateMipmap(S)}function w(S,T,ie,be,Te=!1){if(a===!1)return T;if(S!==null){if(n[S]!==void 0)return n[S];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+S+"'")}let Re=T;if(T===n.RED&&(ie===n.FLOAT&&(Re=n.R32F),ie===n.HALF_FLOAT&&(Re=n.R16F),ie===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(ie===n.UNSIGNED_BYTE&&(Re=n.R8UI),ie===n.UNSIGNED_SHORT&&(Re=n.R16UI),ie===n.UNSIGNED_INT&&(Re=n.R32UI),ie===n.BYTE&&(Re=n.R8I),ie===n.SHORT&&(Re=n.R16I),ie===n.INT&&(Re=n.R32I)),T===n.RG&&(ie===n.FLOAT&&(Re=n.RG32F),ie===n.HALF_FLOAT&&(Re=n.RG16F),ie===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Ke=Te?Cd:cn.getTransfer(be);ie===n.FLOAT&&(Re=n.RGBA32F),ie===n.HALF_FLOAT&&(Re=n.RGBA16F),ie===n.UNSIGNED_BYTE&&(Re=Ke===fn?n.SRGB8_ALPHA8:n.RGBA8),ie===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),ie===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function R(S,T,ie){return I(S,ie)===!0||S.isFramebufferTexture&&S.minFilter!==On&&S.minFilter!==yn?Math.log2(Math.max(T.width,T.height))+1:S.mipmaps!==void 0&&S.mipmaps.length>0?S.mipmaps.length:S.isCompressedTexture&&Array.isArray(S.image)?T.mipmaps.length:1}function Q(S){return S===On||S===dg||S===ul?n.NEAREST:n.LINEAR}function D(S){const T=S.target;T.removeEventListener("dispose",D),K(T),T.isVideoTexture&&d.delete(T)}function U(S){const T=S.target;T.removeEventListener("dispose",U),P(T)}function K(S){const T=i.get(S);if(T.__webglInit===void 0)return;const ie=S.source,be=f.get(ie);if(be){const Te=be[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(S),Object.keys(be).length===0&&f.delete(ie)}i.remove(S)}function _(S){const T=i.get(S);n.deleteTexture(T.__webglTexture);const ie=S.source,be=f.get(ie);delete be[T.__cacheKey],o.memory.textures--}function P(S){const T=S.texture,ie=i.get(S),be=i.get(T);if(be.__webglTexture!==void 0&&(n.deleteTexture(be.__webglTexture),o.memory.textures--),S.depthTexture&&S.depthTexture.dispose(),S.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(ie.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+S+" texture units while this GPU supports only "+r.maxTextures),Z+=1,S}function ae(S){const T=[];return T.push(S.wrapS),T.push(S.wrapT),T.push(S.wrapR||0),T.push(S.magFilter),T.push(S.minFilter),T.push(S.anisotropy),T.push(S.internalFormat),T.push(S.format),T.push(S.type),T.push(S.generateMipmaps),T.push(S.premultiplyAlpha),T.push(S.flipY),T.push(S.unpackAlignment),T.push(S.colorSpace),T.join()}function re(S,T){const ie=i.get(S);if(S.isVideoTexture&&De(S),S.isRenderTargetTexture===!1&&S.version>0&&ie.__version!==S.version){const be=S.image;if(be===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(be.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(ie,S,T);return}}t.bindTexture(n.TEXTURE_2D,ie.__webglTexture,n.TEXTURE0+T)}function fe(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){z(ie,S,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,ie.__webglTexture,n.TEXTURE0+T)}function F(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){z(ie,S,T);return}t.bindTexture(n.TEXTURE_3D,ie.__webglTexture,n.TEXTURE0+T)}function $(S,T){const ie=i.get(S);if(S.version>0&&ie.__version!==S.version){H(ie,S,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,ie.__webglTexture,n.TEXTURE0+T)}const ne={[fd]:n.REPEAT,[Ri]:n.CLAMP_TO_EDGE,[pd]:n.MIRRORED_REPEAT},Ae={[On]:n.NEAREST,[dg]:n.NEAREST_MIPMAP_NEAREST,[ul]:n.NEAREST_MIPMAP_LINEAR,[yn]:n.LINEAR,[GA]:n.LINEAR_MIPMAP_NEAREST,[ws]:n.LINEAR_MIPMAP_LINEAR},_e={[uR]:n.NEVER,[gR]:n.ALWAYS,[AR]:n.LESS,[Hv]:n.LEQUAL,[dR]:n.EQUAL,[pR]:n.GEQUAL,[hR]:n.GREATER,[fR]:n.NOTEQUAL};function Ue(S,T,ie){if(T.type===br&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===yn||T.magFilter===GA||T.magFilter===ul||T.magFilter===ws||T.minFilter===yn||T.minFilter===GA||T.minFilter===ul||T.minFilter===ws)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),ie?(n.texParameteri(S,n.TEXTURE_WRAP_S,ne[T.wrapS]),n.texParameteri(S,n.TEXTURE_WRAP_T,ne[T.wrapT]),(S===n.TEXTURE_3D||S===n.TEXTURE_2D_ARRAY)&&n.texParameteri(S,n.TEXTURE_WRAP_R,ne[T.wrapR]),n.texParameteri(S,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(S,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(S,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(S,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(S===n.TEXTURE_3D||S===n.TEXTURE_2D_ARRAY)&&n.texParameteri(S,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Ri||T.wrapT!==Ri)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(S,n.TEXTURE_MAG_FILTER,Q(T.magFilter)),n.texParameteri(S,n.TEXTURE_MIN_FILTER,Q(T.minFilter)),T.minFilter!==On&&T.minFilter!==yn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(S,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(S,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const be=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===On||T.minFilter!==ul&&T.minFilter!==ws||T.type===br&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===Ll&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(S,be.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function W(S,T){let ie=!1;S.__webglInit===void 0&&(S.__webglInit=!0,T.addEventListener("dispose",D));const be=T.source;let Te=f.get(be);Te===void 0&&(Te={},f.set(be,Te));const Re=ae(T);if(Re!==S.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,ie=!0),Te[Re].usedTimes++;const Ke=Te[S.__cacheKey];Ke!==void 0&&(Te[S.__cacheKey].usedTimes--,Ke.usedTimes===0&&_(T)),S.__cacheKey=Re,S.__webglTexture=Te[Re].texture}return ie}function z(S,T,ie){let be=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(be=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(be=n.TEXTURE_3D);const Te=W(S,T),Re=T.source;t.bindTexture(be,S.__webglTexture,n.TEXTURE0+ie);const Ke=i.get(Re);if(Re.version!==Ke.__version||Te===!0){t.activeTexture(n.TEXTURE0+ie);const Ve=cn.getPrimaries(cn.workingColorSpace),$e=T.colorSpace===Ar?null:cn.getPrimaries(T.colorSpace),At=T.colorSpace===Ar||Ve===$e?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,At);const It=p(T)&&C(T.image)===!1;let Le=y(T.image,It,!1,r.maxTextureSize);Le=q(T,Le);const Pt=C(Le)||a,Mt=s.convert(T.format,T.colorSpace);let Ct=s.convert(T.type),ut=w(T.internalFormat,Mt,Ct,T.colorSpace,T.isVideoTexture);Ue(be,T,Pt);let it;const xt=T.mipmaps,Wt=a&&T.isVideoTexture!==!0&&ut!==kv,zt=Ke.__version===void 0||Te===!0,Tt=Re.dataReady,Ot=R(T,Le,Pt);if(T.isDepthTexture)ut=n.DEPTH_COMPONENT,a?T.type===br?ut=n.DEPTH_COMPONENT32F:T.type===oo?ut=n.DEPTH_COMPONENT24:T.type===fa?ut=n.DEPTH24_STENCIL8:ut=n.DEPTH_COMPONENT16:T.type===br&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===pa&&ut===n.DEPTH_COMPONENT&&T.type!==Og&&T.type!==oo&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=oo,Ct=s.convert(T.type)),T.format===Pl&&ut===n.DEPTH_COMPONENT&&(ut=n.DEPTH_STENCIL,T.type!==fa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=fa,Ct=s.convert(T.type))),zt&&(Wt?t.texStorage2D(n.TEXTURE_2D,1,ut,Le.width,Le.height):t.texImage2D(n.TEXTURE_2D,0,ut,Le.width,Le.height,0,Mt,Ct,null));else if(T.isDataTexture)if(xt.length>0&&Pt){Wt&&zt&&t.texStorage2D(n.TEXTURE_2D,Ot,ut,xt[0].width,xt[0].height);for(let j=0,Ge=xt.length;j>=1,Ge>>=1}}else if(xt.length>0&&Pt){Wt&&zt&&t.texStorage2D(n.TEXTURE_2D,Ot,ut,xt[0].width,xt[0].height);for(let j=0,Ge=xt.length;j0&&Tt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Tt,it,Le[0].width,Le[0].height));for(let j=0;j<6;j++)if(It){xt?zt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+j,0,0,0,Le[j].width,Le[j].height,Ct,ut,Le[j].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+j,0,it,Le[j].width,Le[j].height,0,Ct,ut,Le[j].data);for(let Ge=0;Ge>Re),Le=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,$e,It,Le,T.depth,0,Ke,Ve,null):t.texImage2D(Te,Re,$e,It,Le,0,Ke,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,S),le(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,be,Te,i.get(ie).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(S,T,ie){if(n.bindRenderbuffer(n.RENDERBUFFER,S),T.depthBuffer&&!T.stencilBuffer){let be=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(ie||le(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===br?be=n.DEPTH_COMPONENT32F:Te.type===oo&&(be=n.DEPTH_COMPONENT24));const Re=ue(T);le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,be,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,be,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,be,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,S)}else if(T.depthBuffer&&T.stencilBuffer){const be=ue(T);ie&&le(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):le(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,be,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,S)}else{const be=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){ie.__webglFramebuffer[Ve]=[];for(let $e=0;$e0){ie.__webglFramebuffer=[];for(let Ve=0;Ve0&&le(S)===!1){const Ve=Re?T:[T];ie.__webglMultisampledFramebuffer=n.createFramebuffer(),ie.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,ie.__webglMultisampledFramebuffer);for(let $e=0;$e0)for(let $e=0;$e0)for(let $e=0;$e0&&le(S)===!1){const T=S.isWebGLMultipleRenderTargets?S.texture:[S.texture],ie=S.width,be=S.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Ke=S.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(S),$e=S.isWebGLMultipleRenderTargets===!0;if($e)for(let At=0;At0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(S){const T=o.render.frame;d.get(S)!==T&&(d.set(S,T),S.update())}function q(S,T){const ie=S.colorSpace,be=S.format,Te=S.type;return S.isCompressedTexture===!0||S.isVideoTexture===!0||S.format===hg||ie!==Ts&&ie!==Ar&&(cn.getTransfer(ie)===fn?a===!1?e.has("EXT_sRGB")===!0&&be===Fi?(S.format=hg,S.minFilter=yn,S.generateMipmaps=!1):T=zv.sRGBToLinear(T):(be!==Fi||Te!==Ds)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ie)),T}this.allocateTextureUnit=X,this.resetTextureUnits=he,this.setTexture2D=re,this.setTexture2DArray=fe,this.setTexture3D=F,this.setTextureCube=$,this.rebindTextures=we,this.setupRenderTarget=G,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=te,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=le}function DR(n,e,t){const i=t.isWebGL2;function r(s,o=Ar){let a;const l=cn.getTransfer(o);if(s===Ds)return n.UNSIGNED_BYTE;if(s===Tv)return n.UNSIGNED_SHORT_4_4_4_4;if(s===bv)return n.UNSIGNED_SHORT_5_5_5_1;if(s===q2)return n.BYTE;if(s===Z2)return n.SHORT;if(s===Og)return n.UNSIGNED_SHORT;if(s===Dv)return n.INT;if(s===oo)return n.UNSIGNED_INT;if(s===br)return n.FLOAT;if(s===Ll)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===$2)return n.ALPHA;if(s===Fi)return n.RGBA;if(s===eR)return n.LUMINANCE;if(s===tR)return n.LUMINANCE_ALPHA;if(s===pa)return n.DEPTH_COMPONENT;if(s===Pl)return n.DEPTH_STENCIL;if(s===hg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===nR)return n.RED;if(s===Lv)return n.RED_INTEGER;if(s===iR)return n.RG;if(s===Pv)return n.RG_INTEGER;if(s===Nv)return n.RGBA_INTEGER;if(s===Qp||s===Rp||s===Dp||s===Tp)if(l===fn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===Qp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===Rp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Dp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Tp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===Qp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===Rp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Dp)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Tp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===DI||s===TI||s===bI||s===LI)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===DI)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===TI)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===bI)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===LI)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===kv)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===PI||s===NI)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===PI)return l===fn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===NI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===kI||s===UI||s===FI||s===OI||s===HI||s===GI||s===zI||s===VI||s===WI||s===YI||s===JI||s===XI||s===KI||s===jI)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===kI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===UI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===FI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===OI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===HI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===GI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===zI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===VI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===WI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===YI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===JI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===XI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===KI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===jI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===bp||s===qI||s===ZI)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===bp)return l===fn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===qI)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===ZI)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===rR||s===$I||s===ey||s===ty)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===bp)return a.COMPRESSED_RED_RGTC1_EXT;if(s===$I)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===ey)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===ty)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===fa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class TR extends qn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class ao extends Vt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const hO={type:"move"};class _E{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ao,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 ao,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 ao,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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const y of e.hand.values()){const C=t.getJointPose(y,i),p=this._getHandJoint(A,y);C!==null&&(p.matrix.fromArray(C.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=C.radius),p.visible=C!==null}const d=A.joints["index-finger-tip"],h=A.joints["thumb-tip"],f=d.position.distanceTo(h.position),g=.02,E=.005;A.inputState.pinching&&f>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&f<=g-E&&(A.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(hO)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new ao;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const fO=` void main() { gl_Position = vec4( position, 1.0 ); -}`,fO=` +}`,pO=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3800,7 +3800,7 @@ void main() { } -}`;class pO{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new wn,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 ss({extensions:{fragDepth:!0},vertexShader:hO,fragmentShader:fO,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new tn(new Qa(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class gO extends Eo{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,A=null,d=null,h=null,f=null,g=null,E=null;const y=new pO,C=t.getContextAttributes();let p=null,v=null;const I=[],w=[],Q=new ve;let R=null;const D=new qn;D.layers.enable(1),D.viewport=new un;const U=new qn;U.layers.enable(2),U.viewport=new un;const K=[D,U],_=new DR;_.layers.enable(1),_.layers.enable(2);let P=null,Z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(W){let z=I[W];return z===void 0&&(z=new _E,I[W]=z),z.getTargetRaySpace()},this.getControllerGrip=function(W){let z=I[W];return z===void 0&&(z=new _E,I[W]=z),z.getGripSpace()},this.getHand=function(W){let z=I[W];return z===void 0&&(z=new _E,I[W]=z),z.getHandSpace()};function he(W){const z=w.indexOf(W.inputSource);if(z===-1)return;const H=I[z];H!==void 0&&(H.update(W.inputSource,W.frame,A||o),H.dispatchEvent({type:W.type,data:W.inputSource}))}function X(){r.removeEventListener("select",he),r.removeEventListener("selectstart",he),r.removeEventListener("selectend",he),r.removeEventListener("squeeze",he),r.removeEventListener("squeezestart",he),r.removeEventListener("squeezeend",he),r.removeEventListener("end",X),r.removeEventListener("inputsourceschange",le);for(let W=0;W=0&&(w[N]=null,I[N].disconnect(H))}for(let z=0;z=w.length){w.push(H),N=Be;break}else if(w[Be]===null){w[Be]=H,N=Be;break}if(N===-1)break}const Ee=I[N];Ee&&Ee.connect(H)}}const se=new O,fe=new O;function F(W,z,H){se.setFromMatrixPosition(z.matrixWorld),fe.setFromMatrixPosition(H.matrixWorld);const N=se.distanceTo(fe),Ee=z.projectionMatrix.elements,Be=H.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),we=Ee[14]/(Ee[10]+1),G=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],ae=pe*te,De=pe*ue,q=N/(-te+ue),S=q*-te;z.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(S),W.translateZ(q),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const T=pe+q,ie=we+q,be=ae-S,Te=De+(N-S),Re=G*we/ie*T,Ke=me*we/ie*T;W.projectionMatrix.makePerspective(be,Te,Re,Ke,T,ie),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function $(W,z){z===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(z.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(r===null)return;y.texture!==null&&(W.near=y.depthNear,W.far=y.depthFar),_.near=U.near=D.near=W.near,_.far=U.far=D.far=W.far,(P!==_.near||Z!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),P=_.near,Z=_.far,D.near=P,D.far=Z,U.near=P,U.far=Z,D.updateProjectionMatrix(),U.updateProjectionMatrix(),W.updateProjectionMatrix());const z=W.parent,H=_.cameras;$(_,z);for(let N=0;N0&&(C.alphaTest.value=p.alphaTest);const v=e.get(p).envMap;if(v&&(C.envMap.value=v,C.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=p.reflectivity,C.ior.value=p.ior,C.refractionRatio.value=p.refractionRatio),p.lightMap){C.lightMap.value=p.lightMap;const I=n._useLegacyLights===!0?Math.PI:1;C.lightMapIntensity.value=p.lightMapIntensity*I,t(p.lightMap,C.lightMapTransform)}p.aoMap&&(C.aoMap.value=p.aoMap,C.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,C.aoMapTransform))}function o(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform))}function a(C,p){C.dashSize.value=p.dashSize,C.totalSize.value=p.dashSize+p.gapSize,C.scale.value=p.scale}function l(C,p,v,I){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.size.value=p.size*v,C.scale.value=I*.5,p.map&&(C.map.value=p.map,t(p.map,C.uvTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function A(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.rotation.value=p.rotation,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function d(C,p){C.specular.value.copy(p.specular),C.shininess.value=Math.max(p.shininess,1e-4)}function h(C,p){p.gradientMap&&(C.gradientMap.value=p.gradientMap)}function f(C,p){C.metalness.value=p.metalness,p.metalnessMap&&(C.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,C.metalnessMapTransform)),C.roughness.value=p.roughness,p.roughnessMap&&(C.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,C.roughnessMapTransform)),e.get(p).envMap&&(C.envMapIntensity.value=p.envMapIntensity)}function g(C,p,v){C.ior.value=p.ior,p.sheen>0&&(C.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),C.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(C.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,C.sheenColorMapTransform)),p.sheenRoughnessMap&&(C.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,C.sheenRoughnessMapTransform))),p.clearcoat>0&&(C.clearcoat.value=p.clearcoat,C.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(C.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,C.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(C.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Gi&&C.clearcoatNormalScale.value.negate())),p.iridescence>0&&(C.iridescence.value=p.iridescence,C.iridescenceIOR.value=p.iridescenceIOR,C.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(C.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,C.iridescenceMapTransform)),p.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),p.transmission>0&&(C.transmission.value=p.transmission,C.transmissionSamplerMap.value=v.texture,C.transmissionSamplerSize.value.set(v.width,v.height),p.transmissionMap&&(C.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,C.transmissionMapTransform)),C.thickness.value=p.thickness,p.thicknessMap&&(C.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=p.attenuationDistance,C.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(C.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(C.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=p.specularIntensity,C.specularColor.value.copy(p.specularColor),p.specularColorMap&&(C.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,C.specularColorMapTransform)),p.specularIntensityMap&&(C.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,C.specularIntensityMapTransform))}function E(C,p){p.matcap&&(C.matcap.value=p.matcap)}function y(C,p){const v=e.get(p).light;C.referencePosition.value.setFromMatrixPosition(v.matrixWorld),C.nearDistance.value=v.shadow.camera.near,C.farDistance.value=v.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function EO(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(v,I){const w=I.program;i.uniformBlockBinding(v,w)}function A(v,I){let w=r[v.id];w===void 0&&(E(v),w=d(v),r[v.id]=w,v.addEventListener("dispose",C));const Q=I.program;i.updateUBOMapping(v,Q);const R=e.render.frame;s[v.id]!==R&&(f(v),s[v.id]=R)}function d(v){const I=h();v.__bindingPointIndex=I;const w=n.createBuffer(),Q=v.__size,R=v.usage;return n.bindBuffer(n.UNIFORM_BUFFER,w),n.bufferData(n.UNIFORM_BUFFER,Q,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,I,w),w}function h(){for(let v=0;v0&&(w+=Q-R),v.__size=w,v.__cache={},this}function y(v){const I={boundary:0,storage:0};return typeof v=="number"||typeof v=="boolean"?(I.boundary=4,I.storage=4):v.isVector2?(I.boundary=8,I.storage=8):v.isVector3||v.isColor?(I.boundary=16,I.storage=12):v.isVector4?(I.boundary=16,I.storage=16):v.isMatrix3?(I.boundary=48,I.storage=48):v.isMatrix4?(I.boundary=64,I.storage=64):v.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",v),I}function C(v){const I=v.target;I.removeEventListener("dispose",C);const w=o.indexOf(I.__bindingPointIndex);o.splice(w,1),n.deleteBuffer(r[I.id]),delete r[I.id],delete s[I.id]}function p(){for(const v in r)n.deleteBuffer(r[v]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class Kv{constructor(e={}){const{canvas:t=mR(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;const g=new Uint32Array(4),E=new Int32Array(4);let y=null,C=null;const p=[],v=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=Rs,this.toneMappingExposure=1;const I=this;let w=!1,Q=0,R=0,D=null,U=-1,K=null;const _=new un,P=new un;let Z=null;const he=new Ze(0);let X=0,le=t.width,se=t.height,fe=1,F=null,$=null;const ne=new un(0,0,le,se),Ae=new un(0,0,le,se);let _e=!1;const Ue=new Wd;let W=!1,z=!1,H=null;const N=new At,Ee=new ve,Be=new O,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function we(){return D===null?fe:1}let G=i;function me(V,ge){for(let ye=0;ye{function je(){if(Se.forEach(function(dt){q.get(dt).currentProgram.isReady()&&Se.delete(dt)}),Se.size===0){Ie(V);return}setTimeout(je,10)}te.get("KHR_parallel_shader_compile")!==null?je():setTimeout(je,10)})};let nn=null;function sn(V){nn&&nn(V)}function di(){ln.stop()}function on(){ln.start()}const ln=new xR;ln.setAnimationLoop(sn),typeof self<"u"&&ln.setContext(self),this.setAnimationLoop=function(V){nn=V,Tt.setAnimationLoop(V),V===null?ln.stop():ln.start()},Tt.addEventListener("sessionstart",di),Tt.addEventListener("sessionend",on),this.render=function(V,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),V.isScene===!0&&V.onBeforeRender(I,V,ge,D),C=ut.get(V,v.length),C.init(),v.push(C),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),Ue.setFromProjectionMatrix(N),z=this.localClippingEnabled,W=It.init(this.clippingPlanes,z),y=$e.get(V,p.length),y.init(),p.push(y),Ti(V,ge,0,I.sortObjects),y.finish(),I.sortObjects===!0&&y.sort(F,$),this.info.render.frame++,W===!0&&It.beginShadows();const ye=C.state.shadowsArray;if(Le.render(ye,V,ge),W===!0&&It.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Pt.render(y,V),C.setupLights(I._useLegacyLights),ge.isArrayCamera){const Se=ge.cameras;for(let Ie=0,je=Se.length;Ie0?C=v[v.length-1]:C=null,p.pop(),p.length>0?y=p[p.length-1]:y=null};function Ti(V,ge,ye,Se){if(V.visible===!1)return;if(V.layers.test(ge.layers)){if(V.isGroup)ye=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(ge);else if(V.isLight)C.pushLight(V),V.castShadow&&C.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||Ue.intersectsSprite(V)){Se&&Be.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const dt=Re.update(V),yt=V.material;yt.visible&&y.push(V,dt,yt,ye,Be.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||Ue.intersectsObject(V))){const dt=Re.update(V),yt=V.material;if(Se&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),Be.copy(V.boundingSphere.center)):(dt.boundingSphere===null&&dt.computeBoundingSphere(),Be.copy(dt.boundingSphere.center)),Be.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(yt)){const vt=dt.groups;for(let _t=0,St=vt.length;_t0&&Us(Ie,je,ge,ye),Se&&ae.viewport(_.copy(Se)),Ie.length>0&&cs(Ie,ge,ye),je.length>0&&cs(je,ge,ye),dt.length>0&&cs(dt,ge,ye),ae.buffers.depth.setTest(!0),ae.buffers.depth.setMask(!0),ae.buffers.color.setMask(!0),ae.setPolygonOffset(!1)}function Us(V,ge,ye,Se){if((ye.isScene===!0?ye.overrideMaterial:null)!==null)return;const je=ue.isWebGL2;H===null&&(H=new Or(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ll:Ds,minFilter:ws,samples:je?4:0})),I.getDrawingBufferSize(Ee),je?H.setSize(Ee.x,Ee.y):H.setSize(fg(Ee.x),fg(Ee.y));const dt=I.getRenderTarget();I.setRenderTarget(H),I.getClearColor(he),X=I.getClearAlpha(),X<1&&I.setClearColor(16777215,.5),I.clear();const yt=I.toneMapping;I.toneMapping=Rs,cs(V,ye,Se),S.updateMultisampleRenderTarget(H),S.updateRenderTargetMipmap(H);let vt=!1;for(let _t=0,St=ge.length;_t0),wt=!!ye.morphAttributes.position,mn=!!ye.morphAttributes.normal,Xn=!!ye.morphAttributes.color;let dn=Rs;Se.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(dn=I.toneMapping);const Dn=ye.morphAttributes.position||ye.morphAttributes.normal||ye.morphAttributes.color,ht=Dn!==void 0?Dn.length:0,tt=q.get(Se),bi=C.state.lights;if(W===!0&&(z===!0||V!==K)){const ke=V===K&&Se.id===U;It.setState(Se,V,ke)}let L=!1;Se.version===tt.__version?(tt.needsLights&&tt.lightsStateVersion!==bi.state.version||tt.outputColorSpace!==yt||Ie.isBatchedMesh&&tt.batching===!1||!Ie.isBatchedMesh&&tt.batching===!0||Ie.isInstancedMesh&&tt.instancing===!1||!Ie.isInstancedMesh&&tt.instancing===!0||Ie.isSkinnedMesh&&tt.skinning===!1||!Ie.isSkinnedMesh&&tt.skinning===!0||Ie.isInstancedMesh&&tt.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&tt.instancingColor===!1&&Ie.instanceColor!==null||tt.envMap!==vt||Se.fog===!0&&tt.fog!==je||tt.numClippingPlanes!==void 0&&(tt.numClippingPlanes!==It.numPlanes||tt.numIntersection!==It.numIntersection)||tt.vertexAlphas!==_t||tt.vertexTangents!==St||tt.morphTargets!==wt||tt.morphNormals!==mn||tt.morphColors!==Xn||tt.toneMapping!==dn||ue.isWebGL2===!0&&tt.morphTargetsCount!==ht)&&(L=!0):(L=!0,tt.__version=Se.version);let k=tt.currentProgram;L===!0&&(k=us(Se,ge,Ie));let ee=!1,re=!1,de=!1;const xe=k.getUniforms(),Pe=tt.uniforms;if(ae.useProgram(k.program)&&(ee=!0,re=!0,de=!0),Se.id!==U&&(U=Se.id,re=!0),ee||K!==V){xe.setValue(G,"projectionMatrix",V.projectionMatrix),xe.setValue(G,"viewMatrix",V.matrixWorldInverse);const ke=xe.map.cameraPosition;ke!==void 0&&ke.setValue(G,Be.setFromMatrixPosition(V.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(G,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(Se.isMeshPhongMaterial||Se.isMeshToonMaterial||Se.isMeshLambertMaterial||Se.isMeshBasicMaterial||Se.isMeshStandardMaterial||Se.isShaderMaterial)&&xe.setValue(G,"isOrthographic",V.isOrthographicCamera===!0),K!==V&&(K=V,re=!0,de=!0)}if(Ie.isSkinnedMesh){xe.setOptional(G,Ie,"bindMatrix"),xe.setOptional(G,Ie,"bindMatrixInverse");const ke=Ie.skeleton;ke&&(ue.floatVertexTextures?(ke.boneTexture===null&&ke.computeBoneTexture(),xe.setValue(G,"boneTexture",ke.boneTexture,S)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Ie.isBatchedMesh&&(xe.setOptional(G,Ie,"batchingTexture"),xe.setValue(G,"batchingTexture",Ie._matricesTexture,S));const Ne=ye.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Mt.update(Ie,ye,k),(re||tt.receiveShadow!==Ie.receiveShadow)&&(tt.receiveShadow=Ie.receiveShadow,xe.setValue(G,"receiveShadow",Ie.receiveShadow)),Se.isMeshGouraudMaterial&&Se.envMap!==null&&(Pe.envMap.value=vt,Pe.flipEnvMap.value=vt.isCubeTexture&&vt.isRenderTargetTexture===!1?-1:1),re&&(xe.setValue(G,"toneMappingExposure",I.toneMappingExposure),tt.needsLights&&ku(Pe,de),je&&Se.fog===!0&&Ve.refreshFogUniforms(Pe,je),Ve.refreshMaterialUniforms(Pe,Se,fe,se,H),Pp.upload(G,Xl(tt),Pe,S)),Se.isShaderMaterial&&Se.uniformsNeedUpdate===!0&&(Pp.upload(G,Xl(tt),Pe,S),Se.uniformsNeedUpdate=!1),Se.isSpriteMaterial&&xe.setValue(G,"center",Ie.center),xe.setValue(G,"modelViewMatrix",Ie.modelViewMatrix),xe.setValue(G,"normalMatrix",Ie.normalMatrix),xe.setValue(G,"modelMatrix",Ie.matrixWorld),Se.isShaderMaterial||Se.isRawShaderMaterial){const ke=Se.uniformsGroups;for(let Fe=0,We=ke.length;Fe0&&S.useMultisampledRTT(V)===!1?Ie=q.get(V).__webglMultisampledFramebuffer:Array.isArray(St)?Ie=St[ye]:Ie=St,_.copy(V.viewport),P.copy(V.scissor),Z=V.scissorTest}else _.copy(ne).multiplyScalar(fe).floor(),P.copy(Ae).multiplyScalar(fe).floor(),Z=_e;if(ae.bindFramebuffer(G.FRAMEBUFFER,Ie)&&ue.drawBuffers&&Se&&ae.drawBuffers(V,Ie),ae.viewport(_),ae.scissor(P),ae.setScissorTest(Z),je){const vt=q.get(V.texture);G.framebufferTexture2D(G.FRAMEBUFFER,G.COLOR_ATTACHMENT0,G.TEXTURE_CUBE_MAP_POSITIVE_X+ge,vt.__webglTexture,ye)}else if(dt){const vt=q.get(V.texture),_t=ge||0;G.framebufferTextureLayer(G.FRAMEBUFFER,G.COLOR_ATTACHMENT0,vt.__webglTexture,ye||0,_t)}U=-1},this.readRenderTargetPixels=function(V,ge,ye,Se,Ie,je,dt){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let yt=q.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&dt!==void 0&&(yt=yt[dt]),yt){ae.bindFramebuffer(G.FRAMEBUFFER,yt);try{const vt=V.texture,_t=vt.format,St=vt.type;if(_t!==Fi&&nt.convert(_t)!==G.getParameter(G.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const wt=St===Ll&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(St!==Ds&&nt.convert(St)!==G.getParameter(G.IMPLEMENTATION_COLOR_READ_TYPE)&&!(St===br&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!wt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=V.width-Se&&ye>=0&&ye<=V.height-Ie&&G.readPixels(ge,ye,Se,Ie,nt.convert(_t),nt.convert(St),je)}finally{const vt=D!==null?q.get(D).__webglFramebuffer:null;ae.bindFramebuffer(G.FRAMEBUFFER,vt)}}},this.copyFramebufferToTexture=function(V,ge,ye=0){const Se=Math.pow(2,-ye),Ie=Math.floor(ge.image.width*Se),je=Math.floor(ge.image.height*Se);S.setTexture2D(ge,0),G.copyTexSubImage2D(G.TEXTURE_2D,ye,0,0,V.x,V.y,Ie,je),ae.unbindTexture()},this.copyTextureToTexture=function(V,ge,ye,Se=0){const Ie=ge.image.width,je=ge.image.height,dt=nt.convert(ye.format),yt=nt.convert(ye.type);S.setTexture2D(ye,0),G.pixelStorei(G.UNPACK_FLIP_Y_WEBGL,ye.flipY),G.pixelStorei(G.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ye.premultiplyAlpha),G.pixelStorei(G.UNPACK_ALIGNMENT,ye.unpackAlignment),ge.isDataTexture?G.texSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,Ie,je,dt,yt,ge.image.data):ge.isCompressedTexture?G.compressedTexSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,ge.mipmaps[0].width,ge.mipmaps[0].height,dt,ge.mipmaps[0].data):G.texSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,dt,yt,ge.image),Se===0&&ye.generateMipmaps&&G.generateMipmap(G.TEXTURE_2D),ae.unbindTexture()},this.copyTextureToTexture3D=function(V,ge,ye,Se,Ie=0){if(I.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const je=V.max.x-V.min.x+1,dt=V.max.y-V.min.y+1,yt=V.max.z-V.min.z+1,vt=nt.convert(Se.format),_t=nt.convert(Se.type);let St;if(Se.isData3DTexture)S.setTexture3D(Se,0),St=G.TEXTURE_3D;else if(Se.isDataArrayTexture||Se.isCompressedArrayTexture)S.setTexture2DArray(Se,0),St=G.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}G.pixelStorei(G.UNPACK_FLIP_Y_WEBGL,Se.flipY),G.pixelStorei(G.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Se.premultiplyAlpha),G.pixelStorei(G.UNPACK_ALIGNMENT,Se.unpackAlignment);const wt=G.getParameter(G.UNPACK_ROW_LENGTH),mn=G.getParameter(G.UNPACK_IMAGE_HEIGHT),Xn=G.getParameter(G.UNPACK_SKIP_PIXELS),dn=G.getParameter(G.UNPACK_SKIP_ROWS),Dn=G.getParameter(G.UNPACK_SKIP_IMAGES),ht=ye.isCompressedTexture?ye.mipmaps[Ie]:ye.image;G.pixelStorei(G.UNPACK_ROW_LENGTH,ht.width),G.pixelStorei(G.UNPACK_IMAGE_HEIGHT,ht.height),G.pixelStorei(G.UNPACK_SKIP_PIXELS,V.min.x),G.pixelStorei(G.UNPACK_SKIP_ROWS,V.min.y),G.pixelStorei(G.UNPACK_SKIP_IMAGES,V.min.z),ye.isDataTexture||ye.isData3DTexture?G.texSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,dt,yt,vt,_t,ht.data):ye.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),G.compressedTexSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,dt,yt,vt,ht.data)):G.texSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,dt,yt,vt,_t,ht),G.pixelStorei(G.UNPACK_ROW_LENGTH,wt),G.pixelStorei(G.UNPACK_IMAGE_HEIGHT,mn),G.pixelStorei(G.UNPACK_SKIP_PIXELS,Xn),G.pixelStorei(G.UNPACK_SKIP_ROWS,dn),G.pixelStorei(G.UNPACK_SKIP_IMAGES,Dn),Ie===0&&Se.generateMipmaps&&G.generateMipmap(St),ae.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?S.setTextureCube(V,0):V.isData3DTexture?S.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?S.setTexture2DArray(V,0):S.setTexture2D(V,0),ae.unbindTexture()},this.resetState=function(){Q=0,R=0,D=null,ae.reset(),xt.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===Gg?"display-p3":"srgb",t.unpackColorSpace=cn.workingColorSpace===Gd?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?ga:Fv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===ga?Nn:Ts}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 TR extends Kv{}TR.prototype.isWebGL1Renderer=!0;class Jg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ze(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 Xg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Ze(e),this.near=t,this.far=i}clone(){return new Xg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class wd extends Vt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Kg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=vd,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=gr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return xl("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:pA.clone(),uv:dr.getInterpolation(pA,Tf,mA,bf,oS,ME,aS,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Lf(n,e,t,i,r,s){Mc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(gA.x=s*Mc.x-r*Mc.y,gA.y=r*Mc.x+s*Mc.y):gA.copy(Mc),n.copy(e),n.x+=gA.x,n.y+=gA.y,n.applyMatrix4(bR)}const Pf=new O,lS=new O;class PR extends Vt{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){Pf.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Pf);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Pf.setFromMatrixPosition(e.matrixWorld),lS.setFromMatrixPosition(this.matrixWorld);const i=Pf.distanceTo(lS)/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 Rc="batchId",Ko=new At,mS=new At,wO=new At,ES=new At,DE=new Wd,Uf=new $n,qa=new Jn,IA=new O,TE=new xO,Mi=new tn,Ff=[];function SO(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 an(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Rc,new an(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Rc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Rc}"`);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===Rc)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 $n);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 A=e.getIndex(),d=A!==null;if(d&&(i===-1?r.indexCount=A.count:r.indexCount=i,s===null?r.indexStart=0:r.indexStart=s.indexStart+s.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const h=this._visibility,f=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;h.push(!0),f.push(!0);const y=this._geometryCount;this._geometryCount++,wO.toArray(E,y*16),g.needsUpdate=!0,o.push(r),a.push({start:d?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new $n,sphereInitialized:!1,sphere:new Jn});const C=this.geometry.getAttribute(Rc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Rc)continue;const E=t.getAttribute(g),y=i.getAttribute(g);SO(E,y,l);const C=E.itemSize;for(let p=E.count,v=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let d=A.start,h=A.start+A.count;d=o||i[e]===!1?this:(t.toArray(s,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,t){const i=this._active,r=this._matricesTexture.image.data,s=this._geometryCount;return e>=s||i[e]===!1?null:t.fromArray(r,e*16)}setVisibleAt(e,t){const i=this._visibility,r=this._active,s=this._geometryCount;return e>=s||r[e]===!1||i[e]===t?this:(i[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,i=this._active,r=this._geometryCount;return e>=r||i[e]===!1?!1:t[e]}raycast(e,t){const i=this._visibility,r=this._active,s=this._drawRanges,o=this._geometryCount,a=this.matrixWorld,l=this.geometry;Mi.material=this.material,Mi.geometry.index=l.index,Mi.geometry.attributes=l.attributes,Mi.geometry.boundingBox===null&&(Mi.geometry.boundingBox=new $n),Mi.geometry.boundingSphere===null&&(Mi.geometry.boundingSphere=new Jn);for(let A=0;A({...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,A=this._visibility,d=this._multiDrawStarts,h=this._multiDrawCounts,f=this._drawRanges,g=this.perObjectFrustumCulled;g&&(ES.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),DE.setFromProjectionMatrix(ES,e.coordinateSystem));let E=0;if(this.sortObjects){mS.copy(this.matrixWorld).invert(),IA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(mS);for(let p=0,v=A.length;pl)continue;f.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(f);Ue.far||t.push({distance:U,point:h.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),v=Math.min(C.count,o.start+o.count);for(let I=p,w=v-1;Il)continue;f.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(f);Re.far||t.push({distance:R,point:h.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class GR extends wn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:yn,this.magFilter=s!==void 0?s:yn,this.generateMipmaps=!1;const d=this;function h(){d.needsUpdate=!0,e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(h)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class _O extends wn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=On,this.minFilter=On,this.generateMipmaps=!1,this.needsUpdate=!0}}class jg extends wn{constructor(e,t,i,r,s,o,a,l,A,d,h,f){super(null,o,a,l,A,d,r,s,h,f),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class MO extends jg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Ri}}class QO extends jg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,go),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class RO extends wn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class os{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const d=i[r],f=i[r+1]-d,g=(o-d)/f;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new 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 At;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new O)}s[0]=new O,o[0]=new O;let A=Number.MAX_VALUE;const d=Math.abs(r[0].x),h=Math.abs(r[0].y),f=Math.abs(r[0].z);d<=A&&(A=d,i.set(1,0,0)),h<=A&&(A=h,i.set(0,1,0)),f<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(kn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(kn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 os{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){const i=t||new ve,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 A,d;this.closed||a>0?A=r[(a-1)%s]:(zf.subVectors(r[0],r[1]).add(r[0]),A=zf);const h=r[a%s],f=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(SS(a,l.x,A.x,d.x,h.x),SS(a,l.y,A.y,d.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),A=l===0?0:1-o/l;return a.getPointAt(A,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const h=A.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(A);const d=A.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Yd extends Lt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=kn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],d=1/t,h=new O,f=new ve,g=new O,E=new O,y=new O;let C=0,p=0;for(let v=0;v<=e.length-1;v++)switch(v){case 0:C=e[v+1].x-e[v].x,p=e[v+1].y-e[v].y,g.x=p*1,g.y=-C,g.z=p*0,y.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(y.x,y.y,y.z);break;default:C=e[v+1].x-e[v].x,p=e[v+1].y-e[v].y,g.x=p*1,g.y=-C,g.z=p*0,E.copy(g),g.x+=y.x,g.y+=y.y,g.z+=y.z,g.normalize(),l.push(g.x,g.y,g.z),y.copy(E)}for(let v=0;v<=t;v++){const I=i+v*d*r,w=Math.sin(I),Q=Math.cos(I);for(let R=0;R<=e.length-1;R++){h.x=e[R].x*w,h.y=e[R].y,h.z=e[R].x*Q,o.push(h.x,h.y,h.z),f.x=v/t,f.y=R/(e.length-1),a.push(f.x,f.y);const D=l[3*R+0]*w,U=l[3*R+1],K=l[3*R+0]*Q;A.push(D,U,K)}}for(let v=0;v0&&I(!0),t>0&&I(!1)),this.setIndex(d),this.setAttribute("position",new at(h,3)),this.setAttribute("normal",new at(f,3)),this.setAttribute("uv",new at(g,2));function v(){const w=new O,Q=new O;let R=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const K=[],_=U/s,P=_*(t-e)+e;for(let Z=0;Z<=r;Z++){const he=Z/r,X=he*l+a,le=Math.sin(X),se=Math.cos(X);Q.x=P*le,Q.y=-_*i+C,Q.z=P*se,h.push(Q.x,Q.y,Q.z),w.set(le,D,se).normalize(),f.push(w.x,w.y,w.z),g.push(he,1-_),K.push(E++)}y.push(K)}for(let U=0;U.9&&D<.1&&(I<.2&&(o[v+0]+=1),w<.2&&(o[v+2]+=1),Q<.2&&(o[v+4]+=1))}}function f(v){s.push(v.x,v.y,v.z)}function g(v,I){const w=v*3;I.x=e[w+0],I.y=e[w+1],I.z=e[w+2]}function E(){const v=new O,I=new O,w=new O,Q=new O,R=new ve,D=new ve,U=new ve;for(let K=0,_=0;K80*t){a=A=n[0],l=d=n[1];for(let E=t;EA&&(A=h),f>d&&(d=f);g=Math.max(A-a,d-l),g=g!==0?32767/g:0}return Sd(s,o,t,a,l,g,0),o}};function KR(n,e,t,i,r){let s,o;if(r===e8(n,e,t,i)>0)for(s=e;s=e;s-=i)o=_S(s,n[s],n[s+1],o);return o&&nm(o,o.next)&&(Md(o),o=o.next),o}function kl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(nm(t,t.next)||Mn(t.prev,t,t.next)===0)){if(Md(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Sd(n,e,t,i,r,s,o){if(!n)return;!o&&s&&XO(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?OO(n,i,r,s):FO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Md(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=HO(kl(n),e,t),Sd(n,e,t,i,r,s,2)):o===2&&GO(n,e,t,i,r,s):Sd(kl(n),e,t,i,r,s,1);break}}}function FO(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,A=i.y,d=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=d&&E.x<=f&&E.y>=h&&E.y<=g&&tu(r,a,s,l,o,A,E.x,E.y)&&Mn(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function OO(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,A=o.x,d=r.y,h=s.y,f=o.y,g=al?a>A?a:A:l>A?l:A,C=d>h?d>f?d:f:h>f?h:f,p=ly(g,E,e,t,i),v=ly(y,C,e,t,i);let I=n.prevZ,w=n.nextZ;for(;I&&I.z>=p&&w&&w.z<=v;){if(I.x>=g&&I.x<=y&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&tu(a,d,l,h,A,f,I.x,I.y)&&Mn(I.prev,I,I.next)>=0||(I=I.prevZ,w.x>=g&&w.x<=y&&w.y>=E&&w.y<=C&&w!==r&&w!==o&&tu(a,d,l,h,A,f,w.x,w.y)&&Mn(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;I&&I.z>=p;){if(I.x>=g&&I.x<=y&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&tu(a,d,l,h,A,f,I.x,I.y)&&Mn(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;w&&w.z<=v;){if(w.x>=g&&w.x<=y&&w.y>=E&&w.y<=C&&w!==r&&w!==o&&tu(a,d,l,h,A,f,w.x,w.y)&&Mn(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function HO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!nm(r,s)&&jR(r,i,i.next,s)&&_d(r,s)&&_d(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Md(i),Md(i.next),i=n=s),i=i.next}while(i!==n);return kl(i)}function GO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&qO(o,a)){let l=qR(o,a);o=kl(o,o.next),l=kl(l,l.next),Sd(o,e,t,i,r,s,0),Sd(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function zO(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&s!==t.x&&tu(or.x||t.x===r.x&&JO(r,t)))&&(r=t,d=h)),t=t.next;while(t!==a);return r}function JO(n,e){return Mn(n.prev,n,e.prev)<0&&Mn(e.next,n,n.next)<0}function XO(n,e,t,i){let r=n;do r.z===0&&(r.z=ly(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,KO(r)}function KO(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function ly(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 jO(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 qO(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!ZO(n,e)&&(_d(n,e)&&_d(e,n)&&$O(n,e)&&(Mn(n.prev,n,e.prev)||Mn(n,e.prev,e))||nm(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 nm(n,e){return n.x===e.x&&n.y===e.y}function jR(n,e,t,i){const r=Xf(Mn(n,e,t)),s=Xf(Mn(n,e,i)),o=Xf(Mn(t,i,n)),a=Xf(Mn(t,i,e));return!!(r!==s&&o!==a||r===0&&Jf(n,t,e)||s===0&&Jf(n,i,e)||o===0&&Jf(t,n,i)||a===0&&Jf(t,e,i))}function Jf(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 Xf(n){return n>0?1:n<0?-1:0}function ZO(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&&jR(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function _d(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 $O(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 qR(n,e){const t=new cy(n.i,n.x,n.y),i=new cy(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 _S(n,e,t,i){const r=new cy(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 Md(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 cy(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 e8(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function QS(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(be),Ke=Math.sqrt(T*T+ie*ie),Ve=me.x-S/Re,$e=me.y+q/Re,ut=te.x-ie/Ke,It=te.y+T/Ke,Le=((ut-Ve)*ie-(It-$e)*T)/(q*ie-S*T);ue=Ve+q*Le-G.x,ae=$e+S*Le-G.y;const Pt=ue*ue+ae*ae;if(Pt<=2)return new ve(ue,ae);De=Math.sqrt(Pt/2)}else{let Re=!1;q>Number.EPSILON?T>Number.EPSILON&&(Re=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(S)===Math.sign(ie)&&(Re=!0),Re?(ue=-S,ae=q,De=Math.sqrt(be)):(ue=q,ae=S,De=Math.sqrt(be/2))}return new ve(ue/De,ae/De)}const $=[];for(let G=0,me=X.length,te=me-1,ue=G+1;G=0;G--){const me=G/C,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+y;for(let ae=0,De=X.length;ae=0;){const ue=te;let ae=te-1;ae<0&&(ae=G.length-1);for(let De=0,q=d+C*2;De0)&&g.push(I,w,R),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class nD extends Ai{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ze(16777215),this.specular=new Ze(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Hd,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.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 iD extends Ai{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ze(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class rD extends Ai{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class sD extends Ai{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ze(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Hd,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.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 oD extends Ai{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ze(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class aD extends Wi{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 El(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 lD(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function cD(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 uy(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 a1(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 r8(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){h.push(A.times[g]);for(let y=0;ys.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*h+d,v=p+h-d;y=a.values.slice(p,v)}else{const p=a.createInterpolant(),v=d,I=h-d;p.evaluate(s),y=p.resultBuffer.slice(v,I)}l==="quaternion"&&new Gn().fromArray(y).normalize().conjugate().toArray(y);const C=A.times.length;for(let p=0;p=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&&lD(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Lp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}as.prototype.TimeBufferType=Float32Array;as.prototype.ValueBufferType=Float32Array;as.prototype.DefaultInterpolation=md;class Hl extends as{}Hl.prototype.ValueTypeName="bool";Hl.prototype.ValueBufferType=Array;Hl.prototype.DefaultInterpolation=gd;Hl.prototype.InterpolantFactoryMethodLinear=void 0;Hl.prototype.InterpolantFactoryMethodSmooth=void 0;class c1 extends as{}c1.prototype.ValueTypeName="color";class Qd extends as{}Qd.prototype.ValueTypeName="number";class dD extends Kd{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 A=e*a;for(let d=A+a;A!==d;A+=4)Gn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Du extends as{InterpolantFactoryMethodLinear(e){return new dD(this.times,this.values,this.getValueSize(),e)}}Du.prototype.ValueTypeName="quaternion";Du.prototype.DefaultInterpolation=md;Du.prototype.InterpolantFactoryMethodSmooth=void 0;class Gl extends as{}Gl.prototype.ValueTypeName="string";Gl.prototype.ValueBufferType=Array;Gl.prototype.DefaultInterpolation=gd;Gl.prototype.InterpolantFactoryMethodLinear=void 0;Gl.prototype.InterpolantFactoryMethodSmooth=void 0;class Rd extends as{}Rd.prototype.ValueTypeName="vector";class Dd{constructor(e,t=-1,i,r=Hg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=gr(),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(l8(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(as.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const h=d[1];let f=r[h];f||(r[h]=f=[]),f.push(A)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(h,f,g,E,y){if(g.length!==0){const C=[],p=[];a1(g,C,p,E),C.length!==0&&y.push(new h(f,C,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let h=0;h{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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const d=js[e],h=A.body.getReader(),f=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=f?parseInt(f):0,E=g!==0;let y=0;const C=new ReadableStream({start(p){v();function v(){h.read().then(({done:I,value:w})=>{if(I)p.close();else{y+=w.byteLength;const Q=new ProgressEvent("progress",{lengthComputable:E,loaded:y,total:g});for(let R=0,D=d.length;R{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(d=>new DOMParser().parseFromString(d,a));case"json":return A.json();default:if(a===void 0)return A.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),f=h&&h[1]?h[1].toLowerCase():void 0,g=new TextDecoder(f);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{lo.add(e,A);const d=js[e];delete js[e];for(let h=0,f=d.length;h{const d=js[e];if(d===void 0)throw this.manager.itemError(e),A;delete js[e];for(let h=0,f=d.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class u8 extends Yi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new bs(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 Ze().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new O().fromArray(o.value);break;case"v4":r.uniforms[s].value=new un().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Qt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new At().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:$R,SpriteMaterial:jv,RawShaderMaterial:eD,ShaderMaterial:ss,PointsMaterial:$v,MeshPhysicalMaterial:tD,MeshStandardMaterial:o1,MeshPhongMaterial:nD,MeshToonMaterial:iD,MeshNormalMaterial:rD,MeshLambertMaterial:sD,MeshDepthMaterial:Wg,MeshDistanceMaterial:Yg,MeshBasicMaterial:ir,MeshMatcapMaterial:oD,LineDashedMaterial:aD,LineBasicMaterial:Wi,Material:Ai};return new t[e]}}class Ay{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 u1(t);s=new Td(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,d=e.length;A0){r=new Td(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const C=new $n;C.min.fromArray(y.boxMin),C.max.fromArray(y.boxMax);const p=new Jn;return p.radius=y.sphereRadius,p.center.fromArray(y.sphereCenter),{boxInitialized:y.boxInitialized,box:C,sphereInitialized:y.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new PR;break;case"Line":o=new Ba(a(e.geometry),l(e.material));break;case"LineLoop":o=new OR(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ps(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new HR(a(e.geometry),l(e.material));break;case"Sprite":o=new LR(l(e.material));break;case"Group":o=new ao;break;case"Bone":o=new qv;break;default:o=new Vt}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 f=e.children;for(let g=0;g"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=lo.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return lo.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),lo.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});lo.add(e,l),s.manager.itemStart(e)}}let Kf;class d1{static getContext(){return Kf===void 0&&(Kf=new(window.AudioContext||window.webkitAudioContext)),Kf}static setContext(e){Kf=e}}class I8 extends Yi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new bs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);d1.getContext().decodeAudioData(A,function(h){t(h)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const kS=new At,US=new At,Za=new At;class y8{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,Za.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(Bl*t.fov*.5)/t.zoom;let a,l;US.elements[12]=-r,kS.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Za.elements[0]=2*t.near/(l-a),Za.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Za),a=-o*t.aspect-s,l=o*t.aspect-s,Za.elements[0]=2*t.near/(l-a),Za.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Za)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(US),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(kS)}}class h1{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=FS(),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=FS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function FS(){return(typeof performance>"u"?Date:performance).now()}const $a=new O,OS=new Gn,v8=new O,el=new O;class B8 extends Vt{constructor(){super(),this.type="AudioListener",this.context=d1.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new h1}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($a,OS,v8),el.set(0,0,-1).applyQuaternion(OS),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime($a.x,r),t.positionY.linearRampToValueAtTime($a.y,r),t.positionZ.linearRampToValueAtTime($a.z,r),t.forwardX.linearRampToValueAtTime(el.x,r),t.forwardY.linearRampToValueAtTime(el.y,r),t.forwardZ.linearRampToValueAtTime(el.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition($a.x,$a.y,$a.z),t.setOrientation(el.x,el.y,el.z,i.x,i.y,i.z)}}class xD extends Vt{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,A=t+t;l!==A;++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){Gn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Gn.multiplyQuaternionsFlat(e,o,e,t,e,i),Gn.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 f1="\\[\\]\\.:\\/",_8=new RegExp("["+f1+"]","g"),p1="[^"+f1+"]",M8="[^"+f1.replace("\\.","")+"]",Q8=/((?:WC+[\/:])*)/.source.replace("WC",p1),R8=/(WCOD+)?/.source.replace("WCOD",M8),D8=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",p1),T8=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",p1),b8=new RegExp("^"+Q8+R8+D8+T8+"$"),L8=["material","materials","bones","map"];class P8{constructor(e,t,i){const r=i||jt.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 jt{constructor(e,t,i){this.path=t,this.parsedPath=i||jt.parseTrackName(t),this.node=jt.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 jt.Composite(e,t,i):new jt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(_8,"")}static parseTrackName(e){const t=b8.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);L8.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const h=s++,f=e[h];t[f.uuid]=d,e[d]=f,t[A]=h,e[h]=l;for(let g=0,E=r;g!==E;++g){const y=i[g],C=y[h],p=y[d];y[d]=C,y[h]=p}}}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 A=arguments[a],d=A.uuid,h=t[d];if(h!==void 0)if(delete t[d],h0&&(t[g.uuid]=h),e[h]=g,e.pop();for(let E=0,y=r;E!==y;++E){const C=i[E];C[h]=C[f],C.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,A=l.length,d=this.nCachedObjects_,h=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(h);for(let f=d,g=l.length;f!==g;++f){const E=l[f];h[f]=new jt(E,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class SD{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:pl,endingEnd:pl};for(let A=0;A!==o;++A){const d=s[A].createInterpolant(null);a[A]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=sR,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Uv:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),A[d].accumulateAdditive(a);break;case Hg:default:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),A[d].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===oR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===rR){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 A=e<0;this._setEndings(A,!A,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=gl,r.endingEnd=gl):(e?r.endingStart=this.zeroSlopeAtStart?gl:pl:r.endingStart=Ed,t?r.endingEnd=this.zeroSlopeAtEnd?gl:pl:r.endingEnd=Ed)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=t,a[1]=s+e,l[1]=i,this}}const k8=new Float32Array(1);class U8 extends Eo{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,A=this._bindingsByRootAndName;let d=A[l];d===void 0&&(d={},A[l]=d);for(let h=0;h!==s;++h){const f=r[h],g=f.name;let E=d[g];if(E!==void 0)++E.referenceCount,o[h]=E;else{if(E=o[h],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const y=t&&t._propertyBindings[h].binding.parsedPath;E=new wD(jt.create(i,g,y),f.ValueTypeName,f.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[h]=E}a[h].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,zS).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 VS=new O,jf=new O;class MD{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){VS.subVectors(e,this.start),jf.subVectors(this.end,this.start);const i=jf.dot(jf);let s=jf.dot(VS)/i;return t&&(s=kn(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 WS=new O;class W8 extends Vt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Lt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{jS.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(jS,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 r5 extends Ps{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 Lt;r.setAttribute("position",new at(t,3)),r.setAttribute("color",new at(i,3));const s=new Wi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new Ze,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 qo{constructor(){this.type="ShapePath",this.color=new Ze,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ma,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(p){const v=[];for(let I=0,w=p.length;INumber.EPSILON){if(_<0&&(D=v[R],K=-K,U=v[Q],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const P=_*(p.x-D.x)-K*(p.y-D.y);if(P===0)return!0;if(P<0)continue;w=!w}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return w}const r=is.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Ea,l.curves=a.curves,A.push(l),A;let d=!r(s[0].getPoints());d=e?!d:d;const h=[],f=[];let g=[],E=0,y;f[E]=void 0,g[E]=[];for(let p=0,v=s.length;p1){let p=!1,v=0;for(let I=0,w=f.length;I0&&p===!1&&(g=h)}let C;for(let p=0,v=f.length;p=0&&(w[N]=null,v[N].disconnect(H))}for(let z=0;z=w.length){w.push(H),N=Be;break}else if(w[Be]===null){w[Be]=H,N=Be;break}if(N===-1)break}const Ee=v[N];Ee&&Ee.connect(H)}}const re=new O,fe=new O;function F(W,z,H){re.setFromMatrixPosition(z.matrixWorld),fe.setFromMatrixPosition(H.matrixWorld);const N=re.distanceTo(fe),Ee=z.projectionMatrix.elements,Be=H.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),we=Ee[14]/(Ee[10]+1),G=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],te=(Ee[8]-1)/Ee[0],ue=(Be[8]+1)/Be[0],le=pe*te,De=pe*ue,q=N/(-te+ue),S=q*-te;z.matrixWorld.decompose(W.position,W.quaternion,W.scale),W.translateX(S),W.translateZ(q),W.matrixWorld.compose(W.position,W.quaternion,W.scale),W.matrixWorldInverse.copy(W.matrixWorld).invert();const T=pe+q,ie=we+q,be=le-S,Te=De+(N-S),Re=G*we/ie*T,Ke=me*we/ie*T;W.projectionMatrix.makePerspective(be,Te,Re,Ke,T,ie),W.projectionMatrixInverse.copy(W.projectionMatrix).invert()}function $(W,z){z===null?W.matrixWorld.copy(W.matrix):W.matrixWorld.multiplyMatrices(z.matrixWorld,W.matrix),W.matrixWorldInverse.copy(W.matrixWorld).invert()}this.updateCamera=function(W){if(r===null)return;y.texture!==null&&(W.near=y.depthNear,W.far=y.depthFar),_.near=U.near=D.near=W.near,_.far=U.far=D.far=W.far,(P!==_.near||Z!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),P=_.near,Z=_.far,D.near=P,D.far=Z,U.near=P,U.far=Z,D.updateProjectionMatrix(),U.updateProjectionMatrix(),W.updateProjectionMatrix());const z=W.parent,H=_.cameras;$(_,z);for(let N=0;N0&&(C.alphaTest.value=p.alphaTest);const I=e.get(p).envMap;if(I&&(C.envMap.value=I,C.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=p.reflectivity,C.ior.value=p.ior,C.refractionRatio.value=p.refractionRatio),p.lightMap){C.lightMap.value=p.lightMap;const v=n._useLegacyLights===!0?Math.PI:1;C.lightMapIntensity.value=p.lightMapIntensity*v,t(p.lightMap,C.lightMapTransform)}p.aoMap&&(C.aoMap.value=p.aoMap,C.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,C.aoMapTransform))}function o(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform))}function a(C,p){C.dashSize.value=p.dashSize,C.totalSize.value=p.dashSize+p.gapSize,C.scale.value=p.scale}function l(C,p,I,v){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.size.value=p.size*I,C.scale.value=v*.5,p.map&&(C.map.value=p.map,t(p.map,C.uvTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function A(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.rotation.value=p.rotation,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function d(C,p){C.specular.value.copy(p.specular),C.shininess.value=Math.max(p.shininess,1e-4)}function h(C,p){p.gradientMap&&(C.gradientMap.value=p.gradientMap)}function f(C,p){C.metalness.value=p.metalness,p.metalnessMap&&(C.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,C.metalnessMapTransform)),C.roughness.value=p.roughness,p.roughnessMap&&(C.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,C.roughnessMapTransform)),e.get(p).envMap&&(C.envMapIntensity.value=p.envMapIntensity)}function g(C,p,I){C.ior.value=p.ior,p.sheen>0&&(C.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),C.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(C.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,C.sheenColorMapTransform)),p.sheenRoughnessMap&&(C.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,C.sheenRoughnessMapTransform))),p.clearcoat>0&&(C.clearcoat.value=p.clearcoat,C.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(C.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,C.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(C.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Gi&&C.clearcoatNormalScale.value.negate())),p.iridescence>0&&(C.iridescence.value=p.iridescence,C.iridescenceIOR.value=p.iridescenceIOR,C.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(C.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,C.iridescenceMapTransform)),p.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),p.transmission>0&&(C.transmission.value=p.transmission,C.transmissionSamplerMap.value=I.texture,C.transmissionSamplerSize.value.set(I.width,I.height),p.transmissionMap&&(C.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,C.transmissionMapTransform)),C.thickness.value=p.thickness,p.thicknessMap&&(C.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=p.attenuationDistance,C.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(C.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(C.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=p.specularIntensity,C.specularColor.value.copy(p.specularColor),p.specularColorMap&&(C.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,C.specularColorMapTransform)),p.specularIntensityMap&&(C.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,C.specularIntensityMapTransform))}function E(C,p){p.matcap&&(C.matcap.value=p.matcap)}function y(C,p){const I=e.get(p).light;C.referencePosition.value.setFromMatrixPosition(I.matrixWorld),C.nearDistance.value=I.shadow.camera.near,C.farDistance.value=I.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function CO(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(I,v){const w=v.program;i.uniformBlockBinding(I,w)}function A(I,v){let w=r[I.id];w===void 0&&(E(I),w=d(I),r[I.id]=w,I.addEventListener("dispose",C));const R=v.program;i.updateUBOMapping(I,R);const Q=e.render.frame;s[I.id]!==Q&&(f(I),s[I.id]=Q)}function d(I){const v=h();I.__bindingPointIndex=v;const w=n.createBuffer(),R=I.__size,Q=I.usage;return n.bindBuffer(n.UNIFORM_BUFFER,w),n.bufferData(n.UNIFORM_BUFFER,R,Q),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,v,w),w}function h(){for(let I=0;I0&&(w+=R-Q),I.__size=w,I.__cache={},this}function y(I){const v={boundary:0,storage:0};return typeof I=="number"||typeof I=="boolean"?(v.boundary=4,v.storage=4):I.isVector2?(v.boundary=8,v.storage=8):I.isVector3||I.isColor?(v.boundary=16,v.storage=12):I.isVector4?(v.boundary=16,v.storage=16):I.isMatrix3?(v.boundary=48,v.storage=48):I.isMatrix4?(v.boundary=64,v.storage=64):I.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",I),v}function C(I){const v=I.target;v.removeEventListener("dispose",C);const w=o.indexOf(v.__bindingPointIndex);o.splice(w,1),n.deleteBuffer(r[v.id]),delete r[v.id],delete s[v.id]}function p(){for(const I in r)n.deleteBuffer(r[I]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class Kv{constructor(e={}){const{canvas:t=ER(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;const g=new Uint32Array(4),E=new Int32Array(4);let y=null,C=null;const p=[],I=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=Rs,this.toneMappingExposure=1;const v=this;let w=!1,R=0,Q=0,D=null,U=-1,K=null;const _=new un,P=new un;let Z=null;const he=new Ze(0);let X=0,ae=t.width,re=t.height,fe=1,F=null,$=null;const ne=new un(0,0,ae,re),Ae=new un(0,0,ae,re);let _e=!1;const Ue=new Wd;let W=!1,z=!1,H=null;const N=new dt,Ee=new ve,Be=new O,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function we(){return D===null?fe:1}let G=i;function me(V,ge){for(let ye=0;ye{function je(){if(Se.forEach(function(ht){q.get(ht).currentProgram.isReady()&&Se.delete(ht)}),Se.size===0){Ie(V);return}setTimeout(je,10)}te.get("KHR_parallel_shader_compile")!==null?je():setTimeout(je,10)})};let nn=null;function sn(V){nn&&nn(V)}function di(){ln.stop()}function on(){ln.start()}const ln=new wR;ln.setAnimationLoop(sn),typeof self<"u"&&ln.setContext(self),this.setAnimationLoop=function(V){nn=V,Tt.setAnimationLoop(V),V===null?ln.stop():ln.start()},Tt.addEventListener("sessionstart",di),Tt.addEventListener("sessionend",on),this.render=function(V,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Tt.enabled===!0&&Tt.isPresenting===!0&&(Tt.cameraAutoUpdate===!0&&Tt.updateCamera(ge),ge=Tt.getCamera()),V.isScene===!0&&V.onBeforeRender(v,V,ge,D),C=At.get(V,I.length),C.init(),I.push(C),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),Ue.setFromProjectionMatrix(N),z=this.localClippingEnabled,W=It.init(this.clippingPlanes,z),y=$e.get(V,p.length),y.init(),p.push(y),Ti(V,ge,0,v.sortObjects),y.finish(),v.sortObjects===!0&&y.sort(F,$),this.info.render.frame++,W===!0&&It.beginShadows();const ye=C.state.shadowsArray;if(Le.render(ye,V,ge),W===!0&&It.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Tt.enabled===!1||Tt.isPresenting===!1||Tt.hasDepthSensing()===!1)&&Pt.render(y,V),C.setupLights(v._useLegacyLights),ge.isArrayCamera){const Se=ge.cameras;for(let Ie=0,je=Se.length;Ie0?C=I[I.length-1]:C=null,p.pop(),p.length>0?y=p[p.length-1]:y=null};function Ti(V,ge,ye,Se){if(V.visible===!1)return;if(V.layers.test(ge.layers)){if(V.isGroup)ye=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(ge);else if(V.isLight)C.pushLight(V),V.castShadow&&C.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||Ue.intersectsSprite(V)){Se&&Be.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const ht=Re.update(V),yt=V.material;yt.visible&&y.push(V,ht,yt,ye,Be.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||Ue.intersectsObject(V))){const ht=Re.update(V),yt=V.material;if(Se&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),Be.copy(V.boundingSphere.center)):(ht.boundingSphere===null&&ht.computeBoundingSphere(),Be.copy(ht.boundingSphere.center)),Be.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(yt)){const vt=ht.groups;for(let _t=0,St=vt.length;_t0&&Us(Ie,je,ge,ye),Se&&le.viewport(_.copy(Se)),Ie.length>0&&cs(Ie,ge,ye),je.length>0&&cs(je,ge,ye),ht.length>0&&cs(ht,ge,ye),le.buffers.depth.setTest(!0),le.buffers.depth.setMask(!0),le.buffers.color.setMask(!0),le.setPolygonOffset(!1)}function Us(V,ge,ye,Se){if((ye.isScene===!0?ye.overrideMaterial:null)!==null)return;const je=ue.isWebGL2;H===null&&(H=new Or(1,1,{generateMipmaps:!0,type:te.has("EXT_color_buffer_half_float")?Ll:Ds,minFilter:ws,samples:je?4:0})),v.getDrawingBufferSize(Ee),je?H.setSize(Ee.x,Ee.y):H.setSize(fg(Ee.x),fg(Ee.y));const ht=v.getRenderTarget();v.setRenderTarget(H),v.getClearColor(he),X=v.getClearAlpha(),X<1&&v.setClearColor(16777215,.5),v.clear();const yt=v.toneMapping;v.toneMapping=Rs,cs(V,ye,Se),S.updateMultisampleRenderTarget(H),S.updateRenderTargetMipmap(H);let vt=!1;for(let _t=0,St=ge.length;_t0),wt=!!ye.morphAttributes.position,mn=!!ye.morphAttributes.normal,Xn=!!ye.morphAttributes.color;let dn=Rs;Se.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(dn=v.toneMapping);const Dn=ye.morphAttributes.position||ye.morphAttributes.normal||ye.morphAttributes.color,ft=Dn!==void 0?Dn.length:0,tt=q.get(Se),bi=C.state.lights;if(W===!0&&(z===!0||V!==K)){const ke=V===K&&Se.id===U;It.setState(Se,V,ke)}let L=!1;Se.version===tt.__version?(tt.needsLights&&tt.lightsStateVersion!==bi.state.version||tt.outputColorSpace!==yt||Ie.isBatchedMesh&&tt.batching===!1||!Ie.isBatchedMesh&&tt.batching===!0||Ie.isInstancedMesh&&tt.instancing===!1||!Ie.isInstancedMesh&&tt.instancing===!0||Ie.isSkinnedMesh&&tt.skinning===!1||!Ie.isSkinnedMesh&&tt.skinning===!0||Ie.isInstancedMesh&&tt.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&tt.instancingColor===!1&&Ie.instanceColor!==null||tt.envMap!==vt||Se.fog===!0&&tt.fog!==je||tt.numClippingPlanes!==void 0&&(tt.numClippingPlanes!==It.numPlanes||tt.numIntersection!==It.numIntersection)||tt.vertexAlphas!==_t||tt.vertexTangents!==St||tt.morphTargets!==wt||tt.morphNormals!==mn||tt.morphColors!==Xn||tt.toneMapping!==dn||ue.isWebGL2===!0&&tt.morphTargetsCount!==ft)&&(L=!0):(L=!0,tt.__version=Se.version);let k=tt.currentProgram;L===!0&&(k=us(Se,ge,Ie));let ee=!1,se=!1,de=!1;const xe=k.getUniforms(),Pe=tt.uniforms;if(le.useProgram(k.program)&&(ee=!0,se=!0,de=!0),Se.id!==U&&(U=Se.id,se=!0),ee||K!==V){xe.setValue(G,"projectionMatrix",V.projectionMatrix),xe.setValue(G,"viewMatrix",V.matrixWorldInverse);const ke=xe.map.cameraPosition;ke!==void 0&&ke.setValue(G,Be.setFromMatrixPosition(V.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(G,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(Se.isMeshPhongMaterial||Se.isMeshToonMaterial||Se.isMeshLambertMaterial||Se.isMeshBasicMaterial||Se.isMeshStandardMaterial||Se.isShaderMaterial)&&xe.setValue(G,"isOrthographic",V.isOrthographicCamera===!0),K!==V&&(K=V,se=!0,de=!0)}if(Ie.isSkinnedMesh){xe.setOptional(G,Ie,"bindMatrix"),xe.setOptional(G,Ie,"bindMatrixInverse");const ke=Ie.skeleton;ke&&(ue.floatVertexTextures?(ke.boneTexture===null&&ke.computeBoneTexture(),xe.setValue(G,"boneTexture",ke.boneTexture,S)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Ie.isBatchedMesh&&(xe.setOptional(G,Ie,"batchingTexture"),xe.setValue(G,"batchingTexture",Ie._matricesTexture,S));const Ne=ye.morphAttributes;if((Ne.position!==void 0||Ne.normal!==void 0||Ne.color!==void 0&&ue.isWebGL2===!0)&&Mt.update(Ie,ye,k),(se||tt.receiveShadow!==Ie.receiveShadow)&&(tt.receiveShadow=Ie.receiveShadow,xe.setValue(G,"receiveShadow",Ie.receiveShadow)),Se.isMeshGouraudMaterial&&Se.envMap!==null&&(Pe.envMap.value=vt,Pe.flipEnvMap.value=vt.isCubeTexture&&vt.isRenderTargetTexture===!1?-1:1),se&&(xe.setValue(G,"toneMappingExposure",v.toneMappingExposure),tt.needsLights&&ku(Pe,de),je&&Se.fog===!0&&Ve.refreshFogUniforms(Pe,je),Ve.refreshMaterialUniforms(Pe,Se,fe,re,H),Pp.upload(G,Xl(tt),Pe,S)),Se.isShaderMaterial&&Se.uniformsNeedUpdate===!0&&(Pp.upload(G,Xl(tt),Pe,S),Se.uniformsNeedUpdate=!1),Se.isSpriteMaterial&&xe.setValue(G,"center",Ie.center),xe.setValue(G,"modelViewMatrix",Ie.modelViewMatrix),xe.setValue(G,"normalMatrix",Ie.normalMatrix),xe.setValue(G,"modelMatrix",Ie.matrixWorld),Se.isShaderMaterial||Se.isRawShaderMaterial){const ke=Se.uniformsGroups;for(let Fe=0,We=ke.length;Fe0&&S.useMultisampledRTT(V)===!1?Ie=q.get(V).__webglMultisampledFramebuffer:Array.isArray(St)?Ie=St[ye]:Ie=St,_.copy(V.viewport),P.copy(V.scissor),Z=V.scissorTest}else _.copy(ne).multiplyScalar(fe).floor(),P.copy(Ae).multiplyScalar(fe).floor(),Z=_e;if(le.bindFramebuffer(G.FRAMEBUFFER,Ie)&&ue.drawBuffers&&Se&&le.drawBuffers(V,Ie),le.viewport(_),le.scissor(P),le.setScissorTest(Z),je){const vt=q.get(V.texture);G.framebufferTexture2D(G.FRAMEBUFFER,G.COLOR_ATTACHMENT0,G.TEXTURE_CUBE_MAP_POSITIVE_X+ge,vt.__webglTexture,ye)}else if(ht){const vt=q.get(V.texture),_t=ge||0;G.framebufferTextureLayer(G.FRAMEBUFFER,G.COLOR_ATTACHMENT0,vt.__webglTexture,ye||0,_t)}U=-1},this.readRenderTargetPixels=function(V,ge,ye,Se,Ie,je,ht){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let yt=q.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&ht!==void 0&&(yt=yt[ht]),yt){le.bindFramebuffer(G.FRAMEBUFFER,yt);try{const vt=V.texture,_t=vt.format,St=vt.type;if(_t!==Fi&&it.convert(_t)!==G.getParameter(G.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const wt=St===Ll&&(te.has("EXT_color_buffer_half_float")||ue.isWebGL2&&te.has("EXT_color_buffer_float"));if(St!==Ds&&it.convert(St)!==G.getParameter(G.IMPLEMENTATION_COLOR_READ_TYPE)&&!(St===br&&(ue.isWebGL2||te.has("OES_texture_float")||te.has("WEBGL_color_buffer_float")))&&!wt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=V.width-Se&&ye>=0&&ye<=V.height-Ie&&G.readPixels(ge,ye,Se,Ie,it.convert(_t),it.convert(St),je)}finally{const vt=D!==null?q.get(D).__webglFramebuffer:null;le.bindFramebuffer(G.FRAMEBUFFER,vt)}}},this.copyFramebufferToTexture=function(V,ge,ye=0){const Se=Math.pow(2,-ye),Ie=Math.floor(ge.image.width*Se),je=Math.floor(ge.image.height*Se);S.setTexture2D(ge,0),G.copyTexSubImage2D(G.TEXTURE_2D,ye,0,0,V.x,V.y,Ie,je),le.unbindTexture()},this.copyTextureToTexture=function(V,ge,ye,Se=0){const Ie=ge.image.width,je=ge.image.height,ht=it.convert(ye.format),yt=it.convert(ye.type);S.setTexture2D(ye,0),G.pixelStorei(G.UNPACK_FLIP_Y_WEBGL,ye.flipY),G.pixelStorei(G.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ye.premultiplyAlpha),G.pixelStorei(G.UNPACK_ALIGNMENT,ye.unpackAlignment),ge.isDataTexture?G.texSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,Ie,je,ht,yt,ge.image.data):ge.isCompressedTexture?G.compressedTexSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,ge.mipmaps[0].width,ge.mipmaps[0].height,ht,ge.mipmaps[0].data):G.texSubImage2D(G.TEXTURE_2D,Se,V.x,V.y,ht,yt,ge.image),Se===0&&ye.generateMipmaps&&G.generateMipmap(G.TEXTURE_2D),le.unbindTexture()},this.copyTextureToTexture3D=function(V,ge,ye,Se,Ie=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const je=V.max.x-V.min.x+1,ht=V.max.y-V.min.y+1,yt=V.max.z-V.min.z+1,vt=it.convert(Se.format),_t=it.convert(Se.type);let St;if(Se.isData3DTexture)S.setTexture3D(Se,0),St=G.TEXTURE_3D;else if(Se.isDataArrayTexture||Se.isCompressedArrayTexture)S.setTexture2DArray(Se,0),St=G.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}G.pixelStorei(G.UNPACK_FLIP_Y_WEBGL,Se.flipY),G.pixelStorei(G.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Se.premultiplyAlpha),G.pixelStorei(G.UNPACK_ALIGNMENT,Se.unpackAlignment);const wt=G.getParameter(G.UNPACK_ROW_LENGTH),mn=G.getParameter(G.UNPACK_IMAGE_HEIGHT),Xn=G.getParameter(G.UNPACK_SKIP_PIXELS),dn=G.getParameter(G.UNPACK_SKIP_ROWS),Dn=G.getParameter(G.UNPACK_SKIP_IMAGES),ft=ye.isCompressedTexture?ye.mipmaps[Ie]:ye.image;G.pixelStorei(G.UNPACK_ROW_LENGTH,ft.width),G.pixelStorei(G.UNPACK_IMAGE_HEIGHT,ft.height),G.pixelStorei(G.UNPACK_SKIP_PIXELS,V.min.x),G.pixelStorei(G.UNPACK_SKIP_ROWS,V.min.y),G.pixelStorei(G.UNPACK_SKIP_IMAGES,V.min.z),ye.isDataTexture||ye.isData3DTexture?G.texSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,ht,yt,vt,_t,ft.data):ye.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),G.compressedTexSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,ht,yt,vt,ft.data)):G.texSubImage3D(St,Ie,ge.x,ge.y,ge.z,je,ht,yt,vt,_t,ft),G.pixelStorei(G.UNPACK_ROW_LENGTH,wt),G.pixelStorei(G.UNPACK_IMAGE_HEIGHT,mn),G.pixelStorei(G.UNPACK_SKIP_PIXELS,Xn),G.pixelStorei(G.UNPACK_SKIP_ROWS,dn),G.pixelStorei(G.UNPACK_SKIP_IMAGES,Dn),Ie===0&&Se.generateMipmaps&&G.generateMipmap(St),le.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?S.setTextureCube(V,0):V.isData3DTexture?S.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?S.setTexture2DArray(V,0):S.setTexture2D(V,0),le.unbindTexture()},this.resetState=function(){R=0,Q=0,D=null,le.reset(),xt.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===Gg?"display-p3":"srgb",t.unpackColorSpace=cn.workingColorSpace===Gd?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?ga:Fv}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===ga?Nn:Ts}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 bR extends Kv{}bR.prototype.isWebGL1Renderer=!0;class Jg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ze(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 Xg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new Ze(e),this.near=t,this.far=i}clone(){return new Xg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class wd extends Vt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Kg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=vd,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=gr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return xl("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:pA.clone(),uv:dr.getInterpolation(pA,Tf,mA,bf,aS,ME,lS,new ve),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Lf(n,e,t,i,r,s){Mc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(gA.x=s*Mc.x-r*Mc.y,gA.y=r*Mc.x+s*Mc.y):gA.copy(Mc),n.copy(e),n.x+=gA.x,n.y+=gA.y,n.applyMatrix4(LR)}const Pf=new O,cS=new O;class NR extends Vt{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){Pf.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Pf);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Pf.setFromMatrixPosition(e.matrixWorld),cS.setFromMatrixPosition(this.matrixWorld);const i=Pf.distanceTo(cS)/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 Rc="batchId",Ko=new dt,ES=new dt,SO=new dt,CS=new dt,DE=new Wd,Uf=new $n,qa=new Jn,IA=new O,TE=new wO,Mi=new Zt,Ff=[];function _O(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 an(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Rc,new an(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Rc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Rc}"`);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===Rc)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 $n);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 A=e.getIndex(),d=A!==null;if(d&&(i===-1?r.indexCount=A.count:r.indexCount=i,s===null?r.indexStart=0:r.indexStart=s.indexStart+s.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const h=this._visibility,f=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;h.push(!0),f.push(!0);const y=this._geometryCount;this._geometryCount++,SO.toArray(E,y*16),g.needsUpdate=!0,o.push(r),a.push({start:d?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new $n,sphereInitialized:!1,sphere:new Jn});const C=this.geometry.getAttribute(Rc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Rc)continue;const E=t.getAttribute(g),y=i.getAttribute(g);_O(E,y,l);const C=E.itemSize;for(let p=E.count,I=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let d=A.start,h=A.start+A.count;d=o||i[e]===!1?this:(t.toArray(s,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,t){const i=this._active,r=this._matricesTexture.image.data,s=this._geometryCount;return e>=s||i[e]===!1?null:t.fromArray(r,e*16)}setVisibleAt(e,t){const i=this._visibility,r=this._active,s=this._geometryCount;return e>=s||r[e]===!1||i[e]===t?this:(i[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,i=this._active,r=this._geometryCount;return e>=r||i[e]===!1?!1:t[e]}raycast(e,t){const i=this._visibility,r=this._active,s=this._drawRanges,o=this._geometryCount,a=this.matrixWorld,l=this.geometry;Mi.material=this.material,Mi.geometry.index=l.index,Mi.geometry.attributes=l.attributes,Mi.geometry.boundingBox===null&&(Mi.geometry.boundingBox=new $n),Mi.geometry.boundingSphere===null&&(Mi.geometry.boundingSphere=new Jn);for(let A=0;A({...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,A=this._visibility,d=this._multiDrawStarts,h=this._multiDrawCounts,f=this._drawRanges,g=this.perObjectFrustumCulled;g&&(CS.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),DE.setFromProjectionMatrix(CS,e.coordinateSystem));let E=0;if(this.sortObjects){ES.copy(this.matrixWorld).invert(),IA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(ES);for(let p=0,I=A.length;pl)continue;f.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(f);Ue.far||t.push({distance:U,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),I=Math.min(C.count,o.start+o.count);for(let v=p,w=I-1;vl)continue;f.applyMatrix4(this.matrixWorld);const Q=e.ray.origin.distanceTo(f);Qe.far||t.push({distance:Q,point:h.clone().applyMatrix4(this.matrixWorld),index:v,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class zR extends wn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:yn,this.magFilter=s!==void 0?s:yn,this.generateMipmaps=!1;const d=this;function h(){d.needsUpdate=!0,e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(h)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class MO extends wn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=On,this.minFilter=On,this.generateMipmaps=!1,this.needsUpdate=!0}}class jg extends wn{constructor(e,t,i,r,s,o,a,l,A,d,h,f){super(null,o,a,l,A,d,r,s,h,f),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class QO extends jg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Ri}}class RO extends jg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,go),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class DO extends wn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class os{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const d=i[r],f=i[r+1]-d,g=(o-d)/f;return(r+g)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new ve:new 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 dt;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new O)}s[0]=new O,o[0]=new O;let A=Number.MAX_VALUE;const d=Math.abs(r[0].x),h=Math.abs(r[0].y),f=Math.abs(r[0].z);d<=A&&(A=d,i.set(1,0,0)),h<=A&&(A=h,i.set(0,1,0)),f<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(kn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(kn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 os{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){const i=t||new ve,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 A,d;this.closed||a>0?A=r[(a-1)%s]:(zf.subVectors(r[0],r[1]).add(r[0]),A=zf);const h=r[a%s],f=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(_S(a,l.x,A.x,d.x,h.x),_S(a,l.y,A.y,d.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),A=l===0?0:1-o/l;return a.getPointAt(A,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const h=A.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(A);const d=A.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Yd extends Lt{constructor(e=[new ve(0,-.5),new ve(.5,0),new ve(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=kn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],A=[],d=1/t,h=new O,f=new ve,g=new O,E=new O,y=new O;let C=0,p=0;for(let I=0;I<=e.length-1;I++)switch(I){case 0:C=e[I+1].x-e[I].x,p=e[I+1].y-e[I].y,g.x=p*1,g.y=-C,g.z=p*0,y.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(y.x,y.y,y.z);break;default:C=e[I+1].x-e[I].x,p=e[I+1].y-e[I].y,g.x=p*1,g.y=-C,g.z=p*0,E.copy(g),g.x+=y.x,g.y+=y.y,g.z+=y.z,g.normalize(),l.push(g.x,g.y,g.z),y.copy(E)}for(let I=0;I<=t;I++){const v=i+I*d*r,w=Math.sin(v),R=Math.cos(v);for(let Q=0;Q<=e.length-1;Q++){h.x=e[Q].x*w,h.y=e[Q].y,h.z=e[Q].x*R,o.push(h.x,h.y,h.z),f.x=I/t,f.y=Q/(e.length-1),a.push(f.x,f.y);const D=l[3*Q+0]*w,U=l[3*Q+1],K=l[3*Q+0]*R;A.push(D,U,K)}}for(let I=0;I0&&v(!0),t>0&&v(!1)),this.setIndex(d),this.setAttribute("position",new lt(h,3)),this.setAttribute("normal",new lt(f,3)),this.setAttribute("uv",new lt(g,2));function I(){const w=new O,R=new O;let Q=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const K=[],_=U/s,P=_*(t-e)+e;for(let Z=0;Z<=r;Z++){const he=Z/r,X=he*l+a,ae=Math.sin(X),re=Math.cos(X);R.x=P*ae,R.y=-_*i+C,R.z=P*re,h.push(R.x,R.y,R.z),w.set(ae,D,re).normalize(),f.push(w.x,w.y,w.z),g.push(he,1-_),K.push(E++)}y.push(K)}for(let U=0;U.9&&D<.1&&(v<.2&&(o[I+0]+=1),w<.2&&(o[I+2]+=1),R<.2&&(o[I+4]+=1))}}function f(I){s.push(I.x,I.y,I.z)}function g(I,v){const w=I*3;v.x=e[w+0],v.y=e[w+1],v.z=e[w+2]}function E(){const I=new O,v=new O,w=new O,R=new O,Q=new ve,D=new ve,U=new ve;for(let K=0,_=0;K80*t){a=A=n[0],l=d=n[1];for(let E=t;EA&&(A=h),f>d&&(d=f);g=Math.max(A-a,d-l),g=g!==0?32767/g:0}return Sd(s,o,t,a,l,g,0),o}};function jR(n,e,t,i,r){let s,o;if(r===t8(n,e,t,i)>0)for(s=e;s=e;s-=i)o=MS(s,n[s],n[s+1],o);return o&&nm(o,o.next)&&(Md(o),o=o.next),o}function kl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(nm(t,t.next)||Mn(t.prev,t,t.next)===0)){if(Md(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Sd(n,e,t,i,r,s,o){if(!n)return;!o&&s&&KO(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?HO(n,i,r,s):OO(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Md(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=GO(kl(n),e,t),Sd(n,e,t,i,r,s,2)):o===2&&zO(n,e,t,i,r,s):Sd(kl(n),e,t,i,r,s,1);break}}}function OO(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,A=i.y,d=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=d&&E.x<=f&&E.y>=h&&E.y<=g&&tu(r,a,s,l,o,A,E.x,E.y)&&Mn(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function HO(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,A=o.x,d=r.y,h=s.y,f=o.y,g=al?a>A?a:A:l>A?l:A,C=d>h?d>f?d:f:h>f?h:f,p=ly(g,E,e,t,i),I=ly(y,C,e,t,i);let v=n.prevZ,w=n.nextZ;for(;v&&v.z>=p&&w&&w.z<=I;){if(v.x>=g&&v.x<=y&&v.y>=E&&v.y<=C&&v!==r&&v!==o&&tu(a,d,l,h,A,f,v.x,v.y)&&Mn(v.prev,v,v.next)>=0||(v=v.prevZ,w.x>=g&&w.x<=y&&w.y>=E&&w.y<=C&&w!==r&&w!==o&&tu(a,d,l,h,A,f,w.x,w.y)&&Mn(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;v&&v.z>=p;){if(v.x>=g&&v.x<=y&&v.y>=E&&v.y<=C&&v!==r&&v!==o&&tu(a,d,l,h,A,f,v.x,v.y)&&Mn(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;w&&w.z<=I;){if(w.x>=g&&w.x<=y&&w.y>=E&&w.y<=C&&w!==r&&w!==o&&tu(a,d,l,h,A,f,w.x,w.y)&&Mn(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function GO(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!nm(r,s)&&qR(r,i,i.next,s)&&_d(r,s)&&_d(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Md(i),Md(i.next),i=n=s),i=i.next}while(i!==n);return kl(i)}function zO(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&ZO(o,a)){let l=ZR(o,a);o=kl(o,o.next),l=kl(l,l.next),Sd(o,e,t,i,r,s,0),Sd(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function VO(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x=t.x&&t.x>=l&&s!==t.x&&tu(or.x||t.x===r.x&&XO(r,t)))&&(r=t,d=h)),t=t.next;while(t!==a);return r}function XO(n,e){return Mn(n.prev,n,e.prev)<0&&Mn(e.next,n,n.next)<0}function KO(n,e,t,i){let r=n;do r.z===0&&(r.z=ly(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,jO(r)}function jO(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function ly(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 qO(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 ZO(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!$O(n,e)&&(_d(n,e)&&_d(e,n)&&e8(n,e)&&(Mn(n.prev,n,e.prev)||Mn(n,e.prev,e))||nm(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 nm(n,e){return n.x===e.x&&n.y===e.y}function qR(n,e,t,i){const r=Xf(Mn(n,e,t)),s=Xf(Mn(n,e,i)),o=Xf(Mn(t,i,n)),a=Xf(Mn(t,i,e));return!!(r!==s&&o!==a||r===0&&Jf(n,t,e)||s===0&&Jf(n,i,e)||o===0&&Jf(t,n,i)||a===0&&Jf(t,e,i))}function Jf(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 Xf(n){return n>0?1:n<0?-1:0}function $O(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&&qR(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function _d(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 e8(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 ZR(n,e){const t=new cy(n.i,n.x,n.y),i=new cy(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 MS(n,e,t,i){const r=new cy(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 Md(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 cy(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 t8(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function RS(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(be),Ke=Math.sqrt(T*T+ie*ie),Ve=me.x-S/Re,$e=me.y+q/Re,At=te.x-ie/Ke,It=te.y+T/Ke,Le=((At-Ve)*ie-(It-$e)*T)/(q*ie-S*T);ue=Ve+q*Le-G.x,le=$e+S*Le-G.y;const Pt=ue*ue+le*le;if(Pt<=2)return new ve(ue,le);De=Math.sqrt(Pt/2)}else{let Re=!1;q>Number.EPSILON?T>Number.EPSILON&&(Re=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(S)===Math.sign(ie)&&(Re=!0),Re?(ue=-S,le=q,De=Math.sqrt(be)):(ue=q,le=S,De=Math.sqrt(be/2))}return new ve(ue/De,le/De)}const $=[];for(let G=0,me=X.length,te=me-1,ue=G+1;G=0;G--){const me=G/C,te=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+y;for(let le=0,De=X.length;le=0;){const ue=te;let le=te-1;le<0&&(le=G.length-1);for(let De=0,q=d+C*2;De0)&&g.push(v,w,Q),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class iD extends ri{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ze(16777215),this.specular=new Ze(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Hd,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.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 rD extends ri{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ze(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class sD extends ri{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class oD extends ri{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ze(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ze(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Hd,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.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 aD extends ri{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ze(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=_a,this.normalScale=new ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class lD extends Wi{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 El(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 cD(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function uD(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 uy(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 a1(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 s8(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){h.push(A.times[g]);for(let y=0;ys.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*h+d,I=p+h-d;y=a.values.slice(p,I)}else{const p=a.createInterpolant(),I=d,v=h-d;p.evaluate(s),y=p.resultBuffer.slice(I,v)}l==="quaternion"&&new Gn().fromArray(y).normalize().conjugate().toArray(y);const C=A.times.length;for(let p=0;p=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&&cD(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===Lp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}as.prototype.TimeBufferType=Float32Array;as.prototype.ValueBufferType=Float32Array;as.prototype.DefaultInterpolation=md;class Hl extends as{}Hl.prototype.ValueTypeName="bool";Hl.prototype.ValueBufferType=Array;Hl.prototype.DefaultInterpolation=gd;Hl.prototype.InterpolantFactoryMethodLinear=void 0;Hl.prototype.InterpolantFactoryMethodSmooth=void 0;class c1 extends as{}c1.prototype.ValueTypeName="color";class Qd extends as{}Qd.prototype.ValueTypeName="number";class hD extends Kd{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 A=e*a;for(let d=A+a;A!==d;A+=4)Gn.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Du extends as{InterpolantFactoryMethodLinear(e){return new hD(this.times,this.values,this.getValueSize(),e)}}Du.prototype.ValueTypeName="quaternion";Du.prototype.DefaultInterpolation=md;Du.prototype.InterpolantFactoryMethodSmooth=void 0;class Gl extends as{}Gl.prototype.ValueTypeName="string";Gl.prototype.ValueBufferType=Array;Gl.prototype.DefaultInterpolation=gd;Gl.prototype.InterpolantFactoryMethodLinear=void 0;Gl.prototype.InterpolantFactoryMethodSmooth=void 0;class Rd extends as{}Rd.prototype.ValueTypeName="vector";class Dd{constructor(e,t=-1,i,r=Hg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=gr(),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(c8(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(as.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const h=d[1];let f=r[h];f||(r[h]=f=[]),f.push(A)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(h,f,g,E,y){if(g.length!==0){const C=[],p=[];a1(g,C,p,E),C.length!==0&&y.push(new h(f,C,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let h=0;h{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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const d=js[e],h=A.body.getReader(),f=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=f?parseInt(f):0,E=g!==0;let y=0;const C=new ReadableStream({start(p){I();function I(){h.read().then(({done:v,value:w})=>{if(v)p.close();else{y+=w.byteLength;const R=new ProgressEvent("progress",{lengthComputable:E,loaded:y,total:g});for(let Q=0,D=d.length;Q{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(d=>new DOMParser().parseFromString(d,a));case"json":return A.json();default:if(a===void 0)return A.text();{const h=/charset="?([^;"\s]*)"?/i.exec(a),f=h&&h[1]?h[1].toLowerCase():void 0,g=new TextDecoder(f);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{lo.add(e,A);const d=js[e];delete js[e];for(let h=0,f=d.length;h{const d=js[e];if(d===void 0)throw this.manager.itemError(e),A;delete js[e];for(let h=0,f=d.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class A8 extends Yi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new bs(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 Ze().setHex(o.value);break;case"v2":r.uniforms[s].value=new ve().fromArray(o.value);break;case"v3":r.uniforms[s].value=new O().fromArray(o.value);break;case"v4":r.uniforms[s].value=new un().fromArray(o.value);break;case"m3":r.uniforms[s].value=new Qt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new dt().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ve().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:eD,SpriteMaterial:jv,RawShaderMaterial:tD,ShaderMaterial:ss,PointsMaterial:$v,MeshPhysicalMaterial:nD,MeshStandardMaterial:o1,MeshPhongMaterial:iD,MeshToonMaterial:rD,MeshNormalMaterial:sD,MeshLambertMaterial:oD,MeshDepthMaterial:Wg,MeshDistanceMaterial:Yg,MeshBasicMaterial:ir,MeshMatcapMaterial:aD,LineDashedMaterial:lD,LineBasicMaterial:Wi,Material:ri};return new t[e]}}class Ay{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 u1(t);s=new Td(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,d=e.length;A0){r=new Td(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const C=new $n;C.min.fromArray(y.boxMin),C.max.fromArray(y.boxMax);const p=new Jn;return p.radius=y.sphereRadius,p.center.fromArray(y.sphereCenter),{boxInitialized:y.boxInitialized,box:C,sphereInitialized:y.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new NR;break;case"Line":o=new Ba(a(e.geometry),l(e.material));break;case"LineLoop":o=new HR(a(e.geometry),l(e.material));break;case"LineSegments":o=new Ps(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new GR(a(e.geometry),l(e.material));break;case"Sprite":o=new PR(l(e.material));break;case"Group":o=new ao;break;case"Bone":o=new qv;break;default:o=new Vt}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 f=e.children;for(let g=0;g"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=lo.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return lo.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),lo.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});lo.add(e,l),s.manager.itemStart(e)}}let Kf;class d1{static getContext(){return Kf===void 0&&(Kf=new(window.AudioContext||window.webkitAudioContext)),Kf}static setContext(e){Kf=e}}class y8 extends Yi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new bs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);d1.getContext().decodeAudioData(A,function(h){t(h)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const US=new dt,FS=new dt,Za=new dt;class v8{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new qn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new qn,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,Za.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(Bl*t.fov*.5)/t.zoom;let a,l;FS.elements[12]=-r,US.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Za.elements[0]=2*t.near/(l-a),Za.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Za),a=-o*t.aspect-s,l=o*t.aspect-s,Za.elements[0]=2*t.near/(l-a),Za.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Za)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(FS),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(US)}}class h1{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=OS(),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=OS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function OS(){return(typeof performance>"u"?Date:performance).now()}const $a=new O,HS=new Gn,B8=new O,el=new O;class x8 extends Vt{constructor(){super(),this.type="AudioListener",this.context=d1.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new h1}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($a,HS,B8),el.set(0,0,-1).applyQuaternion(HS),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime($a.x,r),t.positionY.linearRampToValueAtTime($a.y,r),t.positionZ.linearRampToValueAtTime($a.z,r),t.forwardX.linearRampToValueAtTime(el.x,r),t.forwardY.linearRampToValueAtTime(el.y,r),t.forwardZ.linearRampToValueAtTime(el.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition($a.x,$a.y,$a.z),t.setOrientation(el.x,el.y,el.z,i.x,i.y,i.z)}}class wD extends Vt{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,A=t+t;l!==A;++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){Gn.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Gn.multiplyQuaternionsFlat(e,o,e,t,e,i),Gn.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 f1="\\[\\]\\.:\\/",M8=new RegExp("["+f1+"]","g"),p1="[^"+f1+"]",Q8="[^"+f1.replace("\\.","")+"]",R8=/((?:WC+[\/:])*)/.source.replace("WC",p1),D8=/(WCOD+)?/.source.replace("WCOD",Q8),T8=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",p1),b8=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",p1),L8=new RegExp("^"+R8+D8+T8+b8+"$"),P8=["material","materials","bones","map"];class N8{constructor(e,t,i){const r=i||jt.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 jt{constructor(e,t,i){this.path=t,this.parsedPath=i||jt.parseTrackName(t),this.node=jt.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 jt.Composite(e,t,i):new jt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(M8,"")}static parseTrackName(e){const t=L8.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);P8.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const h=s++,f=e[h];t[f.uuid]=d,e[d]=f,t[A]=h,e[h]=l;for(let g=0,E=r;g!==E;++g){const y=i[g],C=y[h],p=y[d];y[d]=C,y[h]=p}}}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 A=arguments[a],d=A.uuid,h=t[d];if(h!==void 0)if(delete t[d],h0&&(t[g.uuid]=h),e[h]=g,e.pop();for(let E=0,y=r;E!==y;++E){const C=i[E];C[h]=C[f],C.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,A=l.length,d=this.nCachedObjects_,h=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(h);for(let f=d,g=l.length;f!==g;++f){const E=l[f];h[f]=new jt(E,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class _D{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:pl,endingEnd:pl};for(let A=0;A!==o;++A){const d=s[A].createInterpolant(null);a[A]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=oR,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Uv:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),A[d].accumulateAdditive(a);break;case Hg:default:for(let d=0,h=l.length;d!==h;++d)l[d].evaluate(o),A[d].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===aR;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===sR){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 A=e<0;this._setEndings(A,!A,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=gl,r.endingEnd=gl):(e?r.endingStart=this.zeroSlopeAtStart?gl:pl:r.endingStart=Ed,t?r.endingEnd=this.zeroSlopeAtEnd?gl:pl:r.endingEnd=Ed)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=t,a[1]=s+e,l[1]=i,this}}const U8=new Float32Array(1);class F8 extends Eo{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,A=this._bindingsByRootAndName;let d=A[l];d===void 0&&(d={},A[l]=d);for(let h=0;h!==s;++h){const f=r[h],g=f.name;let E=d[g];if(E!==void 0)++E.referenceCount,o[h]=E;else{if(E=o[h],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const y=t&&t._propertyBindings[h].binding.parsedPath;E=new SD(jt.create(i,g,y),f.ValueTypeName,f.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[h]=E}a[h].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,VS).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 WS=new O,jf=new O;class QD{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){WS.subVectors(e,this.start),jf.subVectors(this.end,this.start);const i=jf.dot(jf);let s=jf.dot(WS)/i;return t&&(s=kn(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 YS=new O;class Y8 extends Vt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Lt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{qS.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(qS,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 s5 extends Ps{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 Lt;r.setAttribute("position",new lt(t,3)),r.setAttribute("color",new lt(i,3));const s=new Wi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new Ze,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 qo{constructor(){this.type="ShapePath",this.color=new Ze,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ma,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(p){const I=[];for(let v=0,w=p.length;vNumber.EPSILON){if(_<0&&(D=I[Q],K=-K,U=I[R],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const P=_*(p.x-D.x)-K*(p.y-D.y);if(P===0)return!0;if(P<0)continue;w=!w}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return w}const r=is.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Ea,l.curves=a.curves,A.push(l),A;let d=!r(s[0].getPoints());d=e?!d:d;const h=[],f=[];let g=[],E=0,y;f[E]=void 0,g[E]=[];for(let p=0,I=s.length;p1){let p=!1,I=0;for(let v=0,w=f.length;v0&&p===!1&&(g=h)}let C;for(let p=0,I=f.length;p{const h=typeof A=="function"?A(e):A;if(h!==e){const f=e;e=d?h:Object.assign({},e,h),t.forEach(g=>g(e,f))}},r=()=>e,s=(A,d=r,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=d(e);function g(){const E=d(e);if(!h(f,E)){const y=f;A(f=E,y)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,d,h)=>d||h?s(A,d,h):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const a5=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),qS=a5?Y.useEffect:Y.useLayoutEffect;function DD(n){const e=typeof n=="function"?o5(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Y.useReducer(C=>C+1,0),o=e.getState(),a=Y.useRef(o),l=Y.useRef(i),A=Y.useRef(r),d=Y.useRef(!1),h=Y.useRef();h.current===void 0&&(h.current=i(o));let f,g=!1;(a.current!==o||l.current!==i||A.current!==r||d.current)&&(f=i(o),g=!r(h.current,f)),qS(()=>{g&&(h.current=f),a.current=o,l.current=i,A.current=r,d.current=!1});const E=Y.useRef(o);qS(()=>{const C=()=>{try{const v=e.getState(),I=l.current(v);A.current(h.current,I)||(a.current=v,h.current=I,s())}catch{d.current=!0,s()}},p=e.subscribe(C);return e.getState()!==E.current&&C(),p},[]);const y=g?f:h.current;return Y.useDebugValue(y),y};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 TD={exports:{}},bD={exports:{}},LD={};/** + */zl.ConcurrentRoot=1;zl.ContinuousEventPriority=4;zl.DefaultEventPriority=16;zl.DiscreteEventPriority=1;zl.IdleEventPriority=536870912;zl.LegacyRoot=0;DD.exports=zl;var nu=DD.exports;function a5(n){let e;const t=new Set,i=(A,d)=>{const h=typeof A=="function"?A(e):A;if(h!==e){const f=e;e=d?h:Object.assign({},e,h),t.forEach(g=>g(e,f))}},r=()=>e,s=(A,d=r,h=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let f=d(e);function g(){const E=d(e);if(!h(f,E)){const y=f;A(f=E,y)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,d,h)=>d||h?s(A,d,h):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const l5=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),ZS=l5?Y.useEffect:Y.useLayoutEffect;function TD(n){const e=typeof n=="function"?a5(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=Y.useReducer(C=>C+1,0),o=e.getState(),a=Y.useRef(o),l=Y.useRef(i),A=Y.useRef(r),d=Y.useRef(!1),h=Y.useRef();h.current===void 0&&(h.current=i(o));let f,g=!1;(a.current!==o||l.current!==i||A.current!==r||d.current)&&(f=i(o),g=!r(h.current,f)),ZS(()=>{g&&(h.current=f),a.current=o,l.current=i,A.current=r,d.current=!1});const E=Y.useRef(o);ZS(()=>{const C=()=>{try{const I=e.getState(),v=l.current(I);A.current(h.current,v)||(a.current=I,h.current=v,s())}catch{d.current=!0,s()}},p=e.subscribe(C);return e.getState()!==E.current&&C(),p},[]);const y=g?f:h.current;return Y.useDebugValue(y),y};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 bD={exports:{}},LD={exports:{}},PD={};/** * @license React * scheduler.production.min.js * @@ -3816,7 +3816,7 @@ void main() { * * 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,$){var ne=F.length;F.push($);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))H<_e&&0>r(N,z)?(F[Ae]=N,F[H]=ne,Ae=H):(F[Ae]=z,F[W]=ne,Ae=W);else if(H<_e&&0>r(N,ne))F[Ae]=N,F[H]=ne,Ae=H;else break e}}return $}function r(F,$){var ne=F.sortIndex-$.sortIndex;return ne!==0?ne:F.id-$.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=[],A=[],d=1,h=null,f=3,g=!1,E=!1,y=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(F){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=F)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function w(F){if(y=!1,I(F),!E)if(t(l)!==null)E=!0,se(Q);else{var $=t(A);$!==null&&fe(w,$.startTime-F)}}function Q(F,$){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=f;try{for(I($),h=t(l);h!==null&&(!(h.expirationTime>$)||F&&!P());){var Ae=h.callback;if(typeof Ae=="function"){h.callback=null,f=h.priorityLevel;var _e=Ae(h.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?h.callback=_e:h===t(l)&&i(l),I($)}else i(l);h=t(l)}if(h!==null)var Ue=!0;else{var W=t(A);W!==null&&fe(w,W.startTime-$),Ue=!1}return Ue}finally{h=null,f=ne,g=!1}}var R=!1,D=null,U=-1,K=5,_=-1;function P(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(y?(p(U),U=-1):y=!0,fe(w,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,se(Q))),F},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(F){var $=f;return function(){var ne=f;f=$;try{return F.apply(this,arguments)}finally{f=ne}}}})(LD);bD.exports=LD;var hy=bD.exports;/** + */(function(n){function e(F,$){var ne=F.length;F.push($);e:for(;0>>1,_e=F[Ae];if(0>>1;Aer(z,ne))H<_e&&0>r(N,z)?(F[Ae]=N,F[H]=ne,Ae=H):(F[Ae]=z,F[W]=ne,Ae=W);else if(H<_e&&0>r(N,ne))F[Ae]=N,F[H]=ne,Ae=H;else break e}}return $}function r(F,$){var ne=F.sortIndex-$.sortIndex;return ne!==0?ne:F.id-$.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=[],A=[],d=1,h=null,f=3,g=!1,E=!1,y=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(F){for(var $=t(A);$!==null;){if($.callback===null)i(A);else if($.startTime<=F)i(A),$.sortIndex=$.expirationTime,e(l,$);else break;$=t(A)}}function w(F){if(y=!1,v(F),!E)if(t(l)!==null)E=!0,re(R);else{var $=t(A);$!==null&&fe(w,$.startTime-F)}}function R(F,$){E=!1,y&&(y=!1,p(U),U=-1),g=!0;var ne=f;try{for(v($),h=t(l);h!==null&&(!(h.expirationTime>$)||F&&!P());){var Ae=h.callback;if(typeof Ae=="function"){h.callback=null,f=h.priorityLevel;var _e=Ae(h.expirationTime<=$);$=n.unstable_now(),typeof _e=="function"?h.callback=_e:h===t(l)&&i(l),v($)}else i(l);h=t(l)}if(h!==null)var Ue=!0;else{var W=t(A);W!==null&&fe(w,W.startTime-$),Ue=!1}return Ue}finally{h=null,f=ne,g=!1}}var Q=!1,D=null,U=-1,K=5,_=-1;function P(){return!(n.unstable_now()-_F||125Ae?(F.sortIndex=ne,e(A,F),t(l)===null&&F===t(A)&&(y?(p(U),U=-1):y=!0,fe(w,ne-Ae))):(F.sortIndex=_e,e(l,F),E||g||(E=!0,re(R))),F},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(F){var $=f;return function(){var ne=f;f=$;try{return F.apply(this,arguments)}finally{f=ne}}}})(PD);LD.exports=PD;var hy=LD.exports;/** * @license React * react-reconciler.production.min.js * @@ -3824,25 +3824,25 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var l5=function(e){var t={},i=Y,r=hy,s=Object.assign;function o(c){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+c,m=1;moe||x[J]!==M[oe]){var Qe=` -`+x[J].replace(" at new "," at ");return c.displayName&&Qe.includes("")&&(Qe=Qe.replace("",c.displayName)),Qe}while(1<=J&&0<=oe);break}}}finally{St=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var mn=Object.prototype.hasOwnProperty,Xn=[],dn=-1;function Dn(c){return{current:c}}function ht(c){0>dn||(c.current=Xn[dn],Xn[dn]=null,dn--)}function tt(c,u){dn++,Xn[dn]=c.current,c.current=u}var bi={},L=Dn(bi),k=Dn(!1),ee=bi;function re(c,u){var m=c.type.contextTypes;if(!m)return bi;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},M;for(M in m)x[M]=u[M];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function de(c){return c=c.childContextTypes,c!=null}function xe(){ht(k),ht(L)}function Pe(c,u,m){if(L.current!==bi)throw Error(o(168));tt(L,u),tt(k,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function ke(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||bi,ee=L.current,tt(L,c),tt(k,k.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,ht(k),ht(L),tt(L,c)):ht(k),tt(k,m)}var We=Math.clz32?Math.clz32:Tn,Et=Math.log,Jt=Math.LN2;function Tn(c){return c>>>=0,c===0?32:31-(Et(c)/Jt|0)|0}var Xt=64,ri=4194304;function hi(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 As(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,M=c.pingedLanes,J=m&268435455;if(J!==0){var oe=J&~x;oe!==0?B=hi(oe):(M&=J,M!==0&&(B=hi(M)))}else J=m&~x,J!==0?B=hi(J):M!==0&&(B=hi(M));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,M=u&-u,x>=M||x===16&&(M&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Fu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function r3(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=J,x-=J,Hs=1<<32-We(u)+x|m<$t?(ai=Dt,Dt=null):ai=Dt.sibling;var en=Bt(Ce,Dt,Me[$t],et);if(en===null){Dt===null&&(Dt=ai);break}c&&Dt&&en.alternate===null&&u(Ce,Dt),ce=M(en,ce,$t),kt===null?pt=en:kt.sibling=en,kt=en,Dt=ai}if($t===Me.length)return m(Ce,Dt),Bn&&Fa(Ce,$t),pt;if(Dt===null){for(;$t$t?(ai=Dt,Dt=null):ai=Dt.sibling;var Ho=Bt(Ce,Dt,en.value,et);if(Ho===null){Dt===null&&(Dt=ai);break}c&&Dt&&Ho.alternate===null&&u(Ce,Dt),ce=M(Ho,ce,$t),kt===null?pt=Ho:kt.sibling=Ho,kt=Ho,Dt=ai}if(en.done)return m(Ce,Dt),Bn&&Fa(Ce,$t),pt;if(Dt===null){for(;!en.done;$t++,en=Me.next())en=Rt(Ce,en.value,et),en!==null&&(ce=M(en,ce,$t),kt===null?pt=en:kt.sibling=en,kt=en);return Bn&&Fa(Ce,$t),pt}for(Dt=B(Ce,Dt);!en.done;$t++,en=Me.next())en=hn(Dt,Ce,$t,en.value,et),en!==null&&(c&&en.alternate!==null&&Dt.delete(en.key===null?$t:en.key),ce=M(en,ce,$t),kt===null?pt=en:kt.sibling=en,kt=en);return c&&Dt.forEach(function(z3){return u(Ce,z3)}),Bn&&Fa(Ce,$t),pt}function Qr(Ce,ce,Me,et){if(typeof Me=="object"&&Me!==null&&Me.type===d&&Me.key===null&&(Me=Me.props.children),typeof Me=="object"&&Me!==null){switch(Me.$$typeof){case l:e:{for(var pt=Me.key,kt=ce;kt!==null;){if(kt.key===pt){if(pt=Me.type,pt===d){if(kt.tag===7){m(Ce,kt.sibling),ce=x(kt,Me.props.children),ce.return=Ce,Ce=ce;break e}}else if(kt.elementType===pt||typeof pt=="object"&&pt!==null&&pt.$$typeof===I&&K1(pt)===kt.type){m(Ce,kt.sibling),ce=x(kt,Me.props),ce.ref=Gu(Ce,kt,Me),ce.return=Ce,Ce=ce;break e}m(Ce,kt);break}else u(Ce,kt);kt=kt.sibling}Me.type===d?(ce=Ya(Me.props.children,Ce.mode,et,Me.key),ce.return=Ce,Ce=ce):(et=Wh(Me.type,Me.key,Me.props,null,Ce.mode,et),et.ref=Gu(Ce,ce,Me),et.return=Ce,Ce=et)}return J(Ce);case A:e:{for(kt=Me.key;ce!==null;){if(ce.key===kt)if(ce.tag===4&&ce.stateNode.containerInfo===Me.containerInfo&&ce.stateNode.implementation===Me.implementation){m(Ce,ce.sibling),ce=x(ce,Me.children||[]),ce.return=Ce,Ce=ce;break e}else{m(Ce,ce);break}else u(Ce,ce);ce=ce.sibling}ce=D0(Me,Ce.mode,et),ce.return=Ce,Ce=ce}return J(Ce);case I:return kt=Me._init,Qr(Ce,ce,kt(Me._payload),et)}if(le(Me))return gt(Ce,ce,Me,et);if(R(Me))return Bi(Ce,ce,Me,et);fh(Ce,Me)}return typeof Me=="string"&&Me!==""||typeof Me=="number"?(Me=""+Me,ce!==null&&ce.tag===6?(m(Ce,ce.sibling),ce=x(ce,Me),ce.return=Ce,Ce=ce):(m(Ce,ce),ce=R0(Me,Ce.mode,et),ce.return=Ce,Ce=ce),J(Ce)):m(Ce,ce)}return Qr}var nc=j1(!0),q1=j1(!1),zu={},wr=Dn(zu),Vu=Dn(zu),ic=Dn(zu);function gs(c){if(c===zu)throw Error(o(174));return c}function Xm(c,u){tt(ic,u),tt(Vu,c),tt(wr,zu),c=fe(u),ht(wr),tt(wr,c)}function rc(){ht(wr),ht(Vu),ht(ic)}function Z1(c){var u=gs(ic.current),m=gs(wr.current);u=F(m,c.type,u),m!==u&&(tt(Vu,c),tt(wr,u))}function Km(c){Vu.current===c&&(ht(wr),ht(Vu))}var Sn=Dn(0);function ph(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ls(m)||Us(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var jm=[];function qm(){for(var c=0;cm?m:4,c(!0);var B=Sr.transition;Sr.transition={};try{c(!1),u()}finally{Zt=m,Sr.transition=B}}function dB(){return ms().memoizedState}function g3(c,u,m){var B=Uo(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},hB(c)?fB(u,m):(pB(c,u,m),m=Pi(),c=_r(c,B,m),c!==null&&gB(c,u,B))}function m3(c,u,m){var B=Uo(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(hB(c))fB(u,x);else{pB(c,u,x);var M=c.alternate;if(c.lanes===0&&(M===null||M.lanes===0)&&(M=u.lastRenderedReducer,M!==null))try{var J=u.lastRenderedState,oe=M(J,m);if(x.hasEagerState=!0,x.eagerState=oe,hs(oe,J))return}catch{}finally{}m=Pi(),c=_r(c,B,m),c!==null&&gB(c,u,B)}}function hB(c){var u=c.alternate;return c===bn||u!==null&&u===bn}function fB(c,u){Wu=mh=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function pB(c,u,m){zn!==null&&c.mode&1&&!(Ut&2)?(c=u.interleaved,c===null?(m.next=m,ps===null?ps=[u]:ps.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function gB(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Dm(c,m)}}var vh={readContext:vr,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useInsertionEffect:yi,useLayoutEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useMutableSource:yi,useSyncExternalStore:yi,useId:yi,unstable_isNewReconciler:!1},E3={readContext:vr,useCallback:function(c,u){return zs().memoizedState=[c,u===void 0?null:u],c},useContext:vr,useEffect:n0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,Ih(4194308,4,lB.bind(null,u,c),m)},useLayoutEffect:function(c,u){return Ih(4194308,4,c,u)},useInsertionEffect:function(c,u){return Ih(4,2,c,u)},useMemo:function(c,u){var m=zs();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=zs();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=g3.bind(null,bn,c),[B.memoizedState,c]},useRef:function(c){var u=zs();return c={current:c},u.memoizedState=c},useState:t0,useDebugValue:i0,useDeferredValue:function(c){var u=t0(c),m=u[0],B=u[1];return n0(function(){var x=Sr.transition;Sr.transition={};try{B(c)}finally{Sr.transition=x}},[c]),m},useTransition:function(){var c=t0(!1),u=c[0];return c=p3.bind(null,c[1]),zs().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=bn,x=zs();if(Bn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),zn===null)throw Error(o(349));sc&30||tB(B,u,m)}x.memoizedState=m;var M={value:m,getSnapshot:u};return x.queue=M,n0(iB.bind(null,B,M,c),[c]),B.flags|=2048,Ju(9,nB.bind(null,B,M,m,u),void 0,null),m},useId:function(){var c=zs(),u=zn.identifierPrefix;if(Bn){var m=Gs,B=Hs;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Yu++,0")&&(Qe=Qe.replace("",c.displayName)),Qe}while(1<=J&&0<=oe);break}}}finally{St=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?_t(c):""}var mn=Object.prototype.hasOwnProperty,Xn=[],dn=-1;function Dn(c){return{current:c}}function ft(c){0>dn||(c.current=Xn[dn],Xn[dn]=null,dn--)}function tt(c,u){dn++,Xn[dn]=c.current,c.current=u}var bi={},L=Dn(bi),k=Dn(!1),ee=bi;function se(c,u){var m=c.type.contextTypes;if(!m)return bi;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},M;for(M in m)x[M]=u[M];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function de(c){return c=c.childContextTypes,c!=null}function xe(){ft(k),ft(L)}function Pe(c,u,m){if(L.current!==bi)throw Error(o(168));tt(L,u),tt(k,m)}function Ne(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function ke(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||bi,ee=L.current,tt(L,c),tt(k,k.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Ne(c,u,ee),B.__reactInternalMemoizedMergedChildContext=c,ft(k),ft(L),tt(L,c)):ft(k),tt(k,m)}var We=Math.clz32?Math.clz32:Tn,Et=Math.log,Jt=Math.LN2;function Tn(c){return c>>>=0,c===0?32:31-(Et(c)/Jt|0)|0}var Xt=64,si=4194304;function hi(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 As(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,M=c.pingedLanes,J=m&268435455;if(J!==0){var oe=J&~x;oe!==0?B=hi(oe):(M&=J,M!==0&&(B=hi(M)))}else J=m&~x,J!==0?B=hi(J):M!==0&&(B=hi(M));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,M=u&-u,x>=M||x===16&&(M&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Fu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function s3(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=J,x-=J,Hs=1<<32-We(u)+x|m<en?(li=Dt,Dt=null):li=Dt.sibling;var tn=Bt(Ce,Dt,Me[en],et);if(tn===null){Dt===null&&(Dt=li);break}c&&Dt&&tn.alternate===null&&u(Ce,Dt),ce=M(tn,ce,en),kt===null?pt=tn:kt.sibling=tn,kt=tn,Dt=li}if(en===Me.length)return m(Ce,Dt),Bn&&Fa(Ce,en),pt;if(Dt===null){for(;enen?(li=Dt,Dt=null):li=Dt.sibling;var Ho=Bt(Ce,Dt,tn.value,et);if(Ho===null){Dt===null&&(Dt=li);break}c&&Dt&&Ho.alternate===null&&u(Ce,Dt),ce=M(Ho,ce,en),kt===null?pt=Ho:kt.sibling=Ho,kt=Ho,Dt=li}if(tn.done)return m(Ce,Dt),Bn&&Fa(Ce,en),pt;if(Dt===null){for(;!tn.done;en++,tn=Me.next())tn=Rt(Ce,tn.value,et),tn!==null&&(ce=M(tn,ce,en),kt===null?pt=tn:kt.sibling=tn,kt=tn);return Bn&&Fa(Ce,en),pt}for(Dt=B(Ce,Dt);!tn.done;en++,tn=Me.next())tn=hn(Dt,Ce,en,tn.value,et),tn!==null&&(c&&tn.alternate!==null&&Dt.delete(tn.key===null?en:tn.key),ce=M(tn,ce,en),kt===null?pt=tn:kt.sibling=tn,kt=tn);return c&&Dt.forEach(function(V3){return u(Ce,V3)}),Bn&&Fa(Ce,en),pt}function Qr(Ce,ce,Me,et){if(typeof Me=="object"&&Me!==null&&Me.type===d&&Me.key===null&&(Me=Me.props.children),typeof Me=="object"&&Me!==null){switch(Me.$$typeof){case l:e:{for(var pt=Me.key,kt=ce;kt!==null;){if(kt.key===pt){if(pt=Me.type,pt===d){if(kt.tag===7){m(Ce,kt.sibling),ce=x(kt,Me.props.children),ce.return=Ce,Ce=ce;break e}}else if(kt.elementType===pt||typeof pt=="object"&&pt!==null&&pt.$$typeof===v&&j1(pt)===kt.type){m(Ce,kt.sibling),ce=x(kt,Me.props),ce.ref=Gu(Ce,kt,Me),ce.return=Ce,Ce=ce;break e}m(Ce,kt);break}else u(Ce,kt);kt=kt.sibling}Me.type===d?(ce=Ya(Me.props.children,Ce.mode,et,Me.key),ce.return=Ce,Ce=ce):(et=Wh(Me.type,Me.key,Me.props,null,Ce.mode,et),et.ref=Gu(Ce,ce,Me),et.return=Ce,Ce=et)}return J(Ce);case A:e:{for(kt=Me.key;ce!==null;){if(ce.key===kt)if(ce.tag===4&&ce.stateNode.containerInfo===Me.containerInfo&&ce.stateNode.implementation===Me.implementation){m(Ce,ce.sibling),ce=x(ce,Me.children||[]),ce.return=Ce,Ce=ce;break e}else{m(Ce,ce);break}else u(Ce,ce);ce=ce.sibling}ce=D0(Me,Ce.mode,et),ce.return=Ce,Ce=ce}return J(Ce);case v:return kt=Me._init,Qr(Ce,ce,kt(Me._payload),et)}if(ae(Me))return gt(Ce,ce,Me,et);if(Q(Me))return Bi(Ce,ce,Me,et);fh(Ce,Me)}return typeof Me=="string"&&Me!==""||typeof Me=="number"?(Me=""+Me,ce!==null&&ce.tag===6?(m(Ce,ce.sibling),ce=x(ce,Me),ce.return=Ce,Ce=ce):(m(Ce,ce),ce=R0(Me,Ce.mode,et),ce.return=Ce,Ce=ce),J(Ce)):m(Ce,ce)}return Qr}var nc=q1(!0),Z1=q1(!1),zu={},wr=Dn(zu),Vu=Dn(zu),ic=Dn(zu);function gs(c){if(c===zu)throw Error(o(174));return c}function Xm(c,u){tt(ic,u),tt(Vu,c),tt(wr,zu),c=fe(u),ft(wr),tt(wr,c)}function rc(){ft(wr),ft(Vu),ft(ic)}function $1(c){var u=gs(ic.current),m=gs(wr.current);u=F(m,c.type,u),m!==u&&(tt(Vu,c),tt(wr,u))}function Km(c){Vu.current===c&&(ft(wr),ft(Vu))}var Sn=Dn(0);function ph(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ls(m)||Us(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var jm=[];function qm(){for(var c=0;cm?m:4,c(!0);var B=Sr.transition;Sr.transition={};try{c(!1),u()}finally{$t=m,Sr.transition=B}}function hB(){return ms().memoizedState}function m3(c,u,m){var B=Uo(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},fB(c)?pB(u,m):(gB(c,u,m),m=Pi(),c=_r(c,B,m),c!==null&&mB(c,u,B))}function E3(c,u,m){var B=Uo(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(fB(c))pB(u,x);else{gB(c,u,x);var M=c.alternate;if(c.lanes===0&&(M===null||M.lanes===0)&&(M=u.lastRenderedReducer,M!==null))try{var J=u.lastRenderedState,oe=M(J,m);if(x.hasEagerState=!0,x.eagerState=oe,hs(oe,J))return}catch{}finally{}m=Pi(),c=_r(c,B,m),c!==null&&mB(c,u,B)}}function fB(c){var u=c.alternate;return c===bn||u!==null&&u===bn}function pB(c,u){Wu=mh=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function gB(c,u,m){zn!==null&&c.mode&1&&!(Ut&2)?(c=u.interleaved,c===null?(m.next=m,ps===null?ps=[u]:ps.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function mB(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,Dm(c,m)}}var vh={readContext:vr,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useInsertionEffect:yi,useLayoutEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useMutableSource:yi,useSyncExternalStore:yi,useId:yi,unstable_isNewReconciler:!1},C3={readContext:vr,useCallback:function(c,u){return zs().memoizedState=[c,u===void 0?null:u],c},useContext:vr,useEffect:n0,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,Ih(4194308,4,cB.bind(null,u,c),m)},useLayoutEffect:function(c,u){return Ih(4194308,4,c,u)},useInsertionEffect:function(c,u){return Ih(4,2,c,u)},useMemo:function(c,u){var m=zs();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=zs();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=m3.bind(null,bn,c),[B.memoizedState,c]},useRef:function(c){var u=zs();return c={current:c},u.memoizedState=c},useState:t0,useDebugValue:i0,useDeferredValue:function(c){var u=t0(c),m=u[0],B=u[1];return n0(function(){var x=Sr.transition;Sr.transition={};try{B(c)}finally{Sr.transition=x}},[c]),m},useTransition:function(){var c=t0(!1),u=c[0];return c=g3.bind(null,c[1]),zs().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=bn,x=zs();if(Bn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),zn===null)throw Error(o(349));sc&30||nB(B,u,m)}x.memoizedState=m;var M={value:m,getSnapshot:u};return x.queue=M,n0(rB.bind(null,B,M,c),[c]),B.flags|=2048,Ju(9,iB.bind(null,B,M,m,u),void 0,null),m},useId:function(){var c=zs(),u=zn.identifierPrefix;if(Bn){var m=Gs,B=Hs;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Yu++,0v0&&(u.flags|=128,B=!0,qu(x,!1),u.lanes=4194304)}else{if(!B)if(c=ph(M),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),qu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!M.alternate&&!Bn)return vi(u),null}else 2*si()-x.renderingStartTime>v0&&m!==1073741824&&(u.flags|=128,B=!0,qu(x,!1),u.lanes=4194304);x.isBackwards?(M.sibling=u.child,u.child=M):(c=x.last,c!==null?c.sibling=M:u.child=M,x.last=M)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=si(),u.sibling=null,c=Sn.current,tt(Sn,B?c&1|2:c&1),u):(vi(u),null);case 22:case 23:return _0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?ar&1073741824&&(vi(u),we&&u.subtreeFlags&6&&(u.flags|=8192)):vi(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var B3=a.ReactCurrentOwner,or=!1;function Li(c,u,m,B){u.child=c===null?q1(u,null,m,B):nc(u,c.child,m,B)}function xB(c,u,m,B,x){m=m.render;var M=u.ref;return Zl(u,x),B=$m(c,u,m,B,M,x),m=e0(),c!==null&&!or?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Vs(c,u,x)):(Bn&&m&&zm(u),u.flags|=1,Li(c,u,B,x),u.child)}function wB(c,u,m,B,x){if(c===null){var M=m.type;return typeof M=="function"&&!Q0(M)&&M.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=M,SB(c,u,M,B,x)):(c=Wh(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(M=c.child,!(c.lanes&x)){var J=M.memoizedProps;if(m=m.compare,m=m!==null?m:oh,m(J,B)&&c.ref===u.ref)return Vs(c,u,x)}return u.flags|=1,c=Oo(M,B),c.ref=u.ref,c.return=u,u.child=c}function SB(c,u,m,B,x){if(c!==null&&oh(c.memoizedProps,B)&&c.ref===u.ref)if(or=!1,(c.lanes&x)!==0)c.flags&131072&&(or=!0);else return u.lanes=c.lanes,Vs(c,u,x);return o0(c,u,m,B,x)}function _B(c,u,m){var B=u.pendingProps,x=B.children,M=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},tt(oc,ar),ar|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=M!==null?M.baseLanes:m,tt(oc,ar),ar|=B;else return c=M!==null?M.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,tt(oc,ar),ar|=c,null;else M!==null?(B=M.baseLanes|m,u.memoizedState=null):B=m,tt(oc,ar),ar|=B;return Li(c,u,x,m),u.child}function MB(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function o0(c,u,m,B,x){var M=de(m)?ee:L.current;return M=re(u,M),Zl(u,x),m=$m(c,u,m,B,M,x),B=e0(),c!==null&&!or?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Vs(c,u,x)):(Bn&&B&&zm(u),u.flags|=1,Li(c,u,m,x),u.child)}function QB(c,u,m,B,x){if(de(m)){var M=!0;ke(u)}else M=!1;if(Zl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),z1(u,m,B),Gm(u,m,B,x),B=!0;else if(c===null){var J=u.stateNode,oe=u.memoizedProps;J.props=oe;var Qe=J.context,He=m.contextType;typeof He=="object"&&He!==null?He=vr(He):(He=de(m)?ee:L.current,He=re(u,He));var ot=m.getDerivedStateFromProps,Rt=typeof ot=="function"||typeof J.getSnapshotBeforeUpdate=="function";Rt||typeof J.UNSAFE_componentWillReceiveProps!="function"&&typeof J.componentWillReceiveProps!="function"||(oe!==B||Qe!==He)&&V1(u,J,B,He),Lo=!1;var Bt=u.memoizedState;J.state=Bt,uh(u,B,J,x),Qe=u.memoizedState,oe!==B||Bt!==Qe||k.current||Lo?(typeof ot=="function"&&(Hm(u,m,ot,B),Qe=u.memoizedState),(oe=Lo||G1(u,m,oe,B,Bt,Qe,He))?(Rt||typeof J.UNSAFE_componentWillMount!="function"&&typeof J.componentWillMount!="function"||(typeof J.componentWillMount=="function"&&J.componentWillMount(),typeof J.UNSAFE_componentWillMount=="function"&&J.UNSAFE_componentWillMount()),typeof J.componentDidMount=="function"&&(u.flags|=4194308)):(typeof J.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Qe),J.props=B,J.state=Qe,J.context=He,B=oe):(typeof J.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{J=u.stateNode,U1(c,u),oe=u.memoizedProps,He=u.type===u.elementType?oe:zr(u.type,oe),J.props=He,Rt=u.pendingProps,Bt=J.context,Qe=m.contextType,typeof Qe=="object"&&Qe!==null?Qe=vr(Qe):(Qe=de(m)?ee:L.current,Qe=re(u,Qe));var hn=m.getDerivedStateFromProps;(ot=typeof hn=="function"||typeof J.getSnapshotBeforeUpdate=="function")||typeof J.UNSAFE_componentWillReceiveProps!="function"&&typeof J.componentWillReceiveProps!="function"||(oe!==Rt||Bt!==Qe)&&V1(u,J,B,Qe),Lo=!1,Bt=u.memoizedState,J.state=Bt,uh(u,B,J,x);var gt=u.memoizedState;oe!==Rt||Bt!==gt||k.current||Lo?(typeof hn=="function"&&(Hm(u,m,hn,B),gt=u.memoizedState),(He=Lo||G1(u,m,He,B,Bt,gt,Qe)||!1)?(ot||typeof J.UNSAFE_componentWillUpdate!="function"&&typeof J.componentWillUpdate!="function"||(typeof J.componentWillUpdate=="function"&&J.componentWillUpdate(B,gt,Qe),typeof J.UNSAFE_componentWillUpdate=="function"&&J.UNSAFE_componentWillUpdate(B,gt,Qe)),typeof J.componentDidUpdate=="function"&&(u.flags|=4),typeof J.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof J.componentDidUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=4),typeof J.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=gt),J.props=B,J.state=gt,J.context=Qe,B=He):(typeof J.componentDidUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=4),typeof J.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=1024),B=!1)}return a0(c,u,m,B,M,x)}function a0(c,u,m,B,x,M){MB(c,u);var J=(u.flags&128)!==0;if(!B&&!J)return x&&Fe(u,m,!1),Vs(c,u,M);B=u.stateNode,B3.current=u;var oe=J&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&J?(u.child=nc(u,c.child,null,M),u.child=nc(u,null,oe,M)):Li(c,u,oe,M),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function RB(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),Xm(c,u.containerInfo)}function DB(c,u,m,B,x){return tc(),Jm(x),u.flags|=256,Li(c,u,m,B),u.child}var wh={dehydrated:null,treeContext:null,retryLane:0};function Sh(c){return{baseLanes:c,cachePool:null}}function TB(c,u,m){var B=u.pendingProps,x=Sn.current,M=!1,J=(u.flags&128)!==0,oe;if((oe=J)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(M=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),tt(Sn,x&1),c===null)return Ym(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Us(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,M?(B=u.mode,M=u.child,x={mode:"hidden",children:x},!(B&1)&&M!==null?(M.childLanes=0,M.pendingProps=x):M=Yh(x,B,0,null),c=Ya(c,B,m,null),M.return=u,c.return=u,M.sibling=c,u.child=M,u.child.memoizedState=Sh(m),u.memoizedState=wh,c):l0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(J)return u.flags&256?(u.flags&=-257,_h(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(M=B.fallback,x=u.mode,B=Yh({mode:"visible",children:B.children},x,0,null),M=Ya(M,x,m,null),M.flags|=2,B.return=u,M.return=u,B.sibling=M,u.child=B,u.mode&1&&nc(u,c.child,null,m),u.child.memoizedState=Sh(m),u.memoizedState=wh,M);if(!(u.mode&1))u=_h(c,u,m,null);else if(Us(oe))u=_h(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,or||B){if(B=zn,B!==null){switch(m&-m){case 4:M=2;break;case 16:M=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:M=32;break;case 536870912:M=268435456;break;default:M=0}B=M&(B.suspendedLanes|m)?0:M,B!==0&&B!==x.retryLane&&(x.retryLane=B,_r(c,B,-1))}M0(),u=_h(c,u,m,Error(o(421)))}else ls(oe)?(u.flags|=128,u.child=c.child,u=N3.bind(null,c),cs(oe,u),u=null):(m=x.treeContext,me&&(sr=Kl(oe),rr=u,Bn=!0,Vr=null,Ou=!1,m!==null&&(Br[xr++]=Hs,Br[xr++]=Gs,Br[xr++]=Ua,Hs=m.id,Gs=m.overflow,Ua=u)),u=l0(u,u.pendingProps.children),u.flags|=4096);return u}return M?(B=LB(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Sh(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=wh,B):(m=bB(c,u,B.children,m),u.memoizedState=null,m)}return M?(B=LB(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Sh(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=wh,B):(m=bB(c,u,B.children,m),u.memoizedState=null,m)}function l0(c,u){return u=Yh({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function bB(c,u,m,B){var x=c.child;return c=x.sibling,m=Oo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function LB(c,u,m,B,x){var M=u.mode;c=c.child;var J=c.sibling,oe={mode:"hidden",children:m};return!(M&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Oo(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),J!==null?B=Oo(J,B):(B=Ya(B,M,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function _h(c,u,m,B){return B!==null&&Jm(B),nc(u,c.child,null,m),c=l0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function PB(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Fm(c.return,u,m)}function c0(c,u,m,B,x){var M=c.memoizedState;M===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(M.isBackwards=u,M.rendering=null,M.renderingStartTime=0,M.last=B,M.tail=m,M.tailMode=x)}function NB(c,u,m){var B=u.pendingProps,x=B.revealOrder,M=B.tail;if(Li(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&PB(c,m,u);else if(c.tag===19)PB(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if(tt(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&ph(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),c0(u,!1,x,m,M);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&ph(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}c0(u,!0,m,null,M);break;case"together":c0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Vs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),ac|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Oo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Oo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function x3(c,u,m){switch(u.tag){case 3:RB(u),tc();break;case 5:Z1(u);break;case 1:de(u.type)&&ke(u);break;case 4:Xm(u,u.stateNode.containerInfo);break;case 10:k1(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?(tt(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?TB(c,u,m):(tt(Sn,Sn.current&1),c=Vs(c,u,m),c!==null?c.sibling:null);tt(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return NB(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),tt(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,_B(c,u,m)}return Vs(c,u,m)}function w3(c,u){switch(Vm(u),u.tag){case 1:return de(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return rc(),ht(k),ht(L),qm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Km(u),null;case 13:if(ht(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));tc()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ht(Sn),null;case 4:return rc(),null;case 10:return Um(u.type._context),null;case 22:case 23:return _0(),null;case 24:return null;default:return null}}var Mh=!1,Ha=!1,S3=typeof WeakSet=="function"?WeakSet:Set,qe=null;function Qh(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){ji(c,u,B)}else m.current=null}function u0(c,u,m){try{m()}catch(B){ji(c,u,B)}}var kB=!1;function _3(c,u){for($(c.containerInfo),qe=u;qe!==null;)if(c=qe,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,qe=u;else for(;qe!==null;){c=qe;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,x=m.memoizedState,M=c.stateNode,J=M.getSnapshotBeforeUpdate(c.elementType===c.type?B:zr(c.type,B),x);M.__reactInternalSnapshotBeforeUpdate=J}break;case 3:we&&Ge(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){ji(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,qe=u;break}qe=c.return}return m=kB,kB=!1,m}function Ga(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var M=x.destroy;x.destroy=void 0,M!==void 0&&u0(u,m,M)}x=x.next}while(x!==B)}}function Zu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function A0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=se(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function UB(c,u,m){if(ds&&typeof ds.onCommitFiberUnmount=="function")try{ds.onCommitFiberUnmount(rh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,M=x.destroy;x=x.tag,M!==void 0&&(x&2||x&4)&&u0(u,m,M),B=B.next}while(B!==c)}break;case 1:if(Qh(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(J){ji(u,m,J)}break;case 5:Qh(u,m);break;case 4:we?VB(c,u,m):G&&G&&(u=u.stateNode.containerInfo,m=st(u),nn(u,m))}}function FB(c,u,m){for(var B=u;;)if(UB(c,B,m),B.child===null||we&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function OB(c){var u=c.alternate;u!==null&&(c.alternate=null,OB(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 HB(c){return c.tag===5||c.tag===3||c.tag===4}function GB(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||HB(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 zB(c){if(we){e:{for(var u=c.return;u!==null;){if(HB(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Wt(u),m.flags&=-33),m=GB(c),h0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=GB(c),d0(c,m,u);break;default:throw Error(o(161))}}}function d0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?ct(m,c,u):It(m,c);else if(B!==4&&(c=c.child,c!==null))for(d0(c,u,m),c=c.sibling;c!==null;)d0(c,u,m),c=c.sibling}function h0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?Ct(m,c,u):ut(m,c);else if(B!==4&&(c=c.child,c!==null))for(h0(c,u,m),c=c.sibling;c!==null;)h0(c,u,m),c=c.sibling}function VB(c,u,m){for(var B=u,x=!1,M,J;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(M=x.stateNode,x.tag){case 5:J=!1;break e;case 3:M=M.containerInfo,J=!0;break e;case 4:M=M.containerInfo,J=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)FB(c,B,m),J?xt(M,B.stateNode):nt(M,B.stateNode);else if(B.tag===18)J?Ie(M,B.stateNode):Se(M,B.stateNode);else if(B.tag===4){if(B.child!==null){M=B.stateNode.containerInfo,J=!0,B.child.return=B,B=B.child;continue}}else if(UB(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function f0(c,u){if(we){switch(u.tag){case 0:case 11:case 14:case 15:Ga(3,u,u.return),Zu(3,u),Ga(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,M=u.updateQueue;u.updateQueue=null,M!==null&&Mt(m,M,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,Le(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Rh(u);return;case 19:Rh(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Ga(3,u,u.return),Zu(3,u),Ga(5,u,u.return);return;case 12:return;case 13:Rh(u);return;case 19:Rh(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(G){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,nn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Rh(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new S3),u.forEach(function(B){var x=k3.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function M3(c,u){for(qe=u;qe!==null;){u=qe;var m=u.deletions;if(m!==null)for(var B=0;B";case Th:return":has("+(m0(c)||"")+")";case bh:return'[role="'+c.value+'"]';case Ph:return'"'+c.value+'"';case Lh:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function KB(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=J),B&=~M}if(B=x,B=si()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*R3(B/1960))-B,10c?16:c,ko===null)var B=!1;else{if(c=ko,ko=null,Oh=0,Ut&6)throw Error(o(331));var x=Ut;for(Ut|=4,qe=c.current;qe!==null;){var M=qe,J=M.child;if(qe.flags&16){var oe=M.deletions;if(oe!==null){for(var Qe=0;Qesi()-y0?za(c,0):I0|=m),Ki(c,u)}function rx(c,u){u===0&&(c.mode&1?(u=ri,ri<<=1,!(ri&130023424)&&(ri=4194304)):u=1);var m=Pi();c=zh(c,u),c!==null&&(Fu(c,u,m),Ki(c,m))}function N3(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),rx(c,m)}function k3(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),rx(c,m)}var sx;sx=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||k.current)or=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return or=!1,x3(c,u,m);or=!!(c.flags&131072)}else or=!1,Bn&&u.flags&1048576&&W1(u,hh,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=re(u,L.current);Zl(u,m),x=$m(null,u,B,c,x,m);var M=e0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,de(B)?(M=!0,ke(u)):M=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Om(u),x.updater=Ah,u.stateNode=x,x._reactInternals=u,Gm(u,B,c,m),u=a0(null,u,B,!0,M,m)):(u.tag=0,Bn&&M&&zm(u),Li(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=F3(B),c=zr(B,c),x){case 0:u=o0(null,u,B,c,m);break e;case 1:u=QB(null,u,B,c,m);break e;case 11:u=xB(null,u,B,c,m);break e;case 14:u=wB(null,u,B,zr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),o0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),QB(c,u,B,x,m);case 3:e:{if(RB(u),c===null)throw Error(o(387));B=u.pendingProps,M=u.memoizedState,x=M.element,U1(c,u),uh(u,B,null,m);var J=u.memoizedState;if(B=J.element,me&&M.isDehydrated)if(M={element:B,isDehydrated:!1,cache:J.cache,transitions:J.transitions},u.updateQueue.baseState=M,u.memoizedState=M,u.flags&256){x=Error(o(423)),u=DB(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=DB(c,u,B,m,x);break e}else for(me&&(sr=Xl(u.stateNode.containerInfo),rr=u,Bn=!0,Vr=null,Ou=!1),m=q1(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(tc(),B===x){u=Vs(c,u,m);break e}Li(c,u,B,m)}u=u.child}return u;case 5:return Z1(u),c===null&&Ym(u),B=u.type,x=u.pendingProps,M=c!==null?c.memoizedProps:null,J=x.children,z(B,x)?J=null:M!==null&&z(B,M)&&(u.flags|=32),MB(c,u),Li(c,u,J,m),u.child;case 6:return c===null&&Ym(u),null;case 13:return TB(c,u,m);case 4:return Xm(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=nc(u,null,B,m):Li(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),xB(c,u,B,x,m);case 7:return Li(c,u,u.pendingProps,m),u.child;case 8:return Li(c,u,u.pendingProps.children,m),u.child;case 12:return Li(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,M=u.memoizedProps,J=x.value,k1(u,B,J),M!==null)if(hs(M.value,J)){if(M.children===x.children&&!k.current){u=Vs(c,u,m);break e}}else for(M=u.child,M!==null&&(M.return=u);M!==null;){var oe=M.dependencies;if(oe!==null){J=M.child;for(var Qe=oe.firstContext;Qe!==null;){if(Qe.context===B){if(M.tag===1){Qe=Os(-1,m&-m),Qe.tag=2;var He=M.updateQueue;if(He!==null){He=He.shared;var ot=He.pending;ot===null?Qe.next=Qe:(Qe.next=ot.next,ot.next=Qe),He.pending=Qe}}M.lanes|=m,Qe=M.alternate,Qe!==null&&(Qe.lanes|=m),Fm(M.return,m,u),oe.lanes|=m;break}Qe=Qe.next}}else if(M.tag===10)J=M.type===u.type?null:M.child;else if(M.tag===18){if(J=M.return,J===null)throw Error(o(341));J.lanes|=m,oe=J.alternate,oe!==null&&(oe.lanes|=m),Fm(J,m,u),J=M.sibling}else J=M.child;if(J!==null)J.return=M;else for(J=M;J!==null;){if(J===u){J=null;break}if(M=J.sibling,M!==null){M.return=J.return,J=M;break}J=J.return}M=J}Li(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,Zl(u,m),x=vr(x),B=B(x),u.flags|=1,Li(c,u,B,m),u.child;case 14:return B=u.type,x=zr(B,u.pendingProps),x=zr(B.type,x),wB(c,u,B,x,m);case 15:return SB(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,de(B)?(c=!0,ke(u)):c=!1,Zl(u,m),z1(u,B,x),Gm(u,B,x,m),a0(null,u,B,!0,c,m);case 19:return NB(c,u,m);case 22:return _B(c,u,m)}throw Error(o(156,u.tag))};function ox(c,u){return Tm(c,u)}function U3(c,u,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=u,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 Mr(c,u,m,B){return new U3(c,u,m,B)}function Q0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function F3(c){if(typeof c=="function")return Q0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===y)return 11;if(c===v)return 14}return 2}function Oo(c,u){var m=c.alternate;return m===null?(m=Mr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Wh(c,u,m,B,x,M){var J=2;if(B=c,typeof c=="function")Q0(c)&&(J=1);else if(typeof c=="string")J=5;else e:switch(c){case d:return Ya(m.children,x,M,u);case h:J=8,x|=8;break;case f:return c=Mr(12,m,u,x|2),c.elementType=f,c.lanes=M,c;case C:return c=Mr(13,m,u,x),c.elementType=C,c.lanes=M,c;case p:return c=Mr(19,m,u,x),c.elementType=p,c.lanes=M,c;case w:return Yh(m,x,M,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:J=10;break e;case E:J=9;break e;case y:J=11;break e;case v:J=14;break e;case I:J=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=Mr(J,m,u,x),u.elementType=c,u.type=B,u.lanes=M,u}function Ya(c,u,m,B){return c=Mr(7,c,B,u),c.lanes=m,c}function Yh(c,u,m,B){return c=Mr(22,c,B,u),c.elementType=w,c.lanes=m,c.stateNode={},c}function R0(c,u,m){return c=Mr(6,c,null,u),c.lanes=m,c}function D0(c,u,m){return u=Mr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function O3(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rm(0),this.expirationTimes=Rm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function ax(c,u,m,B,x,M,J,oe,Qe){return c=new O3(c,u,m,oe,Qe),u===1?(u=1,M===!0&&(u|=8)):u=0,M=Mr(3,null,null,u),c.current=M,M.stateNode=c,M.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Om(M),c}function lx(c){if(!c)return bi;c=c._reactInternals;e:{if(K(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(de(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(de(m))return Ne(c,m,u)}return u}function cx(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=Z(u),c===null?null:c.stateNode}function ux(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=He&&M>=Rt&&x<=ot&&J<=Bt){c.splice(u,1);break}else if(B!==He||m.width!==Qe.width||BtJ){if(!(M!==Rt||m.height!==Qe.height||otx)){He>B&&(Qe.width+=He-B,Qe.x=B),otM&&(Qe.height+=Rt-M,Qe.y=M),Btm&&(m=J)),Jv0&&(u.flags|=128,B=!0,qu(x,!1),u.lanes=4194304)}else{if(!B)if(c=ph(M),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),qu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!M.alternate&&!Bn)return vi(u),null}else 2*oi()-x.renderingStartTime>v0&&m!==1073741824&&(u.flags|=128,B=!0,qu(x,!1),u.lanes=4194304);x.isBackwards?(M.sibling=u.child,u.child=M):(c=x.last,c!==null?c.sibling=M:u.child=M,x.last=M)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=oi(),u.sibling=null,c=Sn.current,tt(Sn,B?c&1|2:c&1),u):(vi(u),null);case 22:case 23:return _0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?ar&1073741824&&(vi(u),we&&u.subtreeFlags&6&&(u.flags|=8192)):vi(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var x3=a.ReactCurrentOwner,or=!1;function Li(c,u,m,B){u.child=c===null?Z1(u,null,m,B):nc(u,c.child,m,B)}function wB(c,u,m,B,x){m=m.render;var M=u.ref;return Zl(u,x),B=$m(c,u,m,B,M,x),m=e0(),c!==null&&!or?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Vs(c,u,x)):(Bn&&m&&zm(u),u.flags|=1,Li(c,u,B,x),u.child)}function SB(c,u,m,B,x){if(c===null){var M=m.type;return typeof M=="function"&&!Q0(M)&&M.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=M,_B(c,u,M,B,x)):(c=Wh(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(M=c.child,!(c.lanes&x)){var J=M.memoizedProps;if(m=m.compare,m=m!==null?m:oh,m(J,B)&&c.ref===u.ref)return Vs(c,u,x)}return u.flags|=1,c=Oo(M,B),c.ref=u.ref,c.return=u,u.child=c}function _B(c,u,m,B,x){if(c!==null&&oh(c.memoizedProps,B)&&c.ref===u.ref)if(or=!1,(c.lanes&x)!==0)c.flags&131072&&(or=!0);else return u.lanes=c.lanes,Vs(c,u,x);return o0(c,u,m,B,x)}function MB(c,u,m){var B=u.pendingProps,x=B.children,M=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},tt(oc,ar),ar|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=M!==null?M.baseLanes:m,tt(oc,ar),ar|=B;else return c=M!==null?M.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,tt(oc,ar),ar|=c,null;else M!==null?(B=M.baseLanes|m,u.memoizedState=null):B=m,tt(oc,ar),ar|=B;return Li(c,u,x,m),u.child}function QB(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function o0(c,u,m,B,x){var M=de(m)?ee:L.current;return M=se(u,M),Zl(u,x),m=$m(c,u,m,B,M,x),B=e0(),c!==null&&!or?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Vs(c,u,x)):(Bn&&B&&zm(u),u.flags|=1,Li(c,u,m,x),u.child)}function RB(c,u,m,B,x){if(de(m)){var M=!0;ke(u)}else M=!1;if(Zl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),V1(u,m,B),Gm(u,m,B,x),B=!0;else if(c===null){var J=u.stateNode,oe=u.memoizedProps;J.props=oe;var Qe=J.context,He=m.contextType;typeof He=="object"&&He!==null?He=vr(He):(He=de(m)?ee:L.current,He=se(u,He));var at=m.getDerivedStateFromProps,Rt=typeof at=="function"||typeof J.getSnapshotBeforeUpdate=="function";Rt||typeof J.UNSAFE_componentWillReceiveProps!="function"&&typeof J.componentWillReceiveProps!="function"||(oe!==B||Qe!==He)&&W1(u,J,B,He),Lo=!1;var Bt=u.memoizedState;J.state=Bt,uh(u,B,J,x),Qe=u.memoizedState,oe!==B||Bt!==Qe||k.current||Lo?(typeof at=="function"&&(Hm(u,m,at,B),Qe=u.memoizedState),(oe=Lo||z1(u,m,oe,B,Bt,Qe,He))?(Rt||typeof J.UNSAFE_componentWillMount!="function"&&typeof J.componentWillMount!="function"||(typeof J.componentWillMount=="function"&&J.componentWillMount(),typeof J.UNSAFE_componentWillMount=="function"&&J.UNSAFE_componentWillMount()),typeof J.componentDidMount=="function"&&(u.flags|=4194308)):(typeof J.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Qe),J.props=B,J.state=Qe,J.context=He,B=oe):(typeof J.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{J=u.stateNode,F1(c,u),oe=u.memoizedProps,He=u.type===u.elementType?oe:zr(u.type,oe),J.props=He,Rt=u.pendingProps,Bt=J.context,Qe=m.contextType,typeof Qe=="object"&&Qe!==null?Qe=vr(Qe):(Qe=de(m)?ee:L.current,Qe=se(u,Qe));var hn=m.getDerivedStateFromProps;(at=typeof hn=="function"||typeof J.getSnapshotBeforeUpdate=="function")||typeof J.UNSAFE_componentWillReceiveProps!="function"&&typeof J.componentWillReceiveProps!="function"||(oe!==Rt||Bt!==Qe)&&W1(u,J,B,Qe),Lo=!1,Bt=u.memoizedState,J.state=Bt,uh(u,B,J,x);var gt=u.memoizedState;oe!==Rt||Bt!==gt||k.current||Lo?(typeof hn=="function"&&(Hm(u,m,hn,B),gt=u.memoizedState),(He=Lo||z1(u,m,He,B,Bt,gt,Qe)||!1)?(at||typeof J.UNSAFE_componentWillUpdate!="function"&&typeof J.componentWillUpdate!="function"||(typeof J.componentWillUpdate=="function"&&J.componentWillUpdate(B,gt,Qe),typeof J.UNSAFE_componentWillUpdate=="function"&&J.UNSAFE_componentWillUpdate(B,gt,Qe)),typeof J.componentDidUpdate=="function"&&(u.flags|=4),typeof J.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof J.componentDidUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=4),typeof J.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=gt),J.props=B,J.state=gt,J.context=Qe,B=He):(typeof J.componentDidUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=4),typeof J.getSnapshotBeforeUpdate!="function"||oe===c.memoizedProps&&Bt===c.memoizedState||(u.flags|=1024),B=!1)}return a0(c,u,m,B,M,x)}function a0(c,u,m,B,x,M){QB(c,u);var J=(u.flags&128)!==0;if(!B&&!J)return x&&Fe(u,m,!1),Vs(c,u,M);B=u.stateNode,x3.current=u;var oe=J&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&J?(u.child=nc(u,c.child,null,M),u.child=nc(u,null,oe,M)):Li(c,u,oe,M),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function DB(c){var u=c.stateNode;u.pendingContext?Pe(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Pe(c,u.context,!1),Xm(c,u.containerInfo)}function TB(c,u,m,B,x){return tc(),Jm(x),u.flags|=256,Li(c,u,m,B),u.child}var wh={dehydrated:null,treeContext:null,retryLane:0};function Sh(c){return{baseLanes:c,cachePool:null}}function bB(c,u,m){var B=u.pendingProps,x=Sn.current,M=!1,J=(u.flags&128)!==0,oe;if((oe=J)||(oe=c!==null&&c.memoizedState===null?!1:(x&2)!==0),oe?(M=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),tt(Sn,x&1),c===null)return Ym(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Us(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,M?(B=u.mode,M=u.child,x={mode:"hidden",children:x},!(B&1)&&M!==null?(M.childLanes=0,M.pendingProps=x):M=Yh(x,B,0,null),c=Ya(c,B,m,null),M.return=u,c.return=u,M.sibling=c,u.child=M,u.child.memoizedState=Sh(m),u.memoizedState=wh,c):l0(u,x));if(x=c.memoizedState,x!==null){if(oe=x.dehydrated,oe!==null){if(J)return u.flags&256?(u.flags&=-257,_h(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(M=B.fallback,x=u.mode,B=Yh({mode:"visible",children:B.children},x,0,null),M=Ya(M,x,m,null),M.flags|=2,B.return=u,M.return=u,B.sibling=M,u.child=B,u.mode&1&&nc(u,c.child,null,m),u.child.memoizedState=Sh(m),u.memoizedState=wh,M);if(!(u.mode&1))u=_h(c,u,m,null);else if(Us(oe))u=_h(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,or||B){if(B=zn,B!==null){switch(m&-m){case 4:M=2;break;case 16:M=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:M=32;break;case 536870912:M=268435456;break;default:M=0}B=M&(B.suspendedLanes|m)?0:M,B!==0&&B!==x.retryLane&&(x.retryLane=B,_r(c,B,-1))}M0(),u=_h(c,u,m,Error(o(421)))}else ls(oe)?(u.flags|=128,u.child=c.child,u=k3.bind(null,c),cs(oe,u),u=null):(m=x.treeContext,me&&(sr=Kl(oe),rr=u,Bn=!0,Vr=null,Ou=!1,m!==null&&(Br[xr++]=Hs,Br[xr++]=Gs,Br[xr++]=Ua,Hs=m.id,Gs=m.overflow,Ua=u)),u=l0(u,u.pendingProps.children),u.flags|=4096);return u}return M?(B=PB(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Sh(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=wh,B):(m=LB(c,u,B.children,m),u.memoizedState=null,m)}return M?(B=PB(c,u,B.children,B.fallback,m),M=u.child,x=c.child.memoizedState,M.memoizedState=x===null?Sh(m):{baseLanes:x.baseLanes|m,cachePool:null},M.childLanes=c.childLanes&~m,u.memoizedState=wh,B):(m=LB(c,u,B.children,m),u.memoizedState=null,m)}function l0(c,u){return u=Yh({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function LB(c,u,m,B){var x=c.child;return c=x.sibling,m=Oo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function PB(c,u,m,B,x){var M=u.mode;c=c.child;var J=c.sibling,oe={mode:"hidden",children:m};return!(M&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=oe,u.deletions=null):(m=Oo(c,oe),m.subtreeFlags=c.subtreeFlags&14680064),J!==null?B=Oo(J,B):(B=Ya(B,M,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function _h(c,u,m,B){return B!==null&&Jm(B),nc(u,c.child,null,m),c=l0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function NB(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Fm(c.return,u,m)}function c0(c,u,m,B,x){var M=c.memoizedState;M===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(M.isBackwards=u,M.rendering=null,M.renderingStartTime=0,M.last=B,M.tail=m,M.tailMode=x)}function kB(c,u,m){var B=u.pendingProps,x=B.revealOrder,M=B.tail;if(Li(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&NB(c,m,u);else if(c.tag===19)NB(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if(tt(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&ph(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),c0(u,!1,x,m,M);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&ph(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}c0(u,!0,m,null,M);break;case"together":c0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Vs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),ac|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Oo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Oo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function w3(c,u,m){switch(u.tag){case 3:DB(u),tc();break;case 5:$1(u);break;case 1:de(u.type)&&ke(u);break;case 4:Xm(u,u.stateNode.containerInfo);break;case 10:U1(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?(tt(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?bB(c,u,m):(tt(Sn,Sn.current&1),c=Vs(c,u,m),c!==null?c.sibling:null);tt(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return kB(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),tt(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,MB(c,u,m)}return Vs(c,u,m)}function S3(c,u){switch(Vm(u),u.tag){case 1:return de(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return rc(),ft(k),ft(L),qm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Km(u),null;case 13:if(ft(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));tc()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ft(Sn),null;case 4:return rc(),null;case 10:return Um(u.type._context),null;case 22:case 23:return _0(),null;case 24:return null;default:return null}}var Mh=!1,Ha=!1,_3=typeof WeakSet=="function"?WeakSet:Set,qe=null;function Qh(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){ji(c,u,B)}else m.current=null}function u0(c,u,m){try{m()}catch(B){ji(c,u,B)}}var UB=!1;function M3(c,u){for($(c.containerInfo),qe=u;qe!==null;)if(c=qe,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,qe=u;else for(;qe!==null;){c=qe;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,x=m.memoizedState,M=c.stateNode,J=M.getSnapshotBeforeUpdate(c.elementType===c.type?B:zr(c.type,B),x);M.__reactInternalSnapshotBeforeUpdate=J}break;case 3:we&&Ge(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){ji(c,c.return,oe)}if(u=c.sibling,u!==null){u.return=c.return,qe=u;break}qe=c.return}return m=UB,UB=!1,m}function Ga(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var M=x.destroy;x.destroy=void 0,M!==void 0&&u0(u,m,M)}x=x.next}while(x!==B)}}function Zu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function A0(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=re(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function FB(c,u,m){if(ds&&typeof ds.onCommitFiberUnmount=="function")try{ds.onCommitFiberUnmount(rh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,M=x.destroy;x=x.tag,M!==void 0&&(x&2||x&4)&&u0(u,m,M),B=B.next}while(B!==c)}break;case 1:if(Qh(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(J){ji(u,m,J)}break;case 5:Qh(u,m);break;case 4:we?WB(c,u,m):G&&G&&(u=u.stateNode.containerInfo,m=ot(u),nn(u,m))}}function OB(c,u,m){for(var B=u;;)if(FB(c,B,m),B.child===null||we&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function HB(c){var u=c.alternate;u!==null&&(c.alternate=null,HB(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 GB(c){return c.tag===5||c.tag===3||c.tag===4}function zB(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||GB(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 VB(c){if(we){e:{for(var u=c.return;u!==null;){if(GB(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Wt(u),m.flags&=-33),m=zB(c),h0(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=zB(c),d0(c,m,u);break;default:throw Error(o(161))}}}function d0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?ut(m,c,u):It(m,c);else if(B!==4&&(c=c.child,c!==null))for(d0(c,u,m),c=c.sibling;c!==null;)d0(c,u,m),c=c.sibling}function h0(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?Ct(m,c,u):At(m,c);else if(B!==4&&(c=c.child,c!==null))for(h0(c,u,m),c=c.sibling;c!==null;)h0(c,u,m),c=c.sibling}function WB(c,u,m){for(var B=u,x=!1,M,J;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(M=x.stateNode,x.tag){case 5:J=!1;break e;case 3:M=M.containerInfo,J=!0;break e;case 4:M=M.containerInfo,J=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)OB(c,B,m),J?xt(M,B.stateNode):it(M,B.stateNode);else if(B.tag===18)J?Ie(M,B.stateNode):Se(M,B.stateNode);else if(B.tag===4){if(B.child!==null){M=B.stateNode.containerInfo,J=!0,B.child.return=B,B=B.child;continue}}else if(FB(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function f0(c,u){if(we){switch(u.tag){case 0:case 11:case 14:case 15:Ga(3,u,u.return),Zu(3,u),Ga(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,M=u.updateQueue;u.updateQueue=null,M!==null&&Mt(m,M,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,Le(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Rh(u);return;case 19:Rh(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:Ga(3,u,u.return),Zu(3,u),Ga(5,u,u.return);return;case 12:return;case 13:Rh(u);return;case 19:Rh(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(G){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,nn(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Rh(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new _3),u.forEach(function(B){var x=U3.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function Q3(c,u){for(qe=u;qe!==null;){u=qe;var m=u.deletions;if(m!==null)for(var B=0;B";case Th:return":has("+(m0(c)||"")+")";case bh:return'[role="'+c.value+'"]';case Ph:return'"'+c.value+'"';case Lh:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function jB(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=J),B&=~M}if(B=x,B=oi()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*D3(B/1960))-B,10c?16:c,ko===null)var B=!1;else{if(c=ko,ko=null,Oh=0,Ut&6)throw Error(o(331));var x=Ut;for(Ut|=4,qe=c.current;qe!==null;){var M=qe,J=M.child;if(qe.flags&16){var oe=M.deletions;if(oe!==null){for(var Qe=0;Qeoi()-y0?za(c,0):I0|=m),Ki(c,u)}function sx(c,u){u===0&&(c.mode&1?(u=si,si<<=1,!(si&130023424)&&(si=4194304)):u=1);var m=Pi();c=zh(c,u),c!==null&&(Fu(c,u,m),Ki(c,m))}function k3(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),sx(c,m)}function U3(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),sx(c,m)}var ox;ox=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||k.current)or=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return or=!1,w3(c,u,m);or=!!(c.flags&131072)}else or=!1,Bn&&u.flags&1048576&&Y1(u,hh,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=se(u,L.current);Zl(u,m),x=$m(null,u,B,c,x,m);var M=e0();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,de(B)?(M=!0,ke(u)):M=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Om(u),x.updater=Ah,u.stateNode=x,x._reactInternals=u,Gm(u,B,c,m),u=a0(null,u,B,!0,M,m)):(u.tag=0,Bn&&M&&zm(u),Li(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=O3(B),c=zr(B,c),x){case 0:u=o0(null,u,B,c,m);break e;case 1:u=RB(null,u,B,c,m);break e;case 11:u=wB(null,u,B,c,m);break e;case 14:u=SB(null,u,B,zr(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),o0(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),RB(c,u,B,x,m);case 3:e:{if(DB(u),c===null)throw Error(o(387));B=u.pendingProps,M=u.memoizedState,x=M.element,F1(c,u),uh(u,B,null,m);var J=u.memoizedState;if(B=J.element,me&&M.isDehydrated)if(M={element:B,isDehydrated:!1,cache:J.cache,transitions:J.transitions},u.updateQueue.baseState=M,u.memoizedState=M,u.flags&256){x=Error(o(423)),u=TB(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=TB(c,u,B,m,x);break e}else for(me&&(sr=Xl(u.stateNode.containerInfo),rr=u,Bn=!0,Vr=null,Ou=!1),m=Z1(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(tc(),B===x){u=Vs(c,u,m);break e}Li(c,u,B,m)}u=u.child}return u;case 5:return $1(u),c===null&&Ym(u),B=u.type,x=u.pendingProps,M=c!==null?c.memoizedProps:null,J=x.children,z(B,x)?J=null:M!==null&&z(B,M)&&(u.flags|=32),QB(c,u),Li(c,u,J,m),u.child;case 6:return c===null&&Ym(u),null;case 13:return bB(c,u,m);case 4:return Xm(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=nc(u,null,B,m):Li(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),wB(c,u,B,x,m);case 7:return Li(c,u,u.pendingProps,m),u.child;case 8:return Li(c,u,u.pendingProps.children,m),u.child;case 12:return Li(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,M=u.memoizedProps,J=x.value,U1(u,B,J),M!==null)if(hs(M.value,J)){if(M.children===x.children&&!k.current){u=Vs(c,u,m);break e}}else for(M=u.child,M!==null&&(M.return=u);M!==null;){var oe=M.dependencies;if(oe!==null){J=M.child;for(var Qe=oe.firstContext;Qe!==null;){if(Qe.context===B){if(M.tag===1){Qe=Os(-1,m&-m),Qe.tag=2;var He=M.updateQueue;if(He!==null){He=He.shared;var at=He.pending;at===null?Qe.next=Qe:(Qe.next=at.next,at.next=Qe),He.pending=Qe}}M.lanes|=m,Qe=M.alternate,Qe!==null&&(Qe.lanes|=m),Fm(M.return,m,u),oe.lanes|=m;break}Qe=Qe.next}}else if(M.tag===10)J=M.type===u.type?null:M.child;else if(M.tag===18){if(J=M.return,J===null)throw Error(o(341));J.lanes|=m,oe=J.alternate,oe!==null&&(oe.lanes|=m),Fm(J,m,u),J=M.sibling}else J=M.child;if(J!==null)J.return=M;else for(J=M;J!==null;){if(J===u){J=null;break}if(M=J.sibling,M!==null){M.return=J.return,J=M;break}J=J.return}M=J}Li(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,Zl(u,m),x=vr(x),B=B(x),u.flags|=1,Li(c,u,B,m),u.child;case 14:return B=u.type,x=zr(B,u.pendingProps),x=zr(B.type,x),SB(c,u,B,x,m);case 15:return _B(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:zr(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,de(B)?(c=!0,ke(u)):c=!1,Zl(u,m),V1(u,B,x),Gm(u,B,x,m),a0(null,u,B,!0,c,m);case 19:return kB(c,u,m);case 22:return MB(c,u,m)}throw Error(o(156,u.tag))};function ax(c,u){return Tm(c,u)}function F3(c,u,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=u,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 Mr(c,u,m,B){return new F3(c,u,m,B)}function Q0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function O3(c){if(typeof c=="function")return Q0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===y)return 11;if(c===I)return 14}return 2}function Oo(c,u){var m=c.alternate;return m===null?(m=Mr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function Wh(c,u,m,B,x,M){var J=2;if(B=c,typeof c=="function")Q0(c)&&(J=1);else if(typeof c=="string")J=5;else e:switch(c){case d:return Ya(m.children,x,M,u);case h:J=8,x|=8;break;case f:return c=Mr(12,m,u,x|2),c.elementType=f,c.lanes=M,c;case C:return c=Mr(13,m,u,x),c.elementType=C,c.lanes=M,c;case p:return c=Mr(19,m,u,x),c.elementType=p,c.lanes=M,c;case w:return Yh(m,x,M,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:J=10;break e;case E:J=9;break e;case y:J=11;break e;case I:J=14;break e;case v:J=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=Mr(J,m,u,x),u.elementType=c,u.type=B,u.lanes=M,u}function Ya(c,u,m,B){return c=Mr(7,c,B,u),c.lanes=m,c}function Yh(c,u,m,B){return c=Mr(22,c,B,u),c.elementType=w,c.lanes=m,c.stateNode={},c}function R0(c,u,m){return c=Mr(6,c,null,u),c.lanes=m,c}function D0(c,u,m){return u=Mr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function H3(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Be,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rm(0),this.expirationTimes=Rm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function lx(c,u,m,B,x,M,J,oe,Qe){return c=new H3(c,u,m,oe,Qe),u===1?(u=1,M===!0&&(u|=8)):u=0,M=Mr(3,null,null,u),c.current=M,M.stateNode=c,M.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Om(M),c}function cx(c){if(!c)return bi;c=c._reactInternals;e:{if(K(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(de(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(de(m))return Ne(c,m,u)}return u}function ux(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=Z(u),c===null?null:c.stateNode}function Ax(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=He&&M>=Rt&&x<=at&&J<=Bt){c.splice(u,1);break}else if(B!==He||m.width!==Qe.width||BtJ){if(!(M!==Rt||m.height!==Qe.height||atx)){He>B&&(Qe.width+=He-B,Qe.x=B),atM&&(Qe.height+=Rt-M,Qe.y=M),Btm&&(m=J)),J ")+` 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 se(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:H3,findFiberByHostInstance:c.findFiberByHostInstance||G3,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{rh=u.inject(c),ds=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=E0(c,u);var x=$e(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=Zt;try{return Zt=c,u()}finally{Zt=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,M=Pi(),J=Uo(x);return m=lx(m),u.context===null?u.context=m:u.pendingContext=m,u=Os(M,J),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),Po(x,u),c=_r(x,J,M),c!==null&&ch(c,x,J),J},t};TD.exports=l5;var c5=TD.exports;const u5=Ly(c5),A5=n=>typeof n=="object"&&typeof n.then=="function",Cl=[];function PD(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=Cl.indexOf(r);s!==-1&&Cl.splice(s,1)},promise:(A5(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(Cl.push(r),!t)throw r.promise}const d5=(n,e,t)=>ND(n,e,!1,t),h5=(n,e,t)=>void ND(n,e,!0,t),f5=n=>{if(n===void 0||n.length===0)Cl.splice(0,Cl.length);else{const e=Cl.find(t=>PD(n,t.keys,t.equal));e&&e.remove()}},m1={},p5=n=>void Object.assign(m1,n);function g5(n,e){function t(d,{args:h=[],attach:f,...g},E){let y=`${d[0].toUpperCase()}${d.slice(1)}`,C;if(d==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;C=Uc(p,{type:d,root:E,attach:f,primitive:!0})}else{const p=m1[y];if(!p)throw new Error(`R3F: ${y} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(h))throw new Error("R3F: The args prop must be an array!");C=Uc(new p(...h),{type:d,root:E,attach:f,memoizedProps:{args:h}})}return C.__r3f.attach===void 0&&(C instanceof Lt?C.__r3f.attach="geometry":C instanceof Ai&&(C.__r3f.attach="material")),y!=="inject"&&VE(C,g),C}function i(d,h){let f=!1;if(h){var g,E;(g=h.__r3f)!=null&&g.attach?zE(d,h,h.__r3f.attach):h.isObject3D&&d.isObject3D&&(d.add(h),f=!0),f||(E=d.__r3f)==null||E.objects.push(h),h.__r3f||Uc(h,{}),h.__r3f.parent=d,py(h),Fc(h)}}function r(d,h,f){let g=!1;if(h){var E,y;if((E=h.__r3f)!=null&&E.attach)zE(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){h.parent=d,h.dispatchEvent({type:"added"});const C=d.children.filter(v=>v!==h),p=C.indexOf(f);d.children=[...C.slice(0,p),h,...C.slice(p)],g=!0}g||(y=d.__r3f)==null||y.objects.push(h),h.__r3f||Uc(h,{}),h.__r3f.parent=d,py(h),Fc(h)}}function s(d,h,f=!1){d&&[...d].forEach(g=>o(h,g,f))}function o(d,h,f){if(h){var g,E,y;if(h.__r3f&&(h.__r3f.parent=null),(g=d.__r3f)!=null&&g.objects&&(d.__r3f.objects=d.__r3f.objects.filter(w=>w!==h)),(E=h.__r3f)!=null&&E.attach)n_(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){var C;d.remove(h),(C=h.__r3f)!=null&&C.root&&x5(h.__r3f.root,h)}const v=(y=h.__r3f)==null?void 0:y.primitive,I=!v&&(f===void 0?h.dispose!==null:f);if(!v){var p;s((p=h.__r3f)==null?void 0:p.objects,h,I),s(h.children,h,I)}if(delete h.__r3f,I&&h.dispose&&h.type!=="Scene"){const w=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?hy.unstable_scheduleCallback(hy.unstable_IdlePriority,w):w()}Fc(d)}}function a(d,h,f,g){var E;const y=(E=d.__r3f)==null?void 0:E.parent;if(!y)return;const C=t(h,f,d.__r3f.root);if(d.children){for(const p of d.children)p.__r3f&&i(C,p);d.children=d.children.filter(p=>!p.__r3f)}d.__r3f.objects.forEach(p=>i(C,p)),d.__r3f.objects=[],d.__r3f.autoRemovedBeforeAppend||o(y,d),C.parent&&(C.__r3f.autoRemovedBeforeAppend=!0),i(y,C),C.raycast&&C.__r3f.eventCount&&C.__r3f.root.getState().internal.interaction.push(C),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=C,p.ref&&(typeof p.ref=="function"?p.ref(C):p.ref.current=C))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:u5({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(d,h)=>{if(!h)return;const f=d.getState().scene;f.__r3f&&(f.__r3f.root=d,i(f,h))},removeChildFromContainer:(d,h)=>{h&&o(d.getState().scene,h)},insertInContainerBefore:(d,h,f)=>{if(!h||!f)return;const g=d.getState().scene;g.__r3f&&r(g,h,f)},getRootHostContext:()=>null,getChildHostContext:d=>d,finalizeInitialChildren(d){var h;return!!((h=d?.__r3f)!=null?h:{}).handlers},prepareUpdate(d,h,f,g){var E;if(((E=d?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==d)return[!0];{const{args:C=[],children:p,...v}=g,{args:I=[],children:w,...Q}=f;if(!Array.isArray(C))throw new Error("R3F: the args prop must be an array!");if(C.some((D,U)=>D!==I[U]))return[!0];const R=zD(d,v,Q,!0);return R.changes.length?[!1,R]:null}},commitUpdate(d,[h,f],g,E,y,C){h?a(d,g,y,C):VE(d,f)},commitMount(d,h,f,g){var E;const y=(E=d.__r3f)!=null?E:{};d.raycast&&y.handlers&&y.eventCount&&d.__r3f.root.getState().internal.interaction.push(d)},getPublicInstance:d=>d,prepareForCommit:()=>null,preparePortalMount:d=>Uc(d.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(d){var h;const{attach:f,parent:g}=(h=d.__r3f)!=null?h:{};f&&g&&n_(g,d,f),d.isObject3D&&(d.visible=!1),Fc(d)},unhideInstance(d,h){var f;const{attach:g,parent:E}=(f=d.__r3f)!=null?f:{};g&&E&&zE(E,d,g),(d.isObject3D&&h.visible==null||h.visible)&&(d.visible=!0),Fc(d)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():nu.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&In.fun(performance.now)?performance.now:In.fun(Date.now)?Date.now:()=>0,scheduleTimeout:In.fun(setTimeout)?setTimeout:void 0,cancelTimeout:In.fun(clearTimeout)?clearTimeout:void 0}),applyProps:VE}}var ZS,$S;const GE=n=>"colorSpace"in n||"outputColorSpace"in n,kD=()=>{var n;return(n=m1.ColorManagement)!=null?n:null},UD=n=>n&&n.isOrthographicCamera,m5=n=>n&&n.hasOwnProperty("current"),qd=typeof window<"u"&&((ZS=window.document)!=null&&ZS.createElement||(($S=window.navigator)==null?void 0:$S.product)==="ReactNative")?Y.useLayoutEffect:Y.useEffect;function FD(n){const e=Y.useRef(n);return qd(()=>void(e.current=n),[n]),e}function E5({set:n}){return qd(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class OD 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}}OD.getDerivedStateFromError=()=>({error:!0});const HD="__default",e_=new Map,C5=n=>n&&!!n.memoized&&!!n.changes;function GD(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 vA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},In={obj:n=>n===Object(n)&&!In.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(In.str(n)||In.num(n))return n===e;const s=In.obj(n);if(s&&i==="reference")return n===e;const o=In.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(!In.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(In.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 I5(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 y5(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Uc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function fy(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 t_=/-\d+$/;function zE(n,e,t){if(In.str(t)){if(t_.test(t)){const s=t.replace(t_,""),{target:o,key:a}=fy(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=fy(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function n_(n,e,t){var i,r;if(In.str(t)){const{target:s,key:o}=fy(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 zD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var d;const h=(d=n?.__r3f)!=null?d:{},f=Object.entries(r),g=[];if(A){const y=Object.keys(l);for(let C=0;C{var p;if((p=n.__r3f)!=null&&p.primitive&&y==="object"||In.equ(C,l[y]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(y))return g.push([y,C,!0,[]]);let v=[];y.includes("-")&&(v=y.split("-")),g.push([y,C,!1,v]);for(const I in r){const w=r[I];I.startsWith(`${y}-`)&&g.push([I,w,!1,I.split("-")])}});const E={...r};return h.memoizedProps&&h.memoizedProps.args&&(E.args=h.memoizedProps.args),h.memoizedProps&&h.memoizedProps.attach&&(E.attach=h.memoizedProps.attach),{memoized:E,changes:g}}const v5=typeof process<"u"&&!1;function VE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=C5(e)?e:zD(n,e),d=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let f=0;fI[w],n),!(v&&v.set))){const[I,...w]=C.reverse();p=w.reverse().reduce((Q,R)=>Q[R],n),g=I}if(E===HD+"remove")if(p.constructor){let I=e_.get(p.constructor);I||(I=new p.constructor,e_.set(p.constructor,I)),E=I[g]}else E=0;if(y)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(v&&v.set&&(v.copy||v instanceof wl)){if(Array.isArray(E))v.fromArray?v.fromArray(E):v.set(...E);else if(v.copy&&E&&E.constructor&&(v5?v.constructor.name===E.constructor.name:v.constructor===E.constructor))v.copy(E);else if(E!==void 0){const I=v instanceof Ze;!I&&v.setScalar?v.setScalar(E):v instanceof wl&&E instanceof wl?v.mask=E.mask:v.set(E),!kD()&&!a.linear&&I&&v.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof wn&&p[g].format===Fi&&p[g].type===Ds){const I=p[g];GE(I)&&GE(a.gl)?I.colorSpace=a.gl.outputColorSpace:I.encoding=a.gl.outputEncoding}Fc(n)}if(s.parent&&a.internal&&n.raycast&&d!==s.eventCount){const f=a.internal.interaction.indexOf(n);f>-1&&a.internal.interaction.splice(f,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&py(n),n}function Fc(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 py(n){n.onUpdate==null||n.onUpdate(n)}function VD(n,e){n.manual||(UD(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 np(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function B5(){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 WD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function x5(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)=>{WD(t.capturedMap,e,i,r)})}function w5(n){function e(l){const{internal:A}=n.getState(),d=l.offsetX-A.initialClick[0],h=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(d*d+h*h))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(d=>{var h;return(h=A.__r3f)==null?void 0:h.handlers["onPointer"+d]}))}function i(l,A){const d=n.getState(),h=new Set,f=[],g=A?A(d.internal.interaction):d.internal.interaction;for(let p=0;p{const I=vA(p.object),w=vA(v.object);return!I||!w?p.distance-v.distance:w.events.priority-I.events.priority||p.distance-v.distance}).filter(p=>{const v=np(p);return h.has(v)?!1:(h.add(v),!0)});d.events.filter&&(y=d.events.filter(y,d));for(const p of y){let v=p.object;for(;v;){var C;(C=v.__r3f)!=null&&C.eventCount&&f.push({...p,eventObject:v}),v=v.parent}}if("pointerId"in l&&d.internal.capturedMap.has(l.pointerId))for(let p of d.internal.capturedMap.get(l.pointerId).values())h.has(np(p.intersection))||f.push(p.intersection);return f}function r(l,A,d,h){const f=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const y=vA(E.object)||f,{raycaster:C,pointer:p,camera:v,internal:I}=y,w=new O(p.x,p.y,0).unproject(v),Q=_=>{var P,Z;return(P=(Z=I.capturedMap.get(_))==null?void 0:Z.has(E.eventObject))!=null?P:!1},R=_=>{const P={intersection:E,target:A.target};I.capturedMap.has(_)?I.capturedMap.get(_).set(E.eventObject,P):I.capturedMap.set(_,new Map([[E.eventObject,P]])),A.target.setPointerCapture(_)},D=_=>{const P=I.capturedMap.get(_);P&&WD(I.capturedMap,E.eventObject,P,_)};let U={};for(let _ in A){let P=A[_];typeof P!="function"&&(U[_]=P)}let K={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:d,unprojectedPoint:w,ray:C.ray,camera:v,stopPropagation(){const _="pointerId"in A&&I.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(K.stopped=g.stopped=!0,I.hovered.size&&Array.from(I.hovered.values()).find(P=>P.eventObject===E.eventObject))){const P=l.slice(0,l.indexOf(E));s([...P,E])}},target:{hasPointerCapture:Q,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:Q,setPointerCapture:R,releasePointerCapture:D},nativeEvent:A};if(h(K),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const d of A.hovered.values())if(!l.length||!l.find(h=>h.object===d.object&&h.index===d.index&&h.instanceId===d.instanceId)){const f=d.eventObject.__r3f,g=f?.handlers;if(A.hovered.delete(np(d)),f!=null&&f.eventCount){const E={...d,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let d=0;ds([]);case"onLostPointerCapture":return A=>{const{internal:d}=n.getState();"pointerId"in A&&d.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{d.capturedMap.has(A.pointerId)&&(d.capturedMap.delete(A.pointerId),s([]))})}}return function(d){const{onPointerMissed:h,internal:f}=n.getState();f.lastEvent.current=d;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",C=i(d,g?t:void 0),p=E?e(d):0;l==="onPointerDown"&&(f.initialClick=[d.offsetX,d.offsetY],f.initialHits=C.map(I=>I.eventObject)),E&&!C.length&&p<=2&&(o(d,f.interaction),h&&h(d)),g&&s(C);function v(I){const w=I.eventObject,Q=w.__r3f,R=Q?.handlers;if(Q!=null&&Q.eventCount)if(g){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=np(I),U=f.hovered.get(D);U?U.stopped&&I.stopPropagation():(f.hovered.set(D,I),R.onPointerOver==null||R.onPointerOver(I),R.onPointerEnter==null||R.onPointerEnter(I))}R.onPointerMove==null||R.onPointerMove(I)}else{const D=R[l];D?(!E||f.initialHits.includes(w))&&(o(d,f.interaction.filter(U=>!f.initialHits.includes(U))),D(I)):E&&f.initialHits.includes(w)&&o(d,f.interaction.filter(U=>!f.initialHits.includes(U)))}}r(C,d,p,v)}}return{handlePointer:a}}const S5=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],YD=n=>!!(n!=null&&n.render),E1=Y.createContext(null),_5=(n,e)=>{const t=DD((a,l)=>{const A=new O,d=new O,h=new O;function f(p=l().camera,v=d,I=l().size){const{width:w,height:Q,top:R,left:D}=I,U=w/Q;v instanceof O?h.copy(v):h.set(...v);const K=p.getWorldPosition(A).distanceTo(h);if(UD(p))return{width:w/p.zoom,height:Q/p.zoom,top:R,left:D,factor:1,distance:K,aspect:U};{const _=p.fov*Math.PI/180,P=2*Math.tan(_/2)*K,Z=P*(w/Q);return{width:Z,height:P,top:R,left:D,factor:w/Z,distance:K,aspect:U}}}let g;const E=p=>a(v=>({performance:{...v.performance,current:p}})),y=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,v)=>e(p,v,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new h1,pointer:y,mouse:y,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:f},setEvents:p=>a(v=>({...v,events:{...v.events,...p}})),setSize:(p,v,I,w,Q)=>{const R=l().camera,D={width:p,height:v,top:w||0,left:Q||0,updateStyle:I};a(U=>({size:D,viewport:{...U.viewport,...f(R,d,D)}}))},setDpr:p=>a(v=>{const I=GD(p);return{viewport:{...v.viewport,dpr:I,initialDpr:v.viewport.initialDpr||I}}}),setFrameloop:(p="always")=>{const v=l().clock;v.stop(),v.elapsedTime=0,p!=="never"&&(v.start(),v.elapsedTime=0),a(()=>({frameloop:p}))},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:(p,v,I)=>{const w=l().internal;return w.priority=w.priority+(v>0?1:0),w.subscribers.push({ref:p,priority:v,store:I}),w.subscribers=w.subscribers.sort((Q,R)=>Q.priority-R.priority),()=>{const Q=l().internal;Q!=null&&Q.subscribers&&(Q.priority=Q.priority-(v>0?1:0),Q.subscribers=Q.subscribers.filter(R=>R.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:d,set:h}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var f;r=l,s=A.dpr,VD(a,l),d.setPixelRatio(A.dpr);const g=(f=l.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&d.domElement instanceof HTMLCanvasElement;d.setSize(l.width,l.height,g)}a!==o&&(o=a,h(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let ip,M5=new Set,Q5=new Set,R5=new Set;function WE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function BA(n,e){switch(n){case"before":return WE(M5,e);case"after":return WE(Q5,e);case"tail":return WE(R5,e)}}let YE,JE;function XE(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),YE=e.internal.subscribers,ip=0;ip0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=XE(l,r))}if(BA("after",l),t===0)return BA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var d;if(!l)return n.forEach(h=>o(h.store.getState()),A);(d=l.gl.xr)!=null&&d.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,d,h){if(A&&BA("before",l),d)XE(l,d,h);else for(const f of n.values())XE(l,f.store.getState());A&&BA("after",l)}return{loop:s,invalidate:o,advance:a}}function Ns(){const n=Y.useContext(E1);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function C1(n=t=>t,e){return Ns()(n,e)}function Tu(n,e=0){const t=Ns(),i=t.getState().internal.subscribe,r=FD(n);return qd(()=>i(r,e,t),[e,i,t]),null}const i_=new WeakMap;function JD(n,e){return function(t,...i){let r=i_.get(t);return r||(r=new t,i_.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,I5(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function I1(n,e,t,i){const r=Array.isArray(e)?e:[e],s=d5(JD(t,i),[n,...r],{equal:In.equ});return Array.isArray(e)?s:s[0]}I1.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return h5(JD(t),[n,...i])};I1.clear=function(n,e){const t=Array.isArray(e)?e:[e];return f5([n,...t])};const yu=new Map,{invalidate:r_,advance:s_}=D5(yu),{reconciler:bd,applyProps:Dc}=g5(yu,B5),Tc={objects:"shallow",strict:!1},T5=(n,e)=>{const t=typeof n=="function"?n(e):n;return YD(t)?t:new Kv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function b5(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 L5(n){const e=yu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||_5(r_,s_),o=t||bd.createContainer(s,nu.ConcurrentRoot,null,!1,null,"",r,null);e||yu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(d={}){let{gl:h,size:f,scene:g,events:E,onCreated:y,shadows:C=!1,linear:p=!1,flat:v=!1,legacy:I=!1,orthographic:w=!1,frameloop:Q="always",dpr:R=[1,2],performance:D,raycaster:U,camera:K,onPointerMissed:_}=d,P=s.getState(),Z=P.gl;P.gl||P.set({gl:Z=T5(h,n)});let he=P.raycaster;he||P.set({raycaster:he=new jd});const{params:X,...le}=U||{};if(In.equ(le,he,Tc)||Dc(he,{...le}),In.equ(X,he.params,Tc)||Dc(he,{params:{...he.params,...X}}),!P.camera||P.camera===A&&!In.equ(A,K,Tc)){A=K;const _e=K instanceof zd,Ue=_e?K:w?new _u(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(Ue.position.z=5,K&&Dc(Ue,K),!P.camera&&!(K!=null&&K.rotation)&&Ue.lookAt(0,0,0)),P.set({camera:Ue}),he.camera=Ue}if(!P.scene){let _e;g instanceof wd?_e=g:(_e=new wd,g&&Dc(_e,g)),P.set({scene:Uc(_e)})}if(!P.xr){var se;const _e=(z,H)=>{const N=s.getState();N.frameloop!=="never"&&s_(z,!0,N,H)},Ue=()=>{const z=s.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?_e:null),z.gl.xr.isPresenting||r_(z)},W={connect(){const z=s.getState().gl;z.xr.addEventListener("sessionstart",Ue),z.xr.addEventListener("sessionend",Ue)},disconnect(){const z=s.getState().gl;z.xr.removeEventListener("sessionstart",Ue),z.xr.removeEventListener("sessionend",Ue)}};typeof((se=Z.xr)==null?void 0:se.addEventListener)=="function"&&W.connect(),P.set({xr:W})}if(Z.shadowMap){const _e=Z.shadowMap.enabled,Ue=Z.shadowMap.type;if(Z.shadowMap.enabled=!!C,In.boo(C))Z.shadowMap.type=HA;else if(In.str(C)){var fe;const W={basic:E2,percentage:Ug,soft:HA,variance:jr};Z.shadowMap.type=(fe=W[C])!=null?fe:HA}else In.obj(C)&&Object.assign(Z.shadowMap,C);(_e!==Z.shadowMap.enabled||Ue!==Z.shadowMap.type)&&(Z.shadowMap.needsUpdate=!0)}const F=kD();F&&("enabled"in F?F.enabled=!I:"legacyMode"in F&&(F.legacyMode=I)),Dc(Z,{outputEncoding:p?3e3:3001,toneMapping:v?Rs:Rv}),P.legacy!==I&&P.set(()=>({legacy:I})),P.linear!==p&&P.set(()=>({linear:p})),P.flat!==v&&P.set(()=>({flat:v})),h&&!In.fun(h)&&!YD(h)&&!In.equ(h,Z,Tc)&&Dc(Z,h),E&&!P.events.handlers&&P.set({events:E(s)});const Ae=b5(n,f);return In.equ(Ae,P.size,Tc)||P.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),R&&P.viewport.dpr!==GD(R)&&P.setDpr(R),P.frameloop!==Q&&P.setFrameloop(Q),P.onPointerMissed||P.set({onPointerMissed:_}),D&&!In.equ(D,P.performance,Tc)&&P.set(_e=>({performance:{..._e.performance,...D}})),a=y,l=!0,this},render(d){return l||this.configure(),bd.updateContainer(Y.createElement(P5,{store:s,children:d,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){XD(n)}}}function P5({store:n,children:e,onCreated:t,rootElement:i}){return qd(()=>{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)},[]),Y.createElement(E1.Provider,{value:n},e)}function XD(n,e){const t=yu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),bd.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(),y5(r),yu.delete(n),e&&e(n)}catch{}},500)})}}function KD(n,e,t){return Y.createElement(N5,{key:e.uuid,children:n,container:e,state:t})}function N5({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Ns(),[a]=Y.useState(()=>new jd),[l]=Y.useState(()=>new ve),A=Y.useCallback((h,f)=>{const g={...h};Object.keys(h).forEach(y=>{(S5.includes(y)||h[y]!==f[y]&&f[y])&&delete g[y]});let E;if(f&&r){const y=f.camera;E=h.viewport.getCurrentViewport(y,new O,r),y!==h.camera&&VD(y,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...f?.events,...i},size:{...h.size,...r},viewport:{...h.viewport,...E},...s}},[n]),[d]=Y.useState(()=>{const h=o.getState();return DD((g,E)=>({...h,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...i},size:{...h.size,...r},...s,set:g,get:E,setEvents:y=>g(C=>({...C,events:{...C.events,...y}}))}))});return Y.useEffect(()=>{const h=o.subscribe(f=>d.setState(g=>A(f,g)));return()=>{h(),d.destroy()}},[]),Y.useEffect(()=>{d.setState(h=>A(o.getState(),h))},[A]),Y.createElement(Y.Fragment,null,bd.createPortal(Y.createElement(E1.Provider,{value:d},e),d,null))}bd.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Y.version});function gg(){return gg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-d):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=function(){s=this,r=arguments,o=Date.now();var d=t&&!i;return i||(i=setTimeout(l,e)),d&&(a=n.apply(s,r),s=r=null),a};return A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}gy.debounce=gy;var k5=gy;const o_=Ly(k5);function U5(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}),A=e?typeof e=="number"?e:e.scroll:null,d=e?typeof e=="number"?e:e.resize:null,h=Y.useRef(!1);Y.useEffect(()=>(h.current=!0,()=>void(h.current=!1)));const[f,g,E]=Y.useMemo(()=>{const v=()=>{if(!l.current.element)return;const{left:I,top:w,width:Q,height:R,bottom:D,right:U,x:K,y:_}=l.current.element.getBoundingClientRect(),P={left:I,top:w,width:Q,height:R,bottom:D,right:U,x:K,y:_};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),h.current&&!G5(l.current.lastBounds,P)&&a(l.current.lastBounds=P)};return[v,d?o_(v,d):v,A?o_(v,A):v]},[a,r,A,d]);function y(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(v=>v.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function C(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(v=>v.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=v=>{!v||v===l.current.element||(y(),l.current.element=v,l.current.scrollContainers=jD(v),C())};return O5(E,!!t),F5(g),Y.useEffect(()=>{y(),C()},[t,E,g]),Y.useEffect(()=>y,[]),[p,o,f]}function F5(n){Y.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function O5(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 jD(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,...jD(n.parentElement)]}const H5=["x","y","top","bottom","left","right","width","height"],G5=(n,e)=>H5.every(t=>n[t]===e[t]);var z5=Object.defineProperty,V5=Object.defineProperties,W5=Object.getOwnPropertyDescriptors,a_=Object.getOwnPropertySymbols,Y5=Object.prototype.hasOwnProperty,J5=Object.prototype.propertyIsEnumerable,l_=(n,e,t)=>e in n?z5(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,c_=(n,e)=>{for(var t in e||(e={}))Y5.call(e,t)&&l_(n,t,e[t]);if(a_)for(var t of a_(e))J5.call(e,t)&&l_(n,t,e[t]);return n},X5=(n,e)=>V5(n,W5(e));function qD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=qD(i,e,t);if(r)return r;i=e?null:i.sibling}}function ZD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const y1=ZD(Y.createContext(null));class $D extends Y.Component{render(){return Y.createElement(y1.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:u_,ReactCurrentDispatcher:A_}=Y.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function K5(){const n=Y.useContext(y1);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[u_?.current,n,n?.alternate]){if(!i)continue;const r=qD(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 j5(){var n,e;const t=K5(),[i]=Y.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==y1&&!i.has(s)&&i.set(s,(e=A_?.current)==null?void 0:e.readContext(ZD(s))),r=r.return}return i}function q5(){const n=j5();return Y.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Y.createElement(e,null,Y.createElement(t.Provider,X5(c_({},i),{value:n.get(t)}))),e=>Y.createElement($D,c_({},e))),[n])}const KE={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 Z5(n){const{handlePointer:e}=w5(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(KE).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,A]=KE[o];t.addEventListener(l,a,{passive:A})})},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]=KE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const $5=Y.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=Z5,eventSource:a,eventPrefix:l,shadows:A,linear:d,flat:h,legacy:f,orthographic:g,frameloop:E,dpr:y,performance:C,raycaster:p,camera:v,scene:I,onPointerMissed:w,onCreated:Q,...R},D){Y.useMemo(()=>p5(s5),[]);const U=q5(),[K,_]=U5({scroll:!0,debounce:{scroll:50,resize:0},...i}),P=Y.useRef(null),Z=Y.useRef(null);Y.useImperativeHandle(D,()=>P.current);const he=FD(w),[X,le]=Y.useState(!1),[se,fe]=Y.useState(!1);if(X)throw X;if(se)throw se;const F=Y.useRef(null);qd(()=>{const ne=P.current;_.width>0&&_.height>0&&ne&&(F.current||(F.current=L5(ne)),F.current.configure({gl:s,events:o,shadows:A,linear:d,flat:h,legacy:f,orthographic:g,frameloop:E,dpr:y,performance:C,raycaster:p,camera:v,scene:I,size:_,onPointerMissed:(...Ae)=>he.current==null?void 0:he.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?m5(a)?a.current:a:Z.current),l&&Ae.setEvents({compute:(_e,Ue)=>{const W=_e[l+"X"],z=_e[l+"Y"];Ue.pointer.set(W/Ue.size.width*2-1,-(z/Ue.size.height)*2+1),Ue.raycaster.setFromCamera(Ue.pointer,Ue.camera)}}),Q?.(Ae)}}),F.current.render(Y.createElement(U,null,Y.createElement(OD,{set:fe},Y.createElement(Y.Suspense,{fallback:Y.createElement(E5,{set:le})},e)))))}),Y.useEffect(()=>{const ne=P.current;if(ne)return()=>XD(ne)},[]);const $=a?"none":"auto";return Y.createElement("div",gg({ref:Z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:$,...r}},R),Y.createElement("div",{ref:K,style:{width:"100%",height:"100%"}},Y.createElement("canvas",{ref:P,style:{display:"block"}},t)))}),eH=Y.forwardRef(function(e,t){return Y.createElement($D,null,Y.createElement($5,gg({},e,{ref:t})))}),tH=Y.createContext(null);function eT(){return Y.useContext(tH)}const tT=Y.createContext(void 0);function Ta(){const n=Y.useContext(tT);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const bu=tT.Provider;function dm(){throw new Error("Cycle detected")}var nH=Symbol.for("preact-signals");function hm(){if(Ca>1)Ca--;else{for(var n,e=!1;YA!==void 0;){var t=YA;for(YA=void 0,my++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&rT(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(my=0,Ca--,e)throw n}}function nT(n){if(Ca>0)return n();Ca++;try{return n()}finally{hm()}}var Cn=void 0,jE=0;function iH(n){if(jE>0)return n();var e=Cn;Cn=void 0,jE++;try{return n()}finally{jE--,Cn=e}}var YA=void 0,Ca=0,my=0,mg=0;function iT(n){if(Cn!==void 0){var e=n.n;if(e===void 0||e.t!==Cn)return e={i:0,S:n,p:Cn.s,n:void 0,t:Cn,e:void 0,x:void 0,r:e},Cn.s!==void 0&&(Cn.s.n=e),Cn.s=e,n.n=e,32&Cn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=Cn.s,e.n=void 0,Cn.s.n=e,Cn.s=e),e}}function ni(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ni.prototype.brand=nH;ni.prototype.h=function(){return!0};ni.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ni.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ni.prototype.subscribe=function(n){var e=this;return ft(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ni.prototype.valueOf=function(){return this.value};ni.prototype.toString=function(){return this.value+""};ni.prototype.toJSON=function(){return this.value};ni.prototype.peek=function(){return this.v};Object.defineProperty(ni.prototype,"value",{get:function(){var n=iT(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(Cn instanceof ba&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){my>100&&dm(),this.v=n,this.i++,mg++,Ca++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{hm()}}}});function it(n){return new ni(n)}function rT(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function sT(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function oT(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function ba(n){ni.call(this,void 0),this.x=n,this.s=void 0,this.g=mg-1,this.f=4}(ba.prototype=new ni).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===mg))return!0;if(this.g=mg,this.f|=1,this.i>0&&!rT(this))return this.f&=-2,!0;var n=Cn;try{sT(this),Cn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return Cn=n,oT(this),this.f&=-2,!0};ba.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ni.prototype.S.call(this,n)};ba.prototype.U=function(n){if(this.t!==void 0&&(ni.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};ba.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};ba.prototype.peek=function(){if(this.h()||dm(),16&this.f)throw this.v;return this.v};Object.defineProperty(ba.prototype,"value",{get:function(){1&this.f&&dm();var n=iT(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Ht(n){return new ba(n)}function aT(n){var e=n.u;if(n.u=void 0,typeof e=="function"){Ca++;var t=Cn;Cn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,v1(n),i}finally{Cn=t,hm()}}}function v1(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,aT(n)}function rH(n){if(Cn!==this)throw new Error("Out-of-order effect");oT(this),Cn=n,this.f&=-2,8&this.f&&v1(this),hm()}function Zd(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Zd.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Zd.prototype.S=function(){1&this.f&&dm(),this.f|=1,this.f&=-9,aT(this),sT(this),Ca++;var n=Cn;return Cn=this,rH.bind(this,n)};Zd.prototype.N=function(){2&this.f||(this.f|=2,this.o=YA,YA=this)};Zd.prototype.d=function(){this.f|=8,1&this.f||v1(this)};function ft(n){var e=new Zd(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var sH=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,k){i=L,r=k});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&X("no native wasm support detected");var d,h=!1;function f(L,k,ee){ee=k+ee;for(var re="";!(k>=ee);){var de=L[k++];if(!de)break;if(de&128){var xe=L[k++]&63;if((de&224)==192)re+=String.fromCharCode((de&31)<<6|xe);else{var Pe=L[k++]&63;de=(de&240)==224?(de&15)<<12|xe<<6|Pe:(de&7)<<18|xe<<12|Pe<<6|L[k++]&63,65536>de?re+=String.fromCharCode(de):(de-=65536,re+=String.fromCharCode(55296|de>>10,56320|de&1023))}}else re+=String.fromCharCode(de)}return re}var g,E,y,C,p,v,I,w,Q;function R(){var L=d.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=C=new Int16Array(L),t.HEAP32=v=new Int32Array(L),t.HEAPU8=y=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=I=new Uint32Array(L),t.HEAPF32=w=new Float32Array(L),t.HEAPF64=Q=new Float64Array(L)}var D,U=[],K=[],_=[];function P(){var L=t.preRun.shift();U.unshift(L)}var Z=0,he=null;function X(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),h=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function le(L){return L.startsWith("data:application/octet-stream;base64,")}var se;if(se="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!le(se)){var fe=se;se=t.locateFile?t.locateFile(fe,o):o+fe}function F(){var L=se;try{if(L==se&&A)return new Uint8Array(A);if(le(L))try{var k=mn(L.slice(37)),ee=new Uint8Array(k.length);for(L=0;L=k?"_"+L:L}function _e(L,k){return L=Ae(L),function(){return k.apply(this,arguments)}}var Ue=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function z(L){var k=Error,ee=_e(L,function(re){this.name=L,this.message=re,re=Error(re).stack,re!==void 0&&(this.stack=this.toString()+` -`+re.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(k.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var H=void 0;function N(L){throw new H(L)}var Ee=L=>(L||N("Cannot use deleted val. handle = "+L),Ue[L].value),Be=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var k=W.length?W.pop():Ue.length;return Ue[k]={ga:1,value:L},k}},pe=void 0,we=void 0;function G(L){for(var k="";y[L];)k+=we[y[L++]];return k}var me=[];function te(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ue=void 0,ae={};function De(L,k){for(k===void 0&&N("ptr should not be undefined");L.R;)k=L.ba(k),L=L.R;return k}var q={};function S(L){L=dn(L);var k=G(L);return ht(L),k}function T(L,k){var ee=q[L];return ee===void 0&&N(k+" has unknown type "+S(L)),ee}function ie(){}var be=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,k,ee){return k===ee?L:ee.R===void 0?null:(L=Re(L,k,ee.R),L===null?null:ee.na(L))}var Ke={};function Ve(L,k){return k=De(L,k),ae[k]}var $e=void 0;function ut(L){throw new $e(L)}function It(L,k){return k.P&&k.O||ut("makeClassHandle requires ptr and ptrType"),!!k.U!=!!k.T&&ut("Both smartPtrType and smartPtr must be specified"),k.count={value:1},Le(Object.create(L,{M:{value:k}}))}function Le(L){return typeof FinalizationRegistry>"u"?(Le=k=>k,L):(be=new FinalizationRegistry(k=>{Te(k.M)}),Le=k=>{var ee=k.M;return ee.T&&be.register(k,{M:ee},k),k},ie=k=>{be.unregister(k)},Le(L))}var Pt={};function Mt(L){for(;L.length;){var k=L.pop();L.pop()(k)}}function Ct(L){return this.fromWireType(v[L>>2])}var ct={},nt={};function xt(L,k,ee){function re(Ne){Ne=ee(Ne),Ne.length!==L.length&&ut("Mismatched type converter count");for(var ke=0;ke{q.hasOwnProperty(Ne)?de[ke]=q[Ne]:(xe.push(Ne),ct.hasOwnProperty(Ne)||(ct[Ne]=[]),ct[Ne].push(()=>{de[ke]=q[Ne],++Pe,Pe===xe.length&&re(de)}))}),xe.length===0&&re(de)}function Wt(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function Gt(L,k,ee={}){if(!("argPackAdvance"in k))throw new TypeError("registerType registeredInstance requires argPackAdvance");var re=k.name;if(L||N('type "'+re+'" must have a positive integer typeid pointer'),q.hasOwnProperty(L)){if(ee.ua)return;N("Cannot register type '"+re+"' twice")}q[L]=k,delete nt[L],ct.hasOwnProperty(L)&&(k=ct[L],delete ct[L],k.forEach(de=>de()))}function Tt(L){N(L.M.P.N.name+" instance already deleted")}function Ft(){}function j(L,k,ee){if(L[k].S===void 0){var re=L[k];L[k]=function(){return L[k].S.hasOwnProperty(arguments.length)||N("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[k].S+")!"),L[k].S[arguments.length].apply(this,arguments)},L[k].S=[],L[k].S[re.Z]=re}}function Ge(L,k){t.hasOwnProperty(L)?(N("Cannot register public name '"+L+"' twice"),j(t,L,L),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=k):t[L]=k}function ze(L,k,ee,re,de,xe,Pe,Ne){this.name=L,this.constructor=k,this.X=ee,this.W=re,this.R=de,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function st(L,k,ee){for(;k!==ee;)k.ba||N("Expected null or instance of "+ee.name+", got an instance of "+k.name),L=k.ba(L),k=k.R;return L}function mt(L,k){return k===null?(this.ea&&N("null is not a valid "+this.name),0):(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),st(k.M.O,k.M.P.N,this.N))}function Kt(L,k){if(k===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var ee=this.fa();return L!==null&&L.push(this.W,ee),ee}return 0}if(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&k.M.P.ca&&N("Cannot convert argument of type "+(k.M.U?k.M.U.name:k.M.P.name)+" to parameter type "+this.name),ee=st(k.M.O,k.M.P.N,this.N),this.da)switch(k.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:k.M.U===this?ee=k.M.T:N("Cannot convert argument of type "+(k.M.U?k.M.U.name:k.M.P.name)+" to parameter type "+this.name);break;case 1:ee=k.M.T;break;case 2:if(k.M.U===this)ee=k.M.T;else{var re=k.clone();ee=this.xa(ee,Be(function(){re.delete()})),L!==null&&L.push(this.W,ee)}break;default:N("Unsupporting sharing policy")}return ee}function nn(L,k){return k===null?(this.ea&&N("null is not a valid "+this.name),0):(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),k.M.P.ca&&N("Cannot convert argument of type "+k.M.P.name+" to parameter type "+this.name),st(k.M.O,k.M.P.N,this.N))}function sn(L,k,ee,re){this.name=L,this.N=k,this.ea=ee,this.ca=re,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,k.R!==void 0?this.toWireType=Kt:(this.toWireType=re?mt:nn,this.V=null)}function di(L,k){t.hasOwnProperty(L)||ut("Replacing nonexistant public symbol"),t[L]=k,t[L].Z=void 0}function on(L,k){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),L.includes("j")){var re=t["dynCall_"+L];re=ee&&ee.length?re.apply(null,[k].concat(ee)):re.call(null,k)}else re=D.get(k).apply(null,ee);return re}}function ln(L,k){L=G(L);var ee=L.includes("j")?on(L,k):D.get(k);return typeof ee!="function"&&N("unknown function pointer with signature "+L+": "+k),ee}var Ti=void 0;function ls(L,k){function ee(xe){de[xe]||q[xe]||(nt[xe]?nt[xe].forEach(ee):(re.push(xe),de[xe]=!0))}var re=[],de={};throw k.forEach(ee),new Ti(L+": "+re.map(S).join([", "]))}function Us(L,k,ee,re,de){var xe=k.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=k[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function yr(L){4>2])};case 3:return function(ee){return this.fromWireType(Q[ee>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Kl(L,k,ee){switch(k){case 0:return ee?function(re){return E[re]}:function(re){return y[re]};case 1:return ee?function(re){return C[re>>1]}:function(re){return p[re>>1]};case 2:return ee?function(re){return v[re>>2]}:function(re){return I[re>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Nu(L,k){for(var ee="",re=0;!(re>=k/2);++re){var de=C[L+2*re>>1];if(de==0)break;ee+=String.fromCharCode(de)}return ee}function ku(L,k,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var re=k;ee=ee<2*L.length?ee/2:L.length;for(var de=0;de>1]=L.charCodeAt(de),k+=2;return C[k>>1]=0,k-re}function Uu(L){return 2*L.length}function V(L,k){for(var ee=0,re="";!(ee>=k/4);){var de=v[L+4*ee>>2];if(de==0)break;++ee,65536<=de?(de-=65536,re+=String.fromCharCode(55296|de>>10,56320|de&1023)):re+=String.fromCharCode(de)}return re}function ge(L,k,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var re=k;ee=re+ee-4;for(var de=0;de=xe){var Pe=L.charCodeAt(++de);xe=65536+((xe&1023)<<10)|Pe&1023}if(v[k>>2]=xe,k+=4,k+4>ee)break}return v[k>>2]=0,k-re}function ye(L){for(var k=0,ee=0;ee=re&&++ee,k+=4}return k}var Se={};function Ie(L){var k=Se[L];return k===void 0?G(L):k}var je=[];function dt(L){var k=je.length;return je.push(L),k}function yt(L,k){for(var ee=Array(L),re=0;re>2],"parameter "+re);return ee}var vt=[],_t=[null,[],[]];H=t.BindingError=z("BindingError"),t.count_emval_handles=function(){for(var L=0,k=5;kwt;++wt)St[wt]=String.fromCharCode(wt);we=St,t.getInheritedInstanceCount=function(){return Object.keys(ae).length},t.getLiveInheritedInstances=function(){var L=[],k;for(k in ae)ae.hasOwnProperty(k)&&L.push(ae[k]);return L},t.flushPendingDeletes=te,t.setDelayFunction=function(L){ue=L,me.length&&ue&&ue(te)},$e=t.InternalError=z("InternalError"),Ft.prototype.isAliasOf=function(L){if(!(this instanceof Ft&&L instanceof Ft))return!1;var k=this.M.P.N,ee=this.M.O,re=L.M.P.N;for(L=L.M.O;k.R;)ee=k.ba(ee),k=k.R;for(;re.R;)L=re.ba(L),re=re.R;return k===re&&ee===L},Ft.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var L=Le,k=Object,ee=k.create,re=Object.getPrototypeOf(this),de=this.M;return L=L(ee.call(k,re,{M:{value:{count:de.count,$:de.$,aa:de.aa,O:de.O,P:de.P,T:de.T,U:de.U}}})),L.M.count.value+=1,L.M.$=!1,L},Ft.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ft.prototype.isDeleted=function(){return!this.M.O},Ft.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},sn.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},sn.prototype.ha=function(L){this.W&&this.W(L)},sn.prototype.argPackAdvance=8,sn.prototype.readValueFromPointer=Ct,sn.prototype.deleteObject=function(L){L!==null&&L.delete()},sn.prototype.fromWireType=function(L){function k(){return this.da?It(this.N.X,{P:this.wa,O:ee,U:this,T:L}):It(this.N.X,{P:this,O:L})}var ee=this.qa(L);if(!ee)return this.ha(L),null;var re=Ve(this.N,ee);if(re!==void 0)return re.M.count.value===0?(re.M.O=ee,re.M.T=L,re.clone()):(re=re.clone(),this.ha(L),re);if(re=this.N.pa(ee),re=Ke[re],!re)return k.call(this);re=this.ca?re.la:re.pointerType;var de=Re(ee,this.N,re.N);return de===null?k.call(this):this.da?It(re.N.X,{P:re,O:de,U:this,T:L}):It(re.N.X,{P:re,O:de})},Ti=t.UnboundTypeError=z("UnboundTypeError");var mn=typeof atob=="function"?atob:function(L){var k="",ee=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),de="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++));re=re<<2|de>>4,de=(de&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;k+=String.fromCharCode(re),xe!==64&&(k+=String.fromCharCode(de)),Pe!==64&&(k+=String.fromCharCode(Ne))}while(eePe.ta).concat(de.map(Pe=>Pe.za));xt([L],xe,Pe=>{var Ne={};return de.forEach((ke,Fe)=>{var We=Pe[Fe],Et=ke.ra,Jt=ke.sa,Tn=Pe[Fe+de.length],Xt=ke.ya,ri=ke.Aa;Ne[ke.oa]={read:hi=>We.fromWireType(Et(Jt,hi)),write:(hi,As)=>{var Gr=[];Xt(ri,hi,Tn.toWireType(Gr,As)),Mt(Gr)}}}),[{name:k.name,fromWireType:function(ke){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(ke);return re(ke),Fe},toWireType:function(ke,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var Et=ee();for(We in Ne)Ne[We].write(Et,Fe[We]);return ke!==null&&ke.push(re,Et),Et},argPackAdvance:8,readValueFromPointer:Ct,V:re}]})},v:function(){},B:function(L,k,ee,re,de){var xe=Wt(ee);k=G(k),Gt(L,{name:k,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?re:de},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=C;else if(ee===4)Ne=v;else throw new TypeError("Unknown boolean type size: "+k);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(L,k,ee,re,de,xe,Pe,Ne,ke,Fe,We,Et,Jt){We=G(We),xe=ln(de,xe),Ne&&(Ne=ln(Pe,Ne)),Fe&&(Fe=ln(ke,Fe)),Jt=ln(Et,Jt);var Tn=Ae(We);Ge(Tn,function(){ls("Cannot construct "+We+" due to unbound types",[re])}),xt([L,k,ee],re?[re]:[],function(Xt){if(Xt=Xt[0],re)var ri=Xt.N,hi=ri.X;else hi=Ft.prototype;Xt=_e(Tn,function(){if(Object.getPrototypeOf(this)!==As)throw new H("Use 'new' to construct "+We);if(Gr.Y===void 0)throw new H(We+" has no accessible constructor");var jl=Gr.Y[arguments.length];if(jl===void 0)throw new H("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Gr.Y).toString()+") parameters instead!");return jl.apply(this,arguments)});var As=Object.create(hi,{constructor:{value:Xt}});Xt.prototype=As;var Gr=new ze(We,Xt,As,Jt,ri,xe,Ne,Fe);ri=new sn(We,Gr,!0,!1),hi=new sn(We+"*",Gr,!1,!1);var ih=new sn(We+" const*",Gr,!1,!0);return Ke[L]={pointerType:hi,la:ih},di(Tn,Xt),[ri,hi,ih]})},d:function(L,k,ee,re,de,xe,Pe){var Ne=cs(ee,re);k=G(k),xe=ln(de,xe),xt([],[L],function(ke){function Fe(){ls("Cannot call "+We+" due to unbound types",Ne)}ke=ke[0];var We=ke.name+"."+k;k.startsWith("@@")&&(k=Symbol[k.substring(2)]);var Et=ke.N.constructor;return Et[k]===void 0?(Fe.Z=ee-1,Et[k]=Fe):(j(Et,k,We),Et[k].S[ee-1]=Fe),xt([],Ne,function(Jt){return Jt=Us(We,[Jt[0],null].concat(Jt.slice(1)),null,xe,Pe),Et[k].S===void 0?(Jt.Z=ee-1,Et[k]=Jt):Et[k].S[ee-1]=Jt,[]}),[]})},p:function(L,k,ee,re,de,xe){0{ls("Cannot construct "+Ne.name+" due to unbound types",Pe)},xt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[k-1]=Us(ke,Fe,null,de,xe),[]}),[]})},a:function(L,k,ee,re,de,xe,Pe,Ne){var ke=cs(ee,re);k=G(k),xe=ln(de,xe),xt([],[L],function(Fe){function We(){ls("Cannot call "+Et+" due to unbound types",ke)}Fe=Fe[0];var Et=Fe.name+"."+k;k.startsWith("@@")&&(k=Symbol[k.substring(2)]),Ne&&Fe.N.ja.push(k);var Jt=Fe.N.X,Tn=Jt[k];return Tn===void 0||Tn.S===void 0&&Tn.className!==Fe.name&&Tn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Jt[k]=We):(j(Jt,k,Et),Jt[k].S[ee-2]=We),xt([],ke,function(Xt){return Xt=Us(Et,Xt,Fe,xe,Pe),Jt[k].S===void 0?(Xt.Z=ee-2,Jt[k]=Xt):Jt[k].S[ee-2]=Xt,[]}),[]})},A:function(L,k){k=G(k),Gt(L,{name:k,fromWireType:function(ee){var re=Ee(ee);return yr(ee),re},toWireType:function(ee,re){return Be(re)},argPackAdvance:8,readValueFromPointer:Ct,V:null})},n:function(L,k,ee){ee=Wt(ee),k=G(k),Gt(L,{name:k,fromWireType:function(re){return re},toWireType:function(re,de){return de},argPackAdvance:8,readValueFromPointer:Xl(k,ee),V:null})},e:function(L,k,ee,re,de){k=G(k),de===-1&&(de=4294967295),de=Wt(ee);var xe=Ne=>Ne;if(re===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=k.includes("unsigned")?function(Ne,ke){return ke>>>0}:function(Ne,ke){return ke},Gt(L,{name:k,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Kl(k,de,re!==0),V:null})},b:function(L,k,ee){function re(xe){xe>>=2;var Pe=I;return new de(g,Pe[xe+1],Pe[xe])}var de=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][k];ee=G(ee),Gt(L,{name:ee,fromWireType:re,argPackAdvance:8,readValueFromPointer:re},{ua:!0})},o:function(L,k){k=G(k);var ee=k==="std::string";Gt(L,{name:k,fromWireType:function(re){var de=I[re>>2],xe=re+4;if(ee)for(var Pe=xe,Ne=0;Ne<=de;++Ne){var ke=xe+Ne;if(Ne==de||y[ke]==0){if(Pe=Pe?f(y,Pe,ke-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=ke+1}}else{for(Fe=Array(de),Ne=0;Ne=ke?Ne++:2047>=ke?Ne+=2:55296<=ke&&57343>=ke?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=de.length;if(Ne=Dn(4+xe+1),ke=Ne+4,I[Ne>>2]=xe,ee&&Pe){if(Pe=ke,ke=xe+1,xe=y,0=We){var Et=de.charCodeAt(++Fe);We=65536+((We&1023)<<10)|Et&1023}if(127>=We){if(Pe>=ke)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=ke)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=ke)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=ke)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else k===4&&(re=V,de=ge,xe=ye,Pe=()=>I,Ne=2);Gt(L,{name:ee,fromWireType:function(ke){for(var Fe=I[ke>>2],We=Pe(),Et,Jt=ke+4,Tn=0;Tn<=Fe;++Tn){var Xt=ke+4+Tn*k;(Tn==Fe||We[Xt>>Ne]==0)&&(Jt=re(Jt,Xt-Jt),Et===void 0?Et=Jt:(Et+="\0",Et+=Jt),Jt=Xt+k)}return ht(ke),Et},toWireType:function(ke,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),Et=Dn(4+We+k);return I[Et>>2]=We>>Ne,de(Fe,Et+4,We+k),ke!==null&&ke.push(ht,Et),Et},argPackAdvance:8,readValueFromPointer:Ct,V:function(ke){ht(ke)}})},k:function(L,k,ee,re,de,xe){Pt[L]={name:G(k),fa:ln(ee,re),W:ln(de,xe),ia:[]}},h:function(L,k,ee,re,de,xe,Pe,Ne,ke,Fe){Pt[L].ia.push({oa:G(k),ta:ee,ra:ln(re,de),sa:xe,za:Pe,ya:ln(Ne,ke),Aa:Fe})},C:function(L,k){k=G(k),Gt(L,{va:!0,name:k,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,k,ee,re,de){L=je[L],k=Ee(k),ee=Ie(ee);var xe=[];return I[re>>2]=Be(xe),L(k,ee,xe,de)},t:function(L,k,ee,re){L=je[L],k=Ee(k),ee=Ie(ee),L(k,ee,null,re)},g:yr,m:function(L,k){var ee=yt(L,k),re=ee[0];k=re.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var de=vt[k];if(de!==void 0)return de;var xe=Array(L-1);return de=dt((Pe,Ne,ke,Fe)=>{for(var We=0,Et=0;Et>>=0,2147483648=ee;ee*=2){var re=k*(1+.2/ee);re=Math.min(re,L+100663296);var de=Math;re=Math.max(L,re),de=de.min.call(de,2147483648,re+(65536-re%65536)%65536);e:{try{d.grow(de-g.byteLength+65535>>>16),R();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,k,ee,re){for(var de=0,xe=0;xe>2],Ne=I[k+4>>2];k+=8;for(var ke=0;ke>2]=de,0}};(function(){function L(de){t.asm=de.exports,d=t.asm.E,R(),D=t.asm.J,K.unshift(t.asm.F),Z--,t.monitorRunDependencies&&t.monitorRunDependencies(Z),Z==0&&he&&(de=he,he=null,de())}function k(de){L(de.instance)}function ee(de){return $().then(function(xe){return WebAssembly.instantiate(xe,re)}).then(function(xe){return xe}).then(de,function(xe){l("failed to asynchronously prepare wasm: "+xe),X(xe)})}var re={a:Xn};if(Z++,t.monitorRunDependencies&&t.monitorRunDependencies(Z),t.instantiateWasm)try{return t.instantiateWasm(re,L)}catch(de){l("Module.instantiateWasm callback failed with error: "+de),r(de)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||le(se)||typeof fetch!="function"?ee(k):fetch(se,{credentials:"same-origin"}).then(function(de){return WebAssembly.instantiateStreaming(de,re).then(k,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(k)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var dn=t.___getTypeName=function(){return(dn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Dn=t._malloc=function(){return(Dn=t._malloc=t.asm.I).apply(null,arguments)},ht=t._free=function(){return(ht=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var tt;he=function L(){tt||bi(),tt||(he=L)};function bi(){function L(){if(!tt&&(tt=!0,t.calledRun=!0,!h)){if(ne(K),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var k=t.postRun.shift();_.unshift(k)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Np.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...aH}}const lT=lH(await sH());function Zs(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const cH={static:0,relative:1,absolute:2},eC={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},uH={column:0,"column-reverse":1,row:2,"row-reverse":3},AH={"no-wrap":0,wrap:1,"wrap-reverse":2},dH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},hH={visible:0,hidden:1,scroll:2},fH={flex:0,none:1},cT={positionType:(n,e)=>n.setPositionType(Zs(cH,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Zs(eC,e,4)),alignItems:(n,e)=>n.setAlignItems(Zs(eC,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Zs(eC,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Zs(uH,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Zs(AH,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Zs(dH,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Zs(hH,e,0)),display:(n,e)=>n.setDisplay(Zs(fH,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function B1(n,e,t,i,r){let s=!1,o,a={};r.push(ft(()=>{const l=n.value;s&&p_(t,l,o,a,i),o=l}),ft(()=>{if(s=e.value,!!s&&o!=null)return p_(t,o,void 0,a,i),()=>{pH(a),a={}}}))}function p_(n,e,t,i,r){const s=l=>i[l]=ft(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};iH(()=>e.filterCompare(n,t,s,a,o))}function pH(n){for(const e in n)n[e]()}const DA=100,x1=lT.Config.create();x1.setUseWebDefaults(!0);x1.setPointScaleFactor(DA);function gH(n){return n==="measureFunc"?!0:n in cT}function Co(n){const e=it([!1,!1]);return{size:it(void 0),relativeCenter:it(void 0),borderInset:it(void 0),overflow:it(_l.Visible),scrollable:e,paddingInset:it(void 0),maxScrollPosition:it([void 0,void 0]),anyAncestorScrollable:Ht(()=>{const[t,i]=n?.value??[!1,!1],[r,s]=e.value;return[t||r,i||s]})}}class uT{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=it(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=lT.Node.create(x1),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),B1(t,this.active,gH,(o,a)=>{cT[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*DA+1)/DA,height:Math.ceil(a.height*DA+1)/DA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),nT(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const d=e.indexOf(l);if(d===-1)throw new Error("parent mismatch");const h=e.indexOf(A);if(h===-1)throw new Error("parent mismatch");return d-h});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&mH(i,m_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=m_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Nc(this.state.maxScrollPosition,K?D:void 0,_?U:void 0),Nc(this.state.scrollable,K,_)}else Nc(this.state.maxScrollPosition,void 0,void 0),Nc(this.state.scrollable,!1,!1);const w=this.state.overflow.value===_l.Visible;return[s+Math.max(i,w?v:0),o+Math.max(r,w?I:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Nc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function g_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function m_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function mH(n,e){return n.M.O===e.M.O}function fm(n,e,t,i){t!=null&&(tC(t.classes,i),i(t)),e!=null&&(tC(e.classes,i),i(e)),n!=null&&(tC(n.classes,i),i(n))}function tC(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class SH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=wH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ni?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);E_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:E_(i,r)}addAll(e,t,i,r){fm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function E_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,d;return s==null?(A=0,d=0):e>s.elementType?(A=s.majorIndex,d=0):e!=s.elementType||!QH(Hr(t),Hr(s.instancedGroupDependencies))?(A=s.majorIndex+1,d=0):(A=s.majorIndex,d=s.minorIndex+1),a>0&&(A+=a,d=0),d+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:d}})}function QH(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Vl(n,e,t){return n[Ey]=e,n[Cy]=t,n}function Io(n,e,t,i){let r=!0;i.push(()=>ft(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function La(n,e,t,i){let r=!0;i.push(()=>ft(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const RH=new O,DH=new O,sp=new O,nC=new At,TH=new Su,bH=new Gn,iC=Math.PI/180;function LH([n,e,t]){return bH.setFromEuler(TH.set(n*iC,e*iC,t*iC))}const PH="center",NH="center";function yo(n,{relativeCenter:e,size:t},i){const r=zt(n,"transformTranslateX",0),s=zt(n,"transformTranslateY",0),o=zt(n,"transformTranslateZ",0),a=zt(n,"transformRotateX",0),l=zt(n,"transformRotateY",0),A=zt(n,"transformRotateZ",0),d=zt(n,"transformScaleX",1),h=zt(n,"transformScaleY",1),f=zt(n,"transformScaleZ",1),g=zt(n,"transformOriginX",PH),E=zt(n,"transformOriginY",NH);return Ht(()=>{if(e.value==null)return;const[y,C]=e.value,p=i.value,v=new At().makeTranslation(y*p,C*p,0);let I=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;I=!1,sp.set(-PT[g.value]*D*p,-NT[E.value]*U*p,0),v.multiply(nC.makeTranslation(sp)),sp.negate()}const w=[a.value,l.value,A.value],Q=[r.value,-s.value,o.value],R=[d.value,h.value,f.value];return(Q.some(D=>D!=0)||w.some(D=>D!=0)||R.some(D=>D!=1))&&v.multiply(nC.compose(RH.fromArray(Q).multiplyScalar(p),LH(w),DH.fromArray(R))),I||v.multiply(nC.makeTranslation(sp)),v})}function vo(n,e,t){t.push(()=>ft(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const kH=Math.cos(45/180*Math.PI),rC=[new rn,new rn,new rn,new rn],C_=new O;class UH{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new O(t,i,0).applyMatrix4(e),this.facePlane=new rn(new O(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,d=-i+a,h=-t+o;this.planes=[new rn(new O(0,-1,0),d).applyMatrix4(e),new rn(new O(-1,0,0),h).applyMatrix4(e),new rn(new O(0,1,0),l).applyMatrix4(e),new rn(new O(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=rC[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,d=(s.constant-o.constant*a)/A,h=(o.constant-s.constant*a)/A;C_.copy(s.normal).multiplyScalar(d).addScaledVector(o.normal,h),l.constant=-C_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;rC[t].normal.dot(i)>kH;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;rC[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let h=0;h<4;h++){const[f,g]=FH[h];I_[h].set(f*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let d;for(let h=0;h<4;h++){const f=A[h];d=!0;for(let g=0;g<4;g++){const E=I_[g];f.distanceToPoint(E)>=0&&(d=!1)}if(d)return!0}return!1})}function pm(n,{overflow:e,borderInset:t,size:i},r,s){return Ht(()=>{const o=n.value;if(o==null||e.value===_l.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,d,h,f]=t.value,g=r.value,E=new UH(o,(d-f)*g/2,(A-h)*g/2,(a-f-d)*g,(l-A-h)*g);return s?.value!=null&&E.min(s.value),E})}const Iy=new rn(new O(-1,0,0),Number.MAX_SAFE_INTEGER),Eg=new Float32Array(16);for(let n=0;n<4;n++)Iy.normal.toArray(Eg,n*4),Eg[n*4+3]=Iy.constant;function $d(n,e,t){const i=[new rn,new rn,new rn,new rn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(Iy);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function AT(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function OH(n,e,t){AT(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function HH(n,e,t,i){AT(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function GH(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const d=l.offset,h=l.elements.length-1;if(h!=i){const g=d+h,E=d+i;a(E,g,g+1);const y=l.elements[h];l.elements[i]=y,o(y,i)}if(s(d+h),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=f.missingSpace,f=n[--e]}return n.length=e+1,!1}function zH(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let d=o-1;d>=0;d--){const h=n[d];if(h.missingSpace===0)continue;const f=h.missingSpace<0;if(f&&(l||A)){y_(n,t,d,o,Math.abs(h.missingSpace));continue}if(!A&&!f)continue;const g=Math.min(Math.abs(h.missingSpace),Math.abs(a.missingSpace));A?VH(n,t,d,o,g):y_(n,t,d,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),hT=it(dT?.matches??!1);dT?.addEventListener("change",n=>hT.value=n.matches);const w1=it("system"),fT=Ht(()=>{switch(w1.value){case"system":return hT.value;case"dark":return!0;case"light":return!1}});function WH(n){w1.value=n}function v_(){return w1.peek()}const Bo={dark:th(()=>fT.value)};function YH({dark:n,light:e}){const t={};for(const i in n)t[i]=Ht(()=>fT.value?n[i]:e[i]);return t}const pT={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},gT=Object.keys(pT),JH=gT.length;function xo(n){const e={};for(let t=0;t(n.value?.[0]??0)>pT[i])}return e}function B_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function sC(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Ld(n,e,t){return e.xadvance*n+t}function op(n,e){return n*e}function yy(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const XH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},KH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return re(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:G3,findFiberByHostInstance:c.findFiberByHostInstance||z3,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{rh=u.inject(c),ds=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=E0(c,u);var x=$e(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=$t;try{return $t=c,u()}finally{$t=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,M=Pi(),J=Uo(x);return m=cx(m),u.context===null?u.context=m:u.pendingContext=m,u=Os(M,J),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),Po(x,u),c=_r(x,J,M),c!==null&&ch(c,x,J),J},t};bD.exports=c5;var u5=bD.exports;const A5=Ly(u5),d5=n=>typeof n=="object"&&typeof n.then=="function",Cl=[];function ND(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=Cl.indexOf(r);s!==-1&&Cl.splice(s,1)},promise:(d5(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(Cl.push(r),!t)throw r.promise}const h5=(n,e,t)=>kD(n,e,!1,t),f5=(n,e,t)=>void kD(n,e,!0,t),p5=n=>{if(n===void 0||n.length===0)Cl.splice(0,Cl.length);else{const e=Cl.find(t=>ND(n,t.keys,t.equal));e&&e.remove()}},m1={},g5=n=>void Object.assign(m1,n);function m5(n,e){function t(d,{args:h=[],attach:f,...g},E){let y=`${d[0].toUpperCase()}${d.slice(1)}`,C;if(d==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;C=Uc(p,{type:d,root:E,attach:f,primitive:!0})}else{const p=m1[y];if(!p)throw new Error(`R3F: ${y} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(h))throw new Error("R3F: The args prop must be an array!");C=Uc(new p(...h),{type:d,root:E,attach:f,memoizedProps:{args:h}})}return C.__r3f.attach===void 0&&(C instanceof Lt?C.__r3f.attach="geometry":C instanceof ri&&(C.__r3f.attach="material")),y!=="inject"&&VE(C,g),C}function i(d,h){let f=!1;if(h){var g,E;(g=h.__r3f)!=null&&g.attach?zE(d,h,h.__r3f.attach):h.isObject3D&&d.isObject3D&&(d.add(h),f=!0),f||(E=d.__r3f)==null||E.objects.push(h),h.__r3f||Uc(h,{}),h.__r3f.parent=d,py(h),Fc(h)}}function r(d,h,f){let g=!1;if(h){var E,y;if((E=h.__r3f)!=null&&E.attach)zE(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){h.parent=d,h.dispatchEvent({type:"added"});const C=d.children.filter(I=>I!==h),p=C.indexOf(f);d.children=[...C.slice(0,p),h,...C.slice(p)],g=!0}g||(y=d.__r3f)==null||y.objects.push(h),h.__r3f||Uc(h,{}),h.__r3f.parent=d,py(h),Fc(h)}}function s(d,h,f=!1){d&&[...d].forEach(g=>o(h,g,f))}function o(d,h,f){if(h){var g,E,y;if(h.__r3f&&(h.__r3f.parent=null),(g=d.__r3f)!=null&&g.objects&&(d.__r3f.objects=d.__r3f.objects.filter(w=>w!==h)),(E=h.__r3f)!=null&&E.attach)i_(d,h,h.__r3f.attach);else if(h.isObject3D&&d.isObject3D){var C;d.remove(h),(C=h.__r3f)!=null&&C.root&&w5(h.__r3f.root,h)}const I=(y=h.__r3f)==null?void 0:y.primitive,v=!I&&(f===void 0?h.dispose!==null:f);if(!I){var p;s((p=h.__r3f)==null?void 0:p.objects,h,v),s(h.children,h,v)}if(delete h.__r3f,v&&h.dispose&&h.type!=="Scene"){const w=()=>{try{h.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?hy.unstable_scheduleCallback(hy.unstable_IdlePriority,w):w()}Fc(d)}}function a(d,h,f,g){var E;const y=(E=d.__r3f)==null?void 0:E.parent;if(!y)return;const C=t(h,f,d.__r3f.root);if(d.children){for(const p of d.children)p.__r3f&&i(C,p);d.children=d.children.filter(p=>!p.__r3f)}d.__r3f.objects.forEach(p=>i(C,p)),d.__r3f.objects=[],d.__r3f.autoRemovedBeforeAppend||o(y,d),C.parent&&(C.__r3f.autoRemovedBeforeAppend=!0),i(y,C),C.raycast&&C.__r3f.eventCount&&C.__r3f.root.getState().internal.interaction.push(C),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=C,p.ref&&(typeof p.ref=="function"?p.ref(C):p.ref.current=C))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:A5({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(d,h)=>{if(!h)return;const f=d.getState().scene;f.__r3f&&(f.__r3f.root=d,i(f,h))},removeChildFromContainer:(d,h)=>{h&&o(d.getState().scene,h)},insertInContainerBefore:(d,h,f)=>{if(!h||!f)return;const g=d.getState().scene;g.__r3f&&r(g,h,f)},getRootHostContext:()=>null,getChildHostContext:d=>d,finalizeInitialChildren(d){var h;return!!((h=d?.__r3f)!=null?h:{}).handlers},prepareUpdate(d,h,f,g){var E;if(((E=d?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==d)return[!0];{const{args:C=[],children:p,...I}=g,{args:v=[],children:w,...R}=f;if(!Array.isArray(C))throw new Error("R3F: the args prop must be an array!");if(C.some((D,U)=>D!==v[U]))return[!0];const Q=VD(d,I,R,!0);return Q.changes.length?[!1,Q]:null}},commitUpdate(d,[h,f],g,E,y,C){h?a(d,g,y,C):VE(d,f)},commitMount(d,h,f,g){var E;const y=(E=d.__r3f)!=null?E:{};d.raycast&&y.handlers&&y.eventCount&&d.__r3f.root.getState().internal.interaction.push(d)},getPublicInstance:d=>d,prepareForCommit:()=>null,preparePortalMount:d=>Uc(d.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(d){var h;const{attach:f,parent:g}=(h=d.__r3f)!=null?h:{};f&&g&&i_(g,d,f),d.isObject3D&&(d.visible=!1),Fc(d)},unhideInstance(d,h){var f;const{attach:g,parent:E}=(f=d.__r3f)!=null?f:{};g&&E&&zE(E,d,g),(d.isObject3D&&h.visible==null||h.visible)&&(d.visible=!0),Fc(d)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():nu.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&In.fun(performance.now)?performance.now:In.fun(Date.now)?Date.now:()=>0,scheduleTimeout:In.fun(setTimeout)?setTimeout:void 0,cancelTimeout:In.fun(clearTimeout)?clearTimeout:void 0}),applyProps:VE}}var $S,e_;const GE=n=>"colorSpace"in n||"outputColorSpace"in n,UD=()=>{var n;return(n=m1.ColorManagement)!=null?n:null},FD=n=>n&&n.isOrthographicCamera,E5=n=>n&&n.hasOwnProperty("current"),qd=typeof window<"u"&&(($S=window.document)!=null&&$S.createElement||((e_=window.navigator)==null?void 0:e_.product)==="ReactNative")?Y.useLayoutEffect:Y.useEffect;function OD(n){const e=Y.useRef(n);return qd(()=>void(e.current=n),[n]),e}function C5({set:n}){return qd(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class HD 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}}HD.getDerivedStateFromError=()=>({error:!0});const GD="__default",t_=new Map,I5=n=>n&&!!n.memoized&&!!n.changes;function zD(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 vA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},In={obj:n=>n===Object(n)&&!In.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(In.str(n)||In.num(n))return n===e;const s=In.obj(n);if(s&&i==="reference")return n===e;const o=In.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(!In.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(In.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 y5(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 v5(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Uc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function fy(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 n_=/-\d+$/;function zE(n,e,t){if(In.str(t)){if(n_.test(t)){const s=t.replace(n_,""),{target:o,key:a}=fy(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=fy(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function i_(n,e,t){var i,r;if(In.str(t)){const{target:s,key:o}=fy(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 VD(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var d;const h=(d=n?.__r3f)!=null?d:{},f=Object.entries(r),g=[];if(A){const y=Object.keys(l);for(let C=0;C{var p;if((p=n.__r3f)!=null&&p.primitive&&y==="object"||In.equ(C,l[y]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(y))return g.push([y,C,!0,[]]);let I=[];y.includes("-")&&(I=y.split("-")),g.push([y,C,!1,I]);for(const v in r){const w=r[v];v.startsWith(`${y}-`)&&g.push([v,w,!1,v.split("-")])}});const E={...r};return h.memoizedProps&&h.memoizedProps.args&&(E.args=h.memoizedProps.args),h.memoizedProps&&h.memoizedProps.attach&&(E.attach=h.memoizedProps.attach),{memoized:E,changes:g}}const B5=typeof process<"u"&&!1;function VE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=I5(e)?e:VD(n,e),d=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let f=0;fv[w],n),!(I&&I.set))){const[v,...w]=C.reverse();p=w.reverse().reduce((R,Q)=>R[Q],n),g=v}if(E===GD+"remove")if(p.constructor){let v=t_.get(p.constructor);v||(v=new p.constructor,t_.set(p.constructor,v)),E=v[g]}else E=0;if(y)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(I&&I.set&&(I.copy||I instanceof wl)){if(Array.isArray(E))I.fromArray?I.fromArray(E):I.set(...E);else if(I.copy&&E&&E.constructor&&(B5?I.constructor.name===E.constructor.name:I.constructor===E.constructor))I.copy(E);else if(E!==void 0){const v=I instanceof Ze;!v&&I.setScalar?I.setScalar(E):I instanceof wl&&E instanceof wl?I.mask=E.mask:I.set(E),!UD()&&!a.linear&&v&&I.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof wn&&p[g].format===Fi&&p[g].type===Ds){const v=p[g];GE(v)&&GE(a.gl)?v.colorSpace=a.gl.outputColorSpace:v.encoding=a.gl.outputEncoding}Fc(n)}if(s.parent&&a.internal&&n.raycast&&d!==s.eventCount){const f=a.internal.interaction.indexOf(n);f>-1&&a.internal.interaction.splice(f,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&py(n),n}function Fc(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 py(n){n.onUpdate==null||n.onUpdate(n)}function WD(n,e){n.manual||(FD(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 np(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function x5(){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 YD(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function w5(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)=>{YD(t.capturedMap,e,i,r)})}function S5(n){function e(l){const{internal:A}=n.getState(),d=l.offsetX-A.initialClick[0],h=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(d*d+h*h))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(d=>{var h;return(h=A.__r3f)==null?void 0:h.handlers["onPointer"+d]}))}function i(l,A){const d=n.getState(),h=new Set,f=[],g=A?A(d.internal.interaction):d.internal.interaction;for(let p=0;p{const v=vA(p.object),w=vA(I.object);return!v||!w?p.distance-I.distance:w.events.priority-v.events.priority||p.distance-I.distance}).filter(p=>{const I=np(p);return h.has(I)?!1:(h.add(I),!0)});d.events.filter&&(y=d.events.filter(y,d));for(const p of y){let I=p.object;for(;I;){var C;(C=I.__r3f)!=null&&C.eventCount&&f.push({...p,eventObject:I}),I=I.parent}}if("pointerId"in l&&d.internal.capturedMap.has(l.pointerId))for(let p of d.internal.capturedMap.get(l.pointerId).values())h.has(np(p.intersection))||f.push(p.intersection);return f}function r(l,A,d,h){const f=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const y=vA(E.object)||f,{raycaster:C,pointer:p,camera:I,internal:v}=y,w=new O(p.x,p.y,0).unproject(I),R=_=>{var P,Z;return(P=(Z=v.capturedMap.get(_))==null?void 0:Z.has(E.eventObject))!=null?P:!1},Q=_=>{const P={intersection:E,target:A.target};v.capturedMap.has(_)?v.capturedMap.get(_).set(E.eventObject,P):v.capturedMap.set(_,new Map([[E.eventObject,P]])),A.target.setPointerCapture(_)},D=_=>{const P=v.capturedMap.get(_);P&&YD(v.capturedMap,E.eventObject,P,_)};let U={};for(let _ in A){let P=A[_];typeof P!="function"&&(U[_]=P)}let K={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:d,unprojectedPoint:w,ray:C.ray,camera:I,stopPropagation(){const _="pointerId"in A&&v.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(K.stopped=g.stopped=!0,v.hovered.size&&Array.from(v.hovered.values()).find(P=>P.eventObject===E.eventObject))){const P=l.slice(0,l.indexOf(E));s([...P,E])}},target:{hasPointerCapture:R,setPointerCapture:Q,releasePointerCapture:D},currentTarget:{hasPointerCapture:R,setPointerCapture:Q,releasePointerCapture:D},nativeEvent:A};if(h(K),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const d of A.hovered.values())if(!l.length||!l.find(h=>h.object===d.object&&h.index===d.index&&h.instanceId===d.instanceId)){const f=d.eventObject.__r3f,g=f?.handlers;if(A.hovered.delete(np(d)),f!=null&&f.eventCount){const E={...d,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let d=0;ds([]);case"onLostPointerCapture":return A=>{const{internal:d}=n.getState();"pointerId"in A&&d.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{d.capturedMap.has(A.pointerId)&&(d.capturedMap.delete(A.pointerId),s([]))})}}return function(d){const{onPointerMissed:h,internal:f}=n.getState();f.lastEvent.current=d;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",C=i(d,g?t:void 0),p=E?e(d):0;l==="onPointerDown"&&(f.initialClick=[d.offsetX,d.offsetY],f.initialHits=C.map(v=>v.eventObject)),E&&!C.length&&p<=2&&(o(d,f.interaction),h&&h(d)),g&&s(C);function I(v){const w=v.eventObject,R=w.__r3f,Q=R?.handlers;if(R!=null&&R.eventCount)if(g){if(Q.onPointerOver||Q.onPointerEnter||Q.onPointerOut||Q.onPointerLeave){const D=np(v),U=f.hovered.get(D);U?U.stopped&&v.stopPropagation():(f.hovered.set(D,v),Q.onPointerOver==null||Q.onPointerOver(v),Q.onPointerEnter==null||Q.onPointerEnter(v))}Q.onPointerMove==null||Q.onPointerMove(v)}else{const D=Q[l];D?(!E||f.initialHits.includes(w))&&(o(d,f.interaction.filter(U=>!f.initialHits.includes(U))),D(v)):E&&f.initialHits.includes(w)&&o(d,f.interaction.filter(U=>!f.initialHits.includes(U)))}}r(C,d,p,I)}}return{handlePointer:a}}const _5=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],JD=n=>!!(n!=null&&n.render),E1=Y.createContext(null),M5=(n,e)=>{const t=TD((a,l)=>{const A=new O,d=new O,h=new O;function f(p=l().camera,I=d,v=l().size){const{width:w,height:R,top:Q,left:D}=v,U=w/R;I instanceof O?h.copy(I):h.set(...I);const K=p.getWorldPosition(A).distanceTo(h);if(FD(p))return{width:w/p.zoom,height:R/p.zoom,top:Q,left:D,factor:1,distance:K,aspect:U};{const _=p.fov*Math.PI/180,P=2*Math.tan(_/2)*K,Z=P*(w/R);return{width:Z,height:P,top:Q,left:D,factor:w/Z,distance:K,aspect:U}}}let g;const E=p=>a(I=>({performance:{...I.performance,current:p}})),y=new ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,I)=>e(p,I,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new h1,pointer:y,mouse:y,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:f},setEvents:p=>a(I=>({...I,events:{...I.events,...p}})),setSize:(p,I,v,w,R)=>{const Q=l().camera,D={width:p,height:I,top:w||0,left:R||0,updateStyle:v};a(U=>({size:D,viewport:{...U.viewport,...f(Q,d,D)}}))},setDpr:p=>a(I=>{const v=zD(p);return{viewport:{...I.viewport,dpr:v,initialDpr:I.viewport.initialDpr||v}}}),setFrameloop:(p="always")=>{const I=l().clock;I.stop(),I.elapsedTime=0,p!=="never"&&(I.start(),I.elapsedTime=0),a(()=>({frameloop:p}))},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:(p,I,v)=>{const w=l().internal;return w.priority=w.priority+(I>0?1:0),w.subscribers.push({ref:p,priority:I,store:v}),w.subscribers=w.subscribers.sort((R,Q)=>R.priority-Q.priority),()=>{const R=l().internal;R!=null&&R.subscribers&&(R.priority=R.priority-(I>0?1:0),R.subscribers=R.subscribers.filter(Q=>Q.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:d,set:h}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var f;r=l,s=A.dpr,WD(a,l),d.setPixelRatio(A.dpr);const g=(f=l.updateStyle)!=null?f:typeof HTMLCanvasElement<"u"&&d.domElement instanceof HTMLCanvasElement;d.setSize(l.width,l.height,g)}a!==o&&(o=a,h(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let ip,Q5=new Set,R5=new Set,D5=new Set;function WE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function BA(n,e){switch(n){case"before":return WE(Q5,e);case"after":return WE(R5,e);case"tail":return WE(D5,e)}}let YE,JE;function XE(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),YE=e.internal.subscribers,ip=0;ip0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=XE(l,r))}if(BA("after",l),t===0)return BA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var d;if(!l)return n.forEach(h=>o(h.store.getState()),A);(d=l.gl.xr)!=null&&d.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,d,h){if(A&&BA("before",l),d)XE(l,d,h);else for(const f of n.values())XE(l,f.store.getState());A&&BA("after",l)}return{loop:s,invalidate:o,advance:a}}function Ns(){const n=Y.useContext(E1);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function C1(n=t=>t,e){return Ns()(n,e)}function Tu(n,e=0){const t=Ns(),i=t.getState().internal.subscribe,r=OD(n);return qd(()=>i(r,e,t),[e,i,t]),null}const r_=new WeakMap;function XD(n,e){return function(t,...i){let r=r_.get(t);return r||(r=new t,r_.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,y5(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function I1(n,e,t,i){const r=Array.isArray(e)?e:[e],s=h5(XD(t,i),[n,...r],{equal:In.equ});return Array.isArray(e)?s:s[0]}I1.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return f5(XD(t),[n,...i])};I1.clear=function(n,e){const t=Array.isArray(e)?e:[e];return p5([n,...t])};const yu=new Map,{invalidate:s_,advance:o_}=T5(yu),{reconciler:bd,applyProps:Dc}=m5(yu,x5),Tc={objects:"shallow",strict:!1},b5=(n,e)=>{const t=typeof n=="function"?n(e):n;return JD(t)?t:new Kv({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function L5(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 P5(n){const e=yu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||M5(s_,o_),o=t||bd.createContainer(s,nu.ConcurrentRoot,null,!1,null,"",r,null);e||yu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(d={}){let{gl:h,size:f,scene:g,events:E,onCreated:y,shadows:C=!1,linear:p=!1,flat:I=!1,legacy:v=!1,orthographic:w=!1,frameloop:R="always",dpr:Q=[1,2],performance:D,raycaster:U,camera:K,onPointerMissed:_}=d,P=s.getState(),Z=P.gl;P.gl||P.set({gl:Z=b5(h,n)});let he=P.raycaster;he||P.set({raycaster:he=new jd});const{params:X,...ae}=U||{};if(In.equ(ae,he,Tc)||Dc(he,{...ae}),In.equ(X,he.params,Tc)||Dc(he,{params:{...he.params,...X}}),!P.camera||P.camera===A&&!In.equ(A,K,Tc)){A=K;const _e=K instanceof zd,Ue=_e?K:w?new _u(0,0,0,0,.1,1e3):new qn(75,0,.1,1e3);_e||(Ue.position.z=5,K&&Dc(Ue,K),!P.camera&&!(K!=null&&K.rotation)&&Ue.lookAt(0,0,0)),P.set({camera:Ue}),he.camera=Ue}if(!P.scene){let _e;g instanceof wd?_e=g:(_e=new wd,g&&Dc(_e,g)),P.set({scene:Uc(_e)})}if(!P.xr){var re;const _e=(z,H)=>{const N=s.getState();N.frameloop!=="never"&&o_(z,!0,N,H)},Ue=()=>{const z=s.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?_e:null),z.gl.xr.isPresenting||s_(z)},W={connect(){const z=s.getState().gl;z.xr.addEventListener("sessionstart",Ue),z.xr.addEventListener("sessionend",Ue)},disconnect(){const z=s.getState().gl;z.xr.removeEventListener("sessionstart",Ue),z.xr.removeEventListener("sessionend",Ue)}};typeof((re=Z.xr)==null?void 0:re.addEventListener)=="function"&&W.connect(),P.set({xr:W})}if(Z.shadowMap){const _e=Z.shadowMap.enabled,Ue=Z.shadowMap.type;if(Z.shadowMap.enabled=!!C,In.boo(C))Z.shadowMap.type=HA;else if(In.str(C)){var fe;const W={basic:C2,percentage:Ug,soft:HA,variance:jr};Z.shadowMap.type=(fe=W[C])!=null?fe:HA}else In.obj(C)&&Object.assign(Z.shadowMap,C);(_e!==Z.shadowMap.enabled||Ue!==Z.shadowMap.type)&&(Z.shadowMap.needsUpdate=!0)}const F=UD();F&&("enabled"in F?F.enabled=!v:"legacyMode"in F&&(F.legacyMode=v)),Dc(Z,{outputEncoding:p?3e3:3001,toneMapping:I?Rs:Rv}),P.legacy!==v&&P.set(()=>({legacy:v})),P.linear!==p&&P.set(()=>({linear:p})),P.flat!==I&&P.set(()=>({flat:I})),h&&!In.fun(h)&&!JD(h)&&!In.equ(h,Z,Tc)&&Dc(Z,h),E&&!P.events.handlers&&P.set({events:E(s)});const Ae=L5(n,f);return In.equ(Ae,P.size,Tc)||P.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),Q&&P.viewport.dpr!==zD(Q)&&P.setDpr(Q),P.frameloop!==R&&P.setFrameloop(R),P.onPointerMissed||P.set({onPointerMissed:_}),D&&!In.equ(D,P.performance,Tc)&&P.set(_e=>({performance:{..._e.performance,...D}})),a=y,l=!0,this},render(d){return l||this.configure(),bd.updateContainer(Y.createElement(N5,{store:s,children:d,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){KD(n)}}}function N5({store:n,children:e,onCreated:t,rootElement:i}){return qd(()=>{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)},[]),Y.createElement(E1.Provider,{value:n},e)}function KD(n,e){const t=yu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),bd.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(),v5(r),yu.delete(n),e&&e(n)}catch{}},500)})}}function jD(n,e,t){return Y.createElement(k5,{key:e.uuid,children:n,container:e,state:t})}function k5({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=Ns(),[a]=Y.useState(()=>new jd),[l]=Y.useState(()=>new ve),A=Y.useCallback((h,f)=>{const g={...h};Object.keys(h).forEach(y=>{(_5.includes(y)||h[y]!==f[y]&&f[y])&&delete g[y]});let E;if(f&&r){const y=f.camera;E=h.viewport.getCurrentViewport(y,new O,r),y!==h.camera&&WD(y,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...f?.events,...i},size:{...h.size,...r},viewport:{...h.viewport,...E},...s}},[n]),[d]=Y.useState(()=>{const h=o.getState();return TD((g,E)=>({...h,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...h.events,...i},size:{...h.size,...r},...s,set:g,get:E,setEvents:y=>g(C=>({...C,events:{...C.events,...y}}))}))});return Y.useEffect(()=>{const h=o.subscribe(f=>d.setState(g=>A(f,g)));return()=>{h(),d.destroy()}},[]),Y.useEffect(()=>{d.setState(h=>A(o.getState(),h))},[A]),Y.createElement(Y.Fragment,null,bd.createPortal(Y.createElement(E1.Provider,{value:d},e),d,null))}bd.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:Y.version});function gg(){return gg=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-d):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=function(){s=this,r=arguments,o=Date.now();var d=t&&!i;return i||(i=setTimeout(l,e)),d&&(a=n.apply(s,r),s=r=null),a};return A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}gy.debounce=gy;var U5=gy;const a_=Ly(U5);function F5(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}),A=e?typeof e=="number"?e:e.scroll:null,d=e?typeof e=="number"?e:e.resize:null,h=Y.useRef(!1);Y.useEffect(()=>(h.current=!0,()=>void(h.current=!1)));const[f,g,E]=Y.useMemo(()=>{const I=()=>{if(!l.current.element)return;const{left:v,top:w,width:R,height:Q,bottom:D,right:U,x:K,y:_}=l.current.element.getBoundingClientRect(),P={left:v,top:w,width:R,height:Q,bottom:D,right:U,x:K,y:_};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),h.current&&!z5(l.current.lastBounds,P)&&a(l.current.lastBounds=P)};return[I,d?a_(I,d):I,A?a_(I,A):I]},[a,r,A,d]);function y(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(I=>I.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function C(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(I=>I.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=I=>{!I||I===l.current.element||(y(),l.current.element=I,l.current.scrollContainers=qD(I),C())};return H5(E,!!t),O5(g),Y.useEffect(()=>{y(),C()},[t,E,g]),Y.useEffect(()=>y,[]),[p,o,f]}function O5(n){Y.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function H5(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 qD(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,...qD(n.parentElement)]}const G5=["x","y","top","bottom","left","right","width","height"],z5=(n,e)=>G5.every(t=>n[t]===e[t]);var V5=Object.defineProperty,W5=Object.defineProperties,Y5=Object.getOwnPropertyDescriptors,l_=Object.getOwnPropertySymbols,J5=Object.prototype.hasOwnProperty,X5=Object.prototype.propertyIsEnumerable,c_=(n,e,t)=>e in n?V5(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,u_=(n,e)=>{for(var t in e||(e={}))J5.call(e,t)&&c_(n,t,e[t]);if(l_)for(var t of l_(e))X5.call(e,t)&&c_(n,t,e[t]);return n},K5=(n,e)=>W5(n,Y5(e));function ZD(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=ZD(i,e,t);if(r)return r;i=e?null:i.sibling}}function $D(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const y1=$D(Y.createContext(null));class eT extends Y.Component{render(){return Y.createElement(y1.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:A_,ReactCurrentDispatcher:d_}=Y.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function j5(){const n=Y.useContext(y1);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[A_?.current,n,n?.alternate]){if(!i)continue;const r=ZD(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 q5(){var n,e;const t=j5(),[i]=Y.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==y1&&!i.has(s)&&i.set(s,(e=d_?.current)==null?void 0:e.readContext($D(s))),r=r.return}return i}function Z5(){const n=q5();return Y.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>Y.createElement(e,null,Y.createElement(t.Provider,K5(u_({},i),{value:n.get(t)}))),e=>Y.createElement(eT,u_({},e))),[n])}const KE={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 $5(n){const{handlePointer:e}=S5(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(KE).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,A]=KE[o];t.addEventListener(l,a,{passive:A})})},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]=KE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const eH=Y.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=$5,eventSource:a,eventPrefix:l,shadows:A,linear:d,flat:h,legacy:f,orthographic:g,frameloop:E,dpr:y,performance:C,raycaster:p,camera:I,scene:v,onPointerMissed:w,onCreated:R,...Q},D){Y.useMemo(()=>g5(o5),[]);const U=Z5(),[K,_]=F5({scroll:!0,debounce:{scroll:50,resize:0},...i}),P=Y.useRef(null),Z=Y.useRef(null);Y.useImperativeHandle(D,()=>P.current);const he=OD(w),[X,ae]=Y.useState(!1),[re,fe]=Y.useState(!1);if(X)throw X;if(re)throw re;const F=Y.useRef(null);qd(()=>{const ne=P.current;_.width>0&&_.height>0&&ne&&(F.current||(F.current=P5(ne)),F.current.configure({gl:s,events:o,shadows:A,linear:d,flat:h,legacy:f,orthographic:g,frameloop:E,dpr:y,performance:C,raycaster:p,camera:I,scene:v,size:_,onPointerMissed:(...Ae)=>he.current==null?void 0:he.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?E5(a)?a.current:a:Z.current),l&&Ae.setEvents({compute:(_e,Ue)=>{const W=_e[l+"X"],z=_e[l+"Y"];Ue.pointer.set(W/Ue.size.width*2-1,-(z/Ue.size.height)*2+1),Ue.raycaster.setFromCamera(Ue.pointer,Ue.camera)}}),R?.(Ae)}}),F.current.render(Y.createElement(U,null,Y.createElement(HD,{set:fe},Y.createElement(Y.Suspense,{fallback:Y.createElement(C5,{set:ae})},e)))))}),Y.useEffect(()=>{const ne=P.current;if(ne)return()=>KD(ne)},[]);const $=a?"none":"auto";return Y.createElement("div",gg({ref:Z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:$,...r}},Q),Y.createElement("div",{ref:K,style:{width:"100%",height:"100%"}},Y.createElement("canvas",{ref:P,style:{display:"block"}},t)))}),tH=Y.forwardRef(function(e,t){return Y.createElement(eT,null,Y.createElement(eH,gg({},e,{ref:t})))}),nH=Y.createContext(null);function tT(){return Y.useContext(nH)}const nT=Y.createContext(void 0);function Ta(){const n=Y.useContext(nT);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const bu=nT.Provider;function dm(){throw new Error("Cycle detected")}var iH=Symbol.for("preact-signals");function hm(){if(Ca>1)Ca--;else{for(var n,e=!1;YA!==void 0;){var t=YA;for(YA=void 0,my++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&sT(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(my=0,Ca--,e)throw n}}function iT(n){if(Ca>0)return n();Ca++;try{return n()}finally{hm()}}var Cn=void 0,jE=0;function rH(n){if(jE>0)return n();var e=Cn;Cn=void 0,jE++;try{return n()}finally{jE--,Cn=e}}var YA=void 0,Ca=0,my=0,mg=0;function rT(n){if(Cn!==void 0){var e=n.n;if(e===void 0||e.t!==Cn)return e={i:0,S:n,p:Cn.s,n:void 0,t:Cn,e:void 0,x:void 0,r:e},Cn.s!==void 0&&(Cn.s.n=e),Cn.s=e,n.n=e,32&Cn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=Cn.s,e.n=void 0,Cn.s.n=e,Cn.s=e),e}}function ni(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}ni.prototype.brand=iH;ni.prototype.h=function(){return!0};ni.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};ni.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};ni.prototype.subscribe=function(n){var e=this;return nt(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};ni.prototype.valueOf=function(){return this.value};ni.prototype.toString=function(){return this.value+""};ni.prototype.toJSON=function(){return this.value};ni.prototype.peek=function(){return this.v};Object.defineProperty(ni.prototype,"value",{get:function(){var n=rT(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(Cn instanceof ba&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){my>100&&dm(),this.v=n,this.i++,mg++,Ca++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{hm()}}}});function rt(n){return new ni(n)}function sT(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function oT(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function aT(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function ba(n){ni.call(this,void 0),this.x=n,this.s=void 0,this.g=mg-1,this.f=4}(ba.prototype=new ni).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===mg))return!0;if(this.g=mg,this.f|=1,this.i>0&&!sT(this))return this.f&=-2,!0;var n=Cn;try{oT(this),Cn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return Cn=n,aT(this),this.f&=-2,!0};ba.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}ni.prototype.S.call(this,n)};ba.prototype.U=function(n){if(this.t!==void 0&&(ni.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};ba.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};ba.prototype.peek=function(){if(this.h()||dm(),16&this.f)throw this.v;return this.v};Object.defineProperty(ba.prototype,"value",{get:function(){1&this.f&&dm();var n=rT(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Gt(n){return new ba(n)}function lT(n){var e=n.u;if(n.u=void 0,typeof e=="function"){Ca++;var t=Cn;Cn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,v1(n),i}finally{Cn=t,hm()}}}function v1(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,lT(n)}function sH(n){if(Cn!==this)throw new Error("Out-of-order effect");aT(this),Cn=n,this.f&=-2,8&this.f&&v1(this),hm()}function Zd(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Zd.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Zd.prototype.S=function(){1&this.f&&dm(),this.f|=1,this.f&=-9,lT(this),oT(this),Ca++;var n=Cn;return Cn=this,sH.bind(this,n)};Zd.prototype.N=function(){2&this.f||(this.f|=2,this.o=YA,YA=this)};Zd.prototype.d=function(){this.f|=8,1&this.f||v1(this)};function nt(n){var e=new Zd(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var oH=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,k){i=L,r=k});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&X("no native wasm support detected");var d,h=!1;function f(L,k,ee){ee=k+ee;for(var se="";!(k>=ee);){var de=L[k++];if(!de)break;if(de&128){var xe=L[k++]&63;if((de&224)==192)se+=String.fromCharCode((de&31)<<6|xe);else{var Pe=L[k++]&63;de=(de&240)==224?(de&15)<<12|xe<<6|Pe:(de&7)<<18|xe<<12|Pe<<6|L[k++]&63,65536>de?se+=String.fromCharCode(de):(de-=65536,se+=String.fromCharCode(55296|de>>10,56320|de&1023))}}else se+=String.fromCharCode(de)}return se}var g,E,y,C,p,I,v,w,R;function Q(){var L=d.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=C=new Int16Array(L),t.HEAP32=I=new Int32Array(L),t.HEAPU8=y=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=v=new Uint32Array(L),t.HEAPF32=w=new Float32Array(L),t.HEAPF64=R=new Float64Array(L)}var D,U=[],K=[],_=[];function P(){var L=t.preRun.shift();U.unshift(L)}var Z=0,he=null;function X(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),h=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function ae(L){return L.startsWith("data:application/octet-stream;base64,")}var re;if(re="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwBzAEFBwEBgAKAgAIGDQJ/AUHQwgQLfwFBAAsHJAgBRQIAAUYAYwFHAK0BAUgArAEBSQBWAUoBAAFLACgBTACjAQn3AgEAQQELywGoAacBogHgAd0BkgHNAVLMAcsBUVFSkAGPAY4BygHJAcgBxwFSjAHGAVFRUpABjwGOAcUBxAHDAWaLAaEBigFmoAGJAZ8BwgGeATadATacAYgBmwE5mgE5wQFgwAFgvwFgX16+Ab0BvAFkiwGZAbsBmAGKAWSXAYwBlgE2lQE2pgK6AaUCpAKjAqICoQKgAp8CngKdApwCmwKaApkCuQGYApcClgKVApQCkwKSApECkAKPAo4CjQKMAosCigKJAogChwKGAoUChAKDAoICgAL/ATn+AbgB/QH8AfsB+gH5AfgB9wH0AbcB8wG2AfIB8QHwAe8B7gHtAewB6wHqAbUB9gH1AekB6AG0AeYBiQHlATbkATnjATniAYgBzgE25wE5gQLhATbfAd4BNtwB2wHaATnZAbMB2AHXAdYB1QHUAdMB0gGyAdEB0AHPAV9eX16DAYQBrwGuAYUBeoYBsQGwAYUBqwGqAakBpgGlAaQBegrqhgSJAjMBAX8gAEEBIAAbIQACQANAIAAQViIBDQFByMIAKAIAIgEEQCABEQgADAELCxACAAsgAQvtAQICfQN/QwAAwH8hBAJAAkACQAJAIAJBB3EiBg4FAgEBAQABC0EDIQUMAQsgBkEBa0ECTw0BIAJB8P8DcUEEdiEHAn0gAkEIcQRAIAEgBxCRAb4MAQtBACAHQf8PcSIBayABIALBQQBIG7ILIQMgBkEBRgRAIAMgA1wNAUMAAMB/IAMgA0MAAIB/WyADQwAAgP9bciIBGyEEIAFFIQUMAQsgAyADXA0AQQBBAiADQwAAgH9bIANDAACA/1tyIgEbIQVDAADAfyADIAEbIQQLIAAgBToABCAAIAQ4AgAPC0HZDUHVF0E6QaUWEAsAC2cCAX0Bf0MAAMB/IQICQAJAAkAgAUEHcQ4EAgAAAQALQakSQdUXQckAQZ8SEAsACyABQfD/A3FBBHYhAyABQQhxBEAgACADEJEBvg8LQQAgA0H/D3EiAGsgACABwUEASBuyIQILIAILgQECAX8BfSMAQRBrIgMkACADQQhqIABBAyACQQJHQQF0IAFB/gFxQQJHGyACEExDAADAfyEEAkACQAJAIAMtAAxBAWsOAgABAgsgAyoCCCEEDAELIAMqAghDAAAAAJRDCtcjPJQhBAsgA0EQaiQAIARDAAAAAJdDAAAAACAEIARbGwuBAQIBfwF9IwBBEGsiAyQAIANBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQTEMAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC3gCAX8BfSMAQRBrIgQkACAEQQhqIABBAyACQQJHQQF0IAFB/gFxQQJHGyACECpDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhAqQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLfgIBfwF9IwBBEGsiBCQAIARBCGogAEEDIAJBAkdBAXQgAUH+AXFBAkcbIAIQSkMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC34CAX8BfSMAQRBrIgQkACAEQQhqIABBASACQQJGQQF0IAFB/gFxQQJHGyACEEpDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAAJdDAAAAACAFIAVbGwsOAEGYMSgCABEIABBQAAvMAgEFfyAABEAgAEEEayIBKAIAIgUhAyABIQIgAEEIaygCACIAIABBfnEiBEcEQCABIARrIgIoAgQiACACKAIINgIIIAIoAgggADYCBCAEIAVqIQMLIAEgBWoiBCgCACIBIAEgBGpBBGsoAgBHBEAgBCgCBCIAIAQoAgg2AgggBCgCCCAANgIEIAEgA2ohAwsgAiADNgIAIANBfHEgAmpBBGsgA0EBcjYCACACAn8gAigCAEEIayIBQf8ATQRAIAFBA3ZBAWsMAQsgAUEdIAFnIgBrdkEEcyAAQQJ0a0HuAGogAUH/H00NABpBPyABQR4gAGt2QQJzIABBAXRrQccAaiIAIABBP08bCyIBQQR0IgBBoDFqNgIEIAIgAEGoMWoiACgCADYCCCAAIAI2AgAgAigCCCACNgIEQag5Qag5KQMAQgEgAa2GhDcDAAsLvwEBA38gAC0AAEEgcUUEQAJAIAEhAwJAIAIgACIBKAIQIgAEfyAABSABEI0BDQEgASgCEAsgASgCFCIFa0sEQCABIAMgAiABKAIkEQYAGgwCCwJAIAEoAlBBAEgNACACIQADQCAAIgRFDQEgAyAEQQFrIgBqLQAAQQpHDQALIAEgAyAEIAEoAiQRBgAgBEkNASADIARqIQMgAiAEayECIAEoAhQhBQsgBSADIAIQLBogASABKAIUIAJqNgIUCwsLC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBDGoQRA8LIAAgASABQQxqIAMQRQ8LIAAgASABQQxqEEMPCxAnAAsgACABIAFBDGogAxBGC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siA0GAAiADQYACSSIBGxAvGiABRQRAA0AgACAFQYACECkgA0GAAmsiA0H/AUsNAAsLIAAgBSADECkLIAVBgAJqJAALgAQBA38gAkGABE8EQCAAIAEgAhAXIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgJBA3FFDQEgAiADSQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC9wCAgJ/An0jAEEQayIEJAAgAEH8AGohBQJAAkACQCABQQFNBEAgBEEIaiAFIAAvAXQQH0MAAMB/IQZDAADAfyEHAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEHDAELIAQqAgggA5RDCtcjPJQhBwsgBEEIaiAFIAAvAXgQHwJAIAQtAAxBAWsOAgIABAsgBCoCCCADlEMK1yM8lCEGDAMLIARBCGogBSAALwFyEB9DAADAfyEGQwAAwH8hBwJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBwwBCyAEKgIIIAOUQwrXIzyUIQcLIARBCGogBSAALwF2EB8gBC0ADEEBaw4CAAECCyAEKgIIIQYMAQsgBCoCCCADlEMK1yM8lCEGCwJAIAIgBl4gBkMAAAAAYHENACAHQwAAAABgRQRAIAIhBgwBCyAHIAIgAiAHXRshBgsgBEEQaiQAIAYLUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEeahBEDwsgACABIAFBHmogAxBFDwsgACABIAFBHmoQQw8LECcACyAAIAEgAUEeaiADEEYL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAALaAECfyMAQRBrIgIkACACIAE2AgwCQCAARQRAQfguQZwkIAIoAgwQOhoMAQsgAigCDCEBIAAoAuwDIgNFBEBB+C5BnCQgARA6GgwBCyADIABBBUGcJCABIAMoAgQRDQAaCyACQRBqJAAL6AIBAn8CQCAAIAFGDQAgASAAIAJqIgRrQQAgAkEBdGtNBEAgACABIAIQLA8LIAAgAXNBA3EhAwJAAkAgACABSQRAIAMEQCAAIQMMAwsgAEEDcUUEQCAAIQMMAgsgACEDA0AgAkUNBCADIAEtAAA6AAAgAUEBaiEBIAJBAWshAiADQQFqIgNBA3ENAAsMAQsCQCADDQAgBEEDcQRAA0AgAkUNBSAAIAJBAWsiAmoiAyABIAJqLQAAOgAAIANBA3ENAAsLIAJBA00NAANAIAAgAkEEayICaiABIAJqKAIANgIAIAJBA0sNAAsLIAJFDQIDQCAAIAJBAWsiAmogASACai0AADoAACACDQALDAILIAJBA00NAANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBBGsiAkEDSw0ACwsgAkUNAANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAuUAgIBfAF/AkAgACABoiIAEGIiBEQAAAAAAADwP6AgBCAERAAAAAAAAAAAYxsiBCAEYiIFIASZRC1DHOviNho/Y0VyRQRAIAAgBKEhAAwBCyAFIAREAAAAAAAA8L+gmUQtQxzr4jYaP2NFckUEQCAAIAShRAAAAAAAAPA/oCEADAELIAAgBKEhACACBEAgAEQAAAAAAADwP6AhAAwBCyADDQAgAAJ8RAAAAAAAAAAAIAUNABpEAAAAAAAA8D8gBEQAAAAAAADgP2QNABpEAAAAAAAA8D9EAAAAAAAAAAAgBEQAAAAAAADgv6CZRC1DHOviNho/YxsLoCEACyAAIABiIAEgAWJyBEBDAADAfw8LIAAgAaO2C3ACAX8BfSMAQRBrIgQkACAEQQhqIAAgAUECdEGgJGooAgAgAhAqQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLTwACQAJAAkAgA0H/AXEiAw4EAAICAQILIAEgAS8AAEH4/wNxOwAADwsgASABLwAAQfj/A3FBBHI7AAAPCyAAIAEgAkEBQQIgA0EBRhsQRwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRBoCRqKAIAIAIQTEMAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRAgALYgICfQJ/AkAgACgC3ANFDQAgAEH8AGoiAyAAQRpqIgQvAQAQICICIAJcBEAgAyAAQRhqIgQvAQAQICICIAJcDQEgAyAALwEYECBDAAAAAF5FDQELIAMgBC8BABAgIQELIAELhH8DG30sfwF+IwBB0ABrIigkAAJ/AkAgAC0AAEEEcQRAIAAoAqABIAxHDQELQQAgAC0ApAEgA0YNARoLIABCgICA/IuAgMC/fzcC/AIgAEKBgICAEDcC9AIgAEKAgID8i4CAwL9/NwLsAiAAQQA2AqgBQQELIUcCQAJAAkACQAJAIAAoAggEQCAAQRRqIilBAkEBIAYQJCENIClBAkEBIAYQIyEOIClBAEEBIAYQJCEPIClBAEEBIAYQIyEVIAQgASAFIAIgACgC9AIgAEHsAmoiKSoCACAAKAL4AiAAKgLwAiAAKgL8AiAAKgKAAyANIA6SIg0gDyAVkiIOIAAoAuwDIisQcg0BIAAoAqgBIi1FDQIgAEGsAWohKgNAIAQgASAFIAIgKiAuQRhsaiIpKAIIICkqAgAgKSgCDCApKgIEICkqAhAgKSoCFCANIA4gKxByDQIgLkEBaiIuIC1HDQALDAILIAhFBEAgACgCqAEiKkUNAiAAQawBaiErA0ACQAJAICsgLkEYbCItaiIpKgIAIg0gDVwgASABXHJFBEAgDSABk4tDF7fROF0NAQwCCyABIAFbIA0gDVtyDQELAkAgKyAtaiItKgIEIg0gDVwgAiACXHJFBEAgDSACk4tDF7fROF0NAQwCCyACIAJbIA0gDVtyDQELIC0oAgggBEcNACAtKAIMIAVGDQMLICogLkEBaiIuRw0ACwwCCwJAIABB7AJqIikqAgAiDSANXCABIAFcckUEQCANIAGTi0MXt9E4XQ0BDAMLIAEgAVsgDSANW3INAgsgKUEAIAAoAvgCIAVGG0EAIAAoAvQCIARGG0EAAn8gAiACXCIpIAAqAvACIg0gDVxyRQRAIA0gApOLQxe30ThdDAELQQAgDSANWw0AGiApCxshKQsgKUUgR3IEQCApIUQMAQsgACApKgIQOAKQAyAAICkqAhQ4ApQDIApBDEEQIAgbaiIDIAMoAgBBAWo2AgAgKSFEDAELIARBAUYgASABW3JFBEAgKEGdCzYCECAAIChBEGoQMAwDCyAFQQFGIAIgAltyRQRAIChBzAo2AgAgACAoEDAMAwsgCkEAQQQgCBtqIikgKSgCAEEBajYCACAAIAAtAIQDQfwBcSAALQAUQQNxIikgA0EBIAMbIkggKRsiMkEDcXI6AIQDIABBqANqIiogMkEBR0EDdCIraiAAQRRqIixBA0ECIDJBAkYbIikgMiAGECQiDTgCACAqIDJBAUZBA3QiLWogLCApIDIgBhAjIg44AgAgACAsQQAgMiAGECQiDzgCrAMgACAsQQAgMiAGECMiFTgCtAMgAEG4A2oiKiAraiAsICkgMhAiOAIAICogLWogLCApIDIQITgCACAAICxBACAyECI4ArwDIAAgLEEAIDIQITgCxAMgKyAAQcgDaiIqaiAsICkgMiAGECY4AgAgKiAtaiAsICkgMiAGECU4AgAgACAsQQAgMiAGECY4AswDIAAgLEEAIDIgBhAlIhA4AtQDIA0gDpIhDiAPIBWSIRMCQCAAKAIIIikEQEMAAMB/IRVDAADAfyABIA6TIARBAUYbIQ1DAADAfyACIBOTIAVBAUYbIRMgBCAFckUEQCAoQThqIABB/ABqIgkgAC8BchAfAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCEVDAELICgqAjggBpRDCtcjPJQhFQsgKEE4aiAJIAAvAXYQHwJAAkACfQJAAkAgKC0APEEBaw4CAAEDCyAoKgI4DAELICgqAjggBpRDCtcjPJQLIg9DAAAAAGBFDQAgDSAPXg0BCyAVQwAAAABgRQRAIA0hDwwBCyAVIA0gDSAVXRshDwsgACAsQQJBASAGECYgLEECQQEQIpIgLEECQQEgBhAlICxBAkEBECGSkiINIA8gDSAPXhsgDSAPIA8gD1wbIA8gD1sgDSANW3EbOAKQAyAoQThqIAkgAC8BdBAfQwAAwH8hDwJAAkACQCAoLQA8QQFrDgIAAQILICgqAjghDwwBCyAoKgI4IAeUQwrXIzyUIQ8LIChBOGogCSAALwF4EB8CQAJAAn0CQAJAICgtADxBAWsOAgABAwsgKCoCOAwBCyAoKgI4IAeUQwrXIzyUCyIOQwAAAABgRQ0AIA4gE10NAQsgD0MAAAAAYEUEQCATIQ4MAQsgDyATIA8gE14bIQ4LIAAgLEEAQQEgBhAmICxBAEEBECKSICxBAEEBIAYQJSAsQQBBARAhkpIiBiAOIAYgDl4bIAYgDiAOIA5cGyAOIA5bIAYgBltxGzgClAMMAgsgBEEDTyAFQQNPcg0EIChBKGogACANIA0gACoCyAMgACoC0AOSIAAqArgDkiAAKgLAA5IiDpMiD0MAAAAAIA9DAAAAAF4bIA0gDVwbQYGACCAEQQN0Qfj//wdxdkH/AXEgEyATIAAqAswDIBCSIAAqArwDkiAAKgLEA5IiFZMiD0MAAAAAIA9DAAAAAF4bIBMgE1wbQYGACCAFQQN0Qfj//wdxdkH/AXEgKREQACAKIAooAhRBAWo2AhQgCiAJQQJ0aiIJIAkoAhhBAWo2AhggKCoCKCEPIChBOGogAEH8AGoiCSAALwFyEB8gBEEBa0ECSSELIA4gD5IhDkMAAMB/IQ8CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IQ8MAQsgKCoCOCAGlEMK1yM8lCEPCyAOIA0gCxshDSAoQThqIAkgAC8BdhAfAkACQAJ9AkACQCAoLQA8QQFrDgIAAQMLICgqAjgMAQsgKCoCOCAGlEMK1yM8lAsiDkMAAAAAYEUNACANIA5eDQELIA9DAAAAAGBFBEAgDSEODAELIA8gDSANIA9dGyEOCyAAICxBAkEBIAYQJiAsQQJBARAikiAsQQJBASAGECUgLEECQQEQIZKSIg0gDiANIA5eGyANIA4gDiAOXBsgDiAOWyANIA1bcRs4ApADICgqAiwhDSAoQThqIAkgAC8BdBAfIAVBAWtBAkkhCyAVIA2SIQ1DAADAfyEPAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCEPDAELICgqAjggB5RDCtcjPJQhDwsgDSATIAsbIQ0gKEE4aiAJIAAvAXgQHwJAAkACfQJAAkAgKC0APEEBaw4CAAEDCyAoKgI4DAELICgqAjggB5RDCtcjPJQLIg5DAAAAAGBFDQAgDSAOXg0BCyAPQwAAAABgRQRAIA0hDgwBCyAPIA0gDSAPXRshDgsgACAsQQBBASAGECYgLEEAQQEQIpIgLEEAQQEgBhAlICxBAEEBECGSkiIGIA4gBiAOXhsgBiAOIA4gDlwbIA4gDlsgBiAGW3EbOAKUAwwBCyAAKALkAyI+IAAoAuADIj9GBEAgBEEBa0EBSwR9IAEgDpMFIAAqAsgDIAAqAtADkiAAKgK4A5IgACoCwAOSCyENIChBOGogAEH8AGoiCSAALwFyEB9DAADAfyEPAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCEPDAELICgqAjggBpRDCtcjPJQhDwsgKEE4aiAJIAAvAXYQHwJAAkACfQJAAkAgKC0APEEBaw4CAAEDCyAoKgI4DAELICgqAjggBpRDCtcjPJQLIg5DAAAAAGBFDQAgDSAOXg0BCyAPQwAAAABgRQRAIA0hDgwBCyAPIA0gDSAPXRshDgsgACAsQQJBASAGECYgLEECQQEQIpIgLEECQQEgBhAlICxBAkEBECGSkiINIA4gDSAOXhsgDSAOIA4gDlwbIA4gDlsgDSANW3EbOAKQAyAFQQFrQQFLBH0gAiATkwUgACoCzAMgACoC1AOSIAAqArwDkiAAKgLEA5ILIQ8gKEE4aiAJIAAvAXQQH0MAAMB/IQ0CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IQ0MAQsgKCoCOCAHlEMK1yM8lCENCyAoQThqIAkgAC8BeBAfAkACQAJ9AkACQCAoLQA8QQFrDgIAAQMLICgqAjgMAQsgKCoCOCAHlEMK1yM8lAsiDkMAAAAAYEUNACAOIA9dDQELIA1DAAAAAGBFBEAgDyEODAELIA0gDyANIA9eGyEOCyAAICxBAEEBIAYQJiAsQQBBARAikiAsQQBBASAGECUgLEEAQQEQIZKSIgYgDiAGIA5eGyAGIA4gDiAOXBsgDiAOWyAGIAZbcRs4ApQDDAELAkAgCA0AIAVBAkYgAiATkyIVIBVbcSAVQwAAAABfcSAEIAVyRSAEQQJGIAEgDpMiDUMAAAAAX3FyckUNACAoQThqIABB/ABqIgkgAC8BchAfQwAAAAAgDSANQwAAAABdGyANIARBAkYbIQ4gDSANXCELQwAAwH8hDQJAAkACQCAoLQA8QQFrDgIAAQILICgqAjghDQwBCyAoKgI4IAaUQwrXIzyUIQ0LQwAAAAAgDiALGyEPIChBOGogCSAALwF2EB8CQAJAAn0CQAJAICgtADxBAWsOAgABAwsgKCoCOAwBCyAoKgI4IAaUQwrXIzyUCyIOQwAAAABgRQ0AIA4gD10NAQsgDUMAAAAAYEUEQCAPIQ4MAQsgDSAPIA0gD14bIQ4LIAAgLEECQQEgBhAmICxBAkEBECKSICxBAkEBIAYQJSAsQQJBARAhkpIiDSAOIA0gDl4bIA0gDiAOIA5cGyAOIA5bIA0gDVtxGzgCkAMgKEE4aiAJIAAvAXQQH0MAAAAAIBUgFUMAAAAAXRsgFSAFQQJGGyEOIBUgFVwhC0MAAMB/IQ0CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IQ0MAQsgKCoCOCAHlEMK1yM8lCENC0MAAAAAIA4gCxshDyAoQThqIAkgAC8BeBAfAkACQAJ9AkACQCAoLQA8QQFrDgIAAQMLICgqAjgMAQsgKCoCOCAHlEMK1yM8lAsiDkMAAAAAYEUNACAOIA9dDQELIA1DAAAAAGBFBEAgDyEODAELIA0gDyANIA9eGyEOCyAAICxBAEEBIAYQJiAsQQBBARAikiAsQQBBASAGECUgLEEAQQEQIZKSIgYgDiAGIA5eGyAGIA4gDiAOXBsgDiAOWyAGIAZbcRs4ApQDDAELIAAQcSAAIAAtAIQDQfsBcToAhANBAyEuIAAtABRBAnZBA3EhKQJAAn8CQCAyQQJGBEBBACEJAkAgKUECaw4CBAACC0ECIS4MAwtBAiEuQQAgKUEBSw0BGgsgLgshCSApIS4LIAAvABUhQCAsIC5BASAGECYhDSAsIC5BARAiIQ8gLCAuQQEgBhAlIRUgLCAuQQEQISEQICwgCUEBIAYQJiESICwgCUEBECIhESAsIAlBASAGECUhFCAsIAlBARAhIRcgLCAJIDIgBhBwIRYgLCAJIDIQNSEbIABBACABIA6TIiMgDSAPkiAVIBCSkiIdIBIgEZIgFCAXkpIiGSAuQQFLIjMbIAYQbyERIABBASACIBOTIiQgGSAdIDMbIAcQbyEYAkAgBCAFIDMbIjYNAAJAIAAoAuADIikgACgC5AMiLUYNAANAAkAgKSgCACIrEG5FDQAgMQ0CICsQNyINIA1bIA2LQxe30ThdcQ0CICsQPCINIA1cBEAgKyExDAELICshMSANi0MXt9E4XQ0CCyApQQRqIikgLUcNAAsMAQtBACExCyALQQFqIUEgGCARIDMbIRcgESAYIDMbIRVDAAAAACEPIAAoAuADIi0gACgC5AMiQkcEQCAYIBhcIjsgBUEAR3IhRSARIBFcIjwgBEEAR3IhRgNAIC0oAgAiKxBtAkAgKy8AFSArLQAXQRB0ciIpQYCAEHEEQCArEGwgKyArLQAAIilBAXIiK0H7AXEgKyApQQRxGzoAAAwBCyAIBH8gKyArLQAUQQNxIikgMiApGyAVIBcgERBrICsvABUgKy0AF0EQdHIFICkLQYDgAHFBgMAARg0AICtBFGohLwJAICsgMUYEQCAxQQA2ApwBIDEgDDYCmAFDAAAAACENDAELICwtAABBAnZBA3EhKQJAAkAgMkECRw0AQQMhKgJAIClBAmsOAgIAAQtBAiEqDAELICkhKgsgKEE4aiArQfwAaiIpICsvAR4QHyARIBggKkEBSyI4GyETAkACQAJAAkAgKC0APCIwDgQAAQEAAQsCQCApICsvARgQICINIA1cDQAgKSArLwEYECBDAAAAAF5FDQAgKygC7AMtAAhBAXENAEMAAAAAIQ0MAgtDAADAfyEODAILICgqAjghDUMAAMB/IQ4CQCAwQQFrDgIBAAILIBMgDZRDCtcjPJQhDgwBCyANIQ4LICsqAvADIQ1BACEwQQAhNAJAAkACQCArLQD0A0EBaw4CAQACCyARIA2UQwrXIzyUIQ0LIA0gDVwNACANQwAAAABgITQLICsqAvgDIQ0CQAJAAkAgKy0A/ANBAWsOAgEAAgsgGCANlEMK1yM8lCENCyANIA1cDQAgDUMAAAAAYCEwCwJAICsCfSAOIA5cIBMgE1xyRQRAICsqApwBIg0gDVsEQCArKALsAy0ADEEBcUUNAyArKAKYASAMRg0DCyAvICpBASARECYgLyAqQQEQIpIgLyAqQQEgERAlIC8gKkEBECGSkiINIA4gDSAOXhsMAQsgNCA4cQRAIC9BAkEBIBEQJiAvQQJBARAikiAvQQJBASARECUgL0ECQQEQIZKSIRMgKyoC8AMhDkMAAMB/IQ0CQAJAAkAgKy0A9ANBAWsOAgABAgsgDiENDAELIBEgDpRDCtcjPJQhDQsgEyANIA0gE10bIBMgDSANIA1cGyANIA1bIBMgE1txGwwBCyA4IDBBAXNyRQRAIC9BAEEBIBEQJiAvQQBBARAikiAvQQBBASARECUgL0EAQQEQIZKSIRMgKyoC+AMhDkMAAMB/IQ0CQAJAAkAgKy0A/ANBAWsOAgABAgsgDiENDAELIBggDpRDCtcjPJQhDQsgEyANIA0gE10bIBMgDSANIA1cGyANIA1bIBMgE1txGwwBCyAoQYCAgP4HNgIoIChBgICA/gc2AjhBASE1IChBATYCJCAoQQE2AiAgL0ECQQEgERAkIC9BAkEBIBEQI5IhECAvQQBBASARECQhEiAvQQBBASARECMhFEMAAMB/IQ5BASE3QwAAwH8hDSA0BEAgKyoC8AMhEwJAAkACQCArLQD0A0EBaw4CAAECCyATIQ0MAQsgESATlEMK1yM8lCENCyAoQQA2AiQgKCAQIA2SIg04AjhBACE3CyASIBSSIRIgMARAICsqAvgDIRMCQAJAAkAgKy0A/ANBAWsOAgABAgsgEyEODAELIBggE5RDCtcjPJQhDgsgKEEANgIgICggEiAOkiIOOAIoQQAhNQsCQAJAAkAgAC0AF0EQdEGAgAxxQYCACEYiOSAqQQJJIjpxRQRAIDkgPHINAiANIA1cDQEMAgsgPCANIA1bcg0CC0ECITcgKEECNgIkICggETgCOCARIQ0LAkAgOkEBIDkbBEAgOSA7cg0CIA4gDlwNAQwCCyA7IA4gDltyDQELQQIhNSAoQQI2AiAgKCAYOAIoIBghDgsCQCApICsvAXoQICITIBNcDQACfyA3IDhyRQRAICkgKy8BehAgIQ4gKEEANgIgICggEiANIBCTIA6VkjgCKEEADAELIDUgOnINASApICsvAXoQICENIChBADYCJCAoIA0gDiASk5QgEJI4AjhBAAshNUEAITcLICsvABZBD3EiOUUEQCAALQAVQQR2ITkLAkAgN0UgOUEFRiA4ciA0IEZyIDlBBEdycnINACAoQQA2AiQgKCAROAI4ICkgKy8BehAgIg0gDVwNAEEAITUgKSArLwF6ECAhDSAoQQA2AiAgKCARIBCTIA2VOAIoCyArLwAWQQ9xIjRFBEAgAC0AFUEEdiE0CwJAIDogRXIgMHIgNEEFRnIgNUUgNEEER3JyDQAgKEEANgIgICggGDgCKCApICsvAXoQICINIA1cDQAgKSArLwF6ECAhDSAoQQA2AiQgKCANIBggEpOUOAI4CyArQQIgESARIChBJGogKEE4ahA7ICtBACAYIBEgKEEgaiAoQShqEDsgKyAoKgI4ICgqAiggMiAoKAIkICgoAiAgESAYQQBBBSAKIEEgDBA4GiArICpBAnRBwCRqKAIAQQJ0aioCkAMhDSAvICpBASARECYgLyAqQQEQIpIgLyAqQQEgERAlIC8gKkEBECGSkiIOIA0gDSAOXRsgDiANIA0gDVwbIA0gDVsgDiAOW3EbCyINOAKcAQsgKyAMNgKYAQsgDyANIC8gLkEBIBEQJCAvIC5BASARECOSkpIhDwsgLUEEaiItIEJHDQALCyA+ID9rIilBAnUhNyAPQwAAAACSIQ0gFiAbkiETIAcgBiAzGyEhIAYgByAzGyEgQQFBAiAXIBdcIkkbIUpBACA2IClBBU8EfSAsIC4QSCA3QQFrs5QgDZIFIA0LIBVeIikbIDYgQEGAgANxIj4bIDYgNkECRhshOSApRSA2QQFGciFLIC5BAkkhPyAAQfIAaiFAIABB/ABqITYgLkECdCIpQbAkaiFMIAlBAnQiK0GwJGohPCArQaAkaiE4IClBoCRqIUIgKUHAJGohRSArQcAkaiE6IAUgBCAzGyI7QQBHIk0gCHIhTiA7RSJPIAhBAXNxIVAgOyA+ckUhUSAoQTBqIUYgLCAJEEghJiA7QQFrQQJJIVJBACErQQAhKUMAAAAAIRsDQCApITUgKEEANgIwIChCADcDKAJAIAAoAuQDIikgACgC4AMiLUYNACApIC1rIilBAEgNBCAoQThqIClBAnVBACBGEEIhKiAoKAI8ICgoAiwgKCgCKCIpayItayApIC0QMSEtICggKCgCKCIpNgI8ICggLTYCKCAoKQNAIVQgKCAoKAIsIi02AkAgKCgCMCExICggVDcCLCAoIDE2AkQgKiApNgIAICkgLUcEQCAoIC0gKSAta0EDakF8cWo2AkALIClFDQAgKRAoCyAsLQAAIilBAnZBA3EhLQJAAkAgKUEDcSIpIEggKRtBAkcNAEEDISkCQCAtQQJrDgICAAELQQIhKQwBCyAtISkLIAAvABUhLSAsICkQSCEOQwAAAAAhEgJAICsgACgC5AMiMCAAKALgAyIqa0ECdU8EQCArIS1DAAAAACEUQwAAAAAhFgwBCyAtQYCAA3EhNEMAAAAAIRZDAAAAACEUICsiLSExQwAAAAAhDQNAIDAgKmtBAnUgLU0NBQJAICogLUECdGooAgAiLy8AFSAvLQAXQRB0ciIzQYCAEHFFIDNBgOAAcUGAwABHcUUEQCAxIC0gMUZqITEMAQsgLyA1NgLYAyA0RUMAAAAAIA4gLSAxRhsiDyAvQRRqIiogKUEBIBEQJCAqIClBASARECOSIhAgDSAvICkgLyoCnAEgIBAtIhqSkpIgFV5FckUEQCAoKAIsICgoAihHDQMLIC8QbgRAIBYgLxA3kiEWIBQgLxA8IC8qApwBlJMhFAsCQCAoKAIsIiogKCgCMEcEQCAqIC82AgAgKCAqQQRqNgIsDAELICogKCgCKGsiKkECdSIzQQFqIjBBgICAgARPDQcgKEE4akH/////AyAqQQF1Ij0gMCAwID1JGyAqQfz///8HTxsgMyBGEEIhMCAoKAJAIC82AgAgKCAoKAJAQQRqNgJAICgoAjwgKCgCLCAoKAIoIiprIi9rICogLxAxIS8gKCAoKAIoIio2AjwgKCAvNgIoICgpA0AhVCAoICgoAiwiLzYCQCAoKAIwITMgKCBUNwIsICggMzYCRCAwICo2AgAgKiAvRwRAICggLyAqIC9rQQNqQXxxajYCQAsgKkUNACAqECgLIBIgDyAQIBqSkiIPkiESIA0gD5IhDSAAKALkAyEwIAAoAuADISoLIC1BAWoiLSAwICprQQJ1SQ0ACwtDAACAPyAWIBZDAACAP10bIBYgFkMAAAAAXhshFiAoKAIsITQgKCgCKCEvAn0CQAJ9AkACQAJAIDlFDQAgKEE4aiA2IEAvAQAQH0MAAMB/IQ5DAADAfyENAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCENDAELICgqAjggBpRDCtcjPJQhDQsgKEE4aiA2IAAvAXYQHwJAAkACQCAoLQA8QQFrDgIAAQILICgqAjghDgwBCyAoKgI4IAaUQwrXIzyUIQ4LIChBOGogNiAALwF0EB9DAADAfyEQQwAAwH8hDwJAAkACQCAoLQA8QQFrDgIAAQILICgqAjghDwwBCyAoKgI4IAeUQwrXIzyUIQ8LIChBOGogNiAALwF4EB8CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IRAMAQsgKCoCOCAHlEMK1yM8lCEQCyANIA8gLkEBSyIpGyAdkyINIA1bIA0gEl5xDQEgDiAQICkbIB2TIg0gDVsgDSASXXENASAAKALsAy0AEEEBcQ0AIBIgFkMAAAAAWw0DGiAAEDciDSANXA0CIBIgABA3QwAAAABbDQMaDAILIBUhDQsgDSANWw0CIA0hFQsgFQshFSASjEMAAAAAIBJDAAAAAF0bDAELIA0hFSANIBKTCyEOIFBFBEACQCAvIDRGBEBDAAAAACESDAELQwAAgD8gFCAUQwAAgD9dGyAUIBRDAAAAAF4bIRpDAAAAACEPIC8hKgNAICooAgAiKSAuICkqApwBICAQLSEQAkAgDkMAAAAAXQRAIBAgKRA8jJQiDUMAAAAAXiANQwAAAABdckUNASApIC4gDiAalSANlCAQkiIUIBUQLSENIClBFGoiMSAuQQEgERAmIRIgMSAuQQEQIiEcIDEgLkEBIBEQJSEfIDEgLkEBECEhIiAUIBRcDQEgEiAckiAfICKSkiISIA0gDSASXRsgEiANIA0gDVwbIA0gDVsgEiASW3EbIg0gDVwgDSAUW3INASAPIA0gEJOSIQ8gKRA8ICkqApwBlCAakiEaDAELIA5DAAAAAF5FDQAgKRA3IhRDAAAAAF4gFEMAAAAAXXJFDQAgKSAuIA4gFpUgFJQgEJIiHCAVEC0hDSApQRRqIikgLkEBIBEQJiESICkgLkEBECIhHyApIC5BASARECUhIiApIC5BARAhISUgHCAcXA0AIBIgH5IgIiAlkpIiEiANIA0gEl0bIBIgDSANIA1cGyANIA1bIBIgEltxGyINIA1cIA0gHFtyDQAgFiAUkyEWIA8gDSAQk5IhDwsgKkEEaiIqIDRHDQALIA4gD5MiHCAalSEfIBwgFpUhIiAALwAVQYCAA3FFIEtyIT1DAAAAACESIC8hMANAIDAoAgAiKiAuICoqApwBICAQLSENAkAgHEMAAAAAXQRAIA0iDyAqEDyMlCIQQwAAAABbDQEgKiAuIA0gEJIgHyAQlCANkiAaQwAAAABbGyAVEC0hDyAqQRRqIikgLkEBIBEQJiApIC5BARAikiApIC5BASARECUgKSAuQQEQIZKSIhAgDyAPIBBdGyAQIA8gDyAPXBsgDyAPWyAQIBBbcRshDwwBCyANIQ8gHEMAAAAAXkUNACAqEDciEEMAAAAAXiAQQwAAAABdckUNACAqIC4gIiAQlCANkiAVEC0hDyAqQRRqIikgLkEBIBEQJiApIC5BARAikiApIC5BASARECUgKSAuQQEQIZKSIhAgDyAPIBBdGyAQIA8gDyAPXBsgDyAPWyAQIBBbcRshDwsgKkEUaiIzIC5BASARECQhECAzIC5BASARECMhFCAzIAlBASARECQhFiAzIAlBASARECMhJSAoIA8gECAUkiIUkiInOAIkIChBADYCHCAWICWSIRYCQCAqQfwAaiIpICovAXoQICIQIBBbBEAgKSAqLwF6ECAhECAoQQA2AiAgKCAWICcgFJMiFCAQlCAUIBCVID8bkjgCKAwBCyA6KAIAITECQCBJDQAgKiAxQQN0aiJDKgLwAyEQQQAhKQJAAkACQCBDLQD0A0EBaw4CAQACCyAXIBCUQwrXIzyUIRALIBAgEFwNACAQQwAAAABgISkLID0gTyApQQFzcXFFDQAgKi8AFkEPcSIpBH8gKQUgAC0AFUEEdgtBBEcNACAoQThqIDMgOCgCACAyECogKC0APEEDRg0AIChBOGogMyA8KAIAIDIQKiAoLQA8QQNGDQAgKEEANgIgICggFzgCKAwBCyAqIDFBA3RqIikqAvADIhQhEAJAAkACQAJAICktAPQDQQFrIjEOAgEAAgsgFyAUlEMK1yM8lCEQCyAQQwAAAABgDQELICggSjYCICAoIBc4AigMAQtDAADAfyEQAkACQAJAIDEOAgABAgsgFCEQDAELIBcgFJRDCtcjPJQhEAsgKCAWIBCSIhA4AiggKCBNICkxAPQDQiCGQoCAgIAgUXEgECAQXHI2AiALICogLiAVIBEgKEEcaiAoQSRqEDsgKiAJIBcgESAoQSBqIChBKGoQOyAqIDooAgBBA3RqIikqAvADIRACQAJAAkACQCApLQD0A0EBaw4CAQACCyAXIBCUQwrXIzyUIRALQQEhMSAQQwAAAABgDQELQQEhMSAqLwAWQQ9xIikEfyApBSAALQAVQQR2C0EERw0AIChBOGogMyA4KAIAIDIQKiAoLQA8QQNGDQAgKEE4aiAzIDwoAgAgMhAqICgtADxBA0YhMQsgKiAoKgIkIhAgKCoCKCIUIC5BAUsiKRsgFCAQICkbIAAtAIQDQQNxICgoAhwiMyAoKAIgIkMgKRsgQyAzICkbIBEgGCAIIDFxIilBBEEHICkbIAogQSAMEDgaIBIgDyANk5IhEiAAAn8gAC0AhAMiKUEEcUUEQEEAICotAIQDQQRxRQ0BGgtBBAsgKUH7AXFyOgCEAyAwQQRqIjAgNEcNAAsLIA4gEpMhDgsgACAALQCEAyIpQfsBcUEEIA5DAAAAAF1BAnQgKUEEcUECdhtyOgCEAyAsIC4gMiAGEHAhDyAsIC4gMhA1IRAgKEE4aiAsIEwoAgAiMyAyEEpDAADAfyENAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCENDAELICgqAjggBpRDCtcjPJQhDQsgDyAQkiEPIA1DAAAAAJdDAAAAACANIA1bGyAsIC4gMhBLkiEcICwgLhBIIRYCQCAOQwAAAABeRSA5QQJHcg0AIChBOGogNiBAIEUoAgBBAXRqIikvAQAQHwJAICgtADxFDQAgKEEoaiA2ICkvAQAQHwJ9AkACQCAoLQAsQQFrDgIAAQMLICgqAigMAQsgICAoKgIolEMK1yM8lAsiDSANXA0AIChBOGogNiApLwEAEB9DAADAfyENAkACQAJAICgtADxBAWsOAgABAgsgKCoCOCENDAELICAgKCoCOJRDCtcjPJQhDQsgDSAPkyAckyAVIA6TkyINQwAAAAAgDUMAAAAAXhshDgwBC0MAAAAAIQ4LQQAhMAJAICsiKSAtSQRAA0AgACgC5AMgACgC4AMiKmtBAnUgKU0NBiAqIClBAnRqKAIAIiovABVBgOAAcUGAwABHBEAgKEE4aiIxICpBFGoiKiBCKAIAIDIQKiAoLQA8IT0gMSAqIDMgMhAqIDAgPUEDRmogKC0APEEDRmohMAsgKUEBaiIpIC1JDQALQwAAAAAhFCAwDQELQwAAAAAhFEEAITACQAJAAkACQAJAICwtAABBBHZBB3FBAWsOBQABAgQDBQsgDkMAAAA/lCEUDAQLIA4hFAwDCyA0IC9rIilBBUkNAiAWIA5DAAAAAJdDAAAAACAOIA5bGyApQQJ1QQFrs5WSIRYMAgsgFiAOIDQgL2tBAnVBAWqzlSIUkiEWDAELIA5DAAAAP5QgNCAva0ECdbOVIhQgFJIgFpIhFgsgDyAUkiEQQwAAAAAhDSAAEHMhPQJAICsgLU8iQwRAQwAAAAAhD0MAAAAAIQ4MAQsgNEEEayFTIA4gMLKVIR9DAAAAACEOQwAAAAAhDyArISkDQCAAKALkAyAAKALgAyIqa0ECdSApTQ0FAkAgKiApQQJ0aigCACIqLwAVICotABdBEHRyIjBBgIAQcQ0AICpBFGohMQJAAkACfwJAAkACQAJAAkAgMEGA4ABxQYDAAEYEfyAoQThqIDEgQigCACIwIDIQLiAoLQA8DQEgKi8AFSAqLQAXQRB0cgUgMAtBgOAAcUGAwABGDQcgKEE4aiAxIEIoAgAgMhAqIBAgH0MAAACAICgtADxBA0YbkiEQIAhFDQYgLkEBaw4DAgMEAQsgCEUNByAqIDBBAnRqIDEgLiAyIBUQPiAsIC4gMhA1kiAxIC4gMiAREDOSOAKYAwwHC0EBITQgKkGcA2oMAwtBAyE0ICpBpANqDAILQQAhNCAqQZgDagwBC0ECITQgKkGgA2oLITAgKiA0QQJ0aiAwKgIAIBCSOAKYAwsgUygCACEwIChBOGogMSAzIDIQKiAQQwAAAIAgFiAqIDBGG5IgH0MAAACAICgtADxBA0YbkiEQIE5FBEAgECAxIC5BASARECQgMSAuQQEgERAjkiAqKgKcAZKSIRAgFyENDAILICogLiAREFUgEJIhECA9BEAgKhBJIRIgMUEAIDIgERAzIRogKioClAMgMUEAQQEgERAkIDFBAEEBIBEQI5KSIBIgGpIiEpMiGiAPIA8gGl0bIBogDyAPIA9cGyAPIA9bIBogGltxGyEPIBIgDiAOIBJdGyASIA4gDiAOXBsgDiAOWyASIBJbcRshDgwCCyAqIAkgERBVIhIgDSANIBJdGyASIA0gDSANXBsgDSANWyASIBJbcRshDQwBCyAIRQ0AICoCfwJAAkACQAJAIC5BAWsOAwECAwALICpBnANqITBBAQwDCyAqQaQDaiEwQQMMAgsgKkGYA2ohMEEADAELICpBoANqITBBAgtBAnRqIBQgMCoCACAsIC4gMhA1kpI4ApgDCyApQQFqIikgLUcNAAsLIA8gDpIgDSA9GyESAn0gUgRAIAAgCSAZIBKSICEQLSENICwgCUEBIAYQJiAsIAlBARAikiAsIAlBASAGECUgLCAJQQEQIZKSIg4gDSANIA5dGyAOIA0gDSANXBsgDSANWyAOIA5bcRsgGZMMAQsgFyASIFEbIRIgFwshFCA+RQRAIAAgCSAZIBKSICEQLSENICwgCUEBIAYQJiAsIAlBARAikiAsIAlBASAGECUgLCAJQQEQIZKSIg4gDSANIA5dGyAOIA0gDSANXBsgDSANWyAOIA5bcRsgGZMhEgsgCEUgQ3JFBEADQCAAKALkAyAAKALgAyIpa0ECdSArTQ0FAkAgKSArQQJ0aigCACIpLwAVICktABdBEHRyIjFBgIAQcQ0AIClBFGohKgJ9IDFBgOAAcUGAwABGBEAgKEE4aiAqIDgoAgAiMCAyEC4gKC0APARAICkgMEECdGogKiAJIDIgFxA+ICwgCSAyEDWSICogCSAyIBEQM5IiDTgCmAMgDSANWw0DCyAsIAkgMhA1ICogCSAyIBEQM5IMAQsgMUEIdkEPcSIwRQRAIAAtABVBBHYhMAsCQAJAAkACQCAwQQRrDgIAAQILIChBOGogKiA4KAIAIDIQKkEEITAgKC0APEEDRg0BIChBOGogKiA8KAIAIDIQKiAoLQA8QQNGDQEgKSA6KAIAQQN0aiIxKgLwAyEPAkACQAJAIDEtAPQDQQFrDgIBAAILIBcgD5RDCtcjPJQhDwsgEyENIA9DAAAAAGANAwsgKSBFKAIAQQJ0aioCkAMhDSAoIClB/ABqIjEgKS8BehAgIg4gDlsEfSAqIAlBASARECQgKiAJQQEgERAjkiANIDEgKS8BehAgIg6UIA0gDpUgPxuSBSASCzgCKCAoIA0gKiAuQQEgERAkICogLkEBIBEQI5KSOAI4IChBADYCJCAoQQA2AiAgKSAuIBUgESAoQSRqIChBOGoQOyApIAkgFyARIChBIGogKEEoahA7ICgqAigiDiAoKgI4Ig8gLkEBSyIwIiobIQ0gPkEARyAALwAVQQ9xQQRHcSIxID9xIA8gDiAqGyIOIA5cciEqICkgDiANIDIgKiAwIDFxIA0gDVxyIBEgGEEBQQIgCiBBIAwQOBogEyENDAILQQVBASAsLQAAQQhxGyEwCyApIAkgERBVIQ0gKEE4aiAqIDgoAgAiNCAyECogFCANkyEOAkAgKC0APEEDRwRAIDwoAgAhMQwBCyAoQThqICogPCgCACIxIDIQKiAoLQA8QQNHDQAgEyAOQwAAAD+UIg1DAAAAACANQwAAAABeG5IhDQwBCyAoQThqICogMSAyECogEyENICgtADxBA0YNACAoQThqICogNCAyECogKC0APEEDRgRAIBMgDkMAAAAAIA5DAAAAAF4bkiENDAELAkACQCAwQQFrDgICAAELIBMgDkMAAAA/lJIhDQwBCyATIA6SIQ0LIA0gGwJ/AkACQAJAAkAgCQ4EAAECAw0LQQEhMCApQZwDagwDC0EDITAgKUGkA2oMAgtBACEwIClBmANqDAELQQIhMCApQaADagsqAgCSkgshDSApIDBBAnRqIA04ApgDCyArQQFqIisgLUcNAAsLIBwgEJIiDSAeIB4gHlwbIQ4gLwRAIC8QKAsgDSAeIA0gHl4bIA4gHiAeWyANIA1bcRshHiAbICZDAAAAACA1GyASkpIhGyA1QQFqISkgNyAtIitLDQALAkAgCEUNACA+RQRAIAAQc0UNAQsCQCA7RQRAIBkgF5IhDQwBCyAAQfADaiIrIDooAgBBA3RqIi0qAgAhDQJAAkACQCAtLQAEQQFrDgIBAAILICEgDZRDCtcjPJQhDQsgDUMAAAAAYEUNACArQYECIAlBA3R2QQFxQQN0aiIrKgIAIQ5DAADAfyENAkACQCArLQAEQQFrDgIAAQMLIA4hDQwCCyAhIA6UQwrXIzyUIQ0MAQsgGSAbkiENCyAAIAkgDSAHEC0hDSAsIAlBASAGECYgLCAJQQEQIpIgLCAJQQEgBhAlICwgCUEBECGSkiIOIA0gDSAOXRsgDiANIA0gDVwbIA0gDVsgDiAOW3EbIBmTIg4gG5MhDUMAAAAAIRQCQAJAAkACQAJAAkACQAJAIAAvABVBD3FBAmsOBwAFAQYEAgMGCyATIA1DAAAAP5SSIRMMBQsgDiAbXkUNBCANICmzlSEUDAQLIA4gG14EQCANICmzIg6VIRQgEyANIA4gDpKVkiETDAQLIBMgDUMAAAA/lJIhEwwDCyAOIBteBEAgEyANIDVBAmqzlSIUkiETDAMLIBMgDUMAAAA/lJIhEwwCCyAOIBteRSApQQJJcg0BIA0gNbOVIRQMAgsgEyANkiETCyApRQ0BC0EAITFBACEpQQAhKgNAQwAAAAAhEEMAAAAAIQ5DAAAAACENICkhLUMAAAAAIQ9DAAAAACESICkgN0kEQAJ/A0AgACgC5AMgACgC4AMiK2tBAnUgLU0NBwJAICsgLUECdGooAgAiKy8AFSArLQAXQRB0ciIvQYCAEHEgL0GA4ABxQYDAAEZyDQAgLSAxICsoAtgDRw0CGiArQRRqISogKyA6KAIAQQJ0aioCkAMiD0MAAAAAYAR/IA8gKiAJQQEgERAkICogCUEBIBEQI5KSIg8gDSANIA9dGyAPIA0gDSANXBsgDSANWyAPIA9bcRshDSArLQAWBSAvQQh2C0EPcSIvBH8gLwUgAC0AFUEEdgtBBUcNACAsLQAAQQhxRQ0AICsQSSAqQQAgMiAREDOSIg8gDiAOIA9dGyAPIA4gDiAOXBsgDiAOWyAPIA9bcRsiDiArKgKUAyAqQQBBASARECQgKkEAQQEgERAjkpIgD5MiDyAQIA8gEF4bIA8gECAQIBBcGyAQIBBbIA8gD1txGyIQkiIPIA0gDSAPXRsgDyANIA0gDVwbIA0gDVsgDyAPW3EbIQ0LIC1BAWoiLSA3Rw0ACyA3CyEqIA4hEiANIQ8LIBMgJkMAAAAAIDEbkiETICkgKkkEQCATIBKSIRYgEyAPkiEaIBQgD5IhDQNAIAAoAuQDIAAoAuADIitrQQJ1IClNDQYCQCArIClBAnRqKAIAIi0vABUgLS0AF0EQdHIiL0GAgBBxIC9BgOAAcUGAwABGcg0AIC1BFGohKwJAAkACQAJAAkACQCAvQQh2QQ9xIi8EfyAvBSAALQAVQQR2C0EBaw4FAQMCBAAGCyAsLQAAQQhxDQQLICsgCSAyIBEQPiEOIC0gOCgCAEECdGogEyAOkjgCmAMMBAsgKyAJIDIgERA9IQ4CQAJAAkACQCAJDgQBAQIADwsgLSoCkAMhEEECISsMAgtBASErIC0qApQDIRACQCAJDgICAA4LQQMhKwwBCyAtKgKQAyEQQQAhKwsgLSArQQJ0aiAaIA6TIBCTOAKYAwwDCwJAAkACQAJAIAkOBAEBAgAOCyAtKgKQAyEOQQIhKwwCC0EBISsgLSoClAMhDgJAIAkOAgIADQtBAyErDAELIC0qApADIQ5BACErCyAtICtBAnRqIBMgDyAOk0MAAAA/lJI4ApgDDAILICsgCSAyIBEQMyEOIC0gOCgCAEECdGogEyAOkjgCmAMgLSA6KAIAQQN0aiIvKgLwAyEOAkACQAJAIC8tAPQDQQFrDgIBAAILIBcgDpRDCtcjPJQhDgsgDkMAAAAAYA0CCwJAAkACfSAuQQFNBEAgLSoClAMgKyAJQQEgERAkICsgCUEBIBEQI5KSIRAgDQwBCyANIRAgLSoCkAMgKyAuQQEgERAkICsgLkEBIBEQI5KSCyIOIA5cIC0qApADIhIgElxyRQRAIA4gEpOLQxe30ThdDQEMAgsgDiAOWyASIBJbcg0BCyAtKgKUAyISIBJcIisgECAQXHJFBEAgECASk4tDF7fROF1FDQEMAwsgECAQWw0AICsNAgsgLSAOIBAgMkEAQQAgESAYQQFBAyAKIEEgDBA4GgwBCyAtIBYgLRBJkyArQQAgMiAXED6SOAKcAwsgKUEBaiIpICpHDQALCyAUIBOSIA+SIRMgMSA1RyErIDFBAWohMSAqISkgKw0ACwsgKEE4aiA2IEAvAQAQH0MAAMB/IQ8CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IQ8MAQsgKCoCOCAGlEMK1yM8lCEPCyAoQThqIDYgAC8BdhAfAkACQAJ9AkACQCAoLQA8QQFrDgIAAQMLICgqAjgMAQsgKCoCOCAGlEMK1yM8lAsiDUMAAAAAYEUNACANICNdDQELIA9DAAAAAGBFBEAgIyENDAELIA8gIyAPICNeGyENCyAAQZADaiIqICxBAkEBIAYQJiAsQQJBARAikiAsQQJBASAGECUgLEECQQEQIZKSIg4gDSANIA5dGyAOIA0gDSANXBsgDSANWyAOIA5bcRs4AgAgKEE4aiA2IAAvAXQQH0MAAMB/IQ8CQAJAAkAgKC0APEEBaw4CAAECCyAoKgI4IQ8MAQsgKCoCOCAHlEMK1yM8lCEPCyAoQThqIDYgAC8BeBAfAkACQAJ9AkACQCAoLQA8QQFrDgIAAQMLICgqAjgMAQsgKCoCOCAHlEMK1yM8lAsiDUMAAAAAYEUNACANICRdDQELIA9DAAAAAGBFBEAgJCENDAELIA8gJCAPICReGyENCyAAQZQDaiIvICxBAEEBIAYQJiAsQQBBARAikiAsQQBBASAGECUgLEEAQQEQIZKSIgcgDSAHIA1eGyAHIA0gDSANXBsgDSANWyAHIAdbcRs4AgACQCAqQYECIC5BA3R2QQFxQQJ0agJ9AkAgOUEBRwRAIAAtABdBA3EiKUECRiA5QQJHcg0BCyAAIC4gHiAgEC0hByAsIC5BASAGECYgLCAuQQEQIpIgLCAuQQEgBhAlICwgLkEBECGSkiINIAcgByANXRsgDSAHIAcgB1wbIAcgB1sgDSANW3EbDAELIDlBAkcgKUECR3INASAdIAAgLiAeICAQLSINIB0gFZIiByAHIA1eGyANIAcgByAHXBsgByAHWyANIA1bcRsiByAHIB1dGyAdIAcgByAHXBsgByAHWyAdIB1bcRsLOAIACwJAICpBgQIgCUEDdHZBAXFBAnRqAn0CQCA7QQFHBEAgO0ECRyIpIAAtABdBA3EiK0ECRnINAQsgACAJIBkgG5IgIRAtIQcgLCAJQQEgBhAmICwgCUEBECKSICwgCUEBIAYQJSAsIAlBARAhkpIiBiAHIAYgB14bIAYgByAHIAdcGyAHIAdbIAYgBltxGwwBCyApICtBAkdyDQEgGSAAIAkgGSAbkiAhEC0iByAZIBeSIgYgBiAHXhsgByAGIAYgBlwbIAYgBlsgByAHW3EbIgYgBiAZXRsgGSAGIAYgBlwbIAYgBlsgGSAZW3EbCzgCAAsgCEUNACAALwAVQYCAA3FBgIACRgRAQQEgNyA3QQFNGyEwIAAoAuQDIAAoAuADIjVrQQJ1ISxBACEpA0AgKSAsRg0EIDUgKUECdGooAgAiLS8AFUGA4ABxQYDAAEcEQAJ9AkACQAJAIAkOBAICAAEKCyAtQZADaiExQQAhKyAqKgIAIC0qApgDkwwCCyAtQZADaiExQQIhKyAqKgIAIC0qAqADkwwBCyAvKgIAIQYCQAJAIAkOAgABCQsgLUGUA2ohMUEBISsgBiAtKgKcA5MMAQsgLUGUA2ohMUEDISsgBiAtKgKkA5MLIQYgLSArQQJ0aiAGIDEqAgCTOAKYAwsgKUEBaiIpIDBHDQALCyAuQQFxIjEgCUEBcSIscgRAQQEgNyA3QQFNGyE0IAAoAuQDIAAoAuADIjZrQQJ1ITdBACEpIC5BAWshMwNAICkgN0YNBAJAIDYgKUECdGooAgAiLS8AFSAtLQAXQRB0ciIrQYCAEHEgK0GA4ABxQYDAAEZyDQAgMQRAAn8CfwJAAkACQCAzDgMAAQIMCyAtQZQDaiErIC1BpANqITBBASE1IC8MAwsgLUGYA2ohMEECITUgLUGQA2oMAQsgLUGgA2ohMEEAITUgLUGQA2oLISsgKgshOCAtIDVBAnRqIDgqAgAgKyoCAJMgMCoCAJM4ApgDCyAsRQ0AAn8CfwJAAkACQCAJQQFrDgMAAQILCyAtQZQDaiErIC1BpANqITBBASE1IC8MAwsgLUGYA2ohMEECITUgLUGQA2oMAQsgLUGgA2ohMEEAITUgLUGQA2oLISsgKgshOCAtIDVBAnRqIDgqAgAgKyoCAJMgMCoCAJM4ApgDCyApQQFqIikgNEcNAAsLIAtFIAAvABVBgOAAcXJFBEAgAC0AAEEIcUUNAQsgACAAIDkgBCAuQQFLGyAyIAogQSAMQwAAAABDAAAAACARIBgQdAsgACADOgCkASBEDQAgCiAKKAIIIgMgACgCqAEiKUEBaiIJIAMgCUsbNgIIIClBCEYEQCAAQQA2AqgBQQAhKQsgCAR/IABB7AJqBSAAIClBAWo2AqgBIAAgKUEYbGpBrAFqCyIDIAU2AgwgAyAENgIIIAMgAjgCBCADIAE4AgAgAyAAKgKQAzgCECADIAAqApQDOAIUQQAhRAsgCARAIAAgACkCkAM3AogDIAAgAC0AACIDQQFyIgRB+wFxIAQgA0EEcRs6AAALIAAgDDYCoAEgKEHQAGokACBHIERFcg8LEAIACxAnAAs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxEBAAsOACAAIAEgAkEBQQIQfwvUAQIBfwF9IwBBEGsiBiQAIAZBCGogAEH8AGogAEEUaiIAIAFBAnRBwCRqKAIAQQF0ai8BYhAfQwAAwH8hBwJAAkACQCAGLQAMQQFrDgIAAQILIAYqAgghBwwBCyAGKgIIIAKUQwrXIzyUIQcLIAcgACABQQEgAxAkIAAgAUEBIAMQI5KSIQMCQAJAAkACQCAEKAIADgMAAQADCyAFKgIAIgIgAiADIAIgA10bIAMgA1wbIQMMAQsgAyADXA0BIARBAjYCAAsgBSADOAIACyAGQRBqJAALjAECAX8BfSAAKALcA0UEQEMAAAAADwsgAEH8AGoiASAALwEcECAiAiACWwRAIAEgAC8BHBAgDwsCQCAAKALsAy0ACEEBcQ0AIAEgAC8BGBAgIgIgAlwNACABIAAvARgQIEMAAAAAXUUNACABIAAvARgQIIwPC0MAAIA/QwAAAAAgACgC7AMtAAhBAXEbC3ACAX8BfSMAQRBrIgQkACAEQQhqIAAgAUECdEGwJGooAgAgAhAqQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!ae(re)){var fe=re;re=t.locateFile?t.locateFile(fe,o):o+fe}function F(){var L=re;try{if(L==re&&A)return new Uint8Array(A);if(ae(L))try{var k=mn(L.slice(37)),ee=new Uint8Array(k.length);for(L=0;L=k?"_"+L:L}function _e(L,k){return L=Ae(L),function(){return k.apply(this,arguments)}}var Ue=[{},{value:void 0},{value:null},{value:!0},{value:!1}],W=[];function z(L){var k=Error,ee=_e(L,function(se){this.name=L,this.message=se,se=Error(se).stack,se!==void 0&&(this.stack=this.toString()+` +`+se.replace(/^Error(:[^\n]*)?\n/,""))});return ee.prototype=Object.create(k.prototype),ee.prototype.constructor=ee,ee.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},ee}var H=void 0;function N(L){throw new H(L)}var Ee=L=>(L||N("Cannot use deleted val. handle = "+L),Ue[L].value),Be=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var k=W.length?W.pop():Ue.length;return Ue[k]={ga:1,value:L},k}},pe=void 0,we=void 0;function G(L){for(var k="";y[L];)k+=we[y[L++]];return k}var me=[];function te(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ue=void 0,le={};function De(L,k){for(k===void 0&&N("ptr should not be undefined");L.R;)k=L.ba(k),L=L.R;return k}var q={};function S(L){L=dn(L);var k=G(L);return ft(L),k}function T(L,k){var ee=q[L];return ee===void 0&&N(k+" has unknown type "+S(L)),ee}function ie(){}var be=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,k,ee){return k===ee?L:ee.R===void 0?null:(L=Re(L,k,ee.R),L===null?null:ee.na(L))}var Ke={};function Ve(L,k){return k=De(L,k),le[k]}var $e=void 0;function At(L){throw new $e(L)}function It(L,k){return k.P&&k.O||At("makeClassHandle requires ptr and ptrType"),!!k.U!=!!k.T&&At("Both smartPtrType and smartPtr must be specified"),k.count={value:1},Le(Object.create(L,{M:{value:k}}))}function Le(L){return typeof FinalizationRegistry>"u"?(Le=k=>k,L):(be=new FinalizationRegistry(k=>{Te(k.M)}),Le=k=>{var ee=k.M;return ee.T&&be.register(k,{M:ee},k),k},ie=k=>{be.unregister(k)},Le(L))}var Pt={};function Mt(L){for(;L.length;){var k=L.pop();L.pop()(k)}}function Ct(L){return this.fromWireType(I[L>>2])}var ut={},it={};function xt(L,k,ee){function se(Ne){Ne=ee(Ne),Ne.length!==L.length&&At("Mismatched type converter count");for(var ke=0;ke{q.hasOwnProperty(Ne)?de[ke]=q[Ne]:(xe.push(Ne),ut.hasOwnProperty(Ne)||(ut[Ne]=[]),ut[Ne].push(()=>{de[ke]=q[Ne],++Pe,Pe===xe.length&&se(de)}))}),xe.length===0&&se(de)}function Wt(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function zt(L,k,ee={}){if(!("argPackAdvance"in k))throw new TypeError("registerType registeredInstance requires argPackAdvance");var se=k.name;if(L||N('type "'+se+'" must have a positive integer typeid pointer'),q.hasOwnProperty(L)){if(ee.ua)return;N("Cannot register type '"+se+"' twice")}q[L]=k,delete it[L],ut.hasOwnProperty(L)&&(k=ut[L],delete ut[L],k.forEach(de=>de()))}function Tt(L){N(L.M.P.N.name+" instance already deleted")}function Ot(){}function j(L,k,ee){if(L[k].S===void 0){var se=L[k];L[k]=function(){return L[k].S.hasOwnProperty(arguments.length)||N("Function '"+ee+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[k].S+")!"),L[k].S[arguments.length].apply(this,arguments)},L[k].S=[],L[k].S[se.Z]=se}}function Ge(L,k){t.hasOwnProperty(L)?(N("Cannot register public name '"+L+"' twice"),j(t,L,L),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=k):t[L]=k}function ze(L,k,ee,se,de,xe,Pe,Ne){this.name=L,this.constructor=k,this.X=ee,this.W=se,this.R=de,this.pa=xe,this.ba=Pe,this.na=Ne,this.ja=[]}function ot(L,k,ee){for(;k!==ee;)k.ba||N("Expected null or instance of "+ee.name+", got an instance of "+k.name),L=k.ba(L),k=k.R;return L}function mt(L,k){return k===null?(this.ea&&N("null is not a valid "+this.name),0):(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),ot(k.M.O,k.M.P.N,this.N))}function Kt(L,k){if(k===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var ee=this.fa();return L!==null&&L.push(this.W,ee),ee}return 0}if(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&k.M.P.ca&&N("Cannot convert argument of type "+(k.M.U?k.M.U.name:k.M.P.name)+" to parameter type "+this.name),ee=ot(k.M.O,k.M.P.N,this.N),this.da)switch(k.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:k.M.U===this?ee=k.M.T:N("Cannot convert argument of type "+(k.M.U?k.M.U.name:k.M.P.name)+" to parameter type "+this.name);break;case 1:ee=k.M.T;break;case 2:if(k.M.U===this)ee=k.M.T;else{var se=k.clone();ee=this.xa(ee,Be(function(){se.delete()})),L!==null&&L.push(this.W,ee)}break;default:N("Unsupporting sharing policy")}return ee}function nn(L,k){return k===null?(this.ea&&N("null is not a valid "+this.name),0):(k.M||N('Cannot pass "'+us(k)+'" as a '+this.name),k.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),k.M.P.ca&&N("Cannot convert argument of type "+k.M.P.name+" to parameter type "+this.name),ot(k.M.O,k.M.P.N,this.N))}function sn(L,k,ee,se){this.name=L,this.N=k,this.ea=ee,this.ca=se,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,k.R!==void 0?this.toWireType=Kt:(this.toWireType=se?mt:nn,this.V=null)}function di(L,k){t.hasOwnProperty(L)||At("Replacing nonexistant public symbol"),t[L]=k,t[L].Z=void 0}function on(L,k){var ee=[];return function(){if(ee.length=0,Object.assign(ee,arguments),L.includes("j")){var se=t["dynCall_"+L];se=ee&&ee.length?se.apply(null,[k].concat(ee)):se.call(null,k)}else se=D.get(k).apply(null,ee);return se}}function ln(L,k){L=G(L);var ee=L.includes("j")?on(L,k):D.get(k);return typeof ee!="function"&&N("unknown function pointer with signature "+L+": "+k),ee}var Ti=void 0;function ls(L,k){function ee(xe){de[xe]||q[xe]||(it[xe]?it[xe].forEach(ee):(se.push(xe),de[xe]=!0))}var se=[],de={};throw k.forEach(ee),new Ti(L+": "+se.map(S).join([", "]))}function Us(L,k,ee,se,de){var xe=k.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Pe=k[1]!==null&&ee!==null,Ne=!1;for(ee=1;ee>2]);return ee}function yr(L){4>2])};case 3:return function(ee){return this.fromWireType(R[ee>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Kl(L,k,ee){switch(k){case 0:return ee?function(se){return E[se]}:function(se){return y[se]};case 1:return ee?function(se){return C[se>>1]}:function(se){return p[se>>1]};case 2:return ee?function(se){return I[se>>2]}:function(se){return v[se>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Nu(L,k){for(var ee="",se=0;!(se>=k/2);++se){var de=C[L+2*se>>1];if(de==0)break;ee+=String.fromCharCode(de)}return ee}function ku(L,k,ee){if(ee===void 0&&(ee=2147483647),2>ee)return 0;ee-=2;var se=k;ee=ee<2*L.length?ee/2:L.length;for(var de=0;de>1]=L.charCodeAt(de),k+=2;return C[k>>1]=0,k-se}function Uu(L){return 2*L.length}function V(L,k){for(var ee=0,se="";!(ee>=k/4);){var de=I[L+4*ee>>2];if(de==0)break;++ee,65536<=de?(de-=65536,se+=String.fromCharCode(55296|de>>10,56320|de&1023)):se+=String.fromCharCode(de)}return se}function ge(L,k,ee){if(ee===void 0&&(ee=2147483647),4>ee)return 0;var se=k;ee=se+ee-4;for(var de=0;de=xe){var Pe=L.charCodeAt(++de);xe=65536+((xe&1023)<<10)|Pe&1023}if(I[k>>2]=xe,k+=4,k+4>ee)break}return I[k>>2]=0,k-se}function ye(L){for(var k=0,ee=0;ee=se&&++ee,k+=4}return k}var Se={};function Ie(L){var k=Se[L];return k===void 0?G(L):k}var je=[];function ht(L){var k=je.length;return je.push(L),k}function yt(L,k){for(var ee=Array(L),se=0;se>2],"parameter "+se);return ee}var vt=[],_t=[null,[],[]];H=t.BindingError=z("BindingError"),t.count_emval_handles=function(){for(var L=0,k=5;kwt;++wt)St[wt]=String.fromCharCode(wt);we=St,t.getInheritedInstanceCount=function(){return Object.keys(le).length},t.getLiveInheritedInstances=function(){var L=[],k;for(k in le)le.hasOwnProperty(k)&&L.push(le[k]);return L},t.flushPendingDeletes=te,t.setDelayFunction=function(L){ue=L,me.length&&ue&&ue(te)},$e=t.InternalError=z("InternalError"),Ot.prototype.isAliasOf=function(L){if(!(this instanceof Ot&&L instanceof Ot))return!1;var k=this.M.P.N,ee=this.M.O,se=L.M.P.N;for(L=L.M.O;k.R;)ee=k.ba(ee),k=k.R;for(;se.R;)L=se.ba(L),se=se.R;return k===se&&ee===L},Ot.prototype.clone=function(){if(this.M.O||Tt(this),this.M.aa)return this.M.count.value+=1,this;var L=Le,k=Object,ee=k.create,se=Object.getPrototypeOf(this),de=this.M;return L=L(ee.call(k,se,{M:{value:{count:de.count,$:de.$,aa:de.aa,O:de.O,P:de.P,T:de.T,U:de.U}}})),L.M.count.value+=1,L.M.$=!1,L},Ot.prototype.delete=function(){this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),ie(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ot.prototype.isDeleted=function(){return!this.M.O},Ot.prototype.deleteLater=function(){return this.M.O||Tt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue(te),this.M.$=!0,this},sn.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},sn.prototype.ha=function(L){this.W&&this.W(L)},sn.prototype.argPackAdvance=8,sn.prototype.readValueFromPointer=Ct,sn.prototype.deleteObject=function(L){L!==null&&L.delete()},sn.prototype.fromWireType=function(L){function k(){return this.da?It(this.N.X,{P:this.wa,O:ee,U:this,T:L}):It(this.N.X,{P:this,O:L})}var ee=this.qa(L);if(!ee)return this.ha(L),null;var se=Ve(this.N,ee);if(se!==void 0)return se.M.count.value===0?(se.M.O=ee,se.M.T=L,se.clone()):(se=se.clone(),this.ha(L),se);if(se=this.N.pa(ee),se=Ke[se],!se)return k.call(this);se=this.ca?se.la:se.pointerType;var de=Re(ee,this.N,se.N);return de===null?k.call(this):this.da?It(se.N.X,{P:se,O:de,U:this,T:L}):It(se.N.X,{P:se,O:de})},Ti=t.UnboundTypeError=z("UnboundTypeError");var mn=typeof atob=="function"?atob:function(L){var k="",ee=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),de="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++)),Pe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(ee++));se=se<<2|de>>4,de=(de&15)<<4|xe>>2;var Ne=(xe&3)<<6|Pe;k+=String.fromCharCode(se),xe!==64&&(k+=String.fromCharCode(de)),Pe!==64&&(k+=String.fromCharCode(Ne))}while(eePe.ta).concat(de.map(Pe=>Pe.za));xt([L],xe,Pe=>{var Ne={};return de.forEach((ke,Fe)=>{var We=Pe[Fe],Et=ke.ra,Jt=ke.sa,Tn=Pe[Fe+de.length],Xt=ke.ya,si=ke.Aa;Ne[ke.oa]={read:hi=>We.fromWireType(Et(Jt,hi)),write:(hi,As)=>{var Gr=[];Xt(si,hi,Tn.toWireType(Gr,As)),Mt(Gr)}}}),[{name:k.name,fromWireType:function(ke){var Fe={},We;for(We in Ne)Fe[We]=Ne[We].read(ke);return se(ke),Fe},toWireType:function(ke,Fe){for(var We in Ne)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var Et=ee();for(We in Ne)Ne[We].write(Et,Fe[We]);return ke!==null&&ke.push(se,Et),Et},argPackAdvance:8,readValueFromPointer:Ct,V:se}]})},v:function(){},B:function(L,k,ee,se,de){var xe=Wt(ee);k=G(k),zt(L,{name:k,fromWireType:function(Pe){return!!Pe},toWireType:function(Pe,Ne){return Ne?se:de},argPackAdvance:8,readValueFromPointer:function(Pe){if(ee===1)var Ne=E;else if(ee===2)Ne=C;else if(ee===4)Ne=I;else throw new TypeError("Unknown boolean type size: "+k);return this.fromWireType(Ne[Pe>>xe])},V:null})},f:function(L,k,ee,se,de,xe,Pe,Ne,ke,Fe,We,Et,Jt){We=G(We),xe=ln(de,xe),Ne&&(Ne=ln(Pe,Ne)),Fe&&(Fe=ln(ke,Fe)),Jt=ln(Et,Jt);var Tn=Ae(We);Ge(Tn,function(){ls("Cannot construct "+We+" due to unbound types",[se])}),xt([L,k,ee],se?[se]:[],function(Xt){if(Xt=Xt[0],se)var si=Xt.N,hi=si.X;else hi=Ot.prototype;Xt=_e(Tn,function(){if(Object.getPrototypeOf(this)!==As)throw new H("Use 'new' to construct "+We);if(Gr.Y===void 0)throw new H(We+" has no accessible constructor");var jl=Gr.Y[arguments.length];if(jl===void 0)throw new H("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Gr.Y).toString()+") parameters instead!");return jl.apply(this,arguments)});var As=Object.create(hi,{constructor:{value:Xt}});Xt.prototype=As;var Gr=new ze(We,Xt,As,Jt,si,xe,Ne,Fe);si=new sn(We,Gr,!0,!1),hi=new sn(We+"*",Gr,!1,!1);var ih=new sn(We+" const*",Gr,!1,!0);return Ke[L]={pointerType:hi,la:ih},di(Tn,Xt),[si,hi,ih]})},d:function(L,k,ee,se,de,xe,Pe){var Ne=cs(ee,se);k=G(k),xe=ln(de,xe),xt([],[L],function(ke){function Fe(){ls("Cannot call "+We+" due to unbound types",Ne)}ke=ke[0];var We=ke.name+"."+k;k.startsWith("@@")&&(k=Symbol[k.substring(2)]);var Et=ke.N.constructor;return Et[k]===void 0?(Fe.Z=ee-1,Et[k]=Fe):(j(Et,k,We),Et[k].S[ee-1]=Fe),xt([],Ne,function(Jt){return Jt=Us(We,[Jt[0],null].concat(Jt.slice(1)),null,xe,Pe),Et[k].S===void 0?(Jt.Z=ee-1,Et[k]=Jt):Et[k].S[ee-1]=Jt,[]}),[]})},p:function(L,k,ee,se,de,xe){0{ls("Cannot construct "+Ne.name+" due to unbound types",Pe)},xt([],Pe,function(Fe){return Fe.splice(1,0,null),Ne.N.Y[k-1]=Us(ke,Fe,null,de,xe),[]}),[]})},a:function(L,k,ee,se,de,xe,Pe,Ne){var ke=cs(ee,se);k=G(k),xe=ln(de,xe),xt([],[L],function(Fe){function We(){ls("Cannot call "+Et+" due to unbound types",ke)}Fe=Fe[0];var Et=Fe.name+"."+k;k.startsWith("@@")&&(k=Symbol[k.substring(2)]),Ne&&Fe.N.ja.push(k);var Jt=Fe.N.X,Tn=Jt[k];return Tn===void 0||Tn.S===void 0&&Tn.className!==Fe.name&&Tn.Z===ee-2?(We.Z=ee-2,We.className=Fe.name,Jt[k]=We):(j(Jt,k,Et),Jt[k].S[ee-2]=We),xt([],ke,function(Xt){return Xt=Us(Et,Xt,Fe,xe,Pe),Jt[k].S===void 0?(Xt.Z=ee-2,Jt[k]=Xt):Jt[k].S[ee-2]=Xt,[]}),[]})},A:function(L,k){k=G(k),zt(L,{name:k,fromWireType:function(ee){var se=Ee(ee);return yr(ee),se},toWireType:function(ee,se){return Be(se)},argPackAdvance:8,readValueFromPointer:Ct,V:null})},n:function(L,k,ee){ee=Wt(ee),k=G(k),zt(L,{name:k,fromWireType:function(se){return se},toWireType:function(se,de){return de},argPackAdvance:8,readValueFromPointer:Xl(k,ee),V:null})},e:function(L,k,ee,se,de){k=G(k),de===-1&&(de=4294967295),de=Wt(ee);var xe=Ne=>Ne;if(se===0){var Pe=32-8*ee;xe=Ne=>Ne<>>Pe}ee=k.includes("unsigned")?function(Ne,ke){return ke>>>0}:function(Ne,ke){return ke},zt(L,{name:k,fromWireType:xe,toWireType:ee,argPackAdvance:8,readValueFromPointer:Kl(k,de,se!==0),V:null})},b:function(L,k,ee){function se(xe){xe>>=2;var Pe=v;return new de(g,Pe[xe+1],Pe[xe])}var de=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][k];ee=G(ee),zt(L,{name:ee,fromWireType:se,argPackAdvance:8,readValueFromPointer:se},{ua:!0})},o:function(L,k){k=G(k);var ee=k==="std::string";zt(L,{name:k,fromWireType:function(se){var de=v[se>>2],xe=se+4;if(ee)for(var Pe=xe,Ne=0;Ne<=de;++Ne){var ke=xe+Ne;if(Ne==de||y[ke]==0){if(Pe=Pe?f(y,Pe,ke-Pe):"",Fe===void 0)var Fe=Pe;else Fe+="\0",Fe+=Pe;Pe=ke+1}}else{for(Fe=Array(de),Ne=0;Ne=ke?Ne++:2047>=ke?Ne+=2:55296<=ke&&57343>=ke?(Ne+=4,++xe):Ne+=3}xe=Ne}else xe=de.length;if(Ne=Dn(4+xe+1),ke=Ne+4,v[Ne>>2]=xe,ee&&Pe){if(Pe=ke,ke=xe+1,xe=y,0=We){var Et=de.charCodeAt(++Fe);We=65536+((We&1023)<<10)|Et&1023}if(127>=We){if(Pe>=ke)break;xe[Pe++]=We}else{if(2047>=We){if(Pe+1>=ke)break;xe[Pe++]=192|We>>6}else{if(65535>=We){if(Pe+2>=ke)break;xe[Pe++]=224|We>>12}else{if(Pe+3>=ke)break;xe[Pe++]=240|We>>18,xe[Pe++]=128|We>>12&63}xe[Pe++]=128|We>>6&63}xe[Pe++]=128|We&63}}xe[Pe]=0}}else if(Pe)for(Pe=0;Pep,Ne=1;else k===4&&(se=V,de=ge,xe=ye,Pe=()=>v,Ne=2);zt(L,{name:ee,fromWireType:function(ke){for(var Fe=v[ke>>2],We=Pe(),Et,Jt=ke+4,Tn=0;Tn<=Fe;++Tn){var Xt=ke+4+Tn*k;(Tn==Fe||We[Xt>>Ne]==0)&&(Jt=se(Jt,Xt-Jt),Et===void 0?Et=Jt:(Et+="\0",Et+=Jt),Jt=Xt+k)}return ft(ke),Et},toWireType:function(ke,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+ee);var We=xe(Fe),Et=Dn(4+We+k);return v[Et>>2]=We>>Ne,de(Fe,Et+4,We+k),ke!==null&&ke.push(ft,Et),Et},argPackAdvance:8,readValueFromPointer:Ct,V:function(ke){ft(ke)}})},k:function(L,k,ee,se,de,xe){Pt[L]={name:G(k),fa:ln(ee,se),W:ln(de,xe),ia:[]}},h:function(L,k,ee,se,de,xe,Pe,Ne,ke,Fe){Pt[L].ia.push({oa:G(k),ta:ee,ra:ln(se,de),sa:xe,za:Pe,ya:ln(Ne,ke),Aa:Fe})},C:function(L,k){k=G(k),zt(L,{va:!0,name:k,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,k,ee,se,de){L=je[L],k=Ee(k),ee=Ie(ee);var xe=[];return v[se>>2]=Be(xe),L(k,ee,xe,de)},t:function(L,k,ee,se){L=je[L],k=Ee(k),ee=Ie(ee),L(k,ee,null,se)},g:yr,m:function(L,k){var ee=yt(L,k),se=ee[0];k=se.name+"_$"+ee.slice(1).map(function(Pe){return Pe.name}).join("_")+"$";var de=vt[k];if(de!==void 0)return de;var xe=Array(L-1);return de=ht((Pe,Ne,ke,Fe)=>{for(var We=0,Et=0;Et>>=0,2147483648=ee;ee*=2){var se=k*(1+.2/ee);se=Math.min(se,L+100663296);var de=Math;se=Math.max(L,se),de=de.min.call(de,2147483648,se+(65536-se%65536)%65536);e:{try{d.grow(de-g.byteLength+65535>>>16),Q();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,k,ee,se){for(var de=0,xe=0;xe>2],Ne=v[k+4>>2];k+=8;for(var ke=0;ke>2]=de,0}};(function(){function L(de){t.asm=de.exports,d=t.asm.E,Q(),D=t.asm.J,K.unshift(t.asm.F),Z--,t.monitorRunDependencies&&t.monitorRunDependencies(Z),Z==0&&he&&(de=he,he=null,de())}function k(de){L(de.instance)}function ee(de){return $().then(function(xe){return WebAssembly.instantiate(xe,se)}).then(function(xe){return xe}).then(de,function(xe){l("failed to asynchronously prepare wasm: "+xe),X(xe)})}var se={a:Xn};if(Z++,t.monitorRunDependencies&&t.monitorRunDependencies(Z),t.instantiateWasm)try{return t.instantiateWasm(se,L)}catch(de){l("Module.instantiateWasm callback failed with error: "+de),r(de)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||ae(re)||typeof fetch!="function"?ee(k):fetch(re,{credentials:"same-origin"}).then(function(de){return WebAssembly.instantiateStreaming(de,se).then(k,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),ee(k)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var dn=t.___getTypeName=function(){return(dn=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Dn=t._malloc=function(){return(Dn=t._malloc=t.asm.I).apply(null,arguments)},ft=t._free=function(){return(ft=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var tt;he=function L(){tt||bi(),tt||(he=L)};function bi(){function L(){if(!tt&&(tt=!0,t.calledRun=!0,!h)){if(ne(K),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var k=t.postRun.shift();_.unshift(k)}ne(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Np.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...lH}}const cT=cH(await oH());function Zs(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const uH={static:0,relative:1,absolute:2},eC={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},AH={column:0,"column-reverse":1,row:2,"row-reverse":3},dH={"no-wrap":0,wrap:1,"wrap-reverse":2},hH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},fH={visible:0,hidden:1,scroll:2},pH={flex:0,none:1},uT={positionType:(n,e)=>n.setPositionType(Zs(uH,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Zs(eC,e,4)),alignItems:(n,e)=>n.setAlignItems(Zs(eC,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Zs(eC,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Zs(AH,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Zs(dH,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Zs(hH,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Zs(fH,e,0)),display:(n,e)=>n.setDisplay(Zs(pH,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function B1(n,e,t,i,r){let s=!1,o,a={};r.push(nt(()=>{const l=n.value;s&&g_(t,l,o,a,i),o=l}),nt(()=>{if(s=e.value,!!s&&o!=null)return g_(t,o,void 0,a,i),()=>{gH(a),a={}}}))}function g_(n,e,t,i,r){const s=l=>i[l]=nt(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};rH(()=>e.filterCompare(n,t,s,a,o))}function gH(n){for(const e in n)n[e]()}const DA=100,x1=cT.Config.create();x1.setUseWebDefaults(!0);x1.setPointScaleFactor(DA);function mH(n){return n==="measureFunc"?!0:n in uT}function Co(){const n=rt([!1,!1]);return{size:rt(void 0),relativeCenter:rt(void 0),borderInset:rt(void 0),overflow:rt(_l.Visible),scrollable:n,paddingInset:rt(void 0),maxScrollPosition:rt([void 0,void 0])}}class AT{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=rt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=cT.Node.create(x1),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),B1(t,this.active,mH,(o,a)=>{uT[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*DA+1)/DA,height:Math.ceil(a.height*DA+1)/DA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),iT(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const d=e.indexOf(l);if(d===-1)throw new Error("parent mismatch");const h=e.indexOf(A);if(h===-1)throw new Error("parent mismatch");return d-h});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&EH(i,E_(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=E_(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Nc(this.state.maxScrollPosition,K?D:void 0,_?U:void 0),Nc(this.state.scrollable,K,_)}else Nc(this.state.maxScrollPosition,void 0,void 0),Nc(this.state.scrollable,!1,!1);const w=this.state.overflow.value===_l.Visible;return[s+Math.max(i,w?I:0),o+Math.max(r,w?v:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Nc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function m_(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function E_(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function EH(n,e){return n.M.O===e.M.O}function fm(n,e,t,i){t!=null&&(tC(t.classes,i),i(t)),e!=null&&(tC(e.classes,i),i(e)),n!=null&&(tC(n.classes,i),i(n))}function tC(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class _H{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=SH[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof ni?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);C_(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:C_(i,r)}addAll(e,t,i,r){fm(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function C_(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,d;return s==null?(A=0,d=0):e>s.elementType?(A=s.majorIndex,d=0):e!=s.elementType||!RH(Hr(t),Hr(s.instancedGroupDependencies))?(A=s.majorIndex+1,d=0):(A=s.majorIndex,d=s.minorIndex+1),a>0&&(A+=a,d=0),d+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:d}})}function RH(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Vl(n,e,t){return n[Ey]=e,n[Cy]=t,n}function Io(n,e,t,i){let r=!0;i.push(()=>nt(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function La(n,e,t,i){let r=!0;i.push(()=>nt(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const DH=new O,TH=new O,sp=new O,nC=new dt,bH=new Su,LH=new Gn,iC=Math.PI/180;function PH([n,e,t]){return LH.setFromEuler(bH.set(n*iC,e*iC,t*iC))}const NH="center",kH="center";function yo(n,{relativeCenter:e,size:t},i){const r=Ft(n,"transformTranslateX",0),s=Ft(n,"transformTranslateY",0),o=Ft(n,"transformTranslateZ",0),a=Ft(n,"transformRotateX",0),l=Ft(n,"transformRotateY",0),A=Ft(n,"transformRotateZ",0),d=Ft(n,"transformScaleX",1),h=Ft(n,"transformScaleY",1),f=Ft(n,"transformScaleZ",1),g=Ft(n,"transformOriginX",NH),E=Ft(n,"transformOriginY",kH);return Gt(()=>{if(e.value==null)return;const[y,C]=e.value,p=i.value,I=new dt().makeTranslation(y*p,C*p,0);let v=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;v=!1,sp.set(-NT[g.value]*D*p,-kT[E.value]*U*p,0),I.multiply(nC.makeTranslation(sp)),sp.negate()}const w=[a.value,l.value,A.value],R=[r.value,-s.value,o.value],Q=[d.value,h.value,f.value];return(R.some(D=>D!=0)||w.some(D=>D!=0)||Q.some(D=>D!=1))&&I.multiply(nC.compose(DH.fromArray(R).multiplyScalar(p),PH(w),TH.fromArray(Q))),v||I.multiply(nC.makeTranslation(sp)),I})}function vo(n,e,t){t.push(()=>nt(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const UH=Math.cos(45/180*Math.PI),rC=[new rn,new rn,new rn,new rn],I_=new O;class FH{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new O(t,i,0).applyMatrix4(e),this.facePlane=new rn(new O(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,d=-i+a,h=-t+o;this.planes=[new rn(new O(0,-1,0),d).applyMatrix4(e),new rn(new O(-1,0,0),h).applyMatrix4(e),new rn(new O(0,1,0),l).applyMatrix4(e),new rn(new O(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=rC[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,d=(s.constant-o.constant*a)/A,h=(o.constant-s.constant*a)/A;I_.copy(s.normal).multiplyScalar(d).addScaledVector(o.normal,h),l.constant=-I_.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;rC[t].normal.dot(i)>UH;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;rC[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let h=0;h<4;h++){const[f,g]=OH[h];y_[h].set(f*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let d;for(let h=0;h<4;h++){const f=A[h];d=!0;for(let g=0;g<4;g++){const E=y_[g];f.distanceToPoint(E)>=0&&(d=!1)}if(d)return!0}return!1})}function pm(n,{overflow:e,borderInset:t,size:i},r,s){return Gt(()=>{const o=n.value;if(o==null||e.value===_l.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,d,h,f]=t.value,g=r.value,E=new FH(o,(d-f)*g/2,(A-h)*g/2,(a-f-d)*g,(l-A-h)*g);return s?.value!=null&&E.min(s.value),E})}const Iy=new rn(new O(-1,0,0),Number.MAX_SAFE_INTEGER),Eg=new Float32Array(16);for(let n=0;n<4;n++)Iy.normal.toArray(Eg,n*4),Eg[n*4+3]=Iy.constant;function $d(n,e,t){const i=[new rn,new rn,new rn,new rn],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(Iy);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function dT(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function HH(n,e,t){dT(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function GH(n,e,t,i){dT(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function zH(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const d=l.offset,h=l.elements.length-1;if(h!=i){const g=d+h,E=d+i;a(E,g,g+1);const y=l.elements[h];l.elements[i]=y,o(y,i)}if(s(d+h),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=f.missingSpace,f=n[--e]}return n.length=e+1,!1}function VH(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let d=o-1;d>=0;d--){const h=n[d];if(h.missingSpace===0)continue;const f=h.missingSpace<0;if(f&&(l||A)){v_(n,t,d,o,Math.abs(h.missingSpace));continue}if(!A&&!f)continue;const g=Math.min(Math.abs(h.missingSpace),Math.abs(a.missingSpace));A?WH(n,t,d,o,g):v_(n,t,d,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),fT=rt(hT?.matches??!1);hT?.addEventListener("change",n=>fT.value=n.matches);const w1=rt("system"),pT=Gt(()=>{switch(w1.value){case"system":return fT.value;case"dark":return!0;case"light":return!1}});function YH(n){w1.value=n}function B_(){return w1.peek()}const Bo={dark:th(()=>pT.value)};function JH({dark:n,light:e}){const t={};for(const i in n)t[i]=Gt(()=>pT.value?n[i]:e[i]);return t}const gT={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},mT=Object.keys(gT),XH=mT.length;function xo(n){const e={};for(let t=0;t(n.value?.[0]??0)>gT[i])}return e}function x_(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function sC(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function Ld(n,e,t){return e.xadvance*n+t}function op(n,e){return n*e}function yy(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const KH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},jH=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=S1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s0&&r!=null&&l>r)break;const h=n[s+1];(h===" "||h===` -`||h==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function S1(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);oC.set(n,s)}).catch(console.error)}async function $H(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await qH.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new iG(t,i)}const vy={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},eG={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function mT(n,e,t,i){const r=it(void 0),s=zt(n,"fontFamily",void 0),o=zt(n,"fontWeight","normal");return i.push(()=>ft(()=>{const a=e?.value??eG;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=tG(a[l],typeof o.value=="string"?vy[o.value]:o.value);let d=!1;return ZH(A,t,h=>d?void 0:r.value=h),()=>d=!0})),r}function tG(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-nG(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,d={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(h=>Hr(h)).join(""):Hr(A),wordBreak:a.value};return i.current=d,(h,f)=>aG(d,f===kp.Undefined?void 0:h)})}const ET={"keep-all":KH,"break-all":XH,"break-word":jH},ap={};function aG(n,e){const t=ET[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; +`||h==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function S1(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);oC.set(n,s)}).catch(console.error)}async function eG(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await ZH.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new rG(t,i)}const vy={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},tG={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function ET(n,e,t,i){const r=rt(void 0),s=Ft(n,"fontFamily",void 0),o=Ft(n,"fontWeight","normal");return i.push(()=>nt(()=>{const a=e?.value??tG;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=nG(a[l],typeof o.value=="string"?vy[o.value]:o.value);let d=!1;return $H(A,t,h=>d?void 0:r.value=h),()=>d=!0})),r}function nG(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-iG(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,d={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(h=>Hr(h)).join(""):Hr(A),wordBreak:a.value};return i.current=d,(h,f)=>lG(d,f===kp.Undefined?void 0:h)})}const CT={"keep-all":jH,"break-all":KH,"break-word":qH},ap={};function lG(n,e){const t=CT[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; varying vec2 fontUv; attribute vec4 instanceRGBA; varying vec4 rgba; @@ -3888,9 +3888,9 @@ No matching component was found for: } diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); diffuseColor *= rgba; - `)}}}class uG extends tn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i,r,s){const o=new Qa;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const x_=new At,AG=new At;function CT(n){return Ht(()=>({font:n.value}))}class dG{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(Eg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Pd(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;rG(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),x_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(AG.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),x_.toArray(t.array,e),t.needsUpdate=!0}}class hG{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.rootCameraDistance=t,this.object=i}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new fG(this.object,t,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:ii.Text,minorIndex:0})),r}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class fG{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s){this.object=e,this.pixelSize=i,this.rootCameraDistance=r,this.orderInfo=s,this.instanceMaterial=new cG(t)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;oh-f);const l=this.holeIndicies.length;let A=0,d=0;for(;d0)for(let h=this.holeIndicies[0];hft(()=>i.value?.addLayoutChangeListener(()=>{const R=y.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:K}}=r;if(R==null||D==null||U==null||K==null)return;const[_,P]=D,[Z,he,X,le]=U,[se,fe,F,$]=K,ne=_-he-le-fe-$,Ae=P-Z-X-se-F;Q.value=lG(R,ne,Ae)})),()=>ft(()=>{const R=l.value;if(R==null||a.value==null)return;const D=new EG(A.getGroup(a.value.majorIndex,R),v,p,I,w,Q,t,s,o,d,h,f);return g!=null&&(g.current=D),()=>D.destroy()})),C}const mG=[];class EG{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,d,h,f){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=d,this.selectionBoxes=h,this.caretPosition=f,this.unsubscribeInitialList=[ft(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),ft(()=>this.updateSelectionBoxes(this.lastLayout,d?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-cp(i,this.verticalAlign.peek());const r=Math.floor(t/-op(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const d=s[s.length-1];return d.charIndexOffset+d.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let d=0;d=h.charIndexOffset+h.charLength)continue;const f=this.glyphLines[d][Math.max(i-h.charIndexOffset,0)];return{lineIndex:d,x:this.getGlyphX(f,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:S_(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(il(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(ft(()=>{const e=this.matrix.value;e!=null&&il(this.glyphLines,t=>t.updateBaseMatrix(e))}),ft(()=>{const e=this.parentClippingRect?.value;il(this.glyphLines,t=>t.updateClippingRect(e))}),ft(()=>{const e=this.color.value;il(this.glyphLines,t=>t.updateColor(e))}),ft(()=>{const e=this.opacity.value;il(this.glyphLines,t=>t.updateOpacity(e))}),ft(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=cp(e,this.verticalAlign.value)-e.availableHeight/2;const d=r.length,h=this.group.pixelSize.value;for(let f=0;fC+y){w=P.id;const X=I+B_(i,o,P,w);typeof Q[K]=="number"?Q[K]=I:Q.splice(K,0,X),I+=v+Ld(o,P,s);continue}let Z=Q[K];for(;Kf.hide(),d),this.glyphLines.length=d,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(ys.constant=0,ys.normal.set(0,0,1),ys.applyMatrix4(i),ys.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(ys,up)==null)return;const r=ys.normal.clone();for(let s=0;s<4;s++){const o=yG[s];if(ys.copy(o).applyMatrix4(i),(rl[s]=ys.distanceToPoint(up))<0)return}t.push({distance:up.distanceTo(e.ray.origin),object:n,point:up.clone(),uv:new ve(rl[0]/(rl[0]+rl[1]),rl[3]/(rl[2]+rl[3])),normal:r})}}function Lu(n,e,t,i,r){return(s,o)=>{const a=t instanceof Vt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:d}=r.value,h=o.length;e.call(n,s,o);const f=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=h;E--){const y=o[E];if(y.distance-=l*.01+d*.001+A*1e-5,f!=null){for(let C=0;C<4;C++)if(ys.copy(f[C]).applyMatrix4(g),ys.distanceToPoint(y.point)<0){o.splice(E,1);continue e}}}}}const BT=new Ze(-1,-1,-1),xT={backgroundColor:BT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let aC;function Wl(){if(aC==null){const n={};for(const e in xT)n[e]=e;aC=eh(n)}return aC}function eh(n,e){const t={...xT,...e},i={};for(const s in n){const o=vG[s],a=t[s];i[n[s]]=(l,A,d,h,f)=>o(l,A,d??a,h,f)}const r=new Float32Array(16);return Pd(r,4,t.backgroundColor,void 0),Pd(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Ht(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),d=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),h=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),f=o.value.some(C=>C>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(d===-1||d>0)&&h!=BT)&&!f?!1:l==null?!0:!l.value})}}const vG={backgroundColor:(n,e,t,i,r)=>Pd(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Pd(n,e+8,t,r),borderBend:(n,e,t,i,r)=>lC(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>lC(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>lC(n,e+15,t,r)};function Ap(n,e,t,i,r,s){IG(n,e,t,i,r),s?.(e,1)}function lC(n,e,t,i){n[e]=t,i?.(e,1)}const BG=new Ze;function Pd(n,e,t,i){Array.isArray(t)?n.set(t,e):BG.set(t).toArray(n,e),i?.(e,3)}function wT(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Fr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Fr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),SG(r,e.type==="instanced")},t}class ST extends Yg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),MT(e,this.info.type==="instanced")}}class _T extends Wg{info;constructor(e){super({depthPacking:Ov}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),MT(e,this.info.type==="instanced")}}const xG=new _T({type:"instanced"}),wG=new ST({type:"instanced"});function MT(n,e){QT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include - ${RT(e,void 0)} - `)}function QT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include + `)}}}class AG extends Zt{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i,r,s){const o=new Qa;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const w_=new dt,dG=new dt;function IT(n){return Gt(()=>({font:n.value}))}class hG{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(Eg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Pd(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;sG(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),w_.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(dG.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),w_.toArray(t.array,e),t.needsUpdate=!0}}class fG{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>nt(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>nt(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new pG(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{majorIndex:e,elementType:ii.Text,minorIndex:0})),r}}class pG{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s,o,a){this.renderOrder=e,this.object=i,this.pixelSize=s,this.rootCameraDistance=o,this.orderInfo=a,this.instanceMaterial=new uG(r),this.instanceMaterial.depthTest=t}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;oh-f);const l=this.holeIndicies.length;let A=0,d=0;for(;d0)for(let h=this.holeIndicies[0];hnt(()=>i.value?.addLayoutChangeListener(()=>{const Q=y.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:K}}=r;if(Q==null||D==null||U==null||K==null)return;const[_,P]=D,[Z,he,X,ae]=U,[re,fe,F,$]=K,ne=_-he-ae-fe-$,Ae=P-Z-X-re-F;R.value=cG(Q,ne,Ae)})),()=>nt(()=>{const Q=l.value;if(Q==null||a.value==null)return;const D=new CG(A.getGroup(a.value.majorIndex,Q),I,p,v,w,R,t,s,o,d,h,f);return g!=null&&(g.current=D),()=>D.destroy()})),C}const EG=[];class CG{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,d,h,f){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=d,this.selectionBoxes=h,this.caretPosition=f,this.unsubscribeInitialList=[nt(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),nt(()=>this.updateSelectionBoxes(this.lastLayout,d?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-cp(i,this.verticalAlign.peek());const r=Math.floor(t/-op(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const d=s[s.length-1];return d.charIndexOffset+d.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let d=0;d=h.charIndexOffset+h.charLength)continue;const f=this.glyphLines[d][Math.max(i-h.charIndexOffset,0)];return{lineIndex:d,x:this.getGlyphX(f,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:__(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(il(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(nt(()=>{const e=this.matrix.value;e!=null&&il(this.glyphLines,t=>t.updateBaseMatrix(e))}),nt(()=>{const e=this.parentClippingRect?.value;il(this.glyphLines,t=>t.updateClippingRect(e))}),nt(()=>{const e=this.color.value;il(this.glyphLines,t=>t.updateColor(e))}),nt(()=>{const e=this.opacity.value;il(this.glyphLines,t=>t.updateOpacity(e))}),nt(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=cp(e,this.verticalAlign.value)-e.availableHeight/2;const d=r.length,h=this.group.pixelSize.value;for(let f=0;fC+y){w=P.id;const X=v+x_(i,o,P,w);typeof R[K]=="number"?R[K]=v:R.splice(K,0,X),v+=I+Ld(o,P,s);continue}let Z=R[K];for(;Kf.hide(),d),this.glyphLines.length=d,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(ys.constant=0,ys.normal.set(0,0,1),ys.applyMatrix4(i),ys.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(ys,up)==null)return;const r=ys.normal.clone();for(let s=0;s<4;s++){const o=vG[s];if(ys.copy(o).applyMatrix4(i),(rl[s]=ys.distanceToPoint(up))<0)return}t.push({distance:up.distanceTo(e.ray.origin),object:n,point:up.clone(),uv:new ve(rl[0]/(rl[0]+rl[1]),rl[3]/(rl[2]+rl[3])),normal:r})}}function Lu(n,e,t,i,r){return(s,o)=>{const a=t instanceof Vt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:d}=r.value,h=o.length;e.call(n,s,o);const f=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=h;E--){const y=o[E];if(y.distance-=l*.01+d*.001+A*1e-5,f!=null){for(let C=0;C<4;C++)if(ys.copy(f[C]).applyMatrix4(g),ys.distanceToPoint(y.point)<0){o.splice(E,1);continue e}}}}}const xT=new Ze(-1,-1,-1),wT={backgroundColor:xT,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let aC;function Wl(){if(aC==null){const n={};for(const e in wT)n[e]=e;aC=eh(n)}return aC}function eh(n,e){const t={...wT,...e},i={};for(const s in n){const o=BG[s],a=t[s];i[n[s]]=(l,A,d,h,f)=>o(l,A,d??a,h,f)}const r=new Float32Array(16);return Pd(r,4,t.backgroundColor,void 0),Pd(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Gt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),d=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),h=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),f=o.value.some(C=>C>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(d===-1||d>0)&&h!=xT)&&!f?!1:l==null?!0:!l.value})}}const BG={backgroundColor:(n,e,t,i,r)=>Pd(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&Ap(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Pd(n,e+8,t,r),borderBend:(n,e,t,i,r)=>lC(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>lC(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>lC(n,e+15,t,r)};function Ap(n,e,t,i,r,s){yG(n,e,t,i,r),s?.(e,1)}function lC(n,e,t,i){n[e]=t,i?.(e,1)}const xG=new Ze;function Pd(n,e,t,i){Array.isArray(t)?n.set(t,e):xG.set(t).toArray(n,e),i?.(e,3)}function ST(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Fr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Fr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),_G(r,e.type==="instanced")},t}class _T extends Yg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),QT(e,this.info.type==="instanced")}}class MT extends Wg{info;constructor(e){super({depthPacking:Ov}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),QT(e,this.info.type==="instanced")}}const wG=new MT({type:"instanced"}),SG=new _T({type:"instanced"});function QT(n,e){RT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include + ${DT(e,void 0)} + `)}function RT(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include out vec4 borderRadius; ${e?"":"uniform highp mat4 data;"}`),n.vertexShader=n.vertexShader.replace("#include ",` #include highp int packedBorderRadius = int(data[1].w); @@ -4019,7 +4019,7 @@ No matching component was found for: borderWeight = normalize(insideBorder); } - #include `)}function RT(n,e){return`float ddx = fwidth(distance.x); + #include `)}function DT(n,e){return`float ddx = fwidth(distance.x); float outer = smoothstep(-ddx, ddx, distance.x); float ddy = fwidth(distance.y); @@ -4042,8 +4042,8 @@ No matching component was found for: if(outOpacity < 0.01) { discard; - }`}function SG(n,e){QT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include - ${RT(e,"diffuseColor.a")} + }`}function _G(n,e){RT(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include + ${DT(e,"diffuseColor.a")} diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); diffuseColor.a = outOpacity; `),n.fragmentShader=n.fragmentShader.replace("#include ",` #include @@ -4054,4 +4054,4 @@ No matching component was found for: float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Yl(n,e,t,i,r){const s=new tn(M1);return s.matrixAutoUpdate=!1,s.raycast=Lu(s,vT(s),e.object,t,n),s.visible=!1,r.push(()=>ft(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class _G extends tn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i){const r=yT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=xG,this.customDistanceMaterial=wG}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Jl(n){const e=zt(n,"panelMaterialClass",ir),t=zt(n,"castShadow",!1),i=zt(n,"receiveShadow",!1);return Ht(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const gm={panelMaterialClass:ir,castShadow:!1,receiveShadow:!1};class MG{pixelSize;root;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.root=t,this.object=i}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=gm){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);if(a==null){const l=wT(t,{type:"instanced"});s.set(o,a=new QG(this.object,l,this.pixelSize,this.root,{elementType:ii.Panel,majorIndex:e,minorIndex:0},i,r))}return a}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class QG{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{cC(this.instanceMatrix,e,t,i),cC(this.instanceData,e,t,i),cC(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a){this.object=e,this.instanceMaterial=t,this.pixelSize=i,this.root=r,this.orderInfo=s,this.meshReceiveShadow=o,this.meshCastShadow=a}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}insert(e,t){if(this.elementCount+=1,!HH(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!GH(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),zH(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),OH(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new fr(t,16,!1),this.instanceMatrix.setUsage(sa);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new fr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(sa);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new fr(r,16,!1),this.instanceClipping.setUsage(sa),this.mesh=new _G(this.instanceMatrix,this.instanceData,this.instanceClipping),Vl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function cC(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function ks(n,e,t,i,r,s,o,a,l,A,d,h){return h.push(ft(()=>{if(e.value==null)return;const f=[],g=i.getGroup(e.value.majorIndex,t?.value);return new DG(n,g,e.value.minorIndex,r,s,o,a,l,A,d,f),()=>Er(f)})),h}const dp=new At,RG=new At;class DG{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=it(!1);constructor(e,t,i,r,s,o,a,l,A,d,h){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=d;const f=d.setters;B1(e,this.active,d.hasProperty,(E,y)=>{const C=this.getIndexInBuffer();if(C==null)return;const{instanceData:p,instanceDataOnUpdate:v}=this.group;f[E](p.array,p.itemSize*C,y,s,v)},h);const g=d.computedIsVisibile(e,a,s,A);h.push(ft(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(ft(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(dp.makeScale(s*a,o*a,1),this.offset!=null){const[A,d]=this.offset.value;dp.premultiply(RG.makeTranslation(A*a,d*a,0))}dp.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;dp.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),ft(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),ft(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),ft(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(Eg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new At().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Cm(n,e,t,i){return i.push(()=>ft(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function Im(n,{scrollable:e,maxScrollPosition:t,anyAncestorScrollable:i},r,s,o,a,l){const A=Ht(()=>e.value?.some(E=>E)??!1),d=new Map,h=new ve,f=(E,y,C,p,v)=>{if(n.value==null)return;const[I,w]=E==null?[!1,!1]:TG(E.nativeEvent);I&&(y=0),w&&(C=0);const[Q,R]=n.value,[D,U]=t.value;let[K,_]=n.value;const[P,Z]=i?.value??[!1,!1];K=__(Q,D,y,v&&!P),_=__(R,U,C,v&&!Z),p!=null&&p>0&&h.set(y,C).divideScalar(p),E!=null&&bG(E.nativeEvent,I||Math.min(Q,(D??0)-Q)>5,w||Math.min(R,(U??0)-R)>5),!(s.peek()?.onScroll?.(K,_,n,E)===!1||Q===K&&R===_)&&(n.value=[K,_])},g=E=>{if(d.size>0||n.value==null)return;let y=0,C=0;const[p,v]=n.value,[I,w]=t.value;y+=By(p,0,I??0)*-.3,C+=By(v,0,w??0)*-.3,y+=h.x*E,C+=h.y*E,h.multiplyScalar(.9),Math.abs(h.x)<.01&&(h.x=0),Math.abs(h.y)<.01&&(h.y=0),!(y===0&&C===0)&&f(void 0,y,C,void 0,!0)};return l.push(()=>(a.add(g),()=>a.delete(g))),Ht(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:y})=>{let C=d.get(E.pointerId);C==null&&d.set(E.pointerId,C={timestamp:0,point:new O}),C.timestamp=performance.now()/1e3,r.current.worldToLocal(C.point.copy(y))},onPointerUp:({nativeEvent:E})=>d.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>d.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>d.delete(E.pointerId),onPointerMove:E=>{const y=d.get(E.nativeEvent.pointerId);if(y==null)return;r.current.worldToLocal(AC.copy(E.point)),uC.copy(AC).sub(y.point).divideScalar(o.peek());const C=performance.now()/1e3,p=C-y.timestamp;y.point.copy(AC),y.timestamp=C,!E.defaultPrevented&&f(E,-uC.x,uC.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:y}=E;f(E,y.deltaX,y.deltaY,void 0,!1)}}})}const DT=Symbol("was-scrolled");function TG(n){return n[DT]??[!1,!1]}function bG(n,e,t){n[DT]=[e,t]}function __(n,e,t,i){if(t===0)return n;const r=By(n,0,e??0);M_(t)===M_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:_1(s,0,e??0)}function M_(n){return n>=0}function By(n,e,t){return nt?n-t:0}const LG=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function ym(n,e,t,i,r,s,o,a,l){const A=Ci(void 0,ii.Panel,gm,o),d=zt(n,"scrollbarWidth",10),h=Q1(n,LG);R_(n,0,e,t,i,r,s,A,a,d,h,l),R_(n,1,e,t,i,r,s,A,a,d,h,l)}let Q_;function PG(){return Q_??=eh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),Q_}function R_(n,e,t,i,r,s,o,a,l,A,d,h){const f=Ht(()=>NG(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Ht(()=>f.value?.slice(0,2)??[0,0]),E=Ht(()=>f.value?.slice(2,4)??[0,0]);h.push(y=>ks(n,a,void 0,l,r,E,g,d,o,s,PG(),y))}function NG(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],d=Math.max(e,A*A/(o+A)),h=A-d,f=s[n];return a[n]=t[n]*.5-d*.5-r[(n+3)%4]-h*_1(f/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=d,a[l+2]=e,a}function kG(n,e,t,i,r){let s=!1;if(fm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};Ml("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),Ml("onPointerUp",n,o),Ml("onPointerLeave",n,o)}function wo(n){return{active:th(()=>n.value.length>0)}}function Na(n,e){return Ht(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function TT(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ni)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(ft(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function ka(n,e,t,i,r,s){s.push(o=>{const a=new uT(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(ft(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const D_=new Map,vm={keepAspectRatio:(n,e)=>{let t=D_.get(n);t==null&&D_.set(n,t=Ht(()=>Hr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function So(n,e,t,i,r,s,o){return Ht(()=>{const a={};return UG(a,s?.value),g6(a,n.value,e.value,t.value,i,o),kG(a,n.value,e.value,t.value,r),a})}function UG(n,e){for(const t in e)Ml(t,n,e[t])}function Ml(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function _o(n,e,t,i,r,s){return Ht(()=>{const o=new SH(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const T_=new Ze;function bT(n,e,t){const i=zt(n,"color",void 0),r=zt(n,"opacity",1);t.push(()=>ft(()=>{let s;Array.isArray(i.value)?s=T_.setRGB(...i.value):i.value!=null&&(s=T_.set(i.value)),Hr(e)?.traverse(o=>{if(!(o instanceof tn))return;const a=o.material;a.color.copy(s??o.userData.color),a.opacity=r.value})}))}const FG=.01,b_=new O,hp=new rn,fp=it(new At);function OG(n,e,t,i,r,s,o,a){const l=it([0,0]),A=it([]),d=it([]),h=[];Qo(A,h);const f=Ht(()=>Hr(e.value?.pixelSize)??FG),g=_o(n,e,t,{...Bo,...xo(l),...Ro(A),...wo(d)},{...L_(f,"sizeX","width"),...L_(f,"sizeY","height")}),E=it(void 0),y=HG(a,E,h),C=Co(void 0);h.push(he=>{const X=new uT(C,g,y,i,he);return E.value=X,he});const p=yo(g,C,f),v=WG(g,p,C.size,f);vo(i,v,h);const I=Jl(g),w=Ci(void 0,ii.Panel,I,void 0),Q={cameraDistance:0},R=new MG(f,Q,i);h.push(()=>(a.add(R.onFrame),()=>a.delete(R.onFrame)));const D=()=>{if(i.current==null){Q.cameraDistance=0;return}hp.normal.set(0,0,1),hp.constant=0,hp.applyMatrix4(i.current.matrixWorld),b_.setFromMatrixPosition(s().matrixWorld),Q.cameraDistance=hp.distanceToPoint(b_)};h.push(()=>(a.add(D),()=>a.delete(D))),h.push(he=>ks(g,w,I,R,fp,C.size,void 0,C.borderInset,void 0,void 0,Wl(),he));const U=mm();Cm(r,U,f,h);const K=Em(U,fp,f);ym(g,U,C,fp,void 0,void 0,w,R,h);const _=Im(U,C,i,e,f,a,h);Io(n,e,C.size,h);const P=new hG(f,Q,i);h.push(()=>(a.add(P.onFrame),()=>a.delete(P.onFrame)));const Z=Object.assign(Q,{requestCalculateLayout:y,onFrameSet:a,cameraDistance:0,gylphGroupManager:P,object:i,panelGroupManager:R,pixelSize:f,renderer:o,size:C.size});return Object.assign(C,{clippingRect:pm(fp,C,f,void 0),childrenMatrix:K,node:E,orderInfo:w,initializers:h,interactionPanel:Yl(w,Z,void 0,C.size,h),handlers:So(n,e,t,A,d,_),root:Z})}function HG(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function L_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Ht(()=>{const a=Hr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const GG=new At,zG="center",VG="center";function WG(n,e,t,i){const r=zt(n,"anchorX",zG),s=zt(n,"anchorY",VG);return Ht(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(GG.makeTranslation(PT[r.value]*o*i.value,NT[s.value]*a*i.value,0))})}function YG(n,e,t,i,r,s){const o=it(void 0),a=Co(n.anyAncestorScrollable),l=it([]),A=it([]),d=[];Qo(l,d);const h=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(l),...wo(A)});ka(o,a,n,h,r,d);const f=yo(h,a,n.root.pixelSize);vo(r,f,d);const g=Na(n.childrenMatrix,f),E=Pa(n.clippingRect,g,a.size,n.root.pixelSize),y=Jl(h),C=Ci(h,ii.Panel,y,n.orderInfo);d.push(w=>ks(h,C,y,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Wl(),w));const p=mm();Cm(s,p,n.root.pixelSize,d);const v=Em(p,g,n.root.pixelSize);ym(h,p,a,g,E,n.clippingRect,C,n.root.panelGroupManager,d);const I=Im(p,a,r,t,n.root.pixelSize,n.root.onFrameSet,d);return Io(e,t,a.size,d),La(e,t,E,d),Object.assign(a,{clippingRect:pm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:v,node:o,orderInfo:C,root:n.root,scrollPosition:p,interactionPanel:Yl(C,n.root,n.clippingRect,a.size,d),handlers:So(e,t,i,l,A,I),initializers:d})}const JG="fill";function XG(n,e,t,i,r,s,o){const a=[],l=it(void 0),A=it([]),d=it([]);Qo(A,a);const h=Ht(()=>Hr(e.value));TT(l,ZG,a,h);const f=Ht(()=>{const U=l.value;if(U==null)return;const K=U.source.data;return K.width/K.height}),g=_o(t,i,r,{...Bo,...xo(n.root.size),...Ro(A),...wo(d)},vm,U=>U.add("aspectRatio",f)),E=it(void 0),y=Co(n.anyAncestorScrollable);ka(E,y,n,g,s,a);const C=yo(g,y,n.root.pixelSize);vo(s,C,a);const p=Na(n.childrenMatrix,C),v=Pa(n.clippingRect,p,y.size,n.root.pixelSize),I=Ht(()=>v.value||l.value==null),w=Ci(g,ii.Image,void 0,n.orderInfo),Q=mm();Cm(o,Q,n.root.pixelSize,a);const R=Em(Q,p,n.root.pixelSize);ym(g,Q,y,p,v,n.clippingRect,w,n.root.panelGroupManager,a);const D=Im(Q,y,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Io(t,i,y.size,a),La(t,i,v,a),Object.assign(y,{initializers:a,handlers:So(t,i,r,A,d,D),interactionPanel:KG(g,l,n,y,w,n.root,I,a),clippingRect:pm(p,y,n.root.pixelSize,n.clippingRect),childrenMatrix:R,node:E,orderInfo:w,root:n.root})}let P_;function LT(){return P_??=eh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),P_}function KG(n,e,t,i,r,s,o,a){const l=new tn(M1);l.matrixAutoUpdate=!1;const A=$d(s,t.clippingRect,a),d=LT().computedIsVisibile(n,i.borderInset,i.size,o);return $G(n,l,i.size,i.borderInset,d,A,a),l.raycast=Lu(l,vT(l),s.object,t.clippingRect,r),Vl(l,s,r),jG(n,e,i.borderInset,i.size,a),a.push(()=>ft(()=>l.visible=d.value)),a.push(()=>ft(()=>{const h=e.value??null;l.material.map!==h&&(l.material.map=h,l.material.needsUpdate=!0)}),()=>ft(()=>{if(i.size.value==null)return;const[h,f]=i.size.value,g=t.root.pixelSize.value;l.scale.set(h*g,f*g,1),l.updateMatrix()})),l}function jG(n,e,t,i,r){const s=zt(n,"fit",JG);r.push(()=>ft(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){N_(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[d,h]=i.value,[f,g,E,y]=t.value,C=(d-y-g)/(h-f-E);A>C?o.matrix.translate(-(.5*(C-A))/C,0).scale(C/A,1):o.matrix.translate(0,-(.5*(A-C))/A).scale(1,A/C),N_(t,i,o)}))}function N_(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,d=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+d)/r).scale(i/A,r/d)}const qG=new um;async function ZG(n){if(n==null)return Promise.resolve(void 0);if(n instanceof wn)return Promise.resolve(n);try{const e=await qG.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function $G(n,e,t,i,r,s,o){const a=new Float32Array(16),l={data:a,type:"normal"};e.customDepthMaterial=new _T(l),e.customDistanceMaterial=new ST(l),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const A=zt(n,"panelMaterialClass",ir);o.push(()=>ft(()=>{e.material=wT(A.value,l),e.material.clippingPlanes=s}),()=>ft(()=>e.castShadow=n.value.read("castShadow",!1)),()=>ft(()=>e.receiveShadow=n.value.read("receiveShadow",!1)));const d=LT(),h=[];o.push(()=>ft(()=>{if(r.value)return a.set(d.defaultData),h.push(ft(()=>t.value!=null&&a.set(t.value,13)),ft(()=>i.value!=null&&a.set(i.value,0))),()=>Er(h)}));const f=d.setters;o.push(g=>(B1(n,r,d.hasProperty,(E,y)=>f[E](a,0,y,t,void 0),g),g))}function e6(n,e,t,i,r,s,o){const a=it([]),l=it([]),A=[];Qo(a,A);const d=_o(i,r,s,{...Bo,...xo(n.root.size),...Ro(a),...wo(l)}),h=it(void 0),f=Co(n.anyAncestorScrollable);ka(h,f,n,d,o,A);const g=yo(d,f,n.root.pixelSize);vo(o,g,A);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,f.size,n.root.pixelSize),C=Jl(d),p=Ci(d,ii.Panel,C,n.orderInfo);A.push(Q=>ks(d,p,C,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,y,Wl(),Q));const v=mT(d,t,n.root.renderer,A),I=Ci(void 0,ii.Text,CT(v),p),w=IT(d,e,E,h,f,y,n.clippingRect,I,v,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>ft(()=>h.value?.setMeasureFunc(w))),Io(i,r,f.size,A),La(i,r,y,A),Object.assign(f,{interactionPanel:Yl(p,n.root,n.clippingRect,f.size,A),handlers:So(i,r,s,a,l),initializers:A})}const t6=Nn;class Pu extends Yi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new bs(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(W,z){if(W.nodeType!==1)return;const H=w(W);let N=!1,Ee=null;switch(W.nodeName){case"svg":z=E(W,z);break;case"style":s(W);break;case"g":z=E(W,z);break;case"path":z=E(W,z),W.hasAttribute("d")&&(Ee=r(W));break;case"rect":z=E(W,z),Ee=l(W);break;case"polygon":z=E(W,z),Ee=A(W);break;case"polyline":z=E(W,z),Ee=d(W);break;case"circle":z=E(W,z),Ee=h(W);break;case"ellipse":z=E(W,z),Ee=f(W);break;case"line":z=E(W,z),Ee=g(W);break;case"defs":N=!0;break;case"use":z=E(W,z);const we=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),G=W.viewportElement.getElementById(we);G?i(G,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+we);break}Ee&&(z.fill!==void 0&&z.fill!=="none"&&Ee.color.setStyle(z.fill,t6),R(Ee,Ae),Z.push(Ee),Ee.userData={node:W,style:z});const Be=W.childNodes;for(let pe=0;pe0?Ae.copy(X[X.length-1]):Ae.identity())}function r(W){const z=new qo,H=new ve,N=new ve,Ee=new ve;let Be=!0,pe=!1;const we=W.getAttribute("d");if(we===""||we==="none")return null;const G=we.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=G.length;me0&&(H.copy(Ee),z.currentPath.currentPoint.copy(H),Be=!0);break;default:console.warn(ue)}pe=!1}return z}function s(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let z=0;zEe.trim());for(let Ee=0;Eepe!==""));he[N[Ee]]=Object.assign(he[N[Ee]]||{},Be)}}}function o(W,z,H,N,Ee,Be,pe,we){if(z==0||H==0){W.lineTo(we.x,we.y);return}N=N*Math.PI/180,z=Math.abs(z),H=Math.abs(H);const G=(pe.x-we.x)/2,me=(pe.y-we.y)/2,te=Math.cos(N)*G+Math.sin(N)*me,ue=-Math.sin(N)*G+Math.cos(N)*me;let ae=z*z,De=H*H;const q=te*te,S=ue*ue,T=q/ae+S/De;if(T>1){const Le=Math.sqrt(T);z=Le*z,H=Le*H,ae=z*z,De=H*H}const ie=ae*S+De*q,be=(ae*De-ie)/ie;let Te=Math.sqrt(Math.max(0,be));Ee===Be&&(Te=-Te);const Re=Te*z*ue/H,Ke=-Te*H*te/z,Ve=Math.cos(N)*Re-Math.sin(N)*Ke+(pe.x+we.x)/2,$e=Math.sin(N)*Re+Math.cos(N)*Ke+(pe.y+we.y)/2,ut=a(1,0,(te-Re)/z,(ue-Ke)/H),It=a((te-Re)/z,(ue-Ke)/H,(-te-Re)/z,(-ue-Ke)/H)%(Math.PI*2);W.currentPath.absellipse(Ve,$e,z,H,ut,ut+It,Be===0,N)}function a(W,z,H,N){const Ee=W*H+z*N,Be=Math.sqrt(W*W+z*z)*Math.sqrt(H*H+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return W*N-z*H<0&&(pe=-pe),pe}function l(W){const z=I(W.getAttribute("x")||0),H=I(W.getAttribute("y")||0),N=I(W.getAttribute("rx")||W.getAttribute("ry")||0),Ee=I(W.getAttribute("ry")||W.getAttribute("rx")||0),Be=I(W.getAttribute("width")),pe=I(W.getAttribute("height")),we=1-.551915024494,G=new qo;return G.moveTo(z+N,H),G.lineTo(z+Be-N,H),(N!==0||Ee!==0)&&G.bezierCurveTo(z+Be-N*we,H,z+Be,H+Ee*we,z+Be,H+Ee),G.lineTo(z+Be,H+pe-Ee),(N!==0||Ee!==0)&&G.bezierCurveTo(z+Be,H+pe-Ee*we,z+Be-N*we,H+pe,z+Be-N,H+pe),G.lineTo(z+N,H+pe),(N!==0||Ee!==0)&&G.bezierCurveTo(z+N*we,H+pe,z,H+pe-Ee*we,z,H+pe-Ee),G.lineTo(z,H+Ee),(N!==0||Ee!==0)&&G.bezierCurveTo(z,H+Ee*we,z+N*we,H,z+N,H),G}function A(W){function z(Be,pe,we){const G=I(pe),me=I(we);Ee===0?N.moveTo(G,me):N.lineTo(G,me),Ee++}const H=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new qo;let Ee=0;return W.getAttribute("points").replace(H,z),N.currentPath.autoClose=!0,N}function d(W){function z(Be,pe,we){const G=I(pe),me=I(we);Ee===0?N.moveTo(G,me):N.lineTo(G,me),Ee++}const H=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new qo;let Ee=0;return W.getAttribute("points").replace(H,z),N.currentPath.autoClose=!1,N}function h(W){const z=I(W.getAttribute("cx")||0),H=I(W.getAttribute("cy")||0),N=I(W.getAttribute("r")||0),Ee=new ma;Ee.absarc(z,H,N,0,Math.PI*2);const Be=new qo;return Be.subPaths.push(Ee),Be}function f(W){const z=I(W.getAttribute("cx")||0),H=I(W.getAttribute("cy")||0),N=I(W.getAttribute("rx")||0),Ee=I(W.getAttribute("ry")||0),Be=new ma;Be.absellipse(z,H,N,Ee,0,Math.PI*2);const pe=new qo;return pe.subPaths.push(Be),pe}function g(W){const z=I(W.getAttribute("x1")||0),H=I(W.getAttribute("y1")||0),N=I(W.getAttribute("x2")||0),Ee=I(W.getAttribute("y2")||0),Be=new qo;return Be.moveTo(z,H),Be.lineTo(N,Ee),Be.currentPath.autoClose=!1,Be}function E(W,z){z=Object.assign({},z);let H={};if(W.hasAttribute("class")){const pe=W.getAttribute("class").split(/\s/).filter(Boolean).map(we=>we.trim());for(let we=0;we0&&z.premultiply(X[X.length-1]),Ae.copy(z),X.push(z),z}function Q(W){const z=new Qt,H=le;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const N=I(W.getAttribute("x")),Ee=I(W.getAttribute("y"));z.translate(N,Ee)}if(W.hasAttribute("transform")){const N=W.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const Be=N[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),we=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),H.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,ae=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],ae=me[2]),se.makeTranslation(-ue,-ae),fe.makeRotation(te),F.multiplyMatrices(fe,se),se.makeTranslation(ue,ae),H.multiplyMatrices(se,F)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),H.scale(te,ue)}break;case"skewX":me.length===1&&H.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&H.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&H.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}z.premultiply(H)}}return z}function R(W,z){function H(pe){ne.set(pe.x,pe.y,1).applyMatrix3(z),pe.set(ne.x,ne.y)}function N(pe){const we=pe.xRadius,G=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new O(we*me,we*te,0),ae=new O(-G*te,G*me,0),De=ue.applyMatrix3(z),q=ae.applyMatrix3(z),S=le.set(De.x,q.x,0,De.y,q.y,0,0,0,1),T=se.copy(S).invert(),Te=fe.copy(T).transpose().multiply(T).elements,Re=P(Te[0],Te[1],Te[4]),Ke=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Ke,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:Ct,y:ct}=new O(Math.cos(Mt),Math.sin(Mt),0).applyMatrix3(Le);return Math.atan2(ct,Ct)};pe.aStartAngle=Pt(pe.aStartAngle),pe.aEndAngle=Pt(pe.aEndAngle),D(z)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const we=K(z),G=_(z);pe.xRadius*=we,pe.yRadius*=G;const me=we>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);pe.aRotation+=me,D(z)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=W.subPaths;for(let pe=0,we=Be.length;peNumber.EPSILON}function K(W){const z=W.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _(W){const z=W.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function P(W,z,H){let N,Ee,Be,pe,we;const G=W+H,me=W-H,te=Math.sqrt(me*me+4*z*z);return G>0?(N=.5*(G+te),we=1/N,Ee=W*we*H-z*we*z):G<0?Ee=.5*(G-te):(N=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(z)?(we=-2*z/Be,pe=1/Math.sqrt(1+we*we),Be=we*pe):Math.abs(z)===0?(Be=1,pe=0):(we=-.5*Be/z,Be=1/Math.sqrt(1+we*we),pe=we*Be),me>0&&(we=Be,Be=-pe,pe=we),{rt1:N,rt2:Ee,cs:Be,sn:pe}}const Z=[],he={},X=[],le=new Qt,se=new Qt,fe=new Qt,F=new Qt,$=new ve,ne=new O,Ae=new Qt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:Z,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(y,C,p,v){const I=y.x,w=C.x,Q=p.x,R=v.x,D=y.y,U=C.y,K=p.y,_=v.y,P=(R-Q)*(D-K)-(_-K)*(I-Q),Z=(w-I)*(D-K)-(U-D)*(I-Q),he=(_-K)*(w-I)-(R-Q)*(U-D),X=P/he,le=Z/he;if(he===0&&P!==0||X<=0||X>=1||le<0||le>1)return null;if(P===0&&he===0){for(let se=0;se<2;se++)if(o(se===0?p:v,y,C),r.loc==i.ORIGIN){const fe=se===0?p:v;return{x:fe.x,y:fe.y,t:r.t}}else if(r.loc==i.BETWEEN){const fe=+(I+r.t*(w-I)).toPrecision(10),F=+(D+r.t*(U-D)).toPrecision(10);return{x:fe,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?p:v,y,C),r.loc==i.ORIGIN){const $=F===0?p:v;return{x:$.x,y:$.y,t:r.t}}const se=+(I+X*(w-I)).toPrecision(10),fe=+(D+X*(U-D)).toPrecision(10);return{x:se,y:fe,t:X}}}function o(y,C,p){const v=p.x-C.x,I=p.y-C.y,w=y.x-C.x,Q=y.y-C.y,R=v*Q-w*I;if(y.x===C.x&&y.y===C.y){r.loc=i.ORIGIN,r.t=0;return}if(y.x===p.x&&y.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=i.LEFT;return}if(R>Number.EPSILON){r.loc=i.RIGHT;return}if(v*w<0||I*Q<0){r.loc=i.BEHIND;return}if(Math.sqrt(v*v+I*I)_.t<=K.t+Number.EPSILON&&_.t>=K.t-Number.EPSILON)===void 0&&(p.push(K),v.push(new ve(K.x,K.y)))}}return v}function l(y,C,p){const v=new ve;C.getCenter(v);const I=[];return p.forEach(w=>{w.boundingBox.containsPoint(v)&&a(y,w.points).forEach(R=>{I.push({identifier:w.identifier,isCW:w.isCW,point:R})})}),I.sort((w,Q)=>w.point.x-Q.point.x),I}function A(y,C,p,v,I){(I==null||I==="")&&(I="nonzero");const w=new ve;y.boundingBox.getCenter(w);const Q=[new ve(p,w.y),new ve(v,w.y)],R=l(Q,y.boundingBox,C);R.sort((Z,he)=>Z.point.x-he.point.x);const D=[],U=[];R.forEach(Z=>{Z.identifier===y.identifier?D.push(Z):U.push(Z)});const K=D[0].point.x,_=[];let P=0;for(;P0&&_[_.length-1]===U[P].identifier?_.pop():_.push(U[P].identifier),P++;if(_.push(y.identifier),I==="evenodd"){const Z=_.length%2===0,he=_[_.length-2];return{identifier:y.identifier,isHole:Z,for:he}}else if(I==="nonzero"){let Z=!0,he=null,X=null;for(let le=0;le<_.length;le++){const se=_[le];Z?(X=C[se].isCW,Z=!1,he=se):X!==C[se].isCW&&(X=C[se].isCW,Z=!0)}return{identifier:y.identifier,isHole:Z,for:he}}else console.warn('fill-rule: "'+I+'" is currently not implemented.')}let d=999999999,h=-999999999,f=e.subPaths.map(y=>{const C=y.getPoints();let p=-999999999,v=999999999,I=-999999999,w=999999999;for(let Q=0;Qp&&(p=R.y),R.yI&&(I=R.x),R.x=w&&(d=w-1),{curves:y.curves,points:C,isCW:is.isClockWise(C),identifier:-1,boundingBox:new _D(new ve(w,v),new ve(I,p))}});f=f.filter(y=>y.points.length>1);for(let y=0;yA(y,f,d,h,e.userData?e.userData.style.fillRule:void 0)),E=[];return f.forEach(y=>{if(!g[y.identifier].isHole){const p=new Ea;p.curves=y.curves,g.filter(I=>I.isHole&&I.for===y.identifier).forEach(I=>{const w=f[I.identifier],Q=new ma;Q.curves=w.curves,p.holes.push(Q)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Pu.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Lt;return l.setAttribute("position",new at(s,3)),l.setAttribute("normal",new at(o,3)),l.setAttribute("uv",new at(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,d=new ve,h=new ve,f=new ve,g=new ve,E=new ve,y=new ve,C=new ve,p=new ve,v=new ve,I=new ve,w=new ve,Q=new ve,R=new ve,D=new ve,U=new ve,K=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const P=e[0].equals(e[_-1]);let Z,he=e[0],X;const le=t.strokeWidth/2,se=1/(_-1);let fe=0,F,$,ne,Ae,_e=!1,Ue=0,W=l*3,z=l*2;H(e[0],e[1],A).multiplyScalar(le),C.copy(e[0]).sub(A),p.copy(e[0]).add(A),v.copy(C),I.copy(p);for(let te=1;te<_;te++){Z=e[te],te===_-1?P?X=e[1]:X=void 0:X=e[te+1];const ue=A;if(H(he,Z,ue),h.copy(ue).multiplyScalar(le),w.copy(Z).sub(h),Q.copy(Z).add(h),F=fe+se,$=!1,X!==void 0){H(Z,X,d),h.copy(d).multiplyScalar(le),R.copy(Z).sub(h),D.copy(Z).add(h),ne=!0,h.subVectors(X,he),ue.dot(h)<0&&(ne=!1),te===1&&(_e=ne),h.subVectors(X,Z),h.normalize();const ae=Math.abs(ue.dot(h));if(ae>Number.EPSILON){const De=le/ae;h.multiplyScalar(-De),f.subVectors(Z,he),g.copy(f).setLength(De).add(h),U.copy(g).negate();const q=g.length(),S=f.length();f.divideScalar(S),E.subVectors(X,Z);const T=E.length();switch(E.divideScalar(T),f.dot(U)=r&&ae.push(te[De]);return ae.push(te[te.length-1]),ae}}}function n6(n,e,t,i,r,s,o){const a=[],l=it([]),A=it([]);Qo(l,a);const d=it(void 0),h=_o(t,i,r,{...Bo,...xo(n.root.size),...Ro(l),...wo(A)},vm,P=>P.add("aspectRatio",d)),f=it(void 0),g=Co(n.anyAncestorScrollable);ka(f,g,n,h,s,a);const E=yo(h,g,n.root.pixelSize);vo(s,E,a);const y=Na(n.childrenMatrix,E),C=Pa(n.clippingRect,y,g.size,n.root.pixelSize),p=Jl(h),v=Ci(h,ii.Panel,p,n.orderInfo);a.push(P=>ks(h,v,p,n.root.panelGroupManager,y,g.size,void 0,g.borderInset,n.clippingRect,C,Wl(),P));const I=Ci(void 0,ii.Svg,void 0,v),w=Ht(()=>Hr(e.value)),Q=it(void 0),R=$d(n.root,n.clippingRect,a);TT(Q,s6,a,w,n.root,R,n.clippingRect,I,d),bT(h,Q,a);const D=i6(g,n.root.pixelSize,Q,d,C,a),U=mm();Cm(o,U,n.root.pixelSize,a);const K=Em(U,y,n.root.pixelSize);ym(h,U,g,y,C,n.clippingRect,I,n.root.panelGroupManager,a);const _=Im(U,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Io(t,i,g.size,a),La(t,i,C,a),Object.assign(g,{clippingRect:pm(y,g,n.root.pixelSize,n.clippingRect),childrenMatrix:K,node:f,orderInfo:I,root:n.root,initializers:a,centerGroup:D,handlers:So(t,i,r,l,A,_),interactionPanel:Yl(I,n.root,n.clippingRect,g.size,a)})}function i6(n,e,t,i,r,s){const o=new ao;return o.matrixAutoUpdate=!1,s.push(()=>ft(()=>{kT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>ft(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>ft(()=>void(o.visible=t.value!=null&&!r.value))),o}const r6=new Pu,pp=new $n,sl=new O;async function s6(n,e,t,i,r,s){const o=new ao;o.matrixAutoUpdate=!1;const a=await r6.loadAsync(n);pp.makeEmpty();for(const A of a.paths){const d=Pu.createShapes(A),h=new ir;h.transparent=!0,h.depthWrite=!1,h.toneMapped=!1,h.clippingPlanes=t;for(const f of d){const g=new Ru(f);g.computeBoundingBox(),pp.union(g.boundingBox);const E=new tn(g,h);E.matrixAutoUpdate=!1,E.raycast=Lu(E,E.raycast,e.object,i,r),Vl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}pp.getSize(sl),s.value=sl.x/sl.y;const l=1/sl.y;return o.scale.set(1,1,1).multiplyScalar(l),pp.getCenter(sl),sl.y*=-1,o.position.copy(sl).negate().multiplyScalar(l),o.updateMatrix(),o}function o6(n,e,t,i,r,s,o,a){const l=[],A=it([]),d=it([]);Qo(A,l);const h=_o(r,s,o,{...Bo,...xo(n.root.size),...Ro(A),...wo(d)},vm,Q=>{Q.add("aspectRatio",t/i),Q.add("width",t),Q.add("height",i)}),f=Co(n.anyAncestorScrollable);ka(void 0,f,n,h,a,l);const g=yo(h,f,n.root.pixelSize);vo(a,g,l);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,f.size,n.root.pixelSize),C=Jl(h),p=Ci(h,ii.Panel,C,n.orderInfo);l.push(Q=>ks(h,p,C,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,y,Wl(),Q));const v=Ci(void 0,ii.Svg,void 0,p),I=$d(n.root,n.clippingRect,l),w=l6(h,e,t,i,n,v,f,y,I,l);return Io(r,s,f.size,l),La(r,s,y,l),Object.assign(f,{initializers:l,iconGroup:w,handlers:So(r,s,o,A,d),interactionPanel:Yl(v,n.root,n.clippingRect,f.size,l)})}const a6=new Pu;function l6(n,e,t,i,r,s,o,a,l,A){const d=new ao;d.matrixAutoUpdate=!1;const h=a6.parse(e);for(const g of h.paths){const E=Pu.createShapes(g),y=new ir;y.transparent=!0,y.depthWrite=!1,y.toneMapped=!1,y.clippingPlanes=l;for(const C of E){const p=new Ru(C);p.computeBoundingBox();const v=new tn(p,y);v.matrixAutoUpdate=!1,v.raycast=Lu(v,v.raycast,r.root.object,r.clippingRect,s),Vl(v,r.root,s),v.userData.color=g.color,v.scale.y=-1,v.updateMatrix(),d.add(v)}}const f=t/i;return A.push(()=>ft(()=>{kT(d.position,d.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,f),d.position.x-=d.scale.x*f/2,d.position.y+=d.scale.x/2,d.scale.divideScalar(i),d.updateMatrix()}),()=>ft(()=>void(d.visible=!a.value))),bT(n,d,A),d}function c6(n,e,t,i,r,s){const o=it([]),a=it([]),l=[];Qo(o,l);const A=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(o),...wo(a)}),d=Co(n.anyAncestorScrollable);ka(void 0,d,n,A,r,l);const h=yo(A,d,n.root.pixelSize);vo(r,h,l);const f=Na(n.childrenMatrix,h),g=Pa(n.clippingRect,f,d.size,n.root.pixelSize),E=Ci(A,ii.Custom,void 0,n.orderInfo),y=$d(n.root,n.clippingRect,l);return l.push(C=>{const p=s.current;return p==null||(p.matrixAutoUpdate=!1,p.material instanceof Ai&&(p.material.clippingPlanes=y,p.material.needsUpdate=!0,p.material.shadowSide=Fr),p.raycast=Lu(p,p.raycast,n.root.object,n.clippingRect,E),Vl(p,n.root,E),C.push(ft(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),ft(()=>p.castShadow=A.value.read("castShadow",!1)),ft(()=>{if(d.size.value==null)return;const[v,I]=d.size.value,w=n.root.pixelSize.value;p.scale.set(v*w,I*w,1),p.updateMatrix()}),ft(()=>void(p.visible=!g.value)))),C}),Io(e,t,d.size,l),La(e,t,g,l),Object.assign(d,{root:n.root,handlers:So(e,t,i,o,a),initializers:l})}function u6(n,e,t,i,r,s){const o=it([]),a=it([]),l=[],A=Co(n.anyAncestorScrollable);Qo(o,l);const d=it(new O(1,1,1)),h=Ht(()=>d.value.x/d.value.y),f=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(o),...wo(a)},vm,I=>I.add("aspectRatio",h));ka(void 0,A,n,f,r,l);const g=yo(f,A,n.root.pixelSize);vo(r,g,l);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,A.size,n.root.pixelSize),C=Jl(f),p=Ci(f,ii.Panel,C,n.orderInfo);l.push(I=>ks(f,p,C,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,y,Wl(),I));const v=Ci(void 0,ii.Object,void 0,p);return Io(e,t,A.size,l),La(e,t,y,l),Object.assign(A,{remeasureContent:h6(f,n.root,A,n.clippingRect,v,d,s,l),interactionPanel:Yl(p,n.root,n.clippingRect,A.size,l),handlers:So(e,t,i,o,a),initializers:l})}const dC=new $n,k_=new O().setScalar(.001),A6=new O,d6="back";function h6(n,e,t,i,r,s,o,a){const l=$d(e,i,a),A=zt(n,"depthAlign",d6),d=zt(n,"keepAspectRatio",!0),h=new O,f=new O,g=()=>{const E=o.current;if(E==null){h.copy(k_),f.set(0,0,0);return}E.traverse(C=>{C instanceof tn&&(Vl(C,e,r),C.material.clippingPlanes=l,C.material.needsUpdate=!0,C.raycast=Lu(C,C.raycast,e.object,i,r))});const y=E.parent;E.parent=null,dC.setFromObject(E),dC.getSize(h).max(k_),s.value=h,y!=null&&(E.parent=y),dC.getCenter(f)};return a.push(E=>{const y=o.current;return y==null||(g(),E.push(ft(()=>{const{size:{value:C},paddingInset:{value:p},borderInset:{value:v}}=t;if(C==null||p==null||v==null)return;const[I,w]=C,[Q,R,D,U]=p,[K,_,P,Z]=v,he=Q+K,X=R+_,le=D+P,se=U+Z,fe=I-se-X,F=w-he-le,$=e.pixelSize.value;y.scale.set(fe*$,F*$,d.value?F*$*h.z/h.y:h.z).divide(h),y.position.copy(f).negate(),y.position.z-=p6[A.value]*h.z,y.position.multiply(y.scale),y.position.add(A6.set((se-X)*.5*$,(le-he)*.5*$,0)),y.updateMatrix()}))),E}),g}function f6(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof _u){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function Er(n){const e=n.length;for(let t=0;to){e.setScalar(R*s);return}e.setScalar(Q*s/o)}function Hr(n){return n instanceof ni?n.value:n}function th(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Ht(()=>n()?Hr(s):void 0)),i.add(r,o)}}}function Q1(n,e){const t=e.map(i=>zt(n,i,0));return Ht(()=>t.map(i=>i.value))}function Qo(n,e){e.push(()=>()=>UT(n))}function g6(n,e,t,i,r,s){let o=!1;fm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}Ml("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&m6(r,a)}),Ml("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),UT(r)})}function Ro(n){return{hover:th(()=>n.value.length>0)}}const xy=[],Up=[];function m6(n,e){xy.push(n),Up.push(e),document.body.style.cursor=e}function UT(n){const e=xy.indexOf(n);e!=-1&&(xy.splice(e,1),Up.splice(e,1),document.body.style.cursor=Up[Up.length-1]??"default")}const E6=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let U_;function C6(){return U_??=eh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),U_}function I6(n,e,t,i,r,s,o,a){const l=Ci(void 0,ii.Panel,gm,r),A=it(void 0);a.push(()=>ft(()=>{const f=t.value;f==null&&(A.value=void 0),A.value=f;const g=setInterval(()=>A.value=A.peek()==null?f:void 0,500);return()=>clearInterval(g)}));const d=Q1(n,E6),h=zt(n,"caretWidth",1.5);a.push(f=>ks(n,l,void 0,o,e,Ht(()=>{const g=A.value;return g==null?[0,0]:[h.value,g[2]]}),Ht(()=>{const g=A.value;return g==null?[0,0]:[g[0]-h.value/2,g[1]]}),d,s,i,C6(),f))}const y6=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let F_;function v6(){return F_??=eh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),F_}function B6(n,e,t,i,r,s,o,a){const l=[],A=Ci(void 0,ii.Panel,gm,r),d=Q1(n,y6);return a.push(()=>ft(()=>{const h=t.value,f=h.length;for(let E=0;E()=>{const h=l.length;for(let f=0;fn.value)}}const w6=new Set;function S6(n){w6.add(n)}function _6(n,e,t,i,r,s,o,a,l){const A=it([]),d=it([]),h=it(!1),f=[];Qo(A,f);const g=_o(s,o,a,{...Bo,...xo(n.root.size),...Ro(A),...wo(d),...x6(h)},void 0,fe=>{fm(s.value,o.value,a.value,F=>{fe.add("caretOpacity",F.opacity),fe.add("caretColor",F.color)})}),E=Co(n.anyAncestorScrollable),y=it(void 0);ka(y,E,n,g,l,f);const C=yo(g,E,n.root.pixelSize);vo(l,C,f);const p=Na(n.childrenMatrix,C),v=Pa(n.clippingRect,p,E.size,n.root.pixelSize),I=Jl(g),w=Ci(g,ii.Panel,I,n.orderInfo);f.push(fe=>ks(g,w,I,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,v,Wl(),fe));const Q={},R=it([]),D=it(void 0),U=it(void 0);I6(g,p,D,v,w,n.clippingRect,n.root.panelGroupManager,f);const K=B6(g,p,R,v,w,n.clippingRect,n.root.panelGroupManager,f),_=mT(g,r,n.root.renderer,f),P=Ci(void 0,ii.Text,CT(_),K),Z=IT(g,e,p,y,E,v,n.clippingRect,P,_,n.root.gylphGroupManager,U,R,D,Q,f);f.push(()=>ft(()=>y.value?.setMeasureFunc(Z))),Io(s,o,E.size,f),La(s,o,v,f);const he=zt(g,"disabled",!1),X=Q6(e,U,t,i,he,f),le=()=>{h.peek()||X.peek()?.focus()};R6(X,h,f);const se=M6(E,X,Q,U,le,he);return Object.assign(E,{focus:le,root:n.root,element:X,node:y,interactionPanel:Yl(w,n.root,n.clippingRect,E.size,f),handlers:So(s,o,a,A,d,se,"text"),initializers:f})}function M6(n,e,t,i,r,s){return Ht(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;S6(a.nativeEvent),a.stopPropagation?.();const l=O_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=O_(n,a.uv,t.current),A=Math.min(o,l),d=Math.max(o,l),h=o{r(),i.value=[A,d],e.peek()?.setSelectionRange(A,d,h)})}}})}function Q6(n,e,t,i,r,s){const o=it(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),d()});const d=()=>{const{selectionStart:h,selectionEnd:f}=l;if(h==null||f==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===h&&g[1]===f||(e.value=[h,f])};return l.addEventListener("keydown",d),l.addEventListener("keyup",d),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},ft(()=>l.value=n.value),ft(()=>l.disabled=r.value)),a}),o}function R6(n,e,t){t.push(()=>ft(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function O_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[d,,,h]=o,[f,,,g]=a,E=i.x*l-h-g,y=-i.y*A+d+f;return r.getCharIndex(E,y)}new ve;const wy=Y.createContext(void 0);function D6(){return Y.useContext(wy)}function gn(n){const t={...Y.useContext(wy)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return b.jsx(wy.Provider,{value:t,children:n.children})}const H_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Do=Y.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=Y.useState(()=>n.value);Y.useEffect(()=>ft(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=Y.useMemo(()=>{const a={...r},l=H_.length;for(let A=0;A({style:it(void 0),properties:it(void 0),default:it(void 0)}),[]);return e.properties.value=n,e.default.value=D6(),e}function bo(n,e,t,i,r,s){Y.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:d,maxScrollPosition:h}=i;return{setStyle:f=>t.value=f,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:h,size:d,interactionPanel:r instanceof tn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Xe=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>YG(t,s.style,s.properties,s.default,i,r),[t,s]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[t,s,o]),bo(e,t.root.pixelSize,s.style,o,o.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:[b.jsx("primitive",{object:o.interactionPanel}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:o,children:n.children})})]})}),T6=Y.forwardRef((n,e)=>{const t=C1(A=>A.gl);t.setTransparentSort(_H);const i=Ns(),r=Y.useRef(null),s=Y.useRef(null),o=To(n),a=Y.useMemo(()=>new Set,[]),l=Y.useMemo(()=>OG(o.style,o.properties,o.default,r,s,()=>i.getState().camera,t,a),[]);return Y.useEffect(()=>{const A=[];return Mo(l.initializers,A),()=>Er(A)},[l]),Tu((A,d)=>{for(const h of a)h(d)}),bo(e,l.root.pixelSize,o.style,l,l.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:l.handlers,ref:r,children:[b.jsx("primitive",{object:l.interactionPanel}),b.jsx("object3D",{ref:s,children:b.jsx(bu,{value:l,children:n.children})})]})}),Bm=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>it(void 0),[]);o.value=n.src;const a=Y.useMemo(()=>XG(t,o,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,s.style,a,a.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:a.handlers,children:[b.jsx("primitive",{object:a.interactionPanel}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:a,children:n.children})})]})}),lt=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>it(void 0),[]);s.value=n.children;const o=Y.useMemo(()=>it(void 0),[]);o.value=eT();const a=Y.useMemo(()=>e6(t,s,o,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,r.style,a,a.interactionPanel),b.jsx(Do,{userHandlers:n,handlers:a.handlers,ref:i,children:b.jsx("primitive",{object:a.interactionPanel})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>it(""),[]);o.value=n.src;const a=Y.useMemo(()=>n6(t,o,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,s.style,a,a.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:a.handlers,children:[b.jsx("primitive",{object:a.interactionPanel}),b.jsx("primitive",{object:a.centerGroup}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:a,children:n.children})})]})});const Ji=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>o6(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const o=[];return Mo(s.initializers,o),()=>Er(o)},[s]),bo(e,t.root.pixelSize,r.style,s,s.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:s.handlers,children:[b.jsx("primitive",{object:s.interactionPanel}),b.jsx("primitive",{object:s.iconGroup})]})}),b6=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>it(""),[]),o=Y.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=Y.useMemo(()=>Ht(()=>Hr(s.value)),[s]),l=Y.useMemo(()=>it(void 0),[]);l.value=eT();const A=Y.useMemo(()=>_6(t,a,d=>{o.current||(s.value=d),r.style.peek()?.onValueChange?.(d),r.properties.peek()?.onValueChange?.(d)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const d=[];return Mo(A.initializers,d),()=>Er(d)},[A]),Y.useEffect(()=>ft(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),bo(e,t.root.pixelSize,r.style,A,A.interactionPanel,Y.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),b.jsx(Do,{userHandlers:n,handlers:A.handlers,ref:i,children:b.jsx("primitive",{object:A.interactionPanel})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>c6(t,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[o]),bo(e,t.root.pixelSize,s.style,o,r),b.jsx(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:b.jsx(bu,{value:void 0,children:b.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:M1,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>u6(t,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[o]),bo(e,t.root.pixelSize,s.style,o,o.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:[b.jsx("primitive",{object:o.interactionPanel}),b.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:b.jsx(bu,{value:void 0,children:n.children})})]})});const L6=Y.forwardRef((n,e)=>{const t=Ns(),[i,r,s]=Y.useMemo(()=>[it(1),it(1),it(1)],[]),o=C1(A=>A.camera),a=n.distanceToCamera??o.near+.01;Y.useEffect(()=>{const A=({camera:d,size:{height:h}})=>nT(()=>f6(i,r,s,a,d,h));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return b.jsxs(b.Fragment,{children:[l&&b.jsx("primitive",{object:o}),KD(b.jsx("group",{"position-z":-a,children:b.jsx(T6,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});Y.forwardRef(({src:n,...e},t)=>{const i=I1(um,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,b.jsx(Bm,{ref:t,src:i,...e})});Y.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=Y.useMemo(()=>new Or(1,1,{minFilter:yn,magFilter:yn,type:Ll}),[]),l=Y.useRef(null),A=Y.useMemo(()=>({events:{compute:P6.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);Y.useEffect(()=>{if(l.current==null)return;const{size:h}=l.current,f=ft(()=>{if(h.value==null)return;const[g,E]=h.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{f(),a.dispose()}},[a,A]),Y.useImperativeHandle(o,()=>l.current,[]);const d=Y.useMemo(()=>new wd,[]);return b.jsxs(b.Fragment,{children:[KD(b.jsxs(N6,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,b.jsx("group",{onPointerOver:()=>null})]}),d,A),b.jsx(Bm,{...s,src:a.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function P6({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function N6({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Ns();Y.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return ft(()=>{if(A.value==null)return;const[d,h]=A.value;s.setState({size:{width:d,height:h,top:0,left:0}})})});let o=0,a,l;return Tu(A=>{(n===1/0||o{const t=Y.useMemo(()=>it(void 0),[]),i=Y.useMemo(()=>it(1),[]),r=Y.useMemo(()=>document.createElement("video"),[]);return Y.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,Y.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),Y.useEffect(()=>{const s=new GR(r);return t.value=s,()=>s.dispose()},[t,r]),Y.useImperativeHandle(e,()=>r,[r]),b.jsx(Bm,{aspectRatio:i,...n,src:t})});const k6='',U6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:k6,svgWidth:24,svgHeight:24})),F6='',FT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:F6,svgWidth:24,svgHeight:24})),O6='',OT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:O6,svgWidth:24,svgHeight:24})),H6='',G6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:H6,svgWidth:24,svgHeight:24})),z6='',V6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:z6,svgWidth:24,svgHeight:24})),W6='',HT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:W6,svgWidth:24,svgHeight:24})),Y6='',J6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:Y6,svgWidth:24,svgHeight:24})),X6='',K6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:X6,svgWidth:24,svgHeight:24})),j6='',q6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:j6,svgWidth:24,svgHeight:24})),Z6='',$6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:Z6,svgWidth:24,svgHeight:24})),ez='',tz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:ez,svgWidth:24,svgHeight:24})),nz='',iz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:nz,svgWidth:24,svgHeight:24})),rz='',sz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:rz,svgWidth:24,svgHeight:24})),oz='',az=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:oz,svgWidth:24,svgHeight:24})),lz='',cz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:lz,svgWidth:24,svgHeight:24}));function Ot(n,e,t){return new Ze().setHSL(n/360,e/100,t/100,"srgb")}const Je=YH({light:{background:Ot(0,0,100),foreground:Ot(222.2,84,4.9),card:Ot(0,0,100),cardForeground:Ot(222.2,84,4.9),popover:Ot(0,0,100),popoverForeground:Ot(222.2,84,4.9),primary:Ot(222.2,47.4,11.2),primaryForeground:Ot(210,40,98),secondary:Ot(210,40,96.1),secondaryForeground:Ot(222.2,47.4,11.2),muted:Ot(210,40,96.1),mutedForeground:Ot(215.4,16.3,46.9),accent:Ot(210,40,96.1),accentForeground:Ot(222.2,47.4,11.2),destructive:Ot(0,72.22,50.59),destructiveForeground:Ot(210,40,98),border:Ot(214.3,31.8,91.4),input:Ot(214.3,31.8,91.4),ring:Ot(222.2,84,4.9)},dark:{background:Ot(222.2,84,4.9),foreground:Ot(210,40,98),card:Ot(222.2,84,4.9),cardForeground:Ot(210,40,98),popover:Ot(222.2,84,4.9),popoverForeground:Ot(210,40,98),primary:Ot(210,40,98),primaryForeground:Ot(222.2,47.4,11.2),secondary:Ot(217.2,32.6,17.5),secondaryForeground:Ot(210,40,98),muted:Ot(217.2,32.6,17.5),mutedForeground:Ot(215,20.2,65.1),accent:Ot(217.2,32.6,17.5),accentForeground:Ot(210,40,98),destructive:Ot(0,62.8,30.6),destructiveForeground:Ot(210,40,98),border:Ot(217.2,32.6,17.5),input:Ot(217.2,32.6,17.5),ring:Ot(212.7,26.8,83.9)}});function uz(n){return b.jsx(gn,{scrollbarColor:Je.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Je.border,color:Je.foreground,...n})}const Az={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Je.primary},defaultProps:{color:Je.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Je.destructive},defaultProps:{color:Je.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Je.accent},containerProps:{border:1,borderColor:Je.input,backgroundColor:Je.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Je.secondary},defaultProps:{color:Je.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Je.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Je.primary}}},dz={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Ls({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=Az[e],A=dz[t];return b.jsx(Xe,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Cg({children:n,...e}){return b.jsx(Xe,{flexDirection:"column",borderRadius:8,border:1,backgroundColor:Je.card,...e,children:b.jsx(gn,{color:Je.cardForeground,children:n})})}function Sy(n){return b.jsx(Xe,{padding:24,flexDirection:"column",gap:6,...n})}function _y({children:n}){return b.jsx(gn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:n})}function My({children:n}){return b.jsx(gn,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n})}function Qy(n){return b.jsx(Xe,{padding:24,paddingTop:0,...n})}function Ry(n){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",padding:24,paddingTop:0,...n})}function Fp({orientation:n="horizontal",...e}){return b.jsx(Xe,{flexShrink:0,backgroundColor:Je.border,width:n==="horizontal"?"100%":1,height:n==="horizontal"?1:"100%",...e})}const R1=Y.createContext({});function GT({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=Y.useState(t),a=Y.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return b.jsx(Xe,{flexDirection:"column",...r,children:b.jsx(R1.Provider,{value:a,children:i})})}function zT({children:n,...e}){return b.jsx(Xe,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:Je.muted,padding:4,flexShrink:0,...e,children:b.jsx(gn,{color:Je.mutedForeground,children:n})})}function Dy({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=Y.useContext(R1),o=e===s;return b.jsx(Xe,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?Je.background:void 0,paddingY:6,justifyContent:"center",...i,children:b.jsx(gn,{opacity:t?.5:void 0,color:o?Je.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function Ty({value:n,...e}){const{value:t}=Y.useContext(R1);return n!=t?null:b.jsx(Xe,{marginTop:8,...e})}const VT=Y.createContext(void 0);function hz({children:n}){const[e,t]=Y.useState(void 0),i=Y.useCallback((r,s)=>t(o=>o===r?s:o),[]);return b.jsxs(b.Fragment,{children:[b.jsx(fz,{set:i,children:n}),e]})}const fz=Y.memo(({children:n,set:e})=>b.jsx(VT.Provider,{value:e,children:n})),D1=Y.createContext(void 0);function T1(){const n=Y.useContext(D1);if(n==null)throw new Error("Can only be used inside a component.");return n}function WT({children:n,open:e,onOpenChange:t,defaultOpen:i}){const[r,s]=Y.useState(i??!1),o=e??r,a=Y.useContext(VT);if(a==null)throw new Error("Can only be used inside a component.");const l=Y.useRef(void 0),A=Y.useRef(void 0);Y.useEffect(()=>{if(!o){a(A.current,void 0),A.current=void 0;return}l.current!=null&&(a(void 0,l.current),A.current=l.current)},[o,a]);const d=Y.useRef(t);d.current=t;const h=e!=null,f=Y.useMemo(()=>({setContent(g){A.current!=null&&(a(A.current,g),A.current=g),l.current=g},setOpen(g){h||s(g),d.current?.(g)}}),[h,a]);return b.jsx(D1.Provider,{value:f,children:n})}function YT({children:n}){const{setOpen:e}=T1();return b.jsx(Xe,{onClick:()=>e(!0),children:n})}function JT(n){return b.jsx(Xe,{onPointerMove:e=>e.stopPropagation(),onPointerEnter:e=>e.stopPropagation(),onPointerLeave:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),positionType:"absolute",inset:0,zIndexOffset:50,backgroundColor:"black",backgroundOpacity:.8,...n})}function xm(){const{setOpen:n}=T1();return Y.useCallback(()=>n(!1),[n])}function XT({children:n}){const e=T1();return Y.useEffect(()=>e.setContent(b.jsx(D1.Provider,{value:e,children:n}))),null}function pz({children:n,sm:e,...t}){const i=xm();return b.jsx(XT,{children:b.jsx(JT,{onClick:r=>{i(),r.stopPropagation()},alignItems:"center",justifyContent:"center",children:b.jsxs(Xe,{onClick:r=>r.stopPropagation(),positionType:"relative",flexDirection:"column",width:"100%",gap:16,border:1,backgroundColor:Je.background,padding:24,sm:{borderRadius:8,...e},...t,children:[n,b.jsx(cz,{color:Je.mutedForeground,onClick:i,cursor:"pointer",positionType:"absolute",zIndexOffset:50,positionRight:16,positionTop:16,borderRadius:2,opacity:.7,backgroundOpacity:.7,hover:{opacity:1,backgroundOpacity:1},width:16,height:16})]})})})}function KT({children:n,...e}){return b.jsx(Xe,{flexDirection:"column",gap:6,...e,children:b.jsx(gn,{horizontalAlign:"center",sm:{horizontalAlign:"left"},children:n})})}function jT(n){return b.jsx(Xe,{flexDirection:"column-reverse",sm:{flexDirection:"row",justifyContent:"flex-end"},gap:8,...n})}function gz({children:n}){return b.jsx(gn,{fontSize:18,lineHeight:1,letterSpacing:-.4,fontWeight:"semi-bold",children:n})}function qT({children:n}){return b.jsx(gn,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n})}const $s=new jd,hC=new MD,G_=new rn;function mz(n,e,t,i,r){const s=[];for(const[o,a]of r){hC.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=hC.at(a.distanceOnLine/hC.distance(),new O);Sm(G_,a,o);const A=Ez(n,i,G_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const z_=new O,fC=new Ma;function Ez(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(fC.origin.copy(r).applyMatrix4(n.matrixWorld),fC.direction.copy(s).applyMatrix4(n.matrixWorld).sub($s.ray.origin).normalize(),fC.intersectPlane(t,z_)!=null)return z_.clone()}}const Cz=new At;function Iz(n,e,t,i,r,s,o){const a=[];return nh(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let d=1;dv===y.object)!=-1)continue;const p=y.distance;y.distance+=A,a.push(Object.assign(y,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:d-1,distanceOnLine:p,pointOnFace:y.point,localPoint:y.point.clone().applyMatrix4(Cz.copy(y.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const _s=new jd,uu=new O,io=new rn,V_=new Ma;function yz(n,e,t,i){uu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){V_.set(n,uu),Sm(io,o,s);const a=V_.intersectPlane(io,new O)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:uu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function vz(n,e,t,i,r){_s.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(uu);const s=[];for(const[o,a]of t){io.setFromNormalAndCoplanarPoint(uu,_s.ray.origin),io.constant-=a.distanceViewPlane;const l=_s.ray.intersectPlane(io,new O);if(l==null)continue;Sm(io,a,o);const A=_s.ray.intersectPlane(io,new O)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Ig=new At;function Bz(n,e,t,i,r,s){_s.ray.origin.copy(n),_s.ray.direction.copy(s).applyQuaternion(e);const o=[];return nh(t,i.hasEventHandlers.bind(i),a=>{const l=_s.intersectObject(a,!0);for(const A of l)r&&!wm(A)||(Ig.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Ig)})))}),o.sort((a,l)=>a.distance-l.distance)}function xz(n,e,t,i,r,s,o){_s.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),io.setFromNormalAndCoplanarPoint(n.getWorldDirection(uu),_s.ray.origin);const a=[];return nh(t,i.hasEventHandlers.bind(i),l=>{const A=_s.intersectObject(l,!0);for(const d of A)r&&!wm(d)||(Ig.copy(l.matrixWorld).invert(),a.push(Object.assign(d,{intersections:a,pointOnFace:d.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:io.distanceToPoint(d.point),localPoint:d.point.clone().applyMatrix4(Ig)})))}),a.sort((l,A)=>l.distance-A.distance)}const W_=new O,Y_=new Gn,J_=new rn;function wz(n,e,t){const i=[];for(const[r,s]of t){W_.copy(s.point).sub(s.inputDevicePosition),Y_.copy(s.inputDeviceRotation).invert().multiply(e);const o=W_.clone().applyQuaternion(Y_).add(n);Sm(J_,s,r);const a=J_.projectPoint(n,new O);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Pr=new Jn;function Sz(n,e,t,i,r,s){Pr.center.copy(n),Pr.radius=t;const o=[];return nh(i,r.hasEventHandlers.bind(r),a=>ZT(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function ZT(n,e,t,i){Mz(n,e,t,i);for(const r of n.children)ZT(r,e,t,i)}const xA=new At,wA=new At;function _z(n){return"spherecast"in n}function Mz(n,e,t,i){if(n.updateWorldMatrix(!0,!1),_z(n)){const r=[];n.spherecast(Pr,r);for(const s of r)t&&!wm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Pr.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(xA.copy(s.object.matrixWorld).invert())})}if(n instanceof Zv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sPr.radius*Pr.radius)return;pC.max(Qz);const d=Au.center.clone().sub(K_);d.divide(pC),Rz(d);const h=gp.clone();o&&!Dz(n,h)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:d},pointOnFace:h,point:h,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:h.clone().applyMatrix4(r)})}function Rz(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)}function nh(n,e,t){if(e(n))return t(n);for(const i of n.children)nh(i,e,t)}function wm(n){if(!(n.object instanceof tn)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function Dz(n,e){if(!(n instanceof tn)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function Sm(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const gC=new O,q_=new Gn,Z_=Symbol("traversal-id"),$_=[],by=new Vt;class _m{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,d,h){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=d,this.onEndEventCaptures=h}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(gC,q_),this.intersections=[{distance:1/0,inputDevicePosition:gC.clone(),inputDeviceRotation:q_.clone(),object:by,point:gC.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,d,h)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,h,r),this.dispatchRelease(e,a,A,l,h),this.updateElementStateMap(A,l,h,r,s)),l.lastPressedElementIds=h,l.blockFollowingIntersections&&(this.intersections.length=d+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,d)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,d,A,a),this.eventDispatcher.leave(l,d),A.lastLeftTime=s,A.lastPressedElementIds=$_,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),h=Y.useMemo(()=>new Mm,[]);h.onPointerDownMissed=r,h.onPointerUpMissed=s,h.onClickMissed=o;const f=Y.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);f.filterClipped=A??!0,f.computeIntersections=n,f.isDrag=e,f.onIntersections=t,f.filterIntersections=i,f.onStartEventCaptures=a,f.onEndEventCaptures=l;for(const[g,E]of d)$T(E.translator,g,f);return Y.useEffect(()=>()=>{for(const{translator:g}of d.values())g.leave({});d.clear()},[]),Y.useMemo(()=>{const g=E=>Lz(d,h,f,E);return{cancel:(E,y)=>{const{translator:C}=g(E);C.cancel(y)},enter:(E,y)=>{const{translator:C}=g(E);C.update(y,!0,!0)},leave:(E,y)=>{const{translator:C}=g(E);C.leave(y),d.delete(E)},press:(E,y,...C)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:v,translator:I}=g(E);for(const w of C)v.add(w),p.set(w,y);I.update(y,!1,!0,...C)},release:(E,y,...C)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:v,inputDeviceElementDragSet:I,translator:w}=g(E);for(const Q of C)v.delete(Q),p.delete(Q);w.update(y,!1,!0);for(const Q of C)I.delete(Q)},move:(E,y)=>{const{translator:C,inputDeviceElementPressMap:p,inputDeviceElementDragSet:v}=g(E);for(const[I,w]of p)f.isDrag(w,y)&&v.add(I);C.update(y,!0,!1)},wheel:E=>{for(const{translator:y}of d.values())y.wheel(E)},blur:E=>{for(const{translator:y}of d.values())y.leave(E);d.clear()}}},[])}function $T(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function Lz(n,e,t,i){let r=n.get(i);if(r==null){const s=new O,o=new Gn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new _m(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};$T(a.translator,i,t),n.set(i,r=a)}return r}new O;const Pz=[];function Nz(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function kz({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Ns(),l=C1(({gl:f})=>f.domElement),A=Y.useMemo(()=>Uz.bind(null,a),[a]),d=Y.useRef(o);d.current=o;const h=bz(A,Nz.bind(null,d),i,e,r,s,t,Fz,Oz,n);return Y.useEffect(()=>{const f=v=>h.cancel(v.pointerId,v),g=v=>h.press(v.pointerId,v,v.button),E=v=>h.release(v.pointerId,v,v.button),y=v=>h.enter(v.pointerId,v),C=v=>h.leave(v.pointerId,v),p=v=>h.move(v.pointerId,v);return l.addEventListener("pointercancel",f),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",y),l.addEventListener("pointerout",C),l.addEventListener("pointermove",p),l.addEventListener("wheel",h.wheel),l.addEventListener("blur",h.blur),()=>{l.removeEventListener("pointercancel",f),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",y),l.removeEventListener("pointerout",C),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",h.wheel),l.removeEventListener("blur",h.blur)}},[l,h]),null}function Uz(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return Pz;const{camera:a,scene:l,size:A}=n.getState(),d=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?xz(a,d,l,r,i,s,o):vz(a,d,t,s,o)}function Fz(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function Oz(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const mC=new O,EC=new Gn,Hz=new O(0,0,1);Y.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=Hz,initialPressedElementIds:l},A)=>{const d=Ns(),h=Y.useMemo(()=>new Vt,[]),f=Y.useMemo(()=>new Mm,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=i;const g=Y.useMemo(()=>new Set(l),[]),E=Y.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const y=Y.useMemo(()=>new _m(n,!1,f,(p,v)=>(h.getWorldPosition(mC),h.getWorldQuaternion(EC),v==null?Bz(mC,EC,d.getState().scene,f,E.filterClipped,E.direction):yz(mC,EC,v,E.direction)),()=>[...g],(p,v)=>{h.getWorldPosition(p),h.getWorldQuaternion(v)}),[n,d]);y.onIntersections=e,y.filterIntersections=t,Y.useImperativeHandle(A,()=>({press:(p,v)=>{g.add(p),y.update(v,!1,!0,p)},release:(p,v)=>{g.delete(p),y.update(v,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),Y.useEffect(()=>y.leave.bind(y,{}),[y]);const C=Y.useRef(g.size>0);return Tu(()=>{y.update({},!0,C.current,...g),C.current=!1}),Fy.createElement("primitive",{object:h})});const CC=new O,IC=new Gn;Y.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},d)=>{const h=Y.useMemo(()=>new Vt,[]),f=Ns(),g=Y.useMemo(()=>new Set(A),[]),E=Y.useMemo(()=>new Mm,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const y=Y.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);y.distanceElement=e,y.radius=t,y.filterClipped=l;const C=Y.useMemo(()=>new _m(n,!0,E,(v,I)=>(h.getWorldPosition(CC),h.getWorldQuaternion(IC),I==null?Sz(CC,IC,y.radius,f.getState().scene,E,y.filterClipped):wz(CC,IC,I)),v=>v!=null&&y.distanceElement!=null&&v.distance<=y.distanceElement.downRadius&&(v.distanceToFace==null||v.distanceToFace<2*y.distanceElement.downRadius*2)?[...g,y.distanceElement.id]:[...g],(v,I)=>{h.getWorldPosition(v),h.getWorldQuaternion(I)}),[n,f]);C.onIntersections=i,C.filterIntersections=r,Y.useImperativeHandle(d,()=>({press:(v,I)=>{g.add(v),C.update(I,!1,!0,v)},release:(v,I)=>{g.delete(v),C.update(I,!1,!0)},cancel:C.cancel.bind(C),wheel(v){C.wheel(v)}}),[C]),Y.useEffect(()=>C.leave.bind(C,{}),[C]);const p=Y.useRef(g.size>0);return Tu(()=>{C.update({},!0,p.current||e!=null,...g),p.current=!1}),Fy.createElement("primitive",{object:h})});const yC=new O,vC=new Gn;Y.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const d=Y.useMemo(()=>new Vt,[]),h=Ns(),f=Y.useMemo(()=>new Mm,[]);f.onPointerDownMissed=s,f.onPointerUpMissed=o,f.onClickMissed=r;const g=Y.useMemo(()=>new Set(l),[]),E=Y.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const y=Y.useMemo(()=>new _m(n,!1,f,(p,v)=>(d.getWorldPosition(yC),d.getWorldQuaternion(vC),v==null?Iz(d,yC,vC,E.points,h.getState().scene,f,E.filterClipped):mz(d,yC,vC,E.points,v)),()=>[...g],(p,v)=>{d.getWorldPosition(p),d.getWorldQuaternion(v)}),[n,h]);y.onIntersections=t,y.filterIntersections=i,Y.useImperativeHandle(A,()=>({press:(p,v)=>{g.add(p),y.update(v,!1,!0,p)},release:(p,v)=>{g.delete(p),y.update(v,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),Y.useEffect(()=>y.leave.bind(y,{}),[y]);const C=Y.useRef(g.size>0);return Tu(()=>{y.update({},!0,C.current,...g),C.current=!1}),Fy.createElement("primitive",{object:d})});const Gz=()=>({enabled:!1,priority:0});class Mm{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==by){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const d=this.event[A];typeof d!="function"&&(l[A]=d)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===by)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}const e3=Y.createContext(null);function zz({children:n,...e}){const[t,i]=Y.useState(!1),r=Y.useRef(void 0);return Y.useEffect(()=>()=>{r.current!=null&&clearTimeout(r.current)},[]),b.jsx(Xe,{onPointerOver:()=>{r.current==null&&(r.current=setTimeout(()=>{r.current=void 0,i(!0)},1e3))},onPointerOut:()=>{if(r.current!=null){clearTimeout(r.current),r.current=void 0;return}i(!1)},positionType:"relative",flexDirection:"column",alignItems:"center",...e,children:b.jsx(e3.Provider,{value:t,children:n})})}function Vz(n){return b.jsx(Xe,{alignSelf:"stretch",...n})}function Wz({children:n,sideOffset:e=4,...t}){return Y.useContext(e3)?b.jsx(Xe,{positionType:"absolute",positionBottom:"100%",marginBottom:e,zIndexOffset:50,overflow:"hidden",borderRadius:6,border:1,backgroundColor:Je.popover,paddingX:12,paddingY:6,...t,children:b.jsx(gn,{wordBreak:"keep-all",fontSize:14,lineHeight:1.4333,color:Je.popoverForeground,children:n})}):null}function Yz(){return b.jsxs(zz,{children:[b.jsx(Vz,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(lt,{children:"Hover"})})}),b.jsx(Wz,{children:b.jsx(lt,{children:"Add to library"})})]})}const Qm=Y.createContext(null);function Jz({children:n}){const e=Y.useState(void 0);return b.jsx(Xe,{flexDirection:"column",children:b.jsx(Qm.Provider,{value:e,children:n})})}const b1=Y.createContext("");function BC({children:n,...e}){const[t,i]=Y.useContext(Qm),r=e.value===t;return b.jsx(Xe,{cursor:"pointer",flexDirection:"column",onClick:()=>i(r?void 0:e.value),borderBottom:1,...e,children:b.jsx(b1.Provider,{value:e.value,children:n})})}function xC({children:n,...e}){const t=Y.useContext(b1),[i]=Y.useContext(Qm),r=t===i;return b.jsxs(Xe,{flexDirection:"row",flexGrow:1,flexShrink:1,alignItems:"center",justifyContent:"space-between",paddingY:16,...e,children:[b.jsx(gn,{fontWeight:"medium",children:n}),b.jsx(G6,{transformRotateZ:r?180:0,width:16,height:16,flexShrink:0})]})}function wC({children:n,...e}){const t=Y.useContext(b1),[i]=Y.useContext(Qm);return i!=t?null:b.jsx(Xe,{overflow:"hidden",...e,children:b.jsx(Xe,{paddingBottom:16,children:b.jsx(gn,{fontSize:14,children:n})})})}function Xz(){return b.jsx(Xe,{flexDirection:"column",width:300,children:b.jsxs(Jz,{children:[b.jsxs(BC,{value:"item-1",children:[b.jsx(xC,{children:b.jsx(lt,{children:"Is it accessible?"})}),b.jsx(wC,{children:b.jsx(lt,{children:"Yes. It adheres to the WAI-ARIA design pattern."})})]}),b.jsxs(BC,{value:"item-2",children:[b.jsx(xC,{children:b.jsx(lt,{children:"Is it styled?"})}),b.jsx(wC,{children:b.jsx(lt,{children:"Yes. It comes with default styles that matches the other components' aesthetic."})})]}),b.jsxs(BC,{value:"item-3",children:[b.jsx(xC,{children:b.jsx(lt,{children:"Is it animated?"})}),b.jsx(wC,{children:b.jsx(lt,{children:"Yes. It's animated by default, but you can disable it if you prefer."})})]})]})})}const Kz={default:{},destructive:{borderColor:Je.destructive,borderOpacity:.5,color:Je.destructive}};function jz(n){return b.jsx(gn,{...Kz[n.variant??"default"],children:b.jsx(Xe,{flexDirection:"column",positionType:"relative",width:"100%",borderRadius:8,border:1,padding:16,...n})})}function qz(n){return b.jsx(Xe,{positionLeft:16,positionTop:16,positionType:"absolute",...n})}function Zz({children:n,...e}){return b.jsx(Xe,{marginBottom:4,padding:0,paddingLeft:28,...e,children:b.jsx(gn,{fontWeight:"medium",letterSpacing:-.4,lineHeight:1,children:n})})}function $z({children:n}){return b.jsx(Xe,{paddingLeft:28,children:b.jsx(gn,{lineHeight:1.625,fontSize:14,children:n})})}function e9(){return b.jsxs(jz,{maxWidth:500,children:[b.jsx(qz,{children:b.jsx(sz,{width:16,height:16})}),b.jsx(Zz,{children:b.jsx(lt,{children:"Error"})}),b.jsx($z,{children:b.jsx(lt,{children:"You can add components to your app using the cli."})})]})}const t9=WT,n9=YT;function i9(n){const e=xm();return b.jsx(XT,{children:b.jsx(JT,{onClick:t=>{e(),t.stopPropagation()},alignItems:"center",justifyContent:"center",children:b.jsx(Xe,{onClick:t=>t.stopPropagation(),positionType:"relative",flexDirection:"column",maxWidth:512,width:"100%",gap:16,border:1,backgroundColor:Je.background,padding:24,sm:{borderRadius:8},...n})})})}const r9=KT,s9=jT;function o9({children:n}){return b.jsx(gn,{fontSize:18,lineHeight:1.5555,fontWeight:"semi-bold",children:n})}const a9=qT;function l9({children:n,onClick:e,...t}){const i=xm();return b.jsx(Xe,{borderRadius:6,height:40,paddingX:16,paddingY:8,alignItems:"center",justifyContent:"center",cursor:"pointer",flexDirection:"row",backgroundColor:Je.primary,onClick:r=>{r.stopPropagation(),i(),e?.(r)},hover:{backgroundOpacity:.9},...t,children:b.jsx(gn,{children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",color:Je.primaryForeground,children:n})})})}function c9({children:n,onClick:e,...t}){const i=xm();return b.jsx(Xe,{borderRadius:6,height:40,paddingX:16,paddingY:8,alignItems:"center",justifyContent:"center",cursor:"pointer",flexDirection:"row",border:1,borderColor:Je.input,backgroundColor:Je.background,onClick:r=>{r.stopPropagation(),i(),e?.(r)},hover:{backgroundColor:Je.accent},...t,children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",children:n})})}function u9(){return b.jsxs(t9,{children:[b.jsx(n9,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(lt,{children:"Show Dialog"})})}),b.jsxs(i9,{children:[b.jsxs(r9,{children:[b.jsx(o9,{children:b.jsx(lt,{children:"Are you absolutely sure?"})}),b.jsx(a9,{children:b.jsx(lt,{children:"This action cannot be undone. This will permanently delete your account and remove your data from our servers."})})]}),b.jsxs(s9,{children:[b.jsx(c9,{children:b.jsx(lt,{children:"Cancel"})}),b.jsx(l9,{children:b.jsx(lt,{children:"Continue"})})]})]})]})}function A9(n){return b.jsx(Bm,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...n})}function d9(){return b.jsx(Xe,{alignItems:"center",children:b.jsx(A9,{src:"https://picsum.photos/100/100"})})}const h9={default:{defaultProps:{color:Je.primaryForeground},containerProps:{backgroundColor:Je.primary},containerHoverProps:{backgroundOpacity:.8}},secondary:{defaultProps:{color:Je.secondaryForeground},containerProps:{backgroundColor:Je.secondary},containerHoverProps:{backgroundOpacity:.8}},destructive:{defaultProps:{color:Je.destructiveForeground},containerProps:{backgroundColor:Je.destructive},containerHoverProps:{backgroundOpacity:.8}},outline:{}};function f9({children:n,variant:e="default",hover:t,...i}){const{containerProps:r,defaultProps:s,containerHoverProps:o}=h9[e];return b.jsx(Xe,{borderRadius:1e3,border:1,paddingX:10,paddingY:2,hover:{...o,...t},...r,...i,children:b.jsx(gn,{fontSize:12,lineHeight:1.3333,fontWeight:"semi-bold",...s,children:n})})}function p9(){return b.jsx(f9,{children:b.jsx(lt,{children:"Badge"})})}function g9(){return b.jsx(Ls,{variant:"outline",size:"icon",children:b.jsx(HT,{width:16,height:16})})}function t3({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=Y.useState(n??!1),a=e??s;return b.jsx(Xe,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:t?.5:void 0,borderRadius:1e3,backgroundColor:a?Je.primary:Je.input,cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},...r,children:b.jsx(Xe,{width:20,height:20,borderRadius:1e3,transformTranslateX:a?20:0,backgroundColor:Je.background})})}const SC=[{title:"Your call has been confirmed.",description:"1 hour ago"},{title:"You have a new message!",description:"1 hour ago"},{title:"Your subscription is expiring soon!",description:"2 hours ago"}];function m9(){return b.jsxs(Cg,{width:380,children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(lt,{children:"Notifications"})}),b.jsx(My,{children:b.jsx(lt,{children:"You have 3 unread messages."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:16,children:[b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[b.jsx(U6,{}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(lt,{fontSize:14,lineHeight:1,children:"Push Notifications"}),b.jsx(lt,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:"Send notifications to device."})]}),b.jsx(t3,{})]}),b.jsx(Xe,{flexDirection:"column",children:SC.map((n,e)=>b.jsxs(Xe,{marginBottom:e===SC.length-1?0:16,paddingBottom:e===SC.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[b.jsx(Xe,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:959977}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(lt,{fontSize:14,lineHeight:1,children:n.title}),b.jsx(lt,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n.description})]})]},e))})]}),b.jsx(Ry,{children:b.jsxs(Ls,{flexDirection:"row",width:"100%",children:[b.jsx(OT,{marginRight:8,height:16,width:16}),b.jsx(lt,{children:"Mark all as read"})]})})]})}function E9({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=Y.useState(n??!1),a=e??s;return b.jsx(Xe,{alignItems:"center",justifyContent:"center",cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},borderRadius:4,width:16,height:16,border:1,borderColor:Je.primary,backgroundColor:a?Je.primary:void 0,backgroundOpacity:t?.5:void 0,borderOpacity:t?.5:void 0,...r,children:b.jsx(OT,{color:a?Je.primaryForeground:void 0,opacity:a?t?.5:void 0:0,width:14,height:14})})}function es({disabled:n,children:e}){return b.jsx(gn,{fontWeight:"medium",fontSize:14,lineHeight:1,opacity:n?.7:void 0,children:e})}function C9(){return b.jsxs(Xe,{flexDirection:"row",gap:8,alignItems:"center",children:[b.jsx(E9,{}),b.jsx(es,{children:b.jsx(lt,{children:"Accept terms and conditions"})})]})}function I9(){return b.jsxs(WT,{children:[b.jsx(YT,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(lt,{children:"Edit Profile"})})}),b.jsxs(pz,{sm:{maxWidth:425},children:[b.jsxs(KT,{children:[b.jsx(gz,{children:b.jsx(lt,{children:"Edit profile"})}),b.jsx(qT,{children:b.jsx(lt,{children:"Make changes to your profile here. Click save when you're done."})})]}),b.jsxs(Xe,{flexDirection:"column",alignItems:"center",gap:16,paddingY:16,children:[b.jsx(Xe,{alignItems:"center",gap:16,children:b.jsx(es,{children:b.jsx(lt,{horizontalAlign:"right",children:"Name"})})}),b.jsx(Xe,{alignItems:"center",gap:16,children:b.jsx(es,{children:b.jsx(lt,{horizontalAlign:"right",children:"Username"})})})]}),b.jsx(jT,{children:b.jsx(Ls,{children:b.jsx(lt,{children:"Save changes"})})})]})]})}function y9(n){return b.jsx(Xe,{marginX:"auto",flexDirection:"row",width:"100%",justifyContent:"center",...n})}function v9(n){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",gap:4,...n})}const kc=Xe,B9={outline:{containerProps:{border:1,borderColor:Je.input,backgroundColor:Je.background},containerHoverProps:{backgroundColor:Je.accent}},ghost:{containerHoverProps:{backgroundColor:Je.accent}}},x9={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function JA({isActive:n=!1,size:e="icon",hover:t,...i}){const{containerProps:r,containerHoverProps:s}=B9[n?"outline":"ghost"],o=x9[e];return b.jsx(Xe,{cursor:"pointer",borderRadius:6,alignItems:"center",justifyContent:"center",hover:{...s,...t},...r,...o,...i})}function w9(n){return b.jsxs(JA,{flexDirection:"row",size:"default",gap:4,paddingLeft:10,...n,children:[b.jsx(V6,{width:16,height:16}),b.jsx(lt,{children:"Previous"})]})}function S9(n){return b.jsxs(JA,{flexDirection:"row",size:"default",gap:4,paddingRight:10,...n,children:[b.jsx(lt,{children:"Next"}),b.jsx(HT,{width:16,height:16})]})}function _9(n){return b.jsx(Xe,{flexDirection:"row",height:36,width:36,alignItems:"center",justifyContent:"center",...n,children:b.jsx($6,{width:16,height:16})})}function M9(){return b.jsx(y9,{children:b.jsxs(v9,{children:[b.jsx(kc,{children:b.jsx(w9,{})}),b.jsx(kc,{children:b.jsx(JA,{children:b.jsx(lt,{children:"1"})})}),b.jsx(kc,{children:b.jsx(JA,{isActive:!0,children:b.jsx(lt,{children:"2"})})}),b.jsx(kc,{children:b.jsx(JA,{children:b.jsx(lt,{children:"3"})})}),b.jsx(kc,{children:b.jsx(_9,{})}),b.jsx(kc,{children:b.jsx(S9,{})})]})})}function Q9({value:n,...e}){const t=Y.useMemo(()=>Ht(()=>`${n??0}%`),[n]);return b.jsx(Xe,{height:16,width:"100%",borderRadius:1e3,backgroundColor:Je.secondary,...e,children:b.jsx(Xe,{height:"100%",borderRadius:1e3,backgroundColor:Je.primary,width:t})})}function R9(){const[n,e]=Y.useState(13);return Y.useEffect(()=>{const t=setTimeout(()=>e(66),500);return()=>clearTimeout(t)},[]),b.jsx(Q9,{value:n,width:200})}const n3=Y.createContext({});function D9({defaultValue:n,value:e,onValueChange:t,children:i,...r}){const[s,o]=Y.useState(n),a=Y.useMemo(()=>e==null?{value:s,setValue:l=>{o(l),t?.(l)}}:{value:e,onValueChange:t},[s,t,e]);return b.jsx(Xe,{flexDirection:"column",gap:8,...r,children:b.jsx(n3.Provider,{value:a,children:i})})}function _C({disabled:n=!1,value:e,children:t,...i}){const{value:r,setValue:s}=Y.useContext(n3);return b.jsxs(Xe,{cursor:n?void 0:"pointer",onClick:n?void 0:()=>s?.(e),flexDirection:"row",alignItems:"center",gap:8,children:[b.jsx(Xe,{aspectRatio:1,height:16,width:16,borderRadius:1e3,border:1,borderOpacity:n?.5:void 0,borderColor:Je.primary,alignItems:"center",justifyContent:"center",...i,children:b.jsx(Xe,{borderRadius:1e3,aspectRatio:1,backgroundColor:Je.primary,backgroundOpacity:e===r?1:0,height:9,width:9})}),t]})}function T9(){return b.jsxs(D9,{defaultValue:"comfortable",children:[b.jsx(_C,{value:"default",children:b.jsx(es,{children:b.jsx(lt,{children:"Default"})})}),b.jsx(_C,{value:"comfortable",children:b.jsx(es,{children:b.jsx(lt,{children:"Comfortable"})})}),b.jsx(_C,{value:"compact",children:b.jsx(es,{children:b.jsx(lt,{children:"Compact"})})})]})}function b9(){return b.jsxs(Xe,{width:300,flexDirection:"column",children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(lt,{fontSize:14,lineHeight:1,children:"Radix Primitives"}),b.jsx(lt,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:"An open-source UI component library."})]}),b.jsx(Fp,{marginY:16}),b.jsx(Xe,{flexDirection:"row",height:20,alignItems:"center",gap:16,children:b.jsxs(gn,{fontSize:14,lineHeight:1.43,children:[b.jsx(lt,{children:"Blog"}),b.jsx(Fp,{orientation:"vertical"}),b.jsx(lt,{children:"Docs"}),b.jsx(Fp,{orientation:"vertical"}),b.jsx(lt,{children:"Source"})]})})]})}function MC(n){const e=Y.useMemo(()=>it(1),[]),t=Y.useRef(0);return Tu((i,r)=>{e.value=Math.cos(t.current*Math.PI)*.25+.75,t.current+=r}),b.jsx(Xe,{borderRadius:6,backgroundColor:Je.muted,backgroundOpacity:e,...n})}function L9(){return b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:16,children:[b.jsx(MC,{borderRadius:1e3,height:48,width:48}),b.jsxs(Xe,{flexDirection:"column",gap:8,children:[b.jsx(MC,{height:16,width:250}),b.jsx(MC,{height:16,width:200})]})]})}const QC=new O;function P9({disabled:n=!1,value:e,defaultValue:t,onValueChange:i,min:r=0,max:s=100,step:o=1,...a}){const[l,A]=Y.useState(t),d=e??l??50,h=s-r,f=`${100*d/h}%`,g=Y.useRef(null),E=Y.useRef(i);E.current=i;const y=e!=null,C=Y.useMemo(()=>{let p=!1;function v(I){if(g.current==null)return;QC.copy(I.point),g.current.interactionPanel.worldToLocal(QC);const w=Math.min(Math.max(Math.round(((QC.x+.5)*(s-r)+r)/o)*o,r),s);y||A(w),E.current?.(w),I.stopPropagation()}return{onPointerDown(I){p=!0,v(I),I.target.setPointerCapture(I.pointerId)},onPointerMove(I){p&&v(I)},onPointerUp(I){p&&(p=!1,I.stopPropagation())}}},[s,r,y,o]);return b.jsxs(Xe,{ref:g,...n?{}:C,positionType:"relative",flexDirection:"column",height:8,width:"100%",alignItems:"center",...a,children:[b.jsx(Xe,{height:8,positionType:"absolute",positionLeft:0,positionRight:0,flexGrow:1,borderRadius:1e3,backgroundColor:Je.secondary,children:b.jsx(Xe,{height:"100%",width:f,borderRadius:1e3,backgroundColor:Je.primary})}),b.jsx(Xe,{zIndexOffset:{minor:100},positionType:"absolute",positionLeft:f,transformTranslateX:-10,transformTranslateY:-6,cursor:"pointer",borderOpacity:n?.5:void 0,backgroundOpacity:n?.5:void 0,height:20,width:20,border:2,borderRadius:1e3,borderColor:Je.primary,backgroundColor:Je.background})]})}function N9(){return b.jsx(P9,{defaultValue:50,max:100,step:1,width:300})}function k9(){return b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:8,children:[b.jsx(t3,{}),b.jsx(es,{children:b.jsx(lt,{children:"Airplane Mode"})})]})}function U9(){return b.jsxs(GT,{defaultValue:"account",width:400,children:[b.jsxs(zT,{width:"100%",children:[b.jsx(Dy,{flexGrow:1,value:"account",children:b.jsx(lt,{children:"Account"})}),b.jsx(Dy,{flexGrow:1,value:"password",children:b.jsx(lt,{children:"Password"})})]}),b.jsx(Ty,{value:"account",children:b.jsxs(Cg,{children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(lt,{children:"Account"})}),b.jsx(My,{children:b.jsx(lt,{children:"Make changes to your account here. Click save when you're done."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:8,children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(lt,{children:"Name"})}),b.jsx(lt,{children:"Pedro Duarte"})]}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(lt,{children:"Username"})}),b.jsx(lt,{children:"@peduarte"})]})]}),b.jsx(Ry,{children:b.jsx(Ls,{children:b.jsx(lt,{children:"Save changes"})})})]})}),b.jsx(Ty,{value:"password",children:b.jsxs(Cg,{children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(lt,{children:"Password"})}),b.jsx(My,{children:b.jsx(lt,{children:"Change your password here. After saving, you'll be logged out."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:8,children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(lt,{children:"Current password"})}),b.jsx(lt,{children:"password"})]}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(lt,{children:"New password"})}),b.jsx(lt,{children:"password"})]})]}),b.jsx(Ry,{children:b.jsx(Ls,{children:b.jsx(lt,{children:"Save password"})})})]})})]})}const eM={default:{},outline:{containerProps:{border:1,borderColor:Je.input},containerHoverProps:{backgroundColor:Je.accent}}},F9={default:{height:40,paddingX:12},sm:{height:36,paddingX:10},lg:{height:44,paddingX:20}};function O9({children:n,size:e="default",variant:t="default",defaultChecked:i,checked:r,disabled:s=!1,onCheckedChange:o,hover:a,...l}){const[A,d]=Y.useState(i??!1),h=r??A;return b.jsx(Xe,{onClick:s?void 0:()=>{r==null&&d(!h),o?.(!h)},alignItems:"center",justifyContent:"center",borderRadius:6,cursor:s?void 0:"pointer",backgroundOpacity:s?.5:void 0,borderOpacity:s?.5:void 0,backgroundColor:h?Je.accent:void 0,hover:s?a:{backgroundColor:Je.muted,...eM[t].containerHoverProps,...a},...eM[t].containerProps,...F9[e],...l,children:b.jsx(gn,{color:h?Je.accentForeground:void 0,opacity:s?.5:void 0,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:n})})}function H9(){return b.jsx(O9,{children:b.jsx(FT,{height:16,width:16})})}const tM={default:{containerHoverProps:void 0,containerProps:void 0},outline:{containerProps:{border:1,borderColor:Je.input},containerHoverProps:{backgroundColor:Je.accent}}},G9={default:{height:40,paddingX:12},sm:{height:36,paddingX:10},lg:{height:44,paddingX:20}},i3=Y.createContext({size:"default",variant:"default"});function z9({children:n,size:e="default",variant:t="default",...i}){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:4,...i,children:b.jsx(i3.Provider,{value:{variant:t,size:e},children:n})})}function RC({children:n,defaultChecked:e,checked:t,disabled:i=!1,onCheckedChange:r,hover:s,...o}){const{size:a,variant:l}=Y.useContext(i3),[A,d]=Y.useState(e??!1),h=t??A;return b.jsx(Xe,{onClick:i?void 0:()=>{t==null&&d(!h),r?.(!h)},alignItems:"center",justifyContent:"center",borderRadius:6,cursor:i?void 0:"pointer",backgroundOpacity:i?.5:void 0,borderOpacity:i?.5:void 0,backgroundColor:h?Je.accent:void 0,hover:i?s:{backgroundColor:Je.muted,...tM[l].containerHoverProps,...s},...tM[l].containerProps,...G9[a],...o,children:b.jsx(gn,{color:h?Je.accentForeground:void 0,opacity:i?.5:void 0,fontSize:14,lineHeight:1.43,children:n})})}function V9(){return b.jsxs(z9,{children:[b.jsx(RC,{"aria-label":"Toggle bold",children:b.jsx(FT,{height:16,width:16})}),b.jsx(RC,{"aria-label":"Toggle italic",children:b.jsx(K6,{height:16,width:16})}),b.jsx(RC,{"aria-label":"Toggle underline",children:b.jsx(az,{width:16,height:16})})]})}function W9({panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o=!1,placeholder:a,...l}){const[A,d]=Y.useState(null),h=Y.useMemo(()=>{if(A!=null)return Ht(()=>A.current.value.length>0?0:void 0)},[A]);return b.jsx(Xe,{height:40,positionType:"relative",overflow:"hidden",...l,children:b.jsxs(gn,{fontSize:14,height:"100%",width:"100%",border:1,paddingX:12,paddingY:8,lineHeight:1.43,opacity:o?.5:void 0,backgroundOpacity:o?.5:void 0,children:[b.jsx(b6,{ref:d,borderRadius:6,backgroundColor:Je.background,borderColor:Je.input,focus:{borderColor:Je.ring},panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o}),a!=null&&b.jsx(lt,{color:Je.mutedForeground,opacity:h,borderOpacity:0,inset:0,positionType:"absolute",children:a})]})})}function Y9(){return b.jsx(W9,{width:200,placeholder:"Email"})}const DC={accordion:Xz,alert:e9,"alert-dialog":u9,avatar:d9,badge:p9,button:g9,card:m9,checkbox:C9,dialog:I9,pagination:M9,progress:R9,"radio-group":T9,separator:b9,skeleton:L9,slider:N9,switch:k9,tabs:U9,toggle:H9,"toggle-group":V9,tooltip:Yz,input:Y9},J9="card";function X9(){const[n,e]=Y.useState(()=>{let o=new URLSearchParams(window.location.search).get("component");return(o==null||!(o in DC))&&(o=J9),o}),t=s=>{const o=new URLSearchParams(window.location.search);o.set("component",s),history.replaceState(null,"","?"+o.toString()),e(s)},[i,r]=Y.useState(()=>v_());return b.jsxs(eH,{events:Gz,style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[b.jsx(kz,{}),b.jsx("color",{attach:"background",args:["black"]}),b.jsx("ambientLight",{intensity:.5}),b.jsx("directionalLight",{intensity:0,position:[5,1,10]}),b.jsx(uz,{children:b.jsx(L6,{flexDirection:"column",scrollbarColor:"black",backgroundColor:Je.background,alignItems:"center",padding:32,children:b.jsxs(hz,{children:[b.jsxs(GT,{alignSelf:"stretch",flexGrow:1,value:n,onValueChange:t,children:[b.jsx(zT,{height:55,paddingBottom:10,overflow:"scroll",maxWidth:"100%",children:Object.keys(DC).map(s=>b.jsx(Dy,{flexShrink:0,value:s,children:b.jsxs(lt,{children:[s[0].toUpperCase(),s.slice(1)]})},s))}),Object.entries(DC).map(([s,o])=>b.jsx(Ty,{flexDirection:"column",flexGrow:1,alignItems:"center",justifyContent:"center",value:s,children:b.jsx(o,{})},s))]}),b.jsxs(Cg,{padding:8,flexDirection:"row",gap:8,alignItems:"center",children:[b.jsx(Ls,{size:"icon",variant:"ghost",onClick:()=>{WH(i==="light"?"dark":i==="dark"?"system":"light"),r(v_())},children:i==="dark"?b.jsx(q6,{}):i==="system"?b.jsx(tz,{}):b.jsx(iz,{})}),b.jsx(Fp,{orientation:"vertical"}),b.jsxs(lt,{padding:8,children:["npx uikit component add default ",n]}),b.jsx(Ls,{onClick:()=>navigator.clipboard.writeText(`npx uikit component add apfel ${n}`),size:"icon",variant:"secondary",children:b.jsx(J6,{})})]})]})})})]})}p2(document.getElementById("root")).render(b.jsx(Y.StrictMode,{children:b.jsx(X9,{})})); + `)}function Yl(n,e,t,i,r){const s=new Zt(M1);return s.matrixAutoUpdate=!1,s.raycast=Lu(s,BT(s),e.object,t,n),s.visible=!1,r.push(()=>nt(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class MG extends Zt{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new $n;boundingSphere=new Jn;constructor(e,t,i){const r=vT();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=wG,this.customDistanceMaterial=SG}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Jl(n){const e=Ft(n,"panelMaterialClass",ir),t=Ft(n,"castShadow",!1),i=Ft(n,"receiveShadow",!1);return Gt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const gm={panelMaterialClass:ir,castShadow:!1,receiveShadow:!1};class QG{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>nt(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>nt(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=gm){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);return a==null&&s.set(o,a=new RG(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{elementType:ii.Panel,majorIndex:e,minorIndex:0},i,r)),a}}class RG{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{cC(this.instanceMatrix,e,t,i),cC(this.instanceData,e,t,i),cC(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a,l,A){this.renderOrder=e,this.object=i,this.pixelSize=s,this.root=o,this.orderInfo=a,this.meshReceiveShadow=l,this.meshCastShadow=A,this.instanceMaterial=ST(r,{type:"instanced"}),this.instanceMaterial.depthTest=t}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,t){if(this.elementCount+=1,!GH(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!zH(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),VH(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),HH(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new fr(t,16,!1),this.instanceMatrix.setUsage(sa);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new fr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(sa);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new fr(r,16,!1),this.instanceClipping.setUsage(sa),this.mesh=new MG(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,Vl(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function cC(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function ks(n,e,t,i,r,s,o,a,l,A,d,h){return h.push(nt(()=>{if(e.value==null)return;const f=[],g=i.getGroup(e.value.majorIndex,t?.value);return new TG(n,g,e.value.minorIndex,r,s,o,a,l,A,d,f),()=>Er(f)})),h}const dp=new dt,DG=new dt;class TG{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=rt(!1);constructor(e,t,i,r,s,o,a,l,A,d,h){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=d;const f=d.setters;B1(e,this.active,d.hasProperty,(E,y)=>{const C=this.getIndexInBuffer();if(C==null)return;const{instanceData:p,instanceDataOnUpdate:I}=this.group;f[E](p.array,p.itemSize*C,y,s,I)},h);const g=d.computedIsVisibile(e,a,s,A);h.push(nt(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(nt(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(dp.makeScale(s*a,o*a,1),this.offset!=null){const[A,d]=this.offset.value;dp.premultiply(DG.makeTranslation(A*a,d*a,0))}dp.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;dp.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),nt(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),nt(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),nt(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(Eg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new dt().makeTranslation(-r*o,s*o,0).premultiply(i)})}function Cm(n,e,t,i){return i.push(()=>nt(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function Q1(n,e){return Gt(()=>{const[t,i]=e?.value??[!1,!1],[r,s]=n.value;return[t||r,i||s]})}function Im(n,e,{scrollable:t,maxScrollPosition:i},r,s,o,a,l){const A=Gt(()=>t.value?.some(E=>E)??!1),d=new Map,h=new ve,f=(E,y,C,p,I)=>{if(n.value==null)return;const[v,w]=E==null?[!1,!1]:bG(E.nativeEvent);v&&(y=0),w&&(C=0);const[R,Q]=n.value,[D,U]=i.value;let[K,_]=n.value;const[P,Z]=e?.value??[!1,!1];K=M_(R,D,y,I&&!P),_=M_(Q,U,C,I&&!Z),p!=null&&p>0&&h.set(y,C).divideScalar(p),E!=null&&LG(E.nativeEvent,v||Math.min(R,(D??0)-R)>5,w||Math.min(Q,(U??0)-Q)>5),!(s.peek()?.onScroll?.(K,_,n,E)===!1||R===K&&Q===_)&&(n.value=[K,_])},g=E=>{if(d.size>0||n.value==null)return;let y=0,C=0;const[p,I]=n.value,[v,w]=i.value;y+=By(p,0,v??0)*-.3,C+=By(I,0,w??0)*-.3,y+=h.x*E,C+=h.y*E,h.multiplyScalar(.9),Math.abs(h.x)<.01&&(h.x=0),Math.abs(h.y)<.01&&(h.y=0),!(y===0&&C===0)&&f(void 0,y,C,void 0,!0)};return l.push(()=>nt(()=>{if(A.value)return a.add(g),()=>a.delete(g)})),Gt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:y})=>{let C=d.get(E.pointerId);C==null&&d.set(E.pointerId,C={timestamp:0,point:new O}),C.timestamp=performance.now()/1e3,r.current.worldToLocal(C.point.copy(y))},onPointerUp:({nativeEvent:E})=>d.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>d.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>d.delete(E.pointerId),onPointerMove:E=>{const y=d.get(E.nativeEvent.pointerId);if(y==null)return;r.current.worldToLocal(AC.copy(E.point)),uC.copy(AC).sub(y.point).divideScalar(o.peek());const C=performance.now()/1e3,p=C-y.timestamp;y.point.copy(AC),y.timestamp=C,!E.defaultPrevented&&f(E,-uC.x,uC.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:y}=E;f(E,y.deltaX,y.deltaY,void 0,!1)}}})}const TT=Symbol("was-scrolled");function bG(n){return n[TT]??[!1,!1]}function LG(n,e,t){n[TT]=[e,t]}function M_(n,e,t,i){if(t===0)return n;const r=By(n,0,e??0);Q_(t)===Q_(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:_1(s,0,e??0)}function Q_(n){return n>=0}function By(n,e,t){return nt?n-t:0}const PG=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function ym(n,e,t,i,r,s,o,a,l){const A=Ci(void 0,ii.Panel,gm,o),d=Ft(n,"scrollbarWidth",10),h=R1(n,PG);D_(n,0,e,t,i,r,s,A,a,d,h,l),D_(n,1,e,t,i,r,s,A,a,d,h,l)}let R_;function NG(){return R_??=eh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),R_}function D_(n,e,t,i,r,s,o,a,l,A,d,h){const f=Gt(()=>kG(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Gt(()=>f.value?.slice(0,2)??[0,0]),E=Gt(()=>f.value?.slice(2,4)??[0,0]);h.push(y=>ks(n,a,void 0,l,r,E,g,d,o,s,NG(),y))}function kG(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],d=Math.max(e,A*A/(o+A)),h=A-d,f=s[n];return a[n]=t[n]*.5-d*.5-r[(n+3)%4]-h*_1(f/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=d,a[l+2]=e,a}function UG(n,e,t,i,r){let s=!1;if(fm(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};Ml("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),Ml("onPointerUp",n,o),Ml("onPointerLeave",n,o)}function wo(n){return{active:th(()=>n.value.length>0)}}function Na(n,e){return Gt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function bT(n,e,t,i,...r){t.push(s=>{if(!(i instanceof ni)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(nt(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function ka(n,e,t,i,r,s){s.push(o=>{const a=new AT(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(nt(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const T_=new Map,vm={keepAspectRatio:(n,e)=>{let t=T_.get(n);t==null&&T_.set(n,t=Gt(()=>Hr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function So(n,e,t,i,r,s,o){return Gt(()=>{const a={};return FG(a,s?.value),m6(a,n.value,e.value,t.value,i,o),UG(a,n.value,e.value,t.value,r),a})}function FG(n,e){for(const t in e)Ml(t,n,e[t])}function Ml(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function _o(n,e,t,i,r,s){return Gt(()=>{const o=new _H(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const b_=new Ze;function LT(n,e,t,i){const r=Ft(n,"color",void 0),s=Ft(n,"opacity",1);t.push(()=>nt(()=>{let o;Array.isArray(r.value)?o=b_.setRGB(...r.value):r.value!=null&&(o=b_.set(r.value)),Hr(e)?.traverse(a=>{if(!(a instanceof Zt))return;a.renderOrder=i.renderOrder.value;const l=a.material;l.color.copy(o??a.userData.color),l.opacity=s.value,l.depthTest=i.depthTest.value})}))}const OG=.01,L_=new O,hp=new rn,fp=rt(new dt);function HG(n,e,t,i,r,s,o,a,l){const A=rt([0,0]),d=rt([]),h=rt([]),f=[];Qo(d,f);const g=_o(e,t,i,{...Bo,...xo(A),...Ro(d),...wo(h)},{...P_(n,"sizeX","width"),...P_(n,"sizeY","height")}),E=Ft(g,"renderOrder",0),y=Ft(g,"depthTest",!0),C=rt(void 0),p=GG(l,C,f),I=Co();f.push(ae=>{const re=new AT(I,g,p,r,ae);return C.value=re,ae});const v=yo(g,I,n),w=YG(g,v,I.size,n);vo(r,w,f);const R=Jl(g),Q=Ci(void 0,ii.Panel,R,void 0),D={cameraDistance:0,onFrameSet:l},U=new QG(E,y,n,D,r,f),K=()=>{if(r.current==null){D.cameraDistance=0;return}hp.normal.set(0,0,1),hp.constant=0,hp.applyMatrix4(r.current.matrixWorld),L_.setFromMatrixPosition(o().matrixWorld),D.cameraDistance=hp.distanceToPoint(L_)};f.push(()=>(l.add(K),()=>l.delete(K))),f.push(ae=>ks(g,Q,R,U,fp,I.size,void 0,I.borderInset,void 0,void 0,Wl(),ae));const _=mm();Cm(s,_,n,f);const P=Em(_,fp,n);ym(g,_,I,fp,void 0,void 0,Q,U,f);const Z=Im(_,void 0,I,r,t,n,l,f);Io(e,t,I.size,f);const he=new fG(E,y,n,D,r,f),X=Object.assign(D,{requestCalculateLayout:p,cameraDistance:0,gylphGroupManager:he,object:r,panelGroupManager:U,pixelSize:n,renderOrder:E,depthTest:y,renderer:a,size:I.size});return Object.assign(I,{anyAncestorScrollable:I.scrollable,clippingRect:pm(fp,I,n,void 0),childrenMatrix:P,node:C,orderInfo:Q,initializers:f,interactionPanel:Yl(Q,X,void 0,I.size,f),handlers:So(e,t,i,d,h,Z),root:X})}function GG(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function P_(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Gt(()=>{const a=Hr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const zG=new dt,VG="center",WG="center";function YG(n,e,t,i){const r=Ft(n,"anchorX",VG),s=Ft(n,"anchorY",WG);return Gt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(zG.makeTranslation(NT[r.value]*o*i.value,kT[s.value]*a*i.value,0))})}function JG(n,e,t,i,r,s){const o=rt(void 0),a=Co(),l=rt([]),A=rt([]),d=[];Qo(l,d);const h=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(l),...wo(A)});ka(o,a,n,h,r,d);const f=yo(h,a,n.root.pixelSize);vo(r,f,d);const g=Na(n.childrenMatrix,f),E=Pa(n.clippingRect,g,a.size,n.root.pixelSize),y=Jl(h),C=Ci(h,ii.Panel,y,n.orderInfo);d.push(w=>ks(h,C,y,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,Wl(),w));const p=mm();Cm(s,p,n.root.pixelSize,d);const I=Em(p,g,n.root.pixelSize);ym(h,p,a,g,E,n.clippingRect,C,n.root.panelGroupManager,d);const v=Im(p,n.anyAncestorScrollable,a,r,t,n.root.pixelSize,n.root.onFrameSet,d);return Io(e,t,a.size,d),La(e,t,E,d),Object.assign(a,{anyAncestorScrollable:Q1(a.scrollable,n.anyAncestorScrollable),clippingRect:pm(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:I,node:o,orderInfo:C,root:n.root,scrollPosition:p,interactionPanel:Yl(C,n.root,n.clippingRect,a.size,d),handlers:So(e,t,i,l,A,v),initializers:d})}const XG="fill";function KG(n,e,t,i,r,s,o){const a=[],l=rt(void 0),A=rt([]),d=rt([]);Qo(A,a);const h=Gt(()=>Hr(e.value));bT(l,$G,a,h);const f=Gt(()=>{const U=l.value;if(U==null)return;const K=U.source.data;return K.width/K.height}),g=_o(t,i,r,{...Bo,...xo(n.root.size),...Ro(A),...wo(d)},vm,U=>U.add("aspectRatio",f)),E=rt(void 0),y=Co();ka(E,y,n,g,s,a);const C=yo(g,y,n.root.pixelSize);vo(s,C,a);const p=Na(n.childrenMatrix,C),I=Pa(n.clippingRect,p,y.size,n.root.pixelSize),v=Gt(()=>I.value||l.value==null),w=Ci(g,ii.Image,void 0,n.orderInfo),R=mm();Cm(o,R,n.root.pixelSize,a);const Q=Em(R,p,n.root.pixelSize);ym(g,R,y,p,I,n.clippingRect,w,n.root.panelGroupManager,a);const D=Im(R,n.anyAncestorScrollable,y,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Io(t,i,y.size,a),La(t,i,I,a),Object.assign(y,{anyAncestorScrollable:Q1(y.scrollable,n.anyAncestorScrollable),initializers:a,handlers:So(t,i,r,A,d,D),interactionPanel:jG(g,l,n,y,w,n.root,v,a),clippingRect:pm(p,y,n.root.pixelSize,n.clippingRect),childrenMatrix:Q,node:E,orderInfo:w,root:n.root})}let N_;function PT(){return N_??=eh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),N_}function jG(n,e,t,i,r,s,o,a){const l=new Zt(M1);l.matrixAutoUpdate=!1;const A=$d(s,t.clippingRect,a),d=PT().computedIsVisibile(n,i.borderInset,i.size,o);return e6(n,l,i.size,i.borderInset,d,A,s,a),l.raycast=Lu(l,BT(l),s.object,t.clippingRect,r),Vl(l,s,r),qG(n,e,i.borderInset,i.size,a),a.push(()=>nt(()=>l.visible=d.value)),a.push(()=>nt(()=>{const h=e.value??null;l.material.map!==h&&(l.material.map=h,l.material.needsUpdate=!0)}),()=>nt(()=>{if(i.size.value==null)return;const[h,f]=i.size.value,g=t.root.pixelSize.value;l.scale.set(h*g,f*g,1),l.updateMatrix()})),l}function qG(n,e,t,i,r){const s=Ft(n,"fit",XG);r.push(()=>nt(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){k_(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[d,h]=i.value,[f,g,E,y]=t.value,C=(d-y-g)/(h-f-E);A>C?o.matrix.translate(-(.5*(C-A))/C,0).scale(C/A,1):o.matrix.translate(0,-(.5*(A-C))/A).scale(1,A/C),k_(t,i,o)}))}function k_(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,d=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+d)/r).scale(i/A,r/d)}const ZG=new um;async function $G(n){if(n==null)return Promise.resolve(void 0);if(n instanceof wn)return Promise.resolve(n);try{const e=await ZG.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function e6(n,e,t,i,r,s,o,a){const l=new Float32Array(16),A={data:l,type:"normal"};e.customDepthMaterial=new MT(A),e.customDistanceMaterial=new _T(A),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const d=Ft(n,"panelMaterialClass",ir);a.push(E=>(E.push(nt(()=>{const y=ST(d.value,A);return y.clippingPlanes=s,e.material=y,nt(()=>y.depthTest=o.depthTest.value)}),nt(()=>e.renderOrder=o.renderOrder.value),nt(()=>e.castShadow=n.value.read("castShadow",!1)),nt(()=>e.receiveShadow=n.value.read("receiveShadow",!1))),E));const h=PT(),f=[];a.push(()=>nt(()=>{if(r.value)return l.set(h.defaultData),f.push(nt(()=>t.value!=null&&l.set(t.value,13)),nt(()=>i.value!=null&&l.set(i.value,0))),()=>Er(f)}));const g=h.setters;a.push(E=>(B1(n,r,h.hasProperty,(y,C)=>g[y](l,0,C,t,void 0),E),E))}function t6(n,e,t,i,r,s,o){const a=rt([]),l=rt([]),A=[];Qo(a,A);const d=_o(i,r,s,{...Bo,...xo(n.root.size),...Ro(a),...wo(l)}),h=rt(void 0),f=Co();ka(h,f,n,d,o,A);const g=yo(d,f,n.root.pixelSize);vo(o,g,A);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,f.size,n.root.pixelSize),C=Jl(d),p=Ci(d,ii.Panel,C,n.orderInfo);A.push(R=>ks(d,p,C,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,y,Wl(),R));const I=ET(d,t,n.root.renderer,A),v=Ci(void 0,ii.Text,IT(I),p),w=yT(d,e,E,h,f,y,n.clippingRect,v,I,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>nt(()=>h.value?.setMeasureFunc(w))),Io(i,r,f.size,A),La(i,r,y,A),Object.assign(f,{interactionPanel:Yl(p,n.root,n.clippingRect,f.size,A),handlers:So(i,r,s,a,l),initializers:A})}const n6=Nn;class Pu extends Yi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new bs(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(W,z){if(W.nodeType!==1)return;const H=w(W);let N=!1,Ee=null;switch(W.nodeName){case"svg":z=E(W,z);break;case"style":s(W);break;case"g":z=E(W,z);break;case"path":z=E(W,z),W.hasAttribute("d")&&(Ee=r(W));break;case"rect":z=E(W,z),Ee=l(W);break;case"polygon":z=E(W,z),Ee=A(W);break;case"polyline":z=E(W,z),Ee=d(W);break;case"circle":z=E(W,z),Ee=h(W);break;case"ellipse":z=E(W,z),Ee=f(W);break;case"line":z=E(W,z),Ee=g(W);break;case"defs":N=!0;break;case"use":z=E(W,z);const we=(W.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),G=W.viewportElement.getElementById(we);G?i(G,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+we);break}Ee&&(z.fill!==void 0&&z.fill!=="none"&&Ee.color.setStyle(z.fill,n6),Q(Ee,Ae),Z.push(Ee),Ee.userData={node:W,style:z});const Be=W.childNodes;for(let pe=0;pe0?Ae.copy(X[X.length-1]):Ae.identity())}function r(W){const z=new qo,H=new ve,N=new ve,Ee=new ve;let Be=!0,pe=!1;const we=W.getAttribute("d");if(we===""||we==="none")return null;const G=we.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,te=G.length;me0&&(H.copy(Ee),z.currentPath.currentPoint.copy(H),Be=!0);break;default:console.warn(ue)}pe=!1}return z}function s(W){if(!(!W.sheet||!W.sheet.cssRules||!W.sheet.cssRules.length))for(let z=0;zEe.trim());for(let Ee=0;Eepe!==""));he[N[Ee]]=Object.assign(he[N[Ee]]||{},Be)}}}function o(W,z,H,N,Ee,Be,pe,we){if(z==0||H==0){W.lineTo(we.x,we.y);return}N=N*Math.PI/180,z=Math.abs(z),H=Math.abs(H);const G=(pe.x-we.x)/2,me=(pe.y-we.y)/2,te=Math.cos(N)*G+Math.sin(N)*me,ue=-Math.sin(N)*G+Math.cos(N)*me;let le=z*z,De=H*H;const q=te*te,S=ue*ue,T=q/le+S/De;if(T>1){const Le=Math.sqrt(T);z=Le*z,H=Le*H,le=z*z,De=H*H}const ie=le*S+De*q,be=(le*De-ie)/ie;let Te=Math.sqrt(Math.max(0,be));Ee===Be&&(Te=-Te);const Re=Te*z*ue/H,Ke=-Te*H*te/z,Ve=Math.cos(N)*Re-Math.sin(N)*Ke+(pe.x+we.x)/2,$e=Math.sin(N)*Re+Math.cos(N)*Ke+(pe.y+we.y)/2,At=a(1,0,(te-Re)/z,(ue-Ke)/H),It=a((te-Re)/z,(ue-Ke)/H,(-te-Re)/z,(-ue-Ke)/H)%(Math.PI*2);W.currentPath.absellipse(Ve,$e,z,H,At,At+It,Be===0,N)}function a(W,z,H,N){const Ee=W*H+z*N,Be=Math.sqrt(W*W+z*z)*Math.sqrt(H*H+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/Be)));return W*N-z*H<0&&(pe=-pe),pe}function l(W){const z=v(W.getAttribute("x")||0),H=v(W.getAttribute("y")||0),N=v(W.getAttribute("rx")||W.getAttribute("ry")||0),Ee=v(W.getAttribute("ry")||W.getAttribute("rx")||0),Be=v(W.getAttribute("width")),pe=v(W.getAttribute("height")),we=1-.551915024494,G=new qo;return G.moveTo(z+N,H),G.lineTo(z+Be-N,H),(N!==0||Ee!==0)&&G.bezierCurveTo(z+Be-N*we,H,z+Be,H+Ee*we,z+Be,H+Ee),G.lineTo(z+Be,H+pe-Ee),(N!==0||Ee!==0)&&G.bezierCurveTo(z+Be,H+pe-Ee*we,z+Be-N*we,H+pe,z+Be-N,H+pe),G.lineTo(z+N,H+pe),(N!==0||Ee!==0)&&G.bezierCurveTo(z+N*we,H+pe,z,H+pe-Ee*we,z,H+pe-Ee),G.lineTo(z,H+Ee),(N!==0||Ee!==0)&&G.bezierCurveTo(z,H+Ee*we,z+N*we,H,z+N,H),G}function A(W){function z(Be,pe,we){const G=v(pe),me=v(we);Ee===0?N.moveTo(G,me):N.lineTo(G,me),Ee++}const H=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new qo;let Ee=0;return W.getAttribute("points").replace(H,z),N.currentPath.autoClose=!0,N}function d(W){function z(Be,pe,we){const G=v(pe),me=v(we);Ee===0?N.moveTo(G,me):N.lineTo(G,me),Ee++}const H=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new qo;let Ee=0;return W.getAttribute("points").replace(H,z),N.currentPath.autoClose=!1,N}function h(W){const z=v(W.getAttribute("cx")||0),H=v(W.getAttribute("cy")||0),N=v(W.getAttribute("r")||0),Ee=new ma;Ee.absarc(z,H,N,0,Math.PI*2);const Be=new qo;return Be.subPaths.push(Ee),Be}function f(W){const z=v(W.getAttribute("cx")||0),H=v(W.getAttribute("cy")||0),N=v(W.getAttribute("rx")||0),Ee=v(W.getAttribute("ry")||0),Be=new ma;Be.absellipse(z,H,N,Ee,0,Math.PI*2);const pe=new qo;return pe.subPaths.push(Be),pe}function g(W){const z=v(W.getAttribute("x1")||0),H=v(W.getAttribute("y1")||0),N=v(W.getAttribute("x2")||0),Ee=v(W.getAttribute("y2")||0),Be=new qo;return Be.moveTo(z,H),Be.lineTo(N,Ee),Be.currentPath.autoClose=!1,Be}function E(W,z){z=Object.assign({},z);let H={};if(W.hasAttribute("class")){const pe=W.getAttribute("class").split(/\s/).filter(Boolean).map(we=>we.trim());for(let we=0;we0&&z.premultiply(X[X.length-1]),Ae.copy(z),X.push(z),z}function R(W){const z=new Qt,H=ae;if(W.nodeName==="use"&&(W.hasAttribute("x")||W.hasAttribute("y"))){const N=v(W.getAttribute("x")),Ee=v(W.getAttribute("y"));z.translate(N,Ee)}if(W.hasAttribute("transform")){const N=W.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const Be=N[Ee].trim();if(Be==="")continue;const pe=Be.indexOf("("),we=Be.length;if(pe>0&&pe=1){const te=me[0];let ue=0;me.length>=2&&(ue=me[1]),H.translate(te,ue)}break;case"rotate":if(me.length>=1){let te=0,ue=0,le=0;te=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],le=me[2]),re.makeTranslation(-ue,-le),fe.makeRotation(te),F.multiplyMatrices(fe,re),re.makeTranslation(ue,le),H.multiplyMatrices(re,F)}break;case"scale":if(me.length>=1){const te=me[0];let ue=te;me.length>=2&&(ue=me[1]),H.scale(te,ue)}break;case"skewX":me.length===1&&H.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&H.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&H.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}z.premultiply(H)}}return z}function Q(W,z){function H(pe){ne.set(pe.x,pe.y,1).applyMatrix3(z),pe.set(ne.x,ne.y)}function N(pe){const we=pe.xRadius,G=pe.yRadius,me=Math.cos(pe.aRotation),te=Math.sin(pe.aRotation),ue=new O(we*me,we*te,0),le=new O(-G*te,G*me,0),De=ue.applyMatrix3(z),q=le.applyMatrix3(z),S=ae.set(De.x,q.x,0,De.y,q.y,0,0,0,1),T=re.copy(S).invert(),Te=fe.copy(T).transpose().multiply(T).elements,Re=P(Te[0],Te[1],Te[4]),Ke=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Ke,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:Ct,y:ut}=new O(Math.cos(Mt),Math.sin(Mt),0).applyMatrix3(Le);return Math.atan2(ut,Ct)};pe.aStartAngle=Pt(pe.aStartAngle),pe.aEndAngle=Pt(pe.aEndAngle),D(z)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const we=K(z),G=_(z);pe.xRadius*=we,pe.yRadius*=G;const me=we>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);pe.aRotation+=me,D(z)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const Be=W.subPaths;for(let pe=0,we=Be.length;peNumber.EPSILON}function K(W){const z=W.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _(W){const z=W.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function P(W,z,H){let N,Ee,Be,pe,we;const G=W+H,me=W-H,te=Math.sqrt(me*me+4*z*z);return G>0?(N=.5*(G+te),we=1/N,Ee=W*we*H-z*we*z):G<0?Ee=.5*(G-te):(N=.5*te,Ee=-.5*te),me>0?Be=me+te:Be=me-te,Math.abs(Be)>2*Math.abs(z)?(we=-2*z/Be,pe=1/Math.sqrt(1+we*we),Be=we*pe):Math.abs(z)===0?(Be=1,pe=0):(we=-.5*Be/z,Be=1/Math.sqrt(1+we*we),pe=we*Be),me>0&&(we=Be,Be=-pe,pe=we),{rt1:N,rt2:Ee,cs:Be,sn:pe}}const Z=[],he={},X=[],ae=new Qt,re=new Qt,fe=new Qt,F=new Qt,$=new ve,ne=new O,Ae=new Qt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:Z,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(y,C,p,I){const v=y.x,w=C.x,R=p.x,Q=I.x,D=y.y,U=C.y,K=p.y,_=I.y,P=(Q-R)*(D-K)-(_-K)*(v-R),Z=(w-v)*(D-K)-(U-D)*(v-R),he=(_-K)*(w-v)-(Q-R)*(U-D),X=P/he,ae=Z/he;if(he===0&&P!==0||X<=0||X>=1||ae<0||ae>1)return null;if(P===0&&he===0){for(let re=0;re<2;re++)if(o(re===0?p:I,y,C),r.loc==i.ORIGIN){const fe=re===0?p:I;return{x:fe.x,y:fe.y,t:r.t}}else if(r.loc==i.BETWEEN){const fe=+(v+r.t*(w-v)).toPrecision(10),F=+(D+r.t*(U-D)).toPrecision(10);return{x:fe,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?p:I,y,C),r.loc==i.ORIGIN){const $=F===0?p:I;return{x:$.x,y:$.y,t:r.t}}const re=+(v+X*(w-v)).toPrecision(10),fe=+(D+X*(U-D)).toPrecision(10);return{x:re,y:fe,t:X}}}function o(y,C,p){const I=p.x-C.x,v=p.y-C.y,w=y.x-C.x,R=y.y-C.y,Q=I*R-w*v;if(y.x===C.x&&y.y===C.y){r.loc=i.ORIGIN,r.t=0;return}if(y.x===p.x&&y.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(Q<-Number.EPSILON){r.loc=i.LEFT;return}if(Q>Number.EPSILON){r.loc=i.RIGHT;return}if(I*w<0||v*R<0){r.loc=i.BEHIND;return}if(Math.sqrt(I*I+v*v)_.t<=K.t+Number.EPSILON&&_.t>=K.t-Number.EPSILON)===void 0&&(p.push(K),I.push(new ve(K.x,K.y)))}}return I}function l(y,C,p){const I=new ve;C.getCenter(I);const v=[];return p.forEach(w=>{w.boundingBox.containsPoint(I)&&a(y,w.points).forEach(Q=>{v.push({identifier:w.identifier,isCW:w.isCW,point:Q})})}),v.sort((w,R)=>w.point.x-R.point.x),v}function A(y,C,p,I,v){(v==null||v==="")&&(v="nonzero");const w=new ve;y.boundingBox.getCenter(w);const R=[new ve(p,w.y),new ve(I,w.y)],Q=l(R,y.boundingBox,C);Q.sort((Z,he)=>Z.point.x-he.point.x);const D=[],U=[];Q.forEach(Z=>{Z.identifier===y.identifier?D.push(Z):U.push(Z)});const K=D[0].point.x,_=[];let P=0;for(;P0&&_[_.length-1]===U[P].identifier?_.pop():_.push(U[P].identifier),P++;if(_.push(y.identifier),v==="evenodd"){const Z=_.length%2===0,he=_[_.length-2];return{identifier:y.identifier,isHole:Z,for:he}}else if(v==="nonzero"){let Z=!0,he=null,X=null;for(let ae=0;ae<_.length;ae++){const re=_[ae];Z?(X=C[re].isCW,Z=!1,he=re):X!==C[re].isCW&&(X=C[re].isCW,Z=!0)}return{identifier:y.identifier,isHole:Z,for:he}}else console.warn('fill-rule: "'+v+'" is currently not implemented.')}let d=999999999,h=-999999999,f=e.subPaths.map(y=>{const C=y.getPoints();let p=-999999999,I=999999999,v=-999999999,w=999999999;for(let R=0;Rp&&(p=Q.y),Q.yv&&(v=Q.x),Q.x=w&&(d=w-1),{curves:y.curves,points:C,isCW:is.isClockWise(C),identifier:-1,boundingBox:new MD(new ve(w,I),new ve(v,p))}});f=f.filter(y=>y.points.length>1);for(let y=0;yA(y,f,d,h,e.userData?e.userData.style.fillRule:void 0)),E=[];return f.forEach(y=>{if(!g[y.identifier].isHole){const p=new Ea;p.curves=y.curves,g.filter(v=>v.isHole&&v.for===y.identifier).forEach(v=>{const w=f[v.identifier],R=new ma;R.curves=w.curves,p.holes.push(R)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(Pu.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Lt;return l.setAttribute("position",new lt(s,3)),l.setAttribute("normal",new lt(o,3)),l.setAttribute("uv",new lt(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new ve,d=new ve,h=new ve,f=new ve,g=new ve,E=new ve,y=new ve,C=new ve,p=new ve,I=new ve,v=new ve,w=new ve,R=new ve,Q=new ve,D=new ve,U=new ve,K=new ve;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const P=e[0].equals(e[_-1]);let Z,he=e[0],X;const ae=t.strokeWidth/2,re=1/(_-1);let fe=0,F,$,ne,Ae,_e=!1,Ue=0,W=l*3,z=l*2;H(e[0],e[1],A).multiplyScalar(ae),C.copy(e[0]).sub(A),p.copy(e[0]).add(A),I.copy(C),v.copy(p);for(let te=1;te<_;te++){Z=e[te],te===_-1?P?X=e[1]:X=void 0:X=e[te+1];const ue=A;if(H(he,Z,ue),h.copy(ue).multiplyScalar(ae),w.copy(Z).sub(h),R.copy(Z).add(h),F=fe+re,$=!1,X!==void 0){H(Z,X,d),h.copy(d).multiplyScalar(ae),Q.copy(Z).sub(h),D.copy(Z).add(h),ne=!0,h.subVectors(X,he),ue.dot(h)<0&&(ne=!1),te===1&&(_e=ne),h.subVectors(X,Z),h.normalize();const le=Math.abs(ue.dot(h));if(le>Number.EPSILON){const De=ae/le;h.multiplyScalar(-De),f.subVectors(Z,he),g.copy(f).setLength(De).add(h),U.copy(g).negate();const q=g.length(),S=f.length();f.divideScalar(S),E.subVectors(X,Z);const T=E.length();switch(E.divideScalar(T),f.dot(U)=r&&le.push(te[De]);return le.push(te[te.length-1]),le}}}function i6(n,e,t,i,r,s,o){const a=[],l=rt([]),A=rt([]);Qo(l,a);const d=rt(void 0),h=_o(t,i,r,{...Bo,...xo(n.root.size),...Ro(l),...wo(A)},vm,P=>P.add("aspectRatio",d)),f=rt(void 0),g=Co();ka(f,g,n,h,s,a);const E=yo(h,g,n.root.pixelSize);vo(s,E,a);const y=Na(n.childrenMatrix,E),C=Pa(n.clippingRect,y,g.size,n.root.pixelSize),p=Jl(h),I=Ci(h,ii.Panel,p,n.orderInfo);a.push(P=>ks(h,I,p,n.root.panelGroupManager,y,g.size,void 0,g.borderInset,n.clippingRect,C,Wl(),P));const v=Ci(void 0,ii.Svg,void 0,I),w=Gt(()=>Hr(e.value)),R=rt(void 0),Q=$d(n.root,n.clippingRect,a);bT(R,o6,a,w,n.root,Q,n.clippingRect,v,d),LT(h,R,a,n.root);const D=r6(g,n.root.pixelSize,R,d,C,a),U=mm();Cm(o,U,n.root.pixelSize,a);const K=Em(U,y,n.root.pixelSize);ym(h,U,g,y,C,n.clippingRect,v,n.root.panelGroupManager,a);const _=Im(U,n.anyAncestorScrollable,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return Io(t,i,g.size,a),La(t,i,C,a),Object.assign(g,{anyAncestorScrollable:Q1(g.scrollable,n.anyAncestorScrollable),clippingRect:pm(y,g,n.root.pixelSize,n.clippingRect),childrenMatrix:K,node:f,orderInfo:v,root:n.root,initializers:a,centerGroup:D,handlers:So(t,i,r,l,A,_),interactionPanel:Yl(v,n.root,n.clippingRect,g.size,a)})}function r6(n,e,t,i,r,s){const o=new ao;return o.matrixAutoUpdate=!1,s.push(()=>nt(()=>{UT(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>nt(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>nt(()=>void(o.visible=t.value!=null&&!r.value))),o}const s6=new Pu,pp=new $n,sl=new O;async function o6(n,e,t,i,r,s){const o=new ao;o.matrixAutoUpdate=!1;const a=await s6.loadAsync(n);pp.makeEmpty();for(const A of a.paths){const d=Pu.createShapes(A),h=new ir;h.transparent=!0,h.depthWrite=!1,h.toneMapped=!1,h.clippingPlanes=t;for(const f of d){const g=new Ru(f);g.computeBoundingBox(),pp.union(g.boundingBox);const E=new Zt(g,h);E.matrixAutoUpdate=!1,E.raycast=Lu(E,E.raycast,e.object,i,r),Vl(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}pp.getSize(sl),s.value=sl.x/sl.y;const l=1/sl.y;return o.scale.set(1,1,1).multiplyScalar(l),pp.getCenter(sl),sl.y*=-1,o.position.copy(sl).negate().multiplyScalar(l),o.updateMatrix(),o}function a6(n,e,t,i,r,s,o,a){const l=[],A=rt([]),d=rt([]);Qo(A,l);const h=_o(r,s,o,{...Bo,...xo(n.root.size),...Ro(A),...wo(d)},vm,R=>{R.add("aspectRatio",t/i),R.add("width",t),R.add("height",i)}),f=Co();ka(void 0,f,n,h,a,l);const g=yo(h,f,n.root.pixelSize);vo(a,g,l);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,f.size,n.root.pixelSize),C=Jl(h),p=Ci(h,ii.Panel,C,n.orderInfo);l.push(R=>ks(h,p,C,n.root.panelGroupManager,E,f.size,void 0,f.borderInset,n.clippingRect,y,Wl(),R));const I=Ci(void 0,ii.Svg,void 0,p),v=$d(n.root,n.clippingRect,l),w=c6(h,e,t,i,n,I,f,y,v,l);return Io(r,s,f.size,l),La(r,s,y,l),Object.assign(f,{initializers:l,iconGroup:w,handlers:So(r,s,o,A,d),interactionPanel:Yl(I,n.root,n.clippingRect,f.size,l)})}const l6=new Pu;function c6(n,e,t,i,r,s,o,a,l,A){const d=new ao;d.matrixAutoUpdate=!1;const h=l6.parse(e);for(const g of h.paths){const E=Pu.createShapes(g),y=new ir;y.transparent=!0,y.depthWrite=!1,y.toneMapped=!1,y.clippingPlanes=l;for(const C of E){const p=new Ru(C);p.computeBoundingBox();const I=new Zt(p,y);I.matrixAutoUpdate=!1,I.raycast=Lu(I,I.raycast,r.root.object,r.clippingRect,s),Vl(I,r.root,s),I.userData.color=g.color,I.scale.y=-1,I.updateMatrix(),d.add(I)}}const f=t/i;return A.push(()=>nt(()=>{UT(d.position,d.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,f),d.position.x-=d.scale.x*f/2,d.position.y+=d.scale.x/2,d.scale.divideScalar(i),d.updateMatrix()}),()=>nt(()=>void(d.visible=!a.value))),LT(n,d,A,r.root),d}function u6(n,e,t,i,r,s){const o=rt([]),a=rt([]),l=[];Qo(o,l);const A=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(o),...wo(a)}),d=Co();ka(void 0,d,n,A,r,l);const h=yo(A,d,n.root.pixelSize);vo(r,h,l);const f=Na(n.childrenMatrix,h),g=Pa(n.clippingRect,f,d.size,n.root.pixelSize),E=Ci(A,ii.Custom,void 0,n.orderInfo),y=$d(n.root,n.clippingRect,l);return l.push(C=>{const p=s.current;if(p==null)return C;if(p.matrixAutoUpdate=!1,p.material instanceof ri){const I=p.material;I.clippingPlanes=y,I.needsUpdate=!0,I.shadowSide=Fr,C.push(()=>nt(()=>I.depthTest=n.root.depthTest.value))}return p.raycast=Lu(p,p.raycast,n.root.object,n.clippingRect,E),Vl(p,n.root,E),C.push(nt(()=>p.renderOrder=n.root.renderOrder.value),nt(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),nt(()=>p.castShadow=A.value.read("castShadow",!1)),nt(()=>{if(d.size.value==null)return;const[I,v]=d.size.value,w=n.root.pixelSize.value;p.scale.set(I*w,v*w,1),p.updateMatrix()}),nt(()=>void(p.visible=!g.value))),C}),Io(e,t,d.size,l),La(e,t,g,l),Object.assign(d,{root:n.root,handlers:So(e,t,i,o,a),initializers:l})}function A6(n,e,t,i,r,s){const o=rt([]),a=rt([]),l=[],A=Co();Qo(o,l);const d=rt(new O(1,1,1)),h=Gt(()=>d.value.x/d.value.y),f=_o(e,t,i,{...Bo,...xo(n.root.size),...Ro(o),...wo(a)},vm,v=>v.add("aspectRatio",h));ka(void 0,A,n,f,r,l);const g=yo(f,A,n.root.pixelSize);vo(r,g,l);const E=Na(n.childrenMatrix,g),y=Pa(n.clippingRect,E,A.size,n.root.pixelSize),C=Jl(f),p=Ci(f,ii.Panel,C,n.orderInfo);l.push(v=>ks(f,p,C,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,y,Wl(),v));const I=Ci(void 0,ii.Object,void 0,p);return Io(e,t,A.size,l),La(e,t,y,l),Object.assign(A,{remeasureContent:f6(f,n.root,A,n.clippingRect,I,d,s,l),interactionPanel:Yl(p,n.root,n.clippingRect,A.size,l),handlers:So(e,t,i,o,a),initializers:l})}const dC=new $n,U_=new O().setScalar(.001),d6=new O,h6="back";function f6(n,e,t,i,r,s,o,a){const l=$d(e,i,a),A=Ft(n,"depthAlign",h6),d=Ft(n,"keepAspectRatio",!0),h=new O,f=new O,g=(y,C,p)=>y?.traverse(I=>{I instanceof Zt&&(I.renderOrder=C,I.material instanceof ri&&(I.material.depthTest=p))}),E=()=>{const y=o.current;if(y==null){h.copy(U_),f.set(0,0,0);return}y.traverse(p=>{p instanceof Zt&&(Vl(p,e,r),p.material.clippingPlanes=l,p.material.needsUpdate=!0,p.raycast=Lu(p,p.raycast,e.object,i,r))});const C=y.parent;y.parent=null,dC.setFromObject(y),dC.getSize(h).max(U_),s.value=h,C!=null&&(y.parent=C),dC.getCenter(f)};return a.push(()=>nt(()=>g(o.current,e.renderOrder.value,e.depthTest.value)),y=>{const C=o.current;return C==null||(E(),y.push(nt(()=>{const{size:{value:p},paddingInset:{value:I},borderInset:{value:v}}=t;if(p==null||I==null||v==null)return;const[w,R]=p,[Q,D,U,K]=I,[_,P,Z,he]=v,X=Q+_,ae=D+P,re=U+Z,fe=K+he,F=w-fe-ae,$=R-X-re,ne=e.pixelSize.value;C.scale.set(F*ne,$*ne,d.value?$*ne*h.z/h.y:h.z).divide(h),C.position.copy(f).negate(),C.position.z-=g6[A.value]*h.z,C.position.multiply(C.scale),C.position.add(d6.set((fe-ae)*.5*ne,(re-X)*.5*ne,0)),C.updateMatrix()}))),y}),()=>{g(o.current,e.renderOrder.peek(),e.depthTest.peek()),E()}}function p6(n,e,t,i,r,s){if(r instanceof qn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof _u){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function Er(n){const e=n.length;for(let t=0;to){e.setScalar(Q*s);return}e.setScalar(R*s/o)}function Hr(n){return n instanceof ni?n.value:n}function th(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Gt(()=>n()?Hr(s):void 0)),i.add(r,o)}}}function R1(n,e){const t=e.map(i=>Ft(n,i,0));return Gt(()=>t.map(i=>i.value))}function Qo(n,e){e.push(()=>()=>FT(n))}function m6(n,e,t,i,r,s){let o=!1;fm(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}Ml("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&E6(r,a)}),Ml("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),FT(r)})}function Ro(n){return{hover:th(()=>n.value.length>0)}}const xy=[],Up=[];function E6(n,e){xy.push(n),Up.push(e),document.body.style.cursor=e}function FT(n){const e=xy.indexOf(n);e!=-1&&(xy.splice(e,1),Up.splice(e,1),document.body.style.cursor=Up[Up.length-1]??"default")}const C6=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let F_;function I6(){return F_??=eh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),F_}function y6(n,e,t,i,r,s,o,a){const l=Ci(void 0,ii.Panel,gm,r),A=rt(void 0);a.push(()=>nt(()=>{const f=t.value;f==null&&(A.value=void 0),A.value=f;const g=setInterval(()=>A.value=A.peek()==null?f:void 0,500);return()=>clearInterval(g)}));const d=R1(n,C6),h=Ft(n,"caretWidth",1.5);a.push(f=>ks(n,l,void 0,o,e,Gt(()=>{const g=A.value;return g==null?[0,0]:[h.value,g[2]]}),Gt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-h.value/2,g[1]]}),d,s,i,I6(),f))}const v6=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let O_;function B6(){return O_??=eh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),O_}function x6(n,e,t,i,r,s,o,a){const l=[],A=Ci(void 0,ii.Panel,gm,r),d=R1(n,v6);return a.push(()=>nt(()=>{const h=t.value,f=h.length;for(let E=0;E()=>{const h=l.length;for(let f=0;fn.value)}}const S6=new Set;function _6(n){S6.add(n)}function M6(n,e,t,i,r,s,o,a,l){const A=rt([]),d=rt([]),h=rt(!1),f=[];Qo(A,f);const g=_o(s,o,a,{...Bo,...xo(n.root.size),...Ro(A),...wo(d),...w6(h)},void 0,fe=>{fm(s.value,o.value,a.value,F=>{fe.add("caretOpacity",F.opacity),fe.add("caretColor",F.color)})}),E=Co(),y=rt(void 0);ka(y,E,n,g,l,f);const C=yo(g,E,n.root.pixelSize);vo(l,C,f);const p=Na(n.childrenMatrix,C),I=Pa(n.clippingRect,p,E.size,n.root.pixelSize),v=Jl(g),w=Ci(g,ii.Panel,v,n.orderInfo);f.push(fe=>ks(g,w,v,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,I,Wl(),fe));const R={},Q=rt([]),D=rt(void 0),U=rt(void 0);y6(g,p,D,I,w,n.clippingRect,n.root.panelGroupManager,f);const K=x6(g,p,Q,I,w,n.clippingRect,n.root.panelGroupManager,f),_=ET(g,r,n.root.renderer,f),P=Ci(void 0,ii.Text,IT(_),K),Z=yT(g,e,p,y,E,I,n.clippingRect,P,_,n.root.gylphGroupManager,U,Q,D,R,f);f.push(()=>nt(()=>y.value?.setMeasureFunc(Z))),Io(s,o,E.size,f),La(s,o,I,f);const he=Ft(g,"disabled",!1),X=R6(e,U,t,i,he,f),ae=()=>{h.peek()||X.peek()?.focus()};D6(X,h,f);const re=Q6(E,X,R,U,ae,he);return Object.assign(E,{focus:ae,root:n.root,element:X,node:y,interactionPanel:Yl(w,n.root,n.clippingRect,E.size,f),handlers:So(s,o,a,A,d,re,"text"),initializers:f})}function Q6(n,e,t,i,r,s){return Gt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;_6(a.nativeEvent),a.stopPropagation?.();const l=H_(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=H_(n,a.uv,t.current),A=Math.min(o,l),d=Math.max(o,l),h=o{r(),i.value=[A,d],e.peek()?.setSelectionRange(A,d,h)})}}})}function R6(n,e,t,i,r,s){const o=rt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),d()});const d=()=>{const{selectionStart:h,selectionEnd:f}=l;if(h==null||f==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===h&&g[1]===f||(e.value=[h,f])};return l.addEventListener("keydown",d),l.addEventListener("keyup",d),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},nt(()=>l.value=n.value),nt(()=>l.disabled=r.value)),a}),o}function D6(n,e,t){t.push(()=>nt(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function H_({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[d,,,h]=o,[f,,,g]=a,E=i.x*l-h-g,y=-i.y*A+d+f;return r.getCharIndex(E,y)}new ve;const wy=Y.createContext(void 0);function T6(){return Y.useContext(wy)}function gn(n){const t={...Y.useContext(wy)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return b.jsx(wy.Provider,{value:t,children:n.children})}const G_=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],Do=Y.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=Y.useState(()=>n.value);Y.useEffect(()=>nt(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=Y.useMemo(()=>{const a={...r},l=G_.length;for(let A=0;A({style:rt(void 0),properties:rt(void 0),default:rt(void 0)}),[]);return e.properties.value=n,e.default.value=T6(),e}function bo(n,e,t,i,r,s){Y.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:d,maxScrollPosition:h}=i;return{setStyle:f=>t.value=f,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:h,size:d,interactionPanel:r instanceof Zt?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const Xe=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>JG(t,s.style,s.properties,s.default,i,r),[t,s]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[t,s,o]),bo(e,t.root.pixelSize,s.style,o,o.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:[b.jsx("primitive",{object:o.interactionPanel}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:o,children:n.children})})]})}),b6=Y.forwardRef((n,e)=>{const t=C1(d=>d.gl);t.setTransparentSort(MH);const i=Ns(),r=Y.useRef(null),s=Y.useRef(null),o=Y.useMemo(()=>rt(void 0),[]);o.value=n.pixelSize;const a=To(n),l=Y.useMemo(()=>new Set,[]),A=Y.useMemo(()=>HG(Gt(()=>Hr(o.value)??OG),a.style,a.properties,a.default,r,s,()=>i.getState().camera,t,l),[]);return Y.useEffect(()=>{const d=[];return Mo(A.initializers,d),()=>Er(d)},[A]),Tu((d,h)=>{for(const f of l)f(h)}),bo(e,A.root.pixelSize,a.style,A,A.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:A.handlers,ref:r,children:[b.jsx("primitive",{object:A.interactionPanel}),b.jsx("object3D",{ref:s,children:b.jsx(bu,{value:A,children:n.children})})]})}),Bm=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>rt(void 0),[]);o.value=n.src;const a=Y.useMemo(()=>KG(t,o,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,s.style,a,a.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:a.handlers,children:[b.jsx("primitive",{object:a.interactionPanel}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:a,children:n.children})})]})}),ct=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>rt(void 0),[]);s.value=n.children;const o=Y.useMemo(()=>rt(void 0),[]);o.value=tT();const a=Y.useMemo(()=>t6(t,s,o,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,r.style,a,a.interactionPanel),b.jsx(Do,{userHandlers:n,handlers:a.handlers,ref:i,children:b.jsx("primitive",{object:a.interactionPanel})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>rt(""),[]);o.value=n.src;const a=Y.useMemo(()=>i6(t,o,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const l=[];return Mo(a.initializers,l),()=>Er(l)},[a]),bo(e,t.root.pixelSize,s.style,a,a.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:a.handlers,children:[b.jsx("primitive",{object:a.interactionPanel}),b.jsx("primitive",{object:a.centerGroup}),b.jsx("object3D",{ref:r,children:b.jsx(bu,{value:a,children:n.children})})]})});const Ji=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>a6(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const o=[];return Mo(s.initializers,o),()=>Er(o)},[s]),bo(e,t.root.pixelSize,r.style,s,s.interactionPanel),b.jsxs(Do,{userHandlers:n,ref:i,handlers:s.handlers,children:[b.jsx("primitive",{object:s.interactionPanel}),b.jsx("primitive",{object:s.iconGroup})]})}),L6=Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=To(n),s=Y.useMemo(()=>rt(""),[]),o=Y.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=Y.useMemo(()=>Gt(()=>Hr(s.value)),[s]),l=Y.useMemo(()=>rt(void 0),[]);l.value=tT();const A=Y.useMemo(()=>M6(t,a,d=>{o.current||(s.value=d),r.style.peek()?.onValueChange?.(d),r.properties.peek()?.onValueChange?.(d)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return Y.useEffect(()=>{const d=[];return Mo(A.initializers,d),()=>Er(d)},[A]),Y.useEffect(()=>nt(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),bo(e,t.root.pixelSize,r.style,A,A.interactionPanel,Y.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),b.jsx(Do,{userHandlers:n,handlers:A.handlers,ref:i,children:b.jsx("primitive",{object:A.interactionPanel})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>u6(t,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[o]),bo(e,t.root.pixelSize,s.style,o,r),b.jsx(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:b.jsx(bu,{value:void 0,children:b.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:M1,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});Y.forwardRef((n,e)=>{const t=Ta(),i=Y.useRef(null),r=Y.useRef(null),s=To(n),o=Y.useMemo(()=>A6(t,s.style,s.properties,s.default,i,r),[]);return Y.useEffect(()=>{const a=[];return Mo(o.initializers,a),()=>Er(a)},[o]),bo(e,t.root.pixelSize,s.style,o,o.interactionPanel),b.jsxs(Do,{userHandlers:n,handlers:o.handlers,ref:i,children:[b.jsx("primitive",{object:o.interactionPanel}),b.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:b.jsx(bu,{value:void 0,children:n.children})})]})});const P6=Y.forwardRef((n,e)=>{const t=Ns(),[i,r,s]=Y.useMemo(()=>[rt(1),rt(1),rt(1)],[]),o=C1(A=>A.camera),a=n.distanceToCamera??o.near+.01;Y.useEffect(()=>{const A=({camera:d,size:{height:h}})=>iT(()=>p6(i,r,s,a,d,h));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return b.jsxs(b.Fragment,{children:[l&&b.jsx("primitive",{object:o}),jD(b.jsx("group",{"position-z":-a,children:b.jsx(b6,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});Y.forwardRef(({src:n,...e},t)=>{const i=I1(um,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,b.jsx(Bm,{ref:t,src:i,...e})});Y.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=Y.useMemo(()=>new Or(1,1,{minFilter:yn,magFilter:yn,type:Ll}),[]),l=Y.useRef(null),A=Y.useMemo(()=>({events:{compute:N6.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);Y.useEffect(()=>{if(l.current==null)return;const{size:h}=l.current,f=nt(()=>{if(h.value==null)return;const[g,E]=h.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{f(),a.dispose()}},[a,A]),Y.useImperativeHandle(o,()=>l.current,[]);const d=Y.useMemo(()=>new wd,[]);return b.jsxs(b.Fragment,{children:[jD(b.jsxs(k6,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,b.jsx("group",{onPointerOver:()=>null})]}),d,A),b.jsx(Bm,{src:a.texture,fit:"fill",keepAspectRatio:!1,...s,ref:l})]})});function N6({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function k6({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=Ns();Y.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return nt(()=>{if(A.value==null)return;const[d,h]=A.value;s.setState({size:{width:d,height:h,top:0,left:0}})})});let o=0,a,l;return Tu(A=>{(n===1/0||o{const t=Y.useMemo(()=>rt(void 0),[]),i=Y.useMemo(()=>rt(1),[]),r=Y.useMemo(()=>document.createElement("video"),[]);return Y.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,Y.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),Y.useEffect(()=>{const s=new zR(r);return t.value=s,()=>s.dispose()},[t,r]),Y.useImperativeHandle(e,()=>r,[r]),b.jsx(Bm,{aspectRatio:i,...n,src:t})});const U6='',F6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:U6,svgWidth:24,svgHeight:24})),O6='',OT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:O6,svgWidth:24,svgHeight:24})),H6='',HT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:H6,svgWidth:24,svgHeight:24})),G6='',z6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:G6,svgWidth:24,svgHeight:24})),V6='',W6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:V6,svgWidth:24,svgHeight:24})),Y6='',GT=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:Y6,svgWidth:24,svgHeight:24})),J6='',X6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:J6,svgWidth:24,svgHeight:24})),K6='',j6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:K6,svgWidth:24,svgHeight:24})),q6='',Z6=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:q6,svgWidth:24,svgHeight:24})),$6='',ez=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:$6,svgWidth:24,svgHeight:24})),tz='',nz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:tz,svgWidth:24,svgHeight:24})),iz='',rz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:iz,svgWidth:24,svgHeight:24})),sz='',oz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:sz,svgWidth:24,svgHeight:24})),az='',lz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:az,svgWidth:24,svgHeight:24})),cz='',uz=Y.forwardRef((n,e)=>b.jsx(Ji,{...n,ref:e,text:cz,svgWidth:24,svgHeight:24}));function Ht(n,e,t){return new Ze().setHSL(n/360,e/100,t/100,"srgb")}const Je=JH({light:{background:Ht(0,0,100),foreground:Ht(222.2,84,4.9),card:Ht(0,0,100),cardForeground:Ht(222.2,84,4.9),popover:Ht(0,0,100),popoverForeground:Ht(222.2,84,4.9),primary:Ht(222.2,47.4,11.2),primaryForeground:Ht(210,40,98),secondary:Ht(210,40,96.1),secondaryForeground:Ht(222.2,47.4,11.2),muted:Ht(210,40,96.1),mutedForeground:Ht(215.4,16.3,46.9),accent:Ht(210,40,96.1),accentForeground:Ht(222.2,47.4,11.2),destructive:Ht(0,72.22,50.59),destructiveForeground:Ht(210,40,98),border:Ht(214.3,31.8,91.4),input:Ht(214.3,31.8,91.4),ring:Ht(222.2,84,4.9)},dark:{background:Ht(222.2,84,4.9),foreground:Ht(210,40,98),card:Ht(222.2,84,4.9),cardForeground:Ht(210,40,98),popover:Ht(222.2,84,4.9),popoverForeground:Ht(210,40,98),primary:Ht(210,40,98),primaryForeground:Ht(222.2,47.4,11.2),secondary:Ht(217.2,32.6,17.5),secondaryForeground:Ht(210,40,98),muted:Ht(217.2,32.6,17.5),mutedForeground:Ht(215,20.2,65.1),accent:Ht(217.2,32.6,17.5),accentForeground:Ht(210,40,98),destructive:Ht(0,62.8,30.6),destructiveForeground:Ht(210,40,98),border:Ht(217.2,32.6,17.5),input:Ht(217.2,32.6,17.5),ring:Ht(212.7,26.8,83.9)}});function Az(n){return b.jsx(gn,{scrollbarColor:Je.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:Je.border,color:Je.foreground,...n})}const dz={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Je.primary},defaultProps:{color:Je.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:Je.destructive},defaultProps:{color:Je.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:Je.accent},containerProps:{border:1,borderColor:Je.input,backgroundColor:Je.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:Je.secondary},defaultProps:{color:Je.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:Je.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:Je.primary}}},hz={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Ls({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=dz[e],A=hz[t];return b.jsx(Xe,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Cg({children:n,...e}){return b.jsx(Xe,{flexDirection:"column",borderRadius:8,border:1,backgroundColor:Je.card,...e,children:b.jsx(gn,{color:Je.cardForeground,children:n})})}function Sy(n){return b.jsx(Xe,{padding:24,flexDirection:"column",gap:6,...n})}function _y({children:n}){return b.jsx(gn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:24,lineHeight:1,children:n})}function My({children:n}){return b.jsx(gn,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n})}function Qy(n){return b.jsx(Xe,{padding:24,paddingTop:0,...n})}function Ry(n){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",padding:24,paddingTop:0,...n})}function Fp({orientation:n="horizontal",...e}){return b.jsx(Xe,{flexShrink:0,backgroundColor:Je.border,width:n==="horizontal"?"100%":1,height:n==="horizontal"?1:"100%",...e})}const D1=Y.createContext({});function zT({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=Y.useState(t),a=Y.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return b.jsx(Xe,{flexDirection:"column",...r,children:b.jsx(D1.Provider,{value:a,children:i})})}function VT({children:n,...e}){return b.jsx(Xe,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:Je.muted,padding:4,flexShrink:0,...e,children:b.jsx(gn,{color:Je.mutedForeground,children:n})})}function Dy({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=Y.useContext(D1),o=e===s;return b.jsx(Xe,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?Je.background:void 0,paddingY:6,justifyContent:"center",...i,children:b.jsx(gn,{opacity:t?.5:void 0,color:o?Je.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function Ty({value:n,...e}){const{value:t}=Y.useContext(D1);return n!=t?null:b.jsx(Xe,{marginTop:8,...e})}const WT=Y.createContext(void 0);function fz({children:n}){const[e,t]=Y.useState(void 0),i=Y.useCallback((r,s)=>t(o=>o===r?s:o),[]);return b.jsxs(b.Fragment,{children:[b.jsx(pz,{set:i,children:n}),e]})}const pz=Y.memo(({children:n,set:e})=>b.jsx(WT.Provider,{value:e,children:n})),T1=Y.createContext(void 0);function b1(){const n=Y.useContext(T1);if(n==null)throw new Error("Can only be used inside a component.");return n}function YT({children:n,open:e,onOpenChange:t,defaultOpen:i}){const[r,s]=Y.useState(i??!1),o=e??r,a=Y.useContext(WT);if(a==null)throw new Error("Can only be used inside a component.");const l=Y.useRef(void 0),A=Y.useRef(void 0);Y.useEffect(()=>{if(!o){a(A.current,void 0),A.current=void 0;return}l.current!=null&&(a(void 0,l.current),A.current=l.current)},[o,a]);const d=Y.useRef(t);d.current=t;const h=e!=null,f=Y.useMemo(()=>({setContent(g){A.current!=null&&(a(A.current,g),A.current=g),l.current=g},setOpen(g){h||s(g),d.current?.(g)}}),[h,a]);return b.jsx(T1.Provider,{value:f,children:n})}function JT({children:n}){const{setOpen:e}=b1();return b.jsx(Xe,{onClick:()=>e(!0),children:n})}function XT(n){return b.jsx(Xe,{onPointerMove:e=>e.stopPropagation(),onPointerEnter:e=>e.stopPropagation(),onPointerLeave:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),positionType:"absolute",inset:0,zIndexOffset:50,backgroundColor:"black",backgroundOpacity:.8,...n})}function xm(){const{setOpen:n}=b1();return Y.useCallback(()=>n(!1),[n])}function KT({children:n}){const e=b1();return Y.useEffect(()=>e.setContent(b.jsx(T1.Provider,{value:e,children:n}))),null}function gz({children:n,sm:e,...t}){const i=xm();return b.jsx(KT,{children:b.jsx(XT,{onClick:r=>{i(),r.stopPropagation()},alignItems:"center",justifyContent:"center",children:b.jsxs(Xe,{onClick:r=>r.stopPropagation(),positionType:"relative",flexDirection:"column",width:"100%",gap:16,border:1,backgroundColor:Je.background,padding:24,sm:{borderRadius:8,...e},...t,children:[n,b.jsx(uz,{color:Je.mutedForeground,onClick:i,cursor:"pointer",positionType:"absolute",zIndexOffset:50,positionRight:16,positionTop:16,borderRadius:2,opacity:.7,backgroundOpacity:.7,hover:{opacity:1,backgroundOpacity:1},width:16,height:16})]})})})}function jT({children:n,...e}){return b.jsx(Xe,{flexDirection:"column",gap:6,...e,children:b.jsx(gn,{horizontalAlign:"center",sm:{horizontalAlign:"left"},children:n})})}function qT(n){return b.jsx(Xe,{flexDirection:"column-reverse",sm:{flexDirection:"row",justifyContent:"flex-end"},gap:8,...n})}function mz({children:n}){return b.jsx(gn,{fontSize:18,lineHeight:1,letterSpacing:-.4,fontWeight:"semi-bold",children:n})}function ZT({children:n}){return b.jsx(gn,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n})}const $s=new jd,hC=new QD,z_=new rn;function Ez(n,e,t,i,r){const s=[];for(const[o,a]of r){hC.set(i[a.lineIndex],i[a.lineIndex+1]).applyMatrix4(n.matrixWorld);const l=hC.at(a.distanceOnLine/hC.distance(),new O);Sm(z_,a,o);const A=Cz(n,i,z_)??l;s.push({...a,intersections:s,pointOnFace:A,point:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),capturedObject:o})}return s}const V_=new O,fC=new Ma;function Cz(n,e,t){for(let i=e.length-1;i>0;i--){const r=e[i-1],s=e[i];if(fC.origin.copy(r).applyMatrix4(n.matrixWorld),fC.direction.copy(s).applyMatrix4(n.matrixWorld).sub($s.ray.origin).normalize(),fC.intersectPlane(t,V_)!=null)return V_.clone()}}const Iz=new dt;function yz(n,e,t,i,r,s,o){const a=[];return nh(r,s.hasEventHandlers.bind(s),l=>{let A=0;for(let d=1;dI===y.object)!=-1)continue;const p=y.distance;y.distance+=A,a.push(Object.assign(y,{intersections:a,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),lineIndex:d-1,distanceOnLine:p,pointOnFace:y.point,localPoint:y.point.clone().applyMatrix4(Iz.copy(y.object.matrixWorld).invert())}))}A+=g}}),a.sort((l,A)=>l.distance-A.distance)}const _s=new jd,uu=new O,io=new rn,W_=new Ma;function vz(n,e,t,i){uu.copy(i).applyQuaternion(e);const r=[];for(const[s,o]of t){W_.set(n,uu),Sm(io,o,s);const a=W_.intersectPlane(io,new O)??o.point;r.push({...o,intersections:r,pointOnFace:a,point:uu.clone().multiplyScalar(o.distance).add(n),inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),capturedObject:s})}return r}function Bz(n,e,t,i,r){_s.setFromCamera(e,n),n.getWorldPosition(i),n.getWorldQuaternion(r),n.getWorldDirection(uu);const s=[];for(const[o,a]of t){io.setFromNormalAndCoplanarPoint(uu,_s.ray.origin),io.constant-=a.distanceViewPlane;const l=_s.ray.intersectPlane(io,new O);if(l==null)continue;Sm(io,a,o);const A=_s.ray.intersectPlane(io,new O)??l;s.push({...a,intersections:s,point:l,pointOnFace:A,inputDevicePosition:i.clone(),inputDeviceRotation:r.clone(),capturedObject:o})}return s}const Ig=new dt;function xz(n,e,t,i,r,s){_s.ray.origin.copy(n),_s.ray.direction.copy(s).applyQuaternion(e);const o=[];return nh(t,i.hasEventHandlers.bind(i),a=>{const l=_s.intersectObject(a,!0);for(const A of l)r&&!wm(A)||(Ig.copy(a.matrixWorld).invert(),o.push(Object.assign(A,{intersections:o,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),pointOnFace:A.point,localPoint:A.point.clone().applyMatrix4(Ig)})))}),o.sort((a,l)=>a.distance-l.distance)}function wz(n,e,t,i,r,s,o){_s.setFromCamera(e,n),n.getWorldPosition(s),n.getWorldQuaternion(o),io.setFromNormalAndCoplanarPoint(n.getWorldDirection(uu),_s.ray.origin);const a=[];return nh(t,i.hasEventHandlers.bind(i),l=>{const A=_s.intersectObject(l,!0);for(const d of A)r&&!wm(d)||(Ig.copy(l.matrixWorld).invert(),a.push(Object.assign(d,{intersections:a,pointOnFace:d.point,inputDevicePosition:s.clone(),inputDeviceRotation:o.clone(),distanceViewPlane:io.distanceToPoint(d.point),localPoint:d.point.clone().applyMatrix4(Ig)})))}),a.sort((l,A)=>l.distance-A.distance)}const Y_=new O,J_=new Gn,X_=new rn;function Sz(n,e,t){const i=[];for(const[r,s]of t){Y_.copy(s.point).sub(s.inputDevicePosition),J_.copy(s.inputDeviceRotation).invert().multiply(e);const o=Y_.clone().applyQuaternion(J_).add(n);Sm(X_,s,r);const a=X_.projectPoint(n,new O);i.push({distance:s.distance,intersections:i,inputDevicePosition:n.clone(),inputDeviceRotation:e.clone(),object:s.object,point:o,pointOnFace:a,face:s.face,capturedObject:r,distanceToFace:a.distanceTo(n),localPoint:s.localPoint})}return i}const Pr=new Jn;function _z(n,e,t,i,r,s){Pr.center.copy(n),Pr.radius=t;const o=[];return nh(i,r.hasEventHandlers.bind(r),a=>$T(a,e,s,o)),o.sort((a,l)=>a.distance-l.distance)}function $T(n,e,t,i){Qz(n,e,t,i);for(const r of n.children)$T(r,e,t,i)}const xA=new dt,wA=new dt;function Mz(n){return"spherecast"in n}function Qz(n,e,t,i){if(n.updateWorldMatrix(!0,!1),Mz(n)){const r=[];n.spherecast(Pr,r);for(const s of r)t&&!wm(s)||i.push({...s,pointOnFace:s.point,intersections:i,inputDevicePosition:Pr.center.clone(),inputDeviceRotation:e.clone(),localPoint:s.point.clone().applyMatrix4(xA.copy(s.object.matrixWorld).invert())})}if(n instanceof Zv){n.geometry.boundingSphere==null&&n.geometry.computeBoundingSphere(),n.geometry.boundingBox==null&&n.geometry.computeBoundingBox();const r=[];for(let s=0;sPr.radius*Pr.radius)return;pC.max(Rz);const d=Au.center.clone().sub(j_);d.divide(pC),Dz(d);const h=gp.clone();o&&!Tz(n,h)||a.push({intersections:a,distance:Math.sqrt(A),object:n,face:{a:0,b:0,c:0,materialIndex:0,normal:d},pointOnFace:h,point:h,instanceId:l,inputDevicePosition:e.clone(),inputDeviceRotation:t.clone(),localPoint:h.clone().applyMatrix4(r)})}function Dz(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)}function nh(n,e,t){if(e(n))return t(n);for(const i of n.children)nh(i,e,t)}function wm(n){if(!(n.object instanceof Zt)||n.object.material.clippingPlanes==null)return!0;const e=n.object.material.clippingPlanes;for(const t of e)if(t.distanceToPoint(n.point)<0)return!1;return!0}function Tz(n,e){if(!(n instanceof Zt)||n.material.clippingPlanes==null)return!0;const t=n.material.clippingPlanes;for(const i of t)if(i.distanceToPoint(e)<0)return!1;return!0}function Sm(n,e,t){return e.face==null?!1:(n.setFromNormalAndCoplanarPoint(e.face.normal,e.localPoint),n.applyMatrix4(t.matrixWorld),!0)}const gC=new O,Z_=new Gn,$_=Symbol("traversal-id"),eM=[],by=new Vt;class _m{inputDeviceId;dispatchPressAlways;eventDispatcher;computeIntersections;getPressedElementIds;getInputDeviceTransformation;wasDragged;onIntersections;filterIntersections;onStartEventCaptures;onEndEventCaptures;intersections=[];lastPositionChangeTime;capturedEvents;objectInteractionStateMap=new Map;constructor(e,t,i,r,s,o,a,l,A,d,h){this.inputDeviceId=e,this.dispatchPressAlways=t,this.eventDispatcher=i,this.computeIntersections=r,this.getPressedElementIds=s,this.getInputDeviceTransformation=o,this.wasDragged=a,this.onIntersections=l,this.filterIntersections=A,this.onStartEventCaptures=d,this.onEndEventCaptures=h}update(e,t,i,...r){this.eventDispatcher.bind(e,this);const s=performance.now(),o=this.intersections;if(t&&(this.intersections=this.computeIntersections(e,this.capturedEvents),this.capturedEvents==null&&this.filterIntersections!=null&&(this.intersections=this.filterIntersections(this.intersections)),this.onIntersections?.(this.intersections),this.intersections.length===0&&(this.getInputDeviceTransformation(gC,Z_),this.intersections=[{distance:1/0,inputDevicePosition:gC.clone(),inputDeviceRotation:Z_.clone(),object:by,point:gC.clone()}])),this.traverseIntersections(this.intersections,(a,l,A,d,h)=>(t&&(this.dispatchEnterOrMove(a,l,A),l.lastIntersectedTime=s),i&&(this.dispatchPress(a,A,h,r),this.dispatchRelease(e,a,A,l,h),this.updateElementStateMap(A,l,h,r,s)),l.lastPressedElementIds=h,l.blockFollowingIntersections&&(this.intersections.length=d+1),!0),a=>this.getPressedElementIds(a)),t){const a=this.getPressedElementIds();this.traverseIntersections(o,(l,A,d)=>A.lastIntersectedTime===s?!1:(this.dispatchRelease(e,l,d,A,a),this.eventDispatcher.leave(l,d),A.lastLeftTime=s,A.lastPressedElementIds=eM,!0)),this.lastPositionChangeTime=s}}cancel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.cancel(t,r),!0))}wheel(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.wheel(t,r),!0))}leave(e){this.eventDispatcher.bind(e,this),this.traverseIntersections(this.intersections,(t,i,r)=>(this.eventDispatcher.leave(t,r),!0)),this.capturedEvents!=null&&this.onEndEventCaptures?.(e),this.lastPositionChangeTime=void 0,this.intersections.length=0,this.capturedEvents=void 0}updateElementStateMap(e,t,i,r,s){for(const o of i)(r.includes(o)||this.dispatchPressAlways)&&t.elementStateMap.set(o,{lastPressEventTime:s,lastPressEventIntersection:e})}dispatchPress(e,t,i,r){for(const s of i)(this.dispatchPressAlways||r.includes(s))&&this.eventDispatcher.press(e,t,s)}dispatchRelease(e,t,i,r,s){for(const o of r.lastPressedElementIds){if(s.includes(o))continue;this.eventDispatcher.release(t,i,o),this.removeEventCapture(e,t);const a=r.elementStateMap.get(o);a!=null&&(r.lastLeftTime==null||r.lastLeftTime{}){const r=Math.random();e:for(let s=0;snew Map,[]),h=Y.useMemo(()=>new Mm,[]);h.onPointerDownMissed=r,h.onPointerUpMissed=s,h.onClickMissed=o;const f=Y.useMemo(()=>({filterClipped:A??!0,computeIntersections:n,isDrag:e,onIntersections:t,filterIntersections:i,onStartEventCaptures:a,onEndEventCaptures:l}),[]);f.filterClipped=A??!0,f.computeIntersections=n,f.isDrag=e,f.onIntersections=t,f.filterIntersections=i,f.onStartEventCaptures=a,f.onEndEventCaptures=l;for(const[g,E]of d)e3(E.translator,g,f);return Y.useEffect(()=>()=>{for(const{translator:g}of d.values())g.leave({});d.clear()},[]),Y.useMemo(()=>{const g=E=>Pz(d,h,f,E);return{cancel:(E,y)=>{const{translator:C}=g(E);C.cancel(y)},enter:(E,y)=>{const{translator:C}=g(E);C.update(y,!0,!0)},leave:(E,y)=>{const{translator:C}=g(E);C.leave(y),d.delete(E)},press:(E,y,...C)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:I,translator:v}=g(E);for(const w of C)I.add(w),p.set(w,y);v.update(y,!1,!0,...C)},release:(E,y,...C)=>{const{inputDeviceElementPressMap:p,inputDeviceElementPressSet:I,inputDeviceElementDragSet:v,translator:w}=g(E);for(const R of C)I.delete(R),p.delete(R);w.update(y,!1,!0);for(const R of C)v.delete(R)},move:(E,y)=>{const{translator:C,inputDeviceElementPressMap:p,inputDeviceElementDragSet:I}=g(E);for(const[v,w]of p)f.isDrag(w,y)&&I.add(v);C.update(y,!0,!1)},wheel:E=>{for(const{translator:y}of d.values())y.wheel(E)},blur:E=>{for(const{translator:y}of d.values())y.leave(E);d.clear()}}},[])}function e3(n,e,{filterIntersections:t,onEndEventCaptures:i,onIntersections:r,onStartEventCaptures:s}){n.onIntersections=r?.bind(null,e),n.filterIntersections=t?.bind(null,e),n.onStartEventCaptures=s?.bind(null,e),n.onEndEventCaptures=i?.bind(null,e)}function Pz(n,e,t,i){let r=n.get(i);if(r==null){const s=new O,o=new Gn,a={inputDeviceElementPressSet:new Set,inputDeviceElementPressMap:new Map,translator:new _m(i,!1,e,(l,A)=>t.computeIntersections(l,A,t.filterClipped,e,s,o),()=>[...a.inputDeviceElementPressSet],(l,A)=>{l.copy(s),A.copy(o)},l=>a.inputDeviceElementDragSet.has(l)),inputDeviceElementDragSet:new Set};e3(a.translator,i,t),n.set(i,r=a)}return r}new O;const Nz=[];function kz(n,e,t){if(n.current==null)return!1;const i=n.current*n.current,r=e.offsetX-t.offsetX,s=e.offsetY-t.offsetY;return r*r+s*s>i}function Uz({filterClipped:n,filterIntersections:e,onClickMissed:t,onIntersections:i,onPointerDownMissed:r,onPointerUpMissed:s,dragDistance:o}){const a=Ns(),l=C1(({gl:f})=>f.domElement),A=Y.useMemo(()=>Fz.bind(null,a),[a]),d=Y.useRef(o);d.current=o;const h=Lz(A,kz.bind(null,d),i,e,r,s,t,Oz,Hz,n);return Y.useEffect(()=>{const f=I=>h.cancel(I.pointerId,I),g=I=>h.press(I.pointerId,I,I.button),E=I=>h.release(I.pointerId,I,I.button),y=I=>h.enter(I.pointerId,I),C=I=>h.leave(I.pointerId,I),p=I=>h.move(I.pointerId,I);return l.addEventListener("pointercancel",f),l.addEventListener("pointerdown",g),l.addEventListener("pointerup",E),l.addEventListener("pointerover",y),l.addEventListener("pointerout",C),l.addEventListener("pointermove",p),l.addEventListener("wheel",h.wheel),l.addEventListener("blur",h.blur),()=>{l.removeEventListener("pointercancel",f),l.removeEventListener("pointerdown",g),l.removeEventListener("pointerup",E),l.removeEventListener("pointerover",y),l.removeEventListener("pointerout",C),l.removeEventListener("pointermove",p),l.removeEventListener("wheel",h.wheel),l.removeEventListener("blur",h.blur)}},[l,h]),null}function Fz(n,e,t,i,r,s,o){if(!(e.target instanceof HTMLCanvasElement))return Nz;const{camera:a,scene:l,size:A}=n.getState(),d=new ve(e.offsetX/A.width*2-1,-(e.offsetY/A.height)*2+1);return t==null?wz(a,d,l,r,i,s,o):Bz(a,d,t,s,o)}function Oz(n,e){e.target instanceof HTMLCanvasElement&&e.target.setPointerCapture(n)}function Hz(n,e){e.target instanceof HTMLCanvasElement&&e.target.releasePointerCapture(n)}const mC=new O,EC=new Gn,Gz=new O(0,0,1);Y.forwardRef(({id:n,onIntersections:e,filterIntersections:t,onClickMissed:i,onPointerDownMissed:r,onPointerUpMissed:s,filterClipped:o=!0,direction:a=Gz,initialPressedElementIds:l},A)=>{const d=Ns(),h=Y.useMemo(()=>new Vt,[]),f=Y.useMemo(()=>new Mm,[]);f.onPointerDownMissed=r,f.onPointerUpMissed=s,f.onClickMissed=i;const g=Y.useMemo(()=>new Set(l),[]),E=Y.useMemo(()=>({filterClipped:o,direction:a}),[]);E.filterClipped=o,E.direction=a;const y=Y.useMemo(()=>new _m(n,!1,f,(p,I)=>(h.getWorldPosition(mC),h.getWorldQuaternion(EC),I==null?xz(mC,EC,d.getState().scene,f,E.filterClipped,E.direction):vz(mC,EC,I,E.direction)),()=>[...g],(p,I)=>{h.getWorldPosition(p),h.getWorldQuaternion(I)}),[n,d]);y.onIntersections=e,y.filterIntersections=t,Y.useImperativeHandle(A,()=>({press:(p,I)=>{g.add(p),y.update(I,!1,!0,p)},release:(p,I)=>{g.delete(p),y.update(I,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),Y.useEffect(()=>y.leave.bind(y,{}),[y]);const C=Y.useRef(g.size>0);return Tu(()=>{y.update({},!0,C.current,...g),C.current=!1}),Fy.createElement("primitive",{object:h})});const CC=new O,IC=new Gn;Y.forwardRef(({id:n,distanceElement:e,radius:t,onIntersections:i,filterIntersections:r,onClickMissed:s,onPointerDownMissed:o,onPointerUpMissed:a,filterClipped:l=!0,initialPressedElementIds:A},d)=>{const h=Y.useMemo(()=>new Vt,[]),f=Ns(),g=Y.useMemo(()=>new Set(A),[]),E=Y.useMemo(()=>new Mm,[]);E.onPointerDownMissed=o,E.onPointerUpMissed=a,E.onClickMissed=s;const y=Y.useMemo(()=>({distanceElement:e,radius:t,filterClipped:l}),[]);y.distanceElement=e,y.radius=t,y.filterClipped=l;const C=Y.useMemo(()=>new _m(n,!0,E,(I,v)=>(h.getWorldPosition(CC),h.getWorldQuaternion(IC),v==null?_z(CC,IC,y.radius,f.getState().scene,E,y.filterClipped):Sz(CC,IC,v)),I=>I!=null&&y.distanceElement!=null&&I.distance<=y.distanceElement.downRadius&&(I.distanceToFace==null||I.distanceToFace<2*y.distanceElement.downRadius*2)?[...g,y.distanceElement.id]:[...g],(I,v)=>{h.getWorldPosition(I),h.getWorldQuaternion(v)}),[n,f]);C.onIntersections=i,C.filterIntersections=r,Y.useImperativeHandle(d,()=>({press:(I,v)=>{g.add(I),C.update(v,!1,!0,I)},release:(I,v)=>{g.delete(I),C.update(v,!1,!0)},cancel:C.cancel.bind(C),wheel(I){C.wheel(I)}}),[C]),Y.useEffect(()=>C.leave.bind(C,{}),[C]);const p=Y.useRef(g.size>0);return Tu(()=>{C.update({},!0,p.current||e!=null,...g),p.current=!1}),Fy.createElement("primitive",{object:h})});const yC=new O,vC=new Gn;Y.forwardRef(({id:n,points:e,onIntersections:t,filterIntersections:i,onClickMissed:r,onPointerDownMissed:s,onPointerUpMissed:o,filterClipped:a=!0,initialPressedElementIds:l},A)=>{const d=Y.useMemo(()=>new Vt,[]),h=Ns(),f=Y.useMemo(()=>new Mm,[]);f.onPointerDownMissed=s,f.onPointerUpMissed=o,f.onClickMissed=r;const g=Y.useMemo(()=>new Set(l),[]),E=Y.useMemo(()=>({points:e,filterClipped:a}),[]);E.points=e,E.filterClipped=a;const y=Y.useMemo(()=>new _m(n,!1,f,(p,I)=>(d.getWorldPosition(yC),d.getWorldQuaternion(vC),I==null?yz(d,yC,vC,E.points,h.getState().scene,f,E.filterClipped):Ez(d,yC,vC,E.points,I)),()=>[...g],(p,I)=>{d.getWorldPosition(p),d.getWorldQuaternion(I)}),[n,h]);y.onIntersections=t,y.filterIntersections=i,Y.useImperativeHandle(A,()=>({press:(p,I)=>{g.add(p),y.update(I,!1,!0,p)},release:(p,I)=>{g.delete(p),y.update(I,!1,!0)},cancel:y.cancel.bind(y),wheel(p){y.wheel(p)}}),[y]),Y.useEffect(()=>y.leave.bind(y,{}),[y]);const C=Y.useRef(g.size>0);return Tu(()=>{y.update({},!0,C.current,...g),C.current=!1}),Fy.createElement("primitive",{object:d})});const zz=()=>({enabled:!1,priority:0});class Mm{onPointerDownMissed;onPointerUpMissed;onClickMissed;stoppedEventTypeSet;event;translator;constructor(e,t,i){this.onPointerDownMissed=e,this.onPointerUpMissed=t,this.onClickMissed=i}press=this.dispatch.bind(this,["onPointerDown"]);release=this.dispatch.bind(this,["onPointerUp"]);cancel=this.dispatch.bind(this,["onPointerCancel"]);select=this.dispatch.bind(this,["onClick"]);move=this.dispatch.bind(this,["onPointerMove"]);enter=this.dispatch.bind(this,["onPointerEnter","onPointerOver"]);leave=this.dispatch.bind(this,["onPointerLeave","onPointerOut"]);wheel=this.dispatch.bind(this,["onWheel"]);losteventcapture=()=>{};dispatch(e,t,i,r){for(const s of e){if(this.stoppedEventTypeSet.has(s))return;if(t==by){switch(s){case"onClick":case"onPointerDown":case"onPointerUp":{const a=this[`${s}Missed`];if(a==null)return;a(this.createEvent(s,t,i,r))}}return}t.__r3f.handlers[s]?.(this.createEvent(s,t,i,r))}}createEvent(e,t,i,r){const s=this.stoppedEventTypeSet,o=this.translator,a={setPointerCapture:this.translator.addEventCapture.bind(this.translator,this.event,t,i),releasePointerCapture:this.translator.removeEventCapture.bind(this.translator,this.event,t),hasPointerCapture:this.translator.hasEventCapture.bind(this.translator,t)},l={};for(const A in this.event){const d=this.event[A];typeof d!="function"&&(l[A]=d)}return Object.assign(l,i,{eventObject:t,pointer:null,stopped:null,delta:0,unprojectedPoint:null,ray:null,camera:null,stopPropagation(){s.add(e),e=="onPointerEnter"&&o.blockFollowingIntersections(t)},pointerId:this.translator.inputDeviceId,target:a,currentTarget:a,nativeEvent:this.event,inputDeviceElementId:r,inputDeviceId:this.translator.inputDeviceId}),l}bind(e,t){this.stoppedEventTypeSet=new Set,this.event=e,this.translator=t}hasEventHandlers(e){if(e===by)return!0;const t=e.__r3f;return t!=null&&t.eventCount>0}}const t3=Y.createContext(null);function Vz({children:n,...e}){const[t,i]=Y.useState(!1),r=Y.useRef(void 0);return Y.useEffect(()=>()=>{r.current!=null&&clearTimeout(r.current)},[]),b.jsx(Xe,{onPointerOver:()=>{r.current==null&&(r.current=setTimeout(()=>{r.current=void 0,i(!0)},1e3))},onPointerOut:()=>{if(r.current!=null){clearTimeout(r.current),r.current=void 0;return}i(!1)},positionType:"relative",flexDirection:"column",alignItems:"center",...e,children:b.jsx(t3.Provider,{value:t,children:n})})}function Wz(n){return b.jsx(Xe,{alignSelf:"stretch",...n})}function Yz({children:n,sideOffset:e=4,...t}){return Y.useContext(t3)?b.jsx(Xe,{positionType:"absolute",positionBottom:"100%",marginBottom:e,zIndexOffset:50,overflow:"hidden",borderRadius:6,border:1,backgroundColor:Je.popover,paddingX:12,paddingY:6,...t,children:b.jsx(gn,{wordBreak:"keep-all",fontSize:14,lineHeight:1.4333,color:Je.popoverForeground,children:n})}):null}function Jz(){return b.jsxs(Vz,{children:[b.jsx(Wz,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(ct,{children:"Hover"})})}),b.jsx(Yz,{children:b.jsx(ct,{children:"Add to library"})})]})}const Qm=Y.createContext(null);function Xz({children:n}){const e=Y.useState(void 0);return b.jsx(Xe,{flexDirection:"column",children:b.jsx(Qm.Provider,{value:e,children:n})})}const L1=Y.createContext("");function BC({children:n,...e}){const[t,i]=Y.useContext(Qm),r=e.value===t;return b.jsx(Xe,{cursor:"pointer",flexDirection:"column",onClick:()=>i(r?void 0:e.value),borderBottom:1,...e,children:b.jsx(L1.Provider,{value:e.value,children:n})})}function xC({children:n,...e}){const t=Y.useContext(L1),[i]=Y.useContext(Qm),r=t===i;return b.jsxs(Xe,{flexDirection:"row",flexGrow:1,flexShrink:1,alignItems:"center",justifyContent:"space-between",paddingY:16,...e,children:[b.jsx(gn,{fontWeight:"medium",children:n}),b.jsx(z6,{transformRotateZ:r?180:0,width:16,height:16,flexShrink:0})]})}function wC({children:n,...e}){const t=Y.useContext(L1),[i]=Y.useContext(Qm);return i!=t?null:b.jsx(Xe,{overflow:"hidden",...e,children:b.jsx(Xe,{paddingBottom:16,children:b.jsx(gn,{fontSize:14,children:n})})})}function Kz(){return b.jsx(Xe,{flexDirection:"column",width:300,children:b.jsxs(Xz,{children:[b.jsxs(BC,{value:"item-1",children:[b.jsx(xC,{children:b.jsx(ct,{children:"Is it accessible?"})}),b.jsx(wC,{children:b.jsx(ct,{children:"Yes. It adheres to the WAI-ARIA design pattern."})})]}),b.jsxs(BC,{value:"item-2",children:[b.jsx(xC,{children:b.jsx(ct,{children:"Is it styled?"})}),b.jsx(wC,{children:b.jsx(ct,{children:"Yes. It comes with default styles that matches the other components' aesthetic."})})]}),b.jsxs(BC,{value:"item-3",children:[b.jsx(xC,{children:b.jsx(ct,{children:"Is it animated?"})}),b.jsx(wC,{children:b.jsx(ct,{children:"Yes. It's animated by default, but you can disable it if you prefer."})})]})]})})}const jz={default:{},destructive:{borderColor:Je.destructive,borderOpacity:.5,color:Je.destructive}};function qz(n){return b.jsx(gn,{...jz[n.variant??"default"],children:b.jsx(Xe,{flexDirection:"column",positionType:"relative",width:"100%",borderRadius:8,border:1,padding:16,...n})})}function Zz(n){return b.jsx(Xe,{positionLeft:16,positionTop:16,positionType:"absolute",...n})}function $z({children:n,...e}){return b.jsx(Xe,{marginBottom:4,padding:0,paddingLeft:28,...e,children:b.jsx(gn,{fontWeight:"medium",letterSpacing:-.4,lineHeight:1,children:n})})}function e9({children:n}){return b.jsx(Xe,{paddingLeft:28,children:b.jsx(gn,{lineHeight:1.625,fontSize:14,children:n})})}function t9(){return b.jsxs(qz,{maxWidth:500,children:[b.jsx(Zz,{children:b.jsx(oz,{width:16,height:16})}),b.jsx($z,{children:b.jsx(ct,{children:"Error"})}),b.jsx(e9,{children:b.jsx(ct,{children:"You can add components to your app using the cli."})})]})}const n9=YT,i9=JT;function r9(n){const e=xm();return b.jsx(KT,{children:b.jsx(XT,{onClick:t=>{e(),t.stopPropagation()},alignItems:"center",justifyContent:"center",children:b.jsx(Xe,{onClick:t=>t.stopPropagation(),positionType:"relative",flexDirection:"column",maxWidth:512,width:"100%",gap:16,border:1,backgroundColor:Je.background,padding:24,sm:{borderRadius:8},...n})})})}const s9=jT,o9=qT;function a9({children:n}){return b.jsx(gn,{fontSize:18,lineHeight:1.5555,fontWeight:"semi-bold",children:n})}const l9=ZT;function c9({children:n,onClick:e,...t}){const i=xm();return b.jsx(Xe,{borderRadius:6,height:40,paddingX:16,paddingY:8,alignItems:"center",justifyContent:"center",cursor:"pointer",flexDirection:"row",backgroundColor:Je.primary,onClick:r=>{r.stopPropagation(),i(),e?.(r)},hover:{backgroundOpacity:.9},...t,children:b.jsx(gn,{children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",color:Je.primaryForeground,children:n})})})}function u9({children:n,onClick:e,...t}){const i=xm();return b.jsx(Xe,{borderRadius:6,height:40,paddingX:16,paddingY:8,alignItems:"center",justifyContent:"center",cursor:"pointer",flexDirection:"row",border:1,borderColor:Je.input,backgroundColor:Je.background,onClick:r=>{r.stopPropagation(),i(),e?.(r)},hover:{backgroundColor:Je.accent},...t,children:b.jsx(gn,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",children:n})})}function A9(){return b.jsxs(n9,{children:[b.jsx(i9,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(ct,{children:"Show Dialog"})})}),b.jsxs(r9,{children:[b.jsxs(s9,{children:[b.jsx(a9,{children:b.jsx(ct,{children:"Are you absolutely sure?"})}),b.jsx(l9,{children:b.jsx(ct,{children:"This action cannot be undone. This will permanently delete your account and remove your data from our servers."})})]}),b.jsxs(o9,{children:[b.jsx(u9,{children:b.jsx(ct,{children:"Cancel"})}),b.jsx(c9,{children:b.jsx(ct,{children:"Continue"})})]})]})]})}function d9(n){return b.jsx(Bm,{width:40,height:40,flexShrink:0,aspectRatio:1,fit:"cover",borderRadius:20,...n})}function h9(){return b.jsx(Xe,{alignItems:"center",children:b.jsx(d9,{src:"https://picsum.photos/100/100"})})}const f9={default:{defaultProps:{color:Je.primaryForeground},containerProps:{backgroundColor:Je.primary},containerHoverProps:{backgroundOpacity:.8}},secondary:{defaultProps:{color:Je.secondaryForeground},containerProps:{backgroundColor:Je.secondary},containerHoverProps:{backgroundOpacity:.8}},destructive:{defaultProps:{color:Je.destructiveForeground},containerProps:{backgroundColor:Je.destructive},containerHoverProps:{backgroundOpacity:.8}},outline:{}};function p9({children:n,variant:e="default",hover:t,...i}){const{containerProps:r,defaultProps:s,containerHoverProps:o}=f9[e];return b.jsx(Xe,{borderRadius:1e3,border:1,paddingX:10,paddingY:2,hover:{...o,...t},...r,...i,children:b.jsx(gn,{fontSize:12,lineHeight:1.3333,fontWeight:"semi-bold",...s,children:n})})}function g9(){return b.jsx(p9,{children:b.jsx(ct,{children:"Badge"})})}function m9(){return b.jsx(Ls,{variant:"outline",size:"icon",children:b.jsx(GT,{width:16,height:16})})}function n3({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=Y.useState(n??!1),a=e??s;return b.jsx(Xe,{height:24,width:44,flexShrink:0,flexDirection:"row",padding:2,alignItems:"center",backgroundOpacity:t?.5:void 0,borderRadius:1e3,backgroundColor:a?Je.primary:Je.input,cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},...r,children:b.jsx(Xe,{width:20,height:20,borderRadius:1e3,transformTranslateX:a?20:0,backgroundColor:Je.background})})}const SC=[{title:"Your call has been confirmed.",description:"1 hour ago"},{title:"You have a new message!",description:"1 hour ago"},{title:"Your subscription is expiring soon!",description:"2 hours ago"}];function E9(){return b.jsxs(Cg,{width:380,children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(ct,{children:"Notifications"})}),b.jsx(My,{children:b.jsx(ct,{children:"You have 3 unread messages."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:16,children:[b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:16,borderRadius:6,border:1,padding:16,children:[b.jsx(F6,{}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(ct,{fontSize:14,lineHeight:1,children:"Push Notifications"}),b.jsx(ct,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:"Send notifications to device."})]}),b.jsx(n3,{})]}),b.jsx(Xe,{flexDirection:"column",children:SC.map((n,e)=>b.jsxs(Xe,{marginBottom:e===SC.length-1?0:16,paddingBottom:e===SC.length-1?0:16,alignItems:"flex-start",flexDirection:"row",gap:17,children:[b.jsx(Xe,{height:8,width:8,transformTranslateY:4,borderRadius:1e3,backgroundColor:959977}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(ct,{fontSize:14,lineHeight:1,children:n.title}),b.jsx(ct,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:n.description})]})]},e))})]}),b.jsx(Ry,{children:b.jsxs(Ls,{flexDirection:"row",width:"100%",children:[b.jsx(HT,{marginRight:8,height:16,width:16}),b.jsx(ct,{children:"Mark all as read"})]})})]})}function C9({defaultChecked:n,checked:e,disabled:t=!1,onCheckedChange:i,...r}){const[s,o]=Y.useState(n??!1),a=e??s;return b.jsx(Xe,{alignItems:"center",justifyContent:"center",cursor:t?void 0:"pointer",onClick:t?void 0:()=>{e==null&&o(!a),i?.(!a)},borderRadius:4,width:16,height:16,border:1,borderColor:Je.primary,backgroundColor:a?Je.primary:void 0,backgroundOpacity:t?.5:void 0,borderOpacity:t?.5:void 0,...r,children:b.jsx(HT,{color:a?Je.primaryForeground:void 0,opacity:a?t?.5:void 0:0,width:14,height:14})})}function es({disabled:n,children:e}){return b.jsx(gn,{fontWeight:"medium",fontSize:14,lineHeight:1,opacity:n?.7:void 0,children:e})}function I9(){return b.jsxs(Xe,{flexDirection:"row",gap:8,alignItems:"center",children:[b.jsx(C9,{}),b.jsx(es,{children:b.jsx(ct,{children:"Accept terms and conditions"})})]})}function y9(){return b.jsxs(YT,{children:[b.jsx(JT,{children:b.jsx(Ls,{variant:"outline",children:b.jsx(ct,{children:"Edit Profile"})})}),b.jsxs(gz,{sm:{maxWidth:425},children:[b.jsxs(jT,{children:[b.jsx(mz,{children:b.jsx(ct,{children:"Edit profile"})}),b.jsx(ZT,{children:b.jsx(ct,{children:"Make changes to your profile here. Click save when you're done."})})]}),b.jsxs(Xe,{flexDirection:"column",alignItems:"center",gap:16,paddingY:16,children:[b.jsx(Xe,{alignItems:"center",gap:16,children:b.jsx(es,{children:b.jsx(ct,{horizontalAlign:"right",children:"Name"})})}),b.jsx(Xe,{alignItems:"center",gap:16,children:b.jsx(es,{children:b.jsx(ct,{horizontalAlign:"right",children:"Username"})})})]}),b.jsx(qT,{children:b.jsx(Ls,{children:b.jsx(ct,{children:"Save changes"})})})]})]})}function v9(n){return b.jsx(Xe,{marginX:"auto",flexDirection:"row",width:"100%",justifyContent:"center",...n})}function B9(n){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",gap:4,...n})}const kc=Xe,x9={outline:{containerProps:{border:1,borderColor:Je.input,backgroundColor:Je.background},containerHoverProps:{backgroundColor:Je.accent}},ghost:{containerHoverProps:{backgroundColor:Je.accent}}},w9={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function JA({isActive:n=!1,size:e="icon",hover:t,...i}){const{containerProps:r,containerHoverProps:s}=x9[n?"outline":"ghost"],o=w9[e];return b.jsx(Xe,{cursor:"pointer",borderRadius:6,alignItems:"center",justifyContent:"center",hover:{...s,...t},...r,...o,...i})}function S9(n){return b.jsxs(JA,{flexDirection:"row",size:"default",gap:4,paddingLeft:10,...n,children:[b.jsx(W6,{width:16,height:16}),b.jsx(ct,{children:"Previous"})]})}function _9(n){return b.jsxs(JA,{flexDirection:"row",size:"default",gap:4,paddingRight:10,...n,children:[b.jsx(ct,{children:"Next"}),b.jsx(GT,{width:16,height:16})]})}function M9(n){return b.jsx(Xe,{flexDirection:"row",height:36,width:36,alignItems:"center",justifyContent:"center",...n,children:b.jsx(ez,{width:16,height:16})})}function Q9(){return b.jsx(v9,{children:b.jsxs(B9,{children:[b.jsx(kc,{children:b.jsx(S9,{})}),b.jsx(kc,{children:b.jsx(JA,{children:b.jsx(ct,{children:"1"})})}),b.jsx(kc,{children:b.jsx(JA,{isActive:!0,children:b.jsx(ct,{children:"2"})})}),b.jsx(kc,{children:b.jsx(JA,{children:b.jsx(ct,{children:"3"})})}),b.jsx(kc,{children:b.jsx(M9,{})}),b.jsx(kc,{children:b.jsx(_9,{})})]})})}function R9({value:n,...e}){const t=Y.useMemo(()=>Gt(()=>`${n??0}%`),[n]);return b.jsx(Xe,{height:16,width:"100%",borderRadius:1e3,backgroundColor:Je.secondary,...e,children:b.jsx(Xe,{height:"100%",borderRadius:1e3,backgroundColor:Je.primary,width:t})})}function D9(){const[n,e]=Y.useState(13);return Y.useEffect(()=>{const t=setTimeout(()=>e(66),500);return()=>clearTimeout(t)},[]),b.jsx(R9,{value:n,width:200})}const i3=Y.createContext({});function T9({defaultValue:n,value:e,onValueChange:t,children:i,...r}){const[s,o]=Y.useState(n),a=Y.useMemo(()=>e==null?{value:s,setValue:l=>{o(l),t?.(l)}}:{value:e,onValueChange:t},[s,t,e]);return b.jsx(Xe,{flexDirection:"column",gap:8,...r,children:b.jsx(i3.Provider,{value:a,children:i})})}function _C({disabled:n=!1,value:e,children:t,...i}){const{value:r,setValue:s}=Y.useContext(i3);return b.jsxs(Xe,{cursor:n?void 0:"pointer",onClick:n?void 0:()=>s?.(e),flexDirection:"row",alignItems:"center",gap:8,children:[b.jsx(Xe,{aspectRatio:1,height:16,width:16,borderRadius:1e3,border:1,borderOpacity:n?.5:void 0,borderColor:Je.primary,alignItems:"center",justifyContent:"center",...i,children:b.jsx(Xe,{borderRadius:1e3,aspectRatio:1,backgroundColor:Je.primary,backgroundOpacity:e===r?1:0,height:9,width:9})}),t]})}function b9(){return b.jsxs(T9,{defaultValue:"comfortable",children:[b.jsx(_C,{value:"default",children:b.jsx(es,{children:b.jsx(ct,{children:"Default"})})}),b.jsx(_C,{value:"comfortable",children:b.jsx(es,{children:b.jsx(ct,{children:"Comfortable"})})}),b.jsx(_C,{value:"compact",children:b.jsx(es,{children:b.jsx(ct,{children:"Compact"})})})]})}function L9(){return b.jsxs(Xe,{width:300,flexDirection:"column",children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(ct,{fontSize:14,lineHeight:1,children:"Radix Primitives"}),b.jsx(ct,{fontSize:14,lineHeight:1.43,color:Je.mutedForeground,children:"An open-source UI component library."})]}),b.jsx(Fp,{marginY:16}),b.jsx(Xe,{flexDirection:"row",height:20,alignItems:"center",gap:16,children:b.jsxs(gn,{fontSize:14,lineHeight:1.43,children:[b.jsx(ct,{children:"Blog"}),b.jsx(Fp,{orientation:"vertical"}),b.jsx(ct,{children:"Docs"}),b.jsx(Fp,{orientation:"vertical"}),b.jsx(ct,{children:"Source"})]})})]})}function MC(n){const e=Y.useMemo(()=>rt(1),[]),t=Y.useRef(0);return Tu((i,r)=>{e.value=Math.cos(t.current*Math.PI)*.25+.75,t.current+=r}),b.jsx(Xe,{borderRadius:6,backgroundColor:Je.muted,backgroundOpacity:e,...n})}function P9(){return b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:16,children:[b.jsx(MC,{borderRadius:1e3,height:48,width:48}),b.jsxs(Xe,{flexDirection:"column",gap:8,children:[b.jsx(MC,{height:16,width:250}),b.jsx(MC,{height:16,width:200})]})]})}const QC=new O;function N9({disabled:n=!1,value:e,defaultValue:t,onValueChange:i,min:r=0,max:s=100,step:o=1,...a}){const[l,A]=Y.useState(t),d=e??l??50,h=s-r,f=`${100*d/h}%`,g=Y.useRef(null),E=Y.useRef(i);E.current=i;const y=e!=null,C=Y.useMemo(()=>{let p=!1;function I(v){if(g.current==null)return;QC.copy(v.point),g.current.interactionPanel.worldToLocal(QC);const w=Math.min(Math.max(Math.round(((QC.x+.5)*(s-r)+r)/o)*o,r),s);y||A(w),E.current?.(w),v.stopPropagation()}return{onPointerDown(v){p=!0,I(v),v.target.setPointerCapture(v.pointerId)},onPointerMove(v){p&&I(v)},onPointerUp(v){p&&(p=!1,v.stopPropagation())}}},[s,r,y,o]);return b.jsxs(Xe,{ref:g,...n?{}:C,positionType:"relative",flexDirection:"column",height:8,width:"100%",alignItems:"center",...a,children:[b.jsx(Xe,{height:8,positionType:"absolute",positionLeft:0,positionRight:0,flexGrow:1,borderRadius:1e3,backgroundColor:Je.secondary,children:b.jsx(Xe,{height:"100%",width:f,borderRadius:1e3,backgroundColor:Je.primary})}),b.jsx(Xe,{zIndexOffset:{minor:100},positionType:"absolute",positionLeft:f,transformTranslateX:-10,transformTranslateY:-6,cursor:"pointer",borderOpacity:n?.5:void 0,backgroundOpacity:n?.5:void 0,height:20,width:20,border:2,borderRadius:1e3,borderColor:Je.primary,backgroundColor:Je.background})]})}function k9(){return b.jsx(N9,{defaultValue:50,max:100,step:1,width:300})}function U9(){return b.jsxs(Xe,{flexDirection:"row",alignItems:"center",gap:8,children:[b.jsx(n3,{}),b.jsx(es,{children:b.jsx(ct,{children:"Airplane Mode"})})]})}function F9(){return b.jsxs(zT,{defaultValue:"account",width:400,children:[b.jsxs(VT,{width:"100%",children:[b.jsx(Dy,{flexGrow:1,value:"account",children:b.jsx(ct,{children:"Account"})}),b.jsx(Dy,{flexGrow:1,value:"password",children:b.jsx(ct,{children:"Password"})})]}),b.jsx(Ty,{value:"account",children:b.jsxs(Cg,{children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(ct,{children:"Account"})}),b.jsx(My,{children:b.jsx(ct,{children:"Make changes to your account here. Click save when you're done."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:8,children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(ct,{children:"Name"})}),b.jsx(ct,{children:"Pedro Duarte"})]}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(ct,{children:"Username"})}),b.jsx(ct,{children:"@peduarte"})]})]}),b.jsx(Ry,{children:b.jsx(Ls,{children:b.jsx(ct,{children:"Save changes"})})})]})}),b.jsx(Ty,{value:"password",children:b.jsxs(Cg,{children:[b.jsxs(Sy,{children:[b.jsx(_y,{children:b.jsx(ct,{children:"Password"})}),b.jsx(My,{children:b.jsx(ct,{children:"Change your password here. After saving, you'll be logged out."})})]}),b.jsxs(Qy,{flexDirection:"column",gap:8,children:[b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(ct,{children:"Current password"})}),b.jsx(ct,{children:"password"})]}),b.jsxs(Xe,{flexDirection:"column",gap:4,children:[b.jsx(es,{children:b.jsx(ct,{children:"New password"})}),b.jsx(ct,{children:"password"})]})]}),b.jsx(Ry,{children:b.jsx(Ls,{children:b.jsx(ct,{children:"Save password"})})})]})})]})}const tM={default:{},outline:{containerProps:{border:1,borderColor:Je.input},containerHoverProps:{backgroundColor:Je.accent}}},O9={default:{height:40,paddingX:12},sm:{height:36,paddingX:10},lg:{height:44,paddingX:20}};function H9({children:n,size:e="default",variant:t="default",defaultChecked:i,checked:r,disabled:s=!1,onCheckedChange:o,hover:a,...l}){const[A,d]=Y.useState(i??!1),h=r??A;return b.jsx(Xe,{onClick:s?void 0:()=>{r==null&&d(!h),o?.(!h)},alignItems:"center",justifyContent:"center",borderRadius:6,cursor:s?void 0:"pointer",backgroundOpacity:s?.5:void 0,borderOpacity:s?.5:void 0,backgroundColor:h?Je.accent:void 0,hover:s?a:{backgroundColor:Je.muted,...tM[t].containerHoverProps,...a},...tM[t].containerProps,...O9[e],...l,children:b.jsx(gn,{color:h?Je.accentForeground:void 0,opacity:s?.5:void 0,fontSize:14,lineHeight:1.43,fontWeight:"medium",children:n})})}function G9(){return b.jsx(H9,{children:b.jsx(OT,{height:16,width:16})})}const nM={default:{containerHoverProps:void 0,containerProps:void 0},outline:{containerProps:{border:1,borderColor:Je.input},containerHoverProps:{backgroundColor:Je.accent}}},z9={default:{height:40,paddingX:12},sm:{height:36,paddingX:10},lg:{height:44,paddingX:20}},r3=Y.createContext({size:"default",variant:"default"});function V9({children:n,size:e="default",variant:t="default",...i}){return b.jsx(Xe,{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:4,...i,children:b.jsx(r3.Provider,{value:{variant:t,size:e},children:n})})}function RC({children:n,defaultChecked:e,checked:t,disabled:i=!1,onCheckedChange:r,hover:s,...o}){const{size:a,variant:l}=Y.useContext(r3),[A,d]=Y.useState(e??!1),h=t??A;return b.jsx(Xe,{onClick:i?void 0:()=>{t==null&&d(!h),r?.(!h)},alignItems:"center",justifyContent:"center",borderRadius:6,cursor:i?void 0:"pointer",backgroundOpacity:i?.5:void 0,borderOpacity:i?.5:void 0,backgroundColor:h?Je.accent:void 0,hover:i?s:{backgroundColor:Je.muted,...nM[l].containerHoverProps,...s},...nM[l].containerProps,...z9[a],...o,children:b.jsx(gn,{color:h?Je.accentForeground:void 0,opacity:i?.5:void 0,fontSize:14,lineHeight:1.43,children:n})})}function W9(){return b.jsxs(V9,{children:[b.jsx(RC,{"aria-label":"Toggle bold",children:b.jsx(OT,{height:16,width:16})}),b.jsx(RC,{"aria-label":"Toggle italic",children:b.jsx(j6,{height:16,width:16})}),b.jsx(RC,{"aria-label":"Toggle underline",children:b.jsx(lz,{width:16,height:16})})]})}function Y9({panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o=!1,placeholder:a,...l}){const[A,d]=Y.useState(null),h=Y.useMemo(()=>{if(A!=null)return Gt(()=>A.current.value.length>0?0:void 0)},[A]);return b.jsx(Xe,{height:40,positionType:"relative",overflow:"hidden",...l,children:b.jsxs(gn,{fontSize:14,height:"100%",width:"100%",border:1,paddingX:12,paddingY:8,lineHeight:1.43,opacity:o?.5:void 0,backgroundOpacity:o?.5:void 0,children:[b.jsx(L6,{ref:d,borderRadius:6,backgroundColor:Je.background,borderColor:Je.input,focus:{borderColor:Je.ring},panelMaterialClass:n,multiline:e,value:t,defaultValue:i,onValueChange:r,tabIndex:s,disabled:o}),a!=null&&b.jsx(ct,{color:Je.mutedForeground,opacity:h,borderOpacity:0,inset:0,positionType:"absolute",children:a})]})})}function J9(){return b.jsx(Y9,{width:200,placeholder:"Email"})}const DC={accordion:Kz,alert:t9,"alert-dialog":A9,avatar:h9,badge:g9,button:m9,card:E9,checkbox:I9,dialog:y9,pagination:Q9,progress:D9,"radio-group":b9,separator:L9,skeleton:P9,slider:k9,switch:U9,tabs:F9,toggle:G9,"toggle-group":W9,tooltip:Jz,input:J9},X9="card";function K9(){const[n,e]=Y.useState(()=>{let o=new URLSearchParams(window.location.search).get("component");return(o==null||!(o in DC))&&(o=X9),o}),t=s=>{const o=new URLSearchParams(window.location.search);o.set("component",s),history.replaceState(null,"","?"+o.toString()),e(s)},[i,r]=Y.useState(()=>B_());return b.jsxs(tH,{events:zz,style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[b.jsx(Uz,{}),b.jsx("color",{attach:"background",args:["black"]}),b.jsx("ambientLight",{intensity:.5}),b.jsx("directionalLight",{intensity:0,position:[5,1,10]}),b.jsx(Az,{children:b.jsx(P6,{flexDirection:"column",scrollbarColor:"black",backgroundColor:Je.background,alignItems:"center",padding:32,children:b.jsxs(fz,{children:[b.jsxs(zT,{alignSelf:"stretch",flexGrow:1,value:n,onValueChange:t,children:[b.jsx(VT,{height:55,paddingBottom:10,overflow:"scroll",maxWidth:"100%",children:Object.keys(DC).map(s=>b.jsx(Dy,{flexShrink:0,value:s,children:b.jsxs(ct,{children:[s[0].toUpperCase(),s.slice(1)]})},s))}),Object.entries(DC).map(([s,o])=>b.jsx(Ty,{flexDirection:"column",flexGrow:1,alignItems:"center",justifyContent:"center",value:s,children:b.jsx(o,{})},s))]}),b.jsxs(Cg,{padding:8,flexDirection:"row",gap:8,alignItems:"center",children:[b.jsx(Ls,{size:"icon",variant:"ghost",onClick:()=>{YH(i==="light"?"dark":i==="dark"?"system":"light"),r(B_())},children:i==="dark"?b.jsx(Z6,{}):i==="system"?b.jsx(nz,{}):b.jsx(rz,{})}),b.jsx(Fp,{orientation:"vertical"}),b.jsxs(ct,{padding:8,children:["npx uikit component add default ",n]}),b.jsx(Ls,{onClick:()=>navigator.clipboard.writeText(`npx uikit component add apfel ${n}`),size:"icon",variant:"secondary",children:b.jsx(X6,{})})]})]})})})]})}g2(document.getElementById("root")).render(b.jsx(Y.StrictMode,{children:b.jsx(K9,{})})); diff --git a/examples/default/index.html b/examples/default/index.html index 3924ceb5..65dcbfd1 100644 --- a/examples/default/index.html +++ b/examples/default/index.html @@ -5,7 +5,7 @@ Document - +
diff --git a/examples/lucide/assets/index-CyQjGv17.js b/examples/lucide/assets/index-CyQjGv17.js deleted file mode 100644 index 96c30638..00000000 --- a/examples/lucide/assets/index-CyQjGv17.js +++ /dev/null @@ -1,4057 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))C(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&C(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function C(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function QL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var RL={exports:{}},Xi={},bL={exports:{}},F0={};/** - * @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 Ln=Symbol.for("react.element"),eE=Symbol.for("react.portal"),tE=Symbol.for("react.fragment"),nE=Symbol.for("react.strict_mode"),CE=Symbol.for("react.profiler"),rE=Symbol.for("react.provider"),iE=Symbol.for("react.context"),oE=Symbol.for("react.forward_ref"),sE=Symbol.for("react.suspense"),lE=Symbol.for("react.memo"),aE=Symbol.for("react.lazy"),tg=Symbol.iterator;function cE(t){return t===null||typeof t!="object"?null:(t=tg&&t[tg]||t["@@iterator"],typeof t=="function"?t:null)}var DL={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},TL=Object.assign,HL={};function ie(t,e,n){this.props=t,this.context=e,this.refs=HL,this.updater=n||DL}ie.prototype.isReactComponent={};ie.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,e,"setState")};ie.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function PL(){}PL.prototype=ie.prototype;function _u(t,e,n){this.props=t,this.context=e,this.refs=HL,this.updater=n||DL}var Qu=_u.prototype=new PL;Qu.constructor=_u;TL(Qu,ie.prototype);Qu.isPureReactComponent=!0;var ng=Array.isArray,NL=Object.prototype.hasOwnProperty,Ru={current:null},jL={key:!0,ref:!0,__self:!0,__source:!0};function UL(t,e,n){var C,r={},i=null,o=null;if(e!=null)for(C in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(i=""+e.key),e)NL.call(e,C)&&!jL.hasOwnProperty(C)&&(r[C]=e[C]);var s=arguments.length-2;if(s===1)r.children=n;else if(1>>1,I1=F[d1];if(0>>1;d1r(z,C1))Wr(N,z)?(F[d1]=N,F[W]=C1,d1=W):(F[d1]=z,F[$]=C1,d1=$);else if(Wr(N,C1))F[d1]=N,F[W]=C1,d1=W;else break e}}return e1}function r(F,e1){var C1=F.sortIndex-e1.sortIndex;return C1!==0?C1:F.id-e1.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();t.unstable_now=function(){return o.now()-s}}var l=[],d=[],g=1,A=null,p=3,v=!1,x=!1,E=!1,m=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(F){for(var e1=n(d);e1!==null;){if(e1.callback===null)C(d);else if(e1.startTime<=F)C(d),e1.sortIndex=e1.expirationTime,e(l,e1);else break;e1=n(d)}}function I(F){if(E=!1,k(F),!x)if(n(l)!==null)x=!0,o1(b);else{var e1=n(d);e1!==null&&g1(I,e1.startTime-F)}}function b(F,e1){x=!1,E&&(E=!1,L(U),U=-1),v=!0;var C1=p;try{for(k(e1),A=n(l);A!==null&&(!(A.expirationTime>e1)||F&&!P());){var d1=A.callback;if(typeof d1=="function"){A.callback=null,p=A.priorityLevel;var I1=d1(A.expirationTime<=e1);e1=t.unstable_now(),typeof I1=="function"?A.callback=I1:A===n(l)&&C(l),k(e1)}else C(l);A=n(l)}if(A!==null)var j1=!0;else{var $=n(d);$!==null&&g1(I,$.startTime-e1),j1=!1}return j1}finally{A=null,p=C1,v=!1}}var R=!1,D=null,U=-1,X=5,_=-1;function P(){return!(t.unstable_now()-_F||125d1?(F.sortIndex=C1,e(d,F),n(l)===null&&F===n(d)&&(E?(L(U),U=-1):E=!0,g1(I,C1-d1))):(F.sortIndex=I1,e(l,F),x||v||(x=!0,o1(b))),F},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(F){var e1=p;return function(){var C1=p;p=e1;try{return F.apply(this,arguments)}finally{p=C1}}}})(GL);OL.exports=GL;var xE=OL.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 zL=u,c8=xE;function F1(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pa=Object.prototype.hasOwnProperty,mE=/^[: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]*$/,rg={},ig={};function kE(t){return Pa.call(ig,t)?!0:Pa.call(rg,t)?!1:mE.test(t)?ig[t]=!0:(rg[t]=!0,!1)}function ME(t,e,n,C){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return C?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function EE(t,e,n,C){if(e===null||typeof e>"u"||ME(t,e,n,C))return!0;if(C)return!1;if(n!==null)switch(n.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 j9(t,e,n,C,r,i,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=C,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=i,this.removeEmptyString=o}var d9={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){d9[t]=new j9(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];d9[e]=new j9(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){d9[t]=new j9(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){d9[t]=new j9(t,2,!1,t,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(t){d9[t]=new j9(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){d9[t]=new j9(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){d9[t]=new j9(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){d9[t]=new j9(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){d9[t]=new j9(t,5,!1,t.toLowerCase(),null,!1,!1)});var Du=/[\-:]([a-z])/g;function Tu(t){return t[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(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){d9[t]=new j9(t,1,!1,t.toLowerCase(),null,!1,!1)});d9.xlinkHref=new j9("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){d9[t]=new j9(t,1,!1,t.toLowerCase(),null,!0,!0)});function Hu(t,e,n,C){var r=d9.hasOwnProperty(e)?d9[e]:null;(r!==null?r.type!==0:C||!(2s||r[o]!==i[s]){var l=` -`+r[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=s);break}}}finally{il=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?lt(t):""}function yE(t){switch(t.tag){case 5:return lt(t.type);case 16:return lt("Lazy");case 13:return lt("Suspense");case 19:return lt("SuspenseList");case 0:case 2:case 15:return t=ol(t.type,!1),t;case 11:return t=ol(t.type.render,!1),t;case 1:return t=ol(t.type,!0),t;default:return""}}function Fa(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case y7:return"Fragment";case E7:return"Portal";case Na:return"Profiler";case Pu:return"StrictMode";case ja:return"Suspense";case Ua:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case YL:return(t.displayName||"Context")+".Consumer";case $L:return(t._context.displayName||"Context")+".Provider";case Nu:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ju:return e=t.displayName||null,e!==null?e:Fa(t.type)||"Memo";case P6:e=t._payload,t=t._init;try{return Fa(t(e))}catch{}}return null}function BE(t){var e=t.type;switch(t.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 t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Fa(e);case 8:return e===Pu?"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 i5(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function XL(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function IE(t){var e=XL(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),C=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,i=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){C=""+o,i.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return C},setValue:function(o){C=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function SC(t){t._valueTracker||(t._valueTracker=IE(t))}function KL(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),C="";return t&&(C=XL(t)?t.checked?"true":"false":t.value),t=C,t!==n?(e.setValue(t),!0):!1}function pi(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Wa(t,e){var n=e.checked;return E2({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function sg(t,e){var n=e.defaultValue==null?"":e.defaultValue,C=e.checked!=null?e.checked:e.defaultChecked;n=i5(e.value!=null?e.value:n),t._wrapperState={initialChecked:C,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function qL(t,e){e=e.checked,e!=null&&Hu(t,"checked",e,!1)}function Oa(t,e){qL(t,e);var n=i5(e.value),C=e.type;if(n!=null)C==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(C==="submit"||C==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Ga(t,e.type,n):e.hasOwnProperty("defaultValue")&&Ga(t,e.type,i5(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function lg(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var C=e.type;if(!(C!=="submit"&&C!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Ga(t,e,n){(e!=="number"||pi(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var at=Array.isArray;function W7(t,e,n,C){if(t=t.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=_C.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _t(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var ft={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},SE=["Webkit","ms","Moz","O"];Object.keys(ft).forEach(function(t){SE.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),ft[e]=ft[t]})});function nv(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||ft.hasOwnProperty(t)&&ft[t]?(""+e).trim():e+"px"}function Cv(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var C=n.indexOf("--")===0,r=nv(n,e[n],C);n==="float"&&(n="cssFloat"),C?t.setProperty(n,r):t[n]=r}}var _E=E2({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 $a(t,e){if(e){if(_E[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(F1(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(F1(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(F1(61))}if(e.style!=null&&typeof e.style!="object")throw Error(F1(62))}}function Ya(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){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 Ja=null;function Uu(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Xa=null,O7=null,G7=null;function ug(t){if(t=xn(t)){if(typeof Xa!="function")throw Error(F1(280));var e=t.stateNode;e&&(e=to(e),Xa(t.stateNode,t.type,e))}}function rv(t){O7?G7?G7.push(t):G7=[t]:O7=t}function iv(){if(O7){var t=O7,e=G7;if(G7=O7=null,ug(t),e)for(t=0;t>>=0,t===0?32:31-(FE(t)/WE|0)|0}var QC=64,RC=4194304;function ct(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function xi(t,e){var n=t.pendingLanes;if(n===0)return 0;var C=0,r=t.suspendedLanes,i=t.pingedLanes,o=n&268435455;if(o!==0){var s=o&~r;s!==0?C=ct(s):(i&=o,i!==0&&(C=ct(i)))}else o=n&~r,o!==0?C=ct(o):i!==0&&(C=ct(i));if(C===0)return 0;if(e!==0&&e!==C&&!(e&r)&&(r=C&-C,i=e&-e,r>=i||r===16&&(i&4194240)!==0))return e;if(C&4&&(C|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=C;0n;n++)e.push(t);return e}function vn(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-V8(e),t[e]=n}function VE(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var C=t.eventTimes;for(t=t.expirationTimes;0=At),wg=" ",xg=!1;function Ev(t,e){switch(t){case"keyup":return wy.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function yv(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var B7=!1;function my(t,e){switch(t){case"compositionend":return yv(e);case"keypress":return e.which!==32?null:(xg=!0,wg);case"textInput":return t=e.data,t===wg&&xg?null:t;default:return null}}function ky(t,e){if(B7)return t==="compositionend"||!Yu&&Ev(t,e)?(t=kv(),qr=zu=W6=null,B7=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=C}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Eg(n)}}function _v(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?_v(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Qv(){for(var t=window,e=pi();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=pi(t.document)}return e}function Ju(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Ry(t){var e=Qv(),n=t.focusedElem,C=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&_v(n.ownerDocument.documentElement,n)){if(C!==null&&Ju(n)){if(e=C.start,t=C.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var r=n.textContent.length,i=Math.min(C.start,r);C=C.end===void 0?i:Math.min(C.end,r),!t.extend&&i>C&&(r=C,C=i,i=r),r=yg(n,i);var o=yg(n,C);r&&o&&(t.rangeCount!==1||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),t.removeAllRanges(),i>C?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,I7=null,nc=null,Lt=null,Cc=!1;function Bg(t,e,n){var C=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Cc||I7==null||I7!==pi(C)||(C=I7,"selectionStart"in C&&Ju(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}),Lt&&Ht(Lt,C)||(Lt=C,C=Mi(nc,"onSelect"),0Q7||(t.current=ac[Q7],ac[Q7]=null,Q7--)}function u2(t,e){Q7++,ac[Q7]=t.current,t.current=e}var o5={},E9=c5(o5),Y9=c5(!1),f3=o5;function X7(t,e){var n=t.type.contextTypes;if(!n)return o5;var C=t.stateNode;if(C&&C.__reactInternalMemoizedUnmaskedChildContext===e)return C.__reactInternalMemoizedMaskedChildContext;var r={},i;for(i in n)r[i]=e[i];return C&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=r),r}function J9(t){return t=t.childContextTypes,t!=null}function yi(){p2(Y9),p2(E9)}function Dg(t,e,n){if(E9.current!==o5)throw Error(F1(168));u2(E9,e),u2(Y9,n)}function Uv(t,e,n){var C=t.stateNode;if(e=e.childContextTypes,typeof C.getChildContext!="function")return n;C=C.getChildContext();for(var r in C)if(!(r in e))throw Error(F1(108,BE(t)||"Unknown",r));return E2({},n,C)}function Bi(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||o5,f3=E9.current,u2(E9,t),u2(Y9,Y9.current),!0}function Tg(t,e,n){var C=t.stateNode;if(!C)throw Error(F1(169));n?(t=Uv(t,e,f3),C.__reactInternalMemoizedMergedChildContext=t,p2(Y9),p2(E9),u2(E9,t)):p2(Y9),u2(Y9,n)}var W4=null,no=!1,wl=!1;function Fv(t){W4===null?W4=[t]:W4.push(t)}function Gy(t){no=!0,Fv(t)}function u5(){if(!wl&&W4!==null){wl=!0;var t=0,e=o2;try{var n=W4;for(o2=1;t>=o,r-=o,G4=1<<32-V8(e)+r|n<U?(X=D,D=null):X=D.sibling;var _=p(L,D,k[U],I);if(_===null){D===null&&(D=X);break}t&&D&&_.alternate===null&&e(L,D),M=i(_,M,U),R===null?b=_:R.sibling=_,R=_,D=X}if(U===k.length)return n(L,D),v2&&G5(L,U),b;if(D===null){for(;UU?(X=D,D=null):X=D.sibling;var P=p(L,D,_.value,I);if(P===null){D===null&&(D=X);break}t&&D&&P.alternate===null&&e(L,D),M=i(P,M,U),R===null?b=P:R.sibling=P,R=P,D=X}if(_.done)return n(L,D),v2&&G5(L,U),b;if(D===null){for(;!_.done;U++,_=k.next())_=A(L,_.value,I),_!==null&&(M=i(_,M,U),R===null?b=_:R.sibling=_,R=_);return v2&&G5(L,U),b}for(D=C(L,D);!_.done;U++,_=k.next())_=v(D,L,U,_.value,I),_!==null&&(t&&_.alternate!==null&&D.delete(_.key===null?U:_.key),M=i(_,M,U),R===null?b=_:R.sibling=_,R=_);return t&&D.forEach(function(Z){return e(L,Z)}),v2&&G5(L,U),b}function m(L,M,k,I){if(typeof k=="object"&&k!==null&&k.type===y7&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case IC:e:{for(var b=k.key,R=M;R!==null;){if(R.key===b){if(b=k.type,b===y7){if(R.tag===7){n(L,R.sibling),M=r(R,k.props.children),M.return=L,L=M;break e}}else if(R.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===P6&&Wg(b)===R.type){n(L,R.sibling),M=r(R,k.props),M.ref=Ve(L,R,k),M.return=L,L=M;break e}n(L,R);break}else e(L,R);R=R.sibling}k.type===y7?(M=o3(k.props.children,L.mode,I,k.key),M.return=L,L=M):(I=oi(k.type,k.key,k.props,null,L.mode,I),I.ref=Ve(L,M,k),I.return=L,L=I)}return o(L);case E7:e:{for(R=k.key;M!==null;){if(M.key===R)if(M.tag===4&&M.stateNode.containerInfo===k.containerInfo&&M.stateNode.implementation===k.implementation){n(L,M.sibling),M=r(M,k.children||[]),M.return=L,L=M;break e}else{n(L,M);break}else e(L,M);M=M.sibling}M=Il(k,L.mode,I),M.return=L,L=M}return o(L);case P6:return R=k._init,m(L,M,R(k._payload),I)}if(at(k))return x(L,M,k,I);if(Fe(k))return E(L,M,k,I);jC(L,k)}return typeof k=="string"&&k!==""||typeof k=="number"?(k=""+k,M!==null&&M.tag===6?(n(L,M.sibling),M=r(M,k),M.return=L,L=M):(n(L,M),M=Bl(k,L.mode,I),M.return=L,L=M),o(L)):n(L,M)}return m}var q7=Jv(!0),Xv=Jv(!1),mn={},v4=c5(mn),Ut=c5(mn),Ft=c5(mn);function q5(t){if(t===mn)throw Error(F1(174));return t}function rd(t,e){switch(u2(Ft,e),u2(Ut,t),u2(v4,mn),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Va(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Va(e,t)}p2(v4),u2(v4,e)}function Z7(){p2(v4),p2(Ut),p2(Ft)}function Kv(t){q5(Ft.current);var e=q5(v4.current),n=Va(e,t.type);e!==n&&(u2(Ut,t),u2(v4,n))}function id(t){Ut.current===t&&(p2(v4),p2(Ut))}var m2=c5(0);function bi(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var xl=[];function od(){for(var t=0;tn?n:4,t(!0);var C=ml.transition;ml.transition={};try{t(!1),e()}finally{o2=n,ml.transition=C}}function hw(){return _8().memoizedState}function Yy(t,e,n){var C=K6(t);if(n={lane:C,action:n,hasEagerState:!1,eagerState:null,next:null},fw(t))gw(e,n);else if(n=zv(t,e,n,C),n!==null){var r=T9();$8(n,t,C,r),Aw(n,e,C)}}function Jy(t,e,n){var C=K6(t),r={lane:C,action:n,hasEagerState:!1,eagerState:null,next:null};if(fw(t))gw(e,r);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var o=e.lastRenderedState,s=i(o,n);if(r.hasEagerState=!0,r.eagerState=s,J8(s,o)){var l=e.interleaved;l===null?(r.next=r,nd(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}n=zv(t,e,r,C),n!==null&&(r=T9(),$8(n,t,C,r),Aw(n,e,C))}}function fw(t){var e=t.alternate;return t===M2||e!==null&&e===M2}function gw(t,e){vt=Di=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Aw(t,e,n){if(n&4194240){var C=e.lanes;C&=t.pendingLanes,n|=C,e.lanes=n,Wu(t,n)}}var Ti={readContext:S8,useCallback:L9,useContext:L9,useEffect:L9,useImperativeHandle:L9,useInsertionEffect:L9,useLayoutEffect:L9,useMemo:L9,useReducer:L9,useRef:L9,useState:L9,useDebugValue:L9,useDeferredValue:L9,useTransition:L9,useMutableSource:L9,useSyncExternalStore:L9,useId:L9,unstable_isNewReconciler:!1},Xy={readContext:S8,useCallback:function(t,e){return u4().memoizedState=[t,e===void 0?null:e],t},useContext:S8,useEffect:Gg,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,ni(4194308,4,lw.bind(null,e,t),n)},useLayoutEffect:function(t,e){return ni(4194308,4,t,e)},useInsertionEffect:function(t,e){return ni(4,2,t,e)},useMemo:function(t,e){var n=u4();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var C=u4();return e=n!==void 0?n(e):e,C.memoizedState=C.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},C.queue=t,t=t.dispatch=Yy.bind(null,M2,t),[C.memoizedState,t]},useRef:function(t){var e=u4();return t={current:t},e.memoizedState=t},useState:Og,useDebugValue:ud,useDeferredValue:function(t){return u4().memoizedState=t},useTransition:function(){var t=Og(!1),e=t[0];return t=$y.bind(null,t[1]),u4().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var C=M2,r=u4();if(v2){if(n===void 0)throw Error(F1(407));n=n()}else{if(n=e(),C9===null)throw Error(F1(349));A3&30||ew(C,e,n)}r.memoizedState=n;var i={value:n,getSnapshot:e};return r.queue=i,Gg(nw.bind(null,C,i,t),[t]),C.flags|=2048,Gt(9,tw.bind(null,C,i,n,e),void 0,null),n},useId:function(){var t=u4(),e=C9.identifierPrefix;if(v2){var n=z4,C=G4;n=(C&~(1<<32-V8(C)-1)).toString(32)+n,e=":"+e+"R"+n,n=Wt++,0<\/script>",t=t.removeChild(t.firstChild)):typeof C.is=="string"?t=o.createElement(n,{is:C.is}):(t=o.createElement(n),n==="select"&&(o=t,C.multiple?o.multiple=!0:C.size&&(o.size=C.size))):t=o.createElementNS(t,n),t[f4]=e,t[jt]=C,Ew(t,e,!1,!1),e.stateNode=t;e:{switch(o=Ya(n,C),n){case"dialog":h2("cancel",t),h2("close",t),r=C;break;case"iframe":case"object":case"embed":h2("load",t),r=C;break;case"video":case"audio":for(r=0;rte&&(e.flags|=128,C=!0,$e(i,!1),e.lanes=4194304)}else{if(!C)if(t=bi(o),t!==null){if(e.flags|=128,C=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),$e(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!v2)return v9(e),null}else 2*H2()-i.renderingStartTime>te&&n!==1073741824&&(e.flags|=128,C=!0,$e(i,!1),e.lanes=4194304);i.isBackwards?(o.sibling=e.child,e.child=o):(n=i.last,n!==null?n.sibling=o:e.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=H2(),e.sibling=null,n=m2.current,u2(m2,C?n&1|2:n&1),e):(v9(e),null);case 22:case 23:return pd(),C=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==C&&(e.flags|=8192),C&&e.mode&1?r8&1073741824&&(v9(e),e.subtreeFlags&6&&(e.flags|=8192)):v9(e),null;case 24:return null;case 25:return null}throw Error(F1(156,e.tag))}function rB(t,e){switch(Ku(e),e.tag){case 1:return J9(e.type)&&yi(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Z7(),p2(Y9),p2(E9),od(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return id(e),null;case 13:if(p2(m2),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(F1(340));K7()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return p2(m2),null;case 4:return Z7(),null;case 10:return td(e.type._context),null;case 22:case 23:return pd(),null;case 24:return null;default:return null}}var FC=!1,k9=!1,iB=typeof WeakSet=="function"?WeakSet:Set,n0=null;function T7(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(C){_2(t,e,C)}else n.current=null}function xc(t,e,n){try{n()}catch(C){_2(t,e,C)}}var Zg=!1;function oB(t,e){if(rc=mi,t=Qv(),Ju(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var C=n.getSelection&&n.getSelection();if(C&&C.rangeCount!==0){n=C.anchorNode;var r=C.anchorOffset,i=C.focusNode;C=C.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,l=-1,d=0,g=0,A=t,p=null;t:for(;;){for(var v;A!==n||r!==0&&A.nodeType!==3||(s=o+r),A!==i||C!==0&&A.nodeType!==3||(l=o+C),A.nodeType===3&&(o+=A.nodeValue.length),(v=A.firstChild)!==null;)p=A,A=v;for(;;){if(A===t)break t;if(p===n&&++d===r&&(s=o),p===i&&++g===C&&(l=o),(v=A.nextSibling)!==null)break;A=p,p=A.parentNode}A=v}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(ic={focusedElem:t,selectionRange:n},mi=!1,n0=e;n0!==null;)if(e=n0,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,n0=t;else for(;n0!==null;){e=n0;try{var x=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var E=x.memoizedProps,m=x.memoizedState,L=e.stateNode,M=L.getSnapshotBeforeUpdate(e.elementType===e.type?E:F8(e.type,E),m);L.__reactInternalSnapshotBeforeUpdate=M}break;case 3:var k=e.stateNode.containerInfo;k.nodeType===1?k.textContent="":k.nodeType===9&&k.documentElement&&k.removeChild(k.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(F1(163))}}catch(I){_2(e,e.return,I)}if(t=e.sibling,t!==null){t.return=e.return,n0=t;break}n0=e.return}return x=Zg,Zg=!1,x}function wt(t,e,n){var C=e.updateQueue;if(C=C!==null?C.lastEffect:null,C!==null){var r=C=C.next;do{if((r.tag&t)===t){var i=r.destroy;r.destroy=void 0,i!==void 0&&xc(e,n,i)}r=r.next}while(r!==C)}}function io(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var C=n.create;n.destroy=C()}n=n.next}while(n!==e)}}function mc(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function Iw(t){var e=t.alternate;e!==null&&(t.alternate=null,Iw(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[f4],delete e[jt],delete e[lc],delete e[Wy],delete e[Oy])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Sw(t){return t.tag===5||t.tag===3||t.tag===4}function eA(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Sw(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function kc(t,e,n){var C=t.tag;if(C===5||C===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Ei));else if(C!==4&&(t=t.child,t!==null))for(kc(t,e,n),t=t.sibling;t!==null;)kc(t,e,n),t=t.sibling}function Mc(t,e,n){var C=t.tag;if(C===5||C===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(C!==4&&(t=t.child,t!==null))for(Mc(t,e,n),t=t.sibling;t!==null;)Mc(t,e,n),t=t.sibling}var a9=null,O8=!1;function B6(t,e,n){for(n=n.child;n!==null;)_w(t,e,n),n=n.sibling}function _w(t,e,n){if(L4&&typeof L4.onCommitFiberUnmount=="function")try{L4.onCommitFiberUnmount(Ki,n)}catch{}switch(n.tag){case 5:k9||T7(n,e);case 6:var C=a9,r=O8;a9=null,B6(t,e,n),a9=C,O8=r,a9!==null&&(O8?(t=a9,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):a9.removeChild(n.stateNode));break;case 18:a9!==null&&(O8?(t=a9,n=n.stateNode,t.nodeType===8?vl(t.parentNode,n):t.nodeType===1&&vl(t,n),Dt(t)):vl(a9,n.stateNode));break;case 4:C=a9,r=O8,a9=n.stateNode.containerInfo,O8=!0,B6(t,e,n),a9=C,O8=r;break;case 0:case 11:case 14:case 15:if(!k9&&(C=n.updateQueue,C!==null&&(C=C.lastEffect,C!==null))){r=C=C.next;do{var i=r,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&xc(n,e,o),r=r.next}while(r!==C)}B6(t,e,n);break;case 1:if(!k9&&(T7(n,e),C=n.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=n.memoizedProps,C.state=n.memoizedState,C.componentWillUnmount()}catch(s){_2(n,e,s)}B6(t,e,n);break;case 21:B6(t,e,n);break;case 22:n.mode&1?(k9=(C=k9)||n.memoizedState!==null,B6(t,e,n),k9=C):B6(t,e,n);break;default:B6(t,e,n)}}function tA(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new iB),e.forEach(function(C){var r=gB.bind(null,t,C);n.has(C)||(n.add(C),C.then(r,r))})}}function P8(t,e){var n=e.deletions;if(n!==null)for(var C=0;Cr&&(r=o),C&=~i}if(C=r,C=H2()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*lB(C/1960))-C,10t?16:t,O6===null)var C=!1;else{if(t=O6,O6=null,Ni=0,$0&6)throw Error(F1(331));var r=$0;for($0|=4,n0=t.current;n0!==null;){var i=n0,o=i.child;if(n0.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lH2()-gd?i3(t,0):fd|=n),X9(t,e)}function Nw(t,e){e===0&&(t.mode&1?(e=RC,RC<<=1,!(RC&130023424)&&(RC=4194304)):e=1);var n=T9();t=Z4(t,e),t!==null&&(vn(t,e,n),X9(t,n))}function fB(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),Nw(t,n)}function gB(t,e){var n=0;switch(t.tag){case 13:var C=t.stateNode,r=t.memoizedState;r!==null&&(n=r.retryLane);break;case 19:C=t.stateNode;break;default:throw Error(F1(314))}C!==null&&C.delete(e),Nw(t,n)}var jw;jw=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Y9.current)$9=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return $9=!1,nB(t,e,n);$9=!!(t.flags&131072)}else $9=!1,v2&&e.flags&1048576&&Wv(e,Si,e.index);switch(e.lanes=0,e.tag){case 2:var C=e.type;Ci(t,e),t=e.pendingProps;var r=X7(e,E9.current);V7(e,n),r=ld(null,e,C,t,r,n);var i=ad();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,J9(C)?(i=!0,Bi(e)):i=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Cd(e),r.updater=Co,e.stateNode=r,r._reactInternals=e,fc(e,C,t,n),e=pc(null,e,C,!0,i,n)):(e.tag=0,v2&&i&&Xu(e),R9(null,e,r,n),e=e.child),e;case 16:C=e.elementType;e:{switch(Ci(t,e),t=e.pendingProps,r=C._init,C=r(C._payload),e.type=C,r=e.tag=pB(C),t=F8(C,t),r){case 0:e=Ac(null,e,C,t,n);break e;case 1:e=Xg(null,e,C,t,n);break e;case 11:e=Yg(null,e,C,t,n);break e;case 14:e=Jg(null,e,C,F8(C.type,t),n);break e}throw Error(F1(306,C,""))}return e;case 0:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Ac(t,e,C,r,n);case 1:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Xg(t,e,C,r,n);case 3:e:{if(mw(e),t===null)throw Error(F1(387));C=e.pendingProps,i=e.memoizedState,r=i.element,Vv(t,e),Ri(e,C,null,n);var o=e.memoizedState;if(C=o.element,i.isDehydrated)if(i={element:C,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=i,e.memoizedState=i,e.flags&256){r=ee(Error(F1(423)),e),e=Kg(t,e,C,n,r);break e}else if(C!==r){r=ee(Error(F1(424)),e),e=Kg(t,e,C,n,r);break e}else for(o8=Y6(e.stateNode.containerInfo.firstChild),l8=e,v2=!0,G8=null,n=Xv(e,null,C,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(K7(),C===r){e=e6(t,e,n);break e}R9(t,e,C,n)}e=e.child}return e;case 5:return Kv(e),t===null&&uc(e),C=e.type,r=e.pendingProps,i=t!==null?t.memoizedProps:null,o=r.children,oc(C,r)?o=null:i!==null&&oc(C,i)&&(e.flags|=32),xw(t,e),R9(t,e,o,n),e.child;case 6:return t===null&&uc(e),null;case 13:return kw(t,e,n);case 4:return rd(e,e.stateNode.containerInfo),C=e.pendingProps,t===null?e.child=q7(e,null,C,n):R9(t,e,C,n),e.child;case 11:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Yg(t,e,C,r,n);case 7:return R9(t,e,e.pendingProps,n),e.child;case 8:return R9(t,e,e.pendingProps.children,n),e.child;case 12:return R9(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(C=e.type._context,r=e.pendingProps,i=e.memoizedProps,o=r.value,u2(_i,C._currentValue),C._currentValue=o,i!==null)if(J8(i.value,o)){if(i.children===r.children&&!Y9.current){e=e6(t,e,n);break e}}else for(i=e.child,i!==null&&(i.return=e);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var l=s.firstContext;l!==null;){if(l.context===C){if(i.tag===1){l=J4(-1,n&-n),l.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?l.next=l:(l.next=g.next,g.next=l),d.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),dc(i.return,n,e),s.lanes|=n;break}l=l.next}}else if(i.tag===10)o=i.type===e.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(F1(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),dc(o,n,e),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}R9(t,e,r.children,n),e=e.child}return e;case 9:return r=e.type,C=e.pendingProps.children,V7(e,n),r=S8(r),C=C(r),e.flags|=1,R9(t,e,C,n),e.child;case 14:return C=e.type,r=F8(C,e.pendingProps),r=F8(C.type,r),Jg(t,e,C,r,n);case 15:return vw(t,e,e.type,e.pendingProps,n);case 17:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Ci(t,e),e.tag=1,J9(C)?(t=!0,Bi(e)):t=!1,V7(e,n),Yv(e,C,r),fc(e,C,r,n),pc(null,e,C,!0,t,n);case 19:return Mw(t,e,n);case 22:return ww(t,e,n)}throw Error(F1(156,e.tag))};function Uw(t,e){return dv(t,e)}function AB(t,e,n,C){this.tag=t,this.key=n,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=C,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function B8(t,e,n,C){return new AB(t,e,n,C)}function vd(t){return t=t.prototype,!(!t||!t.isReactComponent)}function pB(t){if(typeof t=="function")return vd(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Nu)return 11;if(t===ju)return 14}return 2}function q6(t,e){var n=t.alternate;return n===null?(n=B8(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function oi(t,e,n,C,r,i){var o=2;if(C=t,typeof t=="function")vd(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case y7:return o3(n.children,r,i,e);case Pu:o=8,r|=8;break;case Na:return t=B8(12,n,e,r|2),t.elementType=Na,t.lanes=i,t;case ja:return t=B8(13,n,e,r),t.elementType=ja,t.lanes=i,t;case Ua:return t=B8(19,n,e,r),t.elementType=Ua,t.lanes=i,t;case JL:return so(n,r,i,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case $L:o=10;break e;case YL:o=9;break e;case Nu:o=11;break e;case ju:o=14;break e;case P6:o=16,C=null;break e}throw Error(F1(130,t==null?t:typeof t,""))}return e=B8(o,n,e,r),e.elementType=t,e.type=C,e.lanes=i,e}function o3(t,e,n,C){return t=B8(7,t,C,e),t.lanes=n,t}function so(t,e,n,C){return t=B8(22,t,C,e),t.elementType=JL,t.lanes=n,t.stateNode={isHidden:!1},t}function Bl(t,e,n){return t=B8(6,t,null,e),t.lanes=n,t}function Il(t,e,n){return e=B8(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function LB(t,e,n,C,r){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ll(0),this.expirationTimes=ll(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ll(0),this.identifierPrefix=C,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function wd(t,e,n,C,r,i,o,s,l){return t=new LB(t,e,n,s,l),e===1?(e=1,i===!0&&(e|=8)):e=0,i=B8(3,null,null,e),t.current=i,i.stateNode=t,i.memoizedState={element:C,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cd(i),t}function vB(t,e,n){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gw)}catch(t){console.error(t)}}Gw(),WL.exports=d8;var MB=WL.exports,zw,aA=MB;zw=aA.createRoot,aA.hydrateRoot;/** - * @license - * Copyright 2010-2023 Three.js Authors - * SPDX-License-Identifier: MIT - */const ho="161",EB={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},yB={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Vw=0,Sc=1,$w=2,BB=3,Yw=0,fo=1,kt=2,W8=3,Q8=0,H9=1,g4=2,X4=0,s3=1,_c=2,Qc=3,Rc=4,Jw=5,F6=100,Xw=101,Kw=102,bc=103,Dc=104,qw=200,Zw=201,ex=202,tx=203,Fi=204,Wi=205,nx=206,Cx=207,rx=208,ix=209,ox=210,sx=211,lx=212,ax=213,cx=214,ux=0,dx=1,hx=2,Vt=3,fx=4,gx=5,Ax=6,px=7,kn=0,Lx=1,vx=2,w4=0,wx=1,xx=2,mx=3,Md=4,kx=5,Mx=6,Tc="attached",Ex="detached",go=300,t6=301,s5=302,$t=303,Yt=304,le=306,Jt=1e3,M9=1001,Xt=1002,T2=1003,Oi=1004,IB=1004,Y5=1005,SB=1005,A2=1006,Mt=1007,_B=1007,A4=1008,QB=1008,x4=1009,yx=1010,Bx=1011,Ao=1012,Ed=1013,V4=1014,y8=1015,v3=1016,yd=1017,Bd=1018,Z6=1020,Ix=1021,b9=1023,Sx=1024,_x=1025,e5=1026,w3=1027,Qx=1028,Id=1029,Rx=1030,Sd=1031,_d=1033,si=33776,li=33777,ai=33778,ci=33779,Hc=35840,Pc=35841,Nc=35842,jc=35843,Qd=36196,Uc=37492,Fc=37496,Wc=37808,Oc=37809,Gc=37810,zc=37811,Vc=37812,$c=37813,Yc=37814,Jc=37815,Xc=37816,Kc=37817,qc=37818,Zc=37819,eu=37820,tu=37821,ui=36492,nu=36494,Cu=36495,bx=36283,ru=36284,iu=36285,ou=36286,Dx=2200,Tx=2201,Hx=2202,Kt=2300,qt=2301,di=2302,Z5=2400,e3=2401,Zt=2402,po=2500,Rd=2501,RB=0,bB=1,DB=2,bd=3e3,t5=3001,Px=3200,Dd=3201,d5=0,Nx=1,i8="",Q2="srgb",m4="srgb-linear",Lo="display-p3",Mn="display-p3-linear",en="linear",c2="srgb",tn="rec709",nn="p3",TB=0,V5=7680,HB=7681,PB=7682,NB=7683,jB=34055,UB=34056,FB=5386,WB=512,OB=513,GB=514,zB=515,VB=516,$B=517,YB=518,su=519,jx=512,Ux=513,Fx=514,Td=515,Wx=516,Ox=517,Gx=518,zx=519,Cn=35044,G6=35048,JB=35040,XB=35045,KB=35049,qB=35041,ZB=35046,eI=35050,tI=35042,nI="100",lu="300 es",Gi=1035,p4=2e3,rn=2001;class C6{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const C=this._listeners;C[e]===void 0&&(C[e]=[]),C[e].indexOf(n)===-1&&C[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const C=this._listeners;return C[e]!==void 0&&C[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const C=this._listeners[e.type];if(C!==void 0){e.target=this;const r=C.slice(0);for(let i=0,o=r.length;i>8&255]+w9[t>>16&255]+w9[t>>24&255]+"-"+w9[e&255]+w9[e>>8&255]+"-"+w9[e>>16&15|64]+w9[e>>24&255]+"-"+w9[n&63|128]+w9[n>>8&255]+"-"+w9[n>>16&255]+w9[n>>24&255]+w9[C&255]+w9[C>>8&255]+w9[C>>16&255]+w9[C>>24&255]).toLowerCase()}function R2(t,e,n){return Math.max(e,Math.min(n,t))}function Hd(t,e){return(t%e+e)%e}function CI(t,e,n,C,r){return C+(t-e)*(r-C)/(n-e)}function rI(t,e,n){return t!==e?(n-t)/(e-t):0}function Et(t,e,n){return(1-n)*t+n*e}function iI(t,e,n,C){return Et(t,e,1-Math.exp(-n*C))}function oI(t,e=1){return e-Math.abs(Hd(t,e*2)-e)}function sI(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function lI(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function aI(t,e){return t+Math.floor(Math.random()*(e-t+1))}function cI(t,e){return t+Math.random()*(e-t)}function uI(t){return t*(.5-Math.random())}function dI(t){t!==void 0&&(cA=t);let e=cA+=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 hI(t){return t*l3}function fI(t){return t*ne}function au(t){return(t&t-1)===0&&t!==0}function gI(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function zi(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function AI(t,e,n,C,r){const i=Math.cos,o=Math.sin,s=i(n/2),l=o(n/2),d=i((e+C)/2),g=o((e+C)/2),A=i((e-C)/2),p=o((e-C)/2),v=i((C-e)/2),x=o((C-e)/2);switch(r){case"XYX":t.set(s*g,l*A,l*p,s*d);break;case"YZY":t.set(l*p,s*g,l*A,s*d);break;case"ZXZ":t.set(l*A,l*p,s*g,s*d);break;case"XZX":t.set(s*g,l*x,l*v,s*d);break;case"YXY":t.set(l*v,s*g,l*x,s*d);break;case"ZYZ":t.set(l*x,l*v,s*g,s*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function D9(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Q0(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const pI={DEG2RAD:l3,RAD2DEG:ne,generateUUID:a8,clamp:R2,euclideanModulo:Hd,mapLinear:CI,inverseLerp:rI,lerp:Et,damp:iI,pingpong:oI,smoothstep:sI,smootherstep:lI,randInt:aI,randFloat:cI,randFloatSpread:uI,seededRandom:dI,degToRad:hI,radToDeg:fI,isPowerOfTwo:au,ceilPowerOfTwo:gI,floorPowerOfTwo:zi,setQuaternionFromProperEuler:AI,normalize:Q0,denormalize:D9};class M1{constructor(e=0,n=0){M1.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.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 n=this.x,C=this.y,r=e.elements;return this.x=r[0]*n+r[3]*C+r[6],this.y=r[1]*n+r[4]*C+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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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 n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const C=this.dot(e)/n;return Math.acos(R2(C,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,C=this.y-e.y;return n*n+C*C}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const C=Math.cos(n),r=Math.sin(n),i=this.x-e.x,o=this.y-e.y;return this.x=i*C-o*r+e.x,this.y=i*r+o*C+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class B0{constructor(e,n,C,r,i,o,s,l,d){B0.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,C,r,i,o,s,l,d)}set(e,n,C,r,i,o,s,l,d){const g=this.elements;return g[0]=e,g[1]=r,g[2]=s,g[3]=n,g[4]=i,g[5]=l,g[6]=C,g[7]=o,g[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,C=e.elements;return n[0]=C[0],n[1]=C[1],n[2]=C[2],n[3]=C[3],n[4]=C[4],n[5]=C[5],n[6]=C[6],n[7]=C[7],n[8]=C[8],this}extractBasis(e,n,C){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),C.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const C=e.elements,r=n.elements,i=this.elements,o=C[0],s=C[3],l=C[6],d=C[1],g=C[4],A=C[7],p=C[2],v=C[5],x=C[8],E=r[0],m=r[3],L=r[6],M=r[1],k=r[4],I=r[7],b=r[2],R=r[5],D=r[8];return i[0]=o*E+s*M+l*b,i[3]=o*m+s*k+l*R,i[6]=o*L+s*I+l*D,i[1]=d*E+g*M+A*b,i[4]=d*m+g*k+A*R,i[7]=d*L+g*I+A*D,i[2]=p*E+v*M+x*b,i[5]=p*m+v*k+x*R,i[8]=p*L+v*I+x*D,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8];return n*o*g-n*s*d-C*i*g+C*s*l+r*i*d-r*o*l}invert(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8],A=g*o-s*d,p=s*l-g*i,v=d*i-o*l,x=n*A+C*p+r*v;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const E=1/x;return e[0]=A*E,e[1]=(r*d-g*C)*E,e[2]=(s*C-r*o)*E,e[3]=p*E,e[4]=(g*n-r*l)*E,e[5]=(r*i-s*n)*E,e[6]=v*E,e[7]=(C*l-d*n)*E,e[8]=(o*n-C*i)*E,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,C,r,i,o,s){const l=Math.cos(i),d=Math.sin(i);return this.set(C*l,C*d,-C*(l*o+d*s)+o+e,-r*d,r*l,-r*(-d*o+l*s)+s+n,0,0,1),this}scale(e,n){return this.premultiply(Sl.makeScale(e,n)),this}rotate(e){return this.premultiply(Sl.makeRotation(-e)),this}translate(e,n){return this.premultiply(Sl.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,-C,0,C,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,C=e.elements;for(let r=0;r<9;r++)if(n[r]!==C[r])return!1;return!0}fromArray(e,n=0){for(let C=0;C<9;C++)this.elements[C]=e[C+n];return this}toArray(e=[],n=0){const C=this.elements;return e[n]=C[0],e[n+1]=C[1],e[n+2]=C[2],e[n+3]=C[3],e[n+4]=C[4],e[n+5]=C[5],e[n+6]=C[6],e[n+7]=C[7],e[n+8]=C[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Sl=new B0;function Vx(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const LI={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function P7(t,e){return new LI[t](e)}function on(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function $x(){const t=on("canvas");return t.style.display="block",t}const uA={};function a3(t){t in uA||(uA[t]=!0,console.warn(t))}const dA=new B0().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),hA=new B0().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),GC={[m4]:{transfer:en,primaries:tn,toReference:t=>t,fromReference:t=>t},[Q2]:{transfer:c2,primaries:tn,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[Mn]:{transfer:en,primaries:nn,toReference:t=>t.applyMatrix3(hA),fromReference:t=>t.applyMatrix3(dA)},[Lo]:{transfer:c2,primaries:nn,toReference:t=>t.convertSRGBToLinear().applyMatrix3(hA),fromReference:t=>t.applyMatrix3(dA).convertLinearToSRGB()}},vI=new Set([m4,Mn]),C2={enabled:!0,_workingColorSpace:m4,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!vI.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const C=GC[e].toReference,r=GC[n].fromReference;return r(C(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return GC[t].primaries},getTransfer:function(t){return t===i8?en:GC[t].transfer}};function Y7(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function _l(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let J3;class Pd{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{J3===void 0&&(J3=on("canvas")),J3.width=e.width,J3.height=e.height;const C=J3.getContext("2d");e instanceof ImageData?C.putImageData(e,0,0):C.drawImage(e,0,0,e.width,e.height),n=J3}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.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 n=on("canvas");n.width=e.width,n.height=e.height;const C=n.getContext("2d");C.drawImage(e,0,0,e.width,e.height);const r=C.getImageData(0,0,e.width,e.height),i=r.data;for(let o=0;o0&&(C.userData=this.userData),n||(e.textures[this.uuid]=C),C}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==go)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Jt:e.x=e.x-Math.floor(e.x);break;case M9:e.x=e.x<0?0:1;break;case Xt: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 Jt:e.y=e.y-Math.floor(e.y);break;case M9:e.y=e.y<0?0:1;break;case Xt: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)}get encoding(){return a3("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Q2?t5:bd}set encoding(e){a3("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===t5?Q2:i8}}w2.DEFAULT_IMAGE=null;w2.DEFAULT_MAPPING=go;w2.DEFAULT_ANISOTROPY=1;class r2{constructor(e=0,n=0,C=0,r=1){r2.prototype.isVector4=!0,this.x=e,this.y=n,this.z=C,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,n,C,r){return this.x=e,this.y=n,this.z=C,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.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 n=this.x,C=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*n+o[4]*C+o[8]*r+o[12]*i,this.y=o[1]*n+o[5]*C+o[9]*r+o[13]*i,this.z=o[2]*n+o[6]*C+o[10]*r+o[14]*i,this.w=o[3]*n+o[7]*C+o[11]*r+o[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,C,r,i;const l=e.elements,d=l[0],g=l[4],A=l[8],p=l[1],v=l[5],x=l[9],E=l[2],m=l[6],L=l[10];if(Math.abs(g-p)<.01&&Math.abs(A-E)<.01&&Math.abs(x-m)<.01){if(Math.abs(g+p)<.1&&Math.abs(A+E)<.1&&Math.abs(x+m)<.1&&Math.abs(d+v+L-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const k=(d+1)/2,I=(v+1)/2,b=(L+1)/2,R=(g+p)/4,D=(A+E)/4,U=(x+m)/4;return k>I&&k>b?k<.01?(C=0,r=.707106781,i=.707106781):(C=Math.sqrt(k),r=R/C,i=D/C):I>b?I<.01?(C=.707106781,r=0,i=.707106781):(r=Math.sqrt(I),C=R/r,i=U/r):b<.01?(C=.707106781,r=.707106781,i=0):(i=Math.sqrt(b),C=D/i,r=U/i),this.set(C,r,i,n),this}let M=Math.sqrt((m-x)*(m-x)+(A-E)*(A-E)+(p-g)*(p-g));return Math.abs(M)<.001&&(M=1),this.x=(m-x)/M,this.y=(A-E)/M,this.z=(p-g)/M,this.w=Math.acos((d+v+L-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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this.z=e.z+(n.z-e.z)*C,this.w=e.w+(n.w-e.w)*C,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),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 Yx extends C6{constructor(e=1,n=1,C={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new r2(0,0,e,n),this.scissorTest=!1,this.viewport=new r2(0,0,e,n);const r={width:e,height:n,depth:1};C.encoding!==void 0&&(a3("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),C.colorSpace=C.encoding===t5?Q2:i8),C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:A2,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},C),this.texture=new w2(r,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=C.generateMipmaps,this.texture.internalFormat=C.internalFormat,this.depthBuffer=C.depthBuffer,this.stencilBuffer=C.stencilBuffer,this.depthTexture=C.depthTexture,this.samples=C.samples}setSize(e,n,C=1){(this.width!==e||this.height!==n||this.depth!==C)&&(this.width=e,this.height=n,this.depth=C,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=C,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new t3(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class R8 extends Yx{constructor(e=1,n=1,C={}){super(e,n,C),this.isWebGLRenderTarget=!0}}class vo extends w2{constructor(e=null,n=1,C=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:C,depth:r},this.magFilter=T2,this.minFilter=T2,this.wrapR=M9,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class mI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGLArrayRenderTarget=!0,this.depth=C,this.texture=new vo(null,e,n,C),this.texture.isRenderTargetTexture=!0}}class Nd extends w2{constructor(e=null,n=1,C=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:C,depth:r},this.magFilter=T2,this.minFilter=T2,this.wrapR=M9,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class kI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGL3DRenderTarget=!0,this.depth=C,this.texture=new Nd(null,e,n,C),this.texture.isRenderTargetTexture=!0}}class MI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGLMultipleRenderTargets=!0;const i=this.texture;this.texture=[];for(let o=0;o=0?1:-1,k=1-L*L;if(k>Number.EPSILON){const b=Math.sqrt(k),R=Math.atan2(b,L*M);m=Math.sin(m*R)/b,s=Math.sin(s*R)/b}const I=s*M;if(l=l*m+p*I,d=d*m+v*I,g=g*m+x*I,A=A*m+E*I,m===1-s){const b=1/Math.sqrt(l*l+d*d+g*g+A*A);l*=b,d*=b,g*=b,A*=b}}e[n]=l,e[n+1]=d,e[n+2]=g,e[n+3]=A}static multiplyQuaternionsFlat(e,n,C,r,i,o){const s=C[r],l=C[r+1],d=C[r+2],g=C[r+3],A=i[o],p=i[o+1],v=i[o+2],x=i[o+3];return e[n]=s*x+g*A+l*v-d*p,e[n+1]=l*x+g*p+d*A-s*v,e[n+2]=d*x+g*v+s*p-l*A,e[n+3]=g*x-s*A-l*p-d*v,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,n,C,r){return this._x=e,this._y=n,this._z=C,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,n=!0){const C=e._x,r=e._y,i=e._z,o=e._order,s=Math.cos,l=Math.sin,d=s(C/2),g=s(r/2),A=s(i/2),p=l(C/2),v=l(r/2),x=l(i/2);switch(o){case"XYZ":this._x=p*g*A+d*v*x,this._y=d*v*A-p*g*x,this._z=d*g*x+p*v*A,this._w=d*g*A-p*v*x;break;case"YXZ":this._x=p*g*A+d*v*x,this._y=d*v*A-p*g*x,this._z=d*g*x-p*v*A,this._w=d*g*A+p*v*x;break;case"ZXY":this._x=p*g*A-d*v*x,this._y=d*v*A+p*g*x,this._z=d*g*x+p*v*A,this._w=d*g*A-p*v*x;break;case"ZYX":this._x=p*g*A-d*v*x,this._y=d*v*A+p*g*x,this._z=d*g*x-p*v*A,this._w=d*g*A+p*v*x;break;case"YZX":this._x=p*g*A+d*v*x,this._y=d*v*A+p*g*x,this._z=d*g*x-p*v*A,this._w=d*g*A-p*v*x;break;case"XZY":this._x=p*g*A-d*v*x,this._y=d*v*A-p*g*x,this._z=d*g*x+p*v*A,this._w=d*g*A+p*v*x;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const C=n/2,r=Math.sin(C);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(C),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,C=n[0],r=n[4],i=n[8],o=n[1],s=n[5],l=n[9],d=n[2],g=n[6],A=n[10],p=C+s+A;if(p>0){const v=.5/Math.sqrt(p+1);this._w=.25/v,this._x=(g-l)*v,this._y=(i-d)*v,this._z=(o-r)*v}else if(C>s&&C>A){const v=2*Math.sqrt(1+C-s-A);this._w=(g-l)/v,this._x=.25*v,this._y=(r+o)/v,this._z=(i+d)/v}else if(s>A){const v=2*Math.sqrt(1+s-C-A);this._w=(i-d)/v,this._x=(r+o)/v,this._y=.25*v,this._z=(l+g)/v}else{const v=2*Math.sqrt(1+A-C-s);this._w=(o-r)/v,this._x=(i+d)/v,this._y=(l+g)/v,this._z=.25*v}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let C=e.dot(n)+1;return CMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=C):(this._x=0,this._y=-e.z,this._z=e.y,this._w=C)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=C),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(R2(this.dot(e),-1,1)))}rotateTowards(e,n){const C=this.angleTo(e);if(C===0)return this;const r=Math.min(1,n/C);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,n){const C=e._x,r=e._y,i=e._z,o=e._w,s=n._x,l=n._y,d=n._z,g=n._w;return this._x=C*g+o*s+r*d-i*l,this._y=r*g+o*l+i*s-C*d,this._z=i*g+o*d+C*l-r*s,this._w=o*g-C*s-r*l-i*d,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const C=this._x,r=this._y,i=this._z,o=this._w;let s=o*e._w+C*e._x+r*e._y+i*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=o,this._x=C,this._y=r,this._z=i,this;const l=1-s*s;if(l<=Number.EPSILON){const v=1-n;return this._w=v*o+n*this._w,this._x=v*C+n*this._x,this._y=v*r+n*this._y,this._z=v*i+n*this._z,this.normalize(),this}const d=Math.sqrt(l),g=Math.atan2(d,s),A=Math.sin((1-n)*g)/d,p=Math.sin(n*g)/d;return this._w=o*A+this._w*p,this._x=C*A+this._x*p,this._y=r*A+this._y*p,this._z=i*A+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,n,C){return this.copy(e).slerp(n,C)}random(){const e=Math.random(),n=Math.sqrt(1-e),C=Math.sqrt(e),r=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(n*Math.cos(r),C*Math.sin(i),C*Math.cos(i),n*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),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 G{constructor(e=0,n=0,C=0){G.prototype.isVector3=!0,this.x=e,this.y=n,this.z=C}set(e,n,C){return C===void 0&&(C=this.z),this.x=e,this.y=n,this.z=C,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.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,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(fA.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(fA.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,C=this.y,r=this.z,i=e.elements;return this.x=i[0]*n+i[3]*C+i[6]*r,this.y=i[1]*n+i[4]*C+i[7]*r,this.z=i[2]*n+i[5]*C+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,C=this.y,r=this.z,i=e.elements,o=1/(i[3]*n+i[7]*C+i[11]*r+i[15]);return this.x=(i[0]*n+i[4]*C+i[8]*r+i[12])*o,this.y=(i[1]*n+i[5]*C+i[9]*r+i[13])*o,this.z=(i[2]*n+i[6]*C+i[10]*r+i[14])*o,this}applyQuaternion(e){const n=this.x,C=this.y,r=this.z,i=e.x,o=e.y,s=e.z,l=e.w,d=2*(o*r-s*C),g=2*(s*n-i*r),A=2*(i*C-o*n);return this.x=n+l*d+o*A-s*g,this.y=C+l*g+s*d-i*A,this.z=r+l*A+i*g-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,C=this.y,r=this.z,i=e.elements;return this.x=i[0]*n+i[4]*C+i[8]*r,this.y=i[1]*n+i[5]*C+i[9]*r,this.z=i[2]*n+i[6]*C+i[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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this.z=e.z+(n.z-e.z)*C,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const C=e.x,r=e.y,i=e.z,o=n.x,s=n.y,l=n.z;return this.x=r*l-i*s,this.y=i*o-C*l,this.z=C*s-r*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const C=e.dot(this)/n;return this.copy(e).multiplyScalar(C)}projectOnPlane(e){return Rl.copy(this).projectOnVector(e),this.sub(Rl)}reflect(e){return this.sub(Rl.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const C=this.dot(e)/n;return Math.acos(R2(C,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,C=this.y-e.y,r=this.z-e.z;return n*n+C*C+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,n,C){const r=Math.sin(n)*e;return this.x=r*Math.sin(C),this.y=Math.cos(n)*e,this.z=r*Math.cos(C),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,C){return this.x=e*Math.sin(n),this.y=C,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),C=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=C,this.z=r,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*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,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,C=Math.sqrt(1-e**2);return this.x=C*Math.cos(n),this.y=C*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Rl=new G,fA=new P9;class V2{constructor(e=new G(1/0,1/0,1/0),n=new G(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,C=e.length;nthis.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,n){return n.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,N8),N8.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,C;return e.normal.x>0?(n=e.normal.x*this.min.x,C=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,C=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,C+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,C+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,C+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,C+=e.normal.z*this.min.z),n<=-e.constant&&C>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Je),VC.subVectors(this.max,Je),X3.subVectors(e.a,Je),K3.subVectors(e.b,Je),q3.subVectors(e.c,Je),I6.subVectors(K3,X3),S6.subVectors(q3,K3),Q5.subVectors(X3,q3);let n=[0,-I6.z,I6.y,0,-S6.z,S6.y,0,-Q5.z,Q5.y,I6.z,0,-I6.x,S6.z,0,-S6.x,Q5.z,0,-Q5.x,-I6.y,I6.x,0,-S6.y,S6.x,0,-Q5.y,Q5.x,0];return!bl(n,X3,K3,q3,VC)||(n=[1,0,0,0,1,0,0,0,1],!bl(n,X3,K3,q3,VC))?!1:($C.crossVectors(I6,S6),n=[$C.x,$C.y,$C.z],bl(n,X3,K3,q3,VC))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,N8).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(N8).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:(b4[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),b4[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),b4[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),b4[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),b4[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),b4[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),b4[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),b4[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(b4),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 b4=[new G,new G,new G,new G,new G,new G,new G,new G],N8=new G,zC=new V2,X3=new G,K3=new G,q3=new G,I6=new G,S6=new G,Q5=new G,Je=new G,VC=new G,$C=new G,R5=new G;function bl(t,e,n,C,r){for(let i=0,o=t.length-3;i<=o;i+=3){R5.fromArray(t,i);const s=r.x*Math.abs(R5.x)+r.y*Math.abs(R5.y)+r.z*Math.abs(R5.z),l=e.dot(R5),d=n.dot(R5),g=C.dot(R5);if(Math.max(-Math.max(l,d,g),Math.min(l,d,g))>s)return!1}return!0}const EI=new V2,Xe=new G,Dl=new G;class r9{constructor(e=new G,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const C=this.center;n!==void 0?C.copy(n):EI.setFromPoints(e).getCenter(C);let r=0;for(let i=0,o=e.length;ithis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}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;Xe.subVectors(e,this.center);const n=Xe.lengthSq();if(n>this.radius*this.radius){const C=Math.sqrt(n),r=(C-this.radius)*.5;this.center.addScaledVector(Xe,r/C),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):(Dl.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Xe.copy(e.center).add(Dl)),this.expandByPoint(Xe.copy(e.center).sub(Dl))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const D4=new G,Tl=new G,YC=new G,_6=new G,Hl=new G,JC=new G,Pl=new G;class ae{constructor(e=new G,n=new G(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.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,D4)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const C=n.dot(this.direction);return C<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,C)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=D4.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(D4.copy(this.origin).addScaledVector(this.direction,n),D4.distanceToSquared(e))}distanceSqToSegment(e,n,C,r){Tl.copy(e).add(n).multiplyScalar(.5),YC.copy(n).sub(e).normalize(),_6.copy(this.origin).sub(Tl);const i=e.distanceTo(n)*.5,o=-this.direction.dot(YC),s=_6.dot(this.direction),l=-_6.dot(YC),d=_6.lengthSq(),g=Math.abs(1-o*o);let A,p,v,x;if(g>0)if(A=o*l-s,p=o*s-l,x=i*g,A>=0)if(p>=-x)if(p<=x){const E=1/g;A*=E,p*=E,v=A*(A+o*p+2*s)+p*(o*A+p+2*l)+d}else p=i,A=Math.max(0,-(o*p+s)),v=-A*A+p*(p+2*l)+d;else p=-i,A=Math.max(0,-(o*p+s)),v=-A*A+p*(p+2*l)+d;else p<=-x?(A=Math.max(0,-(-o*i+s)),p=A>0?-i:Math.min(Math.max(-i,-l),i),v=-A*A+p*(p+2*l)+d):p<=x?(A=0,p=Math.min(Math.max(-i,-l),i),v=p*(p+2*l)+d):(A=Math.max(0,-(o*i+s)),p=A>0?i:Math.min(Math.max(-i,-l),i),v=-A*A+p*(p+2*l)+d);else p=o>0?-i:i,A=Math.max(0,-(o*p+s)),v=-A*A+p*(p+2*l)+d;return C&&C.copy(this.origin).addScaledVector(this.direction,A),r&&r.copy(Tl).addScaledVector(YC,p),v}intersectSphere(e,n){D4.subVectors(e.center,this.origin);const C=D4.dot(this.direction),r=D4.dot(D4)-C*C,i=e.radius*e.radius;if(r>i)return null;const o=Math.sqrt(i-r),s=C-o,l=C+o;return l<0?null:s<0?this.at(l,n):this.at(s,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const C=-(this.origin.dot(e.normal)+e.constant)/n;return C>=0?C:null}intersectPlane(e,n){const C=this.distanceToPlane(e);return C===null?null:this.at(C,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let C,r,i,o,s,l;const d=1/this.direction.x,g=1/this.direction.y,A=1/this.direction.z,p=this.origin;return d>=0?(C=(e.min.x-p.x)*d,r=(e.max.x-p.x)*d):(C=(e.max.x-p.x)*d,r=(e.min.x-p.x)*d),g>=0?(i=(e.min.y-p.y)*g,o=(e.max.y-p.y)*g):(i=(e.max.y-p.y)*g,o=(e.min.y-p.y)*g),C>o||i>r||((i>C||isNaN(C))&&(C=i),(o=0?(s=(e.min.z-p.z)*A,l=(e.max.z-p.z)*A):(s=(e.max.z-p.z)*A,l=(e.min.z-p.z)*A),C>l||s>r)||((s>C||C!==C)&&(C=s),(l=0?C:r,n)}intersectsBox(e){return this.intersectBox(e,D4)!==null}intersectTriangle(e,n,C,r,i){Hl.subVectors(n,e),JC.subVectors(C,e),Pl.crossVectors(Hl,JC);let o=this.direction.dot(Pl),s;if(o>0){if(r)return null;s=1}else if(o<0)s=-1,o=-o;else return null;_6.subVectors(this.origin,e);const l=s*this.direction.dot(JC.crossVectors(_6,JC));if(l<0)return null;const d=s*this.direction.dot(Hl.cross(_6));if(d<0||l+d>o)return null;const g=-s*_6.dot(Pl);return g<0?null:this.at(g/o,i)}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 f0{constructor(e,n,C,r,i,o,s,l,d,g,A,p,v,x,E,m){f0.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,n,C,r,i,o,s,l,d,g,A,p,v,x,E,m)}set(e,n,C,r,i,o,s,l,d,g,A,p,v,x,E,m){const L=this.elements;return L[0]=e,L[4]=n,L[8]=C,L[12]=r,L[1]=i,L[5]=o,L[9]=s,L[13]=l,L[2]=d,L[6]=g,L[10]=A,L[14]=p,L[3]=v,L[7]=x,L[11]=E,L[15]=m,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 f0().fromArray(this.elements)}copy(e){const n=this.elements,C=e.elements;return n[0]=C[0],n[1]=C[1],n[2]=C[2],n[3]=C[3],n[4]=C[4],n[5]=C[5],n[6]=C[6],n[7]=C[7],n[8]=C[8],n[9]=C[9],n[10]=C[10],n[11]=C[11],n[12]=C[12],n[13]=C[13],n[14]=C[14],n[15]=C[15],this}copyPosition(e){const n=this.elements,C=e.elements;return n[12]=C[12],n[13]=C[13],n[14]=C[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,C){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),C.setFromMatrixColumn(this,2),this}makeBasis(e,n,C){return this.set(e.x,n.x,C.x,0,e.y,n.y,C.y,0,e.z,n.z,C.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,C=e.elements,r=1/Z3.setFromMatrixColumn(e,0).length(),i=1/Z3.setFromMatrixColumn(e,1).length(),o=1/Z3.setFromMatrixColumn(e,2).length();return n[0]=C[0]*r,n[1]=C[1]*r,n[2]=C[2]*r,n[3]=0,n[4]=C[4]*i,n[5]=C[5]*i,n[6]=C[6]*i,n[7]=0,n[8]=C[8]*o,n[9]=C[9]*o,n[10]=C[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,C=e.x,r=e.y,i=e.z,o=Math.cos(C),s=Math.sin(C),l=Math.cos(r),d=Math.sin(r),g=Math.cos(i),A=Math.sin(i);if(e.order==="XYZ"){const p=o*g,v=o*A,x=s*g,E=s*A;n[0]=l*g,n[4]=-l*A,n[8]=d,n[1]=v+x*d,n[5]=p-E*d,n[9]=-s*l,n[2]=E-p*d,n[6]=x+v*d,n[10]=o*l}else if(e.order==="YXZ"){const p=l*g,v=l*A,x=d*g,E=d*A;n[0]=p+E*s,n[4]=x*s-v,n[8]=o*d,n[1]=o*A,n[5]=o*g,n[9]=-s,n[2]=v*s-x,n[6]=E+p*s,n[10]=o*l}else if(e.order==="ZXY"){const p=l*g,v=l*A,x=d*g,E=d*A;n[0]=p-E*s,n[4]=-o*A,n[8]=x+v*s,n[1]=v+x*s,n[5]=o*g,n[9]=E-p*s,n[2]=-o*d,n[6]=s,n[10]=o*l}else if(e.order==="ZYX"){const p=o*g,v=o*A,x=s*g,E=s*A;n[0]=l*g,n[4]=x*d-v,n[8]=p*d+E,n[1]=l*A,n[5]=E*d+p,n[9]=v*d-x,n[2]=-d,n[6]=s*l,n[10]=o*l}else if(e.order==="YZX"){const p=o*l,v=o*d,x=s*l,E=s*d;n[0]=l*g,n[4]=E-p*A,n[8]=x*A+v,n[1]=A,n[5]=o*g,n[9]=-s*g,n[2]=-d*g,n[6]=v*A+x,n[10]=p-E*A}else if(e.order==="XZY"){const p=o*l,v=o*d,x=s*l,E=s*d;n[0]=l*g,n[4]=-A,n[8]=d*g,n[1]=p*A+E,n[5]=o*g,n[9]=v*A-x,n[2]=x*A-v,n[6]=s*g,n[10]=E*A+p}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(yI,e,BI)}lookAt(e,n,C){const r=this.elements;return n8.subVectors(e,n),n8.lengthSq()===0&&(n8.z=1),n8.normalize(),Q6.crossVectors(C,n8),Q6.lengthSq()===0&&(Math.abs(C.z)===1?n8.x+=1e-4:n8.z+=1e-4,n8.normalize(),Q6.crossVectors(C,n8)),Q6.normalize(),XC.crossVectors(n8,Q6),r[0]=Q6.x,r[4]=XC.x,r[8]=n8.x,r[1]=Q6.y,r[5]=XC.y,r[9]=n8.y,r[2]=Q6.z,r[6]=XC.z,r[10]=n8.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const C=e.elements,r=n.elements,i=this.elements,o=C[0],s=C[4],l=C[8],d=C[12],g=C[1],A=C[5],p=C[9],v=C[13],x=C[2],E=C[6],m=C[10],L=C[14],M=C[3],k=C[7],I=C[11],b=C[15],R=r[0],D=r[4],U=r[8],X=r[12],_=r[1],P=r[5],Z=r[9],f1=r[13],J=r[2],a1=r[6],o1=r[10],g1=r[14],F=r[3],e1=r[7],C1=r[11],d1=r[15];return i[0]=o*R+s*_+l*J+d*F,i[4]=o*D+s*P+l*a1+d*e1,i[8]=o*U+s*Z+l*o1+d*C1,i[12]=o*X+s*f1+l*g1+d*d1,i[1]=g*R+A*_+p*J+v*F,i[5]=g*D+A*P+p*a1+v*e1,i[9]=g*U+A*Z+p*o1+v*C1,i[13]=g*X+A*f1+p*g1+v*d1,i[2]=x*R+E*_+m*J+L*F,i[6]=x*D+E*P+m*a1+L*e1,i[10]=x*U+E*Z+m*o1+L*C1,i[14]=x*X+E*f1+m*g1+L*d1,i[3]=M*R+k*_+I*J+b*F,i[7]=M*D+k*P+I*a1+b*e1,i[11]=M*U+k*Z+I*o1+b*C1,i[15]=M*X+k*f1+I*g1+b*d1,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],C=e[4],r=e[8],i=e[12],o=e[1],s=e[5],l=e[9],d=e[13],g=e[2],A=e[6],p=e[10],v=e[14],x=e[3],E=e[7],m=e[11],L=e[15];return x*(+i*l*A-r*d*A-i*s*p+C*d*p+r*s*v-C*l*v)+E*(+n*l*v-n*d*p+i*o*p-r*o*v+r*d*g-i*l*g)+m*(+n*d*A-n*s*v-i*o*A+C*o*v+i*s*g-C*d*g)+L*(-r*s*g-n*l*A+n*s*p+r*o*A-C*o*p+C*l*g)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,C){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=n,r[14]=C),this}invert(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8],A=e[9],p=e[10],v=e[11],x=e[12],E=e[13],m=e[14],L=e[15],M=A*m*d-E*p*d+E*l*v-s*m*v-A*l*L+s*p*L,k=x*p*d-g*m*d-x*l*v+o*m*v+g*l*L-o*p*L,I=g*E*d-x*A*d+x*s*v-o*E*v-g*s*L+o*A*L,b=x*A*l-g*E*l-x*s*p+o*E*p+g*s*m-o*A*m,R=n*M+C*k+r*I+i*b;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=M*D,e[1]=(E*p*i-A*m*i-E*r*v+C*m*v+A*r*L-C*p*L)*D,e[2]=(s*m*i-E*l*i+E*r*d-C*m*d-s*r*L+C*l*L)*D,e[3]=(A*l*i-s*p*i-A*r*d+C*p*d+s*r*v-C*l*v)*D,e[4]=k*D,e[5]=(g*m*i-x*p*i+x*r*v-n*m*v-g*r*L+n*p*L)*D,e[6]=(x*l*i-o*m*i-x*r*d+n*m*d+o*r*L-n*l*L)*D,e[7]=(o*p*i-g*l*i+g*r*d-n*p*d-o*r*v+n*l*v)*D,e[8]=I*D,e[9]=(x*A*i-g*E*i-x*C*v+n*E*v+g*C*L-n*A*L)*D,e[10]=(o*E*i-x*s*i+x*C*d-n*E*d-o*C*L+n*s*L)*D,e[11]=(g*s*i-o*A*i-g*C*d+n*A*d+o*C*v-n*s*v)*D,e[12]=b*D,e[13]=(g*E*r-x*A*r+x*C*p-n*E*p-g*C*m+n*A*m)*D,e[14]=(x*s*r-o*E*r-x*C*l+n*E*l+o*C*m-n*s*m)*D,e[15]=(o*A*r-g*s*r+g*C*l-n*A*l-o*C*p+n*s*p)*D,this}scale(e){const n=this.elements,C=e.x,r=e.y,i=e.z;return n[0]*=C,n[4]*=r,n[8]*=i,n[1]*=C,n[5]*=r,n[9]*=i,n[2]*=C,n[6]*=r,n[10]*=i,n[3]*=C,n[7]*=r,n[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],C=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(n,C,r))}makeTranslation(e,n,C){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,n,0,0,1,C,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),C=Math.sin(e);return this.set(1,0,0,0,0,n,-C,0,0,C,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,0,C,0,0,1,0,0,-C,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,-C,0,0,C,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const C=Math.cos(n),r=Math.sin(n),i=1-C,o=e.x,s=e.y,l=e.z,d=i*o,g=i*s;return this.set(d*o+C,d*s-r*l,d*l+r*s,0,d*s+r*l,g*s+C,g*l-r*o,0,d*l-r*s,g*l+r*o,i*l*l+C,0,0,0,0,1),this}makeScale(e,n,C){return this.set(e,0,0,0,0,n,0,0,0,0,C,0,0,0,0,1),this}makeShear(e,n,C,r,i,o){return this.set(1,C,i,0,e,1,o,0,n,r,1,0,0,0,0,1),this}compose(e,n,C){const r=this.elements,i=n._x,o=n._y,s=n._z,l=n._w,d=i+i,g=o+o,A=s+s,p=i*d,v=i*g,x=i*A,E=o*g,m=o*A,L=s*A,M=l*d,k=l*g,I=l*A,b=C.x,R=C.y,D=C.z;return r[0]=(1-(E+L))*b,r[1]=(v+I)*b,r[2]=(x-k)*b,r[3]=0,r[4]=(v-I)*R,r[5]=(1-(p+L))*R,r[6]=(m+M)*R,r[7]=0,r[8]=(x+k)*D,r[9]=(m-M)*D,r[10]=(1-(p+E))*D,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,n,C){const r=this.elements;let i=Z3.set(r[0],r[1],r[2]).length();const o=Z3.set(r[4],r[5],r[6]).length(),s=Z3.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],j8.copy(this);const d=1/i,g=1/o,A=1/s;return j8.elements[0]*=d,j8.elements[1]*=d,j8.elements[2]*=d,j8.elements[4]*=g,j8.elements[5]*=g,j8.elements[6]*=g,j8.elements[8]*=A,j8.elements[9]*=A,j8.elements[10]*=A,n.setFromRotationMatrix(j8),C.x=i,C.y=o,C.z=s,this}makePerspective(e,n,C,r,i,o,s=p4){const l=this.elements,d=2*i/(n-e),g=2*i/(C-r),A=(n+e)/(n-e),p=(C+r)/(C-r);let v,x;if(s===p4)v=-(o+i)/(o-i),x=-2*o*i/(o-i);else if(s===rn)v=-o/(o-i),x=-o*i/(o-i);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+s);return l[0]=d,l[4]=0,l[8]=A,l[12]=0,l[1]=0,l[5]=g,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=v,l[14]=x,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,n,C,r,i,o,s=p4){const l=this.elements,d=1/(n-e),g=1/(C-r),A=1/(o-i),p=(n+e)*d,v=(C+r)*g;let x,E;if(s===p4)x=(o+i)*A,E=-2*A;else if(s===rn)x=i*A,E=-1*A;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+s);return l[0]=2*d,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*g,l[9]=0,l[13]=-v,l[2]=0,l[6]=0,l[10]=E,l[14]=-x,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const n=this.elements,C=e.elements;for(let r=0;r<16;r++)if(n[r]!==C[r])return!1;return!0}fromArray(e,n=0){for(let C=0;C<16;C++)this.elements[C]=e[C+n];return this}toArray(e=[],n=0){const C=this.elements;return e[n]=C[0],e[n+1]=C[1],e[n+2]=C[2],e[n+3]=C[3],e[n+4]=C[4],e[n+5]=C[5],e[n+6]=C[6],e[n+7]=C[7],e[n+8]=C[8],e[n+9]=C[9],e[n+10]=C[10],e[n+11]=C[11],e[n+12]=C[12],e[n+13]=C[13],e[n+14]=C[14],e[n+15]=C[15],e}}const Z3=new G,j8=new f0,yI=new G(0,0,0),BI=new G(1,1,1),Q6=new G,XC=new G,n8=new G,gA=new f0,AA=new P9;class ce{constructor(e=0,n=0,C=0,r=ce.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=C,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,n,C,r=this._order){return this._x=e,this._y=n,this._z=C,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,n=this._order,C=!0){const r=e.elements,i=r[0],o=r[4],s=r[8],l=r[1],d=r[5],g=r[9],A=r[2],p=r[6],v=r[10];switch(n){case"XYZ":this._y=Math.asin(R2(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-g,v),this._z=Math.atan2(-o,i)):(this._x=Math.atan2(p,d),this._z=0);break;case"YXZ":this._x=Math.asin(-R2(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(s,v),this._z=Math.atan2(l,d)):(this._y=Math.atan2(-A,i),this._z=0);break;case"ZXY":this._x=Math.asin(R2(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-A,v),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(l,i));break;case"ZYX":this._y=Math.asin(-R2(A,-1,1)),Math.abs(A)<.9999999?(this._x=Math.atan2(p,v),this._z=Math.atan2(l,i)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(R2(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-g,d),this._y=Math.atan2(-A,i)):(this._x=0,this._y=Math.atan2(s,v));break;case"XZY":this._z=Math.asin(-R2(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,d),this._y=Math.atan2(s,i)):(this._x=Math.atan2(-g,v),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,C===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,C){return gA.makeRotationFromQuaternion(e),this.setFromRotationMatrix(gA,n,C)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return AA.setFromEuler(this),this.setFromQuaternion(AA,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=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+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}}ce.DEFAULT_ORDER="XYZ";let c3=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let C=0;C0&&(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(s=>({boxInitialized:s.boxInitialized,boxMin:s.box.min.toArray(),boxMax:s.box.max.toArray(),sphereInitialized:s.sphereInitialized,sphereRadius:s.sphere.radius,sphereCenter:s.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 i(s,l){return s[l.uuid]===void 0&&(s[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=i(e.geometries,this.geometry);const s=this.geometry.parameters;if(s!==void 0&&s.shapes!==void 0){const l=s.shapes;if(Array.isArray(l))for(let d=0,g=l.length;d0){r.children=[];for(let s=0;s0){r.animations=[];for(let s=0;s0&&(C.geometries=s),l.length>0&&(C.materials=l),d.length>0&&(C.textures=d),g.length>0&&(C.images=g),A.length>0&&(C.shapes=A),p.length>0&&(C.skeletons=p),v.length>0&&(C.animations=v),x.length>0&&(C.nodes=x)}return C.object=r,C;function o(s){const l=[];for(const d in s){const g=s[d];delete g.metadata,l.push(g)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!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)),n===!0)for(let C=0;C0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,n,C,r,i){U8.subVectors(r,n),H4.subVectors(C,n),Nl.subVectors(e,n);const o=U8.dot(U8),s=U8.dot(H4),l=U8.dot(Nl),d=H4.dot(H4),g=H4.dot(Nl),A=o*d-s*s;if(A===0)return i.set(0,0,0),null;const p=1/A,v=(d*l-s*g)*p,x=(o*g-s*l)*p;return i.set(1-v-x,x,v)}static containsPoint(e,n,C,r){return this.getBarycoord(e,n,C,r,P4)===null?!1:P4.x>=0&&P4.y>=0&&P4.x+P4.y<=1}static getInterpolation(e,n,C,r,i,o,s,l){return this.getBarycoord(e,n,C,r,P4)===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(i,P4.x),l.addScaledVector(o,P4.y),l.addScaledVector(s,P4.z),l)}static isFrontFacing(e,n,C,r){return U8.subVectors(C,n),H4.subVectors(e,n),U8.cross(H4).dot(r)<0}set(e,n,C){return this.a.copy(e),this.b.copy(n),this.c.copy(C),this}setFromPointsAndIndices(e,n,C,r){return this.a.copy(e[n]),this.b.copy(e[C]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,n,C,r){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,C),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 U8.subVectors(this.c,this.b),H4.subVectors(this.a,this.b),U8.cross(H4).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return m7.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return m7.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,C,r,i){return m7.getInterpolation(e,this.a,this.b,this.c,n,C,r,i)}containsPoint(e){return m7.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return m7.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const C=this.a,r=this.b,i=this.c;let o,s;t7.subVectors(r,C),n7.subVectors(i,C),jl.subVectors(e,C);const l=t7.dot(jl),d=n7.dot(jl);if(l<=0&&d<=0)return n.copy(C);Ul.subVectors(e,r);const g=t7.dot(Ul),A=n7.dot(Ul);if(g>=0&&A<=g)return n.copy(r);const p=l*A-g*d;if(p<=0&&l>=0&&g<=0)return o=l/(l-g),n.copy(C).addScaledVector(t7,o);Fl.subVectors(e,i);const v=t7.dot(Fl),x=n7.dot(Fl);if(x>=0&&v<=x)return n.copy(i);const E=v*d-l*x;if(E<=0&&d>=0&&x<=0)return s=d/(d-x),n.copy(C).addScaledVector(n7,s);const m=g*x-v*A;if(m<=0&&A-g>=0&&v-x>=0)return xA.subVectors(i,r),s=(A-g)/(A-g+(v-x)),n.copy(r).addScaledVector(xA,s);const L=1/(m+E+p);return o=E*L,s=p*L,n.copy(C).addScaledVector(t7,o).addScaledVector(n7,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};const Jx={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},R6={h:0,s:0,l:0},qC={h:0,s:0,l:0};function Wl(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class Z1{constructor(e,n,C){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,C)}set(e,n,C){if(n===void 0&&C===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,n,C);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=Q2){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,C2.toWorkingColorSpace(this,n),this}setRGB(e,n,C,r=C2.workingColorSpace){return this.r=e,this.g=n,this.b=C,C2.toWorkingColorSpace(this,r),this}setHSL(e,n,C,r=C2.workingColorSpace){if(e=Hd(e,1),n=R2(n,0,1),C=R2(C,0,1),n===0)this.r=this.g=this.b=C;else{const i=C<=.5?C*(1+n):C+n-C*n,o=2*C-i;this.r=Wl(o,i,e+1/3),this.g=Wl(o,i,e),this.b=Wl(o,i,e-1/3)}return C2.toWorkingColorSpace(this,r),this}setStyle(e,n=Q2){function C(i){i!==void 0&&parseFloat(i)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i;const o=r[1],s=r[2];switch(o){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,n);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,n);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return C(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const i=r[1],o=i.length;if(o===3)return this.setRGB(parseInt(i.charAt(0),16)/15,parseInt(i.charAt(1),16)/15,parseInt(i.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(i,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=Q2){const C=Jx[e.toLowerCase()];return C!==void 0?this.setHex(C,n):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=Y7(e.r),this.g=Y7(e.g),this.b=Y7(e.b),this}copyLinearToSRGB(e){return this.r=_l(e.r),this.g=_l(e.g),this.b=_l(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Q2){return C2.fromWorkingColorSpace(x9.copy(this),e),Math.round(R2(x9.r*255,0,255))*65536+Math.round(R2(x9.g*255,0,255))*256+Math.round(R2(x9.b*255,0,255))}getHexString(e=Q2){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=C2.workingColorSpace){C2.fromWorkingColorSpace(x9.copy(this),n);const C=x9.r,r=x9.g,i=x9.b,o=Math.max(C,r,i),s=Math.min(C,r,i);let l,d;const g=(s+o)/2;if(s===o)l=0,d=0;else{const A=o-s;switch(d=g<=.5?A/(o+s):A/(2-o-s),o){case C:l=(r-i)/A+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const C=e[n];if(C===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const r=this[n];if(r===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(C):r&&r.isVector3&&C&&C.isVector3?r.copy(C):this[n]=C}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={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&&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(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(C.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(C.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,C.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),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(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(C.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).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(e).uuid),this.map&&this.map.isTexture&&(C.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(C.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(C.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(C.lightMap=this.lightMap.toJSON(e).uuid,C.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(C.aoMap=this.aoMap.toJSON(e).uuid,C.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(C.bumpMap=this.bumpMap.toJSON(e).uuid,C.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(C.normalMap=this.normalMap.toJSON(e).uuid,C.normalMapType=this.normalMapType,C.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(C.displacementMap=this.displacementMap.toJSON(e).uuid,C.displacementScale=this.displacementScale,C.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(C.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(C.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(C.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(C.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(C.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(C.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(C.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(C.combine=this.combine)),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(e).uuid),this.transmission!==void 0&&(C.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(C.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(C.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(C.thicknessMap=this.thicknessMap.toJSON(e).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!==s3&&(C.blending=this.blending),this.side!==Q8&&(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!==Fi&&(C.blendSrc=this.blendSrc),this.blendDst!==Wi&&(C.blendDst=this.blendDst),this.blendEquation!==F6&&(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!==Vt&&(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!==su&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==V5&&(C.stencilFail=this.stencilFail),this.stencilZFail!==V5&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==V5&&(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 r(i){const o=[];for(const s in i){const l=i[s];delete l.metadata,o.push(l)}return o}if(n){const i=r(e.textures),o=r(e.images);i.length>0&&(C.textures=i),o.length>0&&(C.images=o)}return C}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 n=e.clippingPlanes;let C=null;if(n!==null){const r=n.length;C=new Array(r);for(let i=0;i!==r;++i)C[i]=n[i].clone()}return this.clippingPlanes=C,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 K9 extends i9{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Z1(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.combine=kn,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.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 O4=DI();function DI(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),C=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const d=l-127;d<-27?(C[l]=0,C[l|256]=32768,r[l]=24,r[l|256]=24):d<-14?(C[l]=1024>>-d-14,C[l|256]=1024>>-d-14|32768,r[l]=-d-1,r[l|256]=-d-1):d<=15?(C[l]=d+15<<10,C[l|256]=d+15<<10|32768,r[l]=13,r[l|256]=13):d<128?(C[l]=31744,C[l|256]=64512,r[l]=24,r[l|256]=24):(C[l]=31744,C[l|256]=64512,r[l]=13,r[l|256]=13)}const i=new Uint32Array(2048),o=new Uint32Array(64),s=new Uint32Array(64);for(let l=1;l<1024;++l){let d=l<<13,g=0;for(;!(d&8388608);)d<<=1,g-=8388608;d&=-8388609,g+=947912704,i[l]=d|g}for(let l=1024;l<2048;++l)i[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&&(s[l]=1024);return{floatView:e,uint32View:n,baseTable:C,shiftTable:r,mantissaTable:i,exponentTable:o,offsetTable:s}}function z9(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=R2(t,-65504,65504),O4.floatView[0]=t;const e=O4.uint32View[0],n=e>>23&511;return O4.baseTable[n]+((e&8388607)>>O4.shiftTable[n])}function dt(t){const e=t>>10;return O4.uint32View[0]=O4.mantissaTable[O4.offsetTable[e]+(t&1023)]+O4.exponentTable[e],O4.floatView[0]}const TI={toHalfFloat:z9,fromHalfFloat:dt},j2=new G,ZC=new M1;class t2{constructor(e,n,C=!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=n,this.count=e!==void 0?e.length/n:0,this.normalized=C,this.usage=Cn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=y8,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return a3("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,n){this.updateRanges.push({start:e,count:n})}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,n,C){e*=this.itemSize,C*=n.itemSize;for(let r=0,i=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const d in l)l[d]!==void 0&&(e[d]=l[d]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const C=this.attributes;for(const l in C){const d=C[l];e.data.attributes[l]=d.toJSON(e.data)}const r={};let i=!1;for(const l in this.morphAttributes){const d=this.morphAttributes[l],g=[];for(let A=0,p=d.length;A0&&(r[l]=g,i=!0)}i&&(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 s=this.boundingSphere;return s!==null&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.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 n={};this.name=e.name;const C=e.index;C!==null&&this.setIndex(C.clone(n));const r=e.attributes;for(const d in r){const g=r[d];this.setAttribute(d,g.clone(n))}const i=e.morphAttributes;for(const d in i){const g=[],A=i[d];for(let p=0,v=A.length;p0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;i(e.far-e.near)**2))&&(mA.copy(i).invert(),b5.copy(e.ray).applyMatrix4(mA),!(C.boundingBox!==null&&b5.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(e,n,b5)))}_computeIntersections(e,n,C){let r;const i=this.geometry,o=this.material,s=i.index,l=i.attributes.position,d=i.attributes.uv,g=i.attributes.uv1,A=i.attributes.normal,p=i.groups,v=i.drawRange;if(s!==null)if(Array.isArray(o))for(let x=0,E=p.length;xn.far?null:{distance:d,point:or.clone(),object:t}}function sr(t,e,n,C,r,i,o,s,l,d){t.getVertexPosition(s,r7),t.getVertexPosition(l,i7),t.getVertexPosition(d,o7);const g=GI(t,e,n,C,r7,i7,o7,ir);if(g){r&&(nr.fromBufferAttribute(r,s),Cr.fromBufferAttribute(r,l),rr.fromBufferAttribute(r,d),g.uv=n3.getInterpolation(ir,r7,i7,o7,nr,Cr,rr,new M1)),i&&(nr.fromBufferAttribute(i,s),Cr.fromBufferAttribute(i,l),rr.fromBufferAttribute(i,d),g.uv1=n3.getInterpolation(ir,r7,i7,o7,nr,Cr,rr,new M1),g.uv2=g.uv1),o&&(MA.fromBufferAttribute(o,s),EA.fromBufferAttribute(o,l),yA.fromBufferAttribute(o,d),g.normal=n3.getInterpolation(ir,r7,i7,o7,MA,EA,yA,new G),g.normal.dot(C.direction)>0&&g.normal.multiplyScalar(-1));const A={a:s,b:l,c:d,normal:new G,materialIndex:0};n3.getNormal(r7,i7,o7,A.normal),g.face=A}return g}class E3 extends R0{constructor(e=1,n=1,C=1,r=1,i=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:C,widthSegments:r,heightSegments:i,depthSegments:o};const s=this;r=Math.floor(r),i=Math.floor(i),o=Math.floor(o);const l=[],d=[],g=[],A=[];let p=0,v=0;x("z","y","x",-1,-1,C,n,e,o,i,0),x("z","y","x",1,-1,C,n,-e,o,i,1),x("x","z","y",1,1,e,C,n,r,o,2),x("x","z","y",1,-1,e,C,-n,r,o,3),x("x","y","z",1,-1,e,n,C,r,i,4),x("x","y","z",-1,-1,e,n,-C,r,i,5),this.setIndex(l),this.setAttribute("position",new o0(d,3)),this.setAttribute("normal",new o0(g,3)),this.setAttribute("uv",new o0(A,2));function x(E,m,L,M,k,I,b,R,D,U,X){const _=I/D,P=b/U,Z=I/2,f1=b/2,J=R/2,a1=D+1,o1=U+1;let g1=0,F=0;const e1=new G;for(let C1=0;C10?1:-1,g.push(e1.x,e1.y,e1.z),A.push(I1/D),A.push(1-C1/U),g1+=1}}for(let C1=0;C10&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const C={};for(const r in this.extensions)this.extensions[r]===!0&&(C[r]=!0);return Object.keys(C).length>0&&(n.extensions=C),n}}let En=class extends Y0{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new f0,this.projectionMatrix=new f0,this.projectionMatrixInverse=new f0,this.coordinateSystem=p4}copy(e,n){return super.copy(e,n),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,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};const b6=new G,BA=new M1,IA=new M1;class G2 extends En{constructor(e=50,n=1,C=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=C,this.far=r,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),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 n=.5*this.getFilmHeight()/e;this.fov=ne*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(l3*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return ne*2*Math.atan(Math.tan(l3*.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,n,C){b6.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(b6.x,b6.y).multiplyScalar(-e/b6.z),b6.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(b6.x,b6.y).multiplyScalar(-e/b6.z)}getViewSize(e,n){return this.getViewBounds(e,BA,IA),n.subVectors(IA,BA)}setViewOffset(e,n,C,r,i,o){this.aspect=e/n,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=n,this.view.offsetX=C,this.view.offsetY=r,this.view.width=i,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(l3*.5*this.fov)/this.zoom,C=2*n,r=this.aspect*C,i=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,d=o.fullHeight;i+=o.offsetX*r/l,n-=o.offsetY*C/d,r*=o.width/l,C*=o.height/d}const s=this.filmOffset;s!==0&&(i+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,n,n-C,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const s7=-90,l7=1;class qx extends Y0{constructor(e,n,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new G2(s7,l7,e,n);r.layers=this.layers,this.add(r);const i=new G2(s7,l7,e,n);i.layers=this.layers,this.add(i);const o=new G2(s7,l7,e,n);o.layers=this.layers,this.add(o);const s=new G2(s7,l7,e,n);s.layers=this.layers,this.add(s);const l=new G2(s7,l7,e,n);l.layers=this.layers,this.add(l);const d=new G2(s7,l7,e,n);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[C,r,i,o,s,l]=n;for(const d of n)this.remove(d);if(e===p4)C.up.set(0,1,0),C.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===rn)C.up.set(0,-1,0),C.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),s.up.set(0,-1,0),s.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 d of n)this.add(d),d.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:C,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[i,o,s,l,d,g]=this.children,A=e.getRenderTarget(),p=e.getActiveCubeFace(),v=e.getActiveMipmapLevel(),x=e.xr.enabled;e.xr.enabled=!1;const E=C.texture.generateMipmaps;C.texture.generateMipmaps=!1,e.setRenderTarget(C,0,r),e.render(n,i),e.setRenderTarget(C,1,r),e.render(n,o),e.setRenderTarget(C,2,r),e.render(n,s),e.setRenderTarget(C,3,r),e.render(n,l),e.setRenderTarget(C,4,r),e.render(n,d),C.texture.generateMipmaps=E,e.setRenderTarget(C,5,r),e.render(n,g),e.setRenderTarget(A,p,v),e.xr.enabled=x,C.texture.needsPMREMUpdate=!0}}class yn extends w2{constructor(e,n,C,r,i,o,s,l,d,g){e=e!==void 0?e:[],n=n!==void 0?n:t6,super(e,n,C,r,i,o,s,l,d,g),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Zx extends R8{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const C={width:e,height:e,depth:1},r=[C,C,C,C,C,C];n.encoding!==void 0&&(a3("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===t5?Q2:i8),this.texture=new yn(r,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:A2}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.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 ); - - } - `},r=new E3(5,5,5),i=new X8({name:"CubemapFromEquirect",uniforms:Ce(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:H9,blending:X4});i.uniforms.tEquirect.value=n;const o=new i2(r,i),s=n.minFilter;return n.minFilter===A4&&(n.minFilter=A2),new qx(1,10,this).update(e,o),n.minFilter=s,o.geometry.dispose(),o.material.dispose(),this}clear(e,n,C,r){const i=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(n,C,r);e.setRenderTarget(i)}}const zl=new G,YI=new G,JI=new B0;let l2=class{constructor(e=new G(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,C,r){return this.normal.set(e,n,C),this.constant=r,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,C){const r=zl.subVectors(C,n).cross(YI.subVectors(e,n)).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,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const C=e.delta(zl),r=this.normal.dot(C);if(r===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:n.copy(e.start).addScaledVector(C,i)}intersectsLine(e){const n=this.distanceToPoint(e.start),C=this.distanceToPoint(e.end);return n<0&&C>0||C<0&&n>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,n){const C=n||JI.getNormalMatrix(e),r=this.coplanarPoint(zl).applyMatrix4(e),i=this.normal.applyMatrix3(C).normalize();return this.constant=-r.dot(i),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 D5=new r9,lr=new G;class Bn{constructor(e=new l2,n=new l2,C=new l2,r=new l2,i=new l2,o=new l2){this.planes=[e,n,C,r,i,o]}set(e,n,C,r,i,o){const s=this.planes;return s[0].copy(e),s[1].copy(n),s[2].copy(C),s[3].copy(r),s[4].copy(i),s[5].copy(o),this}copy(e){const n=this.planes;for(let C=0;C<6;C++)n[C].copy(e.planes[C]);return this}setFromProjectionMatrix(e,n=p4){const C=this.planes,r=e.elements,i=r[0],o=r[1],s=r[2],l=r[3],d=r[4],g=r[5],A=r[6],p=r[7],v=r[8],x=r[9],E=r[10],m=r[11],L=r[12],M=r[13],k=r[14],I=r[15];if(C[0].setComponents(l-i,p-d,m-v,I-L).normalize(),C[1].setComponents(l+i,p+d,m+v,I+L).normalize(),C[2].setComponents(l+o,p+g,m+x,I+M).normalize(),C[3].setComponents(l-o,p-g,m-x,I-M).normalize(),C[4].setComponents(l-s,p-A,m-E,I-k).normalize(),n===p4)C[5].setComponents(l+s,p+A,m+E,I+k).normalize();else if(n===rn)C[5].setComponents(s,A,E,k).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),D5.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),D5.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(D5)}intersectsSprite(e){return D5.center.set(0,0,0),D5.radius=.7071067811865476,D5.applyMatrix4(e.matrixWorld),this.intersectsSphere(D5)}intersectsSphere(e){const n=this.planes,C=e.center,r=-e.radius;for(let i=0;i<6;i++)if(n[i].distanceToPoint(C)0?e.max.x:e.min.x,lr.y=r.normal.y>0?e.max.y:e.min.y,lr.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(lr)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let C=0;C<6;C++)if(n[C].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function em(){let t=null,e=!1,n=null,C=null;function r(i,o){n(i,o),C=t.requestAnimationFrame(r)}return{start:function(){e!==!0&&n!==null&&(C=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(C),e=!1},setAnimationLoop:function(i){n=i},setContext:function(i){t=i}}}function XI(t,e){const n=e.isWebGL2,C=new WeakMap;function r(d,g){const A=d.array,p=d.usage,v=A.byteLength,x=t.createBuffer();t.bindBuffer(g,x),t.bufferData(g,A,p),d.onUploadCallback();let E;if(A instanceof Float32Array)E=t.FLOAT;else if(A instanceof Uint16Array)if(d.isFloat16BufferAttribute)if(n)E=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else E=t.UNSIGNED_SHORT;else if(A instanceof Int16Array)E=t.SHORT;else if(A instanceof Uint32Array)E=t.UNSIGNED_INT;else if(A instanceof Int32Array)E=t.INT;else if(A instanceof Int8Array)E=t.BYTE;else if(A instanceof Uint8Array)E=t.UNSIGNED_BYTE;else if(A instanceof Uint8ClampedArray)E=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+A);return{buffer:x,type:E,bytesPerElement:A.BYTES_PER_ELEMENT,version:d.version,size:v}}function i(d,g,A){const p=g.array,v=g._updateRange,x=g.updateRanges;if(t.bindBuffer(A,d),v.count===-1&&x.length===0&&t.bufferSubData(A,0,p),x.length!==0){for(let E=0,m=x.length;E 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`,hS=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,fS=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; -#endif`,gS=`#if NUM_CLIPPING_PLANES > 0 - vClipPosition = - mvPosition.xyz; -#endif`,AS=`#if defined( USE_COLOR_ALPHA ) - diffuseColor *= vColor; -#elif defined( USE_COLOR ) - diffuseColor.rgb *= vColor; -#endif`,pS=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) - varying vec3 vColor; -#endif`,LS=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) - varying vec3 vColor; -#endif`,vS=`#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`,wS=`#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`,xS=`#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`,mS=`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`,kS=`#ifdef USE_DISPLACEMENTMAP - uniform sampler2D displacementMap; - uniform float displacementScale; - uniform float displacementBias; -#endif`,MS=`#ifdef USE_DISPLACEMENTMAP - transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,ES=`#ifdef USE_EMISSIVEMAP - vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); - totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,yS=`#ifdef USE_EMISSIVEMAP - uniform sampler2D emissiveMap; -#endif`,BS="gl_FragColor = linearToOutputTexel( gl_FragColor );",IS=` -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 ); -}`,SS=`#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, 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`,_S=`#ifdef USE_ENVMAP - uniform float envMapIntensity; - uniform float flipEnvMap; - #ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; - #else - uniform sampler2D envMap; - #endif - -#endif`,QS=`#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`,RS=`#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`,bS=`#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`,DS=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; -#endif`,TS=`#ifdef USE_FOG - varying float vFogDepth; -#endif`,HS=`#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`,PS=`#ifdef USE_FOG - uniform vec3 fogColor; - varying float vFogDepth; - #ifdef FOG_EXP2 - uniform float fogDensity; - #else - uniform float fogNear; - uniform float fogFar; - #endif -#endif`,NS=`#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 -}`,jS=`#ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,US=`#ifdef USE_LIGHTMAP - uniform sampler2D lightMap; - uniform float lightMapIntensity; -#endif`,FS=`LambertMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,WS=`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`,OS=`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`,GS=`#ifdef USE_ENVMAP - vec3 getIBLIrradiance( const in vec3 normal ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, 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, 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`,zS=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,VS=`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`,$S=`BlinnPhongMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularColor = specular; -material.specularShininess = shininess; -material.specularStrength = specularStrength;`,YS=`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`,JS=`PhysicalMaterial material; -material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); -vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); -float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); -material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; -material.roughness = min( material.roughness, 1.0 ); -#ifdef IOR - material.ior = ior; - #ifdef USE_SPECULAR - float specularIntensityFactor = specularIntensity; - vec3 specularColorFactor = specularColor; - #ifdef USE_SPECULAR_COLORMAP - specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; - #endif - material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); - #else - float specularIntensityFactor = 1.0; - vec3 specularColorFactor = vec3( 1.0 ); - material.specularF90 = 1.0; - #endif - material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); -#else - material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); - material.specularF90 = 1.0; -#endif -#ifdef USE_CLEARCOAT - material.clearcoat = clearcoat; - material.clearcoatRoughness = clearcoatRoughness; - material.clearcoatF0 = vec3( 0.04 ); - material.clearcoatF90 = 1.0; - #ifdef USE_CLEARCOATMAP - material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; - #endif - #ifdef USE_CLEARCOAT_ROUGHNESSMAP - material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; - #endif - material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); - material.clearcoatRoughness += geometryRoughness; - material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); -#endif -#ifdef USE_IRIDESCENCE - material.iridescence = iridescence; - material.iridescenceIOR = iridescenceIOR; - #ifdef USE_IRIDESCENCEMAP - material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; - #endif - #ifdef USE_IRIDESCENCE_THICKNESSMAP - material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; - #else - material.iridescenceThickness = iridescenceThicknessMaximum; - #endif -#endif -#ifdef USE_SHEEN - material.sheenColor = sheenColor; - #ifdef USE_SHEEN_COLORMAP - material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; - #endif - material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); - #ifdef USE_SHEEN_ROUGHNESSMAP - material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; - #endif -#endif -#ifdef USE_ANISOTROPY - #ifdef USE_ANISOTROPYMAP - mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); - vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; - vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; - #else - vec2 anisotropyV = anisotropyVector; - #endif - material.anisotropy = length( anisotropyV ); - if( material.anisotropy == 0.0 ) { - anisotropyV = vec2( 1.0, 0.0 ); - } else { - anisotropyV /= material.anisotropy; - material.anisotropy = saturate( material.anisotropy ); - } - material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); - material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; - material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,XS=`struct PhysicalMaterial { - vec3 diffuseColor; - float roughness; - vec3 specularColor; - float specularF90; - #ifdef USE_CLEARCOAT - float clearcoat; - float clearcoatRoughness; - vec3 clearcoatF0; - float clearcoatF90; - #endif - #ifdef USE_IRIDESCENCE - float iridescence; - float iridescenceIOR; - float iridescenceThickness; - vec3 iridescenceFresnel; - vec3 iridescenceF0; - #endif - #ifdef USE_SHEEN - vec3 sheenColor; - float sheenRoughness; - #endif - #ifdef IOR - float ior; - #endif - #ifdef USE_TRANSMISSION - float transmission; - float transmissionAlpha; - float thickness; - float attenuationDistance; - vec3 attenuationColor; - #endif - #ifdef USE_ANISOTROPY - float anisotropy; - float alphaT; - vec3 anisotropyT; - vec3 anisotropyB; - #endif -}; -vec3 clearcoatSpecularDirect = vec3( 0.0 ); -vec3 clearcoatSpecularIndirect = vec3( 0.0 ); -vec3 sheenSpecularDirect = vec3( 0.0 ); -vec3 sheenSpecularIndirect = vec3(0.0 ); -vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { - float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); - float x2 = x * x; - float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); - return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); -} -float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { - float a2 = pow2( alpha ); - float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); - float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); - return 0.5 / max( gv + gl, EPSILON ); -} -float D_GGX( const in float alpha, const in float dotNH ) { - float a2 = pow2( alpha ); - float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; - return RECIPROCAL_PI * a2 / pow2( denom ); -} -#ifdef USE_ANISOTROPY - float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { - float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); - float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); - float v = 0.5 / ( gv + gl ); - return saturate(v); - } - float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { - float a2 = alphaT * alphaB; - highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); - highp float v2 = dot( v, v ); - float w2 = a2 / v2; - return RECIPROCAL_PI * a2 * pow2 ( w2 ); - } -#endif -#ifdef USE_CLEARCOAT - vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { - vec3 f0 = material.clearcoatF0; - float f90 = material.clearcoatF90; - float roughness = material.clearcoatRoughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - return F * ( V * D ); - } -#endif -vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 f0 = material.specularColor; - float f90 = material.specularF90; - float roughness = material.roughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - #ifdef USE_IRIDESCENCE - F = mix( F, material.iridescenceFresnel, material.iridescence ); - #endif - #ifdef USE_ANISOTROPY - float dotTL = dot( material.anisotropyT, lightDir ); - float dotTV = dot( material.anisotropyT, viewDir ); - float dotTH = dot( material.anisotropyT, halfDir ); - float dotBL = dot( material.anisotropyB, lightDir ); - float dotBV = dot( material.anisotropyB, viewDir ); - float dotBH = dot( material.anisotropyB, halfDir ); - float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); - float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); - #else - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - #endif - return F * ( V * D ); -} -vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { - const float LUT_SIZE = 64.0; - const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; - const float LUT_BIAS = 0.5 / LUT_SIZE; - float dotNV = saturate( dot( N, V ) ); - vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); - uv = uv * LUT_SCALE + LUT_BIAS; - return uv; -} -float LTC_ClippedSphereFormFactor( const in vec3 f ) { - float l = length( f ); - return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); -} -vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { - float x = dot( v1, v2 ); - float y = abs( x ); - float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; - float b = 3.4175940 + ( 4.1616724 + y ) * y; - float v = a / b; - float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; - return cross( v1, v2 ) * theta_sintheta; -} -vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { - vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; - vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; - vec3 lightNormal = cross( v1, v2 ); - if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); - vec3 T1, T2; - T1 = normalize( V - N * dot( V, N ) ); - T2 = - cross( N, T1 ); - mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); - vec3 coords[ 4 ]; - coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); - coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); - coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); - coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); - coords[ 0 ] = normalize( coords[ 0 ] ); - coords[ 1 ] = normalize( coords[ 1 ] ); - coords[ 2 ] = normalize( coords[ 2 ] ); - coords[ 3 ] = normalize( coords[ 3 ] ); - vec3 vectorFormFactor = vec3( 0.0 ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); - float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); - return vec3( result ); -} -#if defined( USE_SHEEN ) -float D_Charlie( float roughness, float dotNH ) { - float alpha = pow2( roughness ); - float invAlpha = 1.0 / alpha; - float cos2h = dotNH * dotNH; - float sin2h = max( 1.0 - cos2h, 0.0078125 ); - return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); -} -float V_Neubelt( float dotNV, float dotNL ) { - return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); -} -vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float D = D_Charlie( sheenRoughness, dotNH ); - float V = V_Neubelt( dotNV, dotNL ); - return sheenColor * ( D * V ); -} -#endif -float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - float r2 = roughness * roughness; - float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; - float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; - float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); - return saturate( DG * RECIPROCAL_PI ); -} -vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); - const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); - vec4 r = roughness * c0 + c1; - float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; - vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; - return fab; -} -vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { - vec2 fab = DFGApprox( normal, viewDir, roughness ); - return specularColor * fab.x + specularF90 * fab.y; -} -#ifdef USE_IRIDESCENCE -void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#else -void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#endif - vec2 fab = DFGApprox( normal, viewDir, roughness ); - #ifdef USE_IRIDESCENCE - vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); - #else - vec3 Fr = specularColor; - #endif - vec3 FssEss = Fr * fab.x + specularF90 * fab.y; - float Ess = fab.x + fab.y; - float Ems = 1.0 - Ess; - vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); - singleScatter += FssEss; - multiScatter += Fms * Ems; -} -#if NUM_RECT_AREA_LIGHTS > 0 - void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 normal = geometryNormal; - vec3 viewDir = geometryViewDir; - vec3 position = geometryPosition; - vec3 lightPos = rectAreaLight.position; - vec3 halfWidth = rectAreaLight.halfWidth; - vec3 halfHeight = rectAreaLight.halfHeight; - vec3 lightColor = rectAreaLight.color; - float roughness = material.roughness; - vec3 rectCoords[ 4 ]; - rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; - rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; - rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; - vec2 uv = LTC_Uv( normal, viewDir, roughness ); - vec4 t1 = texture2D( ltc_1, uv ); - vec4 t2 = texture2D( ltc_2, uv ); - mat3 mInv = mat3( - vec3( t1.x, 0, t1.y ), - vec3( 0, 1, 0 ), - vec3( t1.z, 0, t1.w ) - ); - vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); - reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); - reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); - } -#endif -void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - #ifdef USE_CLEARCOAT - float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); - vec3 ccIrradiance = dotNLcc * directLight.color; - clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); - #endif - #ifdef USE_SHEEN - sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); - #endif - reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { - #ifdef USE_CLEARCOAT - clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); - #endif - #ifdef USE_SHEEN - sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - #endif - vec3 singleScattering = vec3( 0.0 ); - vec3 multiScattering = vec3( 0.0 ); - vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; - #ifdef USE_IRIDESCENCE - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); - #else - computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); - #endif - vec3 totalScattering = singleScattering + multiScattering; - vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); - reflectedLight.indirectSpecular += radiance * singleScattering; - reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; - reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; -} -#define RE_Direct RE_Direct_Physical -#define RE_Direct_RectArea RE_Direct_RectArea_Physical -#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical -#define RE_IndirectSpecular RE_IndirectSpecular_Physical -float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { - return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,KS=` -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`,qS=`#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`,ZS=`#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`,e_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,t_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - uniform float logDepthBufFC; - varying float vFragDepth; - varying float vIsPerspective; -#endif`,n_=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - varying float vFragDepth; - varying float vIsPerspective; - #else - uniform float logDepthBufFC; - #endif -#endif`,C_=`#ifdef USE_LOGDEPTHBUF - #ifdef USE_LOGDEPTHBUF_EXT - vFragDepth = 1.0 + gl_Position.w; - vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); - #else - if ( isPerspectiveMatrix( projectionMatrix ) ) { - gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; - gl_Position.z *= gl_Position.w; - } - #endif -#endif`,r_=`#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`,i_=`#ifdef USE_MAP - uniform sampler2D map; -#endif`,o_=`#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`,s_=`#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`,l_=`float metalnessFactor = metalness; -#ifdef USE_METALNESSMAP - vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); - metalnessFactor *= texelMetalness.b; -#endif`,a_=`#ifdef USE_METALNESSMAP - uniform sampler2D metalnessMap; -#endif`,c_=`#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`,u_=`#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`,d_=`#ifdef USE_MORPHTARGETS - uniform float morphTargetBaseInfluence; - #ifdef MORPHTARGETS_TEXTURE - uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - 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`,h_=`#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`,f_=`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;`,g_=`#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`,A_=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,p_=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,L_=`#ifndef FLAT_SHADED - vNormal = normalize( transformedNormal ); - #ifdef USE_TANGENT - vTangent = normalize( transformedTangent ); - vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); - #endif -#endif`,v_=`#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`,w_=`#ifdef USE_CLEARCOAT - vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,x_=`#ifdef USE_CLEARCOAT_NORMALMAP - vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; - clearcoatMapN.xy *= clearcoatNormalScale; - clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,m_=`#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`,k_=`#ifdef USE_IRIDESCENCEMAP - uniform sampler2D iridescenceMap; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform sampler2D iridescenceThicknessMap; -#endif`,M_=`#ifdef OPAQUE -diffuseColor.a = 1.0; -#endif -#ifdef USE_TRANSMISSION -diffuseColor.a *= material.transmissionAlpha; -#endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,E_=`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 ); -}`,y_=`#ifdef PREMULTIPLIED_ALPHA - gl_FragColor.rgb *= gl_FragColor.a; -#endif`,B_=`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;`,I_=`#ifdef DITHERING - gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,S_=`#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`,__=`float roughnessFactor = roughness; -#ifdef USE_ROUGHNESSMAP - vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); - roughnessFactor *= texelRoughness.g; -#endif`,Q_=`#ifdef USE_ROUGHNESSMAP - uniform sampler2D roughnessMap; -#endif`,R_=`#if NUM_SPOT_LIGHT_COORDS > 0 - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#if NUM_SPOT_LIGHT_MAPS > 0 - uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - struct SpotLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { - return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); - } - vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { - return unpackRGBATo2Half( texture2D( shadow, uv ) ); - } - float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ - float occlusion = 1.0; - vec2 distribution = texture2DDistribution( shadow, uv ); - float hard_shadow = step( compare , distribution.x ); - if (hard_shadow != 1.0 ) { - float distance = compare - distribution.x ; - float variance = max( 0.00000, distribution.y * distribution.y ); - float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); - } - return occlusion; - } - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - #if defined( SHADOWMAP_TYPE_PCF ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx0 = - texelSize.x * shadowRadius; - float dy0 = - texelSize.y * shadowRadius; - float dx1 = + texelSize.x * shadowRadius; - float dy1 = + texelSize.y * shadowRadius; - float dx2 = dx0 / 2.0; - float dy2 = dy0 / 2.0; - float dx3 = dx1 / 2.0; - float dy3 = dy1 / 2.0; - shadow = ( - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) - ) * ( 1.0 / 17.0 ); - #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx = texelSize.x; - float dy = texelSize.y; - vec2 uv = shadowCoord.xy; - vec2 f = fract( uv * shadowMapSize + 0.5 ); - uv -= f * texelSize; - shadow = ( - texture2DCompare( shadowMap, uv, shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), - f.x ), - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), - f.x ), - f.y ) - ) * ( 1.0 / 9.0 ); - #elif defined( SHADOWMAP_TYPE_VSM ) - shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); - #else - shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); - #endif - } - return shadow; - } - vec2 cubeToUV( vec3 v, float texelSizeY ) { - vec3 absV = abs( v ); - float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); - absV *= scaleToCube; - v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); - vec2 planar = v.xy; - float almostATexel = 1.5 * texelSizeY; - float almostOne = 1.0 - almostATexel; - if ( absV.z >= almostOne ) { - if ( v.z > 0.0 ) - planar.x = 4.0 - v.x; - } else if ( absV.x >= almostOne ) { - float signX = sign( v.x ); - planar.x = v.z * signX + 2.0 * signX; - } else if ( absV.y >= almostOne ) { - float signY = sign( v.y ); - planar.x = v.x + 2.0 * signY + 2.0; - planar.y = v.z * signY - 2.0; - } - return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); - } - float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); - vec3 lightToPosition = shadowCoord.xyz; - float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; - vec3 bd3D = normalize( lightToPosition ); - #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) - vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; - return ( - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) - ) * ( 1.0 / 9.0 ); - #else - return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); - #endif - } -#endif`,b_=`#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`,D_=`#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`,T_=`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; -}`,H_=`#ifdef USE_SKINNING - mat4 boneMatX = getBoneMatrix( skinIndex.x ); - mat4 boneMatY = getBoneMatrix( skinIndex.y ); - mat4 boneMatZ = getBoneMatrix( skinIndex.z ); - mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,P_=`#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`,N_=`#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`,j_=`#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`,U_=`float specularStrength; -#ifdef USE_SPECULARMAP - vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); - specularStrength = texelSpecular.r; -#else - specularStrength = 1.0; -#endif`,F_=`#ifdef USE_SPECULARMAP - uniform sampler2D specularMap; -#endif`,W_=`#if defined( TONE_MAPPING ) - gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,O_=`#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 CustomToneMapping( vec3 color ) { return color; }`,G_=`#ifdef USE_TRANSMISSION - material.transmission = transmission; - material.transmissionAlpha = 1.0; - material.thickness = thickness; - material.attenuationDistance = attenuationDistance; - material.attenuationColor = attenuationColor; - #ifdef USE_TRANSMISSIONMAP - material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; - #endif - #ifdef USE_THICKNESSMAP - material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; - #endif - vec3 pos = vWorldPosition; - vec3 v = normalize( cameraPosition - pos ); - vec3 n = inverseTransformDirection( normal, viewMatrix ); - vec4 transmitted = getIBLVolumeRefraction( - n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, - pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, - material.attenuationColor, material.attenuationDistance ); - material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); - totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,z_=`#ifdef USE_TRANSMISSION - uniform float transmission; - uniform float thickness; - uniform float attenuationDistance; - uniform vec3 attenuationColor; - #ifdef USE_TRANSMISSIONMAP - uniform sampler2D transmissionMap; - #endif - #ifdef USE_THICKNESSMAP - uniform sampler2D thicknessMap; - #endif - uniform vec2 transmissionSamplerSize; - uniform sampler2D transmissionSamplerMap; - uniform mat4 modelMatrix; - uniform mat4 projectionMatrix; - varying vec3 vWorldPosition; - float w0( float a ) { - return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); - } - float w1( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); - } - float w2( float a ){ - return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); - } - float w3( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * a ); - } - float g0( float a ) { - return w0( a ) + w1( a ); - } - float g1( float a ) { - return w2( a ) + w3( a ); - } - float h0( float a ) { - return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); - } - float h1( float a ) { - return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); - } - vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { - uv = uv * texelSize.zw + 0.5; - vec2 iuv = floor( uv ); - vec2 fuv = fract( uv ); - float g0x = g0( fuv.x ); - float g1x = g1( fuv.x ); - float h0x = h0( fuv.x ); - float h1x = h1( fuv.x ); - float h0y = h0( fuv.y ); - float h1y = h1( fuv.y ); - vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + - g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); - } - vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { - vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); - vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); - vec2 fLodSizeInv = 1.0 / fLodSize; - vec2 cLodSizeInv = 1.0 / cLodSize; - vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); - vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); - return mix( fSample, cSample, fract( lod ) ); - } - vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { - vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); - vec3 modelScale; - modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); - modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); - modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); - return normalize( refractionVector ) * thickness * modelScale; - } - float applyIorToRoughness( const in float roughness, const in float ior ) { - return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); - } - vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { - float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); - return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); - } - vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { - if ( isinf( attenuationDistance ) ) { - return vec3( 1.0 ); - } else { - vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; - vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; - } - } - vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, - const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, - const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, - const in vec3 attenuationColor, const in float attenuationDistance ) { - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); - vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); - vec3 attenuatedColor = transmittance * transmittedLight.rgb; - vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); - float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; - return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); - } -#endif`,V_=`#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`,$_=`#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`,Y_=`#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`,J_=`#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 X_=`varying vec2 vUv; -uniform mat3 uvTransform; -void main() { - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,K_=`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 -}`,q_=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,Z_=`#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; -varying vec3 vWorldDirection; -#include -void main() { - #ifdef ENVMAP_TYPE_CUBE - vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); - #elif defined( ENVMAP_TYPE_CUBE_UV ) - vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); - #else - vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,eQ=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,tQ=`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 -}`,nQ=`#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vHighPrecisionZW = gl_Position.zw; -}`,CQ=`#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 -}`,rQ=`#define DISTANCE -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vWorldPosition = worldPosition.xyz; -}`,iQ=`#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 ); -}`,oQ=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include -}`,sQ=`uniform sampler2D tEquirect; -varying vec3 vWorldDirection; -#include -void main() { - vec3 direction = normalize( vWorldDirection ); - vec2 sampleUV = equirectUv( direction ); - gl_FragColor = texture2D( tEquirect, sampleUV ); - #include - #include -}`,lQ=`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 -}`,aQ=`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 -}`,cQ=`#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #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 -}`,uQ=`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 -}`,dQ=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,hQ=`#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 -}`,fQ=`#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 - vViewPosition = - mvPosition.xyz; -}`,gQ=`#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 -}`,AQ=`#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 -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - vViewPosition = - mvPosition.xyz; -#endif -}`,pQ=`#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 -}`,LQ=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,vQ=`#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 -}`,wQ=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include -#ifdef USE_TRANSMISSION - vWorldPosition = worldPosition.xyz; -#endif -}`,xQ=`#define STANDARD -#ifdef PHYSICAL - #define IOR - #define USE_SPECULAR -#endif -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float roughness; -uniform float metalness; -uniform float opacity; -#ifdef IOR - uniform float ior; -#endif -#ifdef USE_SPECULAR - uniform float specularIntensity; - uniform vec3 specularColor; - #ifdef USE_SPECULAR_COLORMAP - uniform sampler2D specularColorMap; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - uniform sampler2D specularIntensityMap; - #endif -#endif -#ifdef USE_CLEARCOAT - uniform float clearcoat; - uniform float clearcoatRoughness; -#endif -#ifdef USE_IRIDESCENCE - uniform float iridescence; - uniform float iridescenceIOR; - uniform float iridescenceThicknessMinimum; - uniform float iridescenceThicknessMaximum; -#endif -#ifdef USE_SHEEN - uniform vec3 sheenColor; - uniform float sheenRoughness; - #ifdef USE_SHEEN_COLORMAP - uniform sampler2D sheenColorMap; - #endif - #ifdef USE_SHEEN_ROUGHNESSMAP - uniform sampler2D sheenRoughnessMap; - #endif -#endif -#ifdef USE_ANISOTROPY - uniform vec2 anisotropyVector; - #ifdef USE_ANISOTROPYMAP - uniform sampler2D anisotropyMap; - #endif -#endif -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; - #include - vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; - #ifdef USE_SHEEN - float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); - outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; - #endif - #ifdef USE_CLEARCOAT - float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); - vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); - outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; - #endif - #include - #include - #include - #include - #include - #include -}`,mQ=`#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 - vViewPosition = - mvPosition.xyz; - #include - #include - #include -}`,kQ=`#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 -}`,MQ=`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 - gl_PointSize = size; - #ifdef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); - #endif - #include - #include - #include - #include -}`,EQ=`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 -}`,yQ=`#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,BQ=`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 -}`,IQ=`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 -}`,SQ=`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 -}`,D0={alphahash_fragment:KI,alphahash_pars_fragment:qI,alphamap_fragment:ZI,alphamap_pars_fragment:eS,alphatest_fragment:tS,alphatest_pars_fragment:nS,aomap_fragment:CS,aomap_pars_fragment:rS,batching_pars_vertex:iS,batching_vertex:oS,begin_vertex:sS,beginnormal_vertex:lS,bsdfs:aS,iridescence_fragment:cS,bumpmap_pars_fragment:uS,clipping_planes_fragment:dS,clipping_planes_pars_fragment:hS,clipping_planes_pars_vertex:fS,clipping_planes_vertex:gS,color_fragment:AS,color_pars_fragment:pS,color_pars_vertex:LS,color_vertex:vS,common:wS,cube_uv_reflection_fragment:xS,defaultnormal_vertex:mS,displacementmap_pars_vertex:kS,displacementmap_vertex:MS,emissivemap_fragment:ES,emissivemap_pars_fragment:yS,colorspace_fragment:BS,colorspace_pars_fragment:IS,envmap_fragment:SS,envmap_common_pars_fragment:_S,envmap_pars_fragment:QS,envmap_pars_vertex:RS,envmap_physical_pars_fragment:GS,envmap_vertex:bS,fog_vertex:DS,fog_pars_vertex:TS,fog_fragment:HS,fog_pars_fragment:PS,gradientmap_pars_fragment:NS,lightmap_fragment:jS,lightmap_pars_fragment:US,lights_lambert_fragment:FS,lights_lambert_pars_fragment:WS,lights_pars_begin:OS,lights_toon_fragment:zS,lights_toon_pars_fragment:VS,lights_phong_fragment:$S,lights_phong_pars_fragment:YS,lights_physical_fragment:JS,lights_physical_pars_fragment:XS,lights_fragment_begin:KS,lights_fragment_maps:qS,lights_fragment_end:ZS,logdepthbuf_fragment:e_,logdepthbuf_pars_fragment:t_,logdepthbuf_pars_vertex:n_,logdepthbuf_vertex:C_,map_fragment:r_,map_pars_fragment:i_,map_particle_fragment:o_,map_particle_pars_fragment:s_,metalnessmap_fragment:l_,metalnessmap_pars_fragment:a_,morphcolor_vertex:c_,morphnormal_vertex:u_,morphtarget_pars_vertex:d_,morphtarget_vertex:h_,normal_fragment_begin:f_,normal_fragment_maps:g_,normal_pars_fragment:A_,normal_pars_vertex:p_,normal_vertex:L_,normalmap_pars_fragment:v_,clearcoat_normal_fragment_begin:w_,clearcoat_normal_fragment_maps:x_,clearcoat_pars_fragment:m_,iridescence_pars_fragment:k_,opaque_fragment:M_,packing:E_,premultiplied_alpha_fragment:y_,project_vertex:B_,dithering_fragment:I_,dithering_pars_fragment:S_,roughnessmap_fragment:__,roughnessmap_pars_fragment:Q_,shadowmap_pars_fragment:R_,shadowmap_pars_vertex:b_,shadowmap_vertex:D_,shadowmask_pars_fragment:T_,skinbase_vertex:H_,skinning_pars_vertex:P_,skinning_vertex:N_,skinnormal_vertex:j_,specularmap_fragment:U_,specularmap_pars_fragment:F_,tonemapping_fragment:W_,tonemapping_pars_fragment:O_,transmission_fragment:G_,transmission_pars_fragment:z_,uv_pars_fragment:V_,uv_pars_vertex:$_,uv_vertex:Y_,worldpos_vertex:J_,background_vert:X_,background_frag:K_,backgroundCube_vert:q_,backgroundCube_frag:Z_,cube_vert:eQ,cube_frag:tQ,depth_vert:nQ,depth_frag:CQ,distanceRGBA_vert:rQ,distanceRGBA_frag:iQ,equirect_vert:oQ,equirect_frag:sQ,linedashed_vert:lQ,linedashed_frag:aQ,meshbasic_vert:cQ,meshbasic_frag:uQ,meshlambert_vert:dQ,meshlambert_frag:hQ,meshmatcap_vert:fQ,meshmatcap_frag:gQ,meshnormal_vert:AQ,meshnormal_frag:pQ,meshphong_vert:LQ,meshphong_frag:vQ,meshphysical_vert:wQ,meshphysical_frag:xQ,meshtoon_vert:mQ,meshtoon_frag:kQ,points_vert:MQ,points_frag:EQ,shadow_vert:yQ,shadow_frag:BQ,sprite_vert:IQ,sprite_frag:SQ},$1={common:{diffuse:{value:new Z1(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new B0},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new B0}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new B0}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new B0}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new B0},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new B0},normalScale:{value:new M1(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new B0},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new B0}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new B0}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new B0}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Z1(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 Z1(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0},uvTransform:{value:new B0}},sprite:{diffuse:{value:new Z1(16777215)},opacity:{value:1},center:{value:new M1(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new B0},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0}}},z8={basic:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.fog]),vertexShader:D0.meshbasic_vert,fragmentShader:D0.meshbasic_frag},lambert:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)}}]),vertexShader:D0.meshlambert_vert,fragmentShader:D0.meshlambert_frag},phong:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)},specular:{value:new Z1(1118481)},shininess:{value:30}}]),vertexShader:D0.meshphong_vert,fragmentShader:D0.meshphong_frag},standard:{uniforms:Q9([$1.common,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.roughnessmap,$1.metalnessmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:D0.meshphysical_vert,fragmentShader:D0.meshphysical_frag},toon:{uniforms:Q9([$1.common,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.gradientmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)}}]),vertexShader:D0.meshtoon_vert,fragmentShader:D0.meshtoon_frag},matcap:{uniforms:Q9([$1.common,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,{matcap:{value:null}}]),vertexShader:D0.meshmatcap_vert,fragmentShader:D0.meshmatcap_frag},points:{uniforms:Q9([$1.points,$1.fog]),vertexShader:D0.points_vert,fragmentShader:D0.points_frag},dashed:{uniforms:Q9([$1.common,$1.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:D0.linedashed_vert,fragmentShader:D0.linedashed_frag},depth:{uniforms:Q9([$1.common,$1.displacementmap]),vertexShader:D0.depth_vert,fragmentShader:D0.depth_frag},normal:{uniforms:Q9([$1.common,$1.bumpmap,$1.normalmap,$1.displacementmap,{opacity:{value:1}}]),vertexShader:D0.meshnormal_vert,fragmentShader:D0.meshnormal_frag},sprite:{uniforms:Q9([$1.sprite,$1.fog]),vertexShader:D0.sprite_vert,fragmentShader:D0.sprite_frag},background:{uniforms:{uvTransform:{value:new B0},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:D0.background_vert,fragmentShader:D0.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:D0.backgroundCube_vert,fragmentShader:D0.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:D0.cube_vert,fragmentShader:D0.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:D0.equirect_vert,fragmentShader:D0.equirect_frag},distanceRGBA:{uniforms:Q9([$1.common,$1.displacementmap,{referencePosition:{value:new G},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:D0.distanceRGBA_vert,fragmentShader:D0.distanceRGBA_frag},shadow:{uniforms:Q9([$1.lights,$1.fog,{color:{value:new Z1(0)},opacity:{value:1}}]),vertexShader:D0.shadow_vert,fragmentShader:D0.shadow_frag}};z8.physical={uniforms:Q9([z8.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new B0},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new B0},clearcoatNormalScale:{value:new M1(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new B0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new B0},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new B0},sheen:{value:0},sheenColor:{value:new Z1(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new B0},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new B0},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new B0},transmissionSamplerSize:{value:new M1},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new B0},attenuationDistance:{value:0},attenuationColor:{value:new Z1(0)},specularColor:{value:new Z1(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new B0},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new B0},anisotropyVector:{value:new M1},anisotropyMap:{value:null},anisotropyMapTransform:{value:new B0}}]),vertexShader:D0.meshphysical_vert,fragmentShader:D0.meshphysical_frag};const ar={r:0,b:0,g:0};function _Q(t,e,n,C,r,i,o){const s=new Z1(0);let l=i===!0?0:1,d,g,A=null,p=0,v=null;function x(m,L){let M=!1,k=L.isScene===!0?L.background:null;k&&k.isTexture&&(k=(L.backgroundBlurriness>0?n:e).get(k)),k===null?E(s,l):k&&k.isColor&&(E(k,1),M=!0);const I=t.xr.getEnvironmentBlendMode();I==="additive"?C.buffers.color.setClear(0,0,0,1,o):I==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,o),(t.autoClear||M)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),k&&(k.isCubeTexture||k.mapping===le)?(g===void 0&&(g=new i2(new E3(1,1,1),new X8({name:"BackgroundCubeMaterial",uniforms:Ce(z8.backgroundCube.uniforms),vertexShader:z8.backgroundCube.vertexShader,fragmentShader:z8.backgroundCube.fragmentShader,side:H9,depthTest:!1,depthWrite:!1,fog:!1})),g.geometry.deleteAttribute("normal"),g.geometry.deleteAttribute("uv"),g.onBeforeRender=function(b,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(g.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(g)),g.material.uniforms.envMap.value=k,g.material.uniforms.flipEnvMap.value=k.isCubeTexture&&k.isRenderTargetTexture===!1?-1:1,g.material.uniforms.backgroundBlurriness.value=L.backgroundBlurriness,g.material.uniforms.backgroundIntensity.value=L.backgroundIntensity,g.material.toneMapped=C2.getTransfer(k.colorSpace)!==c2,(A!==k||p!==k.version||v!==t.toneMapping)&&(g.material.needsUpdate=!0,A=k,p=k.version,v=t.toneMapping),g.layers.enableAll(),m.unshift(g,g.geometry,g.material,0,0,null)):k&&k.isTexture&&(d===void 0&&(d=new i2(new h5(2,2),new X8({name:"BackgroundMaterial",uniforms:Ce(z8.background.uniforms),vertexShader:z8.background.vertexShader,fragmentShader:z8.background.fragmentShader,side:Q8,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(d)),d.material.uniforms.t2D.value=k,d.material.uniforms.backgroundIntensity.value=L.backgroundIntensity,d.material.toneMapped=C2.getTransfer(k.colorSpace)!==c2,k.matrixAutoUpdate===!0&&k.updateMatrix(),d.material.uniforms.uvTransform.value.copy(k.matrix),(A!==k||p!==k.version||v!==t.toneMapping)&&(d.material.needsUpdate=!0,A=k,p=k.version,v=t.toneMapping),d.layers.enableAll(),m.unshift(d,d.geometry,d.material,0,0,null))}function E(m,L){m.getRGB(ar,Xx(t)),C.buffers.color.setClear(ar.r,ar.g,ar.b,L,o)}return{getClearColor:function(){return s},setClearColor:function(m,L=1){s.set(m),l=L,E(s,l)},getClearAlpha:function(){return l},setClearAlpha:function(m){l=m,E(s,l)},render:x}}function QQ(t,e,n,C){const r=t.getParameter(t.MAX_VERTEX_ATTRIBS),i=C.isWebGL2?null:e.get("OES_vertex_array_object"),o=C.isWebGL2||i!==null,s={},l=m(null);let d=l,g=!1;function A(J,a1,o1,g1,F){let e1=!1;if(o){const C1=E(g1,o1,a1);d!==C1&&(d=C1,v(d.object)),e1=L(J,g1,o1,F),e1&&M(J,g1,o1,F)}else{const C1=a1.wireframe===!0;(d.geometry!==g1.id||d.program!==o1.id||d.wireframe!==C1)&&(d.geometry=g1.id,d.program=o1.id,d.wireframe=C1,e1=!0)}F!==null&&n.update(F,t.ELEMENT_ARRAY_BUFFER),(e1||g)&&(g=!1,U(J,a1,o1,g1),F!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(F).buffer))}function p(){return C.isWebGL2?t.createVertexArray():i.createVertexArrayOES()}function v(J){return C.isWebGL2?t.bindVertexArray(J):i.bindVertexArrayOES(J)}function x(J){return C.isWebGL2?t.deleteVertexArray(J):i.deleteVertexArrayOES(J)}function E(J,a1,o1){const g1=o1.wireframe===!0;let F=s[J.id];F===void 0&&(F={},s[J.id]=F);let e1=F[a1.id];e1===void 0&&(e1={},F[a1.id]=e1);let C1=e1[g1];return C1===void 0&&(C1=m(p()),e1[g1]=C1),C1}function m(J){const a1=[],o1=[],g1=[];for(let F=0;F=0){const $=F[I1];let z=e1[I1];if(z===void 0&&(I1==="instanceMatrix"&&J.instanceMatrix&&(z=J.instanceMatrix),I1==="instanceColor"&&J.instanceColor&&(z=J.instanceColor)),$===void 0||$.attribute!==z||z&&$.data!==z.data)return!0;C1++}return d.attributesNum!==C1||d.index!==g1}function M(J,a1,o1,g1){const F={},e1=a1.attributes;let C1=0;const d1=o1.getAttributes();for(const I1 in d1)if(d1[I1].location>=0){let $=e1[I1];$===void 0&&(I1==="instanceMatrix"&&J.instanceMatrix&&($=J.instanceMatrix),I1==="instanceColor"&&J.instanceColor&&($=J.instanceColor));const z={};z.attribute=$,$&&$.data&&(z.data=$.data),F[I1]=z,C1++}d.attributes=F,d.attributesNum=C1,d.index=g1}function k(){const J=d.newAttributes;for(let a1=0,o1=J.length;a1=0){let j1=F[d1];if(j1===void 0&&(d1==="instanceMatrix"&&J.instanceMatrix&&(j1=J.instanceMatrix),d1==="instanceColor"&&J.instanceColor&&(j1=J.instanceColor)),j1!==void 0){const $=j1.normalized,z=j1.itemSize,W=n.get(j1);if(W===void 0)continue;const N=W.buffer,v1=W.type,k1=W.bytesPerElement,A1=C.isWebGL2===!0&&(v1===t.INT||v1===t.UNSIGNED_INT||j1.gpuType===Ed);if(j1.isInterleavedBufferAttribute){const y1=j1.data,O=y1.stride,L1=j1.offset;if(y1.isInstancedInterleavedBuffer){for(let n1=0;n10&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let s=n.precision!==void 0?n.precision:"highp";const l=i(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);const d=o||e.has("WEBGL_draw_buffers"),g=n.logarithmicDepthBuffer===!0,A=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),p=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),v=t.getParameter(t.MAX_TEXTURE_SIZE),x=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),E=t.getParameter(t.MAX_VERTEX_ATTRIBS),m=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),L=t.getParameter(t.MAX_VARYING_VECTORS),M=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),k=p>0,I=o||e.has("OES_texture_float"),b=k&&I,R=o?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:d,getMaxAnisotropy:r,getMaxPrecision:i,precision:s,logarithmicDepthBuffer:g,maxTextures:A,maxVertexTextures:p,maxTextureSize:v,maxCubemapSize:x,maxAttributes:E,maxVertexUniforms:m,maxVaryings:L,maxFragmentUniforms:M,vertexTextures:k,floatFragmentTextures:I,floatVertexTextures:b,maxSamples:R}}function DQ(t){const e=this;let n=null,C=0,r=!1,i=!1;const o=new l2,s=new B0,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(A,p){const v=A.length!==0||p||C!==0||r;return r=p,C=A.length,v},this.beginShadows=function(){i=!0,g(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(A,p){n=g(A,p,0)},this.setState=function(A,p,v){const x=A.clippingPlanes,E=A.clipIntersection,m=A.clipShadows,L=t.get(A);if(!r||x===null||x.length===0||i&&!m)i?g(null):d();else{const M=i?0:C,k=M*4;let I=L.clippingState||null;l.value=I,I=g(x,p,k,v);for(let b=0;b!==k;++b)I[b]=n[b];L.clippingState=I,this.numIntersection=E?this.numPlanes:0,this.numPlanes+=M}};function d(){l.value!==n&&(l.value=n,l.needsUpdate=C>0),e.numPlanes=C,e.numIntersection=0}function g(A,p,v,x){const E=A!==null?A.length:0;let m=null;if(E!==0){if(m=l.value,x!==!0||m===null){const L=v+E*4,M=p.matrixWorldInverse;s.getNormalMatrix(M),(m===null||m.length0){const d=new Zx(l.height);return d.fromEquirectangularTexture(t,o),e.set(o,d),o.addEventListener("dispose",r),n(d.texture,o.mapping)}else return null}}return o}function r(o){const s=o.target;s.removeEventListener("dispose",r);const l=e.get(s);l!==void 0&&(e.delete(s),l.dispose())}function i(){e=new WeakMap}return{get:C,dispose:i}}class ue extends En{constructor(e=-1,n=1,C=1,r=-1,i=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=C,this.bottom=r,this.near=i,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),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,n,C,r,i,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=n,this.view.offsetX=C,this.view.offsetY=r,this.view.width=i,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),n=(this.top-this.bottom)/(2*this.zoom),C=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let i=C-e,o=C+e,s=r+n,l=r-n;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,g=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=d*this.view.offsetX,o=i+d*this.view.width,s-=g*this.view.offsetY,l=s-g*this.view.height}this.projectionMatrix.makeOrthographic(i,o,s,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const N7=4,SA=[.125,.215,.35,.446,.526,.582],J5=20,Vl=new ue,_A=new Z1;let $l=null,Yl=0,Jl=0;const $5=(1+Math.sqrt(5))/2,a7=1/$5,QA=[new G(1,1,1),new G(-1,1,1),new G(1,1,-1),new G(-1,1,-1),new G(0,$5,a7),new G(0,$5,-a7),new G(a7,0,$5),new G(-a7,0,$5),new G($5,a7,0),new G(-$5,a7,0)];class cu{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,n=0,C=.1,r=100){$l=this._renderer.getRenderTarget(),Yl=this._renderer.getActiveCubeFace(),Jl=this._renderer.getActiveMipmapLevel(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,C,r,i),n>0&&this._blur(i,0,0,n),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=DA(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=bA(),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?k:0,k,k),g.setRenderTarget(r),E&&g.render(x,s),g.render(e,s)}x.geometry.dispose(),x.material.dispose(),g.toneMapping=p,g.autoClear=A,e.background=m}_textureToCubeUV(e,n){const C=this._renderer,r=e.mapping===t6||e.mapping===s5;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=DA()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=bA());const i=r?this._cubemapMaterial:this._equirectMaterial,o=new i2(this._lodPlanes[0],i),s=i.uniforms;s.envMap.value=e;const l=this._cubeSize;cr(n,0,0,3*l,2*l),C.setRenderTarget(n),C.render(o,Vl)}_applyPMREM(e){const n=this._renderer,C=n.autoClear;n.autoClear=!1;for(let r=1;rJ5&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${J5}`);const L=[];let M=0;for(let D=0;Dk-N7?r-k+N7:0),R=4*(this._cubeSize-I);cr(n,b,R,3*I,2*I),l.setRenderTarget(n),l.render(A,Vl)}}function HQ(t){const e=[],n=[],C=[];let r=t;const i=t-N7+1+SA.length;for(let o=0;ot-N7?l=SA[o-t+N7-1]:o===0&&(l=0),C.push(l);const d=1/(s-2),g=-d,A=1+d,p=[g,g,A,g,A,A,g,g,A,A,g,A],v=6,x=6,E=3,m=2,L=1,M=new Float32Array(E*x*v),k=new Float32Array(m*x*v),I=new Float32Array(L*x*v);for(let R=0;R2?0:-1,X=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];M.set(X,E*x*R),k.set(p,m*x*R);const _=[R,R,R,R,R,R];I.set(_,L*x*R)}const b=new R0;b.setAttribute("position",new t2(M,E)),b.setAttribute("uv",new t2(k,m)),b.setAttribute("faceIndex",new t2(I,L)),e.push(b),r>N7&&r--}return{lodPlanes:e,sizeLods:n,sigmas:C}}function RA(t,e,n){const C=new R8(t,e,n);return C.texture.mapping=le,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function cr(t,e,n,C,r){t.viewport.set(e,n,C,r),t.scissor.set(e,n,C,r)}function PQ(t,e,n){const C=new Float32Array(J5),r=new G(0,1,0);return new X8({name:"SphericalGaussianBlur",defines:{n:J5,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:C},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function bA(){return new X8({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function DA(){return new X8({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function Fd(){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 NQ(t){let e=new WeakMap,n=null;function C(s){if(s&&s.isTexture){const l=s.mapping,d=l===$t||l===Yt,g=l===t6||l===s5;if(d||g)if(s.isRenderTargetTexture&&s.needsPMREMUpdate===!0){s.needsPMREMUpdate=!1;let A=e.get(s);return n===null&&(n=new cu(t)),A=d?n.fromEquirectangular(s,A):n.fromCubemap(s,A),e.set(s,A),A.texture}else{if(e.has(s))return e.get(s).texture;{const A=s.image;if(d&&A&&A.height>0||g&&A&&r(A)){n===null&&(n=new cu(t));const p=d?n.fromEquirectangular(s):n.fromCubemap(s);return e.set(s,p),s.addEventListener("dispose",i),p.texture}else return null}}}return s}function r(s){let l=0;const d=6;for(let g=0;ge.maxTextureSize&&(_=Math.ceil(X/e.maxTextureSize),X=e.maxTextureSize);const P=new Float32Array(X*_*4*x),Z=new vo(P,X,_,x);Z.type=y8,Z.needsUpdate=!0;const f1=U*4;for(let a1=0;a10)return t;const r=e*n;let i=TA[r];if(i===void 0&&(i=new Float32Array(r),TA[r]=i),e!==0){C.toArray(i,0);for(let o=1,s=0;o!==e;++o)s+=n,t[o].toArray(i,s)}return i}function $2(t,e){if(t.length!==e.length)return!1;for(let n=0,C=t.length;n":" "} ${s}: ${n[o]}`)}return C.join(` -`)}function UR(t){const e=C2.getPrimaries(C2.workingColorSpace),n=C2.getPrimaries(t);let C;switch(e===n?C="":e===nn&&n===tn?C="LinearDisplayP3ToLinearSRGB":e===tn&&n===nn&&(C="LinearSRGBToLinearDisplayP3"),t){case m4:case Mn:return[C,"LinearTransferOETF"];case Q2:case Lo:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[C,"LinearTransferOETF"]}}function WA(t,e,n){const C=t.getShaderParameter(e,t.COMPILE_STATUS),r=t.getShaderInfoLog(e).trim();if(C&&r==="")return"";const i=/ERROR: 0:(\d+)/.exec(r);if(i){const o=parseInt(i[1]);return n.toUpperCase()+` - -`+r+` - -`+jR(t.getShaderSource(e),o)}else return r}function FR(t,e){const n=UR(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function WR(t,e){let n;switch(e){case wx:n="Linear";break;case xx:n="Reinhard";break;case mx:n="OptimizedCineon";break;case Md:n="ACESFilmic";break;case Mx:n="AgX";break;case kx:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function OR(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||t.alphaToCoverage||t.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(j7).join(` -`)}function GR(t){return[t.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",t.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(j7).join(` -`)}function zR(t){const e=[];for(const n in t){const C=t[n];C!==!1&&e.push("#define "+n+" "+C)}return e.join(` -`)}function VR(t,e){const n={},C=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function uu(t){return t.replace($R,JR)}const YR=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function JR(t,e){let n=D0[e];if(n===void 0){const C=YR.get(e);if(C!==void 0)n=D0[C],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,C);else throw new Error("Can not resolve #include <"+e+">")}return uu(n)}const XR=/#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 zA(t){return t.replace(XR,KR)}function KR(t,e,n,C){let r="";for(let i=parseInt(e);i0&&(L+=` -`),M=[v,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E].filter(j7).join(` -`),M.length>0&&(M+=` -`)):(L=[VA(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",n.batching?"#define USE_BATCHING":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+g:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&n.flatShading===!1?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(j7).join(` -`),M=[v,VA(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+g:"",n.envMap?"#define "+A:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==w4?"#define TONE_MAPPING":"",n.toneMapping!==w4?D0.tonemapping_pars_fragment:"",n.toneMapping!==w4?WR("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",D0.colorspace_pars_fragment,FR("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` -`].filter(j7).join(` -`)),o=uu(o),o=OA(o,n),o=GA(o,n),s=uu(s),s=OA(s,n),s=GA(s,n),o=zA(o),s=zA(s),n.isWebGL2&&n.isRawShaderMaterial!==!0&&(k=`#version 300 es -`,L=[x,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+L,M=["precision mediump sampler2DArray;","#define varying in",n.glslVersion===lu?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===lu?"":"#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(` -`)+` -`+M);const I=k+L+o,b=k+M+s,R=FA(r,r.VERTEX_SHADER,I),D=FA(r,r.FRAGMENT_SHADER,b);r.attachShader(m,R),r.attachShader(m,D),n.index0AttributeName!==void 0?r.bindAttribLocation(m,0,n.index0AttributeName):n.morphTargets===!0&&r.bindAttribLocation(m,0,"position"),r.linkProgram(m);function U(Z){if(t.debug.checkShaderErrors){const f1=r.getProgramInfoLog(m).trim(),J=r.getShaderInfoLog(R).trim(),a1=r.getShaderInfoLog(D).trim();let o1=!0,g1=!0;if(r.getProgramParameter(m,r.LINK_STATUS)===!1)if(o1=!1,typeof t.debug.onShaderError=="function")t.debug.onShaderError(r,m,R,D);else{const F=WA(r,R,"vertex"),e1=WA(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(m,r.VALIDATE_STATUS)+` - -Material Name: `+Z.name+` -Material Type: `+Z.type+` - -Program Info Log: `+f1+` -`+F+` -`+e1)}else f1!==""?console.warn("THREE.WebGLProgram: Program Info Log:",f1):(J===""||a1==="")&&(g1=!1);g1&&(Z.diagnostics={runnable:o1,programLog:f1,vertexShader:{log:J,prefix:L},fragmentShader:{log:a1,prefix:M}})}r.deleteShader(R),r.deleteShader(D),X=new hi(r,m),_=VR(r,m)}let X;this.getUniforms=function(){return X===void 0&&U(this),X};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let P=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(m,PR)),P},this.destroy=function(){C.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=NR++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=R,this.fragmentShader=D,this}let rb=0;class ib{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,C=e.fragmentShader,r=this._getShaderStage(n),i=this._getShaderStage(C),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(i)===!1&&(o.add(i),i.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const C of n)C.usedTimes--,C.usedTimes===0&&this.shaderCache.delete(C.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 n=this.materialCache;let C=n.get(e);return C===void 0&&(C=new Set,n.set(e,C)),C}_getShaderStage(e){const n=this.shaderCache;let C=n.get(e);return C===void 0&&(C=new ob(e),n.set(e,C)),C}}class ob{constructor(e){this.id=rb++,this.code=e,this.usedTimes=0}}function sb(t,e,n,C,r,i,o){const s=new c3,l=new ib,d=new Set,g=[],A=r.isWebGL2,p=r.logarithmicDepthBuffer,v=r.vertexTextures;let x=r.precision;const E={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 m(_){return d.add(_),_===0?"uv":`uv${_}`}function L(_,P,Z,f1,J){const a1=f1.fog,o1=J.geometry,g1=_.isMeshStandardMaterial?f1.environment:null,F=(_.isMeshStandardMaterial?n:e).get(_.envMap||g1),e1=F&&F.mapping===le?F.image.height:null,C1=E[_.type];_.precision!==null&&(x=r.getMaxPrecision(_.precision),x!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",x,"instead."));const d1=o1.morphAttributes.position||o1.morphAttributes.normal||o1.morphAttributes.color,I1=d1!==void 0?d1.length:0;let j1=0;o1.morphAttributes.position!==void 0&&(j1=1),o1.morphAttributes.normal!==void 0&&(j1=2),o1.morphAttributes.color!==void 0&&(j1=3);let $,z,W,N;if(C1){const q0=z8[C1];$=q0.vertexShader,z=q0.fragmentShader}else $=_.vertexShader,z=_.fragmentShader,l.update(_),W=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const v1=t.getRenderTarget(),k1=J.isInstancedMesh===!0,A1=J.isBatchedMesh===!0,y1=!!_.map,O=!!_.matcap,L1=!!F,n1=!!_.aoMap,u1=!!_.lightMap,l1=!!_.bumpMap,R1=!!_.normalMap,q=!!_.displacementMap,S=!!_.emissiveMap,T=!!_.metalnessMap,r1=!!_.roughnessMap,D1=_.anisotropy>0,b1=_.clearcoat>0,Q1=_.iridescence>0,Y1=_.sheen>0,z1=_.transmission>0,K1=D1&&!!_.anisotropyMap,l0=b1&&!!_.clearcoatMap,L0=b1&&!!_.clearcoatNormalMap,T1=b1&&!!_.clearcoatRoughnessMap,b0=Q1&&!!_.iridescenceMap,y0=Q1&&!!_.iridescenceThicknessMap,p0=Y1&&!!_.sheenColorMap,s0=Y1&&!!_.sheenRoughnessMap,t0=!!_.specularMap,m0=!!_.specularColorMap,U0=!!_.specularIntensityMap,N0=z1&&!!_.transmissionMap,_0=z1&&!!_.thicknessMap,P0=!!_.gradientMap,K=!!_.alphaMap,O1=_.alphaTest>0,G1=!!_.alphaHash,r0=!!_.extensions;let g0=w4;_.toneMapped&&(v1===null||v1.isXRRenderTarget===!0)&&(g0=t.toneMapping);const z0={isWebGL2:A,shaderID:C1,shaderType:_.type,shaderName:_.name,vertexShader:$,fragmentShader:z,defines:_.defines,customVertexShaderID:W,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:x,batching:A1,instancing:k1,instancingColor:k1&&J.instanceColor!==null,supportsVertexTextures:v,outputColorSpace:v1===null?t.outputColorSpace:v1.isXRRenderTarget===!0?v1.texture.colorSpace:m4,alphaToCoverage:!!_.alphaToCoverage,map:y1,matcap:O,envMap:L1,envMapMode:L1&&F.mapping,envMapCubeUVHeight:e1,aoMap:n1,lightMap:u1,bumpMap:l1,normalMap:R1,displacementMap:v&&q,emissiveMap:S,normalMapObjectSpace:R1&&_.normalMapType===Nx,normalMapTangentSpace:R1&&_.normalMapType===d5,metalnessMap:T,roughnessMap:r1,anisotropy:D1,anisotropyMap:K1,clearcoat:b1,clearcoatMap:l0,clearcoatNormalMap:L0,clearcoatRoughnessMap:T1,iridescence:Q1,iridescenceMap:b0,iridescenceThicknessMap:y0,sheen:Y1,sheenColorMap:p0,sheenRoughnessMap:s0,specularMap:t0,specularColorMap:m0,specularIntensityMap:U0,transmission:z1,transmissionMap:N0,thicknessMap:_0,gradientMap:P0,opaque:_.transparent===!1&&_.blending===s3&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:O1,alphaHash:G1,combine:_.combine,mapUv:y1&&m(_.map.channel),aoMapUv:n1&&m(_.aoMap.channel),lightMapUv:u1&&m(_.lightMap.channel),bumpMapUv:l1&&m(_.bumpMap.channel),normalMapUv:R1&&m(_.normalMap.channel),displacementMapUv:q&&m(_.displacementMap.channel),emissiveMapUv:S&&m(_.emissiveMap.channel),metalnessMapUv:T&&m(_.metalnessMap.channel),roughnessMapUv:r1&&m(_.roughnessMap.channel),anisotropyMapUv:K1&&m(_.anisotropyMap.channel),clearcoatMapUv:l0&&m(_.clearcoatMap.channel),clearcoatNormalMapUv:L0&&m(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:T1&&m(_.clearcoatRoughnessMap.channel),iridescenceMapUv:b0&&m(_.iridescenceMap.channel),iridescenceThicknessMapUv:y0&&m(_.iridescenceThicknessMap.channel),sheenColorMapUv:p0&&m(_.sheenColorMap.channel),sheenRoughnessMapUv:s0&&m(_.sheenRoughnessMap.channel),specularMapUv:t0&&m(_.specularMap.channel),specularColorMapUv:m0&&m(_.specularColorMap.channel),specularIntensityMapUv:U0&&m(_.specularIntensityMap.channel),transmissionMapUv:N0&&m(_.transmissionMap.channel),thicknessMapUv:_0&&m(_.thicknessMap.channel),alphaMapUv:K&&m(_.alphaMap.channel),vertexTangents:!!o1.attributes.tangent&&(R1||D1),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!o1.attributes.color&&o1.attributes.color.itemSize===4,pointsUvs:J.isPoints===!0&&!!o1.attributes.uv&&(y1||K),fog:!!a1,useFog:_.fog===!0,fogExp2:!!a1&&a1.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:p,skinning:J.isSkinnedMesh===!0,morphTargets:o1.morphAttributes.position!==void 0,morphNormals:o1.morphAttributes.normal!==void 0,morphColors:o1.morphAttributes.color!==void 0,morphTargetsCount:I1,morphTextureStride:j1,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:t.shadowMap.enabled&&Z.length>0,shadowMapType:t.shadowMap.type,toneMapping:g0,useLegacyLights:t._useLegacyLights,decodeVideoTexture:y1&&_.map.isVideoTexture===!0&&C2.getTransfer(_.map.colorSpace)===c2,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===g4,flipSided:_.side===H9,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:r0&&_.extensions.derivatives===!0,extensionFragDepth:r0&&_.extensions.fragDepth===!0,extensionDrawBuffers:r0&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:r0&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:r0&&_.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:r0&&_.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionFragDepth:A||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:A||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:A||C.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return z0.vertexUv1s=d.has(1),z0.vertexUv2s=d.has(2),z0.vertexUv3s=d.has(3),d.clear(),z0}function M(_){const P=[];if(_.shaderID?P.push(_.shaderID):(P.push(_.customVertexShaderID),P.push(_.customFragmentShaderID)),_.defines!==void 0)for(const Z in _.defines)P.push(Z),P.push(_.defines[Z]);return _.isRawShaderMaterial===!1&&(k(P,_),I(P,_),P.push(t.outputColorSpace)),P.push(_.customProgramCacheKey),P.join()}function k(_,P){_.push(P.precision),_.push(P.outputColorSpace),_.push(P.envMapMode),_.push(P.envMapCubeUVHeight),_.push(P.mapUv),_.push(P.alphaMapUv),_.push(P.lightMapUv),_.push(P.aoMapUv),_.push(P.bumpMapUv),_.push(P.normalMapUv),_.push(P.displacementMapUv),_.push(P.emissiveMapUv),_.push(P.metalnessMapUv),_.push(P.roughnessMapUv),_.push(P.anisotropyMapUv),_.push(P.clearcoatMapUv),_.push(P.clearcoatNormalMapUv),_.push(P.clearcoatRoughnessMapUv),_.push(P.iridescenceMapUv),_.push(P.iridescenceThicknessMapUv),_.push(P.sheenColorMapUv),_.push(P.sheenRoughnessMapUv),_.push(P.specularMapUv),_.push(P.specularColorMapUv),_.push(P.specularIntensityMapUv),_.push(P.transmissionMapUv),_.push(P.thicknessMapUv),_.push(P.combine),_.push(P.fogExp2),_.push(P.sizeAttenuation),_.push(P.morphTargetsCount),_.push(P.morphAttributeCount),_.push(P.numDirLights),_.push(P.numPointLights),_.push(P.numSpotLights),_.push(P.numSpotLightMaps),_.push(P.numHemiLights),_.push(P.numRectAreaLights),_.push(P.numDirLightShadows),_.push(P.numPointLightShadows),_.push(P.numSpotLightShadows),_.push(P.numSpotLightShadowsWithMaps),_.push(P.numLightProbes),_.push(P.shadowMapType),_.push(P.toneMapping),_.push(P.numClippingPlanes),_.push(P.numClipIntersection),_.push(P.depthPacking)}function I(_,P){s.disableAll(),P.isWebGL2&&s.enable(0),P.supportsVertexTextures&&s.enable(1),P.instancing&&s.enable(2),P.instancingColor&&s.enable(3),P.matcap&&s.enable(4),P.envMap&&s.enable(5),P.normalMapObjectSpace&&s.enable(6),P.normalMapTangentSpace&&s.enable(7),P.clearcoat&&s.enable(8),P.iridescence&&s.enable(9),P.alphaTest&&s.enable(10),P.vertexColors&&s.enable(11),P.vertexAlphas&&s.enable(12),P.vertexUv1s&&s.enable(13),P.vertexUv2s&&s.enable(14),P.vertexUv3s&&s.enable(15),P.vertexTangents&&s.enable(16),P.anisotropy&&s.enable(17),P.alphaHash&&s.enable(18),P.batching&&s.enable(19),_.push(s.mask),s.disableAll(),P.fog&&s.enable(0),P.useFog&&s.enable(1),P.flatShading&&s.enable(2),P.logarithmicDepthBuffer&&s.enable(3),P.skinning&&s.enable(4),P.morphTargets&&s.enable(5),P.morphNormals&&s.enable(6),P.morphColors&&s.enable(7),P.premultipliedAlpha&&s.enable(8),P.shadowMapEnabled&&s.enable(9),P.useLegacyLights&&s.enable(10),P.doubleSided&&s.enable(11),P.flipSided&&s.enable(12),P.useDepthPacking&&s.enable(13),P.dithering&&s.enable(14),P.transmission&&s.enable(15),P.sheen&&s.enable(16),P.opaque&&s.enable(17),P.pointsUvs&&s.enable(18),P.decodeVideoTexture&&s.enable(19),P.alphaToCoverage&&s.enable(20),_.push(s.mask)}function b(_){const P=E[_.type];let Z;if(P){const f1=z8[P];Z=Kx.clone(f1.uniforms)}else Z=_.uniforms;return Z}function R(_,P){let Z;for(let f1=0,J=g.length;f10?C.push(L):v.transparent===!0?r.push(L):n.push(L)}function l(A,p,v,x,E,m){const L=o(A,p,v,x,E,m);v.transmission>0?C.unshift(L):v.transparent===!0?r.unshift(L):n.unshift(L)}function d(A,p){n.length>1&&n.sort(A||ab),C.length>1&&C.sort(p||$A),r.length>1&&r.sort(p||$A)}function g(){for(let A=e,p=t.length;A=i.length?(o=new YA,i.push(o)):o=i[r],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function ub(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new G,color:new Z1};break;case"SpotLight":n={position:new G,direction:new G,color:new Z1,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new G,color:new Z1,distance:0,decay:0};break;case"HemisphereLight":n={direction:new G,skyColor:new Z1,groundColor:new Z1};break;case"RectAreaLight":n={color:new Z1,position:new G,halfWidth:new G,halfHeight:new G};break}return t[e.id]=n,n}}}function db(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let hb=0;function fb(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function gb(t,e){const n=new ub,C=db(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let g=0;g<9;g++)r.probe.push(new G);const i=new G,o=new f0,s=new f0;function l(g,A){let p=0,v=0,x=0;for(let Z=0;Z<9;Z++)r.probe[Z].set(0,0,0);let E=0,m=0,L=0,M=0,k=0,I=0,b=0,R=0,D=0,U=0,X=0;g.sort(fb);const _=A===!0?Math.PI:1;for(let Z=0,f1=g.length;Z0&&(e.isWebGL2?t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_FLOAT_1,r.rectAreaLTC2=$1.LTC_FLOAT_2):(r.rectAreaLTC1=$1.LTC_HALF_1,r.rectAreaLTC2=$1.LTC_HALF_2):t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_FLOAT_1,r.rectAreaLTC2=$1.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_HALF_1,r.rectAreaLTC2=$1.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=p,r.ambient[1]=v,r.ambient[2]=x;const P=r.hash;(P.directionalLength!==E||P.pointLength!==m||P.spotLength!==L||P.rectAreaLength!==M||P.hemiLength!==k||P.numDirectionalShadows!==I||P.numPointShadows!==b||P.numSpotShadows!==R||P.numSpotMaps!==D||P.numLightProbes!==X)&&(r.directional.length=E,r.spot.length=L,r.rectArea.length=M,r.point.length=m,r.hemi.length=k,r.directionalShadow.length=I,r.directionalShadowMap.length=I,r.pointShadow.length=b,r.pointShadowMap.length=b,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=I,r.pointShadowMatrix.length=b,r.spotLightMatrix.length=R+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=X,P.directionalLength=E,P.pointLength=m,P.spotLength=L,P.rectAreaLength=M,P.hemiLength=k,P.numDirectionalShadows=I,P.numPointShadows=b,P.numSpotShadows=R,P.numSpotMaps=D,P.numLightProbes=X,r.version=hb++)}function d(g,A){let p=0,v=0,x=0,E=0,m=0;const L=A.matrixWorldInverse;for(let M=0,k=g.length;M=s.length?(l=new JA(t,e),s.push(l)):l=s[o],l}function r(){n=new WeakMap}return{get:C,dispose:r}}class xo extends i9{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Px,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 mo extends i9{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 pb=`void main() { - gl_Position = vec4( position, 1.0 ); -}`,Lb=`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 vb(t,e,n){let C=new Bn;const r=new M1,i=new M1,o=new r2,s=new xo({depthPacking:Dd}),l=new mo,d={},g=n.maxTextureSize,A={[Q8]:H9,[H9]:Q8,[g4]:g4},p=new X8({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new M1},radius:{value:4}},vertexShader:pb,fragmentShader:Lb}),v=p.clone();v.defines.HORIZONTAL_PASS=1;const x=new R0;x.setAttribute("position",new t2(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new i2(x,p),m=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=fo;let L=this.type;this.render=function(R,D,U){if(m.enabled===!1||m.autoUpdate===!1&&m.needsUpdate===!1||R.length===0)return;const X=t.getRenderTarget(),_=t.getActiveCubeFace(),P=t.getActiveMipmapLevel(),Z=t.state;Z.setBlending(X4),Z.buffers.color.setClear(1,1,1,1),Z.buffers.depth.setTest(!0),Z.setScissorTest(!1);const f1=L!==W8&&this.type===W8,J=L===W8&&this.type!==W8;for(let a1=0,o1=R.length;a1g||r.y>g)&&(r.x>g&&(i.x=Math.floor(g/e1.x),r.x=i.x*e1.x,F.mapSize.x=i.x),r.y>g&&(i.y=Math.floor(g/e1.y),r.y=i.y*e1.y,F.mapSize.y=i.y)),F.map===null||f1===!0||J===!0){const d1=this.type!==W8?{minFilter:T2,magFilter:T2}:{};F.map!==null&&F.map.dispose(),F.map=new R8(r.x,r.y,d1),F.map.texture.name=g1.name+".shadowMap",F.camera.updateProjectionMatrix()}t.setRenderTarget(F.map),t.clear();const C1=F.getViewportCount();for(let d1=0;d10||D.map&&D.alphaTest>0){const Z=_.uuid,f1=D.uuid;let J=d[Z];J===void 0&&(J={},d[Z]=J);let a1=J[f1];a1===void 0&&(a1=_.clone(),J[f1]=a1,D.addEventListener("dispose",b)),_=a1}if(_.visible=D.visible,_.wireframe=D.wireframe,X===W8?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:A[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const Z=t.properties.get(_);Z.light=U}return _}function I(R,D,U,X,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===W8)&&(!R.frustumCulled||C.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,R.matrixWorld);const f1=e.update(R),J=R.material;if(Array.isArray(J)){const a1=f1.groups;for(let o1=0,g1=a1.length;o1=1):C1.indexOf("OpenGL ES")!==-1&&(e1=parseFloat(/^OpenGL ES (\d)/.exec(C1)[1]),F=e1>=2);let d1=null,I1={};const j1=t.getParameter(t.SCISSOR_BOX),$=t.getParameter(t.VIEWPORT),z=new r2().fromArray(j1),W=new r2().fromArray($);function N(K,O1,G1,r0){const g0=new Uint8Array(4),z0=t.createTexture();t.bindTexture(K,z0),t.texParameteri(K,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(K,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let q0=0;q0"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let A;const p=new WeakMap;let v=!1;try{v=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function x(S,T){return v?new OffscreenCanvas(S,T):on("canvas")}function E(S,T,r1,D1){let b1=1;if((S.width>D1||S.height>D1)&&(b1=D1/Math.max(S.width,S.height)),b1<1||T===!0)if(typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&S instanceof ImageBitmap){const Q1=T?zi:Math.floor,Y1=Q1(b1*S.width),z1=Q1(b1*S.height);A===void 0&&(A=x(Y1,z1));const K1=r1?x(Y1,z1):A;return K1.width=Y1,K1.height=z1,K1.getContext("2d").drawImage(S,0,0,Y1,z1),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+S.width+"x"+S.height+") to ("+Y1+"x"+z1+")."),K1}else return"data"in S&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+S.width+"x"+S.height+")."),S;return S}function m(S){return au(S.width)&&au(S.height)}function L(S){return s?!1:S.wrapS!==M9||S.wrapT!==M9||S.minFilter!==T2&&S.minFilter!==A2}function M(S,T){return S.generateMipmaps&&T&&S.minFilter!==T2&&S.minFilter!==A2}function k(S){t.generateMipmap(S)}function I(S,T,r1,D1,b1=!1){if(s===!1)return T;if(S!==null){if(t[S]!==void 0)return t[S];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+S+"'")}let Q1=T;if(T===t.RED&&(r1===t.FLOAT&&(Q1=t.R32F),r1===t.HALF_FLOAT&&(Q1=t.R16F),r1===t.UNSIGNED_BYTE&&(Q1=t.R8)),T===t.RED_INTEGER&&(r1===t.UNSIGNED_BYTE&&(Q1=t.R8UI),r1===t.UNSIGNED_SHORT&&(Q1=t.R16UI),r1===t.UNSIGNED_INT&&(Q1=t.R32UI),r1===t.BYTE&&(Q1=t.R8I),r1===t.SHORT&&(Q1=t.R16I),r1===t.INT&&(Q1=t.R32I)),T===t.RG&&(r1===t.FLOAT&&(Q1=t.RG32F),r1===t.HALF_FLOAT&&(Q1=t.RG16F),r1===t.UNSIGNED_BYTE&&(Q1=t.RG8)),T===t.RGBA){const Y1=b1?en:C2.getTransfer(D1);r1===t.FLOAT&&(Q1=t.RGBA32F),r1===t.HALF_FLOAT&&(Q1=t.RGBA16F),r1===t.UNSIGNED_BYTE&&(Q1=Y1===c2?t.SRGB8_ALPHA8:t.RGBA8),r1===t.UNSIGNED_SHORT_4_4_4_4&&(Q1=t.RGBA4),r1===t.UNSIGNED_SHORT_5_5_5_1&&(Q1=t.RGB5_A1)}return(Q1===t.R16F||Q1===t.R32F||Q1===t.RG16F||Q1===t.RG32F||Q1===t.RGBA16F||Q1===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Q1}function b(S,T,r1){return M(S,r1)===!0||S.isFramebufferTexture&&S.minFilter!==T2&&S.minFilter!==A2?Math.log2(Math.max(T.width,T.height))+1:S.mipmaps!==void 0&&S.mipmaps.length>0?S.mipmaps.length:S.isCompressedTexture&&Array.isArray(S.image)?T.mipmaps.length:1}function R(S){return S===T2||S===Oi||S===Y5?t.NEAREST:t.LINEAR}function D(S){const T=S.target;T.removeEventListener("dispose",D),X(T),T.isVideoTexture&&g.delete(T)}function U(S){const T=S.target;T.removeEventListener("dispose",U),P(T)}function X(S){const T=C.get(S);if(T.__webglInit===void 0)return;const r1=S.source,D1=p.get(r1);if(D1){const b1=D1[T.__cacheKey];b1.usedTimes--,b1.usedTimes===0&&_(S),Object.keys(D1).length===0&&p.delete(r1)}C.remove(S)}function _(S){const T=C.get(S);t.deleteTexture(T.__webglTexture);const r1=S.source,D1=p.get(r1);delete D1[T.__cacheKey],o.memory.textures--}function P(S){const T=S.texture,r1=C.get(S),D1=C.get(T);if(D1.__webglTexture!==void 0&&(t.deleteTexture(D1.__webglTexture),o.memory.textures--),S.depthTexture&&S.depthTexture.dispose(),S.isWebGLCubeRenderTarget)for(let b1=0;b1<6;b1++){if(Array.isArray(r1.__webglFramebuffer[b1]))for(let Q1=0;Q1=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+S+" texture units while this GPU supports only "+r.maxTextures),Z+=1,S}function a1(S){const T=[];return T.push(S.wrapS),T.push(S.wrapT),T.push(S.wrapR||0),T.push(S.magFilter),T.push(S.minFilter),T.push(S.anisotropy),T.push(S.internalFormat),T.push(S.format),T.push(S.type),T.push(S.generateMipmaps),T.push(S.premultiplyAlpha),T.push(S.flipY),T.push(S.unpackAlignment),T.push(S.colorSpace),T.join()}function o1(S,T){const r1=C.get(S);if(S.isVideoTexture&&R1(S),S.isRenderTargetTexture===!1&&S.version>0&&r1.__version!==S.version){const D1=S.image;if(D1===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(D1.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(r1,S,T);return}}n.bindTexture(t.TEXTURE_2D,r1.__webglTexture,t.TEXTURE0+T)}function g1(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){z(r1,S,T);return}n.bindTexture(t.TEXTURE_2D_ARRAY,r1.__webglTexture,t.TEXTURE0+T)}function F(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){z(r1,S,T);return}n.bindTexture(t.TEXTURE_3D,r1.__webglTexture,t.TEXTURE0+T)}function e1(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){W(r1,S,T);return}n.bindTexture(t.TEXTURE_CUBE_MAP,r1.__webglTexture,t.TEXTURE0+T)}const C1={[Jt]:t.REPEAT,[M9]:t.CLAMP_TO_EDGE,[Xt]:t.MIRRORED_REPEAT},d1={[T2]:t.NEAREST,[Oi]:t.NEAREST_MIPMAP_NEAREST,[Y5]:t.NEAREST_MIPMAP_LINEAR,[A2]:t.LINEAR,[Mt]:t.LINEAR_MIPMAP_NEAREST,[A4]:t.LINEAR_MIPMAP_LINEAR},I1={[jx]:t.NEVER,[zx]:t.ALWAYS,[Ux]:t.LESS,[Td]:t.LEQUAL,[Fx]:t.EQUAL,[Gx]:t.GEQUAL,[Wx]:t.GREATER,[Ox]:t.NOTEQUAL};function j1(S,T,r1){if(T.type===y8&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===A2||T.magFilter===Mt||T.magFilter===Y5||T.magFilter===A4||T.minFilter===A2||T.minFilter===Mt||T.minFilter===Y5||T.minFilter===A4)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),r1?(t.texParameteri(S,t.TEXTURE_WRAP_S,C1[T.wrapS]),t.texParameteri(S,t.TEXTURE_WRAP_T,C1[T.wrapT]),(S===t.TEXTURE_3D||S===t.TEXTURE_2D_ARRAY)&&t.texParameteri(S,t.TEXTURE_WRAP_R,C1[T.wrapR]),t.texParameteri(S,t.TEXTURE_MAG_FILTER,d1[T.magFilter]),t.texParameteri(S,t.TEXTURE_MIN_FILTER,d1[T.minFilter])):(t.texParameteri(S,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(S,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(S===t.TEXTURE_3D||S===t.TEXTURE_2D_ARRAY)&&t.texParameteri(S,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(T.wrapS!==M9||T.wrapT!==M9)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(S,t.TEXTURE_MAG_FILTER,R(T.magFilter)),t.texParameteri(S,t.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==T2&&T.minFilter!==A2&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(t.texParameteri(S,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(S,t.TEXTURE_COMPARE_FUNC,I1[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const D1=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===T2||T.minFilter!==Y5&&T.minFilter!==A4||T.type===y8&&e.has("OES_texture_float_linear")===!1||s===!1&&T.type===v3&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||C.get(T).__currentAnisotropy)&&(t.texParameterf(S,D1.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),C.get(T).__currentAnisotropy=T.anisotropy)}}function $(S,T){let r1=!1;S.__webglInit===void 0&&(S.__webglInit=!0,T.addEventListener("dispose",D));const D1=T.source;let b1=p.get(D1);b1===void 0&&(b1={},p.set(D1,b1));const Q1=a1(T);if(Q1!==S.__cacheKey){b1[Q1]===void 0&&(b1[Q1]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,r1=!0),b1[Q1].usedTimes++;const Y1=b1[S.__cacheKey];Y1!==void 0&&(b1[S.__cacheKey].usedTimes--,Y1.usedTimes===0&&_(T)),S.__cacheKey=Q1,S.__webglTexture=b1[Q1].texture}return r1}function z(S,T,r1){let D1=t.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(D1=t.TEXTURE_2D_ARRAY),T.isData3DTexture&&(D1=t.TEXTURE_3D);const b1=$(S,T),Q1=T.source;n.bindTexture(D1,S.__webglTexture,t.TEXTURE0+r1);const Y1=C.get(Q1);if(Q1.version!==Y1.__version||b1===!0){n.activeTexture(t.TEXTURE0+r1);const z1=C2.getPrimaries(C2.workingColorSpace),K1=T.colorSpace===i8?null:C2.getPrimaries(T.colorSpace),l0=T.colorSpace===i8||z1===K1?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,T.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,T.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,l0);const L0=L(T)&&m(T.image)===!1;let T1=E(T.image,L0,!1,r.maxTextureSize);T1=q(T,T1);const b0=m(T1)||s,y0=i.convert(T.format,T.colorSpace);let p0=i.convert(T.type),s0=I(T.internalFormat,y0,p0,T.colorSpace,T.isVideoTexture);j1(D1,T,b0);let t0;const m0=T.mipmaps,U0=s&&T.isVideoTexture!==!0&&s0!==Qd,N0=Y1.__version===void 0||b1===!0,_0=Q1.dataReady,P0=b(T,T1,b0);if(T.isDepthTexture)s0=t.DEPTH_COMPONENT,s?T.type===y8?s0=t.DEPTH_COMPONENT32F:T.type===V4?s0=t.DEPTH_COMPONENT24:T.type===Z6?s0=t.DEPTH24_STENCIL8:s0=t.DEPTH_COMPONENT16:T.type===y8&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===e5&&s0===t.DEPTH_COMPONENT&&T.type!==Ao&&T.type!==V4&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=V4,p0=i.convert(T.type)),T.format===w3&&s0===t.DEPTH_COMPONENT&&(s0=t.DEPTH_STENCIL,T.type!==Z6&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=Z6,p0=i.convert(T.type))),N0&&(U0?n.texStorage2D(t.TEXTURE_2D,1,s0,T1.width,T1.height):n.texImage2D(t.TEXTURE_2D,0,s0,T1.width,T1.height,0,y0,p0,null));else if(T.isDataTexture)if(m0.length>0&&b0){U0&&N0&&n.texStorage2D(t.TEXTURE_2D,P0,s0,m0[0].width,m0[0].height);for(let K=0,O1=m0.length;K>=1,O1>>=1}}else if(m0.length>0&&b0){U0&&N0&&n.texStorage2D(t.TEXTURE_2D,P0,s0,m0[0].width,m0[0].height);for(let K=0,O1=m0.length;K0&&_0++,n.texStorage2D(t.TEXTURE_CUBE_MAP,_0,t0,T1[0].width,T1[0].height));for(let K=0;K<6;K++)if(L0){m0?N0&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,T1[K].width,T1[K].height,p0,s0,T1[K].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,t0,T1[K].width,T1[K].height,0,p0,s0,T1[K].data);for(let O1=0;O1>Q1),T1=Math.max(1,T.height>>Q1);b1===t.TEXTURE_3D||b1===t.TEXTURE_2D_ARRAY?n.texImage3D(b1,Q1,K1,L0,T1,T.depth,0,Y1,z1,null):n.texImage2D(b1,Q1,K1,L0,T1,0,Y1,z1,null)}n.bindFramebuffer(t.FRAMEBUFFER,S),l1(T)?l.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,D1,b1,C.get(r1).__webglTexture,0,u1(T)):(b1===t.TEXTURE_2D||b1>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&b1<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,D1,b1,C.get(r1).__webglTexture,Q1),n.bindFramebuffer(t.FRAMEBUFFER,null)}function v1(S,T,r1){if(t.bindRenderbuffer(t.RENDERBUFFER,S),T.depthBuffer&&!T.stencilBuffer){let D1=s===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(r1||l1(T)){const b1=T.depthTexture;b1&&b1.isDepthTexture&&(b1.type===y8?D1=t.DEPTH_COMPONENT32F:b1.type===V4&&(D1=t.DEPTH_COMPONENT24));const Q1=u1(T);l1(T)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Q1,D1,T.width,T.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Q1,D1,T.width,T.height)}else t.renderbufferStorage(t.RENDERBUFFER,D1,T.width,T.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,S)}else if(T.depthBuffer&&T.stencilBuffer){const D1=u1(T);r1&&l1(T)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,D1,t.DEPTH24_STENCIL8,T.width,T.height):l1(T)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,D1,t.DEPTH24_STENCIL8,T.width,T.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,T.width,T.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,S)}else{const D1=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let b1=0;b10){r1.__webglFramebuffer[z1]=[];for(let K1=0;K10){r1.__webglFramebuffer=[];for(let z1=0;z10&&l1(S)===!1){const z1=Q1?T:[T];r1.__webglMultisampledFramebuffer=t.createFramebuffer(),r1.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,r1.__webglMultisampledFramebuffer);for(let K1=0;K10)for(let K1=0;K10)for(let K1=0;K10&&l1(S)===!1){const T=S.isWebGLMultipleRenderTargets?S.texture:[S.texture],r1=S.width,D1=S.height;let b1=t.COLOR_BUFFER_BIT;const Q1=[],Y1=S.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,z1=C.get(S),K1=S.isWebGLMultipleRenderTargets===!0;if(K1)for(let l0=0;l00&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function R1(S){const T=o.render.frame;g.get(S)!==T&&(g.set(S,T),S.update())}function q(S,T){const r1=S.colorSpace,D1=S.format,b1=S.type;return S.isCompressedTexture===!0||S.isVideoTexture===!0||S.format===Gi||r1!==m4&&r1!==i8&&(C2.getTransfer(r1)===c2?s===!1?e.has("EXT_sRGB")===!0&&D1===b9?(S.format=Gi,S.minFilter=A2,S.generateMipmaps=!1):T=Pd.sRGBToLinear(T):(D1!==b9||b1!==x4)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",r1)),T}this.allocateTextureUnit=J,this.resetTextureUnits=f1,this.setTexture2D=o1,this.setTexture2DArray=g1,this.setTexture3D=F,this.setTextureCube=e1,this.rebindTextures=y1,this.setupRenderTarget=O,this.updateRenderTargetMipmap=L1,this.updateMultisampleRenderTarget=n1,this.setupDepthRenderbuffer=A1,this.setupFrameBufferTexture=N,this.useMultisampledRTT=l1}function om(t,e,n){const C=n.isWebGL2;function r(i,o=i8){let s;const l=C2.getTransfer(o);if(i===x4)return t.UNSIGNED_BYTE;if(i===yd)return t.UNSIGNED_SHORT_4_4_4_4;if(i===Bd)return t.UNSIGNED_SHORT_5_5_5_1;if(i===yx)return t.BYTE;if(i===Bx)return t.SHORT;if(i===Ao)return t.UNSIGNED_SHORT;if(i===Ed)return t.INT;if(i===V4)return t.UNSIGNED_INT;if(i===y8)return t.FLOAT;if(i===v3)return C?t.HALF_FLOAT:(s=e.get("OES_texture_half_float"),s!==null?s.HALF_FLOAT_OES:null);if(i===Ix)return t.ALPHA;if(i===b9)return t.RGBA;if(i===Sx)return t.LUMINANCE;if(i===_x)return t.LUMINANCE_ALPHA;if(i===e5)return t.DEPTH_COMPONENT;if(i===w3)return t.DEPTH_STENCIL;if(i===Gi)return s=e.get("EXT_sRGB"),s!==null?s.SRGB_ALPHA_EXT:null;if(i===Qx)return t.RED;if(i===Id)return t.RED_INTEGER;if(i===Rx)return t.RG;if(i===Sd)return t.RG_INTEGER;if(i===_d)return t.RGBA_INTEGER;if(i===si||i===li||i===ai||i===ci)if(l===c2)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===si)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===li)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===ai)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===ci)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===si)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===li)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===ai)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===ci)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Hc||i===Pc||i===Nc||i===jc)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===Hc)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===Pc)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Nc)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===jc)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Qd)return s=e.get("WEBGL_compressed_texture_etc1"),s!==null?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(i===Uc||i===Fc)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Uc)return l===c2?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===Fc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===Wc||i===Oc||i===Gc||i===zc||i===Vc||i===$c||i===Yc||i===Jc||i===Xc||i===Kc||i===qc||i===Zc||i===eu||i===tu)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===Wc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===Oc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===Gc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===zc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Vc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===$c)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===Yc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===Jc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===Xc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Kc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===qc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===Zc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===eu)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===tu)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===ui||i===nu||i===Cu)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===ui)return l===c2?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===nu)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===Cu)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===bx||i===ru||i===iu||i===ou)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===ui)return s.COMPRESSED_RED_RGTC1_EXT;if(i===ru)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===iu)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===ou)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Z6?C?t.UNSIGNED_INT_24_8:(s=e.get("WEBGL_depth_texture"),s!==null?s.UNSIGNED_INT_24_8_WEBGL:null):t[i]!==void 0?t[i]:null}return{convert:r}}class sm extends G2{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let $4=class extends Y0{constructor(){super(),this.isGroup=!0,this.type="Group"}};const mb={type:"move"};class Kl{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new $4,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 $4,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new G,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new G),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new $4,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new G,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new G),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 n=this._hand;if(n)for(const C of e.hand.values())this._getHandJoint(n,C)}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,n,C){let r=null,i=null,o=null;const s=this._targetRay,l=this._grip,d=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const E of e.hand.values()){const m=n.getJointPose(E,C),L=this._getHandJoint(d,E);m!==null&&(L.matrix.fromArray(m.transform.matrix),L.matrix.decompose(L.position,L.rotation,L.scale),L.matrixWorldNeedsUpdate=!0,L.jointRadius=m.radius),L.visible=m!==null}const g=d.joints["index-finger-tip"],A=d.joints["thumb-tip"],p=g.position.distanceTo(A.position),v=.02,x=.005;d.inputState.pinching&&p>v+x?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&p<=v-x&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(i=n.getPose(e.gripSpace,C),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1));s!==null&&(r=n.getPose(e.targetRaySpace,C),r===null&&i!==null&&(r=i),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(mb)))}return s!==null&&(s.visible=r!==null),l!==null&&(l.visible=i!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const C=new $4;C.matrixAutoUpdate=!1,C.visible=!1,e.joints[n.jointName]=C,e.add(C)}return e.joints[n.jointName]}}const kb=` -void main() { - - gl_Position = vec4( position, 1.0 ); - -}`,Mb=` -uniform sampler2DArray depthColor; -uniform float depthWidth; -uniform float depthHeight; - -void main() { - - vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); - - if ( coord.x >= 1.0 ) { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; - - } else { - - gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; - - } - -}`;class Eb{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,n,C){if(this.texture===null){const r=new w2,i=e.properties.get(r);i.__webglTexture=n.texture,(n.depthNear!=C.depthNear||n.depthFar!=C.depthFar)&&(this.depthNear=n.depthNear,this.depthFar=n.depthFar),this.texture=r}}render(e,n){if(this.texture!==null){if(this.mesh===null){const C=n.cameras[0].viewport,r=new X8({extensions:{fragDepth:!0},vertexShader:kb,fragmentShader:Mb,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new i2(new h5(20,20),r)}e.render(this.mesh,n)}}reset(){this.texture=null,this.mesh=null}}class yb extends C6{constructor(e,n){super();const C=this;let r=null,i=1,o=null,s="local-floor",l=1,d=null,g=null,A=null,p=null,v=null,x=null;const E=new Eb,m=n.getContextAttributes();let L=null,M=null;const k=[],I=[],b=new M1;let R=null;const D=new G2;D.layers.enable(1),D.viewport=new r2;const U=new G2;U.layers.enable(2),U.viewport=new r2;const X=[D,U],_=new sm;_.layers.enable(1),_.layers.enable(2);let P=null,Z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getTargetRaySpace()},this.getControllerGrip=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getGripSpace()},this.getHand=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getHandSpace()};function f1($){const z=I.indexOf($.inputSource);if(z===-1)return;const W=k[z];W!==void 0&&(W.update($.inputSource,$.frame,d||o),W.dispatchEvent({type:$.type,data:$.inputSource}))}function J(){r.removeEventListener("select",f1),r.removeEventListener("selectstart",f1),r.removeEventListener("selectend",f1),r.removeEventListener("squeeze",f1),r.removeEventListener("squeezestart",f1),r.removeEventListener("squeezeend",f1),r.removeEventListener("end",J),r.removeEventListener("inputsourceschange",a1);for(let $=0;$=0&&(I[N]=null,k[N].disconnect(W))}for(let z=0;z<$.added.length;z++){const W=$.added[z];let N=I.indexOf(W);if(N===-1){for(let k1=0;k1=I.length){I.push(W),N=k1;break}else if(I[k1]===null){I[k1]=W,N=k1;break}if(N===-1)break}const v1=k[N];v1&&v1.connect(W)}}const o1=new G,g1=new G;function F($,z,W){o1.setFromMatrixPosition(z.matrixWorld),g1.setFromMatrixPosition(W.matrixWorld);const N=o1.distanceTo(g1),v1=z.projectionMatrix.elements,k1=W.projectionMatrix.elements,A1=v1[14]/(v1[10]-1),y1=v1[14]/(v1[10]+1),O=(v1[9]+1)/v1[5],L1=(v1[9]-1)/v1[5],n1=(v1[8]-1)/v1[0],u1=(k1[8]+1)/k1[0],l1=A1*n1,R1=A1*u1,q=N/(-n1+u1),S=q*-n1;z.matrixWorld.decompose($.position,$.quaternion,$.scale),$.translateX(S),$.translateZ(q),$.matrixWorld.compose($.position,$.quaternion,$.scale),$.matrixWorldInverse.copy($.matrixWorld).invert();const T=A1+q,r1=y1+q,D1=l1-S,b1=R1+(N-S),Q1=O*y1/r1*T,Y1=L1*y1/r1*T;$.projectionMatrix.makePerspective(D1,b1,Q1,Y1,T,r1),$.projectionMatrixInverse.copy($.projectionMatrix).invert()}function e1($,z){z===null?$.matrixWorld.copy($.matrix):$.matrixWorld.multiplyMatrices(z.matrixWorld,$.matrix),$.matrixWorldInverse.copy($.matrixWorld).invert()}this.updateCamera=function($){if(r===null)return;E.texture!==null&&($.near=E.depthNear,$.far=E.depthFar),_.near=U.near=D.near=$.near,_.far=U.far=D.far=$.far,(P!==_.near||Z!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),P=_.near,Z=_.far,D.near=P,D.far=Z,U.near=P,U.far=Z,D.updateProjectionMatrix(),U.updateProjectionMatrix(),$.updateProjectionMatrix());const z=$.parent,W=_.cameras;e1(_,z);for(let N=0;N0&&(m.alphaTest.value=L.alphaTest);const M=e.get(L).envMap;if(M&&(m.envMap.value=M,m.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,m.reflectivity.value=L.reflectivity,m.ior.value=L.ior,m.refractionRatio.value=L.refractionRatio),L.lightMap){m.lightMap.value=L.lightMap;const k=t._useLegacyLights===!0?Math.PI:1;m.lightMapIntensity.value=L.lightMapIntensity*k,n(L.lightMap,m.lightMapTransform)}L.aoMap&&(m.aoMap.value=L.aoMap,m.aoMapIntensity.value=L.aoMapIntensity,n(L.aoMap,m.aoMapTransform))}function o(m,L){m.diffuse.value.copy(L.color),m.opacity.value=L.opacity,L.map&&(m.map.value=L.map,n(L.map,m.mapTransform))}function s(m,L){m.dashSize.value=L.dashSize,m.totalSize.value=L.dashSize+L.gapSize,m.scale.value=L.scale}function l(m,L,M,k){m.diffuse.value.copy(L.color),m.opacity.value=L.opacity,m.size.value=L.size*M,m.scale.value=k*.5,L.map&&(m.map.value=L.map,n(L.map,m.uvTransform)),L.alphaMap&&(m.alphaMap.value=L.alphaMap,n(L.alphaMap,m.alphaMapTransform)),L.alphaTest>0&&(m.alphaTest.value=L.alphaTest)}function d(m,L){m.diffuse.value.copy(L.color),m.opacity.value=L.opacity,m.rotation.value=L.rotation,L.map&&(m.map.value=L.map,n(L.map,m.mapTransform)),L.alphaMap&&(m.alphaMap.value=L.alphaMap,n(L.alphaMap,m.alphaMapTransform)),L.alphaTest>0&&(m.alphaTest.value=L.alphaTest)}function g(m,L){m.specular.value.copy(L.specular),m.shininess.value=Math.max(L.shininess,1e-4)}function A(m,L){L.gradientMap&&(m.gradientMap.value=L.gradientMap)}function p(m,L){m.metalness.value=L.metalness,L.metalnessMap&&(m.metalnessMap.value=L.metalnessMap,n(L.metalnessMap,m.metalnessMapTransform)),m.roughness.value=L.roughness,L.roughnessMap&&(m.roughnessMap.value=L.roughnessMap,n(L.roughnessMap,m.roughnessMapTransform)),e.get(L).envMap&&(m.envMapIntensity.value=L.envMapIntensity)}function v(m,L,M){m.ior.value=L.ior,L.sheen>0&&(m.sheenColor.value.copy(L.sheenColor).multiplyScalar(L.sheen),m.sheenRoughness.value=L.sheenRoughness,L.sheenColorMap&&(m.sheenColorMap.value=L.sheenColorMap,n(L.sheenColorMap,m.sheenColorMapTransform)),L.sheenRoughnessMap&&(m.sheenRoughnessMap.value=L.sheenRoughnessMap,n(L.sheenRoughnessMap,m.sheenRoughnessMapTransform))),L.clearcoat>0&&(m.clearcoat.value=L.clearcoat,m.clearcoatRoughness.value=L.clearcoatRoughness,L.clearcoatMap&&(m.clearcoatMap.value=L.clearcoatMap,n(L.clearcoatMap,m.clearcoatMapTransform)),L.clearcoatRoughnessMap&&(m.clearcoatRoughnessMap.value=L.clearcoatRoughnessMap,n(L.clearcoatRoughnessMap,m.clearcoatRoughnessMapTransform)),L.clearcoatNormalMap&&(m.clearcoatNormalMap.value=L.clearcoatNormalMap,n(L.clearcoatNormalMap,m.clearcoatNormalMapTransform),m.clearcoatNormalScale.value.copy(L.clearcoatNormalScale),L.side===H9&&m.clearcoatNormalScale.value.negate())),L.iridescence>0&&(m.iridescence.value=L.iridescence,m.iridescenceIOR.value=L.iridescenceIOR,m.iridescenceThicknessMinimum.value=L.iridescenceThicknessRange[0],m.iridescenceThicknessMaximum.value=L.iridescenceThicknessRange[1],L.iridescenceMap&&(m.iridescenceMap.value=L.iridescenceMap,n(L.iridescenceMap,m.iridescenceMapTransform)),L.iridescenceThicknessMap&&(m.iridescenceThicknessMap.value=L.iridescenceThicknessMap,n(L.iridescenceThicknessMap,m.iridescenceThicknessMapTransform))),L.transmission>0&&(m.transmission.value=L.transmission,m.transmissionSamplerMap.value=M.texture,m.transmissionSamplerSize.value.set(M.width,M.height),L.transmissionMap&&(m.transmissionMap.value=L.transmissionMap,n(L.transmissionMap,m.transmissionMapTransform)),m.thickness.value=L.thickness,L.thicknessMap&&(m.thicknessMap.value=L.thicknessMap,n(L.thicknessMap,m.thicknessMapTransform)),m.attenuationDistance.value=L.attenuationDistance,m.attenuationColor.value.copy(L.attenuationColor)),L.anisotropy>0&&(m.anisotropyVector.value.set(L.anisotropy*Math.cos(L.anisotropyRotation),L.anisotropy*Math.sin(L.anisotropyRotation)),L.anisotropyMap&&(m.anisotropyMap.value=L.anisotropyMap,n(L.anisotropyMap,m.anisotropyMapTransform))),m.specularIntensity.value=L.specularIntensity,m.specularColor.value.copy(L.specularColor),L.specularColorMap&&(m.specularColorMap.value=L.specularColorMap,n(L.specularColorMap,m.specularColorMapTransform)),L.specularIntensityMap&&(m.specularIntensityMap.value=L.specularIntensityMap,n(L.specularIntensityMap,m.specularIntensityMapTransform))}function x(m,L){L.matcap&&(m.matcap.value=L.matcap)}function E(m,L){const M=e.get(L).light;m.referencePosition.value.setFromMatrixPosition(M.matrixWorld),m.nearDistance.value=M.shadow.camera.near,m.farDistance.value=M.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:r}}function Ib(t,e,n,C){let r={},i={},o=[];const s=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(M,k){const I=k.program;C.uniformBlockBinding(M,I)}function d(M,k){let I=r[M.id];I===void 0&&(x(M),I=g(M),r[M.id]=I,M.addEventListener("dispose",m));const b=k.program;C.updateUBOMapping(M,b);const R=e.render.frame;i[M.id]!==R&&(p(M),i[M.id]=R)}function g(M){const k=A();M.__bindingPointIndex=k;const I=t.createBuffer(),b=M.__size,R=M.usage;return t.bindBuffer(t.UNIFORM_BUFFER,I),t.bufferData(t.UNIFORM_BUFFER,b,R),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,k,I),I}function A(){for(let M=0;M0&&(I+=b-R),M.__size=I,M.__cache={},this}function E(M){const k={boundary:0,storage:0};return typeof M=="number"||typeof M=="boolean"?(k.boundary=4,k.storage=4):M.isVector2?(k.boundary=8,k.storage=8):M.isVector3||M.isColor?(k.boundary=16,k.storage=12):M.isVector4?(k.boundary=16,k.storage=16):M.isMatrix3?(k.boundary=48,k.storage=48):M.isMatrix4?(k.boundary=64,k.storage=64):M.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",M),k}function m(M){const k=M.target;k.removeEventListener("dispose",m);const I=o.indexOf(k.__bindingPointIndex);o.splice(I,1),t.deleteBuffer(r[k.id]),delete r[k.id],delete i[k.id]}function L(){for(const M in r)t.deleteBuffer(r[M]);o=[],r={},i={}}return{bind:l,update:d,dispose:L}}class Od{constructor(e={}){const{canvas:n=$x(),context:C=null,depth:r=!0,stencil:i=!0,alpha:o=!1,antialias:s=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:d=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:A=!1}=e;this.isWebGLRenderer=!0;let p;C!==null?p=C.getContextAttributes().alpha:p=o;const v=new Uint32Array(4),x=new Int32Array(4);let E=null,m=null;const L=[],M=[];this.domElement=n,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=Q2,this._useLegacyLights=!1,this.toneMapping=w4,this.toneMappingExposure=1;const k=this;let I=!1,b=0,R=0,D=null,U=-1,X=null;const _=new r2,P=new r2;let Z=null;const f1=new Z1(0);let J=0,a1=n.width,o1=n.height,g1=1,F=null,e1=null;const C1=new r2(0,0,a1,o1),d1=new r2(0,0,a1,o1);let I1=!1;const j1=new Bn;let $=!1,z=!1,W=null;const N=new f0,v1=new M1,k1=new G,A1={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function y1(){return D===null?g1:1}let O=C;function L1(V,p1){for(let m1=0;m1{function J1(){if(B1.forEach(function(a0){q.get(a0).currentProgram.isReady()&&B1.delete(a0)}),B1.size===0){x1(V);return}setTimeout(J1,10)}n1.get("KHR_parallel_shader_compile")!==null?J1():setTimeout(J1,10)})};let q0=null;function Z0(V){q0&&q0(V)}function o9(){n2.stop()}function e2(){n2.start()}const n2=new em;n2.setAnimationLoop(Z0),typeof self<"u"&&n2.setContext(self),this.setAnimationLoop=function(V){q0=V,_0.setAnimationLoop(V),V===null?n2.stop():n2.start()},_0.addEventListener("sessionstart",o9),_0.addEventListener("sessionend",e2),this.render=function(V,p1){if(p1!==void 0&&p1.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(I===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),p1.parent===null&&p1.matrixWorldAutoUpdate===!0&&p1.updateMatrixWorld(),_0.enabled===!0&&_0.isPresenting===!0&&(_0.cameraAutoUpdate===!0&&_0.updateCamera(p1),p1=_0.getCamera()),V.isScene===!0&&V.onBeforeRender(k,V,p1,D),m=l0.get(V,M.length),m.init(),M.push(m),N.multiplyMatrices(p1.projectionMatrix,p1.matrixWorldInverse),j1.setFromProjectionMatrix(N),z=this.localClippingEnabled,$=L0.init(this.clippingPlanes,z),E=K1.get(V,L.length),E.init(),L.push(E),y9(V,p1,0,k.sortObjects),E.finish(),k.sortObjects===!0&&E.sort(F,e1),this.info.render.frame++,$===!0&&L0.beginShadows();const m1=m.state.shadowsArray;if(T1.render(m1,V,p1),$===!0&&L0.endShadows(),this.info.autoReset===!0&&this.info.reset(),(_0.enabled===!1||_0.isPresenting===!1||_0.hasDepthSensing()===!1)&&b0.render(E,V),m.setupLights(k._useLegacyLights),p1.isArrayCamera){const B1=p1.cameras;for(let x1=0,J1=B1.length;x10?m=M[M.length-1]:m=null,L.pop(),L.length>0?E=L[L.length-1]:E=null};function y9(V,p1,m1,B1){if(V.visible===!1)return;if(V.layers.test(p1.layers)){if(V.isGroup)m1=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(p1);else if(V.isLight)m.pushLight(V),V.castShadow&&m.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||j1.intersectsSprite(V)){B1&&k1.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const a0=Q1.update(V),v0=V.material;v0.visible&&E.push(V,a0,v0,m1,k1.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||j1.intersectsObject(V))){const a0=Q1.update(V),v0=V.material;if(B1&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),k1.copy(V.boundingSphere.center)):(a0.boundingSphere===null&&a0.computeBoundingSphere(),k1.copy(a0.boundingSphere.center)),k1.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(v0)){const w0=a0.groups;for(let E0=0,M0=w0.length;E00&&y4(x1,J1,p1,m1),B1&&l1.viewport(_.copy(B1)),x1.length>0&&e4(x1,p1,m1),J1.length>0&&e4(J1,p1,m1),a0.length>0&&e4(a0,p1,m1),l1.buffers.depth.setTest(!0),l1.buffers.depth.setMask(!0),l1.buffers.color.setMask(!0),l1.setPolygonOffset(!1)}function y4(V,p1,m1,B1){if((m1.isScene===!0?m1.overrideMaterial:null)!==null)return;const J1=u1.isWebGL2;W===null&&(W=new R8(1,1,{generateMipmaps:!0,type:n1.has("EXT_color_buffer_half_float")?v3:x4,minFilter:A4,samples:J1?4:0})),k.getDrawingBufferSize(v1),J1?W.setSize(v1.x,v1.y):W.setSize(zi(v1.x),zi(v1.y));const a0=k.getRenderTarget();k.setRenderTarget(W),k.getClearColor(f1),J=k.getClearAlpha(),J<1&&k.setClearColor(16777215,.5),k.clear();const v0=k.toneMapping;k.toneMapping=w4,e4(V,m1,B1),S.updateMultisampleRenderTarget(W),S.updateRenderTargetMipmap(W);let w0=!1;for(let E0=0,M0=p1.length;E00),k0=!!m1.morphAttributes.position,d2=!!m1.morphAttributes.normal,F2=!!m1.morphAttributes.color;let s2=w4;B1.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(s2=k.toneMapping);const y2=m1.morphAttributes.position||m1.morphAttributes.normal||m1.morphAttributes.color,c0=y2!==void 0?y2.length:0,e0=q.get(B1),B9=m.state.lights;if($===!0&&(z===!0||V!==X)){const N1=V===X&&B1.id===U;L0.setState(B1,V,N1)}let H=!1;B1.version===e0.__version?(e0.needsLights&&e0.lightsStateVersion!==B9.state.version||e0.outputColorSpace!==v0||x1.isBatchedMesh&&e0.batching===!1||!x1.isBatchedMesh&&e0.batching===!0||x1.isInstancedMesh&&e0.instancing===!1||!x1.isInstancedMesh&&e0.instancing===!0||x1.isSkinnedMesh&&e0.skinning===!1||!x1.isSkinnedMesh&&e0.skinning===!0||x1.isInstancedMesh&&e0.instancingColor===!0&&x1.instanceColor===null||x1.isInstancedMesh&&e0.instancingColor===!1&&x1.instanceColor!==null||e0.envMap!==w0||B1.fog===!0&&e0.fog!==J1||e0.numClippingPlanes!==void 0&&(e0.numClippingPlanes!==L0.numPlanes||e0.numIntersection!==L0.numIntersection)||e0.vertexAlphas!==E0||e0.vertexTangents!==M0||e0.morphTargets!==k0||e0.morphNormals!==d2||e0.morphColors!==F2||e0.toneMapping!==s2||u1.isWebGL2===!0&&e0.morphTargetsCount!==c0)&&(H=!0):(H=!0,e0.__version=B1.version);let j=e0.currentProgram;H===!0&&(j=t4(B1,p1,x1));let t1=!1,i1=!1,h1=!1;const E1=j.getUniforms(),H1=e0.uniforms;if(l1.useProgram(j.program)&&(t1=!0,i1=!0,h1=!0),B1.id!==U&&(U=B1.id,i1=!0),t1||X!==V){E1.setValue(O,"projectionMatrix",V.projectionMatrix),E1.setValue(O,"viewMatrix",V.matrixWorldInverse);const N1=E1.map.cameraPosition;N1!==void 0&&N1.setValue(O,k1.setFromMatrixPosition(V.matrixWorld)),u1.logarithmicDepthBuffer&&E1.setValue(O,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(B1.isMeshPhongMaterial||B1.isMeshToonMaterial||B1.isMeshLambertMaterial||B1.isMeshBasicMaterial||B1.isMeshStandardMaterial||B1.isShaderMaterial)&&E1.setValue(O,"isOrthographic",V.isOrthographicCamera===!0),X!==V&&(X=V,i1=!0,h1=!0)}if(x1.isSkinnedMesh){E1.setOptional(O,x1,"bindMatrix"),E1.setOptional(O,x1,"bindMatrixInverse");const N1=x1.skeleton;N1&&(u1.floatVertexTextures?(N1.boneTexture===null&&N1.computeBoneTexture(),E1.setValue(O,"boneTexture",N1.boneTexture,S)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}x1.isBatchedMesh&&(E1.setOptional(O,x1,"batchingTexture"),E1.setValue(O,"batchingTexture",x1._matricesTexture,S));const P1=m1.morphAttributes;if((P1.position!==void 0||P1.normal!==void 0||P1.color!==void 0&&u1.isWebGL2===!0)&&y0.update(x1,m1,j),(i1||e0.receiveShadow!==x1.receiveShadow)&&(e0.receiveShadow=x1.receiveShadow,E1.setValue(O,"receiveShadow",x1.receiveShadow)),B1.isMeshGouraudMaterial&&B1.envMap!==null&&(H1.envMap.value=w0,H1.flipEnvMap.value=w0.isCubeTexture&&w0.isRenderTargetTexture===!1?-1:1),i1&&(E1.setValue(O,"toneMappingExposure",k.toneMappingExposure),e0.needsLights&&xe(H1,h1),J1&&B1.fog===!0&&z1.refreshFogUniforms(H1,J1),z1.refreshMaterialUniforms(H1,B1,g1,o1,W),hi.upload(O,b3(e0),H1,S)),B1.isShaderMaterial&&B1.uniformsNeedUpdate===!0&&(hi.upload(O,b3(e0),H1,S),B1.uniformsNeedUpdate=!1),B1.isSpriteMaterial&&E1.setValue(O,"center",x1.center),E1.setValue(O,"modelViewMatrix",x1.modelViewMatrix),E1.setValue(O,"normalMatrix",x1.normalMatrix),E1.setValue(O,"modelMatrix",x1.matrixWorld),B1.isShaderMaterial||B1.isRawShaderMaterial){const N1=B1.uniformsGroups;for(let U1=0,V1=N1.length;U10&&S.useMultisampledRTT(V)===!1?x1=q.get(V).__webglMultisampledFramebuffer:Array.isArray(M0)?x1=M0[m1]:x1=M0,_.copy(V.viewport),P.copy(V.scissor),Z=V.scissorTest}else _.copy(C1).multiplyScalar(g1).floor(),P.copy(d1).multiplyScalar(g1).floor(),Z=I1;if(l1.bindFramebuffer(O.FRAMEBUFFER,x1)&&u1.drawBuffers&&B1&&l1.drawBuffers(V,x1),l1.viewport(_),l1.scissor(P),l1.setScissorTest(Z),J1){const w0=q.get(V.texture);O.framebufferTexture2D(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,O.TEXTURE_CUBE_MAP_POSITIVE_X+p1,w0.__webglTexture,m1)}else if(a0){const w0=q.get(V.texture),E0=p1||0;O.framebufferTextureLayer(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,w0.__webglTexture,m1||0,E0)}U=-1},this.readRenderTargetPixels=function(V,p1,m1,B1,x1,J1,a0){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let v0=q.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&a0!==void 0&&(v0=v0[a0]),v0){l1.bindFramebuffer(O.FRAMEBUFFER,v0);try{const w0=V.texture,E0=w0.format,M0=w0.type;if(E0!==b9&&t0.convert(E0)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const k0=M0===v3&&(n1.has("EXT_color_buffer_half_float")||u1.isWebGL2&&n1.has("EXT_color_buffer_float"));if(M0!==x4&&t0.convert(M0)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_TYPE)&&!(M0===y8&&(u1.isWebGL2||n1.has("OES_texture_float")||n1.has("WEBGL_color_buffer_float")))&&!k0){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}p1>=0&&p1<=V.width-B1&&m1>=0&&m1<=V.height-x1&&O.readPixels(p1,m1,B1,x1,t0.convert(E0),t0.convert(M0),J1)}finally{const w0=D!==null?q.get(D).__webglFramebuffer:null;l1.bindFramebuffer(O.FRAMEBUFFER,w0)}}},this.copyFramebufferToTexture=function(V,p1,m1=0){const B1=Math.pow(2,-m1),x1=Math.floor(p1.image.width*B1),J1=Math.floor(p1.image.height*B1);S.setTexture2D(p1,0),O.copyTexSubImage2D(O.TEXTURE_2D,m1,0,0,V.x,V.y,x1,J1),l1.unbindTexture()},this.copyTextureToTexture=function(V,p1,m1,B1=0){const x1=p1.image.width,J1=p1.image.height,a0=t0.convert(m1.format),v0=t0.convert(m1.type);S.setTexture2D(m1,0),O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,m1.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m1.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,m1.unpackAlignment),p1.isDataTexture?O.texSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,x1,J1,a0,v0,p1.image.data):p1.isCompressedTexture?O.compressedTexSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,p1.mipmaps[0].width,p1.mipmaps[0].height,a0,p1.mipmaps[0].data):O.texSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,a0,v0,p1.image),B1===0&&m1.generateMipmaps&&O.generateMipmap(O.TEXTURE_2D),l1.unbindTexture()},this.copyTextureToTexture3D=function(V,p1,m1,B1,x1=0){if(k.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const J1=V.max.x-V.min.x+1,a0=V.max.y-V.min.y+1,v0=V.max.z-V.min.z+1,w0=t0.convert(B1.format),E0=t0.convert(B1.type);let M0;if(B1.isData3DTexture)S.setTexture3D(B1,0),M0=O.TEXTURE_3D;else if(B1.isDataArrayTexture||B1.isCompressedArrayTexture)S.setTexture2DArray(B1,0),M0=O.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,B1.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B1.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,B1.unpackAlignment);const k0=O.getParameter(O.UNPACK_ROW_LENGTH),d2=O.getParameter(O.UNPACK_IMAGE_HEIGHT),F2=O.getParameter(O.UNPACK_SKIP_PIXELS),s2=O.getParameter(O.UNPACK_SKIP_ROWS),y2=O.getParameter(O.UNPACK_SKIP_IMAGES),c0=m1.isCompressedTexture?m1.mipmaps[x1]:m1.image;O.pixelStorei(O.UNPACK_ROW_LENGTH,c0.width),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,c0.height),O.pixelStorei(O.UNPACK_SKIP_PIXELS,V.min.x),O.pixelStorei(O.UNPACK_SKIP_ROWS,V.min.y),O.pixelStorei(O.UNPACK_SKIP_IMAGES,V.min.z),m1.isDataTexture||m1.isData3DTexture?O.texSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,a0,v0,w0,E0,c0.data):m1.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),O.compressedTexSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,a0,v0,w0,c0.data)):O.texSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,a0,v0,w0,E0,c0),O.pixelStorei(O.UNPACK_ROW_LENGTH,k0),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,d2),O.pixelStorei(O.UNPACK_SKIP_PIXELS,F2),O.pixelStorei(O.UNPACK_SKIP_ROWS,s2),O.pixelStorei(O.UNPACK_SKIP_IMAGES,y2),x1===0&&B1.generateMipmaps&&O.generateMipmap(M0),l1.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?S.setTextureCube(V,0):V.isData3DTexture?S.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?S.setTexture2DArray(V,0):S.setTexture2D(V,0),l1.unbindTexture()},this.resetState=function(){b=0,R=0,D=null,l1.reset(),m0.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return p4}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===Lo?"display-p3":"srgb",n.unpackColorSpace=C2.workingColorSpace===Mn?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Q2?t5:bd}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===t5?Q2:m4}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 lm extends Od{}lm.prototype.isWebGL1Renderer=!0;class ko{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Z1(e),this.density=n}clone(){return new ko(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Mo{constructor(e,n=1,C=1e3){this.isFog=!0,this.name="",this.color=new Z1(e),this.near=n,this.far=C}clone(){return new Mo(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class sn extends Y0{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),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,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class Eo{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=Cn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=a8()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return a3("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,n){this.updateRanges.push({start:e,count:n})}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,n,C){e*=this.stride,C*=n.stride;for(let r=0,i=this.stride;re.far||n.push({distance:l,point:Ze.clone(),uv:n3.getInterpolation(Ze,ur,tt,dr,XA,ql,KA,new M1),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function hr(t,e,n,C,r,i){h7.subVectors(t,n).addScalar(.5).multiply(C),r!==void 0?(et.x=i*h7.x-r*h7.y,et.y=r*h7.x+i*h7.y):et.copy(h7),t.copy(e),t.x+=et.x,t.y+=et.y,t.applyMatrix4(am)}const fr=new G,qA=new G;class um extends Y0{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 n=e.levels;for(let C=0,r=n.length;C0){let C,r;for(C=1,r=n.length;C0){fr.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(fr);this.getObjectForDistance(r).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){fr.setFromMatrixPosition(e.matrixWorld),qA.setFromMatrixPosition(this.matrixWorld);const C=fr.distanceTo(qA)/e.zoom;n[0].object.visible=!0;let r,i;for(r=1,i=n.length;r=o)n[r-1].object.visible=!1,n[r].object.visible=!0;else break}for(this._currentLevel=r-1;r=C.length&&C.push({start:-1,count:-1,z:-1});const i=C[this.index];r.push(i),this.index++,i.start=e.start,i.count=e.count,i.z=n}reset(){this.list.length=0,this.index=0}}const g7="batchId",D6=new f0,sp=new f0,Tb=new f0,lp=new f0,ta=new Bn,pr=new V2,T5=new r9,rt=new G,na=new Db,m9=new i2,Lr=[];function Hb(t,e,n=0){const C=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const r=t.count;for(let i=0;i65536?new Uint32Array(i):new Uint16Array(i);n.setIndex(new t2(s,1))}const o=r>65536?new Uint32Array(C):new Uint16Array(C);n.setAttribute(g7,new t2(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(g7))throw new Error(`BatchedMesh: Geometry cannot use attribute "${g7}"`);const n=this.geometry;if(!!e.getIndex()!=!!n.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const C in n.attributes){if(C===g7)continue;if(!e.hasAttribute(C))throw new Error(`BatchedMesh: Added geometry missing "${C}". All geometries must have consistent attributes.`);const r=e.getAttribute(C),i=n.getAttribute(C);if(r.itemSize!==i.itemSize||r.normalized!==i.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 V2);const e=this._geometryCount,n=this.boundingBox,C=this._active;n.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 i=null;const o=this._reservedRanges,s=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(i=o[o.length-1]),n===-1?r.vertexCount=e.getAttribute("position").count:r.vertexCount=n,i===null?r.vertexStart=0:r.vertexStart=i.vertexStart+i.vertexCount;const d=e.getIndex(),g=d!==null;if(g&&(C===-1?r.indexCount=d.count:r.indexCount=C,i===null?r.indexStart=0:r.indexStart=i.indexStart+i.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 A=this._visibility,p=this._active,v=this._matricesTexture,x=this._matricesTexture.image.data;A.push(!0),p.push(!0);const E=this._geometryCount;this._geometryCount++,Tb.toArray(x,E*16),v.needsUpdate=!0,o.push(r),s.push({start:g?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new V2,sphereInitialized:!1,sphere:new r9});const m=this.geometry.getAttribute(g7);for(let L=0;L=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(n);const C=this.geometry,r=C.getIndex()!==null,i=C.getIndex(),o=n.getIndex(),s=this._reservedRanges[e];if(r&&o.count>s.indexCount||n.attributes.position.count>s.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=s.vertexStart,d=s.vertexCount;for(const v in C.attributes){if(v===g7)continue;const x=n.getAttribute(v),E=C.getAttribute(v);Hb(x,E,l);const m=x.itemSize;for(let L=x.count,M=d;L=n.length||n[e]===!1?this:(n[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,n){if(this._active[e]===!1)return null;const r=this._bounds[e],i=r.box,o=this.geometry;if(r.boxInitialized===!1){i.makeEmpty();const s=o.index,l=o.attributes.position,d=this._drawRanges[e];for(let g=d.start,A=d.start+d.count;g=o||C[e]===!1?this:(n.toArray(i,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,n){const C=this._active,r=this._matricesTexture.image.data,i=this._geometryCount;return e>=i||C[e]===!1?null:n.fromArray(r,e*16)}setVisibleAt(e,n){const C=this._visibility,r=this._active,i=this._geometryCount;return e>=i||r[e]===!1||C[e]===n?this:(C[e]=n,this._visibilityChanged=!0,this)}getVisibleAt(e){const n=this._visibility,C=this._active,r=this._geometryCount;return e>=r||C[e]===!1?!1:n[e]}raycast(e,n){const C=this._visibility,r=this._active,i=this._drawRanges,o=this._geometryCount,s=this.matrixWorld,l=this.geometry;m9.material=this.material,m9.geometry.index=l.index,m9.geometry.attributes=l.attributes,m9.geometry.boundingBox===null&&(m9.geometry.boundingBox=new V2),m9.geometry.boundingSphere===null&&(m9.geometry.boundingSphere=new r9);for(let d=0;d({...n})),this._reservedRanges=e._reservedRanges.map(n=>({...n})),this._visibility=e._visibility.slice(),this._active=e._active.slice(),this._bounds=e._bounds.map(n=>({boxInitialized:n.boxInitialized,box:n.box.clone(),sphereInitialized:n.sphereInitialized,sphere:n.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,n,C,r,i){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=r.getIndex(),s=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._active,d=this._visibility,g=this._multiDrawStarts,A=this._multiDrawCounts,p=this._drawRanges,v=this.perObjectFrustumCulled;v&&(lp.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),ta.setFromProjectionMatrix(lp,e.coordinateSystem));let x=0;if(this.sortObjects){sp.copy(this.matrixWorld).invert(),rt.setFromMatrixPosition(C.matrixWorld).applyMatrix4(sp);for(let L=0,M=d.length;Ll)continue;p.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(p);Ue.far||n.push({distance:U,point:A.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this})}}else{const L=Math.max(0,o.start),M=Math.min(m.count,o.start+o.count);for(let k=L,I=M-1;kl)continue;p.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(p);Re.far||n.push({distance:R,point:A.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,C=Object.keys(n);if(C.length>0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;i0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;ir.far)return;i.push({distance:d,distanceToRay:Math.sqrt(s),point:l,index:e,face:null,object:o})}}class pm extends w2{constructor(e,n,C,r,i,o,s,l,d){super(e,n,C,r,i,o,s,l,d),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:A2,this.magFilter=i!==void 0?i:A2,this.generateMipmaps=!1;const g=this;function A(){g.needsUpdate=!0,e.requestVideoFrameCallback(A)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(A)}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 Pb extends w2{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=T2,this.minFilter=T2,this.generateMipmaps=!1,this.needsUpdate=!0}}class Bo extends w2{constructor(e,n,C,r,i,o,s,l,d,g,A,p){super(null,o,s,l,d,g,r,i,A,p),this.isCompressedTexture=!0,this.image={width:n,height:C},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Nb extends Bo{constructor(e,n,C,r,i,o){super(e,n,C,i,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=M9}}class jb extends Bo{constructor(e,n,C){super(void 0,e[0].width,e[0].height,n,C,t6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Ub extends w2{constructor(e,n,C,r,i,o,s,l,d){super(e,n,C,r,i,o,s,l,d),this.isCanvasTexture=!0,this.needsUpdate=!0}}class K8{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const C=this.getUtoTmapping(e);return this.getPoint(C,n)}getPoints(e=5){const n=[];for(let C=0;C<=e;C++)n.push(this.getPoint(C/e));return n}getSpacedPoints(e=5){const n=[];for(let C=0;C<=e;C++)n.push(this.getPointAt(C/e));return n}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 n=[];let C,r=this.getPoint(0),i=0;n.push(0);for(let o=1;o<=e;o++)C=this.getPoint(o/e),i+=C.distanceTo(r),n.push(i),r=C;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const C=this.getLengths();let r=0;const i=C.length;let o;n?o=n:o=e*C[i-1];let s=0,l=i-1,d;for(;s<=l;)if(r=Math.floor(s+(l-s)/2),d=C[r]-o,d<0)s=r+1;else if(d>0)l=r-1;else{l=r;break}if(r=l,C[r]===o)return r/(i-1);const g=C[r],p=C[r+1]-g,v=(o-g)/p;return(r+v)/(i-1)}getTangent(e,n){let r=e-1e-4,i=e+1e-4;r<0&&(r=0),i>1&&(i=1);const o=this.getPoint(r),s=this.getPoint(i),l=n||(o.isVector2?new M1:new G);return l.copy(s).sub(o).normalize(),l}getTangentAt(e,n){const C=this.getUtoTmapping(e);return this.getTangent(C,n)}computeFrenetFrames(e,n){const C=new G,r=[],i=[],o=[],s=new G,l=new f0;for(let v=0;v<=e;v++){const x=v/e;r[v]=this.getTangentAt(x,new G)}i[0]=new G,o[0]=new G;let d=Number.MAX_VALUE;const g=Math.abs(r[0].x),A=Math.abs(r[0].y),p=Math.abs(r[0].z);g<=d&&(d=g,C.set(1,0,0)),A<=d&&(d=A,C.set(0,1,0)),p<=d&&C.set(0,0,1),s.crossVectors(r[0],C).normalize(),i[0].crossVectors(r[0],s),o[0].crossVectors(r[0],i[0]);for(let v=1;v<=e;v++){if(i[v]=i[v-1].clone(),o[v]=o[v-1].clone(),s.crossVectors(r[v-1],r[v]),s.length()>Number.EPSILON){s.normalize();const x=Math.acos(R2(r[v-1].dot(r[v]),-1,1));i[v].applyMatrix4(l.makeRotationAxis(s,x))}o[v].crossVectors(r[v],i[v])}if(n===!0){let v=Math.acos(R2(i[0].dot(i[e]),-1,1));v/=e,r[0].dot(s.crossVectors(i[0],i[e]))>0&&(v=-v);for(let x=1;x<=e;x++)i[x].applyMatrix4(l.makeRotationAxis(r[x],v*x)),o[x].crossVectors(r[x],i[x])}return{tangents:r,normals:i,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 Io extends K8{constructor(e=0,n=0,C=1,r=1,i=0,o=Math.PI*2,s=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=C,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=o,this.aClockwise=s,this.aRotation=l}getPoint(e,n){const C=n||new M1,r=Math.PI*2;let i=this.aEndAngle-this.aStartAngle;const o=Math.abs(i)r;)i-=r;i0?0:(Math.floor(Math.abs(s)/i)+1)*i:l===0&&s===i-1&&(s=i-2,l=1);let d,g;this.closed||s>0?d=r[(s-1)%i]:(mr.subVectors(r[0],r[1]).add(r[0]),d=mr);const A=r[s%i],p=r[(s+1)%i];if(this.closed||s+2r.length-2?r.length-1:o+1],A=r[o>r.length-3?r.length-1:o+2];return C.set(Ap(s,l.x,d.x,g.x,A.x),Ap(s,l.y,d.y,g.y,A.y)),C}copy(e){super.copy(e),this.points=[];for(let n=0,C=e.points.length;n=C){const o=r[i]-C,s=this.curves[i],l=s.getLength(),d=l===0?0:1-o/l;return s.getPointAt(d,n)}i++}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 n=0;for(let C=0,r=this.curves.length;C1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,C=e.curves.length;n0){const A=d.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(d);const g=d.getPoint(1);return this.currentPoint.copy(g),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 In extends R0{constructor(e=[new M1(0,-.5),new M1(.5,0),new M1(0,.5)],n=12,C=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:C,phiLength:r},n=Math.floor(n),r=R2(r,0,Math.PI*2);const i=[],o=[],s=[],l=[],d=[],g=1/n,A=new G,p=new M1,v=new G,x=new G,E=new G;let m=0,L=0;for(let M=0;M<=e.length-1;M++)switch(M){case 0:m=e[M+1].x-e[M].x,L=e[M+1].y-e[M].y,v.x=L*1,v.y=-m,v.z=L*0,E.copy(v),v.normalize(),l.push(v.x,v.y,v.z);break;case e.length-1:l.push(E.x,E.y,E.z);break;default:m=e[M+1].x-e[M].x,L=e[M+1].y-e[M].y,v.x=L*1,v.y=-m,v.z=L*0,x.copy(v),v.x+=E.x,v.y+=E.y,v.z+=E.z,v.normalize(),l.push(v.x,v.y,v.z),E.copy(x)}for(let M=0;M<=n;M++){const k=C+M*g*r,I=Math.sin(k),b=Math.cos(k);for(let R=0;R<=e.length-1;R++){A.x=e[R].x*I,A.y=e[R].y,A.z=e[R].x*b,o.push(A.x,A.y,A.z),p.x=M/n,p.y=R/(e.length-1),s.push(p.x,p.y);const D=l[3*R+0]*I,U=l[3*R+1],X=l[3*R+0]*b;d.push(D,U,X)}}for(let M=0;M0&&k(!0),n>0&&k(!1)),this.setIndex(g),this.setAttribute("position",new o0(A,3)),this.setAttribute("normal",new o0(p,3)),this.setAttribute("uv",new o0(v,2));function M(){const I=new G,b=new G;let R=0;const D=(n-e)/C;for(let U=0;U<=i;U++){const X=[],_=U/i,P=_*(n-e)+e;for(let Z=0;Z<=r;Z++){const f1=Z/r,J=f1*l+s,a1=Math.sin(J),o1=Math.cos(J);b.x=P*a1,b.y=-_*C+m,b.z=P*o1,A.push(b.x,b.y,b.z),I.set(a1,D,o1).normalize(),p.push(I.x,I.y,I.z),v.push(f1,1-_),X.push(x++)}E.push(X)}for(let U=0;U.9&&D<.1&&(k<.2&&(o[M+0]+=1),I<.2&&(o[M+2]+=1),b<.2&&(o[M+4]+=1))}}function p(M){i.push(M.x,M.y,M.z)}function v(M,k){const I=M*3;k.x=e[I+0],k.y=e[I+1],k.z=e[I+2]}function x(){const M=new G,k=new G,I=new G,b=new G,R=new M1,D=new M1,U=new M1;for(let X=0,_=0;X80*n){s=d=t[0],l=g=t[1];for(let x=n;xd&&(d=A),p>g&&(g=p);v=Math.max(d-s,g-l),v=v!==0?32767/v:0}return ln(i,o,n,s,l,v,0),o}};function Mm(t,e,n,C,r){let i,o;if(r===cD(t,e,n,C)>0)for(i=e;i=e;i-=C)o=pp(i,t[i],t[i+1],o);return o&&bo(o,o.next)&&(cn(o),o=o.next),o}function m3(t,e){if(!t)return t;e||(e=t);let n=t,C;do if(C=!1,!n.steiner&&(bo(n,n.next)||k2(n.prev,n,n.next)===0)){if(cn(n),n=e=n.prev,n===n.next)break;C=!0}else n=n.next;while(C||n!==e);return e}function ln(t,e,n,C,r,i,o){if(!t)return;!o&&i&&rD(t,C,r,i);let s=t,l,d;for(;t.prev!==t.next;){if(l=t.prev,d=t.next,i?Xb(t,C,r,i):Jb(t)){e.push(l.i/n|0),e.push(t.i/n|0),e.push(d.i/n|0),cn(t),t=d.next,s=d.next;continue}if(t=d,t===s){o?o===1?(t=Kb(m3(t),e,n),ln(t,e,n,C,r,i,2)):o===2&&qb(t,e,n,C,r,i):ln(m3(t),e,n,C,r,i,1);break}}}function Jb(t){const e=t.prev,n=t,C=t.next;if(k2(e,n,C)>=0)return!1;const r=e.x,i=n.x,o=C.x,s=e.y,l=n.y,d=C.y,g=ri?r>o?r:o:i>o?i:o,v=s>l?s>d?s:d:l>d?l:d;let x=C.next;for(;x!==e;){if(x.x>=g&&x.x<=p&&x.y>=A&&x.y<=v&&U7(r,s,i,l,o,d,x.x,x.y)&&k2(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function Xb(t,e,n,C){const r=t.prev,i=t,o=t.next;if(k2(r,i,o)>=0)return!1;const s=r.x,l=i.x,d=o.x,g=r.y,A=i.y,p=o.y,v=sl?s>d?s:d:l>d?l:d,m=g>A?g>p?g:p:A>p?A:p,L=hu(v,x,e,n,C),M=hu(E,m,e,n,C);let k=t.prevZ,I=t.nextZ;for(;k&&k.z>=L&&I&&I.z<=M;){if(k.x>=v&&k.x<=E&&k.y>=x&&k.y<=m&&k!==r&&k!==o&&U7(s,g,l,A,d,p,k.x,k.y)&&k2(k.prev,k,k.next)>=0||(k=k.prevZ,I.x>=v&&I.x<=E&&I.y>=x&&I.y<=m&&I!==r&&I!==o&&U7(s,g,l,A,d,p,I.x,I.y)&&k2(I.prev,I,I.next)>=0))return!1;I=I.nextZ}for(;k&&k.z>=L;){if(k.x>=v&&k.x<=E&&k.y>=x&&k.y<=m&&k!==r&&k!==o&&U7(s,g,l,A,d,p,k.x,k.y)&&k2(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;I&&I.z<=M;){if(I.x>=v&&I.x<=E&&I.y>=x&&I.y<=m&&I!==r&&I!==o&&U7(s,g,l,A,d,p,I.x,I.y)&&k2(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function Kb(t,e,n){let C=t;do{const r=C.prev,i=C.next.next;!bo(r,i)&&Em(r,C,C.next,i)&&an(r,i)&&an(i,r)&&(e.push(r.i/n|0),e.push(C.i/n|0),e.push(i.i/n|0),cn(C),cn(C.next),C=t=i),C=C.next}while(C!==t);return m3(C)}function qb(t,e,n,C,r,i){let o=t;do{let s=o.next.next;for(;s!==o.prev;){if(o.i!==s.i&&sD(o,s)){let l=ym(o,s);o=m3(o,o.next),l=m3(l,l.next),ln(o,e,n,C,r,i,0),ln(l,e,n,C,r,i,0);return}s=s.next}o=o.next}while(o!==t)}function Zb(t,e,n,C){const r=[];let i,o,s,l,d;for(i=0,o=e.length;i=n.next.y&&n.next.y!==n.y){const p=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(p<=i&&p>C&&(C=p,r=n.x=n.x&&n.x>=l&&i!==n.x&&U7(or.x||n.x===r.x&&CD(r,n)))&&(r=n,g=A)),n=n.next;while(n!==s);return r}function CD(t,e){return k2(t.prev,t,e.prev)<0&&k2(e.next,t,t.next)<0}function rD(t,e,n,C){let r=t;do r.z===0&&(r.z=hu(r.x,r.y,e,n,C)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,iD(r)}function iD(t){let e,n,C,r,i,o,s,l,d=1;do{for(n=t,t=null,i=null,o=0;n;){for(o++,C=n,s=0,e=0;e0||l>0&&C;)s!==0&&(l===0||!C||n.z<=C.z)?(r=n,n=n.nextZ,s--):(r=C,C=C.nextZ,l--),i?i.nextZ=r:t=r,r.prevZ=i,i=r;n=C}i.nextZ=null,d*=2}while(o>1);return t}function hu(t,e,n,C,r){return t=(t-n)*r|0,e=(e-C)*r|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function oD(t){let e=t,n=t;do(e.x=(t-o)*(i-s)&&(t-o)*(C-s)>=(n-o)*(e-s)&&(n-o)*(i-s)>=(r-o)*(C-s)}function sD(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!lD(t,e)&&(an(t,e)&&an(e,t)&&aD(t,e)&&(k2(t.prev,t,e.prev)||k2(t,e.prev,e))||bo(t,e)&&k2(t.prev,t,t.next)>0&&k2(e.prev,e,e.next)>0)}function k2(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function bo(t,e){return t.x===e.x&&t.y===e.y}function Em(t,e,n,C){const r=Br(k2(t,e,n)),i=Br(k2(t,e,C)),o=Br(k2(n,C,t)),s=Br(k2(n,C,e));return!!(r!==i&&o!==s||r===0&&yr(t,n,e)||i===0&&yr(t,C,e)||o===0&&yr(n,t,C)||s===0&&yr(n,e,C))}function yr(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Br(t){return t>0?1:t<0?-1:0}function lD(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Em(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function an(t,e){return k2(t.prev,t,t.next)<0?k2(t,e,t.next)>=0&&k2(t,t.prev,e)>=0:k2(t,e,t.prev)<0||k2(t,t.next,e)<0}function aD(t,e){let n=t,C=!1;const r=(t.x+e.x)/2,i=(t.y+e.y)/2;do n.y>i!=n.next.y>i&&n.next.y!==n.y&&r<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(C=!C),n=n.next;while(n!==t);return C}function ym(t,e){const n=new fu(t.i,t.x,t.y),C=new fu(e.i,e.x,e.y),r=t.next,i=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,C.next=n,n.prev=C,i.next=C,C.prev=i,C}function pp(t,e,n,C){const r=new fu(t,e,n);return C?(r.next=C.next,r.prev=C,C.next.prev=r,C.next=r):(r.prev=r,r.next=r),r}function cn(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function fu(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function cD(t,e,n,C){let r=0;for(let i=e,o=n-C;i2&&t[e-1].equals(t[0])&&t.pop()}function vp(t,e){for(let n=0;nNumber.EPSILON){const Q1=Math.sqrt(D1),Y1=Math.sqrt(T*T+r1*r1),z1=L1.x-S/Q1,K1=L1.y+q/Q1,l0=n1.x-r1/Y1,L0=n1.y+T/Y1,T1=((l0-z1)*r1-(L0-K1)*T)/(q*r1-S*T);u1=z1+q*T1-O.x,l1=K1+S*T1-O.y;const b0=u1*u1+l1*l1;if(b0<=2)return new M1(u1,l1);R1=Math.sqrt(b0/2)}else{let Q1=!1;q>Number.EPSILON?T>Number.EPSILON&&(Q1=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Q1=!0):Math.sign(S)===Math.sign(r1)&&(Q1=!0),Q1?(u1=-S,l1=q,R1=Math.sqrt(D1)):(u1=q,l1=S,R1=Math.sqrt(D1/2))}return new M1(u1/R1,l1/R1)}const e1=[];for(let O=0,L1=J.length,n1=L1-1,u1=O+1;O=0;O--){const L1=O/m,n1=v*Math.cos(L1*Math.PI/2),u1=x*Math.sin(L1*Math.PI/2)+E;for(let l1=0,R1=J.length;l1=0;){const u1=n1;let l1=n1-1;l1<0&&(l1=O.length-1);for(let R1=0,q=g+m*2;R10)&&v.push(k,I,R),(L!==C-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class Qm extends i9{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Z1(16777215),this.specular=new Z1(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=kn,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.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 Rm extends i9{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Z1(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 bm extends i9{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 Dm extends i9{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Z1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=kn,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.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 Tm extends i9{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Z1(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 Hm extends U9{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 C3(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function Pm(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Nm(t){function e(r,i){return t[r]-t[i]}const n=t.length,C=new Array(n);for(let r=0;r!==n;++r)C[r]=r;return C.sort(e),C}function gu(t,e,n){const C=t.length,r=new t.constructor(C);for(let i=0,o=0;o!==C;++i){const s=n[i]*e;for(let l=0;l!==e;++l)r[o++]=t[s+l]}return r}function eh(t,e,n,C){let r=1,i=t[0];for(;i!==void 0&&i[C]===void 0;)i=t[r++];if(i===void 0)return;let o=i[C];if(o!==void 0)if(Array.isArray(o))do o=i[C],o!==void 0&&(e.push(i.time),n.push.apply(n,o)),i=t[r++];while(i!==void 0);else if(o.toArray!==void 0)do o=i[C],o!==void 0&&(e.push(i.time),o.toArray(n,n.length)),i=t[r++];while(i!==void 0);else do o=i[C],o!==void 0&&(e.push(i.time),n.push(o)),i=t[r++];while(i!==void 0)}function fD(t,e,n,C,r=30){const i=t.clone();i.name=e;const o=[];for(let l=0;l=C)){A.push(d.times[v]);for(let E=0;Ei.tracks[l].times[0]&&(s=i.tracks[l].times[0]);for(let l=0;l=s.times[x]){const L=x*A+g,M=L+A-g;E=s.values.slice(L,M)}else{const L=s.createInterpolant(),M=g,k=A-g;L.evaluate(i),E=L.resultBuffer.slice(M,k)}l==="quaternion"&&new P9().fromArray(E).normalize().conjugate().toArray(E);const m=d.times.length;for(let L=0;L=i)){const s=n[1];e=i)break t}o=C,C=0;break n}break e}for(;C>>1;en;)--o;if(++o,i!==0||o!==r){i>=o&&(o=Math.max(o,1),i=o-1);const s=this.getValueSize();this.times=C.slice(i,o),this.values=this.values.slice(i*s,o*s)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const C=this.times,r=this.values,i=C.length;i===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let s=0;s!==i;s++){const l=C[s];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,l,o),e=!1;break}o=l}if(r!==void 0&&Pm(r))for(let s=0,l=r.length;s!==l;++s){const d=r[s];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),C=this.getValueSize(),r=this.getInterpolation()===di,i=e.length-1;let o=1;for(let s=1;s0){e[o]=e[i];for(let s=i*C,l=o*C,d=0;d!==C;++d)n[l+d]=n[s+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*C)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),C=this.constructor,r=new C(this.name,e,n);return r.createInterpolant=this.createInterpolant,r}}q8.prototype.TimeBufferType=Float32Array;q8.prototype.ValueBufferType=Float32Array;q8.prototype.DefaultInterpolation=qt;class y3 extends q8{}y3.prototype.ValueTypeName="bool";y3.prototype.ValueBufferType=Array;y3.prototype.DefaultInterpolation=Kt;y3.prototype.InterpolantFactoryMethodLinear=void 0;y3.prototype.InterpolantFactoryMethodSmooth=void 0;class nh extends q8{}nh.prototype.ValueTypeName="color";class un extends q8{}un.prototype.ValueTypeName="number";class Fm extends Qn{constructor(e,n,C,r){super(e,n,C,r)}interpolate_(e,n,C,r){const i=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=(C-n)/(r-n);let d=e*s;for(let g=d+s;d!==g;d+=4)P9.slerpFlat(i,0,o,d-s,o,d,l);return i}}class ge extends q8{InterpolantFactoryMethodLinear(e){return new Fm(this.times,this.values,this.getValueSize(),e)}}ge.prototype.ValueTypeName="quaternion";ge.prototype.DefaultInterpolation=qt;ge.prototype.InterpolantFactoryMethodSmooth=void 0;class B3 extends q8{}B3.prototype.ValueTypeName="string";B3.prototype.ValueBufferType=Array;B3.prototype.DefaultInterpolation=Kt;B3.prototype.InterpolantFactoryMethodLinear=void 0;B3.prototype.InterpolantFactoryMethodSmooth=void 0;class dn extends q8{}dn.prototype.ValueTypeName="vector";class hn{constructor(e,n=-1,C,r=po){this.name=e,this.tracks=C,this.duration=n,this.blendMode=r,this.uuid=a8(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],C=e.tracks,r=1/(e.fps||1);for(let o=0,s=C.length;o!==s;++o)n.push(LD(C[o]).scale(r));const i=new this(e.name,e.duration,n,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){const n=[],C=e.tracks,r={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let i=0,o=C.length;i!==o;++i)n.push(q8.toJSON(C[i]));return r}static CreateFromMorphTargetSequence(e,n,C,r){const i=n.length,o=[];for(let s=0;s1){const A=g[1];let p=r[A];p||(r[A]=p=[]),p.push(d)}}const o=[];for(const s in r)o.push(this.CreateFromMorphTargetSequence(s,r[s],n,C));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const C=function(A,p,v,x,E){if(v.length!==0){const m=[],L=[];eh(v,m,L,x),m.length!==0&&E.push(new A(p,m,L))}},r=[],i=e.name||"default",o=e.fps||30,s=e.blendMode;let l=e.length||-1;const d=e.hierarchy||[];for(let A=0;A{n&&n(i),this.manager.itemEnd(e)},0),i;if(N4[e]!==void 0){N4[e].push({onLoad:n,onProgress:C,onError:r});return}N4[e]=[],N4[e].push({onLoad:n,onProgress:C,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,l=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const g=N4[e],A=d.body.getReader(),p=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),v=p?parseInt(p):0,x=v!==0;let E=0;const m=new ReadableStream({start(L){M();function M(){A.read().then(({done:k,value:I})=>{if(k)L.close();else{E+=I.byteLength;const b=new ProgressEvent("progress",{lengthComputable:x,loaded:E,total:v});for(let R=0,D=g.length;R{switch(l){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(g=>new DOMParser().parseFromString(g,s));case"json":return d.json();default:if(s===void 0)return d.text();{const A=/charset="?([^;"\s]*)"?/i.exec(s),p=A&&A[1]?A[1].toLowerCase():void 0,v=new TextDecoder(p);return d.arrayBuffer().then(x=>v.decode(x))}}}).then(d=>{Y4.add(e,d);const g=N4[e];delete N4[e];for(let A=0,p=g.length;A{const g=N4[e];if(g===void 0)throw this.manager.itemError(e),d;delete N4[e];for(let A=0,p=g.length;A{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class wD extends F9{constructor(e){super(e)}load(e,n,C,r){const i=this,o=new k4(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(s){try{n(i.parse(JSON.parse(s)))}catch(l){r?r(l):console.error(l),i.manager.itemError(e)}},C,r)}parse(e){const n=[];for(let C=0;C0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const i in e.uniforms){const o=e.uniforms[i];switch(r.uniforms[i]={},o.type){case"t":r.uniforms[i].value=C(o.value);break;case"c":r.uniforms[i].value=new Z1().setHex(o.value);break;case"v2":r.uniforms[i].value=new M1().fromArray(o.value);break;case"v3":r.uniforms[i].value=new G().fromArray(o.value);break;case"v4":r.uniforms[i].value=new r2().fromArray(o.value);break;case"m3":r.uniforms[i].value=new B0().fromArray(o.value);break;case"m4":r.uniforms[i].value=new f0().fromArray(o.value);break;default:r.uniforms[i].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 i in e.extensions)r.extensions[i]=e.extensions[i];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=C(e.map)),e.matcap!==void 0&&(r.matcap=C(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=C(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=C(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=C(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let i=e.normalScale;Array.isArray(i)===!1&&(i=[i,i]),r.normalScale=new M1().fromArray(i)}return e.displacementMap!==void 0&&(r.displacementMap=C(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=C(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=C(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=C(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=C(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=C(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=C(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=C(e.envMap)),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=C(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=C(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=C(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=C(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=C(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=C(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new M1().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=C(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=C(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=C(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=C(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=C(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=C(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=C(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:Im,SpriteMaterial:Gd,RawShaderMaterial:Sm,ShaderMaterial:X8,PointsMaterial:Vd,MeshPhysicalMaterial:_m,MeshStandardMaterial:Zd,MeshPhongMaterial:Qm,MeshToonMaterial:Rm,MeshNormalMaterial:bm,MeshLambertMaterial:Dm,MeshDepthMaterial:xo,MeshDistanceMaterial:mo,MeshBasicMaterial:K9,MeshMatcapMaterial:Tm,LineDashedMaterial:Hm,LineBasicMaterial:U9,Material:i9};return new n[e]}}class Au{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let C=0,r=e.length;C0){const l=new Ch(n);i=new fn(l),i.setCrossOrigin(this.crossOrigin);for(let d=0,g=e.length;d0){r=new fn(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,s=e.length;o{const m=new V2;m.min.fromArray(E.boxMin),m.max.fromArray(E.boxMax);const L=new r9;return L.radius=E.sphereRadius,L.center.fromArray(E.sphereCenter),{boxInitialized:E.boxInitialized,box:m,sphereInitialized:E.sphereInitialized,sphere:L}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=d(e.matricesTexture.uuid);break;case"LOD":o=new um;break;case"Line":o=new l5(s(e.geometry),l(e.material));break;case"LineLoop":o=new gm(s(e.geometry),l(e.material));break;case"LineSegments":o=new M4(s(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new Am(s(e.geometry),l(e.material));break;case"Sprite":o=new cm(l(e.material));break;case"Group":o=new $4;break;case"Bone":o=new zd;break;default:o=new Y0}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 v=0;v"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,n,C,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const i=this,o=Y4.get(e);if(o!==void 0){if(i.manager.itemStart(e),o.then){o.then(d=>{n&&n(d),i.manager.itemEnd(e)}).catch(d=>{r&&r(d)});return}return setTimeout(function(){n&&n(o),i.manager.itemEnd(e)},0),o}const s={};s.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",s.headers=this.requestHeader;const l=fetch(e,s).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(d){return Y4.add(e,d),n&&n(d),i.manager.itemEnd(e),d}).catch(function(d){r&&r(d),Y4.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});Y4.add(e,l),i.manager.itemStart(e)}}let Ir;class ih{static getContext(){return Ir===void 0&&(Ir=new(window.AudioContext||window.webkitAudioContext)),Ir}static setContext(e){Ir=e}}class _D extends F9{constructor(e){super(e)}load(e,n,C,r){const i=this,o=new k4(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const d=l.slice(0);ih.getContext().decodeAudioData(d,function(A){n(A)}).catch(s)}catch(d){s(d)}},C,r);function s(l){r?r(l):console.error(l),i.manager.itemError(e)}}}const Bp=new f0,Ip=new f0,H5=new f0;class QD{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new G2,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new G2,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 n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,H5.copy(e.projectionMatrix);const r=n.eyeSep/2,i=r*n.near/n.focus,o=n.near*Math.tan(l3*n.fov*.5)/n.zoom;let s,l;Ip.elements[12]=-r,Bp.elements[12]=r,s=-o*n.aspect+i,l=o*n.aspect+i,H5.elements[0]=2*n.near/(l-s),H5.elements[8]=(l+s)/(l-s),this.cameraL.projectionMatrix.copy(H5),s=-o*n.aspect-i,l=o*n.aspect-i,H5.elements[0]=2*n.near/(l-s),H5.elements[8]=(l+s)/(l-s),this.cameraR.projectionMatrix.copy(H5)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Ip),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Bp)}}let oh=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Sp(),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 n=Sp();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}};function Sp(){return(typeof performance>"u"?Date:performance).now()}const P5=new G,_p=new P9,RD=new G,N5=new G;class bD extends Y0{constructor(){super(),this.type="AudioListener",this.context=ih.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new oh}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 n=this.context.listener,C=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(P5,_p,RD),N5.set(0,0,-1).applyQuaternion(_p),n.positionX){const r=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(P5.x,r),n.positionY.linearRampToValueAtTime(P5.y,r),n.positionZ.linearRampToValueAtTime(P5.z,r),n.forwardX.linearRampToValueAtTime(N5.x,r),n.forwardY.linearRampToValueAtTime(N5.y,r),n.forwardZ.linearRampToValueAtTime(N5.z,r),n.upX.linearRampToValueAtTime(C.x,r),n.upY.linearRampToValueAtTime(C.y,r),n.upZ.linearRampToValueAtTime(C.z,r)}else n.setPosition(P5.x,P5.y,P5.z),n.setOrientation(N5.x,N5.y,N5.z,C.x,C.y,C.z)}}class Zm extends Y0{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 n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,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,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(C,r,this._addIndex*n,1,n);for(let l=n,d=n+n;l!==d;++l)if(C[l]!==C[l+n]){s.setValue(C,r);break}}saveOriginalState(){const e=this.binding,n=this.buffer,C=this.valueSize,r=C*this._origIndex;e.getValue(n,r);for(let i=C,o=r;i!==o;++i)n[i]=n[r+i%C];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,n=e+this.valueSize;for(let C=e;C=.5)for(let o=0;o!==i;++o)e[n+o]=e[C+o]}_slerp(e,n,C,r){P9.slerpFlat(e,n,e,n,e,C,r)}_slerpAdditive(e,n,C,r,i){const o=this._workIndex*i;P9.multiplyQuaternionsFlat(e,o,e,n,e,C),P9.slerpFlat(e,n,e,n,e,o,r)}_lerp(e,n,C,r,i){const o=1-r;for(let s=0;s!==i;++s){const l=n+s;e[l]=e[l]*o+e[C+s]*r}}_lerpAdditive(e,n,C,r,i){for(let o=0;o!==i;++o){const s=n+o;e[s]=e[s]+e[C+o]*r}}}const sh="\\[\\]\\.:\\/",PD=new RegExp("["+sh+"]","g"),lh="[^"+sh+"]",ND="[^"+sh.replace("\\.","")+"]",jD=/((?:WC+[\/:])*)/.source.replace("WC",lh),UD=/(WCOD+)?/.source.replace("WCOD",ND),FD=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",lh),WD=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",lh),OD=new RegExp("^"+jD+UD+FD+WD+"$"),GD=["material","materials","bones","map"];class zD{constructor(e,n,C){const r=C||V0.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,r)}getValue(e,n){this.bind();const C=this._targetGroup.nCachedObjects_,r=this._bindings[C];r!==void 0&&r.getValue(e,n)}setValue(e,n){const C=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=C.length;r!==i;++r)C[r].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,C=e.length;n!==C;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,C=e.length;n!==C;++n)e[n].unbind()}}class V0{constructor(e,n,C){this.path=n,this.parsedPath=C||V0.parseTrackName(n),this.node=V0.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,C){return e&&e.isAnimationObjectGroup?new V0.Composite(e,n,C):new V0(e,n,C)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(PD,"")}static parseTrackName(e){const n=OD.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const C={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},r=C.nodeName&&C.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const i=C.nodeName.substring(r+1);GD.indexOf(i)!==-1&&(C.nodeName=C.nodeName.substring(0,r),C.objectName=i)}if(C.propertyName===null||C.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return C}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const C=e.skeleton.getBoneByName(n);if(C!==void 0)return C}if(e.children){const C=function(i){for(let o=0;o=i){const A=i++,p=e[A];n[p.uuid]=g,e[g]=p,n[d]=A,e[A]=l;for(let v=0,x=r;v!==x;++v){const E=C[v],m=E[A],L=E[g];E[g]=m,E[A]=L}}}this.nCachedObjects_=i}uncache(){const e=this._objects,n=this._indicesByUUID,C=this._bindings,r=C.length;let i=this.nCachedObjects_,o=e.length;for(let s=0,l=arguments.length;s!==l;++s){const d=arguments[s],g=d.uuid,A=n[g];if(A!==void 0)if(delete n[g],A0&&(n[v.uuid]=A),e[A]=v,e.pop();for(let x=0,E=r;x!==E;++x){const m=C[x];m[A]=m[p],m.pop()}}}this.nCachedObjects_=i}subscribe_(e,n){const C=this._bindingsIndicesByPath;let r=C[e];const i=this._bindings;if(r!==void 0)return i[r];const o=this._paths,s=this._parsedPaths,l=this._objects,d=l.length,g=this.nCachedObjects_,A=new Array(d);r=i.length,C[e]=r,o.push(e),s.push(n),i.push(A);for(let p=g,v=l.length;p!==v;++p){const x=l[p];A[p]=new V0(x,e,n)}return A}unsubscribe_(e){const n=this._bindingsIndicesByPath,C=n[e];if(C!==void 0){const r=this._paths,i=this._parsedPaths,o=this._bindings,s=o.length-1,l=o[s],d=e[s];n[d]=C,o[C]=l,o.pop(),i[C]=i[s],i.pop(),r[C]=r[s],r.pop()}}}class tk{constructor(e,n,C=null,r=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=C,this.blendMode=r;const i=n.tracks,o=i.length,s=new Array(o),l={endingStart:Z5,endingEnd:Z5};for(let d=0;d!==o;++d){const g=i[d].createInterpolant(null);s[d]=g,g.settings=l}this._interpolantSettings=l,this._interpolants=s,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Tx,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,n){return this.loop=e,this.repetitions=n,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,n,C){if(e.fadeOut(n),this.fadeIn(n),C){const r=this._clip.duration,i=e._clip.duration,o=i/r,s=r/i;e.warp(1,o,n),this.warp(s,1,n)}return this}crossFadeTo(e,n,C){return e.crossFadeFrom(this,n,C)}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,n,C){const r=this._mixer,i=r.time,o=this.timeScale;let s=this._timeScaleInterpolant;s===null&&(s=r._lendControlInterpolant(),this._timeScaleInterpolant=s);const l=s.parameterPositions,d=s.sampleValues;return l[0]=i,l[1]=i+C,d[0]=e/o,d[1]=n/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,n,C,r){if(!this.enabled){this._updateWeight(e);return}const i=this._startTime;if(i!==null){const l=(e-i)*C;l<0||C===0?n=0:(this._startTime=null,n=C*l)}n*=this._updateTimeScale(e);const o=this._updateTime(n),s=this._updateWeight(e);if(s>0){const l=this._interpolants,d=this._propertyBindings;switch(this.blendMode){case Rd:for(let g=0,A=l.length;g!==A;++g)l[g].evaluate(o),d[g].accumulateAdditive(s);break;case po:default:for(let g=0,A=l.length;g!==A;++g)l[g].evaluate(o),d[g].accumulate(r,s)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const C=this._weightInterpolant;if(C!==null){const r=C.evaluate(e)[0];n*=r,e>C.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const C=this._timeScaleInterpolant;if(C!==null){const r=C.evaluate(e)[0];n*=r,e>C.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,C=this.loop;let r=this.time+e,i=this._loopCount;const o=C===Hx;if(e===0)return i===-1?r:o&&(i&1)===1?n-r:r;if(C===Dx){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=n)r=n;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(i===-1&&(e>=0?(i=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=n||r<0){const s=Math.floor(r/n);r-=n*s,i+=Math.abs(s);const l=this.repetitions-i;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?n:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const d=e<0;this._setEndings(d,!d,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:s})}}else this.time=r;if(o&&(i&1)===1)return n-r}return r}_setEndings(e,n,C){const r=this._interpolantSettings;C?(r.endingStart=e3,r.endingEnd=e3):(e?r.endingStart=this.zeroSlopeAtStart?e3:Z5:r.endingStart=Zt,n?r.endingEnd=this.zeroSlopeAtEnd?e3:Z5:r.endingEnd=Zt)}_scheduleFading(e,n,C){const r=this._mixer,i=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const s=o.parameterPositions,l=o.sampleValues;return s[0]=i,l[0]=n,s[1]=i+e,l[1]=C,this}}const $D=new Float32Array(1);class YD extends C6{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const C=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,s=e._interpolants,l=C.uuid,d=this._bindingsByRootAndName;let g=d[l];g===void 0&&(g={},d[l]=g);for(let A=0;A!==i;++A){const p=r[A],v=p.name;let x=g[v];if(x!==void 0)++x.referenceCount,o[A]=x;else{if(x=o[A],x!==void 0){x._cacheIndex===null&&(++x.referenceCount,this._addInactiveBinding(x,l,v));continue}const E=n&&n._propertyBindings[A].binding.parsedPath;x=new ek(V0.create(C,v,E),p.ValueTypeName,p.getValueSize()),++x.referenceCount,this._addInactiveBinding(x,l,v),o[A]=x}s[A].resultBuffer=x.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const C=(e._localRoot||this._root).uuid,r=e._clip.uuid,i=this._actionsByClip[r];this._bindAction(e,i&&i.knownActions[0]),this._addInactiveAction(e,r,C)}const n=e._propertyBindings;for(let C=0,r=n.length;C!==r;++C){const i=n[C];i.useCount++===0&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let C=0,r=n.length;C!==r;++C){const i=n[C];--i.useCount===0&&(i.restoreOriginalState(),this._takeBackBinding(i))}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 n=e._cacheIndex;return n!==null&&n=0;--C)e[C].stop();return this}update(e){e*=this.timeScale;const n=this._actions,C=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1;for(let d=0;d!==C;++d)n[d]._update(r,e,i,o);const s=this._bindings,l=this._nActiveBindings;for(let d=0;d!==l;++d)s[d].apply(o);return this}setTime(e){this.time=0;for(let n=0;nthis.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,n){return n.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,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,bp).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 Dp=new G,Sr=new G;class tT{constructor(e=new G,n=new G){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),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,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){Dp.subVectors(e,this.start),Sr.subVectors(this.end,this.start);const C=Sr.dot(Sr);let i=Sr.dot(Dp)/C;return n&&(i=R2(i,0,1)),i}closestPointToPoint(e,n,C){const r=this.closestPointToPointParameter(e,n);return this.delta(C).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 Tp=new G;class nT extends Y0{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const C=new R0,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,s=1,l=32;o1)for(let A=0;A.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Up.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(Up,n)}}setLength(e,n=e*.2,C=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(C,n,C),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 gT extends M4{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],C=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new R0;r.setAttribute("position",new o0(n,3)),r.setAttribute("color",new o0(C,3));const i=new U9({vertexColors:!0,toneMapped:!1});super(r,i),this.type="AxesHelper"}setColors(e,n,C){const r=new Z1,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(n),r.toArray(i,6),r.toArray(i,9),r.set(C),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class H6{constructor(){this.type="ShapePath",this.color=new Z1,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new n5,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,C,r){return this.currentPath.quadraticCurveTo(e,n,C,r),this}bezierCurveTo(e,n,C,r,i,o){return this.currentPath.bezierCurveTo(e,n,C,r,i,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(L){const M=[];for(let k=0,I=L.length;kNumber.EPSILON){if(_<0&&(D=M[R],X=-X,U=M[b],_=-_),L.yU.y)continue;if(L.y===D.y){if(L.x===D.x)return!0}else{const P=_*(L.x-D.x)-X*(L.y-D.y);if(P===0)return!0;if(P<0)continue;I=!I}}else{if(L.y!==D.y)continue;if(U.x<=L.x&&L.x<=D.x||D.x<=L.x&&L.x<=U.x)return!0}}return I}const r=Y8.isClockWise,i=this.subPaths;if(i.length===0)return[];let o,s,l;const d=[];if(i.length===1)return s=i[0],l=new C5,l.curves=s.curves,d.push(l),d;let g=!r(i[0].getPoints());g=e?!g:g;const A=[],p=[];let v=[],x=0,E;p[x]=void 0,v[x]=[];for(let L=0,M=i.length;L1){let L=!1,M=0;for(let k=0,I=p.length;k0&&L===!1&&(v=A)}let m;for(let L=0,M=p.length;L{const A=typeof d=="function"?d(e):d;if(A!==e){const p=e;e=g?A:Object.assign({},e,A),n.forEach(v=>v(e,p))}},r=()=>e,i=(d,g=r,A=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=g(e);function v(){const x=g(e);if(!A(p,x)){const E=p;d(p=x,E)}}return n.add(v),()=>n.delete(v)},l={setState:C,getState:r,subscribe:(d,g,A)=>g||A?i(d,g,A):(n.add(d),()=>n.delete(d)),destroy:()=>n.clear()};return e=t(C,r,l),l}const LT=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Fp=LT?u.useEffect:u.useLayoutEffect;function ik(t){const e=typeof t=="function"?pT(t):t,n=(C=e.getState,r=Object.is)=>{const[,i]=u.useReducer(m=>m+1,0),o=e.getState(),s=u.useRef(o),l=u.useRef(C),d=u.useRef(r),g=u.useRef(!1),A=u.useRef();A.current===void 0&&(A.current=C(o));let p,v=!1;(s.current!==o||l.current!==C||d.current!==r||g.current)&&(p=C(o),v=!r(A.current,p)),Fp(()=>{v&&(A.current=p),s.current=o,l.current=C,d.current=r,g.current=!1});const x=u.useRef(o);Fp(()=>{const m=()=>{try{const M=e.getState(),k=l.current(M);d.current(A.current,k)||(s.current=M,A.current=k,i())}catch{g.current=!0,i()}},L=e.subscribe(m);return e.getState()!==x.current&&m(),L},[]);const E=v?p:A.current;return u.useDebugValue(E),E};return Object.assign(n,e),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const C=[n,e];return{next(){const r=C.length<=0;return{value:C.shift(),done:r}}}},n}var ok={exports:{}},sk={exports:{}},lk={};/** - * @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(t){function e(F,e1){var C1=F.length;F.push(e1);e:for(;0>>1,I1=F[d1];if(0>>1;d1r(z,C1))Wr(N,z)?(F[d1]=N,F[W]=C1,d1=W):(F[d1]=z,F[$]=C1,d1=$);else if(Wr(N,C1))F[d1]=N,F[W]=C1,d1=W;else break e}}return e1}function r(F,e1){var C1=F.sortIndex-e1.sortIndex;return C1!==0?C1:F.id-e1.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();t.unstable_now=function(){return o.now()-s}}var l=[],d=[],g=1,A=null,p=3,v=!1,x=!1,E=!1,m=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(F){for(var e1=n(d);e1!==null;){if(e1.callback===null)C(d);else if(e1.startTime<=F)C(d),e1.sortIndex=e1.expirationTime,e(l,e1);else break;e1=n(d)}}function I(F){if(E=!1,k(F),!x)if(n(l)!==null)x=!0,o1(b);else{var e1=n(d);e1!==null&&g1(I,e1.startTime-F)}}function b(F,e1){x=!1,E&&(E=!1,L(U),U=-1),v=!0;var C1=p;try{for(k(e1),A=n(l);A!==null&&(!(A.expirationTime>e1)||F&&!P());){var d1=A.callback;if(typeof d1=="function"){A.callback=null,p=A.priorityLevel;var I1=d1(A.expirationTime<=e1);e1=t.unstable_now(),typeof I1=="function"?A.callback=I1:A===n(l)&&C(l),k(e1)}else C(l);A=n(l)}if(A!==null)var j1=!0;else{var $=n(d);$!==null&&g1(I,$.startTime-e1),j1=!1}return j1}finally{A=null,p=C1,v=!1}}var R=!1,D=null,U=-1,X=5,_=-1;function P(){return!(t.unstable_now()-_F||125d1?(F.sortIndex=C1,e(d,F),n(l)===null&&F===n(d)&&(E?(L(U),U=-1):E=!0,g1(I,C1-d1))):(F.sortIndex=I1,e(l,F),x||v||(x=!0,o1(b))),F},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(F){var e1=p;return function(){var C1=p;p=e1;try{return F.apply(this,arguments)}finally{p=C1}}}})(lk);sk.exports=lk;var Lu=sk.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 vT=function(e){var n={},C=u,r=Lu,i=Object.assign;function o(a){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+a,w=1;ws1||B[Y]!==Q[s1]){var _1=` -`+B[Y].replace(" at new "," at ");return a.displayName&&_1.includes("")&&(_1=_1.replace("",a.displayName)),_1}while(1<=Y&&0<=s1);break}}}finally{M0=!1,Error.prepareStackTrace=w}return(a=a?a.displayName||a.name:"")?E0(a):""}var d2=Object.prototype.hasOwnProperty,F2=[],s2=-1;function y2(a){return{current:a}}function c0(a){0>s2||(a.current=F2[s2],F2[s2]=null,s2--)}function e0(a,c){s2++,F2[s2]=a.current,a.current=c}var B9={},H=y2(B9),j=y2(!1),t1=B9;function i1(a,c){var w=a.type.contextTypes;if(!w)return B9;var y=a.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===c)return y.__reactInternalMemoizedMaskedChildContext;var B={},Q;for(Q in w)B[Q]=c[Q];return y&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=c,a.__reactInternalMemoizedMaskedChildContext=B),B}function h1(a){return a=a.childContextTypes,a!=null}function E1(){c0(j),c0(H)}function H1(a,c,w){if(H.current!==B9)throw Error(o(168));e0(H,c),e0(j,w)}function P1(a,c,w){var y=a.stateNode;if(c=c.childContextTypes,typeof y.getChildContext!="function")return w;y=y.getChildContext();for(var B in y)if(!(B in c))throw Error(o(108,U(a)||"Unknown",B));return i({},w,y)}function N1(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||B9,t1=H.current,e0(H,a),e0(j,j.current),!0}function U1(a,c,w){var y=a.stateNode;if(!y)throw Error(o(169));w?(a=P1(a,c,t1),y.__reactInternalMemoizedMergedChildContext=a,c0(j),c0(H),e0(H,a)):c0(j),e0(j,w)}var V1=Math.clz32?Math.clz32:B2,A0=Math.log,O0=Math.LN2;function B2(a){return a>>>=0,a===0?32:31-(A0(a)/O0|0)|0}var G0=64,K2=4194304;function s9(a){switch(a&-a){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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function n4(a,c){var w=a.pendingLanes;if(w===0)return 0;var y=0,B=a.suspendedLanes,Q=a.pingedLanes,Y=w&268435455;if(Y!==0){var s1=Y&~B;s1!==0?y=s9(s1):(Q&=Y,Q!==0&&(y=s9(Q)))}else Y=w&~B,Y!==0?y=s9(Y):Q!==0&&(y=s9(Q));if(y===0)return 0;if(c!==0&&c!==y&&!(c&B)&&(B=y&-y,Q=c&-c,B>=Q||B===16&&(Q&4194240)!==0))return c;if(y&4&&(y|=w&16),c=a.entangledLanes,c!==0)for(a=a.entanglements,c&=y;0w;w++)c.push(a);return c}function ke(a,c,w){a.pendingLanes|=c,c!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,c=31-V1(c),a[c]=w}function fM(a,c){var w=a.pendingLanes&~c;a.pendingLanes=c,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=c,a.mutableReadLanes&=c,a.entangledLanes&=c,c=a.entanglements;var y=a.eventTimes;for(a=a.expirationTimes;0>=Y,B-=Y,S4=1<<32-V1(c)+B|w<X0?(e9=S0,S0=null):e9=S0.sibling;var K0=x0(w1,S0,S1[X0],q1);if(K0===null){S0===null&&(S0=e9);break}a&&S0&&K0.alternate===null&&c(w1,S0),c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0,S0=e9}if(X0===S1.length)return w(w1,S0),L2&&k5(w1,X0),d0;if(S0===null){for(;X0X0?(e9=S0,S0=null):e9=S0.sibling;var y6=x0(w1,S0,K0.value,q1);if(y6===null){S0===null&&(S0=e9);break}a&&S0&&y6.alternate===null&&c(w1,S0),c1=Q(y6,c1,X0),T0===null?d0=y6:T0.sibling=y6,T0=y6,S0=e9}if(K0.done)return w(w1,S0),L2&&k5(w1,X0),d0;if(S0===null){for(;!K0.done;X0++,K0=S1.next())K0=I0(w1,K0.value,q1),K0!==null&&(c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0);return L2&&k5(w1,X0),d0}for(S0=y(w1,S0);!K0.done;X0++,K0=S1.next())K0=a2(S0,w1,X0,K0.value,q1),K0!==null&&(a&&K0.alternate!==null&&S0.delete(K0.key===null?X0:K0.key),c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0);return a&&S0.forEach(function(ZM){return c(w1,ZM)}),L2&&k5(w1,X0),d0}function m8(w1,c1,S1,q1){if(typeof S1=="object"&&S1!==null&&S1.type===g&&S1.key===null&&(S1=S1.props.children),typeof S1=="object"&&S1!==null){switch(S1.$$typeof){case l:e:{for(var d0=S1.key,T0=c1;T0!==null;){if(T0.key===d0){if(d0=S1.type,d0===g){if(T0.tag===7){w(w1,T0.sibling),c1=B(T0,S1.props.children),c1.return=w1,w1=c1;break e}}else if(T0.elementType===d0||typeof d0=="object"&&d0!==null&&d0.$$typeof===k&&Nh(d0)===T0.type){w(w1,T0.sibling),c1=B(T0,S1.props),c1.ref=ye(w1,T0,S1),c1.return=w1,w1=c1;break e}w(w1,T0);break}else c(w1,T0);T0=T0.sibling}S1.type===g?(c1=_5(S1.props.children,w1.mode,q1,S1.key),c1.return=w1,w1=c1):(q1=EC(S1.type,S1.key,S1.props,null,w1.mode,q1),q1.ref=ye(w1,c1,S1),q1.return=w1,w1=q1)}return Y(w1);case d:e:{for(T0=S1.key;c1!==null;){if(c1.key===T0)if(c1.tag===4&&c1.stateNode.containerInfo===S1.containerInfo&&c1.stateNode.implementation===S1.implementation){w(w1,c1.sibling),c1=B(c1,S1.children||[]),c1.return=w1,w1=c1;break e}else{w(w1,c1);break}else c(w1,c1);c1=c1.sibling}c1=tl(S1,w1.mode,q1),c1.return=w1,w1=c1}return Y(w1);case k:return T0=S1._init,m8(w1,c1,T0(S1._payload),q1)}if(a1(S1))return h0(w1,c1,S1,q1);if(R(S1))return p9(w1,c1,S1,q1);Yn(w1,S1)}return typeof S1=="string"&&S1!==""||typeof S1=="number"?(S1=""+S1,c1!==null&&c1.tag===6?(w(w1,c1.sibling),c1=B(c1,S1),c1.return=w1,w1=c1):(w(w1,c1),c1=el(S1,w1.mode,q1),c1.return=w1,w1=c1),Y(w1)):w(w1,c1)}return m8}var F3=jh(!0),Uh=jh(!1),Be={},L8=y2(Be),Ie=y2(Be),W3=y2(Be);function s4(a){if(a===Be)throw Error(o(174));return a}function Ls(a,c){e0(W3,c),e0(Ie,a),e0(L8,Be),a=g1(c),c0(L8),e0(L8,a)}function O3(){c0(L8),c0(Ie),c0(W3)}function Fh(a){var c=s4(W3.current),w=s4(L8.current);c=F(w,a.type,c),w!==c&&(e0(Ie,a),e0(L8,c))}function vs(a){Ie.current===a&&(c0(L8),c0(Ie))}var x2=y2(0);function Jn(a){for(var c=a;c!==null;){if(c.tag===13){var w=c.memoizedState;if(w!==null&&(w=w.dehydrated,w===null||Z8(w)||y4(w)))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===a)break;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var ws=[];function xs(){for(var a=0;aw?w:4,a(!0);var y=v8.transition;v8.transition={};try{a(!1),c()}finally{J0=w,v8.transition=y}}function tf(){return l4().memoizedState}function yM(a,c,w){var y=k6(a);w={lane:y,action:w,hasEagerState:!1,eagerState:null,next:null},nf(a)?Cf(c,w):(rf(a,c,w),w=S9(),a=w8(a,y,w),a!==null&&of(a,c,y))}function BM(a,c,w){var y=k6(a),B={lane:y,action:w,hasEagerState:!1,eagerState:null,next:null};if(nf(a))Cf(c,B);else{rf(a,c,B);var Q=a.alternate;if(a.lanes===0&&(Q===null||Q.lanes===0)&&(Q=c.lastRenderedReducer,Q!==null))try{var Y=c.lastRenderedState,s1=Q(Y,w);if(B.hasEagerState=!0,B.eagerState=s1,r4(s1,Y))return}catch{}finally{}w=S9(),a=w8(a,y,w),a!==null&&of(a,c,y)}}function nf(a){var c=a.alternate;return a===I2||c!==null&&c===I2}function Cf(a,c){Se=Kn=!0;var w=a.pending;w===null?c.next=c:(c.next=w.next,w.next=c),a.pending=c}function rf(a,c,w){P2!==null&&a.mode&1&&!(H0&2)?(a=c.interleaved,a===null?(w.next=w,o4===null?o4=[c]:o4.push(c)):(w.next=a.next,a.next=w),c.interleaved=w):(a=c.pending,a===null?w.next=w:(w.next=a.next,a.next=w),c.pending=w)}function of(a,c,w){if(w&4194240){var y=c.lanes;y&=a.pendingLanes,w|=y,c.lanes=w,ts(a,w)}}var nC={readContext:g8,useCallback:g9,useContext:g9,useEffect:g9,useImperativeHandle:g9,useInsertionEffect:g9,useLayoutEffect:g9,useMemo:g9,useReducer:g9,useRef:g9,useState:g9,useDebugValue:g9,useDeferredValue:g9,useTransition:g9,useMutableSource:g9,useSyncExternalStore:g9,useId:g9,unstable_isNewReconciler:!1},IM={readContext:g8,useCallback:function(a,c){return Q4().memoizedState=[a,c===void 0?null:c],a},useContext:g8,useEffect:ys,useImperativeHandle:function(a,c,w){return w=w!=null?w.concat([a]):null,eC(4194308,4,Kh.bind(null,c,a),w)},useLayoutEffect:function(a,c){return eC(4194308,4,a,c)},useInsertionEffect:function(a,c){return eC(4,2,a,c)},useMemo:function(a,c){var w=Q4();return c=c===void 0?null:c,a=a(),w.memoizedState=[a,c],a},useReducer:function(a,c,w){var y=Q4();return c=w!==void 0?w(c):c,y.memoizedState=y.baseState=c,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:c},y.queue=a,a=a.dispatch=yM.bind(null,I2,a),[y.memoizedState,a]},useRef:function(a){var c=Q4();return a={current:a},c.memoizedState=a},useState:Es,useDebugValue:Bs,useDeferredValue:function(a){var c=Es(a),w=c[0],y=c[1];return ys(function(){var B=v8.transition;v8.transition={};try{y(a)}finally{v8.transition=B}},[a]),w},useTransition:function(){var a=Es(!1),c=a[0];return a=EM.bind(null,a[1]),Q4().memoizedState=a,[c,a]},useMutableSource:function(){},useSyncExternalStore:function(a,c,w){var y=I2,B=Q4();if(L2){if(w===void 0)throw Error(o(407));w=w()}else{if(w=c(),P2===null)throw Error(o(349));G3&30||Gh(y,c,w)}B.memoizedState=w;var Q={value:w,getSnapshot:c};return B.queue=Q,ys(Vh.bind(null,y,Q,a),[a]),y.flags|=2048,Qe(9,zh.bind(null,y,Q,w,c),void 0,null),w},useId:function(){var a=Q4(),c=P2.identifierPrefix;if(L2){var w=_4,y=S4;w=(y&~(1<<32-V1(y)-1)).toString(32)+w,c=":"+c+"R"+w,w=_e++,0Vs&&(c.flags|=128,y=!0,Te(B,!1),c.lanes=4194304)}else{if(!y)if(a=Jn(Q),a!==null){if(c.flags|=128,y=!0,a=a.updateQueue,a!==null&&(c.updateQueue=a,c.flags|=4),Te(B,!0),B.tail===null&&B.tailMode==="hidden"&&!Q.alternate&&!L2)return A9(c),null}else 2*q2()-B.renderingStartTime>Vs&&w!==1073741824&&(c.flags|=128,y=!0,Te(B,!1),c.lanes=4194304);B.isBackwards?(Q.sibling=c.child,c.child=Q):(a=B.last,a!==null?a.sibling=Q:c.child=Q,B.last=Q)}return B.tail!==null?(c=B.tail,B.rendering=c,B.tail=c.sibling,B.renderingStartTime=q2(),c.sibling=null,a=x2.current,e0(x2,y?a&1|2:a&1),c):(A9(c),null);case 22:case 23:return Ks(),y=c.memoizedState!==null,a!==null&&a.memoizedState!==null!==y&&(c.flags|=8192),y&&c.mode&1?t8&1073741824&&(A9(c),y1&&c.subtreeFlags&6&&(c.flags|=8192)):A9(c),null;case 24:return null;case 25:return null}throw Error(o(156,c.tag))}var bM=s.ReactCurrentOwner,e8=!1;function I9(a,c,w,y){c.child=a===null?Uh(c,null,w,y):F3(c,a.child,w,y)}function ff(a,c,w,y,B){w=w.render;var Q=c.ref;return P3(c,B),y=ks(a,c,w,y,Q,B),w=Ms(),a!==null&&!e8?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~B,R4(a,c,B)):(L2&&w&&hs(c),c.flags|=1,I9(a,c,y,B),c.child)}function gf(a,c,w,y,B){if(a===null){var Q=w.type;return typeof Q=="function"&&!Zs(Q)&&Q.defaultProps===void 0&&w.compare===null&&w.defaultProps===void 0?(c.tag=15,c.type=Q,Af(a,c,Q,y,B)):(a=EC(w.type,null,y,c,c.mode,B),a.ref=c.ref,a.return=c,c.child=a)}if(Q=a.child,!(a.lanes&B)){var Y=Q.memoizedProps;if(w=w.compare,w=w!==null?w:Un,w(Y,y)&&a.ref===c.ref)return R4(a,c,B)}return c.flags|=1,a=E6(Q,y),a.ref=c.ref,a.return=c,c.child=a}function Af(a,c,w,y,B){if(a!==null&&Un(a.memoizedProps,y)&&a.ref===c.ref)if(e8=!1,(a.lanes&B)!==0)a.flags&131072&&(e8=!0);else return c.lanes=a.lanes,R4(a,c,B);return _s(a,c,w,y,B)}function pf(a,c,w){var y=c.pendingProps,B=y.children,Q=a!==null?a.memoizedState:null;if(y.mode==="hidden")if(!(c.mode&1))c.memoizedState={baseLanes:0,cachePool:null},e0(z3,t8),t8|=w;else if(w&1073741824)c.memoizedState={baseLanes:0,cachePool:null},y=Q!==null?Q.baseLanes:w,e0(z3,t8),t8|=y;else return a=Q!==null?Q.baseLanes|w:w,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:a,cachePool:null},c.updateQueue=null,e0(z3,t8),t8|=a,null;else Q!==null?(y=Q.baseLanes|w,c.memoizedState=null):y=w,e0(z3,t8),t8|=y;return I9(a,c,B,w),c.child}function Lf(a,c){var w=c.ref;(a===null&&w!==null||a!==null&&a.ref!==w)&&(c.flags|=512,c.flags|=2097152)}function _s(a,c,w,y,B){var Q=h1(w)?t1:H.current;return Q=i1(c,Q),P3(c,B),w=ks(a,c,w,y,Q,B),y=Ms(),a!==null&&!e8?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~B,R4(a,c,B)):(L2&&y&&hs(c),c.flags|=1,I9(a,c,w,B),c.child)}function vf(a,c,w,y,B){if(h1(w)){var Q=!0;N1(c)}else Q=!1;if(P3(c,B),c.stateNode===null)a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),Rh(c,w,y),ds(c,w,y,B),y=!0;else if(a===null){var Y=c.stateNode,s1=c.memoizedProps;Y.props=s1;var _1=Y.context,W1=w.contextType;typeof W1=="object"&&W1!==null?W1=g8(W1):(W1=h1(w)?t1:H.current,W1=i1(c,W1));var i0=w.getDerivedStateFromProps,I0=typeof i0=="function"||typeof Y.getSnapshotBeforeUpdate=="function";I0||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(s1!==y||_1!==W1)&&bh(c,Y,y,W1),v6=!1;var x0=c.memoizedState;Y.state=x0,Gn(c,y,Y,B),_1=c.memoizedState,s1!==y||x0!==_1||j.current||v6?(typeof i0=="function"&&(us(c,w,i0,y),_1=c.memoizedState),(s1=v6||Qh(c,w,s1,y,x0,_1,W1))?(I0||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount=="function"&&(c.flags|=4194308)):(typeof Y.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=y,c.memoizedState=_1),Y.props=y,Y.state=_1,Y.context=W1,y=s1):(typeof Y.componentDidMount=="function"&&(c.flags|=4194308),y=!1)}else{Y=c.stateNode,Bh(a,c),s1=c.memoizedProps,W1=c.type===c.elementType?s1:T8(c.type,s1),Y.props=W1,I0=c.pendingProps,x0=Y.context,_1=w.contextType,typeof _1=="object"&&_1!==null?_1=g8(_1):(_1=h1(w)?t1:H.current,_1=i1(c,_1));var a2=w.getDerivedStateFromProps;(i0=typeof a2=="function"||typeof Y.getSnapshotBeforeUpdate=="function")||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(s1!==I0||x0!==_1)&&bh(c,Y,y,_1),v6=!1,x0=c.memoizedState,Y.state=x0,Gn(c,y,Y,B);var h0=c.memoizedState;s1!==I0||x0!==h0||j.current||v6?(typeof a2=="function"&&(us(c,w,a2,y),h0=c.memoizedState),(W1=v6||Qh(c,w,W1,y,x0,h0,_1)||!1)?(i0||typeof Y.UNSAFE_componentWillUpdate!="function"&&typeof Y.componentWillUpdate!="function"||(typeof Y.componentWillUpdate=="function"&&Y.componentWillUpdate(y,h0,_1),typeof Y.UNSAFE_componentWillUpdate=="function"&&Y.UNSAFE_componentWillUpdate(y,h0,_1)),typeof Y.componentDidUpdate=="function"&&(c.flags|=4),typeof Y.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof Y.componentDidUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=1024),c.memoizedProps=y,c.memoizedState=h0),Y.props=y,Y.state=h0,Y.context=_1,y=W1):(typeof Y.componentDidUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=1024),y=!1)}return Qs(a,c,w,y,Q,B)}function Qs(a,c,w,y,B,Q){Lf(a,c);var Y=(c.flags&128)!==0;if(!y&&!Y)return B&&U1(c,w,!1),R4(a,c,Q);y=c.stateNode,bM.current=c;var s1=Y&&typeof w.getDerivedStateFromError!="function"?null:y.render();return c.flags|=1,a!==null&&Y?(c.child=F3(c,a.child,null,Q),c.child=F3(c,null,s1,Q)):I9(a,c,s1,Q),c.memoizedState=y.state,B&&U1(c,w,!0),c.child}function wf(a){var c=a.stateNode;c.pendingContext?H1(a,c.pendingContext,c.pendingContext!==c.context):c.context&&H1(a,c.context,!1),Ls(a,c.containerInfo)}function xf(a,c,w,y,B){return U3(),ps(B),c.flags|=256,I9(a,c,w,y),c.child}var iC={dehydrated:null,treeContext:null,retryLane:0};function oC(a){return{baseLanes:a,cachePool:null}}function mf(a,c,w){var y=c.pendingProps,B=x2.current,Q=!1,Y=(c.flags&128)!==0,s1;if((s1=Y)||(s1=a!==null&&a.memoizedState===null?!1:(B&2)!==0),s1?(Q=!0,c.flags&=-129):(a===null||a.memoizedState!==null)&&(B|=1),e0(x2,B&1),a===null)return As(c),a=c.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?(c.mode&1?y4(a)?c.lanes=8:c.lanes=1073741824:c.lanes=1,null):(B=y.children,a=y.fallback,Q?(y=c.mode,Q=c.child,B={mode:"hidden",children:B},!(y&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=B):Q=yC(B,y,0,null),a=_5(a,y,w,null),Q.return=c,a.return=c,Q.sibling=a,c.child=Q,c.child.memoizedState=oC(w),c.memoizedState=iC,a):Rs(c,B));if(B=a.memoizedState,B!==null){if(s1=B.dehydrated,s1!==null){if(Y)return c.flags&256?(c.flags&=-257,sC(a,c,w,Error(o(422)))):c.memoizedState!==null?(c.child=a.child,c.flags|=128,null):(Q=y.fallback,B=c.mode,y=yC({mode:"visible",children:y.children},B,0,null),Q=_5(Q,B,w,null),Q.flags|=2,y.return=c,Q.return=c,y.sibling=Q,c.child=y,c.mode&1&&F3(c,a.child,null,w),c.child.memoizedState=oC(w),c.memoizedState=iC,Q);if(!(c.mode&1))c=sC(a,c,w,null);else if(y4(s1))c=sC(a,c,w,Error(o(419)));else if(y=(w&a.childLanes)!==0,e8||y){if(y=P2,y!==null){switch(w&-w){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}y=Q&(y.suspendedLanes|w)?0:Q,y!==0&&y!==B.retryLane&&(B.retryLane=y,w8(a,y,-1))}qs(),c=sC(a,c,w,Error(o(421)))}else Z8(s1)?(c.flags|=128,c.child=a.child,c=VM.bind(null,a),e4(s1,c),c=null):(w=B.treeContext,L1&&(Z9=D3(s1),q9=c,L2=!0,H8=null,Me=!1,w!==null&&(A8[p8++]=S4,A8[p8++]=_4,A8[p8++]=m5,S4=w.id,_4=w.overflow,m5=c)),c=Rs(c,c.pendingProps.children),c.flags|=4096);return c}return Q?(y=Mf(a,c,y.children,y.fallback,w),Q=c.child,B=a.child.memoizedState,Q.memoizedState=B===null?oC(w):{baseLanes:B.baseLanes|w,cachePool:null},Q.childLanes=a.childLanes&~w,c.memoizedState=iC,y):(w=kf(a,c,y.children,w),c.memoizedState=null,w)}return Q?(y=Mf(a,c,y.children,y.fallback,w),Q=c.child,B=a.child.memoizedState,Q.memoizedState=B===null?oC(w):{baseLanes:B.baseLanes|w,cachePool:null},Q.childLanes=a.childLanes&~w,c.memoizedState=iC,y):(w=kf(a,c,y.children,w),c.memoizedState=null,w)}function Rs(a,c){return c=yC({mode:"visible",children:c},a.mode,0,null),c.return=a,a.child=c}function kf(a,c,w,y){var B=a.child;return a=B.sibling,w=E6(B,{mode:"visible",children:w}),!(c.mode&1)&&(w.lanes=y),w.return=c,w.sibling=null,a!==null&&(y=c.deletions,y===null?(c.deletions=[a],c.flags|=16):y.push(a)),c.child=w}function Mf(a,c,w,y,B){var Q=c.mode;a=a.child;var Y=a.sibling,s1={mode:"hidden",children:w};return!(Q&1)&&c.child!==a?(w=c.child,w.childLanes=0,w.pendingProps=s1,c.deletions=null):(w=E6(a,s1),w.subtreeFlags=a.subtreeFlags&14680064),Y!==null?y=E6(Y,y):(y=_5(y,Q,B,null),y.flags|=2),y.return=c,w.return=c,w.sibling=y,c.child=w,y}function sC(a,c,w,y){return y!==null&&ps(y),F3(c,a.child,null,w),a=Rs(c,c.pendingProps.children),a.flags|=2,c.memoizedState=null,a}function Ef(a,c,w){a.lanes|=c;var y=a.alternate;y!==null&&(y.lanes|=c),as(a.return,c,w)}function bs(a,c,w,y,B){var Q=a.memoizedState;Q===null?a.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:y,tail:w,tailMode:B}:(Q.isBackwards=c,Q.rendering=null,Q.renderingStartTime=0,Q.last=y,Q.tail=w,Q.tailMode=B)}function yf(a,c,w){var y=c.pendingProps,B=y.revealOrder,Q=y.tail;if(I9(a,c,y.children,w),y=x2.current,y&2)y=y&1|2,c.flags|=128;else{if(a!==null&&a.flags&128)e:for(a=c.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&Ef(a,w,c);else if(a.tag===19)Ef(a,w,c);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===c)break e;for(;a.sibling===null;){if(a.return===null||a.return===c)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}y&=1}if(e0(x2,y),!(c.mode&1))c.memoizedState=null;else switch(B){case"forwards":for(w=c.child,B=null;w!==null;)a=w.alternate,a!==null&&Jn(a)===null&&(B=w),w=w.sibling;w=B,w===null?(B=c.child,c.child=null):(B=w.sibling,w.sibling=null),bs(c,!1,B,w,Q);break;case"backwards":for(w=null,B=c.child,c.child=null;B!==null;){if(a=B.alternate,a!==null&&Jn(a)===null){c.child=B;break}a=B.sibling,B.sibling=w,w=B,B=a}bs(c,!0,w,null,Q);break;case"together":bs(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function R4(a,c,w){if(a!==null&&(c.dependencies=a.dependencies),V3|=c.lanes,!(w&c.childLanes))return null;if(a!==null&&c.child!==a.child)throw Error(o(153));if(c.child!==null){for(a=c.child,w=E6(a,a.pendingProps),c.child=w,w.return=c;a.sibling!==null;)a=a.sibling,w=w.sibling=E6(a,a.pendingProps),w.return=c;w.sibling=null}return c.child}function DM(a,c,w){switch(c.tag){case 3:wf(c),U3();break;case 5:Fh(c);break;case 1:h1(c.type)&&N1(c);break;case 4:Ls(c,c.stateNode.containerInfo);break;case 10:yh(c,c.type._context,c.memoizedProps.value);break;case 13:var y=c.memoizedState;if(y!==null)return y.dehydrated!==null?(e0(x2,x2.current&1),c.flags|=128,null):w&c.child.childLanes?mf(a,c,w):(e0(x2,x2.current&1),a=R4(a,c,w),a!==null?a.sibling:null);e0(x2,x2.current&1);break;case 19:if(y=(w&c.childLanes)!==0,a.flags&128){if(y)return yf(a,c,w);c.flags|=128}var B=c.memoizedState;if(B!==null&&(B.rendering=null,B.tail=null,B.lastEffect=null),e0(x2,x2.current),y)break;return null;case 22:case 23:return c.lanes=0,pf(a,c,w)}return R4(a,c,w)}function TM(a,c){switch(fs(c),c.tag){case 1:return h1(c.type)&&E1(),a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 3:return O3(),c0(j),c0(H),xs(),a=c.flags,a&65536&&!(a&128)?(c.flags=a&-65537|128,c):null;case 5:return vs(c),null;case 13:if(c0(x2),a=c.memoizedState,a!==null&&a.dehydrated!==null){if(c.alternate===null)throw Error(o(340));U3()}return a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 19:return c0(x2),null;case 4:return O3(),null;case 10:return ls(c.type._context),null;case 22:case 23:return Ks(),null;case 24:return null;default:return null}}var lC=!1,E5=!1,HM=typeof WeakSet=="function"?WeakSet:Set,X1=null;function aC(a,c){var w=a.ref;if(w!==null)if(typeof w=="function")try{w(null)}catch(y){G9(a,c,y)}else w.current=null}function Ds(a,c,w){try{w()}catch(y){G9(a,c,y)}}var Bf=!1;function PM(a,c){for(e1(a.containerInfo),X1=c;X1!==null;)if(a=X1,c=a.child,(a.subtreeFlags&1028)!==0&&c!==null)c.return=a,X1=c;else for(;X1!==null;){a=X1;try{var w=a.alternate;if(a.flags&1024)switch(a.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var y=w.memoizedProps,B=w.memoizedState,Q=a.stateNode,Y=Q.getSnapshotBeforeUpdate(a.elementType===a.type?y:T8(a.type,y),B);Q.__reactInternalSnapshotBeforeUpdate=Y}break;case 3:y1&&O1(a.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(s1){G9(a,a.return,s1)}if(c=a.sibling,c!==null){c.return=a.return,X1=c;break}X1=a.return}return w=Bf,Bf=!1,w}function y5(a,c,w){var y=c.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var B=y=y.next;do{if((B.tag&a)===a){var Q=B.destroy;B.destroy=void 0,Q!==void 0&&Ds(c,w,Q)}B=B.next}while(B!==y)}}function He(a,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var w=c=c.next;do{if((w.tag&a)===a){var y=w.create;w.destroy=y()}w=w.next}while(w!==c)}}function Ts(a){var c=a.ref;if(c!==null){var w=a.stateNode;switch(a.tag){case 5:a=o1(w);break;default:a=w}typeof c=="function"?c(a):c.current=a}}function If(a,c,w){if(C4&&typeof C4.onCommitFiberUnmount=="function")try{C4.onCommitFiberUnmount(Nn,c)}catch{}switch(c.tag){case 0:case 11:case 14:case 15:if(a=c.updateQueue,a!==null&&(a=a.lastEffect,a!==null)){var y=a=a.next;do{var B=y,Q=B.destroy;B=B.tag,Q!==void 0&&(B&2||B&4)&&Ds(c,w,Q),y=y.next}while(y!==a)}break;case 1:if(aC(c,w),a=c.stateNode,typeof a.componentWillUnmount=="function")try{a.props=c.memoizedProps,a.state=c.memoizedState,a.componentWillUnmount()}catch(Y){G9(c,w,Y)}break;case 5:aC(c,w);break;case 4:y1?Df(a,c,w):O&&O&&(c=c.stateNode.containerInfo,w=r0(c),q0(c,w))}}function Sf(a,c,w){for(var y=c;;)if(If(a,y,w),y.child===null||y1&&y.tag===4){if(y===c)break;for(;y.sibling===null;){if(y.return===null||y.return===c)return;y=y.return}y.sibling.return=y.return,y=y.sibling}else y.child.return=y,y=y.child}function _f(a){var c=a.alternate;c!==null&&(a.alternate=null,_f(c)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(c=a.stateNode,c!==null&&R1(c)),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Qf(a){return a.tag===5||a.tag===3||a.tag===4}function Rf(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Qf(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function bf(a){if(y1){e:{for(var c=a.return;c!==null;){if(Qf(c))break e;c=c.return}throw Error(o(160))}var w=c;switch(w.tag){case 5:c=w.stateNode,w.flags&32&&(U0(c),w.flags&=-33),w=Rf(a),Ps(a,w,c);break;case 3:case 4:c=w.stateNode.containerInfo,w=Rf(a),Hs(a,w,c);break;default:throw Error(o(161))}}}function Hs(a,c,w){var y=a.tag;if(y===5||y===6)a=a.stateNode,c?s0(w,a,c):L0(w,a);else if(y!==4&&(a=a.child,a!==null))for(Hs(a,c,w),a=a.sibling;a!==null;)Hs(a,c,w),a=a.sibling}function Ps(a,c,w){var y=a.tag;if(y===5||y===6)a=a.stateNode,c?p0(w,a,c):l0(w,a);else if(y!==4&&(a=a.child,a!==null))for(Ps(a,c,w),a=a.sibling;a!==null;)Ps(a,c,w),a=a.sibling}function Df(a,c,w){for(var y=c,B=!1,Q,Y;;){if(!B){B=y.return;e:for(;;){if(B===null)throw Error(o(160));switch(Q=B.stateNode,B.tag){case 5:Y=!1;break e;case 3:Q=Q.containerInfo,Y=!0;break e;case 4:Q=Q.containerInfo,Y=!0;break e}B=B.return}B=!0}if(y.tag===5||y.tag===6)Sf(a,y,w),Y?m0(Q,y.stateNode):t0(Q,y.stateNode);else if(y.tag===18)Y?x1(Q,y.stateNode):B1(Q,y.stateNode);else if(y.tag===4){if(y.child!==null){Q=y.stateNode.containerInfo,Y=!0,y.child.return=y,y=y.child;continue}}else if(If(a,y,w),y.child!==null){y.child.return=y,y=y.child;continue}if(y===c)break;for(;y.sibling===null;){if(y.return===null||y.return===c)return;y=y.return,y.tag===4&&(B=!1)}y.sibling.return=y.return,y=y.sibling}}function Ns(a,c){if(y1){switch(c.tag){case 0:case 11:case 14:case 15:y5(3,c,c.return),He(3,c),y5(5,c,c.return);return;case 1:return;case 5:var w=c.stateNode;if(w!=null){var y=c.memoizedProps;a=a!==null?a.memoizedProps:y;var B=c.type,Q=c.updateQueue;c.updateQueue=null,Q!==null&&y0(w,Q,B,a,y,c)}return;case 6:if(c.stateNode===null)throw Error(o(162));w=c.memoizedProps,T1(c.stateNode,a!==null?a.memoizedProps:w,w);return;case 3:L1&&a!==null&&a.memoizedState.isDehydrated&&p1(c.stateNode.containerInfo);return;case 12:return;case 13:cC(c);return;case 19:cC(c);return;case 17:return}throw Error(o(163))}switch(c.tag){case 0:case 11:case 14:case 15:y5(3,c,c.return),He(3,c),y5(5,c,c.return);return;case 12:return;case 13:cC(c);return;case 19:cC(c);return;case 3:L1&&a!==null&&a.memoizedState.isDehydrated&&p1(c.stateNode.containerInfo);break;case 22:case 23:return}e:if(O){switch(c.tag){case 1:case 5:case 6:break e;case 3:case 4:c=c.stateNode,q0(c.containerInfo,c.pendingChildren);break e}throw Error(o(163))}}function cC(a){var c=a.updateQueue;if(c!==null){a.updateQueue=null;var w=a.stateNode;w===null&&(w=a.stateNode=new HM),c.forEach(function(y){var B=$M.bind(null,a,y);w.has(y)||(w.add(y),y.then(B,B))})}}function NM(a,c){for(X1=c;X1!==null;){c=X1;var w=c.deletions;if(w!==null)for(var y=0;y";case dC:return":has("+(Fs(a)||"")+")";case hC:return'[role="'+a.value+'"]';case gC:return'"'+a.value+'"';case fC:return'[data-testname="'+a.value+'"]';default:throw Error(o(365))}}function jf(a,c){var w=[];a=[a,0];for(var y=0;yB&&(B=Y),y&=~Q}if(y=B,y=q2()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*UM(y/1960))-y,10a?16:a,m6===null)var y=!1;else{if(a=m6,m6=null,wC=0,H0&6)throw Error(o(331));var B=H0;for(H0|=4,X1=a.current;X1!==null;){var Q=X1,Y=Q.child;if(X1.flags&16){var s1=Q.deletions;if(s1!==null){for(var _1=0;_1q2()-zs?B5(a,0):Gs|=w),O9(a,c)}function Yf(a,c){c===0&&(a.mode&1?(c=K2,K2<<=1,!(K2&130023424)&&(K2=4194304)):c=1);var w=S9();a=kC(a,c),a!==null&&(ke(a,c,w),O9(a,w))}function VM(a){var c=a.memoizedState,w=0;c!==null&&(w=c.retryLane),Yf(a,w)}function $M(a,c){var w=0;switch(a.tag){case 13:var y=a.stateNode,B=a.memoizedState;B!==null&&(w=B.retryLane);break;case 19:y=a.stateNode;break;default:throw Error(o(314))}y!==null&&y.delete(c),Yf(a,w)}var Jf;Jf=function(a,c,w){if(a!==null)if(a.memoizedProps!==c.pendingProps||j.current)e8=!0;else{if(!(a.lanes&w)&&!(c.flags&128))return e8=!1,DM(a,c,w);e8=!!(a.flags&131072)}else e8=!1,L2&&c.flags&1048576&&Dh(c,$n,c.index);switch(c.lanes=0,c.tag){case 2:var y=c.type;a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),a=c.pendingProps;var B=i1(c,H.current);P3(c,w),B=ks(null,c,y,a,B,w);var Q=Ms();return c.flags|=1,typeof B=="object"&&B!==null&&typeof B.render=="function"&&B.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,h1(y)?(Q=!0,N1(c)):Q=!1,c.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,cs(c),B.updater=zn,c.stateNode=B,B._reactInternals=c,ds(c,y,a,w),c=Qs(null,c,y,!0,Q,w)):(c.tag=0,L2&&Q&&hs(c),I9(null,c,B,w),c=c.child),c;case 16:y=c.elementType;e:{switch(a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),a=c.pendingProps,B=y._init,y=B(y._payload),c.type=y,B=c.tag=JM(y),a=T8(y,a),B){case 0:c=_s(null,c,y,a,w);break e;case 1:c=vf(null,c,y,a,w);break e;case 11:c=ff(null,c,y,a,w);break e;case 14:c=gf(null,c,y,T8(y.type,a),w);break e}throw Error(o(306,y,""))}return c;case 0:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),_s(a,c,y,B,w);case 1:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),vf(a,c,y,B,w);case 3:e:{if(wf(c),a===null)throw Error(o(387));y=c.pendingProps,Q=c.memoizedState,B=Q.element,Bh(a,c),Gn(c,y,null,w);var Y=c.memoizedState;if(y=Y.element,L1&&Q.isDehydrated)if(Q={element:y,isDehydrated:!1,cache:Y.cache,transitions:Y.transitions},c.updateQueue.baseState=Q,c.memoizedState=Q,c.flags&256){B=Error(o(423)),c=xf(a,c,y,w,B);break e}else if(y!==B){B=Error(o(424)),c=xf(a,c,y,w,B);break e}else for(L1&&(Z9=b3(c.stateNode.containerInfo),q9=c,L2=!0,H8=null,Me=!1),w=Uh(c,null,y,w),c.child=w;w;)w.flags=w.flags&-3|4096,w=w.sibling;else{if(U3(),y===B){c=R4(a,c,w);break e}I9(a,c,y,w)}c=c.child}return c;case 5:return Fh(c),a===null&&As(c),y=c.type,B=c.pendingProps,Q=a!==null?a.memoizedProps:null,Y=B.children,z(y,B)?Y=null:Q!==null&&z(y,Q)&&(c.flags|=32),Lf(a,c),I9(a,c,Y,w),c.child;case 6:return a===null&&As(c),null;case 13:return mf(a,c,w);case 4:return Ls(c,c.stateNode.containerInfo),y=c.pendingProps,a===null?c.child=F3(c,null,y,w):I9(a,c,y,w),c.child;case 11:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),ff(a,c,y,B,w);case 7:return I9(a,c,c.pendingProps,w),c.child;case 8:return I9(a,c,c.pendingProps.children,w),c.child;case 12:return I9(a,c,c.pendingProps.children,w),c.child;case 10:e:{if(y=c.type._context,B=c.pendingProps,Q=c.memoizedProps,Y=B.value,yh(c,y,Y),Q!==null)if(r4(Q.value,Y)){if(Q.children===B.children&&!j.current){c=R4(a,c,w);break e}}else for(Q=c.child,Q!==null&&(Q.return=c);Q!==null;){var s1=Q.dependencies;if(s1!==null){Y=Q.child;for(var _1=s1.firstContext;_1!==null;){if(_1.context===y){if(Q.tag===1){_1=I4(-1,w&-w),_1.tag=2;var W1=Q.updateQueue;if(W1!==null){W1=W1.shared;var i0=W1.pending;i0===null?_1.next=_1:(_1.next=i0.next,i0.next=_1),W1.pending=_1}}Q.lanes|=w,_1=Q.alternate,_1!==null&&(_1.lanes|=w),as(Q.return,w,c),s1.lanes|=w;break}_1=_1.next}}else if(Q.tag===10)Y=Q.type===c.type?null:Q.child;else if(Q.tag===18){if(Y=Q.return,Y===null)throw Error(o(341));Y.lanes|=w,s1=Y.alternate,s1!==null&&(s1.lanes|=w),as(Y,w,c),Y=Q.sibling}else Y=Q.child;if(Y!==null)Y.return=Q;else for(Y=Q;Y!==null;){if(Y===c){Y=null;break}if(Q=Y.sibling,Q!==null){Q.return=Y.return,Y=Q;break}Y=Y.return}Q=Y}I9(a,c,B.children,w),c=c.child}return c;case 9:return B=c.type,y=c.pendingProps.children,P3(c,w),B=g8(B),y=y(B),c.flags|=1,I9(a,c,y,w),c.child;case 14:return y=c.type,B=T8(y,c.pendingProps),B=T8(y.type,B),gf(a,c,y,B,w);case 15:return Af(a,c,c.type,c.pendingProps,w);case 17:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),c.tag=1,h1(y)?(a=!0,N1(c)):a=!1,P3(c,w),Rh(c,y,B),ds(c,y,B,w),Qs(null,c,y,!0,a,w);case 19:return yf(a,c,w);case 22:return pf(a,c,w)}throw Error(o(156,c.tag))};function Xf(a,c){return ns(a,c)}function YM(a,c,w,y){this.tag=a,this.key=w,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=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function x8(a,c,w,y){return new YM(a,c,w,y)}function Zs(a){return a=a.prototype,!(!a||!a.isReactComponent)}function JM(a){if(typeof a=="function")return Zs(a)?1:0;if(a!=null){if(a=a.$$typeof,a===E)return 11;if(a===M)return 14}return 2}function E6(a,c){var w=a.alternate;return w===null?(w=x8(a.tag,c,a.key,a.mode),w.elementType=a.elementType,w.type=a.type,w.stateNode=a.stateNode,w.alternate=a,a.alternate=w):(w.pendingProps=c,w.type=a.type,w.flags=0,w.subtreeFlags=0,w.deletions=null),w.flags=a.flags&14680064,w.childLanes=a.childLanes,w.lanes=a.lanes,w.child=a.child,w.memoizedProps=a.memoizedProps,w.memoizedState=a.memoizedState,w.updateQueue=a.updateQueue,c=a.dependencies,w.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},w.sibling=a.sibling,w.index=a.index,w.ref=a.ref,w}function EC(a,c,w,y,B,Q){var Y=2;if(y=a,typeof a=="function")Zs(a)&&(Y=1);else if(typeof a=="string")Y=5;else e:switch(a){case g:return _5(w.children,B,Q,c);case A:Y=8,B|=8;break;case p:return a=x8(12,w,c,B|2),a.elementType=p,a.lanes=Q,a;case m:return a=x8(13,w,c,B),a.elementType=m,a.lanes=Q,a;case L:return a=x8(19,w,c,B),a.elementType=L,a.lanes=Q,a;case I:return yC(w,B,Q,c);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case v:Y=10;break e;case x:Y=9;break e;case E:Y=11;break e;case M:Y=14;break e;case k:Y=16,y=null;break e}throw Error(o(130,a==null?a:typeof a,""))}return c=x8(Y,w,c,B),c.elementType=a,c.type=y,c.lanes=Q,c}function _5(a,c,w,y){return a=x8(7,a,y,c),a.lanes=w,a}function yC(a,c,w,y){return a=x8(22,a,y,c),a.elementType=I,a.lanes=w,a.stateNode={},a}function el(a,c,w){return a=x8(6,a,null,c),a.lanes=w,a}function tl(a,c,w){return c=x8(4,a.children!==null?a.children:[],a.key,c),c.lanes=w,c.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},c}function XM(a,c,w,y,B){this.tag=c,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=k1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=es(0),this.expirationTimes=es(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=es(0),this.identifierPrefix=y,this.onRecoverableError=B,L1&&(this.mutableSourceEagerHydrationData=null)}function Kf(a,c,w,y,B,Q,Y,s1,_1){return a=new XM(a,c,w,s1,_1),c===1?(c=1,Q===!0&&(c|=8)):c=0,Q=x8(3,null,null,c),a.current=Q,Q.stateNode=a,Q.memoizedState={element:y,isDehydrated:w,cache:null,transitions:null},cs(Q),a}function qf(a){if(!a)return B9;a=a._reactInternals;e:{if(X(a)!==a||a.tag!==1)throw Error(o(170));var c=a;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(h1(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(o(171))}if(a.tag===1){var w=a.type;if(h1(w))return P1(a,w,c)}return c}function Zf(a){var c=a._reactInternals;if(c===void 0)throw typeof a.render=="function"?Error(o(188)):(a=Object.keys(a).join(","),Error(o(268,a)));return a=Z(c),a===null?null:a.stateNode}function eg(a,c){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var w=a.retryLane;a.retryLane=w!==0&&w=W1&&Q>=I0&&B<=i0&&Y<=x0){a.splice(c,1);break}else if(y!==W1||w.width!==_1.width||x0Y){if(!(Q!==I0||w.height!==_1.height||i0B)){W1>y&&(_1.width+=W1-y,_1.x=y),i0Q&&(_1.height+=I0-Q,_1.y=Q),x0w&&(w=Y)),Y ")+` - -No matching component was found for: - `)+a.join(" > ")}return null},n.getPublicRootInstance=function(a){if(a=a.current,!a.child)return null;switch(a.child.tag){case 5:return o1(a.child.stateNode);default:return a.child.stateNode}},n.injectIntoDevTools=function(a){if(a={bundleType:a.bundleType,version:a.version,rendererPackageName:a.rendererPackageName,rendererConfig:a.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:KM,findFiberByHostInstance:a.findFiberByHostInstance||qM,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")a=!1;else{var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled||!c.supportsFiber)a=!0;else{try{Nn=c.inject(a),C4=c}catch{}a=!!c.checkDCE}}return a},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(a,c,w,y){if(!T)throw Error(o(363));a=Ws(a,c);var B=K1(a,w,y).disconnect;return{disconnect:function(){B()}}},n.registerMutableSourceForHydration=function(a,c){var w=c._getVersion;w=w(c._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[c,w]:a.mutableSourceEagerHydrationData.push(c,w)},n.runWithPriority=function(a,c){var w=J0;try{return J0=a,c()}finally{J0=w}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(a,c,w,y){var B=c.current,Q=S9(),Y=k6(B);return w=qf(w),c.context===null?c.context=w:c.pendingContext=w,c=I4(Q,Y),c.payload={element:a},y=y===void 0?null:y,y!==null&&(c.callback=y),w6(B,c),a=w8(B,Y,Q),a!==null&&On(a,B,Y),Y},n};ok.exports=vT;var wT=ok.exports;const xT=QL(wT),mT=t=>typeof t=="object"&&typeof t.then=="function",r3=[];function ak(t,e,n=(C,r)=>C===r){if(t===e)return!0;if(!t||!e)return!1;const C=t.length;if(e.length!==C)return!1;for(let r=0;r0&&(i.timeout&&clearTimeout(i.timeout),i.timeout=setTimeout(i.remove,C.lifespan)),i.response;if(!n)throw i.promise}const r={keys:e,equal:C.equal,remove:()=>{const i=r3.indexOf(r);i!==-1&&r3.splice(i,1)},promise:(mT(t)?t:t(...e)).then(i=>{r.response=i,C.lifespan&&C.lifespan>0&&(r.timeout=setTimeout(r.remove,C.lifespan))}).catch(i=>r.error=i)};if(r3.push(r),!n)throw r.promise}const kT=(t,e,n)=>ck(t,e,!1,n),MT=(t,e,n)=>void ck(t,e,!0,n),ET=t=>{if(t===void 0||t.length===0)r3.splice(0,r3.length);else{const e=r3.find(n=>ak(t,n.keys,n.equal));e&&e.remove()}},uh={},yT=t=>void Object.assign(uh,t);function BT(t,e){function n(g,{args:A=[],attach:p,...v},x){let E=`${g[0].toUpperCase()}${g.slice(1)}`,m;if(g==="primitive"){if(v.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const L=v.object;m=k7(L,{type:g,root:x,attach:p,primitive:!0})}else{const L=uh[E];if(!L)throw new Error(`R3F: ${E} 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!");m=k7(new L(...A),{type:g,root:x,attach:p,memoizedProps:{args:A}})}return m.__r3f.attach===void 0&&(m instanceof R0?m.__r3f.attach="geometry":m instanceof i9&&(m.__r3f.attach="material")),E!=="inject"&&fa(m,v),m}function C(g,A){let p=!1;if(A){var v,x;(v=A.__r3f)!=null&&v.attach?ha(g,A,A.__r3f.attach):A.isObject3D&&g.isObject3D&&(g.add(A),p=!0),p||(x=g.__r3f)==null||x.objects.push(A),A.__r3f||k7(A,{}),A.__r3f.parent=g,wu(A),M7(A)}}function r(g,A,p){let v=!1;if(A){var x,E;if((x=A.__r3f)!=null&&x.attach)ha(g,A,A.__r3f.attach);else if(A.isObject3D&&g.isObject3D){A.parent=g,A.dispatchEvent({type:"added"});const m=g.children.filter(M=>M!==A),L=m.indexOf(p);g.children=[...m.slice(0,L),A,...m.slice(L)],v=!0}v||(E=g.__r3f)==null||E.objects.push(A),A.__r3f||k7(A,{}),A.__r3f.parent=g,wu(A),M7(A)}}function i(g,A,p=!1){g&&[...g].forEach(v=>o(A,v,p))}function o(g,A,p){if(A){var v,x,E;if(A.__r3f&&(A.__r3f.parent=null),(v=g.__r3f)!=null&&v.objects&&(g.__r3f.objects=g.__r3f.objects.filter(I=>I!==A)),(x=A.__r3f)!=null&&x.attach)Vp(g,A,A.__r3f.attach);else if(A.isObject3D&&g.isObject3D){var m;g.remove(A),(m=A.__r3f)!=null&&m.root&&TT(A.__r3f.root,A)}const M=(E=A.__r3f)==null?void 0:E.primitive,k=!M&&(p===void 0?A.dispose!==null:p);if(!M){var L;i((L=A.__r3f)==null?void 0:L.objects,A,k),i(A.children,A,k)}if(delete A.__r3f,k&&A.dispose&&A.type!=="Scene"){const I=()=>{try{A.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Lu.unstable_scheduleCallback(Lu.unstable_IdlePriority,I):I()}M7(g)}}function s(g,A,p,v){var x;const E=(x=g.__r3f)==null?void 0:x.parent;if(!E)return;const m=n(A,p,g.__r3f.root);if(g.children){for(const L of g.children)L.__r3f&&C(m,L);g.children=g.children.filter(L=>!L.__r3f)}g.__r3f.objects.forEach(L=>C(m,L)),g.__r3f.objects=[],g.__r3f.autoRemovedBeforeAppend||o(E,g),m.parent&&(m.__r3f.autoRemovedBeforeAppend=!0),C(E,m),m.raycast&&m.__r3f.eventCount&&m.__r3f.root.getState().internal.interaction.push(m),[v,v.alternate].forEach(L=>{L!==null&&(L.stateNode=m,L.ref&&(typeof L.ref=="function"?L.ref(m):L.ref.current=m))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:xT({createInstance:n,removeChild:o,appendChild:C,appendInitialChild:C,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(g,A)=>{if(!A)return;const p=g.getState().scene;p.__r3f&&(p.__r3f.root=g,C(p,A))},removeChildFromContainer:(g,A)=>{A&&o(g.getState().scene,A)},insertInContainerBefore:(g,A,p)=>{if(!A||!p)return;const v=g.getState().scene;v.__r3f&&r(v,A,p)},getRootHostContext:()=>null,getChildHostContext:g=>g,finalizeInitialChildren(g){var A;return!!((A=g?.__r3f)!=null?A:{}).handlers},prepareUpdate(g,A,p,v){var x;if(((x=g?.__r3f)!=null?x:{}).primitive&&v.object&&v.object!==g)return[!0];{const{args:m=[],children:L,...M}=v,{args:k=[],children:I,...b}=p;if(!Array.isArray(m))throw new Error("R3F: the args prop must be an array!");if(m.some((D,U)=>D!==k[U]))return[!0];const R=pk(g,M,b,!0);return R.changes.length?[!1,R]:null}},commitUpdate(g,[A,p],v,x,E,m){A?s(g,v,E,m):fa(g,p)},commitMount(g,A,p,v){var x;const E=(x=g.__r3f)!=null?x:{};g.raycast&&E.handlers&&E.eventCount&&g.__r3f.root.getState().internal.interaction.push(g)},getPublicInstance:g=>g,prepareForCommit:()=>null,preparePortalMount:g=>k7(g.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(g){var A;const{attach:p,parent:v}=(A=g.__r3f)!=null?A:{};p&&v&&Vp(v,g,p),g.isObject3D&&(g.visible=!1),M7(g)},unhideInstance(g,A){var p;const{attach:v,parent:x}=(p=g.__r3f)!=null?p:{};v&&x&&ha(x,g,v),(g.isObject3D&&A.visible==null||A.visible)&&(g.visible=!0),M7(g)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():F7.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&g2.fun(performance.now)?performance.now:g2.fun(Date.now)?Date.now:()=>0,scheduleTimeout:g2.fun(setTimeout)?setTimeout:void 0,cancelTimeout:g2.fun(clearTimeout)?clearTimeout:void 0}),applyProps:fa}}var Wp,Op;const da=t=>"colorSpace"in t||"outputColorSpace"in t,uk=()=>{var t;return(t=uh.ColorManagement)!=null?t:null},dk=t=>t&&t.isOrthographicCamera,IT=t=>t&&t.hasOwnProperty("current"),Rn=typeof window<"u"&&((Wp=window.document)!=null&&Wp.createElement||((Op=window.navigator)==null?void 0:Op.product)==="ReactNative")?u.useLayoutEffect:u.useEffect;function hk(t){const e=u.useRef(t);return Rn(()=>void(e.current=t),[t]),e}function ST({set:t}){return Rn(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class fk extends u.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}fk.getDerivedStateFromError=()=>({error:!0});const gk="__default",Gp=new Map,_T=t=>t&&!!t.memoized&&!!t.changes;function Ak(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const ot=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()},g2={obj:t=>t===Object(t)&&!g2.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:C="reference",strict:r=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(g2.str(t)||g2.num(t))return t===e;const i=g2.obj(t);if(i&&C==="reference")return t===e;const o=g2.arr(t);if(o&&n==="reference")return t===e;if((o||i)&&t===e)return!0;let s;for(s in t)if(!(s in e))return!1;if(i&&n==="shallow"&&C==="shallow"){for(s in r?e:t)if(!g2.equ(t[s],e[s],{strict:r,objects:"reference"}))return!1}else for(s in r?e:t)if(t[s]!==e[s])return!1;if(g2.und(s)){if(o&&t.length===0&&e.length===0||i&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function QT(t){const e={nodes:{},materials:{}};return t&&t.traverse(n=>{n.name&&(e.nodes[n.name]=n),n.material&&!e.materials[n.material.name]&&(e.materials[n.material.name]=n.material)}),e}function RT(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function k7(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function vu(t,e){let n=t;if(e.includes("-")){const C=e.split("-"),r=C.pop();return n=C.reduce((i,o)=>i[o],t),{target:n,key:r}}else return{target:n,key:e}}const zp=/-\d+$/;function ha(t,e,n){if(g2.str(n)){if(zp.test(n)){const i=n.replace(zp,""),{target:o,key:s}=vu(t,i);Array.isArray(o[s])||(o[s]=[])}const{target:C,key:r}=vu(t,n);e.__r3f.previousAttach=C[r],C[r]=e}else e.__r3f.previousAttach=n(t,e)}function Vp(t,e,n){var C,r;if(g2.str(n)){const{target:i,key:o}=vu(t,n),s=e.__r3f.previousAttach;s===void 0?delete i[o]:i[o]=s}else(C=e.__r3f)==null||C.previousAttach==null||C.previousAttach(t,e);(r=e.__r3f)==null||delete r.previousAttach}function pk(t,{children:e,key:n,ref:C,...r},{children:i,key:o,ref:s,...l}={},d=!1){var g;const A=(g=t?.__r3f)!=null?g:{},p=Object.entries(r),v=[];if(d){const E=Object.keys(l);for(let m=0;m{var L;if((L=t.__r3f)!=null&&L.primitive&&E==="object"||g2.equ(m,l[E]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(E))return v.push([E,m,!0,[]]);let M=[];E.includes("-")&&(M=E.split("-")),v.push([E,m,!1,M]);for(const k in r){const I=r[k];k.startsWith(`${E}-`)&&v.push([k,I,!1,k.split("-")])}});const x={...r};return A.memoizedProps&&A.memoizedProps.args&&(x.args=A.memoizedProps.args),A.memoizedProps&&A.memoizedProps.attach&&(x.attach=A.memoizedProps.attach),{memoized:x,changes:v}}const bT=typeof process<"u"&&!1;function fa(t,e){var n,C,r;const i=(n=t.__r3f)!=null?n:{},o=i.root,s=(C=o==null||o.getState==null?void 0:o.getState())!=null?C:{},{memoized:l,changes:d}=_T(e)?e:pk(t,e),g=i.eventCount;t.__r3f&&(t.__r3f.memoizedProps=l);for(let p=0;pk[I],t),!(M&&M.set))){const[k,...I]=m.reverse();L=I.reverse().reduce((b,R)=>b[R],t),v=k}if(x===gk+"remove")if(L.constructor){let k=Gp.get(L.constructor);k||(k=new L.constructor,Gp.set(L.constructor,k)),x=k[v]}else x=0;if(E)x?i.handlers[v]=x:delete i.handlers[v],i.eventCount=Object.keys(i.handlers).length;else if(M&&M.set&&(M.copy||M instanceof c3)){if(Array.isArray(x))M.fromArray?M.fromArray(x):M.set(...x);else if(M.copy&&x&&x.constructor&&(bT?M.constructor.name===x.constructor.name:M.constructor===x.constructor))M.copy(x);else if(x!==void 0){const k=M instanceof Z1;!k&&M.setScalar?M.setScalar(x):M instanceof c3&&x instanceof c3?M.mask=x.mask:M.set(x),!uk()&&!s.linear&&k&&M.convertSRGBToLinear()}}else if(L[v]=x,L[v]instanceof w2&&L[v].format===b9&&L[v].type===x4){const k=L[v];da(k)&&da(s.gl)?k.colorSpace=s.gl.outputColorSpace:k.encoding=s.gl.outputEncoding}M7(t)}if(i.parent&&s.internal&&t.raycast&&g!==i.eventCount){const p=s.internal.interaction.indexOf(t);p>-1&&s.internal.interaction.splice(p,1),i.eventCount&&s.internal.interaction.push(t)}return!(d.length===1&&d[0][0]==="onUpdate")&&d.length&&(r=t.__r3f)!=null&&r.parent&&wu(t),t}function M7(t){var e,n;const C=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();C&&C.internal.frames===0&&C.invalidate()}function wu(t){t.onUpdate==null||t.onUpdate(t)}function Lk(t,e){t.manual||(dk(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function Tr(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function DT(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return F7.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return F7.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return F7.ContinuousEventPriority;default:return F7.DefaultEventPriority}}function vk(t,e,n,C){const r=n.get(e);r&&(n.delete(e),n.size===0&&(t.delete(C),r.target.releasePointerCapture(C)))}function TT(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(C=>C!==e),n.initialHits=n.initialHits.filter(C=>C!==e),n.hovered.forEach((C,r)=>{(C.eventObject===e||C.object===e)&&n.hovered.delete(r)}),n.capturedMap.forEach((C,r)=>{vk(n.capturedMap,e,C,r)})}function HT(t){function e(l){const{internal:d}=t.getState(),g=l.offsetX-d.initialClick[0],A=l.offsetY-d.initialClick[1];return Math.round(Math.sqrt(g*g+A*A))}function n(l){return l.filter(d=>["Move","Over","Enter","Out","Leave"].some(g=>{var A;return(A=d.__r3f)==null?void 0:A.handlers["onPointer"+g]}))}function C(l,d){const g=t.getState(),A=new Set,p=[],v=d?d(g.internal.interaction):g.internal.interaction;for(let L=0;L{const k=ot(L.object),I=ot(M.object);return!k||!I?L.distance-M.distance:I.events.priority-k.events.priority||L.distance-M.distance}).filter(L=>{const M=Tr(L);return A.has(M)?!1:(A.add(M),!0)});g.events.filter&&(E=g.events.filter(E,g));for(const L of E){let M=L.object;for(;M;){var m;(m=M.__r3f)!=null&&m.eventCount&&p.push({...L,eventObject:M}),M=M.parent}}if("pointerId"in l&&g.internal.capturedMap.has(l.pointerId))for(let L of g.internal.capturedMap.get(l.pointerId).values())A.has(Tr(L.intersection))||p.push(L.intersection);return p}function r(l,d,g,A){const p=t.getState();if(l.length){const v={stopped:!1};for(const x of l){const E=ot(x.object)||p,{raycaster:m,pointer:L,camera:M,internal:k}=E,I=new G(L.x,L.y,0).unproject(M),b=_=>{var P,Z;return(P=(Z=k.capturedMap.get(_))==null?void 0:Z.has(x.eventObject))!=null?P:!1},R=_=>{const P={intersection:x,target:d.target};k.capturedMap.has(_)?k.capturedMap.get(_).set(x.eventObject,P):k.capturedMap.set(_,new Map([[x.eventObject,P]])),d.target.setPointerCapture(_)},D=_=>{const P=k.capturedMap.get(_);P&&vk(k.capturedMap,x.eventObject,P,_)};let U={};for(let _ in d){let P=d[_];typeof P!="function"&&(U[_]=P)}let X={...x,...U,pointer:L,intersections:l,stopped:v.stopped,delta:g,unprojectedPoint:I,ray:m.ray,camera:M,stopPropagation(){const _="pointerId"in d&&k.capturedMap.get(d.pointerId);if((!_||_.has(x.eventObject))&&(X.stopped=v.stopped=!0,k.hovered.size&&Array.from(k.hovered.values()).find(P=>P.eventObject===x.eventObject))){const P=l.slice(0,l.indexOf(x));i([...P,x])}},target:{hasPointerCapture:b,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:b,setPointerCapture:R,releasePointerCapture:D},nativeEvent:d};if(A(X),v.stopped===!0)break}}return l}function i(l){const{internal:d}=t.getState();for(const g of d.hovered.values())if(!l.length||!l.find(A=>A.object===g.object&&A.index===g.index&&A.instanceId===g.instanceId)){const p=g.eventObject.__r3f,v=p?.handlers;if(d.hovered.delete(Tr(g)),p!=null&&p.eventCount){const x={...g,intersections:l};v.onPointerOut==null||v.onPointerOut(x),v.onPointerLeave==null||v.onPointerLeave(x)}}}function o(l,d){for(let g=0;gi([]);case"onLostPointerCapture":return d=>{const{internal:g}=t.getState();"pointerId"in d&&g.capturedMap.has(d.pointerId)&&requestAnimationFrame(()=>{g.capturedMap.has(d.pointerId)&&(g.capturedMap.delete(d.pointerId),i([]))})}}return function(g){const{onPointerMissed:A,internal:p}=t.getState();p.lastEvent.current=g;const v=l==="onPointerMove",x=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",m=C(g,v?n:void 0),L=x?e(g):0;l==="onPointerDown"&&(p.initialClick=[g.offsetX,g.offsetY],p.initialHits=m.map(k=>k.eventObject)),x&&!m.length&&L<=2&&(o(g,p.interaction),A&&A(g)),v&&i(m);function M(k){const I=k.eventObject,b=I.__r3f,R=b?.handlers;if(b!=null&&b.eventCount)if(v){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=Tr(k),U=p.hovered.get(D);U?U.stopped&&k.stopPropagation():(p.hovered.set(D,k),R.onPointerOver==null||R.onPointerOver(k),R.onPointerEnter==null||R.onPointerEnter(k))}R.onPointerMove==null||R.onPointerMove(k)}else{const D=R[l];D?(!x||p.initialHits.includes(I))&&(o(g,p.interaction.filter(U=>!p.initialHits.includes(U))),D(k)):x&&p.initialHits.includes(I)&&o(g,p.interaction.filter(U=>!p.initialHits.includes(U)))}}r(m,g,L,M)}}return{handlePointer:s}}const PT=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],wk=t=>!!(t!=null&&t.render),dh=u.createContext(null),NT=(t,e)=>{const n=ik((s,l)=>{const d=new G,g=new G,A=new G;function p(L=l().camera,M=g,k=l().size){const{width:I,height:b,top:R,left:D}=k,U=I/b;M instanceof G?A.copy(M):A.set(...M);const X=L.getWorldPosition(d).distanceTo(A);if(dk(L))return{width:I/L.zoom,height:b/L.zoom,top:R,left:D,factor:1,distance:X,aspect:U};{const _=L.fov*Math.PI/180,P=2*Math.tan(_/2)*X,Z=P*(I/b);return{width:Z,height:P,top:R,left:D,factor:I/Z,distance:X,aspect:U}}}let v;const x=L=>s(M=>({performance:{...M.performance,current:L}})),E=new M1;return{set:s,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(L=1)=>t(l(),L),advance:(L,M)=>e(L,M,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new oh,pointer:E,mouse:E,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const L=l();v&&clearTimeout(v),L.performance.current!==L.performance.min&&x(L.performance.min),v=setTimeout(()=>x(l().performance.max),L.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:L=>s(M=>({...M,events:{...M.events,...L}})),setSize:(L,M,k,I,b)=>{const R=l().camera,D={width:L,height:M,top:I||0,left:b||0,updateStyle:k};s(U=>({size:D,viewport:{...U.viewport,...p(R,g,D)}}))},setDpr:L=>s(M=>{const k=Ak(L);return{viewport:{...M.viewport,dpr:k,initialDpr:M.viewport.initialDpr||k}}}),setFrameloop:(L="always")=>{const M=l().clock;M.stop(),M.elapsedTime=0,L!=="never"&&(M.start(),M.elapsedTime=0),s(()=>({frameloop:L}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:u.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(L,M,k)=>{const I=l().internal;return I.priority=I.priority+(M>0?1:0),I.subscribers.push({ref:L,priority:M,store:k}),I.subscribers=I.subscribers.sort((b,R)=>b.priority-R.priority),()=>{const b=l().internal;b!=null&&b.subscribers&&(b.priority=b.priority-(M>0?1:0),b.subscribers=b.subscribers.filter(R=>R.ref!==L))}}}}}),C=n.getState();let r=C.size,i=C.viewport.dpr,o=C.camera;return n.subscribe(()=>{const{camera:s,size:l,viewport:d,gl:g,set:A}=n.getState();if(l.width!==r.width||l.height!==r.height||d.dpr!==i){var p;r=l,i=d.dpr,Lk(s,l),g.setPixelRatio(d.dpr);const v=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&g.domElement instanceof HTMLCanvasElement;g.setSize(l.width,l.height,v)}s!==o&&(o=s,A(v=>({viewport:{...v.viewport,...v.viewport.getCurrentViewport(s)}})))}),n.subscribe(s=>t(s)),n};let Hr,jT=new Set,UT=new Set,FT=new Set;function ga(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function st(t,e){switch(t){case"before":return ga(jT,e);case"after":return ga(UT,e);case"tail":return ga(FT,e)}}let Aa,pa;function La(t,e,n){let C=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(C=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),Aa=e.internal.subscribers,Hr=0;Hr0)&&!((d=r.gl.xr)!=null&&d.isPresenting)&&(n+=La(l,r))}if(st("after",l),n===0)return st("tail",l),e=!1,cancelAnimationFrame(C)}function o(l,d=1){var g;if(!l)return t.forEach(A=>o(A.store.getState()),d);(g=l.gl.xr)!=null&&g.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+d),e||(e=!0,requestAnimationFrame(i)))}function s(l,d=!0,g,A){if(d&&st("before",l),g)La(l,g,A);else for(const p of t.values())La(l,p.store.getState());d&&st("after",l)}return{loop:i,invalidate:o,advance:s}}function Ae(){const t=u.useContext(dh);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function xk(t=n=>n,e){return Ae()(t,e)}function mk(t,e=0){const n=Ae(),C=n.getState().internal.subscribe,r=hk(t);return Rn(()=>C(r,e,n),[e,C,n]),null}const $p=new WeakMap;function kk(t,e){return function(n,...C){let r=$p.get(n);return r||(r=new n,$p.set(n,r)),t&&t(r),Promise.all(C.map(i=>new Promise((o,s)=>r.load(i,l=>{l.scene&&Object.assign(l,QT(l.scene)),o(l)},e,l=>s(new Error(`Could not load ${i}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function hh(t,e,n,C){const r=Array.isArray(e)?e:[e],i=kT(kk(n,C),[t,...r],{equal:g2.equ});return Array.isArray(e)?i:i[0]}hh.preload=function(t,e,n){const C=Array.isArray(e)?e:[e];return MT(kk(n),[t,...C])};hh.clear=function(t,e){const n=Array.isArray(e)?e:[e];return ET([t,...n])};const re=new Map,{invalidate:Yp,advance:Jp}=WT(re),{reconciler:gn,applyProps:A7}=BT(re,DT),p7={objects:"shallow",strict:!1},OT=(t,e)=>{const n=typeof t=="function"?t(e):t;return wk(n)?n:new Od({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function GT(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:C,height:r,top:i,left:o,updateStyle:s=n}=e;return{width:C,height:r,top:i,left:o,updateStyle:s}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:C,height:r,top:i,left:o}=t.parentElement.getBoundingClientRect();return{width:C,height:r,top:i,left:o,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function zT(t){const e=re.get(t),n=e?.fiber,C=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,i=C||NT(Yp,Jp),o=n||gn.createContainer(i,F7.ConcurrentRoot,null,!1,null,"",r,null);e||re.set(t,{fiber:o,store:i});let s,l=!1,d;return{configure(g={}){let{gl:A,size:p,scene:v,events:x,onCreated:E,shadows:m=!1,linear:L=!1,flat:M=!1,legacy:k=!1,orthographic:I=!1,frameloop:b="always",dpr:R=[1,2],performance:D,raycaster:U,camera:X,onPointerMissed:_}=g,P=i.getState(),Z=P.gl;P.gl||P.set({gl:Z=OT(A,t)});let f1=P.raycaster;f1||P.set({raycaster:f1=new ch});const{params:J,...a1}=U||{};if(g2.equ(a1,f1,p7)||A7(f1,{...a1}),g2.equ(J,f1.params,p7)||A7(f1,{params:{...f1.params,...J}}),!P.camera||P.camera===d&&!g2.equ(d,X,p7)){d=X;const I1=X instanceof En,j1=I1?X:I?new ue(0,0,0,0,.1,1e3):new G2(75,0,.1,1e3);I1||(j1.position.z=5,X&&A7(j1,X),!P.camera&&!(X!=null&&X.rotation)&&j1.lookAt(0,0,0)),P.set({camera:j1}),f1.camera=j1}if(!P.scene){let I1;v instanceof sn?I1=v:(I1=new sn,v&&A7(I1,v)),P.set({scene:k7(I1)})}if(!P.xr){var o1;const I1=(z,W)=>{const N=i.getState();N.frameloop!=="never"&&Jp(z,!0,N,W)},j1=()=>{const z=i.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?I1:null),z.gl.xr.isPresenting||Yp(z)},$={connect(){const z=i.getState().gl;z.xr.addEventListener("sessionstart",j1),z.xr.addEventListener("sessionend",j1)},disconnect(){const z=i.getState().gl;z.xr.removeEventListener("sessionstart",j1),z.xr.removeEventListener("sessionend",j1)}};typeof((o1=Z.xr)==null?void 0:o1.addEventListener)=="function"&&$.connect(),P.set({xr:$})}if(Z.shadowMap){const I1=Z.shadowMap.enabled,j1=Z.shadowMap.type;if(Z.shadowMap.enabled=!!m,g2.boo(m))Z.shadowMap.type=kt;else if(g2.str(m)){var g1;const $={basic:Yw,percentage:fo,soft:kt,variance:W8};Z.shadowMap.type=(g1=$[m])!=null?g1:kt}else g2.obj(m)&&Object.assign(Z.shadowMap,m);(I1!==Z.shadowMap.enabled||j1!==Z.shadowMap.type)&&(Z.shadowMap.needsUpdate=!0)}const F=uk();F&&("enabled"in F?F.enabled=!k:"legacyMode"in F&&(F.legacyMode=k)),A7(Z,{outputEncoding:L?3e3:3001,toneMapping:M?w4:Md}),P.legacy!==k&&P.set(()=>({legacy:k})),P.linear!==L&&P.set(()=>({linear:L})),P.flat!==M&&P.set(()=>({flat:M})),A&&!g2.fun(A)&&!wk(A)&&!g2.equ(A,Z,p7)&&A7(Z,A),x&&!P.events.handlers&&P.set({events:x(i)});const d1=GT(t,p);return g2.equ(d1,P.size,p7)||P.setSize(d1.width,d1.height,d1.updateStyle,d1.top,d1.left),R&&P.viewport.dpr!==Ak(R)&&P.setDpr(R),P.frameloop!==b&&P.setFrameloop(b),P.onPointerMissed||P.set({onPointerMissed:_}),D&&!g2.equ(D,P.performance,p7)&&P.set(I1=>({performance:{...I1.performance,...D}})),s=E,l=!0,this},render(g){return l||this.configure(),gn.updateContainer(u.createElement(VT,{store:i,children:g,onCreated:s,rootElement:t}),o,null,()=>{}),i},unmount(){Mk(t)}}}function VT({store:t,children:e,onCreated:n,rootElement:C}){return Rn(()=>{const r=t.getState();r.set(i=>({internal:{...i.internal,active:!0}})),n&&n(r),t.getState().events.connected||r.events.connect==null||r.events.connect(C)},[]),u.createElement(dh.Provider,{value:t},e)}function Mk(t,e){const n=re.get(t),C=n?.fiber;if(C){const r=n?.store.getState();r&&(r.internal.active=!1),gn.updateContainer(null,C,null,()=>{r&&setTimeout(()=>{try{var i,o,s,l;r.events.disconnect==null||r.events.disconnect(),(i=r.gl)==null||(o=i.renderLists)==null||o.dispose==null||o.dispose(),(s=r.gl)==null||s.forceContextLoss==null||s.forceContextLoss(),(l=r.gl)!=null&&l.xr&&r.xr.disconnect(),RT(r),re.delete(t),e&&e(t)}catch{}},500)})}}function Ek(t,e,n){return u.createElement($T,{key:e.uuid,children:t,container:e,state:n})}function $T({state:t={},children:e,container:n}){const{events:C,size:r,...i}=t,o=Ae(),[s]=u.useState(()=>new ch),[l]=u.useState(()=>new M1),d=u.useCallback((A,p)=>{const v={...A};Object.keys(A).forEach(E=>{(PT.includes(E)||A[E]!==p[E]&&p[E])&&delete v[E]});let x;if(p&&r){const E=p.camera;x=A.viewport.getCurrentViewport(E,new G,r),E!==A.camera&&Lk(E,r)}return{...v,scene:n,raycaster:s,pointer:l,mouse:l,previousRoot:o,events:{...A.events,...p?.events,...C},size:{...A.size,...r},viewport:{...A.viewport,...x},...i}},[t]),[g]=u.useState(()=>{const A=o.getState();return ik((v,x)=>({...A,scene:n,raycaster:s,pointer:l,mouse:l,previousRoot:o,events:{...A.events,...C},size:{...A.size,...r},...i,set:v,get:x,setEvents:E=>v(m=>({...m,events:{...m.events,...E}}))}))});return u.useEffect(()=>{const A=o.subscribe(p=>g.setState(v=>d(p,v)));return()=>{A(),g.destroy()}},[]),u.useEffect(()=>{g.setState(A=>d(o.getState(),A))},[d]),u.createElement(u.Fragment,null,gn.createPortal(u.createElement(dh.Provider,{value:g},e),g,null))}gn.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:u.version});function $i(){return $i=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0?C=setTimeout(l,e-g):(C=null,n||(s=t.apply(i,r),i=r=null))}var d=function(){i=this,r=arguments,o=Date.now();var g=n&&!C;return C||(C=setTimeout(l,e)),g&&(s=t.apply(i,r),i=r=null),s};return d.clear=function(){C&&(clearTimeout(C),C=null)},d.flush=function(){C&&(s=t.apply(i,r),i=r=null,clearTimeout(C),C=null)},d}xu.debounce=xu;var YT=xu;const Xp=QL(YT);function JT(t){let{debounce:e,scroll:n,polyfill:C,offsetSize:r}=t===void 0?{debounce:0,scroll:!1,offsetSize:!1}:t;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[o,s]=u.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=u.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),d=e?typeof e=="number"?e:e.scroll:null,g=e?typeof e=="number"?e:e.resize:null,A=u.useRef(!1);u.useEffect(()=>(A.current=!0,()=>void(A.current=!1)));const[p,v,x]=u.useMemo(()=>{const M=()=>{if(!l.current.element)return;const{left:k,top:I,width:b,height:R,bottom:D,right:U,x:X,y:_}=l.current.element.getBoundingClientRect(),P={left:k,top:I,width:b,height:R,bottom:D,right:U,x:X,y:_};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),A.current&&!ZT(l.current.lastBounds,P)&&s(l.current.lastBounds=P)};return[M,g?Xp(M,g):M,d?Xp(M,d):M]},[s,r,d,g]);function E(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(M=>M.removeEventListener("scroll",x,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function m(){l.current.element&&(l.current.resizeObserver=new i(x),l.current.resizeObserver.observe(l.current.element),n&&l.current.scrollContainers&&l.current.scrollContainers.forEach(M=>M.addEventListener("scroll",x,{capture:!0,passive:!0})))}const L=M=>{!M||M===l.current.element||(E(),l.current.element=M,l.current.scrollContainers=yk(M),m())};return KT(x,!!n),XT(v),u.useEffect(()=>{E(),m()},[n,x,v]),u.useEffect(()=>E,[]),[L,o,p]}function XT(t){u.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function KT(t,e){u.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function yk(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:C,overflowY:r}=window.getComputedStyle(t);return[n,C,r].some(i=>i==="auto"||i==="scroll")&&e.push(t),[...e,...yk(t.parentElement)]}const qT=["x","y","top","bottom","left","right","width","height"],ZT=(t,e)=>qT.every(n=>t[n]===e[n]);var eH=Object.defineProperty,tH=Object.defineProperties,nH=Object.getOwnPropertyDescriptors,Kp=Object.getOwnPropertySymbols,CH=Object.prototype.hasOwnProperty,rH=Object.prototype.propertyIsEnumerable,qp=(t,e,n)=>e in t?eH(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Zp=(t,e)=>{for(var n in e||(e={}))CH.call(e,n)&&qp(t,n,e[n]);if(Kp)for(var n of Kp(e))rH.call(e,n)&&qp(t,n,e[n]);return t},iH=(t,e)=>tH(t,nH(e));function Bk(t,e,n){if(!t)return;if(n(t)===!0)return t;let C=e?t.return:t.child;for(;C;){const r=Bk(C,e,n);if(r)return r;C=e?null:C.sibling}}function Ik(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const fh=Ik(u.createContext(null));class Sk extends u.Component{render(){return u.createElement(fh.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:eL,ReactCurrentDispatcher:tL}=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function oH(){const t=u.useContext(fh);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=u.useId();return u.useMemo(()=>{for(const C of[eL?.current,t,t?.alternate]){if(!C)continue;const r=Bk(C,!1,i=>{let o=i.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(r)return r}},[t,e])}function sH(){var t,e;const n=oH(),[C]=u.useState(()=>new Map);C.clear();let r=n;for(;r;){const i=(t=r.type)==null?void 0:t._context;i&&i!==fh&&!C.has(i)&&C.set(i,(e=tL?.current)==null?void 0:e.readContext(Ik(i))),r=r.return}return C}function lH(){const t=sH();return u.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>C=>u.createElement(e,null,u.createElement(n.Provider,iH(Zp({},C),{value:t.get(n)}))),e=>u.createElement(Sk,Zp({},e))),[t])}const va={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 aH(t){const{handlePointer:e}=HT(t);return{priority:1,enabled:!0,compute(n,C,r){C.pointer.set(n.offsetX/C.size.width*2-1,-(n.offsetY/C.size.height)*2+1),C.raycaster.setFromCamera(C.pointer,C.camera)},connected:void 0,handlers:Object.keys(va).reduce((n,C)=>({...n,[C]:e(C)}),{}),update:()=>{var n;const{events:C,internal:r}=t.getState();(n=r.lastEvent)!=null&&n.current&&C.handlers&&C.handlers.onPointerMove(r.lastEvent.current)},connect:n=>{var C;const{set:r,events:i}=t.getState();i.disconnect==null||i.disconnect(),r(o=>({events:{...o.events,connected:n}})),Object.entries((C=i.handlers)!=null?C:[]).forEach(([o,s])=>{const[l,d]=va[o];n.addEventListener(l,s,{passive:d})})},disconnect:()=>{const{set:n,events:C}=t.getState();if(C.connected){var r;Object.entries((r=C.handlers)!=null?r:[]).forEach(([i,o])=>{if(C&&C.connected instanceof HTMLElement){const[s]=va[i];C.connected.removeEventListener(s,o)}}),n(i=>({events:{...i.events,connected:void 0}}))}}}}const cH=u.forwardRef(function({children:e,fallback:n,resize:C,style:r,gl:i,events:o=aH,eventSource:s,eventPrefix:l,shadows:d,linear:g,flat:A,legacy:p,orthographic:v,frameloop:x,dpr:E,performance:m,raycaster:L,camera:M,scene:k,onPointerMissed:I,onCreated:b,...R},D){u.useMemo(()=>yT(AT),[]);const U=lH(),[X,_]=JT({scroll:!0,debounce:{scroll:50,resize:0},...C}),P=u.useRef(null),Z=u.useRef(null);u.useImperativeHandle(D,()=>P.current);const f1=hk(I),[J,a1]=u.useState(!1),[o1,g1]=u.useState(!1);if(J)throw J;if(o1)throw o1;const F=u.useRef(null);Rn(()=>{const C1=P.current;_.width>0&&_.height>0&&C1&&(F.current||(F.current=zT(C1)),F.current.configure({gl:i,events:o,shadows:d,linear:g,flat:A,legacy:p,orthographic:v,frameloop:x,dpr:E,performance:m,raycaster:L,camera:M,scene:k,size:_,onPointerMissed:(...d1)=>f1.current==null?void 0:f1.current(...d1),onCreated:d1=>{d1.events.connect==null||d1.events.connect(s?IT(s)?s.current:s:Z.current),l&&d1.setEvents({compute:(I1,j1)=>{const $=I1[l+"X"],z=I1[l+"Y"];j1.pointer.set($/j1.size.width*2-1,-(z/j1.size.height)*2+1),j1.raycaster.setFromCamera(j1.pointer,j1.camera)}}),b?.(d1)}}),F.current.render(u.createElement(U,null,u.createElement(fk,{set:g1},u.createElement(u.Suspense,{fallback:u.createElement(ST,{set:a1})},e)))))}),u.useEffect(()=>{const C1=P.current;if(C1)return()=>Mk(C1)},[]);const e1=s?"none":"auto";return u.createElement("div",$i({ref:Z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:e1,...r}},R),u.createElement("div",{ref:X,style:{width:"100%",height:"100%"}},u.createElement("canvas",{ref:P,style:{display:"block"}},n)))}),uH=u.forwardRef(function(e,n){return u.createElement(Sk,null,u.createElement(cH,$i({},e,{ref:n})))}),dH=u.createContext(null);function _k(){return u.useContext(dH)}const Qk=u.createContext(void 0);function A5(){const t=u.useContext(Qk);if(t==null)throw new Error("Cannot be used outside of a uikit component.");return t}const pe=Qk.Provider;function Oo(){throw new Error("Cycle detected")}var hH=Symbol.for("preact-signals");function Go(){if(r5>1)r5--;else{for(var t,e=!1;It!==void 0;){var n=It;for(It=void 0,mu++;n!==void 0;){var C=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&Dk(n))try{n.c()}catch(r){e||(t=r,e=!0)}n=C}}if(mu=0,r5--,e)throw t}}function Rk(t){if(r5>0)return t();r5++;try{return t()}finally{Go()}}var f2=void 0,wa=0;function fH(t){if(wa>0)return t();var e=f2;f2=void 0,wa++;try{return t()}finally{wa--,f2=e}}var It=void 0,r5=0,mu=0,Yi=0;function bk(t){if(f2!==void 0){var e=t.n;if(e===void 0||e.t!==f2)return e={i:0,S:t,p:f2.s,n:void 0,t:f2,e:void 0,x:void 0,r:e},f2.s!==void 0&&(f2.s.n=e),f2.s=e,t.n=e,32&f2.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=f2.s,e.n=void 0,f2.s.n=e,f2.s=e),e}}function J2(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0}J2.prototype.brand=hH;J2.prototype.h=function(){return!0};J2.prototype.S=function(t){this.t!==t&&t.e===void 0&&(t.x=this.t,this.t!==void 0&&(this.t.e=t),this.t=t)};J2.prototype.U=function(t){if(this.t!==void 0){var e=t.e,n=t.x;e!==void 0&&(e.x=n,t.e=void 0),n!==void 0&&(n.e=e,t.x=void 0),t===this.t&&(this.t=n)}};J2.prototype.subscribe=function(t){var e=this;return u0(function(){var n=e.value,C=32&this.f;this.f&=-33;try{t(n)}finally{this.f|=C}})};J2.prototype.valueOf=function(){return this.value};J2.prototype.toString=function(){return this.value+""};J2.prototype.toJSON=function(){return this.value};J2.prototype.peek=function(){return this.v};Object.defineProperty(J2.prototype,"value",{get:function(){var t=bk(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(f2 instanceof p5&&function(){throw new Error("Computed cannot have side-effects")}(),t!==this.v){mu>100&&Oo(),this.v=t,this.i++,Yi++,r5++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Go()}}}});function C0(t){return new J2(t)}function Dk(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Tk(t){for(var e=t.s;e!==void 0;e=e.n){var n=e.S.n;if(n!==void 0&&(e.r=n),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function Hk(t){for(var e=t.s,n=void 0;e!==void 0;){var C=e.p;e.i===-1?(e.S.U(e),C!==void 0&&(C.n=e.n),e.n!==void 0&&(e.n.p=C)):n=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=C}t.s=n}function p5(t){J2.call(this,void 0),this.x=t,this.s=void 0,this.g=Yi-1,this.f=4}(p5.prototype=new J2).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Yi))return!0;if(this.g=Yi,this.f|=1,this.i>0&&!Dk(this))return this.f&=-2,!0;var t=f2;try{Tk(this),f2=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(n){this.v=n,this.f|=16,this.i++}return f2=t,Hk(this),this.f&=-2,!0};p5.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}J2.prototype.S.call(this,t)};p5.prototype.U=function(t){if(this.t!==void 0&&(J2.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};p5.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}};p5.prototype.peek=function(){if(this.h()||Oo(),16&this.f)throw this.v;return this.v};Object.defineProperty(p5.prototype,"value",{get:function(){1&this.f&&Oo();var t=bk(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function W0(t){return new p5(t)}function Pk(t){var e=t.u;if(t.u=void 0,typeof e=="function"){r5++;var n=f2;f2=void 0;try{e()}catch(C){throw t.f&=-2,t.f|=8,gh(t),C}finally{f2=n,Go()}}}function gh(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,Pk(t)}function gH(t){if(f2!==this)throw new Error("Out-of-order effect");Hk(this),f2=t,this.f&=-2,8&this.f&&gh(this),Go()}function bn(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}bn.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{t()}};bn.prototype.S=function(){1&this.f&&Oo(),this.f|=1,this.f&=-9,Pk(this),Tk(this),r5++;var t=f2;return f2=this,gH.bind(this,t)};bn.prototype.N=function(){2&this.f||(this.f|=2,this.o=It,It=this)};bn.prototype.d=function(){this.f|=8,1&this.f||gh(this)};function u0(t){var e=new bn(t);try{e.c()}catch(n){throw e.d(),n}return e.d.bind(e)}var AH=(()=>{var t=import.meta.url;return function(e){e=e||{};var n;n||(n=typeof e<"u"?e:{});var C,r;n.ready=new Promise(function(H,j){C=H,r=j});var i=Object.assign({},n),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),t&&(o=t),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var s=n.print||console.log.bind(console),l=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null;var d;n.wasmBinary&&(d=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!="object"&&J("no native wasm support detected");var g,A=!1;function p(H,j,t1){t1=j+t1;for(var i1="";!(j>=t1);){var h1=H[j++];if(!h1)break;if(h1&128){var E1=H[j++]&63;if((h1&224)==192)i1+=String.fromCharCode((h1&31)<<6|E1);else{var H1=H[j++]&63;h1=(h1&240)==224?(h1&15)<<12|E1<<6|H1:(h1&7)<<18|E1<<12|H1<<6|H[j++]&63,65536>h1?i1+=String.fromCharCode(h1):(h1-=65536,i1+=String.fromCharCode(55296|h1>>10,56320|h1&1023))}}else i1+=String.fromCharCode(h1)}return i1}var v,x,E,m,L,M,k,I,b;function R(){var H=g.buffer;v=H,n.HEAP8=x=new Int8Array(H),n.HEAP16=m=new Int16Array(H),n.HEAP32=M=new Int32Array(H),n.HEAPU8=E=new Uint8Array(H),n.HEAPU16=L=new Uint16Array(H),n.HEAPU32=k=new Uint32Array(H),n.HEAPF32=I=new Float32Array(H),n.HEAPF64=b=new Float64Array(H)}var D,U=[],X=[],_=[];function P(){var H=n.preRun.shift();U.unshift(H)}var Z=0,f1=null;function J(H){throw n.onAbort&&n.onAbort(H),H="Aborted("+H+")",l(H),A=!0,H=new WebAssembly.RuntimeError(H+". Build with -sASSERTIONS for more info."),r(H),H}function a1(H){return H.startsWith("data:application/octet-stream;base64,")}var o1;if(o1="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!a1(o1)){var g1=o1;o1=n.locateFile?n.locateFile(g1,o):o+g1}function F(){var H=o1;try{if(H==o1&&d)return new Uint8Array(d);if(a1(H))try{var j=d2(H.slice(37)),t1=new Uint8Array(j.length);for(H=0;H=j?"_"+H:H}function I1(H,j){return H=d1(H),function(){return j.apply(this,arguments)}}var j1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],$=[];function z(H){var j=Error,t1=I1(H,function(i1){this.name=H,this.message=i1,i1=Error(i1).stack,i1!==void 0&&(this.stack=this.toString()+` -`+i1.replace(/^Error(:[^\n]*)?\n/,""))});return t1.prototype=Object.create(j.prototype),t1.prototype.constructor=t1,t1.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},t1}var W=void 0;function N(H){throw new W(H)}var v1=H=>(H||N("Cannot use deleted val. handle = "+H),j1[H].value),k1=H=>{switch(H){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var j=$.length?$.pop():j1.length;return j1[j]={ga:1,value:H},j}},A1=void 0,y1=void 0;function O(H){for(var j="";E[H];)j+=y1[E[H++]];return j}var L1=[];function n1(){for(;L1.length;){var H=L1.pop();H.M.$=!1,H.delete()}}var u1=void 0,l1={};function R1(H,j){for(j===void 0&&N("ptr should not be undefined");H.R;)j=H.ba(j),H=H.R;return j}var q={};function S(H){H=s2(H);var j=O(H);return c0(H),j}function T(H,j){var t1=q[H];return t1===void 0&&N(j+" has unknown type "+S(H)),t1}function r1(){}var D1=!1;function b1(H){--H.count.value,H.count.value===0&&(H.T?H.U.W(H.T):H.P.N.W(H.O))}function Q1(H,j,t1){return j===t1?H:t1.R===void 0?null:(H=Q1(H,j,t1.R),H===null?null:t1.na(H))}var Y1={};function z1(H,j){return j=R1(H,j),l1[j]}var K1=void 0;function l0(H){throw new K1(H)}function L0(H,j){return j.P&&j.O||l0("makeClassHandle requires ptr and ptrType"),!!j.U!=!!j.T&&l0("Both smartPtrType and smartPtr must be specified"),j.count={value:1},T1(Object.create(H,{M:{value:j}}))}function T1(H){return typeof FinalizationRegistry>"u"?(T1=j=>j,H):(D1=new FinalizationRegistry(j=>{b1(j.M)}),T1=j=>{var t1=j.M;return t1.T&&D1.register(j,{M:t1},j),j},r1=j=>{D1.unregister(j)},T1(H))}var b0={};function y0(H){for(;H.length;){var j=H.pop();H.pop()(j)}}function p0(H){return this.fromWireType(M[H>>2])}var s0={},t0={};function m0(H,j,t1){function i1(P1){P1=t1(P1),P1.length!==H.length&&l0("Mismatched type converter count");for(var N1=0;N1{q.hasOwnProperty(P1)?h1[N1]=q[P1]:(E1.push(P1),s0.hasOwnProperty(P1)||(s0[P1]=[]),s0[P1].push(()=>{h1[N1]=q[P1],++H1,H1===E1.length&&i1(h1)}))}),E1.length===0&&i1(h1)}function U0(H){switch(H){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+H)}}function N0(H,j,t1={}){if(!("argPackAdvance"in j))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i1=j.name;if(H||N('type "'+i1+'" must have a positive integer typeid pointer'),q.hasOwnProperty(H)){if(t1.ua)return;N("Cannot register type '"+i1+"' twice")}q[H]=j,delete t0[H],s0.hasOwnProperty(H)&&(j=s0[H],delete s0[H],j.forEach(h1=>h1()))}function _0(H){N(H.M.P.N.name+" instance already deleted")}function P0(){}function K(H,j,t1){if(H[j].S===void 0){var i1=H[j];H[j]=function(){return H[j].S.hasOwnProperty(arguments.length)||N("Function '"+t1+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+H[j].S+")!"),H[j].S[arguments.length].apply(this,arguments)},H[j].S=[],H[j].S[i1.Z]=i1}}function O1(H,j){n.hasOwnProperty(H)?(N("Cannot register public name '"+H+"' twice"),K(n,H,H),n.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),n[H].S[void 0]=j):n[H]=j}function G1(H,j,t1,i1,h1,E1,H1,P1){this.name=H,this.constructor=j,this.X=t1,this.W=i1,this.R=h1,this.pa=E1,this.ba=H1,this.na=P1,this.ja=[]}function r0(H,j,t1){for(;j!==t1;)j.ba||N("Expected null or instance of "+t1.name+", got an instance of "+j.name),H=j.ba(H),j=j.R;return H}function g0(H,j){return j===null?(this.ea&&N("null is not a valid "+this.name),0):(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),r0(j.M.O,j.M.P.N,this.N))}function z0(H,j){if(j===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var t1=this.fa();return H!==null&&H.push(this.W,t1),t1}return 0}if(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&j.M.P.ca&&N("Cannot convert argument of type "+(j.M.U?j.M.U.name:j.M.P.name)+" to parameter type "+this.name),t1=r0(j.M.O,j.M.P.N,this.N),this.da)switch(j.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:j.M.U===this?t1=j.M.T:N("Cannot convert argument of type "+(j.M.U?j.M.U.name:j.M.P.name)+" to parameter type "+this.name);break;case 1:t1=j.M.T;break;case 2:if(j.M.U===this)t1=j.M.T;else{var i1=j.clone();t1=this.xa(t1,k1(function(){i1.delete()})),H!==null&&H.push(this.W,t1)}break;default:N("Unsupporting sharing policy")}return t1}function q0(H,j){return j===null?(this.ea&&N("null is not a valid "+this.name),0):(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),j.M.P.ca&&N("Cannot convert argument of type "+j.M.P.name+" to parameter type "+this.name),r0(j.M.O,j.M.P.N,this.N))}function Z0(H,j,t1,i1){this.name=H,this.N=j,this.ea=t1,this.ca=i1,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,j.R!==void 0?this.toWireType=z0:(this.toWireType=i1?g0:q0,this.V=null)}function o9(H,j){n.hasOwnProperty(H)||l0("Replacing nonexistant public symbol"),n[H]=j,n[H].Z=void 0}function e2(H,j){var t1=[];return function(){if(t1.length=0,Object.assign(t1,arguments),H.includes("j")){var i1=n["dynCall_"+H];i1=t1&&t1.length?i1.apply(null,[j].concat(t1)):i1.call(null,j)}else i1=D.get(j).apply(null,t1);return i1}}function n2(H,j){H=O(H);var t1=H.includes("j")?e2(H,j):D.get(j);return typeof t1!="function"&&N("unknown function pointer with signature "+H+": "+j),t1}var y9=void 0;function Z8(H,j){function t1(E1){h1[E1]||q[E1]||(t0[E1]?t0[E1].forEach(t1):(i1.push(E1),h1[E1]=!0))}var i1=[],h1={};throw j.forEach(t1),new y9(H+": "+i1.map(S).join([", "]))}function y4(H,j,t1,i1,h1){var E1=j.length;2>E1&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var H1=j[1]!==null&&t1!==null,P1=!1;for(t1=1;t1>2]);return t1}function f8(H){4>2])};case 3:return function(t1){return this.fromWireType(b[t1>>3])};default:throw new TypeError("Unknown float type: "+H)}}function D3(H,j,t1){switch(j){case 0:return t1?function(i1){return x[i1]}:function(i1){return E[i1]};case 1:return t1?function(i1){return m[i1>>1]}:function(i1){return L[i1>>1]};case 2:return t1?function(i1){return M[i1>>2]}:function(i1){return k[i1>>2]};default:throw new TypeError("Unknown integer type: "+H)}}function we(H,j){for(var t1="",i1=0;!(i1>=j/2);++i1){var h1=m[H+2*i1>>1];if(h1==0)break;t1+=String.fromCharCode(h1)}return t1}function xe(H,j,t1){if(t1===void 0&&(t1=2147483647),2>t1)return 0;t1-=2;var i1=j;t1=t1<2*H.length?t1/2:H.length;for(var h1=0;h1>1]=H.charCodeAt(h1),j+=2;return m[j>>1]=0,j-i1}function me(H){return 2*H.length}function V(H,j){for(var t1=0,i1="";!(t1>=j/4);){var h1=M[H+4*t1>>2];if(h1==0)break;++t1,65536<=h1?(h1-=65536,i1+=String.fromCharCode(55296|h1>>10,56320|h1&1023)):i1+=String.fromCharCode(h1)}return i1}function p1(H,j,t1){if(t1===void 0&&(t1=2147483647),4>t1)return 0;var i1=j;t1=i1+t1-4;for(var h1=0;h1=E1){var H1=H.charCodeAt(++h1);E1=65536+((E1&1023)<<10)|H1&1023}if(M[j>>2]=E1,j+=4,j+4>t1)break}return M[j>>2]=0,j-i1}function m1(H){for(var j=0,t1=0;t1=i1&&++t1,j+=4}return j}var B1={};function x1(H){var j=B1[H];return j===void 0?O(H):j}var J1=[];function a0(H){var j=J1.length;return J1.push(H),j}function v0(H,j){for(var t1=Array(H),i1=0;i1>2],"parameter "+i1);return t1}var w0=[],E0=[null,[],[]];W=n.BindingError=z("BindingError"),n.count_emval_handles=function(){for(var H=0,j=5;jk0;++k0)M0[k0]=String.fromCharCode(k0);y1=M0,n.getInheritedInstanceCount=function(){return Object.keys(l1).length},n.getLiveInheritedInstances=function(){var H=[],j;for(j in l1)l1.hasOwnProperty(j)&&H.push(l1[j]);return H},n.flushPendingDeletes=n1,n.setDelayFunction=function(H){u1=H,L1.length&&u1&&u1(n1)},K1=n.InternalError=z("InternalError"),P0.prototype.isAliasOf=function(H){if(!(this instanceof P0&&H instanceof P0))return!1;var j=this.M.P.N,t1=this.M.O,i1=H.M.P.N;for(H=H.M.O;j.R;)t1=j.ba(t1),j=j.R;for(;i1.R;)H=i1.ba(H),i1=i1.R;return j===i1&&t1===H},P0.prototype.clone=function(){if(this.M.O||_0(this),this.M.aa)return this.M.count.value+=1,this;var H=T1,j=Object,t1=j.create,i1=Object.getPrototypeOf(this),h1=this.M;return H=H(t1.call(j,i1,{M:{value:{count:h1.count,$:h1.$,aa:h1.aa,O:h1.O,P:h1.P,T:h1.T,U:h1.U}}})),H.M.count.value+=1,H.M.$=!1,H},P0.prototype.delete=function(){this.M.O||_0(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),r1(this),b1(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},P0.prototype.isDeleted=function(){return!this.M.O},P0.prototype.deleteLater=function(){return this.M.O||_0(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),L1.push(this),L1.length===1&&u1&&u1(n1),this.M.$=!0,this},Z0.prototype.qa=function(H){return this.ka&&(H=this.ka(H)),H},Z0.prototype.ha=function(H){this.W&&this.W(H)},Z0.prototype.argPackAdvance=8,Z0.prototype.readValueFromPointer=p0,Z0.prototype.deleteObject=function(H){H!==null&&H.delete()},Z0.prototype.fromWireType=function(H){function j(){return this.da?L0(this.N.X,{P:this.wa,O:t1,U:this,T:H}):L0(this.N.X,{P:this,O:H})}var t1=this.qa(H);if(!t1)return this.ha(H),null;var i1=z1(this.N,t1);if(i1!==void 0)return i1.M.count.value===0?(i1.M.O=t1,i1.M.T=H,i1.clone()):(i1=i1.clone(),this.ha(H),i1);if(i1=this.N.pa(t1),i1=Y1[i1],!i1)return j.call(this);i1=this.ca?i1.la:i1.pointerType;var h1=Q1(t1,this.N,i1.N);return h1===null?j.call(this):this.da?L0(i1.N.X,{P:i1,O:h1,U:this,T:H}):L0(i1.N.X,{P:i1,O:h1})},y9=n.UnboundTypeError=z("UnboundTypeError");var d2=typeof atob=="function"?atob:function(H){var j="",t1=0;H=H.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var i1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),h1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),E1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),H1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++));i1=i1<<2|h1>>4,h1=(h1&15)<<4|E1>>2;var P1=(E1&3)<<6|H1;j+=String.fromCharCode(i1),E1!==64&&(j+=String.fromCharCode(h1)),H1!==64&&(j+=String.fromCharCode(P1))}while(t1H1.ta).concat(h1.map(H1=>H1.za));m0([H],E1,H1=>{var P1={};return h1.forEach((N1,U1)=>{var V1=H1[U1],A0=N1.ra,O0=N1.sa,B2=H1[U1+h1.length],G0=N1.ya,K2=N1.Aa;P1[N1.oa]={read:s9=>V1.fromWireType(A0(O0,s9)),write:(s9,n4)=>{var D8=[];G0(K2,s9,B2.toWireType(D8,n4)),y0(D8)}}}),[{name:j.name,fromWireType:function(N1){var U1={},V1;for(V1 in P1)U1[V1]=P1[V1].read(N1);return i1(N1),U1},toWireType:function(N1,U1){for(var V1 in P1)if(!(V1 in U1))throw new TypeError('Missing field: "'+V1+'"');var A0=t1();for(V1 in P1)P1[V1].write(A0,U1[V1]);return N1!==null&&N1.push(i1,A0),A0},argPackAdvance:8,readValueFromPointer:p0,V:i1}]})},v:function(){},B:function(H,j,t1,i1,h1){var E1=U0(t1);j=O(j),N0(H,{name:j,fromWireType:function(H1){return!!H1},toWireType:function(H1,P1){return P1?i1:h1},argPackAdvance:8,readValueFromPointer:function(H1){if(t1===1)var P1=x;else if(t1===2)P1=m;else if(t1===4)P1=M;else throw new TypeError("Unknown boolean type size: "+j);return this.fromWireType(P1[H1>>E1])},V:null})},f:function(H,j,t1,i1,h1,E1,H1,P1,N1,U1,V1,A0,O0){V1=O(V1),E1=n2(h1,E1),P1&&(P1=n2(H1,P1)),U1&&(U1=n2(N1,U1)),O0=n2(A0,O0);var B2=d1(V1);O1(B2,function(){Z8("Cannot construct "+V1+" due to unbound types",[i1])}),m0([H,j,t1],i1?[i1]:[],function(G0){if(G0=G0[0],i1)var K2=G0.N,s9=K2.X;else s9=P0.prototype;G0=I1(B2,function(){if(Object.getPrototypeOf(this)!==n4)throw new W("Use 'new' to construct "+V1);if(D8.Y===void 0)throw new W(V1+" has no accessible constructor");var T3=D8.Y[arguments.length];if(T3===void 0)throw new W("Tried to invoke ctor of "+V1+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(D8.Y).toString()+") parameters instead!");return T3.apply(this,arguments)});var n4=Object.create(s9,{constructor:{value:G0}});G0.prototype=n4;var D8=new G1(V1,G0,n4,O0,K2,E1,P1,U1);K2=new Z0(V1,D8,!0,!1),s9=new Z0(V1+"*",D8,!1,!1);var Pn=new Z0(V1+" const*",D8,!1,!0);return Y1[H]={pointerType:s9,la:Pn},o9(B2,G0),[K2,s9,Pn]})},d:function(H,j,t1,i1,h1,E1,H1){var P1=e4(t1,i1);j=O(j),E1=n2(h1,E1),m0([],[H],function(N1){function U1(){Z8("Cannot call "+V1+" due to unbound types",P1)}N1=N1[0];var V1=N1.name+"."+j;j.startsWith("@@")&&(j=Symbol[j.substring(2)]);var A0=N1.N.constructor;return A0[j]===void 0?(U1.Z=t1-1,A0[j]=U1):(K(A0,j,V1),A0[j].S[t1-1]=U1),m0([],P1,function(O0){return O0=y4(V1,[O0[0],null].concat(O0.slice(1)),null,E1,H1),A0[j].S===void 0?(O0.Z=t1-1,A0[j]=O0):A0[j].S[t1-1]=O0,[]}),[]})},p:function(H,j,t1,i1,h1,E1){0{Z8("Cannot construct "+P1.name+" due to unbound types",H1)},m0([],H1,function(U1){return U1.splice(1,0,null),P1.N.Y[j-1]=y4(N1,U1,null,h1,E1),[]}),[]})},a:function(H,j,t1,i1,h1,E1,H1,P1){var N1=e4(t1,i1);j=O(j),E1=n2(h1,E1),m0([],[H],function(U1){function V1(){Z8("Cannot call "+A0+" due to unbound types",N1)}U1=U1[0];var A0=U1.name+"."+j;j.startsWith("@@")&&(j=Symbol[j.substring(2)]),P1&&U1.N.ja.push(j);var O0=U1.N.X,B2=O0[j];return B2===void 0||B2.S===void 0&&B2.className!==U1.name&&B2.Z===t1-2?(V1.Z=t1-2,V1.className=U1.name,O0[j]=V1):(K(O0,j,A0),O0[j].S[t1-2]=V1),m0([],N1,function(G0){return G0=y4(A0,G0,U1,E1,H1),O0[j].S===void 0?(G0.Z=t1-2,O0[j]=G0):O0[j].S[t1-2]=G0,[]}),[]})},A:function(H,j){j=O(j),N0(H,{name:j,fromWireType:function(t1){var i1=v1(t1);return f8(t1),i1},toWireType:function(t1,i1){return k1(i1)},argPackAdvance:8,readValueFromPointer:p0,V:null})},n:function(H,j,t1){t1=U0(t1),j=O(j),N0(H,{name:j,fromWireType:function(i1){return i1},toWireType:function(i1,h1){return h1},argPackAdvance:8,readValueFromPointer:b3(j,t1),V:null})},e:function(H,j,t1,i1,h1){j=O(j),h1===-1&&(h1=4294967295),h1=U0(t1);var E1=P1=>P1;if(i1===0){var H1=32-8*t1;E1=P1=>P1<

>>H1}t1=j.includes("unsigned")?function(P1,N1){return N1>>>0}:function(P1,N1){return N1},N0(H,{name:j,fromWireType:E1,toWireType:t1,argPackAdvance:8,readValueFromPointer:D3(j,h1,i1!==0),V:null})},b:function(H,j,t1){function i1(E1){E1>>=2;var H1=k;return new h1(v,H1[E1+1],H1[E1])}var h1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][j];t1=O(t1),N0(H,{name:t1,fromWireType:i1,argPackAdvance:8,readValueFromPointer:i1},{ua:!0})},o:function(H,j){j=O(j);var t1=j==="std::string";N0(H,{name:j,fromWireType:function(i1){var h1=k[i1>>2],E1=i1+4;if(t1)for(var H1=E1,P1=0;P1<=h1;++P1){var N1=E1+P1;if(P1==h1||E[N1]==0){if(H1=H1?p(E,H1,N1-H1):"",U1===void 0)var U1=H1;else U1+="\0",U1+=H1;H1=N1+1}}else{for(U1=Array(h1),P1=0;P1=N1?P1++:2047>=N1?P1+=2:55296<=N1&&57343>=N1?(P1+=4,++E1):P1+=3}E1=P1}else E1=h1.length;if(P1=y2(4+E1+1),N1=P1+4,k[P1>>2]=E1,t1&&H1){if(H1=N1,N1=E1+1,E1=E,0=V1){var A0=h1.charCodeAt(++U1);V1=65536+((V1&1023)<<10)|A0&1023}if(127>=V1){if(H1>=N1)break;E1[H1++]=V1}else{if(2047>=V1){if(H1+1>=N1)break;E1[H1++]=192|V1>>6}else{if(65535>=V1){if(H1+2>=N1)break;E1[H1++]=224|V1>>12}else{if(H1+3>=N1)break;E1[H1++]=240|V1>>18,E1[H1++]=128|V1>>12&63}E1[H1++]=128|V1>>6&63}E1[H1++]=128|V1&63}}E1[H1]=0}}else if(H1)for(H1=0;H1L,P1=1;else j===4&&(i1=V,h1=p1,E1=m1,H1=()=>k,P1=2);N0(H,{name:t1,fromWireType:function(N1){for(var U1=k[N1>>2],V1=H1(),A0,O0=N1+4,B2=0;B2<=U1;++B2){var G0=N1+4+B2*j;(B2==U1||V1[G0>>P1]==0)&&(O0=i1(O0,G0-O0),A0===void 0?A0=O0:(A0+="\0",A0+=O0),O0=G0+j)}return c0(N1),A0},toWireType:function(N1,U1){typeof U1!="string"&&N("Cannot pass non-string to C++ string type "+t1);var V1=E1(U1),A0=y2(4+V1+j);return k[A0>>2]=V1>>P1,h1(U1,A0+4,V1+j),N1!==null&&N1.push(c0,A0),A0},argPackAdvance:8,readValueFromPointer:p0,V:function(N1){c0(N1)}})},k:function(H,j,t1,i1,h1,E1){b0[H]={name:O(j),fa:n2(t1,i1),W:n2(h1,E1),ia:[]}},h:function(H,j,t1,i1,h1,E1,H1,P1,N1,U1){b0[H].ia.push({oa:O(j),ta:t1,ra:n2(i1,h1),sa:E1,za:H1,ya:n2(P1,N1),Aa:U1})},C:function(H,j){j=O(j),N0(H,{va:!0,name:j,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(H,j,t1,i1,h1){H=J1[H],j=v1(j),t1=x1(t1);var E1=[];return k[i1>>2]=k1(E1),H(j,t1,E1,h1)},t:function(H,j,t1,i1){H=J1[H],j=v1(j),t1=x1(t1),H(j,t1,null,i1)},g:f8,m:function(H,j){var t1=v0(H,j),i1=t1[0];j=i1.name+"_$"+t1.slice(1).map(function(H1){return H1.name}).join("_")+"$";var h1=w0[j];if(h1!==void 0)return h1;var E1=Array(H-1);return h1=a0((H1,P1,N1,U1)=>{for(var V1=0,A0=0;A0>>=0,2147483648=t1;t1*=2){var i1=j*(1+.2/t1);i1=Math.min(i1,H+100663296);var h1=Math;i1=Math.max(H,i1),h1=h1.min.call(h1,2147483648,i1+(65536-i1%65536)%65536);e:{try{g.grow(h1-v.byteLength+65535>>>16),R();var E1=1;break e}catch{}E1=void 0}if(E1)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(H,j,t1,i1){for(var h1=0,E1=0;E1>2],P1=k[j+4>>2];j+=8;for(var N1=0;N1>2]=h1,0}};(function(){function H(h1){n.asm=h1.exports,g=n.asm.E,R(),D=n.asm.J,X.unshift(n.asm.F),Z--,n.monitorRunDependencies&&n.monitorRunDependencies(Z),Z==0&&f1&&(h1=f1,f1=null,h1())}function j(h1){H(h1.instance)}function t1(h1){return e1().then(function(E1){return WebAssembly.instantiate(E1,i1)}).then(function(E1){return E1}).then(h1,function(E1){l("failed to asynchronously prepare wasm: "+E1),J(E1)})}var i1={a:F2};if(Z++,n.monitorRunDependencies&&n.monitorRunDependencies(Z),n.instantiateWasm)try{return n.instantiateWasm(i1,H)}catch(h1){l("Module.instantiateWasm callback failed with error: "+h1),r(h1)}return function(){return d||typeof WebAssembly.instantiateStreaming!="function"||a1(o1)||typeof fetch!="function"?t1(j):fetch(o1,{credentials:"same-origin"}).then(function(h1){return WebAssembly.instantiateStreaming(h1,i1).then(j,function(E1){return l("wasm streaming compile failed: "+E1),l("falling back to ArrayBuffer instantiation"),t1(j)})})}().catch(r),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.F).apply(null,arguments)};var s2=n.___getTypeName=function(){return(s2=n.___getTypeName=n.asm.G).apply(null,arguments)};n.__embind_initialize_bindings=function(){return(n.__embind_initialize_bindings=n.asm.H).apply(null,arguments)};var y2=n._malloc=function(){return(y2=n._malloc=n.asm.I).apply(null,arguments)},c0=n._free=function(){return(c0=n._free=n.asm.K).apply(null,arguments)};n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.L).apply(null,arguments)};var e0;f1=function H(){e0||B9(),e0||(f1=H)};function B9(){function H(){if(!e0&&(e0=!0,n.calledRun=!0,!A)){if(C1(X),C(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;){var j=n.postRun.shift();_.unshift(j)}C1(_)}}if(!(01?s-1:0),d=1;di?t.Node.createWithConfig(i):t.Node.createDefault()),e(t.Node.prototype,"free",function(){t.Node.destroy(this)}),e(t.Node.prototype,"freeRecursive",function(){for(let r=0,i=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:fi.LTR;return r.call(this,i,o,s)}),{Config:t.Config,Node:t.Node,...LH}}const Nk=vH(await AH());function U4(t,e,n){if(e==null)return n;const C=t[e];if(C==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(t).join(", ")}`);return C}const wH={static:0,relative:1,absolute:2},Ma={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},xH={column:0,"column-reverse":1,row:2,"row-reverse":3},mH={"no-wrap":0,wrap:1,"wrap-reverse":2},kH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},MH={visible:0,hidden:1,scroll:2},EH={flex:0,none:1},jk={positionType:(t,e)=>t.setPositionType(U4(wH,e,1)),positionTop:(t,e)=>t.setPosition(1,e??NaN),positionLeft:(t,e)=>t.setPosition(0,e??NaN),positionRight:(t,e)=>t.setPosition(2,e??NaN),positionBottom:(t,e)=>t.setPosition(3,e??NaN),alignContent:(t,e)=>t.setAlignContent(U4(Ma,e,4)),alignItems:(t,e)=>t.setAlignItems(U4(Ma,e,4)),alignSelf:(t,e)=>t.setAlignSelf(U4(Ma,e,0)),flexDirection:(t,e)=>t.setFlexDirection(U4(xH,e,2)),flexWrap:(t,e)=>t.setFlexWrap(U4(mH,e,0)),justifyContent:(t,e)=>t.setJustifyContent(U4(kH,e,0)),marginTop:(t,e)=>t.setMargin(1,e??NaN),marginLeft:(t,e)=>t.setMargin(0,e??NaN),marginRight:(t,e)=>t.setMargin(2,e??NaN),marginBottom:(t,e)=>t.setMargin(3,e??NaN),flexBasis:(t,e)=>t.setFlexBasis(e??NaN),flexGrow:(t,e)=>t.setFlexGrow(e??0),flexShrink:(t,e)=>t.setFlexShrink(e??1),width:(t,e)=>t.setWidth(e??NaN),height:(t,e)=>t.setHeight(e??NaN),minWidth:(t,e)=>t.setMinWidth(e??NaN),minHeight:(t,e)=>t.setMinHeight(e??NaN),maxWidth:(t,e)=>t.setMaxWidth(e??NaN),maxHeight:(t,e)=>t.setMaxHeight(e??NaN),aspectRatio:(t,e)=>t.setAspectRatio(e??NaN),borderTop:(t,e)=>t.setBorder(1,e??NaN),borderLeft:(t,e)=>t.setBorder(0,e??NaN),borderRight:(t,e)=>t.setBorder(2,e??NaN),borderBottom:(t,e)=>t.setBorder(3,e??NaN),overflow:(t,e)=>t.setOverflow(U4(MH,e,0)),display:(t,e)=>t.setDisplay(U4(EH,e,0)),paddingTop:(t,e)=>t.setPadding(1,e??NaN),paddingLeft:(t,e)=>t.setPadding(0,e??NaN),paddingRight:(t,e)=>t.setPadding(2,e??NaN),paddingBottom:(t,e)=>t.setPadding(3,e??NaN),gapRow:(t,e)=>t.setGap(1,e??NaN),gapColumn:(t,e)=>t.setGap(0,e??NaN)};function Ah(t,e,n,C,r){let i=!1,o,s={};r.push(u0(()=>{const l=t.value;i&&iL(n,l,o,s,C),o=l}),u0(()=>{if(i=e.value,!!i&&o!=null)return iL(n,o,void 0,s,C),()=>{yH(s),s={}}}))}function iL(t,e,n,C,r){const i=l=>C[l]=u0(()=>r(l,e.read(l,void 0))),o=l=>{C[l]?.(),delete C[l],n.read(l,void 0)!==void 0&&r(l,void 0)},s=l=>{C[l]?.(),i(l)};fH(()=>e.filterCompare(t,n,i,s,o))}function yH(t){for(const e in t)t[e]()}const ht=100,ph=Nk.Config.create();ph.setUseWebDefaults(!0);ph.setPointScaleFactor(ht);function BH(t){return t==="measureFunc"?!0:t in jk}function r6(t){const e=C0([!1,!1]);return{size:C0(void 0),relativeCenter:C0(void 0),borderInset:C0(void 0),overflow:C0(d3.Visible),scrollable:e,paddingInset:C0(void 0),maxScrollPosition:C0([void 0,void 0]),anyAncestorScrollable:W0(()=>{const[n,C]=t?.value??[!1,!1],[r,i]=e.value;return[n||r,C||i]})}}class Uk{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=C0(!1);constructor(e,n,C,r,i){this.state=e,this.requestCalculateLayout=C,this.object=r,this.yogaNode=Nk.Node.create(ph),this.active.value=!0,i.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),Ah(n,this.active,BH,(o,s)=>{jk[o](this.yogaNode,s),this.requestCalculateLayout()},i)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const n=e.value;this.yogaNode.setMeasureFunc((C,r,i,o)=>{const s=n(C,r,i,o);return{width:Math.ceil(s.width*ht+1)/ht,height:Math.ceil(s.height*ht+1)/ht}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),Rk(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const n=this.children.indexOf(e);n!==-1&&(this.children.splice(n,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,s)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,d=s.object.current;if(l==null||d==null)return 0;const g=e.indexOf(l);if(g===-1)throw new Error("parent mismatch");const A=e.indexOf(d);if(A===-1)throw new Error("parent mismatch");return g-A});let n=0,C=this.yogaNode.getChild(n),r=this.children[n];for(;r!=null||C!=null;){if(r!=null&&C!=null&&IH(C,sL(r.yogaNode))){r=this.children[++n],C=this.yogaNode.getChild(n);continue}if(C!=null&&this.yogaNode.removeChild(C),r!=null){const o=sL(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,n),r=this.children[++n]}C=this.yogaNode.getChild(n)}const i=this.children.length;for(let o=0;o.5,_=U>.5;x7(this.state.maxScrollPosition,X?D:void 0,_?U:void 0),x7(this.state.scrollable,X,_)}else x7(this.state.maxScrollPosition,void 0,void 0),x7(this.state.scrollable,!1,!1);const I=this.state.overflow.value===d3.Visible;return[i+Math.max(C,I?M:0),o+Math.max(r,I?k:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function x7(t,e,n){if(t.value!=null){const[C,r]=t.value;if(C===e&&r===n)return}t.value=[e,n]}function oL(t,e,n,C,r){if(t.value!=null){const[i,o,s,l]=t.value;if(i==e&&o==n&&s==C&&l==r)return}t.value=[e,n,C,r]}function sL(t){if(t==null)throw new Error("commit cannot be called with a children that miss a yoga node");return t}function IH(t,e){return t.M.O===e.M.O}function zo(t,e,n,C){n!=null&&(Ea(n.classes,C),C(n)),e!=null&&(Ea(e.classes,C),C(e)),t!=null&&(Ea(t.classes,C),C(t))}function Ea(t,e){if(t==null)return;if(!Array.isArray(t)){e(t);return}const n=t.length;for(let C=0;Ct.value.read(e,n))}class PH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,n){if(n===void 0)return;const C=this.preTransformers?.[e];if(C!=null){C(n,this);return}const r=HH[e];if(r==null){this.addToMap(e,n);return}const i=r.length;for(let o=0;o=0;i--){const o=C[i],s=o instanceof J2?o.value:o;if(s!==void 0)return s}return n}filterCompare(e,n,C,r,i){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(n==null){C(o);continue}const s=n.propertyMap.get(o);if(s==null){C(o);continue}const l=this.propertyMap.get(o);lL(s,l)||r(o)}if(n!=null)for(const o of n.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||i(o))}isEqual(e,n){const C=this.propertyMap.get(n),r=e.propertyMap.get(n);return C==null||r==null?C===r:lL(C,r)}addAll(e,n,C,r){zo(e,n,C,i=>{for(const o in i)this.add(o,i[o]);for(const o in r){const s=i[o];s!=null&&r[o](s,this)}})}}function lL(t,e){const n=t.length;if(n!=e.length)return!1;for(let C=0;C{let i;if(C==null)i=void 0;else{if(C.value==null)return;i=C.value}const o=r?.value,s=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let d,g;return i==null?(d=0,g=0):e>i.elementType?(d=i.majorIndex,g=0):e!=i.elementType||!UH(b8(n),b8(i.instancedGroupDependencies))?(d=i.majorIndex+1,g=0):(d=i.majorIndex,g=i.minorIndex+1),s>0&&(d+=s,g=0),g+=l,{instancedGroupDependencies:n,elementType:e,majorIndex:d,minorIndex:g}})}function UH(t,e){if(t===e)return!0;if(t==null||e==null)return!1;let n=0;for(const C in t){if(t[C]!=e[C])return!1;++n}return n===Object.keys(e).length}function S3(t,e,n){return t[ku]=e,t[Mu]=n,t}function i6(t,e,n,C){let r=!0;C.push(()=>u0(()=>{const i=n.value;if(i!=null){if(r){r=!1;return}t.peek()?.onSizeChange?.(...i),e.peek()?.onSizeChange?.(...i)}}))}function L5(t,e,n,C){let r=!0;C.push(()=>u0(()=>{const i=!n.value;if(r){r=!1;return}t.peek()?.onIsInViewportChange?.(i),e.peek()?.onIsInViewportChange?.(i)}))}const FH=new G,WH=new G,Nr=new G,ya=new f0,OH=new ce,GH=new P9,Ba=Math.PI/180;function zH([t,e,n]){return GH.setFromEuler(OH.set(t*Ba,e*Ba,n*Ba))}const VH="center",$H="center";function o6(t,{relativeCenter:e,size:n},C){const r=j0(t,"transformTranslateX",0),i=j0(t,"transformTranslateY",0),o=j0(t,"transformTranslateZ",0),s=j0(t,"transformRotateX",0),l=j0(t,"transformRotateY",0),d=j0(t,"transformRotateZ",0),g=j0(t,"transformScaleX",1),A=j0(t,"transformScaleY",1),p=j0(t,"transformScaleZ",1),v=j0(t,"transformOriginX",VH),x=j0(t,"transformOriginY",$H);return W0(()=>{if(e.value==null)return;const[E,m]=e.value,L=C.value,M=new f0().makeTranslation(E*L,m*L,0);let k=!0;if(v.value!="center"||x.value!="center"){if(n.value==null)return;const[D,U]=n.value;k=!1,Nr.set(-cM[v.value]*D*L,-uM[x.value]*U*L,0),M.multiply(ya.makeTranslation(Nr)),Nr.negate()}const I=[s.value,l.value,d.value],b=[r.value,-i.value,o.value],R=[g.value,A.value,p.value];return(b.some(D=>D!=0)||I.some(D=>D!=0)||R.some(D=>D!=1))&&M.multiply(ya.compose(FH.fromArray(b).multiplyScalar(L),zH(I),WH.fromArray(R))),k||M.multiply(ya.makeTranslation(Nr)),M})}function s6(t,e,n){n.push(()=>u0(()=>{if(e.value==null){t.current?.matrix.elements.fill(0);return}t.current?.matrix.copy(e.value)}))}const YH=Math.cos(45/180*Math.PI),Ia=[new l2,new l2,new l2,new l2],aL=new G;class JH{planes;facePlane;originalCenter;constructor(e,n,C,r,i){this.originalCenter=new G(n,C,0).applyMatrix4(e),this.facePlane=new l2(new G(0,0,1),0).applyMatrix4(e);const o=r/2,s=i/2,l=C+s,d=n+o,g=-C+s,A=-n+o;this.planes=[new l2(new G(0,-1,0),g).applyMatrix4(e),new l2(new G(-1,0,0),A).applyMatrix4(e),new l2(new G(0,1,0),l).applyMatrix4(e),new l2(new G(1,0,0),d).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const i=this.facePlane,o=e[r],s=i.normal.dot(o.normal);if(Math.abs(s)>.99)return this;const l=Ia[r];if(Math.abs(s)<.01){l.copy(o);continue}l.normal.crossVectors(i.normal,o.normal).normalize().cross(i.normal).negate();const d=1-s*s,g=(i.constant-o.constant*s)/d,A=(o.constant-i.constant*s)/d;aL.copy(i.normal).multiplyScalar(g).addScaledVector(o.normal,A),l.constant=-aL.dot(l.normal)}let n=0;const C=this.planes[0].normal;for(;Ia[n].normal.dot(C)>YH;)break;for(let r=0;r<4;r++){const i=this.planes[r],o=(r+n)%4;Ia[o].distanceToPoint(this.originalCenter){if(n.value==null)return!0;const r=e.value,i=t?.value;if(i==null||r==null)return!1;const[o,s]=n.value,l=C.value;for(let A=0;A<4;A++){const[p,v]=XH[A];cL[A].set(p*l*o,v*l*s,0).applyMatrix4(r)}const{planes:d}=i;let g;for(let A=0;A<4;A++){const p=d[A];g=!0;for(let v=0;v<4;v++){const x=cL[v];p.distanceToPoint(x)>=0&&(g=!1)}if(g)return!0}return!1})}function Vo(t,{overflow:e,borderInset:n,size:C},r,i){return W0(()=>{const o=t.value;if(o==null||e.value===d3.Visible)return i?.value;if(C.value==null||n.value==null)return;const[s,l]=C.value,[d,g,A,p]=n.value,v=r.value,x=new JH(o,(g-p)*v/2,(d-A)*v/2,(s-p-g)*v,(l-d-A)*v);return i?.value!=null&&x.min(i.value),x})}const Eu=new l2(new G(-1,0,0),Number.MAX_SAFE_INTEGER),Ji=new Float32Array(16);for(let t=0;t<4;t++)Eu.normal.toArray(Ji,t*4),Ji[t*4+3]=Eu.constant;function Dn(t,e,n){const C=[new l2,new l2,new l2,new l2],r=()=>{if(t.object.current==null)return;const i=e?.value?.planes;if(i==null){for(let o=0;o<4;o++)C[o].copy(Eu);return}for(let o=0;o<4;o++)C[o].copy(i[o]).applyMatrix4(t.object.current.matrixWorld)};return n.push(()=>(t.onFrameSet.add(r),()=>t.onFrameSet.delete(r))),C}function Fk(t,e){for(;e>=t.length;){let n=0,C=0;if(t.length>0){const r=t[t.length-1];n+=r.offset+r.elements.length,C=Math.min(0,r.missingSpace),r.missingSpace-=C}t.push({add:[],missingSpace:C,offset:n,elements:[]})}}function KH(t,e,n){Fk(t,0);const C=t[t.length-1];C.missingSpace+=e-n}function qH(t,e,n,C){Fk(t,e);const r=t[e];return r.missingSpace+=1,r.missingSpace<=0?(C(n,r,r.elements.length),r.elements.push(n),!1):(r.add.push(n),!0)}function ZH(t,e,n,C,r,i,o,s){if(e>=t.length)throw new Error(`no bucket at index ${e}`);const l=t[e];l.missingSpace-=1;const d=l.add.indexOf(n);if(d!=-1)return l.add.splice(d,1),!1;if(C==null||C>=l.elements.length)throw new Error(`no element at index ${C}`);if(l.add.length>0){const v=l.add.shift();return l.elements[C]=v,r(v,l,C),!1}const g=l.offset,A=l.elements.length-1;if(A!=C){const v=g+A,x=g+C;s(x,v,v+1);const E=l.elements[A];l.elements[C]=E,o(E,C)}if(i(g+A),l.elements.length-=1,e0;){const v=t[e-1];v.missingSpace+=p.missingSpace,p=t[--e]}return t.length=e+1,!1}function eP(t,e,n){let C=t.length,r=-1;for(let o=0;o0&&(r=o);const l=o===C-1;if(!l&&s.missingSpace===0)continue;const d=s.missingSpace<0;for(let g=o-1;g>=0;g--){const A=t[g];if(A.missingSpace===0)continue;const p=A.missingSpace<0;if(p&&(l||d)){uL(t,n,g,o,Math.abs(A.missingSpace));continue}if(!d&&!p)continue;const v=Math.min(Math.abs(A.missingSpace),Math.abs(s.missingSpace));d?tP(t,n,g,o,v):uL(t,n,g,o,v)}}const i=t[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),Ok=C0(Wk?.matches??!1);Wk?.addEventListener("change",t=>Ok.value=t.matches);const nP=C0("system"),CP=W0(()=>{switch(nP.value){case"system":return Ok.value;case"dark":return!0;case"light":return!1}}),l6={dark:Hn(()=>CP.value)},Gk={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},zk=Object.keys(Gk),rP=zk.length;function a6(t){const e={};for(let n=0;n(t.value?.[0]??0)>Gk[C])}return e}function dL(t,e,n,C){return((C==null?0:t.getKerning(C,n.id))+n.xoffset)*e}function Sa(t,e,n){return((n?.yoffset??0)+(e-1)/2)*t}function An(t,e,n){return e.xadvance*t+n}function jr(t,e){return t*e}function yu(t,{lineHeight:e,fontSize:n}){return Math.max(t,1)*n*e}const iP=({text:t,fontSize:e,font:n,letterSpacing:C},r,i,o)=>{i=Lh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;ir)break;o.nonWhitespaceCharLength=i-s+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=d}o.charLength=i-s},oP=({text:t,fontSize:e,font:n,letterSpacing:C},r,i,o)=>{i=Lh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;i{i=Lh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;i0&&r!=null&&l>r)break;const A=t[i+1];(A===" "||A===` -`||A==null)&&(o.charLength=i-s+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=d)}};function Lh(t,e){const n=t.length;for(;t[e]===" "&&e{for(const o of r)o(i);_a.set(t,i)}).catch(console.error)}async function cP(t,e){const n=await(await fetch(t)).json();if(n.pages.length!==1)throw new Error("only supporting exactly 1 page");const C=await lP.loadAsync(new URL(n.pages[0],new URL(t,window.location.href)).href);return C.anisotropy=e.capabilities.getMaxAnisotropy(),C.flipY=!1,new fP(n,C)}const Bu={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},uP={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function Vk(t,e,n,C){const r=C0(void 0),i=j0(t,"fontFamily",void 0),o=j0(t,"fontWeight","normal");return C.push(()=>u0(()=>{const s=e?.value??uP;let l=i.value;l==null&&(l=Object.keys(s)[0]);const d=dP(s[l],typeof o.value=="string"?Bu[o.value]:o.value);let g=!1;return aP(d,n,A=>g?void 0:r.value=A),()=>g=!0})),r}function dP(t,e){let n=1/0,C;for(const r in t){const i=Math.abs(e-hP(r));if(i===0)return t[r];i{const l=e.value;if(l==null)return;const d=n.value,g={font:l,fontSize:r.value,letterSpacing:i.value,lineHeight:o.value,text:Array.isArray(d)?d.map(A=>b8(A)).join(""):b8(d),wordBreak:s.value};return C.current=g,(A,p)=>LP(g,p===gi.Undefined?void 0:A)})}const $k={"keep-all":oP,"break-all":iP,"break-word":sP},Ur={};function LP(t,e){const n=$k[t.wordBreak],C=t.text;let r=0,i=0,o=0;for(;o{n.uniforms.fontPage={value:e.page},n.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},n.uniforms.distanceRange={value:e.distanceRange},n.uniforms.v_weight={value:.3},n.vertexShader=`attribute vec4 instanceUVOffset; - varying vec2 fontUv; - attribute vec4 instanceRGBA; - varying vec4 rgba; - attribute mat4 instanceClipping; - varying mat4 clipping; - varying vec3 localPosition; - `+n.vertexShader,n.vertexShader=n.vertexShader.replace("#include ",`#include - fontUv = instanceUVOffset.xy + uv * instanceUVOffset.zw; - rgba = instanceRGBA; - clipping = instanceClipping; - localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`),n.fragmentShader=`uniform sampler2D fontPage; - uniform vec2 pageSize; - uniform int distanceRange; - uniform float v_weight; - varying vec2 fontUv; - varying vec4 rgba; - varying mat4 clipping; - varying vec3 localPosition; - float median(float r, float g, float b) { - return max(min(r, g), min(max(r, g), b)); - } - float getDistance() { - vec3 msdf = texture(fontPage, fontUv).rgb; - return median(msdf.r, msdf.g, msdf.b); - } - `+n.fragmentShader,n.fragmentShader=n.fragmentShader.replace("#include ",` #include - vec4 plane; - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - for(int i = 0; i < 4; i++) { - plane = clipping[ i ]; - distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - - if ( clipOpacity == 0.0 ) discard; - } - vec2 dxdy = fwidth(fontUv) * pageSize; - float dist = getDistance() + min(float(v_weight), 0.5 - 1.0 / float(distanceRange)) - 0.5; - float multiplier = clamp(dist * float(distanceRange) / length(dxdy) + 0.5, 0.0, 1.0); - if(multiplier <= 0.5) { - discard; - } - diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); - diffuseColor *= rgba; - `)}}}class xP extends i2{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new V2;boundingSphere=new r9;constructor(e,n,C,r,i){const o=new h5;o.translate(.5,-.5,0),super(o,i),this.instanceMatrix=e,this.instanceRGBA=n,this.instanceUV=C,this.instanceClipping=r,o.attributes.instanceUVOffset=C,o.attributes.instanceRGBA=n,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const hL=new f0,mP=new f0;function Yk(t){return W0(()=>({font:t.value}))}class kP{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,n,C,r,i){this.group=e,this.baseMatrix=n,this.color=C,this.opacity=r,this.clippingRect=i}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const n=this.index*16,{instanceClipping:C}=this.group;this.clippingRect==null?C.set(Ji,n):this.clippingRect.toArray(C.array,n),C.addUpdateRange(n,16),C.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:n}=this.group,C=n.itemSize*this.index;pn(n.array,C,e,void 0),n.addUpdateRange(C,3),n.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:n}=this.group,C=this.index*4+3;n.array[C]=e,n.addUpdateRange(C,1),n.needsUpdate=!0}updateGlyphAndTransformation(e,n,C,r,i){this.glyphInfo===e&&this.x===n&&this.y===C&&this.fontSize===r&&this.pixelSize===i||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=n,this.y=C,this.fontSize=r,this.pixelSize=i,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:n}=this.group;gP(this.glyphInfo,n.array,e),n.addUpdateRange(e,4),n.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:n}=this.group;n.addUpdateRange(e,16),hL.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(mP.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),hL.toArray(n.array,e),n.needsUpdate=!0}}class MP{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,n,C){this.pixelSize=e,this.rootCameraDistance=n,this.object=C}getGroup(e,n){let C=this.map.get(n);C==null&&this.map.set(n,C=new Map);let r=C?.get(e);return r==null&&C.set(e,r=new EP(this.object,n,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:X2.Text,minorIndex:0})),r}onFrame=e=>{for(const n of this.map.values())for(const C of n.values())C.onFrame(e)}}class EP{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,n,C,r,i){this.object=e,this.pixelSize=C,this.rootCameraDistance=r,this.orderInfo=i,this.instanceMaterial=new wP(n)}requestActivate(e){const n=this.holeIndicies.shift();if(n!=null){this.glyphs[n]=e,e.activate(n);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const C=this.mesh.count;this.glyphs[C]=e,e.activate(C),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const n=this.requestedGlyphs.shift();if(n!=null){n.activate(e.index),this.glyphs[e.index]=n,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const C=e.index*16;this.instanceMatrix.array.fill(0,C,C+16),this.instanceMatrix.addUpdateRange(C,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const n=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=n>0),n===0)return;const C=this.instanceMatrix?.count??0;if(n0)&&n<=C)return;this.timeTillDecimate=void 0,this.resize(n);const r=this.mesh.count,i=this.requestedGlyphs.length;for(let o=0;oA-p);const l=this.holeIndicies.length;let d=0,g=0;for(;g0)for(let A=this.holeIndicies[0];Au0(()=>C.value?.addLayoutChangeListener(()=>{const R=E.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:X}}=r;if(R==null||D==null||U==null||X==null)return;const[_,P]=D,[Z,f1,J,a1]=U,[o1,g1,F,e1]=X,C1=_-f1-a1-g1-e1,d1=P-Z-J-o1-F;b.value=vP(R,C1,d1)})),()=>u0(()=>{const R=l.value;if(R==null||s.value==null)return;const D=new SP(d.getGroup(s.value.majorIndex,R),M,L,k,I,b,n,i,o,g,A,p);return v!=null&&(v.current=D),()=>D.destroy()})),m}const IP=[];class SP{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,n,C,r,i,o,s,l,d,g,A,p){this.group=e,this.horizontalAlign=n,this.verticalAlign=C,this.color=r,this.opacity=i,this.layoutSignal=o,this.matrix=s,this.parentClippingRect=d,this.selectionRange=g,this.selectionBoxes=A,this.caretPosition=p,this.unsubscribeInitialList=[u0(()=>{if(l?.value===!0||i.value<.01){this.hide();return}this.show()}),u0(()=>this.updateSelectionBoxes(this.lastLayout,g?.value,C.peek(),n.peek()))]}getCharIndex(e,n){const C=this.lastLayout;if(C==null)return 0;n-=-Wr(C,this.verticalAlign.peek());const r=Math.floor(n/-jr(C.lineHeight,C.fontSize)),i=C.lines;if(r<0||i.length===0)return 0;if(r>=i.length){const g=i[i.length-1];return g.charIndexOffset+g.charLength+1}const o=i[r],s=C.font.getGlyphInfo(" ").xadvance*C.fontSize,l=this.glyphLines[r];let d=l.length;for(let g=0;g=A.charIndexOffset+A.charLength)continue;const p=this.glyphLines[g][Math.max(C-A.charIndexOffset,0)];return{lineIndex:g,x:this.getGlyphX(p,r?0:1,i)}}const l=e[s-1];if(l.charLength===0)return{lineIndex:s-1,x:gL(n,l.nonWhitespaceWidth,o)-n/2};const d=this.glyphLines[s-1][l.charLength-1];return{lineIndex:s-1,x:this.getGlyphX(d,1,i)}}getGlyphX(e,n,C){return typeof e=="number"?e+n*C:e.getX(n)}show(){this.unsubscribeShowList.length>0||(F5(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(u0(()=>{const e=this.matrix.value;e!=null&&F5(this.glyphLines,n=>n.updateBaseMatrix(e))}),u0(()=>{const e=this.parentClippingRect?.value;F5(this.glyphLines,n=>n.updateClippingRect(e))}),u0(()=>{const e=this.color.value;F5(this.glyphLines,n=>n.updateColor(e))}),u0(()=>{const e=this.opacity.value;F5(this.glyphLines,n=>n.updateOpacity(e))}),u0(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:n,font:C,lines:r,letterSpacing:i=0,fontSize:o=16,lineHeight:s=1.2,availableWidth:l}=e;let d=Wr(e,this.verticalAlign.value)-e.availableHeight/2;const g=r.length,A=this.group.pixelSize.value;for(let p=0;pm+E){I=P.id;const J=k+dL(C,o,P,I);typeof b[X]=="number"?b[X]=k:b.splice(X,0,J),k+=M+An(o,P,i);continue}let Z=b[X];for(;Xp.hide(),g),this.glyphLines.length=g,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let n=0;nn.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let n=0;n{const C=t.matrixWorld;if(d4.constant=0,d4.normal.set(0,0,1),d4.applyMatrix4(C),d4.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(d4,Or)==null)return;const r=d4.normal.clone();for(let i=0;i<4;i++){const o=RP[i];if(d4.copy(o).applyMatrix4(C),(W5[i]=d4.distanceToPoint(Or))<0)return}n.push({distance:Or.distanceTo(e.ray.origin),object:t,point:Or.clone(),uv:new M1(W5[0]/(W5[0]+W5[1]),W5[3]/(W5[2]+W5[3])),normal:r})}}function Le(t,e,n,C,r){return(i,o)=>{const s=n instanceof Y0?n:n.current;if(s==null||r.value==null)return;const{majorIndex:l,minorIndex:d,elementType:g}=r.value,A=o.length;e.call(t,i,o);const p=C?.value?.planes,v=s.matrixWorld;e:for(let x=o.length-1;x>=A;x--){const E=o[x];if(E.distance-=l*.01+g*.001+d*1e-5,p!=null){for(let m=0;m<4;m++)if(d4.copy(p[m]).applyMatrix4(v),d4.distanceToPoint(E.point)<0){o.splice(x,1);continue e}}}}}const qk=new Z1(-1,-1,-1),Zk={backgroundColor:qk,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Qa;function _3(){if(Qa==null){const t={};for(const e in Zk)t[e]=e;Qa=Tn(t)}return Qa}function Tn(t,e){const n={...Zk,...e},C={};for(const i in t){const o=bP[i],s=n[i];C[t[i]]=(l,d,g,A,p)=>o(l,d,g??s,A,p)}const r=new Float32Array(16);return pn(r,4,n.backgroundColor,void 0),pn(r,8,n.borderColor,void 0),r[11]=n.borderBend,r[12]=n.borderOpacity,r[15]=n.backgroundOpacity,{hasProperty:i=>i in C,defaultData:r,setters:C,computedIsVisibile:(i,o,s,l)=>W0(()=>{if(o.value==null||s.value==null)return!0;const d=t.borderOpacity==null?n.borderOpacity:i.value.read(t.borderOpacity,n.borderOpacity),g=t.backgroundOpacity==null?n.backgroundOpacity:i.value.read(t.backgroundOpacity,n.backgroundOpacity),A=t.backgroundColor==null?n.backgroundColor:i.value.read(t.backgroundColor,n.backgroundColor),p=o.value.some(m=>m>0)&&d>0,[v,x]=s.value;return!(v>0&&x>0&&(g===-1||g>0)&&A!=qk)&&!p?!1:l==null?!0:!l.value})}}const bP={backgroundColor:(t,e,n,C,r)=>pn(t,e+4,n,r),borderBottomLeftRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,0,n,C[1],r),borderBottomRightRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,1,n,C[1],r),borderTopRightRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,2,n,C[1],r),borderTopLeftRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,3,n,C[1],r),borderColor:(t,e,n,C,r)=>pn(t,e+8,n,r),borderBend:(t,e,n,C,r)=>Ra(t,e+11,n,r),borderOpacity:(t,e,n,C,r)=>Ra(t,e+12,n,r),backgroundOpacity:(t,e,n,C,r)=>Ra(t,e+15,n,r)};function Gr(t,e,n,C,r,i){QP(t,e,n,C,r),i?.(e,1)}function Ra(t,e,n,C){t[e]=n,C?.(e,1)}const DP=new Z1;function pn(t,e,n,C){Array.isArray(n)?t.set(n,e):DP.set(n).toArray(t,e),C?.(e,3)}function eM(t,e){const n=new t;n.defines==null&&(n.defines={}),n.side=Q8,n.clipShadows=!0,n.transparent=!0,n.toneMapped=!1,n.depthWrite=!1,n.shadowSide=Q8,n.defines.USE_UV="",n.defines.USE_TANGENT="";const C=n.onBeforeCompile;return n.onBeforeCompile=(r,i)=>{C.call(n,r,i),e.type==="normal"&&(r.uniforms.data={value:e.data}),PP(r,e.type==="instanced")},n}class tM extends mo{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,n){super.onBeforeCompile(e,n),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),CM(e,this.info.type==="instanced")}}class nM extends xo{info;constructor(e){super({depthPacking:Dd}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,n){super.onBeforeCompile(e,n),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),CM(e,this.info.type==="instanced")}}const TP=new nM({type:"instanced"}),HP=new tM({type:"instanced"});function CM(t,e){rM(t,e),t.fragmentShader=t.fragmentShader.replace("#include ",`#include - ${iM(e,void 0)} - `)}function rM(t,e){t.vertexShader=t.vertexShader.replace("#include ",` #include - out vec4 borderRadius; - ${e?"":"uniform highp mat4 data;"}`),t.vertexShader=t.vertexShader.replace("#include ",` #include - highp int packedBorderRadius = int(data[1].w); - borderRadius = vec4( - packedBorderRadius / 125000 % 50, - packedBorderRadius / 2500 % 50, - packedBorderRadius / 50 % 50, - packedBorderRadius % 50 - ) * vec4(0.5 / 50.0);`),e&&(t.vertexShader=t.vertexShader.replace("#include ",` #include - attribute highp mat4 aData; - attribute mat4 aClipping; - out mat4 data; - out mat4 clipping; - out vec3 localPosition;`),t.vertexShader=t.vertexShader.replace("#include ",` #include - data = aData; - clipping = aClipping; - localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`)),t.fragmentShader=`${e?"in":"uniform"} highp mat4 data; - in vec4 borderRadius; - ${e?` - in vec3 localPosition; - in mat4 clipping; - `:""} - - float min4 (vec4 v) { - return min(min(min(v.x,v.y),v.z),v.w); - } - float max4 (vec4 v) { - return max(max(max(v.x,v.y),v.z),v.w); - } - vec2 radiusDistance(float radius, vec2 outside, vec2 border, vec2 borderSize) { - vec2 outerRadiusXX = vec2(radius, radius); - vec2 innerRadiusXX = outerRadiusXX - borderSize; - vec2 radiusWeightUnnormalized = abs(innerRadiusXX - border); - vec2 radiusWeight = radiusWeightUnnormalized / vec2(radiusWeightUnnormalized.x + radiusWeightUnnormalized.y); - return vec2( - radius - distance(outside, outerRadiusXX), - dot(radiusWeight, innerRadiusXX) - distance(border, innerRadiusXX) - ); - } - `+t.fragmentShader,t.fragmentShader=t.fragmentShader.replace("#include ",` ${e?` - vec4 plane; - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - - for(int i = 0; i < 4; i++) { - plane = clipping[ i ]; - distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - - if ( clipOpacity < 0.01 ) discard; - } - `:""} - vec4 absoluteBorderSize = data[0]; - vec3 backgroundColor = data[1].xyz; - vec3 borderColor = data[2].xyz; - float borderBend = data[2].w; - float borderOpacity = data[3].x; - float width = data[3].y; - float height = data[3].z; - float backgroundOpacity = data[3].w; - float ratio = width / height; - vec4 relative = vec4(height, height, height, height); - vec4 borderSize = absoluteBorderSize / relative; - vec4 v_outsideDistance = vec4(1.0 - vUv.y, (1.0 - vUv.x) * ratio, vUv.y, vUv.x * ratio); - vec4 v_borderDistance = v_outsideDistance - borderSize; - - vec2 distance = vec2(min4(v_outsideDistance), min4(v_borderDistance)); - vec4 negateBorderDistance = vec4(1.0) - v_borderDistance; - float maxWeight = max4(negateBorderDistance); - vec4 borderWeight = step(maxWeight, negateBorderDistance); - - vec4 insideBorder; - - if(all(lessThan(v_outsideDistance.xw, borderRadius.xx))) { - distance = radiusDistance(borderRadius.x, v_outsideDistance.xw, v_borderDistance.xw, borderSize.xw); - - float tmp = borderRadius.x - borderSize.w; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.x - borderSize.x; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.yz = vec2(0.0); - insideBorder.xw = max(vec2(0.0), lineIntersection - v_borderDistance.xw); - - } else if(all(lessThan(v_outsideDistance.xy, borderRadius.yy))) { - distance = radiusDistance(borderRadius.y, v_outsideDistance.xy, v_borderDistance.xy, borderSize.xy); - - float tmp = borderRadius.y - borderSize.y; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.y - borderSize.x; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.zw = vec2(0.0); - insideBorder.xy = max(vec2(0.0), lineIntersection - v_borderDistance.xy); - - } else if(all(lessThan(v_outsideDistance.zy, borderRadius.zz))) { - distance = radiusDistance(borderRadius.z, v_outsideDistance.zy, v_borderDistance.zy, borderSize.zy); - - float tmp = borderRadius.z - borderSize.y; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.z - borderSize.z; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.xw = vec2(0.0); - insideBorder.zy =max(vec2(0.0), lineIntersection - v_borderDistance.zy); - - } else if(all(lessThan(v_outsideDistance.zw, borderRadius.ww))) { - distance = radiusDistance(borderRadius.w, v_outsideDistance.zw, v_borderDistance.zw, borderSize.zw); - - float tmp = borderRadius.w - borderSize.w; - vec2 xIntersection = vec2(tmp, tmp / ratio); - tmp = borderRadius.w - borderSize.z; - vec2 yIntersection = vec2(tmp * ratio, tmp); - vec2 lineIntersection = min(xIntersection, yIntersection); - - insideBorder.xy = vec2(0.0); - insideBorder.zw = max(vec2(0.0), lineIntersection - v_borderDistance.zw); - - } - - if(insideBorder.x + insideBorder.y + insideBorder.z + insideBorder.w > 0.0) { - borderWeight = normalize(insideBorder); - } - - #include `)}function iM(t,e){return`float ddx = fwidth(distance.x); - float outer = smoothstep(-ddx, ddx, distance.x); - - float ddy = fwidth(distance.y); - float inner = smoothstep(-ddy, ddy, distance.y); - - float transition = 1.0 - step(0.1, outer - inner) * (1.0 - inner); - - if(backgroundColor.r < 0.0 && backgroundOpacity >= 0.0) { - backgroundColor = vec3(1.0); - } - if(backgroundOpacity < 0.0) { - backgroundOpacity = backgroundColor.r >= 0.0 ? 1.0 : 0.0; - } - - if(backgroundOpacity < 0.0) { - backgroundOpacity = 0.0; - } - - float outOpacity = ${t?"clipOpacity * ":""} outer * mix(borderOpacity, ${e==null?"":`${e} *`} backgroundOpacity, transition); - - if(outOpacity < 0.01) { - discard; - }`}function PP(t,e){rM(t,e),t.fragmentShader=t.fragmentShader.replace("#include ",` #include - ${iM(e,"diffuseColor.a")} - diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); - diffuseColor.a = outOpacity; - `),t.fragmentShader=t.fragmentShader.replace("#include ",` #include - vec3 b = normalize(vBitangent); - vec3 t = normalize(vTangent); - mat4 directions = mat4(vec4(b, 1.0), vec4(t, 1.0), vec4(-b, 1.0), vec4(-t, 1.0)); - float currentBorderSize = distance.x - distance.y; - float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; - vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; - normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Q3(t,e,n,C,r){const i=new i2(wh);return i.matrixAutoUpdate=!1,i.raycast=Le(i,Kk(i),e.object,n,t),i.visible=!1,r.push(()=>u0(()=>{if(C.value==null)return;const[o,s]=C.value,l=e.pixelSize.value;i.scale.set(o*l,s*l,1),i.updateMatrix()})),i}class NP extends i2{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new V2;boundingSphere=new r9;constructor(e,n,C){const r=Xk();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=n,r.attributes.aClipping=C,this.customDepthMaterial=TP,this.customDistanceMaterial=HP}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function R3(t){const e=j0(t,"panelMaterialClass",K9),n=j0(t,"castShadow",!1),C=j0(t,"receiveShadow",!1);return W0(()=>({panelMaterialClass:e.value,castShadow:n.value,receiveShadow:C.value}))}const $o={panelMaterialClass:K9,castShadow:!1,receiveShadow:!1};class jP{pixelSize;root;object;map=new Map;constructor(e,n,C){this.pixelSize=e,this.root=n,this.object=C}getGroup(e,{panelMaterialClass:n,receiveShadow:C,castShadow:r}=$o){let i=this.map.get(n);i==null&&this.map.set(n,i=new Map);const o=(e<<2)+((C?1:0)<<1)+(r?1:0);let s=i.get(o);if(s==null){const l=eM(n,{type:"instanced"});i.set(o,s=new UP(this.object,l,this.pixelSize,this.root,{elementType:X2.Panel,majorIndex:e,minorIndex:0},C,r))}return s}onFrame=e=>{for(const n of this.map.values())for(const C of n.values())C.onFrame(e)}}class UP{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,n,C)=>{const r=n.offset+C;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(n,C)};setElementIndex=(e,n)=>{e.setIndexInBucket(n)};bufferCopyWithin=(e,n,C)=>{ba(this.instanceMatrix,e,n,C),ba(this.instanceData,e,n,C),ba(this.instanceClipping,e,n,C)};clearBufferAt=e=>{const n=e*16;this.instanceMatrix.array.fill(0,n,n+16),this.instanceMatrix.addUpdateRange(n,16),this.instanceMatrix.needsUpdate=!0};constructor(e,n,C,r,i,o,s){this.object=e,this.instanceMaterial=n,this.pixelSize=C,this.root=r,this.orderInfo=i,this.meshReceiveShadow=o,this.meshCastShadow=s}updateCount(){const e=this.buckets[this.buckets.length-1],n=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=n,this.mesh.visible=n>0)}insert(e,n){if(this.elementCount+=1,!qH(this.buckets,e,n,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,n,C){if(this.elementCount-=1,!ZH(this.buckets,e,C,n,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),eP(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),KH(this.buckets,e,this.bufferElementSize);const n=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&n.set(this.instanceMatrix.array.subarray(0,n.length)),this.instanceMatrix=new s8(n,16,!1),this.instanceMatrix.setUsage(G6);const C=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&C.set(this.instanceData.array.subarray(0,C.length)),this.instanceData=new s8(C,16,!1),this.instanceDataOnUpdate=(i,o)=>{this.instanceData.addUpdateRange(i,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(G6);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new s8(r,16,!1),this.instanceClipping.setUsage(G6),this.mesh=new NP(this.instanceMatrix,this.instanceData,this.instanceClipping),S3(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function ba(t,e,n,C){const r=t.itemSize,i=n*r,o=C*r,s=e*r;t.array.copyWithin(s,i,o);const l=o-i;t.addUpdateRange(i,l),t.addUpdateRange(s,l),t.needsUpdate=!0}function E4(t,e,n,C,r,i,o,s,l,d,g,A){return A.push(u0(()=>{if(e.value==null)return;const p=[],v=C.getGroup(e.value.majorIndex,n?.value);return new WP(t,v,e.value.minorIndex,r,i,o,s,l,d,g,p),()=>u8(p)})),A}const zr=new f0,FP=new f0;class WP{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=C0(!1);constructor(e,n,C,r,i,o,s,l,d,g,A){this.group=n,this.minorIndex=C,this.matrix=r,this.size=i,this.offset=o,this.borderInset=s,this.clippingRect=l,this.materialConfig=g;const p=g.setters;Ah(e,this.active,g.hasProperty,(x,E)=>{const m=this.getIndexInBuffer();if(m==null)return;const{instanceData:L,instanceDataOnUpdate:M}=this.group;p[x](L.array,L.itemSize*m,E,i,M)},A);const v=g.computedIsVisibile(e,s,i,d);A.push(u0(()=>{if(v.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,n){this.bucket=e,this.indexInBucket=n,this.active.value=!0,this.unsubscribeList.push(u0(()=>{if(this.matrix.value==null||this.size.value==null)return;const C=this.getIndexInBuffer();if(C==null)return;const r=C*16,[i,o]=this.size.value,s=this.group.pixelSize.value;if(zr.makeScale(i*s,o*s,1),this.offset!=null){const[d,g]=this.offset.value;zr.premultiply(FP.makeTranslation(d*s,g*s,0))}zr.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;zr.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),u0(()=>{const C=this.getIndexInBuffer();if(C==null||this.size.value==null)return;const[r,i]=this.size.value,{instanceData:o}=this.group,{array:s}=o,l=C*16+13;s[l]=r,s[l+1]=i,o.addUpdateRange(l,2),o.needsUpdate=!0}),u0(()=>{const C=this.getIndexInBuffer();if(C==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,i=C*16+0;r.array.set(this.borderInset.value,i),r.addUpdateRange(i,4),r.needsUpdate=!0}),u0(()=>{const{instanceClipping:C}=this.group,r=this.getIndexInBuffer();if(r==null)return;const i=r*16,o=this.clippingRect?.value;o!=null?o.toArray(C.array,i):C.array.set(Ji,i),C.addUpdateRange(i,16),C.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let n=0;n{const C=e.value;if(C==null)return;const[r,i]=t.value,o=n.value;return new f0().makeTranslation(-r*o,i*o,0).premultiply(C)})}function Xo(t,e,n,C){return C.push(()=>u0(()=>{const[r,i]=e.value,o=n.value;t.current?.position.set(-r*o,i*o,0),t.current?.updateMatrix()}))}function Ko(t,{scrollable:e,maxScrollPosition:n,anyAncestorScrollable:C},r,i,o,s,l){const d=W0(()=>e.value?.some(x=>x)??!1),g=new Map,A=new M1,p=(x,E,m,L,M)=>{if(t.value==null)return;const[k,I]=x==null?[!1,!1]:OP(x.nativeEvent);k&&(E=0),I&&(m=0);const[b,R]=t.value,[D,U]=n.value;let[X,_]=t.value;const[P,Z]=C?.value??[!1,!1];X=AL(b,D,E,M&&!P),_=AL(R,U,m,M&&!Z),L!=null&&L>0&&A.set(E,m).divideScalar(L),x!=null&&GP(x.nativeEvent,k||Math.min(b,(D??0)-b)>5,I||Math.min(R,(U??0)-R)>5),!(i.peek()?.onScroll?.(X,_,t,x)===!1||b===X&&R===_)&&(t.value=[X,_])},v=x=>{if(g.size>0||t.value==null)return;let E=0,m=0;const[L,M]=t.value,[k,I]=n.value;E+=Iu(L,0,k??0)*-.3,m+=Iu(M,0,I??0)*-.3,E+=A.x*x,m+=A.y*x,A.multiplyScalar(.9),Math.abs(A.x)<.01&&(A.x=0),Math.abs(A.y)<.01&&(A.y=0),!(E===0&&m===0)&&p(void 0,E,m,void 0,!0)};return l.push(()=>(s.add(v),()=>s.delete(v))),W0(()=>{if(d.value)return{onPointerDown:({nativeEvent:x,point:E})=>{let m=g.get(x.pointerId);m==null&&g.set(x.pointerId,m={timestamp:0,point:new G}),m.timestamp=performance.now()/1e3,r.current.worldToLocal(m.point.copy(E))},onPointerUp:({nativeEvent:x})=>g.delete(x.pointerId),onPointerLeave:({nativeEvent:x})=>g.delete(x.pointerId),onPointerCancel:({nativeEvent:x})=>g.delete(x.pointerId),onPointerMove:x=>{const E=g.get(x.nativeEvent.pointerId);if(E==null)return;r.current.worldToLocal(Ta.copy(x.point)),Da.copy(Ta).sub(E.point).divideScalar(o.peek());const m=performance.now()/1e3,L=m-E.timestamp;E.point.copy(Ta),E.timestamp=m,!x.defaultPrevented&&p(x,-Da.x,Da.y,L,!0)},onWheel:x=>{if(x.defaultPrevented)return;const{nativeEvent:E}=x;p(x,E.deltaX,E.deltaY,void 0,!1)}}})}const oM=Symbol("was-scrolled");function OP(t){return t[oM]??[!1,!1]}function GP(t,e,n){t[oM]=[e,n]}function AL(t,e,n,C){if(n===0)return t;const r=Iu(t,0,e??0);pL(n)===pL(r)&&(n*=Math.max(0,1-Math.abs(r)/100));let i=t+n;return C&&e!=null?i:vh(i,0,e??0)}function pL(t){return t>=0}function Iu(t,e,n){return tn?t-n:0}const zP=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function qo(t,e,n,C,r,i,o,s,l){const d=h9(void 0,X2.Panel,$o,o),g=j0(t,"scrollbarWidth",10),A=xh(t,zP);vL(t,0,e,n,C,r,i,d,s,g,A,l),vL(t,1,e,n,C,r,i,d,s,g,A,l)}let LL;function VP(){return LL??=Tn({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),LL}function vL(t,e,n,C,r,i,o,s,l,d,g,A){const p=W0(()=>$P(e,d.value,C.size.value,C.maxScrollPosition.value,C.borderInset.value,n.value)),v=W0(()=>p.value?.slice(0,2)??[0,0]),x=W0(()=>p.value?.slice(2,4)??[0,0]);A.push(E=>E4(t,s,void 0,l,r,x,v,g,o,i,VP(),E))}function $P(t,e,n,C,r,i){if(n==null||r==null||i==null)return;const o=C[t];if(o==null)return;const s=[0,0,0,0],l=1-t,d=n[t]-r[l]-r[l+2],g=Math.max(e,d*d/(o+d)),A=d-g,p=i[t];return s[t]=n[t]*.5-g*.5-r[(t+3)%4]-A*vh(p/o,0,1),s[l]=n[l]*.5-e*.5-r[l+1],t===0&&(s[0]*=-1,s[1]*=-1),s[t+2]=g,s[l+2]=e,s}function YP(t,e,n,C,r){let i=!1;if(zo(e,C,n,s=>{"active"in s&&(i=!0)}),!i&&e?.onActiveChange==null&&n?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:s})=>{r.value=r.value.filter(l=>l!=s.pointerId),!(r.value.length>0)&&(n?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};h3("onPointerDown",t,({nativeEvent:s})=>{r.value=[s.pointerId,...r.value],r.value.length==1&&(n?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),h3("onPointerUp",t,o),h3("onPointerLeave",t,o)}function c6(t){return{active:Hn(()=>t.value.length>0)}}function w5(t,e){return W0(()=>{const n=e.value,C=t.value;if(!(n==null||C==null))return C.clone().multiply(n)})}function sM(t,e,n,C,...r){n.push(i=>{if(!(C instanceof J2)){let o=!1;return e(C,...r).then(s=>o?void 0:t.value=s),i.push(()=>o=!0),i}return i.push(u0(()=>{let o=!1;return e(C.value,...r).then(s=>o?void 0:t.value=s).catch(console.error),()=>o=!0})),i})}function x5(t,e,n,C,r,i){i.push(o=>{const s=new Uk(e,C,n.root.requestCalculateLayout,r,o);return t!=null&&(t.value=s),o.push(u0(()=>{const l=n.node.value;if(l!=null)return l.addChild(s),()=>l.removeChild(s)})),o})}const wL=new Map,Zo={keepAspectRatio:(t,e)=>{let n=wL.get(t);n==null&&wL.set(t,n=W0(()=>b8(t)===!1?null:void 0)),e.add("aspectRatio",n)}};function u6(t,e,n,C,r,i,o){return W0(()=>{const s={};return JP(s,i?.value),BN(s,t.value,e.value,n.value,C,o),YP(s,t.value,e.value,n.value,r),s})}function JP(t,e){for(const n in e)h3(n,t,e[n])}function h3(t,e,n){if(n==null)return;const C=e[t];if(C==null){e[t]=n;return}e[t]=r=>{C(r),!("stopped"in r&&r.stopped)&&n(r)}}function d6(t,e,n,C,r,i){return W0(()=>{const o=new PH(r);return i?.(o),o.addAll(t.value,e.value,n.value,C),o})}const xL=new Z1;function lM(t,e,n){const C=j0(t,"color",void 0),r=j0(t,"opacity",1);n.push(()=>u0(()=>{let i;Array.isArray(C.value)?i=xL.setRGB(...C.value):C.value!=null&&(i=xL.set(C.value)),b8(e)?.traverse(o=>{if(!(o instanceof i2))return;const s=o.material;s.color.copy(i??o.userData.color),s.opacity=r.value})}))}const XP=.01,mL=new G,Vr=new l2,$r=C0(new f0);function KP(t,e,n,C,r,i,o,s){const l=C0([0,0]),d=C0([]),g=C0([]),A=[];f6(d,A);const p=W0(()=>b8(e.value?.pixelSize)??XP),v=d6(t,e,n,{...l6,...a6(l),...g6(d),...c6(g)},{...kL(p,"sizeX","width"),...kL(p,"sizeY","height")}),x=C0(void 0),E=qP(s,x,A),m=r6(void 0);A.push(f1=>{const J=new Uk(m,v,E,C,f1);return x.value=J,f1});const L=o6(v,m,p),M=nN(v,L,m.size,p);s6(C,M,A);const k=R3(v),I=h9(void 0,X2.Panel,k,void 0),b={cameraDistance:0},R=new jP(p,b,C);A.push(()=>(s.add(R.onFrame),()=>s.delete(R.onFrame)));const D=()=>{if(C.current==null){b.cameraDistance=0;return}Vr.normal.set(0,0,1),Vr.constant=0,Vr.applyMatrix4(C.current.matrixWorld),mL.setFromMatrixPosition(i().matrixWorld),b.cameraDistance=Vr.distanceToPoint(mL)};A.push(()=>(s.add(D),()=>s.delete(D))),A.push(f1=>E4(v,I,k,R,$r,m.size,void 0,m.borderInset,void 0,void 0,_3(),f1));const U=Yo();Xo(r,U,p,A);const X=Jo(U,$r,p);qo(v,U,m,$r,void 0,void 0,I,R,A);const _=Ko(U,m,C,e,p,s,A);i6(t,e,m.size,A);const P=new MP(p,b,C);A.push(()=>(s.add(P.onFrame),()=>s.delete(P.onFrame)));const Z=Object.assign(b,{requestCalculateLayout:E,onFrameSet:s,cameraDistance:0,gylphGroupManager:P,object:C,panelGroupManager:R,pixelSize:p,renderer:o,size:m.size});return Object.assign(m,{clippingRect:Vo($r,m,p,void 0),childrenMatrix:X,node:x,orderInfo:I,initializers:A,interactionPanel:Q3(I,Z,void 0,m.size,A),handlers:u6(t,e,n,d,g,_),root:Z})}function qP(t,e,n){let C=!1;const r=()=>{const i=e.peek();!C||i==null||(C=!1,i.calculateLayout())};return n.push(()=>(t.add(r),()=>t.delete(r))),()=>C=!0}function kL(t,e,n){const C=new Map;return{[e]:(r,i)=>{let o=C.get(r);o==null&&C.set(r,o=W0(()=>{const s=b8(r);if(s!=null)return s/t.value})),i.add(n,o)}}}const ZP=new f0,eN="center",tN="center";function nN(t,e,n,C){const r=j0(t,"anchorX",eN),i=j0(t,"anchorY",tN);return W0(()=>{if(n.value==null)return;const[o,s]=n.value;return e.value?.clone().premultiply(ZP.makeTranslation(cM[r.value]*o*C.value,uM[i.value]*s*C.value,0))})}function CN(t,e,n,C,r,i){const o=C0(void 0),s=r6(t.anyAncestorScrollable),l=C0([]),d=C0([]),g=[];f6(l,g);const A=d6(e,n,C,{...l6,...a6(t.root.size),...g6(l),...c6(d)});x5(o,s,t,A,r,g);const p=o6(A,s,t.root.pixelSize);s6(r,p,g);const v=w5(t.childrenMatrix,p),x=v5(t.clippingRect,v,s.size,t.root.pixelSize),E=R3(A),m=h9(A,X2.Panel,E,t.orderInfo);g.push(I=>E4(A,m,E,t.root.panelGroupManager,v,s.size,void 0,s.borderInset,t.clippingRect,x,_3(),I));const L=Yo();Xo(i,L,t.root.pixelSize,g);const M=Jo(L,v,t.root.pixelSize);qo(A,L,s,v,x,t.clippingRect,m,t.root.panelGroupManager,g);const k=Ko(L,s,r,n,t.root.pixelSize,t.root.onFrameSet,g);return i6(e,n,s.size,g),L5(e,n,x,g),Object.assign(s,{clippingRect:Vo(v,s,t.root.pixelSize,t.clippingRect),childrenMatrix:M,node:o,orderInfo:m,root:t.root,scrollPosition:L,interactionPanel:Q3(m,t.root,t.clippingRect,s.size,g),handlers:u6(e,n,C,l,d,k),initializers:g})}const rN="fill";function iN(t,e,n,C,r,i,o){const s=[],l=C0(void 0),d=C0([]),g=C0([]);f6(d,s);const A=W0(()=>b8(e.value));sM(l,aN,s,A);const p=W0(()=>{const U=l.value;if(U==null)return;const X=U.source.data;return X.width/X.height}),v=d6(n,C,r,{...l6,...a6(t.root.size),...g6(d),...c6(g)},Zo,U=>U.add("aspectRatio",p)),x=C0(void 0),E=r6(t.anyAncestorScrollable);x5(x,E,t,v,i,s);const m=o6(v,E,t.root.pixelSize);s6(i,m,s);const L=w5(t.childrenMatrix,m),M=v5(t.clippingRect,L,E.size,t.root.pixelSize),k=W0(()=>M.value||l.value==null),I=h9(v,X2.Image,void 0,t.orderInfo),b=Yo();Xo(o,b,t.root.pixelSize,s);const R=Jo(b,L,t.root.pixelSize);qo(v,b,E,L,M,t.clippingRect,I,t.root.panelGroupManager,s);const D=Ko(b,E,i,C,t.root.pixelSize,t.root.onFrameSet,s);return i6(n,C,E.size,s),L5(n,C,M,s),Object.assign(E,{initializers:s,handlers:u6(n,C,r,d,g,D),interactionPanel:oN(v,l,t,E,I,t.root,k,s),clippingRect:Vo(L,E,t.root.pixelSize,t.clippingRect),childrenMatrix:R,node:x,orderInfo:I,root:t.root})}let ML;function aM(){return ML??=Tn({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),ML}function oN(t,e,n,C,r,i,o,s){const l=new i2(wh);l.matrixAutoUpdate=!1;const d=Dn(i,n.clippingRect,s),g=aM().computedIsVisibile(t,C.borderInset,C.size,o);return cN(t,l,C.size,C.borderInset,g,d,s),l.raycast=Le(l,Kk(l),i.object,n.clippingRect,r),S3(l,i,r),sN(t,e,C.borderInset,C.size,s),s.push(()=>u0(()=>l.visible=g.value)),s.push(()=>u0(()=>{const A=e.value??null;l.material.map!==A&&(l.material.map=A,l.material.needsUpdate=!0)}),()=>u0(()=>{if(C.size.value==null)return;const[A,p]=C.size.value,v=n.root.pixelSize.value;l.scale.set(A*v,p*v,1),l.updateMatrix()})),l}function sN(t,e,n,C,r){const i=j0(t,"fit",rN);r.push(()=>u0(()=>{const o=e.value;if(o==null||C.value==null||n.value==null)return;if(o.matrix.identity(),i.value==="fill"||o==null){EL(n,C,o);return}const{width:s,height:l}=o.source.data,d=s/l,[g,A]=C.value,[p,v,x,E]=n.value,m=(g-E-v)/(A-p-x);d>m?o.matrix.translate(-(.5*(m-d))/m,0).scale(m/d,1):o.matrix.translate(0,-(.5*(d-m))/d).scale(1,d/m),EL(n,C,o)}))}function EL(t,e,n){if(e.value==null||t.value==null)return;const[C,r]=e.value,[i,o,s,l]=t.value,d=C-l-o,g=r-i-s;n.matrix.translate(-1+(l+d)/C,-1+(i+g)/r).scale(C/d,r/g)}const lN=new Fo;async function aN(t){if(t==null)return Promise.resolve(void 0);if(t instanceof w2)return Promise.resolve(t);try{const e=await lN.loadAsync(t);return e.colorSpace=Q2,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function cN(t,e,n,C,r,i,o){const s=new Float32Array(16),l={data:s,type:"normal"};e.customDepthMaterial=new nM(l),e.customDistanceMaterial=new tM(l),e.customDepthMaterial.clippingPlanes=i,e.customDistanceMaterial.clippingPlanes=i;const d=j0(t,"panelMaterialClass",K9);o.push(()=>u0(()=>{e.material=eM(d.value,l),e.material.clippingPlanes=i}),()=>u0(()=>e.castShadow=t.value.read("castShadow",!1)),()=>u0(()=>e.receiveShadow=t.value.read("receiveShadow",!1)));const g=aM(),A=[];o.push(()=>u0(()=>{if(r.value)return s.set(g.defaultData),A.push(u0(()=>n.value!=null&&s.set(n.value,13)),u0(()=>C.value!=null&&s.set(C.value,0))),()=>u8(A)}));const p=g.setters;o.push(v=>(Ah(t,r,g.hasProperty,(x,E)=>p[x](s,0,E,n,void 0),v),v))}function uN(t,e,n,C,r,i,o){const s=C0([]),l=C0([]),d=[];f6(s,d);const g=d6(C,r,i,{...l6,...a6(t.root.size),...g6(s),...c6(l)}),A=C0(void 0),p=r6(t.anyAncestorScrollable);x5(A,p,t,g,o,d);const v=o6(g,p,t.root.pixelSize);s6(o,v,d);const x=w5(t.childrenMatrix,v),E=v5(t.clippingRect,x,p.size,t.root.pixelSize),m=R3(g),L=h9(g,X2.Panel,m,t.orderInfo);d.push(b=>E4(g,L,m,t.root.panelGroupManager,x,p.size,void 0,p.borderInset,t.clippingRect,E,_3(),b));const M=Vk(g,n,t.root.renderer,d),k=h9(void 0,X2.Text,Yk(M),L),I=Jk(g,e,x,A,p,E,t.clippingRect,k,M,t.root.gylphGroupManager,void 0,void 0,void 0,void 0,d);return d.push(()=>u0(()=>A.value?.setMeasureFunc(I))),i6(C,r,p.size,d),L5(C,r,E,d),Object.assign(p,{interactionPanel:Q3(L,t.root,t.clippingRect,p.size,d),handlers:u6(C,r,i,s,l),initializers:d})}const dN=Q2;class ve extends F9{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,n,C,r){const i=this,o=new k4(i.manager);o.setPath(i.path),o.setRequestHeader(i.requestHeader),o.setWithCredentials(i.withCredentials),o.load(e,function(s){try{n(i.parse(s))}catch(l){r?r(l):console.error(l),i.manager.itemError(e)}},C,r)}parse(e){const n=this;function C($,z){if($.nodeType!==1)return;const W=I($);let N=!1,v1=null;switch($.nodeName){case"svg":z=x($,z);break;case"style":i($);break;case"g":z=x($,z);break;case"path":z=x($,z),$.hasAttribute("d")&&(v1=r($));break;case"rect":z=x($,z),v1=l($);break;case"polygon":z=x($,z),v1=d($);break;case"polyline":z=x($,z),v1=g($);break;case"circle":z=x($,z),v1=A($);break;case"ellipse":z=x($,z),v1=p($);break;case"line":z=x($,z),v1=v($);break;case"defs":N=!0;break;case"use":z=x($,z);const y1=($.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),O=$.viewportElement.getElementById(y1);O?C(O,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+y1);break}v1&&(z.fill!==void 0&&z.fill!=="none"&&v1.color.setStyle(z.fill,dN),R(v1,d1),Z.push(v1),v1.userData={node:$,style:z});const k1=$.childNodes;for(let A1=0;A10?d1.copy(J[J.length-1]):d1.identity())}function r($){const z=new H6,W=new M1,N=new M1,v1=new M1;let k1=!0,A1=!1;const y1=$.getAttribute("d");if(y1===""||y1==="none")return null;const O=y1.match(/[a-df-z][^a-df-z]*/ig);for(let L1=0,n1=O.length;L10&&(W.copy(v1),z.currentPath.currentPoint.copy(W),k1=!0);break;default:console.warn(u1)}A1=!1}return z}function i($){if(!(!$.sheet||!$.sheet.cssRules||!$.sheet.cssRules.length))for(let z=0;z<$.sheet.cssRules.length;z++){const W=$.sheet.cssRules[z];if(W.type!==1)continue;const N=W.selectorText.split(/,/gm).filter(Boolean).map(v1=>v1.trim());for(let v1=0;v1A1!==""));f1[N[v1]]=Object.assign(f1[N[v1]]||{},k1)}}}function o($,z,W,N,v1,k1,A1,y1){if(z==0||W==0){$.lineTo(y1.x,y1.y);return}N=N*Math.PI/180,z=Math.abs(z),W=Math.abs(W);const O=(A1.x-y1.x)/2,L1=(A1.y-y1.y)/2,n1=Math.cos(N)*O+Math.sin(N)*L1,u1=-Math.sin(N)*O+Math.cos(N)*L1;let l1=z*z,R1=W*W;const q=n1*n1,S=u1*u1,T=q/l1+S/R1;if(T>1){const T1=Math.sqrt(T);z=T1*z,W=T1*W,l1=z*z,R1=W*W}const r1=l1*S+R1*q,D1=(l1*R1-r1)/r1;let b1=Math.sqrt(Math.max(0,D1));v1===k1&&(b1=-b1);const Q1=b1*z*u1/W,Y1=-b1*W*n1/z,z1=Math.cos(N)*Q1-Math.sin(N)*Y1+(A1.x+y1.x)/2,K1=Math.sin(N)*Q1+Math.cos(N)*Y1+(A1.y+y1.y)/2,l0=s(1,0,(n1-Q1)/z,(u1-Y1)/W),L0=s((n1-Q1)/z,(u1-Y1)/W,(-n1-Q1)/z,(-u1-Y1)/W)%(Math.PI*2);$.currentPath.absellipse(z1,K1,z,W,l0,l0+L0,k1===0,N)}function s($,z,W,N){const v1=$*W+z*N,k1=Math.sqrt($*$+z*z)*Math.sqrt(W*W+N*N);let A1=Math.acos(Math.max(-1,Math.min(1,v1/k1)));return $*N-z*W<0&&(A1=-A1),A1}function l($){const z=k($.getAttribute("x")||0),W=k($.getAttribute("y")||0),N=k($.getAttribute("rx")||$.getAttribute("ry")||0),v1=k($.getAttribute("ry")||$.getAttribute("rx")||0),k1=k($.getAttribute("width")),A1=k($.getAttribute("height")),y1=1-.551915024494,O=new H6;return O.moveTo(z+N,W),O.lineTo(z+k1-N,W),(N!==0||v1!==0)&&O.bezierCurveTo(z+k1-N*y1,W,z+k1,W+v1*y1,z+k1,W+v1),O.lineTo(z+k1,W+A1-v1),(N!==0||v1!==0)&&O.bezierCurveTo(z+k1,W+A1-v1*y1,z+k1-N*y1,W+A1,z+k1-N,W+A1),O.lineTo(z+N,W+A1),(N!==0||v1!==0)&&O.bezierCurveTo(z+N*y1,W+A1,z,W+A1-v1*y1,z,W+A1-v1),O.lineTo(z,W+v1),(N!==0||v1!==0)&&O.bezierCurveTo(z,W+v1*y1,z+N*y1,W,z+N,W),O}function d($){function z(k1,A1,y1){const O=k(A1),L1=k(y1);v1===0?N.moveTo(O,L1):N.lineTo(O,L1),v1++}const W=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new H6;let v1=0;return $.getAttribute("points").replace(W,z),N.currentPath.autoClose=!0,N}function g($){function z(k1,A1,y1){const O=k(A1),L1=k(y1);v1===0?N.moveTo(O,L1):N.lineTo(O,L1),v1++}const W=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new H6;let v1=0;return $.getAttribute("points").replace(W,z),N.currentPath.autoClose=!1,N}function A($){const z=k($.getAttribute("cx")||0),W=k($.getAttribute("cy")||0),N=k($.getAttribute("r")||0),v1=new n5;v1.absarc(z,W,N,0,Math.PI*2);const k1=new H6;return k1.subPaths.push(v1),k1}function p($){const z=k($.getAttribute("cx")||0),W=k($.getAttribute("cy")||0),N=k($.getAttribute("rx")||0),v1=k($.getAttribute("ry")||0),k1=new n5;k1.absellipse(z,W,N,v1,0,Math.PI*2);const A1=new H6;return A1.subPaths.push(k1),A1}function v($){const z=k($.getAttribute("x1")||0),W=k($.getAttribute("y1")||0),N=k($.getAttribute("x2")||0),v1=k($.getAttribute("y2")||0),k1=new H6;return k1.moveTo(z,W),k1.lineTo(N,v1),k1.currentPath.autoClose=!1,k1}function x($,z){z=Object.assign({},z);let W={};if($.hasAttribute("class")){const A1=$.getAttribute("class").split(/\s/).filter(Boolean).map(y1=>y1.trim());for(let y1=0;y10&&z.premultiply(J[J.length-1]),d1.copy(z),J.push(z),z}function b($){const z=new B0,W=a1;if($.nodeName==="use"&&($.hasAttribute("x")||$.hasAttribute("y"))){const N=k($.getAttribute("x")),v1=k($.getAttribute("y"));z.translate(N,v1)}if($.hasAttribute("transform")){const N=$.getAttribute("transform").split(")");for(let v1=N.length-1;v1>=0;v1--){const k1=N[v1].trim();if(k1==="")continue;const A1=k1.indexOf("("),y1=k1.length;if(A1>0&&A1=1){const n1=L1[0];let u1=0;L1.length>=2&&(u1=L1[1]),W.translate(n1,u1)}break;case"rotate":if(L1.length>=1){let n1=0,u1=0,l1=0;n1=L1[0]*Math.PI/180,L1.length>=3&&(u1=L1[1],l1=L1[2]),o1.makeTranslation(-u1,-l1),g1.makeRotation(n1),F.multiplyMatrices(g1,o1),o1.makeTranslation(u1,l1),W.multiplyMatrices(o1,F)}break;case"scale":if(L1.length>=1){const n1=L1[0];let u1=n1;L1.length>=2&&(u1=L1[1]),W.scale(n1,u1)}break;case"skewX":L1.length===1&&W.set(1,Math.tan(L1[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":L1.length===1&&W.set(1,0,0,Math.tan(L1[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":L1.length===6&&W.set(L1[0],L1[2],L1[4],L1[1],L1[3],L1[5],0,0,1);break}}z.premultiply(W)}}return z}function R($,z){function W(A1){C1.set(A1.x,A1.y,1).applyMatrix3(z),A1.set(C1.x,C1.y)}function N(A1){const y1=A1.xRadius,O=A1.yRadius,L1=Math.cos(A1.aRotation),n1=Math.sin(A1.aRotation),u1=new G(y1*L1,y1*n1,0),l1=new G(-O*n1,O*L1,0),R1=u1.applyMatrix3(z),q=l1.applyMatrix3(z),S=a1.set(R1.x,q.x,0,R1.y,q.y,0,0,0,1),T=o1.copy(S).invert(),b1=g1.copy(T).transpose().multiply(T).elements,Q1=P(b1[0],b1[1],b1[4]),Y1=Math.sqrt(Q1.rt1),z1=Math.sqrt(Q1.rt2);if(A1.xRadius=1/Y1,A1.yRadius=1/z1,A1.aRotation=Math.atan2(Q1.sn,Q1.cs),!((A1.aEndAngle-A1.aStartAngle)%(2*Math.PI){const{x:p0,y:s0}=new G(Math.cos(y0),Math.sin(y0),0).applyMatrix3(T1);return Math.atan2(s0,p0)};A1.aStartAngle=b0(A1.aStartAngle),A1.aEndAngle=b0(A1.aEndAngle),D(z)&&(A1.aClockwise=!A1.aClockwise)}}function v1(A1){const y1=X(z),O=_(z);A1.xRadius*=y1,A1.yRadius*=O;const L1=y1>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);A1.aRotation+=L1,D(z)&&(A1.aStartAngle*=-1,A1.aEndAngle*=-1,A1.aClockwise=!A1.aClockwise)}const k1=$.subPaths;for(let A1=0,y1=k1.length;A1Number.EPSILON}function X($){const z=$.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _($){const z=$.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function P($,z,W){let N,v1,k1,A1,y1;const O=$+W,L1=$-W,n1=Math.sqrt(L1*L1+4*z*z);return O>0?(N=.5*(O+n1),y1=1/N,v1=$*y1*W-z*y1*z):O<0?v1=.5*(O-n1):(N=.5*n1,v1=-.5*n1),L1>0?k1=L1+n1:k1=L1-n1,Math.abs(k1)>2*Math.abs(z)?(y1=-2*z/k1,A1=1/Math.sqrt(1+y1*y1),k1=y1*A1):Math.abs(z)===0?(k1=1,A1=0):(y1=-.5*k1/z,k1=1/Math.sqrt(1+y1*y1),A1=y1*k1),L1>0&&(y1=k1,k1=-A1,A1=y1),{rt1:N,rt2:v1,cs:k1,sn:A1}}const Z=[],f1={},J=[],a1=new B0,o1=new B0,g1=new B0,F=new B0,e1=new M1,C1=new G,d1=new B0,I1=new DOMParser().parseFromString(e,"image/svg+xml");return C(I1.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:Z,xml:I1.documentElement}}static createShapes(e){const C={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:C.ORIGIN,t:0};function i(E,m,L,M){const k=E.x,I=m.x,b=L.x,R=M.x,D=E.y,U=m.y,X=L.y,_=M.y,P=(R-b)*(D-X)-(_-X)*(k-b),Z=(I-k)*(D-X)-(U-D)*(k-b),f1=(_-X)*(I-k)-(R-b)*(U-D),J=P/f1,a1=Z/f1;if(f1===0&&P!==0||J<=0||J>=1||a1<0||a1>1)return null;if(P===0&&f1===0){for(let o1=0;o1<2;o1++)if(o(o1===0?L:M,E,m),r.loc==C.ORIGIN){const g1=o1===0?L:M;return{x:g1.x,y:g1.y,t:r.t}}else if(r.loc==C.BETWEEN){const g1=+(k+r.t*(I-k)).toPrecision(10),F=+(D+r.t*(U-D)).toPrecision(10);return{x:g1,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?L:M,E,m),r.loc==C.ORIGIN){const e1=F===0?L:M;return{x:e1.x,y:e1.y,t:r.t}}const o1=+(k+J*(I-k)).toPrecision(10),g1=+(D+J*(U-D)).toPrecision(10);return{x:o1,y:g1,t:J}}}function o(E,m,L){const M=L.x-m.x,k=L.y-m.y,I=E.x-m.x,b=E.y-m.y,R=M*b-I*k;if(E.x===m.x&&E.y===m.y){r.loc=C.ORIGIN,r.t=0;return}if(E.x===L.x&&E.y===L.y){r.loc=C.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=C.LEFT;return}if(R>Number.EPSILON){r.loc=C.RIGHT;return}if(M*I<0||k*b<0){r.loc=C.BEHIND;return}if(Math.sqrt(M*M+k*k)_.t<=X.t+Number.EPSILON&&_.t>=X.t-Number.EPSILON)===void 0&&(L.push(X),M.push(new M1(X.x,X.y)))}}return M}function l(E,m,L){const M=new M1;m.getCenter(M);const k=[];return L.forEach(I=>{I.boundingBox.containsPoint(M)&&s(E,I.points).forEach(R=>{k.push({identifier:I.identifier,isCW:I.isCW,point:R})})}),k.sort((I,b)=>I.point.x-b.point.x),k}function d(E,m,L,M,k){(k==null||k==="")&&(k="nonzero");const I=new M1;E.boundingBox.getCenter(I);const b=[new M1(L,I.y),new M1(M,I.y)],R=l(b,E.boundingBox,m);R.sort((Z,f1)=>Z.point.x-f1.point.x);const D=[],U=[];R.forEach(Z=>{Z.identifier===E.identifier?D.push(Z):U.push(Z)});const X=D[0].point.x,_=[];let P=0;for(;P0&&_[_.length-1]===U[P].identifier?_.pop():_.push(U[P].identifier),P++;if(_.push(E.identifier),k==="evenodd"){const Z=_.length%2===0,f1=_[_.length-2];return{identifier:E.identifier,isHole:Z,for:f1}}else if(k==="nonzero"){let Z=!0,f1=null,J=null;for(let a1=0;a1<_.length;a1++){const o1=_[a1];Z?(J=m[o1].isCW,Z=!1,f1=o1):J!==m[o1].isCW&&(J=m[o1].isCW,Z=!0)}return{identifier:E.identifier,isHole:Z,for:f1}}else console.warn('fill-rule: "'+k+'" is currently not implemented.')}let g=999999999,A=-999999999,p=e.subPaths.map(E=>{const m=E.getPoints();let L=-999999999,M=999999999,k=-999999999,I=999999999;for(let b=0;bL&&(L=R.y),R.yk&&(k=R.x),R.x=I&&(g=I-1),{curves:E.curves,points:m,isCW:Y8.isClockWise(m),identifier:-1,boundingBox:new nk(new M1(I,M),new M1(k,L))}});p=p.filter(E=>E.points.length>1);for(let E=0;Ed(E,p,g,A,e.userData?e.userData.style.fillRule:void 0)),x=[];return p.forEach(E=>{if(!v[E.identifier].isHole){const L=new C5;L.curves=E.curves,v.filter(k=>k.isHole&&k.for===E.identifier).forEach(k=>{const I=p[k.identifier],b=new n5;b.curves=I.curves,L.holes.push(b)}),x.push(L)}}),x}static getStrokeStyle(e,n,C,r,i){return e=e!==void 0?e:1,n=n!==void 0?n:"#000",C=C!==void 0?C:"miter",r=r!==void 0?r:"butt",i=i!==void 0?i:4,{strokeColor:n,strokeWidth:e,strokeLineJoin:C,strokeLineCap:r,strokeMiterLimit:i}}static pointsToStroke(e,n,C,r){const i=[],o=[],s=[];if(ve.pointsToStrokeWithBuffers(e,n,C,r,i,o,s)===0)return null;const l=new R0;return l.setAttribute("position",new o0(i,3)),l.setAttribute("normal",new o0(o,3)),l.setAttribute("uv",new o0(s,2)),l}static pointsToStrokeWithBuffers(e,n,C,r,i,o,s,l){const d=new M1,g=new M1,A=new M1,p=new M1,v=new M1,x=new M1,E=new M1,m=new M1,L=new M1,M=new M1,k=new M1,I=new M1,b=new M1,R=new M1,D=new M1,U=new M1,X=new M1;C=C!==void 0?C:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=L1(e);const _=e.length;if(_<2)return 0;const P=e[0].equals(e[_-1]);let Z,f1=e[0],J;const a1=n.strokeWidth/2,o1=1/(_-1);let g1=0,F,e1,C1,d1,I1=!1,j1=0,$=l*3,z=l*2;W(e[0],e[1],d).multiplyScalar(a1),m.copy(e[0]).sub(d),L.copy(e[0]).add(d),M.copy(m),k.copy(L);for(let n1=1;n1<_;n1++){Z=e[n1],n1===_-1?P?J=e[1]:J=void 0:J=e[n1+1];const u1=d;if(W(f1,Z,u1),A.copy(u1).multiplyScalar(a1),I.copy(Z).sub(A),b.copy(Z).add(A),F=g1+o1,e1=!1,J!==void 0){W(Z,J,g),A.copy(g).multiplyScalar(a1),R.copy(Z).sub(A),D.copy(Z).add(A),C1=!0,A.subVectors(J,f1),u1.dot(A)<0&&(C1=!1),n1===1&&(I1=C1),A.subVectors(J,Z),A.normalize();const l1=Math.abs(u1.dot(A));if(l1>Number.EPSILON){const R1=a1/l1;A.multiplyScalar(-R1),p.subVectors(Z,f1),v.copy(p).setLength(R1).add(A),U.copy(v).negate();const q=v.length(),S=p.length();p.divideScalar(S),x.subVectors(J,Z);const T=x.length();switch(x.divideScalar(T),p.dot(U)=r&&l1.push(n1[R1]);return l1.push(n1[n1.length-1]),l1}}}function hN(t,e,n,C,r,i,o){const s=[],l=C0([]),d=C0([]);f6(l,s);const g=C0(void 0),A=d6(n,C,r,{...l6,...a6(t.root.size),...g6(l),...c6(d)},Zo,P=>P.add("aspectRatio",g)),p=C0(void 0),v=r6(t.anyAncestorScrollable);x5(p,v,t,A,i,s);const x=o6(A,v,t.root.pixelSize);s6(i,x,s);const E=w5(t.childrenMatrix,x),m=v5(t.clippingRect,E,v.size,t.root.pixelSize),L=R3(A),M=h9(A,X2.Panel,L,t.orderInfo);s.push(P=>E4(A,M,L,t.root.panelGroupManager,E,v.size,void 0,v.borderInset,t.clippingRect,m,_3(),P));const k=h9(void 0,X2.Svg,void 0,M),I=W0(()=>b8(e.value)),b=C0(void 0),R=Dn(t.root,t.clippingRect,s);sM(b,AN,s,I,t.root,R,t.clippingRect,k,g),lM(A,b,s);const D=fN(v,t.root.pixelSize,b,g,m,s),U=Yo();Xo(o,U,t.root.pixelSize,s);const X=Jo(U,E,t.root.pixelSize);qo(A,U,v,E,m,t.clippingRect,k,t.root.panelGroupManager,s);const _=Ko(U,v,i,C,t.root.pixelSize,t.root.onFrameSet,s);return i6(n,C,v.size,s),L5(n,C,m,s),Object.assign(v,{clippingRect:Vo(E,v,t.root.pixelSize,t.clippingRect),childrenMatrix:X,node:p,orderInfo:k,root:t.root,initializers:s,centerGroup:D,handlers:u6(n,C,r,l,d,_),interactionPanel:Q3(k,t.root,t.clippingRect,v.size,s)})}function fN(t,e,n,C,r,i){const o=new $4;return o.matrixAutoUpdate=!1,i.push(()=>u0(()=>{dM(o.position,o.scale,t.size,t.paddingInset,t.borderInset,e.value,C.value??1),o.updateMatrix()}),()=>u0(()=>{const s=n.value;if(s!=null)return o.add(s),()=>o.remove(s)}),()=>u0(()=>void(o.visible=n.value!=null&&!r.value))),o}const gN=new ve,Yr=new V2,O5=new G;async function AN(t,e,n,C,r,i){const o=new $4;o.matrixAutoUpdate=!1;const s=await gN.loadAsync(t);Yr.makeEmpty();for(const d of s.paths){const g=ve.createShapes(d),A=new K9;A.transparent=!0,A.depthWrite=!1,A.toneMapped=!1,A.clippingPlanes=n;for(const p of g){const v=new fe(p);v.computeBoundingBox(),Yr.union(v.boundingBox);const x=new i2(v,A);x.matrixAutoUpdate=!1,x.raycast=Le(x,x.raycast,e.object,C,r),S3(x,e,r),x.userData.color=d.color,x.scale.y=-1,x.updateMatrix(),o.add(x)}}Yr.getSize(O5),i.value=O5.x/O5.y;const l=1/O5.y;return o.scale.set(1,1,1).multiplyScalar(l),Yr.getCenter(O5),O5.y*=-1,o.position.copy(O5).negate().multiplyScalar(l),o.updateMatrix(),o}function pN(t,e,n,C,r,i,o,s){const l=[],d=C0([]),g=C0([]);f6(d,l);const A=d6(r,i,o,{...l6,...a6(t.root.size),...g6(d),...c6(g)},Zo,b=>{b.add("aspectRatio",n/C),b.add("width",n),b.add("height",C)}),p=r6(t.anyAncestorScrollable);x5(void 0,p,t,A,s,l);const v=o6(A,p,t.root.pixelSize);s6(s,v,l);const x=w5(t.childrenMatrix,v),E=v5(t.clippingRect,x,p.size,t.root.pixelSize),m=R3(A),L=h9(A,X2.Panel,m,t.orderInfo);l.push(b=>E4(A,L,m,t.root.panelGroupManager,x,p.size,void 0,p.borderInset,t.clippingRect,E,_3(),b));const M=h9(void 0,X2.Svg,void 0,L),k=Dn(t.root,t.clippingRect,l),I=vN(A,e,n,C,t,M,p,E,k,l);return i6(r,i,p.size,l),L5(r,i,E,l),Object.assign(p,{initializers:l,iconGroup:I,handlers:u6(r,i,o,d,g),interactionPanel:Q3(M,t.root,t.clippingRect,p.size,l)})}const LN=new ve;function vN(t,e,n,C,r,i,o,s,l,d){const g=new $4;g.matrixAutoUpdate=!1;const A=LN.parse(e);for(const v of A.paths){const x=ve.createShapes(v),E=new K9;E.transparent=!0,E.depthWrite=!1,E.toneMapped=!1,E.clippingPlanes=l;for(const m of x){const L=new fe(m);L.computeBoundingBox();const M=new i2(L,E);M.matrixAutoUpdate=!1,M.raycast=Le(M,M.raycast,r.root.object,r.clippingRect,i),S3(M,r.root,i),M.userData.color=v.color,M.scale.y=-1,M.updateMatrix(),g.add(M)}}const p=n/C;return d.push(()=>u0(()=>{dM(g.position,g.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,p),g.position.x-=g.scale.x*p/2,g.position.y+=g.scale.x/2,g.scale.divideScalar(C),g.updateMatrix()}),()=>u0(()=>void(g.visible=!s.value))),lM(t,g,d),g}function wN(t,e,n,C,r,i){const o=C0([]),s=C0([]),l=[];f6(o,l);const d=d6(e,n,C,{...l6,...a6(t.root.size),...g6(o),...c6(s)}),g=r6(t.anyAncestorScrollable);x5(void 0,g,t,d,r,l);const A=o6(d,g,t.root.pixelSize);s6(r,A,l);const p=w5(t.childrenMatrix,A),v=v5(t.clippingRect,p,g.size,t.root.pixelSize),x=h9(d,X2.Custom,void 0,t.orderInfo),E=Dn(t.root,t.clippingRect,l);return l.push(m=>{const L=i.current;return L==null||(L.matrixAutoUpdate=!1,L.material instanceof i9&&(L.material.clippingPlanes=E,L.material.needsUpdate=!0,L.material.shadowSide=Q8),L.raycast=Le(L,L.raycast,t.root.object,t.clippingRect,x),S3(L,t.root,x),m.push(u0(()=>L.receiveShadow=d.value.read("receiveShadow",!1)),u0(()=>L.castShadow=d.value.read("castShadow",!1)),u0(()=>{if(g.size.value==null)return;const[M,k]=g.size.value,I=t.root.pixelSize.value;L.scale.set(M*I,k*I,1),L.updateMatrix()}),u0(()=>void(L.visible=!v.value)))),m}),i6(e,n,g.size,l),L5(e,n,v,l),Object.assign(g,{root:t.root,handlers:u6(e,n,C,o,s),initializers:l})}function xN(t,e,n,C,r,i){const o=C0([]),s=C0([]),l=[],d=r6(t.anyAncestorScrollable);f6(o,l);const g=C0(new G(1,1,1)),A=W0(()=>g.value.x/g.value.y),p=d6(e,n,C,{...l6,...a6(t.root.size),...g6(o),...c6(s)},Zo,k=>k.add("aspectRatio",A));x5(void 0,d,t,p,r,l);const v=o6(p,d,t.root.pixelSize);s6(r,v,l);const x=w5(t.childrenMatrix,v),E=v5(t.clippingRect,x,d.size,t.root.pixelSize),m=R3(p),L=h9(p,X2.Panel,m,t.orderInfo);l.push(k=>E4(p,L,m,t.root.panelGroupManager,x,d.size,void 0,d.borderInset,t.clippingRect,E,_3(),k));const M=h9(void 0,X2.Object,void 0,L);return i6(e,n,d.size,l),L5(e,n,E,l),Object.assign(d,{remeasureContent:MN(p,t.root,d,t.clippingRect,M,g,i,l),interactionPanel:Q3(L,t.root,t.clippingRect,d.size,l),handlers:u6(e,n,C,o,s),initializers:l})}const Ha=new V2,yL=new G().setScalar(.001),mN=new G,kN="back";function MN(t,e,n,C,r,i,o,s){const l=Dn(e,C,s),d=j0(t,"depthAlign",kN),g=j0(t,"keepAspectRatio",!0),A=new G,p=new G,v=()=>{const x=o.current;if(x==null){A.copy(yL),p.set(0,0,0);return}x.traverse(m=>{m instanceof i2&&(S3(m,e,r),m.material.clippingPlanes=l,m.material.needsUpdate=!0,m.raycast=Le(m,m.raycast,e.object,C,r))});const E=x.parent;x.parent=null,Ha.setFromObject(x),Ha.getSize(A).max(yL),i.value=A,E!=null&&(x.parent=E),Ha.getCenter(p)};return s.push(x=>{const E=o.current;return E==null||(v(),x.push(u0(()=>{const{size:{value:m},paddingInset:{value:L},borderInset:{value:M}}=n;if(m==null||L==null||M==null)return;const[k,I]=m,[b,R,D,U]=L,[X,_,P,Z]=M,f1=b+X,J=R+_,a1=D+P,o1=U+Z,g1=k-o1-J,F=I-f1-a1,e1=e.pixelSize.value;E.scale.set(g1*e1,F*e1,g.value?F*e1*A.z/A.y:A.z).divide(A),E.position.copy(p).negate(),E.position.z-=yN[d.value]*A.z,E.position.multiply(E.scale),E.position.add(mN.set((o1-J)*.5*e1,(a1-f1)*.5*e1,0)),E.updateMatrix()}))),x}),v}function EN(t,e,n,C,r,i){if(r instanceof G2){const o=2*Math.tan(Math.PI*r.fov/360)*C;n.value=o/i,e.value=o,t.value=o*r.aspect}if(r instanceof ue){const o=r.top-r.bottom,s=r.right-r.left;n.value=o/i,e.value=o,t.value=s}}function u8(t){const e=t.length;for(let n=0;no){e.setScalar(R*i);return}e.setScalar(b*i/o)}function b8(t){return t instanceof J2?t.value:t}function Hn(t){const e=new Map;return(n,C)=>{if(typeof n!="object")throw new Error(`Invalid properties "${n}"`);for(const r in n){const i=n[r];if(i===void 0)return;let o=e.get(i);o==null&&e.set(i,o=W0(()=>t()?b8(i):void 0)),C.add(r,o)}}}function xh(t,e){const n=e.map(C=>j0(t,C,0));return W0(()=>n.map(C=>C.value))}function f6(t,e){e.push(()=>()=>hM(t))}function BN(t,e,n,C,r,i){let o=!1;zo(e,n,C,l=>{"hover"in l&&(o=!0)});const s=e?.cursor??n?.cursor??i;if(!o&&e?.onHoverChange==null&&n?.onHoverChange==null&&s==null){r.value.length=0;return}h3("onPointerOver",t,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(n?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),s!=null&&IN(r,s)}),h3("onPointerOut",t,({nativeEvent:l})=>{r.value=r.value.filter(d=>d!=l.pointerId),r.value.length===0&&(n?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),hM(r)})}function g6(t){return{hover:Hn(()=>t.value.length>0)}}const Su=[],Ai=[];function IN(t,e){Su.push(t),Ai.push(e),document.body.style.cursor=e}function hM(t){const e=Su.indexOf(t);e!=-1&&(Su.splice(e,1),Ai.splice(e,1),document.body.style.cursor=Ai[Ai.length-1]??"default")}const SN=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let BL;function _N(){return BL??=Tn({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),BL}function QN(t,e,n,C,r,i,o,s){const l=h9(void 0,X2.Panel,$o,r),d=C0(void 0);s.push(()=>u0(()=>{const p=n.value;p==null&&(d.value=void 0),d.value=p;const v=setInterval(()=>d.value=d.peek()==null?p:void 0,500);return()=>clearInterval(v)}));const g=xh(t,SN),A=j0(t,"caretWidth",1.5);s.push(p=>E4(t,l,void 0,o,e,W0(()=>{const v=d.value;return v==null?[0,0]:[A.value,v[2]]}),W0(()=>{const v=d.value;return v==null?[0,0]:[v[0]-A.value/2,v[1]]}),g,i,C,_N(),p))}const RN=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let IL;function bN(){return IL??=Tn({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),IL}function DN(t,e,n,C,r,i,o,s){const l=[],d=h9(void 0,X2.Panel,$o,r),g=xh(t,RN);return s.push(()=>u0(()=>{const A=n.value,p=A.length;for(let x=0;x()=>{const A=l.length;for(let p=0;pt.value)}}const HN=new Set;function PN(t){HN.add(t)}function NN(t,e,n,C,r,i,o,s,l){const d=C0([]),g=C0([]),A=C0(!1),p=[];f6(d,p);const v=d6(i,o,s,{...l6,...a6(t.root.size),...g6(d),...c6(g),...TN(A)},void 0,g1=>{zo(i.value,o.value,s.value,F=>{g1.add("caretOpacity",F.opacity),g1.add("caretColor",F.color)})}),x=r6(t.anyAncestorScrollable),E=C0(void 0);x5(E,x,t,v,l,p);const m=o6(v,x,t.root.pixelSize);s6(l,m,p);const L=w5(t.childrenMatrix,m),M=v5(t.clippingRect,L,x.size,t.root.pixelSize),k=R3(v),I=h9(v,X2.Panel,k,t.orderInfo);p.push(g1=>E4(v,I,k,t.root.panelGroupManager,L,x.size,void 0,x.borderInset,t.clippingRect,M,_3(),g1));const b={},R=C0([]),D=C0(void 0),U=C0(void 0);QN(v,L,D,M,I,t.clippingRect,t.root.panelGroupManager,p);const X=DN(v,L,R,M,I,t.clippingRect,t.root.panelGroupManager,p),_=Vk(v,r,t.root.renderer,p),P=h9(void 0,X2.Text,Yk(_),X),Z=Jk(v,e,L,E,x,M,t.clippingRect,P,_,t.root.gylphGroupManager,U,R,D,b,p);p.push(()=>u0(()=>E.value?.setMeasureFunc(Z))),i6(i,o,x.size,p),L5(i,o,M,p);const f1=j0(v,"disabled",!1),J=UN(e,U,n,C,f1,p),a1=()=>{A.peek()||J.peek()?.focus()};FN(J,A,p);const o1=jN(x,J,b,U,a1,f1);return Object.assign(x,{focus:a1,root:t.root,element:J,node:E,interactionPanel:Q3(I,t.root,t.clippingRect,x.size,p),handlers:u6(i,o,s,d,g,o1,"text"),initializers:p})}function jN(t,e,n,C,r,i){return W0(()=>{if(i.value)return;let o;return{onPointerDown:s=>{if(s.defaultPrevented||s.uv==null||n.current==null)return;PN(s.nativeEvent),s.stopPropagation?.();const l=SL(t,s.uv,n.current);o=l,setTimeout(()=>{r(),C.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:s=>{o=void 0},onPointerLeave:s=>{o=void 0},onPointerMove:s=>{if(o==null||s.uv==null||n.current==null)return;s.stopPropagation?.();const l=SL(t,s.uv,n.current),d=Math.min(o,l),g=Math.max(o,l),A=o{r(),C.value=[d,g],e.peek()?.setSelectionRange(d,g,A)})}}})}function UN(t,e,n,C,r,i){const o=C0(void 0);return i.push(s=>{const l=document.createElement(C?"textarea":"input"),d=l.style;d.setProperty("position","absolute"),d.setProperty("left","-1000vw"),d.setProperty("pointerEvents","none"),d.setProperty("opacity","0"),l.addEventListener("input",()=>{n?.(l.value),g()});const g=()=>{const{selectionStart:A,selectionEnd:p}=l;if(A==null||p==null){e.value=void 0;return}const v=e.peek();v!=null&&v[0]===A&&v[1]===p||(e.value=[A,p])};return l.addEventListener("keydown",g),l.addEventListener("keyup",g),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,s.push(()=>{o.value=void 0,l.remove()},u0(()=>l.value=t.value),u0(()=>l.disabled=r.value)),s}),o}function FN(t,e,n){n.push(()=>u0(()=>{const C=t.value;if(C==null)return;const r=()=>e.value=document.activeElement===C;return r(),C.addEventListener("focus",r),C.addEventListener("blur",r),()=>{C.removeEventListener("focus",r),C.removeEventListener("blur",r)}}))}function SL({size:t,borderInset:e,paddingInset:n},C,r){const i=t.peek(),o=e.peek(),s=n.peek();if(i==null||o==null||s==null)return 0;const[l,d]=i,[g,,,A]=o,[p,,,v]=s,x=C.x*l-A-v,E=-C.y*d+g+p;return r.getCharIndex(x,E)}new M1;const WN=u.createContext(void 0);function ON(){return u.useContext(WN)}const _L=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],A6=u.forwardRef(({handlers:t,userHandlers:e,children:n},C)=>{const[r,i]=u.useState(()=>t.value);u.useEffect(()=>u0(()=>{const s=t.value,l=void setTimeout(()=>i(s),0);return()=>clearTimeout(l)}),[t]);const o=u.useMemo(()=>{const s={...r},l=_L.length;for(let d=0;d({style:C0(void 0),properties:C0(void 0),default:C0(void 0)}),[]);return e.properties.value=t,e.default.value=ON(),e}function L6(t,e,n,C,r,i){u.useImperativeHandle(t,()=>{const{scrollPosition:o,paddingInset:s,borderInset:l,relativeCenter:d,size:g,maxScrollPosition:A}=C;return{setStyle:p=>n.value=p,pixelSize:e,borderInset:l,paddingInset:s,center:d,maxScrollPosition:A,size:g,interactionPanel:r instanceof i2?r:r.current,scrollPosition:o,...i}},[C,e,r,i,n])}u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>CN(n,i.style,i.properties,i.default,C,r),[n,i]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[n,i,o]),L6(e,n.root.pixelSize,i.style,o,o.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:[h.jsx("primitive",{object:o.interactionPanel}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:o,children:t.children})})]})});const GN=u.forwardRef((t,e)=>{const n=xk(d=>d.gl);n.setTransparentSort(NH);const C=Ae(),r=u.useRef(null),i=u.useRef(null),o=p6(t),s=u.useMemo(()=>new Set,[]),l=u.useMemo(()=>KP(o.style,o.properties,o.default,r,i,()=>C.getState().camera,n,s),[]);return u.useEffect(()=>{const d=[];return h6(l.initializers,d),()=>u8(d)},[l]),mk((d,g)=>{for(const A of s)A(g)}),L6(e,l.root.pixelSize,o.style,l,l.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:l.handlers,ref:r,children:[h.jsx("primitive",{object:l.interactionPanel}),h.jsx("object3D",{ref:i,children:h.jsx(pe,{value:l,children:t.children})})]})}),mh=u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>C0(void 0),[]);o.value=t.src;const s=u.useMemo(()=>iN(n,o,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),L6(e,n.root.pixelSize,i.style,s,s.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:s.handlers,children:[h.jsx("primitive",{object:s.interactionPanel}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:s,children:t.children})})]})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>C0(void 0),[]);i.value=t.children;const o=u.useMemo(()=>C0(void 0),[]);o.value=_k();const s=u.useMemo(()=>uN(n,i,o,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),L6(e,n.root.pixelSize,r.style,s,s.interactionPanel),h.jsx(A6,{userHandlers:t,handlers:s.handlers,ref:C,children:h.jsx("primitive",{object:s.interactionPanel})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>C0(""),[]);o.value=t.src;const s=u.useMemo(()=>hN(n,o,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),L6(e,n.root.pixelSize,i.style,s,s.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:s.handlers,children:[h.jsx("primitive",{object:s.interactionPanel}),h.jsx("primitive",{object:s.centerGroup}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:s,children:t.children})})]})});const f=u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>pN(n,t.text,t.svgWidth,t.svgHeight,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const o=[];return h6(i.initializers,o),()=>u8(o)},[i]),L6(e,n.root.pixelSize,r.style,i,i.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:i.handlers,children:[h.jsx("primitive",{object:i.interactionPanel}),h.jsx("primitive",{object:i.iconGroup})]})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>C0(""),[]),o=u.useRef(t.value!=null);i.value=(o.current?t.value:t.defaultValue)??"";const s=u.useMemo(()=>W0(()=>b8(i.value)),[i]),l=u.useMemo(()=>C0(void 0),[]);l.value=_k();const d=u.useMemo(()=>NN(n,s,g=>{o.current||(i.value=g),r.style.peek()?.onValueChange?.(g),r.properties.peek()?.onValueChange?.(g)},t.multiline??!1,l,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const g=[];return h6(d.initializers,g),()=>u8(g)},[d]),u.useEffect(()=>u0(()=>{d.element.value!=null&&(d.element.value.tabIndex=t.tabIndex??0)}),[d,t.tabIndex]),L6(e,n.root.pixelSize,r.style,d,d.interactionPanel,u.useMemo(()=>({focus:d.focus,current:s}),[d.focus,s])),h.jsx(A6,{userHandlers:t,handlers:d.handlers,ref:C,children:h.jsx("primitive",{object:d.interactionPanel})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>wN(n,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[o]),L6(e,n.root.pixelSize,i.style,o,r),h.jsx(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:h.jsx(pe,{value:void 0,children:h.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:wh,customDepthMaterial:t.customDepthMaterial,customDistanceMaterial:t.customDistanceMaterial,children:t.children})})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>xN(n,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[o]),L6(e,n.root.pixelSize,i.style,o,o.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:[h.jsx("primitive",{object:o.interactionPanel}),h.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:h.jsx(pe,{value:void 0,children:t.children})})]})});const zN=u.forwardRef((t,e)=>{const n=Ae(),[C,r,i]=u.useMemo(()=>[C0(1),C0(1),C0(1)],[]),o=xk(d=>d.camera),s=t.distanceToCamera??o.near+.01;u.useEffect(()=>{const d=({camera:g,size:{height:A}})=>Rk(()=>EN(C,r,i,s,g,A));return d(n.getState()),n.subscribe(d)},[i,C,r,n,s]);const l=t.attachCamera??!0;return h.jsxs(h.Fragment,{children:[l&&h.jsx("primitive",{object:o}),Ek(h.jsx("group",{"position-z":-s,children:h.jsx(GN,{ref:e,...t,sizeX:C,sizeY:r,pixelSize:i,children:t.children})}),o)]})});u.forwardRef(({src:t,...e},n)=>{const C=hh(Fo,t);return C.colorSpace=Q2,C.matrixAutoUpdate=!1,h.jsx(mh,{ref:n,src:C,...e})});u.forwardRef(({children:t,resolution:e=1,frames:n=1/0,renderPriority:C=0,eventPriority:r=0,...i},o)=>{const s=u.useMemo(()=>new R8(1,1,{minFilter:A2,magFilter:A2,type:v3}),[]),l=u.useRef(null),d=u.useMemo(()=>({events:{compute:VN.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);u.useEffect(()=>{if(l.current==null)return;const{size:A}=l.current,p=u0(()=>{if(A.value==null)return;const[v,x]=A.value;s.setSize(v,x),d.size.width=v,d.size.height=x});return()=>{p(),s.dispose()}},[s,d]),u.useImperativeHandle(o,()=>l.current,[]);const g=u.useMemo(()=>new sn,[]);return h.jsxs(h.Fragment,{children:[Ek(h.jsxs($N,{imageRef:l,renderPriority:C,frames:n,fbo:s,children:[t,h.jsx("group",{onPointerOver:()=>null})]}),g,d),h.jsx(mh,{...i,src:s.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function VN({current:t},e,n,C){if(t==null||C==null)return!1;C.raycaster.camera||C.events.compute?.(e,C,C.previousRoot?.getState());const[r]=C.raycaster.intersectObject(t.interactionPanel);if(!r)return!1;const i=r.uv;if(!i)return!1;n.raycaster.setFromCamera(n.pointer.set(i.x*2-1,i.y*2-1),n.camera)}function $N({frames:t,renderPriority:e,children:n,fbo:C,imageRef:r}){const i=Ae();u.useEffect(()=>{if(r.current==null)return;const{size:d}=r.current;return u0(()=>{if(d.value==null)return;const[g,A]=d.value;i.setState({size:{width:g,height:A,top:0,left:0}})})});let o=0,s,l;return mk(d=>{(t===1/0||o{const n=u.useMemo(()=>C0(void 0),[]),C=u.useMemo(()=>C0(1),[]),r=u.useMemo(()=>document.createElement("video"),[]);return u.useEffect(()=>{if(t.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[t.autoplay,r]),r.playsInline=!0,r.volume=t.volume??1,r.preservesPitch=t.preservesPitch??!0,r.playbackRate=t.playbackRate??1,r.muted=t.muted??!1,r.loop=t.loop??!1,r.autoplay=t.autoplay??!1,u.useEffect(()=>{typeof t.src=="string"?r.src=t.src:r.srcObject=t.src;const i=()=>C.value=r.videoWidth/r.videoHeight;return i(),r.addEventListener("resize",i),()=>r.removeEventListener("resize",i)},[C,t.src,r]),u.useEffect(()=>{const i=new pm(r);return n.value=i,()=>i.dispose()},[n,r]),u.useImperativeHandle(e,()=>r,[r]),h.jsx(mh,{aspectRatio:C,...t,src:n})});const YN='',JN=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YN,svgWidth:24,svgHeight:24})),XN='',KN=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XN,svgWidth:24,svgHeight:24})),qN='',ZN=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qN,svgWidth:24,svgHeight:24})),ej='',tj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ej,svgWidth:24,svgHeight:24})),nj='',Cj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nj,svgWidth:24,svgHeight:24})),rj='',ij=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rj,svgWidth:24,svgHeight:24})),oj='',sj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oj,svgWidth:24,svgHeight:24})),lj='',aj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lj,svgWidth:24,svgHeight:24})),cj='',uj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cj,svgWidth:24,svgHeight:24})),dj='',hj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dj,svgWidth:24,svgHeight:24})),fj='',gj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fj,svgWidth:24,svgHeight:24})),Aj='',pj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Aj,svgWidth:24,svgHeight:24})),Lj='',vj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lj,svgWidth:24,svgHeight:24})),wj='',xj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wj,svgWidth:24,svgHeight:24})),mj='',kj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mj,svgWidth:24,svgHeight:24})),Mj='',Ej=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mj,svgWidth:24,svgHeight:24})),yj='',Bj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yj,svgWidth:24,svgHeight:24})),Ij='',Sj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ij,svgWidth:24,svgHeight:24})),_j='',Qj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_j,svgWidth:24,svgHeight:24})),Rj='',bj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rj,svgWidth:24,svgHeight:24})),Dj='',Tj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dj,svgWidth:24,svgHeight:24})),Hj='',Pj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hj,svgWidth:24,svgHeight:24})),Nj='',jj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nj,svgWidth:24,svgHeight:24})),Uj='',Fj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uj,svgWidth:24,svgHeight:24})),Wj='',Oj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wj,svgWidth:24,svgHeight:24})),Gj='',zj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gj,svgWidth:24,svgHeight:24})),Vj='',$j=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vj,svgWidth:24,svgHeight:24})),Yj='',Jj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yj,svgWidth:24,svgHeight:24})),Xj='',Kj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xj,svgWidth:24,svgHeight:24})),qj='',Zj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qj,svgWidth:24,svgHeight:24})),eU='',tU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eU,svgWidth:24,svgHeight:24})),nU='',CU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nU,svgWidth:24,svgHeight:24})),rU='',iU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rU,svgWidth:24,svgHeight:24})),oU='',sU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oU,svgWidth:24,svgHeight:24})),lU='',aU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lU,svgWidth:24,svgHeight:24})),cU='',uU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cU,svgWidth:24,svgHeight:24})),dU='',hU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dU,svgWidth:24,svgHeight:24})),fU='',gU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fU,svgWidth:24,svgHeight:24})),AU='',pU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AU,svgWidth:24,svgHeight:24})),LU='',vU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LU,svgWidth:24,svgHeight:24})),wU='',xU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wU,svgWidth:24,svgHeight:24})),mU='',kU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mU,svgWidth:24,svgHeight:24})),MU='',EU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MU,svgWidth:24,svgHeight:24})),yU='',BU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yU,svgWidth:24,svgHeight:24})),IU='',SU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IU,svgWidth:24,svgHeight:24})),_U='',QU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_U,svgWidth:24,svgHeight:24})),RU='',bU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RU,svgWidth:24,svgHeight:24})),DU='',TU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DU,svgWidth:24,svgHeight:24})),HU='',PU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HU,svgWidth:24,svgHeight:24})),NU='',jU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NU,svgWidth:24,svgHeight:24})),UU='',FU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UU,svgWidth:24,svgHeight:24})),WU='',OU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WU,svgWidth:24,svgHeight:24})),GU='',zU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GU,svgWidth:24,svgHeight:24})),VU='',$U=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VU,svgWidth:24,svgHeight:24})),YU='',JU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YU,svgWidth:24,svgHeight:24})),XU='',KU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XU,svgWidth:24,svgHeight:24})),qU='',ZU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qU,svgWidth:24,svgHeight:24})),eF='',tF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eF,svgWidth:24,svgHeight:24})),nF='',CF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nF,svgWidth:24,svgHeight:24})),rF='',iF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rF,svgWidth:24,svgHeight:24})),oF='',sF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oF,svgWidth:24,svgHeight:24})),lF='',aF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lF,svgWidth:24,svgHeight:24})),cF='',uF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cF,svgWidth:24,svgHeight:24})),dF='',hF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dF,svgWidth:24,svgHeight:24})),fF='',gF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fF,svgWidth:24,svgHeight:24})),AF='',pF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AF,svgWidth:24,svgHeight:24})),LF='',vF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LF,svgWidth:24,svgHeight:24})),wF='',xF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wF,svgWidth:24,svgHeight:24})),mF='',kF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mF,svgWidth:24,svgHeight:24})),MF='',EF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MF,svgWidth:24,svgHeight:24})),yF='',BF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yF,svgWidth:24,svgHeight:24})),IF='',SF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IF,svgWidth:24,svgHeight:24})),_F='',QF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_F,svgWidth:24,svgHeight:24})),RF='',bF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RF,svgWidth:24,svgHeight:24})),DF='',TF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DF,svgWidth:24,svgHeight:24})),HF='',PF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HF,svgWidth:24,svgHeight:24})),NF='',jF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NF,svgWidth:24,svgHeight:24})),UF='',FF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UF,svgWidth:24,svgHeight:24})),WF='',OF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WF,svgWidth:24,svgHeight:24})),GF='',zF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GF,svgWidth:24,svgHeight:24})),VF='',$F=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VF,svgWidth:24,svgHeight:24})),YF='',JF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YF,svgWidth:24,svgHeight:24})),XF='',KF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XF,svgWidth:24,svgHeight:24})),qF='',ZF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qF,svgWidth:24,svgHeight:24})),eW='',tW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eW,svgWidth:24,svgHeight:24})),nW='',CW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nW,svgWidth:24,svgHeight:24})),rW='',iW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rW,svgWidth:24,svgHeight:24})),oW='',sW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oW,svgWidth:24,svgHeight:24})),lW='',aW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lW,svgWidth:24,svgHeight:24})),cW='',uW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cW,svgWidth:24,svgHeight:24})),dW='',hW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dW,svgWidth:24,svgHeight:24})),fW='',gW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fW,svgWidth:24,svgHeight:24})),AW='',pW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AW,svgWidth:24,svgHeight:24})),LW='',vW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LW,svgWidth:24,svgHeight:24})),wW='',xW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wW,svgWidth:24,svgHeight:24})),mW='',kW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mW,svgWidth:24,svgHeight:24})),MW='',EW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MW,svgWidth:24,svgHeight:24})),yW='',BW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yW,svgWidth:24,svgHeight:24})),IW='',SW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IW,svgWidth:24,svgHeight:24})),_W='',QW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_W,svgWidth:24,svgHeight:24})),RW='',bW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RW,svgWidth:24,svgHeight:24})),DW='',TW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DW,svgWidth:24,svgHeight:24})),HW='',PW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HW,svgWidth:24,svgHeight:24})),NW='',jW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NW,svgWidth:24,svgHeight:24})),UW='',FW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UW,svgWidth:24,svgHeight:24})),WW='',OW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WW,svgWidth:24,svgHeight:24})),GW='',zW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GW,svgWidth:24,svgHeight:24})),VW='',$W=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VW,svgWidth:24,svgHeight:24})),YW='',JW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YW,svgWidth:24,svgHeight:24})),XW='',KW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XW,svgWidth:24,svgHeight:24})),qW='',ZW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qW,svgWidth:24,svgHeight:24})),eO='',tO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eO,svgWidth:24,svgHeight:24})),nO='',CO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nO,svgWidth:24,svgHeight:24})),rO='',iO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rO,svgWidth:24,svgHeight:24})),oO='',sO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oO,svgWidth:24,svgHeight:24})),lO='',aO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lO,svgWidth:24,svgHeight:24})),cO='',uO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cO,svgWidth:24,svgHeight:24})),dO='',hO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dO,svgWidth:24,svgHeight:24})),fO='',gO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fO,svgWidth:24,svgHeight:24})),AO='',pO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AO,svgWidth:24,svgHeight:24})),LO='',vO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LO,svgWidth:24,svgHeight:24})),wO='',xO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wO,svgWidth:24,svgHeight:24})),mO='',kO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mO,svgWidth:24,svgHeight:24})),MO='',EO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MO,svgWidth:24,svgHeight:24})),yO='',BO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yO,svgWidth:24,svgHeight:24})),IO='',SO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IO,svgWidth:24,svgHeight:24})),_O='',QO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_O,svgWidth:24,svgHeight:24})),RO='',bO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RO,svgWidth:24,svgHeight:24})),DO='',TO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DO,svgWidth:24,svgHeight:24})),HO='',PO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HO,svgWidth:24,svgHeight:24})),NO='',jO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NO,svgWidth:24,svgHeight:24})),UO='',FO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UO,svgWidth:24,svgHeight:24})),WO='',OO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WO,svgWidth:24,svgHeight:24})),GO='',zO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GO,svgWidth:24,svgHeight:24})),VO='',$O=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VO,svgWidth:24,svgHeight:24})),YO='',JO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YO,svgWidth:24,svgHeight:24})),XO='',KO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XO,svgWidth:24,svgHeight:24})),qO='',ZO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qO,svgWidth:24,svgHeight:24})),eG='',tG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eG,svgWidth:24,svgHeight:24})),nG='',CG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nG,svgWidth:24,svgHeight:24})),rG='',iG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rG,svgWidth:24,svgHeight:24})),oG='',sG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oG,svgWidth:24,svgHeight:24})),lG='',aG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lG,svgWidth:24,svgHeight:24})),cG='',uG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cG,svgWidth:24,svgHeight:24})),dG='',hG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dG,svgWidth:24,svgHeight:24})),fG='',gG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fG,svgWidth:24,svgHeight:24})),AG='',pG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AG,svgWidth:24,svgHeight:24})),LG='',vG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LG,svgWidth:24,svgHeight:24})),wG='',xG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wG,svgWidth:24,svgHeight:24})),mG='',kG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mG,svgWidth:24,svgHeight:24})),MG='',EG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MG,svgWidth:24,svgHeight:24})),yG='',BG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yG,svgWidth:24,svgHeight:24})),IG='',SG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IG,svgWidth:24,svgHeight:24})),_G='',QG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_G,svgWidth:24,svgHeight:24})),RG='',bG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RG,svgWidth:24,svgHeight:24})),DG='',TG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DG,svgWidth:24,svgHeight:24})),HG='',PG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HG,svgWidth:24,svgHeight:24})),NG='',jG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NG,svgWidth:24,svgHeight:24})),UG='',FG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UG,svgWidth:24,svgHeight:24})),WG='',OG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WG,svgWidth:24,svgHeight:24})),GG='',zG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GG,svgWidth:24,svgHeight:24})),VG='',$G=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VG,svgWidth:24,svgHeight:24})),YG='',JG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YG,svgWidth:24,svgHeight:24})),XG='',KG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XG,svgWidth:24,svgHeight:24})),qG='',ZG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qG,svgWidth:24,svgHeight:24})),ez='',tz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ez,svgWidth:24,svgHeight:24})),nz='',Cz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nz,svgWidth:24,svgHeight:24})),rz='',iz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rz,svgWidth:24,svgHeight:24})),oz='',sz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oz,svgWidth:24,svgHeight:24})),lz='',az=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lz,svgWidth:24,svgHeight:24})),cz='',uz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cz,svgWidth:24,svgHeight:24})),dz='',hz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dz,svgWidth:24,svgHeight:24})),fz='',gz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fz,svgWidth:24,svgHeight:24})),Az='',pz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Az,svgWidth:24,svgHeight:24})),Lz='',vz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lz,svgWidth:24,svgHeight:24})),wz='',xz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wz,svgWidth:24,svgHeight:24})),mz='',kz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mz,svgWidth:24,svgHeight:24})),Mz='',Ez=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mz,svgWidth:24,svgHeight:24})),yz='',Bz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yz,svgWidth:24,svgHeight:24})),Iz='',Sz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iz,svgWidth:24,svgHeight:24})),_z='',Qz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_z,svgWidth:24,svgHeight:24})),Rz='',bz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rz,svgWidth:24,svgHeight:24})),Dz='',Tz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dz,svgWidth:24,svgHeight:24})),Hz='',Pz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hz,svgWidth:24,svgHeight:24})),Nz='',jz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nz,svgWidth:24,svgHeight:24})),Uz='',Fz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uz,svgWidth:24,svgHeight:24})),Wz='',Oz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wz,svgWidth:24,svgHeight:24})),Gz='',zz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gz,svgWidth:24,svgHeight:24})),Vz='',$z=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vz,svgWidth:24,svgHeight:24})),Yz='',Jz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yz,svgWidth:24,svgHeight:24})),Xz='',Kz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xz,svgWidth:24,svgHeight:24})),qz='',Zz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qz,svgWidth:24,svgHeight:24})),eV='',tV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eV,svgWidth:24,svgHeight:24})),nV='',CV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nV,svgWidth:24,svgHeight:24})),rV='',iV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rV,svgWidth:24,svgHeight:24})),oV='',sV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oV,svgWidth:24,svgHeight:24})),lV='',aV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lV,svgWidth:24,svgHeight:24})),cV='',uV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cV,svgWidth:24,svgHeight:24})),dV='',hV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dV,svgWidth:24,svgHeight:24})),fV='',gV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fV,svgWidth:24,svgHeight:24})),AV='',pV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AV,svgWidth:24,svgHeight:24})),LV='',vV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LV,svgWidth:24,svgHeight:24})),wV='',xV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wV,svgWidth:24,svgHeight:24})),mV='',kV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mV,svgWidth:24,svgHeight:24})),MV='',EV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MV,svgWidth:24,svgHeight:24})),yV='',BV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yV,svgWidth:24,svgHeight:24})),IV='',SV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IV,svgWidth:24,svgHeight:24})),_V='',QV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_V,svgWidth:24,svgHeight:24})),RV='',bV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RV,svgWidth:24,svgHeight:24})),DV='',TV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DV,svgWidth:24,svgHeight:24})),HV='',PV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HV,svgWidth:24,svgHeight:24})),NV='',jV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NV,svgWidth:24,svgHeight:24})),UV='',FV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UV,svgWidth:24,svgHeight:24})),WV='',OV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WV,svgWidth:24,svgHeight:24})),GV='',zV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GV,svgWidth:24,svgHeight:24})),VV='',$V=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VV,svgWidth:24,svgHeight:24})),YV='',JV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YV,svgWidth:24,svgHeight:24})),XV='',KV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XV,svgWidth:24,svgHeight:24})),qV='',ZV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qV,svgWidth:24,svgHeight:24})),e$='',t$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e$,svgWidth:24,svgHeight:24})),n$='',C$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n$,svgWidth:24,svgHeight:24})),r$='',i$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r$,svgWidth:24,svgHeight:24})),o$='',s$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o$,svgWidth:24,svgHeight:24})),l$='',a$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l$,svgWidth:24,svgHeight:24})),c$='',u$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c$,svgWidth:24,svgHeight:24})),d$='',h$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d$,svgWidth:24,svgHeight:24})),f$='',g$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f$,svgWidth:24,svgHeight:24})),A$='',p$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A$,svgWidth:24,svgHeight:24})),L$='',v$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L$,svgWidth:24,svgHeight:24})),w$='',x$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w$,svgWidth:24,svgHeight:24})),m$='',k$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m$,svgWidth:24,svgHeight:24})),M$='',E$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M$,svgWidth:24,svgHeight:24})),y$='',B$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y$,svgWidth:24,svgHeight:24})),I$='',S$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I$,svgWidth:24,svgHeight:24})),_$='',Q$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_$,svgWidth:24,svgHeight:24})),R$='',b$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R$,svgWidth:24,svgHeight:24})),D$='',T$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D$,svgWidth:24,svgHeight:24})),H$='',P$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H$,svgWidth:24,svgHeight:24})),N$='',j$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N$,svgWidth:24,svgHeight:24})),U$='',F$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U$,svgWidth:24,svgHeight:24})),W$='',O$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W$,svgWidth:24,svgHeight:24})),G$='',z$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G$,svgWidth:24,svgHeight:24})),V$='',$$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V$,svgWidth:24,svgHeight:24})),Y$='',J$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y$,svgWidth:24,svgHeight:24})),X$='',K$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X$,svgWidth:24,svgHeight:24})),q$='',Z$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q$,svgWidth:24,svgHeight:24})),eY='',tY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eY,svgWidth:24,svgHeight:24})),nY='',CY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nY,svgWidth:24,svgHeight:24})),rY='',iY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rY,svgWidth:24,svgHeight:24})),oY='',sY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oY,svgWidth:24,svgHeight:24})),lY='',aY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lY,svgWidth:24,svgHeight:24})),cY='',uY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cY,svgWidth:24,svgHeight:24})),dY='',hY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dY,svgWidth:24,svgHeight:24})),fY='',gY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fY,svgWidth:24,svgHeight:24})),AY='',pY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AY,svgWidth:24,svgHeight:24})),LY='',vY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LY,svgWidth:24,svgHeight:24})),wY='',xY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wY,svgWidth:24,svgHeight:24})),mY='',kY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mY,svgWidth:24,svgHeight:24})),MY='',EY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MY,svgWidth:24,svgHeight:24})),yY='',BY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yY,svgWidth:24,svgHeight:24})),IY='',SY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IY,svgWidth:24,svgHeight:24})),_Y='',QY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_Y,svgWidth:24,svgHeight:24})),RY='',bY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RY,svgWidth:24,svgHeight:24})),DY='',TY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DY,svgWidth:24,svgHeight:24})),HY='',PY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HY,svgWidth:24,svgHeight:24})),NY='',jY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NY,svgWidth:24,svgHeight:24})),UY='',FY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UY,svgWidth:24,svgHeight:24})),WY='',OY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WY,svgWidth:24,svgHeight:24})),GY='',zY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GY,svgWidth:24,svgHeight:24})),VY='',$Y=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VY,svgWidth:24,svgHeight:24})),YY='',JY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YY,svgWidth:24,svgHeight:24})),XY='',KY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XY,svgWidth:24,svgHeight:24})),qY='',ZY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qY,svgWidth:24,svgHeight:24})),eJ='',tJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eJ,svgWidth:24,svgHeight:24})),nJ='',CJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nJ,svgWidth:24,svgHeight:24})),rJ='',iJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rJ,svgWidth:24,svgHeight:24})),oJ='',sJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oJ,svgWidth:24,svgHeight:24})),lJ='',aJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lJ,svgWidth:24,svgHeight:24})),cJ='',uJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cJ,svgWidth:24,svgHeight:24})),dJ='',hJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dJ,svgWidth:24,svgHeight:24})),fJ='',gJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fJ,svgWidth:24,svgHeight:24})),AJ='',pJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AJ,svgWidth:24,svgHeight:24})),LJ='',vJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LJ,svgWidth:24,svgHeight:24})),wJ='',xJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wJ,svgWidth:24,svgHeight:24})),mJ='',kJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mJ,svgWidth:24,svgHeight:24})),MJ='',EJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MJ,svgWidth:24,svgHeight:24})),yJ='',BJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yJ,svgWidth:24,svgHeight:24})),IJ='',SJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IJ,svgWidth:24,svgHeight:24})),_J='',QJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_J,svgWidth:24,svgHeight:24})),RJ='',bJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RJ,svgWidth:24,svgHeight:24})),DJ='',TJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DJ,svgWidth:24,svgHeight:24})),HJ='',PJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HJ,svgWidth:24,svgHeight:24})),NJ='',jJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NJ,svgWidth:24,svgHeight:24})),UJ='',FJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UJ,svgWidth:24,svgHeight:24})),WJ='',OJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WJ,svgWidth:24,svgHeight:24})),GJ='',zJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GJ,svgWidth:24,svgHeight:24})),VJ='',$J=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VJ,svgWidth:24,svgHeight:24})),YJ='',JJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YJ,svgWidth:24,svgHeight:24})),XJ='',KJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XJ,svgWidth:24,svgHeight:24})),qJ='',ZJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qJ,svgWidth:24,svgHeight:24})),eX='',tX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eX,svgWidth:24,svgHeight:24})),nX='',CX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nX,svgWidth:24,svgHeight:24})),rX='',iX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rX,svgWidth:24,svgHeight:24})),oX='',sX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oX,svgWidth:24,svgHeight:24})),lX='',aX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lX,svgWidth:24,svgHeight:24})),cX='',uX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cX,svgWidth:24,svgHeight:24})),dX='',hX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dX,svgWidth:24,svgHeight:24})),fX='',gX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fX,svgWidth:24,svgHeight:24})),AX='',pX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AX,svgWidth:24,svgHeight:24})),LX='',vX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LX,svgWidth:24,svgHeight:24})),wX='',xX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wX,svgWidth:24,svgHeight:24})),mX='',kX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mX,svgWidth:24,svgHeight:24})),MX='',EX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MX,svgWidth:24,svgHeight:24})),yX='',BX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yX,svgWidth:24,svgHeight:24})),IX='',SX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IX,svgWidth:24,svgHeight:24})),_X='',QX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_X,svgWidth:24,svgHeight:24})),RX='',bX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RX,svgWidth:24,svgHeight:24})),DX='',TX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DX,svgWidth:24,svgHeight:24})),HX='',PX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HX,svgWidth:24,svgHeight:24})),NX='',jX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NX,svgWidth:24,svgHeight:24})),UX='',FX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UX,svgWidth:24,svgHeight:24})),WX='',OX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WX,svgWidth:24,svgHeight:24})),GX='',zX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GX,svgWidth:24,svgHeight:24})),VX='',$X=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VX,svgWidth:24,svgHeight:24})),YX='',JX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YX,svgWidth:24,svgHeight:24})),XX='',KX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XX,svgWidth:24,svgHeight:24})),qX='',ZX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qX,svgWidth:24,svgHeight:24})),eK='',tK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eK,svgWidth:24,svgHeight:24})),nK='',CK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nK,svgWidth:24,svgHeight:24})),rK='',iK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rK,svgWidth:24,svgHeight:24})),oK='',sK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oK,svgWidth:24,svgHeight:24})),lK='',aK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lK,svgWidth:24,svgHeight:24})),cK='',uK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cK,svgWidth:24,svgHeight:24})),dK='',hK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dK,svgWidth:24,svgHeight:24})),fK='',gK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fK,svgWidth:24,svgHeight:24})),AK='',pK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AK,svgWidth:24,svgHeight:24})),LK='',vK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LK,svgWidth:24,svgHeight:24})),wK='',xK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wK,svgWidth:24,svgHeight:24})),mK='',kK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mK,svgWidth:24,svgHeight:24})),MK='',EK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MK,svgWidth:24,svgHeight:24})),yK='',BK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yK,svgWidth:24,svgHeight:24})),IK='',SK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IK,svgWidth:24,svgHeight:24})),_K='',QK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_K,svgWidth:24,svgHeight:24})),RK='',bK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RK,svgWidth:24,svgHeight:24})),DK='',TK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DK,svgWidth:24,svgHeight:24})),HK='',PK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HK,svgWidth:24,svgHeight:24})),NK='',jK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NK,svgWidth:24,svgHeight:24})),UK='',FK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UK,svgWidth:24,svgHeight:24})),WK='',OK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WK,svgWidth:24,svgHeight:24})),GK='',zK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GK,svgWidth:24,svgHeight:24})),VK='',$K=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VK,svgWidth:24,svgHeight:24})),YK='',JK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YK,svgWidth:24,svgHeight:24})),XK='',KK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XK,svgWidth:24,svgHeight:24})),qK='',ZK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qK,svgWidth:24,svgHeight:24})),eq='',tq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eq,svgWidth:24,svgHeight:24})),nq='',Cq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nq,svgWidth:24,svgHeight:24})),rq='',iq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rq,svgWidth:24,svgHeight:24})),oq='',sq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oq,svgWidth:24,svgHeight:24})),lq='',aq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lq,svgWidth:24,svgHeight:24})),cq='',uq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cq,svgWidth:24,svgHeight:24})),dq='',hq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dq,svgWidth:24,svgHeight:24})),fq='',gq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fq,svgWidth:24,svgHeight:24})),Aq='',pq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Aq,svgWidth:24,svgHeight:24})),Lq='',vq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lq,svgWidth:24,svgHeight:24})),wq='',xq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wq,svgWidth:24,svgHeight:24})),mq='',kq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mq,svgWidth:24,svgHeight:24})),Mq='',Eq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mq,svgWidth:24,svgHeight:24})),yq='',Bq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yq,svgWidth:24,svgHeight:24})),Iq='',Sq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iq,svgWidth:24,svgHeight:24})),_q='',Qq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_q,svgWidth:24,svgHeight:24})),Rq='',bq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rq,svgWidth:24,svgHeight:24})),Dq='',Tq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dq,svgWidth:24,svgHeight:24})),Hq='',Pq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hq,svgWidth:24,svgHeight:24})),Nq='',jq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nq,svgWidth:24,svgHeight:24})),Uq='',Fq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uq,svgWidth:24,svgHeight:24})),Wq='',Oq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wq,svgWidth:24,svgHeight:24})),Gq='',zq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gq,svgWidth:24,svgHeight:24})),Vq='',$q=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vq,svgWidth:24,svgHeight:24})),Yq='',Jq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yq,svgWidth:24,svgHeight:24})),Xq='',Kq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xq,svgWidth:24,svgHeight:24})),qq='',Zq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qq,svgWidth:24,svgHeight:24})),eZ='',tZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eZ,svgWidth:24,svgHeight:24})),nZ='',CZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nZ,svgWidth:24,svgHeight:24})),rZ='',iZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rZ,svgWidth:24,svgHeight:24})),oZ='',sZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oZ,svgWidth:24,svgHeight:24})),lZ='',aZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lZ,svgWidth:24,svgHeight:24})),cZ='',uZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cZ,svgWidth:24,svgHeight:24})),dZ='',hZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dZ,svgWidth:24,svgHeight:24})),fZ='',gZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fZ,svgWidth:24,svgHeight:24})),AZ='',pZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AZ,svgWidth:24,svgHeight:24})),LZ='',vZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LZ,svgWidth:24,svgHeight:24})),wZ='',xZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wZ,svgWidth:24,svgHeight:24})),mZ='',kZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mZ,svgWidth:24,svgHeight:24})),MZ='',EZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MZ,svgWidth:24,svgHeight:24})),yZ='',BZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yZ,svgWidth:24,svgHeight:24})),IZ='',SZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IZ,svgWidth:24,svgHeight:24})),_Z='',QZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_Z,svgWidth:24,svgHeight:24})),RZ='',bZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RZ,svgWidth:24,svgHeight:24})),DZ='',TZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DZ,svgWidth:24,svgHeight:24})),HZ='',PZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HZ,svgWidth:24,svgHeight:24})),NZ='',jZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NZ,svgWidth:24,svgHeight:24})),UZ='',FZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UZ,svgWidth:24,svgHeight:24})),WZ='',OZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WZ,svgWidth:24,svgHeight:24})),GZ='',zZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GZ,svgWidth:24,svgHeight:24})),VZ='',$Z=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VZ,svgWidth:24,svgHeight:24})),YZ='',JZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YZ,svgWidth:24,svgHeight:24})),XZ='',KZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XZ,svgWidth:24,svgHeight:24})),qZ='',ZZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qZ,svgWidth:24,svgHeight:24})),e11='',t11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e11,svgWidth:24,svgHeight:24})),n11='',C11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n11,svgWidth:24,svgHeight:24})),r11='',i11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r11,svgWidth:24,svgHeight:24})),o11='',s11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o11,svgWidth:24,svgHeight:24})),l11='',a11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l11,svgWidth:24,svgHeight:24})),c11='',u11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c11,svgWidth:24,svgHeight:24})),d11='',h11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d11,svgWidth:24,svgHeight:24})),f11='',g11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f11,svgWidth:24,svgHeight:24})),A11='',p11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A11,svgWidth:24,svgHeight:24})),L11='',v11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L11,svgWidth:24,svgHeight:24})),w11='',x11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w11,svgWidth:24,svgHeight:24})),m11='',k11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m11,svgWidth:24,svgHeight:24})),M11='',E11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M11,svgWidth:24,svgHeight:24})),y11='',B11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y11,svgWidth:24,svgHeight:24})),I11='',S11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I11,svgWidth:24,svgHeight:24})),_11='',Q11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_11,svgWidth:24,svgHeight:24})),R11='',b11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R11,svgWidth:24,svgHeight:24})),D11='',T11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D11,svgWidth:24,svgHeight:24})),H11='',P11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H11,svgWidth:24,svgHeight:24})),N11='',j11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N11,svgWidth:24,svgHeight:24})),U11='',F11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U11,svgWidth:24,svgHeight:24})),W11='',O11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W11,svgWidth:24,svgHeight:24})),G11='',z11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G11,svgWidth:24,svgHeight:24})),V11='',$11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V11,svgWidth:24,svgHeight:24})),Y11='',J11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y11,svgWidth:24,svgHeight:24})),X11='',K11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X11,svgWidth:24,svgHeight:24})),q11='',Z11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q11,svgWidth:24,svgHeight:24})),e01='',t01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e01,svgWidth:24,svgHeight:24})),n01='',C01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n01,svgWidth:24,svgHeight:24})),r01='',i01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r01,svgWidth:24,svgHeight:24})),o01='',s01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o01,svgWidth:24,svgHeight:24})),l01='',a01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l01,svgWidth:24,svgHeight:24})),c01='',u01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c01,svgWidth:24,svgHeight:24})),d01='',h01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d01,svgWidth:24,svgHeight:24})),f01='',g01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f01,svgWidth:24,svgHeight:24})),A01='',p01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A01,svgWidth:24,svgHeight:24})),L01='',v01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L01,svgWidth:24,svgHeight:24})),w01='',x01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w01,svgWidth:24,svgHeight:24})),m01='',k01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m01,svgWidth:24,svgHeight:24})),M01='',E01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M01,svgWidth:24,svgHeight:24})),y01='',B01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y01,svgWidth:24,svgHeight:24})),I01='',S01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I01,svgWidth:24,svgHeight:24})),_01='',Q01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_01,svgWidth:24,svgHeight:24})),R01='',b01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R01,svgWidth:24,svgHeight:24})),D01='',T01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D01,svgWidth:24,svgHeight:24})),H01='',P01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H01,svgWidth:24,svgHeight:24})),N01='',j01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N01,svgWidth:24,svgHeight:24})),U01='',F01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U01,svgWidth:24,svgHeight:24})),W01='',O01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W01,svgWidth:24,svgHeight:24})),G01='',z01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G01,svgWidth:24,svgHeight:24})),V01='',$01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V01,svgWidth:24,svgHeight:24})),Y01='',J01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y01,svgWidth:24,svgHeight:24})),X01='',K01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X01,svgWidth:24,svgHeight:24})),q01='',Z01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q01,svgWidth:24,svgHeight:24})),e21='',t21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e21,svgWidth:24,svgHeight:24})),n21='',C21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n21,svgWidth:24,svgHeight:24})),r21='',i21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r21,svgWidth:24,svgHeight:24})),o21='',s21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o21,svgWidth:24,svgHeight:24})),l21='',a21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l21,svgWidth:24,svgHeight:24})),c21='',u21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c21,svgWidth:24,svgHeight:24})),d21='',h21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d21,svgWidth:24,svgHeight:24})),f21='',g21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f21,svgWidth:24,svgHeight:24})),A21='',p21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A21,svgWidth:24,svgHeight:24})),L21='',v21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L21,svgWidth:24,svgHeight:24})),w21='',x21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w21,svgWidth:24,svgHeight:24})),m21='',k21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m21,svgWidth:24,svgHeight:24})),M21='',E21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M21,svgWidth:24,svgHeight:24})),y21='',B21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y21,svgWidth:24,svgHeight:24})),I21='',S21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I21,svgWidth:24,svgHeight:24})),_21='',Q21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_21,svgWidth:24,svgHeight:24})),R21='',b21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R21,svgWidth:24,svgHeight:24})),D21='',T21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D21,svgWidth:24,svgHeight:24})),H21='',P21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H21,svgWidth:24,svgHeight:24})),N21='',j21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N21,svgWidth:24,svgHeight:24})),U21='',F21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U21,svgWidth:24,svgHeight:24})),W21='',O21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W21,svgWidth:24,svgHeight:24})),G21='',z21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G21,svgWidth:24,svgHeight:24})),V21='',$21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V21,svgWidth:24,svgHeight:24})),Y21='',J21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y21,svgWidth:24,svgHeight:24})),X21='',K21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X21,svgWidth:24,svgHeight:24})),q21='',Z21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q21,svgWidth:24,svgHeight:24})),e91='',t91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e91,svgWidth:24,svgHeight:24})),n91='',C91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n91,svgWidth:24,svgHeight:24})),r91='',i91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r91,svgWidth:24,svgHeight:24})),o91='',s91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o91,svgWidth:24,svgHeight:24})),l91='',a91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l91,svgWidth:24,svgHeight:24})),c91='',u91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c91,svgWidth:24,svgHeight:24})),d91='',h91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d91,svgWidth:24,svgHeight:24})),f91='',g91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f91,svgWidth:24,svgHeight:24})),A91='',p91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A91,svgWidth:24,svgHeight:24})),L91='',v91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L91,svgWidth:24,svgHeight:24})),w91='',x91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w91,svgWidth:24,svgHeight:24})),m91='',k91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m91,svgWidth:24,svgHeight:24})),M91='',E91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M91,svgWidth:24,svgHeight:24})),y91='',B91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y91,svgWidth:24,svgHeight:24})),I91='',S91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I91,svgWidth:24,svgHeight:24})),_91='',Q91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_91,svgWidth:24,svgHeight:24})),R91='',b91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R91,svgWidth:24,svgHeight:24})),D91='',T91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D91,svgWidth:24,svgHeight:24})),H91='',P91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H91,svgWidth:24,svgHeight:24})),N91='',j91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N91,svgWidth:24,svgHeight:24})),U91='',F91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U91,svgWidth:24,svgHeight:24})),W91='',O91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W91,svgWidth:24,svgHeight:24})),G91='',z91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G91,svgWidth:24,svgHeight:24})),V91='',$91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V91,svgWidth:24,svgHeight:24})),Y91='',J91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y91,svgWidth:24,svgHeight:24})),X91='',K91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X91,svgWidth:24,svgHeight:24})),q91='',Z91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q91,svgWidth:24,svgHeight:24})),e81='',t81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e81,svgWidth:24,svgHeight:24})),n81='',C81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n81,svgWidth:24,svgHeight:24})),r81='',i81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r81,svgWidth:24,svgHeight:24})),o81='',s81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o81,svgWidth:24,svgHeight:24})),l81='',a81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l81,svgWidth:24,svgHeight:24})),c81='',u81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c81,svgWidth:24,svgHeight:24})),d81='',h81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d81,svgWidth:24,svgHeight:24})),f81='',g81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f81,svgWidth:24,svgHeight:24})),A81='',p81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A81,svgWidth:24,svgHeight:24})),L81='',v81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L81,svgWidth:24,svgHeight:24})),w81='',x81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w81,svgWidth:24,svgHeight:24})),m81='',k81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m81,svgWidth:24,svgHeight:24})),M81='',E81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M81,svgWidth:24,svgHeight:24})),y81='',B81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y81,svgWidth:24,svgHeight:24})),I81='',S81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I81,svgWidth:24,svgHeight:24})),_81='',Q81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_81,svgWidth:24,svgHeight:24})),R81='',b81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R81,svgWidth:24,svgHeight:24})),D81='',T81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D81,svgWidth:24,svgHeight:24})),H81='',P81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H81,svgWidth:24,svgHeight:24})),N81='',j81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N81,svgWidth:24,svgHeight:24})),U81='',F81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U81,svgWidth:24,svgHeight:24})),W81='',O81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W81,svgWidth:24,svgHeight:24})),G81='',z81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G81,svgWidth:24,svgHeight:24})),V81='',$81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V81,svgWidth:24,svgHeight:24})),Y81='',J81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y81,svgWidth:24,svgHeight:24})),X81='',K81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X81,svgWidth:24,svgHeight:24})),q81='',Z81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q81,svgWidth:24,svgHeight:24})),e41='',t41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e41,svgWidth:24,svgHeight:24})),n41='',C41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n41,svgWidth:24,svgHeight:24})),r41='',i41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r41,svgWidth:24,svgHeight:24})),o41='',s41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o41,svgWidth:24,svgHeight:24})),l41='',a41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l41,svgWidth:24,svgHeight:24})),c41='',u41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c41,svgWidth:24,svgHeight:24})),d41='',h41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d41,svgWidth:24,svgHeight:24})),f41='',g41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f41,svgWidth:24,svgHeight:24})),A41='',p41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A41,svgWidth:24,svgHeight:24})),L41='',v41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L41,svgWidth:24,svgHeight:24})),w41='',x41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w41,svgWidth:24,svgHeight:24})),m41='',k41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m41,svgWidth:24,svgHeight:24})),M41='',E41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M41,svgWidth:24,svgHeight:24})),y41='',B41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y41,svgWidth:24,svgHeight:24})),I41='',S41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I41,svgWidth:24,svgHeight:24})),_41='',Q41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_41,svgWidth:24,svgHeight:24})),R41='',b41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R41,svgWidth:24,svgHeight:24})),D41='',T41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D41,svgWidth:24,svgHeight:24})),H41='',P41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H41,svgWidth:24,svgHeight:24})),N41='',j41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N41,svgWidth:24,svgHeight:24})),U41='',F41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U41,svgWidth:24,svgHeight:24})),W41='',O41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W41,svgWidth:24,svgHeight:24})),G41='',z41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G41,svgWidth:24,svgHeight:24})),V41='',$41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V41,svgWidth:24,svgHeight:24})),Y41='',J41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y41,svgWidth:24,svgHeight:24})),X41='',K41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X41,svgWidth:24,svgHeight:24})),q41='',Z41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q41,svgWidth:24,svgHeight:24})),e61='',t61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e61,svgWidth:24,svgHeight:24})),n61='',C61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n61,svgWidth:24,svgHeight:24})),r61='',i61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r61,svgWidth:24,svgHeight:24})),o61='',s61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o61,svgWidth:24,svgHeight:24})),l61='',a61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l61,svgWidth:24,svgHeight:24})),c61='',u61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c61,svgWidth:24,svgHeight:24})),d61='',h61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d61,svgWidth:24,svgHeight:24})),f61='',g61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f61,svgWidth:24,svgHeight:24})),A61='',p61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A61,svgWidth:24,svgHeight:24})),L61='',v61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L61,svgWidth:24,svgHeight:24})),w61='',x61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w61,svgWidth:24,svgHeight:24})),m61='',k61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m61,svgWidth:24,svgHeight:24})),M61='',E61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M61,svgWidth:24,svgHeight:24})),y61='',B61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y61,svgWidth:24,svgHeight:24})),I61='',S61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I61,svgWidth:24,svgHeight:24})),_61='',Q61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_61,svgWidth:24,svgHeight:24})),R61='',b61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R61,svgWidth:24,svgHeight:24})),D61='',T61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D61,svgWidth:24,svgHeight:24})),H61='',P61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H61,svgWidth:24,svgHeight:24})),N61='',j61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N61,svgWidth:24,svgHeight:24})),U61='',F61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U61,svgWidth:24,svgHeight:24})),W61='',O61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W61,svgWidth:24,svgHeight:24})),G61='',z61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G61,svgWidth:24,svgHeight:24})),V61='',$61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V61,svgWidth:24,svgHeight:24})),Y61='',J61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y61,svgWidth:24,svgHeight:24})),X61='',K61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X61,svgWidth:24,svgHeight:24})),q61='',Z61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q61,svgWidth:24,svgHeight:24})),e51='',t51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e51,svgWidth:24,svgHeight:24})),n51='',C51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n51,svgWidth:24,svgHeight:24})),r51='',i51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r51,svgWidth:24,svgHeight:24})),o51='',s51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o51,svgWidth:24,svgHeight:24})),l51='',a51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l51,svgWidth:24,svgHeight:24})),c51='',u51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c51,svgWidth:24,svgHeight:24})),d51='',h51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d51,svgWidth:24,svgHeight:24})),f51='',g51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f51,svgWidth:24,svgHeight:24})),A51='',p51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A51,svgWidth:24,svgHeight:24})),L51='',v51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L51,svgWidth:24,svgHeight:24})),w51='',x51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w51,svgWidth:24,svgHeight:24})),m51='',k51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m51,svgWidth:24,svgHeight:24})),M51='',E51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M51,svgWidth:24,svgHeight:24})),y51='',B51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y51,svgWidth:24,svgHeight:24})),I51='',S51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I51,svgWidth:24,svgHeight:24})),_51='',Q51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_51,svgWidth:24,svgHeight:24})),R51='',b51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R51,svgWidth:24,svgHeight:24})),D51='',T51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D51,svgWidth:24,svgHeight:24})),H51='',P51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H51,svgWidth:24,svgHeight:24})),N51='',j51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N51,svgWidth:24,svgHeight:24})),U51='',F51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U51,svgWidth:24,svgHeight:24})),W51='',O51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W51,svgWidth:24,svgHeight:24})),G51='',z51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G51,svgWidth:24,svgHeight:24})),V51='',$51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V51,svgWidth:24,svgHeight:24})),Y51='',J51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y51,svgWidth:24,svgHeight:24})),X51='',K51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X51,svgWidth:24,svgHeight:24})),q51='',Z51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q51,svgWidth:24,svgHeight:24})),e31='',t31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e31,svgWidth:24,svgHeight:24})),n31='',C31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n31,svgWidth:24,svgHeight:24})),r31='',i31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r31,svgWidth:24,svgHeight:24})),o31='',s31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o31,svgWidth:24,svgHeight:24})),l31='',a31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l31,svgWidth:24,svgHeight:24})),c31='',u31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c31,svgWidth:24,svgHeight:24})),d31='',h31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d31,svgWidth:24,svgHeight:24})),f31='',g31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f31,svgWidth:24,svgHeight:24})),A31='',p31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A31,svgWidth:24,svgHeight:24})),L31='',v31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L31,svgWidth:24,svgHeight:24})),w31='',x31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w31,svgWidth:24,svgHeight:24})),m31='',k31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m31,svgWidth:24,svgHeight:24})),M31='',E31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M31,svgWidth:24,svgHeight:24})),y31='',B31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y31,svgWidth:24,svgHeight:24})),I31='',S31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I31,svgWidth:24,svgHeight:24})),_31='',Q31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_31,svgWidth:24,svgHeight:24})),R31='',b31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R31,svgWidth:24,svgHeight:24})),D31='',T31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D31,svgWidth:24,svgHeight:24})),H31='',P31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H31,svgWidth:24,svgHeight:24})),N31='',j31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N31,svgWidth:24,svgHeight:24})),U31='',F31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U31,svgWidth:24,svgHeight:24})),W31='',O31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W31,svgWidth:24,svgHeight:24})),G31='',z31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G31,svgWidth:24,svgHeight:24})),V31='',$31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V31,svgWidth:24,svgHeight:24})),Y31='',J31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y31,svgWidth:24,svgHeight:24})),X31='',K31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X31,svgWidth:24,svgHeight:24})),q31='',Z31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q31,svgWidth:24,svgHeight:24})),e71='',t71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:e71,svgWidth:24,svgHeight:24})),n71='',C71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:n71,svgWidth:24,svgHeight:24})),r71='',i71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:r71,svgWidth:24,svgHeight:24})),o71='',s71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:o71,svgWidth:24,svgHeight:24})),l71='',a71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:l71,svgWidth:24,svgHeight:24})),c71='',u71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:c71,svgWidth:24,svgHeight:24})),d71='',h71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:d71,svgWidth:24,svgHeight:24})),f71='',g71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:f71,svgWidth:24,svgHeight:24})),A71='',p71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:A71,svgWidth:24,svgHeight:24})),L71='',v71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L71,svgWidth:24,svgHeight:24})),w71='',x71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:w71,svgWidth:24,svgHeight:24})),m71='',k71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:m71,svgWidth:24,svgHeight:24})),M71='',E71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:M71,svgWidth:24,svgHeight:24})),y71='',B71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:y71,svgWidth:24,svgHeight:24})),I71='',S71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:I71,svgWidth:24,svgHeight:24})),_71='',Q71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_71,svgWidth:24,svgHeight:24})),R71='',b71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:R71,svgWidth:24,svgHeight:24})),D71='',T71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:D71,svgWidth:24,svgHeight:24})),H71='',P71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:H71,svgWidth:24,svgHeight:24})),N71='',j71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:N71,svgWidth:24,svgHeight:24})),U71='',F71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:U71,svgWidth:24,svgHeight:24})),W71='',O71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:W71,svgWidth:24,svgHeight:24})),G71='',z71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:G71,svgWidth:24,svgHeight:24})),V71='',$71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:V71,svgWidth:24,svgHeight:24})),Y71='',J71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Y71,svgWidth:24,svgHeight:24})),X71='',K71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:X71,svgWidth:24,svgHeight:24})),q71='',Z71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:q71,svgWidth:24,svgHeight:24})),ee1='',te1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ee1,svgWidth:24,svgHeight:24})),ne1='',Ce1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ne1,svgWidth:24,svgHeight:24})),re1='',ie1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:re1,svgWidth:24,svgHeight:24})),oe1='',se1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oe1,svgWidth:24,svgHeight:24})),le1='',ae1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:le1,svgWidth:24,svgHeight:24})),ce1='',ue1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ce1,svgWidth:24,svgHeight:24})),de1='',he1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:de1,svgWidth:24,svgHeight:24})),fe1='',ge1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fe1,svgWidth:24,svgHeight:24})),Ae1='',pe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ae1,svgWidth:24,svgHeight:24})),Le1='',ve1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Le1,svgWidth:24,svgHeight:24})),we1='',xe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:we1,svgWidth:24,svgHeight:24})),me1='',ke1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:me1,svgWidth:24,svgHeight:24})),Me1='',Ee1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Me1,svgWidth:24,svgHeight:24})),ye1='',Be1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ye1,svgWidth:24,svgHeight:24})),Ie1='',Se1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ie1,svgWidth:24,svgHeight:24})),_e1='',Qe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_e1,svgWidth:24,svgHeight:24})),Re1='',be1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Re1,svgWidth:24,svgHeight:24})),De1='',Te1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:De1,svgWidth:24,svgHeight:24})),He1='',Pe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:He1,svgWidth:24,svgHeight:24})),Ne1='',je1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ne1,svgWidth:24,svgHeight:24})),Ue1='',Fe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ue1,svgWidth:24,svgHeight:24})),We1='',Oe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:We1,svgWidth:24,svgHeight:24})),Ge1='',ze1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ge1,svgWidth:24,svgHeight:24})),Ve1='',$e1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ve1,svgWidth:24,svgHeight:24})),Ye1='',Je1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ye1,svgWidth:24,svgHeight:24})),Xe1='',Ke1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xe1,svgWidth:24,svgHeight:24})),qe1='',Ze1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qe1,svgWidth:24,svgHeight:24})),et1='',tt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:et1,svgWidth:24,svgHeight:24})),nt1='',Ct1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nt1,svgWidth:24,svgHeight:24})),rt1='',it1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rt1,svgWidth:24,svgHeight:24})),ot1='',st1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ot1,svgWidth:24,svgHeight:24})),lt1='',at1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lt1,svgWidth:24,svgHeight:24})),ct1='',ut1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ct1,svgWidth:24,svgHeight:24})),dt1='',ht1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dt1,svgWidth:24,svgHeight:24})),ft1='',gt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ft1,svgWidth:24,svgHeight:24})),At1='',pt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:At1,svgWidth:24,svgHeight:24})),Lt1='',vt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lt1,svgWidth:24,svgHeight:24})),wt1='',xt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wt1,svgWidth:24,svgHeight:24})),mt1='',kt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mt1,svgWidth:24,svgHeight:24})),Mt1='',Et1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mt1,svgWidth:24,svgHeight:24})),yt1='',Bt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yt1,svgWidth:24,svgHeight:24})),It1='',St1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:It1,svgWidth:24,svgHeight:24})),_t1='',Qt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_t1,svgWidth:24,svgHeight:24})),Rt1='',bt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rt1,svgWidth:24,svgHeight:24})),Dt1='',Tt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dt1,svgWidth:24,svgHeight:24})),Ht1='',Pt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ht1,svgWidth:24,svgHeight:24})),Nt1='',jt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nt1,svgWidth:24,svgHeight:24})),Ut1='',Ft1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ut1,svgWidth:24,svgHeight:24})),Wt1='',Ot1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wt1,svgWidth:24,svgHeight:24})),Gt1='',zt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gt1,svgWidth:24,svgHeight:24})),Vt1='',$t1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vt1,svgWidth:24,svgHeight:24})),Yt1='',Jt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yt1,svgWidth:24,svgHeight:24})),Xt1='',Kt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xt1,svgWidth:24,svgHeight:24})),qt1='',Zt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qt1,svgWidth:24,svgHeight:24})),en1='',tn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:en1,svgWidth:24,svgHeight:24})),nn1='',Cn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nn1,svgWidth:24,svgHeight:24})),rn1='',in1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rn1,svgWidth:24,svgHeight:24})),on1='',sn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:on1,svgWidth:24,svgHeight:24})),ln1='',an1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ln1,svgWidth:24,svgHeight:24})),cn1='',un1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cn1,svgWidth:24,svgHeight:24})),dn1='',hn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dn1,svgWidth:24,svgHeight:24})),fn1='',gn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fn1,svgWidth:24,svgHeight:24})),An1='',pn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:An1,svgWidth:24,svgHeight:24})),Ln1='',vn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ln1,svgWidth:24,svgHeight:24})),wn1='',xn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wn1,svgWidth:24,svgHeight:24})),mn1='',kn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mn1,svgWidth:24,svgHeight:24})),Mn1='',En1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mn1,svgWidth:24,svgHeight:24})),yn1='',Bn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yn1,svgWidth:24,svgHeight:24})),In1='',Sn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:In1,svgWidth:24,svgHeight:24})),_n1='',Qn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_n1,svgWidth:24,svgHeight:24})),Rn1='',bn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rn1,svgWidth:24,svgHeight:24})),Dn1='',Tn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dn1,svgWidth:24,svgHeight:24})),Hn1='',Pn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hn1,svgWidth:24,svgHeight:24})),Nn1='',jn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nn1,svgWidth:24,svgHeight:24})),Un1='',Fn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Un1,svgWidth:24,svgHeight:24})),Wn1='',On1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wn1,svgWidth:24,svgHeight:24})),Gn1='',zn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gn1,svgWidth:24,svgHeight:24})),Vn1='',$n1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vn1,svgWidth:24,svgHeight:24})),Yn1='',Jn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yn1,svgWidth:24,svgHeight:24})),Xn1='',Kn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xn1,svgWidth:24,svgHeight:24})),qn1='',Zn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qn1,svgWidth:24,svgHeight:24})),eC1='',tC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eC1,svgWidth:24,svgHeight:24})),nC1='',CC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nC1,svgWidth:24,svgHeight:24})),rC1='',iC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rC1,svgWidth:24,svgHeight:24})),oC1='',sC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oC1,svgWidth:24,svgHeight:24})),lC1='',aC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lC1,svgWidth:24,svgHeight:24})),cC1='',uC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cC1,svgWidth:24,svgHeight:24})),dC1='',hC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dC1,svgWidth:24,svgHeight:24})),fC1='',gC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fC1,svgWidth:24,svgHeight:24})),AC1='',pC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AC1,svgWidth:24,svgHeight:24})),LC1='',vC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LC1,svgWidth:24,svgHeight:24})),wC1='',xC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wC1,svgWidth:24,svgHeight:24})),mC1='',kC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mC1,svgWidth:24,svgHeight:24})),MC1='',EC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MC1,svgWidth:24,svgHeight:24})),yC1='',BC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yC1,svgWidth:24,svgHeight:24})),IC1='',SC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IC1,svgWidth:24,svgHeight:24})),_C1='',QC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_C1,svgWidth:24,svgHeight:24})),RC1='',bC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RC1,svgWidth:24,svgHeight:24})),DC1='',TC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DC1,svgWidth:24,svgHeight:24})),HC1='',PC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HC1,svgWidth:24,svgHeight:24})),NC1='',jC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NC1,svgWidth:24,svgHeight:24})),UC1='',FC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UC1,svgWidth:24,svgHeight:24})),WC1='',OC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WC1,svgWidth:24,svgHeight:24})),GC1='',zC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GC1,svgWidth:24,svgHeight:24})),VC1='',$C1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VC1,svgWidth:24,svgHeight:24})),YC1='',JC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YC1,svgWidth:24,svgHeight:24})),XC1='',KC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XC1,svgWidth:24,svgHeight:24})),qC1='',ZC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qC1,svgWidth:24,svgHeight:24})),er1='',tr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:er1,svgWidth:24,svgHeight:24})),nr1='',Cr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nr1,svgWidth:24,svgHeight:24})),rr1='',ir1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rr1,svgWidth:24,svgHeight:24})),or1='',sr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:or1,svgWidth:24,svgHeight:24})),lr1='',ar1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lr1,svgWidth:24,svgHeight:24})),cr1='',ur1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cr1,svgWidth:24,svgHeight:24})),dr1='',hr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dr1,svgWidth:24,svgHeight:24})),fr1='',gr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fr1,svgWidth:24,svgHeight:24})),Ar1='',pr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ar1,svgWidth:24,svgHeight:24})),Lr1='',vr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lr1,svgWidth:24,svgHeight:24})),wr1='',xr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wr1,svgWidth:24,svgHeight:24})),mr1='',kr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mr1,svgWidth:24,svgHeight:24})),Mr1='',Er1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mr1,svgWidth:24,svgHeight:24})),yr1='',Br1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yr1,svgWidth:24,svgHeight:24})),Ir1='',Sr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ir1,svgWidth:24,svgHeight:24})),_r1='',Qr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_r1,svgWidth:24,svgHeight:24})),Rr1='',br1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rr1,svgWidth:24,svgHeight:24})),Dr1='',Tr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dr1,svgWidth:24,svgHeight:24})),Hr1='',Pr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hr1,svgWidth:24,svgHeight:24})),Nr1='',jr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nr1,svgWidth:24,svgHeight:24})),Ur1='',Fr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ur1,svgWidth:24,svgHeight:24})),Wr1='',Or1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wr1,svgWidth:24,svgHeight:24})),Gr1='',zr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gr1,svgWidth:24,svgHeight:24})),Vr1='',$r1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vr1,svgWidth:24,svgHeight:24})),Yr1='',Jr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yr1,svgWidth:24,svgHeight:24})),Xr1='',Kr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xr1,svgWidth:24,svgHeight:24})),qr1='',Zr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qr1,svgWidth:24,svgHeight:24})),ei1='',ti1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ei1,svgWidth:24,svgHeight:24})),ni1='',Ci1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ni1,svgWidth:24,svgHeight:24})),ri1='',ii1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ri1,svgWidth:24,svgHeight:24})),oi1='',si1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oi1,svgWidth:24,svgHeight:24})),li1='',ai1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:li1,svgWidth:24,svgHeight:24})),ci1='',ui1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ci1,svgWidth:24,svgHeight:24})),di1='',hi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:di1,svgWidth:24,svgHeight:24})),fi1='',gi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fi1,svgWidth:24,svgHeight:24})),Ai1='',pi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ai1,svgWidth:24,svgHeight:24})),Li1='',vi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Li1,svgWidth:24,svgHeight:24})),wi1='',xi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wi1,svgWidth:24,svgHeight:24})),mi1='',ki1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mi1,svgWidth:24,svgHeight:24})),Mi1='',Ei1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mi1,svgWidth:24,svgHeight:24})),yi1='',Bi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yi1,svgWidth:24,svgHeight:24})),Ii1='',Si1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ii1,svgWidth:24,svgHeight:24})),_i1='',Qi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_i1,svgWidth:24,svgHeight:24})),Ri1='',bi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ri1,svgWidth:24,svgHeight:24})),Di1='',Ti1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Di1,svgWidth:24,svgHeight:24})),Hi1='',Pi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hi1,svgWidth:24,svgHeight:24})),Ni1='',ji1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ni1,svgWidth:24,svgHeight:24})),Ui1='',Fi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ui1,svgWidth:24,svgHeight:24})),Wi1='',Oi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wi1,svgWidth:24,svgHeight:24})),Gi1='',zi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gi1,svgWidth:24,svgHeight:24})),Vi1='',$i1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vi1,svgWidth:24,svgHeight:24})),Yi1='',Ji1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yi1,svgWidth:24,svgHeight:24})),Xi1='',Ki1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xi1,svgWidth:24,svgHeight:24})),qi1='',Zi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qi1,svgWidth:24,svgHeight:24})),eo1='',to1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eo1,svgWidth:24,svgHeight:24})),no1='',Co1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:no1,svgWidth:24,svgHeight:24})),ro1='',io1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ro1,svgWidth:24,svgHeight:24})),oo1='',so1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oo1,svgWidth:24,svgHeight:24})),lo1='',ao1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lo1,svgWidth:24,svgHeight:24})),co1='',uo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:co1,svgWidth:24,svgHeight:24})),do1='',ho1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:do1,svgWidth:24,svgHeight:24})),fo1='',go1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fo1,svgWidth:24,svgHeight:24})),Ao1='',po1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ao1,svgWidth:24,svgHeight:24})),Lo1='',vo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lo1,svgWidth:24,svgHeight:24})),wo1='',xo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wo1,svgWidth:24,svgHeight:24})),mo1='',ko1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mo1,svgWidth:24,svgHeight:24})),Mo1='',Eo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mo1,svgWidth:24,svgHeight:24})),yo1='',Bo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yo1,svgWidth:24,svgHeight:24})),Io1='',So1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Io1,svgWidth:24,svgHeight:24})),_o1='',Qo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_o1,svgWidth:24,svgHeight:24})),Ro1='',bo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ro1,svgWidth:24,svgHeight:24})),Do1='',To1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Do1,svgWidth:24,svgHeight:24})),Ho1='',Po1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ho1,svgWidth:24,svgHeight:24})),No1='',jo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:No1,svgWidth:24,svgHeight:24})),Uo1='',Fo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uo1,svgWidth:24,svgHeight:24})),Wo1='',Oo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wo1,svgWidth:24,svgHeight:24})),Go1='',zo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Go1,svgWidth:24,svgHeight:24})),Vo1='',$o1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vo1,svgWidth:24,svgHeight:24})),Yo1='',Jo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yo1,svgWidth:24,svgHeight:24})),Xo1='',Ko1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xo1,svgWidth:24,svgHeight:24})),qo1='',Zo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qo1,svgWidth:24,svgHeight:24})),es1='',ts1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:es1,svgWidth:24,svgHeight:24})),ns1='',Cs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ns1,svgWidth:24,svgHeight:24})),rs1='',is1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rs1,svgWidth:24,svgHeight:24})),os1='',ss1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:os1,svgWidth:24,svgHeight:24})),ls1='',as1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ls1,svgWidth:24,svgHeight:24})),cs1='',us1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cs1,svgWidth:24,svgHeight:24})),ds1='',hs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ds1,svgWidth:24,svgHeight:24})),fs1='',gs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fs1,svgWidth:24,svgHeight:24})),As1='',ps1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:As1,svgWidth:24,svgHeight:24})),Ls1='',vs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ls1,svgWidth:24,svgHeight:24})),ws1='',xs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ws1,svgWidth:24,svgHeight:24})),ms1='',ks1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ms1,svgWidth:24,svgHeight:24})),Ms1='',Es1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ms1,svgWidth:24,svgHeight:24})),ys1='',Bs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ys1,svgWidth:24,svgHeight:24})),Is1='',Ss1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Is1,svgWidth:24,svgHeight:24})),_s1='',Qs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_s1,svgWidth:24,svgHeight:24})),Rs1='',bs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rs1,svgWidth:24,svgHeight:24})),Ds1='',Ts1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ds1,svgWidth:24,svgHeight:24})),Hs1='',Ps1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hs1,svgWidth:24,svgHeight:24})),Ns1='',js1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ns1,svgWidth:24,svgHeight:24})),Us1='',Fs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Us1,svgWidth:24,svgHeight:24})),Ws1='',Os1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ws1,svgWidth:24,svgHeight:24})),Gs1='',zs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gs1,svgWidth:24,svgHeight:24})),Vs1='',$s1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vs1,svgWidth:24,svgHeight:24})),Ys1='',Js1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ys1,svgWidth:24,svgHeight:24})),Xs1='',Ks1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xs1,svgWidth:24,svgHeight:24})),qs1='',Zs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qs1,svgWidth:24,svgHeight:24})),el1='',tl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:el1,svgWidth:24,svgHeight:24})),nl1='',Cl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nl1,svgWidth:24,svgHeight:24})),rl1='',il1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rl1,svgWidth:24,svgHeight:24})),ol1='',sl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ol1,svgWidth:24,svgHeight:24})),ll1='',al1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ll1,svgWidth:24,svgHeight:24})),cl1='',ul1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cl1,svgWidth:24,svgHeight:24})),dl1='',hl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dl1,svgWidth:24,svgHeight:24})),fl1='',gl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fl1,svgWidth:24,svgHeight:24})),Al1='',pl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Al1,svgWidth:24,svgHeight:24})),Ll1='',vl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ll1,svgWidth:24,svgHeight:24})),wl1='',xl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wl1,svgWidth:24,svgHeight:24})),ml1='',kl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ml1,svgWidth:24,svgHeight:24})),Ml1='',El1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ml1,svgWidth:24,svgHeight:24})),yl1='',Bl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yl1,svgWidth:24,svgHeight:24})),Il1='',Sl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Il1,svgWidth:24,svgHeight:24})),_l1='',Ql1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_l1,svgWidth:24,svgHeight:24})),Rl1='',bl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rl1,svgWidth:24,svgHeight:24})),Dl1='',Tl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dl1,svgWidth:24,svgHeight:24})),Hl1='',Pl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hl1,svgWidth:24,svgHeight:24})),Nl1='',jl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nl1,svgWidth:24,svgHeight:24})),Ul1='',Fl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ul1,svgWidth:24,svgHeight:24})),Wl1='',Ol1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wl1,svgWidth:24,svgHeight:24})),Gl1='',zl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gl1,svgWidth:24,svgHeight:24})),Vl1='',$l1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vl1,svgWidth:24,svgHeight:24})),Yl1='',Jl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yl1,svgWidth:24,svgHeight:24})),Xl1='',Kl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xl1,svgWidth:24,svgHeight:24})),ql1='',Zl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ql1,svgWidth:24,svgHeight:24})),ea1='',ta1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ea1,svgWidth:24,svgHeight:24})),na1='',Ca1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:na1,svgWidth:24,svgHeight:24})),ra1='',ia1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ra1,svgWidth:24,svgHeight:24})),oa1='',sa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oa1,svgWidth:24,svgHeight:24})),la1='',aa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:la1,svgWidth:24,svgHeight:24})),ca1='',ua1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ca1,svgWidth:24,svgHeight:24})),da1='',ha1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:da1,svgWidth:24,svgHeight:24})),fa1='',ga1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fa1,svgWidth:24,svgHeight:24})),Aa1='',pa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Aa1,svgWidth:24,svgHeight:24})),La1='',va1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:La1,svgWidth:24,svgHeight:24})),wa1='',xa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wa1,svgWidth:24,svgHeight:24})),ma1='',ka1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ma1,svgWidth:24,svgHeight:24})),Ma1='',Ea1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ma1,svgWidth:24,svgHeight:24})),ya1='',Ba1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ya1,svgWidth:24,svgHeight:24})),Ia1='',Sa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ia1,svgWidth:24,svgHeight:24})),_a1='',Qa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_a1,svgWidth:24,svgHeight:24})),Ra1='',ba1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ra1,svgWidth:24,svgHeight:24})),Da1='',Ta1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Da1,svgWidth:24,svgHeight:24})),Ha1='',Pa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ha1,svgWidth:24,svgHeight:24})),Na1='',ja1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Na1,svgWidth:24,svgHeight:24})),Ua1='',Fa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ua1,svgWidth:24,svgHeight:24})),Wa1='',Oa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wa1,svgWidth:24,svgHeight:24})),Ga1='',za1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ga1,svgWidth:24,svgHeight:24})),Va1='',$a1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Va1,svgWidth:24,svgHeight:24})),Ya1='',Ja1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ya1,svgWidth:24,svgHeight:24})),Xa1='',Ka1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xa1,svgWidth:24,svgHeight:24})),qa1='',Za1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qa1,svgWidth:24,svgHeight:24})),ec1='',tc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ec1,svgWidth:24,svgHeight:24})),nc1='',Cc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nc1,svgWidth:24,svgHeight:24})),rc1='',ic1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rc1,svgWidth:24,svgHeight:24})),oc1='',sc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oc1,svgWidth:24,svgHeight:24})),lc1='',ac1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lc1,svgWidth:24,svgHeight:24})),cc1='',uc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cc1,svgWidth:24,svgHeight:24})),dc1='',hc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dc1,svgWidth:24,svgHeight:24})),fc1='',gc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fc1,svgWidth:24,svgHeight:24})),Ac1='',pc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ac1,svgWidth:24,svgHeight:24})),Lc1='',vc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lc1,svgWidth:24,svgHeight:24})),wc1='',xc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wc1,svgWidth:24,svgHeight:24})),mc1='',kc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mc1,svgWidth:24,svgHeight:24})),Mc1='',Ec1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mc1,svgWidth:24,svgHeight:24})),yc1='',Bc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yc1,svgWidth:24,svgHeight:24})),Ic1='',Sc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ic1,svgWidth:24,svgHeight:24})),_c1='',Qc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_c1,svgWidth:24,svgHeight:24})),Rc1='',bc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rc1,svgWidth:24,svgHeight:24})),Dc1='',Tc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dc1,svgWidth:24,svgHeight:24})),Hc1='',Pc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hc1,svgWidth:24,svgHeight:24})),Nc1='',jc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nc1,svgWidth:24,svgHeight:24})),Uc1='',Fc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uc1,svgWidth:24,svgHeight:24})),Wc1='',Oc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wc1,svgWidth:24,svgHeight:24})),Gc1='',zc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gc1,svgWidth:24,svgHeight:24})),Vc1='',$c1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vc1,svgWidth:24,svgHeight:24})),Yc1='',Jc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yc1,svgWidth:24,svgHeight:24})),Xc1='',Kc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xc1,svgWidth:24,svgHeight:24})),qc1='',Zc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qc1,svgWidth:24,svgHeight:24})),eu1='',tu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eu1,svgWidth:24,svgHeight:24})),nu1='',Cu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nu1,svgWidth:24,svgHeight:24})),ru1='',iu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ru1,svgWidth:24,svgHeight:24})),ou1='',su1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ou1,svgWidth:24,svgHeight:24})),lu1='',au1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lu1,svgWidth:24,svgHeight:24})),cu1='',uu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cu1,svgWidth:24,svgHeight:24})),du1='',hu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:du1,svgWidth:24,svgHeight:24})),fu1='',gu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fu1,svgWidth:24,svgHeight:24})),Au1='',pu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Au1,svgWidth:24,svgHeight:24})),Lu1='',vu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lu1,svgWidth:24,svgHeight:24})),wu1='',xu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wu1,svgWidth:24,svgHeight:24})),mu1='',ku1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mu1,svgWidth:24,svgHeight:24})),Mu1='',Eu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mu1,svgWidth:24,svgHeight:24})),yu1='',Bu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yu1,svgWidth:24,svgHeight:24})),Iu1='',Su1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iu1,svgWidth:24,svgHeight:24})),_u1='',Qu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_u1,svgWidth:24,svgHeight:24})),Ru1='',bu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ru1,svgWidth:24,svgHeight:24})),Du1='',Tu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Du1,svgWidth:24,svgHeight:24})),Hu1='',Pu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hu1,svgWidth:24,svgHeight:24})),Nu1='',ju1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nu1,svgWidth:24,svgHeight:24})),Uu1='',Fu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uu1,svgWidth:24,svgHeight:24})),Wu1='',Ou1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wu1,svgWidth:24,svgHeight:24})),Gu1='',zu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gu1,svgWidth:24,svgHeight:24})),Vu1='',$u1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vu1,svgWidth:24,svgHeight:24})),Yu1='',Ju1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yu1,svgWidth:24,svgHeight:24})),Xu1='',Ku1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xu1,svgWidth:24,svgHeight:24})),qu1='',Zu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qu1,svgWidth:24,svgHeight:24})),ed1='',td1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ed1,svgWidth:24,svgHeight:24})),nd1='',Cd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nd1,svgWidth:24,svgHeight:24})),rd1='',id1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rd1,svgWidth:24,svgHeight:24})),od1='',sd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:od1,svgWidth:24,svgHeight:24})),ld1='',ad1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ld1,svgWidth:24,svgHeight:24})),cd1='',ud1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cd1,svgWidth:24,svgHeight:24})),dd1='',hd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dd1,svgWidth:24,svgHeight:24})),fd1='',gd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fd1,svgWidth:24,svgHeight:24})),Ad1='',pd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ad1,svgWidth:24,svgHeight:24})),Ld1='',vd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ld1,svgWidth:24,svgHeight:24})),wd1='',xd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wd1,svgWidth:24,svgHeight:24})),md1='',kd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:md1,svgWidth:24,svgHeight:24})),Md1='',Ed1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Md1,svgWidth:24,svgHeight:24})),yd1='',Bd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yd1,svgWidth:24,svgHeight:24})),Id1='',Sd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Id1,svgWidth:24,svgHeight:24})),_d1='',Qd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_d1,svgWidth:24,svgHeight:24})),Rd1='',bd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rd1,svgWidth:24,svgHeight:24})),Dd1='',Td1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dd1,svgWidth:24,svgHeight:24})),Hd1='',Pd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hd1,svgWidth:24,svgHeight:24})),Nd1='',jd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nd1,svgWidth:24,svgHeight:24})),Ud1='',Fd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ud1,svgWidth:24,svgHeight:24})),Wd1='',Od1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wd1,svgWidth:24,svgHeight:24})),Gd1='',zd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gd1,svgWidth:24,svgHeight:24})),Vd1='',$d1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vd1,svgWidth:24,svgHeight:24})),Yd1='',Jd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yd1,svgWidth:24,svgHeight:24})),Xd1='',Kd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xd1,svgWidth:24,svgHeight:24})),qd1='',Zd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qd1,svgWidth:24,svgHeight:24})),eh1='',th1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eh1,svgWidth:24,svgHeight:24})),nh1='',Ch1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nh1,svgWidth:24,svgHeight:24})),rh1='',ih1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rh1,svgWidth:24,svgHeight:24})),oh1='',sh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oh1,svgWidth:24,svgHeight:24})),lh1='',ah1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lh1,svgWidth:24,svgHeight:24})),ch1='',uh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ch1,svgWidth:24,svgHeight:24})),dh1='',hh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dh1,svgWidth:24,svgHeight:24})),fh1='',gh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fh1,svgWidth:24,svgHeight:24})),Ah1='',ph1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ah1,svgWidth:24,svgHeight:24})),Lh1='',vh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lh1,svgWidth:24,svgHeight:24})),wh1='',xh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wh1,svgWidth:24,svgHeight:24})),mh1='',kh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mh1,svgWidth:24,svgHeight:24})),Mh1='',Eh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mh1,svgWidth:24,svgHeight:24})),yh1='',Bh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yh1,svgWidth:24,svgHeight:24})),Ih1='',Sh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ih1,svgWidth:24,svgHeight:24})),_h1='',Qh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_h1,svgWidth:24,svgHeight:24})),Rh1='',bh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rh1,svgWidth:24,svgHeight:24})),Dh1='',Th1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dh1,svgWidth:24,svgHeight:24})),Hh1='',Ph1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hh1,svgWidth:24,svgHeight:24})),Nh1='',jh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nh1,svgWidth:24,svgHeight:24})),Uh1='',Fh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uh1,svgWidth:24,svgHeight:24})),Wh1='',Oh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wh1,svgWidth:24,svgHeight:24})),Gh1='',zh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gh1,svgWidth:24,svgHeight:24})),Vh1='',$h1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vh1,svgWidth:24,svgHeight:24})),Yh1='',Jh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yh1,svgWidth:24,svgHeight:24})),Xh1='',Kh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xh1,svgWidth:24,svgHeight:24})),qh1='',Zh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qh1,svgWidth:24,svgHeight:24})),ef1='',tf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ef1,svgWidth:24,svgHeight:24})),nf1='',Cf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nf1,svgWidth:24,svgHeight:24})),rf1='',if1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rf1,svgWidth:24,svgHeight:24})),of1='',sf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:of1,svgWidth:24,svgHeight:24})),lf1='',af1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lf1,svgWidth:24,svgHeight:24})),cf1='',uf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cf1,svgWidth:24,svgHeight:24})),df1='',hf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:df1,svgWidth:24,svgHeight:24})),ff1='',gf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ff1,svgWidth:24,svgHeight:24})),Af1='',pf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Af1,svgWidth:24,svgHeight:24})),Lf1='',vf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lf1,svgWidth:24,svgHeight:24})),wf1='',xf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wf1,svgWidth:24,svgHeight:24})),mf1='',kf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mf1,svgWidth:24,svgHeight:24})),Mf1='',Ef1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mf1,svgWidth:24,svgHeight:24})),yf1='',Bf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yf1,svgWidth:24,svgHeight:24})),If1='',Sf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:If1,svgWidth:24,svgHeight:24})),_f1='',Qf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_f1,svgWidth:24,svgHeight:24})),Rf1='',bf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rf1,svgWidth:24,svgHeight:24})),Df1='',Tf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Df1,svgWidth:24,svgHeight:24})),Hf1='',Pf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hf1,svgWidth:24,svgHeight:24})),Nf1='',jf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nf1,svgWidth:24,svgHeight:24})),Uf1='',Ff1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uf1,svgWidth:24,svgHeight:24})),Wf1='',Of1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wf1,svgWidth:24,svgHeight:24})),Gf1='',zf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gf1,svgWidth:24,svgHeight:24})),Vf1='',$f1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vf1,svgWidth:24,svgHeight:24})),Yf1='',Jf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yf1,svgWidth:24,svgHeight:24})),Xf1='',Kf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xf1,svgWidth:24,svgHeight:24})),qf1='',Zf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qf1,svgWidth:24,svgHeight:24})),eg1='',tg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eg1,svgWidth:24,svgHeight:24})),ng1='',Cg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ng1,svgWidth:24,svgHeight:24})),rg1='',ig1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rg1,svgWidth:24,svgHeight:24})),og1='',sg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:og1,svgWidth:24,svgHeight:24})),lg1='',ag1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lg1,svgWidth:24,svgHeight:24})),cg1='',ug1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cg1,svgWidth:24,svgHeight:24})),dg1='',hg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dg1,svgWidth:24,svgHeight:24})),fg1='',gg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fg1,svgWidth:24,svgHeight:24})),Ag1='',pg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ag1,svgWidth:24,svgHeight:24})),Lg1='',vg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lg1,svgWidth:24,svgHeight:24})),wg1='',xg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wg1,svgWidth:24,svgHeight:24})),mg1='',kg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mg1,svgWidth:24,svgHeight:24})),Mg1='',Eg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mg1,svgWidth:24,svgHeight:24})),yg1='',Bg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yg1,svgWidth:24,svgHeight:24})),Ig1='',Sg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ig1,svgWidth:24,svgHeight:24})),_g1='',Qg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_g1,svgWidth:24,svgHeight:24})),Rg1='',bg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rg1,svgWidth:24,svgHeight:24})),Dg1='',Tg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dg1,svgWidth:24,svgHeight:24})),Hg1='',Pg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hg1,svgWidth:24,svgHeight:24})),Ng1='',jg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ng1,svgWidth:24,svgHeight:24})),Ug1='',Fg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ug1,svgWidth:24,svgHeight:24})),Wg1='',Og1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wg1,svgWidth:24,svgHeight:24})),Gg1='',zg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gg1,svgWidth:24,svgHeight:24})),Vg1='',$g1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vg1,svgWidth:24,svgHeight:24})),Yg1='',Jg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yg1,svgWidth:24,svgHeight:24})),Xg1='',Kg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xg1,svgWidth:24,svgHeight:24})),qg1='',Zg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qg1,svgWidth:24,svgHeight:24})),eA1='',tA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eA1,svgWidth:24,svgHeight:24})),nA1='',CA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nA1,svgWidth:24,svgHeight:24})),rA1='',iA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rA1,svgWidth:24,svgHeight:24})),oA1='',sA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oA1,svgWidth:24,svgHeight:24})),lA1='',aA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lA1,svgWidth:24,svgHeight:24})),cA1='',uA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cA1,svgWidth:24,svgHeight:24})),dA1='',hA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dA1,svgWidth:24,svgHeight:24})),fA1='',gA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fA1,svgWidth:24,svgHeight:24})),AA1='',pA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AA1,svgWidth:24,svgHeight:24})),LA1='',vA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LA1,svgWidth:24,svgHeight:24})),wA1='',xA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wA1,svgWidth:24,svgHeight:24})),mA1='',kA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mA1,svgWidth:24,svgHeight:24})),MA1='',EA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MA1,svgWidth:24,svgHeight:24})),yA1='',BA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yA1,svgWidth:24,svgHeight:24})),IA1='',SA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IA1,svgWidth:24,svgHeight:24})),_A1='',QA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_A1,svgWidth:24,svgHeight:24})),RA1='',bA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RA1,svgWidth:24,svgHeight:24})),DA1='',TA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DA1,svgWidth:24,svgHeight:24})),HA1='',PA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HA1,svgWidth:24,svgHeight:24})),NA1='',jA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NA1,svgWidth:24,svgHeight:24})),UA1='',FA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UA1,svgWidth:24,svgHeight:24})),WA1='',OA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WA1,svgWidth:24,svgHeight:24})),GA1='',zA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GA1,svgWidth:24,svgHeight:24})),VA1='',$A1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VA1,svgWidth:24,svgHeight:24})),YA1='',JA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YA1,svgWidth:24,svgHeight:24})),XA1='',KA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XA1,svgWidth:24,svgHeight:24})),qA1='',ZA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qA1,svgWidth:24,svgHeight:24})),ep1='',tp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ep1,svgWidth:24,svgHeight:24})),np1='',Cp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:np1,svgWidth:24,svgHeight:24})),rp1='',ip1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rp1,svgWidth:24,svgHeight:24})),op1='',sp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:op1,svgWidth:24,svgHeight:24})),lp1='',ap1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lp1,svgWidth:24,svgHeight:24})),cp1='',up1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cp1,svgWidth:24,svgHeight:24})),dp1='',hp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dp1,svgWidth:24,svgHeight:24})),fp1='',gp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fp1,svgWidth:24,svgHeight:24})),Ap1='',pp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ap1,svgWidth:24,svgHeight:24})),Lp1='',vp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lp1,svgWidth:24,svgHeight:24})),wp1='',xp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wp1,svgWidth:24,svgHeight:24})),mp1='',kp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mp1,svgWidth:24,svgHeight:24})),Mp1='',Ep1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mp1,svgWidth:24,svgHeight:24})),yp1='',Bp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yp1,svgWidth:24,svgHeight:24})),Ip1='',Sp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ip1,svgWidth:24,svgHeight:24})),_p1='',Qp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_p1,svgWidth:24,svgHeight:24})),Rp1='',bp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rp1,svgWidth:24,svgHeight:24})),Dp1='',Tp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dp1,svgWidth:24,svgHeight:24})),Hp1='',Pp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hp1,svgWidth:24,svgHeight:24})),Np1='',jp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Np1,svgWidth:24,svgHeight:24})),Up1='',Fp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Up1,svgWidth:24,svgHeight:24})),Wp1='',Op1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wp1,svgWidth:24,svgHeight:24})),Gp1='',zp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gp1,svgWidth:24,svgHeight:24})),Vp1='',$p1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vp1,svgWidth:24,svgHeight:24})),Yp1='',Jp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yp1,svgWidth:24,svgHeight:24})),Xp1='',Kp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xp1,svgWidth:24,svgHeight:24})),qp1='',Zp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qp1,svgWidth:24,svgHeight:24})),eL1='',tL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eL1,svgWidth:24,svgHeight:24})),nL1='',CL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nL1,svgWidth:24,svgHeight:24})),rL1='',iL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rL1,svgWidth:24,svgHeight:24})),oL1='',sL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oL1,svgWidth:24,svgHeight:24})),lL1='',aL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lL1,svgWidth:24,svgHeight:24})),cL1='',uL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cL1,svgWidth:24,svgHeight:24})),dL1='',hL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dL1,svgWidth:24,svgHeight:24})),fL1='',gL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fL1,svgWidth:24,svgHeight:24})),AL1='',pL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AL1,svgWidth:24,svgHeight:24})),LL1='',vL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LL1,svgWidth:24,svgHeight:24})),wL1='',xL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wL1,svgWidth:24,svgHeight:24})),mL1='',kL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mL1,svgWidth:24,svgHeight:24})),ML1='',EL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ML1,svgWidth:24,svgHeight:24})),yL1='',BL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yL1,svgWidth:24,svgHeight:24})),IL1='',SL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IL1,svgWidth:24,svgHeight:24})),_L1='',QL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_L1,svgWidth:24,svgHeight:24})),RL1='',bL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RL1,svgWidth:24,svgHeight:24})),DL1='',TL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DL1,svgWidth:24,svgHeight:24})),HL1='',PL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HL1,svgWidth:24,svgHeight:24})),NL1='',jL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NL1,svgWidth:24,svgHeight:24})),UL1='',FL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UL1,svgWidth:24,svgHeight:24})),WL1='',OL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WL1,svgWidth:24,svgHeight:24})),GL1='',zL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GL1,svgWidth:24,svgHeight:24})),VL1='',$L1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VL1,svgWidth:24,svgHeight:24})),YL1='',JL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YL1,svgWidth:24,svgHeight:24})),XL1='',KL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XL1,svgWidth:24,svgHeight:24})),qL1='',ZL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qL1,svgWidth:24,svgHeight:24})),ev1='',tv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ev1,svgWidth:24,svgHeight:24})),nv1='',Cv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nv1,svgWidth:24,svgHeight:24})),rv1='',iv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rv1,svgWidth:24,svgHeight:24})),ov1='',sv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ov1,svgWidth:24,svgHeight:24})),lv1='',av1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lv1,svgWidth:24,svgHeight:24})),cv1='',uv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cv1,svgWidth:24,svgHeight:24})),dv1='',hv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dv1,svgWidth:24,svgHeight:24})),fv1='',gv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fv1,svgWidth:24,svgHeight:24})),Av1='',pv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Av1,svgWidth:24,svgHeight:24})),Lv1='',vv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lv1,svgWidth:24,svgHeight:24})),wv1='',xv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wv1,svgWidth:24,svgHeight:24})),mv1='',kv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mv1,svgWidth:24,svgHeight:24})),Mv1='',Ev1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mv1,svgWidth:24,svgHeight:24})),yv1='',Bv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yv1,svgWidth:24,svgHeight:24})),Iv1='',Sv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iv1,svgWidth:24,svgHeight:24})),_v1='',Qv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_v1,svgWidth:24,svgHeight:24})),Rv1='',bv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rv1,svgWidth:24,svgHeight:24})),Dv1='',Tv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dv1,svgWidth:24,svgHeight:24})),Hv1='',Pv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hv1,svgWidth:24,svgHeight:24})),Nv1='',jv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nv1,svgWidth:24,svgHeight:24})),Uv1='',Fv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uv1,svgWidth:24,svgHeight:24})),Wv1='',Ov1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wv1,svgWidth:24,svgHeight:24})),Gv1='',zv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gv1,svgWidth:24,svgHeight:24})),Vv1='',$v1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vv1,svgWidth:24,svgHeight:24})),Yv1='',Jv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yv1,svgWidth:24,svgHeight:24})),Xv1='',Kv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xv1,svgWidth:24,svgHeight:24})),qv1='',Zv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qv1,svgWidth:24,svgHeight:24})),ew1='',tw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ew1,svgWidth:24,svgHeight:24})),nw1='',Cw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nw1,svgWidth:24,svgHeight:24})),rw1='',iw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rw1,svgWidth:24,svgHeight:24})),ow1='',sw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ow1,svgWidth:24,svgHeight:24})),lw1='',aw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lw1,svgWidth:24,svgHeight:24})),cw1='',uw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cw1,svgWidth:24,svgHeight:24})),dw1='',hw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dw1,svgWidth:24,svgHeight:24})),fw1='',gw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fw1,svgWidth:24,svgHeight:24})),Aw1='',pw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Aw1,svgWidth:24,svgHeight:24})),Lw1='',vw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lw1,svgWidth:24,svgHeight:24})),ww1='',xw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ww1,svgWidth:24,svgHeight:24})),mw1='',kw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mw1,svgWidth:24,svgHeight:24})),Mw1='',Ew1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mw1,svgWidth:24,svgHeight:24})),yw1='',Bw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yw1,svgWidth:24,svgHeight:24})),Iw1='',Sw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iw1,svgWidth:24,svgHeight:24})),_w1='',Qw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_w1,svgWidth:24,svgHeight:24})),Rw1='',bw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rw1,svgWidth:24,svgHeight:24})),Dw1='',Tw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dw1,svgWidth:24,svgHeight:24})),Hw1='',Pw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hw1,svgWidth:24,svgHeight:24})),Nw1='',jw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nw1,svgWidth:24,svgHeight:24})),Uw1='',Fw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uw1,svgWidth:24,svgHeight:24})),Ww1='',Ow1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ww1,svgWidth:24,svgHeight:24})),Gw1='',zw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gw1,svgWidth:24,svgHeight:24})),Vw1='',$w1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vw1,svgWidth:24,svgHeight:24})),Yw1='',Jw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yw1,svgWidth:24,svgHeight:24})),Xw1='',Kw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xw1,svgWidth:24,svgHeight:24})),qw1='',Zw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qw1,svgWidth:24,svgHeight:24})),ex1='',tx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ex1,svgWidth:24,svgHeight:24})),nx1='',Cx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nx1,svgWidth:24,svgHeight:24})),rx1='',ix1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rx1,svgWidth:24,svgHeight:24})),ox1='',sx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ox1,svgWidth:24,svgHeight:24})),lx1='',ax1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lx1,svgWidth:24,svgHeight:24})),cx1='',ux1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cx1,svgWidth:24,svgHeight:24})),dx1='',hx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dx1,svgWidth:24,svgHeight:24})),fx1='',gx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fx1,svgWidth:24,svgHeight:24})),Ax1='',px1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ax1,svgWidth:24,svgHeight:24})),Lx1='',vx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lx1,svgWidth:24,svgHeight:24})),wx1='',xx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wx1,svgWidth:24,svgHeight:24})),mx1='',kx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mx1,svgWidth:24,svgHeight:24})),Mx1='',Ex1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mx1,svgWidth:24,svgHeight:24})),yx1='',Bx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yx1,svgWidth:24,svgHeight:24})),Ix1='',Sx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ix1,svgWidth:24,svgHeight:24})),_x1='',Qx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_x1,svgWidth:24,svgHeight:24})),Rx1='',bx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rx1,svgWidth:24,svgHeight:24})),Dx1='',Tx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dx1,svgWidth:24,svgHeight:24})),Hx1='',Px1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hx1,svgWidth:24,svgHeight:24})),Nx1='',jx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nx1,svgWidth:24,svgHeight:24})),Ux1='',Fx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ux1,svgWidth:24,svgHeight:24})),Wx1='',Ox1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wx1,svgWidth:24,svgHeight:24})),Gx1='',zx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gx1,svgWidth:24,svgHeight:24})),Vx1='',$x1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vx1,svgWidth:24,svgHeight:24})),Yx1='',Jx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yx1,svgWidth:24,svgHeight:24})),Xx1='',Kx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xx1,svgWidth:24,svgHeight:24})),qx1='',Zx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qx1,svgWidth:24,svgHeight:24})),em1='',tm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:em1,svgWidth:24,svgHeight:24})),nm1='',Cm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nm1,svgWidth:24,svgHeight:24})),rm1='',im1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rm1,svgWidth:24,svgHeight:24})),om1='',sm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:om1,svgWidth:24,svgHeight:24})),lm1='',am1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lm1,svgWidth:24,svgHeight:24})),cm1='',um1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cm1,svgWidth:24,svgHeight:24})),dm1='',hm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dm1,svgWidth:24,svgHeight:24})),fm1='',gm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fm1,svgWidth:24,svgHeight:24})),Am1='',pm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Am1,svgWidth:24,svgHeight:24})),Lm1='',vm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lm1,svgWidth:24,svgHeight:24})),wm1='',xm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wm1,svgWidth:24,svgHeight:24})),mm1='',km1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mm1,svgWidth:24,svgHeight:24})),Mm1='',Em1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mm1,svgWidth:24,svgHeight:24})),ym1='',Bm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ym1,svgWidth:24,svgHeight:24})),Im1='',Sm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Im1,svgWidth:24,svgHeight:24})),_m1='',Qm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_m1,svgWidth:24,svgHeight:24})),Rm1='',bm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rm1,svgWidth:24,svgHeight:24})),Dm1='',Tm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dm1,svgWidth:24,svgHeight:24})),Hm1='',Pm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hm1,svgWidth:24,svgHeight:24})),Nm1='',jm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nm1,svgWidth:24,svgHeight:24})),Um1='',Fm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Um1,svgWidth:24,svgHeight:24})),Wm1='',Om1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wm1,svgWidth:24,svgHeight:24})),Gm1='',zm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gm1,svgWidth:24,svgHeight:24})),Vm1='',$m1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vm1,svgWidth:24,svgHeight:24})),Ym1='',Jm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ym1,svgWidth:24,svgHeight:24})),Xm1='',Km1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xm1,svgWidth:24,svgHeight:24})),qm1='',Zm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qm1,svgWidth:24,svgHeight:24})),ek1='',tk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ek1,svgWidth:24,svgHeight:24})),nk1='',Ck1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nk1,svgWidth:24,svgHeight:24})),rk1='',ik1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rk1,svgWidth:24,svgHeight:24})),ok1='',sk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ok1,svgWidth:24,svgHeight:24})),lk1='',ak1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lk1,svgWidth:24,svgHeight:24})),ck1='',uk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ck1,svgWidth:24,svgHeight:24})),dk1='',hk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dk1,svgWidth:24,svgHeight:24})),fk1='',gk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fk1,svgWidth:24,svgHeight:24})),Ak1='',pk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ak1,svgWidth:24,svgHeight:24})),Lk1='',vk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lk1,svgWidth:24,svgHeight:24})),wk1='',xk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wk1,svgWidth:24,svgHeight:24})),mk1='',kk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mk1,svgWidth:24,svgHeight:24})),Mk1='',Ek1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Mk1,svgWidth:24,svgHeight:24})),yk1='',Bk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yk1,svgWidth:24,svgHeight:24})),Ik1='',Sk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ik1,svgWidth:24,svgHeight:24})),_k1='',Qk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_k1,svgWidth:24,svgHeight:24})),Rk1='',bk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Rk1,svgWidth:24,svgHeight:24})),Dk1='',Tk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dk1,svgWidth:24,svgHeight:24})),Hk1='',Pk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hk1,svgWidth:24,svgHeight:24})),Nk1='',jk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Nk1,svgWidth:24,svgHeight:24})),Uk1='',Fk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uk1,svgWidth:24,svgHeight:24})),Wk1='',Ok1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wk1,svgWidth:24,svgHeight:24})),Gk1='',zk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gk1,svgWidth:24,svgHeight:24})),Vk1='',$k1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vk1,svgWidth:24,svgHeight:24})),Yk1='',Jk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yk1,svgWidth:24,svgHeight:24})),Xk1='',Kk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xk1,svgWidth:24,svgHeight:24})),qk1='',Zk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qk1,svgWidth:24,svgHeight:24})),eM1='',tM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eM1,svgWidth:24,svgHeight:24})),nM1='',CM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nM1,svgWidth:24,svgHeight:24})),rM1='',iM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rM1,svgWidth:24,svgHeight:24})),oM1='',sM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oM1,svgWidth:24,svgHeight:24})),lM1='',aM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lM1,svgWidth:24,svgHeight:24})),cM1='',uM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cM1,svgWidth:24,svgHeight:24})),dM1='',hM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dM1,svgWidth:24,svgHeight:24})),fM1='',gM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fM1,svgWidth:24,svgHeight:24})),AM1='',pM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AM1,svgWidth:24,svgHeight:24})),LM1='',vM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LM1,svgWidth:24,svgHeight:24})),wM1='',xM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wM1,svgWidth:24,svgHeight:24})),mM1='',kM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mM1,svgWidth:24,svgHeight:24})),MM1='',EM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MM1,svgWidth:24,svgHeight:24})),yM1='',BM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yM1,svgWidth:24,svgHeight:24})),IM1='',SM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IM1,svgWidth:24,svgHeight:24})),_M1='',QM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_M1,svgWidth:24,svgHeight:24})),RM1='',bM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RM1,svgWidth:24,svgHeight:24})),DM1='',TM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DM1,svgWidth:24,svgHeight:24})),HM1='',PM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HM1,svgWidth:24,svgHeight:24})),NM1='',jM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NM1,svgWidth:24,svgHeight:24})),UM1='',FM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UM1,svgWidth:24,svgHeight:24})),WM1='',OM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WM1,svgWidth:24,svgHeight:24})),GM1='',zM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GM1,svgWidth:24,svgHeight:24})),VM1='',$M1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VM1,svgWidth:24,svgHeight:24})),YM1='',JM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YM1,svgWidth:24,svgHeight:24})),XM1='',KM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XM1,svgWidth:24,svgHeight:24})),qM1='',ZM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qM1,svgWidth:24,svgHeight:24})),eE1='',tE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eE1,svgWidth:24,svgHeight:24})),nE1='',CE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nE1,svgWidth:24,svgHeight:24})),rE1='',iE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rE1,svgWidth:24,svgHeight:24})),oE1='',sE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oE1,svgWidth:24,svgHeight:24})),lE1='',aE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lE1,svgWidth:24,svgHeight:24})),cE1='',uE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cE1,svgWidth:24,svgHeight:24})),dE1='',hE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dE1,svgWidth:24,svgHeight:24})),fE1='',gE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fE1,svgWidth:24,svgHeight:24})),AE1='',pE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AE1,svgWidth:24,svgHeight:24})),LE1='',vE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LE1,svgWidth:24,svgHeight:24})),wE1='',xE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wE1,svgWidth:24,svgHeight:24})),mE1='',kE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mE1,svgWidth:24,svgHeight:24})),ME1='',EE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ME1,svgWidth:24,svgHeight:24})),yE1='',BE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yE1,svgWidth:24,svgHeight:24})),IE1='',SE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IE1,svgWidth:24,svgHeight:24})),_E1='',QE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_E1,svgWidth:24,svgHeight:24})),RE1='',bE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RE1,svgWidth:24,svgHeight:24})),DE1='',TE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DE1,svgWidth:24,svgHeight:24})),HE1='',PE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HE1,svgWidth:24,svgHeight:24})),NE1='',jE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:NE1,svgWidth:24,svgHeight:24})),UE1='',FE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:UE1,svgWidth:24,svgHeight:24})),WE1='',OE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:WE1,svgWidth:24,svgHeight:24})),GE1='',zE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:GE1,svgWidth:24,svgHeight:24})),VE1='',$E1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:VE1,svgWidth:24,svgHeight:24})),YE1='',JE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:YE1,svgWidth:24,svgHeight:24})),XE1='',KE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:XE1,svgWidth:24,svgHeight:24})),qE1='',ZE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qE1,svgWidth:24,svgHeight:24})),ey1='',ty1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ey1,svgWidth:24,svgHeight:24})),ny1='',Cy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ny1,svgWidth:24,svgHeight:24})),ry1='',iy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ry1,svgWidth:24,svgHeight:24})),oy1='',sy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oy1,svgWidth:24,svgHeight:24})),ly1='',ay1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ly1,svgWidth:24,svgHeight:24})),cy1='',uy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cy1,svgWidth:24,svgHeight:24})),dy1='',hy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dy1,svgWidth:24,svgHeight:24})),fy1='',gy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fy1,svgWidth:24,svgHeight:24})),Ay1='',py1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ay1,svgWidth:24,svgHeight:24})),Ly1='',vy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ly1,svgWidth:24,svgHeight:24})),wy1='',xy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wy1,svgWidth:24,svgHeight:24})),my1='',ky1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:my1,svgWidth:24,svgHeight:24})),My1='',Ey1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:My1,svgWidth:24,svgHeight:24})),yy1='',By1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yy1,svgWidth:24,svgHeight:24})),Iy1='',Sy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Iy1,svgWidth:24,svgHeight:24})),_y1='',Qy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_y1,svgWidth:24,svgHeight:24})),Ry1='',by1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ry1,svgWidth:24,svgHeight:24})),Dy1='',Ty1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Dy1,svgWidth:24,svgHeight:24})),Hy1='',Py1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Hy1,svgWidth:24,svgHeight:24})),Ny1='',jy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ny1,svgWidth:24,svgHeight:24})),Uy1='',Fy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Uy1,svgWidth:24,svgHeight:24})),Wy1='',Oy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Wy1,svgWidth:24,svgHeight:24})),Gy1='',zy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Gy1,svgWidth:24,svgHeight:24})),Vy1='',$y1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Vy1,svgWidth:24,svgHeight:24})),Yy1='',Jy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Yy1,svgWidth:24,svgHeight:24})),Xy1='',Ky1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Xy1,svgWidth:24,svgHeight:24})),qy1='',Zy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:qy1,svgWidth:24,svgHeight:24})),eB1='',tB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:eB1,svgWidth:24,svgHeight:24})),nB1='',CB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:nB1,svgWidth:24,svgHeight:24})),rB1='',iB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:rB1,svgWidth:24,svgHeight:24})),oB1='',sB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:oB1,svgWidth:24,svgHeight:24})),lB1='',aB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:lB1,svgWidth:24,svgHeight:24})),cB1='',uB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:cB1,svgWidth:24,svgHeight:24})),dB1='',hB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:dB1,svgWidth:24,svgHeight:24})),fB1='',gB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:fB1,svgWidth:24,svgHeight:24})),AB1='',pB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:AB1,svgWidth:24,svgHeight:24})),LB1='',vB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LB1,svgWidth:24,svgHeight:24})),wB1='',xB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:wB1,svgWidth:24,svgHeight:24})),mB1='',kB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:mB1,svgWidth:24,svgHeight:24})),MB1='',EB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:MB1,svgWidth:24,svgHeight:24})),yB1='',BB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:yB1,svgWidth:24,svgHeight:24})),IB1='',SB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:IB1,svgWidth:24,svgHeight:24})),_B1='',QB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:_B1,svgWidth:24,svgHeight:24})),RB1='',bB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:RB1,svgWidth:24,svgHeight:24})),DB1='',TB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:DB1,svgWidth:24,svgHeight:24})),HB1='',PB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:HB1,svgWidth:24,svgHeight:24})),NB1=Object.freeze(Object.defineProperty({__proto__:null,AArrowDown:JN,AArrowUp:KN,ALargeSmall:ZN,Accessibility:tj,Activity:ij,ActivitySquare:Cj,AirVent:sj,Airplay:aj,AlarmClock:vj,AlarmClockCheck:uj,AlarmClockMinus:hj,AlarmClockOff:gj,AlarmClockPlus:pj,AlarmSmoke:xj,Album:kj,AlertCircle:Ej,AlertOctagon:Bj,AlertTriangle:Sj,AlignCenter:Tj,AlignCenterHorizontal:Qj,AlignCenterVertical:bj,AlignEndHorizontal:Pj,AlignEndVertical:jj,AlignHorizontalDistributeCenter:Fj,AlignHorizontalDistributeEnd:Oj,AlignHorizontalDistributeStart:zj,AlignHorizontalJustifyCenter:$j,AlignHorizontalJustifyEnd:Jj,AlignHorizontalJustifyStart:Kj,AlignHorizontalSpaceAround:Zj,AlignHorizontalSpaceBetween:tU,AlignJustify:CU,AlignLeft:iU,AlignRight:sU,AlignStartHorizontal:aU,AlignStartVertical:uU,AlignVerticalDistributeCenter:hU,AlignVerticalDistributeEnd:gU,AlignVerticalDistributeStart:pU,AlignVerticalJustifyCenter:vU,AlignVerticalJustifyEnd:xU,AlignVerticalJustifyStart:kU,AlignVerticalSpaceAround:EU,AlignVerticalSpaceBetween:BU,Ambulance:SU,Ampersand:QU,Ampersands:bU,Anchor:TU,Angry:PU,Annoyed:jU,Antenna:FU,Anvil:OU,Aperture:zU,AppWindow:$U,Apple:JU,Archive:tF,ArchiveRestore:KU,ArchiveX:ZU,AreaChart:CF,Armchair:iF,ArrowBigDown:aF,ArrowBigDownDash:sF,ArrowBigLeft:hF,ArrowBigLeftDash:uF,ArrowBigRight:pF,ArrowBigRightDash:gF,ArrowBigUp:xF,ArrowBigUpDash:vF,ArrowDown:aW,ArrowDown01:kF,ArrowDown10:EF,ArrowDownAZ:BF,ArrowDownCircle:SF,ArrowDownFromLine:QF,ArrowDownLeft:jF,ArrowDownLeftFromCircle:bF,ArrowDownLeftFromSquare:TF,ArrowDownLeftSquare:PF,ArrowDownNarrowWide:FF,ArrowDownRight:JF,ArrowDownRightFromCircle:OF,ArrowDownRightFromSquare:zF,ArrowDownRightSquare:$F,ArrowDownSquare:KF,ArrowDownToDot:ZF,ArrowDownToLine:tW,ArrowDownUp:CW,ArrowDownWideNarrow:iW,ArrowDownZA:sW,ArrowLeft:xW,ArrowLeftCircle:uW,ArrowLeftFromLine:hW,ArrowLeftRight:gW,ArrowLeftSquare:pW,ArrowLeftToLine:vW,ArrowRight:bW,ArrowRightCircle:kW,ArrowRightFromLine:EW,ArrowRightLeft:BW,ArrowRightSquare:SW,ArrowRightToLine:QW,ArrowUp:xO,ArrowUp01:TW,ArrowUp10:PW,ArrowUpAZ:jW,ArrowUpCircle:FW,ArrowUpDown:OW,ArrowUpFromDot:zW,ArrowUpFromLine:$W,ArrowUpLeft:tO,ArrowUpLeftFromCircle:JW,ArrowUpLeftFromSquare:KW,ArrowUpLeftSquare:ZW,ArrowUpNarrowWide:CO,ArrowUpRight:uO,ArrowUpRightFromCircle:iO,ArrowUpRightFromSquare:sO,ArrowUpRightSquare:aO,ArrowUpSquare:hO,ArrowUpToLine:gO,ArrowUpWideNarrow:pO,ArrowUpZA:vO,ArrowsUpFromLine:kO,Asterisk:BO,AsteriskSquare:EO,AtSign:SO,Atom:QO,AudioLines:bO,AudioWaveform:TO,Award:PO,Axe:jO,Axis3d:FO,Baby:OO,Backpack:zO,Badge:EG,BadgeAlert:$O,BadgeCent:JO,BadgeCheck:KO,BadgeDollarSign:ZO,BadgeEuro:tG,BadgeHelp:CG,BadgeIndianRupee:iG,BadgeInfo:sG,BadgeJapaneseYen:aG,BadgeMinus:uG,BadgePercent:hG,BadgePlus:gG,BadgePoundSterling:pG,BadgeRussianRuble:vG,BadgeSwissFranc:xG,BadgeX:kG,BaggageClaim:BG,Ban:SG,Banana:QG,Banknote:bG,BarChart:$G,BarChart2:TG,BarChart3:PG,BarChart4:jG,BarChartBig:FG,BarChartHorizontal:zG,BarChartHorizontalBig:OG,Barcode:JG,Baseline:KG,Bath:ZG,Battery:uz,BatteryCharging:tz,BatteryFull:Cz,BatteryLow:iz,BatteryMedium:sz,BatteryWarning:az,Beaker:hz,Bean:pz,BeanOff:gz,Bed:kz,BedDouble:vz,BedSingle:xz,Beef:Ez,Beer:Bz,Bell:Fz,BellDot:Sz,BellElectric:Qz,BellMinus:bz,BellOff:Tz,BellPlus:Pz,BellRing:jz,BetweenHorizontalEnd:Oz,BetweenHorizontalStart:zz,BetweenVerticalEnd:$z,BetweenVerticalStart:Jz,Bike:Kz,Binary:Zz,Biohazard:tV,Bird:CV,Bitcoin:iV,Blend:sV,Blinds:aV,Blocks:uV,Bluetooth:vV,BluetoothConnected:hV,BluetoothOff:gV,BluetoothSearching:pV,Bold:xV,Bolt:kV,Bomb:EV,Bone:BV,Book:x$,BookA:SV,BookAudio:QV,BookCheck:bV,BookCopy:TV,BookDashed:PV,BookDown:jV,BookHeadphones:FV,BookHeart:OV,BookImage:zV,BookKey:$V,BookLock:JV,BookMarked:KV,BookMinus:ZV,BookOpen:i$,BookOpenCheck:t$,BookOpenText:C$,BookPlus:s$,BookText:a$,BookType:u$,BookUp:g$,BookUp2:h$,BookUser:p$,BookX:v$,Bookmark:Q$,BookmarkCheck:k$,BookmarkMinus:E$,BookmarkPlus:B$,BookmarkX:S$,BoomBox:b$,Bot:T$,Box:j$,BoxSelect:P$,Boxes:F$,Braces:O$,Brackets:z$,Brain:K$,BrainCircuit:$$,BrainCog:J$,BrickWall:Z$,Briefcase:tY,BringToFront:CY,Brush:iY,Bug:uY,BugOff:sY,BugPlay:aY,Building:gY,Building2:hY,Bus:vY,BusFront:pY,Cable:kY,CableCar:xY,Cake:BY,CakeSlice:EY,Calculator:SY,Calendar:sJ,CalendarCheck:bY,CalendarCheck2:QY,CalendarClock:TY,CalendarDays:PY,CalendarFold:jY,CalendarHeart:FY,CalendarMinus:zY,CalendarMinus2:OY,CalendarOff:$Y,CalendarPlus:KY,CalendarPlus2:JY,CalendarRange:ZY,CalendarSearch:tJ,CalendarX:iJ,CalendarX2:CJ,Camera:uJ,CameraOff:aJ,CandlestickChart:hJ,Candy:vJ,CandyCane:gJ,CandyOff:pJ,Captions:kJ,CaptionsOff:xJ,Car:SJ,CarFront:EJ,CarTaxiFront:BJ,Caravan:QJ,Carrot:bJ,CaseLower:TJ,CaseSensitive:PJ,CaseUpper:jJ,CassetteTape:FJ,Cast:OJ,Castle:zJ,Cat:$J,Cctv:JJ,Check:sX,CheckCheck:KJ,CheckCircle:tX,CheckCircle2:ZJ,CheckSquare:iX,CheckSquare2:CX,ChefHat:aX,Cherry:uX,ChevronDown:pX,ChevronDownCircle:hX,ChevronDownSquare:gX,ChevronFirst:vX,ChevronLast:xX,ChevronLeft:BX,ChevronLeftCircle:kX,ChevronLeftSquare:EX,ChevronRight:bX,ChevronRightCircle:SX,ChevronRightSquare:QX,ChevronUp:jX,ChevronUpCircle:TX,ChevronUpSquare:PX,ChevronsDown:OX,ChevronsDownUp:FX,ChevronsLeft:$X,ChevronsLeftRight:zX,ChevronsRight:KX,ChevronsRightLeft:JX,ChevronsUp:tK,ChevronsUpDown:ZX,Chrome:CK,Church:iK,Cigarette:aK,CigaretteOff:sK,Circle:TK,CircleDashed:uK,CircleDollarSign:hK,CircleDot:pK,CircleDotDashed:gK,CircleEllipsis:vK,CircleEqual:xK,CircleFadingPlus:kK,CircleOff:EK,CircleSlash:SK,CircleSlash2:BK,CircleUser:bK,CircleUserRound:QK,CircuitBoard:PK,Citrus:jK,Clapperboard:FK,Clipboard:aq,ClipboardCheck:OK,ClipboardCopy:zK,ClipboardList:$K,ClipboardMinus:JK,ClipboardPaste:KK,ClipboardPen:tq,ClipboardPenLine:ZK,ClipboardPlus:Cq,ClipboardType:iq,ClipboardX:sq,Clock:Tq,Clock1:uq,Clock10:hq,Clock11:gq,Clock12:pq,Clock2:vq,Clock3:xq,Clock4:kq,Clock5:Eq,Clock6:Bq,Clock7:Sq,Clock8:Qq,Clock9:bq,Cloud:aZ,CloudCog:Pq,CloudDrizzle:jq,CloudFog:Fq,CloudHail:Oq,CloudLightning:zq,CloudMoon:Jq,CloudMoonRain:$q,CloudOff:Kq,CloudRain:tZ,CloudRainWind:Zq,CloudSnow:CZ,CloudSun:sZ,CloudSunRain:iZ,Cloudy:uZ,Clover:hZ,Club:gZ,Code:xZ,Code2:pZ,CodeSquare:vZ,Codepen:kZ,Codesandbox:EZ,Coffee:BZ,Cog:SZ,Coins:QZ,Columns2:bZ,Columns3:TZ,Columns4:PZ,Combine:jZ,Command:FZ,Compass:OZ,Component:zZ,Computer:$Z,ConciergeBell:JZ,Cone:KZ,Construction:ZZ,Contact:C11,Contact2:t11,Container:i11,Contrast:s11,Cookie:a11,CookingPot:u11,Copy:k11,CopyCheck:h11,CopyMinus:g11,CopyPlus:p11,CopySlash:v11,CopyX:x11,Copyleft:E11,Copyright:B11,CornerDownLeft:S11,CornerDownRight:Q11,CornerLeftDown:b11,CornerLeftUp:T11,CornerRightDown:P11,CornerRightUp:j11,CornerUpLeft:F11,CornerUpRight:O11,Cpu:z11,CreativeCommons:$11,CreditCard:J11,Croissant:K11,Crop:Z11,Cross:t01,Crosshair:C01,Crown:i01,Cuboid:s01,CupSoda:a01,Currency:u01,Cylinder:h01,Database:v01,DatabaseBackup:g01,DatabaseZap:p01,Delete:x01,Dessert:k01,Diameter:E01,Diamond:B01,Dice1:S01,Dice2:Q01,Dice3:b01,Dice4:T01,Dice5:P01,Dice6:j01,Dices:F01,Diff:O01,Disc:K01,Disc2:z01,Disc3:$01,DiscAlbum:J01,Divide:C21,DivideCircle:Z01,DivideSquare:t21,Dna:s21,DnaOff:i21,Dog:a21,DollarSign:u21,Donut:h21,DoorClosed:g21,DoorOpen:p21,Dot:x21,DotSquare:v21,Download:E21,DownloadCloud:k21,DraftingCompass:B21,Drama:S21,Dribbble:Q21,Drill:b21,Droplet:T21,Droplets:P21,Drum:j21,Drumstick:F21,Dumbbell:O21,Ear:$21,EarOff:z21,Eclipse:J21,Egg:t91,EggFried:K21,EggOff:Z21,Equal:s91,EqualNot:C91,EqualSquare:i91,Eraser:a91,Euro:u91,Expand:h91,ExternalLink:g91,Eye:v91,EyeOff:p91,Facebook:x91,Factory:k91,Fan:E91,FastForward:B91,Feather:S91,Fence:Q91,FerrisWheel:b91,Figma:T91,File:O41,FileArchive:P91,FileAudio:F91,FileAudio2:j91,FileAxis3d:O91,FileBadge:$91,FileBadge2:z91,FileBarChart:K91,FileBarChart2:J91,FileBox:Z91,FileCheck:C81,FileCheck2:t81,FileClock:i81,FileCode:a81,FileCode2:s81,FileCog:u81,FileDiff:h81,FileDigit:g81,FileDown:p81,FileHeart:v81,FileImage:x81,FileInput:k81,FileJson:B81,FileJson2:E81,FileKey:Q81,FileKey2:S81,FileLineChart:b81,FileLock:P81,FileLock2:T81,FileMinus:F81,FileMinus2:j81,FileMusic:O81,FileOutput:z81,FilePen:J81,FilePenLine:$81,FilePieChart:K81,FilePlus:t41,FilePlus2:Z81,FileQuestion:C41,FileScan:i41,FileSearch:a41,FileSearch2:s41,FileSliders:u41,FileSpreadsheet:h41,FileStack:g41,FileSymlink:p41,FileTerminal:v41,FileText:x41,FileType:E41,FileType2:k41,FileUp:B41,FileVideo:Q41,FileVideo2:S41,FileVolume:T41,FileVolume2:b41,FileWarning:P41,FileX:F41,FileX2:j41,Files:z41,Film:$41,Filter:K41,FilterX:J41,Fingerprint:Z41,FireExtinguisher:t61,Fish:s61,FishOff:C61,FishSymbol:i61,Flag:g61,FlagOff:a61,FlagTriangleLeft:u61,FlagTriangleRight:h61,Flame:v61,FlameKindling:p61,Flashlight:k61,FlashlightOff:x61,FlaskConical:B61,FlaskConicalOff:E61,FlaskRound:S61,FlipHorizontal:b61,FlipHorizontal2:Q61,FlipVertical:P61,FlipVertical2:T61,Flower:F61,Flower2:j61,Focus:O61,FoldHorizontal:z61,FoldVertical:$61,Folder:K51,FolderArchive:J61,FolderCheck:K61,FolderClock:Z61,FolderClosed:t51,FolderCog:C51,FolderDot:i51,FolderDown:s51,FolderGit:u51,FolderGit2:a51,FolderHeart:h51,FolderInput:g51,FolderKanban:p51,FolderKey:v51,FolderLock:x51,FolderMinus:k51,FolderOpen:B51,FolderOpenDot:E51,FolderOutput:S51,FolderPen:Q51,FolderPlus:b51,FolderRoot:T51,FolderSearch:j51,FolderSearch2:P51,FolderSymlink:F51,FolderSync:O51,FolderTree:z51,FolderUp:$51,FolderX:J51,Folders:Z51,Footprints:t31,Forklift:C31,FormInput:i31,Forward:s31,Frame:a31,Framer:u31,Frown:h31,Fuel:g31,Fullscreen:p31,FunctionSquare:v31,GalleryHorizontal:k31,GalleryHorizontalEnd:x31,GalleryThumbnails:E31,GalleryVertical:S31,GalleryVerticalEnd:B31,Gamepad:b31,Gamepad2:Q31,GanttChart:P31,GanttChartSquare:T31,Gauge:F31,GaugeCircle:j31,Gavel:O31,Gem:z31,Ghost:$31,Gift:J31,GitBranch:Z31,GitBranchPlus:K31,GitCommitHorizontal:t71,GitCommitVertical:C71,GitCompare:s71,GitCompareArrows:i71,GitFork:a71,GitGraph:u71,GitMerge:h71,GitPullRequest:E71,GitPullRequestArrow:g71,GitPullRequestClosed:p71,GitPullRequestCreate:x71,GitPullRequestCreateArrow:v71,GitPullRequestDraft:k71,Github:B71,Gitlab:S71,GlassWater:Q71,Glasses:b71,Globe:P71,Globe2:T71,Goal:j71,Grab:F71,GraduationCap:O71,Grape:z71,Grid2x2:$71,Grid3x3:J71,Grip:te1,GripHorizontal:K71,GripVertical:Z71,Group:Ce1,Guitar:ie1,Hammer:se1,Hand:ve1,HandCoins:ae1,HandHeart:ue1,HandHelping:he1,HandMetal:ge1,HandPlatter:pe1,Handshake:xe1,HardDrive:Be1,HardDriveDownload:ke1,HardDriveUpload:Ee1,HardHat:Se1,Hash:Qe1,Haze:be1,HdmiPort:Te1,Heading:Je1,Heading1:Pe1,Heading2:je1,Heading3:Fe1,Heading4:Oe1,Heading5:ze1,Heading6:$e1,Headphones:Ke1,Headset:Ze1,Heart:at1,HeartCrack:tt1,HeartHandshake:Ct1,HeartOff:it1,HeartPulse:st1,Heater:ut1,HelpCircle:ht1,Hexagon:gt1,Highlighter:pt1,History:vt1,Home:xt1,Hop:Et1,HopOff:kt1,Hotel:Bt1,Hourglass:St1,IceCream:bt1,IceCream2:Qt1,Image:Ot1,ImageDown:Tt1,ImageMinus:Pt1,ImageOff:jt1,ImagePlus:Ft1,Images:zt1,Import:$t1,Inbox:Jt1,Indent:Kt1,IndianRupee:Zt1,Infinity:tn1,Info:Cn1,InspectionPanel:in1,Instagram:sn1,Italic:an1,IterationCcw:un1,IterationCw:hn1,JapaneseYen:gn1,Joystick:pn1,Kanban:kn1,KanbanSquare:xn1,KanbanSquareDashed:vn1,Key:Sn1,KeyRound:En1,KeySquare:Bn1,Keyboard:bn1,KeyboardMusic:Qn1,Lamp:zn1,LampCeiling:Tn1,LampDesk:Pn1,LampFloor:jn1,LampWallDown:Fn1,LampWallUp:On1,LandPlot:$n1,Landmark:Jn1,Languages:Kn1,Laptop:tC1,Laptop2:Zn1,Lasso:iC1,LassoSelect:CC1,Laugh:sC1,Layers:hC1,Layers2:aC1,Layers3:uC1,LayoutDashboard:gC1,LayoutGrid:pC1,LayoutList:vC1,LayoutPanelLeft:xC1,LayoutPanelTop:kC1,LayoutTemplate:EC1,Leaf:BC1,LeafyGreen:SC1,Library:TC1,LibraryBig:QC1,LibrarySquare:bC1,LifeBuoy:PC1,Ligature:jC1,Lightbulb:OC1,LightbulbOff:FC1,LineChart:zC1,Link:KC1,Link2:JC1,Link2Off:$C1,Linkedin:ZC1,List:Sr1,ListChecks:tr1,ListCollapse:Cr1,ListEnd:ir1,ListFilter:sr1,ListMinus:ar1,ListMusic:ur1,ListOrdered:hr1,ListPlus:gr1,ListRestart:pr1,ListStart:vr1,ListTodo:xr1,ListTree:kr1,ListVideo:Er1,ListX:Br1,Loader:br1,Loader2:Qr1,Locate:jr1,LocateFixed:Tr1,LocateOff:Pr1,Lock:Or1,LockKeyhole:Fr1,LogIn:zr1,LogOut:$r1,Lollipop:Jr1,Luggage:Kr1,MSquare:Zr1,Magnet:ti1,Mail:vi1,MailCheck:Ci1,MailMinus:ii1,MailOpen:si1,MailPlus:ai1,MailQuestion:ui1,MailSearch:hi1,MailWarning:gi1,MailX:pi1,Mailbox:xi1,Mails:ki1,Map:Qi1,MapPin:Bi1,MapPinOff:Ei1,MapPinned:Si1,Martini:bi1,Maximize:Pi1,Maximize2:Ti1,Medal:ji1,Megaphone:Oi1,MegaphoneOff:Fi1,Meh:zi1,MemoryStick:$i1,Menu:Ki1,MenuSquare:Ji1,Merge:Zi1,MessageCircle:xo1,MessageCircleCode:to1,MessageCircleDashed:Co1,MessageCircleHeart:io1,MessageCircleMore:so1,MessageCircleOff:ao1,MessageCirclePlus:uo1,MessageCircleQuestion:ho1,MessageCircleReply:go1,MessageCircleWarning:po1,MessageCircleX:vo1,MessageSquare:Ko1,MessageSquareCode:ko1,MessageSquareDashed:Eo1,MessageSquareDiff:Bo1,MessageSquareDot:So1,MessageSquareHeart:Qo1,MessageSquareMore:bo1,MessageSquareOff:To1,MessageSquarePlus:Po1,MessageSquareQuote:jo1,MessageSquareReply:Fo1,MessageSquareShare:Oo1,MessageSquareText:zo1,MessageSquareWarning:$o1,MessageSquareX:Jo1,MessagesSquare:Zo1,Mic:is1,Mic2:ts1,MicOff:Cs1,Microscope:ss1,Microwave:as1,Milestone:us1,Milk:gs1,MilkOff:hs1,Minimize:vs1,Minimize2:ps1,Minus:Es1,MinusCircle:xs1,MinusSquare:ks1,Monitor:Js1,MonitorCheck:Bs1,MonitorDot:Ss1,MonitorDown:Qs1,MonitorOff:bs1,MonitorPause:Ts1,MonitorPlay:Ps1,MonitorSmartphone:js1,MonitorSpeaker:Fs1,MonitorStop:Os1,MonitorUp:zs1,MonitorX:$s1,Moon:Zs1,MoonStar:Ks1,MoreHorizontal:tl1,MoreVertical:Cl1,Mountain:sl1,MountainSnow:il1,Mouse:vl1,MousePointer:pl1,MousePointer2:al1,MousePointerClick:ul1,MousePointerSquare:gl1,MousePointerSquareDashed:hl1,Move:$l1,Move3d:xl1,MoveDiagonal:El1,MoveDiagonal2:kl1,MoveDown:Ql1,MoveDownLeft:Bl1,MoveDownRight:Sl1,MoveHorizontal:bl1,MoveLeft:Tl1,MoveRight:Pl1,MoveUp:Ol1,MoveUpLeft:jl1,MoveUpRight:Fl1,MoveVertical:zl1,Music:ta1,Music2:Jl1,Music3:Kl1,Music4:Zl1,Navigation:aa1,Navigation2:ia1,Navigation2Off:Ca1,NavigationOff:sa1,Network:ua1,Newspaper:ha1,Nfc:ga1,Notebook:ka1,NotebookPen:pa1,NotebookTabs:va1,NotebookText:xa1,NotepadText:Ba1,NotepadTextDashed:Ea1,Nut:Qa1,NutOff:Sa1,Octagon:ba1,Option:Ta1,Orbit:Pa1,Outdent:ja1,Package:tc1,Package2:Fa1,PackageCheck:Oa1,PackageMinus:za1,PackageOpen:$a1,PackagePlus:Ja1,PackageSearch:Ka1,PackageX:Za1,PaintBucket:Cc1,PaintRoller:ic1,Paintbrush:ac1,Paintbrush2:sc1,Palette:uc1,Palmtree:hc1,PanelBottom:xc1,PanelBottomClose:gc1,PanelBottomDashed:pc1,PanelBottomOpen:vc1,PanelLeft:Sc1,PanelLeftClose:kc1,PanelLeftDashed:Ec1,PanelLeftOpen:Bc1,PanelRight:Pc1,PanelRightClose:Qc1,PanelRightDashed:bc1,PanelRightOpen:Tc1,PanelTop:zc1,PanelTopClose:jc1,PanelTopDashed:Fc1,PanelTopOpen:Oc1,PanelsLeftBottom:$c1,PanelsRightBottom:Jc1,PanelsTopLeft:Kc1,Paperclip:Zc1,Parentheses:tu1,ParkingCircle:iu1,ParkingCircleOff:Cu1,ParkingMeter:su1,ParkingSquare:uu1,ParkingSquareOff:au1,PartyPopper:hu1,Pause:vu1,PauseCircle:gu1,PauseOctagon:pu1,PawPrint:xu1,PcCase:ku1,Pen:Su1,PenLine:Eu1,PenTool:Bu1,Pencil:Tu1,PencilLine:Qu1,PencilRuler:bu1,Pentagon:Pu1,Percent:zu1,PercentCircle:ju1,PercentDiamond:Fu1,PercentSquare:Ou1,PersonStanding:$u1,Phone:sd1,PhoneCall:Ju1,PhoneForwarded:Ku1,PhoneIncoming:Zu1,PhoneMissed:td1,PhoneOff:Cd1,PhoneOutgoing:id1,Pi:ud1,PiSquare:ad1,Piano:hd1,PictureInPicture:pd1,PictureInPicture2:gd1,PieChart:vd1,PiggyBank:xd1,Pilcrow:Ed1,PilcrowSquare:kd1,Pill:Bd1,Pin:Qd1,PinOff:Sd1,Pipette:bd1,Pizza:Td1,Plane:Fd1,PlaneLanding:Pd1,PlaneTakeoff:jd1,Play:$d1,PlayCircle:Od1,PlaySquare:zd1,Plug:th1,Plug2:Jd1,PlugZap:Zd1,PlugZap2:Kd1,Plus:sh1,PlusCircle:Ch1,PlusSquare:ih1,Pocket:uh1,PocketKnife:ah1,Podcast:hh1,Pointer:ph1,PointerOff:gh1,Popcorn:vh1,Popsicle:xh1,PoundSterling:kh1,Power:Qh1,PowerCircle:Eh1,PowerOff:Bh1,PowerSquare:Sh1,Presentation:bh1,Printer:Th1,Projector:Ph1,Puzzle:jh1,Pyramid:Fh1,QrCode:Oh1,Quote:zh1,Rabbit:$h1,Radar:Jh1,Radiation:Kh1,Radical:Zh1,Radio:if1,RadioReceiver:tf1,RadioTower:Cf1,Radius:sf1,RailSymbol:af1,Rainbow:uf1,Rat:hf1,Ratio:gf1,Receipt:bf1,ReceiptCent:pf1,ReceiptEuro:vf1,ReceiptIndianRupee:xf1,ReceiptJapaneseYen:kf1,ReceiptPoundSterling:Ef1,ReceiptRussianRuble:Bf1,ReceiptSwissFranc:Sf1,ReceiptText:Qf1,RectangleHorizontal:Tf1,RectangleVertical:Pf1,Recycle:jf1,Redo:zf1,Redo2:Ff1,RedoDot:Of1,RefreshCcw:Jf1,RefreshCcwDot:$f1,RefreshCw:Zf1,RefreshCwOff:Kf1,Refrigerator:tg1,Regex:Cg1,RemoveFormatting:ig1,Repeat:ug1,Repeat1:sg1,Repeat2:ag1,Replace:gg1,ReplaceAll:hg1,Reply:vg1,ReplyAll:pg1,Rewind:xg1,Ribbon:kg1,Rocket:Eg1,RockingChair:Bg1,RollerCoaster:Sg1,Rotate3d:Qg1,RotateCcw:bg1,RotateCw:Tg1,Route:jg1,RouteOff:Pg1,Router:Fg1,Rows2:Og1,Rows3:zg1,Rows4:$g1,Rss:Jg1,Ruler:Kg1,RussianRuble:Zg1,Sailboat:tA1,Salad:CA1,Sandwich:iA1,Satellite:aA1,SatelliteDish:sA1,Save:hA1,SaveAll:uA1,Scale:pA1,Scale3d:gA1,Scaling:vA1,Scan:bA1,ScanBarcode:xA1,ScanEye:kA1,ScanFace:EA1,ScanLine:BA1,ScanSearch:SA1,ScanText:QA1,ScatterChart:TA1,School:jA1,School2:PA1,Scissors:$A1,ScissorsLineDashed:FA1,ScissorsSquare:zA1,ScissorsSquareDashedBottom:OA1,ScreenShare:KA1,ScreenShareOff:JA1,Scroll:tp1,ScrollText:ZA1,Search:up1,SearchCheck:Cp1,SearchCode:ip1,SearchSlash:sp1,SearchX:ap1,Send:pp1,SendHorizontal:hp1,SendToBack:gp1,SeparatorHorizontal:vp1,SeparatorVertical:xp1,Server:Sp1,ServerCog:kp1,ServerCrash:Ep1,ServerOff:Bp1,Settings:bp1,Settings2:Qp1,Shapes:Tp1,Share:jp1,Share2:Pp1,Sheet:Fp1,Shell:Op1,Shield:uL1,ShieldAlert:zp1,ShieldBan:$p1,ShieldCheck:Jp1,ShieldEllipsis:Kp1,ShieldHalf:Zp1,ShieldMinus:tL1,ShieldOff:CL1,ShieldPlus:iL1,ShieldQuestion:sL1,ShieldX:aL1,Ship:gL1,ShipWheel:hL1,Shirt:pL1,ShoppingBag:vL1,ShoppingBasket:xL1,ShoppingCart:kL1,Shovel:EL1,ShowerHead:BL1,Shrink:SL1,Shrub:QL1,Shuffle:bL1,Sigma:PL1,SigmaSquare:TL1,Signal:$L1,SignalHigh:jL1,SignalLow:FL1,SignalMedium:OL1,SignalZero:zL1,Signpost:KL1,SignpostBig:JL1,Siren:ZL1,SkipBack:tv1,SkipForward:Cv1,Skull:iv1,Slack:sv1,Slash:uv1,SlashSquare:av1,Slice:hv1,Sliders:pv1,SlidersHorizontal:gv1,Smartphone:kv1,SmartphoneCharging:vv1,SmartphoneNfc:xv1,Smile:Bv1,SmilePlus:Ev1,Snail:Sv1,Snowflake:Qv1,Sofa:bv1,Soup:Tv1,Space:Pv1,Spade:jv1,Sparkle:Fv1,Sparkles:Ov1,Speaker:zv1,Speech:$v1,SpellCheck:Kv1,SpellCheck2:Jv1,Spline:Zv1,Split:iw1,SplitSquareHorizontal:tw1,SplitSquareVertical:Cw1,SprayCan:sw1,Sprout:aw1,Square:Ew1,SquareDashedBottom:hw1,SquareDashedBottomCode:uw1,SquarePen:gw1,SquareRadical:pw1,SquareStack:vw1,SquareUser:kw1,SquareUserRound:xw1,Squircle:Bw1,Squirrel:Sw1,Stamp:Qw1,Star:Pw1,StarHalf:bw1,StarOff:Tw1,StepBack:jw1,StepForward:Fw1,Stethoscope:Ow1,Sticker:zw1,StickyNote:$w1,StopCircle:Jw1,Store:Kw1,StretchHorizontal:Zw1,StretchVertical:tx1,Strikethrough:Cx1,Subscript:ix1,Sun:gx1,SunDim:sx1,SunMedium:ax1,SunMoon:ux1,SunSnow:hx1,Sunrise:px1,Sunset:vx1,Superscript:xx1,SwatchBook:kx1,SwissFranc:Ex1,SwitchCamera:Bx1,Sword:Sx1,Swords:Qx1,Syringe:bx1,Table:jx1,Table2:Tx1,TableProperties:Px1,Tablet:Ox1,TabletSmartphone:Fx1,Tablets:zx1,Tag:$x1,Tags:Jx1,Tally1:Kx1,Tally2:Zx1,Tally3:tm1,Tally4:Cm1,Tally5:im1,Tangent:sm1,Target:am1,Telescope:um1,Tent:gm1,TentTree:hm1,Terminal:vm1,TerminalSquare:pm1,TestTube:km1,TestTube2:xm1,TestTubes:Em1,Text:Pm1,TextCursor:Sm1,TextCursorInput:Bm1,TextQuote:Qm1,TextSearch:bm1,TextSelect:Tm1,Theater:jm1,Thermometer:zm1,ThermometerSnowflake:Fm1,ThermometerSun:Om1,ThumbsDown:$m1,ThumbsUp:Jm1,Ticket:ak1,TicketCheck:Km1,TicketMinus:Zm1,TicketPercent:tk1,TicketPlus:Ck1,TicketSlash:ik1,TicketX:sk1,Timer:gk1,TimerOff:uk1,TimerReset:hk1,ToggleLeft:pk1,ToggleRight:vk1,Tornado:xk1,Torus:kk1,Touchpad:Bk1,TouchpadOff:Ek1,TowerControl:Sk1,ToyBrick:Qk1,Tractor:bk1,TrafficCone:Tk1,TrainFront:jk1,TrainFrontTunnel:Pk1,TrainTrack:Fk1,TramFront:Ok1,Trash:$k1,Trash2:zk1,TreeDeciduous:Jk1,TreePine:Kk1,Trees:Zk1,Trello:tM1,TrendingDown:CM1,TrendingUp:iM1,Triangle:aM1,TriangleRight:sM1,Trophy:uM1,Truck:hM1,Turtle:gM1,Tv:vM1,Tv2:pM1,Twitch:xM1,Twitter:kM1,Type:EM1,Umbrella:SM1,UmbrellaOff:BM1,Underline:QM1,Undo:PM1,Undo2:bM1,UndoDot:TM1,UnfoldHorizontal:jM1,UnfoldVertical:FM1,Ungroup:OM1,Unlink:$M1,Unlink2:zM1,Unlock:KM1,UnlockKeyhole:JM1,Unplug:ZM1,Upload:CE1,UploadCloud:tE1,Usb:iE1,User:bE1,UserCheck:sE1,UserCog:aE1,UserMinus:uE1,UserPlus:hE1,UserRound:BE1,UserRoundCheck:gE1,UserRoundCog:pE1,UserRoundMinus:vE1,UserRoundPlus:xE1,UserRoundSearch:kE1,UserRoundX:EE1,UserSearch:SE1,UserX:QE1,Users:PE1,UsersRound:TE1,Utensils:FE1,UtensilsCrossed:jE1,UtilityPole:OE1,Variable:zE1,Vault:$E1,Vegan:JE1,VenetianMask:KE1,Vibrate:ty1,VibrateOff:ZE1,Video:iy1,VideoOff:Cy1,Videotape:sy1,View:ay1,Voicemail:uy1,Volume:vy1,Volume1:hy1,Volume2:gy1,VolumeX:py1,Vote:xy1,Wallet:By1,Wallet2:ky1,WalletCards:Ey1,Wallpaper:Sy1,Wand:by1,Wand2:Qy1,Warehouse:Ty1,WashingMachine:Py1,Watch:jy1,Waves:Fy1,Waypoints:Oy1,Webcam:zy1,Webhook:Jy1,WebhookOff:$y1,Weight:Ky1,Wheat:tB1,WheatOff:Zy1,WholeWord:CB1,Wifi:sB1,WifiOff:iB1,Wind:aB1,Wine:hB1,WineOff:uB1,Workflow:gB1,WrapText:pB1,Wrench:vB1,X:BB1,XCircle:xB1,XOctagon:kB1,XSquare:EB1,Youtube:SB1,Zap:bB1,ZapOff:QB1,ZoomIn:TB1,ZoomOut:PB1},Symbol.toStringTag,{value:"Module"}));function jB1(){return h.jsxs(uH,{style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[h.jsx("color",{attach:"background",args:["black"]}),h.jsx("ambientLight",{intensity:.5}),h.jsx("directionalLight",{intensity:0,position:[5,1,10]}),h.jsx(zN,{scrollbarColor:"black",backgroundColor:"white",flexDirection:"row",flexWrap:"wrap",overflow:"scroll",gap:10,padding:10,children:Object.values(NB1).map((t,e)=>h.jsx(t,{},e))})]})}zw(document.getElementById("root")).render(h.jsx(u.StrictMode,{children:h.jsx(jB1,{})})); diff --git a/examples/lucide/assets/index-NbB37LOr.js b/examples/lucide/assets/index-NbB37LOr.js new file mode 100644 index 00000000..c6dfed12 --- /dev/null +++ b/examples/lucide/assets/index-NbB37LOr.js @@ -0,0 +1,4057 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))C(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&C(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function C(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function Rv(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var bv={exports:{}},Xi={},Dv={exports:{}},F0={};/** + * @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 vn=Symbol.for("react.element"),tE=Symbol.for("react.portal"),nE=Symbol.for("react.fragment"),CE=Symbol.for("react.strict_mode"),rE=Symbol.for("react.profiler"),iE=Symbol.for("react.provider"),oE=Symbol.for("react.context"),sE=Symbol.for("react.forward_ref"),lE=Symbol.for("react.suspense"),aE=Symbol.for("react.memo"),cE=Symbol.for("react.lazy"),ng=Symbol.iterator;function uE(t){return t===null||typeof t!="object"?null:(t=ng&&t[ng]||t["@@iterator"],typeof t=="function"?t:null)}var Tv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Hv=Object.assign,Pv={};function ie(t,e,n){this.props=t,this.context=e,this.refs=Pv,this.updater=n||Tv}ie.prototype.isReactComponent={};ie.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,e,"setState")};ie.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Nv(){}Nv.prototype=ie.prototype;function _u(t,e,n){this.props=t,this.context=e,this.refs=Pv,this.updater=n||Tv}var Qu=_u.prototype=new Nv;Qu.constructor=_u;Hv(Qu,ie.prototype);Qu.isPureReactComponent=!0;var Cg=Array.isArray,jv=Object.prototype.hasOwnProperty,Ru={current:null},Uv={key:!0,ref:!0,__self:!0,__source:!0};function Fv(t,e,n){var C,r={},i=null,o=null;if(e!=null)for(C in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(i=""+e.key),e)jv.call(e,C)&&!Uv.hasOwnProperty(C)&&(r[C]=e[C]);var s=arguments.length-2;if(s===1)r.children=n;else if(1>>1,I1=F[d1];if(0>>1;d1r(z,C1))Wr(N,z)?(F[d1]=N,F[W]=C1,d1=W):(F[d1]=z,F[$]=C1,d1=$);else if(Wr(N,C1))F[d1]=N,F[W]=C1,d1=W;else break e}}return e1}function r(F,e1){var C1=F.sortIndex-e1.sortIndex;return C1!==0?C1:F.id-e1.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();t.unstable_now=function(){return o.now()-s}}var l=[],d=[],g=1,A=null,p=3,L=!1,x=!1,E=!1,m=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(F){for(var e1=n(d);e1!==null;){if(e1.callback===null)C(d);else if(e1.startTime<=F)C(d),e1.sortIndex=e1.expirationTime,e(l,e1);else break;e1=n(d)}}function I(F){if(E=!1,k(F),!x)if(n(l)!==null)x=!0,i1(b);else{var e1=n(d);e1!==null&&g1(I,e1.startTime-F)}}function b(F,e1){x=!1,E&&(E=!1,v(U),U=-1),L=!0;var C1=p;try{for(k(e1),A=n(l);A!==null&&(!(A.expirationTime>e1)||F&&!P());){var d1=A.callback;if(typeof d1=="function"){A.callback=null,p=A.priorityLevel;var I1=d1(A.expirationTime<=e1);e1=t.unstable_now(),typeof I1=="function"?A.callback=I1:A===n(l)&&C(l),k(e1)}else C(l);A=n(l)}if(A!==null)var j1=!0;else{var $=n(d);$!==null&&g1(I,$.startTime-e1),j1=!1}return j1}finally{A=null,p=C1,L=!1}}var R=!1,D=null,U=-1,X=5,_=-1;function P(){return!(t.unstable_now()-_F||125d1?(F.sortIndex=C1,e(d,F),n(l)===null&&F===n(d)&&(E?(v(U),U=-1):E=!0,g1(I,C1-d1))):(F.sortIndex=I1,e(l,F),x||L||(x=!0,i1(b))),F},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(F){var e1=p;return function(){var C1=p;p=e1;try{return F.apply(this,arguments)}finally{p=C1}}}})(zv);Gv.exports=zv;var mE=Gv.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 Vv=u,c8=mE;function F1(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pa=Object.prototype.hasOwnProperty,kE=/^[: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]*$/,ig={},og={};function ME(t){return Pa.call(og,t)?!0:Pa.call(ig,t)?!1:kE.test(t)?og[t]=!0:(ig[t]=!0,!1)}function EE(t,e,n,C){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return C?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function yE(t,e,n,C){if(e===null||typeof e>"u"||EE(t,e,n,C))return!0;if(C)return!1;if(n!==null)switch(n.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 j9(t,e,n,C,r,i,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=C,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=i,this.removeEmptyString=o}var d9={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){d9[t]=new j9(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];d9[e]=new j9(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){d9[t]=new j9(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){d9[t]=new j9(t,2,!1,t,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(t){d9[t]=new j9(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){d9[t]=new j9(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){d9[t]=new j9(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){d9[t]=new j9(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){d9[t]=new j9(t,5,!1,t.toLowerCase(),null,!1,!1)});var Du=/[\-:]([a-z])/g;function Tu(t){return t[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(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Du,Tu);d9[e]=new j9(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){d9[t]=new j9(t,1,!1,t.toLowerCase(),null,!1,!1)});d9.xlinkHref=new j9("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){d9[t]=new j9(t,1,!1,t.toLowerCase(),null,!0,!0)});function Hu(t,e,n,C){var r=d9.hasOwnProperty(e)?d9[e]:null;(r!==null?r.type!==0:C||!(2s||r[o]!==i[s]){var l=` +`+r[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=s);break}}}finally{il=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?lt(t):""}function BE(t){switch(t.tag){case 5:return lt(t.type);case 16:return lt("Lazy");case 13:return lt("Suspense");case 19:return lt("SuspenseList");case 0:case 2:case 15:return t=ol(t.type,!1),t;case 11:return t=ol(t.type.render,!1),t;case 1:return t=ol(t.type,!0),t;default:return""}}function Fa(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case y7:return"Fragment";case E7:return"Portal";case Na:return"Profiler";case Pu:return"StrictMode";case ja:return"Suspense";case Ua:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Jv:return(t.displayName||"Context")+".Consumer";case Yv:return(t._context.displayName||"Context")+".Provider";case Nu:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ju:return e=t.displayName||null,e!==null?e:Fa(t.type)||"Memo";case P6:e=t._payload,t=t._init;try{return Fa(t(e))}catch{}}return null}function IE(t){var e=t.type;switch(t.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 t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Fa(e);case 8:return e===Pu?"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 i5(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Kv(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function SE(t){var e=Kv(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),C=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,i=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){C=""+o,i.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return C},setValue:function(o){C=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function SC(t){t._valueTracker||(t._valueTracker=SE(t))}function qv(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),C="";return t&&(C=Kv(t)?t.checked?"true":"false":t.value),t=C,t!==n?(e.setValue(t),!0):!1}function pi(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Wa(t,e){var n=e.checked;return E2({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function lg(t,e){var n=e.defaultValue==null?"":e.defaultValue,C=e.checked!=null?e.checked:e.defaultChecked;n=i5(e.value!=null?e.value:n),t._wrapperState={initialChecked:C,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Zv(t,e){e=e.checked,e!=null&&Hu(t,"checked",e,!1)}function Oa(t,e){Zv(t,e);var n=i5(e.value),C=e.type;if(n!=null)C==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(C==="submit"||C==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Ga(t,e.type,n):e.hasOwnProperty("defaultValue")&&Ga(t,e.type,i5(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function ag(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var C=e.type;if(!(C!=="submit"&&C!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Ga(t,e,n){(e!=="number"||pi(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var at=Array.isArray;function W7(t,e,n,C){if(t=t.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=_C.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function _t(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var ft={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},_E=["Webkit","ms","Moz","O"];Object.keys(ft).forEach(function(t){_E.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),ft[e]=ft[t]})});function CL(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||ft.hasOwnProperty(t)&&ft[t]?(""+e).trim():e+"px"}function rL(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var C=n.indexOf("--")===0,r=CL(n,e[n],C);n==="float"&&(n="cssFloat"),C?t.setProperty(n,r):t[n]=r}}var QE=E2({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 $a(t,e){if(e){if(QE[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(F1(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(F1(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(F1(61))}if(e.style!=null&&typeof e.style!="object")throw Error(F1(62))}}function Ya(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){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 Ja=null;function Uu(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Xa=null,O7=null,G7=null;function dg(t){if(t=xn(t)){if(typeof Xa!="function")throw Error(F1(280));var e=t.stateNode;e&&(e=to(e),Xa(t.stateNode,t.type,e))}}function iL(t){O7?G7?G7.push(t):G7=[t]:O7=t}function oL(){if(O7){var t=O7,e=G7;if(G7=O7=null,dg(t),e)for(t=0;t>>=0,t===0?32:31-(WE(t)/OE|0)|0}var QC=64,RC=4194304;function ct(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function xi(t,e){var n=t.pendingLanes;if(n===0)return 0;var C=0,r=t.suspendedLanes,i=t.pingedLanes,o=n&268435455;if(o!==0){var s=o&~r;s!==0?C=ct(s):(i&=o,i!==0&&(C=ct(i)))}else o=n&~r,o!==0?C=ct(o):i!==0&&(C=ct(i));if(C===0)return 0;if(e!==0&&e!==C&&!(e&r)&&(r=C&-C,i=e&-e,r>=i||r===16&&(i&4194240)!==0))return e;if(C&4&&(C|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=C;0n;n++)e.push(t);return e}function Ln(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-V8(e),t[e]=n}function $E(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var C=t.eventTimes;for(t=t.expirationTimes;0=At),xg=" ",mg=!1;function yL(t,e){switch(t){case"keyup":return xy.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function BL(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var B7=!1;function ky(t,e){switch(t){case"compositionend":return BL(e);case"keypress":return e.which!==32?null:(mg=!0,xg);case"textInput":return t=e.data,t===xg&&mg?null:t;default:return null}}function My(t,e){if(B7)return t==="compositionend"||!Yu&&yL(t,e)?(t=ML(),qr=zu=W6=null,B7=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=C}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=yg(n)}}function QL(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?QL(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function RL(){for(var t=window,e=pi();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=pi(t.document)}return e}function Ju(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function by(t){var e=RL(),n=t.focusedElem,C=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&QL(n.ownerDocument.documentElement,n)){if(C!==null&&Ju(n)){if(e=C.start,t=C.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var r=n.textContent.length,i=Math.min(C.start,r);C=C.end===void 0?i:Math.min(C.end,r),!t.extend&&i>C&&(r=C,C=i,i=r),r=Bg(n,i);var o=Bg(n,C);r&&o&&(t.rangeCount!==1||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),t.removeAllRanges(),i>C?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,I7=null,nc=null,vt=null,Cc=!1;function Ig(t,e,n){var C=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Cc||I7==null||I7!==pi(C)||(C=I7,"selectionStart"in C&&Ju(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}),vt&&Ht(vt,C)||(vt=C,C=Mi(nc,"onSelect"),0Q7||(t.current=ac[Q7],ac[Q7]=null,Q7--)}function u2(t,e){Q7++,ac[Q7]=t.current,t.current=e}var o5={},E9=c5(o5),Y9=c5(!1),f3=o5;function X7(t,e){var n=t.type.contextTypes;if(!n)return o5;var C=t.stateNode;if(C&&C.__reactInternalMemoizedUnmaskedChildContext===e)return C.__reactInternalMemoizedMaskedChildContext;var r={},i;for(i in n)r[i]=e[i];return C&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=r),r}function J9(t){return t=t.childContextTypes,t!=null}function yi(){p2(Y9),p2(E9)}function Tg(t,e,n){if(E9.current!==o5)throw Error(F1(168));u2(E9,e),u2(Y9,n)}function FL(t,e,n){var C=t.stateNode;if(e=e.childContextTypes,typeof C.getChildContext!="function")return n;C=C.getChildContext();for(var r in C)if(!(r in e))throw Error(F1(108,IE(t)||"Unknown",r));return E2({},n,C)}function Bi(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||o5,f3=E9.current,u2(E9,t),u2(Y9,Y9.current),!0}function Hg(t,e,n){var C=t.stateNode;if(!C)throw Error(F1(169));n?(t=FL(t,e,f3),C.__reactInternalMemoizedMergedChildContext=t,p2(Y9),p2(E9),u2(E9,t)):p2(Y9),u2(Y9,n)}var W4=null,no=!1,wl=!1;function WL(t){W4===null?W4=[t]:W4.push(t)}function zy(t){no=!0,WL(t)}function u5(){if(!wl&&W4!==null){wl=!0;var t=0,e=o2;try{var n=W4;for(o2=1;t>=o,r-=o,G4=1<<32-V8(e)+r|n<U?(X=D,D=null):X=D.sibling;var _=p(v,D,k[U],I);if(_===null){D===null&&(D=X);break}t&&D&&_.alternate===null&&e(v,D),M=i(_,M,U),R===null?b=_:R.sibling=_,R=_,D=X}if(U===k.length)return n(v,D),L2&&G5(v,U),b;if(D===null){for(;UU?(X=D,D=null):X=D.sibling;var P=p(v,D,_.value,I);if(P===null){D===null&&(D=X);break}t&&D&&P.alternate===null&&e(v,D),M=i(P,M,U),R===null?b=P:R.sibling=P,R=P,D=X}if(_.done)return n(v,D),L2&&G5(v,U),b;if(D===null){for(;!_.done;U++,_=k.next())_=A(v,_.value,I),_!==null&&(M=i(_,M,U),R===null?b=_:R.sibling=_,R=_);return L2&&G5(v,U),b}for(D=C(v,D);!_.done;U++,_=k.next())_=L(D,v,U,_.value,I),_!==null&&(t&&_.alternate!==null&&D.delete(_.key===null?U:_.key),M=i(_,M,U),R===null?b=_:R.sibling=_,R=_);return t&&D.forEach(function(Z){return e(v,Z)}),L2&&G5(v,U),b}function m(v,M,k,I){if(typeof k=="object"&&k!==null&&k.type===y7&&k.key===null&&(k=k.props.children),typeof k=="object"&&k!==null){switch(k.$$typeof){case IC:e:{for(var b=k.key,R=M;R!==null;){if(R.key===b){if(b=k.type,b===y7){if(R.tag===7){n(v,R.sibling),M=r(R,k.props.children),M.return=v,v=M;break e}}else if(R.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===P6&&Og(b)===R.type){n(v,R.sibling),M=r(R,k.props),M.ref=Ve(v,R,k),M.return=v,v=M;break e}n(v,R);break}else e(v,R);R=R.sibling}k.type===y7?(M=o3(k.props.children,v.mode,I,k.key),M.return=v,v=M):(I=oi(k.type,k.key,k.props,null,v.mode,I),I.ref=Ve(v,M,k),I.return=v,v=I)}return o(v);case E7:e:{for(R=k.key;M!==null;){if(M.key===R)if(M.tag===4&&M.stateNode.containerInfo===k.containerInfo&&M.stateNode.implementation===k.implementation){n(v,M.sibling),M=r(M,k.children||[]),M.return=v,v=M;break e}else{n(v,M);break}else e(v,M);M=M.sibling}M=Il(k,v.mode,I),M.return=v,v=M}return o(v);case P6:return R=k._init,m(v,M,R(k._payload),I)}if(at(k))return x(v,M,k,I);if(Fe(k))return E(v,M,k,I);jC(v,k)}return typeof k=="string"&&k!==""||typeof k=="number"?(k=""+k,M!==null&&M.tag===6?(n(v,M.sibling),M=r(M,k),M.return=v,v=M):(n(v,M),M=Bl(k,v.mode,I),M.return=v,v=M),o(v)):n(v,M)}return m}var q7=XL(!0),KL=XL(!1),mn={},L4=c5(mn),Ut=c5(mn),Ft=c5(mn);function q5(t){if(t===mn)throw Error(F1(174));return t}function rd(t,e){switch(u2(Ft,e),u2(Ut,t),u2(L4,mn),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Va(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Va(e,t)}p2(L4),u2(L4,e)}function Z7(){p2(L4),p2(Ut),p2(Ft)}function qL(t){q5(Ft.current);var e=q5(L4.current),n=Va(e,t.type);e!==n&&(u2(Ut,t),u2(L4,n))}function id(t){Ut.current===t&&(p2(L4),p2(Ut))}var m2=c5(0);function bi(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var xl=[];function od(){for(var t=0;tn?n:4,t(!0);var C=ml.transition;ml.transition={};try{t(!1),e()}finally{o2=n,ml.transition=C}}function fw(){return _8().memoizedState}function Jy(t,e,n){var C=K6(t);if(n={lane:C,action:n,hasEagerState:!1,eagerState:null,next:null},gw(t))Aw(e,n);else if(n=VL(t,e,n,C),n!==null){var r=T9();$8(n,t,C,r),pw(n,e,C)}}function Xy(t,e,n){var C=K6(t),r={lane:C,action:n,hasEagerState:!1,eagerState:null,next:null};if(gw(t))Aw(e,r);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var o=e.lastRenderedState,s=i(o,n);if(r.hasEagerState=!0,r.eagerState=s,J8(s,o)){var l=e.interleaved;l===null?(r.next=r,nd(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}n=VL(t,e,r,C),n!==null&&(r=T9(),$8(n,t,C,r),pw(n,e,C))}}function gw(t){var e=t.alternate;return t===M2||e!==null&&e===M2}function Aw(t,e){Lt=Di=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function pw(t,e,n){if(n&4194240){var C=e.lanes;C&=t.pendingLanes,n|=C,e.lanes=n,Wu(t,n)}}var Ti={readContext:S8,useCallback:v9,useContext:v9,useEffect:v9,useImperativeHandle:v9,useInsertionEffect:v9,useLayoutEffect:v9,useMemo:v9,useReducer:v9,useRef:v9,useState:v9,useDebugValue:v9,useDeferredValue:v9,useTransition:v9,useMutableSource:v9,useSyncExternalStore:v9,useId:v9,unstable_isNewReconciler:!1},Ky={readContext:S8,useCallback:function(t,e){return u4().memoizedState=[t,e===void 0?null:e],t},useContext:S8,useEffect:zg,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,ni(4194308,4,aw.bind(null,e,t),n)},useLayoutEffect:function(t,e){return ni(4194308,4,t,e)},useInsertionEffect:function(t,e){return ni(4,2,t,e)},useMemo:function(t,e){var n=u4();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var C=u4();return e=n!==void 0?n(e):e,C.memoizedState=C.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},C.queue=t,t=t.dispatch=Jy.bind(null,M2,t),[C.memoizedState,t]},useRef:function(t){var e=u4();return t={current:t},e.memoizedState=t},useState:Gg,useDebugValue:ud,useDeferredValue:function(t){return u4().memoizedState=t},useTransition:function(){var t=Gg(!1),e=t[0];return t=Yy.bind(null,t[1]),u4().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var C=M2,r=u4();if(L2){if(n===void 0)throw Error(F1(407));n=n()}else{if(n=e(),r9===null)throw Error(F1(349));A3&30||tw(C,e,n)}r.memoizedState=n;var i={value:n,getSnapshot:e};return r.queue=i,zg(Cw.bind(null,C,i,t),[t]),C.flags|=2048,Gt(9,nw.bind(null,C,i,n,e),void 0,null),n},useId:function(){var t=u4(),e=r9.identifierPrefix;if(L2){var n=z4,C=G4;n=(C&~(1<<32-V8(C)-1)).toString(32)+n,e=":"+e+"R"+n,n=Wt++,0<\/script>",t=t.removeChild(t.firstChild)):typeof C.is=="string"?t=o.createElement(n,{is:C.is}):(t=o.createElement(n),n==="select"&&(o=t,C.multiple?o.multiple=!0:C.size&&(o.size=C.size))):t=o.createElementNS(t,n),t[f4]=e,t[jt]=C,yw(t,e,!1,!1),e.stateNode=t;e:{switch(o=Ya(n,C),n){case"dialog":h2("cancel",t),h2("close",t),r=C;break;case"iframe":case"object":case"embed":h2("load",t),r=C;break;case"video":case"audio":for(r=0;rte&&(e.flags|=128,C=!0,$e(i,!1),e.lanes=4194304)}else{if(!C)if(t=bi(o),t!==null){if(e.flags|=128,C=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),$e(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!L2)return L9(e),null}else 2*H2()-i.renderingStartTime>te&&n!==1073741824&&(e.flags|=128,C=!0,$e(i,!1),e.lanes=4194304);i.isBackwards?(o.sibling=e.child,e.child=o):(n=i.last,n!==null?n.sibling=o:e.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=H2(),e.sibling=null,n=m2.current,u2(m2,C?n&1|2:n&1),e):(L9(e),null);case 22:case 23:return pd(),C=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==C&&(e.flags|=8192),C&&e.mode&1?r8&1073741824&&(L9(e),e.subtreeFlags&6&&(e.flags|=8192)):L9(e),null;case 24:return null;case 25:return null}throw Error(F1(156,e.tag))}function iB(t,e){switch(Ku(e),e.tag){case 1:return J9(e.type)&&yi(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Z7(),p2(Y9),p2(E9),od(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return id(e),null;case 13:if(p2(m2),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(F1(340));K7()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return p2(m2),null;case 4:return Z7(),null;case 10:return td(e.type._context),null;case 22:case 23:return pd(),null;case 24:return null;default:return null}}var FC=!1,k9=!1,oB=typeof WeakSet=="function"?WeakSet:Set,r0=null;function T7(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(C){_2(t,e,C)}else n.current=null}function xc(t,e,n){try{n()}catch(C){_2(t,e,C)}}var eA=!1;function sB(t,e){if(rc=mi,t=RL(),Ju(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var C=n.getSelection&&n.getSelection();if(C&&C.rangeCount!==0){n=C.anchorNode;var r=C.anchorOffset,i=C.focusNode;C=C.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,l=-1,d=0,g=0,A=t,p=null;t:for(;;){for(var L;A!==n||r!==0&&A.nodeType!==3||(s=o+r),A!==i||C!==0&&A.nodeType!==3||(l=o+C),A.nodeType===3&&(o+=A.nodeValue.length),(L=A.firstChild)!==null;)p=A,A=L;for(;;){if(A===t)break t;if(p===n&&++d===r&&(s=o),p===i&&++g===C&&(l=o),(L=A.nextSibling)!==null)break;A=p,p=A.parentNode}A=L}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(ic={focusedElem:t,selectionRange:n},mi=!1,r0=e;r0!==null;)if(e=r0,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,r0=t;else for(;r0!==null;){e=r0;try{var x=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var E=x.memoizedProps,m=x.memoizedState,v=e.stateNode,M=v.getSnapshotBeforeUpdate(e.elementType===e.type?E:F8(e.type,E),m);v.__reactInternalSnapshotBeforeUpdate=M}break;case 3:var k=e.stateNode.containerInfo;k.nodeType===1?k.textContent="":k.nodeType===9&&k.documentElement&&k.removeChild(k.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(F1(163))}}catch(I){_2(e,e.return,I)}if(t=e.sibling,t!==null){t.return=e.return,r0=t;break}r0=e.return}return x=eA,eA=!1,x}function wt(t,e,n){var C=e.updateQueue;if(C=C!==null?C.lastEffect:null,C!==null){var r=C=C.next;do{if((r.tag&t)===t){var i=r.destroy;r.destroy=void 0,i!==void 0&&xc(e,n,i)}r=r.next}while(r!==C)}}function io(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var C=n.create;n.destroy=C()}n=n.next}while(n!==e)}}function mc(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function Sw(t){var e=t.alternate;e!==null&&(t.alternate=null,Sw(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[f4],delete e[jt],delete e[lc],delete e[Oy],delete e[Gy])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function _w(t){return t.tag===5||t.tag===3||t.tag===4}function tA(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||_w(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function kc(t,e,n){var C=t.tag;if(C===5||C===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Ei));else if(C!==4&&(t=t.child,t!==null))for(kc(t,e,n),t=t.sibling;t!==null;)kc(t,e,n),t=t.sibling}function Mc(t,e,n){var C=t.tag;if(C===5||C===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(C!==4&&(t=t.child,t!==null))for(Mc(t,e,n),t=t.sibling;t!==null;)Mc(t,e,n),t=t.sibling}var a9=null,O8=!1;function B6(t,e,n){for(n=n.child;n!==null;)Qw(t,e,n),n=n.sibling}function Qw(t,e,n){if(v4&&typeof v4.onCommitFiberUnmount=="function")try{v4.onCommitFiberUnmount(Ki,n)}catch{}switch(n.tag){case 5:k9||T7(n,e);case 6:var C=a9,r=O8;a9=null,B6(t,e,n),a9=C,O8=r,a9!==null&&(O8?(t=a9,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):a9.removeChild(n.stateNode));break;case 18:a9!==null&&(O8?(t=a9,n=n.stateNode,t.nodeType===8?Ll(t.parentNode,n):t.nodeType===1&&Ll(t,n),Dt(t)):Ll(a9,n.stateNode));break;case 4:C=a9,r=O8,a9=n.stateNode.containerInfo,O8=!0,B6(t,e,n),a9=C,O8=r;break;case 0:case 11:case 14:case 15:if(!k9&&(C=n.updateQueue,C!==null&&(C=C.lastEffect,C!==null))){r=C=C.next;do{var i=r,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&xc(n,e,o),r=r.next}while(r!==C)}B6(t,e,n);break;case 1:if(!k9&&(T7(n,e),C=n.stateNode,typeof C.componentWillUnmount=="function"))try{C.props=n.memoizedProps,C.state=n.memoizedState,C.componentWillUnmount()}catch(s){_2(n,e,s)}B6(t,e,n);break;case 21:B6(t,e,n);break;case 22:n.mode&1?(k9=(C=k9)||n.memoizedState!==null,B6(t,e,n),k9=C):B6(t,e,n);break;default:B6(t,e,n)}}function nA(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new oB),e.forEach(function(C){var r=AB.bind(null,t,C);n.has(C)||(n.add(C),C.then(r,r))})}}function P8(t,e){var n=e.deletions;if(n!==null)for(var C=0;Cr&&(r=o),C&=~i}if(C=r,C=H2()-C,C=(120>C?120:480>C?480:1080>C?1080:1920>C?1920:3e3>C?3e3:4320>C?4320:1960*aB(C/1960))-C,10t?16:t,O6===null)var C=!1;else{if(t=O6,O6=null,Ni=0,$0&6)throw Error(F1(331));var r=$0;for($0|=4,r0=t.current;r0!==null;){var i=r0,o=i.child;if(r0.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lH2()-gd?i3(t,0):fd|=n),X9(t,e)}function jw(t,e){e===0&&(t.mode&1?(e=RC,RC<<=1,!(RC&130023424)&&(RC=4194304)):e=1);var n=T9();t=Z4(t,e),t!==null&&(Ln(t,e,n),X9(t,n))}function gB(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),jw(t,n)}function AB(t,e){var n=0;switch(t.tag){case 13:var C=t.stateNode,r=t.memoizedState;r!==null&&(n=r.retryLane);break;case 19:C=t.stateNode;break;default:throw Error(F1(314))}C!==null&&C.delete(e),jw(t,n)}var Uw;Uw=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Y9.current)$9=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return $9=!1,CB(t,e,n);$9=!!(t.flags&131072)}else $9=!1,L2&&e.flags&1048576&&OL(e,Si,e.index);switch(e.lanes=0,e.tag){case 2:var C=e.type;Ci(t,e),t=e.pendingProps;var r=X7(e,E9.current);V7(e,n),r=ld(null,e,C,t,r,n);var i=ad();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,J9(C)?(i=!0,Bi(e)):i=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Cd(e),r.updater=Co,e.stateNode=r,r._reactInternals=e,fc(e,C,t,n),e=pc(null,e,C,!0,i,n)):(e.tag=0,L2&&i&&Xu(e),R9(null,e,r,n),e=e.child),e;case 16:C=e.elementType;e:{switch(Ci(t,e),t=e.pendingProps,r=C._init,C=r(C._payload),e.type=C,r=e.tag=vB(C),t=F8(C,t),r){case 0:e=Ac(null,e,C,t,n);break e;case 1:e=Kg(null,e,C,t,n);break e;case 11:e=Jg(null,e,C,t,n);break e;case 14:e=Xg(null,e,C,F8(C.type,t),n);break e}throw Error(F1(306,C,""))}return e;case 0:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Ac(t,e,C,r,n);case 1:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Kg(t,e,C,r,n);case 3:e:{if(kw(e),t===null)throw Error(F1(387));C=e.pendingProps,i=e.memoizedState,r=i.element,$L(t,e),Ri(e,C,null,n);var o=e.memoizedState;if(C=o.element,i.isDehydrated)if(i={element:C,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=i,e.memoizedState=i,e.flags&256){r=ee(Error(F1(423)),e),e=qg(t,e,C,n,r);break e}else if(C!==r){r=ee(Error(F1(424)),e),e=qg(t,e,C,n,r);break e}else for(o8=Y6(e.stateNode.containerInfo.firstChild),l8=e,L2=!0,G8=null,n=KL(e,null,C,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(K7(),C===r){e=e6(t,e,n);break e}R9(t,e,C,n)}e=e.child}return e;case 5:return qL(e),t===null&&uc(e),C=e.type,r=e.pendingProps,i=t!==null?t.memoizedProps:null,o=r.children,oc(C,r)?o=null:i!==null&&oc(C,i)&&(e.flags|=32),mw(t,e),R9(t,e,o,n),e.child;case 6:return t===null&&uc(e),null;case 13:return Mw(t,e,n);case 4:return rd(e,e.stateNode.containerInfo),C=e.pendingProps,t===null?e.child=q7(e,null,C,n):R9(t,e,C,n),e.child;case 11:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Jg(t,e,C,r,n);case 7:return R9(t,e,e.pendingProps,n),e.child;case 8:return R9(t,e,e.pendingProps.children,n),e.child;case 12:return R9(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(C=e.type._context,r=e.pendingProps,i=e.memoizedProps,o=r.value,u2(_i,C._currentValue),C._currentValue=o,i!==null)if(J8(i.value,o)){if(i.children===r.children&&!Y9.current){e=e6(t,e,n);break e}}else for(i=e.child,i!==null&&(i.return=e);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var l=s.firstContext;l!==null;){if(l.context===C){if(i.tag===1){l=J4(-1,n&-n),l.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var g=d.pending;g===null?l.next=l:(l.next=g.next,g.next=l),d.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),dc(i.return,n,e),s.lanes|=n;break}l=l.next}}else if(i.tag===10)o=i.type===e.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(F1(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),dc(o,n,e),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}R9(t,e,r.children,n),e=e.child}return e;case 9:return r=e.type,C=e.pendingProps.children,V7(e,n),r=S8(r),C=C(r),e.flags|=1,R9(t,e,C,n),e.child;case 14:return C=e.type,r=F8(C,e.pendingProps),r=F8(C.type,r),Xg(t,e,C,r,n);case 15:return ww(t,e,e.type,e.pendingProps,n);case 17:return C=e.type,r=e.pendingProps,r=e.elementType===C?r:F8(C,r),Ci(t,e),e.tag=1,J9(C)?(t=!0,Bi(e)):t=!1,V7(e,n),JL(e,C,r),fc(e,C,r,n),pc(null,e,C,!0,t,n);case 19:return Ew(t,e,n);case 22:return xw(t,e,n)}throw Error(F1(156,e.tag))};function Fw(t,e){return hL(t,e)}function pB(t,e,n,C){this.tag=t,this.key=n,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=C,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function B8(t,e,n,C){return new pB(t,e,n,C)}function Ld(t){return t=t.prototype,!(!t||!t.isReactComponent)}function vB(t){if(typeof t=="function")return Ld(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Nu)return 11;if(t===ju)return 14}return 2}function q6(t,e){var n=t.alternate;return n===null?(n=B8(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function oi(t,e,n,C,r,i){var o=2;if(C=t,typeof t=="function")Ld(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case y7:return o3(n.children,r,i,e);case Pu:o=8,r|=8;break;case Na:return t=B8(12,n,e,r|2),t.elementType=Na,t.lanes=i,t;case ja:return t=B8(13,n,e,r),t.elementType=ja,t.lanes=i,t;case Ua:return t=B8(19,n,e,r),t.elementType=Ua,t.lanes=i,t;case Xv:return so(n,r,i,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Yv:o=10;break e;case Jv:o=9;break e;case Nu:o=11;break e;case ju:o=14;break e;case P6:o=16,C=null;break e}throw Error(F1(130,t==null?t:typeof t,""))}return e=B8(o,n,e,r),e.elementType=t,e.type=C,e.lanes=i,e}function o3(t,e,n,C){return t=B8(7,t,C,e),t.lanes=n,t}function so(t,e,n,C){return t=B8(22,t,C,e),t.elementType=Xv,t.lanes=n,t.stateNode={isHidden:!1},t}function Bl(t,e,n){return t=B8(6,t,null,e),t.lanes=n,t}function Il(t,e,n){return e=B8(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function LB(t,e,n,C,r){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ll(0),this.expirationTimes=ll(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ll(0),this.identifierPrefix=C,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function wd(t,e,n,C,r,i,o,s,l){return t=new LB(t,e,n,s,l),e===1?(e=1,i===!0&&(e|=8)):e=0,i=B8(3,null,null,e),t.current=i,i.stateNode=t,i.memoizedState={element:C,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cd(i),t}function wB(t,e,n){var C=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(zw)}catch(t){console.error(t)}}zw(),Ov.exports=d8;var EB=Ov.exports,Vw,cA=EB;Vw=cA.createRoot,cA.hydrateRoot;/** + * @license + * Copyright 2010-2023 Three.js Authors + * SPDX-License-Identifier: MIT + */const ho="161",yB={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},BB={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},$w=0,Sc=1,Yw=2,IB=3,Jw=0,fo=1,kt=2,W8=3,Q8=0,H9=1,g4=2,X4=0,s3=1,_c=2,Qc=3,Rc=4,Xw=5,F6=100,Kw=101,qw=102,bc=103,Dc=104,Zw=200,ex=201,tx=202,nx=203,Fi=204,Wi=205,Cx=206,rx=207,ix=208,ox=209,sx=210,lx=211,ax=212,cx=213,ux=214,dx=0,hx=1,fx=2,Vt=3,gx=4,Ax=5,px=6,vx=7,kn=0,Lx=1,wx=2,w4=0,xx=1,mx=2,kx=3,Md=4,Mx=5,Ex=6,Tc="attached",yx="detached",go=300,t6=301,s5=302,$t=303,Yt=304,le=306,Jt=1e3,M9=1001,Xt=1002,T2=1003,Oi=1004,SB=1004,Y5=1005,_B=1005,A2=1006,Mt=1007,QB=1007,A4=1008,RB=1008,x4=1009,Bx=1010,Ix=1011,Ao=1012,Ed=1013,V4=1014,y8=1015,L3=1016,yd=1017,Bd=1018,Z6=1020,Sx=1021,b9=1023,_x=1024,Qx=1025,e5=1026,w3=1027,Rx=1028,Id=1029,bx=1030,Sd=1031,_d=1033,si=33776,li=33777,ai=33778,ci=33779,Hc=35840,Pc=35841,Nc=35842,jc=35843,Qd=36196,Uc=37492,Fc=37496,Wc=37808,Oc=37809,Gc=37810,zc=37811,Vc=37812,$c=37813,Yc=37814,Jc=37815,Xc=37816,Kc=37817,qc=37818,Zc=37819,eu=37820,tu=37821,ui=36492,nu=36494,Cu=36495,Dx=36283,ru=36284,iu=36285,ou=36286,Tx=2200,Hx=2201,Px=2202,Kt=2300,qt=2301,di=2302,Z5=2400,e3=2401,Zt=2402,po=2500,Rd=2501,bB=0,DB=1,TB=2,bd=3e3,t5=3001,Nx=3200,Dd=3201,d5=0,jx=1,i8="",Q2="srgb",m4="srgb-linear",vo="display-p3",Mn="display-p3-linear",en="linear",c2="srgb",tn="rec709",nn="p3",HB=0,V5=7680,PB=7681,NB=7682,jB=7683,UB=34055,FB=34056,WB=5386,OB=512,GB=513,zB=514,VB=515,$B=516,YB=517,JB=518,su=519,Ux=512,Fx=513,Wx=514,Td=515,Ox=516,Gx=517,zx=518,Vx=519,Cn=35044,G6=35048,XB=35040,KB=35045,qB=35049,ZB=35041,eI=35046,tI=35050,nI=35042,CI="100",lu="300 es",Gi=1035,p4=2e3,rn=2001;class C6{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const C=this._listeners;C[e]===void 0&&(C[e]=[]),C[e].indexOf(n)===-1&&C[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const C=this._listeners;return C[e]!==void 0&&C[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const C=this._listeners[e.type];if(C!==void 0){e.target=this;const r=C.slice(0);for(let i=0,o=r.length;i>8&255]+w9[t>>16&255]+w9[t>>24&255]+"-"+w9[e&255]+w9[e>>8&255]+"-"+w9[e>>16&15|64]+w9[e>>24&255]+"-"+w9[n&63|128]+w9[n>>8&255]+"-"+w9[n>>16&255]+w9[n>>24&255]+w9[C&255]+w9[C>>8&255]+w9[C>>16&255]+w9[C>>24&255]).toLowerCase()}function R2(t,e,n){return Math.max(e,Math.min(n,t))}function Hd(t,e){return(t%e+e)%e}function rI(t,e,n,C,r){return C+(t-e)*(r-C)/(n-e)}function iI(t,e,n){return t!==e?(n-t)/(e-t):0}function Et(t,e,n){return(1-n)*t+n*e}function oI(t,e,n,C){return Et(t,e,1-Math.exp(-n*C))}function sI(t,e=1){return e-Math.abs(Hd(t,e*2)-e)}function lI(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function aI(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function cI(t,e){return t+Math.floor(Math.random()*(e-t+1))}function uI(t,e){return t+Math.random()*(e-t)}function dI(t){return t*(.5-Math.random())}function hI(t){t!==void 0&&(uA=t);let e=uA+=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 fI(t){return t*l3}function gI(t){return t*ne}function au(t){return(t&t-1)===0&&t!==0}function AI(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function zi(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function pI(t,e,n,C,r){const i=Math.cos,o=Math.sin,s=i(n/2),l=o(n/2),d=i((e+C)/2),g=o((e+C)/2),A=i((e-C)/2),p=o((e-C)/2),L=i((C-e)/2),x=o((C-e)/2);switch(r){case"XYX":t.set(s*g,l*A,l*p,s*d);break;case"YZY":t.set(l*p,s*g,l*A,s*d);break;case"ZXZ":t.set(l*A,l*p,s*g,s*d);break;case"XZX":t.set(s*g,l*x,l*L,s*d);break;case"YXY":t.set(l*L,s*g,l*x,s*d);break;case"ZYZ":t.set(l*x,l*L,s*g,s*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function D9(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function Q0(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const vI={DEG2RAD:l3,RAD2DEG:ne,generateUUID:a8,clamp:R2,euclideanModulo:Hd,mapLinear:rI,inverseLerp:iI,lerp:Et,damp:oI,pingpong:sI,smoothstep:lI,smootherstep:aI,randInt:cI,randFloat:uI,randFloatSpread:dI,seededRandom:hI,degToRad:fI,radToDeg:gI,isPowerOfTwo:au,ceilPowerOfTwo:AI,floorPowerOfTwo:zi,setQuaternionFromProperEuler:pI,normalize:Q0,denormalize:D9};class M1{constructor(e=0,n=0){M1.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.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 n=this.x,C=this.y,r=e.elements;return this.x=r[0]*n+r[3]*C+r[6],this.y=r[1]*n+r[4]*C+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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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 n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const C=this.dot(e)/n;return Math.acos(R2(C,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,C=this.y-e.y;return n*n+C*C}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const C=Math.cos(n),r=Math.sin(n),i=this.x-e.x,o=this.y-e.y;return this.x=i*C-o*r+e.x,this.y=i*r+o*C+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class B0{constructor(e,n,C,r,i,o,s,l,d){B0.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,C,r,i,o,s,l,d)}set(e,n,C,r,i,o,s,l,d){const g=this.elements;return g[0]=e,g[1]=r,g[2]=s,g[3]=n,g[4]=i,g[5]=l,g[6]=C,g[7]=o,g[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,C=e.elements;return n[0]=C[0],n[1]=C[1],n[2]=C[2],n[3]=C[3],n[4]=C[4],n[5]=C[5],n[6]=C[6],n[7]=C[7],n[8]=C[8],this}extractBasis(e,n,C){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),C.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const C=e.elements,r=n.elements,i=this.elements,o=C[0],s=C[3],l=C[6],d=C[1],g=C[4],A=C[7],p=C[2],L=C[5],x=C[8],E=r[0],m=r[3],v=r[6],M=r[1],k=r[4],I=r[7],b=r[2],R=r[5],D=r[8];return i[0]=o*E+s*M+l*b,i[3]=o*m+s*k+l*R,i[6]=o*v+s*I+l*D,i[1]=d*E+g*M+A*b,i[4]=d*m+g*k+A*R,i[7]=d*v+g*I+A*D,i[2]=p*E+L*M+x*b,i[5]=p*m+L*k+x*R,i[8]=p*v+L*I+x*D,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8];return n*o*g-n*s*d-C*i*g+C*s*l+r*i*d-r*o*l}invert(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8],A=g*o-s*d,p=s*l-g*i,L=d*i-o*l,x=n*A+C*p+r*L;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const E=1/x;return e[0]=A*E,e[1]=(r*d-g*C)*E,e[2]=(s*C-r*o)*E,e[3]=p*E,e[4]=(g*n-r*l)*E,e[5]=(r*i-s*n)*E,e[6]=L*E,e[7]=(C*l-d*n)*E,e[8]=(o*n-C*i)*E,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,C,r,i,o,s){const l=Math.cos(i),d=Math.sin(i);return this.set(C*l,C*d,-C*(l*o+d*s)+o+e,-r*d,r*l,-r*(-d*o+l*s)+s+n,0,0,1),this}scale(e,n){return this.premultiply(Sl.makeScale(e,n)),this}rotate(e){return this.premultiply(Sl.makeRotation(-e)),this}translate(e,n){return this.premultiply(Sl.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,-C,0,C,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,C=e.elements;for(let r=0;r<9;r++)if(n[r]!==C[r])return!1;return!0}fromArray(e,n=0){for(let C=0;C<9;C++)this.elements[C]=e[C+n];return this}toArray(e=[],n=0){const C=this.elements;return e[n]=C[0],e[n+1]=C[1],e[n+2]=C[2],e[n+3]=C[3],e[n+4]=C[4],e[n+5]=C[5],e[n+6]=C[6],e[n+7]=C[7],e[n+8]=C[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Sl=new B0;function $x(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const LI={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function P7(t,e){return new LI[t](e)}function on(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Yx(){const t=on("canvas");return t.style.display="block",t}const dA={};function a3(t){t in dA||(dA[t]=!0,console.warn(t))}const hA=new B0().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),fA=new B0().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),GC={[m4]:{transfer:en,primaries:tn,toReference:t=>t,fromReference:t=>t},[Q2]:{transfer:c2,primaries:tn,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[Mn]:{transfer:en,primaries:nn,toReference:t=>t.applyMatrix3(fA),fromReference:t=>t.applyMatrix3(hA)},[vo]:{transfer:c2,primaries:nn,toReference:t=>t.convertSRGBToLinear().applyMatrix3(fA),fromReference:t=>t.applyMatrix3(hA).convertLinearToSRGB()}},wI=new Set([m4,Mn]),r2={enabled:!0,_workingColorSpace:m4,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!wI.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const C=GC[e].toReference,r=GC[n].fromReference;return r(C(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return GC[t].primaries},getTransfer:function(t){return t===i8?en:GC[t].transfer}};function Y7(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function _l(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let J3;class Pd{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{J3===void 0&&(J3=on("canvas")),J3.width=e.width,J3.height=e.height;const C=J3.getContext("2d");e instanceof ImageData?C.putImageData(e,0,0):C.drawImage(e,0,0,e.width,e.height),n=J3}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.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 n=on("canvas");n.width=e.width,n.height=e.height;const C=n.getContext("2d");C.drawImage(e,0,0,e.width,e.height);const r=C.getImageData(0,0,e.width,e.height),i=r.data;for(let o=0;o0&&(C.userData=this.userData),n||(e.textures[this.uuid]=C),C}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==go)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Jt:e.x=e.x-Math.floor(e.x);break;case M9:e.x=e.x<0?0:1;break;case Xt: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 Jt:e.y=e.y-Math.floor(e.y);break;case M9:e.y=e.y<0?0:1;break;case Xt: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)}get encoding(){return a3("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Q2?t5:bd}set encoding(e){a3("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===t5?Q2:i8}}w2.DEFAULT_IMAGE=null;w2.DEFAULT_MAPPING=go;w2.DEFAULT_ANISOTROPY=1;class i2{constructor(e=0,n=0,C=0,r=1){i2.prototype.isVector4=!0,this.x=e,this.y=n,this.z=C,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,n,C,r){return this.x=e,this.y=n,this.z=C,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.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 n=this.x,C=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*n+o[4]*C+o[8]*r+o[12]*i,this.y=o[1]*n+o[5]*C+o[9]*r+o[13]*i,this.z=o[2]*n+o[6]*C+o[10]*r+o[14]*i,this.w=o[3]*n+o[7]*C+o[11]*r+o[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,C,r,i;const l=e.elements,d=l[0],g=l[4],A=l[8],p=l[1],L=l[5],x=l[9],E=l[2],m=l[6],v=l[10];if(Math.abs(g-p)<.01&&Math.abs(A-E)<.01&&Math.abs(x-m)<.01){if(Math.abs(g+p)<.1&&Math.abs(A+E)<.1&&Math.abs(x+m)<.1&&Math.abs(d+L+v-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const k=(d+1)/2,I=(L+1)/2,b=(v+1)/2,R=(g+p)/4,D=(A+E)/4,U=(x+m)/4;return k>I&&k>b?k<.01?(C=0,r=.707106781,i=.707106781):(C=Math.sqrt(k),r=R/C,i=D/C):I>b?I<.01?(C=.707106781,r=0,i=.707106781):(r=Math.sqrt(I),C=R/r,i=U/r):b<.01?(C=.707106781,r=.707106781,i=0):(i=Math.sqrt(b),C=D/i,r=U/i),this.set(C,r,i,n),this}let M=Math.sqrt((m-x)*(m-x)+(A-E)*(A-E)+(p-g)*(p-g));return Math.abs(M)<.001&&(M=1),this.x=(m-x)/M,this.y=(A-E)/M,this.z=(p-g)/M,this.w=Math.acos((d+L+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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this.z=e.z+(n.z-e.z)*C,this.w=e.w+(n.w-e.w)*C,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),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 Jx extends C6{constructor(e=1,n=1,C={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new i2(0,0,e,n),this.scissorTest=!1,this.viewport=new i2(0,0,e,n);const r={width:e,height:n,depth:1};C.encoding!==void 0&&(a3("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),C.colorSpace=C.encoding===t5?Q2:i8),C=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:A2,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},C),this.texture=new w2(r,C.mapping,C.wrapS,C.wrapT,C.magFilter,C.minFilter,C.format,C.type,C.anisotropy,C.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=C.generateMipmaps,this.texture.internalFormat=C.internalFormat,this.depthBuffer=C.depthBuffer,this.stencilBuffer=C.stencilBuffer,this.depthTexture=C.depthTexture,this.samples=C.samples}setSize(e,n,C=1){(this.width!==e||this.height!==n||this.depth!==C)&&(this.width=e,this.height=n,this.depth=C,this.texture.image.width=e,this.texture.image.height=n,this.texture.image.depth=C,this.dispose()),this.viewport.set(0,0,e,n),this.scissor.set(0,0,e,n)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const n=Object.assign({},e.texture.image);return this.texture.source=new t3(n),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class R8 extends Jx{constructor(e=1,n=1,C={}){super(e,n,C),this.isWebGLRenderTarget=!0}}class Lo extends w2{constructor(e=null,n=1,C=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:n,height:C,depth:r},this.magFilter=T2,this.minFilter=T2,this.wrapR=M9,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class kI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGLArrayRenderTarget=!0,this.depth=C,this.texture=new Lo(null,e,n,C),this.texture.isRenderTargetTexture=!0}}class Nd extends w2{constructor(e=null,n=1,C=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:n,height:C,depth:r},this.magFilter=T2,this.minFilter=T2,this.wrapR=M9,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class MI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGL3DRenderTarget=!0,this.depth=C,this.texture=new Nd(null,e,n,C),this.texture.isRenderTargetTexture=!0}}class EI extends R8{constructor(e=1,n=1,C=1,r={}){super(e,n,r),this.isWebGLMultipleRenderTargets=!0;const i=this.texture;this.texture=[];for(let o=0;o=0?1:-1,k=1-v*v;if(k>Number.EPSILON){const b=Math.sqrt(k),R=Math.atan2(b,v*M);m=Math.sin(m*R)/b,s=Math.sin(s*R)/b}const I=s*M;if(l=l*m+p*I,d=d*m+L*I,g=g*m+x*I,A=A*m+E*I,m===1-s){const b=1/Math.sqrt(l*l+d*d+g*g+A*A);l*=b,d*=b,g*=b,A*=b}}e[n]=l,e[n+1]=d,e[n+2]=g,e[n+3]=A}static multiplyQuaternionsFlat(e,n,C,r,i,o){const s=C[r],l=C[r+1],d=C[r+2],g=C[r+3],A=i[o],p=i[o+1],L=i[o+2],x=i[o+3];return e[n]=s*x+g*A+l*L-d*p,e[n+1]=l*x+g*p+d*A-s*L,e[n+2]=d*x+g*L+s*p-l*A,e[n+3]=g*x-s*A-l*p-d*L,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,n,C,r){return this._x=e,this._y=n,this._z=C,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,n=!0){const C=e._x,r=e._y,i=e._z,o=e._order,s=Math.cos,l=Math.sin,d=s(C/2),g=s(r/2),A=s(i/2),p=l(C/2),L=l(r/2),x=l(i/2);switch(o){case"XYZ":this._x=p*g*A+d*L*x,this._y=d*L*A-p*g*x,this._z=d*g*x+p*L*A,this._w=d*g*A-p*L*x;break;case"YXZ":this._x=p*g*A+d*L*x,this._y=d*L*A-p*g*x,this._z=d*g*x-p*L*A,this._w=d*g*A+p*L*x;break;case"ZXY":this._x=p*g*A-d*L*x,this._y=d*L*A+p*g*x,this._z=d*g*x+p*L*A,this._w=d*g*A-p*L*x;break;case"ZYX":this._x=p*g*A-d*L*x,this._y=d*L*A+p*g*x,this._z=d*g*x-p*L*A,this._w=d*g*A+p*L*x;break;case"YZX":this._x=p*g*A+d*L*x,this._y=d*L*A+p*g*x,this._z=d*g*x-p*L*A,this._w=d*g*A-p*L*x;break;case"XZY":this._x=p*g*A-d*L*x,this._y=d*L*A-p*g*x,this._z=d*g*x+p*L*A,this._w=d*g*A+p*L*x;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const C=n/2,r=Math.sin(C);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(C),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,C=n[0],r=n[4],i=n[8],o=n[1],s=n[5],l=n[9],d=n[2],g=n[6],A=n[10],p=C+s+A;if(p>0){const L=.5/Math.sqrt(p+1);this._w=.25/L,this._x=(g-l)*L,this._y=(i-d)*L,this._z=(o-r)*L}else if(C>s&&C>A){const L=2*Math.sqrt(1+C-s-A);this._w=(g-l)/L,this._x=.25*L,this._y=(r+o)/L,this._z=(i+d)/L}else if(s>A){const L=2*Math.sqrt(1+s-C-A);this._w=(i-d)/L,this._x=(r+o)/L,this._y=.25*L,this._z=(l+g)/L}else{const L=2*Math.sqrt(1+A-C-s);this._w=(o-r)/L,this._x=(i+d)/L,this._y=(l+g)/L,this._z=.25*L}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let C=e.dot(n)+1;return CMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=C):(this._x=0,this._y=-e.z,this._z=e.y,this._w=C)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=C),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(R2(this.dot(e),-1,1)))}rotateTowards(e,n){const C=this.angleTo(e);if(C===0)return this;const r=Math.min(1,n/C);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,n){const C=e._x,r=e._y,i=e._z,o=e._w,s=n._x,l=n._y,d=n._z,g=n._w;return this._x=C*g+o*s+r*d-i*l,this._y=r*g+o*l+i*s-C*d,this._z=i*g+o*d+C*l-r*s,this._w=o*g-C*s-r*l-i*d,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const C=this._x,r=this._y,i=this._z,o=this._w;let s=o*e._w+C*e._x+r*e._y+i*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=o,this._x=C,this._y=r,this._z=i,this;const l=1-s*s;if(l<=Number.EPSILON){const L=1-n;return this._w=L*o+n*this._w,this._x=L*C+n*this._x,this._y=L*r+n*this._y,this._z=L*i+n*this._z,this.normalize(),this}const d=Math.sqrt(l),g=Math.atan2(d,s),A=Math.sin((1-n)*g)/d,p=Math.sin(n*g)/d;return this._w=o*A+this._w*p,this._x=C*A+this._x*p,this._y=r*A+this._y*p,this._z=i*A+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,n,C){return this.copy(e).slerp(n,C)}random(){const e=Math.random(),n=Math.sqrt(1-e),C=Math.sqrt(e),r=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(n*Math.cos(r),C*Math.sin(i),C*Math.cos(i),n*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),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 G{constructor(e=0,n=0,C=0){G.prototype.isVector3=!0,this.x=e,this.y=n,this.z=C}set(e,n,C){return C===void 0&&(C=this.z),this.x=e,this.y=n,this.z=C,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,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;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,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,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,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.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,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion(gA.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion(gA.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,C=this.y,r=this.z,i=e.elements;return this.x=i[0]*n+i[3]*C+i[6]*r,this.y=i[1]*n+i[4]*C+i[7]*r,this.z=i[2]*n+i[5]*C+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,C=this.y,r=this.z,i=e.elements,o=1/(i[3]*n+i[7]*C+i[11]*r+i[15]);return this.x=(i[0]*n+i[4]*C+i[8]*r+i[12])*o,this.y=(i[1]*n+i[5]*C+i[9]*r+i[13])*o,this.z=(i[2]*n+i[6]*C+i[10]*r+i[14])*o,this}applyQuaternion(e){const n=this.x,C=this.y,r=this.z,i=e.x,o=e.y,s=e.z,l=e.w,d=2*(o*r-s*C),g=2*(s*n-i*r),A=2*(i*C-o*n);return this.x=n+l*d+o*A-s*g,this.y=C+l*g+s*d-i*A,this.z=r+l*A+i*g-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,C=this.y,r=this.z,i=e.elements;return this.x=i[0]*n+i[4]*C+i[8]*r,this.y=i[1]*n+i[5]*C+i[9]*r,this.z=i[2]*n+i[6]*C+i[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,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const C=this.length();return this.divideScalar(C||1).multiplyScalar(Math.max(e,Math.min(n,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(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,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,C){return this.x=e.x+(n.x-e.x)*C,this.y=e.y+(n.y-e.y)*C,this.z=e.z+(n.z-e.z)*C,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const C=e.x,r=e.y,i=e.z,o=n.x,s=n.y,l=n.z;return this.x=r*l-i*s,this.y=i*o-C*l,this.z=C*s-r*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const C=e.dot(this)/n;return this.copy(e).multiplyScalar(C)}projectOnPlane(e){return Rl.copy(this).projectOnVector(e),this.sub(Rl)}reflect(e){return this.sub(Rl.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const C=this.dot(e)/n;return Math.acos(R2(C,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,C=this.y-e.y,r=this.z-e.z;return n*n+C*C+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,n,C){const r=Math.sin(n)*e;return this.x=r*Math.sin(C),this.y=Math.cos(n)*e,this.z=r*Math.cos(C),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,C){return this.x=e*Math.sin(n),this.y=C,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),C=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=C,this.z=r,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*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,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,n=Math.random()*Math.PI*2,C=Math.sqrt(1-e**2);return this.x=C*Math.cos(n),this.y=C*Math.sin(n),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Rl=new G,gA=new P9;class V2{constructor(e=new G(1/0,1/0,1/0),n=new G(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,C=e.length;nthis.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,n){return n.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,N8),N8.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,C;return e.normal.x>0?(n=e.normal.x*this.min.x,C=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,C=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,C+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,C+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,C+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,C+=e.normal.z*this.min.z),n<=-e.constant&&C>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Je),VC.subVectors(this.max,Je),X3.subVectors(e.a,Je),K3.subVectors(e.b,Je),q3.subVectors(e.c,Je),I6.subVectors(K3,X3),S6.subVectors(q3,K3),Q5.subVectors(X3,q3);let n=[0,-I6.z,I6.y,0,-S6.z,S6.y,0,-Q5.z,Q5.y,I6.z,0,-I6.x,S6.z,0,-S6.x,Q5.z,0,-Q5.x,-I6.y,I6.x,0,-S6.y,S6.x,0,-Q5.y,Q5.x,0];return!bl(n,X3,K3,q3,VC)||(n=[1,0,0,0,1,0,0,0,1],!bl(n,X3,K3,q3,VC))?!1:($C.crossVectors(I6,S6),n=[$C.x,$C.y,$C.z],bl(n,X3,K3,q3,VC))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,N8).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(N8).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:(b4[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),b4[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),b4[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),b4[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),b4[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),b4[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),b4[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),b4[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(b4),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 b4=[new G,new G,new G,new G,new G,new G,new G,new G],N8=new G,zC=new V2,X3=new G,K3=new G,q3=new G,I6=new G,S6=new G,Q5=new G,Je=new G,VC=new G,$C=new G,R5=new G;function bl(t,e,n,C,r){for(let i=0,o=t.length-3;i<=o;i+=3){R5.fromArray(t,i);const s=r.x*Math.abs(R5.x)+r.y*Math.abs(R5.y)+r.z*Math.abs(R5.z),l=e.dot(R5),d=n.dot(R5),g=C.dot(R5);if(Math.max(-Math.max(l,d,g),Math.min(l,d,g))>s)return!1}return!0}const yI=new V2,Xe=new G,Dl=new G;class i9{constructor(e=new G,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const C=this.center;n!==void 0?C.copy(n):yI.setFromPoints(e).getCenter(C);let r=0;for(let i=0,o=e.length;ithis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}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;Xe.subVectors(e,this.center);const n=Xe.lengthSq();if(n>this.radius*this.radius){const C=Math.sqrt(n),r=(C-this.radius)*.5;this.center.addScaledVector(Xe,r/C),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):(Dl.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Xe.copy(e.center).add(Dl)),this.expandByPoint(Xe.copy(e.center).sub(Dl))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const D4=new G,Tl=new G,YC=new G,_6=new G,Hl=new G,JC=new G,Pl=new G;class ae{constructor(e=new G,n=new G(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.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,D4)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const C=n.dot(this.direction);return C<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,C)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=D4.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(D4.copy(this.origin).addScaledVector(this.direction,n),D4.distanceToSquared(e))}distanceSqToSegment(e,n,C,r){Tl.copy(e).add(n).multiplyScalar(.5),YC.copy(n).sub(e).normalize(),_6.copy(this.origin).sub(Tl);const i=e.distanceTo(n)*.5,o=-this.direction.dot(YC),s=_6.dot(this.direction),l=-_6.dot(YC),d=_6.lengthSq(),g=Math.abs(1-o*o);let A,p,L,x;if(g>0)if(A=o*l-s,p=o*s-l,x=i*g,A>=0)if(p>=-x)if(p<=x){const E=1/g;A*=E,p*=E,L=A*(A+o*p+2*s)+p*(o*A+p+2*l)+d}else p=i,A=Math.max(0,-(o*p+s)),L=-A*A+p*(p+2*l)+d;else p=-i,A=Math.max(0,-(o*p+s)),L=-A*A+p*(p+2*l)+d;else p<=-x?(A=Math.max(0,-(-o*i+s)),p=A>0?-i:Math.min(Math.max(-i,-l),i),L=-A*A+p*(p+2*l)+d):p<=x?(A=0,p=Math.min(Math.max(-i,-l),i),L=p*(p+2*l)+d):(A=Math.max(0,-(o*i+s)),p=A>0?i:Math.min(Math.max(-i,-l),i),L=-A*A+p*(p+2*l)+d);else p=o>0?-i:i,A=Math.max(0,-(o*p+s)),L=-A*A+p*(p+2*l)+d;return C&&C.copy(this.origin).addScaledVector(this.direction,A),r&&r.copy(Tl).addScaledVector(YC,p),L}intersectSphere(e,n){D4.subVectors(e.center,this.origin);const C=D4.dot(this.direction),r=D4.dot(D4)-C*C,i=e.radius*e.radius;if(r>i)return null;const o=Math.sqrt(i-r),s=C-o,l=C+o;return l<0?null:s<0?this.at(l,n):this.at(s,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const C=-(this.origin.dot(e.normal)+e.constant)/n;return C>=0?C:null}intersectPlane(e,n){const C=this.distanceToPlane(e);return C===null?null:this.at(C,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let C,r,i,o,s,l;const d=1/this.direction.x,g=1/this.direction.y,A=1/this.direction.z,p=this.origin;return d>=0?(C=(e.min.x-p.x)*d,r=(e.max.x-p.x)*d):(C=(e.max.x-p.x)*d,r=(e.min.x-p.x)*d),g>=0?(i=(e.min.y-p.y)*g,o=(e.max.y-p.y)*g):(i=(e.max.y-p.y)*g,o=(e.min.y-p.y)*g),C>o||i>r||((i>C||isNaN(C))&&(C=i),(o=0?(s=(e.min.z-p.z)*A,l=(e.max.z-p.z)*A):(s=(e.max.z-p.z)*A,l=(e.min.z-p.z)*A),C>l||s>r)||((s>C||C!==C)&&(C=s),(l=0?C:r,n)}intersectsBox(e){return this.intersectBox(e,D4)!==null}intersectTriangle(e,n,C,r,i){Hl.subVectors(n,e),JC.subVectors(C,e),Pl.crossVectors(Hl,JC);let o=this.direction.dot(Pl),s;if(o>0){if(r)return null;s=1}else if(o<0)s=-1,o=-o;else return null;_6.subVectors(this.origin,e);const l=s*this.direction.dot(JC.crossVectors(_6,JC));if(l<0)return null;const d=s*this.direction.dot(Hl.cross(_6));if(d<0||l+d>o)return null;const g=-s*_6.dot(Pl);return g<0?null:this.at(g/o,i)}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 f0{constructor(e,n,C,r,i,o,s,l,d,g,A,p,L,x,E,m){f0.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,n,C,r,i,o,s,l,d,g,A,p,L,x,E,m)}set(e,n,C,r,i,o,s,l,d,g,A,p,L,x,E,m){const v=this.elements;return v[0]=e,v[4]=n,v[8]=C,v[12]=r,v[1]=i,v[5]=o,v[9]=s,v[13]=l,v[2]=d,v[6]=g,v[10]=A,v[14]=p,v[3]=L,v[7]=x,v[11]=E,v[15]=m,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 f0().fromArray(this.elements)}copy(e){const n=this.elements,C=e.elements;return n[0]=C[0],n[1]=C[1],n[2]=C[2],n[3]=C[3],n[4]=C[4],n[5]=C[5],n[6]=C[6],n[7]=C[7],n[8]=C[8],n[9]=C[9],n[10]=C[10],n[11]=C[11],n[12]=C[12],n[13]=C[13],n[14]=C[14],n[15]=C[15],this}copyPosition(e){const n=this.elements,C=e.elements;return n[12]=C[12],n[13]=C[13],n[14]=C[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,C){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),C.setFromMatrixColumn(this,2),this}makeBasis(e,n,C){return this.set(e.x,n.x,C.x,0,e.y,n.y,C.y,0,e.z,n.z,C.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,C=e.elements,r=1/Z3.setFromMatrixColumn(e,0).length(),i=1/Z3.setFromMatrixColumn(e,1).length(),o=1/Z3.setFromMatrixColumn(e,2).length();return n[0]=C[0]*r,n[1]=C[1]*r,n[2]=C[2]*r,n[3]=0,n[4]=C[4]*i,n[5]=C[5]*i,n[6]=C[6]*i,n[7]=0,n[8]=C[8]*o,n[9]=C[9]*o,n[10]=C[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,C=e.x,r=e.y,i=e.z,o=Math.cos(C),s=Math.sin(C),l=Math.cos(r),d=Math.sin(r),g=Math.cos(i),A=Math.sin(i);if(e.order==="XYZ"){const p=o*g,L=o*A,x=s*g,E=s*A;n[0]=l*g,n[4]=-l*A,n[8]=d,n[1]=L+x*d,n[5]=p-E*d,n[9]=-s*l,n[2]=E-p*d,n[6]=x+L*d,n[10]=o*l}else if(e.order==="YXZ"){const p=l*g,L=l*A,x=d*g,E=d*A;n[0]=p+E*s,n[4]=x*s-L,n[8]=o*d,n[1]=o*A,n[5]=o*g,n[9]=-s,n[2]=L*s-x,n[6]=E+p*s,n[10]=o*l}else if(e.order==="ZXY"){const p=l*g,L=l*A,x=d*g,E=d*A;n[0]=p-E*s,n[4]=-o*A,n[8]=x+L*s,n[1]=L+x*s,n[5]=o*g,n[9]=E-p*s,n[2]=-o*d,n[6]=s,n[10]=o*l}else if(e.order==="ZYX"){const p=o*g,L=o*A,x=s*g,E=s*A;n[0]=l*g,n[4]=x*d-L,n[8]=p*d+E,n[1]=l*A,n[5]=E*d+p,n[9]=L*d-x,n[2]=-d,n[6]=s*l,n[10]=o*l}else if(e.order==="YZX"){const p=o*l,L=o*d,x=s*l,E=s*d;n[0]=l*g,n[4]=E-p*A,n[8]=x*A+L,n[1]=A,n[5]=o*g,n[9]=-s*g,n[2]=-d*g,n[6]=L*A+x,n[10]=p-E*A}else if(e.order==="XZY"){const p=o*l,L=o*d,x=s*l,E=s*d;n[0]=l*g,n[4]=-A,n[8]=d*g,n[1]=p*A+E,n[5]=o*g,n[9]=L*A-x,n[2]=x*A-L,n[6]=s*g,n[10]=E*A+p}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(BI,e,II)}lookAt(e,n,C){const r=this.elements;return n8.subVectors(e,n),n8.lengthSq()===0&&(n8.z=1),n8.normalize(),Q6.crossVectors(C,n8),Q6.lengthSq()===0&&(Math.abs(C.z)===1?n8.x+=1e-4:n8.z+=1e-4,n8.normalize(),Q6.crossVectors(C,n8)),Q6.normalize(),XC.crossVectors(n8,Q6),r[0]=Q6.x,r[4]=XC.x,r[8]=n8.x,r[1]=Q6.y,r[5]=XC.y,r[9]=n8.y,r[2]=Q6.z,r[6]=XC.z,r[10]=n8.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const C=e.elements,r=n.elements,i=this.elements,o=C[0],s=C[4],l=C[8],d=C[12],g=C[1],A=C[5],p=C[9],L=C[13],x=C[2],E=C[6],m=C[10],v=C[14],M=C[3],k=C[7],I=C[11],b=C[15],R=r[0],D=r[4],U=r[8],X=r[12],_=r[1],P=r[5],Z=r[9],f1=r[13],J=r[2],l1=r[6],i1=r[10],g1=r[14],F=r[3],e1=r[7],C1=r[11],d1=r[15];return i[0]=o*R+s*_+l*J+d*F,i[4]=o*D+s*P+l*l1+d*e1,i[8]=o*U+s*Z+l*i1+d*C1,i[12]=o*X+s*f1+l*g1+d*d1,i[1]=g*R+A*_+p*J+L*F,i[5]=g*D+A*P+p*l1+L*e1,i[9]=g*U+A*Z+p*i1+L*C1,i[13]=g*X+A*f1+p*g1+L*d1,i[2]=x*R+E*_+m*J+v*F,i[6]=x*D+E*P+m*l1+v*e1,i[10]=x*U+E*Z+m*i1+v*C1,i[14]=x*X+E*f1+m*g1+v*d1,i[3]=M*R+k*_+I*J+b*F,i[7]=M*D+k*P+I*l1+b*e1,i[11]=M*U+k*Z+I*i1+b*C1,i[15]=M*X+k*f1+I*g1+b*d1,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],C=e[4],r=e[8],i=e[12],o=e[1],s=e[5],l=e[9],d=e[13],g=e[2],A=e[6],p=e[10],L=e[14],x=e[3],E=e[7],m=e[11],v=e[15];return x*(+i*l*A-r*d*A-i*s*p+C*d*p+r*s*L-C*l*L)+E*(+n*l*L-n*d*p+i*o*p-r*o*L+r*d*g-i*l*g)+m*(+n*d*A-n*s*L-i*o*A+C*o*L+i*s*g-C*d*g)+v*(-r*s*g-n*l*A+n*s*p+r*o*A-C*o*p+C*l*g)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,C){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=n,r[14]=C),this}invert(){const e=this.elements,n=e[0],C=e[1],r=e[2],i=e[3],o=e[4],s=e[5],l=e[6],d=e[7],g=e[8],A=e[9],p=e[10],L=e[11],x=e[12],E=e[13],m=e[14],v=e[15],M=A*m*d-E*p*d+E*l*L-s*m*L-A*l*v+s*p*v,k=x*p*d-g*m*d-x*l*L+o*m*L+g*l*v-o*p*v,I=g*E*d-x*A*d+x*s*L-o*E*L-g*s*v+o*A*v,b=x*A*l-g*E*l-x*s*p+o*E*p+g*s*m-o*A*m,R=n*M+C*k+r*I+i*b;if(R===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/R;return e[0]=M*D,e[1]=(E*p*i-A*m*i-E*r*L+C*m*L+A*r*v-C*p*v)*D,e[2]=(s*m*i-E*l*i+E*r*d-C*m*d-s*r*v+C*l*v)*D,e[3]=(A*l*i-s*p*i-A*r*d+C*p*d+s*r*L-C*l*L)*D,e[4]=k*D,e[5]=(g*m*i-x*p*i+x*r*L-n*m*L-g*r*v+n*p*v)*D,e[6]=(x*l*i-o*m*i-x*r*d+n*m*d+o*r*v-n*l*v)*D,e[7]=(o*p*i-g*l*i+g*r*d-n*p*d-o*r*L+n*l*L)*D,e[8]=I*D,e[9]=(x*A*i-g*E*i-x*C*L+n*E*L+g*C*v-n*A*v)*D,e[10]=(o*E*i-x*s*i+x*C*d-n*E*d-o*C*v+n*s*v)*D,e[11]=(g*s*i-o*A*i-g*C*d+n*A*d+o*C*L-n*s*L)*D,e[12]=b*D,e[13]=(g*E*r-x*A*r+x*C*p-n*E*p-g*C*m+n*A*m)*D,e[14]=(x*s*r-o*E*r-x*C*l+n*E*l+o*C*m-n*s*m)*D,e[15]=(o*A*r-g*s*r+g*C*l-n*A*l-o*C*p+n*s*p)*D,this}scale(e){const n=this.elements,C=e.x,r=e.y,i=e.z;return n[0]*=C,n[4]*=r,n[8]*=i,n[1]*=C,n[5]*=r,n[9]*=i,n[2]*=C,n[6]*=r,n[10]*=i,n[3]*=C,n[7]*=r,n[11]*=i,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],C=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(n,C,r))}makeTranslation(e,n,C){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,n,0,0,1,C,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),C=Math.sin(e);return this.set(1,0,0,0,0,n,-C,0,0,C,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,0,C,0,0,1,0,0,-C,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),C=Math.sin(e);return this.set(n,-C,0,0,C,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const C=Math.cos(n),r=Math.sin(n),i=1-C,o=e.x,s=e.y,l=e.z,d=i*o,g=i*s;return this.set(d*o+C,d*s-r*l,d*l+r*s,0,d*s+r*l,g*s+C,g*l-r*o,0,d*l-r*s,g*l+r*o,i*l*l+C,0,0,0,0,1),this}makeScale(e,n,C){return this.set(e,0,0,0,0,n,0,0,0,0,C,0,0,0,0,1),this}makeShear(e,n,C,r,i,o){return this.set(1,C,i,0,e,1,o,0,n,r,1,0,0,0,0,1),this}compose(e,n,C){const r=this.elements,i=n._x,o=n._y,s=n._z,l=n._w,d=i+i,g=o+o,A=s+s,p=i*d,L=i*g,x=i*A,E=o*g,m=o*A,v=s*A,M=l*d,k=l*g,I=l*A,b=C.x,R=C.y,D=C.z;return r[0]=(1-(E+v))*b,r[1]=(L+I)*b,r[2]=(x-k)*b,r[3]=0,r[4]=(L-I)*R,r[5]=(1-(p+v))*R,r[6]=(m+M)*R,r[7]=0,r[8]=(x+k)*D,r[9]=(m-M)*D,r[10]=(1-(p+E))*D,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,n,C){const r=this.elements;let i=Z3.set(r[0],r[1],r[2]).length();const o=Z3.set(r[4],r[5],r[6]).length(),s=Z3.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],j8.copy(this);const d=1/i,g=1/o,A=1/s;return j8.elements[0]*=d,j8.elements[1]*=d,j8.elements[2]*=d,j8.elements[4]*=g,j8.elements[5]*=g,j8.elements[6]*=g,j8.elements[8]*=A,j8.elements[9]*=A,j8.elements[10]*=A,n.setFromRotationMatrix(j8),C.x=i,C.y=o,C.z=s,this}makePerspective(e,n,C,r,i,o,s=p4){const l=this.elements,d=2*i/(n-e),g=2*i/(C-r),A=(n+e)/(n-e),p=(C+r)/(C-r);let L,x;if(s===p4)L=-(o+i)/(o-i),x=-2*o*i/(o-i);else if(s===rn)L=-o/(o-i),x=-o*i/(o-i);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+s);return l[0]=d,l[4]=0,l[8]=A,l[12]=0,l[1]=0,l[5]=g,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=L,l[14]=x,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,n,C,r,i,o,s=p4){const l=this.elements,d=1/(n-e),g=1/(C-r),A=1/(o-i),p=(n+e)*d,L=(C+r)*g;let x,E;if(s===p4)x=(o+i)*A,E=-2*A;else if(s===rn)x=i*A,E=-1*A;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+s);return l[0]=2*d,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*g,l[9]=0,l[13]=-L,l[2]=0,l[6]=0,l[10]=E,l[14]=-x,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const n=this.elements,C=e.elements;for(let r=0;r<16;r++)if(n[r]!==C[r])return!1;return!0}fromArray(e,n=0){for(let C=0;C<16;C++)this.elements[C]=e[C+n];return this}toArray(e=[],n=0){const C=this.elements;return e[n]=C[0],e[n+1]=C[1],e[n+2]=C[2],e[n+3]=C[3],e[n+4]=C[4],e[n+5]=C[5],e[n+6]=C[6],e[n+7]=C[7],e[n+8]=C[8],e[n+9]=C[9],e[n+10]=C[10],e[n+11]=C[11],e[n+12]=C[12],e[n+13]=C[13],e[n+14]=C[14],e[n+15]=C[15],e}}const Z3=new G,j8=new f0,BI=new G(0,0,0),II=new G(1,1,1),Q6=new G,XC=new G,n8=new G,AA=new f0,pA=new P9;class ce{constructor(e=0,n=0,C=0,r=ce.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=C,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,n,C,r=this._order){return this._x=e,this._y=n,this._z=C,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,n=this._order,C=!0){const r=e.elements,i=r[0],o=r[4],s=r[8],l=r[1],d=r[5],g=r[9],A=r[2],p=r[6],L=r[10];switch(n){case"XYZ":this._y=Math.asin(R2(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-g,L),this._z=Math.atan2(-o,i)):(this._x=Math.atan2(p,d),this._z=0);break;case"YXZ":this._x=Math.asin(-R2(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(s,L),this._z=Math.atan2(l,d)):(this._y=Math.atan2(-A,i),this._z=0);break;case"ZXY":this._x=Math.asin(R2(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-A,L),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(l,i));break;case"ZYX":this._y=Math.asin(-R2(A,-1,1)),Math.abs(A)<.9999999?(this._x=Math.atan2(p,L),this._z=Math.atan2(l,i)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(R2(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-g,d),this._y=Math.atan2(-A,i)):(this._x=0,this._y=Math.atan2(s,L));break;case"XZY":this._z=Math.asin(-R2(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,d),this._y=Math.atan2(s,i)):(this._x=Math.atan2(-g,L),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,C===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,C){return AA.makeRotationFromQuaternion(e),this.setFromRotationMatrix(AA,n,C)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return pA.setFromEuler(this),this.setFromQuaternion(pA,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=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+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}}ce.DEFAULT_ORDER="XYZ";let c3=class{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let C=0;C0&&(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(s=>({boxInitialized:s.boxInitialized,boxMin:s.box.min.toArray(),boxMax:s.box.max.toArray(),sphereInitialized:s.sphereInitialized,sphereRadius:s.sphere.radius,sphereCenter:s.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 i(s,l){return s[l.uuid]===void 0&&(s[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=i(e.geometries,this.geometry);const s=this.geometry.parameters;if(s!==void 0&&s.shapes!==void 0){const l=s.shapes;if(Array.isArray(l))for(let d=0,g=l.length;d0){r.children=[];for(let s=0;s0){r.animations=[];for(let s=0;s0&&(C.geometries=s),l.length>0&&(C.materials=l),d.length>0&&(C.textures=d),g.length>0&&(C.images=g),A.length>0&&(C.shapes=A),p.length>0&&(C.skeletons=p),L.length>0&&(C.animations=L),x.length>0&&(C.nodes=x)}return C.object=r,C;function o(s){const l=[];for(const d in s){const g=s[d];delete g.metadata,l.push(g)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!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)),n===!0)for(let C=0;C0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,n,C,r,i){U8.subVectors(r,n),H4.subVectors(C,n),Nl.subVectors(e,n);const o=U8.dot(U8),s=U8.dot(H4),l=U8.dot(Nl),d=H4.dot(H4),g=H4.dot(Nl),A=o*d-s*s;if(A===0)return i.set(0,0,0),null;const p=1/A,L=(d*l-s*g)*p,x=(o*g-s*l)*p;return i.set(1-L-x,x,L)}static containsPoint(e,n,C,r){return this.getBarycoord(e,n,C,r,P4)===null?!1:P4.x>=0&&P4.y>=0&&P4.x+P4.y<=1}static getInterpolation(e,n,C,r,i,o,s,l){return this.getBarycoord(e,n,C,r,P4)===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(i,P4.x),l.addScaledVector(o,P4.y),l.addScaledVector(s,P4.z),l)}static isFrontFacing(e,n,C,r){return U8.subVectors(C,n),H4.subVectors(e,n),U8.cross(H4).dot(r)<0}set(e,n,C){return this.a.copy(e),this.b.copy(n),this.c.copy(C),this}setFromPointsAndIndices(e,n,C,r){return this.a.copy(e[n]),this.b.copy(e[C]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,n,C,r){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,C),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 U8.subVectors(this.c,this.b),H4.subVectors(this.a,this.b),U8.cross(H4).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return m7.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return m7.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,C,r,i){return m7.getInterpolation(e,this.a,this.b,this.c,n,C,r,i)}containsPoint(e){return m7.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return m7.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const C=this.a,r=this.b,i=this.c;let o,s;t7.subVectors(r,C),n7.subVectors(i,C),jl.subVectors(e,C);const l=t7.dot(jl),d=n7.dot(jl);if(l<=0&&d<=0)return n.copy(C);Ul.subVectors(e,r);const g=t7.dot(Ul),A=n7.dot(Ul);if(g>=0&&A<=g)return n.copy(r);const p=l*A-g*d;if(p<=0&&l>=0&&g<=0)return o=l/(l-g),n.copy(C).addScaledVector(t7,o);Fl.subVectors(e,i);const L=t7.dot(Fl),x=n7.dot(Fl);if(x>=0&&L<=x)return n.copy(i);const E=L*d-l*x;if(E<=0&&d>=0&&x<=0)return s=d/(d-x),n.copy(C).addScaledVector(n7,s);const m=g*x-L*A;if(m<=0&&A-g>=0&&L-x>=0)return mA.subVectors(i,r),s=(A-g)/(A-g+(L-x)),n.copy(r).addScaledVector(mA,s);const v=1/(m+E+p);return o=E*v,s=p*v,n.copy(C).addScaledVector(t7,o).addScaledVector(n7,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}};const Xx={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},R6={h:0,s:0,l:0},qC={h:0,s:0,l:0};function Wl(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class Z1{constructor(e,n,C){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,C)}set(e,n,C){if(n===void 0&&C===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,n,C);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=Q2){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,r2.toWorkingColorSpace(this,n),this}setRGB(e,n,C,r=r2.workingColorSpace){return this.r=e,this.g=n,this.b=C,r2.toWorkingColorSpace(this,r),this}setHSL(e,n,C,r=r2.workingColorSpace){if(e=Hd(e,1),n=R2(n,0,1),C=R2(C,0,1),n===0)this.r=this.g=this.b=C;else{const i=C<=.5?C*(1+n):C+n-C*n,o=2*C-i;this.r=Wl(o,i,e+1/3),this.g=Wl(o,i,e),this.b=Wl(o,i,e-1/3)}return r2.toWorkingColorSpace(this,r),this}setStyle(e,n=Q2){function C(i){i!==void 0&&parseFloat(i)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let i;const o=r[1],s=r[2];switch(o){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,n);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,n);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return C(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const i=r[1],o=i.length;if(o===3)return this.setRGB(parseInt(i.charAt(0),16)/15,parseInt(i.charAt(1),16)/15,parseInt(i.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(i,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=Q2){const C=Xx[e.toLowerCase()];return C!==void 0?this.setHex(C,n):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=Y7(e.r),this.g=Y7(e.g),this.b=Y7(e.b),this}copyLinearToSRGB(e){return this.r=_l(e.r),this.g=_l(e.g),this.b=_l(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Q2){return r2.fromWorkingColorSpace(x9.copy(this),e),Math.round(R2(x9.r*255,0,255))*65536+Math.round(R2(x9.g*255,0,255))*256+Math.round(R2(x9.b*255,0,255))}getHexString(e=Q2){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=r2.workingColorSpace){r2.fromWorkingColorSpace(x9.copy(this),n);const C=x9.r,r=x9.g,i=x9.b,o=Math.max(C,r,i),s=Math.min(C,r,i);let l,d;const g=(s+o)/2;if(s===o)l=0,d=0;else{const A=o-s;switch(d=g<=.5?A/(o+s):A/(2-o-s),o){case C:l=(r-i)/A+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const C=e[n];if(C===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const r=this[n];if(r===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(C):r&&r.isVector3&&C&&C.isVector3?r.copy(C):this[n]=C}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={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&&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(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(C.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(C.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,C.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),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(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(C.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).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(e).uuid),this.map&&this.map.isTexture&&(C.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(C.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(C.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(C.lightMap=this.lightMap.toJSON(e).uuid,C.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(C.aoMap=this.aoMap.toJSON(e).uuid,C.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(C.bumpMap=this.bumpMap.toJSON(e).uuid,C.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(C.normalMap=this.normalMap.toJSON(e).uuid,C.normalMapType=this.normalMapType,C.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(C.displacementMap=this.displacementMap.toJSON(e).uuid,C.displacementScale=this.displacementScale,C.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(C.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(C.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(C.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(C.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(C.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(C.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(C.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(C.combine=this.combine)),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(e).uuid),this.transmission!==void 0&&(C.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(C.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(C.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(C.thicknessMap=this.thicknessMap.toJSON(e).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!==s3&&(C.blending=this.blending),this.side!==Q8&&(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!==Fi&&(C.blendSrc=this.blendSrc),this.blendDst!==Wi&&(C.blendDst=this.blendDst),this.blendEquation!==F6&&(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!==Vt&&(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!==su&&(C.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(C.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(C.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==V5&&(C.stencilFail=this.stencilFail),this.stencilZFail!==V5&&(C.stencilZFail=this.stencilZFail),this.stencilZPass!==V5&&(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 r(i){const o=[];for(const s in i){const l=i[s];delete l.metadata,o.push(l)}return o}if(n){const i=r(e.textures),o=r(e.images);i.length>0&&(C.textures=i),o.length>0&&(C.images=o)}return C}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 n=e.clippingPlanes;let C=null;if(n!==null){const r=n.length;C=new Array(r);for(let i=0;i!==r;++i)C[i]=n[i].clone()}return this.clippingPlanes=C,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 K9 extends K2{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Z1(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.combine=kn,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.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 O4=TI();function TI(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),C=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const d=l-127;d<-27?(C[l]=0,C[l|256]=32768,r[l]=24,r[l|256]=24):d<-14?(C[l]=1024>>-d-14,C[l|256]=1024>>-d-14|32768,r[l]=-d-1,r[l|256]=-d-1):d<=15?(C[l]=d+15<<10,C[l|256]=d+15<<10|32768,r[l]=13,r[l|256]=13):d<128?(C[l]=31744,C[l|256]=64512,r[l]=24,r[l|256]=24):(C[l]=31744,C[l|256]=64512,r[l]=13,r[l|256]=13)}const i=new Uint32Array(2048),o=new Uint32Array(64),s=new Uint32Array(64);for(let l=1;l<1024;++l){let d=l<<13,g=0;for(;!(d&8388608);)d<<=1,g-=8388608;d&=-8388609,g+=947912704,i[l]=d|g}for(let l=1024;l<2048;++l)i[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&&(s[l]=1024);return{floatView:e,uint32View:n,baseTable:C,shiftTable:r,mantissaTable:i,exponentTable:o,offsetTable:s}}function z9(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=R2(t,-65504,65504),O4.floatView[0]=t;const e=O4.uint32View[0],n=e>>23&511;return O4.baseTable[n]+((e&8388607)>>O4.shiftTable[n])}function dt(t){const e=t>>10;return O4.uint32View[0]=O4.mantissaTable[O4.offsetTable[e]+(t&1023)]+O4.exponentTable[e],O4.floatView[0]}const HI={toHalfFloat:z9,fromHalfFloat:dt},j2=new G,ZC=new M1;class n2{constructor(e,n,C=!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=n,this.count=e!==void 0?e.length/n:0,this.normalized=C,this.usage=Cn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=y8,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return a3("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,n){this.updateRanges.push({start:e,count:n})}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,n,C){e*=this.itemSize,C*=n.itemSize;for(let r=0,i=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const d in l)l[d]!==void 0&&(e[d]=l[d]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const C=this.attributes;for(const l in C){const d=C[l];e.data.attributes[l]=d.toJSON(e.data)}const r={};let i=!1;for(const l in this.morphAttributes){const d=this.morphAttributes[l],g=[];for(let A=0,p=d.length;A0&&(r[l]=g,i=!0)}i&&(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 s=this.boundingSphere;return s!==null&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.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 n={};this.name=e.name;const C=e.index;C!==null&&this.setIndex(C.clone(n));const r=e.attributes;for(const d in r){const g=r[d];this.setAttribute(d,g.clone(n))}const i=e.morphAttributes;for(const d in i){const g=[],A=i[d];for(let p=0,L=A.length;p0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;i(e.far-e.near)**2))&&(kA.copy(i).invert(),b5.copy(e.ray).applyMatrix4(kA),!(C.boundingBox!==null&&b5.intersectsBox(C.boundingBox)===!1)&&this._computeIntersections(e,n,b5)))}_computeIntersections(e,n,C){let r;const i=this.geometry,o=this.material,s=i.index,l=i.attributes.position,d=i.attributes.uv,g=i.attributes.uv1,A=i.attributes.normal,p=i.groups,L=i.drawRange;if(s!==null)if(Array.isArray(o))for(let x=0,E=p.length;xn.far?null:{distance:d,point:or.clone(),object:t}}function sr(t,e,n,C,r,i,o,s,l,d){t.getVertexPosition(s,r7),t.getVertexPosition(l,i7),t.getVertexPosition(d,o7);const g=zI(t,e,n,C,r7,i7,o7,ir);if(g){r&&(nr.fromBufferAttribute(r,s),Cr.fromBufferAttribute(r,l),rr.fromBufferAttribute(r,d),g.uv=n3.getInterpolation(ir,r7,i7,o7,nr,Cr,rr,new M1)),i&&(nr.fromBufferAttribute(i,s),Cr.fromBufferAttribute(i,l),rr.fromBufferAttribute(i,d),g.uv1=n3.getInterpolation(ir,r7,i7,o7,nr,Cr,rr,new M1),g.uv2=g.uv1),o&&(EA.fromBufferAttribute(o,s),yA.fromBufferAttribute(o,l),BA.fromBufferAttribute(o,d),g.normal=n3.getInterpolation(ir,r7,i7,o7,EA,yA,BA,new G),g.normal.dot(C.direction)>0&&g.normal.multiplyScalar(-1));const A={a:s,b:l,c:d,normal:new G,materialIndex:0};n3.getNormal(r7,i7,o7,A.normal),g.face=A}return g}class E3 extends R0{constructor(e=1,n=1,C=1,r=1,i=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:C,widthSegments:r,heightSegments:i,depthSegments:o};const s=this;r=Math.floor(r),i=Math.floor(i),o=Math.floor(o);const l=[],d=[],g=[],A=[];let p=0,L=0;x("z","y","x",-1,-1,C,n,e,o,i,0),x("z","y","x",1,-1,C,n,-e,o,i,1),x("x","z","y",1,1,e,C,n,r,o,2),x("x","z","y",1,-1,e,C,-n,r,o,3),x("x","y","z",1,-1,e,n,C,r,i,4),x("x","y","z",-1,-1,e,n,-C,r,i,5),this.setIndex(l),this.setAttribute("position",new s0(d,3)),this.setAttribute("normal",new s0(g,3)),this.setAttribute("uv",new s0(A,2));function x(E,m,v,M,k,I,b,R,D,U,X){const _=I/D,P=b/U,Z=I/2,f1=b/2,J=R/2,l1=D+1,i1=U+1;let g1=0,F=0;const e1=new G;for(let C1=0;C10?1:-1,g.push(e1.x,e1.y,e1.z),A.push(I1/D),A.push(1-C1/U),g1+=1}}for(let C1=0;C10&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const C={};for(const r in this.extensions)this.extensions[r]===!0&&(C[r]=!0);return Object.keys(C).length>0&&(n.extensions=C),n}}let En=class extends Y0{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new f0,this.projectionMatrix=new f0,this.projectionMatrixInverse=new f0,this.coordinateSystem=p4}copy(e,n){return super.copy(e,n),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,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}};const b6=new G,IA=new M1,SA=new M1;class G2 extends En{constructor(e=50,n=1,C=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=C,this.far=r,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),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 n=.5*this.getFilmHeight()/e;this.fov=ne*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(l3*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return ne*2*Math.atan(Math.tan(l3*.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,n,C){b6.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(b6.x,b6.y).multiplyScalar(-e/b6.z),b6.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),C.set(b6.x,b6.y).multiplyScalar(-e/b6.z)}getViewSize(e,n){return this.getViewBounds(e,IA,SA),n.subVectors(SA,IA)}setViewOffset(e,n,C,r,i,o){this.aspect=e/n,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=n,this.view.offsetX=C,this.view.offsetY=r,this.view.width=i,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(l3*.5*this.fov)/this.zoom,C=2*n,r=this.aspect*C,i=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,d=o.fullHeight;i+=o.offsetX*r/l,n-=o.offsetY*C/d,r*=o.width/l,C*=o.height/d}const s=this.filmOffset;s!==0&&(i+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,n,n-C,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const s7=-90,l7=1;class Zx extends Y0{constructor(e,n,C){super(),this.type="CubeCamera",this.renderTarget=C,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new G2(s7,l7,e,n);r.layers=this.layers,this.add(r);const i=new G2(s7,l7,e,n);i.layers=this.layers,this.add(i);const o=new G2(s7,l7,e,n);o.layers=this.layers,this.add(o);const s=new G2(s7,l7,e,n);s.layers=this.layers,this.add(s);const l=new G2(s7,l7,e,n);l.layers=this.layers,this.add(l);const d=new G2(s7,l7,e,n);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[C,r,i,o,s,l]=n;for(const d of n)this.remove(d);if(e===p4)C.up.set(0,1,0),C.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===rn)C.up.set(0,-1,0),C.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),s.up.set(0,-1,0),s.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 d of n)this.add(d),d.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:C,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[i,o,s,l,d,g]=this.children,A=e.getRenderTarget(),p=e.getActiveCubeFace(),L=e.getActiveMipmapLevel(),x=e.xr.enabled;e.xr.enabled=!1;const E=C.texture.generateMipmaps;C.texture.generateMipmaps=!1,e.setRenderTarget(C,0,r),e.render(n,i),e.setRenderTarget(C,1,r),e.render(n,o),e.setRenderTarget(C,2,r),e.render(n,s),e.setRenderTarget(C,3,r),e.render(n,l),e.setRenderTarget(C,4,r),e.render(n,d),C.texture.generateMipmaps=E,e.setRenderTarget(C,5,r),e.render(n,g),e.setRenderTarget(A,p,L),e.xr.enabled=x,C.texture.needsPMREMUpdate=!0}}class yn extends w2{constructor(e,n,C,r,i,o,s,l,d,g){e=e!==void 0?e:[],n=n!==void 0?n:t6,super(e,n,C,r,i,o,s,l,d,g),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class em extends R8{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const C={width:e,height:e,depth:1},r=[C,C,C,C,C,C];n.encoding!==void 0&&(a3("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),n.colorSpace=n.encoding===t5?Q2:i8),this.texture=new yn(r,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:A2}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.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 ); + + } + `},r=new E3(5,5,5),i=new X8({name:"CubemapFromEquirect",uniforms:Ce(C.uniforms),vertexShader:C.vertexShader,fragmentShader:C.fragmentShader,side:H9,blending:X4});i.uniforms.tEquirect.value=n;const o=new t2(r,i),s=n.minFilter;return n.minFilter===A4&&(n.minFilter=A2),new Zx(1,10,this).update(e,o),n.minFilter=s,o.geometry.dispose(),o.material.dispose(),this}clear(e,n,C,r){const i=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(n,C,r);e.setRenderTarget(i)}}const zl=new G,JI=new G,XI=new B0;let l2=class{constructor(e=new G(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,C,r){return this.normal.set(e,n,C),this.constant=r,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,C){const r=zl.subVectors(C,n).cross(JI.subVectors(e,n)).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,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const C=e.delta(zl),r=this.normal.dot(C);if(r===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:n.copy(e.start).addScaledVector(C,i)}intersectsLine(e){const n=this.distanceToPoint(e.start),C=this.distanceToPoint(e.end);return n<0&&C>0||C<0&&n>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,n){const C=n||XI.getNormalMatrix(e),r=this.coplanarPoint(zl).applyMatrix4(e),i=this.normal.applyMatrix3(C).normalize();return this.constant=-r.dot(i),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 D5=new i9,lr=new G;class Bn{constructor(e=new l2,n=new l2,C=new l2,r=new l2,i=new l2,o=new l2){this.planes=[e,n,C,r,i,o]}set(e,n,C,r,i,o){const s=this.planes;return s[0].copy(e),s[1].copy(n),s[2].copy(C),s[3].copy(r),s[4].copy(i),s[5].copy(o),this}copy(e){const n=this.planes;for(let C=0;C<6;C++)n[C].copy(e.planes[C]);return this}setFromProjectionMatrix(e,n=p4){const C=this.planes,r=e.elements,i=r[0],o=r[1],s=r[2],l=r[3],d=r[4],g=r[5],A=r[6],p=r[7],L=r[8],x=r[9],E=r[10],m=r[11],v=r[12],M=r[13],k=r[14],I=r[15];if(C[0].setComponents(l-i,p-d,m-L,I-v).normalize(),C[1].setComponents(l+i,p+d,m+L,I+v).normalize(),C[2].setComponents(l+o,p+g,m+x,I+M).normalize(),C[3].setComponents(l-o,p-g,m-x,I-M).normalize(),C[4].setComponents(l-s,p-A,m-E,I-k).normalize(),n===p4)C[5].setComponents(l+s,p+A,m+E,I+k).normalize();else if(n===rn)C[5].setComponents(s,A,E,k).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),D5.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),D5.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(D5)}intersectsSprite(e){return D5.center.set(0,0,0),D5.radius=.7071067811865476,D5.applyMatrix4(e.matrixWorld),this.intersectsSphere(D5)}intersectsSphere(e){const n=this.planes,C=e.center,r=-e.radius;for(let i=0;i<6;i++)if(n[i].distanceToPoint(C)0?e.max.x:e.min.x,lr.y=r.normal.y>0?e.max.y:e.min.y,lr.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(lr)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let C=0;C<6;C++)if(n[C].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function tm(){let t=null,e=!1,n=null,C=null;function r(i,o){n(i,o),C=t.requestAnimationFrame(r)}return{start:function(){e!==!0&&n!==null&&(C=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(C),e=!1},setAnimationLoop:function(i){n=i},setContext:function(i){t=i}}}function KI(t,e){const n=e.isWebGL2,C=new WeakMap;function r(d,g){const A=d.array,p=d.usage,L=A.byteLength,x=t.createBuffer();t.bindBuffer(g,x),t.bufferData(g,A,p),d.onUploadCallback();let E;if(A instanceof Float32Array)E=t.FLOAT;else if(A instanceof Uint16Array)if(d.isFloat16BufferAttribute)if(n)E=t.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else E=t.UNSIGNED_SHORT;else if(A instanceof Int16Array)E=t.SHORT;else if(A instanceof Uint32Array)E=t.UNSIGNED_INT;else if(A instanceof Int32Array)E=t.INT;else if(A instanceof Int8Array)E=t.BYTE;else if(A instanceof Uint8Array)E=t.UNSIGNED_BYTE;else if(A instanceof Uint8ClampedArray)E=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+A);return{buffer:x,type:E,bytesPerElement:A.BYTES_PER_ELEMENT,version:d.version,size:L}}function i(d,g,A){const p=g.array,L=g._updateRange,x=g.updateRanges;if(t.bindBuffer(A,d),L.count===-1&&x.length===0&&t.bufferSubData(A,0,p),x.length!==0){for(let E=0,m=x.length;E 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`,fS=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,gS=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,AS=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,pS=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,vS=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,LS=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) + varying vec3 vColor; +#endif`,wS=`#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`,xS=`#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`,mS=`#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`,kS=`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`,MS=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,ES=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,yS=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,BS=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,IS="gl_FragColor = linearToOutputTexel( gl_FragColor );",SS=` +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 ); +}`,_S=`#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, 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`,QS=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif + +#endif`,RS=`#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`,bS=`#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`,DS=`#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`,TS=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,HS=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,PS=`#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`,NS=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,jS=`#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 +}`,US=`#ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + reflectedLight.indirectDiffuse += lightMapIrradiance; +#endif`,FS=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,WS=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,OS=`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`,GS=`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`,zS=`#ifdef USE_ENVMAP + vec3 getIBLIrradiance( const in vec3 normal ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, 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, 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`,VS=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,$S=`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`,YS=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,JS=`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`,XS=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + material.ior = ior; + #ifdef USE_SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULAR_COLORMAP + specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEEN_COLORMAP + material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); + #ifdef USE_SHEEN_ROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; + #endif +#endif +#ifdef USE_ANISOTROPY + #ifdef USE_ANISOTROPYMAP + mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); + vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; + vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; + #else + vec2 anisotropyV = anisotropyVector; + #endif + material.anisotropy = length( anisotropyV ); + if( material.anisotropy == 0.0 ) { + anisotropyV = vec2( 1.0, 0.0 ); + } else { + anisotropyV /= material.anisotropy; + material.anisotropy = saturate( material.anisotropy ); + } + material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); + material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; + material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; +#endif`,KS=`struct PhysicalMaterial { + vec3 diffuseColor; + float roughness; + vec3 specularColor; + float specularF90; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif + #ifdef IOR + float ior; + #endif + #ifdef USE_TRANSMISSION + float transmission; + float transmissionAlpha; + float thickness; + float attenuationDistance; + vec3 attenuationColor; + #endif + #ifdef USE_ANISOTROPY + float anisotropy; + float alphaT; + vec3 anisotropyT; + vec3 anisotropyB; + #endif +}; +vec3 clearcoatSpecularDirect = vec3( 0.0 ); +vec3 clearcoatSpecularIndirect = vec3( 0.0 ); +vec3 sheenSpecularDirect = vec3( 0.0 ); +vec3 sheenSpecularIndirect = vec3(0.0 ); +vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { + float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); + float x2 = x * x; + float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); + return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); +} +float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { + float a2 = pow2( alpha ); + float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); + float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); + return 0.5 / max( gv + gl, EPSILON ); +} +float D_GGX( const in float alpha, const in float dotNH ) { + float a2 = pow2( alpha ); + float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; + return RECIPROCAL_PI * a2 / pow2( denom ); +} +#ifdef USE_ANISOTROPY + float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { + float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); + float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); + float v = 0.5 / ( gv + gl ); + return saturate(v); + } + float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { + float a2 = alphaT * alphaB; + highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); + highp float v2 = dot( v, v ); + float w2 = a2 / v2; + return RECIPROCAL_PI * a2 * pow2 ( w2 ); + } +#endif +#ifdef USE_CLEARCOAT + vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { + vec3 f0 = material.clearcoatF0; + float f90 = material.clearcoatF90; + float roughness = material.clearcoatRoughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); + } +#endif +vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 f0 = material.specularColor; + float f90 = material.specularF90; + float roughness = material.roughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + #ifdef USE_IRIDESCENCE + F = mix( F, material.iridescenceFresnel, material.iridescence ); + #endif + #ifdef USE_ANISOTROPY + float dotTL = dot( material.anisotropyT, lightDir ); + float dotTV = dot( material.anisotropyT, viewDir ); + float dotTH = dot( material.anisotropyT, halfDir ); + float dotBL = dot( material.anisotropyB, lightDir ); + float dotBV = dot( material.anisotropyB, viewDir ); + float dotBH = dot( material.anisotropyB, halfDir ); + float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); + float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); + #else + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + #endif + return F * ( V * D ); +} +vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { + const float LUT_SIZE = 64.0; + const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; + const float LUT_BIAS = 0.5 / LUT_SIZE; + float dotNV = saturate( dot( N, V ) ); + vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); + uv = uv * LUT_SCALE + LUT_BIAS; + return uv; +} +float LTC_ClippedSphereFormFactor( const in vec3 f ) { + float l = length( f ); + return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); +} +vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { + float x = dot( v1, v2 ); + float y = abs( x ); + float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; + float b = 3.4175940 + ( 4.1616724 + y ) * y; + float v = a / b; + float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; + float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; + float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); + return saturate( DG * RECIPROCAL_PI ); +} +vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); + const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); + vec4 r = roughness * c0 + c1; + float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; + vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; + return fab; +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + vec2 fab = DFGApprox( normal, viewDir, roughness ); + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + vec2 fab = DFGApprox( normal, viewDir, roughness ); + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometryNormal; + vec3 viewDir = geometryViewDir; + vec3 position = geometryPosition; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); + #endif + #ifdef USE_SHEEN + sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); + #endif + reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); + #endif + vec3 singleScattering = vec3( 0.0 ); + vec3 multiScattering = vec3( 0.0 ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); + #else + computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); + #endif + vec3 totalScattering = singleScattering + multiScattering; + vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); + reflectedLight.indirectSpecular += radiance * singleScattering; + reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; + reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,qS=` +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`,ZS=`#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`,e_=`#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`,t_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,n_=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,C_=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + varying float vFragDepth; + varying float vIsPerspective; + #else + uniform float logDepthBufFC; + #endif +#endif`,r_=`#ifdef USE_LOGDEPTHBUF + #ifdef USE_LOGDEPTHBUF_EXT + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); + #else + if ( isPerspectiveMatrix( projectionMatrix ) ) { + gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0; + gl_Position.z *= gl_Position.w; + } + #endif +#endif`,i_=`#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`,o_=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,s_=`#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`,l_=`#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`,a_=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,c_=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,u_=`#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`,d_=`#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`,h_=`#ifdef USE_MORPHTARGETS + uniform float morphTargetBaseInfluence; + #ifdef MORPHTARGETS_TEXTURE + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + 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`,f_=`#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`,g_=`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;`,A_=`#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`,p_=`#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`,L_=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,w_=`#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`,x_=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,m_=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,k_=`#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`,M_=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,E_=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,y_=`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 ); +}`,B_=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,I_=`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;`,S_=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,__=`#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`,Q_=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,R_=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,b_=`#if NUM_SPOT_LIGHT_COORDS > 0 + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#if NUM_SPOT_LIGHT_MAPS > 0 + uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + struct SpotLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { + return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); + } + vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { + return unpackRGBATo2Half( texture2D( shadow, uv ) ); + } + float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ + float occlusion = 1.0; + vec2 distribution = texture2DDistribution( shadow, uv ); + float hard_shadow = step( compare , distribution.x ); + if (hard_shadow != 1.0 ) { + float distance = compare - distribution.x ; + float variance = max( 0.00000, distribution.y * distribution.y ); + float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); + } + return occlusion; + } + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + #if defined( SHADOWMAP_TYPE_PCF ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx0 = - texelSize.x * shadowRadius; + float dy0 = - texelSize.y * shadowRadius; + float dx1 = + texelSize.x * shadowRadius; + float dy1 = + texelSize.y * shadowRadius; + float dx2 = dx0 / 2.0; + float dy2 = dy0 / 2.0; + float dx3 = dx1 / 2.0; + float dy3 = dy1 / 2.0; + shadow = ( + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + + texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) + ) * ( 1.0 / 17.0 ); + #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float dx = texelSize.x; + float dy = texelSize.y; + vec2 uv = shadowCoord.xy; + vec2 f = fract( uv * shadowMapSize + 0.5 ); + uv -= f * texelSize; + shadow = ( + texture2DCompare( shadowMap, uv, shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + + texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), + f.x ) + + mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), + f.y ) + + mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), + f.x ), + mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), + texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), + f.x ), + f.y ) + ) * ( 1.0 / 9.0 ); + #elif defined( SHADOWMAP_TYPE_VSM ) + shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); + #else + shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); + #endif + } + return shadow; + } + vec2 cubeToUV( vec3 v, float texelSizeY ) { + vec3 absV = abs( v ); + float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); + absV *= scaleToCube; + v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); + vec2 planar = v.xy; + float almostATexel = 1.5 * texelSizeY; + float almostOne = 1.0 - almostATexel; + if ( absV.z >= almostOne ) { + if ( v.z > 0.0 ) + planar.x = 4.0 - v.x; + } else if ( absV.x >= almostOne ) { + float signX = sign( v.x ); + planar.x = v.z * signX + 2.0 * signX; + } else if ( absV.y >= almostOne ) { + float signY = sign( v.y ); + planar.x = v.x + 2.0 * signY + 2.0; + planar.y = v.z * signY - 2.0; + } + return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); + } + float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); + vec3 lightToPosition = shadowCoord.xyz; + float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; + vec3 bd3D = normalize( lightToPosition ); + #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) + vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; + return ( + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + + texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) + ) * ( 1.0 / 9.0 ); + #else + return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); + #endif + } +#endif`,D_=`#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`,T_=`#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`,H_=`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; +}`,P_=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,N_=`#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`,j_=`#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`,U_=`#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`,F_=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,W_=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,O_=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,G_=`#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 CustomToneMapping( vec3 color ) { return color; }`,z_=`#ifdef USE_TRANSMISSION + material.transmission = transmission; + material.transmissionAlpha = 1.0; + material.thickness = thickness; + material.attenuationDistance = attenuationDistance; + material.attenuationColor = attenuationColor; + #ifdef USE_TRANSMISSIONMAP + material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; + #endif + #ifdef USE_THICKNESSMAP + material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmitted = getIBLVolumeRefraction( + n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness, + material.attenuationColor, material.attenuationDistance ); + material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); + totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); +#endif`,V_=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + float w0( float a ) { + return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); + } + float w1( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); + } + float w2( float a ){ + return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); + } + float w3( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * a ); + } + float g0( float a ) { + return w0( a ) + w1( a ); + } + float g1( float a ) { + return w2( a ) + w3( a ); + } + float h0( float a ) { + return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); + } + float h1( float a ) { + return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); + } + vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { + uv = uv * texelSize.zw + 0.5; + vec2 iuv = floor( uv ); + vec2 fuv = fract( uv ); + float g0x = g0( fuv.x ); + float g1x = g1( fuv.x ); + float h0x = h0( fuv.x ); + float h1x = h1( fuv.x ); + float h0y = h0( fuv.y ); + float h1y = h1( fuv.y ); + vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); + } + vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { + vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); + vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); + vec2 fLodSizeInv = 1.0 / fLodSize; + vec2 cLodSizeInv = 1.0 / cLodSize; + vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); + vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); + return mix( fSample, cSample, fract( lod ) ); + } + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); + } + vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( isinf( attenuationDistance ) ) { + return vec3( 1.0 ); + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + vec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + vec3 attenuatedColor = transmittance * transmittedLight.rgb; + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; + return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); + } +#endif`,$_=`#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`,Y_=`#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`,J_=`#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`,X_=`#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 K_=`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,q_=`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 +}`,Z_=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,eQ=`#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; +varying vec3 vWorldDirection; +#include +void main() { + #ifdef ENVMAP_TYPE_CUBE + vec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness ); + #else + vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,tQ=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,nQ=`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 +}`,CQ=`#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,rQ=`#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 +}`,iQ=`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,oQ=`#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 ); +}`,sQ=`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,lQ=`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,aQ=`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 +}`,cQ=`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 +}`,uQ=`#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #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 +}`,dQ=`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 +}`,hQ=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,fQ=`#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 +}`,gQ=`#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 + vViewPosition = - mvPosition.xyz; +}`,AQ=`#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 +}`,pQ=`#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 +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + vViewPosition = - mvPosition.xyz; +#endif +}`,vQ=`#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 +}`,LQ=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,wQ=`#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 +}`,xQ=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,mQ=`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define USE_SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef USE_SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULAR_COLORMAP + uniform sampler2D specularColorMap; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEEN_COLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEEN_ROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +#ifdef USE_ANISOTROPY + uniform vec2 anisotropyVector; + #ifdef USE_ANISOTROPYMAP + uniform sampler2D anisotropyMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); + outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,kQ=`#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 + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,MQ=`#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 +}`,EQ=`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 + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,yQ=`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 +}`,BQ=`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,IQ=`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 +}`,SQ=`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 +}`,_Q=`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 +}`,D0={alphahash_fragment:qI,alphahash_pars_fragment:ZI,alphamap_fragment:eS,alphamap_pars_fragment:tS,alphatest_fragment:nS,alphatest_pars_fragment:CS,aomap_fragment:rS,aomap_pars_fragment:iS,batching_pars_vertex:oS,batching_vertex:sS,begin_vertex:lS,beginnormal_vertex:aS,bsdfs:cS,iridescence_fragment:uS,bumpmap_pars_fragment:dS,clipping_planes_fragment:hS,clipping_planes_pars_fragment:fS,clipping_planes_pars_vertex:gS,clipping_planes_vertex:AS,color_fragment:pS,color_pars_fragment:vS,color_pars_vertex:LS,color_vertex:wS,common:xS,cube_uv_reflection_fragment:mS,defaultnormal_vertex:kS,displacementmap_pars_vertex:MS,displacementmap_vertex:ES,emissivemap_fragment:yS,emissivemap_pars_fragment:BS,colorspace_fragment:IS,colorspace_pars_fragment:SS,envmap_fragment:_S,envmap_common_pars_fragment:QS,envmap_pars_fragment:RS,envmap_pars_vertex:bS,envmap_physical_pars_fragment:zS,envmap_vertex:DS,fog_vertex:TS,fog_pars_vertex:HS,fog_fragment:PS,fog_pars_fragment:NS,gradientmap_pars_fragment:jS,lightmap_fragment:US,lightmap_pars_fragment:FS,lights_lambert_fragment:WS,lights_lambert_pars_fragment:OS,lights_pars_begin:GS,lights_toon_fragment:VS,lights_toon_pars_fragment:$S,lights_phong_fragment:YS,lights_phong_pars_fragment:JS,lights_physical_fragment:XS,lights_physical_pars_fragment:KS,lights_fragment_begin:qS,lights_fragment_maps:ZS,lights_fragment_end:e_,logdepthbuf_fragment:t_,logdepthbuf_pars_fragment:n_,logdepthbuf_pars_vertex:C_,logdepthbuf_vertex:r_,map_fragment:i_,map_pars_fragment:o_,map_particle_fragment:s_,map_particle_pars_fragment:l_,metalnessmap_fragment:a_,metalnessmap_pars_fragment:c_,morphcolor_vertex:u_,morphnormal_vertex:d_,morphtarget_pars_vertex:h_,morphtarget_vertex:f_,normal_fragment_begin:g_,normal_fragment_maps:A_,normal_pars_fragment:p_,normal_pars_vertex:v_,normal_vertex:L_,normalmap_pars_fragment:w_,clearcoat_normal_fragment_begin:x_,clearcoat_normal_fragment_maps:m_,clearcoat_pars_fragment:k_,iridescence_pars_fragment:M_,opaque_fragment:E_,packing:y_,premultiplied_alpha_fragment:B_,project_vertex:I_,dithering_fragment:S_,dithering_pars_fragment:__,roughnessmap_fragment:Q_,roughnessmap_pars_fragment:R_,shadowmap_pars_fragment:b_,shadowmap_pars_vertex:D_,shadowmap_vertex:T_,shadowmask_pars_fragment:H_,skinbase_vertex:P_,skinning_pars_vertex:N_,skinning_vertex:j_,skinnormal_vertex:U_,specularmap_fragment:F_,specularmap_pars_fragment:W_,tonemapping_fragment:O_,tonemapping_pars_fragment:G_,transmission_fragment:z_,transmission_pars_fragment:V_,uv_pars_fragment:$_,uv_pars_vertex:Y_,uv_vertex:J_,worldpos_vertex:X_,background_vert:K_,background_frag:q_,backgroundCube_vert:Z_,backgroundCube_frag:eQ,cube_vert:tQ,cube_frag:nQ,depth_vert:CQ,depth_frag:rQ,distanceRGBA_vert:iQ,distanceRGBA_frag:oQ,equirect_vert:sQ,equirect_frag:lQ,linedashed_vert:aQ,linedashed_frag:cQ,meshbasic_vert:uQ,meshbasic_frag:dQ,meshlambert_vert:hQ,meshlambert_frag:fQ,meshmatcap_vert:gQ,meshmatcap_frag:AQ,meshnormal_vert:pQ,meshnormal_frag:vQ,meshphong_vert:LQ,meshphong_frag:wQ,meshphysical_vert:xQ,meshphysical_frag:mQ,meshtoon_vert:kQ,meshtoon_frag:MQ,points_vert:EQ,points_frag:yQ,shadow_vert:BQ,shadow_frag:IQ,sprite_vert:SQ,sprite_frag:_Q},$1={common:{diffuse:{value:new Z1(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new B0},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new B0}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new B0}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new B0}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new B0},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new B0},normalScale:{value:new M1(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new B0},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new B0}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new B0}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new B0}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Z1(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 Z1(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0},uvTransform:{value:new B0}},sprite:{diffuse:{value:new Z1(16777215)},opacity:{value:1},center:{value:new M1(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new B0},alphaMap:{value:null},alphaMapTransform:{value:new B0},alphaTest:{value:0}}},z8={basic:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.fog]),vertexShader:D0.meshbasic_vert,fragmentShader:D0.meshbasic_frag},lambert:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)}}]),vertexShader:D0.meshlambert_vert,fragmentShader:D0.meshlambert_frag},phong:{uniforms:Q9([$1.common,$1.specularmap,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)},specular:{value:new Z1(1118481)},shininess:{value:30}}]),vertexShader:D0.meshphong_vert,fragmentShader:D0.meshphong_frag},standard:{uniforms:Q9([$1.common,$1.envmap,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.roughnessmap,$1.metalnessmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:D0.meshphysical_vert,fragmentShader:D0.meshphysical_frag},toon:{uniforms:Q9([$1.common,$1.aomap,$1.lightmap,$1.emissivemap,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.gradientmap,$1.fog,$1.lights,{emissive:{value:new Z1(0)}}]),vertexShader:D0.meshtoon_vert,fragmentShader:D0.meshtoon_frag},matcap:{uniforms:Q9([$1.common,$1.bumpmap,$1.normalmap,$1.displacementmap,$1.fog,{matcap:{value:null}}]),vertexShader:D0.meshmatcap_vert,fragmentShader:D0.meshmatcap_frag},points:{uniforms:Q9([$1.points,$1.fog]),vertexShader:D0.points_vert,fragmentShader:D0.points_frag},dashed:{uniforms:Q9([$1.common,$1.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:D0.linedashed_vert,fragmentShader:D0.linedashed_frag},depth:{uniforms:Q9([$1.common,$1.displacementmap]),vertexShader:D0.depth_vert,fragmentShader:D0.depth_frag},normal:{uniforms:Q9([$1.common,$1.bumpmap,$1.normalmap,$1.displacementmap,{opacity:{value:1}}]),vertexShader:D0.meshnormal_vert,fragmentShader:D0.meshnormal_frag},sprite:{uniforms:Q9([$1.sprite,$1.fog]),vertexShader:D0.sprite_vert,fragmentShader:D0.sprite_frag},background:{uniforms:{uvTransform:{value:new B0},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:D0.background_vert,fragmentShader:D0.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:D0.backgroundCube_vert,fragmentShader:D0.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:D0.cube_vert,fragmentShader:D0.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:D0.equirect_vert,fragmentShader:D0.equirect_frag},distanceRGBA:{uniforms:Q9([$1.common,$1.displacementmap,{referencePosition:{value:new G},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:D0.distanceRGBA_vert,fragmentShader:D0.distanceRGBA_frag},shadow:{uniforms:Q9([$1.lights,$1.fog,{color:{value:new Z1(0)},opacity:{value:1}}]),vertexShader:D0.shadow_vert,fragmentShader:D0.shadow_frag}};z8.physical={uniforms:Q9([z8.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new B0},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new B0},clearcoatNormalScale:{value:new M1(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new B0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new B0},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new B0},sheen:{value:0},sheenColor:{value:new Z1(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new B0},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new B0},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new B0},transmissionSamplerSize:{value:new M1},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new B0},attenuationDistance:{value:0},attenuationColor:{value:new Z1(0)},specularColor:{value:new Z1(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new B0},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new B0},anisotropyVector:{value:new M1},anisotropyMap:{value:null},anisotropyMapTransform:{value:new B0}}]),vertexShader:D0.meshphysical_vert,fragmentShader:D0.meshphysical_frag};const ar={r:0,b:0,g:0};function QQ(t,e,n,C,r,i,o){const s=new Z1(0);let l=i===!0?0:1,d,g,A=null,p=0,L=null;function x(m,v){let M=!1,k=v.isScene===!0?v.background:null;k&&k.isTexture&&(k=(v.backgroundBlurriness>0?n:e).get(k)),k===null?E(s,l):k&&k.isColor&&(E(k,1),M=!0);const I=t.xr.getEnvironmentBlendMode();I==="additive"?C.buffers.color.setClear(0,0,0,1,o):I==="alpha-blend"&&C.buffers.color.setClear(0,0,0,0,o),(t.autoClear||M)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),k&&(k.isCubeTexture||k.mapping===le)?(g===void 0&&(g=new t2(new E3(1,1,1),new X8({name:"BackgroundCubeMaterial",uniforms:Ce(z8.backgroundCube.uniforms),vertexShader:z8.backgroundCube.vertexShader,fragmentShader:z8.backgroundCube.fragmentShader,side:H9,depthTest:!1,depthWrite:!1,fog:!1})),g.geometry.deleteAttribute("normal"),g.geometry.deleteAttribute("uv"),g.onBeforeRender=function(b,R,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(g.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(g)),g.material.uniforms.envMap.value=k,g.material.uniforms.flipEnvMap.value=k.isCubeTexture&&k.isRenderTargetTexture===!1?-1:1,g.material.uniforms.backgroundBlurriness.value=v.backgroundBlurriness,g.material.uniforms.backgroundIntensity.value=v.backgroundIntensity,g.material.toneMapped=r2.getTransfer(k.colorSpace)!==c2,(A!==k||p!==k.version||L!==t.toneMapping)&&(g.material.needsUpdate=!0,A=k,p=k.version,L=t.toneMapping),g.layers.enableAll(),m.unshift(g,g.geometry,g.material,0,0,null)):k&&k.isTexture&&(d===void 0&&(d=new t2(new h5(2,2),new X8({name:"BackgroundMaterial",uniforms:Ce(z8.background.uniforms),vertexShader:z8.background.vertexShader,fragmentShader:z8.background.fragmentShader,side:Q8,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(d)),d.material.uniforms.t2D.value=k,d.material.uniforms.backgroundIntensity.value=v.backgroundIntensity,d.material.toneMapped=r2.getTransfer(k.colorSpace)!==c2,k.matrixAutoUpdate===!0&&k.updateMatrix(),d.material.uniforms.uvTransform.value.copy(k.matrix),(A!==k||p!==k.version||L!==t.toneMapping)&&(d.material.needsUpdate=!0,A=k,p=k.version,L=t.toneMapping),d.layers.enableAll(),m.unshift(d,d.geometry,d.material,0,0,null))}function E(m,v){m.getRGB(ar,Kx(t)),C.buffers.color.setClear(ar.r,ar.g,ar.b,v,o)}return{getClearColor:function(){return s},setClearColor:function(m,v=1){s.set(m),l=v,E(s,l)},getClearAlpha:function(){return l},setClearAlpha:function(m){l=m,E(s,l)},render:x}}function RQ(t,e,n,C){const r=t.getParameter(t.MAX_VERTEX_ATTRIBS),i=C.isWebGL2?null:e.get("OES_vertex_array_object"),o=C.isWebGL2||i!==null,s={},l=m(null);let d=l,g=!1;function A(J,l1,i1,g1,F){let e1=!1;if(o){const C1=E(g1,i1,l1);d!==C1&&(d=C1,L(d.object)),e1=v(J,g1,i1,F),e1&&M(J,g1,i1,F)}else{const C1=l1.wireframe===!0;(d.geometry!==g1.id||d.program!==i1.id||d.wireframe!==C1)&&(d.geometry=g1.id,d.program=i1.id,d.wireframe=C1,e1=!0)}F!==null&&n.update(F,t.ELEMENT_ARRAY_BUFFER),(e1||g)&&(g=!1,U(J,l1,i1,g1),F!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n.get(F).buffer))}function p(){return C.isWebGL2?t.createVertexArray():i.createVertexArrayOES()}function L(J){return C.isWebGL2?t.bindVertexArray(J):i.bindVertexArrayOES(J)}function x(J){return C.isWebGL2?t.deleteVertexArray(J):i.deleteVertexArrayOES(J)}function E(J,l1,i1){const g1=i1.wireframe===!0;let F=s[J.id];F===void 0&&(F={},s[J.id]=F);let e1=F[l1.id];e1===void 0&&(e1={},F[l1.id]=e1);let C1=e1[g1];return C1===void 0&&(C1=m(p()),e1[g1]=C1),C1}function m(J){const l1=[],i1=[],g1=[];for(let F=0;F=0){const $=F[I1];let z=e1[I1];if(z===void 0&&(I1==="instanceMatrix"&&J.instanceMatrix&&(z=J.instanceMatrix),I1==="instanceColor"&&J.instanceColor&&(z=J.instanceColor)),$===void 0||$.attribute!==z||z&&$.data!==z.data)return!0;C1++}return d.attributesNum!==C1||d.index!==g1}function M(J,l1,i1,g1){const F={},e1=l1.attributes;let C1=0;const d1=i1.getAttributes();for(const I1 in d1)if(d1[I1].location>=0){let $=e1[I1];$===void 0&&(I1==="instanceMatrix"&&J.instanceMatrix&&($=J.instanceMatrix),I1==="instanceColor"&&J.instanceColor&&($=J.instanceColor));const z={};z.attribute=$,$&&$.data&&(z.data=$.data),F[I1]=z,C1++}d.attributes=F,d.attributesNum=C1,d.index=g1}function k(){const J=d.newAttributes;for(let l1=0,i1=J.length;l1=0){let j1=F[d1];if(j1===void 0&&(d1==="instanceMatrix"&&J.instanceMatrix&&(j1=J.instanceMatrix),d1==="instanceColor"&&J.instanceColor&&(j1=J.instanceColor)),j1!==void 0){const $=j1.normalized,z=j1.itemSize,W=n.get(j1);if(W===void 0)continue;const N=W.buffer,L1=W.type,k1=W.bytesPerElement,A1=C.isWebGL2===!0&&(L1===t.INT||L1===t.UNSIGNED_INT||j1.gpuType===Ed);if(j1.isInterleavedBufferAttribute){const y1=j1.data,O=y1.stride,v1=j1.offset;if(y1.isInstancedInterleavedBuffer){for(let n1=0;n10&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&t.constructor.name==="WebGL2RenderingContext";let s=n.precision!==void 0?n.precision:"highp";const l=i(s);l!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l);const d=o||e.has("WEBGL_draw_buffers"),g=n.logarithmicDepthBuffer===!0,A=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),p=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),L=t.getParameter(t.MAX_TEXTURE_SIZE),x=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),E=t.getParameter(t.MAX_VERTEX_ATTRIBS),m=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),v=t.getParameter(t.MAX_VARYING_VECTORS),M=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),k=p>0,I=o||e.has("OES_texture_float"),b=k&&I,R=o?t.getParameter(t.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:d,getMaxAnisotropy:r,getMaxPrecision:i,precision:s,logarithmicDepthBuffer:g,maxTextures:A,maxVertexTextures:p,maxTextureSize:L,maxCubemapSize:x,maxAttributes:E,maxVertexUniforms:m,maxVaryings:v,maxFragmentUniforms:M,vertexTextures:k,floatFragmentTextures:I,floatVertexTextures:b,maxSamples:R}}function TQ(t){const e=this;let n=null,C=0,r=!1,i=!1;const o=new l2,s=new B0,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(A,p){const L=A.length!==0||p||C!==0||r;return r=p,C=A.length,L},this.beginShadows=function(){i=!0,g(null)},this.endShadows=function(){i=!1},this.setGlobalState=function(A,p){n=g(A,p,0)},this.setState=function(A,p,L){const x=A.clippingPlanes,E=A.clipIntersection,m=A.clipShadows,v=t.get(A);if(!r||x===null||x.length===0||i&&!m)i?g(null):d();else{const M=i?0:C,k=M*4;let I=v.clippingState||null;l.value=I,I=g(x,p,k,L);for(let b=0;b!==k;++b)I[b]=n[b];v.clippingState=I,this.numIntersection=E?this.numPlanes:0,this.numPlanes+=M}};function d(){l.value!==n&&(l.value=n,l.needsUpdate=C>0),e.numPlanes=C,e.numIntersection=0}function g(A,p,L,x){const E=A!==null?A.length:0;let m=null;if(E!==0){if(m=l.value,x!==!0||m===null){const v=L+E*4,M=p.matrixWorldInverse;s.getNormalMatrix(M),(m===null||m.length0){const d=new em(l.height);return d.fromEquirectangularTexture(t,o),e.set(o,d),o.addEventListener("dispose",r),n(d.texture,o.mapping)}else return null}}return o}function r(o){const s=o.target;s.removeEventListener("dispose",r);const l=e.get(s);l!==void 0&&(e.delete(s),l.dispose())}function i(){e=new WeakMap}return{get:C,dispose:i}}class ue extends En{constructor(e=-1,n=1,C=1,r=-1,i=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=C,this.bottom=r,this.near=i,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),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,n,C,r,i,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=n,this.view.offsetX=C,this.view.offsetY=r,this.view.width=i,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),n=(this.top-this.bottom)/(2*this.zoom),C=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let i=C-e,o=C+e,s=r+n,l=r-n;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,g=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=d*this.view.offsetX,o=i+d*this.view.width,s-=g*this.view.offsetY,l=s-g*this.view.height}this.projectionMatrix.makeOrthographic(i,o,s,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const N7=4,_A=[.125,.215,.35,.446,.526,.582],J5=20,Vl=new ue,QA=new Z1;let $l=null,Yl=0,Jl=0;const $5=(1+Math.sqrt(5))/2,a7=1/$5,RA=[new G(1,1,1),new G(-1,1,1),new G(1,1,-1),new G(-1,1,-1),new G(0,$5,a7),new G(0,$5,-a7),new G(a7,0,$5),new G(-a7,0,$5),new G($5,a7,0),new G(-$5,a7,0)];class cu{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,n=0,C=.1,r=100){$l=this._renderer.getRenderTarget(),Yl=this._renderer.getActiveCubeFace(),Jl=this._renderer.getActiveMipmapLevel(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,C,r,i),n>0&&this._blur(i,0,0,n),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=TA(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=DA(),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?k:0,k,k),g.setRenderTarget(r),E&&g.render(x,s),g.render(e,s)}x.geometry.dispose(),x.material.dispose(),g.toneMapping=p,g.autoClear=A,e.background=m}_textureToCubeUV(e,n){const C=this._renderer,r=e.mapping===t6||e.mapping===s5;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=TA()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=DA());const i=r?this._cubemapMaterial:this._equirectMaterial,o=new t2(this._lodPlanes[0],i),s=i.uniforms;s.envMap.value=e;const l=this._cubeSize;cr(n,0,0,3*l,2*l),C.setRenderTarget(n),C.render(o,Vl)}_applyPMREM(e){const n=this._renderer,C=n.autoClear;n.autoClear=!1;for(let r=1;rJ5&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${J5}`);const v=[];let M=0;for(let D=0;Dk-N7?r-k+N7:0),R=4*(this._cubeSize-I);cr(n,b,R,3*I,2*I),l.setRenderTarget(n),l.render(A,Vl)}}function PQ(t){const e=[],n=[],C=[];let r=t;const i=t-N7+1+_A.length;for(let o=0;ot-N7?l=_A[o-t+N7-1]:o===0&&(l=0),C.push(l);const d=1/(s-2),g=-d,A=1+d,p=[g,g,A,g,A,A,g,g,A,A,g,A],L=6,x=6,E=3,m=2,v=1,M=new Float32Array(E*x*L),k=new Float32Array(m*x*L),I=new Float32Array(v*x*L);for(let R=0;R2?0:-1,X=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];M.set(X,E*x*R),k.set(p,m*x*R);const _=[R,R,R,R,R,R];I.set(_,v*x*R)}const b=new R0;b.setAttribute("position",new n2(M,E)),b.setAttribute("uv",new n2(k,m)),b.setAttribute("faceIndex",new n2(I,v)),e.push(b),r>N7&&r--}return{lodPlanes:e,sizeLods:n,sigmas:C}}function bA(t,e,n){const C=new R8(t,e,n);return C.texture.mapping=le,C.texture.name="PMREM.cubeUv",C.scissorTest=!0,C}function cr(t,e,n,C,r){t.viewport.set(e,n,C,r),t.scissor.set(e,n,C,r)}function NQ(t,e,n){const C=new Float32Array(J5),r=new G(0,1,0);return new X8({name:"SphericalGaussianBlur",defines:{n:J5,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:C},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function DA(){return new X8({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function TA(){return new X8({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Fd(),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:X4,depthTest:!1,depthWrite:!1})}function Fd(){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 jQ(t){let e=new WeakMap,n=null;function C(s){if(s&&s.isTexture){const l=s.mapping,d=l===$t||l===Yt,g=l===t6||l===s5;if(d||g)if(s.isRenderTargetTexture&&s.needsPMREMUpdate===!0){s.needsPMREMUpdate=!1;let A=e.get(s);return n===null&&(n=new cu(t)),A=d?n.fromEquirectangular(s,A):n.fromCubemap(s,A),e.set(s,A),A.texture}else{if(e.has(s))return e.get(s).texture;{const A=s.image;if(d&&A&&A.height>0||g&&A&&r(A)){n===null&&(n=new cu(t));const p=d?n.fromEquirectangular(s):n.fromCubemap(s);return e.set(s,p),s.addEventListener("dispose",i),p.texture}else return null}}}return s}function r(s){let l=0;const d=6;for(let g=0;ge.maxTextureSize&&(_=Math.ceil(X/e.maxTextureSize),X=e.maxTextureSize);const P=new Float32Array(X*_*4*x),Z=new Lo(P,X,_,x);Z.type=y8,Z.needsUpdate=!0;const f1=U*4;for(let l1=0;l10)return t;const r=e*n;let i=HA[r];if(i===void 0&&(i=new Float32Array(r),HA[r]=i),e!==0){C.toArray(i,0);for(let o=1,s=0;o!==e;++o)s+=n,t[o].toArray(i,s)}return i}function $2(t,e){if(t.length!==e.length)return!1;for(let n=0,C=t.length;n":" "} ${s}: ${n[o]}`)}return C.join(` +`)}function FR(t){const e=r2.getPrimaries(r2.workingColorSpace),n=r2.getPrimaries(t);let C;switch(e===n?C="":e===nn&&n===tn?C="LinearDisplayP3ToLinearSRGB":e===tn&&n===nn&&(C="LinearSRGBToLinearDisplayP3"),t){case m4:case Mn:return[C,"LinearTransferOETF"];case Q2:case vo:return[C,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[C,"LinearTransferOETF"]}}function OA(t,e,n){const C=t.getShaderParameter(e,t.COMPILE_STATUS),r=t.getShaderInfoLog(e).trim();if(C&&r==="")return"";const i=/ERROR: 0:(\d+)/.exec(r);if(i){const o=parseInt(i[1]);return n.toUpperCase()+` + +`+r+` + +`+UR(t.getShaderSource(e),o)}else return r}function WR(t,e){const n=FR(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function OR(t,e){let n;switch(e){case xx:n="Linear";break;case mx:n="Reinhard";break;case kx:n="OptimizedCineon";break;case Md:n="ACESFilmic";break;case Ex:n="AgX";break;case Mx:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function GR(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||t.alphaToCoverage||t.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(j7).join(` +`)}function zR(t){return[t.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",t.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(j7).join(` +`)}function VR(t){const e=[];for(const n in t){const C=t[n];C!==!1&&e.push("#define "+n+" "+C)}return e.join(` +`)}function $R(t,e){const n={},C=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function uu(t){return t.replace(YR,XR)}const JR=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function XR(t,e){let n=D0[e];if(n===void 0){const C=JR.get(e);if(C!==void 0)n=D0[C],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,C);else throw new Error("Can not resolve #include <"+e+">")}return uu(n)}const KR=/#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 VA(t){return t.replace(KR,qR)}function qR(t,e,n,C){let r="";for(let i=parseInt(e);i0&&(v+=` +`),M=[L,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E].filter(j7).join(` +`),M.length>0&&(M+=` +`)):(v=[$A(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",n.batching?"#define USE_BATCHING":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+g:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&n.flatShading===!1?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(j7).join(` +`),M=[L,$A(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,E,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+g:"",n.envMap?"#define "+A:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==w4?"#define TONE_MAPPING":"",n.toneMapping!==w4?D0.tonemapping_pars_fragment:"",n.toneMapping!==w4?OR("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",D0.colorspace_pars_fragment,WR("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` +`].filter(j7).join(` +`)),o=uu(o),o=GA(o,n),o=zA(o,n),s=uu(s),s=GA(s,n),s=zA(s,n),o=VA(o),s=VA(s),n.isWebGL2&&n.isRawShaderMaterial!==!0&&(k=`#version 300 es +`,v=[x,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+v,M=["precision mediump sampler2DArray;","#define varying in",n.glslVersion===lu?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===lu?"":"#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(` +`)+` +`+M);const I=k+v+o,b=k+M+s,R=WA(r,r.VERTEX_SHADER,I),D=WA(r,r.FRAGMENT_SHADER,b);r.attachShader(m,R),r.attachShader(m,D),n.index0AttributeName!==void 0?r.bindAttribLocation(m,0,n.index0AttributeName):n.morphTargets===!0&&r.bindAttribLocation(m,0,"position"),r.linkProgram(m);function U(Z){if(t.debug.checkShaderErrors){const f1=r.getProgramInfoLog(m).trim(),J=r.getShaderInfoLog(R).trim(),l1=r.getShaderInfoLog(D).trim();let i1=!0,g1=!0;if(r.getProgramParameter(m,r.LINK_STATUS)===!1)if(i1=!1,typeof t.debug.onShaderError=="function")t.debug.onShaderError(r,m,R,D);else{const F=OA(r,R,"vertex"),e1=OA(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(m,r.VALIDATE_STATUS)+` + +Material Name: `+Z.name+` +Material Type: `+Z.type+` + +Program Info Log: `+f1+` +`+F+` +`+e1)}else f1!==""?console.warn("THREE.WebGLProgram: Program Info Log:",f1):(J===""||l1==="")&&(g1=!1);g1&&(Z.diagnostics={runnable:i1,programLog:f1,vertexShader:{log:J,prefix:v},fragmentShader:{log:l1,prefix:M}})}r.deleteShader(R),r.deleteShader(D),X=new hi(r,m),_=$R(r,m)}let X;this.getUniforms=function(){return X===void 0&&U(this),X};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let P=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return P===!1&&(P=r.getProgramParameter(m,NR)),P},this.destroy=function(){C.releaseStatesOfProgram(this),r.deleteProgram(m),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=jR++,this.cacheKey=e,this.usedTimes=1,this.program=m,this.vertexShader=R,this.fragmentShader=D,this}let ib=0;class ob{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,C=e.fragmentShader,r=this._getShaderStage(n),i=this._getShaderStage(C),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(i)===!1&&(o.add(i),i.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const C of n)C.usedTimes--,C.usedTimes===0&&this.shaderCache.delete(C.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 n=this.materialCache;let C=n.get(e);return C===void 0&&(C=new Set,n.set(e,C)),C}_getShaderStage(e){const n=this.shaderCache;let C=n.get(e);return C===void 0&&(C=new sb(e),n.set(e,C)),C}}class sb{constructor(e){this.id=ib++,this.code=e,this.usedTimes=0}}function lb(t,e,n,C,r,i,o){const s=new c3,l=new ob,d=new Set,g=[],A=r.isWebGL2,p=r.logarithmicDepthBuffer,L=r.vertexTextures;let x=r.precision;const E={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 m(_){return d.add(_),_===0?"uv":`uv${_}`}function v(_,P,Z,f1,J){const l1=f1.fog,i1=J.geometry,g1=_.isMeshStandardMaterial?f1.environment:null,F=(_.isMeshStandardMaterial?n:e).get(_.envMap||g1),e1=F&&F.mapping===le?F.image.height:null,C1=E[_.type];_.precision!==null&&(x=r.getMaxPrecision(_.precision),x!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",x,"instead."));const d1=i1.morphAttributes.position||i1.morphAttributes.normal||i1.morphAttributes.color,I1=d1!==void 0?d1.length:0;let j1=0;i1.morphAttributes.position!==void 0&&(j1=1),i1.morphAttributes.normal!==void 0&&(j1=2),i1.morphAttributes.color!==void 0&&(j1=3);let $,z,W,N;if(C1){const q0=z8[C1];$=q0.vertexShader,z=q0.fragmentShader}else $=_.vertexShader,z=_.fragmentShader,l.update(_),W=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const L1=t.getRenderTarget(),k1=J.isInstancedMesh===!0,A1=J.isBatchedMesh===!0,y1=!!_.map,O=!!_.matcap,v1=!!F,n1=!!_.aoMap,u1=!!_.lightMap,a1=!!_.bumpMap,R1=!!_.normalMap,q=!!_.displacementMap,S=!!_.emissiveMap,T=!!_.metalnessMap,r1=!!_.roughnessMap,D1=_.anisotropy>0,b1=_.clearcoat>0,Q1=_.iridescence>0,Y1=_.sheen>0,z1=_.transmission>0,K1=D1&&!!_.anisotropyMap,a0=b1&&!!_.clearcoatMap,v0=b1&&!!_.clearcoatNormalMap,T1=b1&&!!_.clearcoatRoughnessMap,b0=Q1&&!!_.iridescenceMap,y0=Q1&&!!_.iridescenceThicknessMap,p0=Y1&&!!_.sheenColorMap,l0=Y1&&!!_.sheenRoughnessMap,n0=!!_.specularMap,m0=!!_.specularColorMap,U0=!!_.specularIntensityMap,j0=z1&&!!_.transmissionMap,_0=z1&&!!_.thicknessMap,N0=!!_.gradientMap,K=!!_.alphaMap,O1=_.alphaTest>0,G1=!!_.alphaHash,i0=!!_.extensions;let g0=w4;_.toneMapped&&(L1===null||L1.isXRRenderTarget===!0)&&(g0=t.toneMapping);const z0={isWebGL2:A,shaderID:C1,shaderType:_.type,shaderName:_.name,vertexShader:$,fragmentShader:z,defines:_.defines,customVertexShaderID:W,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:x,batching:A1,instancing:k1,instancingColor:k1&&J.instanceColor!==null,supportsVertexTextures:L,outputColorSpace:L1===null?t.outputColorSpace:L1.isXRRenderTarget===!0?L1.texture.colorSpace:m4,alphaToCoverage:!!_.alphaToCoverage,map:y1,matcap:O,envMap:v1,envMapMode:v1&&F.mapping,envMapCubeUVHeight:e1,aoMap:n1,lightMap:u1,bumpMap:a1,normalMap:R1,displacementMap:L&&q,emissiveMap:S,normalMapObjectSpace:R1&&_.normalMapType===jx,normalMapTangentSpace:R1&&_.normalMapType===d5,metalnessMap:T,roughnessMap:r1,anisotropy:D1,anisotropyMap:K1,clearcoat:b1,clearcoatMap:a0,clearcoatNormalMap:v0,clearcoatRoughnessMap:T1,iridescence:Q1,iridescenceMap:b0,iridescenceThicknessMap:y0,sheen:Y1,sheenColorMap:p0,sheenRoughnessMap:l0,specularMap:n0,specularColorMap:m0,specularIntensityMap:U0,transmission:z1,transmissionMap:j0,thicknessMap:_0,gradientMap:N0,opaque:_.transparent===!1&&_.blending===s3&&_.alphaToCoverage===!1,alphaMap:K,alphaTest:O1,alphaHash:G1,combine:_.combine,mapUv:y1&&m(_.map.channel),aoMapUv:n1&&m(_.aoMap.channel),lightMapUv:u1&&m(_.lightMap.channel),bumpMapUv:a1&&m(_.bumpMap.channel),normalMapUv:R1&&m(_.normalMap.channel),displacementMapUv:q&&m(_.displacementMap.channel),emissiveMapUv:S&&m(_.emissiveMap.channel),metalnessMapUv:T&&m(_.metalnessMap.channel),roughnessMapUv:r1&&m(_.roughnessMap.channel),anisotropyMapUv:K1&&m(_.anisotropyMap.channel),clearcoatMapUv:a0&&m(_.clearcoatMap.channel),clearcoatNormalMapUv:v0&&m(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:T1&&m(_.clearcoatRoughnessMap.channel),iridescenceMapUv:b0&&m(_.iridescenceMap.channel),iridescenceThicknessMapUv:y0&&m(_.iridescenceThicknessMap.channel),sheenColorMapUv:p0&&m(_.sheenColorMap.channel),sheenRoughnessMapUv:l0&&m(_.sheenRoughnessMap.channel),specularMapUv:n0&&m(_.specularMap.channel),specularColorMapUv:m0&&m(_.specularColorMap.channel),specularIntensityMapUv:U0&&m(_.specularIntensityMap.channel),transmissionMapUv:j0&&m(_.transmissionMap.channel),thicknessMapUv:_0&&m(_.thicknessMap.channel),alphaMapUv:K&&m(_.alphaMap.channel),vertexTangents:!!i1.attributes.tangent&&(R1||D1),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!i1.attributes.color&&i1.attributes.color.itemSize===4,pointsUvs:J.isPoints===!0&&!!i1.attributes.uv&&(y1||K),fog:!!l1,useFog:_.fog===!0,fogExp2:!!l1&&l1.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:p,skinning:J.isSkinnedMesh===!0,morphTargets:i1.morphAttributes.position!==void 0,morphNormals:i1.morphAttributes.normal!==void 0,morphColors:i1.morphAttributes.color!==void 0,morphTargetsCount:I1,morphTextureStride:j1,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:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:t.shadowMap.enabled&&Z.length>0,shadowMapType:t.shadowMap.type,toneMapping:g0,useLegacyLights:t._useLegacyLights,decodeVideoTexture:y1&&_.map.isVideoTexture===!0&&r2.getTransfer(_.map.colorSpace)===c2,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===g4,flipSided:_.side===H9,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:i0&&_.extensions.derivatives===!0,extensionFragDepth:i0&&_.extensions.fragDepth===!0,extensionDrawBuffers:i0&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:i0&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:i0&&_.extensions.clipCullDistance===!0&&C.has("WEBGL_clip_cull_distance"),extensionMultiDraw:i0&&_.extensions.multiDraw===!0&&C.has("WEBGL_multi_draw"),rendererExtensionFragDepth:A||C.has("EXT_frag_depth"),rendererExtensionDrawBuffers:A||C.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:A||C.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:C.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return z0.vertexUv1s=d.has(1),z0.vertexUv2s=d.has(2),z0.vertexUv3s=d.has(3),d.clear(),z0}function M(_){const P=[];if(_.shaderID?P.push(_.shaderID):(P.push(_.customVertexShaderID),P.push(_.customFragmentShaderID)),_.defines!==void 0)for(const Z in _.defines)P.push(Z),P.push(_.defines[Z]);return _.isRawShaderMaterial===!1&&(k(P,_),I(P,_),P.push(t.outputColorSpace)),P.push(_.customProgramCacheKey),P.join()}function k(_,P){_.push(P.precision),_.push(P.outputColorSpace),_.push(P.envMapMode),_.push(P.envMapCubeUVHeight),_.push(P.mapUv),_.push(P.alphaMapUv),_.push(P.lightMapUv),_.push(P.aoMapUv),_.push(P.bumpMapUv),_.push(P.normalMapUv),_.push(P.displacementMapUv),_.push(P.emissiveMapUv),_.push(P.metalnessMapUv),_.push(P.roughnessMapUv),_.push(P.anisotropyMapUv),_.push(P.clearcoatMapUv),_.push(P.clearcoatNormalMapUv),_.push(P.clearcoatRoughnessMapUv),_.push(P.iridescenceMapUv),_.push(P.iridescenceThicknessMapUv),_.push(P.sheenColorMapUv),_.push(P.sheenRoughnessMapUv),_.push(P.specularMapUv),_.push(P.specularColorMapUv),_.push(P.specularIntensityMapUv),_.push(P.transmissionMapUv),_.push(P.thicknessMapUv),_.push(P.combine),_.push(P.fogExp2),_.push(P.sizeAttenuation),_.push(P.morphTargetsCount),_.push(P.morphAttributeCount),_.push(P.numDirLights),_.push(P.numPointLights),_.push(P.numSpotLights),_.push(P.numSpotLightMaps),_.push(P.numHemiLights),_.push(P.numRectAreaLights),_.push(P.numDirLightShadows),_.push(P.numPointLightShadows),_.push(P.numSpotLightShadows),_.push(P.numSpotLightShadowsWithMaps),_.push(P.numLightProbes),_.push(P.shadowMapType),_.push(P.toneMapping),_.push(P.numClippingPlanes),_.push(P.numClipIntersection),_.push(P.depthPacking)}function I(_,P){s.disableAll(),P.isWebGL2&&s.enable(0),P.supportsVertexTextures&&s.enable(1),P.instancing&&s.enable(2),P.instancingColor&&s.enable(3),P.matcap&&s.enable(4),P.envMap&&s.enable(5),P.normalMapObjectSpace&&s.enable(6),P.normalMapTangentSpace&&s.enable(7),P.clearcoat&&s.enable(8),P.iridescence&&s.enable(9),P.alphaTest&&s.enable(10),P.vertexColors&&s.enable(11),P.vertexAlphas&&s.enable(12),P.vertexUv1s&&s.enable(13),P.vertexUv2s&&s.enable(14),P.vertexUv3s&&s.enable(15),P.vertexTangents&&s.enable(16),P.anisotropy&&s.enable(17),P.alphaHash&&s.enable(18),P.batching&&s.enable(19),_.push(s.mask),s.disableAll(),P.fog&&s.enable(0),P.useFog&&s.enable(1),P.flatShading&&s.enable(2),P.logarithmicDepthBuffer&&s.enable(3),P.skinning&&s.enable(4),P.morphTargets&&s.enable(5),P.morphNormals&&s.enable(6),P.morphColors&&s.enable(7),P.premultipliedAlpha&&s.enable(8),P.shadowMapEnabled&&s.enable(9),P.useLegacyLights&&s.enable(10),P.doubleSided&&s.enable(11),P.flipSided&&s.enable(12),P.useDepthPacking&&s.enable(13),P.dithering&&s.enable(14),P.transmission&&s.enable(15),P.sheen&&s.enable(16),P.opaque&&s.enable(17),P.pointsUvs&&s.enable(18),P.decodeVideoTexture&&s.enable(19),P.alphaToCoverage&&s.enable(20),_.push(s.mask)}function b(_){const P=E[_.type];let Z;if(P){const f1=z8[P];Z=qx.clone(f1.uniforms)}else Z=_.uniforms;return Z}function R(_,P){let Z;for(let f1=0,J=g.length;f10?C.push(v):L.transparent===!0?r.push(v):n.push(v)}function l(A,p,L,x,E,m){const v=o(A,p,L,x,E,m);L.transmission>0?C.unshift(v):L.transparent===!0?r.unshift(v):n.unshift(v)}function d(A,p){n.length>1&&n.sort(A||cb),C.length>1&&C.sort(p||YA),r.length>1&&r.sort(p||YA)}function g(){for(let A=e,p=t.length;A=i.length?(o=new JA,i.push(o)):o=i[r],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function db(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new G,color:new Z1};break;case"SpotLight":n={position:new G,direction:new G,color:new Z1,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new G,color:new Z1,distance:0,decay:0};break;case"HemisphereLight":n={direction:new G,skyColor:new Z1,groundColor:new Z1};break;case"RectAreaLight":n={color:new Z1,position:new G,halfWidth:new G,halfHeight:new G};break}return t[e.id]=n,n}}}function hb(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1};break;case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new M1,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let fb=0;function gb(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function Ab(t,e){const n=new db,C=hb(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let g=0;g<9;g++)r.probe.push(new G);const i=new G,o=new f0,s=new f0;function l(g,A){let p=0,L=0,x=0;for(let Z=0;Z<9;Z++)r.probe[Z].set(0,0,0);let E=0,m=0,v=0,M=0,k=0,I=0,b=0,R=0,D=0,U=0,X=0;g.sort(gb);const _=A===!0?Math.PI:1;for(let Z=0,f1=g.length;Z0&&(e.isWebGL2?t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_FLOAT_1,r.rectAreaLTC2=$1.LTC_FLOAT_2):(r.rectAreaLTC1=$1.LTC_HALF_1,r.rectAreaLTC2=$1.LTC_HALF_2):t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_FLOAT_1,r.rectAreaLTC2=$1.LTC_FLOAT_2):t.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=$1.LTC_HALF_1,r.rectAreaLTC2=$1.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=p,r.ambient[1]=L,r.ambient[2]=x;const P=r.hash;(P.directionalLength!==E||P.pointLength!==m||P.spotLength!==v||P.rectAreaLength!==M||P.hemiLength!==k||P.numDirectionalShadows!==I||P.numPointShadows!==b||P.numSpotShadows!==R||P.numSpotMaps!==D||P.numLightProbes!==X)&&(r.directional.length=E,r.spot.length=v,r.rectArea.length=M,r.point.length=m,r.hemi.length=k,r.directionalShadow.length=I,r.directionalShadowMap.length=I,r.pointShadow.length=b,r.pointShadowMap.length=b,r.spotShadow.length=R,r.spotShadowMap.length=R,r.directionalShadowMatrix.length=I,r.pointShadowMatrix.length=b,r.spotLightMatrix.length=R+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=X,P.directionalLength=E,P.pointLength=m,P.spotLength=v,P.rectAreaLength=M,P.hemiLength=k,P.numDirectionalShadows=I,P.numPointShadows=b,P.numSpotShadows=R,P.numSpotMaps=D,P.numLightProbes=X,r.version=fb++)}function d(g,A){let p=0,L=0,x=0,E=0,m=0;const v=A.matrixWorldInverse;for(let M=0,k=g.length;M=s.length?(l=new XA(t,e),s.push(l)):l=s[o],l}function r(){n=new WeakMap}return{get:C,dispose:r}}class xo extends K2{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Nx,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 mo extends K2{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 vb=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,Lb=`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 wb(t,e,n){let C=new Bn;const r=new M1,i=new M1,o=new i2,s=new xo({depthPacking:Dd}),l=new mo,d={},g=n.maxTextureSize,A={[Q8]:H9,[H9]:Q8,[g4]:g4},p=new X8({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new M1},radius:{value:4}},vertexShader:vb,fragmentShader:Lb}),L=p.clone();L.defines.HORIZONTAL_PASS=1;const x=new R0;x.setAttribute("position",new n2(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new t2(x,p),m=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=fo;let v=this.type;this.render=function(R,D,U){if(m.enabled===!1||m.autoUpdate===!1&&m.needsUpdate===!1||R.length===0)return;const X=t.getRenderTarget(),_=t.getActiveCubeFace(),P=t.getActiveMipmapLevel(),Z=t.state;Z.setBlending(X4),Z.buffers.color.setClear(1,1,1,1),Z.buffers.depth.setTest(!0),Z.setScissorTest(!1);const f1=v!==W8&&this.type===W8,J=v===W8&&this.type!==W8;for(let l1=0,i1=R.length;l1g||r.y>g)&&(r.x>g&&(i.x=Math.floor(g/e1.x),r.x=i.x*e1.x,F.mapSize.x=i.x),r.y>g&&(i.y=Math.floor(g/e1.y),r.y=i.y*e1.y,F.mapSize.y=i.y)),F.map===null||f1===!0||J===!0){const d1=this.type!==W8?{minFilter:T2,magFilter:T2}:{};F.map!==null&&F.map.dispose(),F.map=new R8(r.x,r.y,d1),F.map.texture.name=g1.name+".shadowMap",F.camera.updateProjectionMatrix()}t.setRenderTarget(F.map),t.clear();const C1=F.getViewportCount();for(let d1=0;d10||D.map&&D.alphaTest>0){const Z=_.uuid,f1=D.uuid;let J=d[Z];J===void 0&&(J={},d[Z]=J);let l1=J[f1];l1===void 0&&(l1=_.clone(),J[f1]=l1,D.addEventListener("dispose",b)),_=l1}if(_.visible=D.visible,_.wireframe=D.wireframe,X===W8?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:A[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const Z=t.properties.get(_);Z.light=U}return _}function I(R,D,U,X,_){if(R.visible===!1)return;if(R.layers.test(D.layers)&&(R.isMesh||R.isLine||R.isPoints)&&(R.castShadow||R.receiveShadow&&_===W8)&&(!R.frustumCulled||C.intersectsObject(R))){R.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,R.matrixWorld);const f1=e.update(R),J=R.material;if(Array.isArray(J)){const l1=f1.groups;for(let i1=0,g1=l1.length;i1=1):C1.indexOf("OpenGL ES")!==-1&&(e1=parseFloat(/^OpenGL ES (\d)/.exec(C1)[1]),F=e1>=2);let d1=null,I1={};const j1=t.getParameter(t.SCISSOR_BOX),$=t.getParameter(t.VIEWPORT),z=new i2().fromArray(j1),W=new i2().fromArray($);function N(K,O1,G1,i0){const g0=new Uint8Array(4),z0=t.createTexture();t.bindTexture(K,z0),t.texParameteri(K,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(K,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let q0=0;q0"u"?!1:/OculusBrowser/g.test(navigator.userAgent),g=new WeakMap;let A;const p=new WeakMap;let L=!1;try{L=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function x(S,T){return L?new OffscreenCanvas(S,T):on("canvas")}function E(S,T,r1,D1){let b1=1;if((S.width>D1||S.height>D1)&&(b1=D1/Math.max(S.width,S.height)),b1<1||T===!0)if(typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&S instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&S instanceof ImageBitmap){const Q1=T?zi:Math.floor,Y1=Q1(b1*S.width),z1=Q1(b1*S.height);A===void 0&&(A=x(Y1,z1));const K1=r1?x(Y1,z1):A;return K1.width=Y1,K1.height=z1,K1.getContext("2d").drawImage(S,0,0,Y1,z1),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+S.width+"x"+S.height+") to ("+Y1+"x"+z1+")."),K1}else return"data"in S&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+S.width+"x"+S.height+")."),S;return S}function m(S){return au(S.width)&&au(S.height)}function v(S){return s?!1:S.wrapS!==M9||S.wrapT!==M9||S.minFilter!==T2&&S.minFilter!==A2}function M(S,T){return S.generateMipmaps&&T&&S.minFilter!==T2&&S.minFilter!==A2}function k(S){t.generateMipmap(S)}function I(S,T,r1,D1,b1=!1){if(s===!1)return T;if(S!==null){if(t[S]!==void 0)return t[S];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+S+"'")}let Q1=T;if(T===t.RED&&(r1===t.FLOAT&&(Q1=t.R32F),r1===t.HALF_FLOAT&&(Q1=t.R16F),r1===t.UNSIGNED_BYTE&&(Q1=t.R8)),T===t.RED_INTEGER&&(r1===t.UNSIGNED_BYTE&&(Q1=t.R8UI),r1===t.UNSIGNED_SHORT&&(Q1=t.R16UI),r1===t.UNSIGNED_INT&&(Q1=t.R32UI),r1===t.BYTE&&(Q1=t.R8I),r1===t.SHORT&&(Q1=t.R16I),r1===t.INT&&(Q1=t.R32I)),T===t.RG&&(r1===t.FLOAT&&(Q1=t.RG32F),r1===t.HALF_FLOAT&&(Q1=t.RG16F),r1===t.UNSIGNED_BYTE&&(Q1=t.RG8)),T===t.RGBA){const Y1=b1?en:r2.getTransfer(D1);r1===t.FLOAT&&(Q1=t.RGBA32F),r1===t.HALF_FLOAT&&(Q1=t.RGBA16F),r1===t.UNSIGNED_BYTE&&(Q1=Y1===c2?t.SRGB8_ALPHA8:t.RGBA8),r1===t.UNSIGNED_SHORT_4_4_4_4&&(Q1=t.RGBA4),r1===t.UNSIGNED_SHORT_5_5_5_1&&(Q1=t.RGB5_A1)}return(Q1===t.R16F||Q1===t.R32F||Q1===t.RG16F||Q1===t.RG32F||Q1===t.RGBA16F||Q1===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Q1}function b(S,T,r1){return M(S,r1)===!0||S.isFramebufferTexture&&S.minFilter!==T2&&S.minFilter!==A2?Math.log2(Math.max(T.width,T.height))+1:S.mipmaps!==void 0&&S.mipmaps.length>0?S.mipmaps.length:S.isCompressedTexture&&Array.isArray(S.image)?T.mipmaps.length:1}function R(S){return S===T2||S===Oi||S===Y5?t.NEAREST:t.LINEAR}function D(S){const T=S.target;T.removeEventListener("dispose",D),X(T),T.isVideoTexture&&g.delete(T)}function U(S){const T=S.target;T.removeEventListener("dispose",U),P(T)}function X(S){const T=C.get(S);if(T.__webglInit===void 0)return;const r1=S.source,D1=p.get(r1);if(D1){const b1=D1[T.__cacheKey];b1.usedTimes--,b1.usedTimes===0&&_(S),Object.keys(D1).length===0&&p.delete(r1)}C.remove(S)}function _(S){const T=C.get(S);t.deleteTexture(T.__webglTexture);const r1=S.source,D1=p.get(r1);delete D1[T.__cacheKey],o.memory.textures--}function P(S){const T=S.texture,r1=C.get(S),D1=C.get(T);if(D1.__webglTexture!==void 0&&(t.deleteTexture(D1.__webglTexture),o.memory.textures--),S.depthTexture&&S.depthTexture.dispose(),S.isWebGLCubeRenderTarget)for(let b1=0;b1<6;b1++){if(Array.isArray(r1.__webglFramebuffer[b1]))for(let Q1=0;Q1=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+S+" texture units while this GPU supports only "+r.maxTextures),Z+=1,S}function l1(S){const T=[];return T.push(S.wrapS),T.push(S.wrapT),T.push(S.wrapR||0),T.push(S.magFilter),T.push(S.minFilter),T.push(S.anisotropy),T.push(S.internalFormat),T.push(S.format),T.push(S.type),T.push(S.generateMipmaps),T.push(S.premultiplyAlpha),T.push(S.flipY),T.push(S.unpackAlignment),T.push(S.colorSpace),T.join()}function i1(S,T){const r1=C.get(S);if(S.isVideoTexture&&R1(S),S.isRenderTargetTexture===!1&&S.version>0&&r1.__version!==S.version){const D1=S.image;if(D1===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(D1.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{z(r1,S,T);return}}n.bindTexture(t.TEXTURE_2D,r1.__webglTexture,t.TEXTURE0+T)}function g1(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){z(r1,S,T);return}n.bindTexture(t.TEXTURE_2D_ARRAY,r1.__webglTexture,t.TEXTURE0+T)}function F(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){z(r1,S,T);return}n.bindTexture(t.TEXTURE_3D,r1.__webglTexture,t.TEXTURE0+T)}function e1(S,T){const r1=C.get(S);if(S.version>0&&r1.__version!==S.version){W(r1,S,T);return}n.bindTexture(t.TEXTURE_CUBE_MAP,r1.__webglTexture,t.TEXTURE0+T)}const C1={[Jt]:t.REPEAT,[M9]:t.CLAMP_TO_EDGE,[Xt]:t.MIRRORED_REPEAT},d1={[T2]:t.NEAREST,[Oi]:t.NEAREST_MIPMAP_NEAREST,[Y5]:t.NEAREST_MIPMAP_LINEAR,[A2]:t.LINEAR,[Mt]:t.LINEAR_MIPMAP_NEAREST,[A4]:t.LINEAR_MIPMAP_LINEAR},I1={[Ux]:t.NEVER,[Vx]:t.ALWAYS,[Fx]:t.LESS,[Td]:t.LEQUAL,[Wx]:t.EQUAL,[zx]:t.GEQUAL,[Ox]:t.GREATER,[Gx]:t.NOTEQUAL};function j1(S,T,r1){if(T.type===y8&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===A2||T.magFilter===Mt||T.magFilter===Y5||T.magFilter===A4||T.minFilter===A2||T.minFilter===Mt||T.minFilter===Y5||T.minFilter===A4)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),r1?(t.texParameteri(S,t.TEXTURE_WRAP_S,C1[T.wrapS]),t.texParameteri(S,t.TEXTURE_WRAP_T,C1[T.wrapT]),(S===t.TEXTURE_3D||S===t.TEXTURE_2D_ARRAY)&&t.texParameteri(S,t.TEXTURE_WRAP_R,C1[T.wrapR]),t.texParameteri(S,t.TEXTURE_MAG_FILTER,d1[T.magFilter]),t.texParameteri(S,t.TEXTURE_MIN_FILTER,d1[T.minFilter])):(t.texParameteri(S,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(S,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),(S===t.TEXTURE_3D||S===t.TEXTURE_2D_ARRAY)&&t.texParameteri(S,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),(T.wrapS!==M9||T.wrapT!==M9)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(S,t.TEXTURE_MAG_FILTER,R(T.magFilter)),t.texParameteri(S,t.TEXTURE_MIN_FILTER,R(T.minFilter)),T.minFilter!==T2&&T.minFilter!==A2&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(t.texParameteri(S,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(S,t.TEXTURE_COMPARE_FUNC,I1[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const D1=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===T2||T.minFilter!==Y5&&T.minFilter!==A4||T.type===y8&&e.has("OES_texture_float_linear")===!1||s===!1&&T.type===L3&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||C.get(T).__currentAnisotropy)&&(t.texParameterf(S,D1.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),C.get(T).__currentAnisotropy=T.anisotropy)}}function $(S,T){let r1=!1;S.__webglInit===void 0&&(S.__webglInit=!0,T.addEventListener("dispose",D));const D1=T.source;let b1=p.get(D1);b1===void 0&&(b1={},p.set(D1,b1));const Q1=l1(T);if(Q1!==S.__cacheKey){b1[Q1]===void 0&&(b1[Q1]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,r1=!0),b1[Q1].usedTimes++;const Y1=b1[S.__cacheKey];Y1!==void 0&&(b1[S.__cacheKey].usedTimes--,Y1.usedTimes===0&&_(T)),S.__cacheKey=Q1,S.__webglTexture=b1[Q1].texture}return r1}function z(S,T,r1){let D1=t.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(D1=t.TEXTURE_2D_ARRAY),T.isData3DTexture&&(D1=t.TEXTURE_3D);const b1=$(S,T),Q1=T.source;n.bindTexture(D1,S.__webglTexture,t.TEXTURE0+r1);const Y1=C.get(Q1);if(Q1.version!==Y1.__version||b1===!0){n.activeTexture(t.TEXTURE0+r1);const z1=r2.getPrimaries(r2.workingColorSpace),K1=T.colorSpace===i8?null:r2.getPrimaries(T.colorSpace),a0=T.colorSpace===i8||z1===K1?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,T.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,T.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,a0);const v0=v(T)&&m(T.image)===!1;let T1=E(T.image,v0,!1,r.maxTextureSize);T1=q(T,T1);const b0=m(T1)||s,y0=i.convert(T.format,T.colorSpace);let p0=i.convert(T.type),l0=I(T.internalFormat,y0,p0,T.colorSpace,T.isVideoTexture);j1(D1,T,b0);let n0;const m0=T.mipmaps,U0=s&&T.isVideoTexture!==!0&&l0!==Qd,j0=Y1.__version===void 0||b1===!0,_0=Q1.dataReady,N0=b(T,T1,b0);if(T.isDepthTexture)l0=t.DEPTH_COMPONENT,s?T.type===y8?l0=t.DEPTH_COMPONENT32F:T.type===V4?l0=t.DEPTH_COMPONENT24:T.type===Z6?l0=t.DEPTH24_STENCIL8:l0=t.DEPTH_COMPONENT16:T.type===y8&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===e5&&l0===t.DEPTH_COMPONENT&&T.type!==Ao&&T.type!==V4&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=V4,p0=i.convert(T.type)),T.format===w3&&l0===t.DEPTH_COMPONENT&&(l0=t.DEPTH_STENCIL,T.type!==Z6&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=Z6,p0=i.convert(T.type))),j0&&(U0?n.texStorage2D(t.TEXTURE_2D,1,l0,T1.width,T1.height):n.texImage2D(t.TEXTURE_2D,0,l0,T1.width,T1.height,0,y0,p0,null));else if(T.isDataTexture)if(m0.length>0&&b0){U0&&j0&&n.texStorage2D(t.TEXTURE_2D,N0,l0,m0[0].width,m0[0].height);for(let K=0,O1=m0.length;K>=1,O1>>=1}}else if(m0.length>0&&b0){U0&&j0&&n.texStorage2D(t.TEXTURE_2D,N0,l0,m0[0].width,m0[0].height);for(let K=0,O1=m0.length;K0&&_0++,n.texStorage2D(t.TEXTURE_CUBE_MAP,_0,n0,T1[0].width,T1[0].height));for(let K=0;K<6;K++)if(v0){m0?j0&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,0,0,T1[K].width,T1[K].height,p0,l0,T1[K].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+K,0,n0,T1[K].width,T1[K].height,0,p0,l0,T1[K].data);for(let O1=0;O1>Q1),T1=Math.max(1,T.height>>Q1);b1===t.TEXTURE_3D||b1===t.TEXTURE_2D_ARRAY?n.texImage3D(b1,Q1,K1,v0,T1,T.depth,0,Y1,z1,null):n.texImage2D(b1,Q1,K1,v0,T1,0,Y1,z1,null)}n.bindFramebuffer(t.FRAMEBUFFER,S),a1(T)?l.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,D1,b1,C.get(r1).__webglTexture,0,u1(T)):(b1===t.TEXTURE_2D||b1>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&b1<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,D1,b1,C.get(r1).__webglTexture,Q1),n.bindFramebuffer(t.FRAMEBUFFER,null)}function L1(S,T,r1){if(t.bindRenderbuffer(t.RENDERBUFFER,S),T.depthBuffer&&!T.stencilBuffer){let D1=s===!0?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(r1||a1(T)){const b1=T.depthTexture;b1&&b1.isDepthTexture&&(b1.type===y8?D1=t.DEPTH_COMPONENT32F:b1.type===V4&&(D1=t.DEPTH_COMPONENT24));const Q1=u1(T);a1(T)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,Q1,D1,T.width,T.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,Q1,D1,T.width,T.height)}else t.renderbufferStorage(t.RENDERBUFFER,D1,T.width,T.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,S)}else if(T.depthBuffer&&T.stencilBuffer){const D1=u1(T);r1&&a1(T)===!1?t.renderbufferStorageMultisample(t.RENDERBUFFER,D1,t.DEPTH24_STENCIL8,T.width,T.height):a1(T)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,D1,t.DEPTH24_STENCIL8,T.width,T.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,T.width,T.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,S)}else{const D1=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let b1=0;b10){r1.__webglFramebuffer[z1]=[];for(let K1=0;K10){r1.__webglFramebuffer=[];for(let z1=0;z10&&a1(S)===!1){const z1=Q1?T:[T];r1.__webglMultisampledFramebuffer=t.createFramebuffer(),r1.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,r1.__webglMultisampledFramebuffer);for(let K1=0;K10)for(let K1=0;K10)for(let K1=0;K10&&a1(S)===!1){const T=S.isWebGLMultipleRenderTargets?S.texture:[S.texture],r1=S.width,D1=S.height;let b1=t.COLOR_BUFFER_BIT;const Q1=[],Y1=S.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,z1=C.get(S),K1=S.isWebGLMultipleRenderTargets===!0;if(K1)for(let a0=0;a00&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function R1(S){const T=o.render.frame;g.get(S)!==T&&(g.set(S,T),S.update())}function q(S,T){const r1=S.colorSpace,D1=S.format,b1=S.type;return S.isCompressedTexture===!0||S.isVideoTexture===!0||S.format===Gi||r1!==m4&&r1!==i8&&(r2.getTransfer(r1)===c2?s===!1?e.has("EXT_sRGB")===!0&&D1===b9?(S.format=Gi,S.minFilter=A2,S.generateMipmaps=!1):T=Pd.sRGBToLinear(T):(D1!==b9||b1!==x4)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",r1)),T}this.allocateTextureUnit=J,this.resetTextureUnits=f1,this.setTexture2D=i1,this.setTexture2DArray=g1,this.setTexture3D=F,this.setTextureCube=e1,this.rebindTextures=y1,this.setupRenderTarget=O,this.updateRenderTargetMipmap=v1,this.updateMultisampleRenderTarget=n1,this.setupDepthRenderbuffer=A1,this.setupFrameBufferTexture=N,this.useMultisampledRTT=a1}function sm(t,e,n){const C=n.isWebGL2;function r(i,o=i8){let s;const l=r2.getTransfer(o);if(i===x4)return t.UNSIGNED_BYTE;if(i===yd)return t.UNSIGNED_SHORT_4_4_4_4;if(i===Bd)return t.UNSIGNED_SHORT_5_5_5_1;if(i===Bx)return t.BYTE;if(i===Ix)return t.SHORT;if(i===Ao)return t.UNSIGNED_SHORT;if(i===Ed)return t.INT;if(i===V4)return t.UNSIGNED_INT;if(i===y8)return t.FLOAT;if(i===L3)return C?t.HALF_FLOAT:(s=e.get("OES_texture_half_float"),s!==null?s.HALF_FLOAT_OES:null);if(i===Sx)return t.ALPHA;if(i===b9)return t.RGBA;if(i===_x)return t.LUMINANCE;if(i===Qx)return t.LUMINANCE_ALPHA;if(i===e5)return t.DEPTH_COMPONENT;if(i===w3)return t.DEPTH_STENCIL;if(i===Gi)return s=e.get("EXT_sRGB"),s!==null?s.SRGB_ALPHA_EXT:null;if(i===Rx)return t.RED;if(i===Id)return t.RED_INTEGER;if(i===bx)return t.RG;if(i===Sd)return t.RG_INTEGER;if(i===_d)return t.RGBA_INTEGER;if(i===si||i===li||i===ai||i===ci)if(l===c2)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(i===si)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===li)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===ai)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===ci)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(i===si)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===li)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===ai)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===ci)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(i===Hc||i===Pc||i===Nc||i===jc)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(i===Hc)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===Pc)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===Nc)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===jc)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(i===Qd)return s=e.get("WEBGL_compressed_texture_etc1"),s!==null?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(i===Uc||i===Fc)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(i===Uc)return l===c2?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===Fc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(i===Wc||i===Oc||i===Gc||i===zc||i===Vc||i===$c||i===Yc||i===Jc||i===Xc||i===Kc||i===qc||i===Zc||i===eu||i===tu)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(i===Wc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===Oc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===Gc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===zc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===Vc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===$c)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===Yc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===Jc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===Xc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===Kc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===qc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===Zc)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===eu)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===tu)return l===c2?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(i===ui||i===nu||i===Cu)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(i===ui)return l===c2?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(i===nu)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(i===Cu)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(i===Dx||i===ru||i===iu||i===ou)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(i===ui)return s.COMPRESSED_RED_RGTC1_EXT;if(i===ru)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(i===iu)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(i===ou)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return i===Z6?C?t.UNSIGNED_INT_24_8:(s=e.get("WEBGL_depth_texture"),s!==null?s.UNSIGNED_INT_24_8_WEBGL:null):t[i]!==void 0?t[i]:null}return{convert:r}}class lm extends G2{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}let $4=class extends Y0{constructor(){super(),this.isGroup=!0,this.type="Group"}};const kb={type:"move"};class Kl{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new $4,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 $4,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new G,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new G),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new $4,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new G,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new G),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 n=this._hand;if(n)for(const C of e.hand.values())this._getHandJoint(n,C)}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,n,C){let r=null,i=null,o=null;const s=this._targetRay,l=this._grip,d=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const E of e.hand.values()){const m=n.getJointPose(E,C),v=this._getHandJoint(d,E);m!==null&&(v.matrix.fromArray(m.transform.matrix),v.matrix.decompose(v.position,v.rotation,v.scale),v.matrixWorldNeedsUpdate=!0,v.jointRadius=m.radius),v.visible=m!==null}const g=d.joints["index-finger-tip"],A=d.joints["thumb-tip"],p=g.position.distanceTo(A.position),L=.02,x=.005;d.inputState.pinching&&p>L+x?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&p<=L-x&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(i=n.getPose(e.gripSpace,C),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1));s!==null&&(r=n.getPose(e.targetRaySpace,C),r===null&&i!==null&&(r=i),r!==null&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(kb)))}return s!==null&&(s.visible=r!==null),l!==null&&(l.visible=i!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const C=new $4;C.matrixAutoUpdate=!1,C.visible=!1,e.joints[n.jointName]=C,e.add(C)}return e.joints[n.jointName]}}const Mb=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,Eb=` +uniform sampler2DArray depthColor; +uniform float depthWidth; +uniform float depthHeight; + +void main() { + + vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); + + if ( coord.x >= 1.0 ) { + + gl_FragDepthEXT = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepthEXT = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class yb{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,n,C){if(this.texture===null){const r=new w2,i=e.properties.get(r);i.__webglTexture=n.texture,(n.depthNear!=C.depthNear||n.depthFar!=C.depthFar)&&(this.depthNear=n.depthNear,this.depthFar=n.depthFar),this.texture=r}}render(e,n){if(this.texture!==null){if(this.mesh===null){const C=n.cameras[0].viewport,r=new X8({extensions:{fragDepth:!0},vertexShader:Mb,fragmentShader:Eb,uniforms:{depthColor:{value:this.texture},depthWidth:{value:C.z},depthHeight:{value:C.w}}});this.mesh=new t2(new h5(20,20),r)}e.render(this.mesh,n)}}reset(){this.texture=null,this.mesh=null}}class Bb extends C6{constructor(e,n){super();const C=this;let r=null,i=1,o=null,s="local-floor",l=1,d=null,g=null,A=null,p=null,L=null,x=null;const E=new yb,m=n.getContextAttributes();let v=null,M=null;const k=[],I=[],b=new M1;let R=null;const D=new G2;D.layers.enable(1),D.viewport=new i2;const U=new G2;U.layers.enable(2),U.viewport=new i2;const X=[D,U],_=new lm;_.layers.enable(1),_.layers.enable(2);let P=null,Z=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getTargetRaySpace()},this.getControllerGrip=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getGripSpace()},this.getHand=function($){let z=k[$];return z===void 0&&(z=new Kl,k[$]=z),z.getHandSpace()};function f1($){const z=I.indexOf($.inputSource);if(z===-1)return;const W=k[z];W!==void 0&&(W.update($.inputSource,$.frame,d||o),W.dispatchEvent({type:$.type,data:$.inputSource}))}function J(){r.removeEventListener("select",f1),r.removeEventListener("selectstart",f1),r.removeEventListener("selectend",f1),r.removeEventListener("squeeze",f1),r.removeEventListener("squeezestart",f1),r.removeEventListener("squeezeend",f1),r.removeEventListener("end",J),r.removeEventListener("inputsourceschange",l1);for(let $=0;$=0&&(I[N]=null,k[N].disconnect(W))}for(let z=0;z<$.added.length;z++){const W=$.added[z];let N=I.indexOf(W);if(N===-1){for(let k1=0;k1=I.length){I.push(W),N=k1;break}else if(I[k1]===null){I[k1]=W,N=k1;break}if(N===-1)break}const L1=k[N];L1&&L1.connect(W)}}const i1=new G,g1=new G;function F($,z,W){i1.setFromMatrixPosition(z.matrixWorld),g1.setFromMatrixPosition(W.matrixWorld);const N=i1.distanceTo(g1),L1=z.projectionMatrix.elements,k1=W.projectionMatrix.elements,A1=L1[14]/(L1[10]-1),y1=L1[14]/(L1[10]+1),O=(L1[9]+1)/L1[5],v1=(L1[9]-1)/L1[5],n1=(L1[8]-1)/L1[0],u1=(k1[8]+1)/k1[0],a1=A1*n1,R1=A1*u1,q=N/(-n1+u1),S=q*-n1;z.matrixWorld.decompose($.position,$.quaternion,$.scale),$.translateX(S),$.translateZ(q),$.matrixWorld.compose($.position,$.quaternion,$.scale),$.matrixWorldInverse.copy($.matrixWorld).invert();const T=A1+q,r1=y1+q,D1=a1-S,b1=R1+(N-S),Q1=O*y1/r1*T,Y1=v1*y1/r1*T;$.projectionMatrix.makePerspective(D1,b1,Q1,Y1,T,r1),$.projectionMatrixInverse.copy($.projectionMatrix).invert()}function e1($,z){z===null?$.matrixWorld.copy($.matrix):$.matrixWorld.multiplyMatrices(z.matrixWorld,$.matrix),$.matrixWorldInverse.copy($.matrixWorld).invert()}this.updateCamera=function($){if(r===null)return;E.texture!==null&&($.near=E.depthNear,$.far=E.depthFar),_.near=U.near=D.near=$.near,_.far=U.far=D.far=$.far,(P!==_.near||Z!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),P=_.near,Z=_.far,D.near=P,D.far=Z,U.near=P,U.far=Z,D.updateProjectionMatrix(),U.updateProjectionMatrix(),$.updateProjectionMatrix());const z=$.parent,W=_.cameras;e1(_,z);for(let N=0;N0&&(m.alphaTest.value=v.alphaTest);const M=e.get(v).envMap;if(M&&(m.envMap.value=M,m.flipEnvMap.value=M.isCubeTexture&&M.isRenderTargetTexture===!1?-1:1,m.reflectivity.value=v.reflectivity,m.ior.value=v.ior,m.refractionRatio.value=v.refractionRatio),v.lightMap){m.lightMap.value=v.lightMap;const k=t._useLegacyLights===!0?Math.PI:1;m.lightMapIntensity.value=v.lightMapIntensity*k,n(v.lightMap,m.lightMapTransform)}v.aoMap&&(m.aoMap.value=v.aoMap,m.aoMapIntensity.value=v.aoMapIntensity,n(v.aoMap,m.aoMapTransform))}function o(m,v){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,v.map&&(m.map.value=v.map,n(v.map,m.mapTransform))}function s(m,v){m.dashSize.value=v.dashSize,m.totalSize.value=v.dashSize+v.gapSize,m.scale.value=v.scale}function l(m,v,M,k){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,m.size.value=v.size*M,m.scale.value=k*.5,v.map&&(m.map.value=v.map,n(v.map,m.uvTransform)),v.alphaMap&&(m.alphaMap.value=v.alphaMap,n(v.alphaMap,m.alphaMapTransform)),v.alphaTest>0&&(m.alphaTest.value=v.alphaTest)}function d(m,v){m.diffuse.value.copy(v.color),m.opacity.value=v.opacity,m.rotation.value=v.rotation,v.map&&(m.map.value=v.map,n(v.map,m.mapTransform)),v.alphaMap&&(m.alphaMap.value=v.alphaMap,n(v.alphaMap,m.alphaMapTransform)),v.alphaTest>0&&(m.alphaTest.value=v.alphaTest)}function g(m,v){m.specular.value.copy(v.specular),m.shininess.value=Math.max(v.shininess,1e-4)}function A(m,v){v.gradientMap&&(m.gradientMap.value=v.gradientMap)}function p(m,v){m.metalness.value=v.metalness,v.metalnessMap&&(m.metalnessMap.value=v.metalnessMap,n(v.metalnessMap,m.metalnessMapTransform)),m.roughness.value=v.roughness,v.roughnessMap&&(m.roughnessMap.value=v.roughnessMap,n(v.roughnessMap,m.roughnessMapTransform)),e.get(v).envMap&&(m.envMapIntensity.value=v.envMapIntensity)}function L(m,v,M){m.ior.value=v.ior,v.sheen>0&&(m.sheenColor.value.copy(v.sheenColor).multiplyScalar(v.sheen),m.sheenRoughness.value=v.sheenRoughness,v.sheenColorMap&&(m.sheenColorMap.value=v.sheenColorMap,n(v.sheenColorMap,m.sheenColorMapTransform)),v.sheenRoughnessMap&&(m.sheenRoughnessMap.value=v.sheenRoughnessMap,n(v.sheenRoughnessMap,m.sheenRoughnessMapTransform))),v.clearcoat>0&&(m.clearcoat.value=v.clearcoat,m.clearcoatRoughness.value=v.clearcoatRoughness,v.clearcoatMap&&(m.clearcoatMap.value=v.clearcoatMap,n(v.clearcoatMap,m.clearcoatMapTransform)),v.clearcoatRoughnessMap&&(m.clearcoatRoughnessMap.value=v.clearcoatRoughnessMap,n(v.clearcoatRoughnessMap,m.clearcoatRoughnessMapTransform)),v.clearcoatNormalMap&&(m.clearcoatNormalMap.value=v.clearcoatNormalMap,n(v.clearcoatNormalMap,m.clearcoatNormalMapTransform),m.clearcoatNormalScale.value.copy(v.clearcoatNormalScale),v.side===H9&&m.clearcoatNormalScale.value.negate())),v.iridescence>0&&(m.iridescence.value=v.iridescence,m.iridescenceIOR.value=v.iridescenceIOR,m.iridescenceThicknessMinimum.value=v.iridescenceThicknessRange[0],m.iridescenceThicknessMaximum.value=v.iridescenceThicknessRange[1],v.iridescenceMap&&(m.iridescenceMap.value=v.iridescenceMap,n(v.iridescenceMap,m.iridescenceMapTransform)),v.iridescenceThicknessMap&&(m.iridescenceThicknessMap.value=v.iridescenceThicknessMap,n(v.iridescenceThicknessMap,m.iridescenceThicknessMapTransform))),v.transmission>0&&(m.transmission.value=v.transmission,m.transmissionSamplerMap.value=M.texture,m.transmissionSamplerSize.value.set(M.width,M.height),v.transmissionMap&&(m.transmissionMap.value=v.transmissionMap,n(v.transmissionMap,m.transmissionMapTransform)),m.thickness.value=v.thickness,v.thicknessMap&&(m.thicknessMap.value=v.thicknessMap,n(v.thicknessMap,m.thicknessMapTransform)),m.attenuationDistance.value=v.attenuationDistance,m.attenuationColor.value.copy(v.attenuationColor)),v.anisotropy>0&&(m.anisotropyVector.value.set(v.anisotropy*Math.cos(v.anisotropyRotation),v.anisotropy*Math.sin(v.anisotropyRotation)),v.anisotropyMap&&(m.anisotropyMap.value=v.anisotropyMap,n(v.anisotropyMap,m.anisotropyMapTransform))),m.specularIntensity.value=v.specularIntensity,m.specularColor.value.copy(v.specularColor),v.specularColorMap&&(m.specularColorMap.value=v.specularColorMap,n(v.specularColorMap,m.specularColorMapTransform)),v.specularIntensityMap&&(m.specularIntensityMap.value=v.specularIntensityMap,n(v.specularIntensityMap,m.specularIntensityMapTransform))}function x(m,v){v.matcap&&(m.matcap.value=v.matcap)}function E(m,v){const M=e.get(v).light;m.referencePosition.value.setFromMatrixPosition(M.matrixWorld),m.nearDistance.value=M.shadow.camera.near,m.farDistance.value=M.shadow.camera.far}return{refreshFogUniforms:C,refreshMaterialUniforms:r}}function Sb(t,e,n,C){let r={},i={},o=[];const s=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(M,k){const I=k.program;C.uniformBlockBinding(M,I)}function d(M,k){let I=r[M.id];I===void 0&&(x(M),I=g(M),r[M.id]=I,M.addEventListener("dispose",m));const b=k.program;C.updateUBOMapping(M,b);const R=e.render.frame;i[M.id]!==R&&(p(M),i[M.id]=R)}function g(M){const k=A();M.__bindingPointIndex=k;const I=t.createBuffer(),b=M.__size,R=M.usage;return t.bindBuffer(t.UNIFORM_BUFFER,I),t.bufferData(t.UNIFORM_BUFFER,b,R),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,k,I),I}function A(){for(let M=0;M0&&(I+=b-R),M.__size=I,M.__cache={},this}function E(M){const k={boundary:0,storage:0};return typeof M=="number"||typeof M=="boolean"?(k.boundary=4,k.storage=4):M.isVector2?(k.boundary=8,k.storage=8):M.isVector3||M.isColor?(k.boundary=16,k.storage=12):M.isVector4?(k.boundary=16,k.storage=16):M.isMatrix3?(k.boundary=48,k.storage=48):M.isMatrix4?(k.boundary=64,k.storage=64):M.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",M),k}function m(M){const k=M.target;k.removeEventListener("dispose",m);const I=o.indexOf(k.__bindingPointIndex);o.splice(I,1),t.deleteBuffer(r[k.id]),delete r[k.id],delete i[k.id]}function v(){for(const M in r)t.deleteBuffer(r[M]);o=[],r={},i={}}return{bind:l,update:d,dispose:v}}class Od{constructor(e={}){const{canvas:n=Yx(),context:C=null,depth:r=!0,stencil:i=!0,alpha:o=!1,antialias:s=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:d=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:A=!1}=e;this.isWebGLRenderer=!0;let p;C!==null?p=C.getContextAttributes().alpha:p=o;const L=new Uint32Array(4),x=new Int32Array(4);let E=null,m=null;const v=[],M=[];this.domElement=n,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=Q2,this._useLegacyLights=!1,this.toneMapping=w4,this.toneMappingExposure=1;const k=this;let I=!1,b=0,R=0,D=null,U=-1,X=null;const _=new i2,P=new i2;let Z=null;const f1=new Z1(0);let J=0,l1=n.width,i1=n.height,g1=1,F=null,e1=null;const C1=new i2(0,0,l1,i1),d1=new i2(0,0,l1,i1);let I1=!1;const j1=new Bn;let $=!1,z=!1,W=null;const N=new f0,L1=new M1,k1=new G,A1={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function y1(){return D===null?g1:1}let O=C;function v1(V,p1){for(let m1=0;m1{function J1(){if(B1.forEach(function(c0){q.get(c0).currentProgram.isReady()&&B1.delete(c0)}),B1.size===0){x1(V);return}setTimeout(J1,10)}n1.get("KHR_parallel_shader_compile")!==null?J1():setTimeout(J1,10)})};let q0=null;function Z0(V){q0&&q0(V)}function o9(){C2.stop()}function e2(){C2.start()}const C2=new tm;C2.setAnimationLoop(Z0),typeof self<"u"&&C2.setContext(self),this.setAnimationLoop=function(V){q0=V,_0.setAnimationLoop(V),V===null?C2.stop():C2.start()},_0.addEventListener("sessionstart",o9),_0.addEventListener("sessionend",e2),this.render=function(V,p1){if(p1!==void 0&&p1.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(I===!0)return;V.matrixWorldAutoUpdate===!0&&V.updateMatrixWorld(),p1.parent===null&&p1.matrixWorldAutoUpdate===!0&&p1.updateMatrixWorld(),_0.enabled===!0&&_0.isPresenting===!0&&(_0.cameraAutoUpdate===!0&&_0.updateCamera(p1),p1=_0.getCamera()),V.isScene===!0&&V.onBeforeRender(k,V,p1,D),m=a0.get(V,M.length),m.init(),M.push(m),N.multiplyMatrices(p1.projectionMatrix,p1.matrixWorldInverse),j1.setFromProjectionMatrix(N),z=this.localClippingEnabled,$=v0.init(this.clippingPlanes,z),E=K1.get(V,v.length),E.init(),v.push(E),y9(V,p1,0,k.sortObjects),E.finish(),k.sortObjects===!0&&E.sort(F,e1),this.info.render.frame++,$===!0&&v0.beginShadows();const m1=m.state.shadowsArray;if(T1.render(m1,V,p1),$===!0&&v0.endShadows(),this.info.autoReset===!0&&this.info.reset(),(_0.enabled===!1||_0.isPresenting===!1||_0.hasDepthSensing()===!1)&&b0.render(E,V),m.setupLights(k._useLegacyLights),p1.isArrayCamera){const B1=p1.cameras;for(let x1=0,J1=B1.length;x10?m=M[M.length-1]:m=null,v.pop(),v.length>0?E=v[v.length-1]:E=null};function y9(V,p1,m1,B1){if(V.visible===!1)return;if(V.layers.test(p1.layers)){if(V.isGroup)m1=V.renderOrder;else if(V.isLOD)V.autoUpdate===!0&&V.update(p1);else if(V.isLight)m.pushLight(V),V.castShadow&&m.pushShadow(V);else if(V.isSprite){if(!V.frustumCulled||j1.intersectsSprite(V)){B1&&k1.setFromMatrixPosition(V.matrixWorld).applyMatrix4(N);const c0=Q1.update(V),L0=V.material;L0.visible&&E.push(V,c0,L0,m1,k1.z,null)}}else if((V.isMesh||V.isLine||V.isPoints)&&(!V.frustumCulled||j1.intersectsObject(V))){const c0=Q1.update(V),L0=V.material;if(B1&&(V.boundingSphere!==void 0?(V.boundingSphere===null&&V.computeBoundingSphere(),k1.copy(V.boundingSphere.center)):(c0.boundingSphere===null&&c0.computeBoundingSphere(),k1.copy(c0.boundingSphere.center)),k1.applyMatrix4(V.matrixWorld).applyMatrix4(N)),Array.isArray(L0)){const w0=c0.groups;for(let E0=0,M0=w0.length;E00&&y4(x1,J1,p1,m1),B1&&a1.viewport(_.copy(B1)),x1.length>0&&e4(x1,p1,m1),J1.length>0&&e4(J1,p1,m1),c0.length>0&&e4(c0,p1,m1),a1.buffers.depth.setTest(!0),a1.buffers.depth.setMask(!0),a1.buffers.color.setMask(!0),a1.setPolygonOffset(!1)}function y4(V,p1,m1,B1){if((m1.isScene===!0?m1.overrideMaterial:null)!==null)return;const J1=u1.isWebGL2;W===null&&(W=new R8(1,1,{generateMipmaps:!0,type:n1.has("EXT_color_buffer_half_float")?L3:x4,minFilter:A4,samples:J1?4:0})),k.getDrawingBufferSize(L1),J1?W.setSize(L1.x,L1.y):W.setSize(zi(L1.x),zi(L1.y));const c0=k.getRenderTarget();k.setRenderTarget(W),k.getClearColor(f1),J=k.getClearAlpha(),J<1&&k.setClearColor(16777215,.5),k.clear();const L0=k.toneMapping;k.toneMapping=w4,e4(V,m1,B1),S.updateMultisampleRenderTarget(W),S.updateRenderTargetMipmap(W);let w0=!1;for(let E0=0,M0=p1.length;E00),k0=!!m1.morphAttributes.position,d2=!!m1.morphAttributes.normal,F2=!!m1.morphAttributes.color;let s2=w4;B1.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(s2=k.toneMapping);const y2=m1.morphAttributes.position||m1.morphAttributes.normal||m1.morphAttributes.color,u0=y2!==void 0?y2.length:0,e0=q.get(B1),B9=m.state.lights;if($===!0&&(z===!0||V!==X)){const N1=V===X&&B1.id===U;v0.setState(B1,V,N1)}let H=!1;B1.version===e0.__version?(e0.needsLights&&e0.lightsStateVersion!==B9.state.version||e0.outputColorSpace!==L0||x1.isBatchedMesh&&e0.batching===!1||!x1.isBatchedMesh&&e0.batching===!0||x1.isInstancedMesh&&e0.instancing===!1||!x1.isInstancedMesh&&e0.instancing===!0||x1.isSkinnedMesh&&e0.skinning===!1||!x1.isSkinnedMesh&&e0.skinning===!0||x1.isInstancedMesh&&e0.instancingColor===!0&&x1.instanceColor===null||x1.isInstancedMesh&&e0.instancingColor===!1&&x1.instanceColor!==null||e0.envMap!==w0||B1.fog===!0&&e0.fog!==J1||e0.numClippingPlanes!==void 0&&(e0.numClippingPlanes!==v0.numPlanes||e0.numIntersection!==v0.numIntersection)||e0.vertexAlphas!==E0||e0.vertexTangents!==M0||e0.morphTargets!==k0||e0.morphNormals!==d2||e0.morphColors!==F2||e0.toneMapping!==s2||u1.isWebGL2===!0&&e0.morphTargetsCount!==u0)&&(H=!0):(H=!0,e0.__version=B1.version);let j=e0.currentProgram;H===!0&&(j=t4(B1,p1,x1));let t1=!1,o1=!1,h1=!1;const E1=j.getUniforms(),H1=e0.uniforms;if(a1.useProgram(j.program)&&(t1=!0,o1=!0,h1=!0),B1.id!==U&&(U=B1.id,o1=!0),t1||X!==V){E1.setValue(O,"projectionMatrix",V.projectionMatrix),E1.setValue(O,"viewMatrix",V.matrixWorldInverse);const N1=E1.map.cameraPosition;N1!==void 0&&N1.setValue(O,k1.setFromMatrixPosition(V.matrixWorld)),u1.logarithmicDepthBuffer&&E1.setValue(O,"logDepthBufFC",2/(Math.log(V.far+1)/Math.LN2)),(B1.isMeshPhongMaterial||B1.isMeshToonMaterial||B1.isMeshLambertMaterial||B1.isMeshBasicMaterial||B1.isMeshStandardMaterial||B1.isShaderMaterial)&&E1.setValue(O,"isOrthographic",V.isOrthographicCamera===!0),X!==V&&(X=V,o1=!0,h1=!0)}if(x1.isSkinnedMesh){E1.setOptional(O,x1,"bindMatrix"),E1.setOptional(O,x1,"bindMatrixInverse");const N1=x1.skeleton;N1&&(u1.floatVertexTextures?(N1.boneTexture===null&&N1.computeBoneTexture(),E1.setValue(O,"boneTexture",N1.boneTexture,S)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}x1.isBatchedMesh&&(E1.setOptional(O,x1,"batchingTexture"),E1.setValue(O,"batchingTexture",x1._matricesTexture,S));const P1=m1.morphAttributes;if((P1.position!==void 0||P1.normal!==void 0||P1.color!==void 0&&u1.isWebGL2===!0)&&y0.update(x1,m1,j),(o1||e0.receiveShadow!==x1.receiveShadow)&&(e0.receiveShadow=x1.receiveShadow,E1.setValue(O,"receiveShadow",x1.receiveShadow)),B1.isMeshGouraudMaterial&&B1.envMap!==null&&(H1.envMap.value=w0,H1.flipEnvMap.value=w0.isCubeTexture&&w0.isRenderTargetTexture===!1?-1:1),o1&&(E1.setValue(O,"toneMappingExposure",k.toneMappingExposure),e0.needsLights&&xe(H1,h1),J1&&B1.fog===!0&&z1.refreshFogUniforms(H1,J1),z1.refreshMaterialUniforms(H1,B1,g1,i1,W),hi.upload(O,b3(e0),H1,S)),B1.isShaderMaterial&&B1.uniformsNeedUpdate===!0&&(hi.upload(O,b3(e0),H1,S),B1.uniformsNeedUpdate=!1),B1.isSpriteMaterial&&E1.setValue(O,"center",x1.center),E1.setValue(O,"modelViewMatrix",x1.modelViewMatrix),E1.setValue(O,"normalMatrix",x1.normalMatrix),E1.setValue(O,"modelMatrix",x1.matrixWorld),B1.isShaderMaterial||B1.isRawShaderMaterial){const N1=B1.uniformsGroups;for(let U1=0,V1=N1.length;U10&&S.useMultisampledRTT(V)===!1?x1=q.get(V).__webglMultisampledFramebuffer:Array.isArray(M0)?x1=M0[m1]:x1=M0,_.copy(V.viewport),P.copy(V.scissor),Z=V.scissorTest}else _.copy(C1).multiplyScalar(g1).floor(),P.copy(d1).multiplyScalar(g1).floor(),Z=I1;if(a1.bindFramebuffer(O.FRAMEBUFFER,x1)&&u1.drawBuffers&&B1&&a1.drawBuffers(V,x1),a1.viewport(_),a1.scissor(P),a1.setScissorTest(Z),J1){const w0=q.get(V.texture);O.framebufferTexture2D(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,O.TEXTURE_CUBE_MAP_POSITIVE_X+p1,w0.__webglTexture,m1)}else if(c0){const w0=q.get(V.texture),E0=p1||0;O.framebufferTextureLayer(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,w0.__webglTexture,m1||0,E0)}U=-1},this.readRenderTargetPixels=function(V,p1,m1,B1,x1,J1,c0){if(!(V&&V.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let L0=q.get(V).__webglFramebuffer;if(V.isWebGLCubeRenderTarget&&c0!==void 0&&(L0=L0[c0]),L0){a1.bindFramebuffer(O.FRAMEBUFFER,L0);try{const w0=V.texture,E0=w0.format,M0=w0.type;if(E0!==b9&&n0.convert(E0)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const k0=M0===L3&&(n1.has("EXT_color_buffer_half_float")||u1.isWebGL2&&n1.has("EXT_color_buffer_float"));if(M0!==x4&&n0.convert(M0)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_TYPE)&&!(M0===y8&&(u1.isWebGL2||n1.has("OES_texture_float")||n1.has("WEBGL_color_buffer_float")))&&!k0){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}p1>=0&&p1<=V.width-B1&&m1>=0&&m1<=V.height-x1&&O.readPixels(p1,m1,B1,x1,n0.convert(E0),n0.convert(M0),J1)}finally{const w0=D!==null?q.get(D).__webglFramebuffer:null;a1.bindFramebuffer(O.FRAMEBUFFER,w0)}}},this.copyFramebufferToTexture=function(V,p1,m1=0){const B1=Math.pow(2,-m1),x1=Math.floor(p1.image.width*B1),J1=Math.floor(p1.image.height*B1);S.setTexture2D(p1,0),O.copyTexSubImage2D(O.TEXTURE_2D,m1,0,0,V.x,V.y,x1,J1),a1.unbindTexture()},this.copyTextureToTexture=function(V,p1,m1,B1=0){const x1=p1.image.width,J1=p1.image.height,c0=n0.convert(m1.format),L0=n0.convert(m1.type);S.setTexture2D(m1,0),O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,m1.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m1.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,m1.unpackAlignment),p1.isDataTexture?O.texSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,x1,J1,c0,L0,p1.image.data):p1.isCompressedTexture?O.compressedTexSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,p1.mipmaps[0].width,p1.mipmaps[0].height,c0,p1.mipmaps[0].data):O.texSubImage2D(O.TEXTURE_2D,B1,V.x,V.y,c0,L0,p1.image),B1===0&&m1.generateMipmaps&&O.generateMipmap(O.TEXTURE_2D),a1.unbindTexture()},this.copyTextureToTexture3D=function(V,p1,m1,B1,x1=0){if(k.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const J1=V.max.x-V.min.x+1,c0=V.max.y-V.min.y+1,L0=V.max.z-V.min.z+1,w0=n0.convert(B1.format),E0=n0.convert(B1.type);let M0;if(B1.isData3DTexture)S.setTexture3D(B1,0),M0=O.TEXTURE_3D;else if(B1.isDataArrayTexture||B1.isCompressedArrayTexture)S.setTexture2DArray(B1,0),M0=O.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,B1.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B1.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,B1.unpackAlignment);const k0=O.getParameter(O.UNPACK_ROW_LENGTH),d2=O.getParameter(O.UNPACK_IMAGE_HEIGHT),F2=O.getParameter(O.UNPACK_SKIP_PIXELS),s2=O.getParameter(O.UNPACK_SKIP_ROWS),y2=O.getParameter(O.UNPACK_SKIP_IMAGES),u0=m1.isCompressedTexture?m1.mipmaps[x1]:m1.image;O.pixelStorei(O.UNPACK_ROW_LENGTH,u0.width),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,u0.height),O.pixelStorei(O.UNPACK_SKIP_PIXELS,V.min.x),O.pixelStorei(O.UNPACK_SKIP_ROWS,V.min.y),O.pixelStorei(O.UNPACK_SKIP_IMAGES,V.min.z),m1.isDataTexture||m1.isData3DTexture?O.texSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,c0,L0,w0,E0,u0.data):m1.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),O.compressedTexSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,c0,L0,w0,u0.data)):O.texSubImage3D(M0,x1,p1.x,p1.y,p1.z,J1,c0,L0,w0,E0,u0),O.pixelStorei(O.UNPACK_ROW_LENGTH,k0),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,d2),O.pixelStorei(O.UNPACK_SKIP_PIXELS,F2),O.pixelStorei(O.UNPACK_SKIP_ROWS,s2),O.pixelStorei(O.UNPACK_SKIP_IMAGES,y2),x1===0&&B1.generateMipmaps&&O.generateMipmap(M0),a1.unbindTexture()},this.initTexture=function(V){V.isCubeTexture?S.setTextureCube(V,0):V.isData3DTexture?S.setTexture3D(V,0):V.isDataArrayTexture||V.isCompressedArrayTexture?S.setTexture2DArray(V,0):S.setTexture2D(V,0),a1.unbindTexture()},this.resetState=function(){b=0,R=0,D=null,a1.reset(),m0.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return p4}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===vo?"display-p3":"srgb",n.unpackColorSpace=r2.workingColorSpace===Mn?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Q2?t5:bd}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===t5?Q2:m4}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 am extends Od{}am.prototype.isWebGL1Renderer=!0;class ko{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new Z1(e),this.density=n}clone(){return new ko(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Mo{constructor(e,n=1,C=1e3){this.isFog=!0,this.name="",this.color=new Z1(e),this.near=n,this.far=C}clone(){return new Mo(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class sn extends Y0{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),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,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n}}class Eo{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=Cn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=a8()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return a3("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,n){this.updateRanges.push({start:e,count:n})}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,n,C){e*=this.stride,C*=n.stride;for(let r=0,i=this.stride;re.far||n.push({distance:l,point:Ze.clone(),uv:n3.getInterpolation(Ze,ur,tt,dr,KA,ql,qA,new M1),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function hr(t,e,n,C,r,i){h7.subVectors(t,n).addScalar(.5).multiply(C),r!==void 0?(et.x=i*h7.x-r*h7.y,et.y=r*h7.x+i*h7.y):et.copy(h7),t.copy(e),t.x+=et.x,t.y+=et.y,t.applyMatrix4(cm)}const fr=new G,ZA=new G;class dm extends Y0{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 n=e.levels;for(let C=0,r=n.length;C0){let C,r;for(C=1,r=n.length;C0){fr.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(fr);this.getObjectForDistance(r).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){fr.setFromMatrixPosition(e.matrixWorld),ZA.setFromMatrixPosition(this.matrixWorld);const C=fr.distanceTo(ZA)/e.zoom;n[0].object.visible=!0;let r,i;for(r=1,i=n.length;r=o)n[r-1].object.visible=!1,n[r].object.visible=!0;else break}for(this._currentLevel=r-1;r=C.length&&C.push({start:-1,count:-1,z:-1});const i=C[this.index];r.push(i),this.index++,i.start=e.start,i.count=e.count,i.z=n}reset(){this.list.length=0,this.index=0}}const g7="batchId",D6=new f0,lp=new f0,Hb=new f0,ap=new f0,ta=new Bn,pr=new V2,T5=new i9,rt=new G,na=new Tb,m9=new t2,vr=[];function Pb(t,e,n=0){const C=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const r=t.count;for(let i=0;i65536?new Uint32Array(i):new Uint16Array(i);n.setIndex(new n2(s,1))}const o=r>65536?new Uint32Array(C):new Uint16Array(C);n.setAttribute(g7,new n2(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(g7))throw new Error(`BatchedMesh: Geometry cannot use attribute "${g7}"`);const n=this.geometry;if(!!e.getIndex()!=!!n.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const C in n.attributes){if(C===g7)continue;if(!e.hasAttribute(C))throw new Error(`BatchedMesh: Added geometry missing "${C}". All geometries must have consistent attributes.`);const r=e.getAttribute(C),i=n.getAttribute(C);if(r.itemSize!==i.itemSize||r.normalized!==i.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 V2);const e=this._geometryCount,n=this.boundingBox,C=this._active;n.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 i=null;const o=this._reservedRanges,s=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(i=o[o.length-1]),n===-1?r.vertexCount=e.getAttribute("position").count:r.vertexCount=n,i===null?r.vertexStart=0:r.vertexStart=i.vertexStart+i.vertexCount;const d=e.getIndex(),g=d!==null;if(g&&(C===-1?r.indexCount=d.count:r.indexCount=C,i===null?r.indexStart=0:r.indexStart=i.indexStart+i.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 A=this._visibility,p=this._active,L=this._matricesTexture,x=this._matricesTexture.image.data;A.push(!0),p.push(!0);const E=this._geometryCount;this._geometryCount++,Hb.toArray(x,E*16),L.needsUpdate=!0,o.push(r),s.push({start:g?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new V2,sphereInitialized:!1,sphere:new i9});const m=this.geometry.getAttribute(g7);for(let v=0;v=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(n);const C=this.geometry,r=C.getIndex()!==null,i=C.getIndex(),o=n.getIndex(),s=this._reservedRanges[e];if(r&&o.count>s.indexCount||n.attributes.position.count>s.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=s.vertexStart,d=s.vertexCount;for(const L in C.attributes){if(L===g7)continue;const x=n.getAttribute(L),E=C.getAttribute(L);Pb(x,E,l);const m=x.itemSize;for(let v=x.count,M=d;v=n.length||n[e]===!1?this:(n[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,n){if(this._active[e]===!1)return null;const r=this._bounds[e],i=r.box,o=this.geometry;if(r.boxInitialized===!1){i.makeEmpty();const s=o.index,l=o.attributes.position,d=this._drawRanges[e];for(let g=d.start,A=d.start+d.count;g=o||C[e]===!1?this:(n.toArray(i,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,n){const C=this._active,r=this._matricesTexture.image.data,i=this._geometryCount;return e>=i||C[e]===!1?null:n.fromArray(r,e*16)}setVisibleAt(e,n){const C=this._visibility,r=this._active,i=this._geometryCount;return e>=i||r[e]===!1||C[e]===n?this:(C[e]=n,this._visibilityChanged=!0,this)}getVisibleAt(e){const n=this._visibility,C=this._active,r=this._geometryCount;return e>=r||C[e]===!1?!1:n[e]}raycast(e,n){const C=this._visibility,r=this._active,i=this._drawRanges,o=this._geometryCount,s=this.matrixWorld,l=this.geometry;m9.material=this.material,m9.geometry.index=l.index,m9.geometry.attributes=l.attributes,m9.geometry.boundingBox===null&&(m9.geometry.boundingBox=new V2),m9.geometry.boundingSphere===null&&(m9.geometry.boundingSphere=new i9);for(let d=0;d({...n})),this._reservedRanges=e._reservedRanges.map(n=>({...n})),this._visibility=e._visibility.slice(),this._active=e._active.slice(),this._bounds=e._bounds.map(n=>({boxInitialized:n.boxInitialized,box:n.box.clone(),sphereInitialized:n.sphereInitialized,sphere:n.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,n,C,r,i){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=r.getIndex(),s=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._active,d=this._visibility,g=this._multiDrawStarts,A=this._multiDrawCounts,p=this._drawRanges,L=this.perObjectFrustumCulled;L&&(ap.multiplyMatrices(C.projectionMatrix,C.matrixWorldInverse).multiply(this.matrixWorld),ta.setFromProjectionMatrix(ap,e.coordinateSystem));let x=0;if(this.sortObjects){lp.copy(this.matrixWorld).invert(),rt.setFromMatrixPosition(C.matrixWorld).applyMatrix4(lp);for(let v=0,M=d.length;vl)continue;p.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(p);Ue.far||n.push({distance:U,point:A.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this})}}else{const v=Math.max(0,o.start),M=Math.min(m.count,o.start+o.count);for(let k=v,I=M-1;kl)continue;p.applyMatrix4(this.matrixWorld);const R=e.ray.origin.distanceTo(p);Re.far||n.push({distance:R,point:A.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const n=this.geometry.morphAttributes,C=Object.keys(n);if(C.length>0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;i0){const r=n[C[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let i=0,o=r.length;ir.far)return;i.push({distance:d,distanceToRay:Math.sqrt(s),point:l,index:e,face:null,object:o})}}class vm extends w2{constructor(e,n,C,r,i,o,s,l,d){super(e,n,C,r,i,o,s,l,d),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:A2,this.magFilter=i!==void 0?i:A2,this.generateMipmaps=!1;const g=this;function A(){g.needsUpdate=!0,e.requestVideoFrameCallback(A)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(A)}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 Nb extends w2{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=T2,this.minFilter=T2,this.generateMipmaps=!1,this.needsUpdate=!0}}class Bo extends w2{constructor(e,n,C,r,i,o,s,l,d,g,A,p){super(null,o,s,l,d,g,r,i,A,p),this.isCompressedTexture=!0,this.image={width:n,height:C},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class jb extends Bo{constructor(e,n,C,r,i,o){super(e,n,C,i,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=M9}}class Ub extends Bo{constructor(e,n,C){super(void 0,e[0].width,e[0].height,n,C,t6),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Fb extends w2{constructor(e,n,C,r,i,o,s,l,d){super(e,n,C,r,i,o,s,l,d),this.isCanvasTexture=!0,this.needsUpdate=!0}}class K8{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const C=this.getUtoTmapping(e);return this.getPoint(C,n)}getPoints(e=5){const n=[];for(let C=0;C<=e;C++)n.push(this.getPoint(C/e));return n}getSpacedPoints(e=5){const n=[];for(let C=0;C<=e;C++)n.push(this.getPointAt(C/e));return n}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 n=[];let C,r=this.getPoint(0),i=0;n.push(0);for(let o=1;o<=e;o++)C=this.getPoint(o/e),i+=C.distanceTo(r),n.push(i),r=C;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const C=this.getLengths();let r=0;const i=C.length;let o;n?o=n:o=e*C[i-1];let s=0,l=i-1,d;for(;s<=l;)if(r=Math.floor(s+(l-s)/2),d=C[r]-o,d<0)s=r+1;else if(d>0)l=r-1;else{l=r;break}if(r=l,C[r]===o)return r/(i-1);const g=C[r],p=C[r+1]-g,L=(o-g)/p;return(r+L)/(i-1)}getTangent(e,n){let r=e-1e-4,i=e+1e-4;r<0&&(r=0),i>1&&(i=1);const o=this.getPoint(r),s=this.getPoint(i),l=n||(o.isVector2?new M1:new G);return l.copy(s).sub(o).normalize(),l}getTangentAt(e,n){const C=this.getUtoTmapping(e);return this.getTangent(C,n)}computeFrenetFrames(e,n){const C=new G,r=[],i=[],o=[],s=new G,l=new f0;for(let L=0;L<=e;L++){const x=L/e;r[L]=this.getTangentAt(x,new G)}i[0]=new G,o[0]=new G;let d=Number.MAX_VALUE;const g=Math.abs(r[0].x),A=Math.abs(r[0].y),p=Math.abs(r[0].z);g<=d&&(d=g,C.set(1,0,0)),A<=d&&(d=A,C.set(0,1,0)),p<=d&&C.set(0,0,1),s.crossVectors(r[0],C).normalize(),i[0].crossVectors(r[0],s),o[0].crossVectors(r[0],i[0]);for(let L=1;L<=e;L++){if(i[L]=i[L-1].clone(),o[L]=o[L-1].clone(),s.crossVectors(r[L-1],r[L]),s.length()>Number.EPSILON){s.normalize();const x=Math.acos(R2(r[L-1].dot(r[L]),-1,1));i[L].applyMatrix4(l.makeRotationAxis(s,x))}o[L].crossVectors(r[L],i[L])}if(n===!0){let L=Math.acos(R2(i[0].dot(i[e]),-1,1));L/=e,r[0].dot(s.crossVectors(i[0],i[e]))>0&&(L=-L);for(let x=1;x<=e;x++)i[x].applyMatrix4(l.makeRotationAxis(r[x],L*x)),o[x].crossVectors(r[x],i[x])}return{tangents:r,normals:i,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 Io extends K8{constructor(e=0,n=0,C=1,r=1,i=0,o=Math.PI*2,s=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=C,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=o,this.aClockwise=s,this.aRotation=l}getPoint(e,n){const C=n||new M1,r=Math.PI*2;let i=this.aEndAngle-this.aStartAngle;const o=Math.abs(i)r;)i-=r;i0?0:(Math.floor(Math.abs(s)/i)+1)*i:l===0&&s===i-1&&(s=i-2,l=1);let d,g;this.closed||s>0?d=r[(s-1)%i]:(mr.subVectors(r[0],r[1]).add(r[0]),d=mr);const A=r[s%i],p=r[(s+1)%i];if(this.closed||s+2r.length-2?r.length-1:o+1],A=r[o>r.length-3?r.length-1:o+2];return C.set(pp(s,l.x,d.x,g.x,A.x),pp(s,l.y,d.y,g.y,A.y)),C}copy(e){super.copy(e),this.points=[];for(let n=0,C=e.points.length;n=C){const o=r[i]-C,s=this.curves[i],l=s.getLength(),d=l===0?0:1-o/l;return s.getPointAt(d,n)}i++}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 n=0;for(let C=0,r=this.curves.length;C1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,C=e.curves.length;n0){const A=d.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(d);const g=d.getPoint(1);return this.currentPoint.copy(g),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 In extends R0{constructor(e=[new M1(0,-.5),new M1(.5,0),new M1(0,.5)],n=12,C=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:C,phiLength:r},n=Math.floor(n),r=R2(r,0,Math.PI*2);const i=[],o=[],s=[],l=[],d=[],g=1/n,A=new G,p=new M1,L=new G,x=new G,E=new G;let m=0,v=0;for(let M=0;M<=e.length-1;M++)switch(M){case 0:m=e[M+1].x-e[M].x,v=e[M+1].y-e[M].y,L.x=v*1,L.y=-m,L.z=v*0,E.copy(L),L.normalize(),l.push(L.x,L.y,L.z);break;case e.length-1:l.push(E.x,E.y,E.z);break;default:m=e[M+1].x-e[M].x,v=e[M+1].y-e[M].y,L.x=v*1,L.y=-m,L.z=v*0,x.copy(L),L.x+=E.x,L.y+=E.y,L.z+=E.z,L.normalize(),l.push(L.x,L.y,L.z),E.copy(x)}for(let M=0;M<=n;M++){const k=C+M*g*r,I=Math.sin(k),b=Math.cos(k);for(let R=0;R<=e.length-1;R++){A.x=e[R].x*I,A.y=e[R].y,A.z=e[R].x*b,o.push(A.x,A.y,A.z),p.x=M/n,p.y=R/(e.length-1),s.push(p.x,p.y);const D=l[3*R+0]*I,U=l[3*R+1],X=l[3*R+0]*b;d.push(D,U,X)}}for(let M=0;M0&&k(!0),n>0&&k(!1)),this.setIndex(g),this.setAttribute("position",new s0(A,3)),this.setAttribute("normal",new s0(p,3)),this.setAttribute("uv",new s0(L,2));function M(){const I=new G,b=new G;let R=0;const D=(n-e)/C;for(let U=0;U<=i;U++){const X=[],_=U/i,P=_*(n-e)+e;for(let Z=0;Z<=r;Z++){const f1=Z/r,J=f1*l+s,l1=Math.sin(J),i1=Math.cos(J);b.x=P*l1,b.y=-_*C+m,b.z=P*i1,A.push(b.x,b.y,b.z),I.set(l1,D,i1).normalize(),p.push(I.x,I.y,I.z),L.push(f1,1-_),X.push(x++)}E.push(X)}for(let U=0;U.9&&D<.1&&(k<.2&&(o[M+0]+=1),I<.2&&(o[M+2]+=1),b<.2&&(o[M+4]+=1))}}function p(M){i.push(M.x,M.y,M.z)}function L(M,k){const I=M*3;k.x=e[I+0],k.y=e[I+1],k.z=e[I+2]}function x(){const M=new G,k=new G,I=new G,b=new G,R=new M1,D=new M1,U=new M1;for(let X=0,_=0;X80*n){s=d=t[0],l=g=t[1];for(let x=n;xd&&(d=A),p>g&&(g=p);L=Math.max(d-s,g-l),L=L!==0?32767/L:0}return ln(i,o,n,s,l,L,0),o}};function Em(t,e,n,C,r){let i,o;if(r===uD(t,e,n,C)>0)for(i=e;i=e;i-=C)o=vp(i,t[i],t[i+1],o);return o&&bo(o,o.next)&&(cn(o),o=o.next),o}function m3(t,e){if(!t)return t;e||(e=t);let n=t,C;do if(C=!1,!n.steiner&&(bo(n,n.next)||k2(n.prev,n,n.next)===0)){if(cn(n),n=e=n.prev,n===n.next)break;C=!0}else n=n.next;while(C||n!==e);return e}function ln(t,e,n,C,r,i,o){if(!t)return;!o&&i&&iD(t,C,r,i);let s=t,l,d;for(;t.prev!==t.next;){if(l=t.prev,d=t.next,i?Kb(t,C,r,i):Xb(t)){e.push(l.i/n|0),e.push(t.i/n|0),e.push(d.i/n|0),cn(t),t=d.next,s=d.next;continue}if(t=d,t===s){o?o===1?(t=qb(m3(t),e,n),ln(t,e,n,C,r,i,2)):o===2&&Zb(t,e,n,C,r,i):ln(m3(t),e,n,C,r,i,1);break}}}function Xb(t){const e=t.prev,n=t,C=t.next;if(k2(e,n,C)>=0)return!1;const r=e.x,i=n.x,o=C.x,s=e.y,l=n.y,d=C.y,g=ri?r>o?r:o:i>o?i:o,L=s>l?s>d?s:d:l>d?l:d;let x=C.next;for(;x!==e;){if(x.x>=g&&x.x<=p&&x.y>=A&&x.y<=L&&U7(r,s,i,l,o,d,x.x,x.y)&&k2(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function Kb(t,e,n,C){const r=t.prev,i=t,o=t.next;if(k2(r,i,o)>=0)return!1;const s=r.x,l=i.x,d=o.x,g=r.y,A=i.y,p=o.y,L=sl?s>d?s:d:l>d?l:d,m=g>A?g>p?g:p:A>p?A:p,v=hu(L,x,e,n,C),M=hu(E,m,e,n,C);let k=t.prevZ,I=t.nextZ;for(;k&&k.z>=v&&I&&I.z<=M;){if(k.x>=L&&k.x<=E&&k.y>=x&&k.y<=m&&k!==r&&k!==o&&U7(s,g,l,A,d,p,k.x,k.y)&&k2(k.prev,k,k.next)>=0||(k=k.prevZ,I.x>=L&&I.x<=E&&I.y>=x&&I.y<=m&&I!==r&&I!==o&&U7(s,g,l,A,d,p,I.x,I.y)&&k2(I.prev,I,I.next)>=0))return!1;I=I.nextZ}for(;k&&k.z>=v;){if(k.x>=L&&k.x<=E&&k.y>=x&&k.y<=m&&k!==r&&k!==o&&U7(s,g,l,A,d,p,k.x,k.y)&&k2(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;I&&I.z<=M;){if(I.x>=L&&I.x<=E&&I.y>=x&&I.y<=m&&I!==r&&I!==o&&U7(s,g,l,A,d,p,I.x,I.y)&&k2(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function qb(t,e,n){let C=t;do{const r=C.prev,i=C.next.next;!bo(r,i)&&ym(r,C,C.next,i)&&an(r,i)&&an(i,r)&&(e.push(r.i/n|0),e.push(C.i/n|0),e.push(i.i/n|0),cn(C),cn(C.next),C=t=i),C=C.next}while(C!==t);return m3(C)}function Zb(t,e,n,C,r,i){let o=t;do{let s=o.next.next;for(;s!==o.prev;){if(o.i!==s.i&&lD(o,s)){let l=Bm(o,s);o=m3(o,o.next),l=m3(l,l.next),ln(o,e,n,C,r,i,0),ln(l,e,n,C,r,i,0);return}s=s.next}o=o.next}while(o!==t)}function eD(t,e,n,C){const r=[];let i,o,s,l,d;for(i=0,o=e.length;i=n.next.y&&n.next.y!==n.y){const p=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(p<=i&&p>C&&(C=p,r=n.x=n.x&&n.x>=l&&i!==n.x&&U7(or.x||n.x===r.x&&rD(r,n)))&&(r=n,g=A)),n=n.next;while(n!==s);return r}function rD(t,e){return k2(t.prev,t,e.prev)<0&&k2(e.next,t,t.next)<0}function iD(t,e,n,C){let r=t;do r.z===0&&(r.z=hu(r.x,r.y,e,n,C)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,oD(r)}function oD(t){let e,n,C,r,i,o,s,l,d=1;do{for(n=t,t=null,i=null,o=0;n;){for(o++,C=n,s=0,e=0;e0||l>0&&C;)s!==0&&(l===0||!C||n.z<=C.z)?(r=n,n=n.nextZ,s--):(r=C,C=C.nextZ,l--),i?i.nextZ=r:t=r,r.prevZ=i,i=r;n=C}i.nextZ=null,d*=2}while(o>1);return t}function hu(t,e,n,C,r){return t=(t-n)*r|0,e=(e-C)*r|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function sD(t){let e=t,n=t;do(e.x=(t-o)*(i-s)&&(t-o)*(C-s)>=(n-o)*(e-s)&&(n-o)*(i-s)>=(r-o)*(C-s)}function lD(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!aD(t,e)&&(an(t,e)&&an(e,t)&&cD(t,e)&&(k2(t.prev,t,e.prev)||k2(t,e.prev,e))||bo(t,e)&&k2(t.prev,t,t.next)>0&&k2(e.prev,e,e.next)>0)}function k2(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function bo(t,e){return t.x===e.x&&t.y===e.y}function ym(t,e,n,C){const r=Br(k2(t,e,n)),i=Br(k2(t,e,C)),o=Br(k2(n,C,t)),s=Br(k2(n,C,e));return!!(r!==i&&o!==s||r===0&&yr(t,n,e)||i===0&&yr(t,C,e)||o===0&&yr(n,t,C)||s===0&&yr(n,e,C))}function yr(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Br(t){return t>0?1:t<0?-1:0}function aD(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&ym(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function an(t,e){return k2(t.prev,t,t.next)<0?k2(t,e,t.next)>=0&&k2(t,t.prev,e)>=0:k2(t,e,t.prev)<0||k2(t,t.next,e)<0}function cD(t,e){let n=t,C=!1;const r=(t.x+e.x)/2,i=(t.y+e.y)/2;do n.y>i!=n.next.y>i&&n.next.y!==n.y&&r<(n.next.x-n.x)*(i-n.y)/(n.next.y-n.y)+n.x&&(C=!C),n=n.next;while(n!==t);return C}function Bm(t,e){const n=new fu(t.i,t.x,t.y),C=new fu(e.i,e.x,e.y),r=t.next,i=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,C.next=n,n.prev=C,i.next=C,C.prev=i,C}function vp(t,e,n,C){const r=new fu(t,e,n);return C?(r.next=C.next,r.prev=C,C.next.prev=r,C.next=r):(r.prev=r,r.next=r),r}function cn(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function fu(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function uD(t,e,n,C){let r=0;for(let i=e,o=n-C;i2&&t[e-1].equals(t[0])&&t.pop()}function wp(t,e){for(let n=0;nNumber.EPSILON){const Q1=Math.sqrt(D1),Y1=Math.sqrt(T*T+r1*r1),z1=v1.x-S/Q1,K1=v1.y+q/Q1,a0=n1.x-r1/Y1,v0=n1.y+T/Y1,T1=((a0-z1)*r1-(v0-K1)*T)/(q*r1-S*T);u1=z1+q*T1-O.x,a1=K1+S*T1-O.y;const b0=u1*u1+a1*a1;if(b0<=2)return new M1(u1,a1);R1=Math.sqrt(b0/2)}else{let Q1=!1;q>Number.EPSILON?T>Number.EPSILON&&(Q1=!0):q<-Number.EPSILON?T<-Number.EPSILON&&(Q1=!0):Math.sign(S)===Math.sign(r1)&&(Q1=!0),Q1?(u1=-S,a1=q,R1=Math.sqrt(D1)):(u1=q,a1=S,R1=Math.sqrt(D1/2))}return new M1(u1/R1,a1/R1)}const e1=[];for(let O=0,v1=J.length,n1=v1-1,u1=O+1;O=0;O--){const v1=O/m,n1=L*Math.cos(v1*Math.PI/2),u1=x*Math.sin(v1*Math.PI/2)+E;for(let a1=0,R1=J.length;a1=0;){const u1=n1;let a1=n1-1;a1<0&&(a1=O.length-1);for(let R1=0,q=g+m*2;R10)&&L.push(k,I,R),(v!==C-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class Rm extends K2{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Z1(16777215),this.specular=new Z1(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=kn,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.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 bm extends K2{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Z1(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 Dm extends K2{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 Tm extends K2{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Z1(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Z1(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=kn,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.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 Hm extends K2{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Z1(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=d5,this.normalScale=new M1(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 Pm extends U9{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 C3(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function Nm(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function jm(t){function e(r,i){return t[r]-t[i]}const n=t.length,C=new Array(n);for(let r=0;r!==n;++r)C[r]=r;return C.sort(e),C}function gu(t,e,n){const C=t.length,r=new t.constructor(C);for(let i=0,o=0;o!==C;++i){const s=n[i]*e;for(let l=0;l!==e;++l)r[o++]=t[s+l]}return r}function eh(t,e,n,C){let r=1,i=t[0];for(;i!==void 0&&i[C]===void 0;)i=t[r++];if(i===void 0)return;let o=i[C];if(o!==void 0)if(Array.isArray(o))do o=i[C],o!==void 0&&(e.push(i.time),n.push.apply(n,o)),i=t[r++];while(i!==void 0);else if(o.toArray!==void 0)do o=i[C],o!==void 0&&(e.push(i.time),o.toArray(n,n.length)),i=t[r++];while(i!==void 0);else do o=i[C],o!==void 0&&(e.push(i.time),n.push(o)),i=t[r++];while(i!==void 0)}function gD(t,e,n,C,r=30){const i=t.clone();i.name=e;const o=[];for(let l=0;l=C)){A.push(d.times[L]);for(let E=0;Ei.tracks[l].times[0]&&(s=i.tracks[l].times[0]);for(let l=0;l=s.times[x]){const v=x*A+g,M=v+A-g;E=s.values.slice(v,M)}else{const v=s.createInterpolant(),M=g,k=A-g;v.evaluate(i),E=v.resultBuffer.slice(M,k)}l==="quaternion"&&new P9().fromArray(E).normalize().conjugate().toArray(E);const m=d.times.length;for(let v=0;v=i)){const s=n[1];e=i)break t}o=C,C=0;break n}break e}for(;C>>1;en;)--o;if(++o,i!==0||o!==r){i>=o&&(o=Math.max(o,1),i=o-1);const s=this.getValueSize();this.times=C.slice(i,o),this.values=this.values.slice(i*s,o*s)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const C=this.times,r=this.values,i=C.length;i===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let s=0;s!==i;s++){const l=C[s];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,l,o),e=!1;break}o=l}if(r!==void 0&&Nm(r))for(let s=0,l=r.length;s!==l;++s){const d=r[s];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),C=this.getValueSize(),r=this.getInterpolation()===di,i=e.length-1;let o=1;for(let s=1;s0){e[o]=e[i];for(let s=i*C,l=o*C,d=0;d!==C;++d)n[l+d]=n[s+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*C)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),C=this.constructor,r=new C(this.name,e,n);return r.createInterpolant=this.createInterpolant,r}}q8.prototype.TimeBufferType=Float32Array;q8.prototype.ValueBufferType=Float32Array;q8.prototype.DefaultInterpolation=qt;class y3 extends q8{}y3.prototype.ValueTypeName="bool";y3.prototype.ValueBufferType=Array;y3.prototype.DefaultInterpolation=Kt;y3.prototype.InterpolantFactoryMethodLinear=void 0;y3.prototype.InterpolantFactoryMethodSmooth=void 0;class nh extends q8{}nh.prototype.ValueTypeName="color";class un extends q8{}un.prototype.ValueTypeName="number";class Wm extends Qn{constructor(e,n,C,r){super(e,n,C,r)}interpolate_(e,n,C,r){const i=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=(C-n)/(r-n);let d=e*s;for(let g=d+s;d!==g;d+=4)P9.slerpFlat(i,0,o,d-s,o,d,l);return i}}class ge extends q8{InterpolantFactoryMethodLinear(e){return new Wm(this.times,this.values,this.getValueSize(),e)}}ge.prototype.ValueTypeName="quaternion";ge.prototype.DefaultInterpolation=qt;ge.prototype.InterpolantFactoryMethodSmooth=void 0;class B3 extends q8{}B3.prototype.ValueTypeName="string";B3.prototype.ValueBufferType=Array;B3.prototype.DefaultInterpolation=Kt;B3.prototype.InterpolantFactoryMethodLinear=void 0;B3.prototype.InterpolantFactoryMethodSmooth=void 0;class dn extends q8{}dn.prototype.ValueTypeName="vector";class hn{constructor(e,n=-1,C,r=po){this.name=e,this.tracks=C,this.duration=n,this.blendMode=r,this.uuid=a8(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],C=e.tracks,r=1/(e.fps||1);for(let o=0,s=C.length;o!==s;++o)n.push(LD(C[o]).scale(r));const i=new this(e.name,e.duration,n,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){const n=[],C=e.tracks,r={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let i=0,o=C.length;i!==o;++i)n.push(q8.toJSON(C[i]));return r}static CreateFromMorphTargetSequence(e,n,C,r){const i=n.length,o=[];for(let s=0;s1){const A=g[1];let p=r[A];p||(r[A]=p=[]),p.push(d)}}const o=[];for(const s in r)o.push(this.CreateFromMorphTargetSequence(s,r[s],n,C));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const C=function(A,p,L,x,E){if(L.length!==0){const m=[],v=[];eh(L,m,v,x),m.length!==0&&E.push(new A(p,m,v))}},r=[],i=e.name||"default",o=e.fps||30,s=e.blendMode;let l=e.length||-1;const d=e.hierarchy||[];for(let A=0;A{n&&n(i),this.manager.itemEnd(e)},0),i;if(N4[e]!==void 0){N4[e].push({onLoad:n,onProgress:C,onError:r});return}N4[e]=[],N4[e].push({onLoad:n,onProgress:C,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,l=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const g=N4[e],A=d.body.getReader(),p=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),L=p?parseInt(p):0,x=L!==0;let E=0;const m=new ReadableStream({start(v){M();function M(){A.read().then(({done:k,value:I})=>{if(k)v.close();else{E+=I.byteLength;const b=new ProgressEvent("progress",{lengthComputable:x,loaded:E,total:L});for(let R=0,D=g.length;R{switch(l){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(g=>new DOMParser().parseFromString(g,s));case"json":return d.json();default:if(s===void 0)return d.text();{const A=/charset="?([^;"\s]*)"?/i.exec(s),p=A&&A[1]?A[1].toLowerCase():void 0,L=new TextDecoder(p);return d.arrayBuffer().then(x=>L.decode(x))}}}).then(d=>{Y4.add(e,d);const g=N4[e];delete N4[e];for(let A=0,p=g.length;A{const g=N4[e];if(g===void 0)throw this.manager.itemError(e),d;delete N4[e];for(let A=0,p=g.length;A{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class xD extends F9{constructor(e){super(e)}load(e,n,C,r){const i=this,o=new k4(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(s){try{n(i.parse(JSON.parse(s)))}catch(l){r?r(l):console.error(l),i.manager.itemError(e)}},C,r)}parse(e){const n=[];for(let C=0;C0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const i in e.uniforms){const o=e.uniforms[i];switch(r.uniforms[i]={},o.type){case"t":r.uniforms[i].value=C(o.value);break;case"c":r.uniforms[i].value=new Z1().setHex(o.value);break;case"v2":r.uniforms[i].value=new M1().fromArray(o.value);break;case"v3":r.uniforms[i].value=new G().fromArray(o.value);break;case"v4":r.uniforms[i].value=new i2().fromArray(o.value);break;case"m3":r.uniforms[i].value=new B0().fromArray(o.value);break;case"m4":r.uniforms[i].value=new f0().fromArray(o.value);break;default:r.uniforms[i].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 i in e.extensions)r.extensions[i]=e.extensions[i];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=C(e.map)),e.matcap!==void 0&&(r.matcap=C(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=C(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=C(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=C(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let i=e.normalScale;Array.isArray(i)===!1&&(i=[i,i]),r.normalScale=new M1().fromArray(i)}return e.displacementMap!==void 0&&(r.displacementMap=C(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=C(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=C(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=C(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=C(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=C(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=C(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=C(e.envMap)),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=C(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=C(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=C(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=C(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=C(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=C(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new M1().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=C(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=C(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=C(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=C(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=C(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=C(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=C(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const n={ShadowMaterial:Sm,SpriteMaterial:Gd,RawShaderMaterial:_m,ShaderMaterial:X8,PointsMaterial:Vd,MeshPhysicalMaterial:Qm,MeshStandardMaterial:Zd,MeshPhongMaterial:Rm,MeshToonMaterial:bm,MeshNormalMaterial:Dm,MeshLambertMaterial:Tm,MeshDepthMaterial:xo,MeshDistanceMaterial:mo,MeshBasicMaterial:K9,MeshMatcapMaterial:Hm,LineDashedMaterial:Pm,LineBasicMaterial:U9,Material:K2};return new n[e]}}class Au{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let C=0,r=e.length;C0){const l=new Ch(n);i=new fn(l),i.setCrossOrigin(this.crossOrigin);for(let d=0,g=e.length;d0){r=new fn(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,s=e.length;o{const m=new V2;m.min.fromArray(E.boxMin),m.max.fromArray(E.boxMax);const v=new i9;return v.radius=E.sphereRadius,v.center.fromArray(E.sphereCenter),{boxInitialized:E.boxInitialized,box:m,sphereInitialized:E.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=d(e.matricesTexture.uuid);break;case"LOD":o=new dm;break;case"Line":o=new l5(s(e.geometry),l(e.material));break;case"LineLoop":o=new Am(s(e.geometry),l(e.material));break;case"LineSegments":o=new M4(s(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new pm(s(e.geometry),l(e.material));break;case"Sprite":o=new um(l(e.material));break;case"Group":o=new $4;break;case"Bone":o=new zd;break;default:o=new Y0}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 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(e){return this.options=e,this}load(e,n,C,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const i=this,o=Y4.get(e);if(o!==void 0){if(i.manager.itemStart(e),o.then){o.then(d=>{n&&n(d),i.manager.itemEnd(e)}).catch(d=>{r&&r(d)});return}return setTimeout(function(){n&&n(o),i.manager.itemEnd(e)},0),o}const s={};s.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",s.headers=this.requestHeader;const l=fetch(e,s).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(d){return Y4.add(e,d),n&&n(d),i.manager.itemEnd(e),d}).catch(function(d){r&&r(d),Y4.remove(e),i.manager.itemError(e),i.manager.itemEnd(e)});Y4.add(e,l),i.manager.itemStart(e)}}let Ir;class ih{static getContext(){return Ir===void 0&&(Ir=new(window.AudioContext||window.webkitAudioContext)),Ir}static setContext(e){Ir=e}}class QD extends F9{constructor(e){super(e)}load(e,n,C,r){const i=this,o=new k4(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const d=l.slice(0);ih.getContext().decodeAudioData(d,function(A){n(A)}).catch(s)}catch(d){s(d)}},C,r);function s(l){r?r(l):console.error(l),i.manager.itemError(e)}}}const Ip=new f0,Sp=new f0,H5=new f0;class RD{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new G2,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new G2,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 n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,H5.copy(e.projectionMatrix);const r=n.eyeSep/2,i=r*n.near/n.focus,o=n.near*Math.tan(l3*n.fov*.5)/n.zoom;let s,l;Sp.elements[12]=-r,Ip.elements[12]=r,s=-o*n.aspect+i,l=o*n.aspect+i,H5.elements[0]=2*n.near/(l-s),H5.elements[8]=(l+s)/(l-s),this.cameraL.projectionMatrix.copy(H5),s=-o*n.aspect-i,l=o*n.aspect-i,H5.elements[0]=2*n.near/(l-s),H5.elements[8]=(l+s)/(l-s),this.cameraR.projectionMatrix.copy(H5)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Sp),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Ip)}}let oh=class{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=_p(),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 n=_p();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}};function _p(){return(typeof performance>"u"?Date:performance).now()}const P5=new G,Qp=new P9,bD=new G,N5=new G;class DD extends Y0{constructor(){super(),this.type="AudioListener",this.context=ih.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new oh}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 n=this.context.listener,C=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(P5,Qp,bD),N5.set(0,0,-1).applyQuaternion(Qp),n.positionX){const r=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(P5.x,r),n.positionY.linearRampToValueAtTime(P5.y,r),n.positionZ.linearRampToValueAtTime(P5.z,r),n.forwardX.linearRampToValueAtTime(N5.x,r),n.forwardY.linearRampToValueAtTime(N5.y,r),n.forwardZ.linearRampToValueAtTime(N5.z,r),n.upX.linearRampToValueAtTime(C.x,r),n.upY.linearRampToValueAtTime(C.y,r),n.upZ.linearRampToValueAtTime(C.z,r)}else n.setPosition(P5.x,P5.y,P5.z),n.setOrientation(N5.x,N5.y,N5.z,C.x,C.y,C.z)}}class ek extends Y0{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 n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,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,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(C,r,this._addIndex*n,1,n);for(let l=n,d=n+n;l!==d;++l)if(C[l]!==C[l+n]){s.setValue(C,r);break}}saveOriginalState(){const e=this.binding,n=this.buffer,C=this.valueSize,r=C*this._origIndex;e.getValue(n,r);for(let i=C,o=r;i!==o;++i)n[i]=n[r+i%C];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,n=e+this.valueSize;for(let C=e;C=.5)for(let o=0;o!==i;++o)e[n+o]=e[C+o]}_slerp(e,n,C,r){P9.slerpFlat(e,n,e,n,e,C,r)}_slerpAdditive(e,n,C,r,i){const o=this._workIndex*i;P9.multiplyQuaternionsFlat(e,o,e,n,e,C),P9.slerpFlat(e,n,e,n,e,o,r)}_lerp(e,n,C,r,i){const o=1-r;for(let s=0;s!==i;++s){const l=n+s;e[l]=e[l]*o+e[C+s]*r}}_lerpAdditive(e,n,C,r,i){for(let o=0;o!==i;++o){const s=n+o;e[s]=e[s]+e[C+o]*r}}}const sh="\\[\\]\\.:\\/",ND=new RegExp("["+sh+"]","g"),lh="[^"+sh+"]",jD="[^"+sh.replace("\\.","")+"]",UD=/((?:WC+[\/:])*)/.source.replace("WC",lh),FD=/(WCOD+)?/.source.replace("WCOD",jD),WD=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",lh),OD=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",lh),GD=new RegExp("^"+UD+FD+WD+OD+"$"),zD=["material","materials","bones","map"];class VD{constructor(e,n,C){const r=C||V0.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,r)}getValue(e,n){this.bind();const C=this._targetGroup.nCachedObjects_,r=this._bindings[C];r!==void 0&&r.getValue(e,n)}setValue(e,n){const C=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=C.length;r!==i;++r)C[r].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,C=e.length;n!==C;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,C=e.length;n!==C;++n)e[n].unbind()}}class V0{constructor(e,n,C){this.path=n,this.parsedPath=C||V0.parseTrackName(n),this.node=V0.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,C){return e&&e.isAnimationObjectGroup?new V0.Composite(e,n,C):new V0(e,n,C)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(ND,"")}static parseTrackName(e){const n=GD.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const C={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},r=C.nodeName&&C.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const i=C.nodeName.substring(r+1);zD.indexOf(i)!==-1&&(C.nodeName=C.nodeName.substring(0,r),C.objectName=i)}if(C.propertyName===null||C.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return C}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const C=e.skeleton.getBoneByName(n);if(C!==void 0)return C}if(e.children){const C=function(i){for(let o=0;o=i){const A=i++,p=e[A];n[p.uuid]=g,e[g]=p,n[d]=A,e[A]=l;for(let L=0,x=r;L!==x;++L){const E=C[L],m=E[A],v=E[g];E[g]=m,E[A]=v}}}this.nCachedObjects_=i}uncache(){const e=this._objects,n=this._indicesByUUID,C=this._bindings,r=C.length;let i=this.nCachedObjects_,o=e.length;for(let s=0,l=arguments.length;s!==l;++s){const d=arguments[s],g=d.uuid,A=n[g];if(A!==void 0)if(delete n[g],A0&&(n[L.uuid]=A),e[A]=L,e.pop();for(let x=0,E=r;x!==E;++x){const m=C[x];m[A]=m[p],m.pop()}}}this.nCachedObjects_=i}subscribe_(e,n){const C=this._bindingsIndicesByPath;let r=C[e];const i=this._bindings;if(r!==void 0)return i[r];const o=this._paths,s=this._parsedPaths,l=this._objects,d=l.length,g=this.nCachedObjects_,A=new Array(d);r=i.length,C[e]=r,o.push(e),s.push(n),i.push(A);for(let p=g,L=l.length;p!==L;++p){const x=l[p];A[p]=new V0(x,e,n)}return A}unsubscribe_(e){const n=this._bindingsIndicesByPath,C=n[e];if(C!==void 0){const r=this._paths,i=this._parsedPaths,o=this._bindings,s=o.length-1,l=o[s],d=e[s];n[d]=C,o[C]=l,o.pop(),i[C]=i[s],i.pop(),r[C]=r[s],r.pop()}}}class nk{constructor(e,n,C=null,r=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=C,this.blendMode=r;const i=n.tracks,o=i.length,s=new Array(o),l={endingStart:Z5,endingEnd:Z5};for(let d=0;d!==o;++d){const g=i[d].createInterpolant(null);s[d]=g,g.settings=l}this._interpolantSettings=l,this._interpolants=s,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Hx,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,n){return this.loop=e,this.repetitions=n,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,n,C){if(e.fadeOut(n),this.fadeIn(n),C){const r=this._clip.duration,i=e._clip.duration,o=i/r,s=r/i;e.warp(1,o,n),this.warp(s,1,n)}return this}crossFadeTo(e,n,C){return e.crossFadeFrom(this,n,C)}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,n,C){const r=this._mixer,i=r.time,o=this.timeScale;let s=this._timeScaleInterpolant;s===null&&(s=r._lendControlInterpolant(),this._timeScaleInterpolant=s);const l=s.parameterPositions,d=s.sampleValues;return l[0]=i,l[1]=i+C,d[0]=e/o,d[1]=n/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,n,C,r){if(!this.enabled){this._updateWeight(e);return}const i=this._startTime;if(i!==null){const l=(e-i)*C;l<0||C===0?n=0:(this._startTime=null,n=C*l)}n*=this._updateTimeScale(e);const o=this._updateTime(n),s=this._updateWeight(e);if(s>0){const l=this._interpolants,d=this._propertyBindings;switch(this.blendMode){case Rd:for(let g=0,A=l.length;g!==A;++g)l[g].evaluate(o),d[g].accumulateAdditive(s);break;case po:default:for(let g=0,A=l.length;g!==A;++g)l[g].evaluate(o),d[g].accumulate(r,s)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const C=this._weightInterpolant;if(C!==null){const r=C.evaluate(e)[0];n*=r,e>C.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const C=this._timeScaleInterpolant;if(C!==null){const r=C.evaluate(e)[0];n*=r,e>C.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,C=this.loop;let r=this.time+e,i=this._loopCount;const o=C===Px;if(e===0)return i===-1?r:o&&(i&1)===1?n-r:r;if(C===Tx){i===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=n)r=n;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(i===-1&&(e>=0?(i=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=n||r<0){const s=Math.floor(r/n);r-=n*s,i+=Math.abs(s);const l=this.repetitions-i;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?n:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const d=e<0;this._setEndings(d,!d,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:s})}}else this.time=r;if(o&&(i&1)===1)return n-r}return r}_setEndings(e,n,C){const r=this._interpolantSettings;C?(r.endingStart=e3,r.endingEnd=e3):(e?r.endingStart=this.zeroSlopeAtStart?e3:Z5:r.endingStart=Zt,n?r.endingEnd=this.zeroSlopeAtEnd?e3:Z5:r.endingEnd=Zt)}_scheduleFading(e,n,C){const r=this._mixer,i=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const s=o.parameterPositions,l=o.sampleValues;return s[0]=i,l[0]=n,s[1]=i+e,l[1]=C,this}}const YD=new Float32Array(1);class JD extends C6{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const C=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,s=e._interpolants,l=C.uuid,d=this._bindingsByRootAndName;let g=d[l];g===void 0&&(g={},d[l]=g);for(let A=0;A!==i;++A){const p=r[A],L=p.name;let x=g[L];if(x!==void 0)++x.referenceCount,o[A]=x;else{if(x=o[A],x!==void 0){x._cacheIndex===null&&(++x.referenceCount,this._addInactiveBinding(x,l,L));continue}const E=n&&n._propertyBindings[A].binding.parsedPath;x=new tk(V0.create(C,L,E),p.ValueTypeName,p.getValueSize()),++x.referenceCount,this._addInactiveBinding(x,l,L),o[A]=x}s[A].resultBuffer=x.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const C=(e._localRoot||this._root).uuid,r=e._clip.uuid,i=this._actionsByClip[r];this._bindAction(e,i&&i.knownActions[0]),this._addInactiveAction(e,r,C)}const n=e._propertyBindings;for(let C=0,r=n.length;C!==r;++C){const i=n[C];i.useCount++===0&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let C=0,r=n.length;C!==r;++C){const i=n[C];--i.useCount===0&&(i.restoreOriginalState(),this._takeBackBinding(i))}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 n=e._cacheIndex;return n!==null&&n=0;--C)e[C].stop();return this}update(e){e*=this.timeScale;const n=this._actions,C=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1;for(let d=0;d!==C;++d)n[d]._update(r,e,i,o);const s=this._bindings,l=this._nActiveBindings;for(let d=0;d!==l;++d)s[d].apply(o);return this}setTime(e){this.time=0;for(let n=0;nthis.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,n){return n.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,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Dp).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 Tp=new G,Sr=new G;class nT{constructor(e=new G,n=new G){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),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,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){Tp.subVectors(e,this.start),Sr.subVectors(this.end,this.start);const C=Sr.dot(Sr);let i=Sr.dot(Tp)/C;return n&&(i=R2(i,0,1)),i}closestPointToPoint(e,n,C){const r=this.closestPointToPointParameter(e,n);return this.delta(C).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 Hp=new G;class CT extends Y0{constructor(e,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const C=new R0,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,s=1,l=32;o1)for(let A=0;A.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Fp.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(Fp,n)}}setLength(e,n=e*.2,C=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(C,n,C),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 AT extends M4{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],C=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new R0;r.setAttribute("position",new s0(n,3)),r.setAttribute("color",new s0(C,3));const i=new U9({vertexColors:!0,toneMapped:!1});super(r,i),this.type="AxesHelper"}setColors(e,n,C){const r=new Z1,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(n),r.toArray(i,6),r.toArray(i,9),r.set(C),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class H6{constructor(){this.type="ShapePath",this.color=new Z1,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new n5,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,C,r){return this.currentPath.quadraticCurveTo(e,n,C,r),this}bezierCurveTo(e,n,C,r,i,o){return this.currentPath.bezierCurveTo(e,n,C,r,i,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(v){const M=[];for(let k=0,I=v.length;kNumber.EPSILON){if(_<0&&(D=M[R],X=-X,U=M[b],_=-_),v.yU.y)continue;if(v.y===D.y){if(v.x===D.x)return!0}else{const P=_*(v.x-D.x)-X*(v.y-D.y);if(P===0)return!0;if(P<0)continue;I=!I}}else{if(v.y!==D.y)continue;if(U.x<=v.x&&v.x<=D.x||D.x<=v.x&&v.x<=U.x)return!0}}return I}const r=Y8.isClockWise,i=this.subPaths;if(i.length===0)return[];let o,s,l;const d=[];if(i.length===1)return s=i[0],l=new C5,l.curves=s.curves,d.push(l),d;let g=!r(i[0].getPoints());g=e?!g:g;const A=[],p=[];let L=[],x=0,E;p[x]=void 0,L[x]=[];for(let v=0,M=i.length;v1){let v=!1,M=0;for(let k=0,I=p.length;k0&&v===!1&&(L=A)}let m;for(let v=0,M=p.length;v{const A=typeof d=="function"?d(e):d;if(A!==e){const p=e;e=g?A:Object.assign({},e,A),n.forEach(L=>L(e,p))}},r=()=>e,i=(d,g=r,A=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=g(e);function L(){const x=g(e);if(!A(p,x)){const E=p;d(p=x,E)}}return n.add(L),()=>n.delete(L)},l={setState:C,getState:r,subscribe:(d,g,A)=>g||A?i(d,g,A):(n.add(d),()=>n.delete(d)),destroy:()=>n.clear()};return e=t(C,r,l),l}const LT=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),Wp=LT?u.useEffect:u.useLayoutEffect;function ok(t){const e=typeof t=="function"?vT(t):t,n=(C=e.getState,r=Object.is)=>{const[,i]=u.useReducer(m=>m+1,0),o=e.getState(),s=u.useRef(o),l=u.useRef(C),d=u.useRef(r),g=u.useRef(!1),A=u.useRef();A.current===void 0&&(A.current=C(o));let p,L=!1;(s.current!==o||l.current!==C||d.current!==r||g.current)&&(p=C(o),L=!r(A.current,p)),Wp(()=>{L&&(A.current=p),s.current=o,l.current=C,d.current=r,g.current=!1});const x=u.useRef(o);Wp(()=>{const m=()=>{try{const M=e.getState(),k=l.current(M);d.current(A.current,k)||(s.current=M,A.current=k,i())}catch{g.current=!0,i()}},v=e.subscribe(m);return e.getState()!==x.current&&m(),v},[]);const E=L?p:A.current;return u.useDebugValue(E),E};return Object.assign(n,e),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const C=[n,e];return{next(){const r=C.length<=0;return{value:C.shift(),done:r}}}},n}var sk={exports:{}},lk={exports:{}},ak={};/** + * @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(t){function e(F,e1){var C1=F.length;F.push(e1);e:for(;0>>1,I1=F[d1];if(0>>1;d1r(z,C1))Wr(N,z)?(F[d1]=N,F[W]=C1,d1=W):(F[d1]=z,F[$]=C1,d1=$);else if(Wr(N,C1))F[d1]=N,F[W]=C1,d1=W;else break e}}return e1}function r(F,e1){var C1=F.sortIndex-e1.sortIndex;return C1!==0?C1:F.id-e1.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();t.unstable_now=function(){return o.now()-s}}var l=[],d=[],g=1,A=null,p=3,L=!1,x=!1,E=!1,m=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function k(F){for(var e1=n(d);e1!==null;){if(e1.callback===null)C(d);else if(e1.startTime<=F)C(d),e1.sortIndex=e1.expirationTime,e(l,e1);else break;e1=n(d)}}function I(F){if(E=!1,k(F),!x)if(n(l)!==null)x=!0,i1(b);else{var e1=n(d);e1!==null&&g1(I,e1.startTime-F)}}function b(F,e1){x=!1,E&&(E=!1,v(U),U=-1),L=!0;var C1=p;try{for(k(e1),A=n(l);A!==null&&(!(A.expirationTime>e1)||F&&!P());){var d1=A.callback;if(typeof d1=="function"){A.callback=null,p=A.priorityLevel;var I1=d1(A.expirationTime<=e1);e1=t.unstable_now(),typeof I1=="function"?A.callback=I1:A===n(l)&&C(l),k(e1)}else C(l);A=n(l)}if(A!==null)var j1=!0;else{var $=n(d);$!==null&&g1(I,$.startTime-e1),j1=!1}return j1}finally{A=null,p=C1,L=!1}}var R=!1,D=null,U=-1,X=5,_=-1;function P(){return!(t.unstable_now()-_F||125d1?(F.sortIndex=C1,e(d,F),n(l)===null&&F===n(d)&&(E?(v(U),U=-1):E=!0,g1(I,C1-d1))):(F.sortIndex=I1,e(l,F),x||L||(x=!0,i1(b))),F},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(F){var e1=p;return function(){var C1=p;p=e1;try{return F.apply(this,arguments)}finally{p=C1}}}})(ak);lk.exports=ak;var vu=lk.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 wT=function(e){var n={},C=u,r=vu,i=Object.assign;function o(a){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+a,w=1;ws1||B[Y]!==Q[s1]){var _1=` +`+B[Y].replace(" at new "," at ");return a.displayName&&_1.includes("")&&(_1=_1.replace("",a.displayName)),_1}while(1<=Y&&0<=s1);break}}}finally{M0=!1,Error.prepareStackTrace=w}return(a=a?a.displayName||a.name:"")?E0(a):""}var d2=Object.prototype.hasOwnProperty,F2=[],s2=-1;function y2(a){return{current:a}}function u0(a){0>s2||(a.current=F2[s2],F2[s2]=null,s2--)}function e0(a,c){s2++,F2[s2]=a.current,a.current=c}var B9={},H=y2(B9),j=y2(!1),t1=B9;function o1(a,c){var w=a.type.contextTypes;if(!w)return B9;var y=a.stateNode;if(y&&y.__reactInternalMemoizedUnmaskedChildContext===c)return y.__reactInternalMemoizedMaskedChildContext;var B={},Q;for(Q in w)B[Q]=c[Q];return y&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=c,a.__reactInternalMemoizedMaskedChildContext=B),B}function h1(a){return a=a.childContextTypes,a!=null}function E1(){u0(j),u0(H)}function H1(a,c,w){if(H.current!==B9)throw Error(o(168));e0(H,c),e0(j,w)}function P1(a,c,w){var y=a.stateNode;if(c=c.childContextTypes,typeof y.getChildContext!="function")return w;y=y.getChildContext();for(var B in y)if(!(B in c))throw Error(o(108,U(a)||"Unknown",B));return i({},w,y)}function N1(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||B9,t1=H.current,e0(H,a),e0(j,j.current),!0}function U1(a,c,w){var y=a.stateNode;if(!y)throw Error(o(169));w?(a=P1(a,c,t1),y.__reactInternalMemoizedMergedChildContext=a,u0(j),u0(H),e0(H,a)):u0(j),e0(j,w)}var V1=Math.clz32?Math.clz32:B2,A0=Math.log,O0=Math.LN2;function B2(a){return a>>>=0,a===0?32:31-(A0(a)/O0|0)|0}var G0=64,q2=4194304;function s9(a){switch(a&-a){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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function n4(a,c){var w=a.pendingLanes;if(w===0)return 0;var y=0,B=a.suspendedLanes,Q=a.pingedLanes,Y=w&268435455;if(Y!==0){var s1=Y&~B;s1!==0?y=s9(s1):(Q&=Y,Q!==0&&(y=s9(Q)))}else Y=w&~B,Y!==0?y=s9(Y):Q!==0&&(y=s9(Q));if(y===0)return 0;if(c!==0&&c!==y&&!(c&B)&&(B=y&-y,Q=c&-c,B>=Q||B===16&&(Q&4194240)!==0))return c;if(y&4&&(y|=w&16),c=a.entangledLanes,c!==0)for(a=a.entanglements,c&=y;0w;w++)c.push(a);return c}function ke(a,c,w){a.pendingLanes|=c,c!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,c=31-V1(c),a[c]=w}function gM(a,c){var w=a.pendingLanes&~c;a.pendingLanes=c,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=c,a.mutableReadLanes&=c,a.entangledLanes&=c,c=a.entanglements;var y=a.eventTimes;for(a=a.expirationTimes;0>=Y,B-=Y,S4=1<<32-V1(c)+B|w<X0?(t9=S0,S0=null):t9=S0.sibling;var K0=x0(w1,S0,S1[X0],q1);if(K0===null){S0===null&&(S0=t9);break}a&&S0&&K0.alternate===null&&c(w1,S0),c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0,S0=t9}if(X0===S1.length)return w(w1,S0),v2&&k5(w1,X0),d0;if(S0===null){for(;X0X0?(t9=S0,S0=null):t9=S0.sibling;var y6=x0(w1,S0,K0.value,q1);if(y6===null){S0===null&&(S0=t9);break}a&&S0&&y6.alternate===null&&c(w1,S0),c1=Q(y6,c1,X0),T0===null?d0=y6:T0.sibling=y6,T0=y6,S0=t9}if(K0.done)return w(w1,S0),v2&&k5(w1,X0),d0;if(S0===null){for(;!K0.done;X0++,K0=S1.next())K0=I0(w1,K0.value,q1),K0!==null&&(c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0);return v2&&k5(w1,X0),d0}for(S0=y(w1,S0);!K0.done;X0++,K0=S1.next())K0=a2(S0,w1,X0,K0.value,q1),K0!==null&&(a&&K0.alternate!==null&&S0.delete(K0.key===null?X0:K0.key),c1=Q(K0,c1,X0),T0===null?d0=K0:T0.sibling=K0,T0=K0);return a&&S0.forEach(function(eE){return c(w1,eE)}),v2&&k5(w1,X0),d0}function m8(w1,c1,S1,q1){if(typeof S1=="object"&&S1!==null&&S1.type===g&&S1.key===null&&(S1=S1.props.children),typeof S1=="object"&&S1!==null){switch(S1.$$typeof){case l:e:{for(var d0=S1.key,T0=c1;T0!==null;){if(T0.key===d0){if(d0=S1.type,d0===g){if(T0.tag===7){w(w1,T0.sibling),c1=B(T0,S1.props.children),c1.return=w1,w1=c1;break e}}else if(T0.elementType===d0||typeof d0=="object"&&d0!==null&&d0.$$typeof===k&&jh(d0)===T0.type){w(w1,T0.sibling),c1=B(T0,S1.props),c1.ref=ye(w1,T0,S1),c1.return=w1,w1=c1;break e}w(w1,T0);break}else c(w1,T0);T0=T0.sibling}S1.type===g?(c1=_5(S1.props.children,w1.mode,q1,S1.key),c1.return=w1,w1=c1):(q1=EC(S1.type,S1.key,S1.props,null,w1.mode,q1),q1.ref=ye(w1,c1,S1),q1.return=w1,w1=q1)}return Y(w1);case d:e:{for(T0=S1.key;c1!==null;){if(c1.key===T0)if(c1.tag===4&&c1.stateNode.containerInfo===S1.containerInfo&&c1.stateNode.implementation===S1.implementation){w(w1,c1.sibling),c1=B(c1,S1.children||[]),c1.return=w1,w1=c1;break e}else{w(w1,c1);break}else c(w1,c1);c1=c1.sibling}c1=tl(S1,w1.mode,q1),c1.return=w1,w1=c1}return Y(w1);case k:return T0=S1._init,m8(w1,c1,T0(S1._payload),q1)}if(l1(S1))return h0(w1,c1,S1,q1);if(R(S1))return p9(w1,c1,S1,q1);Yn(w1,S1)}return typeof S1=="string"&&S1!==""||typeof S1=="number"?(S1=""+S1,c1!==null&&c1.tag===6?(w(w1,c1.sibling),c1=B(c1,S1),c1.return=w1,w1=c1):(w(w1,c1),c1=el(S1,w1.mode,q1),c1.return=w1,w1=c1),Y(w1)):w(w1,c1)}return m8}var F3=Uh(!0),Fh=Uh(!1),Be={},v8=y2(Be),Ie=y2(Be),W3=y2(Be);function s4(a){if(a===Be)throw Error(o(174));return a}function vs(a,c){e0(W3,c),e0(Ie,a),e0(v8,Be),a=g1(c),u0(v8),e0(v8,a)}function O3(){u0(v8),u0(Ie),u0(W3)}function Wh(a){var c=s4(W3.current),w=s4(v8.current);c=F(w,a.type,c),w!==c&&(e0(Ie,a),e0(v8,c))}function Ls(a){Ie.current===a&&(u0(v8),u0(Ie))}var x2=y2(0);function Jn(a){for(var c=a;c!==null;){if(c.tag===13){var w=c.memoizedState;if(w!==null&&(w=w.dehydrated,w===null||Z8(w)||y4(w)))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===a)break;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var ws=[];function xs(){for(var a=0;aw?w:4,a(!0);var y=L8.transition;L8.transition={};try{a(!1),c()}finally{J0=w,L8.transition=y}}function nf(){return l4().memoizedState}function BM(a,c,w){var y=k6(a);w={lane:y,action:w,hasEagerState:!1,eagerState:null,next:null},Cf(a)?rf(c,w):(of(a,c,w),w=S9(),a=w8(a,y,w),a!==null&&sf(a,c,y))}function IM(a,c,w){var y=k6(a),B={lane:y,action:w,hasEagerState:!1,eagerState:null,next:null};if(Cf(a))rf(c,B);else{of(a,c,B);var Q=a.alternate;if(a.lanes===0&&(Q===null||Q.lanes===0)&&(Q=c.lastRenderedReducer,Q!==null))try{var Y=c.lastRenderedState,s1=Q(Y,w);if(B.hasEagerState=!0,B.eagerState=s1,r4(s1,Y))return}catch{}finally{}w=S9(),a=w8(a,y,w),a!==null&&sf(a,c,y)}}function Cf(a){var c=a.alternate;return a===I2||c!==null&&c===I2}function rf(a,c){Se=Kn=!0;var w=a.pending;w===null?c.next=c:(c.next=w.next,w.next=c),a.pending=c}function of(a,c,w){P2!==null&&a.mode&1&&!(H0&2)?(a=c.interleaved,a===null?(w.next=w,o4===null?o4=[c]:o4.push(c)):(w.next=a.next,a.next=w),c.interleaved=w):(a=c.pending,a===null?w.next=w:(w.next=a.next,a.next=w),c.pending=w)}function sf(a,c,w){if(w&4194240){var y=c.lanes;y&=a.pendingLanes,w|=y,c.lanes=w,ts(a,w)}}var nC={readContext:g8,useCallback:g9,useContext:g9,useEffect:g9,useImperativeHandle:g9,useInsertionEffect:g9,useLayoutEffect:g9,useMemo:g9,useReducer:g9,useRef:g9,useState:g9,useDebugValue:g9,useDeferredValue:g9,useTransition:g9,useMutableSource:g9,useSyncExternalStore:g9,useId:g9,unstable_isNewReconciler:!1},SM={readContext:g8,useCallback:function(a,c){return Q4().memoizedState=[a,c===void 0?null:c],a},useContext:g8,useEffect:ys,useImperativeHandle:function(a,c,w){return w=w!=null?w.concat([a]):null,eC(4194308,4,qh.bind(null,c,a),w)},useLayoutEffect:function(a,c){return eC(4194308,4,a,c)},useInsertionEffect:function(a,c){return eC(4,2,a,c)},useMemo:function(a,c){var w=Q4();return c=c===void 0?null:c,a=a(),w.memoizedState=[a,c],a},useReducer:function(a,c,w){var y=Q4();return c=w!==void 0?w(c):c,y.memoizedState=y.baseState=c,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:c},y.queue=a,a=a.dispatch=BM.bind(null,I2,a),[y.memoizedState,a]},useRef:function(a){var c=Q4();return a={current:a},c.memoizedState=a},useState:Es,useDebugValue:Bs,useDeferredValue:function(a){var c=Es(a),w=c[0],y=c[1];return ys(function(){var B=L8.transition;L8.transition={};try{y(a)}finally{L8.transition=B}},[a]),w},useTransition:function(){var a=Es(!1),c=a[0];return a=yM.bind(null,a[1]),Q4().memoizedState=a,[c,a]},useMutableSource:function(){},useSyncExternalStore:function(a,c,w){var y=I2,B=Q4();if(v2){if(w===void 0)throw Error(o(407));w=w()}else{if(w=c(),P2===null)throw Error(o(349));G3&30||zh(y,c,w)}B.memoizedState=w;var Q={value:w,getSnapshot:c};return B.queue=Q,ys($h.bind(null,y,Q,a),[a]),y.flags|=2048,Qe(9,Vh.bind(null,y,Q,w,c),void 0,null),w},useId:function(){var a=Q4(),c=P2.identifierPrefix;if(v2){var w=_4,y=S4;w=(y&~(1<<32-V1(y)-1)).toString(32)+w,c=":"+c+"R"+w,w=_e++,0Vs&&(c.flags|=128,y=!0,Te(B,!1),c.lanes=4194304)}else{if(!y)if(a=Jn(Q),a!==null){if(c.flags|=128,y=!0,a=a.updateQueue,a!==null&&(c.updateQueue=a,c.flags|=4),Te(B,!0),B.tail===null&&B.tailMode==="hidden"&&!Q.alternate&&!v2)return A9(c),null}else 2*Z2()-B.renderingStartTime>Vs&&w!==1073741824&&(c.flags|=128,y=!0,Te(B,!1),c.lanes=4194304);B.isBackwards?(Q.sibling=c.child,c.child=Q):(a=B.last,a!==null?a.sibling=Q:c.child=Q,B.last=Q)}return B.tail!==null?(c=B.tail,B.rendering=c,B.tail=c.sibling,B.renderingStartTime=Z2(),c.sibling=null,a=x2.current,e0(x2,y?a&1|2:a&1),c):(A9(c),null);case 22:case 23:return Ks(),y=c.memoizedState!==null,a!==null&&a.memoizedState!==null!==y&&(c.flags|=8192),y&&c.mode&1?t8&1073741824&&(A9(c),y1&&c.subtreeFlags&6&&(c.flags|=8192)):A9(c),null;case 24:return null;case 25:return null}throw Error(o(156,c.tag))}var DM=s.ReactCurrentOwner,e8=!1;function I9(a,c,w,y){c.child=a===null?Fh(c,null,w,y):F3(c,a.child,w,y)}function gf(a,c,w,y,B){w=w.render;var Q=c.ref;return P3(c,B),y=ks(a,c,w,y,Q,B),w=Ms(),a!==null&&!e8?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~B,R4(a,c,B)):(v2&&w&&hs(c),c.flags|=1,I9(a,c,y,B),c.child)}function Af(a,c,w,y,B){if(a===null){var Q=w.type;return typeof Q=="function"&&!Zs(Q)&&Q.defaultProps===void 0&&w.compare===null&&w.defaultProps===void 0?(c.tag=15,c.type=Q,pf(a,c,Q,y,B)):(a=EC(w.type,null,y,c,c.mode,B),a.ref=c.ref,a.return=c,c.child=a)}if(Q=a.child,!(a.lanes&B)){var Y=Q.memoizedProps;if(w=w.compare,w=w!==null?w:Un,w(Y,y)&&a.ref===c.ref)return R4(a,c,B)}return c.flags|=1,a=E6(Q,y),a.ref=c.ref,a.return=c,c.child=a}function pf(a,c,w,y,B){if(a!==null&&Un(a.memoizedProps,y)&&a.ref===c.ref)if(e8=!1,(a.lanes&B)!==0)a.flags&131072&&(e8=!0);else return c.lanes=a.lanes,R4(a,c,B);return _s(a,c,w,y,B)}function vf(a,c,w){var y=c.pendingProps,B=y.children,Q=a!==null?a.memoizedState:null;if(y.mode==="hidden")if(!(c.mode&1))c.memoizedState={baseLanes:0,cachePool:null},e0(z3,t8),t8|=w;else if(w&1073741824)c.memoizedState={baseLanes:0,cachePool:null},y=Q!==null?Q.baseLanes:w,e0(z3,t8),t8|=y;else return a=Q!==null?Q.baseLanes|w:w,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:a,cachePool:null},c.updateQueue=null,e0(z3,t8),t8|=a,null;else Q!==null?(y=Q.baseLanes|w,c.memoizedState=null):y=w,e0(z3,t8),t8|=y;return I9(a,c,B,w),c.child}function Lf(a,c){var w=c.ref;(a===null&&w!==null||a!==null&&a.ref!==w)&&(c.flags|=512,c.flags|=2097152)}function _s(a,c,w,y,B){var Q=h1(w)?t1:H.current;return Q=o1(c,Q),P3(c,B),w=ks(a,c,w,y,Q,B),y=Ms(),a!==null&&!e8?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~B,R4(a,c,B)):(v2&&y&&hs(c),c.flags|=1,I9(a,c,w,B),c.child)}function wf(a,c,w,y,B){if(h1(w)){var Q=!0;N1(c)}else Q=!1;if(P3(c,B),c.stateNode===null)a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),bh(c,w,y),ds(c,w,y,B),y=!0;else if(a===null){var Y=c.stateNode,s1=c.memoizedProps;Y.props=s1;var _1=Y.context,W1=w.contextType;typeof W1=="object"&&W1!==null?W1=g8(W1):(W1=h1(w)?t1:H.current,W1=o1(c,W1));var o0=w.getDerivedStateFromProps,I0=typeof o0=="function"||typeof Y.getSnapshotBeforeUpdate=="function";I0||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(s1!==y||_1!==W1)&&Dh(c,Y,y,W1),L6=!1;var x0=c.memoizedState;Y.state=x0,Gn(c,y,Y,B),_1=c.memoizedState,s1!==y||x0!==_1||j.current||L6?(typeof o0=="function"&&(us(c,w,o0,y),_1=c.memoizedState),(s1=L6||Rh(c,w,s1,y,x0,_1,W1))?(I0||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount=="function"&&(c.flags|=4194308)):(typeof Y.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=y,c.memoizedState=_1),Y.props=y,Y.state=_1,Y.context=W1,y=s1):(typeof Y.componentDidMount=="function"&&(c.flags|=4194308),y=!1)}else{Y=c.stateNode,Ih(a,c),s1=c.memoizedProps,W1=c.type===c.elementType?s1:T8(c.type,s1),Y.props=W1,I0=c.pendingProps,x0=Y.context,_1=w.contextType,typeof _1=="object"&&_1!==null?_1=g8(_1):(_1=h1(w)?t1:H.current,_1=o1(c,_1));var a2=w.getDerivedStateFromProps;(o0=typeof a2=="function"||typeof Y.getSnapshotBeforeUpdate=="function")||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(s1!==I0||x0!==_1)&&Dh(c,Y,y,_1),L6=!1,x0=c.memoizedState,Y.state=x0,Gn(c,y,Y,B);var h0=c.memoizedState;s1!==I0||x0!==h0||j.current||L6?(typeof a2=="function"&&(us(c,w,a2,y),h0=c.memoizedState),(W1=L6||Rh(c,w,W1,y,x0,h0,_1)||!1)?(o0||typeof Y.UNSAFE_componentWillUpdate!="function"&&typeof Y.componentWillUpdate!="function"||(typeof Y.componentWillUpdate=="function"&&Y.componentWillUpdate(y,h0,_1),typeof Y.UNSAFE_componentWillUpdate=="function"&&Y.UNSAFE_componentWillUpdate(y,h0,_1)),typeof Y.componentDidUpdate=="function"&&(c.flags|=4),typeof Y.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof Y.componentDidUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=1024),c.memoizedProps=y,c.memoizedState=h0),Y.props=y,Y.state=h0,Y.context=_1,y=W1):(typeof Y.componentDidUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||s1===a.memoizedProps&&x0===a.memoizedState||(c.flags|=1024),y=!1)}return Qs(a,c,w,y,Q,B)}function Qs(a,c,w,y,B,Q){Lf(a,c);var Y=(c.flags&128)!==0;if(!y&&!Y)return B&&U1(c,w,!1),R4(a,c,Q);y=c.stateNode,DM.current=c;var s1=Y&&typeof w.getDerivedStateFromError!="function"?null:y.render();return c.flags|=1,a!==null&&Y?(c.child=F3(c,a.child,null,Q),c.child=F3(c,null,s1,Q)):I9(a,c,s1,Q),c.memoizedState=y.state,B&&U1(c,w,!0),c.child}function xf(a){var c=a.stateNode;c.pendingContext?H1(a,c.pendingContext,c.pendingContext!==c.context):c.context&&H1(a,c.context,!1),vs(a,c.containerInfo)}function mf(a,c,w,y,B){return U3(),ps(B),c.flags|=256,I9(a,c,w,y),c.child}var iC={dehydrated:null,treeContext:null,retryLane:0};function oC(a){return{baseLanes:a,cachePool:null}}function kf(a,c,w){var y=c.pendingProps,B=x2.current,Q=!1,Y=(c.flags&128)!==0,s1;if((s1=Y)||(s1=a!==null&&a.memoizedState===null?!1:(B&2)!==0),s1?(Q=!0,c.flags&=-129):(a===null||a.memoizedState!==null)&&(B|=1),e0(x2,B&1),a===null)return As(c),a=c.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?(c.mode&1?y4(a)?c.lanes=8:c.lanes=1073741824:c.lanes=1,null):(B=y.children,a=y.fallback,Q?(y=c.mode,Q=c.child,B={mode:"hidden",children:B},!(y&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=B):Q=yC(B,y,0,null),a=_5(a,y,w,null),Q.return=c,a.return=c,Q.sibling=a,c.child=Q,c.child.memoizedState=oC(w),c.memoizedState=iC,a):Rs(c,B));if(B=a.memoizedState,B!==null){if(s1=B.dehydrated,s1!==null){if(Y)return c.flags&256?(c.flags&=-257,sC(a,c,w,Error(o(422)))):c.memoizedState!==null?(c.child=a.child,c.flags|=128,null):(Q=y.fallback,B=c.mode,y=yC({mode:"visible",children:y.children},B,0,null),Q=_5(Q,B,w,null),Q.flags|=2,y.return=c,Q.return=c,y.sibling=Q,c.child=y,c.mode&1&&F3(c,a.child,null,w),c.child.memoizedState=oC(w),c.memoizedState=iC,Q);if(!(c.mode&1))c=sC(a,c,w,null);else if(y4(s1))c=sC(a,c,w,Error(o(419)));else if(y=(w&a.childLanes)!==0,e8||y){if(y=P2,y!==null){switch(w&-w){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}y=Q&(y.suspendedLanes|w)?0:Q,y!==0&&y!==B.retryLane&&(B.retryLane=y,w8(a,y,-1))}qs(),c=sC(a,c,w,Error(o(421)))}else Z8(s1)?(c.flags|=128,c.child=a.child,c=$M.bind(null,a),e4(s1,c),c=null):(w=B.treeContext,v1&&(Z9=D3(s1),q9=c,v2=!0,H8=null,Me=!1,w!==null&&(A8[p8++]=S4,A8[p8++]=_4,A8[p8++]=m5,S4=w.id,_4=w.overflow,m5=c)),c=Rs(c,c.pendingProps.children),c.flags|=4096);return c}return Q?(y=Ef(a,c,y.children,y.fallback,w),Q=c.child,B=a.child.memoizedState,Q.memoizedState=B===null?oC(w):{baseLanes:B.baseLanes|w,cachePool:null},Q.childLanes=a.childLanes&~w,c.memoizedState=iC,y):(w=Mf(a,c,y.children,w),c.memoizedState=null,w)}return Q?(y=Ef(a,c,y.children,y.fallback,w),Q=c.child,B=a.child.memoizedState,Q.memoizedState=B===null?oC(w):{baseLanes:B.baseLanes|w,cachePool:null},Q.childLanes=a.childLanes&~w,c.memoizedState=iC,y):(w=Mf(a,c,y.children,w),c.memoizedState=null,w)}function Rs(a,c){return c=yC({mode:"visible",children:c},a.mode,0,null),c.return=a,a.child=c}function Mf(a,c,w,y){var B=a.child;return a=B.sibling,w=E6(B,{mode:"visible",children:w}),!(c.mode&1)&&(w.lanes=y),w.return=c,w.sibling=null,a!==null&&(y=c.deletions,y===null?(c.deletions=[a],c.flags|=16):y.push(a)),c.child=w}function Ef(a,c,w,y,B){var Q=c.mode;a=a.child;var Y=a.sibling,s1={mode:"hidden",children:w};return!(Q&1)&&c.child!==a?(w=c.child,w.childLanes=0,w.pendingProps=s1,c.deletions=null):(w=E6(a,s1),w.subtreeFlags=a.subtreeFlags&14680064),Y!==null?y=E6(Y,y):(y=_5(y,Q,B,null),y.flags|=2),y.return=c,w.return=c,w.sibling=y,c.child=w,y}function sC(a,c,w,y){return y!==null&&ps(y),F3(c,a.child,null,w),a=Rs(c,c.pendingProps.children),a.flags|=2,c.memoizedState=null,a}function yf(a,c,w){a.lanes|=c;var y=a.alternate;y!==null&&(y.lanes|=c),as(a.return,c,w)}function bs(a,c,w,y,B){var Q=a.memoizedState;Q===null?a.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:y,tail:w,tailMode:B}:(Q.isBackwards=c,Q.rendering=null,Q.renderingStartTime=0,Q.last=y,Q.tail=w,Q.tailMode=B)}function Bf(a,c,w){var y=c.pendingProps,B=y.revealOrder,Q=y.tail;if(I9(a,c,y.children,w),y=x2.current,y&2)y=y&1|2,c.flags|=128;else{if(a!==null&&a.flags&128)e:for(a=c.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&yf(a,w,c);else if(a.tag===19)yf(a,w,c);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===c)break e;for(;a.sibling===null;){if(a.return===null||a.return===c)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}y&=1}if(e0(x2,y),!(c.mode&1))c.memoizedState=null;else switch(B){case"forwards":for(w=c.child,B=null;w!==null;)a=w.alternate,a!==null&&Jn(a)===null&&(B=w),w=w.sibling;w=B,w===null?(B=c.child,c.child=null):(B=w.sibling,w.sibling=null),bs(c,!1,B,w,Q);break;case"backwards":for(w=null,B=c.child,c.child=null;B!==null;){if(a=B.alternate,a!==null&&Jn(a)===null){c.child=B;break}a=B.sibling,B.sibling=w,w=B,B=a}bs(c,!0,w,null,Q);break;case"together":bs(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function R4(a,c,w){if(a!==null&&(c.dependencies=a.dependencies),V3|=c.lanes,!(w&c.childLanes))return null;if(a!==null&&c.child!==a.child)throw Error(o(153));if(c.child!==null){for(a=c.child,w=E6(a,a.pendingProps),c.child=w,w.return=c;a.sibling!==null;)a=a.sibling,w=w.sibling=E6(a,a.pendingProps),w.return=c;w.sibling=null}return c.child}function TM(a,c,w){switch(c.tag){case 3:xf(c),U3();break;case 5:Wh(c);break;case 1:h1(c.type)&&N1(c);break;case 4:vs(c,c.stateNode.containerInfo);break;case 10:Bh(c,c.type._context,c.memoizedProps.value);break;case 13:var y=c.memoizedState;if(y!==null)return y.dehydrated!==null?(e0(x2,x2.current&1),c.flags|=128,null):w&c.child.childLanes?kf(a,c,w):(e0(x2,x2.current&1),a=R4(a,c,w),a!==null?a.sibling:null);e0(x2,x2.current&1);break;case 19:if(y=(w&c.childLanes)!==0,a.flags&128){if(y)return Bf(a,c,w);c.flags|=128}var B=c.memoizedState;if(B!==null&&(B.rendering=null,B.tail=null,B.lastEffect=null),e0(x2,x2.current),y)break;return null;case 22:case 23:return c.lanes=0,vf(a,c,w)}return R4(a,c,w)}function HM(a,c){switch(fs(c),c.tag){case 1:return h1(c.type)&&E1(),a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 3:return O3(),u0(j),u0(H),xs(),a=c.flags,a&65536&&!(a&128)?(c.flags=a&-65537|128,c):null;case 5:return Ls(c),null;case 13:if(u0(x2),a=c.memoizedState,a!==null&&a.dehydrated!==null){if(c.alternate===null)throw Error(o(340));U3()}return a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 19:return u0(x2),null;case 4:return O3(),null;case 10:return ls(c.type._context),null;case 22:case 23:return Ks(),null;case 24:return null;default:return null}}var lC=!1,E5=!1,PM=typeof WeakSet=="function"?WeakSet:Set,X1=null;function aC(a,c){var w=a.ref;if(w!==null)if(typeof w=="function")try{w(null)}catch(y){G9(a,c,y)}else w.current=null}function Ds(a,c,w){try{w()}catch(y){G9(a,c,y)}}var If=!1;function NM(a,c){for(e1(a.containerInfo),X1=c;X1!==null;)if(a=X1,c=a.child,(a.subtreeFlags&1028)!==0&&c!==null)c.return=a,X1=c;else for(;X1!==null;){a=X1;try{var w=a.alternate;if(a.flags&1024)switch(a.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var y=w.memoizedProps,B=w.memoizedState,Q=a.stateNode,Y=Q.getSnapshotBeforeUpdate(a.elementType===a.type?y:T8(a.type,y),B);Q.__reactInternalSnapshotBeforeUpdate=Y}break;case 3:y1&&O1(a.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(s1){G9(a,a.return,s1)}if(c=a.sibling,c!==null){c.return=a.return,X1=c;break}X1=a.return}return w=If,If=!1,w}function y5(a,c,w){var y=c.updateQueue;if(y=y!==null?y.lastEffect:null,y!==null){var B=y=y.next;do{if((B.tag&a)===a){var Q=B.destroy;B.destroy=void 0,Q!==void 0&&Ds(c,w,Q)}B=B.next}while(B!==y)}}function He(a,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var w=c=c.next;do{if((w.tag&a)===a){var y=w.create;w.destroy=y()}w=w.next}while(w!==c)}}function Ts(a){var c=a.ref;if(c!==null){var w=a.stateNode;switch(a.tag){case 5:a=i1(w);break;default:a=w}typeof c=="function"?c(a):c.current=a}}function Sf(a,c,w){if(C4&&typeof C4.onCommitFiberUnmount=="function")try{C4.onCommitFiberUnmount(Nn,c)}catch{}switch(c.tag){case 0:case 11:case 14:case 15:if(a=c.updateQueue,a!==null&&(a=a.lastEffect,a!==null)){var y=a=a.next;do{var B=y,Q=B.destroy;B=B.tag,Q!==void 0&&(B&2||B&4)&&Ds(c,w,Q),y=y.next}while(y!==a)}break;case 1:if(aC(c,w),a=c.stateNode,typeof a.componentWillUnmount=="function")try{a.props=c.memoizedProps,a.state=c.memoizedState,a.componentWillUnmount()}catch(Y){G9(c,w,Y)}break;case 5:aC(c,w);break;case 4:y1?Tf(a,c,w):O&&O&&(c=c.stateNode.containerInfo,w=i0(c),q0(c,w))}}function _f(a,c,w){for(var y=c;;)if(Sf(a,y,w),y.child===null||y1&&y.tag===4){if(y===c)break;for(;y.sibling===null;){if(y.return===null||y.return===c)return;y=y.return}y.sibling.return=y.return,y=y.sibling}else y.child.return=y,y=y.child}function Qf(a){var c=a.alternate;c!==null&&(a.alternate=null,Qf(c)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(c=a.stateNode,c!==null&&R1(c)),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function Rf(a){return a.tag===5||a.tag===3||a.tag===4}function bf(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Rf(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Df(a){if(y1){e:{for(var c=a.return;c!==null;){if(Rf(c))break e;c=c.return}throw Error(o(160))}var w=c;switch(w.tag){case 5:c=w.stateNode,w.flags&32&&(U0(c),w.flags&=-33),w=bf(a),Ps(a,w,c);break;case 3:case 4:c=w.stateNode.containerInfo,w=bf(a),Hs(a,w,c);break;default:throw Error(o(161))}}}function Hs(a,c,w){var y=a.tag;if(y===5||y===6)a=a.stateNode,c?l0(w,a,c):v0(w,a);else if(y!==4&&(a=a.child,a!==null))for(Hs(a,c,w),a=a.sibling;a!==null;)Hs(a,c,w),a=a.sibling}function Ps(a,c,w){var y=a.tag;if(y===5||y===6)a=a.stateNode,c?p0(w,a,c):a0(w,a);else if(y!==4&&(a=a.child,a!==null))for(Ps(a,c,w),a=a.sibling;a!==null;)Ps(a,c,w),a=a.sibling}function Tf(a,c,w){for(var y=c,B=!1,Q,Y;;){if(!B){B=y.return;e:for(;;){if(B===null)throw Error(o(160));switch(Q=B.stateNode,B.tag){case 5:Y=!1;break e;case 3:Q=Q.containerInfo,Y=!0;break e;case 4:Q=Q.containerInfo,Y=!0;break e}B=B.return}B=!0}if(y.tag===5||y.tag===6)_f(a,y,w),Y?m0(Q,y.stateNode):n0(Q,y.stateNode);else if(y.tag===18)Y?x1(Q,y.stateNode):B1(Q,y.stateNode);else if(y.tag===4){if(y.child!==null){Q=y.stateNode.containerInfo,Y=!0,y.child.return=y,y=y.child;continue}}else if(Sf(a,y,w),y.child!==null){y.child.return=y,y=y.child;continue}if(y===c)break;for(;y.sibling===null;){if(y.return===null||y.return===c)return;y=y.return,y.tag===4&&(B=!1)}y.sibling.return=y.return,y=y.sibling}}function Ns(a,c){if(y1){switch(c.tag){case 0:case 11:case 14:case 15:y5(3,c,c.return),He(3,c),y5(5,c,c.return);return;case 1:return;case 5:var w=c.stateNode;if(w!=null){var y=c.memoizedProps;a=a!==null?a.memoizedProps:y;var B=c.type,Q=c.updateQueue;c.updateQueue=null,Q!==null&&y0(w,Q,B,a,y,c)}return;case 6:if(c.stateNode===null)throw Error(o(162));w=c.memoizedProps,T1(c.stateNode,a!==null?a.memoizedProps:w,w);return;case 3:v1&&a!==null&&a.memoizedState.isDehydrated&&p1(c.stateNode.containerInfo);return;case 12:return;case 13:cC(c);return;case 19:cC(c);return;case 17:return}throw Error(o(163))}switch(c.tag){case 0:case 11:case 14:case 15:y5(3,c,c.return),He(3,c),y5(5,c,c.return);return;case 12:return;case 13:cC(c);return;case 19:cC(c);return;case 3:v1&&a!==null&&a.memoizedState.isDehydrated&&p1(c.stateNode.containerInfo);break;case 22:case 23:return}e:if(O){switch(c.tag){case 1:case 5:case 6:break e;case 3:case 4:c=c.stateNode,q0(c.containerInfo,c.pendingChildren);break e}throw Error(o(163))}}function cC(a){var c=a.updateQueue;if(c!==null){a.updateQueue=null;var w=a.stateNode;w===null&&(w=a.stateNode=new PM),c.forEach(function(y){var B=YM.bind(null,a,y);w.has(y)||(w.add(y),y.then(B,B))})}}function jM(a,c){for(X1=c;X1!==null;){c=X1;var w=c.deletions;if(w!==null)for(var y=0;y";case dC:return":has("+(Fs(a)||"")+")";case hC:return'[role="'+a.value+'"]';case gC:return'"'+a.value+'"';case fC:return'[data-testname="'+a.value+'"]';default:throw Error(o(365))}}function Uf(a,c){var w=[];a=[a,0];for(var y=0;yB&&(B=Y),y&=~Q}if(y=B,y=Z2()-y,y=(120>y?120:480>y?480:1080>y?1080:1920>y?1920:3e3>y?3e3:4320>y?4320:1960*FM(y/1960))-y,10a?16:a,m6===null)var y=!1;else{if(a=m6,m6=null,wC=0,H0&6)throw Error(o(331));var B=H0;for(H0|=4,X1=a.current;X1!==null;){var Q=X1,Y=Q.child;if(X1.flags&16){var s1=Q.deletions;if(s1!==null){for(var _1=0;_1Z2()-zs?B5(a,0):Gs|=w),O9(a,c)}function Jf(a,c){c===0&&(a.mode&1?(c=q2,q2<<=1,!(q2&130023424)&&(q2=4194304)):c=1);var w=S9();a=kC(a,c),a!==null&&(ke(a,c,w),O9(a,w))}function $M(a){var c=a.memoizedState,w=0;c!==null&&(w=c.retryLane),Jf(a,w)}function YM(a,c){var w=0;switch(a.tag){case 13:var y=a.stateNode,B=a.memoizedState;B!==null&&(w=B.retryLane);break;case 19:y=a.stateNode;break;default:throw Error(o(314))}y!==null&&y.delete(c),Jf(a,w)}var Xf;Xf=function(a,c,w){if(a!==null)if(a.memoizedProps!==c.pendingProps||j.current)e8=!0;else{if(!(a.lanes&w)&&!(c.flags&128))return e8=!1,TM(a,c,w);e8=!!(a.flags&131072)}else e8=!1,v2&&c.flags&1048576&&Th(c,$n,c.index);switch(c.lanes=0,c.tag){case 2:var y=c.type;a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),a=c.pendingProps;var B=o1(c,H.current);P3(c,w),B=ks(null,c,y,a,B,w);var Q=Ms();return c.flags|=1,typeof B=="object"&&B!==null&&typeof B.render=="function"&&B.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,h1(y)?(Q=!0,N1(c)):Q=!1,c.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,cs(c),B.updater=zn,c.stateNode=B,B._reactInternals=c,ds(c,y,a,w),c=Qs(null,c,y,!0,Q,w)):(c.tag=0,v2&&Q&&hs(c),I9(null,c,B,w),c=c.child),c;case 16:y=c.elementType;e:{switch(a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),a=c.pendingProps,B=y._init,y=B(y._payload),c.type=y,B=c.tag=XM(y),a=T8(y,a),B){case 0:c=_s(null,c,y,a,w);break e;case 1:c=wf(null,c,y,a,w);break e;case 11:c=gf(null,c,y,a,w);break e;case 14:c=Af(null,c,y,T8(y.type,a),w);break e}throw Error(o(306,y,""))}return c;case 0:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),_s(a,c,y,B,w);case 1:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),wf(a,c,y,B,w);case 3:e:{if(xf(c),a===null)throw Error(o(387));y=c.pendingProps,Q=c.memoizedState,B=Q.element,Ih(a,c),Gn(c,y,null,w);var Y=c.memoizedState;if(y=Y.element,v1&&Q.isDehydrated)if(Q={element:y,isDehydrated:!1,cache:Y.cache,transitions:Y.transitions},c.updateQueue.baseState=Q,c.memoizedState=Q,c.flags&256){B=Error(o(423)),c=mf(a,c,y,w,B);break e}else if(y!==B){B=Error(o(424)),c=mf(a,c,y,w,B);break e}else for(v1&&(Z9=b3(c.stateNode.containerInfo),q9=c,v2=!0,H8=null,Me=!1),w=Fh(c,null,y,w),c.child=w;w;)w.flags=w.flags&-3|4096,w=w.sibling;else{if(U3(),y===B){c=R4(a,c,w);break e}I9(a,c,y,w)}c=c.child}return c;case 5:return Wh(c),a===null&&As(c),y=c.type,B=c.pendingProps,Q=a!==null?a.memoizedProps:null,Y=B.children,z(y,B)?Y=null:Q!==null&&z(y,Q)&&(c.flags|=32),Lf(a,c),I9(a,c,Y,w),c.child;case 6:return a===null&&As(c),null;case 13:return kf(a,c,w);case 4:return vs(c,c.stateNode.containerInfo),y=c.pendingProps,a===null?c.child=F3(c,null,y,w):I9(a,c,y,w),c.child;case 11:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),gf(a,c,y,B,w);case 7:return I9(a,c,c.pendingProps,w),c.child;case 8:return I9(a,c,c.pendingProps.children,w),c.child;case 12:return I9(a,c,c.pendingProps.children,w),c.child;case 10:e:{if(y=c.type._context,B=c.pendingProps,Q=c.memoizedProps,Y=B.value,Bh(c,y,Y),Q!==null)if(r4(Q.value,Y)){if(Q.children===B.children&&!j.current){c=R4(a,c,w);break e}}else for(Q=c.child,Q!==null&&(Q.return=c);Q!==null;){var s1=Q.dependencies;if(s1!==null){Y=Q.child;for(var _1=s1.firstContext;_1!==null;){if(_1.context===y){if(Q.tag===1){_1=I4(-1,w&-w),_1.tag=2;var W1=Q.updateQueue;if(W1!==null){W1=W1.shared;var o0=W1.pending;o0===null?_1.next=_1:(_1.next=o0.next,o0.next=_1),W1.pending=_1}}Q.lanes|=w,_1=Q.alternate,_1!==null&&(_1.lanes|=w),as(Q.return,w,c),s1.lanes|=w;break}_1=_1.next}}else if(Q.tag===10)Y=Q.type===c.type?null:Q.child;else if(Q.tag===18){if(Y=Q.return,Y===null)throw Error(o(341));Y.lanes|=w,s1=Y.alternate,s1!==null&&(s1.lanes|=w),as(Y,w,c),Y=Q.sibling}else Y=Q.child;if(Y!==null)Y.return=Q;else for(Y=Q;Y!==null;){if(Y===c){Y=null;break}if(Q=Y.sibling,Q!==null){Q.return=Y.return,Y=Q;break}Y=Y.return}Q=Y}I9(a,c,B.children,w),c=c.child}return c;case 9:return B=c.type,y=c.pendingProps.children,P3(c,w),B=g8(B),y=y(B),c.flags|=1,I9(a,c,y,w),c.child;case 14:return y=c.type,B=T8(y,c.pendingProps),B=T8(y.type,B),Af(a,c,y,B,w);case 15:return pf(a,c,c.type,c.pendingProps,w);case 17:return y=c.type,B=c.pendingProps,B=c.elementType===y?B:T8(y,B),a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2),c.tag=1,h1(y)?(a=!0,N1(c)):a=!1,P3(c,w),bh(c,y,B),ds(c,y,B,w),Qs(null,c,y,!0,a,w);case 19:return Bf(a,c,w);case 22:return vf(a,c,w)}throw Error(o(156,c.tag))};function Kf(a,c){return ns(a,c)}function JM(a,c,w,y){this.tag=a,this.key=w,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=y,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function x8(a,c,w,y){return new JM(a,c,w,y)}function Zs(a){return a=a.prototype,!(!a||!a.isReactComponent)}function XM(a){if(typeof a=="function")return Zs(a)?1:0;if(a!=null){if(a=a.$$typeof,a===E)return 11;if(a===M)return 14}return 2}function E6(a,c){var w=a.alternate;return w===null?(w=x8(a.tag,c,a.key,a.mode),w.elementType=a.elementType,w.type=a.type,w.stateNode=a.stateNode,w.alternate=a,a.alternate=w):(w.pendingProps=c,w.type=a.type,w.flags=0,w.subtreeFlags=0,w.deletions=null),w.flags=a.flags&14680064,w.childLanes=a.childLanes,w.lanes=a.lanes,w.child=a.child,w.memoizedProps=a.memoizedProps,w.memoizedState=a.memoizedState,w.updateQueue=a.updateQueue,c=a.dependencies,w.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},w.sibling=a.sibling,w.index=a.index,w.ref=a.ref,w}function EC(a,c,w,y,B,Q){var Y=2;if(y=a,typeof a=="function")Zs(a)&&(Y=1);else if(typeof a=="string")Y=5;else e:switch(a){case g:return _5(w.children,B,Q,c);case A:Y=8,B|=8;break;case p:return a=x8(12,w,c,B|2),a.elementType=p,a.lanes=Q,a;case m:return a=x8(13,w,c,B),a.elementType=m,a.lanes=Q,a;case v:return a=x8(19,w,c,B),a.elementType=v,a.lanes=Q,a;case I:return yC(w,B,Q,c);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case L:Y=10;break e;case x:Y=9;break e;case E:Y=11;break e;case M:Y=14;break e;case k:Y=16,y=null;break e}throw Error(o(130,a==null?a:typeof a,""))}return c=x8(Y,w,c,B),c.elementType=a,c.type=y,c.lanes=Q,c}function _5(a,c,w,y){return a=x8(7,a,y,c),a.lanes=w,a}function yC(a,c,w,y){return a=x8(22,a,y,c),a.elementType=I,a.lanes=w,a.stateNode={},a}function el(a,c,w){return a=x8(6,a,null,c),a.lanes=w,a}function tl(a,c,w){return c=x8(4,a.children!==null?a.children:[],a.key,c),c.lanes=w,c.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},c}function KM(a,c,w,y,B){this.tag=c,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=k1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=es(0),this.expirationTimes=es(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=es(0),this.identifierPrefix=y,this.onRecoverableError=B,v1&&(this.mutableSourceEagerHydrationData=null)}function qf(a,c,w,y,B,Q,Y,s1,_1){return a=new KM(a,c,w,s1,_1),c===1?(c=1,Q===!0&&(c|=8)):c=0,Q=x8(3,null,null,c),a.current=Q,Q.stateNode=a,Q.memoizedState={element:y,isDehydrated:w,cache:null,transitions:null},cs(Q),a}function Zf(a){if(!a)return B9;a=a._reactInternals;e:{if(X(a)!==a||a.tag!==1)throw Error(o(170));var c=a;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(h1(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(o(171))}if(a.tag===1){var w=a.type;if(h1(w))return P1(a,w,c)}return c}function eg(a){var c=a._reactInternals;if(c===void 0)throw typeof a.render=="function"?Error(o(188)):(a=Object.keys(a).join(","),Error(o(268,a)));return a=Z(c),a===null?null:a.stateNode}function tg(a,c){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var w=a.retryLane;a.retryLane=w!==0&&w=W1&&Q>=I0&&B<=o0&&Y<=x0){a.splice(c,1);break}else if(y!==W1||w.width!==_1.width||x0Y){if(!(Q!==I0||w.height!==_1.height||o0B)){W1>y&&(_1.width+=W1-y,_1.x=y),o0Q&&(_1.height+=I0-Q,_1.y=Q),x0w&&(w=Y)),Y ")+` + +No matching component was found for: + `)+a.join(" > ")}return null},n.getPublicRootInstance=function(a){if(a=a.current,!a.child)return null;switch(a.child.tag){case 5:return i1(a.child.stateNode);default:return a.child.stateNode}},n.injectIntoDevTools=function(a){if(a={bundleType:a.bundleType,version:a.version,rendererPackageName:a.rendererPackageName,rendererConfig:a.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:qM,findFiberByHostInstance:a.findFiberByHostInstance||ZM,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")a=!1;else{var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled||!c.supportsFiber)a=!0;else{try{Nn=c.inject(a),C4=c}catch{}a=!!c.checkDCE}}return a},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(a,c,w,y){if(!T)throw Error(o(363));a=Ws(a,c);var B=K1(a,w,y).disconnect;return{disconnect:function(){B()}}},n.registerMutableSourceForHydration=function(a,c){var w=c._getVersion;w=w(c._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[c,w]:a.mutableSourceEagerHydrationData.push(c,w)},n.runWithPriority=function(a,c){var w=J0;try{return J0=a,c()}finally{J0=w}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(a,c,w,y){var B=c.current,Q=S9(),Y=k6(B);return w=Zf(w),c.context===null?c.context=w:c.pendingContext=w,c=I4(Q,Y),c.payload={element:a},y=y===void 0?null:y,y!==null&&(c.callback=y),w6(B,c),a=w8(B,Y,Q),a!==null&&On(a,B,Y),Y},n};sk.exports=wT;var xT=sk.exports;const mT=Rv(xT),kT=t=>typeof t=="object"&&typeof t.then=="function",r3=[];function ck(t,e,n=(C,r)=>C===r){if(t===e)return!0;if(!t||!e)return!1;const C=t.length;if(e.length!==C)return!1;for(let r=0;r0&&(i.timeout&&clearTimeout(i.timeout),i.timeout=setTimeout(i.remove,C.lifespan)),i.response;if(!n)throw i.promise}const r={keys:e,equal:C.equal,remove:()=>{const i=r3.indexOf(r);i!==-1&&r3.splice(i,1)},promise:(kT(t)?t:t(...e)).then(i=>{r.response=i,C.lifespan&&C.lifespan>0&&(r.timeout=setTimeout(r.remove,C.lifespan))}).catch(i=>r.error=i)};if(r3.push(r),!n)throw r.promise}const MT=(t,e,n)=>uk(t,e,!1,n),ET=(t,e,n)=>void uk(t,e,!0,n),yT=t=>{if(t===void 0||t.length===0)r3.splice(0,r3.length);else{const e=r3.find(n=>ck(t,n.keys,n.equal));e&&e.remove()}},uh={},BT=t=>void Object.assign(uh,t);function IT(t,e){function n(g,{args:A=[],attach:p,...L},x){let E=`${g[0].toUpperCase()}${g.slice(1)}`,m;if(g==="primitive"){if(L.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const v=L.object;m=k7(v,{type:g,root:x,attach:p,primitive:!0})}else{const v=uh[E];if(!v)throw new Error(`R3F: ${E} 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!");m=k7(new v(...A),{type:g,root:x,attach:p,memoizedProps:{args:A}})}return m.__r3f.attach===void 0&&(m instanceof R0?m.__r3f.attach="geometry":m instanceof K2&&(m.__r3f.attach="material")),E!=="inject"&&fa(m,L),m}function C(g,A){let p=!1;if(A){var L,x;(L=A.__r3f)!=null&&L.attach?ha(g,A,A.__r3f.attach):A.isObject3D&&g.isObject3D&&(g.add(A),p=!0),p||(x=g.__r3f)==null||x.objects.push(A),A.__r3f||k7(A,{}),A.__r3f.parent=g,wu(A),M7(A)}}function r(g,A,p){let L=!1;if(A){var x,E;if((x=A.__r3f)!=null&&x.attach)ha(g,A,A.__r3f.attach);else if(A.isObject3D&&g.isObject3D){A.parent=g,A.dispatchEvent({type:"added"});const m=g.children.filter(M=>M!==A),v=m.indexOf(p);g.children=[...m.slice(0,v),A,...m.slice(v)],L=!0}L||(E=g.__r3f)==null||E.objects.push(A),A.__r3f||k7(A,{}),A.__r3f.parent=g,wu(A),M7(A)}}function i(g,A,p=!1){g&&[...g].forEach(L=>o(A,L,p))}function o(g,A,p){if(A){var L,x,E;if(A.__r3f&&(A.__r3f.parent=null),(L=g.__r3f)!=null&&L.objects&&(g.__r3f.objects=g.__r3f.objects.filter(I=>I!==A)),(x=A.__r3f)!=null&&x.attach)$p(g,A,A.__r3f.attach);else if(A.isObject3D&&g.isObject3D){var m;g.remove(A),(m=A.__r3f)!=null&&m.root&&HT(A.__r3f.root,A)}const M=(E=A.__r3f)==null?void 0:E.primitive,k=!M&&(p===void 0?A.dispose!==null:p);if(!M){var v;i((v=A.__r3f)==null?void 0:v.objects,A,k),i(A.children,A,k)}if(delete A.__r3f,k&&A.dispose&&A.type!=="Scene"){const I=()=>{try{A.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?vu.unstable_scheduleCallback(vu.unstable_IdlePriority,I):I()}M7(g)}}function s(g,A,p,L){var x;const E=(x=g.__r3f)==null?void 0:x.parent;if(!E)return;const m=n(A,p,g.__r3f.root);if(g.children){for(const v of g.children)v.__r3f&&C(m,v);g.children=g.children.filter(v=>!v.__r3f)}g.__r3f.objects.forEach(v=>C(m,v)),g.__r3f.objects=[],g.__r3f.autoRemovedBeforeAppend||o(E,g),m.parent&&(m.__r3f.autoRemovedBeforeAppend=!0),C(E,m),m.raycast&&m.__r3f.eventCount&&m.__r3f.root.getState().internal.interaction.push(m),[L,L.alternate].forEach(v=>{v!==null&&(v.stateNode=m,v.ref&&(typeof v.ref=="function"?v.ref(m):v.ref.current=m))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:mT({createInstance:n,removeChild:o,appendChild:C,appendInitialChild:C,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(g,A)=>{if(!A)return;const p=g.getState().scene;p.__r3f&&(p.__r3f.root=g,C(p,A))},removeChildFromContainer:(g,A)=>{A&&o(g.getState().scene,A)},insertInContainerBefore:(g,A,p)=>{if(!A||!p)return;const L=g.getState().scene;L.__r3f&&r(L,A,p)},getRootHostContext:()=>null,getChildHostContext:g=>g,finalizeInitialChildren(g){var A;return!!((A=g?.__r3f)!=null?A:{}).handlers},prepareUpdate(g,A,p,L){var x;if(((x=g?.__r3f)!=null?x:{}).primitive&&L.object&&L.object!==g)return[!0];{const{args:m=[],children:v,...M}=L,{args:k=[],children:I,...b}=p;if(!Array.isArray(m))throw new Error("R3F: the args prop must be an array!");if(m.some((D,U)=>D!==k[U]))return[!0];const R=vk(g,M,b,!0);return R.changes.length?[!1,R]:null}},commitUpdate(g,[A,p],L,x,E,m){A?s(g,L,E,m):fa(g,p)},commitMount(g,A,p,L){var x;const E=(x=g.__r3f)!=null?x:{};g.raycast&&E.handlers&&E.eventCount&&g.__r3f.root.getState().internal.interaction.push(g)},getPublicInstance:g=>g,prepareForCommit:()=>null,preparePortalMount:g=>k7(g.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(g){var A;const{attach:p,parent:L}=(A=g.__r3f)!=null?A:{};p&&L&&$p(L,g,p),g.isObject3D&&(g.visible=!1),M7(g)},unhideInstance(g,A){var p;const{attach:L,parent:x}=(p=g.__r3f)!=null?p:{};L&&x&&ha(x,g,L),(g.isObject3D&&A.visible==null||A.visible)&&(g.visible=!0),M7(g)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():F7.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&g2.fun(performance.now)?performance.now:g2.fun(Date.now)?Date.now:()=>0,scheduleTimeout:g2.fun(setTimeout)?setTimeout:void 0,cancelTimeout:g2.fun(clearTimeout)?clearTimeout:void 0}),applyProps:fa}}var Op,Gp;const da=t=>"colorSpace"in t||"outputColorSpace"in t,dk=()=>{var t;return(t=uh.ColorManagement)!=null?t:null},hk=t=>t&&t.isOrthographicCamera,ST=t=>t&&t.hasOwnProperty("current"),Rn=typeof window<"u"&&((Op=window.document)!=null&&Op.createElement||((Gp=window.navigator)==null?void 0:Gp.product)==="ReactNative")?u.useLayoutEffect:u.useEffect;function fk(t){const e=u.useRef(t);return Rn(()=>void(e.current=t),[t]),e}function _T({set:t}){return Rn(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class gk extends u.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}gk.getDerivedStateFromError=()=>({error:!0});const Ak="__default",zp=new Map,QT=t=>t&&!!t.memoized&&!!t.changes;function pk(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const ot=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()},g2={obj:t=>t===Object(t)&&!g2.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:C="reference",strict:r=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(g2.str(t)||g2.num(t))return t===e;const i=g2.obj(t);if(i&&C==="reference")return t===e;const o=g2.arr(t);if(o&&n==="reference")return t===e;if((o||i)&&t===e)return!0;let s;for(s in t)if(!(s in e))return!1;if(i&&n==="shallow"&&C==="shallow"){for(s in r?e:t)if(!g2.equ(t[s],e[s],{strict:r,objects:"reference"}))return!1}else for(s in r?e:t)if(t[s]!==e[s])return!1;if(g2.und(s)){if(o&&t.length===0&&e.length===0||i&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function RT(t){const e={nodes:{},materials:{}};return t&&t.traverse(n=>{n.name&&(e.nodes[n.name]=n),n.material&&!e.materials[n.material.name]&&(e.materials[n.material.name]=n.material)}),e}function bT(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function k7(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function Lu(t,e){let n=t;if(e.includes("-")){const C=e.split("-"),r=C.pop();return n=C.reduce((i,o)=>i[o],t),{target:n,key:r}}else return{target:n,key:e}}const Vp=/-\d+$/;function ha(t,e,n){if(g2.str(n)){if(Vp.test(n)){const i=n.replace(Vp,""),{target:o,key:s}=Lu(t,i);Array.isArray(o[s])||(o[s]=[])}const{target:C,key:r}=Lu(t,n);e.__r3f.previousAttach=C[r],C[r]=e}else e.__r3f.previousAttach=n(t,e)}function $p(t,e,n){var C,r;if(g2.str(n)){const{target:i,key:o}=Lu(t,n),s=e.__r3f.previousAttach;s===void 0?delete i[o]:i[o]=s}else(C=e.__r3f)==null||C.previousAttach==null||C.previousAttach(t,e);(r=e.__r3f)==null||delete r.previousAttach}function vk(t,{children:e,key:n,ref:C,...r},{children:i,key:o,ref:s,...l}={},d=!1){var g;const A=(g=t?.__r3f)!=null?g:{},p=Object.entries(r),L=[];if(d){const E=Object.keys(l);for(let m=0;m{var v;if((v=t.__r3f)!=null&&v.primitive&&E==="object"||g2.equ(m,l[E]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(E))return L.push([E,m,!0,[]]);let M=[];E.includes("-")&&(M=E.split("-")),L.push([E,m,!1,M]);for(const k in r){const I=r[k];k.startsWith(`${E}-`)&&L.push([k,I,!1,k.split("-")])}});const x={...r};return A.memoizedProps&&A.memoizedProps.args&&(x.args=A.memoizedProps.args),A.memoizedProps&&A.memoizedProps.attach&&(x.attach=A.memoizedProps.attach),{memoized:x,changes:L}}const DT=typeof process<"u"&&!1;function fa(t,e){var n,C,r;const i=(n=t.__r3f)!=null?n:{},o=i.root,s=(C=o==null||o.getState==null?void 0:o.getState())!=null?C:{},{memoized:l,changes:d}=QT(e)?e:vk(t,e),g=i.eventCount;t.__r3f&&(t.__r3f.memoizedProps=l);for(let p=0;pk[I],t),!(M&&M.set))){const[k,...I]=m.reverse();v=I.reverse().reduce((b,R)=>b[R],t),L=k}if(x===Ak+"remove")if(v.constructor){let k=zp.get(v.constructor);k||(k=new v.constructor,zp.set(v.constructor,k)),x=k[L]}else x=0;if(E)x?i.handlers[L]=x:delete i.handlers[L],i.eventCount=Object.keys(i.handlers).length;else if(M&&M.set&&(M.copy||M instanceof c3)){if(Array.isArray(x))M.fromArray?M.fromArray(x):M.set(...x);else if(M.copy&&x&&x.constructor&&(DT?M.constructor.name===x.constructor.name:M.constructor===x.constructor))M.copy(x);else if(x!==void 0){const k=M instanceof Z1;!k&&M.setScalar?M.setScalar(x):M instanceof c3&&x instanceof c3?M.mask=x.mask:M.set(x),!dk()&&!s.linear&&k&&M.convertSRGBToLinear()}}else if(v[L]=x,v[L]instanceof w2&&v[L].format===b9&&v[L].type===x4){const k=v[L];da(k)&&da(s.gl)?k.colorSpace=s.gl.outputColorSpace:k.encoding=s.gl.outputEncoding}M7(t)}if(i.parent&&s.internal&&t.raycast&&g!==i.eventCount){const p=s.internal.interaction.indexOf(t);p>-1&&s.internal.interaction.splice(p,1),i.eventCount&&s.internal.interaction.push(t)}return!(d.length===1&&d[0][0]==="onUpdate")&&d.length&&(r=t.__r3f)!=null&&r.parent&&wu(t),t}function M7(t){var e,n;const C=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();C&&C.internal.frames===0&&C.invalidate()}function wu(t){t.onUpdate==null||t.onUpdate(t)}function Lk(t,e){t.manual||(hk(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function Tr(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function TT(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return F7.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return F7.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return F7.ContinuousEventPriority;default:return F7.DefaultEventPriority}}function wk(t,e,n,C){const r=n.get(e);r&&(n.delete(e),n.size===0&&(t.delete(C),r.target.releasePointerCapture(C)))}function HT(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(C=>C!==e),n.initialHits=n.initialHits.filter(C=>C!==e),n.hovered.forEach((C,r)=>{(C.eventObject===e||C.object===e)&&n.hovered.delete(r)}),n.capturedMap.forEach((C,r)=>{wk(n.capturedMap,e,C,r)})}function PT(t){function e(l){const{internal:d}=t.getState(),g=l.offsetX-d.initialClick[0],A=l.offsetY-d.initialClick[1];return Math.round(Math.sqrt(g*g+A*A))}function n(l){return l.filter(d=>["Move","Over","Enter","Out","Leave"].some(g=>{var A;return(A=d.__r3f)==null?void 0:A.handlers["onPointer"+g]}))}function C(l,d){const g=t.getState(),A=new Set,p=[],L=d?d(g.internal.interaction):g.internal.interaction;for(let v=0;v{const k=ot(v.object),I=ot(M.object);return!k||!I?v.distance-M.distance:I.events.priority-k.events.priority||v.distance-M.distance}).filter(v=>{const M=Tr(v);return A.has(M)?!1:(A.add(M),!0)});g.events.filter&&(E=g.events.filter(E,g));for(const v of E){let M=v.object;for(;M;){var m;(m=M.__r3f)!=null&&m.eventCount&&p.push({...v,eventObject:M}),M=M.parent}}if("pointerId"in l&&g.internal.capturedMap.has(l.pointerId))for(let v of g.internal.capturedMap.get(l.pointerId).values())A.has(Tr(v.intersection))||p.push(v.intersection);return p}function r(l,d,g,A){const p=t.getState();if(l.length){const L={stopped:!1};for(const x of l){const E=ot(x.object)||p,{raycaster:m,pointer:v,camera:M,internal:k}=E,I=new G(v.x,v.y,0).unproject(M),b=_=>{var P,Z;return(P=(Z=k.capturedMap.get(_))==null?void 0:Z.has(x.eventObject))!=null?P:!1},R=_=>{const P={intersection:x,target:d.target};k.capturedMap.has(_)?k.capturedMap.get(_).set(x.eventObject,P):k.capturedMap.set(_,new Map([[x.eventObject,P]])),d.target.setPointerCapture(_)},D=_=>{const P=k.capturedMap.get(_);P&&wk(k.capturedMap,x.eventObject,P,_)};let U={};for(let _ in d){let P=d[_];typeof P!="function"&&(U[_]=P)}let X={...x,...U,pointer:v,intersections:l,stopped:L.stopped,delta:g,unprojectedPoint:I,ray:m.ray,camera:M,stopPropagation(){const _="pointerId"in d&&k.capturedMap.get(d.pointerId);if((!_||_.has(x.eventObject))&&(X.stopped=L.stopped=!0,k.hovered.size&&Array.from(k.hovered.values()).find(P=>P.eventObject===x.eventObject))){const P=l.slice(0,l.indexOf(x));i([...P,x])}},target:{hasPointerCapture:b,setPointerCapture:R,releasePointerCapture:D},currentTarget:{hasPointerCapture:b,setPointerCapture:R,releasePointerCapture:D},nativeEvent:d};if(A(X),L.stopped===!0)break}}return l}function i(l){const{internal:d}=t.getState();for(const g of d.hovered.values())if(!l.length||!l.find(A=>A.object===g.object&&A.index===g.index&&A.instanceId===g.instanceId)){const p=g.eventObject.__r3f,L=p?.handlers;if(d.hovered.delete(Tr(g)),p!=null&&p.eventCount){const x={...g,intersections:l};L.onPointerOut==null||L.onPointerOut(x),L.onPointerLeave==null||L.onPointerLeave(x)}}}function o(l,d){for(let g=0;gi([]);case"onLostPointerCapture":return d=>{const{internal:g}=t.getState();"pointerId"in d&&g.capturedMap.has(d.pointerId)&&requestAnimationFrame(()=>{g.capturedMap.has(d.pointerId)&&(g.capturedMap.delete(d.pointerId),i([]))})}}return function(g){const{onPointerMissed:A,internal:p}=t.getState();p.lastEvent.current=g;const L=l==="onPointerMove",x=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",m=C(g,L?n:void 0),v=x?e(g):0;l==="onPointerDown"&&(p.initialClick=[g.offsetX,g.offsetY],p.initialHits=m.map(k=>k.eventObject)),x&&!m.length&&v<=2&&(o(g,p.interaction),A&&A(g)),L&&i(m);function M(k){const I=k.eventObject,b=I.__r3f,R=b?.handlers;if(b!=null&&b.eventCount)if(L){if(R.onPointerOver||R.onPointerEnter||R.onPointerOut||R.onPointerLeave){const D=Tr(k),U=p.hovered.get(D);U?U.stopped&&k.stopPropagation():(p.hovered.set(D,k),R.onPointerOver==null||R.onPointerOver(k),R.onPointerEnter==null||R.onPointerEnter(k))}R.onPointerMove==null||R.onPointerMove(k)}else{const D=R[l];D?(!x||p.initialHits.includes(I))&&(o(g,p.interaction.filter(U=>!p.initialHits.includes(U))),D(k)):x&&p.initialHits.includes(I)&&o(g,p.interaction.filter(U=>!p.initialHits.includes(U)))}}r(m,g,v,M)}}return{handlePointer:s}}const NT=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],xk=t=>!!(t!=null&&t.render),dh=u.createContext(null),jT=(t,e)=>{const n=ok((s,l)=>{const d=new G,g=new G,A=new G;function p(v=l().camera,M=g,k=l().size){const{width:I,height:b,top:R,left:D}=k,U=I/b;M instanceof G?A.copy(M):A.set(...M);const X=v.getWorldPosition(d).distanceTo(A);if(hk(v))return{width:I/v.zoom,height:b/v.zoom,top:R,left:D,factor:1,distance:X,aspect:U};{const _=v.fov*Math.PI/180,P=2*Math.tan(_/2)*X,Z=P*(I/b);return{width:Z,height:P,top:R,left:D,factor:I/Z,distance:X,aspect:U}}}let L;const x=v=>s(M=>({performance:{...M.performance,current:v}})),E=new M1;return{set:s,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(v=1)=>t(l(),v),advance:(v,M)=>e(v,M,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new oh,pointer:E,mouse:E,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const v=l();L&&clearTimeout(L),v.performance.current!==v.performance.min&&x(v.performance.min),L=setTimeout(()=>x(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=>s(M=>({...M,events:{...M.events,...v}})),setSize:(v,M,k,I,b)=>{const R=l().camera,D={width:v,height:M,top:I||0,left:b||0,updateStyle:k};s(U=>({size:D,viewport:{...U.viewport,...p(R,g,D)}}))},setDpr:v=>s(M=>{const k=pk(v);return{viewport:{...M.viewport,dpr:k,initialDpr:M.viewport.initialDpr||k}}}),setFrameloop:(v="always")=>{const M=l().clock;M.stop(),M.elapsedTime=0,v!=="never"&&(M.start(),M.elapsedTime=0),s(()=>({frameloop:v}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:u.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(v,M,k)=>{const I=l().internal;return I.priority=I.priority+(M>0?1:0),I.subscribers.push({ref:v,priority:M,store:k}),I.subscribers=I.subscribers.sort((b,R)=>b.priority-R.priority),()=>{const b=l().internal;b!=null&&b.subscribers&&(b.priority=b.priority-(M>0?1:0),b.subscribers=b.subscribers.filter(R=>R.ref!==v))}}}}}),C=n.getState();let r=C.size,i=C.viewport.dpr,o=C.camera;return n.subscribe(()=>{const{camera:s,size:l,viewport:d,gl:g,set:A}=n.getState();if(l.width!==r.width||l.height!==r.height||d.dpr!==i){var p;r=l,i=d.dpr,Lk(s,l),g.setPixelRatio(d.dpr);const L=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&g.domElement instanceof HTMLCanvasElement;g.setSize(l.width,l.height,L)}s!==o&&(o=s,A(L=>({viewport:{...L.viewport,...L.viewport.getCurrentViewport(s)}})))}),n.subscribe(s=>t(s)),n};let Hr,UT=new Set,FT=new Set,WT=new Set;function ga(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function st(t,e){switch(t){case"before":return ga(UT,e);case"after":return ga(FT,e);case"tail":return ga(WT,e)}}let Aa,pa;function va(t,e,n){let C=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(C=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),Aa=e.internal.subscribers,Hr=0;Hr0)&&!((d=r.gl.xr)!=null&&d.isPresenting)&&(n+=va(l,r))}if(st("after",l),n===0)return st("tail",l),e=!1,cancelAnimationFrame(C)}function o(l,d=1){var g;if(!l)return t.forEach(A=>o(A.store.getState()),d);(g=l.gl.xr)!=null&&g.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+d),e||(e=!0,requestAnimationFrame(i)))}function s(l,d=!0,g,A){if(d&&st("before",l),g)va(l,g,A);else for(const p of t.values())va(l,p.store.getState());d&&st("after",l)}return{loop:i,invalidate:o,advance:s}}function Ae(){const t=u.useContext(dh);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function mk(t=n=>n,e){return Ae()(t,e)}function kk(t,e=0){const n=Ae(),C=n.getState().internal.subscribe,r=fk(t);return Rn(()=>C(r,e,n),[e,C,n]),null}const Yp=new WeakMap;function Mk(t,e){return function(n,...C){let r=Yp.get(n);return r||(r=new n,Yp.set(n,r)),t&&t(r),Promise.all(C.map(i=>new Promise((o,s)=>r.load(i,l=>{l.scene&&Object.assign(l,RT(l.scene)),o(l)},e,l=>s(new Error(`Could not load ${i}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function hh(t,e,n,C){const r=Array.isArray(e)?e:[e],i=MT(Mk(n,C),[t,...r],{equal:g2.equ});return Array.isArray(e)?i:i[0]}hh.preload=function(t,e,n){const C=Array.isArray(e)?e:[e];return ET(Mk(n),[t,...C])};hh.clear=function(t,e){const n=Array.isArray(e)?e:[e];return yT([t,...n])};const re=new Map,{invalidate:Jp,advance:Xp}=OT(re),{reconciler:gn,applyProps:A7}=IT(re,TT),p7={objects:"shallow",strict:!1},GT=(t,e)=>{const n=typeof t=="function"?t(e):t;return xk(n)?n:new Od({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function zT(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:C,height:r,top:i,left:o,updateStyle:s=n}=e;return{width:C,height:r,top:i,left:o,updateStyle:s}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:C,height:r,top:i,left:o}=t.parentElement.getBoundingClientRect();return{width:C,height:r,top:i,left:o,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function VT(t){const e=re.get(t),n=e?.fiber,C=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,i=C||jT(Jp,Xp),o=n||gn.createContainer(i,F7.ConcurrentRoot,null,!1,null,"",r,null);e||re.set(t,{fiber:o,store:i});let s,l=!1,d;return{configure(g={}){let{gl:A,size:p,scene:L,events:x,onCreated:E,shadows:m=!1,linear:v=!1,flat:M=!1,legacy:k=!1,orthographic:I=!1,frameloop:b="always",dpr:R=[1,2],performance:D,raycaster:U,camera:X,onPointerMissed:_}=g,P=i.getState(),Z=P.gl;P.gl||P.set({gl:Z=GT(A,t)});let f1=P.raycaster;f1||P.set({raycaster:f1=new ch});const{params:J,...l1}=U||{};if(g2.equ(l1,f1,p7)||A7(f1,{...l1}),g2.equ(J,f1.params,p7)||A7(f1,{params:{...f1.params,...J}}),!P.camera||P.camera===d&&!g2.equ(d,X,p7)){d=X;const I1=X instanceof En,j1=I1?X:I?new ue(0,0,0,0,.1,1e3):new G2(75,0,.1,1e3);I1||(j1.position.z=5,X&&A7(j1,X),!P.camera&&!(X!=null&&X.rotation)&&j1.lookAt(0,0,0)),P.set({camera:j1}),f1.camera=j1}if(!P.scene){let I1;L instanceof sn?I1=L:(I1=new sn,L&&A7(I1,L)),P.set({scene:k7(I1)})}if(!P.xr){var i1;const I1=(z,W)=>{const N=i.getState();N.frameloop!=="never"&&Xp(z,!0,N,W)},j1=()=>{const z=i.getState();z.gl.xr.enabled=z.gl.xr.isPresenting,z.gl.xr.setAnimationLoop(z.gl.xr.isPresenting?I1:null),z.gl.xr.isPresenting||Jp(z)},$={connect(){const z=i.getState().gl;z.xr.addEventListener("sessionstart",j1),z.xr.addEventListener("sessionend",j1)},disconnect(){const z=i.getState().gl;z.xr.removeEventListener("sessionstart",j1),z.xr.removeEventListener("sessionend",j1)}};typeof((i1=Z.xr)==null?void 0:i1.addEventListener)=="function"&&$.connect(),P.set({xr:$})}if(Z.shadowMap){const I1=Z.shadowMap.enabled,j1=Z.shadowMap.type;if(Z.shadowMap.enabled=!!m,g2.boo(m))Z.shadowMap.type=kt;else if(g2.str(m)){var g1;const $={basic:Jw,percentage:fo,soft:kt,variance:W8};Z.shadowMap.type=(g1=$[m])!=null?g1:kt}else g2.obj(m)&&Object.assign(Z.shadowMap,m);(I1!==Z.shadowMap.enabled||j1!==Z.shadowMap.type)&&(Z.shadowMap.needsUpdate=!0)}const F=dk();F&&("enabled"in F?F.enabled=!k:"legacyMode"in F&&(F.legacyMode=k)),A7(Z,{outputEncoding:v?3e3:3001,toneMapping:M?w4:Md}),P.legacy!==k&&P.set(()=>({legacy:k})),P.linear!==v&&P.set(()=>({linear:v})),P.flat!==M&&P.set(()=>({flat:M})),A&&!g2.fun(A)&&!xk(A)&&!g2.equ(A,Z,p7)&&A7(Z,A),x&&!P.events.handlers&&P.set({events:x(i)});const d1=zT(t,p);return g2.equ(d1,P.size,p7)||P.setSize(d1.width,d1.height,d1.updateStyle,d1.top,d1.left),R&&P.viewport.dpr!==pk(R)&&P.setDpr(R),P.frameloop!==b&&P.setFrameloop(b),P.onPointerMissed||P.set({onPointerMissed:_}),D&&!g2.equ(D,P.performance,p7)&&P.set(I1=>({performance:{...I1.performance,...D}})),s=E,l=!0,this},render(g){return l||this.configure(),gn.updateContainer(u.createElement($T,{store:i,children:g,onCreated:s,rootElement:t}),o,null,()=>{}),i},unmount(){Ek(t)}}}function $T({store:t,children:e,onCreated:n,rootElement:C}){return Rn(()=>{const r=t.getState();r.set(i=>({internal:{...i.internal,active:!0}})),n&&n(r),t.getState().events.connected||r.events.connect==null||r.events.connect(C)},[]),u.createElement(dh.Provider,{value:t},e)}function Ek(t,e){const n=re.get(t),C=n?.fiber;if(C){const r=n?.store.getState();r&&(r.internal.active=!1),gn.updateContainer(null,C,null,()=>{r&&setTimeout(()=>{try{var i,o,s,l;r.events.disconnect==null||r.events.disconnect(),(i=r.gl)==null||(o=i.renderLists)==null||o.dispose==null||o.dispose(),(s=r.gl)==null||s.forceContextLoss==null||s.forceContextLoss(),(l=r.gl)!=null&&l.xr&&r.xr.disconnect(),bT(r),re.delete(t),e&&e(t)}catch{}},500)})}}function yk(t,e,n){return u.createElement(YT,{key:e.uuid,children:t,container:e,state:n})}function YT({state:t={},children:e,container:n}){const{events:C,size:r,...i}=t,o=Ae(),[s]=u.useState(()=>new ch),[l]=u.useState(()=>new M1),d=u.useCallback((A,p)=>{const L={...A};Object.keys(A).forEach(E=>{(NT.includes(E)||A[E]!==p[E]&&p[E])&&delete L[E]});let x;if(p&&r){const E=p.camera;x=A.viewport.getCurrentViewport(E,new G,r),E!==A.camera&&Lk(E,r)}return{...L,scene:n,raycaster:s,pointer:l,mouse:l,previousRoot:o,events:{...A.events,...p?.events,...C},size:{...A.size,...r},viewport:{...A.viewport,...x},...i}},[t]),[g]=u.useState(()=>{const A=o.getState();return ok((L,x)=>({...A,scene:n,raycaster:s,pointer:l,mouse:l,previousRoot:o,events:{...A.events,...C},size:{...A.size,...r},...i,set:L,get:x,setEvents:E=>L(m=>({...m,events:{...m.events,...E}}))}))});return u.useEffect(()=>{const A=o.subscribe(p=>g.setState(L=>d(p,L)));return()=>{A(),g.destroy()}},[]),u.useEffect(()=>{g.setState(A=>d(o.getState(),A))},[d]),u.createElement(u.Fragment,null,gn.createPortal(u.createElement(dh.Provider,{value:g},e),g,null))}gn.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:u.version});function $i(){return $i=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0?C=setTimeout(l,e-g):(C=null,n||(s=t.apply(i,r),i=r=null))}var d=function(){i=this,r=arguments,o=Date.now();var g=n&&!C;return C||(C=setTimeout(l,e)),g&&(s=t.apply(i,r),i=r=null),s};return d.clear=function(){C&&(clearTimeout(C),C=null)},d.flush=function(){C&&(s=t.apply(i,r),i=r=null,clearTimeout(C),C=null)},d}xu.debounce=xu;var JT=xu;const Kp=Rv(JT);function XT(t){let{debounce:e,scroll:n,polyfill:C,offsetSize:r}=t===void 0?{debounce:0,scroll:!1,offsetSize:!1}:t;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[o,s]=u.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=u.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),d=e?typeof e=="number"?e:e.scroll:null,g=e?typeof e=="number"?e:e.resize:null,A=u.useRef(!1);u.useEffect(()=>(A.current=!0,()=>void(A.current=!1)));const[p,L,x]=u.useMemo(()=>{const M=()=>{if(!l.current.element)return;const{left:k,top:I,width:b,height:R,bottom:D,right:U,x:X,y:_}=l.current.element.getBoundingClientRect(),P={left:k,top:I,width:b,height:R,bottom:D,right:U,x:X,y:_};l.current.element instanceof HTMLElement&&r&&(P.height=l.current.element.offsetHeight,P.width=l.current.element.offsetWidth),Object.freeze(P),A.current&&!eH(l.current.lastBounds,P)&&s(l.current.lastBounds=P)};return[M,g?Kp(M,g):M,d?Kp(M,d):M]},[s,r,d,g]);function E(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(M=>M.removeEventListener("scroll",x,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function m(){l.current.element&&(l.current.resizeObserver=new i(x),l.current.resizeObserver.observe(l.current.element),n&&l.current.scrollContainers&&l.current.scrollContainers.forEach(M=>M.addEventListener("scroll",x,{capture:!0,passive:!0})))}const v=M=>{!M||M===l.current.element||(E(),l.current.element=M,l.current.scrollContainers=Bk(M),m())};return qT(x,!!n),KT(L),u.useEffect(()=>{E(),m()},[n,x,L]),u.useEffect(()=>E,[]),[v,o,p]}function KT(t){u.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function qT(t,e){u.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function Bk(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:C,overflowY:r}=window.getComputedStyle(t);return[n,C,r].some(i=>i==="auto"||i==="scroll")&&e.push(t),[...e,...Bk(t.parentElement)]}const ZT=["x","y","top","bottom","left","right","width","height"],eH=(t,e)=>ZT.every(n=>t[n]===e[n]);var tH=Object.defineProperty,nH=Object.defineProperties,CH=Object.getOwnPropertyDescriptors,qp=Object.getOwnPropertySymbols,rH=Object.prototype.hasOwnProperty,iH=Object.prototype.propertyIsEnumerable,Zp=(t,e,n)=>e in t?tH(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ev=(t,e)=>{for(var n in e||(e={}))rH.call(e,n)&&Zp(t,n,e[n]);if(qp)for(var n of qp(e))iH.call(e,n)&&Zp(t,n,e[n]);return t},oH=(t,e)=>nH(t,CH(e));function Ik(t,e,n){if(!t)return;if(n(t)===!0)return t;let C=e?t.return:t.child;for(;C;){const r=Ik(C,e,n);if(r)return r;C=e?null:C.sibling}}function Sk(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const fh=Sk(u.createContext(null));class _k extends u.Component{render(){return u.createElement(fh.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:tv,ReactCurrentDispatcher:nv}=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function sH(){const t=u.useContext(fh);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=u.useId();return u.useMemo(()=>{for(const C of[tv?.current,t,t?.alternate]){if(!C)continue;const r=Ik(C,!1,i=>{let o=i.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(r)return r}},[t,e])}function lH(){var t,e;const n=sH(),[C]=u.useState(()=>new Map);C.clear();let r=n;for(;r;){const i=(t=r.type)==null?void 0:t._context;i&&i!==fh&&!C.has(i)&&C.set(i,(e=nv?.current)==null?void 0:e.readContext(Sk(i))),r=r.return}return C}function aH(){const t=lH();return u.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>C=>u.createElement(e,null,u.createElement(n.Provider,oH(ev({},C),{value:t.get(n)}))),e=>u.createElement(_k,ev({},e))),[t])}const La={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 cH(t){const{handlePointer:e}=PT(t);return{priority:1,enabled:!0,compute(n,C,r){C.pointer.set(n.offsetX/C.size.width*2-1,-(n.offsetY/C.size.height)*2+1),C.raycaster.setFromCamera(C.pointer,C.camera)},connected:void 0,handlers:Object.keys(La).reduce((n,C)=>({...n,[C]:e(C)}),{}),update:()=>{var n;const{events:C,internal:r}=t.getState();(n=r.lastEvent)!=null&&n.current&&C.handlers&&C.handlers.onPointerMove(r.lastEvent.current)},connect:n=>{var C;const{set:r,events:i}=t.getState();i.disconnect==null||i.disconnect(),r(o=>({events:{...o.events,connected:n}})),Object.entries((C=i.handlers)!=null?C:[]).forEach(([o,s])=>{const[l,d]=La[o];n.addEventListener(l,s,{passive:d})})},disconnect:()=>{const{set:n,events:C}=t.getState();if(C.connected){var r;Object.entries((r=C.handlers)!=null?r:[]).forEach(([i,o])=>{if(C&&C.connected instanceof HTMLElement){const[s]=La[i];C.connected.removeEventListener(s,o)}}),n(i=>({events:{...i.events,connected:void 0}}))}}}}const uH=u.forwardRef(function({children:e,fallback:n,resize:C,style:r,gl:i,events:o=cH,eventSource:s,eventPrefix:l,shadows:d,linear:g,flat:A,legacy:p,orthographic:L,frameloop:x,dpr:E,performance:m,raycaster:v,camera:M,scene:k,onPointerMissed:I,onCreated:b,...R},D){u.useMemo(()=>BT(pT),[]);const U=aH(),[X,_]=XT({scroll:!0,debounce:{scroll:50,resize:0},...C}),P=u.useRef(null),Z=u.useRef(null);u.useImperativeHandle(D,()=>P.current);const f1=fk(I),[J,l1]=u.useState(!1),[i1,g1]=u.useState(!1);if(J)throw J;if(i1)throw i1;const F=u.useRef(null);Rn(()=>{const C1=P.current;_.width>0&&_.height>0&&C1&&(F.current||(F.current=VT(C1)),F.current.configure({gl:i,events:o,shadows:d,linear:g,flat:A,legacy:p,orthographic:L,frameloop:x,dpr:E,performance:m,raycaster:v,camera:M,scene:k,size:_,onPointerMissed:(...d1)=>f1.current==null?void 0:f1.current(...d1),onCreated:d1=>{d1.events.connect==null||d1.events.connect(s?ST(s)?s.current:s:Z.current),l&&d1.setEvents({compute:(I1,j1)=>{const $=I1[l+"X"],z=I1[l+"Y"];j1.pointer.set($/j1.size.width*2-1,-(z/j1.size.height)*2+1),j1.raycaster.setFromCamera(j1.pointer,j1.camera)}}),b?.(d1)}}),F.current.render(u.createElement(U,null,u.createElement(gk,{set:g1},u.createElement(u.Suspense,{fallback:u.createElement(_T,{set:l1})},e)))))}),u.useEffect(()=>{const C1=P.current;if(C1)return()=>Ek(C1)},[]);const e1=s?"none":"auto";return u.createElement("div",$i({ref:Z,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:e1,...r}},R),u.createElement("div",{ref:X,style:{width:"100%",height:"100%"}},u.createElement("canvas",{ref:P,style:{display:"block"}},n)))}),dH=u.forwardRef(function(e,n){return u.createElement(_k,null,u.createElement(uH,$i({},e,{ref:n})))}),hH=u.createContext(null);function Qk(){return u.useContext(hH)}const Rk=u.createContext(void 0);function A5(){const t=u.useContext(Rk);if(t==null)throw new Error("Cannot be used outside of a uikit component.");return t}const pe=Rk.Provider;function Oo(){throw new Error("Cycle detected")}var fH=Symbol.for("preact-signals");function Go(){if(r5>1)r5--;else{for(var t,e=!1;It!==void 0;){var n=It;for(It=void 0,mu++;n!==void 0;){var C=n.o;if(n.o=void 0,n.f&=-3,!(8&n.f)&&Tk(n))try{n.c()}catch(r){e||(t=r,e=!0)}n=C}}if(mu=0,r5--,e)throw t}}function bk(t){if(r5>0)return t();r5++;try{return t()}finally{Go()}}var f2=void 0,wa=0;function gH(t){if(wa>0)return t();var e=f2;f2=void 0,wa++;try{return t()}finally{wa--,f2=e}}var It=void 0,r5=0,mu=0,Yi=0;function Dk(t){if(f2!==void 0){var e=t.n;if(e===void 0||e.t!==f2)return e={i:0,S:t,p:f2.s,n:void 0,t:f2,e:void 0,x:void 0,r:e},f2.s!==void 0&&(f2.s.n=e),f2.s=e,t.n=e,32&f2.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=f2.s,e.n=void 0,f2.s.n=e,f2.s=e),e}}function J2(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0}J2.prototype.brand=fH;J2.prototype.h=function(){return!0};J2.prototype.S=function(t){this.t!==t&&t.e===void 0&&(t.x=this.t,this.t!==void 0&&(this.t.e=t),this.t=t)};J2.prototype.U=function(t){if(this.t!==void 0){var e=t.e,n=t.x;e!==void 0&&(e.x=n,t.e=void 0),n!==void 0&&(n.e=e,t.x=void 0),t===this.t&&(this.t=n)}};J2.prototype.subscribe=function(t){var e=this;return t0(function(){var n=e.value,C=32&this.f;this.f&=-33;try{t(n)}finally{this.f|=C}})};J2.prototype.valueOf=function(){return this.value};J2.prototype.toString=function(){return this.value+""};J2.prototype.toJSON=function(){return this.value};J2.prototype.peek=function(){return this.v};Object.defineProperty(J2.prototype,"value",{get:function(){var t=Dk(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(f2 instanceof p5&&function(){throw new Error("Computed cannot have side-effects")}(),t!==this.v){mu>100&&Oo(),this.v=t,this.i++,Yi++,r5++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Go()}}}});function C0(t){return new J2(t)}function Tk(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Hk(t){for(var e=t.s;e!==void 0;e=e.n){var n=e.S.n;if(n!==void 0&&(e.r=n),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function Pk(t){for(var e=t.s,n=void 0;e!==void 0;){var C=e.p;e.i===-1?(e.S.U(e),C!==void 0&&(C.n=e.n),e.n!==void 0&&(e.n.p=C)):n=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=C}t.s=n}function p5(t){J2.call(this,void 0),this.x=t,this.s=void 0,this.g=Yi-1,this.f=4}(p5.prototype=new J2).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Yi))return!0;if(this.g=Yi,this.f|=1,this.i>0&&!Tk(this))return this.f&=-2,!0;var t=f2;try{Hk(this),f2=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(n){this.v=n,this.f|=16,this.i++}return f2=t,Pk(this),this.f&=-2,!0};p5.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}J2.prototype.S.call(this,t)};p5.prototype.U=function(t){if(this.t!==void 0&&(J2.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};p5.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}};p5.prototype.peek=function(){if(this.h()||Oo(),16&this.f)throw this.v;return this.v};Object.defineProperty(p5.prototype,"value",{get:function(){1&this.f&&Oo();var t=Dk(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function W0(t){return new p5(t)}function Nk(t){var e=t.u;if(t.u=void 0,typeof e=="function"){r5++;var n=f2;f2=void 0;try{e()}catch(C){throw t.f&=-2,t.f|=8,gh(t),C}finally{f2=n,Go()}}}function gh(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,Nk(t)}function AH(t){if(f2!==this)throw new Error("Out-of-order effect");Pk(this),f2=t,this.f&=-2,8&this.f&&gh(this),Go()}function bn(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}bn.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{t()}};bn.prototype.S=function(){1&this.f&&Oo(),this.f|=1,this.f&=-9,Nk(this),Hk(this),r5++;var t=f2;return f2=this,AH.bind(this,t)};bn.prototype.N=function(){2&this.f||(this.f|=2,this.o=It,It=this)};bn.prototype.d=function(){this.f|=8,1&this.f||gh(this)};function t0(t){var e=new bn(t);try{e.c()}catch(n){throw e.d(),n}return e.d.bind(e)}var pH=(()=>{var t=import.meta.url;return function(e){e=e||{};var n;n||(n=typeof e<"u"?e:{});var C,r;n.ready=new Promise(function(H,j){C=H,r=j});var i=Object.assign({},n),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),t&&(o=t),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var s=n.print||console.log.bind(console),l=n.printErr||console.warn.bind(console);Object.assign(n,i),i=null;var d;n.wasmBinary&&(d=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!="object"&&J("no native wasm support detected");var g,A=!1;function p(H,j,t1){t1=j+t1;for(var o1="";!(j>=t1);){var h1=H[j++];if(!h1)break;if(h1&128){var E1=H[j++]&63;if((h1&224)==192)o1+=String.fromCharCode((h1&31)<<6|E1);else{var H1=H[j++]&63;h1=(h1&240)==224?(h1&15)<<12|E1<<6|H1:(h1&7)<<18|E1<<12|H1<<6|H[j++]&63,65536>h1?o1+=String.fromCharCode(h1):(h1-=65536,o1+=String.fromCharCode(55296|h1>>10,56320|h1&1023))}}else o1+=String.fromCharCode(h1)}return o1}var L,x,E,m,v,M,k,I,b;function R(){var H=g.buffer;L=H,n.HEAP8=x=new Int8Array(H),n.HEAP16=m=new Int16Array(H),n.HEAP32=M=new Int32Array(H),n.HEAPU8=E=new Uint8Array(H),n.HEAPU16=v=new Uint16Array(H),n.HEAPU32=k=new Uint32Array(H),n.HEAPF32=I=new Float32Array(H),n.HEAPF64=b=new Float64Array(H)}var D,U=[],X=[],_=[];function P(){var H=n.preRun.shift();U.unshift(H)}var Z=0,f1=null;function J(H){throw n.onAbort&&n.onAbort(H),H="Aborted("+H+")",l(H),A=!0,H=new WebAssembly.RuntimeError(H+". Build with -sASSERTIONS for more info."),r(H),H}function l1(H){return H.startsWith("data:application/octet-stream;base64,")}var i1;if(i1="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!l1(i1)){var g1=i1;i1=n.locateFile?n.locateFile(g1,o):o+g1}function F(){var H=i1;try{if(H==i1&&d)return new Uint8Array(d);if(l1(H))try{var j=d2(H.slice(37)),t1=new Uint8Array(j.length);for(H=0;H=j?"_"+H:H}function I1(H,j){return H=d1(H),function(){return j.apply(this,arguments)}}var j1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],$=[];function z(H){var j=Error,t1=I1(H,function(o1){this.name=H,this.message=o1,o1=Error(o1).stack,o1!==void 0&&(this.stack=this.toString()+` +`+o1.replace(/^Error(:[^\n]*)?\n/,""))});return t1.prototype=Object.create(j.prototype),t1.prototype.constructor=t1,t1.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},t1}var W=void 0;function N(H){throw new W(H)}var L1=H=>(H||N("Cannot use deleted val. handle = "+H),j1[H].value),k1=H=>{switch(H){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var j=$.length?$.pop():j1.length;return j1[j]={ga:1,value:H},j}},A1=void 0,y1=void 0;function O(H){for(var j="";E[H];)j+=y1[E[H++]];return j}var v1=[];function n1(){for(;v1.length;){var H=v1.pop();H.M.$=!1,H.delete()}}var u1=void 0,a1={};function R1(H,j){for(j===void 0&&N("ptr should not be undefined");H.R;)j=H.ba(j),H=H.R;return j}var q={};function S(H){H=s2(H);var j=O(H);return u0(H),j}function T(H,j){var t1=q[H];return t1===void 0&&N(j+" has unknown type "+S(H)),t1}function r1(){}var D1=!1;function b1(H){--H.count.value,H.count.value===0&&(H.T?H.U.W(H.T):H.P.N.W(H.O))}function Q1(H,j,t1){return j===t1?H:t1.R===void 0?null:(H=Q1(H,j,t1.R),H===null?null:t1.na(H))}var Y1={};function z1(H,j){return j=R1(H,j),a1[j]}var K1=void 0;function a0(H){throw new K1(H)}function v0(H,j){return j.P&&j.O||a0("makeClassHandle requires ptr and ptrType"),!!j.U!=!!j.T&&a0("Both smartPtrType and smartPtr must be specified"),j.count={value:1},T1(Object.create(H,{M:{value:j}}))}function T1(H){return typeof FinalizationRegistry>"u"?(T1=j=>j,H):(D1=new FinalizationRegistry(j=>{b1(j.M)}),T1=j=>{var t1=j.M;return t1.T&&D1.register(j,{M:t1},j),j},r1=j=>{D1.unregister(j)},T1(H))}var b0={};function y0(H){for(;H.length;){var j=H.pop();H.pop()(j)}}function p0(H){return this.fromWireType(M[H>>2])}var l0={},n0={};function m0(H,j,t1){function o1(P1){P1=t1(P1),P1.length!==H.length&&a0("Mismatched type converter count");for(var N1=0;N1{q.hasOwnProperty(P1)?h1[N1]=q[P1]:(E1.push(P1),l0.hasOwnProperty(P1)||(l0[P1]=[]),l0[P1].push(()=>{h1[N1]=q[P1],++H1,H1===E1.length&&o1(h1)}))}),E1.length===0&&o1(h1)}function U0(H){switch(H){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+H)}}function j0(H,j,t1={}){if(!("argPackAdvance"in j))throw new TypeError("registerType registeredInstance requires argPackAdvance");var o1=j.name;if(H||N('type "'+o1+'" must have a positive integer typeid pointer'),q.hasOwnProperty(H)){if(t1.ua)return;N("Cannot register type '"+o1+"' twice")}q[H]=j,delete n0[H],l0.hasOwnProperty(H)&&(j=l0[H],delete l0[H],j.forEach(h1=>h1()))}function _0(H){N(H.M.P.N.name+" instance already deleted")}function N0(){}function K(H,j,t1){if(H[j].S===void 0){var o1=H[j];H[j]=function(){return H[j].S.hasOwnProperty(arguments.length)||N("Function '"+t1+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+H[j].S+")!"),H[j].S[arguments.length].apply(this,arguments)},H[j].S=[],H[j].S[o1.Z]=o1}}function O1(H,j){n.hasOwnProperty(H)?(N("Cannot register public name '"+H+"' twice"),K(n,H,H),n.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),n[H].S[void 0]=j):n[H]=j}function G1(H,j,t1,o1,h1,E1,H1,P1){this.name=H,this.constructor=j,this.X=t1,this.W=o1,this.R=h1,this.pa=E1,this.ba=H1,this.na=P1,this.ja=[]}function i0(H,j,t1){for(;j!==t1;)j.ba||N("Expected null or instance of "+t1.name+", got an instance of "+j.name),H=j.ba(H),j=j.R;return H}function g0(H,j){return j===null?(this.ea&&N("null is not a valid "+this.name),0):(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),i0(j.M.O,j.M.P.N,this.N))}function z0(H,j){if(j===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var t1=this.fa();return H!==null&&H.push(this.W,t1),t1}return 0}if(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&j.M.P.ca&&N("Cannot convert argument of type "+(j.M.U?j.M.U.name:j.M.P.name)+" to parameter type "+this.name),t1=i0(j.M.O,j.M.P.N,this.N),this.da)switch(j.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:j.M.U===this?t1=j.M.T:N("Cannot convert argument of type "+(j.M.U?j.M.U.name:j.M.P.name)+" to parameter type "+this.name);break;case 1:t1=j.M.T;break;case 2:if(j.M.U===this)t1=j.M.T;else{var o1=j.clone();t1=this.xa(t1,k1(function(){o1.delete()})),H!==null&&H.push(this.W,t1)}break;default:N("Unsupporting sharing policy")}return t1}function q0(H,j){return j===null?(this.ea&&N("null is not a valid "+this.name),0):(j.M||N('Cannot pass "'+t4(j)+'" as a '+this.name),j.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),j.M.P.ca&&N("Cannot convert argument of type "+j.M.P.name+" to parameter type "+this.name),i0(j.M.O,j.M.P.N,this.N))}function Z0(H,j,t1,o1){this.name=H,this.N=j,this.ea=t1,this.ca=o1,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,j.R!==void 0?this.toWireType=z0:(this.toWireType=o1?g0:q0,this.V=null)}function o9(H,j){n.hasOwnProperty(H)||a0("Replacing nonexistant public symbol"),n[H]=j,n[H].Z=void 0}function e2(H,j){var t1=[];return function(){if(t1.length=0,Object.assign(t1,arguments),H.includes("j")){var o1=n["dynCall_"+H];o1=t1&&t1.length?o1.apply(null,[j].concat(t1)):o1.call(null,j)}else o1=D.get(j).apply(null,t1);return o1}}function C2(H,j){H=O(H);var t1=H.includes("j")?e2(H,j):D.get(j);return typeof t1!="function"&&N("unknown function pointer with signature "+H+": "+j),t1}var y9=void 0;function Z8(H,j){function t1(E1){h1[E1]||q[E1]||(n0[E1]?n0[E1].forEach(t1):(o1.push(E1),h1[E1]=!0))}var o1=[],h1={};throw j.forEach(t1),new y9(H+": "+o1.map(S).join([", "]))}function y4(H,j,t1,o1,h1){var E1=j.length;2>E1&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var H1=j[1]!==null&&t1!==null,P1=!1;for(t1=1;t1>2]);return t1}function f8(H){4>2])};case 3:return function(t1){return this.fromWireType(b[t1>>3])};default:throw new TypeError("Unknown float type: "+H)}}function D3(H,j,t1){switch(j){case 0:return t1?function(o1){return x[o1]}:function(o1){return E[o1]};case 1:return t1?function(o1){return m[o1>>1]}:function(o1){return v[o1>>1]};case 2:return t1?function(o1){return M[o1>>2]}:function(o1){return k[o1>>2]};default:throw new TypeError("Unknown integer type: "+H)}}function we(H,j){for(var t1="",o1=0;!(o1>=j/2);++o1){var h1=m[H+2*o1>>1];if(h1==0)break;t1+=String.fromCharCode(h1)}return t1}function xe(H,j,t1){if(t1===void 0&&(t1=2147483647),2>t1)return 0;t1-=2;var o1=j;t1=t1<2*H.length?t1/2:H.length;for(var h1=0;h1>1]=H.charCodeAt(h1),j+=2;return m[j>>1]=0,j-o1}function me(H){return 2*H.length}function V(H,j){for(var t1=0,o1="";!(t1>=j/4);){var h1=M[H+4*t1>>2];if(h1==0)break;++t1,65536<=h1?(h1-=65536,o1+=String.fromCharCode(55296|h1>>10,56320|h1&1023)):o1+=String.fromCharCode(h1)}return o1}function p1(H,j,t1){if(t1===void 0&&(t1=2147483647),4>t1)return 0;var o1=j;t1=o1+t1-4;for(var h1=0;h1=E1){var H1=H.charCodeAt(++h1);E1=65536+((E1&1023)<<10)|H1&1023}if(M[j>>2]=E1,j+=4,j+4>t1)break}return M[j>>2]=0,j-o1}function m1(H){for(var j=0,t1=0;t1=o1&&++t1,j+=4}return j}var B1={};function x1(H){var j=B1[H];return j===void 0?O(H):j}var J1=[];function c0(H){var j=J1.length;return J1.push(H),j}function L0(H,j){for(var t1=Array(H),o1=0;o1>2],"parameter "+o1);return t1}var w0=[],E0=[null,[],[]];W=n.BindingError=z("BindingError"),n.count_emval_handles=function(){for(var H=0,j=5;jk0;++k0)M0[k0]=String.fromCharCode(k0);y1=M0,n.getInheritedInstanceCount=function(){return Object.keys(a1).length},n.getLiveInheritedInstances=function(){var H=[],j;for(j in a1)a1.hasOwnProperty(j)&&H.push(a1[j]);return H},n.flushPendingDeletes=n1,n.setDelayFunction=function(H){u1=H,v1.length&&u1&&u1(n1)},K1=n.InternalError=z("InternalError"),N0.prototype.isAliasOf=function(H){if(!(this instanceof N0&&H instanceof N0))return!1;var j=this.M.P.N,t1=this.M.O,o1=H.M.P.N;for(H=H.M.O;j.R;)t1=j.ba(t1),j=j.R;for(;o1.R;)H=o1.ba(H),o1=o1.R;return j===o1&&t1===H},N0.prototype.clone=function(){if(this.M.O||_0(this),this.M.aa)return this.M.count.value+=1,this;var H=T1,j=Object,t1=j.create,o1=Object.getPrototypeOf(this),h1=this.M;return H=H(t1.call(j,o1,{M:{value:{count:h1.count,$:h1.$,aa:h1.aa,O:h1.O,P:h1.P,T:h1.T,U:h1.U}}})),H.M.count.value+=1,H.M.$=!1,H},N0.prototype.delete=function(){this.M.O||_0(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),r1(this),b1(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},N0.prototype.isDeleted=function(){return!this.M.O},N0.prototype.deleteLater=function(){return this.M.O||_0(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),v1.push(this),v1.length===1&&u1&&u1(n1),this.M.$=!0,this},Z0.prototype.qa=function(H){return this.ka&&(H=this.ka(H)),H},Z0.prototype.ha=function(H){this.W&&this.W(H)},Z0.prototype.argPackAdvance=8,Z0.prototype.readValueFromPointer=p0,Z0.prototype.deleteObject=function(H){H!==null&&H.delete()},Z0.prototype.fromWireType=function(H){function j(){return this.da?v0(this.N.X,{P:this.wa,O:t1,U:this,T:H}):v0(this.N.X,{P:this,O:H})}var t1=this.qa(H);if(!t1)return this.ha(H),null;var o1=z1(this.N,t1);if(o1!==void 0)return o1.M.count.value===0?(o1.M.O=t1,o1.M.T=H,o1.clone()):(o1=o1.clone(),this.ha(H),o1);if(o1=this.N.pa(t1),o1=Y1[o1],!o1)return j.call(this);o1=this.ca?o1.la:o1.pointerType;var h1=Q1(t1,this.N,o1.N);return h1===null?j.call(this):this.da?v0(o1.N.X,{P:o1,O:h1,U:this,T:H}):v0(o1.N.X,{P:o1,O:h1})},y9=n.UnboundTypeError=z("UnboundTypeError");var d2=typeof atob=="function"?atob:function(H){var j="",t1=0;H=H.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var o1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),h1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),E1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++)),H1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(H.charAt(t1++));o1=o1<<2|h1>>4,h1=(h1&15)<<4|E1>>2;var P1=(E1&3)<<6|H1;j+=String.fromCharCode(o1),E1!==64&&(j+=String.fromCharCode(h1)),H1!==64&&(j+=String.fromCharCode(P1))}while(t1H1.ta).concat(h1.map(H1=>H1.za));m0([H],E1,H1=>{var P1={};return h1.forEach((N1,U1)=>{var V1=H1[U1],A0=N1.ra,O0=N1.sa,B2=H1[U1+h1.length],G0=N1.ya,q2=N1.Aa;P1[N1.oa]={read:s9=>V1.fromWireType(A0(O0,s9)),write:(s9,n4)=>{var D8=[];G0(q2,s9,B2.toWireType(D8,n4)),y0(D8)}}}),[{name:j.name,fromWireType:function(N1){var U1={},V1;for(V1 in P1)U1[V1]=P1[V1].read(N1);return o1(N1),U1},toWireType:function(N1,U1){for(var V1 in P1)if(!(V1 in U1))throw new TypeError('Missing field: "'+V1+'"');var A0=t1();for(V1 in P1)P1[V1].write(A0,U1[V1]);return N1!==null&&N1.push(o1,A0),A0},argPackAdvance:8,readValueFromPointer:p0,V:o1}]})},v:function(){},B:function(H,j,t1,o1,h1){var E1=U0(t1);j=O(j),j0(H,{name:j,fromWireType:function(H1){return!!H1},toWireType:function(H1,P1){return P1?o1:h1},argPackAdvance:8,readValueFromPointer:function(H1){if(t1===1)var P1=x;else if(t1===2)P1=m;else if(t1===4)P1=M;else throw new TypeError("Unknown boolean type size: "+j);return this.fromWireType(P1[H1>>E1])},V:null})},f:function(H,j,t1,o1,h1,E1,H1,P1,N1,U1,V1,A0,O0){V1=O(V1),E1=C2(h1,E1),P1&&(P1=C2(H1,P1)),U1&&(U1=C2(N1,U1)),O0=C2(A0,O0);var B2=d1(V1);O1(B2,function(){Z8("Cannot construct "+V1+" due to unbound types",[o1])}),m0([H,j,t1],o1?[o1]:[],function(G0){if(G0=G0[0],o1)var q2=G0.N,s9=q2.X;else s9=N0.prototype;G0=I1(B2,function(){if(Object.getPrototypeOf(this)!==n4)throw new W("Use 'new' to construct "+V1);if(D8.Y===void 0)throw new W(V1+" has no accessible constructor");var T3=D8.Y[arguments.length];if(T3===void 0)throw new W("Tried to invoke ctor of "+V1+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(D8.Y).toString()+") parameters instead!");return T3.apply(this,arguments)});var n4=Object.create(s9,{constructor:{value:G0}});G0.prototype=n4;var D8=new G1(V1,G0,n4,O0,q2,E1,P1,U1);q2=new Z0(V1,D8,!0,!1),s9=new Z0(V1+"*",D8,!1,!1);var Pn=new Z0(V1+" const*",D8,!1,!0);return Y1[H]={pointerType:s9,la:Pn},o9(B2,G0),[q2,s9,Pn]})},d:function(H,j,t1,o1,h1,E1,H1){var P1=e4(t1,o1);j=O(j),E1=C2(h1,E1),m0([],[H],function(N1){function U1(){Z8("Cannot call "+V1+" due to unbound types",P1)}N1=N1[0];var V1=N1.name+"."+j;j.startsWith("@@")&&(j=Symbol[j.substring(2)]);var A0=N1.N.constructor;return A0[j]===void 0?(U1.Z=t1-1,A0[j]=U1):(K(A0,j,V1),A0[j].S[t1-1]=U1),m0([],P1,function(O0){return O0=y4(V1,[O0[0],null].concat(O0.slice(1)),null,E1,H1),A0[j].S===void 0?(O0.Z=t1-1,A0[j]=O0):A0[j].S[t1-1]=O0,[]}),[]})},p:function(H,j,t1,o1,h1,E1){0{Z8("Cannot construct "+P1.name+" due to unbound types",H1)},m0([],H1,function(U1){return U1.splice(1,0,null),P1.N.Y[j-1]=y4(N1,U1,null,h1,E1),[]}),[]})},a:function(H,j,t1,o1,h1,E1,H1,P1){var N1=e4(t1,o1);j=O(j),E1=C2(h1,E1),m0([],[H],function(U1){function V1(){Z8("Cannot call "+A0+" due to unbound types",N1)}U1=U1[0];var A0=U1.name+"."+j;j.startsWith("@@")&&(j=Symbol[j.substring(2)]),P1&&U1.N.ja.push(j);var O0=U1.N.X,B2=O0[j];return B2===void 0||B2.S===void 0&&B2.className!==U1.name&&B2.Z===t1-2?(V1.Z=t1-2,V1.className=U1.name,O0[j]=V1):(K(O0,j,A0),O0[j].S[t1-2]=V1),m0([],N1,function(G0){return G0=y4(A0,G0,U1,E1,H1),O0[j].S===void 0?(G0.Z=t1-2,O0[j]=G0):O0[j].S[t1-2]=G0,[]}),[]})},A:function(H,j){j=O(j),j0(H,{name:j,fromWireType:function(t1){var o1=L1(t1);return f8(t1),o1},toWireType:function(t1,o1){return k1(o1)},argPackAdvance:8,readValueFromPointer:p0,V:null})},n:function(H,j,t1){t1=U0(t1),j=O(j),j0(H,{name:j,fromWireType:function(o1){return o1},toWireType:function(o1,h1){return h1},argPackAdvance:8,readValueFromPointer:b3(j,t1),V:null})},e:function(H,j,t1,o1,h1){j=O(j),h1===-1&&(h1=4294967295),h1=U0(t1);var E1=P1=>P1;if(o1===0){var H1=32-8*t1;E1=P1=>P1<

>>H1}t1=j.includes("unsigned")?function(P1,N1){return N1>>>0}:function(P1,N1){return N1},j0(H,{name:j,fromWireType:E1,toWireType:t1,argPackAdvance:8,readValueFromPointer:D3(j,h1,o1!==0),V:null})},b:function(H,j,t1){function o1(E1){E1>>=2;var H1=k;return new h1(L,H1[E1+1],H1[E1])}var h1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][j];t1=O(t1),j0(H,{name:t1,fromWireType:o1,argPackAdvance:8,readValueFromPointer:o1},{ua:!0})},o:function(H,j){j=O(j);var t1=j==="std::string";j0(H,{name:j,fromWireType:function(o1){var h1=k[o1>>2],E1=o1+4;if(t1)for(var H1=E1,P1=0;P1<=h1;++P1){var N1=E1+P1;if(P1==h1||E[N1]==0){if(H1=H1?p(E,H1,N1-H1):"",U1===void 0)var U1=H1;else U1+="\0",U1+=H1;H1=N1+1}}else{for(U1=Array(h1),P1=0;P1=N1?P1++:2047>=N1?P1+=2:55296<=N1&&57343>=N1?(P1+=4,++E1):P1+=3}E1=P1}else E1=h1.length;if(P1=y2(4+E1+1),N1=P1+4,k[P1>>2]=E1,t1&&H1){if(H1=N1,N1=E1+1,E1=E,0=V1){var A0=h1.charCodeAt(++U1);V1=65536+((V1&1023)<<10)|A0&1023}if(127>=V1){if(H1>=N1)break;E1[H1++]=V1}else{if(2047>=V1){if(H1+1>=N1)break;E1[H1++]=192|V1>>6}else{if(65535>=V1){if(H1+2>=N1)break;E1[H1++]=224|V1>>12}else{if(H1+3>=N1)break;E1[H1++]=240|V1>>18,E1[H1++]=128|V1>>12&63}E1[H1++]=128|V1>>6&63}E1[H1++]=128|V1&63}}E1[H1]=0}}else if(H1)for(H1=0;H1v,P1=1;else j===4&&(o1=V,h1=p1,E1=m1,H1=()=>k,P1=2);j0(H,{name:t1,fromWireType:function(N1){for(var U1=k[N1>>2],V1=H1(),A0,O0=N1+4,B2=0;B2<=U1;++B2){var G0=N1+4+B2*j;(B2==U1||V1[G0>>P1]==0)&&(O0=o1(O0,G0-O0),A0===void 0?A0=O0:(A0+="\0",A0+=O0),O0=G0+j)}return u0(N1),A0},toWireType:function(N1,U1){typeof U1!="string"&&N("Cannot pass non-string to C++ string type "+t1);var V1=E1(U1),A0=y2(4+V1+j);return k[A0>>2]=V1>>P1,h1(U1,A0+4,V1+j),N1!==null&&N1.push(u0,A0),A0},argPackAdvance:8,readValueFromPointer:p0,V:function(N1){u0(N1)}})},k:function(H,j,t1,o1,h1,E1){b0[H]={name:O(j),fa:C2(t1,o1),W:C2(h1,E1),ia:[]}},h:function(H,j,t1,o1,h1,E1,H1,P1,N1,U1){b0[H].ia.push({oa:O(j),ta:t1,ra:C2(o1,h1),sa:E1,za:H1,ya:C2(P1,N1),Aa:U1})},C:function(H,j){j=O(j),j0(H,{va:!0,name:j,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(H,j,t1,o1,h1){H=J1[H],j=L1(j),t1=x1(t1);var E1=[];return k[o1>>2]=k1(E1),H(j,t1,E1,h1)},t:function(H,j,t1,o1){H=J1[H],j=L1(j),t1=x1(t1),H(j,t1,null,o1)},g:f8,m:function(H,j){var t1=L0(H,j),o1=t1[0];j=o1.name+"_$"+t1.slice(1).map(function(H1){return H1.name}).join("_")+"$";var h1=w0[j];if(h1!==void 0)return h1;var E1=Array(H-1);return h1=c0((H1,P1,N1,U1)=>{for(var V1=0,A0=0;A0>>=0,2147483648=t1;t1*=2){var o1=j*(1+.2/t1);o1=Math.min(o1,H+100663296);var h1=Math;o1=Math.max(H,o1),h1=h1.min.call(h1,2147483648,o1+(65536-o1%65536)%65536);e:{try{g.grow(h1-L.byteLength+65535>>>16),R();var E1=1;break e}catch{}E1=void 0}if(E1)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(H,j,t1,o1){for(var h1=0,E1=0;E1>2],P1=k[j+4>>2];j+=8;for(var N1=0;N1>2]=h1,0}};(function(){function H(h1){n.asm=h1.exports,g=n.asm.E,R(),D=n.asm.J,X.unshift(n.asm.F),Z--,n.monitorRunDependencies&&n.monitorRunDependencies(Z),Z==0&&f1&&(h1=f1,f1=null,h1())}function j(h1){H(h1.instance)}function t1(h1){return e1().then(function(E1){return WebAssembly.instantiate(E1,o1)}).then(function(E1){return E1}).then(h1,function(E1){l("failed to asynchronously prepare wasm: "+E1),J(E1)})}var o1={a:F2};if(Z++,n.monitorRunDependencies&&n.monitorRunDependencies(Z),n.instantiateWasm)try{return n.instantiateWasm(o1,H)}catch(h1){l("Module.instantiateWasm callback failed with error: "+h1),r(h1)}return function(){return d||typeof WebAssembly.instantiateStreaming!="function"||l1(i1)||typeof fetch!="function"?t1(j):fetch(i1,{credentials:"same-origin"}).then(function(h1){return WebAssembly.instantiateStreaming(h1,o1).then(j,function(E1){return l("wasm streaming compile failed: "+E1),l("falling back to ArrayBuffer instantiation"),t1(j)})})}().catch(r),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.F).apply(null,arguments)};var s2=n.___getTypeName=function(){return(s2=n.___getTypeName=n.asm.G).apply(null,arguments)};n.__embind_initialize_bindings=function(){return(n.__embind_initialize_bindings=n.asm.H).apply(null,arguments)};var y2=n._malloc=function(){return(y2=n._malloc=n.asm.I).apply(null,arguments)},u0=n._free=function(){return(u0=n._free=n.asm.K).apply(null,arguments)};n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.L).apply(null,arguments)};var e0;f1=function H(){e0||B9(),e0||(f1=H)};function B9(){function H(){if(!e0&&(e0=!0,n.calledRun=!0,!A)){if(C1(X),C(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;){var j=n.postRun.shift();_.unshift(j)}C1(_)}}if(!(01?s-1:0),d=1;di?t.Node.createWithConfig(i):t.Node.createDefault()),e(t.Node.prototype,"free",function(){t.Node.destroy(this)}),e(t.Node.prototype,"freeRecursive",function(){for(let r=0,i=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:fi.LTR;return r.call(this,i,o,s)}),{Config:t.Config,Node:t.Node,...LH}}const jk=wH(await pH());function U4(t,e,n){if(e==null)return n;const C=t[e];if(C==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(t).join(", ")}`);return C}const xH={static:0,relative:1,absolute:2},Ma={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},mH={column:0,"column-reverse":1,row:2,"row-reverse":3},kH={"no-wrap":0,wrap:1,"wrap-reverse":2},MH={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},EH={visible:0,hidden:1,scroll:2},yH={flex:0,none:1},Uk={positionType:(t,e)=>t.setPositionType(U4(xH,e,1)),positionTop:(t,e)=>t.setPosition(1,e??NaN),positionLeft:(t,e)=>t.setPosition(0,e??NaN),positionRight:(t,e)=>t.setPosition(2,e??NaN),positionBottom:(t,e)=>t.setPosition(3,e??NaN),alignContent:(t,e)=>t.setAlignContent(U4(Ma,e,4)),alignItems:(t,e)=>t.setAlignItems(U4(Ma,e,4)),alignSelf:(t,e)=>t.setAlignSelf(U4(Ma,e,0)),flexDirection:(t,e)=>t.setFlexDirection(U4(mH,e,2)),flexWrap:(t,e)=>t.setFlexWrap(U4(kH,e,0)),justifyContent:(t,e)=>t.setJustifyContent(U4(MH,e,0)),marginTop:(t,e)=>t.setMargin(1,e??NaN),marginLeft:(t,e)=>t.setMargin(0,e??NaN),marginRight:(t,e)=>t.setMargin(2,e??NaN),marginBottom:(t,e)=>t.setMargin(3,e??NaN),flexBasis:(t,e)=>t.setFlexBasis(e??NaN),flexGrow:(t,e)=>t.setFlexGrow(e??0),flexShrink:(t,e)=>t.setFlexShrink(e??1),width:(t,e)=>t.setWidth(e??NaN),height:(t,e)=>t.setHeight(e??NaN),minWidth:(t,e)=>t.setMinWidth(e??NaN),minHeight:(t,e)=>t.setMinHeight(e??NaN),maxWidth:(t,e)=>t.setMaxWidth(e??NaN),maxHeight:(t,e)=>t.setMaxHeight(e??NaN),aspectRatio:(t,e)=>t.setAspectRatio(e??NaN),borderTop:(t,e)=>t.setBorder(1,e??NaN),borderLeft:(t,e)=>t.setBorder(0,e??NaN),borderRight:(t,e)=>t.setBorder(2,e??NaN),borderBottom:(t,e)=>t.setBorder(3,e??NaN),overflow:(t,e)=>t.setOverflow(U4(EH,e,0)),display:(t,e)=>t.setDisplay(U4(yH,e,0)),paddingTop:(t,e)=>t.setPadding(1,e??NaN),paddingLeft:(t,e)=>t.setPadding(0,e??NaN),paddingRight:(t,e)=>t.setPadding(2,e??NaN),paddingBottom:(t,e)=>t.setPadding(3,e??NaN),gapRow:(t,e)=>t.setGap(1,e??NaN),gapColumn:(t,e)=>t.setGap(0,e??NaN)};function Ah(t,e,n,C,r){let i=!1,o,s={};r.push(t0(()=>{const l=t.value;i&&ov(n,l,o,s,C),o=l}),t0(()=>{if(i=e.value,!!i&&o!=null)return ov(n,o,void 0,s,C),()=>{BH(s),s={}}}))}function ov(t,e,n,C,r){const i=l=>C[l]=t0(()=>r(l,e.read(l,void 0))),o=l=>{C[l]?.(),delete C[l],n.read(l,void 0)!==void 0&&r(l,void 0)},s=l=>{C[l]?.(),i(l)};gH(()=>e.filterCompare(t,n,i,s,o))}function BH(t){for(const e in t)t[e]()}const ht=100,ph=jk.Config.create();ph.setUseWebDefaults(!0);ph.setPointScaleFactor(ht);function IH(t){return t==="measureFunc"?!0:t in Uk}function r6(){const t=C0([!1,!1]);return{size:C0(void 0),relativeCenter:C0(void 0),borderInset:C0(void 0),overflow:C0(d3.Visible),scrollable:t,paddingInset:C0(void 0),maxScrollPosition:C0([void 0,void 0])}}class Fk{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=C0(!1);constructor(e,n,C,r,i){this.state=e,this.requestCalculateLayout=C,this.object=r,this.yogaNode=jk.Node.create(ph),this.active.value=!0,i.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),Ah(n,this.active,IH,(o,s)=>{Uk[o](this.yogaNode,s),this.requestCalculateLayout()},i)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const n=e.value;this.yogaNode.setMeasureFunc((C,r,i,o)=>{const s=n(C,r,i,o);return{width:Math.ceil(s.width*ht+1)/ht,height:Math.ceil(s.height*ht+1)/ht}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),bk(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const n=this.children.indexOf(e);n!==-1&&(this.children.splice(n,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,s)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,d=s.object.current;if(l==null||d==null)return 0;const g=e.indexOf(l);if(g===-1)throw new Error("parent mismatch");const A=e.indexOf(d);if(A===-1)throw new Error("parent mismatch");return g-A});let n=0,C=this.yogaNode.getChild(n),r=this.children[n];for(;r!=null||C!=null;){if(r!=null&&C!=null&&SH(C,lv(r.yogaNode))){r=this.children[++n],C=this.yogaNode.getChild(n);continue}if(C!=null&&this.yogaNode.removeChild(C),r!=null){const o=lv(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,n),r=this.children[++n]}C=this.yogaNode.getChild(n)}const i=this.children.length;for(let o=0;o.5,_=U>.5;x7(this.state.maxScrollPosition,X?D:void 0,_?U:void 0),x7(this.state.scrollable,X,_)}else x7(this.state.maxScrollPosition,void 0,void 0),x7(this.state.scrollable,!1,!1);const I=this.state.overflow.value===d3.Visible;return[i+Math.max(C,I?M:0),o+Math.max(r,I?k:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function x7(t,e,n){if(t.value!=null){const[C,r]=t.value;if(C===e&&r===n)return}t.value=[e,n]}function sv(t,e,n,C,r){if(t.value!=null){const[i,o,s,l]=t.value;if(i==e&&o==n&&s==C&&l==r)return}t.value=[e,n,C,r]}function lv(t){if(t==null)throw new Error("commit cannot be called with a children that miss a yoga node");return t}function SH(t,e){return t.M.O===e.M.O}function zo(t,e,n,C){n!=null&&(Ea(n.classes,C),C(n)),e!=null&&(Ea(e.classes,C),C(e)),t!=null&&(Ea(t.classes,C),C(t))}function Ea(t,e){if(t==null)return;if(!Array.isArray(t)){e(t);return}const n=t.length;for(let C=0;Ct.value.read(e,n))}class NH{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,n){if(n===void 0)return;const C=this.preTransformers?.[e];if(C!=null){C(n,this);return}const r=PH[e];if(r==null){this.addToMap(e,n);return}const i=r.length;for(let o=0;o=0;i--){const o=C[i],s=o instanceof J2?o.value:o;if(s!==void 0)return s}return n}filterCompare(e,n,C,r,i){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(n==null){C(o);continue}const s=n.propertyMap.get(o);if(s==null){C(o);continue}const l=this.propertyMap.get(o);av(s,l)||r(o)}if(n!=null)for(const o of n.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||i(o))}isEqual(e,n){const C=this.propertyMap.get(n),r=e.propertyMap.get(n);return C==null||r==null?C===r:av(C,r)}addAll(e,n,C,r){zo(e,n,C,i=>{for(const o in i)this.add(o,i[o]);for(const o in r){const s=i[o];s!=null&&r[o](s,this)}})}}function av(t,e){const n=t.length;if(n!=e.length)return!1;for(let C=0;C{let i;if(C==null)i=void 0;else{if(C.value==null)return;i=C.value}const o=r?.value,s=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let d,g;return i==null?(d=0,g=0):e>i.elementType?(d=i.majorIndex,g=0):e!=i.elementType||!FH(b8(n),b8(i.instancedGroupDependencies))?(d=i.majorIndex+1,g=0):(d=i.majorIndex,g=i.minorIndex+1),s>0&&(d+=s,g=0),g+=l,{instancedGroupDependencies:n,elementType:e,majorIndex:d,minorIndex:g}})}function FH(t,e){if(t===e)return!0;if(t==null||e==null)return!1;let n=0;for(const C in t){if(t[C]!=e[C])return!1;++n}return n===Object.keys(e).length}function S3(t,e,n){return t[ku]=e,t[Mu]=n,t}function i6(t,e,n,C){let r=!0;C.push(()=>t0(()=>{const i=n.value;if(i!=null){if(r){r=!1;return}t.peek()?.onSizeChange?.(...i),e.peek()?.onSizeChange?.(...i)}}))}function v5(t,e,n,C){let r=!0;C.push(()=>t0(()=>{const i=!n.value;if(r){r=!1;return}t.peek()?.onIsInViewportChange?.(i),e.peek()?.onIsInViewportChange?.(i)}))}const WH=new G,OH=new G,Nr=new G,ya=new f0,GH=new ce,zH=new P9,Ba=Math.PI/180;function VH([t,e,n]){return zH.setFromEuler(GH.set(t*Ba,e*Ba,n*Ba))}const $H="center",YH="center";function o6(t,{relativeCenter:e,size:n},C){const r=P0(t,"transformTranslateX",0),i=P0(t,"transformTranslateY",0),o=P0(t,"transformTranslateZ",0),s=P0(t,"transformRotateX",0),l=P0(t,"transformRotateY",0),d=P0(t,"transformRotateZ",0),g=P0(t,"transformScaleX",1),A=P0(t,"transformScaleY",1),p=P0(t,"transformScaleZ",1),L=P0(t,"transformOriginX",$H),x=P0(t,"transformOriginY",YH);return W0(()=>{if(e.value==null)return;const[E,m]=e.value,v=C.value,M=new f0().makeTranslation(E*v,m*v,0);let k=!0;if(L.value!="center"||x.value!="center"){if(n.value==null)return;const[D,U]=n.value;k=!1,Nr.set(-uM[L.value]*D*v,-dM[x.value]*U*v,0),M.multiply(ya.makeTranslation(Nr)),Nr.negate()}const I=[s.value,l.value,d.value],b=[r.value,-i.value,o.value],R=[g.value,A.value,p.value];return(b.some(D=>D!=0)||I.some(D=>D!=0)||R.some(D=>D!=1))&&M.multiply(ya.compose(WH.fromArray(b).multiplyScalar(v),VH(I),OH.fromArray(R))),k||M.multiply(ya.makeTranslation(Nr)),M})}function s6(t,e,n){n.push(()=>t0(()=>{if(e.value==null){t.current?.matrix.elements.fill(0);return}t.current?.matrix.copy(e.value)}))}const JH=Math.cos(45/180*Math.PI),Ia=[new l2,new l2,new l2,new l2],cv=new G;class XH{planes;facePlane;originalCenter;constructor(e,n,C,r,i){this.originalCenter=new G(n,C,0).applyMatrix4(e),this.facePlane=new l2(new G(0,0,1),0).applyMatrix4(e);const o=r/2,s=i/2,l=C+s,d=n+o,g=-C+s,A=-n+o;this.planes=[new l2(new G(0,-1,0),g).applyMatrix4(e),new l2(new G(-1,0,0),A).applyMatrix4(e),new l2(new G(0,1,0),l).applyMatrix4(e),new l2(new G(1,0,0),d).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const i=this.facePlane,o=e[r],s=i.normal.dot(o.normal);if(Math.abs(s)>.99)return this;const l=Ia[r];if(Math.abs(s)<.01){l.copy(o);continue}l.normal.crossVectors(i.normal,o.normal).normalize().cross(i.normal).negate();const d=1-s*s,g=(i.constant-o.constant*s)/d,A=(o.constant-i.constant*s)/d;cv.copy(i.normal).multiplyScalar(g).addScaledVector(o.normal,A),l.constant=-cv.dot(l.normal)}let n=0;const C=this.planes[0].normal;for(;Ia[n].normal.dot(C)>JH;)break;for(let r=0;r<4;r++){const i=this.planes[r],o=(r+n)%4;Ia[o].distanceToPoint(this.originalCenter){if(n.value==null)return!0;const r=e.value,i=t?.value;if(i==null||r==null)return!1;const[o,s]=n.value,l=C.value;for(let A=0;A<4;A++){const[p,L]=KH[A];uv[A].set(p*l*o,L*l*s,0).applyMatrix4(r)}const{planes:d}=i;let g;for(let A=0;A<4;A++){const p=d[A];g=!0;for(let L=0;L<4;L++){const x=uv[L];p.distanceToPoint(x)>=0&&(g=!1)}if(g)return!0}return!1})}function Vo(t,{overflow:e,borderInset:n,size:C},r,i){return W0(()=>{const o=t.value;if(o==null||e.value===d3.Visible)return i?.value;if(C.value==null||n.value==null)return;const[s,l]=C.value,[d,g,A,p]=n.value,L=r.value,x=new XH(o,(g-p)*L/2,(d-A)*L/2,(s-p-g)*L,(l-d-A)*L);return i?.value!=null&&x.min(i.value),x})}const Eu=new l2(new G(-1,0,0),Number.MAX_SAFE_INTEGER),Ji=new Float32Array(16);for(let t=0;t<4;t++)Eu.normal.toArray(Ji,t*4),Ji[t*4+3]=Eu.constant;function Dn(t,e,n){const C=[new l2,new l2,new l2,new l2],r=()=>{if(t.object.current==null)return;const i=e?.value?.planes;if(i==null){for(let o=0;o<4;o++)C[o].copy(Eu);return}for(let o=0;o<4;o++)C[o].copy(i[o]).applyMatrix4(t.object.current.matrixWorld)};return n.push(()=>(t.onFrameSet.add(r),()=>t.onFrameSet.delete(r))),C}function Wk(t,e){for(;e>=t.length;){let n=0,C=0;if(t.length>0){const r=t[t.length-1];n+=r.offset+r.elements.length,C=Math.min(0,r.missingSpace),r.missingSpace-=C}t.push({add:[],missingSpace:C,offset:n,elements:[]})}}function qH(t,e,n){Wk(t,0);const C=t[t.length-1];C.missingSpace+=e-n}function ZH(t,e,n,C){Wk(t,e);const r=t[e];return r.missingSpace+=1,r.missingSpace<=0?(C(n,r,r.elements.length),r.elements.push(n),!1):(r.add.push(n),!0)}function eP(t,e,n,C,r,i,o,s){if(e>=t.length)throw new Error(`no bucket at index ${e}`);const l=t[e];l.missingSpace-=1;const d=l.add.indexOf(n);if(d!=-1)return l.add.splice(d,1),!1;if(C==null||C>=l.elements.length)throw new Error(`no element at index ${C}`);if(l.add.length>0){const L=l.add.shift();return l.elements[C]=L,r(L,l,C),!1}const g=l.offset,A=l.elements.length-1;if(A!=C){const L=g+A,x=g+C;s(x,L,L+1);const E=l.elements[A];l.elements[C]=E,o(E,C)}if(i(g+A),l.elements.length-=1,e0;){const L=t[e-1];L.missingSpace+=p.missingSpace,p=t[--e]}return t.length=e+1,!1}function tP(t,e,n){let C=t.length,r=-1;for(let o=0;o0&&(r=o);const l=o===C-1;if(!l&&s.missingSpace===0)continue;const d=s.missingSpace<0;for(let g=o-1;g>=0;g--){const A=t[g];if(A.missingSpace===0)continue;const p=A.missingSpace<0;if(p&&(l||d)){dv(t,n,g,o,Math.abs(A.missingSpace));continue}if(!d&&!p)continue;const L=Math.min(Math.abs(A.missingSpace),Math.abs(s.missingSpace));d?nP(t,n,g,o,L):dv(t,n,g,o,L)}}const i=t[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),Gk=C0(Ok?.matches??!1);Ok?.addEventListener("change",t=>Gk.value=t.matches);const CP=C0("system"),rP=W0(()=>{switch(CP.value){case"system":return Gk.value;case"dark":return!0;case"light":return!1}}),l6={dark:Hn(()=>rP.value)},zk={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},Vk=Object.keys(zk),iP=Vk.length;function a6(t){const e={};for(let n=0;n(t.value?.[0]??0)>zk[C])}return e}function hv(t,e,n,C){return((C==null?0:t.getKerning(C,n.id))+n.xoffset)*e}function Sa(t,e,n){return((n?.yoffset??0)+(e-1)/2)*t}function An(t,e,n){return e.xadvance*t+n}function jr(t,e){return t*e}function yu(t,{lineHeight:e,fontSize:n}){return Math.max(t,1)*n*e}const oP=({text:t,fontSize:e,font:n,letterSpacing:C},r,i,o)=>{i=vh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;ir)break;o.nonWhitespaceCharLength=i-s+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=d}o.charLength=i-s},sP=({text:t,fontSize:e,font:n,letterSpacing:C},r,i,o)=>{i=vh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;i{i=vh(t,i);const s=i;o.charIndexOffset=s,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,d=0;for(;i0&&r!=null&&l>r)break;const A=t[i+1];(A===" "||A===` +`||A==null)&&(o.charLength=i-s+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=d)}};function vh(t,e){const n=t.length;for(;t[e]===" "&&e{for(const o of r)o(i);_a.set(t,i)}).catch(console.error)}async function uP(t,e){const n=await(await fetch(t)).json();if(n.pages.length!==1)throw new Error("only supporting exactly 1 page");const C=await aP.loadAsync(new URL(n.pages[0],new URL(t,window.location.href)).href);return C.anisotropy=e.capabilities.getMaxAnisotropy(),C.flipY=!1,new gP(n,C)}const Bu={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},dP={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function $k(t,e,n,C){const r=C0(void 0),i=P0(t,"fontFamily",void 0),o=P0(t,"fontWeight","normal");return C.push(()=>t0(()=>{const s=e?.value??dP;let l=i.value;l==null&&(l=Object.keys(s)[0]);const d=hP(s[l],typeof o.value=="string"?Bu[o.value]:o.value);let g=!1;return cP(d,n,A=>g?void 0:r.value=A),()=>g=!0})),r}function hP(t,e){let n=1/0,C;for(const r in t){const i=Math.abs(e-fP(r));if(i===0)return t[r];i{const l=e.value;if(l==null)return;const d=n.value,g={font:l,fontSize:r.value,letterSpacing:i.value,lineHeight:o.value,text:Array.isArray(d)?d.map(A=>b8(A)).join(""):b8(d),wordBreak:s.value};return C.current=g,(A,p)=>LP(g,p===gi.Undefined?void 0:A)})}const Yk={"keep-all":sP,"break-all":oP,"break-word":lP},Ur={};function LP(t,e){const n=Yk[t.wordBreak],C=t.text;let r=0,i=0,o=0;for(;o{n.uniforms.fontPage={value:e.page},n.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},n.uniforms.distanceRange={value:e.distanceRange},n.uniforms.v_weight={value:.3},n.vertexShader=`attribute vec4 instanceUVOffset; + varying vec2 fontUv; + attribute vec4 instanceRGBA; + varying vec4 rgba; + attribute mat4 instanceClipping; + varying mat4 clipping; + varying vec3 localPosition; + `+n.vertexShader,n.vertexShader=n.vertexShader.replace("#include ",`#include + fontUv = instanceUVOffset.xy + uv * instanceUVOffset.zw; + rgba = instanceRGBA; + clipping = instanceClipping; + localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`),n.fragmentShader=`uniform sampler2D fontPage; + uniform vec2 pageSize; + uniform int distanceRange; + uniform float v_weight; + varying vec2 fontUv; + varying vec4 rgba; + varying mat4 clipping; + varying vec3 localPosition; + float median(float r, float g, float b) { + return max(min(r, g), min(max(r, g), b)); + } + float getDistance() { + vec3 msdf = texture(fontPage, fontUv).rgb; + return median(msdf.r, msdf.g, msdf.b); + } + `+n.fragmentShader,n.fragmentShader=n.fragmentShader.replace("#include ",` #include + vec4 plane; + float distanceToPlane, distanceGradient; + float clipOpacity = 1.0; + for(int i = 0; i < 4; i++) { + plane = clipping[ i ]; + distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + + if ( clipOpacity == 0.0 ) discard; + } + vec2 dxdy = fwidth(fontUv) * pageSize; + float dist = getDistance() + min(float(v_weight), 0.5 - 1.0 / float(distanceRange)) - 0.5; + float multiplier = clamp(dist * float(distanceRange) / length(dxdy) + 0.5, 0.0, 1.0); + if(multiplier <= 0.5) { + discard; + } + diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); + diffuseColor *= rgba; + `)}}}class mP extends t2{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new V2;boundingSphere=new i9;constructor(e,n,C,r,i){const o=new h5;o.translate(.5,-.5,0),super(o,i),this.instanceMatrix=e,this.instanceRGBA=n,this.instanceUV=C,this.instanceClipping=r,o.attributes.instanceUVOffset=C,o.attributes.instanceRGBA=n,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const fv=new f0,kP=new f0;function Jk(t){return W0(()=>({font:t.value}))}class MP{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,n,C,r,i){this.group=e,this.baseMatrix=n,this.color=C,this.opacity=r,this.clippingRect=i}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const n=this.index*16,{instanceClipping:C}=this.group;this.clippingRect==null?C.set(Ji,n):this.clippingRect.toArray(C.array,n),C.addUpdateRange(n,16),C.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:n}=this.group,C=n.itemSize*this.index;pn(n.array,C,e,void 0),n.addUpdateRange(C,3),n.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:n}=this.group,C=this.index*4+3;n.array[C]=e,n.addUpdateRange(C,1),n.needsUpdate=!0}updateGlyphAndTransformation(e,n,C,r,i){this.glyphInfo===e&&this.x===n&&this.y===C&&this.fontSize===r&&this.pixelSize===i||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=n,this.y=C,this.fontSize=r,this.pixelSize=i,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:n}=this.group;AP(this.glyphInfo,n.array,e),n.addUpdateRange(e,4),n.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:n}=this.group;n.addUpdateRange(e,16),fv.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(kP.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),fv.toArray(n.array,e),n.needsUpdate=!0}}class EP{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,n,C,r,i,o){this.renderOrder=e,this.depthTest=n,this.pixelSize=C,this.root=r,this.object=i,o.push(()=>{const s=l=>this.traverse(d=>d.onFrame(l));return r.onFrameSet.add(s),()=>r.onFrameSet.delete(s)},()=>t0(()=>{const s=e.value;this.traverse(l=>l.setRenderOrder(s))}),()=>t0(()=>{const s=n.value;this.traverse(l=>l.setDepthTest(s))}))}traverse(e){for(const n of this.map.values())for(const C of n.values())e(C)}getGroup(e,n){let C=this.map.get(n);C==null&&this.map.set(n,C=new Map);let r=C?.get(e);return r==null&&C.set(e,r=new yP(this.renderOrder.peek(),this.depthTest.peek(),this.object,n,this.pixelSize,this.root,{majorIndex:e,elementType:X2.Text,minorIndex:0})),r}}class yP{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,n,C,r,i,o,s){this.renderOrder=e,this.object=C,this.pixelSize=i,this.rootCameraDistance=o,this.orderInfo=s,this.instanceMaterial=new xP(r),this.instanceMaterial.depthTest=n}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const n=this.holeIndicies.shift();if(n!=null){this.glyphs[n]=e,e.activate(n);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const C=this.mesh.count;this.glyphs[C]=e,e.activate(C),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const n=this.requestedGlyphs.shift();if(n!=null){n.activate(e.index),this.glyphs[e.index]=n,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const C=e.index*16;this.instanceMatrix.array.fill(0,C,C+16),this.instanceMatrix.addUpdateRange(C,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const n=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=n>0),n===0)return;const C=this.instanceMatrix?.count??0;if(n0)&&n<=C)return;this.timeTillDecimate=void 0,this.resize(n);const r=this.mesh.count,i=this.requestedGlyphs.length;for(let o=0;oA-p);const l=this.holeIndicies.length;let d=0,g=0;for(;g0)for(let A=this.holeIndicies[0];At0(()=>C.value?.addLayoutChangeListener(()=>{const R=E.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:X}}=r;if(R==null||D==null||U==null||X==null)return;const[_,P]=D,[Z,f1,J,l1]=U,[i1,g1,F,e1]=X,C1=_-f1-l1-g1-e1,d1=P-Z-J-i1-F;b.value=wP(R,C1,d1)})),()=>t0(()=>{const R=l.value;if(R==null||s.value==null)return;const D=new _P(d.getGroup(s.value.majorIndex,R),M,v,k,I,b,n,i,o,g,A,p);return L!=null&&(L.current=D),()=>D.destroy()})),m}const SP=[];class _P{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,n,C,r,i,o,s,l,d,g,A,p){this.group=e,this.horizontalAlign=n,this.verticalAlign=C,this.color=r,this.opacity=i,this.layoutSignal=o,this.matrix=s,this.parentClippingRect=d,this.selectionRange=g,this.selectionBoxes=A,this.caretPosition=p,this.unsubscribeInitialList=[t0(()=>{if(l?.value===!0||i.value<.01){this.hide();return}this.show()}),t0(()=>this.updateSelectionBoxes(this.lastLayout,g?.value,C.peek(),n.peek()))]}getCharIndex(e,n){const C=this.lastLayout;if(C==null)return 0;n-=-Wr(C,this.verticalAlign.peek());const r=Math.floor(n/-jr(C.lineHeight,C.fontSize)),i=C.lines;if(r<0||i.length===0)return 0;if(r>=i.length){const g=i[i.length-1];return g.charIndexOffset+g.charLength+1}const o=i[r],s=C.font.getGlyphInfo(" ").xadvance*C.fontSize,l=this.glyphLines[r];let d=l.length;for(let g=0;g=A.charIndexOffset+A.charLength)continue;const p=this.glyphLines[g][Math.max(C-A.charIndexOffset,0)];return{lineIndex:g,x:this.getGlyphX(p,r?0:1,i)}}const l=e[s-1];if(l.charLength===0)return{lineIndex:s-1,x:Av(n,l.nonWhitespaceWidth,o)-n/2};const d=this.glyphLines[s-1][l.charLength-1];return{lineIndex:s-1,x:this.getGlyphX(d,1,i)}}getGlyphX(e,n,C){return typeof e=="number"?e+n*C:e.getX(n)}show(){this.unsubscribeShowList.length>0||(F5(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(t0(()=>{const e=this.matrix.value;e!=null&&F5(this.glyphLines,n=>n.updateBaseMatrix(e))}),t0(()=>{const e=this.parentClippingRect?.value;F5(this.glyphLines,n=>n.updateClippingRect(e))}),t0(()=>{const e=this.color.value;F5(this.glyphLines,n=>n.updateColor(e))}),t0(()=>{const e=this.opacity.value;F5(this.glyphLines,n=>n.updateOpacity(e))}),t0(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:n,font:C,lines:r,letterSpacing:i=0,fontSize:o=16,lineHeight:s=1.2,availableWidth:l}=e;let d=Wr(e,this.verticalAlign.value)-e.availableHeight/2;const g=r.length,A=this.group.pixelSize.value;for(let p=0;pm+E){I=P.id;const J=k+hv(C,o,P,I);typeof b[X]=="number"?b[X]=k:b.splice(X,0,J),k+=M+An(o,P,i);continue}let Z=b[X];for(;Xp.hide(),g),this.glyphLines.length=g,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let n=0;nn.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let n=0;n{const C=t.matrixWorld;if(d4.constant=0,d4.normal.set(0,0,1),d4.applyMatrix4(C),d4.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(d4,Or)==null)return;const r=d4.normal.clone();for(let i=0;i<4;i++){const o=bP[i];if(d4.copy(o).applyMatrix4(C),(W5[i]=d4.distanceToPoint(Or))<0)return}n.push({distance:Or.distanceTo(e.ray.origin),object:t,point:Or.clone(),uv:new M1(W5[0]/(W5[0]+W5[1]),W5[3]/(W5[2]+W5[3])),normal:r})}}function ve(t,e,n,C,r){return(i,o)=>{const s=n instanceof Y0?n:n.current;if(s==null||r.value==null)return;const{majorIndex:l,minorIndex:d,elementType:g}=r.value,A=o.length;e.call(t,i,o);const p=C?.value?.planes,L=s.matrixWorld;e:for(let x=o.length-1;x>=A;x--){const E=o[x];if(E.distance-=l*.01+g*.001+d*1e-5,p!=null){for(let m=0;m<4;m++)if(d4.copy(p[m]).applyMatrix4(L),d4.distanceToPoint(E.point)<0){o.splice(x,1);continue e}}}}}const Zk=new Z1(-1,-1,-1),eM={backgroundColor:Zk,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let Qa;function _3(){if(Qa==null){const t={};for(const e in eM)t[e]=e;Qa=Tn(t)}return Qa}function Tn(t,e){const n={...eM,...e},C={};for(const i in t){const o=DP[i],s=n[i];C[t[i]]=(l,d,g,A,p)=>o(l,d,g??s,A,p)}const r=new Float32Array(16);return pn(r,4,n.backgroundColor,void 0),pn(r,8,n.borderColor,void 0),r[11]=n.borderBend,r[12]=n.borderOpacity,r[15]=n.backgroundOpacity,{hasProperty:i=>i in C,defaultData:r,setters:C,computedIsVisibile:(i,o,s,l)=>W0(()=>{if(o.value==null||s.value==null)return!0;const d=t.borderOpacity==null?n.borderOpacity:i.value.read(t.borderOpacity,n.borderOpacity),g=t.backgroundOpacity==null?n.backgroundOpacity:i.value.read(t.backgroundOpacity,n.backgroundOpacity),A=t.backgroundColor==null?n.backgroundColor:i.value.read(t.backgroundColor,n.backgroundColor),p=o.value.some(m=>m>0)&&d>0,[L,x]=s.value;return!(L>0&&x>0&&(g===-1||g>0)&&A!=Zk)&&!p?!1:l==null?!0:!l.value})}}const DP={backgroundColor:(t,e,n,C,r)=>pn(t,e+4,n,r),borderBottomLeftRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,0,n,C[1],r),borderBottomRightRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,1,n,C[1],r),borderTopRightRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,2,n,C[1],r),borderTopLeftRadius:(t,e,n,{value:C},r)=>C!=null&&Gr(t,e+7,3,n,C[1],r),borderColor:(t,e,n,C,r)=>pn(t,e+8,n,r),borderBend:(t,e,n,C,r)=>Ra(t,e+11,n,r),borderOpacity:(t,e,n,C,r)=>Ra(t,e+12,n,r),backgroundOpacity:(t,e,n,C,r)=>Ra(t,e+15,n,r)};function Gr(t,e,n,C,r,i){RP(t,e,n,C,r),i?.(e,1)}function Ra(t,e,n,C){t[e]=n,C?.(e,1)}const TP=new Z1;function pn(t,e,n,C){Array.isArray(n)?t.set(n,e):TP.set(n).toArray(t,e),C?.(e,3)}function tM(t,e){const n=new t;n.defines==null&&(n.defines={}),n.side=Q8,n.clipShadows=!0,n.transparent=!0,n.toneMapped=!1,n.depthWrite=!1,n.shadowSide=Q8,n.defines.USE_UV="",n.defines.USE_TANGENT="";const C=n.onBeforeCompile;return n.onBeforeCompile=(r,i)=>{C.call(n,r,i),e.type==="normal"&&(r.uniforms.data={value:e.data}),NP(r,e.type==="instanced")},n}class nM extends mo{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,n){super.onBeforeCompile(e,n),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),rM(e,this.info.type==="instanced")}}class CM extends xo{info;constructor(e){super({depthPacking:Dd}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,n){super.onBeforeCompile(e,n),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),rM(e,this.info.type==="instanced")}}const HP=new CM({type:"instanced"}),PP=new nM({type:"instanced"});function rM(t,e){iM(t,e),t.fragmentShader=t.fragmentShader.replace("#include ",`#include + ${oM(e,void 0)} + `)}function iM(t,e){t.vertexShader=t.vertexShader.replace("#include ",` #include + out vec4 borderRadius; + ${e?"":"uniform highp mat4 data;"}`),t.vertexShader=t.vertexShader.replace("#include ",` #include + highp int packedBorderRadius = int(data[1].w); + borderRadius = vec4( + packedBorderRadius / 125000 % 50, + packedBorderRadius / 2500 % 50, + packedBorderRadius / 50 % 50, + packedBorderRadius % 50 + ) * vec4(0.5 / 50.0);`),e&&(t.vertexShader=t.vertexShader.replace("#include ",` #include + attribute highp mat4 aData; + attribute mat4 aClipping; + out mat4 data; + out mat4 clipping; + out vec3 localPosition;`),t.vertexShader=t.vertexShader.replace("#include ",` #include + data = aData; + clipping = aClipping; + localPosition = (instanceMatrix * vec4(position, 1.0)).xyz;`)),t.fragmentShader=`${e?"in":"uniform"} highp mat4 data; + in vec4 borderRadius; + ${e?` + in vec3 localPosition; + in mat4 clipping; + `:""} + + float min4 (vec4 v) { + return min(min(min(v.x,v.y),v.z),v.w); + } + float max4 (vec4 v) { + return max(max(max(v.x,v.y),v.z),v.w); + } + vec2 radiusDistance(float radius, vec2 outside, vec2 border, vec2 borderSize) { + vec2 outerRadiusXX = vec2(radius, radius); + vec2 innerRadiusXX = outerRadiusXX - borderSize; + vec2 radiusWeightUnnormalized = abs(innerRadiusXX - border); + vec2 radiusWeight = radiusWeightUnnormalized / vec2(radiusWeightUnnormalized.x + radiusWeightUnnormalized.y); + return vec2( + radius - distance(outside, outerRadiusXX), + dot(radiusWeight, innerRadiusXX) - distance(border, innerRadiusXX) + ); + } + `+t.fragmentShader,t.fragmentShader=t.fragmentShader.replace("#include ",` ${e?` + vec4 plane; + float distanceToPlane, distanceGradient; + float clipOpacity = 1.0; + + for(int i = 0; i < 4; i++) { + plane = clipping[ i ]; + distanceToPlane = - dot( -localPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + + if ( clipOpacity < 0.01 ) discard; + } + `:""} + vec4 absoluteBorderSize = data[0]; + vec3 backgroundColor = data[1].xyz; + vec3 borderColor = data[2].xyz; + float borderBend = data[2].w; + float borderOpacity = data[3].x; + float width = data[3].y; + float height = data[3].z; + float backgroundOpacity = data[3].w; + float ratio = width / height; + vec4 relative = vec4(height, height, height, height); + vec4 borderSize = absoluteBorderSize / relative; + vec4 v_outsideDistance = vec4(1.0 - vUv.y, (1.0 - vUv.x) * ratio, vUv.y, vUv.x * ratio); + vec4 v_borderDistance = v_outsideDistance - borderSize; + + vec2 distance = vec2(min4(v_outsideDistance), min4(v_borderDistance)); + vec4 negateBorderDistance = vec4(1.0) - v_borderDistance; + float maxWeight = max4(negateBorderDistance); + vec4 borderWeight = step(maxWeight, negateBorderDistance); + + vec4 insideBorder; + + if(all(lessThan(v_outsideDistance.xw, borderRadius.xx))) { + distance = radiusDistance(borderRadius.x, v_outsideDistance.xw, v_borderDistance.xw, borderSize.xw); + + float tmp = borderRadius.x - borderSize.w; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.x - borderSize.x; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.yz = vec2(0.0); + insideBorder.xw = max(vec2(0.0), lineIntersection - v_borderDistance.xw); + + } else if(all(lessThan(v_outsideDistance.xy, borderRadius.yy))) { + distance = radiusDistance(borderRadius.y, v_outsideDistance.xy, v_borderDistance.xy, borderSize.xy); + + float tmp = borderRadius.y - borderSize.y; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.y - borderSize.x; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.zw = vec2(0.0); + insideBorder.xy = max(vec2(0.0), lineIntersection - v_borderDistance.xy); + + } else if(all(lessThan(v_outsideDistance.zy, borderRadius.zz))) { + distance = radiusDistance(borderRadius.z, v_outsideDistance.zy, v_borderDistance.zy, borderSize.zy); + + float tmp = borderRadius.z - borderSize.y; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.z - borderSize.z; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.xw = vec2(0.0); + insideBorder.zy =max(vec2(0.0), lineIntersection - v_borderDistance.zy); + + } else if(all(lessThan(v_outsideDistance.zw, borderRadius.ww))) { + distance = radiusDistance(borderRadius.w, v_outsideDistance.zw, v_borderDistance.zw, borderSize.zw); + + float tmp = borderRadius.w - borderSize.w; + vec2 xIntersection = vec2(tmp, tmp / ratio); + tmp = borderRadius.w - borderSize.z; + vec2 yIntersection = vec2(tmp * ratio, tmp); + vec2 lineIntersection = min(xIntersection, yIntersection); + + insideBorder.xy = vec2(0.0); + insideBorder.zw = max(vec2(0.0), lineIntersection - v_borderDistance.zw); + + } + + if(insideBorder.x + insideBorder.y + insideBorder.z + insideBorder.w > 0.0) { + borderWeight = normalize(insideBorder); + } + + #include `)}function oM(t,e){return`float ddx = fwidth(distance.x); + float outer = smoothstep(-ddx, ddx, distance.x); + + float ddy = fwidth(distance.y); + float inner = smoothstep(-ddy, ddy, distance.y); + + float transition = 1.0 - step(0.1, outer - inner) * (1.0 - inner); + + if(backgroundColor.r < 0.0 && backgroundOpacity >= 0.0) { + backgroundColor = vec3(1.0); + } + if(backgroundOpacity < 0.0) { + backgroundOpacity = backgroundColor.r >= 0.0 ? 1.0 : 0.0; + } + + if(backgroundOpacity < 0.0) { + backgroundOpacity = 0.0; + } + + float outOpacity = ${t?"clipOpacity * ":""} outer * mix(borderOpacity, ${e==null?"":`${e} *`} backgroundOpacity, transition); + + if(outOpacity < 0.01) { + discard; + }`}function NP(t,e){iM(t,e),t.fragmentShader=t.fragmentShader.replace("#include ",` #include + ${oM(e,"diffuseColor.a")} + diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); + diffuseColor.a = outOpacity; + `),t.fragmentShader=t.fragmentShader.replace("#include ",` #include + vec3 b = normalize(vBitangent); + vec3 t = normalize(vTangent); + mat4 directions = mat4(vec4(b, 1.0), vec4(t, 1.0), vec4(-b, 1.0), vec4(-t, 1.0)); + float currentBorderSize = distance.x - distance.y; + float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; + vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; + normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); + `)}function Q3(t,e,n,C,r){const i=new t2(wh);return i.matrixAutoUpdate=!1,i.raycast=ve(i,qk(i),e.object,n,t),i.visible=!1,r.push(()=>t0(()=>{if(C.value==null)return;const[o,s]=C.value,l=e.pixelSize.value;i.scale.set(o*l,s*l,1),i.updateMatrix()})),i}class jP extends t2{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new V2;boundingSphere=new i9;constructor(e,n,C){const r=Kk();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=n,r.attributes.aClipping=C,this.customDepthMaterial=HP,this.customDistanceMaterial=PP}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function R3(t){const e=P0(t,"panelMaterialClass",K9),n=P0(t,"castShadow",!1),C=P0(t,"receiveShadow",!1);return W0(()=>({panelMaterialClass:e.value,castShadow:n.value,receiveShadow:C.value}))}const $o={panelMaterialClass:K9,castShadow:!1,receiveShadow:!1};class UP{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,n,C,r,i,o){this.renderOrder=e,this.depthTest=n,this.pixelSize=C,this.root=r,this.object=i,o.push(()=>{const s=l=>this.traverse(d=>d.onFrame(l));return r.onFrameSet.add(s),()=>r.onFrameSet.delete(s)},()=>t0(()=>{const s=e.value;this.traverse(l=>l.setRenderOrder(s))}),()=>t0(()=>{const s=n.value;this.traverse(l=>l.setDepthTest(s))}))}traverse(e){for(const n of this.map.values())for(const C of n.values())e(C)}getGroup(e,{panelMaterialClass:n,receiveShadow:C,castShadow:r}=$o){let i=this.map.get(n);i==null&&this.map.set(n,i=new Map);const o=(e<<2)+((C?1:0)<<1)+(r?1:0);let s=i.get(o);return s==null&&i.set(o,s=new FP(this.renderOrder.peek(),this.depthTest.peek(),this.object,n,this.pixelSize,this.root,{elementType:X2.Panel,majorIndex:e,minorIndex:0},C,r)),s}}class FP{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,n,C)=>{const r=n.offset+C;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(n,C)};setElementIndex=(e,n)=>{e.setIndexInBucket(n)};bufferCopyWithin=(e,n,C)=>{ba(this.instanceMatrix,e,n,C),ba(this.instanceData,e,n,C),ba(this.instanceClipping,e,n,C)};clearBufferAt=e=>{const n=e*16;this.instanceMatrix.array.fill(0,n,n+16),this.instanceMatrix.addUpdateRange(n,16),this.instanceMatrix.needsUpdate=!0};constructor(e,n,C,r,i,o,s,l,d){this.renderOrder=e,this.object=C,this.pixelSize=i,this.root=o,this.orderInfo=s,this.meshReceiveShadow=l,this.meshCastShadow=d,this.instanceMaterial=tM(r,{type:"instanced"}),this.instanceMaterial.depthTest=n}updateCount(){const e=this.buckets[this.buckets.length-1],n=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=n,this.mesh.visible=n>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,n){if(this.elementCount+=1,!ZH(this.buckets,e,n,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,n,C){if(this.elementCount-=1,!eP(this.buckets,e,C,n,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),tP(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),qH(this.buckets,e,this.bufferElementSize);const n=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&n.set(this.instanceMatrix.array.subarray(0,n.length)),this.instanceMatrix=new s8(n,16,!1),this.instanceMatrix.setUsage(G6);const C=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&C.set(this.instanceData.array.subarray(0,C.length)),this.instanceData=new s8(C,16,!1),this.instanceDataOnUpdate=(i,o)=>{this.instanceData.addUpdateRange(i,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(G6);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new s8(r,16,!1),this.instanceClipping.setUsage(G6),this.mesh=new jP(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,S3(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function ba(t,e,n,C){const r=t.itemSize,i=n*r,o=C*r,s=e*r;t.array.copyWithin(s,i,o);const l=o-i;t.addUpdateRange(i,l),t.addUpdateRange(s,l),t.needsUpdate=!0}function E4(t,e,n,C,r,i,o,s,l,d,g,A){return A.push(t0(()=>{if(e.value==null)return;const p=[],L=C.getGroup(e.value.majorIndex,n?.value);return new OP(t,L,e.value.minorIndex,r,i,o,s,l,d,g,p),()=>u8(p)})),A}const zr=new f0,WP=new f0;class OP{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=C0(!1);constructor(e,n,C,r,i,o,s,l,d,g,A){this.group=n,this.minorIndex=C,this.matrix=r,this.size=i,this.offset=o,this.borderInset=s,this.clippingRect=l,this.materialConfig=g;const p=g.setters;Ah(e,this.active,g.hasProperty,(x,E)=>{const m=this.getIndexInBuffer();if(m==null)return;const{instanceData:v,instanceDataOnUpdate:M}=this.group;p[x](v.array,v.itemSize*m,E,i,M)},A);const L=g.computedIsVisibile(e,s,i,d);A.push(t0(()=>{if(L.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,n){this.bucket=e,this.indexInBucket=n,this.active.value=!0,this.unsubscribeList.push(t0(()=>{if(this.matrix.value==null||this.size.value==null)return;const C=this.getIndexInBuffer();if(C==null)return;const r=C*16,[i,o]=this.size.value,s=this.group.pixelSize.value;if(zr.makeScale(i*s,o*s,1),this.offset!=null){const[d,g]=this.offset.value;zr.premultiply(WP.makeTranslation(d*s,g*s,0))}zr.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;zr.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),t0(()=>{const C=this.getIndexInBuffer();if(C==null||this.size.value==null)return;const[r,i]=this.size.value,{instanceData:o}=this.group,{array:s}=o,l=C*16+13;s[l]=r,s[l+1]=i,o.addUpdateRange(l,2),o.needsUpdate=!0}),t0(()=>{const C=this.getIndexInBuffer();if(C==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,i=C*16+0;r.array.set(this.borderInset.value,i),r.addUpdateRange(i,4),r.needsUpdate=!0}),t0(()=>{const{instanceClipping:C}=this.group,r=this.getIndexInBuffer();if(r==null)return;const i=r*16,o=this.clippingRect?.value;o!=null?o.toArray(C.array,i):C.array.set(Ji,i),C.addUpdateRange(i,16),C.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let n=0;n{const C=e.value;if(C==null)return;const[r,i]=t.value,o=n.value;return new f0().makeTranslation(-r*o,i*o,0).premultiply(C)})}function Xo(t,e,n,C){return C.push(()=>t0(()=>{const[r,i]=e.value,o=n.value;t.current?.position.set(-r*o,i*o,0),t.current?.updateMatrix()}))}function xh(t,e){return W0(()=>{const[n,C]=e?.value??[!1,!1],[r,i]=t.value;return[n||r,C||i]})}function Ko(t,e,{scrollable:n,maxScrollPosition:C},r,i,o,s,l){const d=W0(()=>n.value?.some(x=>x)??!1),g=new Map,A=new M1,p=(x,E,m,v,M)=>{if(t.value==null)return;const[k,I]=x==null?[!1,!1]:GP(x.nativeEvent);k&&(E=0),I&&(m=0);const[b,R]=t.value,[D,U]=C.value;let[X,_]=t.value;const[P,Z]=e?.value??[!1,!1];X=pv(b,D,E,M&&!P),_=pv(R,U,m,M&&!Z),v!=null&&v>0&&A.set(E,m).divideScalar(v),x!=null&&zP(x.nativeEvent,k||Math.min(b,(D??0)-b)>5,I||Math.min(R,(U??0)-R)>5),!(i.peek()?.onScroll?.(X,_,t,x)===!1||b===X&&R===_)&&(t.value=[X,_])},L=x=>{if(g.size>0||t.value==null)return;let E=0,m=0;const[v,M]=t.value,[k,I]=C.value;E+=Iu(v,0,k??0)*-.3,m+=Iu(M,0,I??0)*-.3,E+=A.x*x,m+=A.y*x,A.multiplyScalar(.9),Math.abs(A.x)<.01&&(A.x=0),Math.abs(A.y)<.01&&(A.y=0),!(E===0&&m===0)&&p(void 0,E,m,void 0,!0)};return l.push(()=>t0(()=>{if(d.value)return s.add(L),()=>s.delete(L)})),W0(()=>{if(d.value)return{onPointerDown:({nativeEvent:x,point:E})=>{let m=g.get(x.pointerId);m==null&&g.set(x.pointerId,m={timestamp:0,point:new G}),m.timestamp=performance.now()/1e3,r.current.worldToLocal(m.point.copy(E))},onPointerUp:({nativeEvent:x})=>g.delete(x.pointerId),onPointerLeave:({nativeEvent:x})=>g.delete(x.pointerId),onPointerCancel:({nativeEvent:x})=>g.delete(x.pointerId),onPointerMove:x=>{const E=g.get(x.nativeEvent.pointerId);if(E==null)return;r.current.worldToLocal(Ta.copy(x.point)),Da.copy(Ta).sub(E.point).divideScalar(o.peek());const m=performance.now()/1e3,v=m-E.timestamp;E.point.copy(Ta),E.timestamp=m,!x.defaultPrevented&&p(x,-Da.x,Da.y,v,!0)},onWheel:x=>{if(x.defaultPrevented)return;const{nativeEvent:E}=x;p(x,E.deltaX,E.deltaY,void 0,!1)}}})}const sM=Symbol("was-scrolled");function GP(t){return t[sM]??[!1,!1]}function zP(t,e,n){t[sM]=[e,n]}function pv(t,e,n,C){if(n===0)return t;const r=Iu(t,0,e??0);vv(n)===vv(r)&&(n*=Math.max(0,1-Math.abs(r)/100));let i=t+n;return C&&e!=null?i:Lh(i,0,e??0)}function vv(t){return t>=0}function Iu(t,e,n){return tn?t-n:0}const VP=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function qo(t,e,n,C,r,i,o,s,l){const d=h9(void 0,X2.Panel,$o,o),g=P0(t,"scrollbarWidth",10),A=mh(t,VP);wv(t,0,e,n,C,r,i,d,s,g,A,l),wv(t,1,e,n,C,r,i,d,s,g,A,l)}let Lv;function $P(){return Lv??=Tn({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),Lv}function wv(t,e,n,C,r,i,o,s,l,d,g,A){const p=W0(()=>YP(e,d.value,C.size.value,C.maxScrollPosition.value,C.borderInset.value,n.value)),L=W0(()=>p.value?.slice(0,2)??[0,0]),x=W0(()=>p.value?.slice(2,4)??[0,0]);A.push(E=>E4(t,s,void 0,l,r,x,L,g,o,i,$P(),E))}function YP(t,e,n,C,r,i){if(n==null||r==null||i==null)return;const o=C[t];if(o==null)return;const s=[0,0,0,0],l=1-t,d=n[t]-r[l]-r[l+2],g=Math.max(e,d*d/(o+d)),A=d-g,p=i[t];return s[t]=n[t]*.5-g*.5-r[(t+3)%4]-A*Lh(p/o,0,1),s[l]=n[l]*.5-e*.5-r[l+1],t===0&&(s[0]*=-1,s[1]*=-1),s[t+2]=g,s[l+2]=e,s}function JP(t,e,n,C,r){let i=!1;if(zo(e,C,n,s=>{"active"in s&&(i=!0)}),!i&&e?.onActiveChange==null&&n?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:s})=>{r.value=r.value.filter(l=>l!=s.pointerId),!(r.value.length>0)&&(n?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};h3("onPointerDown",t,({nativeEvent:s})=>{r.value=[s.pointerId,...r.value],r.value.length==1&&(n?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),h3("onPointerUp",t,o),h3("onPointerLeave",t,o)}function c6(t){return{active:Hn(()=>t.value.length>0)}}function w5(t,e){return W0(()=>{const n=e.value,C=t.value;if(!(n==null||C==null))return C.clone().multiply(n)})}function lM(t,e,n,C,...r){n.push(i=>{if(!(C instanceof J2)){let o=!1;return e(C,...r).then(s=>o?void 0:t.value=s),i.push(()=>o=!0),i}return i.push(t0(()=>{let o=!1;return e(C.value,...r).then(s=>o?void 0:t.value=s).catch(console.error),()=>o=!0})),i})}function x5(t,e,n,C,r,i){i.push(o=>{const s=new Fk(e,C,n.root.requestCalculateLayout,r,o);return t!=null&&(t.value=s),o.push(t0(()=>{const l=n.node.value;if(l!=null)return l.addChild(s),()=>l.removeChild(s)})),o})}const xv=new Map,Zo={keepAspectRatio:(t,e)=>{let n=xv.get(t);n==null&&xv.set(t,n=W0(()=>b8(t)===!1?null:void 0)),e.add("aspectRatio",n)}};function u6(t,e,n,C,r,i,o){return W0(()=>{const s={};return XP(s,i?.value),IN(s,t.value,e.value,n.value,C,o),JP(s,t.value,e.value,n.value,r),s})}function XP(t,e){for(const n in e)h3(n,t,e[n])}function h3(t,e,n){if(n==null)return;const C=e[t];if(C==null){e[t]=n;return}e[t]=r=>{C(r),!("stopped"in r&&r.stopped)&&n(r)}}function d6(t,e,n,C,r,i){return W0(()=>{const o=new NH(r);return i?.(o),o.addAll(t.value,e.value,n.value,C),o})}const mv=new Z1;function aM(t,e,n,C){const r=P0(t,"color",void 0),i=P0(t,"opacity",1);n.push(()=>t0(()=>{let o;Array.isArray(r.value)?o=mv.setRGB(...r.value):r.value!=null&&(o=mv.set(r.value)),b8(e)?.traverse(s=>{if(!(s instanceof t2))return;s.renderOrder=C.renderOrder.value;const l=s.material;l.color.copy(o??s.userData.color),l.opacity=i.value,l.depthTest=C.depthTest.value})}))}const KP=.01,kv=new G,Vr=new l2,$r=C0(new f0);function qP(t,e,n,C,r,i,o,s,l){const d=C0([0,0]),g=C0([]),A=C0([]),p=[];f6(g,p);const L=d6(e,n,C,{...l6,...a6(d),...g6(g),...c6(A)},{...Mv(t,"sizeX","width"),...Mv(t,"sizeY","height")}),x=P0(L,"renderOrder",0),E=P0(L,"depthTest",!0),m=C0(void 0),v=ZP(l,m,p),M=r6();p.push(l1=>{const i1=new Fk(M,L,v,r,l1);return m.value=i1,l1});const k=o6(L,M,t),I=CN(L,k,M.size,t);s6(r,I,p);const b=R3(L),R=h9(void 0,X2.Panel,b,void 0),D={cameraDistance:0,onFrameSet:l},U=new UP(x,E,t,D,r,p),X=()=>{if(r.current==null){D.cameraDistance=0;return}Vr.normal.set(0,0,1),Vr.constant=0,Vr.applyMatrix4(r.current.matrixWorld),kv.setFromMatrixPosition(o().matrixWorld),D.cameraDistance=Vr.distanceToPoint(kv)};p.push(()=>(l.add(X),()=>l.delete(X))),p.push(l1=>E4(L,R,b,U,$r,M.size,void 0,M.borderInset,void 0,void 0,_3(),l1));const _=Yo();Xo(i,_,t,p);const P=Jo(_,$r,t);qo(L,_,M,$r,void 0,void 0,R,U,p);const Z=Ko(_,void 0,M,r,n,t,l,p);i6(e,n,M.size,p);const f1=new EP(x,E,t,D,r,p),J=Object.assign(D,{requestCalculateLayout:v,cameraDistance:0,gylphGroupManager:f1,object:r,panelGroupManager:U,pixelSize:t,renderOrder:x,depthTest:E,renderer:s,size:M.size});return Object.assign(M,{anyAncestorScrollable:M.scrollable,clippingRect:Vo($r,M,t,void 0),childrenMatrix:P,node:m,orderInfo:R,initializers:p,interactionPanel:Q3(R,J,void 0,M.size,p),handlers:u6(e,n,C,g,A,Z),root:J})}function ZP(t,e,n){let C=!1;const r=()=>{const i=e.peek();!C||i==null||(C=!1,i.calculateLayout())};return n.push(()=>(t.add(r),()=>t.delete(r))),()=>C=!0}function Mv(t,e,n){const C=new Map;return{[e]:(r,i)=>{let o=C.get(r);o==null&&C.set(r,o=W0(()=>{const s=b8(r);if(s!=null)return s/t.value})),i.add(n,o)}}}const eN=new f0,tN="center",nN="center";function CN(t,e,n,C){const r=P0(t,"anchorX",tN),i=P0(t,"anchorY",nN);return W0(()=>{if(n.value==null)return;const[o,s]=n.value;return e.value?.clone().premultiply(eN.makeTranslation(uM[r.value]*o*C.value,dM[i.value]*s*C.value,0))})}function rN(t,e,n,C,r,i){const o=C0(void 0),s=r6(),l=C0([]),d=C0([]),g=[];f6(l,g);const A=d6(e,n,C,{...l6,...a6(t.root.size),...g6(l),...c6(d)});x5(o,s,t,A,r,g);const p=o6(A,s,t.root.pixelSize);s6(r,p,g);const L=w5(t.childrenMatrix,p),x=L5(t.clippingRect,L,s.size,t.root.pixelSize),E=R3(A),m=h9(A,X2.Panel,E,t.orderInfo);g.push(I=>E4(A,m,E,t.root.panelGroupManager,L,s.size,void 0,s.borderInset,t.clippingRect,x,_3(),I));const v=Yo();Xo(i,v,t.root.pixelSize,g);const M=Jo(v,L,t.root.pixelSize);qo(A,v,s,L,x,t.clippingRect,m,t.root.panelGroupManager,g);const k=Ko(v,t.anyAncestorScrollable,s,r,n,t.root.pixelSize,t.root.onFrameSet,g);return i6(e,n,s.size,g),v5(e,n,x,g),Object.assign(s,{anyAncestorScrollable:xh(s.scrollable,t.anyAncestorScrollable),clippingRect:Vo(L,s,t.root.pixelSize,t.clippingRect),childrenMatrix:M,node:o,orderInfo:m,root:t.root,scrollPosition:v,interactionPanel:Q3(m,t.root,t.clippingRect,s.size,g),handlers:u6(e,n,C,l,d,k),initializers:g})}const iN="fill";function oN(t,e,n,C,r,i,o){const s=[],l=C0(void 0),d=C0([]),g=C0([]);f6(d,s);const A=W0(()=>b8(e.value));lM(l,cN,s,A);const p=W0(()=>{const U=l.value;if(U==null)return;const X=U.source.data;return X.width/X.height}),L=d6(n,C,r,{...l6,...a6(t.root.size),...g6(d),...c6(g)},Zo,U=>U.add("aspectRatio",p)),x=C0(void 0),E=r6();x5(x,E,t,L,i,s);const m=o6(L,E,t.root.pixelSize);s6(i,m,s);const v=w5(t.childrenMatrix,m),M=L5(t.clippingRect,v,E.size,t.root.pixelSize),k=W0(()=>M.value||l.value==null),I=h9(L,X2.Image,void 0,t.orderInfo),b=Yo();Xo(o,b,t.root.pixelSize,s);const R=Jo(b,v,t.root.pixelSize);qo(L,b,E,v,M,t.clippingRect,I,t.root.panelGroupManager,s);const D=Ko(b,t.anyAncestorScrollable,E,i,C,t.root.pixelSize,t.root.onFrameSet,s);return i6(n,C,E.size,s),v5(n,C,M,s),Object.assign(E,{anyAncestorScrollable:xh(E.scrollable,t.anyAncestorScrollable),initializers:s,handlers:u6(n,C,r,d,g,D),interactionPanel:sN(L,l,t,E,I,t.root,k,s),clippingRect:Vo(v,E,t.root.pixelSize,t.clippingRect),childrenMatrix:R,node:x,orderInfo:I,root:t.root})}let Ev;function cM(){return Ev??=Tn({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),Ev}function sN(t,e,n,C,r,i,o,s){const l=new t2(wh);l.matrixAutoUpdate=!1;const d=Dn(i,n.clippingRect,s),g=cM().computedIsVisibile(t,C.borderInset,C.size,o);return uN(t,l,C.size,C.borderInset,g,d,i,s),l.raycast=ve(l,qk(l),i.object,n.clippingRect,r),S3(l,i,r),lN(t,e,C.borderInset,C.size,s),s.push(()=>t0(()=>l.visible=g.value)),s.push(()=>t0(()=>{const A=e.value??null;l.material.map!==A&&(l.material.map=A,l.material.needsUpdate=!0)}),()=>t0(()=>{if(C.size.value==null)return;const[A,p]=C.size.value,L=n.root.pixelSize.value;l.scale.set(A*L,p*L,1),l.updateMatrix()})),l}function lN(t,e,n,C,r){const i=P0(t,"fit",iN);r.push(()=>t0(()=>{const o=e.value;if(o==null||C.value==null||n.value==null)return;if(o.matrix.identity(),i.value==="fill"||o==null){yv(n,C,o);return}const{width:s,height:l}=o.source.data,d=s/l,[g,A]=C.value,[p,L,x,E]=n.value,m=(g-E-L)/(A-p-x);d>m?o.matrix.translate(-(.5*(m-d))/m,0).scale(m/d,1):o.matrix.translate(0,-(.5*(d-m))/d).scale(1,d/m),yv(n,C,o)}))}function yv(t,e,n){if(e.value==null||t.value==null)return;const[C,r]=e.value,[i,o,s,l]=t.value,d=C-l-o,g=r-i-s;n.matrix.translate(-1+(l+d)/C,-1+(i+g)/r).scale(C/d,r/g)}const aN=new Fo;async function cN(t){if(t==null)return Promise.resolve(void 0);if(t instanceof w2)return Promise.resolve(t);try{const e=await aN.loadAsync(t);return e.colorSpace=Q2,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function uN(t,e,n,C,r,i,o,s){const l=new Float32Array(16),d={data:l,type:"normal"};e.customDepthMaterial=new CM(d),e.customDistanceMaterial=new nM(d),e.customDepthMaterial.clippingPlanes=i,e.customDistanceMaterial.clippingPlanes=i;const g=P0(t,"panelMaterialClass",K9);s.push(x=>(x.push(t0(()=>{const E=tM(g.value,d);return E.clippingPlanes=i,e.material=E,t0(()=>E.depthTest=o.depthTest.value)}),t0(()=>e.renderOrder=o.renderOrder.value),t0(()=>e.castShadow=t.value.read("castShadow",!1)),t0(()=>e.receiveShadow=t.value.read("receiveShadow",!1))),x));const A=cM(),p=[];s.push(()=>t0(()=>{if(r.value)return l.set(A.defaultData),p.push(t0(()=>n.value!=null&&l.set(n.value,13)),t0(()=>C.value!=null&&l.set(C.value,0))),()=>u8(p)}));const L=A.setters;s.push(x=>(Ah(t,r,A.hasProperty,(E,m)=>L[E](l,0,m,n,void 0),x),x))}function dN(t,e,n,C,r,i,o){const s=C0([]),l=C0([]),d=[];f6(s,d);const g=d6(C,r,i,{...l6,...a6(t.root.size),...g6(s),...c6(l)}),A=C0(void 0),p=r6();x5(A,p,t,g,o,d);const L=o6(g,p,t.root.pixelSize);s6(o,L,d);const x=w5(t.childrenMatrix,L),E=L5(t.clippingRect,x,p.size,t.root.pixelSize),m=R3(g),v=h9(g,X2.Panel,m,t.orderInfo);d.push(b=>E4(g,v,m,t.root.panelGroupManager,x,p.size,void 0,p.borderInset,t.clippingRect,E,_3(),b));const M=$k(g,n,t.root.renderer,d),k=h9(void 0,X2.Text,Jk(M),v),I=Xk(g,e,x,A,p,E,t.clippingRect,k,M,t.root.gylphGroupManager,void 0,void 0,void 0,void 0,d);return d.push(()=>t0(()=>A.value?.setMeasureFunc(I))),i6(C,r,p.size,d),v5(C,r,E,d),Object.assign(p,{interactionPanel:Q3(v,t.root,t.clippingRect,p.size,d),handlers:u6(C,r,i,s,l),initializers:d})}const hN=Q2;class Le extends F9{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,n,C,r){const i=this,o=new k4(i.manager);o.setPath(i.path),o.setRequestHeader(i.requestHeader),o.setWithCredentials(i.withCredentials),o.load(e,function(s){try{n(i.parse(s))}catch(l){r?r(l):console.error(l),i.manager.itemError(e)}},C,r)}parse(e){const n=this;function C($,z){if($.nodeType!==1)return;const W=I($);let N=!1,L1=null;switch($.nodeName){case"svg":z=x($,z);break;case"style":i($);break;case"g":z=x($,z);break;case"path":z=x($,z),$.hasAttribute("d")&&(L1=r($));break;case"rect":z=x($,z),L1=l($);break;case"polygon":z=x($,z),L1=d($);break;case"polyline":z=x($,z),L1=g($);break;case"circle":z=x($,z),L1=A($);break;case"ellipse":z=x($,z),L1=p($);break;case"line":z=x($,z),L1=L($);break;case"defs":N=!0;break;case"use":z=x($,z);const y1=($.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),O=$.viewportElement.getElementById(y1);O?C(O,z):console.warn("SVGLoader: 'use node' references non-existent node id: "+y1);break}L1&&(z.fill!==void 0&&z.fill!=="none"&&L1.color.setStyle(z.fill,hN),R(L1,d1),Z.push(L1),L1.userData={node:$,style:z});const k1=$.childNodes;for(let A1=0;A10?d1.copy(J[J.length-1]):d1.identity())}function r($){const z=new H6,W=new M1,N=new M1,L1=new M1;let k1=!0,A1=!1;const y1=$.getAttribute("d");if(y1===""||y1==="none")return null;const O=y1.match(/[a-df-z][^a-df-z]*/ig);for(let v1=0,n1=O.length;v10&&(W.copy(L1),z.currentPath.currentPoint.copy(W),k1=!0);break;default:console.warn(u1)}A1=!1}return z}function i($){if(!(!$.sheet||!$.sheet.cssRules||!$.sheet.cssRules.length))for(let z=0;z<$.sheet.cssRules.length;z++){const W=$.sheet.cssRules[z];if(W.type!==1)continue;const N=W.selectorText.split(/,/gm).filter(Boolean).map(L1=>L1.trim());for(let L1=0;L1A1!==""));f1[N[L1]]=Object.assign(f1[N[L1]]||{},k1)}}}function o($,z,W,N,L1,k1,A1,y1){if(z==0||W==0){$.lineTo(y1.x,y1.y);return}N=N*Math.PI/180,z=Math.abs(z),W=Math.abs(W);const O=(A1.x-y1.x)/2,v1=(A1.y-y1.y)/2,n1=Math.cos(N)*O+Math.sin(N)*v1,u1=-Math.sin(N)*O+Math.cos(N)*v1;let a1=z*z,R1=W*W;const q=n1*n1,S=u1*u1,T=q/a1+S/R1;if(T>1){const T1=Math.sqrt(T);z=T1*z,W=T1*W,a1=z*z,R1=W*W}const r1=a1*S+R1*q,D1=(a1*R1-r1)/r1;let b1=Math.sqrt(Math.max(0,D1));L1===k1&&(b1=-b1);const Q1=b1*z*u1/W,Y1=-b1*W*n1/z,z1=Math.cos(N)*Q1-Math.sin(N)*Y1+(A1.x+y1.x)/2,K1=Math.sin(N)*Q1+Math.cos(N)*Y1+(A1.y+y1.y)/2,a0=s(1,0,(n1-Q1)/z,(u1-Y1)/W),v0=s((n1-Q1)/z,(u1-Y1)/W,(-n1-Q1)/z,(-u1-Y1)/W)%(Math.PI*2);$.currentPath.absellipse(z1,K1,z,W,a0,a0+v0,k1===0,N)}function s($,z,W,N){const L1=$*W+z*N,k1=Math.sqrt($*$+z*z)*Math.sqrt(W*W+N*N);let A1=Math.acos(Math.max(-1,Math.min(1,L1/k1)));return $*N-z*W<0&&(A1=-A1),A1}function l($){const z=k($.getAttribute("x")||0),W=k($.getAttribute("y")||0),N=k($.getAttribute("rx")||$.getAttribute("ry")||0),L1=k($.getAttribute("ry")||$.getAttribute("rx")||0),k1=k($.getAttribute("width")),A1=k($.getAttribute("height")),y1=1-.551915024494,O=new H6;return O.moveTo(z+N,W),O.lineTo(z+k1-N,W),(N!==0||L1!==0)&&O.bezierCurveTo(z+k1-N*y1,W,z+k1,W+L1*y1,z+k1,W+L1),O.lineTo(z+k1,W+A1-L1),(N!==0||L1!==0)&&O.bezierCurveTo(z+k1,W+A1-L1*y1,z+k1-N*y1,W+A1,z+k1-N,W+A1),O.lineTo(z+N,W+A1),(N!==0||L1!==0)&&O.bezierCurveTo(z+N*y1,W+A1,z,W+A1-L1*y1,z,W+A1-L1),O.lineTo(z,W+L1),(N!==0||L1!==0)&&O.bezierCurveTo(z,W+L1*y1,z+N*y1,W,z+N,W),O}function d($){function z(k1,A1,y1){const O=k(A1),v1=k(y1);L1===0?N.moveTo(O,v1):N.lineTo(O,v1),L1++}const W=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new H6;let L1=0;return $.getAttribute("points").replace(W,z),N.currentPath.autoClose=!0,N}function g($){function z(k1,A1,y1){const O=k(A1),v1=k(y1);L1===0?N.moveTo(O,v1):N.lineTo(O,v1),L1++}const W=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new H6;let L1=0;return $.getAttribute("points").replace(W,z),N.currentPath.autoClose=!1,N}function A($){const z=k($.getAttribute("cx")||0),W=k($.getAttribute("cy")||0),N=k($.getAttribute("r")||0),L1=new n5;L1.absarc(z,W,N,0,Math.PI*2);const k1=new H6;return k1.subPaths.push(L1),k1}function p($){const z=k($.getAttribute("cx")||0),W=k($.getAttribute("cy")||0),N=k($.getAttribute("rx")||0),L1=k($.getAttribute("ry")||0),k1=new n5;k1.absellipse(z,W,N,L1,0,Math.PI*2);const A1=new H6;return A1.subPaths.push(k1),A1}function L($){const z=k($.getAttribute("x1")||0),W=k($.getAttribute("y1")||0),N=k($.getAttribute("x2")||0),L1=k($.getAttribute("y2")||0),k1=new H6;return k1.moveTo(z,W),k1.lineTo(N,L1),k1.currentPath.autoClose=!1,k1}function x($,z){z=Object.assign({},z);let W={};if($.hasAttribute("class")){const A1=$.getAttribute("class").split(/\s/).filter(Boolean).map(y1=>y1.trim());for(let y1=0;y10&&z.premultiply(J[J.length-1]),d1.copy(z),J.push(z),z}function b($){const z=new B0,W=l1;if($.nodeName==="use"&&($.hasAttribute("x")||$.hasAttribute("y"))){const N=k($.getAttribute("x")),L1=k($.getAttribute("y"));z.translate(N,L1)}if($.hasAttribute("transform")){const N=$.getAttribute("transform").split(")");for(let L1=N.length-1;L1>=0;L1--){const k1=N[L1].trim();if(k1==="")continue;const A1=k1.indexOf("("),y1=k1.length;if(A1>0&&A1=1){const n1=v1[0];let u1=0;v1.length>=2&&(u1=v1[1]),W.translate(n1,u1)}break;case"rotate":if(v1.length>=1){let n1=0,u1=0,a1=0;n1=v1[0]*Math.PI/180,v1.length>=3&&(u1=v1[1],a1=v1[2]),i1.makeTranslation(-u1,-a1),g1.makeRotation(n1),F.multiplyMatrices(g1,i1),i1.makeTranslation(u1,a1),W.multiplyMatrices(i1,F)}break;case"scale":if(v1.length>=1){const n1=v1[0];let u1=n1;v1.length>=2&&(u1=v1[1]),W.scale(n1,u1)}break;case"skewX":v1.length===1&&W.set(1,Math.tan(v1[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":v1.length===1&&W.set(1,0,0,Math.tan(v1[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":v1.length===6&&W.set(v1[0],v1[2],v1[4],v1[1],v1[3],v1[5],0,0,1);break}}z.premultiply(W)}}return z}function R($,z){function W(A1){C1.set(A1.x,A1.y,1).applyMatrix3(z),A1.set(C1.x,C1.y)}function N(A1){const y1=A1.xRadius,O=A1.yRadius,v1=Math.cos(A1.aRotation),n1=Math.sin(A1.aRotation),u1=new G(y1*v1,y1*n1,0),a1=new G(-O*n1,O*v1,0),R1=u1.applyMatrix3(z),q=a1.applyMatrix3(z),S=l1.set(R1.x,q.x,0,R1.y,q.y,0,0,0,1),T=i1.copy(S).invert(),b1=g1.copy(T).transpose().multiply(T).elements,Q1=P(b1[0],b1[1],b1[4]),Y1=Math.sqrt(Q1.rt1),z1=Math.sqrt(Q1.rt2);if(A1.xRadius=1/Y1,A1.yRadius=1/z1,A1.aRotation=Math.atan2(Q1.sn,Q1.cs),!((A1.aEndAngle-A1.aStartAngle)%(2*Math.PI){const{x:p0,y:l0}=new G(Math.cos(y0),Math.sin(y0),0).applyMatrix3(T1);return Math.atan2(l0,p0)};A1.aStartAngle=b0(A1.aStartAngle),A1.aEndAngle=b0(A1.aEndAngle),D(z)&&(A1.aClockwise=!A1.aClockwise)}}function L1(A1){const y1=X(z),O=_(z);A1.xRadius*=y1,A1.yRadius*=O;const v1=y1>Number.EPSILON?Math.atan2(z.elements[1],z.elements[0]):Math.atan2(-z.elements[3],z.elements[4]);A1.aRotation+=v1,D(z)&&(A1.aStartAngle*=-1,A1.aEndAngle*=-1,A1.aClockwise=!A1.aClockwise)}const k1=$.subPaths;for(let A1=0,y1=k1.length;A1Number.EPSILON}function X($){const z=$.elements;return Math.sqrt(z[0]*z[0]+z[1]*z[1])}function _($){const z=$.elements;return Math.sqrt(z[3]*z[3]+z[4]*z[4])}function P($,z,W){let N,L1,k1,A1,y1;const O=$+W,v1=$-W,n1=Math.sqrt(v1*v1+4*z*z);return O>0?(N=.5*(O+n1),y1=1/N,L1=$*y1*W-z*y1*z):O<0?L1=.5*(O-n1):(N=.5*n1,L1=-.5*n1),v1>0?k1=v1+n1:k1=v1-n1,Math.abs(k1)>2*Math.abs(z)?(y1=-2*z/k1,A1=1/Math.sqrt(1+y1*y1),k1=y1*A1):Math.abs(z)===0?(k1=1,A1=0):(y1=-.5*k1/z,k1=1/Math.sqrt(1+y1*y1),A1=y1*k1),v1>0&&(y1=k1,k1=-A1,A1=y1),{rt1:N,rt2:L1,cs:k1,sn:A1}}const Z=[],f1={},J=[],l1=new B0,i1=new B0,g1=new B0,F=new B0,e1=new M1,C1=new G,d1=new B0,I1=new DOMParser().parseFromString(e,"image/svg+xml");return C(I1.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:Z,xml:I1.documentElement}}static createShapes(e){const C={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:C.ORIGIN,t:0};function i(E,m,v,M){const k=E.x,I=m.x,b=v.x,R=M.x,D=E.y,U=m.y,X=v.y,_=M.y,P=(R-b)*(D-X)-(_-X)*(k-b),Z=(I-k)*(D-X)-(U-D)*(k-b),f1=(_-X)*(I-k)-(R-b)*(U-D),J=P/f1,l1=Z/f1;if(f1===0&&P!==0||J<=0||J>=1||l1<0||l1>1)return null;if(P===0&&f1===0){for(let i1=0;i1<2;i1++)if(o(i1===0?v:M,E,m),r.loc==C.ORIGIN){const g1=i1===0?v:M;return{x:g1.x,y:g1.y,t:r.t}}else if(r.loc==C.BETWEEN){const g1=+(k+r.t*(I-k)).toPrecision(10),F=+(D+r.t*(U-D)).toPrecision(10);return{x:g1,y:F,t:r.t}}return null}else{for(let F=0;F<2;F++)if(o(F===0?v:M,E,m),r.loc==C.ORIGIN){const e1=F===0?v:M;return{x:e1.x,y:e1.y,t:r.t}}const i1=+(k+J*(I-k)).toPrecision(10),g1=+(D+J*(U-D)).toPrecision(10);return{x:i1,y:g1,t:J}}}function o(E,m,v){const M=v.x-m.x,k=v.y-m.y,I=E.x-m.x,b=E.y-m.y,R=M*b-I*k;if(E.x===m.x&&E.y===m.y){r.loc=C.ORIGIN,r.t=0;return}if(E.x===v.x&&E.y===v.y){r.loc=C.DESTINATION,r.t=1;return}if(R<-Number.EPSILON){r.loc=C.LEFT;return}if(R>Number.EPSILON){r.loc=C.RIGHT;return}if(M*I<0||k*b<0){r.loc=C.BEHIND;return}if(Math.sqrt(M*M+k*k)_.t<=X.t+Number.EPSILON&&_.t>=X.t-Number.EPSILON)===void 0&&(v.push(X),M.push(new M1(X.x,X.y)))}}return M}function l(E,m,v){const M=new M1;m.getCenter(M);const k=[];return v.forEach(I=>{I.boundingBox.containsPoint(M)&&s(E,I.points).forEach(R=>{k.push({identifier:I.identifier,isCW:I.isCW,point:R})})}),k.sort((I,b)=>I.point.x-b.point.x),k}function d(E,m,v,M,k){(k==null||k==="")&&(k="nonzero");const I=new M1;E.boundingBox.getCenter(I);const b=[new M1(v,I.y),new M1(M,I.y)],R=l(b,E.boundingBox,m);R.sort((Z,f1)=>Z.point.x-f1.point.x);const D=[],U=[];R.forEach(Z=>{Z.identifier===E.identifier?D.push(Z):U.push(Z)});const X=D[0].point.x,_=[];let P=0;for(;P0&&_[_.length-1]===U[P].identifier?_.pop():_.push(U[P].identifier),P++;if(_.push(E.identifier),k==="evenodd"){const Z=_.length%2===0,f1=_[_.length-2];return{identifier:E.identifier,isHole:Z,for:f1}}else if(k==="nonzero"){let Z=!0,f1=null,J=null;for(let l1=0;l1<_.length;l1++){const i1=_[l1];Z?(J=m[i1].isCW,Z=!1,f1=i1):J!==m[i1].isCW&&(J=m[i1].isCW,Z=!0)}return{identifier:E.identifier,isHole:Z,for:f1}}else console.warn('fill-rule: "'+k+'" is currently not implemented.')}let g=999999999,A=-999999999,p=e.subPaths.map(E=>{const m=E.getPoints();let v=-999999999,M=999999999,k=-999999999,I=999999999;for(let b=0;bv&&(v=R.y),R.yk&&(k=R.x),R.x=I&&(g=I-1),{curves:E.curves,points:m,isCW:Y8.isClockWise(m),identifier:-1,boundingBox:new Ck(new M1(I,M),new M1(k,v))}});p=p.filter(E=>E.points.length>1);for(let E=0;Ed(E,p,g,A,e.userData?e.userData.style.fillRule:void 0)),x=[];return p.forEach(E=>{if(!L[E.identifier].isHole){const v=new C5;v.curves=E.curves,L.filter(k=>k.isHole&&k.for===E.identifier).forEach(k=>{const I=p[k.identifier],b=new n5;b.curves=I.curves,v.holes.push(b)}),x.push(v)}}),x}static getStrokeStyle(e,n,C,r,i){return e=e!==void 0?e:1,n=n!==void 0?n:"#000",C=C!==void 0?C:"miter",r=r!==void 0?r:"butt",i=i!==void 0?i:4,{strokeColor:n,strokeWidth:e,strokeLineJoin:C,strokeLineCap:r,strokeMiterLimit:i}}static pointsToStroke(e,n,C,r){const i=[],o=[],s=[];if(Le.pointsToStrokeWithBuffers(e,n,C,r,i,o,s)===0)return null;const l=new R0;return l.setAttribute("position",new s0(i,3)),l.setAttribute("normal",new s0(o,3)),l.setAttribute("uv",new s0(s,2)),l}static pointsToStrokeWithBuffers(e,n,C,r,i,o,s,l){const d=new M1,g=new M1,A=new M1,p=new M1,L=new M1,x=new M1,E=new M1,m=new M1,v=new M1,M=new M1,k=new M1,I=new M1,b=new M1,R=new M1,D=new M1,U=new M1,X=new M1;C=C!==void 0?C:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=v1(e);const _=e.length;if(_<2)return 0;const P=e[0].equals(e[_-1]);let Z,f1=e[0],J;const l1=n.strokeWidth/2,i1=1/(_-1);let g1=0,F,e1,C1,d1,I1=!1,j1=0,$=l*3,z=l*2;W(e[0],e[1],d).multiplyScalar(l1),m.copy(e[0]).sub(d),v.copy(e[0]).add(d),M.copy(m),k.copy(v);for(let n1=1;n1<_;n1++){Z=e[n1],n1===_-1?P?J=e[1]:J=void 0:J=e[n1+1];const u1=d;if(W(f1,Z,u1),A.copy(u1).multiplyScalar(l1),I.copy(Z).sub(A),b.copy(Z).add(A),F=g1+i1,e1=!1,J!==void 0){W(Z,J,g),A.copy(g).multiplyScalar(l1),R.copy(Z).sub(A),D.copy(Z).add(A),C1=!0,A.subVectors(J,f1),u1.dot(A)<0&&(C1=!1),n1===1&&(I1=C1),A.subVectors(J,Z),A.normalize();const a1=Math.abs(u1.dot(A));if(a1>Number.EPSILON){const R1=l1/a1;A.multiplyScalar(-R1),p.subVectors(Z,f1),L.copy(p).setLength(R1).add(A),U.copy(L).negate();const q=L.length(),S=p.length();p.divideScalar(S),x.subVectors(J,Z);const T=x.length();switch(x.divideScalar(T),p.dot(U)=r&&a1.push(n1[R1]);return a1.push(n1[n1.length-1]),a1}}}function fN(t,e,n,C,r,i,o){const s=[],l=C0([]),d=C0([]);f6(l,s);const g=C0(void 0),A=d6(n,C,r,{...l6,...a6(t.root.size),...g6(l),...c6(d)},Zo,P=>P.add("aspectRatio",g)),p=C0(void 0),L=r6();x5(p,L,t,A,i,s);const x=o6(A,L,t.root.pixelSize);s6(i,x,s);const E=w5(t.childrenMatrix,x),m=L5(t.clippingRect,E,L.size,t.root.pixelSize),v=R3(A),M=h9(A,X2.Panel,v,t.orderInfo);s.push(P=>E4(A,M,v,t.root.panelGroupManager,E,L.size,void 0,L.borderInset,t.clippingRect,m,_3(),P));const k=h9(void 0,X2.Svg,void 0,M),I=W0(()=>b8(e.value)),b=C0(void 0),R=Dn(t.root,t.clippingRect,s);lM(b,pN,s,I,t.root,R,t.clippingRect,k,g),aM(A,b,s,t.root);const D=gN(L,t.root.pixelSize,b,g,m,s),U=Yo();Xo(o,U,t.root.pixelSize,s);const X=Jo(U,E,t.root.pixelSize);qo(A,U,L,E,m,t.clippingRect,k,t.root.panelGroupManager,s);const _=Ko(U,t.anyAncestorScrollable,L,i,C,t.root.pixelSize,t.root.onFrameSet,s);return i6(n,C,L.size,s),v5(n,C,m,s),Object.assign(L,{anyAncestorScrollable:xh(L.scrollable,t.anyAncestorScrollable),clippingRect:Vo(E,L,t.root.pixelSize,t.clippingRect),childrenMatrix:X,node:p,orderInfo:k,root:t.root,initializers:s,centerGroup:D,handlers:u6(n,C,r,l,d,_),interactionPanel:Q3(k,t.root,t.clippingRect,L.size,s)})}function gN(t,e,n,C,r,i){const o=new $4;return o.matrixAutoUpdate=!1,i.push(()=>t0(()=>{hM(o.position,o.scale,t.size,t.paddingInset,t.borderInset,e.value,C.value??1),o.updateMatrix()}),()=>t0(()=>{const s=n.value;if(s!=null)return o.add(s),()=>o.remove(s)}),()=>t0(()=>void(o.visible=n.value!=null&&!r.value))),o}const AN=new Le,Yr=new V2,O5=new G;async function pN(t,e,n,C,r,i){const o=new $4;o.matrixAutoUpdate=!1;const s=await AN.loadAsync(t);Yr.makeEmpty();for(const d of s.paths){const g=Le.createShapes(d),A=new K9;A.transparent=!0,A.depthWrite=!1,A.toneMapped=!1,A.clippingPlanes=n;for(const p of g){const L=new fe(p);L.computeBoundingBox(),Yr.union(L.boundingBox);const x=new t2(L,A);x.matrixAutoUpdate=!1,x.raycast=ve(x,x.raycast,e.object,C,r),S3(x,e,r),x.userData.color=d.color,x.scale.y=-1,x.updateMatrix(),o.add(x)}}Yr.getSize(O5),i.value=O5.x/O5.y;const l=1/O5.y;return o.scale.set(1,1,1).multiplyScalar(l),Yr.getCenter(O5),O5.y*=-1,o.position.copy(O5).negate().multiplyScalar(l),o.updateMatrix(),o}function vN(t,e,n,C,r,i,o,s){const l=[],d=C0([]),g=C0([]);f6(d,l);const A=d6(r,i,o,{...l6,...a6(t.root.size),...g6(d),...c6(g)},Zo,b=>{b.add("aspectRatio",n/C),b.add("width",n),b.add("height",C)}),p=r6();x5(void 0,p,t,A,s,l);const L=o6(A,p,t.root.pixelSize);s6(s,L,l);const x=w5(t.childrenMatrix,L),E=L5(t.clippingRect,x,p.size,t.root.pixelSize),m=R3(A),v=h9(A,X2.Panel,m,t.orderInfo);l.push(b=>E4(A,v,m,t.root.panelGroupManager,x,p.size,void 0,p.borderInset,t.clippingRect,E,_3(),b));const M=h9(void 0,X2.Svg,void 0,v),k=Dn(t.root,t.clippingRect,l),I=wN(A,e,n,C,t,M,p,E,k,l);return i6(r,i,p.size,l),v5(r,i,E,l),Object.assign(p,{initializers:l,iconGroup:I,handlers:u6(r,i,o,d,g),interactionPanel:Q3(M,t.root,t.clippingRect,p.size,l)})}const LN=new Le;function wN(t,e,n,C,r,i,o,s,l,d){const g=new $4;g.matrixAutoUpdate=!1;const A=LN.parse(e);for(const L of A.paths){const x=Le.createShapes(L),E=new K9;E.transparent=!0,E.depthWrite=!1,E.toneMapped=!1,E.clippingPlanes=l;for(const m of x){const v=new fe(m);v.computeBoundingBox();const M=new t2(v,E);M.matrixAutoUpdate=!1,M.raycast=ve(M,M.raycast,r.root.object,r.clippingRect,i),S3(M,r.root,i),M.userData.color=L.color,M.scale.y=-1,M.updateMatrix(),g.add(M)}}const p=n/C;return d.push(()=>t0(()=>{hM(g.position,g.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,p),g.position.x-=g.scale.x*p/2,g.position.y+=g.scale.x/2,g.scale.divideScalar(C),g.updateMatrix()}),()=>t0(()=>void(g.visible=!s.value))),aM(t,g,d,r.root),g}function xN(t,e,n,C,r,i){const o=C0([]),s=C0([]),l=[];f6(o,l);const d=d6(e,n,C,{...l6,...a6(t.root.size),...g6(o),...c6(s)}),g=r6();x5(void 0,g,t,d,r,l);const A=o6(d,g,t.root.pixelSize);s6(r,A,l);const p=w5(t.childrenMatrix,A),L=L5(t.clippingRect,p,g.size,t.root.pixelSize),x=h9(d,X2.Custom,void 0,t.orderInfo),E=Dn(t.root,t.clippingRect,l);return l.push(m=>{const v=i.current;if(v==null)return m;if(v.matrixAutoUpdate=!1,v.material instanceof K2){const M=v.material;M.clippingPlanes=E,M.needsUpdate=!0,M.shadowSide=Q8,m.push(()=>t0(()=>M.depthTest=t.root.depthTest.value))}return v.raycast=ve(v,v.raycast,t.root.object,t.clippingRect,x),S3(v,t.root,x),m.push(t0(()=>v.renderOrder=t.root.renderOrder.value),t0(()=>v.receiveShadow=d.value.read("receiveShadow",!1)),t0(()=>v.castShadow=d.value.read("castShadow",!1)),t0(()=>{if(g.size.value==null)return;const[M,k]=g.size.value,I=t.root.pixelSize.value;v.scale.set(M*I,k*I,1),v.updateMatrix()}),t0(()=>void(v.visible=!L.value))),m}),i6(e,n,g.size,l),v5(e,n,L,l),Object.assign(g,{root:t.root,handlers:u6(e,n,C,o,s),initializers:l})}function mN(t,e,n,C,r,i){const o=C0([]),s=C0([]),l=[],d=r6();f6(o,l);const g=C0(new G(1,1,1)),A=W0(()=>g.value.x/g.value.y),p=d6(e,n,C,{...l6,...a6(t.root.size),...g6(o),...c6(s)},Zo,k=>k.add("aspectRatio",A));x5(void 0,d,t,p,r,l);const L=o6(p,d,t.root.pixelSize);s6(r,L,l);const x=w5(t.childrenMatrix,L),E=L5(t.clippingRect,x,d.size,t.root.pixelSize),m=R3(p),v=h9(p,X2.Panel,m,t.orderInfo);l.push(k=>E4(p,v,m,t.root.panelGroupManager,x,d.size,void 0,d.borderInset,t.clippingRect,E,_3(),k));const M=h9(void 0,X2.Object,void 0,v);return i6(e,n,d.size,l),v5(e,n,E,l),Object.assign(d,{remeasureContent:EN(p,t.root,d,t.clippingRect,M,g,i,l),interactionPanel:Q3(v,t.root,t.clippingRect,d.size,l),handlers:u6(e,n,C,o,s),initializers:l})}const Ha=new V2,Bv=new G().setScalar(.001),kN=new G,MN="back";function EN(t,e,n,C,r,i,o,s){const l=Dn(e,C,s),d=P0(t,"depthAlign",MN),g=P0(t,"keepAspectRatio",!0),A=new G,p=new G,L=(E,m,v)=>E?.traverse(M=>{M instanceof t2&&(M.renderOrder=m,M.material instanceof K2&&(M.material.depthTest=v))}),x=()=>{const E=o.current;if(E==null){A.copy(Bv),p.set(0,0,0);return}E.traverse(v=>{v instanceof t2&&(S3(v,e,r),v.material.clippingPlanes=l,v.material.needsUpdate=!0,v.raycast=ve(v,v.raycast,e.object,C,r))});const m=E.parent;E.parent=null,Ha.setFromObject(E),Ha.getSize(A).max(Bv),i.value=A,m!=null&&(E.parent=m),Ha.getCenter(p)};return s.push(()=>t0(()=>L(o.current,e.renderOrder.value,e.depthTest.value)),E=>{const m=o.current;return m==null||(x(),E.push(t0(()=>{const{size:{value:v},paddingInset:{value:M},borderInset:{value:k}}=n;if(v==null||M==null||k==null)return;const[I,b]=v,[R,D,U,X]=M,[_,P,Z,f1]=k,J=R+_,l1=D+P,i1=U+Z,g1=X+f1,F=I-g1-l1,e1=b-J-i1,C1=e.pixelSize.value;m.scale.set(F*C1,e1*C1,g.value?e1*C1*A.z/A.y:A.z).divide(A),m.position.copy(p).negate(),m.position.z-=BN[d.value]*A.z,m.position.multiply(m.scale),m.position.add(kN.set((g1-l1)*.5*C1,(i1-J)*.5*C1,0)),m.updateMatrix()}))),E}),()=>{L(o.current,e.renderOrder.peek(),e.depthTest.peek()),x()}}function yN(t,e,n,C,r,i){if(r instanceof G2){const o=2*Math.tan(Math.PI*r.fov/360)*C;n.value=o/i,e.value=o,t.value=o*r.aspect}if(r instanceof ue){const o=r.top-r.bottom,s=r.right-r.left;n.value=o/i,e.value=o,t.value=s}}function u8(t){const e=t.length;for(let n=0;no){e.setScalar(R*i);return}e.setScalar(b*i/o)}function b8(t){return t instanceof J2?t.value:t}function Hn(t){const e=new Map;return(n,C)=>{if(typeof n!="object")throw new Error(`Invalid properties "${n}"`);for(const r in n){const i=n[r];if(i===void 0)return;let o=e.get(i);o==null&&e.set(i,o=W0(()=>t()?b8(i):void 0)),C.add(r,o)}}}function mh(t,e){const n=e.map(C=>P0(t,C,0));return W0(()=>n.map(C=>C.value))}function f6(t,e){e.push(()=>()=>fM(t))}function IN(t,e,n,C,r,i){let o=!1;zo(e,n,C,l=>{"hover"in l&&(o=!0)});const s=e?.cursor??n?.cursor??i;if(!o&&e?.onHoverChange==null&&n?.onHoverChange==null&&s==null){r.value.length=0;return}h3("onPointerOver",t,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(n?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),s!=null&&SN(r,s)}),h3("onPointerOut",t,({nativeEvent:l})=>{r.value=r.value.filter(d=>d!=l.pointerId),r.value.length===0&&(n?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),fM(r)})}function g6(t){return{hover:Hn(()=>t.value.length>0)}}const Su=[],Ai=[];function SN(t,e){Su.push(t),Ai.push(e),document.body.style.cursor=e}function fM(t){const e=Su.indexOf(t);e!=-1&&(Su.splice(e,1),Ai.splice(e,1),document.body.style.cursor=Ai[Ai.length-1]??"default")}const _N=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let Iv;function QN(){return Iv??=Tn({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),Iv}function RN(t,e,n,C,r,i,o,s){const l=h9(void 0,X2.Panel,$o,r),d=C0(void 0);s.push(()=>t0(()=>{const p=n.value;p==null&&(d.value=void 0),d.value=p;const L=setInterval(()=>d.value=d.peek()==null?p:void 0,500);return()=>clearInterval(L)}));const g=mh(t,_N),A=P0(t,"caretWidth",1.5);s.push(p=>E4(t,l,void 0,o,e,W0(()=>{const L=d.value;return L==null?[0,0]:[A.value,L[2]]}),W0(()=>{const L=d.value;return L==null?[0,0]:[L[0]-A.value/2,L[1]]}),g,i,C,QN(),p))}const bN=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let Sv;function DN(){return Sv??=Tn({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),Sv}function TN(t,e,n,C,r,i,o,s){const l=[],d=h9(void 0,X2.Panel,$o,r),g=mh(t,bN);return s.push(()=>t0(()=>{const A=n.value,p=A.length;for(let x=0;x()=>{const A=l.length;for(let p=0;pt.value)}}const PN=new Set;function NN(t){PN.add(t)}function jN(t,e,n,C,r,i,o,s,l){const d=C0([]),g=C0([]),A=C0(!1),p=[];f6(d,p);const L=d6(i,o,s,{...l6,...a6(t.root.size),...g6(d),...c6(g),...HN(A)},void 0,g1=>{zo(i.value,o.value,s.value,F=>{g1.add("caretOpacity",F.opacity),g1.add("caretColor",F.color)})}),x=r6(),E=C0(void 0);x5(E,x,t,L,l,p);const m=o6(L,x,t.root.pixelSize);s6(l,m,p);const v=w5(t.childrenMatrix,m),M=L5(t.clippingRect,v,x.size,t.root.pixelSize),k=R3(L),I=h9(L,X2.Panel,k,t.orderInfo);p.push(g1=>E4(L,I,k,t.root.panelGroupManager,v,x.size,void 0,x.borderInset,t.clippingRect,M,_3(),g1));const b={},R=C0([]),D=C0(void 0),U=C0(void 0);RN(L,v,D,M,I,t.clippingRect,t.root.panelGroupManager,p);const X=TN(L,v,R,M,I,t.clippingRect,t.root.panelGroupManager,p),_=$k(L,r,t.root.renderer,p),P=h9(void 0,X2.Text,Jk(_),X),Z=Xk(L,e,v,E,x,M,t.clippingRect,P,_,t.root.gylphGroupManager,U,R,D,b,p);p.push(()=>t0(()=>E.value?.setMeasureFunc(Z))),i6(i,o,x.size,p),v5(i,o,M,p);const f1=P0(L,"disabled",!1),J=FN(e,U,n,C,f1,p),l1=()=>{A.peek()||J.peek()?.focus()};WN(J,A,p);const i1=UN(x,J,b,U,l1,f1);return Object.assign(x,{focus:l1,root:t.root,element:J,node:E,interactionPanel:Q3(I,t.root,t.clippingRect,x.size,p),handlers:u6(i,o,s,d,g,i1,"text"),initializers:p})}function UN(t,e,n,C,r,i){return W0(()=>{if(i.value)return;let o;return{onPointerDown:s=>{if(s.defaultPrevented||s.uv==null||n.current==null)return;NN(s.nativeEvent),s.stopPropagation?.();const l=_v(t,s.uv,n.current);o=l,setTimeout(()=>{r(),C.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:s=>{o=void 0},onPointerLeave:s=>{o=void 0},onPointerMove:s=>{if(o==null||s.uv==null||n.current==null)return;s.stopPropagation?.();const l=_v(t,s.uv,n.current),d=Math.min(o,l),g=Math.max(o,l),A=o{r(),C.value=[d,g],e.peek()?.setSelectionRange(d,g,A)})}}})}function FN(t,e,n,C,r,i){const o=C0(void 0);return i.push(s=>{const l=document.createElement(C?"textarea":"input"),d=l.style;d.setProperty("position","absolute"),d.setProperty("left","-1000vw"),d.setProperty("pointerEvents","none"),d.setProperty("opacity","0"),l.addEventListener("input",()=>{n?.(l.value),g()});const g=()=>{const{selectionStart:A,selectionEnd:p}=l;if(A==null||p==null){e.value=void 0;return}const L=e.peek();L!=null&&L[0]===A&&L[1]===p||(e.value=[A,p])};return l.addEventListener("keydown",g),l.addEventListener("keyup",g),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,s.push(()=>{o.value=void 0,l.remove()},t0(()=>l.value=t.value),t0(()=>l.disabled=r.value)),s}),o}function WN(t,e,n){n.push(()=>t0(()=>{const C=t.value;if(C==null)return;const r=()=>e.value=document.activeElement===C;return r(),C.addEventListener("focus",r),C.addEventListener("blur",r),()=>{C.removeEventListener("focus",r),C.removeEventListener("blur",r)}}))}function _v({size:t,borderInset:e,paddingInset:n},C,r){const i=t.peek(),o=e.peek(),s=n.peek();if(i==null||o==null||s==null)return 0;const[l,d]=i,[g,,,A]=o,[p,,,L]=s,x=C.x*l-A-L,E=-C.y*d+g+p;return r.getCharIndex(x,E)}new M1;const ON=u.createContext(void 0);function GN(){return u.useContext(ON)}const Qv=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],A6=u.forwardRef(({handlers:t,userHandlers:e,children:n},C)=>{const[r,i]=u.useState(()=>t.value);u.useEffect(()=>t0(()=>{const s=t.value,l=void setTimeout(()=>i(s),0);return()=>clearTimeout(l)}),[t]);const o=u.useMemo(()=>{const s={...r},l=Qv.length;for(let d=0;d({style:C0(void 0),properties:C0(void 0),default:C0(void 0)}),[]);return e.properties.value=t,e.default.value=GN(),e}function v6(t,e,n,C,r,i){u.useImperativeHandle(t,()=>{const{scrollPosition:o,paddingInset:s,borderInset:l,relativeCenter:d,size:g,maxScrollPosition:A}=C;return{setStyle:p=>n.value=p,pixelSize:e,borderInset:l,paddingInset:s,center:d,maxScrollPosition:A,size:g,interactionPanel:r instanceof t2?r:r.current,scrollPosition:o,...i}},[C,e,r,i,n])}u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>rN(n,i.style,i.properties,i.default,C,r),[n,i]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[n,i,o]),v6(e,n.root.pixelSize,i.style,o,o.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:[h.jsx("primitive",{object:o.interactionPanel}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:o,children:t.children})})]})});const zN=u.forwardRef((t,e)=>{const n=mk(g=>g.gl);n.setTransparentSort(jH);const C=Ae(),r=u.useRef(null),i=u.useRef(null),o=u.useMemo(()=>C0(void 0),[]);o.value=t.pixelSize;const s=p6(t),l=u.useMemo(()=>new Set,[]),d=u.useMemo(()=>qP(W0(()=>b8(o.value)??KP),s.style,s.properties,s.default,r,i,()=>C.getState().camera,n,l),[]);return u.useEffect(()=>{const g=[];return h6(d.initializers,g),()=>u8(g)},[d]),kk((g,A)=>{for(const p of l)p(A)}),v6(e,d.root.pixelSize,s.style,d,d.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:d.handlers,ref:r,children:[h.jsx("primitive",{object:d.interactionPanel}),h.jsx("object3D",{ref:i,children:h.jsx(pe,{value:d,children:t.children})})]})}),kh=u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>C0(void 0),[]);o.value=t.src;const s=u.useMemo(()=>oN(n,o,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),v6(e,n.root.pixelSize,i.style,s,s.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:s.handlers,children:[h.jsx("primitive",{object:s.interactionPanel}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:s,children:t.children})})]})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>C0(void 0),[]);i.value=t.children;const o=u.useMemo(()=>C0(void 0),[]);o.value=Qk();const s=u.useMemo(()=>dN(n,i,o,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),v6(e,n.root.pixelSize,r.style,s,s.interactionPanel),h.jsx(A6,{userHandlers:t,handlers:s.handlers,ref:C,children:h.jsx("primitive",{object:s.interactionPanel})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>C0(""),[]);o.value=t.src;const s=u.useMemo(()=>fN(n,o,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const l=[];return h6(s.initializers,l),()=>u8(l)},[s]),v6(e,n.root.pixelSize,i.style,s,s.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:s.handlers,children:[h.jsx("primitive",{object:s.interactionPanel}),h.jsx("primitive",{object:s.centerGroup}),h.jsx("object3D",{ref:r,children:h.jsx(pe,{value:s,children:t.children})})]})});const f=u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>vN(n,t.text,t.svgWidth,t.svgHeight,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const o=[];return h6(i.initializers,o),()=>u8(o)},[i]),v6(e,n.root.pixelSize,r.style,i,i.interactionPanel),h.jsxs(A6,{userHandlers:t,ref:C,handlers:i.handlers,children:[h.jsx("primitive",{object:i.interactionPanel}),h.jsx("primitive",{object:i.iconGroup})]})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=p6(t),i=u.useMemo(()=>C0(""),[]),o=u.useRef(t.value!=null);i.value=(o.current?t.value:t.defaultValue)??"";const s=u.useMemo(()=>W0(()=>b8(i.value)),[i]),l=u.useMemo(()=>C0(void 0),[]);l.value=Qk();const d=u.useMemo(()=>jN(n,s,g=>{o.current||(i.value=g),r.style.peek()?.onValueChange?.(g),r.properties.peek()?.onValueChange?.(g)},t.multiline??!1,l,r.style,r.properties,r.default,C),[]);return u.useEffect(()=>{const g=[];return h6(d.initializers,g),()=>u8(g)},[d]),u.useEffect(()=>t0(()=>{d.element.value!=null&&(d.element.value.tabIndex=t.tabIndex??0)}),[d,t.tabIndex]),v6(e,n.root.pixelSize,r.style,d,d.interactionPanel,u.useMemo(()=>({focus:d.focus,current:s}),[d.focus,s])),h.jsx(A6,{userHandlers:t,handlers:d.handlers,ref:C,children:h.jsx("primitive",{object:d.interactionPanel})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>xN(n,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[o]),v6(e,n.root.pixelSize,i.style,o,r),h.jsx(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:h.jsx(pe,{value:void 0,children:h.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:wh,customDepthMaterial:t.customDepthMaterial,customDistanceMaterial:t.customDistanceMaterial,children:t.children})})})});u.forwardRef((t,e)=>{const n=A5(),C=u.useRef(null),r=u.useRef(null),i=p6(t),o=u.useMemo(()=>mN(n,i.style,i.properties,i.default,C,r),[]);return u.useEffect(()=>{const s=[];return h6(o.initializers,s),()=>u8(s)},[o]),v6(e,n.root.pixelSize,i.style,o,o.interactionPanel),h.jsxs(A6,{userHandlers:t,handlers:o.handlers,ref:C,children:[h.jsx("primitive",{object:o.interactionPanel}),h.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:h.jsx(pe,{value:void 0,children:t.children})})]})});const VN=u.forwardRef((t,e)=>{const n=Ae(),[C,r,i]=u.useMemo(()=>[C0(1),C0(1),C0(1)],[]),o=mk(d=>d.camera),s=t.distanceToCamera??o.near+.01;u.useEffect(()=>{const d=({camera:g,size:{height:A}})=>bk(()=>yN(C,r,i,s,g,A));return d(n.getState()),n.subscribe(d)},[i,C,r,n,s]);const l=t.attachCamera??!0;return h.jsxs(h.Fragment,{children:[l&&h.jsx("primitive",{object:o}),yk(h.jsx("group",{"position-z":-s,children:h.jsx(zN,{ref:e,...t,sizeX:C,sizeY:r,pixelSize:i,children:t.children})}),o)]})});u.forwardRef(({src:t,...e},n)=>{const C=hh(Fo,t);return C.colorSpace=Q2,C.matrixAutoUpdate=!1,h.jsx(kh,{ref:n,src:C,...e})});u.forwardRef(({children:t,resolution:e=1,frames:n=1/0,renderPriority:C=0,eventPriority:r=0,...i},o)=>{const s=u.useMemo(()=>new R8(1,1,{minFilter:A2,magFilter:A2,type:L3}),[]),l=u.useRef(null),d=u.useMemo(()=>({events:{compute:$N.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);u.useEffect(()=>{if(l.current==null)return;const{size:A}=l.current,p=t0(()=>{if(A.value==null)return;const[L,x]=A.value;s.setSize(L,x),d.size.width=L,d.size.height=x});return()=>{p(),s.dispose()}},[s,d]),u.useImperativeHandle(o,()=>l.current,[]);const g=u.useMemo(()=>new sn,[]);return h.jsxs(h.Fragment,{children:[yk(h.jsxs(YN,{imageRef:l,renderPriority:C,frames:n,fbo:s,children:[t,h.jsx("group",{onPointerOver:()=>null})]}),g,d),h.jsx(kh,{src:s.texture,fit:"fill",keepAspectRatio:!1,...i,ref:l})]})});function $N({current:t},e,n,C){if(t==null||C==null)return!1;C.raycaster.camera||C.events.compute?.(e,C,C.previousRoot?.getState());const[r]=C.raycaster.intersectObject(t.interactionPanel);if(!r)return!1;const i=r.uv;if(!i)return!1;n.raycaster.setFromCamera(n.pointer.set(i.x*2-1,i.y*2-1),n.camera)}function YN({frames:t,renderPriority:e,children:n,fbo:C,imageRef:r}){const i=Ae();u.useEffect(()=>{if(r.current==null)return;const{size:d}=r.current;return t0(()=>{if(d.value==null)return;const[g,A]=d.value;i.setState({size:{width:g,height:A,top:0,left:0}})})});let o=0,s,l;return kk(d=>{(t===1/0||o{const n=u.useMemo(()=>C0(void 0),[]),C=u.useMemo(()=>C0(1),[]),r=u.useMemo(()=>document.createElement("video"),[]);return u.useEffect(()=>{if(t.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[t.autoplay,r]),r.playsInline=!0,r.volume=t.volume??1,r.preservesPitch=t.preservesPitch??!0,r.playbackRate=t.playbackRate??1,r.muted=t.muted??!1,r.loop=t.loop??!1,r.autoplay=t.autoplay??!1,u.useEffect(()=>{typeof t.src=="string"?r.src=t.src:r.srcObject=t.src;const i=()=>C.value=r.videoWidth/r.videoHeight;return i(),r.addEventListener("resize",i),()=>r.removeEventListener("resize",i)},[C,t.src,r]),u.useEffect(()=>{const i=new vm(r);return n.value=i,()=>i.dispose()},[n,r]),u.useImperativeHandle(e,()=>r,[r]),h.jsx(kh,{aspectRatio:C,...t,src:n})});const JN='',XN=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JN,svgWidth:24,svgHeight:24})),KN='',qN=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KN,svgWidth:24,svgHeight:24})),ZN='',ej=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZN,svgWidth:24,svgHeight:24})),tj='',nj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tj,svgWidth:24,svgHeight:24})),Cj='',rj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cj,svgWidth:24,svgHeight:24})),ij='',oj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ij,svgWidth:24,svgHeight:24})),sj='',lj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sj,svgWidth:24,svgHeight:24})),aj='',cj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aj,svgWidth:24,svgHeight:24})),uj='',dj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uj,svgWidth:24,svgHeight:24})),hj='',fj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hj,svgWidth:24,svgHeight:24})),gj='',Aj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gj,svgWidth:24,svgHeight:24})),pj='',vj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pj,svgWidth:24,svgHeight:24})),Lj='',wj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lj,svgWidth:24,svgHeight:24})),xj='',mj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xj,svgWidth:24,svgHeight:24})),kj='',Mj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kj,svgWidth:24,svgHeight:24})),Ej='',yj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ej,svgWidth:24,svgHeight:24})),Bj='',Ij=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bj,svgWidth:24,svgHeight:24})),Sj='',_j=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sj,svgWidth:24,svgHeight:24})),Qj='',Rj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qj,svgWidth:24,svgHeight:24})),bj='',Dj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bj,svgWidth:24,svgHeight:24})),Tj='',Hj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tj,svgWidth:24,svgHeight:24})),Pj='',Nj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pj,svgWidth:24,svgHeight:24})),jj='',Uj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jj,svgWidth:24,svgHeight:24})),Fj='',Wj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fj,svgWidth:24,svgHeight:24})),Oj='',Gj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oj,svgWidth:24,svgHeight:24})),zj='',Vj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zj,svgWidth:24,svgHeight:24})),$j='',Yj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$j,svgWidth:24,svgHeight:24})),Jj='',Xj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jj,svgWidth:24,svgHeight:24})),Kj='',qj=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kj,svgWidth:24,svgHeight:24})),Zj='',eU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zj,svgWidth:24,svgHeight:24})),tU='',nU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tU,svgWidth:24,svgHeight:24})),CU='',rU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CU,svgWidth:24,svgHeight:24})),iU='',oU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iU,svgWidth:24,svgHeight:24})),sU='',lU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sU,svgWidth:24,svgHeight:24})),aU='',cU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aU,svgWidth:24,svgHeight:24})),uU='',dU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uU,svgWidth:24,svgHeight:24})),hU='',fU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hU,svgWidth:24,svgHeight:24})),gU='',AU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gU,svgWidth:24,svgHeight:24})),pU='',vU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pU,svgWidth:24,svgHeight:24})),LU='',wU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LU,svgWidth:24,svgHeight:24})),xU='',mU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xU,svgWidth:24,svgHeight:24})),kU='',MU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kU,svgWidth:24,svgHeight:24})),EU='',yU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EU,svgWidth:24,svgHeight:24})),BU='',IU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BU,svgWidth:24,svgHeight:24})),SU='',_U=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SU,svgWidth:24,svgHeight:24})),QU='',RU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QU,svgWidth:24,svgHeight:24})),bU='',DU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bU,svgWidth:24,svgHeight:24})),TU='',HU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TU,svgWidth:24,svgHeight:24})),PU='',NU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PU,svgWidth:24,svgHeight:24})),jU='',UU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jU,svgWidth:24,svgHeight:24})),FU='',WU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FU,svgWidth:24,svgHeight:24})),OU='',GU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OU,svgWidth:24,svgHeight:24})),zU='',VU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zU,svgWidth:24,svgHeight:24})),$U='',YU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$U,svgWidth:24,svgHeight:24})),JU='',XU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JU,svgWidth:24,svgHeight:24})),KU='',qU=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KU,svgWidth:24,svgHeight:24})),ZU='',eF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZU,svgWidth:24,svgHeight:24})),tF='',nF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tF,svgWidth:24,svgHeight:24})),CF='',rF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CF,svgWidth:24,svgHeight:24})),iF='',oF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iF,svgWidth:24,svgHeight:24})),sF='',lF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sF,svgWidth:24,svgHeight:24})),aF='',cF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aF,svgWidth:24,svgHeight:24})),uF='',dF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uF,svgWidth:24,svgHeight:24})),hF='',fF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hF,svgWidth:24,svgHeight:24})),gF='',AF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gF,svgWidth:24,svgHeight:24})),pF='',vF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pF,svgWidth:24,svgHeight:24})),LF='',wF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LF,svgWidth:24,svgHeight:24})),xF='',mF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xF,svgWidth:24,svgHeight:24})),kF='',MF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kF,svgWidth:24,svgHeight:24})),EF='',yF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EF,svgWidth:24,svgHeight:24})),BF='',IF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BF,svgWidth:24,svgHeight:24})),SF='',_F=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SF,svgWidth:24,svgHeight:24})),QF='',RF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QF,svgWidth:24,svgHeight:24})),bF='',DF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bF,svgWidth:24,svgHeight:24})),TF='',HF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TF,svgWidth:24,svgHeight:24})),PF='',NF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PF,svgWidth:24,svgHeight:24})),jF='',UF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jF,svgWidth:24,svgHeight:24})),FF='',WF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FF,svgWidth:24,svgHeight:24})),OF='',GF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OF,svgWidth:24,svgHeight:24})),zF='',VF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zF,svgWidth:24,svgHeight:24})),$F='',YF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$F,svgWidth:24,svgHeight:24})),JF='',XF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JF,svgWidth:24,svgHeight:24})),KF='',qF=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KF,svgWidth:24,svgHeight:24})),ZF='',eW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZF,svgWidth:24,svgHeight:24})),tW='',nW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tW,svgWidth:24,svgHeight:24})),CW='',rW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CW,svgWidth:24,svgHeight:24})),iW='',oW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iW,svgWidth:24,svgHeight:24})),sW='',lW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sW,svgWidth:24,svgHeight:24})),aW='',cW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aW,svgWidth:24,svgHeight:24})),uW='',dW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uW,svgWidth:24,svgHeight:24})),hW='',fW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hW,svgWidth:24,svgHeight:24})),gW='',AW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gW,svgWidth:24,svgHeight:24})),pW='',vW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pW,svgWidth:24,svgHeight:24})),LW='',wW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LW,svgWidth:24,svgHeight:24})),xW='',mW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xW,svgWidth:24,svgHeight:24})),kW='',MW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kW,svgWidth:24,svgHeight:24})),EW='',yW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EW,svgWidth:24,svgHeight:24})),BW='',IW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BW,svgWidth:24,svgHeight:24})),SW='',_W=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SW,svgWidth:24,svgHeight:24})),QW='',RW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QW,svgWidth:24,svgHeight:24})),bW='',DW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bW,svgWidth:24,svgHeight:24})),TW='',HW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TW,svgWidth:24,svgHeight:24})),PW='',NW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PW,svgWidth:24,svgHeight:24})),jW='',UW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jW,svgWidth:24,svgHeight:24})),FW='',WW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FW,svgWidth:24,svgHeight:24})),OW='',GW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OW,svgWidth:24,svgHeight:24})),zW='',VW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zW,svgWidth:24,svgHeight:24})),$W='',YW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$W,svgWidth:24,svgHeight:24})),JW='',XW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JW,svgWidth:24,svgHeight:24})),KW='',qW=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KW,svgWidth:24,svgHeight:24})),ZW='',eO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZW,svgWidth:24,svgHeight:24})),tO='',nO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tO,svgWidth:24,svgHeight:24})),CO='',rO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CO,svgWidth:24,svgHeight:24})),iO='',oO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iO,svgWidth:24,svgHeight:24})),sO='',lO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sO,svgWidth:24,svgHeight:24})),aO='',cO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aO,svgWidth:24,svgHeight:24})),uO='',dO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uO,svgWidth:24,svgHeight:24})),hO='',fO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hO,svgWidth:24,svgHeight:24})),gO='',AO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gO,svgWidth:24,svgHeight:24})),pO='',vO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pO,svgWidth:24,svgHeight:24})),LO='',wO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LO,svgWidth:24,svgHeight:24})),xO='',mO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xO,svgWidth:24,svgHeight:24})),kO='',MO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kO,svgWidth:24,svgHeight:24})),EO='',yO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EO,svgWidth:24,svgHeight:24})),BO='',IO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BO,svgWidth:24,svgHeight:24})),SO='',_O=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SO,svgWidth:24,svgHeight:24})),QO='',RO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QO,svgWidth:24,svgHeight:24})),bO='',DO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bO,svgWidth:24,svgHeight:24})),TO='',HO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TO,svgWidth:24,svgHeight:24})),PO='',NO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PO,svgWidth:24,svgHeight:24})),jO='',UO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jO,svgWidth:24,svgHeight:24})),FO='',WO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FO,svgWidth:24,svgHeight:24})),OO='',GO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OO,svgWidth:24,svgHeight:24})),zO='',VO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zO,svgWidth:24,svgHeight:24})),$O='',YO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$O,svgWidth:24,svgHeight:24})),JO='',XO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JO,svgWidth:24,svgHeight:24})),KO='',qO=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KO,svgWidth:24,svgHeight:24})),ZO='',eG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZO,svgWidth:24,svgHeight:24})),tG='',nG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tG,svgWidth:24,svgHeight:24})),CG='',rG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CG,svgWidth:24,svgHeight:24})),iG='',oG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iG,svgWidth:24,svgHeight:24})),sG='',lG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sG,svgWidth:24,svgHeight:24})),aG='',cG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aG,svgWidth:24,svgHeight:24})),uG='',dG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uG,svgWidth:24,svgHeight:24})),hG='',fG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hG,svgWidth:24,svgHeight:24})),gG='',AG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gG,svgWidth:24,svgHeight:24})),pG='',vG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pG,svgWidth:24,svgHeight:24})),LG='',wG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LG,svgWidth:24,svgHeight:24})),xG='',mG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xG,svgWidth:24,svgHeight:24})),kG='',MG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kG,svgWidth:24,svgHeight:24})),EG='',yG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EG,svgWidth:24,svgHeight:24})),BG='',IG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BG,svgWidth:24,svgHeight:24})),SG='',_G=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SG,svgWidth:24,svgHeight:24})),QG='',RG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QG,svgWidth:24,svgHeight:24})),bG='',DG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bG,svgWidth:24,svgHeight:24})),TG='',HG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TG,svgWidth:24,svgHeight:24})),PG='',NG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PG,svgWidth:24,svgHeight:24})),jG='',UG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jG,svgWidth:24,svgHeight:24})),FG='',WG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FG,svgWidth:24,svgHeight:24})),OG='',GG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OG,svgWidth:24,svgHeight:24})),zG='',VG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zG,svgWidth:24,svgHeight:24})),$G='',YG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$G,svgWidth:24,svgHeight:24})),JG='',XG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JG,svgWidth:24,svgHeight:24})),KG='',qG=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KG,svgWidth:24,svgHeight:24})),ZG='',ez=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZG,svgWidth:24,svgHeight:24})),tz='',nz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tz,svgWidth:24,svgHeight:24})),Cz='',rz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cz,svgWidth:24,svgHeight:24})),iz='',oz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iz,svgWidth:24,svgHeight:24})),sz='',lz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sz,svgWidth:24,svgHeight:24})),az='',cz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:az,svgWidth:24,svgHeight:24})),uz='',dz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uz,svgWidth:24,svgHeight:24})),hz='',fz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hz,svgWidth:24,svgHeight:24})),gz='',Az=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gz,svgWidth:24,svgHeight:24})),pz='',vz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pz,svgWidth:24,svgHeight:24})),Lz='',wz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lz,svgWidth:24,svgHeight:24})),xz='',mz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xz,svgWidth:24,svgHeight:24})),kz='',Mz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kz,svgWidth:24,svgHeight:24})),Ez='',yz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ez,svgWidth:24,svgHeight:24})),Bz='',Iz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bz,svgWidth:24,svgHeight:24})),Sz='',_z=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sz,svgWidth:24,svgHeight:24})),Qz='',Rz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qz,svgWidth:24,svgHeight:24})),bz='',Dz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bz,svgWidth:24,svgHeight:24})),Tz='',Hz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tz,svgWidth:24,svgHeight:24})),Pz='',Nz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pz,svgWidth:24,svgHeight:24})),jz='',Uz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jz,svgWidth:24,svgHeight:24})),Fz='',Wz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fz,svgWidth:24,svgHeight:24})),Oz='',Gz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oz,svgWidth:24,svgHeight:24})),zz='',Vz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zz,svgWidth:24,svgHeight:24})),$z='',Yz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$z,svgWidth:24,svgHeight:24})),Jz='',Xz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jz,svgWidth:24,svgHeight:24})),Kz='',qz=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kz,svgWidth:24,svgHeight:24})),Zz='',eV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zz,svgWidth:24,svgHeight:24})),tV='',nV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tV,svgWidth:24,svgHeight:24})),CV='',rV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CV,svgWidth:24,svgHeight:24})),iV='',oV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iV,svgWidth:24,svgHeight:24})),sV='',lV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sV,svgWidth:24,svgHeight:24})),aV='',cV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aV,svgWidth:24,svgHeight:24})),uV='',dV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uV,svgWidth:24,svgHeight:24})),hV='',fV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hV,svgWidth:24,svgHeight:24})),gV='',AV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gV,svgWidth:24,svgHeight:24})),pV='',vV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pV,svgWidth:24,svgHeight:24})),LV='',wV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LV,svgWidth:24,svgHeight:24})),xV='',mV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xV,svgWidth:24,svgHeight:24})),kV='',MV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kV,svgWidth:24,svgHeight:24})),EV='',yV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EV,svgWidth:24,svgHeight:24})),BV='',IV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BV,svgWidth:24,svgHeight:24})),SV='',_V=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SV,svgWidth:24,svgHeight:24})),QV='',RV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QV,svgWidth:24,svgHeight:24})),bV='',DV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bV,svgWidth:24,svgHeight:24})),TV='',HV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TV,svgWidth:24,svgHeight:24})),PV='',NV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PV,svgWidth:24,svgHeight:24})),jV='',UV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jV,svgWidth:24,svgHeight:24})),FV='',WV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FV,svgWidth:24,svgHeight:24})),OV='',GV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OV,svgWidth:24,svgHeight:24})),zV='',VV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zV,svgWidth:24,svgHeight:24})),$V='',YV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$V,svgWidth:24,svgHeight:24})),JV='',XV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JV,svgWidth:24,svgHeight:24})),KV='',qV=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KV,svgWidth:24,svgHeight:24})),ZV='',e$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZV,svgWidth:24,svgHeight:24})),t$='',n$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t$,svgWidth:24,svgHeight:24})),C$='',r$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C$,svgWidth:24,svgHeight:24})),i$='',o$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i$,svgWidth:24,svgHeight:24})),s$='',l$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s$,svgWidth:24,svgHeight:24})),a$='',c$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a$,svgWidth:24,svgHeight:24})),u$='',d$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u$,svgWidth:24,svgHeight:24})),h$='',f$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h$,svgWidth:24,svgHeight:24})),g$='',A$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g$,svgWidth:24,svgHeight:24})),p$='',v$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p$,svgWidth:24,svgHeight:24})),L$='',w$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L$,svgWidth:24,svgHeight:24})),x$='',m$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x$,svgWidth:24,svgHeight:24})),k$='',M$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k$,svgWidth:24,svgHeight:24})),E$='',y$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E$,svgWidth:24,svgHeight:24})),B$='',I$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B$,svgWidth:24,svgHeight:24})),S$='',_$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S$,svgWidth:24,svgHeight:24})),Q$='',R$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q$,svgWidth:24,svgHeight:24})),b$='',D$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b$,svgWidth:24,svgHeight:24})),T$='',H$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T$,svgWidth:24,svgHeight:24})),P$='',N$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P$,svgWidth:24,svgHeight:24})),j$='',U$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j$,svgWidth:24,svgHeight:24})),F$='',W$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F$,svgWidth:24,svgHeight:24})),O$='',G$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O$,svgWidth:24,svgHeight:24})),z$='',V$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z$,svgWidth:24,svgHeight:24})),$$='',Y$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$$,svgWidth:24,svgHeight:24})),J$='',X$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J$,svgWidth:24,svgHeight:24})),K$='',q$=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K$,svgWidth:24,svgHeight:24})),Z$='',eY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z$,svgWidth:24,svgHeight:24})),tY='',nY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tY,svgWidth:24,svgHeight:24})),CY='',rY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CY,svgWidth:24,svgHeight:24})),iY='',oY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iY,svgWidth:24,svgHeight:24})),sY='',lY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sY,svgWidth:24,svgHeight:24})),aY='',cY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aY,svgWidth:24,svgHeight:24})),uY='',dY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uY,svgWidth:24,svgHeight:24})),hY='',fY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hY,svgWidth:24,svgHeight:24})),gY='',AY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gY,svgWidth:24,svgHeight:24})),pY='',vY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pY,svgWidth:24,svgHeight:24})),LY='',wY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LY,svgWidth:24,svgHeight:24})),xY='',mY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xY,svgWidth:24,svgHeight:24})),kY='',MY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kY,svgWidth:24,svgHeight:24})),EY='',yY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EY,svgWidth:24,svgHeight:24})),BY='',IY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BY,svgWidth:24,svgHeight:24})),SY='',_Y=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SY,svgWidth:24,svgHeight:24})),QY='',RY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QY,svgWidth:24,svgHeight:24})),bY='',DY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bY,svgWidth:24,svgHeight:24})),TY='',HY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TY,svgWidth:24,svgHeight:24})),PY='',NY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PY,svgWidth:24,svgHeight:24})),jY='',UY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jY,svgWidth:24,svgHeight:24})),FY='',WY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FY,svgWidth:24,svgHeight:24})),OY='',GY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OY,svgWidth:24,svgHeight:24})),zY='',VY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zY,svgWidth:24,svgHeight:24})),$Y='',YY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$Y,svgWidth:24,svgHeight:24})),JY='',XY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JY,svgWidth:24,svgHeight:24})),KY='',qY=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KY,svgWidth:24,svgHeight:24})),ZY='',eJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZY,svgWidth:24,svgHeight:24})),tJ='',nJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tJ,svgWidth:24,svgHeight:24})),CJ='',rJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CJ,svgWidth:24,svgHeight:24})),iJ='',oJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iJ,svgWidth:24,svgHeight:24})),sJ='',lJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sJ,svgWidth:24,svgHeight:24})),aJ='',cJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aJ,svgWidth:24,svgHeight:24})),uJ='',dJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uJ,svgWidth:24,svgHeight:24})),hJ='',fJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hJ,svgWidth:24,svgHeight:24})),gJ='',AJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gJ,svgWidth:24,svgHeight:24})),pJ='',vJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pJ,svgWidth:24,svgHeight:24})),LJ='',wJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LJ,svgWidth:24,svgHeight:24})),xJ='',mJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xJ,svgWidth:24,svgHeight:24})),kJ='',MJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kJ,svgWidth:24,svgHeight:24})),EJ='',yJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EJ,svgWidth:24,svgHeight:24})),BJ='',IJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BJ,svgWidth:24,svgHeight:24})),SJ='',_J=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SJ,svgWidth:24,svgHeight:24})),QJ='',RJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QJ,svgWidth:24,svgHeight:24})),bJ='',DJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bJ,svgWidth:24,svgHeight:24})),TJ='',HJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TJ,svgWidth:24,svgHeight:24})),PJ='',NJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PJ,svgWidth:24,svgHeight:24})),jJ='',UJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jJ,svgWidth:24,svgHeight:24})),FJ='',WJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FJ,svgWidth:24,svgHeight:24})),OJ='',GJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OJ,svgWidth:24,svgHeight:24})),zJ='',VJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zJ,svgWidth:24,svgHeight:24})),$J='',YJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$J,svgWidth:24,svgHeight:24})),JJ='',XJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JJ,svgWidth:24,svgHeight:24})),KJ='',qJ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KJ,svgWidth:24,svgHeight:24})),ZJ='',eX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZJ,svgWidth:24,svgHeight:24})),tX='',nX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tX,svgWidth:24,svgHeight:24})),CX='',rX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CX,svgWidth:24,svgHeight:24})),iX='',oX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iX,svgWidth:24,svgHeight:24})),sX='',lX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sX,svgWidth:24,svgHeight:24})),aX='',cX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aX,svgWidth:24,svgHeight:24})),uX='',dX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uX,svgWidth:24,svgHeight:24})),hX='',fX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hX,svgWidth:24,svgHeight:24})),gX='',AX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gX,svgWidth:24,svgHeight:24})),pX='',vX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pX,svgWidth:24,svgHeight:24})),LX='',wX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LX,svgWidth:24,svgHeight:24})),xX='',mX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xX,svgWidth:24,svgHeight:24})),kX='',MX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kX,svgWidth:24,svgHeight:24})),EX='',yX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EX,svgWidth:24,svgHeight:24})),BX='',IX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BX,svgWidth:24,svgHeight:24})),SX='',_X=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SX,svgWidth:24,svgHeight:24})),QX='',RX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QX,svgWidth:24,svgHeight:24})),bX='',DX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bX,svgWidth:24,svgHeight:24})),TX='',HX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TX,svgWidth:24,svgHeight:24})),PX='',NX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PX,svgWidth:24,svgHeight:24})),jX='',UX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jX,svgWidth:24,svgHeight:24})),FX='',WX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FX,svgWidth:24,svgHeight:24})),OX='',GX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OX,svgWidth:24,svgHeight:24})),zX='',VX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zX,svgWidth:24,svgHeight:24})),$X='',YX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$X,svgWidth:24,svgHeight:24})),JX='',XX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JX,svgWidth:24,svgHeight:24})),KX='',qX=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KX,svgWidth:24,svgHeight:24})),ZX='',eK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZX,svgWidth:24,svgHeight:24})),tK='',nK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tK,svgWidth:24,svgHeight:24})),CK='',rK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CK,svgWidth:24,svgHeight:24})),iK='',oK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iK,svgWidth:24,svgHeight:24})),sK='',lK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sK,svgWidth:24,svgHeight:24})),aK='',cK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aK,svgWidth:24,svgHeight:24})),uK='',dK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uK,svgWidth:24,svgHeight:24})),hK='',fK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hK,svgWidth:24,svgHeight:24})),gK='',AK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gK,svgWidth:24,svgHeight:24})),pK='',vK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pK,svgWidth:24,svgHeight:24})),LK='',wK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LK,svgWidth:24,svgHeight:24})),xK='',mK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xK,svgWidth:24,svgHeight:24})),kK='',MK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kK,svgWidth:24,svgHeight:24})),EK='',yK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EK,svgWidth:24,svgHeight:24})),BK='',IK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BK,svgWidth:24,svgHeight:24})),SK='',_K=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SK,svgWidth:24,svgHeight:24})),QK='',RK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QK,svgWidth:24,svgHeight:24})),bK='',DK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bK,svgWidth:24,svgHeight:24})),TK='',HK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TK,svgWidth:24,svgHeight:24})),PK='',NK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PK,svgWidth:24,svgHeight:24})),jK='',UK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jK,svgWidth:24,svgHeight:24})),FK='',WK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FK,svgWidth:24,svgHeight:24})),OK='',GK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OK,svgWidth:24,svgHeight:24})),zK='',VK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zK,svgWidth:24,svgHeight:24})),$K='',YK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$K,svgWidth:24,svgHeight:24})),JK='',XK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JK,svgWidth:24,svgHeight:24})),KK='',qK=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KK,svgWidth:24,svgHeight:24})),ZK='',eq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZK,svgWidth:24,svgHeight:24})),tq='',nq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tq,svgWidth:24,svgHeight:24})),Cq='',rq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cq,svgWidth:24,svgHeight:24})),iq='',oq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iq,svgWidth:24,svgHeight:24})),sq='',lq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sq,svgWidth:24,svgHeight:24})),aq='',cq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aq,svgWidth:24,svgHeight:24})),uq='',dq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uq,svgWidth:24,svgHeight:24})),hq='',fq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hq,svgWidth:24,svgHeight:24})),gq='',Aq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gq,svgWidth:24,svgHeight:24})),pq='',vq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pq,svgWidth:24,svgHeight:24})),Lq='',wq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lq,svgWidth:24,svgHeight:24})),xq='',mq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xq,svgWidth:24,svgHeight:24})),kq='',Mq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kq,svgWidth:24,svgHeight:24})),Eq='',yq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Eq,svgWidth:24,svgHeight:24})),Bq='',Iq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bq,svgWidth:24,svgHeight:24})),Sq='',_q=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sq,svgWidth:24,svgHeight:24})),Qq='',Rq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qq,svgWidth:24,svgHeight:24})),bq='',Dq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bq,svgWidth:24,svgHeight:24})),Tq='',Hq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tq,svgWidth:24,svgHeight:24})),Pq='',Nq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pq,svgWidth:24,svgHeight:24})),jq='',Uq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jq,svgWidth:24,svgHeight:24})),Fq='',Wq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fq,svgWidth:24,svgHeight:24})),Oq='',Gq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oq,svgWidth:24,svgHeight:24})),zq='',Vq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zq,svgWidth:24,svgHeight:24})),$q='',Yq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$q,svgWidth:24,svgHeight:24})),Jq='',Xq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jq,svgWidth:24,svgHeight:24})),Kq='',qq=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kq,svgWidth:24,svgHeight:24})),Zq='',eZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zq,svgWidth:24,svgHeight:24})),tZ='',nZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tZ,svgWidth:24,svgHeight:24})),CZ='',rZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CZ,svgWidth:24,svgHeight:24})),iZ='',oZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iZ,svgWidth:24,svgHeight:24})),sZ='',lZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sZ,svgWidth:24,svgHeight:24})),aZ='',cZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aZ,svgWidth:24,svgHeight:24})),uZ='',dZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uZ,svgWidth:24,svgHeight:24})),hZ='',fZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hZ,svgWidth:24,svgHeight:24})),gZ='',AZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gZ,svgWidth:24,svgHeight:24})),pZ='',vZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pZ,svgWidth:24,svgHeight:24})),LZ='',wZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LZ,svgWidth:24,svgHeight:24})),xZ='',mZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xZ,svgWidth:24,svgHeight:24})),kZ='',MZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kZ,svgWidth:24,svgHeight:24})),EZ='',yZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EZ,svgWidth:24,svgHeight:24})),BZ='',IZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BZ,svgWidth:24,svgHeight:24})),SZ='',_Z=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SZ,svgWidth:24,svgHeight:24})),QZ='',RZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QZ,svgWidth:24,svgHeight:24})),bZ='',DZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bZ,svgWidth:24,svgHeight:24})),TZ='',HZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TZ,svgWidth:24,svgHeight:24})),PZ='',NZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PZ,svgWidth:24,svgHeight:24})),jZ='',UZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jZ,svgWidth:24,svgHeight:24})),FZ='',WZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FZ,svgWidth:24,svgHeight:24})),OZ='',GZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OZ,svgWidth:24,svgHeight:24})),zZ='',VZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zZ,svgWidth:24,svgHeight:24})),$Z='',YZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$Z,svgWidth:24,svgHeight:24})),JZ='',XZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JZ,svgWidth:24,svgHeight:24})),KZ='',qZ=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KZ,svgWidth:24,svgHeight:24})),ZZ='',e11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZZ,svgWidth:24,svgHeight:24})),t11='',n11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t11,svgWidth:24,svgHeight:24})),C11='',r11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C11,svgWidth:24,svgHeight:24})),i11='',o11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i11,svgWidth:24,svgHeight:24})),s11='',l11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s11,svgWidth:24,svgHeight:24})),a11='',c11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a11,svgWidth:24,svgHeight:24})),u11='',d11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u11,svgWidth:24,svgHeight:24})),h11='',f11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h11,svgWidth:24,svgHeight:24})),g11='',A11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g11,svgWidth:24,svgHeight:24})),p11='',v11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p11,svgWidth:24,svgHeight:24})),L11='',w11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L11,svgWidth:24,svgHeight:24})),x11='',m11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x11,svgWidth:24,svgHeight:24})),k11='',M11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k11,svgWidth:24,svgHeight:24})),E11='',y11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E11,svgWidth:24,svgHeight:24})),B11='',I11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B11,svgWidth:24,svgHeight:24})),S11='',_11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S11,svgWidth:24,svgHeight:24})),Q11='',R11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q11,svgWidth:24,svgHeight:24})),b11='',D11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b11,svgWidth:24,svgHeight:24})),T11='',H11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T11,svgWidth:24,svgHeight:24})),P11='',N11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P11,svgWidth:24,svgHeight:24})),j11='',U11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j11,svgWidth:24,svgHeight:24})),F11='',W11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F11,svgWidth:24,svgHeight:24})),O11='',G11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O11,svgWidth:24,svgHeight:24})),z11='',V11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z11,svgWidth:24,svgHeight:24})),$11='',Y11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$11,svgWidth:24,svgHeight:24})),J11='',X11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J11,svgWidth:24,svgHeight:24})),K11='',q11=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K11,svgWidth:24,svgHeight:24})),Z11='',e01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z11,svgWidth:24,svgHeight:24})),t01='',n01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t01,svgWidth:24,svgHeight:24})),C01='',r01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C01,svgWidth:24,svgHeight:24})),i01='',o01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i01,svgWidth:24,svgHeight:24})),s01='',l01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s01,svgWidth:24,svgHeight:24})),a01='',c01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a01,svgWidth:24,svgHeight:24})),u01='',d01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u01,svgWidth:24,svgHeight:24})),h01='',f01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h01,svgWidth:24,svgHeight:24})),g01='',A01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g01,svgWidth:24,svgHeight:24})),p01='',v01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p01,svgWidth:24,svgHeight:24})),L01='',w01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L01,svgWidth:24,svgHeight:24})),x01='',m01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x01,svgWidth:24,svgHeight:24})),k01='',M01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k01,svgWidth:24,svgHeight:24})),E01='',y01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E01,svgWidth:24,svgHeight:24})),B01='',I01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B01,svgWidth:24,svgHeight:24})),S01='',_01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S01,svgWidth:24,svgHeight:24})),Q01='',R01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q01,svgWidth:24,svgHeight:24})),b01='',D01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b01,svgWidth:24,svgHeight:24})),T01='',H01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T01,svgWidth:24,svgHeight:24})),P01='',N01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P01,svgWidth:24,svgHeight:24})),j01='',U01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j01,svgWidth:24,svgHeight:24})),F01='',W01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F01,svgWidth:24,svgHeight:24})),O01='',G01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O01,svgWidth:24,svgHeight:24})),z01='',V01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z01,svgWidth:24,svgHeight:24})),$01='',Y01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$01,svgWidth:24,svgHeight:24})),J01='',X01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J01,svgWidth:24,svgHeight:24})),K01='',q01=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K01,svgWidth:24,svgHeight:24})),Z01='',e21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z01,svgWidth:24,svgHeight:24})),t21='',n21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t21,svgWidth:24,svgHeight:24})),C21='',r21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C21,svgWidth:24,svgHeight:24})),i21='',o21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i21,svgWidth:24,svgHeight:24})),s21='',l21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s21,svgWidth:24,svgHeight:24})),a21='',c21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a21,svgWidth:24,svgHeight:24})),u21='',d21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u21,svgWidth:24,svgHeight:24})),h21='',f21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h21,svgWidth:24,svgHeight:24})),g21='',A21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g21,svgWidth:24,svgHeight:24})),p21='',v21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p21,svgWidth:24,svgHeight:24})),L21='',w21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L21,svgWidth:24,svgHeight:24})),x21='',m21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x21,svgWidth:24,svgHeight:24})),k21='',M21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k21,svgWidth:24,svgHeight:24})),E21='',y21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E21,svgWidth:24,svgHeight:24})),B21='',I21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B21,svgWidth:24,svgHeight:24})),S21='',_21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S21,svgWidth:24,svgHeight:24})),Q21='',R21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q21,svgWidth:24,svgHeight:24})),b21='',D21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b21,svgWidth:24,svgHeight:24})),T21='',H21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T21,svgWidth:24,svgHeight:24})),P21='',N21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P21,svgWidth:24,svgHeight:24})),j21='',U21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j21,svgWidth:24,svgHeight:24})),F21='',W21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F21,svgWidth:24,svgHeight:24})),O21='',G21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O21,svgWidth:24,svgHeight:24})),z21='',V21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z21,svgWidth:24,svgHeight:24})),$21='',Y21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$21,svgWidth:24,svgHeight:24})),J21='',X21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J21,svgWidth:24,svgHeight:24})),K21='',q21=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K21,svgWidth:24,svgHeight:24})),Z21='',e91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z21,svgWidth:24,svgHeight:24})),t91='',n91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t91,svgWidth:24,svgHeight:24})),C91='',r91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C91,svgWidth:24,svgHeight:24})),i91='',o91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i91,svgWidth:24,svgHeight:24})),s91='',l91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s91,svgWidth:24,svgHeight:24})),a91='',c91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a91,svgWidth:24,svgHeight:24})),u91='',d91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u91,svgWidth:24,svgHeight:24})),h91='',f91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h91,svgWidth:24,svgHeight:24})),g91='',A91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g91,svgWidth:24,svgHeight:24})),p91='',v91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p91,svgWidth:24,svgHeight:24})),L91='',w91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L91,svgWidth:24,svgHeight:24})),x91='',m91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x91,svgWidth:24,svgHeight:24})),k91='',M91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k91,svgWidth:24,svgHeight:24})),E91='',y91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E91,svgWidth:24,svgHeight:24})),B91='',I91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B91,svgWidth:24,svgHeight:24})),S91='',_91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S91,svgWidth:24,svgHeight:24})),Q91='',R91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q91,svgWidth:24,svgHeight:24})),b91='',D91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b91,svgWidth:24,svgHeight:24})),T91='',H91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T91,svgWidth:24,svgHeight:24})),P91='',N91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P91,svgWidth:24,svgHeight:24})),j91='',U91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j91,svgWidth:24,svgHeight:24})),F91='',W91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F91,svgWidth:24,svgHeight:24})),O91='',G91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O91,svgWidth:24,svgHeight:24})),z91='',V91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z91,svgWidth:24,svgHeight:24})),$91='',Y91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$91,svgWidth:24,svgHeight:24})),J91='',X91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J91,svgWidth:24,svgHeight:24})),K91='',q91=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K91,svgWidth:24,svgHeight:24})),Z91='',e81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z91,svgWidth:24,svgHeight:24})),t81='',n81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t81,svgWidth:24,svgHeight:24})),C81='',r81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C81,svgWidth:24,svgHeight:24})),i81='',o81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i81,svgWidth:24,svgHeight:24})),s81='',l81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s81,svgWidth:24,svgHeight:24})),a81='',c81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a81,svgWidth:24,svgHeight:24})),u81='',d81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u81,svgWidth:24,svgHeight:24})),h81='',f81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h81,svgWidth:24,svgHeight:24})),g81='',A81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g81,svgWidth:24,svgHeight:24})),p81='',v81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p81,svgWidth:24,svgHeight:24})),L81='',w81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L81,svgWidth:24,svgHeight:24})),x81='',m81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x81,svgWidth:24,svgHeight:24})),k81='',M81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k81,svgWidth:24,svgHeight:24})),E81='',y81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E81,svgWidth:24,svgHeight:24})),B81='',I81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B81,svgWidth:24,svgHeight:24})),S81='',_81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S81,svgWidth:24,svgHeight:24})),Q81='',R81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q81,svgWidth:24,svgHeight:24})),b81='',D81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b81,svgWidth:24,svgHeight:24})),T81='',H81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T81,svgWidth:24,svgHeight:24})),P81='',N81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P81,svgWidth:24,svgHeight:24})),j81='',U81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j81,svgWidth:24,svgHeight:24})),F81='',W81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F81,svgWidth:24,svgHeight:24})),O81='',G81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O81,svgWidth:24,svgHeight:24})),z81='',V81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z81,svgWidth:24,svgHeight:24})),$81='',Y81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$81,svgWidth:24,svgHeight:24})),J81='',X81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J81,svgWidth:24,svgHeight:24})),K81='',q81=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K81,svgWidth:24,svgHeight:24})),Z81='',e41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z81,svgWidth:24,svgHeight:24})),t41='',n41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t41,svgWidth:24,svgHeight:24})),C41='',r41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C41,svgWidth:24,svgHeight:24})),i41='',o41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i41,svgWidth:24,svgHeight:24})),s41='',l41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s41,svgWidth:24,svgHeight:24})),a41='',c41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a41,svgWidth:24,svgHeight:24})),u41='',d41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u41,svgWidth:24,svgHeight:24})),h41='',f41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h41,svgWidth:24,svgHeight:24})),g41='',A41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g41,svgWidth:24,svgHeight:24})),p41='',v41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p41,svgWidth:24,svgHeight:24})),L41='',w41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L41,svgWidth:24,svgHeight:24})),x41='',m41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x41,svgWidth:24,svgHeight:24})),k41='',M41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k41,svgWidth:24,svgHeight:24})),E41='',y41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E41,svgWidth:24,svgHeight:24})),B41='',I41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B41,svgWidth:24,svgHeight:24})),S41='',_41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S41,svgWidth:24,svgHeight:24})),Q41='',R41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q41,svgWidth:24,svgHeight:24})),b41='',D41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b41,svgWidth:24,svgHeight:24})),T41='',H41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T41,svgWidth:24,svgHeight:24})),P41='',N41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P41,svgWidth:24,svgHeight:24})),j41='',U41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j41,svgWidth:24,svgHeight:24})),F41='',W41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F41,svgWidth:24,svgHeight:24})),O41='',G41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O41,svgWidth:24,svgHeight:24})),z41='',V41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z41,svgWidth:24,svgHeight:24})),$41='',Y41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$41,svgWidth:24,svgHeight:24})),J41='',X41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J41,svgWidth:24,svgHeight:24})),K41='',q41=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K41,svgWidth:24,svgHeight:24})),Z41='',e61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z41,svgWidth:24,svgHeight:24})),t61='',n61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t61,svgWidth:24,svgHeight:24})),C61='',r61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C61,svgWidth:24,svgHeight:24})),i61='',o61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i61,svgWidth:24,svgHeight:24})),s61='',l61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s61,svgWidth:24,svgHeight:24})),a61='',c61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a61,svgWidth:24,svgHeight:24})),u61='',d61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u61,svgWidth:24,svgHeight:24})),h61='',f61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h61,svgWidth:24,svgHeight:24})),g61='',A61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g61,svgWidth:24,svgHeight:24})),p61='',v61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p61,svgWidth:24,svgHeight:24})),L61='',w61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L61,svgWidth:24,svgHeight:24})),x61='',m61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x61,svgWidth:24,svgHeight:24})),k61='',M61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k61,svgWidth:24,svgHeight:24})),E61='',y61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E61,svgWidth:24,svgHeight:24})),B61='',I61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B61,svgWidth:24,svgHeight:24})),S61='',_61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S61,svgWidth:24,svgHeight:24})),Q61='',R61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q61,svgWidth:24,svgHeight:24})),b61='',D61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b61,svgWidth:24,svgHeight:24})),T61='',H61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T61,svgWidth:24,svgHeight:24})),P61='',N61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P61,svgWidth:24,svgHeight:24})),j61='',U61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j61,svgWidth:24,svgHeight:24})),F61='',W61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F61,svgWidth:24,svgHeight:24})),O61='',G61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O61,svgWidth:24,svgHeight:24})),z61='',V61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z61,svgWidth:24,svgHeight:24})),$61='',Y61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$61,svgWidth:24,svgHeight:24})),J61='',X61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J61,svgWidth:24,svgHeight:24})),K61='',q61=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K61,svgWidth:24,svgHeight:24})),Z61='',e51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z61,svgWidth:24,svgHeight:24})),t51='',n51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t51,svgWidth:24,svgHeight:24})),C51='',r51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C51,svgWidth:24,svgHeight:24})),i51='',o51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i51,svgWidth:24,svgHeight:24})),s51='',l51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s51,svgWidth:24,svgHeight:24})),a51='',c51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a51,svgWidth:24,svgHeight:24})),u51='',d51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u51,svgWidth:24,svgHeight:24})),h51='',f51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h51,svgWidth:24,svgHeight:24})),g51='',A51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g51,svgWidth:24,svgHeight:24})),p51='',v51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p51,svgWidth:24,svgHeight:24})),L51='',w51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L51,svgWidth:24,svgHeight:24})),x51='',m51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x51,svgWidth:24,svgHeight:24})),k51='',M51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k51,svgWidth:24,svgHeight:24})),E51='',y51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E51,svgWidth:24,svgHeight:24})),B51='',I51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B51,svgWidth:24,svgHeight:24})),S51='',_51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S51,svgWidth:24,svgHeight:24})),Q51='',R51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q51,svgWidth:24,svgHeight:24})),b51='',D51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b51,svgWidth:24,svgHeight:24})),T51='',H51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T51,svgWidth:24,svgHeight:24})),P51='',N51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P51,svgWidth:24,svgHeight:24})),j51='',U51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j51,svgWidth:24,svgHeight:24})),F51='',W51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F51,svgWidth:24,svgHeight:24})),O51='',G51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O51,svgWidth:24,svgHeight:24})),z51='',V51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z51,svgWidth:24,svgHeight:24})),$51='',Y51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$51,svgWidth:24,svgHeight:24})),J51='',X51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J51,svgWidth:24,svgHeight:24})),K51='',q51=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K51,svgWidth:24,svgHeight:24})),Z51='',e31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z51,svgWidth:24,svgHeight:24})),t31='',n31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t31,svgWidth:24,svgHeight:24})),C31='',r31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C31,svgWidth:24,svgHeight:24})),i31='',o31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i31,svgWidth:24,svgHeight:24})),s31='',l31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s31,svgWidth:24,svgHeight:24})),a31='',c31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a31,svgWidth:24,svgHeight:24})),u31='',d31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u31,svgWidth:24,svgHeight:24})),h31='',f31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h31,svgWidth:24,svgHeight:24})),g31='',A31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g31,svgWidth:24,svgHeight:24})),p31='',v31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p31,svgWidth:24,svgHeight:24})),L31='',w31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L31,svgWidth:24,svgHeight:24})),x31='',m31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x31,svgWidth:24,svgHeight:24})),k31='',M31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k31,svgWidth:24,svgHeight:24})),E31='',y31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E31,svgWidth:24,svgHeight:24})),B31='',I31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B31,svgWidth:24,svgHeight:24})),S31='',_31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S31,svgWidth:24,svgHeight:24})),Q31='',R31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q31,svgWidth:24,svgHeight:24})),b31='',D31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b31,svgWidth:24,svgHeight:24})),T31='',H31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T31,svgWidth:24,svgHeight:24})),P31='',N31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P31,svgWidth:24,svgHeight:24})),j31='',U31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j31,svgWidth:24,svgHeight:24})),F31='',W31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F31,svgWidth:24,svgHeight:24})),O31='',G31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O31,svgWidth:24,svgHeight:24})),z31='',V31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z31,svgWidth:24,svgHeight:24})),$31='',Y31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$31,svgWidth:24,svgHeight:24})),J31='',X31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J31,svgWidth:24,svgHeight:24})),K31='',q31=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K31,svgWidth:24,svgHeight:24})),Z31='',e71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z31,svgWidth:24,svgHeight:24})),t71='',n71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:t71,svgWidth:24,svgHeight:24})),C71='',r71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:C71,svgWidth:24,svgHeight:24})),i71='',o71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:i71,svgWidth:24,svgHeight:24})),s71='',l71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:s71,svgWidth:24,svgHeight:24})),a71='',c71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:a71,svgWidth:24,svgHeight:24})),u71='',d71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:u71,svgWidth:24,svgHeight:24})),h71='',f71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:h71,svgWidth:24,svgHeight:24})),g71='',A71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:g71,svgWidth:24,svgHeight:24})),p71='',v71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:p71,svgWidth:24,svgHeight:24})),L71='',w71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:L71,svgWidth:24,svgHeight:24})),x71='',m71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:x71,svgWidth:24,svgHeight:24})),k71='',M71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:k71,svgWidth:24,svgHeight:24})),E71='',y71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:E71,svgWidth:24,svgHeight:24})),B71='',I71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:B71,svgWidth:24,svgHeight:24})),S71='',_71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:S71,svgWidth:24,svgHeight:24})),Q71='',R71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Q71,svgWidth:24,svgHeight:24})),b71='',D71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:b71,svgWidth:24,svgHeight:24})),T71='',H71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:T71,svgWidth:24,svgHeight:24})),P71='',N71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:P71,svgWidth:24,svgHeight:24})),j71='',U71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:j71,svgWidth:24,svgHeight:24})),F71='',W71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:F71,svgWidth:24,svgHeight:24})),O71='',G71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:O71,svgWidth:24,svgHeight:24})),z71='',V71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:z71,svgWidth:24,svgHeight:24})),$71='',Y71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$71,svgWidth:24,svgHeight:24})),J71='',X71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:J71,svgWidth:24,svgHeight:24})),K71='',q71=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:K71,svgWidth:24,svgHeight:24})),Z71='',ee1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Z71,svgWidth:24,svgHeight:24})),te1='',ne1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:te1,svgWidth:24,svgHeight:24})),Ce1='',re1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ce1,svgWidth:24,svgHeight:24})),ie1='',oe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ie1,svgWidth:24,svgHeight:24})),se1='',le1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:se1,svgWidth:24,svgHeight:24})),ae1='',ce1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ae1,svgWidth:24,svgHeight:24})),ue1='',de1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ue1,svgWidth:24,svgHeight:24})),he1='',fe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:he1,svgWidth:24,svgHeight:24})),ge1='',Ae1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ge1,svgWidth:24,svgHeight:24})),pe1='',ve1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pe1,svgWidth:24,svgHeight:24})),Le1='',we1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Le1,svgWidth:24,svgHeight:24})),xe1='',me1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xe1,svgWidth:24,svgHeight:24})),ke1='',Me1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ke1,svgWidth:24,svgHeight:24})),Ee1='',ye1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ee1,svgWidth:24,svgHeight:24})),Be1='',Ie1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Be1,svgWidth:24,svgHeight:24})),Se1='',_e1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Se1,svgWidth:24,svgHeight:24})),Qe1='',Re1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qe1,svgWidth:24,svgHeight:24})),be1='',De1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:be1,svgWidth:24,svgHeight:24})),Te1='',He1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Te1,svgWidth:24,svgHeight:24})),Pe1='',Ne1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pe1,svgWidth:24,svgHeight:24})),je1='',Ue1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:je1,svgWidth:24,svgHeight:24})),Fe1='',We1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fe1,svgWidth:24,svgHeight:24})),Oe1='',Ge1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oe1,svgWidth:24,svgHeight:24})),ze1='',Ve1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ze1,svgWidth:24,svgHeight:24})),$e1='',Ye1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$e1,svgWidth:24,svgHeight:24})),Je1='',Xe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Je1,svgWidth:24,svgHeight:24})),Ke1='',qe1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ke1,svgWidth:24,svgHeight:24})),Ze1='',et1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ze1,svgWidth:24,svgHeight:24})),tt1='',nt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tt1,svgWidth:24,svgHeight:24})),Ct1='',rt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ct1,svgWidth:24,svgHeight:24})),it1='',ot1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:it1,svgWidth:24,svgHeight:24})),st1='',lt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:st1,svgWidth:24,svgHeight:24})),at1='',ct1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:at1,svgWidth:24,svgHeight:24})),ut1='',dt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ut1,svgWidth:24,svgHeight:24})),ht1='',ft1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ht1,svgWidth:24,svgHeight:24})),gt1='',At1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gt1,svgWidth:24,svgHeight:24})),pt1='',vt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pt1,svgWidth:24,svgHeight:24})),Lt1='',wt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lt1,svgWidth:24,svgHeight:24})),xt1='',mt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xt1,svgWidth:24,svgHeight:24})),kt1='',Mt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kt1,svgWidth:24,svgHeight:24})),Et1='',yt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Et1,svgWidth:24,svgHeight:24})),Bt1='',It1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bt1,svgWidth:24,svgHeight:24})),St1='',_t1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:St1,svgWidth:24,svgHeight:24})),Qt1='',Rt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qt1,svgWidth:24,svgHeight:24})),bt1='',Dt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bt1,svgWidth:24,svgHeight:24})),Tt1='',Ht1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tt1,svgWidth:24,svgHeight:24})),Pt1='',Nt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pt1,svgWidth:24,svgHeight:24})),jt1='',Ut1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jt1,svgWidth:24,svgHeight:24})),Ft1='',Wt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ft1,svgWidth:24,svgHeight:24})),Ot1='',Gt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ot1,svgWidth:24,svgHeight:24})),zt1='',Vt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zt1,svgWidth:24,svgHeight:24})),$t1='',Yt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$t1,svgWidth:24,svgHeight:24})),Jt1='',Xt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jt1,svgWidth:24,svgHeight:24})),Kt1='',qt1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kt1,svgWidth:24,svgHeight:24})),Zt1='',en1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zt1,svgWidth:24,svgHeight:24})),tn1='',nn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tn1,svgWidth:24,svgHeight:24})),Cn1='',rn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cn1,svgWidth:24,svgHeight:24})),in1='',on1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:in1,svgWidth:24,svgHeight:24})),sn1='',ln1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sn1,svgWidth:24,svgHeight:24})),an1='',cn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:an1,svgWidth:24,svgHeight:24})),un1='',dn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:un1,svgWidth:24,svgHeight:24})),hn1='',fn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hn1,svgWidth:24,svgHeight:24})),gn1='',An1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gn1,svgWidth:24,svgHeight:24})),pn1='',vn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pn1,svgWidth:24,svgHeight:24})),Ln1='',wn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ln1,svgWidth:24,svgHeight:24})),xn1='',mn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xn1,svgWidth:24,svgHeight:24})),kn1='',Mn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kn1,svgWidth:24,svgHeight:24})),En1='',yn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:En1,svgWidth:24,svgHeight:24})),Bn1='',In1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bn1,svgWidth:24,svgHeight:24})),Sn1='',_n1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sn1,svgWidth:24,svgHeight:24})),Qn1='',Rn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qn1,svgWidth:24,svgHeight:24})),bn1='',Dn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bn1,svgWidth:24,svgHeight:24})),Tn1='',Hn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tn1,svgWidth:24,svgHeight:24})),Pn1='',Nn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pn1,svgWidth:24,svgHeight:24})),jn1='',Un1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jn1,svgWidth:24,svgHeight:24})),Fn1='',Wn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fn1,svgWidth:24,svgHeight:24})),On1='',Gn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:On1,svgWidth:24,svgHeight:24})),zn1='',Vn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zn1,svgWidth:24,svgHeight:24})),$n1='',Yn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$n1,svgWidth:24,svgHeight:24})),Jn1='',Xn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jn1,svgWidth:24,svgHeight:24})),Kn1='',qn1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kn1,svgWidth:24,svgHeight:24})),Zn1='',eC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zn1,svgWidth:24,svgHeight:24})),tC1='',nC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tC1,svgWidth:24,svgHeight:24})),CC1='',rC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CC1,svgWidth:24,svgHeight:24})),iC1='',oC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iC1,svgWidth:24,svgHeight:24})),sC1='',lC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sC1,svgWidth:24,svgHeight:24})),aC1='',cC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aC1,svgWidth:24,svgHeight:24})),uC1='',dC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uC1,svgWidth:24,svgHeight:24})),hC1='',fC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hC1,svgWidth:24,svgHeight:24})),gC1='',AC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gC1,svgWidth:24,svgHeight:24})),pC1='',vC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pC1,svgWidth:24,svgHeight:24})),LC1='',wC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LC1,svgWidth:24,svgHeight:24})),xC1='',mC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xC1,svgWidth:24,svgHeight:24})),kC1='',MC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kC1,svgWidth:24,svgHeight:24})),EC1='',yC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EC1,svgWidth:24,svgHeight:24})),BC1='',IC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BC1,svgWidth:24,svgHeight:24})),SC1='',_C1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SC1,svgWidth:24,svgHeight:24})),QC1='',RC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QC1,svgWidth:24,svgHeight:24})),bC1='',DC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bC1,svgWidth:24,svgHeight:24})),TC1='',HC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TC1,svgWidth:24,svgHeight:24})),PC1='',NC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PC1,svgWidth:24,svgHeight:24})),jC1='',UC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jC1,svgWidth:24,svgHeight:24})),FC1='',WC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FC1,svgWidth:24,svgHeight:24})),OC1='',GC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OC1,svgWidth:24,svgHeight:24})),zC1='',VC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zC1,svgWidth:24,svgHeight:24})),$C1='',YC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$C1,svgWidth:24,svgHeight:24})),JC1='',XC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JC1,svgWidth:24,svgHeight:24})),KC1='',qC1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KC1,svgWidth:24,svgHeight:24})),ZC1='',er1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZC1,svgWidth:24,svgHeight:24})),tr1='',nr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tr1,svgWidth:24,svgHeight:24})),Cr1='',rr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cr1,svgWidth:24,svgHeight:24})),ir1='',or1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ir1,svgWidth:24,svgHeight:24})),sr1='',lr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sr1,svgWidth:24,svgHeight:24})),ar1='',cr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ar1,svgWidth:24,svgHeight:24})),ur1='',dr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ur1,svgWidth:24,svgHeight:24})),hr1='',fr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hr1,svgWidth:24,svgHeight:24})),gr1='',Ar1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gr1,svgWidth:24,svgHeight:24})),pr1='',vr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pr1,svgWidth:24,svgHeight:24})),Lr1='',wr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lr1,svgWidth:24,svgHeight:24})),xr1='',mr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xr1,svgWidth:24,svgHeight:24})),kr1='',Mr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kr1,svgWidth:24,svgHeight:24})),Er1='',yr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Er1,svgWidth:24,svgHeight:24})),Br1='',Ir1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Br1,svgWidth:24,svgHeight:24})),Sr1='',_r1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sr1,svgWidth:24,svgHeight:24})),Qr1='',Rr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qr1,svgWidth:24,svgHeight:24})),br1='',Dr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:br1,svgWidth:24,svgHeight:24})),Tr1='',Hr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tr1,svgWidth:24,svgHeight:24})),Pr1='',Nr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pr1,svgWidth:24,svgHeight:24})),jr1='',Ur1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jr1,svgWidth:24,svgHeight:24})),Fr1='',Wr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fr1,svgWidth:24,svgHeight:24})),Or1='',Gr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Or1,svgWidth:24,svgHeight:24})),zr1='',Vr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zr1,svgWidth:24,svgHeight:24})),$r1='',Yr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$r1,svgWidth:24,svgHeight:24})),Jr1='',Xr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jr1,svgWidth:24,svgHeight:24})),Kr1='',qr1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kr1,svgWidth:24,svgHeight:24})),Zr1='',ei1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zr1,svgWidth:24,svgHeight:24})),ti1='',ni1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ti1,svgWidth:24,svgHeight:24})),Ci1='',ri1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ci1,svgWidth:24,svgHeight:24})),ii1='',oi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ii1,svgWidth:24,svgHeight:24})),si1='',li1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:si1,svgWidth:24,svgHeight:24})),ai1='',ci1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ai1,svgWidth:24,svgHeight:24})),ui1='',di1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ui1,svgWidth:24,svgHeight:24})),hi1='',fi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hi1,svgWidth:24,svgHeight:24})),gi1='',Ai1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gi1,svgWidth:24,svgHeight:24})),pi1='',vi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pi1,svgWidth:24,svgHeight:24})),Li1='',wi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Li1,svgWidth:24,svgHeight:24})),xi1='',mi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xi1,svgWidth:24,svgHeight:24})),ki1='',Mi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ki1,svgWidth:24,svgHeight:24})),Ei1='',yi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ei1,svgWidth:24,svgHeight:24})),Bi1='',Ii1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bi1,svgWidth:24,svgHeight:24})),Si1='',_i1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Si1,svgWidth:24,svgHeight:24})),Qi1='',Ri1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qi1,svgWidth:24,svgHeight:24})),bi1='',Di1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bi1,svgWidth:24,svgHeight:24})),Ti1='',Hi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ti1,svgWidth:24,svgHeight:24})),Pi1='',Ni1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pi1,svgWidth:24,svgHeight:24})),ji1='',Ui1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ji1,svgWidth:24,svgHeight:24})),Fi1='',Wi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fi1,svgWidth:24,svgHeight:24})),Oi1='',Gi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oi1,svgWidth:24,svgHeight:24})),zi1='',Vi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zi1,svgWidth:24,svgHeight:24})),$i1='',Yi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$i1,svgWidth:24,svgHeight:24})),Ji1='',Xi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ji1,svgWidth:24,svgHeight:24})),Ki1='',qi1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ki1,svgWidth:24,svgHeight:24})),Zi1='',eo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zi1,svgWidth:24,svgHeight:24})),to1='',no1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:to1,svgWidth:24,svgHeight:24})),Co1='',ro1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Co1,svgWidth:24,svgHeight:24})),io1='',oo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:io1,svgWidth:24,svgHeight:24})),so1='',lo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:so1,svgWidth:24,svgHeight:24})),ao1='',co1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ao1,svgWidth:24,svgHeight:24})),uo1='',do1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uo1,svgWidth:24,svgHeight:24})),ho1='',fo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ho1,svgWidth:24,svgHeight:24})),go1='',Ao1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:go1,svgWidth:24,svgHeight:24})),po1='',vo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:po1,svgWidth:24,svgHeight:24})),Lo1='',wo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lo1,svgWidth:24,svgHeight:24})),xo1='',mo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xo1,svgWidth:24,svgHeight:24})),ko1='',Mo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ko1,svgWidth:24,svgHeight:24})),Eo1='',yo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Eo1,svgWidth:24,svgHeight:24})),Bo1='',Io1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bo1,svgWidth:24,svgHeight:24})),So1='',_o1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:So1,svgWidth:24,svgHeight:24})),Qo1='',Ro1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qo1,svgWidth:24,svgHeight:24})),bo1='',Do1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bo1,svgWidth:24,svgHeight:24})),To1='',Ho1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:To1,svgWidth:24,svgHeight:24})),Po1='',No1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Po1,svgWidth:24,svgHeight:24})),jo1='',Uo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jo1,svgWidth:24,svgHeight:24})),Fo1='',Wo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fo1,svgWidth:24,svgHeight:24})),Oo1='',Go1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oo1,svgWidth:24,svgHeight:24})),zo1='',Vo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zo1,svgWidth:24,svgHeight:24})),$o1='',Yo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$o1,svgWidth:24,svgHeight:24})),Jo1='',Xo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jo1,svgWidth:24,svgHeight:24})),Ko1='',qo1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ko1,svgWidth:24,svgHeight:24})),Zo1='',es1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zo1,svgWidth:24,svgHeight:24})),ts1='',ns1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ts1,svgWidth:24,svgHeight:24})),Cs1='',rs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cs1,svgWidth:24,svgHeight:24})),is1='',os1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:is1,svgWidth:24,svgHeight:24})),ss1='',ls1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ss1,svgWidth:24,svgHeight:24})),as1='',cs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:as1,svgWidth:24,svgHeight:24})),us1='',ds1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:us1,svgWidth:24,svgHeight:24})),hs1='',fs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hs1,svgWidth:24,svgHeight:24})),gs1='',As1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gs1,svgWidth:24,svgHeight:24})),ps1='',vs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ps1,svgWidth:24,svgHeight:24})),Ls1='',ws1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ls1,svgWidth:24,svgHeight:24})),xs1='',ms1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xs1,svgWidth:24,svgHeight:24})),ks1='',Ms1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ks1,svgWidth:24,svgHeight:24})),Es1='',ys1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Es1,svgWidth:24,svgHeight:24})),Bs1='',Is1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bs1,svgWidth:24,svgHeight:24})),Ss1='',_s1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ss1,svgWidth:24,svgHeight:24})),Qs1='',Rs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qs1,svgWidth:24,svgHeight:24})),bs1='',Ds1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bs1,svgWidth:24,svgHeight:24})),Ts1='',Hs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ts1,svgWidth:24,svgHeight:24})),Ps1='',Ns1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ps1,svgWidth:24,svgHeight:24})),js1='',Us1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:js1,svgWidth:24,svgHeight:24})),Fs1='',Ws1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fs1,svgWidth:24,svgHeight:24})),Os1='',Gs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Os1,svgWidth:24,svgHeight:24})),zs1='',Vs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zs1,svgWidth:24,svgHeight:24})),$s1='',Ys1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$s1,svgWidth:24,svgHeight:24})),Js1='',Xs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Js1,svgWidth:24,svgHeight:24})),Ks1='',qs1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ks1,svgWidth:24,svgHeight:24})),Zs1='',el1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zs1,svgWidth:24,svgHeight:24})),tl1='',nl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tl1,svgWidth:24,svgHeight:24})),Cl1='',rl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cl1,svgWidth:24,svgHeight:24})),il1='',ol1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:il1,svgWidth:24,svgHeight:24})),sl1='',ll1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sl1,svgWidth:24,svgHeight:24})),al1='',cl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:al1,svgWidth:24,svgHeight:24})),ul1='',dl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ul1,svgWidth:24,svgHeight:24})),hl1='',fl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hl1,svgWidth:24,svgHeight:24})),gl1='',Al1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gl1,svgWidth:24,svgHeight:24})),pl1='',vl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pl1,svgWidth:24,svgHeight:24})),Ll1='',wl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ll1,svgWidth:24,svgHeight:24})),xl1='',ml1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xl1,svgWidth:24,svgHeight:24})),kl1='',Ml1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kl1,svgWidth:24,svgHeight:24})),El1='',yl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:El1,svgWidth:24,svgHeight:24})),Bl1='',Il1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bl1,svgWidth:24,svgHeight:24})),Sl1='',_l1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sl1,svgWidth:24,svgHeight:24})),Ql1='',Rl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ql1,svgWidth:24,svgHeight:24})),bl1='',Dl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bl1,svgWidth:24,svgHeight:24})),Tl1='',Hl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tl1,svgWidth:24,svgHeight:24})),Pl1='',Nl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pl1,svgWidth:24,svgHeight:24})),jl1='',Ul1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jl1,svgWidth:24,svgHeight:24})),Fl1='',Wl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fl1,svgWidth:24,svgHeight:24})),Ol1='',Gl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ol1,svgWidth:24,svgHeight:24})),zl1='',Vl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zl1,svgWidth:24,svgHeight:24})),$l1='',Yl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$l1,svgWidth:24,svgHeight:24})),Jl1='',Xl1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jl1,svgWidth:24,svgHeight:24})),Kl1='',ql1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kl1,svgWidth:24,svgHeight:24})),Zl1='',ea1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zl1,svgWidth:24,svgHeight:24})),ta1='',na1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ta1,svgWidth:24,svgHeight:24})),Ca1='',ra1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ca1,svgWidth:24,svgHeight:24})),ia1='',oa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ia1,svgWidth:24,svgHeight:24})),sa1='',la1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sa1,svgWidth:24,svgHeight:24})),aa1='',ca1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aa1,svgWidth:24,svgHeight:24})),ua1='',da1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ua1,svgWidth:24,svgHeight:24})),ha1='',fa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ha1,svgWidth:24,svgHeight:24})),ga1='',Aa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ga1,svgWidth:24,svgHeight:24})),pa1='',va1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pa1,svgWidth:24,svgHeight:24})),La1='',wa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:La1,svgWidth:24,svgHeight:24})),xa1='',ma1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xa1,svgWidth:24,svgHeight:24})),ka1='',Ma1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ka1,svgWidth:24,svgHeight:24})),Ea1='',ya1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ea1,svgWidth:24,svgHeight:24})),Ba1='',Ia1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ba1,svgWidth:24,svgHeight:24})),Sa1='',_a1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sa1,svgWidth:24,svgHeight:24})),Qa1='',Ra1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qa1,svgWidth:24,svgHeight:24})),ba1='',Da1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ba1,svgWidth:24,svgHeight:24})),Ta1='',Ha1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ta1,svgWidth:24,svgHeight:24})),Pa1='',Na1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pa1,svgWidth:24,svgHeight:24})),ja1='',Ua1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ja1,svgWidth:24,svgHeight:24})),Fa1='',Wa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fa1,svgWidth:24,svgHeight:24})),Oa1='',Ga1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oa1,svgWidth:24,svgHeight:24})),za1='',Va1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:za1,svgWidth:24,svgHeight:24})),$a1='',Ya1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$a1,svgWidth:24,svgHeight:24})),Ja1='',Xa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ja1,svgWidth:24,svgHeight:24})),Ka1='',qa1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ka1,svgWidth:24,svgHeight:24})),Za1='',ec1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Za1,svgWidth:24,svgHeight:24})),tc1='',nc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tc1,svgWidth:24,svgHeight:24})),Cc1='',rc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cc1,svgWidth:24,svgHeight:24})),ic1='',oc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ic1,svgWidth:24,svgHeight:24})),sc1='',lc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sc1,svgWidth:24,svgHeight:24})),ac1='',cc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ac1,svgWidth:24,svgHeight:24})),uc1='',dc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uc1,svgWidth:24,svgHeight:24})),hc1='',fc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hc1,svgWidth:24,svgHeight:24})),gc1='',Ac1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gc1,svgWidth:24,svgHeight:24})),pc1='',vc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pc1,svgWidth:24,svgHeight:24})),Lc1='',wc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lc1,svgWidth:24,svgHeight:24})),xc1='',mc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xc1,svgWidth:24,svgHeight:24})),kc1='',Mc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kc1,svgWidth:24,svgHeight:24})),Ec1='',yc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ec1,svgWidth:24,svgHeight:24})),Bc1='',Ic1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bc1,svgWidth:24,svgHeight:24})),Sc1='',_c1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sc1,svgWidth:24,svgHeight:24})),Qc1='',Rc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qc1,svgWidth:24,svgHeight:24})),bc1='',Dc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bc1,svgWidth:24,svgHeight:24})),Tc1='',Hc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tc1,svgWidth:24,svgHeight:24})),Pc1='',Nc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pc1,svgWidth:24,svgHeight:24})),jc1='',Uc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jc1,svgWidth:24,svgHeight:24})),Fc1='',Wc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fc1,svgWidth:24,svgHeight:24})),Oc1='',Gc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oc1,svgWidth:24,svgHeight:24})),zc1='',Vc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zc1,svgWidth:24,svgHeight:24})),$c1='',Yc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$c1,svgWidth:24,svgHeight:24})),Jc1='',Xc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jc1,svgWidth:24,svgHeight:24})),Kc1='',qc1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kc1,svgWidth:24,svgHeight:24})),Zc1='',eu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zc1,svgWidth:24,svgHeight:24})),tu1='',nu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tu1,svgWidth:24,svgHeight:24})),Cu1='',ru1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cu1,svgWidth:24,svgHeight:24})),iu1='',ou1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iu1,svgWidth:24,svgHeight:24})),su1='',lu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:su1,svgWidth:24,svgHeight:24})),au1='',cu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:au1,svgWidth:24,svgHeight:24})),uu1='',du1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uu1,svgWidth:24,svgHeight:24})),hu1='',fu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hu1,svgWidth:24,svgHeight:24})),gu1='',Au1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gu1,svgWidth:24,svgHeight:24})),pu1='',vu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pu1,svgWidth:24,svgHeight:24})),Lu1='',wu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lu1,svgWidth:24,svgHeight:24})),xu1='',mu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xu1,svgWidth:24,svgHeight:24})),ku1='',Mu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ku1,svgWidth:24,svgHeight:24})),Eu1='',yu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Eu1,svgWidth:24,svgHeight:24})),Bu1='',Iu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bu1,svgWidth:24,svgHeight:24})),Su1='',_u1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Su1,svgWidth:24,svgHeight:24})),Qu1='',Ru1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qu1,svgWidth:24,svgHeight:24})),bu1='',Du1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bu1,svgWidth:24,svgHeight:24})),Tu1='',Hu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tu1,svgWidth:24,svgHeight:24})),Pu1='',Nu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pu1,svgWidth:24,svgHeight:24})),ju1='',Uu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ju1,svgWidth:24,svgHeight:24})),Fu1='',Wu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fu1,svgWidth:24,svgHeight:24})),Ou1='',Gu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ou1,svgWidth:24,svgHeight:24})),zu1='',Vu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zu1,svgWidth:24,svgHeight:24})),$u1='',Yu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$u1,svgWidth:24,svgHeight:24})),Ju1='',Xu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ju1,svgWidth:24,svgHeight:24})),Ku1='',qu1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ku1,svgWidth:24,svgHeight:24})),Zu1='',ed1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zu1,svgWidth:24,svgHeight:24})),td1='',nd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:td1,svgWidth:24,svgHeight:24})),Cd1='',rd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cd1,svgWidth:24,svgHeight:24})),id1='',od1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:id1,svgWidth:24,svgHeight:24})),sd1='',ld1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sd1,svgWidth:24,svgHeight:24})),ad1='',cd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ad1,svgWidth:24,svgHeight:24})),ud1='',dd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ud1,svgWidth:24,svgHeight:24})),hd1='',fd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hd1,svgWidth:24,svgHeight:24})),gd1='',Ad1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gd1,svgWidth:24,svgHeight:24})),pd1='',vd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pd1,svgWidth:24,svgHeight:24})),Ld1='',wd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ld1,svgWidth:24,svgHeight:24})),xd1='',md1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xd1,svgWidth:24,svgHeight:24})),kd1='',Md1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kd1,svgWidth:24,svgHeight:24})),Ed1='',yd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ed1,svgWidth:24,svgHeight:24})),Bd1='',Id1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bd1,svgWidth:24,svgHeight:24})),Sd1='',_d1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sd1,svgWidth:24,svgHeight:24})),Qd1='',Rd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qd1,svgWidth:24,svgHeight:24})),bd1='',Dd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bd1,svgWidth:24,svgHeight:24})),Td1='',Hd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Td1,svgWidth:24,svgHeight:24})),Pd1='',Nd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pd1,svgWidth:24,svgHeight:24})),jd1='',Ud1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jd1,svgWidth:24,svgHeight:24})),Fd1='',Wd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fd1,svgWidth:24,svgHeight:24})),Od1='',Gd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Od1,svgWidth:24,svgHeight:24})),zd1='',Vd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zd1,svgWidth:24,svgHeight:24})),$d1='',Yd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$d1,svgWidth:24,svgHeight:24})),Jd1='',Xd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jd1,svgWidth:24,svgHeight:24})),Kd1='',qd1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kd1,svgWidth:24,svgHeight:24})),Zd1='',eh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zd1,svgWidth:24,svgHeight:24})),th1='',nh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:th1,svgWidth:24,svgHeight:24})),Ch1='',rh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ch1,svgWidth:24,svgHeight:24})),ih1='',oh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ih1,svgWidth:24,svgHeight:24})),sh1='',lh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sh1,svgWidth:24,svgHeight:24})),ah1='',ch1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ah1,svgWidth:24,svgHeight:24})),uh1='',dh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uh1,svgWidth:24,svgHeight:24})),hh1='',fh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hh1,svgWidth:24,svgHeight:24})),gh1='',Ah1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gh1,svgWidth:24,svgHeight:24})),ph1='',vh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ph1,svgWidth:24,svgHeight:24})),Lh1='',wh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lh1,svgWidth:24,svgHeight:24})),xh1='',mh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xh1,svgWidth:24,svgHeight:24})),kh1='',Mh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kh1,svgWidth:24,svgHeight:24})),Eh1='',yh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Eh1,svgWidth:24,svgHeight:24})),Bh1='',Ih1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bh1,svgWidth:24,svgHeight:24})),Sh1='',_h1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sh1,svgWidth:24,svgHeight:24})),Qh1='',Rh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qh1,svgWidth:24,svgHeight:24})),bh1='',Dh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bh1,svgWidth:24,svgHeight:24})),Th1='',Hh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Th1,svgWidth:24,svgHeight:24})),Ph1='',Nh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ph1,svgWidth:24,svgHeight:24})),jh1='',Uh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jh1,svgWidth:24,svgHeight:24})),Fh1='',Wh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fh1,svgWidth:24,svgHeight:24})),Oh1='',Gh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oh1,svgWidth:24,svgHeight:24})),zh1='',Vh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zh1,svgWidth:24,svgHeight:24})),$h1='',Yh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$h1,svgWidth:24,svgHeight:24})),Jh1='',Xh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jh1,svgWidth:24,svgHeight:24})),Kh1='',qh1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kh1,svgWidth:24,svgHeight:24})),Zh1='',ef1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zh1,svgWidth:24,svgHeight:24})),tf1='',nf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tf1,svgWidth:24,svgHeight:24})),Cf1='',rf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cf1,svgWidth:24,svgHeight:24})),if1='',of1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:if1,svgWidth:24,svgHeight:24})),sf1='',lf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sf1,svgWidth:24,svgHeight:24})),af1='',cf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:af1,svgWidth:24,svgHeight:24})),uf1='',df1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uf1,svgWidth:24,svgHeight:24})),hf1='',ff1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hf1,svgWidth:24,svgHeight:24})),gf1='',Af1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gf1,svgWidth:24,svgHeight:24})),pf1='',vf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pf1,svgWidth:24,svgHeight:24})),Lf1='',wf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lf1,svgWidth:24,svgHeight:24})),xf1='',mf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xf1,svgWidth:24,svgHeight:24})),kf1='',Mf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kf1,svgWidth:24,svgHeight:24})),Ef1='',yf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ef1,svgWidth:24,svgHeight:24})),Bf1='',If1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bf1,svgWidth:24,svgHeight:24})),Sf1='',_f1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sf1,svgWidth:24,svgHeight:24})),Qf1='',Rf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qf1,svgWidth:24,svgHeight:24})),bf1='',Df1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bf1,svgWidth:24,svgHeight:24})),Tf1='',Hf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tf1,svgWidth:24,svgHeight:24})),Pf1='',Nf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pf1,svgWidth:24,svgHeight:24})),jf1='',Uf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jf1,svgWidth:24,svgHeight:24})),Ff1='',Wf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ff1,svgWidth:24,svgHeight:24})),Of1='',Gf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Of1,svgWidth:24,svgHeight:24})),zf1='',Vf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zf1,svgWidth:24,svgHeight:24})),$f1='',Yf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$f1,svgWidth:24,svgHeight:24})),Jf1='',Xf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jf1,svgWidth:24,svgHeight:24})),Kf1='',qf1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kf1,svgWidth:24,svgHeight:24})),Zf1='',eg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zf1,svgWidth:24,svgHeight:24})),tg1='',ng1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tg1,svgWidth:24,svgHeight:24})),Cg1='',rg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cg1,svgWidth:24,svgHeight:24})),ig1='',og1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ig1,svgWidth:24,svgHeight:24})),sg1='',lg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sg1,svgWidth:24,svgHeight:24})),ag1='',cg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ag1,svgWidth:24,svgHeight:24})),ug1='',dg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ug1,svgWidth:24,svgHeight:24})),hg1='',fg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hg1,svgWidth:24,svgHeight:24})),gg1='',Ag1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gg1,svgWidth:24,svgHeight:24})),pg1='',vg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pg1,svgWidth:24,svgHeight:24})),Lg1='',wg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lg1,svgWidth:24,svgHeight:24})),xg1='',mg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xg1,svgWidth:24,svgHeight:24})),kg1='',Mg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kg1,svgWidth:24,svgHeight:24})),Eg1='',yg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Eg1,svgWidth:24,svgHeight:24})),Bg1='',Ig1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bg1,svgWidth:24,svgHeight:24})),Sg1='',_g1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sg1,svgWidth:24,svgHeight:24})),Qg1='',Rg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qg1,svgWidth:24,svgHeight:24})),bg1='',Dg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bg1,svgWidth:24,svgHeight:24})),Tg1='',Hg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tg1,svgWidth:24,svgHeight:24})),Pg1='',Ng1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pg1,svgWidth:24,svgHeight:24})),jg1='',Ug1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jg1,svgWidth:24,svgHeight:24})),Fg1='',Wg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fg1,svgWidth:24,svgHeight:24})),Og1='',Gg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Og1,svgWidth:24,svgHeight:24})),zg1='',Vg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zg1,svgWidth:24,svgHeight:24})),$g1='',Yg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$g1,svgWidth:24,svgHeight:24})),Jg1='',Xg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jg1,svgWidth:24,svgHeight:24})),Kg1='',qg1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kg1,svgWidth:24,svgHeight:24})),Zg1='',eA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zg1,svgWidth:24,svgHeight:24})),tA1='',nA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tA1,svgWidth:24,svgHeight:24})),CA1='',rA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CA1,svgWidth:24,svgHeight:24})),iA1='',oA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iA1,svgWidth:24,svgHeight:24})),sA1='',lA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sA1,svgWidth:24,svgHeight:24})),aA1='',cA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aA1,svgWidth:24,svgHeight:24})),uA1='',dA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uA1,svgWidth:24,svgHeight:24})),hA1='',fA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hA1,svgWidth:24,svgHeight:24})),gA1='',AA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gA1,svgWidth:24,svgHeight:24})),pA1='',vA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pA1,svgWidth:24,svgHeight:24})),LA1='',wA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LA1,svgWidth:24,svgHeight:24})),xA1='',mA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xA1,svgWidth:24,svgHeight:24})),kA1='',MA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kA1,svgWidth:24,svgHeight:24})),EA1='',yA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EA1,svgWidth:24,svgHeight:24})),BA1='',IA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BA1,svgWidth:24,svgHeight:24})),SA1='',_A1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SA1,svgWidth:24,svgHeight:24})),QA1='',RA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QA1,svgWidth:24,svgHeight:24})),bA1='',DA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bA1,svgWidth:24,svgHeight:24})),TA1='',HA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TA1,svgWidth:24,svgHeight:24})),PA1='',NA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PA1,svgWidth:24,svgHeight:24})),jA1='',UA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jA1,svgWidth:24,svgHeight:24})),FA1='',WA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FA1,svgWidth:24,svgHeight:24})),OA1='',GA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OA1,svgWidth:24,svgHeight:24})),zA1='',VA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zA1,svgWidth:24,svgHeight:24})),$A1='',YA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$A1,svgWidth:24,svgHeight:24})),JA1='',XA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JA1,svgWidth:24,svgHeight:24})),KA1='',qA1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KA1,svgWidth:24,svgHeight:24})),ZA1='',ep1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZA1,svgWidth:24,svgHeight:24})),tp1='',np1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tp1,svgWidth:24,svgHeight:24})),Cp1='',rp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cp1,svgWidth:24,svgHeight:24})),ip1='',op1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ip1,svgWidth:24,svgHeight:24})),sp1='',lp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sp1,svgWidth:24,svgHeight:24})),ap1='',cp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ap1,svgWidth:24,svgHeight:24})),up1='',dp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:up1,svgWidth:24,svgHeight:24})),hp1='',fp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hp1,svgWidth:24,svgHeight:24})),gp1='',Ap1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gp1,svgWidth:24,svgHeight:24})),pp1='',vp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pp1,svgWidth:24,svgHeight:24})),Lp1='',wp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lp1,svgWidth:24,svgHeight:24})),xp1='',mp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xp1,svgWidth:24,svgHeight:24})),kp1='',Mp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kp1,svgWidth:24,svgHeight:24})),Ep1='',yp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ep1,svgWidth:24,svgHeight:24})),Bp1='',Ip1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bp1,svgWidth:24,svgHeight:24})),Sp1='',_p1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sp1,svgWidth:24,svgHeight:24})),Qp1='',Rp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qp1,svgWidth:24,svgHeight:24})),bp1='',Dp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bp1,svgWidth:24,svgHeight:24})),Tp1='',Hp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tp1,svgWidth:24,svgHeight:24})),Pp1='',Np1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pp1,svgWidth:24,svgHeight:24})),jp1='',Up1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jp1,svgWidth:24,svgHeight:24})),Fp1='',Wp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fp1,svgWidth:24,svgHeight:24})),Op1='',Gp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Op1,svgWidth:24,svgHeight:24})),zp1='',Vp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zp1,svgWidth:24,svgHeight:24})),$p1='',Yp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$p1,svgWidth:24,svgHeight:24})),Jp1='',Xp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jp1,svgWidth:24,svgHeight:24})),Kp1='',qp1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kp1,svgWidth:24,svgHeight:24})),Zp1='',ev1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zp1,svgWidth:24,svgHeight:24})),tv1='',nv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tv1,svgWidth:24,svgHeight:24})),Cv1='',rv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cv1,svgWidth:24,svgHeight:24})),iv1='',ov1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iv1,svgWidth:24,svgHeight:24})),sv1='',lv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sv1,svgWidth:24,svgHeight:24})),av1='',cv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:av1,svgWidth:24,svgHeight:24})),uv1='',dv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uv1,svgWidth:24,svgHeight:24})),hv1='',fv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hv1,svgWidth:24,svgHeight:24})),gv1='',Av1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gv1,svgWidth:24,svgHeight:24})),pv1='',vv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pv1,svgWidth:24,svgHeight:24})),Lv1='',wv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lv1,svgWidth:24,svgHeight:24})),xv1='',mv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xv1,svgWidth:24,svgHeight:24})),kv1='',Mv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kv1,svgWidth:24,svgHeight:24})),Ev1='',yv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ev1,svgWidth:24,svgHeight:24})),Bv1='',Iv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bv1,svgWidth:24,svgHeight:24})),Sv1='',_v1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sv1,svgWidth:24,svgHeight:24})),Qv1='',Rv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qv1,svgWidth:24,svgHeight:24})),bv1='',Dv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bv1,svgWidth:24,svgHeight:24})),Tv1='',Hv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tv1,svgWidth:24,svgHeight:24})),Pv1='',Nv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pv1,svgWidth:24,svgHeight:24})),jv1='',Uv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jv1,svgWidth:24,svgHeight:24})),Fv1='',Wv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fv1,svgWidth:24,svgHeight:24})),Ov1='',Gv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ov1,svgWidth:24,svgHeight:24})),zv1='',Vv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zv1,svgWidth:24,svgHeight:24})),$v1='',Yv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$v1,svgWidth:24,svgHeight:24})),Jv1='',Xv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jv1,svgWidth:24,svgHeight:24})),Kv1='',qv1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kv1,svgWidth:24,svgHeight:24})),Zv1='',eL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zv1,svgWidth:24,svgHeight:24})),tL1='',nL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tL1,svgWidth:24,svgHeight:24})),CL1='',rL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CL1,svgWidth:24,svgHeight:24})),iL1='',oL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iL1,svgWidth:24,svgHeight:24})),sL1='',lL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sL1,svgWidth:24,svgHeight:24})),aL1='',cL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aL1,svgWidth:24,svgHeight:24})),uL1='',dL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uL1,svgWidth:24,svgHeight:24})),hL1='',fL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hL1,svgWidth:24,svgHeight:24})),gL1='',AL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gL1,svgWidth:24,svgHeight:24})),pL1='',vL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pL1,svgWidth:24,svgHeight:24})),LL1='',wL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LL1,svgWidth:24,svgHeight:24})),xL1='',mL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xL1,svgWidth:24,svgHeight:24})),kL1='',ML1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kL1,svgWidth:24,svgHeight:24})),EL1='',yL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EL1,svgWidth:24,svgHeight:24})),BL1='',IL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BL1,svgWidth:24,svgHeight:24})),SL1='',_L1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SL1,svgWidth:24,svgHeight:24})),QL1='',RL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QL1,svgWidth:24,svgHeight:24})),bL1='',DL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bL1,svgWidth:24,svgHeight:24})),TL1='',HL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TL1,svgWidth:24,svgHeight:24})),PL1='',NL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PL1,svgWidth:24,svgHeight:24})),jL1='',UL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jL1,svgWidth:24,svgHeight:24})),FL1='',WL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FL1,svgWidth:24,svgHeight:24})),OL1='',GL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OL1,svgWidth:24,svgHeight:24})),zL1='',VL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zL1,svgWidth:24,svgHeight:24})),$L1='',YL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$L1,svgWidth:24,svgHeight:24})),JL1='',XL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JL1,svgWidth:24,svgHeight:24})),KL1='',qL1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KL1,svgWidth:24,svgHeight:24})),ZL1='',ew1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZL1,svgWidth:24,svgHeight:24})),tw1='',nw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tw1,svgWidth:24,svgHeight:24})),Cw1='',rw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cw1,svgWidth:24,svgHeight:24})),iw1='',ow1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iw1,svgWidth:24,svgHeight:24})),sw1='',lw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sw1,svgWidth:24,svgHeight:24})),aw1='',cw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aw1,svgWidth:24,svgHeight:24})),uw1='',dw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uw1,svgWidth:24,svgHeight:24})),hw1='',fw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hw1,svgWidth:24,svgHeight:24})),gw1='',Aw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gw1,svgWidth:24,svgHeight:24})),pw1='',vw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pw1,svgWidth:24,svgHeight:24})),Lw1='',ww1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lw1,svgWidth:24,svgHeight:24})),xw1='',mw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xw1,svgWidth:24,svgHeight:24})),kw1='',Mw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kw1,svgWidth:24,svgHeight:24})),Ew1='',yw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ew1,svgWidth:24,svgHeight:24})),Bw1='',Iw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bw1,svgWidth:24,svgHeight:24})),Sw1='',_w1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sw1,svgWidth:24,svgHeight:24})),Qw1='',Rw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qw1,svgWidth:24,svgHeight:24})),bw1='',Dw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bw1,svgWidth:24,svgHeight:24})),Tw1='',Hw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tw1,svgWidth:24,svgHeight:24})),Pw1='',Nw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pw1,svgWidth:24,svgHeight:24})),jw1='',Uw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jw1,svgWidth:24,svgHeight:24})),Fw1='',Ww1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fw1,svgWidth:24,svgHeight:24})),Ow1='',Gw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ow1,svgWidth:24,svgHeight:24})),zw1='',Vw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zw1,svgWidth:24,svgHeight:24})),$w1='',Yw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$w1,svgWidth:24,svgHeight:24})),Jw1='',Xw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jw1,svgWidth:24,svgHeight:24})),Kw1='',qw1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kw1,svgWidth:24,svgHeight:24})),Zw1='',ex1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zw1,svgWidth:24,svgHeight:24})),tx1='',nx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tx1,svgWidth:24,svgHeight:24})),Cx1='',rx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cx1,svgWidth:24,svgHeight:24})),ix1='',ox1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ix1,svgWidth:24,svgHeight:24})),sx1='',lx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sx1,svgWidth:24,svgHeight:24})),ax1='',cx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ax1,svgWidth:24,svgHeight:24})),ux1='',dx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ux1,svgWidth:24,svgHeight:24})),hx1='',fx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hx1,svgWidth:24,svgHeight:24})),gx1='',Ax1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gx1,svgWidth:24,svgHeight:24})),px1='',vx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:px1,svgWidth:24,svgHeight:24})),Lx1='',wx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lx1,svgWidth:24,svgHeight:24})),xx1='',mx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xx1,svgWidth:24,svgHeight:24})),kx1='',Mx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kx1,svgWidth:24,svgHeight:24})),Ex1='',yx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ex1,svgWidth:24,svgHeight:24})),Bx1='',Ix1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bx1,svgWidth:24,svgHeight:24})),Sx1='',_x1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sx1,svgWidth:24,svgHeight:24})),Qx1='',Rx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qx1,svgWidth:24,svgHeight:24})),bx1='',Dx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bx1,svgWidth:24,svgHeight:24})),Tx1='',Hx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tx1,svgWidth:24,svgHeight:24})),Px1='',Nx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Px1,svgWidth:24,svgHeight:24})),jx1='',Ux1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jx1,svgWidth:24,svgHeight:24})),Fx1='',Wx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fx1,svgWidth:24,svgHeight:24})),Ox1='',Gx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ox1,svgWidth:24,svgHeight:24})),zx1='',Vx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zx1,svgWidth:24,svgHeight:24})),$x1='',Yx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$x1,svgWidth:24,svgHeight:24})),Jx1='',Xx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jx1,svgWidth:24,svgHeight:24})),Kx1='',qx1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kx1,svgWidth:24,svgHeight:24})),Zx1='',em1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zx1,svgWidth:24,svgHeight:24})),tm1='',nm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tm1,svgWidth:24,svgHeight:24})),Cm1='',rm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cm1,svgWidth:24,svgHeight:24})),im1='',om1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:im1,svgWidth:24,svgHeight:24})),sm1='',lm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sm1,svgWidth:24,svgHeight:24})),am1='',cm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:am1,svgWidth:24,svgHeight:24})),um1='',dm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:um1,svgWidth:24,svgHeight:24})),hm1='',fm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hm1,svgWidth:24,svgHeight:24})),gm1='',Am1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gm1,svgWidth:24,svgHeight:24})),pm1='',vm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pm1,svgWidth:24,svgHeight:24})),Lm1='',wm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lm1,svgWidth:24,svgHeight:24})),xm1='',mm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xm1,svgWidth:24,svgHeight:24})),km1='',Mm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:km1,svgWidth:24,svgHeight:24})),Em1='',ym1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Em1,svgWidth:24,svgHeight:24})),Bm1='',Im1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bm1,svgWidth:24,svgHeight:24})),Sm1='',_m1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sm1,svgWidth:24,svgHeight:24})),Qm1='',Rm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qm1,svgWidth:24,svgHeight:24})),bm1='',Dm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bm1,svgWidth:24,svgHeight:24})),Tm1='',Hm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tm1,svgWidth:24,svgHeight:24})),Pm1='',Nm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pm1,svgWidth:24,svgHeight:24})),jm1='',Um1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jm1,svgWidth:24,svgHeight:24})),Fm1='',Wm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fm1,svgWidth:24,svgHeight:24})),Om1='',Gm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Om1,svgWidth:24,svgHeight:24})),zm1='',Vm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zm1,svgWidth:24,svgHeight:24})),$m1='',Ym1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$m1,svgWidth:24,svgHeight:24})),Jm1='',Xm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jm1,svgWidth:24,svgHeight:24})),Km1='',qm1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Km1,svgWidth:24,svgHeight:24})),Zm1='',ek1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zm1,svgWidth:24,svgHeight:24})),tk1='',nk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tk1,svgWidth:24,svgHeight:24})),Ck1='',rk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ck1,svgWidth:24,svgHeight:24})),ik1='',ok1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ik1,svgWidth:24,svgHeight:24})),sk1='',lk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sk1,svgWidth:24,svgHeight:24})),ak1='',ck1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ak1,svgWidth:24,svgHeight:24})),uk1='',dk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uk1,svgWidth:24,svgHeight:24})),hk1='',fk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hk1,svgWidth:24,svgHeight:24})),gk1='',Ak1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gk1,svgWidth:24,svgHeight:24})),pk1='',vk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pk1,svgWidth:24,svgHeight:24})),Lk1='',wk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Lk1,svgWidth:24,svgHeight:24})),xk1='',mk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xk1,svgWidth:24,svgHeight:24})),kk1='',Mk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kk1,svgWidth:24,svgHeight:24})),Ek1='',yk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ek1,svgWidth:24,svgHeight:24})),Bk1='',Ik1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Bk1,svgWidth:24,svgHeight:24})),Sk1='',_k1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sk1,svgWidth:24,svgHeight:24})),Qk1='',Rk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qk1,svgWidth:24,svgHeight:24})),bk1='',Dk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bk1,svgWidth:24,svgHeight:24})),Tk1='',Hk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Tk1,svgWidth:24,svgHeight:24})),Pk1='',Nk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Pk1,svgWidth:24,svgHeight:24})),jk1='',Uk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jk1,svgWidth:24,svgHeight:24})),Fk1='',Wk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fk1,svgWidth:24,svgHeight:24})),Ok1='',Gk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ok1,svgWidth:24,svgHeight:24})),zk1='',Vk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zk1,svgWidth:24,svgHeight:24})),$k1='',Yk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$k1,svgWidth:24,svgHeight:24})),Jk1='',Xk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jk1,svgWidth:24,svgHeight:24})),Kk1='',qk1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Kk1,svgWidth:24,svgHeight:24})),Zk1='',eM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zk1,svgWidth:24,svgHeight:24})),tM1='',nM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tM1,svgWidth:24,svgHeight:24})),CM1='',rM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CM1,svgWidth:24,svgHeight:24})),iM1='',oM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iM1,svgWidth:24,svgHeight:24})),sM1='',lM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sM1,svgWidth:24,svgHeight:24})),aM1='',cM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aM1,svgWidth:24,svgHeight:24})),uM1='',dM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uM1,svgWidth:24,svgHeight:24})),hM1='',fM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hM1,svgWidth:24,svgHeight:24})),gM1='',AM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gM1,svgWidth:24,svgHeight:24})),pM1='',vM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pM1,svgWidth:24,svgHeight:24})),LM1='',wM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LM1,svgWidth:24,svgHeight:24})),xM1='',mM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xM1,svgWidth:24,svgHeight:24})),kM1='',MM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kM1,svgWidth:24,svgHeight:24})),EM1='',yM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EM1,svgWidth:24,svgHeight:24})),BM1='',IM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BM1,svgWidth:24,svgHeight:24})),SM1='',_M1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SM1,svgWidth:24,svgHeight:24})),QM1='',RM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QM1,svgWidth:24,svgHeight:24})),bM1='',DM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bM1,svgWidth:24,svgHeight:24})),TM1='',HM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TM1,svgWidth:24,svgHeight:24})),PM1='',NM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PM1,svgWidth:24,svgHeight:24})),jM1='',UM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jM1,svgWidth:24,svgHeight:24})),FM1='',WM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FM1,svgWidth:24,svgHeight:24})),OM1='',GM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OM1,svgWidth:24,svgHeight:24})),zM1='',VM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zM1,svgWidth:24,svgHeight:24})),$M1='',YM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$M1,svgWidth:24,svgHeight:24})),JM1='',XM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JM1,svgWidth:24,svgHeight:24})),KM1='',qM1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KM1,svgWidth:24,svgHeight:24})),ZM1='',eE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZM1,svgWidth:24,svgHeight:24})),tE1='',nE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tE1,svgWidth:24,svgHeight:24})),CE1='',rE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CE1,svgWidth:24,svgHeight:24})),iE1='',oE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iE1,svgWidth:24,svgHeight:24})),sE1='',lE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sE1,svgWidth:24,svgHeight:24})),aE1='',cE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aE1,svgWidth:24,svgHeight:24})),uE1='',dE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uE1,svgWidth:24,svgHeight:24})),hE1='',fE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hE1,svgWidth:24,svgHeight:24})),gE1='',AE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gE1,svgWidth:24,svgHeight:24})),pE1='',vE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pE1,svgWidth:24,svgHeight:24})),LE1='',wE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LE1,svgWidth:24,svgHeight:24})),xE1='',mE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xE1,svgWidth:24,svgHeight:24})),kE1='',ME1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kE1,svgWidth:24,svgHeight:24})),EE1='',yE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EE1,svgWidth:24,svgHeight:24})),BE1='',IE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BE1,svgWidth:24,svgHeight:24})),SE1='',_E1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SE1,svgWidth:24,svgHeight:24})),QE1='',RE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QE1,svgWidth:24,svgHeight:24})),bE1='',DE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bE1,svgWidth:24,svgHeight:24})),TE1='',HE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TE1,svgWidth:24,svgHeight:24})),PE1='',NE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PE1,svgWidth:24,svgHeight:24})),jE1='',UE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jE1,svgWidth:24,svgHeight:24})),FE1='',WE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:FE1,svgWidth:24,svgHeight:24})),OE1='',GE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:OE1,svgWidth:24,svgHeight:24})),zE1='',VE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zE1,svgWidth:24,svgHeight:24})),$E1='',YE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$E1,svgWidth:24,svgHeight:24})),JE1='',XE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:JE1,svgWidth:24,svgHeight:24})),KE1='',qE1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:KE1,svgWidth:24,svgHeight:24})),ZE1='',ey1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ZE1,svgWidth:24,svgHeight:24})),ty1='',ny1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ty1,svgWidth:24,svgHeight:24})),Cy1='',ry1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Cy1,svgWidth:24,svgHeight:24})),iy1='',oy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iy1,svgWidth:24,svgHeight:24})),sy1='',ly1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sy1,svgWidth:24,svgHeight:24})),ay1='',cy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ay1,svgWidth:24,svgHeight:24})),uy1='',dy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uy1,svgWidth:24,svgHeight:24})),hy1='',fy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hy1,svgWidth:24,svgHeight:24})),gy1='',Ay1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gy1,svgWidth:24,svgHeight:24})),py1='',vy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:py1,svgWidth:24,svgHeight:24})),Ly1='',wy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ly1,svgWidth:24,svgHeight:24})),xy1='',my1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xy1,svgWidth:24,svgHeight:24})),ky1='',My1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:ky1,svgWidth:24,svgHeight:24})),Ey1='',yy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ey1,svgWidth:24,svgHeight:24})),By1='',Iy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:By1,svgWidth:24,svgHeight:24})),Sy1='',_y1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Sy1,svgWidth:24,svgHeight:24})),Qy1='',Ry1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Qy1,svgWidth:24,svgHeight:24})),by1='',Dy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:by1,svgWidth:24,svgHeight:24})),Ty1='',Hy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ty1,svgWidth:24,svgHeight:24})),Py1='',Ny1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Py1,svgWidth:24,svgHeight:24})),jy1='',Uy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:jy1,svgWidth:24,svgHeight:24})),Fy1='',Wy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Fy1,svgWidth:24,svgHeight:24})),Oy1='',Gy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Oy1,svgWidth:24,svgHeight:24})),zy1='',Vy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:zy1,svgWidth:24,svgHeight:24})),$y1='',Yy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:$y1,svgWidth:24,svgHeight:24})),Jy1='',Xy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Jy1,svgWidth:24,svgHeight:24})),Ky1='',qy1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Ky1,svgWidth:24,svgHeight:24})),Zy1='',eB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:Zy1,svgWidth:24,svgHeight:24})),tB1='',nB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:tB1,svgWidth:24,svgHeight:24})),CB1='',rB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:CB1,svgWidth:24,svgHeight:24})),iB1='',oB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:iB1,svgWidth:24,svgHeight:24})),sB1='',lB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:sB1,svgWidth:24,svgHeight:24})),aB1='',cB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:aB1,svgWidth:24,svgHeight:24})),uB1='',dB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:uB1,svgWidth:24,svgHeight:24})),hB1='',fB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:hB1,svgWidth:24,svgHeight:24})),gB1='',AB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:gB1,svgWidth:24,svgHeight:24})),pB1='',vB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:pB1,svgWidth:24,svgHeight:24})),LB1='',wB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:LB1,svgWidth:24,svgHeight:24})),xB1='',mB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:xB1,svgWidth:24,svgHeight:24})),kB1='',MB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:kB1,svgWidth:24,svgHeight:24})),EB1='',yB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:EB1,svgWidth:24,svgHeight:24})),BB1='',IB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:BB1,svgWidth:24,svgHeight:24})),SB1='',_B1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:SB1,svgWidth:24,svgHeight:24})),QB1='',RB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:QB1,svgWidth:24,svgHeight:24})),bB1='',DB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:bB1,svgWidth:24,svgHeight:24})),TB1='',HB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:TB1,svgWidth:24,svgHeight:24})),PB1='',NB1=u.forwardRef((t,e)=>h.jsx(f,{...t,ref:e,text:PB1,svgWidth:24,svgHeight:24})),jB1=Object.freeze(Object.defineProperty({__proto__:null,AArrowDown:XN,AArrowUp:qN,ALargeSmall:ej,Accessibility:nj,Activity:oj,ActivitySquare:rj,AirVent:lj,Airplay:cj,AlarmClock:wj,AlarmClockCheck:dj,AlarmClockMinus:fj,AlarmClockOff:Aj,AlarmClockPlus:vj,AlarmSmoke:mj,Album:Mj,AlertCircle:yj,AlertOctagon:Ij,AlertTriangle:_j,AlignCenter:Hj,AlignCenterHorizontal:Rj,AlignCenterVertical:Dj,AlignEndHorizontal:Nj,AlignEndVertical:Uj,AlignHorizontalDistributeCenter:Wj,AlignHorizontalDistributeEnd:Gj,AlignHorizontalDistributeStart:Vj,AlignHorizontalJustifyCenter:Yj,AlignHorizontalJustifyEnd:Xj,AlignHorizontalJustifyStart:qj,AlignHorizontalSpaceAround:eU,AlignHorizontalSpaceBetween:nU,AlignJustify:rU,AlignLeft:oU,AlignRight:lU,AlignStartHorizontal:cU,AlignStartVertical:dU,AlignVerticalDistributeCenter:fU,AlignVerticalDistributeEnd:AU,AlignVerticalDistributeStart:vU,AlignVerticalJustifyCenter:wU,AlignVerticalJustifyEnd:mU,AlignVerticalJustifyStart:MU,AlignVerticalSpaceAround:yU,AlignVerticalSpaceBetween:IU,Ambulance:_U,Ampersand:RU,Ampersands:DU,Anchor:HU,Angry:NU,Annoyed:UU,Antenna:WU,Anvil:GU,Aperture:VU,AppWindow:YU,Apple:XU,Archive:nF,ArchiveRestore:qU,ArchiveX:eF,AreaChart:rF,Armchair:oF,ArrowBigDown:cF,ArrowBigDownDash:lF,ArrowBigLeft:fF,ArrowBigLeftDash:dF,ArrowBigRight:vF,ArrowBigRightDash:AF,ArrowBigUp:mF,ArrowBigUpDash:wF,ArrowDown:cW,ArrowDown01:MF,ArrowDown10:yF,ArrowDownAZ:IF,ArrowDownCircle:_F,ArrowDownFromLine:RF,ArrowDownLeft:UF,ArrowDownLeftFromCircle:DF,ArrowDownLeftFromSquare:HF,ArrowDownLeftSquare:NF,ArrowDownNarrowWide:WF,ArrowDownRight:XF,ArrowDownRightFromCircle:GF,ArrowDownRightFromSquare:VF,ArrowDownRightSquare:YF,ArrowDownSquare:qF,ArrowDownToDot:eW,ArrowDownToLine:nW,ArrowDownUp:rW,ArrowDownWideNarrow:oW,ArrowDownZA:lW,ArrowLeft:mW,ArrowLeftCircle:dW,ArrowLeftFromLine:fW,ArrowLeftRight:AW,ArrowLeftSquare:vW,ArrowLeftToLine:wW,ArrowRight:DW,ArrowRightCircle:MW,ArrowRightFromLine:yW,ArrowRightLeft:IW,ArrowRightSquare:_W,ArrowRightToLine:RW,ArrowUp:mO,ArrowUp01:HW,ArrowUp10:NW,ArrowUpAZ:UW,ArrowUpCircle:WW,ArrowUpDown:GW,ArrowUpFromDot:VW,ArrowUpFromLine:YW,ArrowUpLeft:nO,ArrowUpLeftFromCircle:XW,ArrowUpLeftFromSquare:qW,ArrowUpLeftSquare:eO,ArrowUpNarrowWide:rO,ArrowUpRight:dO,ArrowUpRightFromCircle:oO,ArrowUpRightFromSquare:lO,ArrowUpRightSquare:cO,ArrowUpSquare:fO,ArrowUpToLine:AO,ArrowUpWideNarrow:vO,ArrowUpZA:wO,ArrowsUpFromLine:MO,Asterisk:IO,AsteriskSquare:yO,AtSign:_O,Atom:RO,AudioLines:DO,AudioWaveform:HO,Award:NO,Axe:UO,Axis3d:WO,Baby:GO,Backpack:VO,Badge:yG,BadgeAlert:YO,BadgeCent:XO,BadgeCheck:qO,BadgeDollarSign:eG,BadgeEuro:nG,BadgeHelp:rG,BadgeIndianRupee:oG,BadgeInfo:lG,BadgeJapaneseYen:cG,BadgeMinus:dG,BadgePercent:fG,BadgePlus:AG,BadgePoundSterling:vG,BadgeRussianRuble:wG,BadgeSwissFranc:mG,BadgeX:MG,BaggageClaim:IG,Ban:_G,Banana:RG,Banknote:DG,BarChart:YG,BarChart2:HG,BarChart3:NG,BarChart4:UG,BarChartBig:WG,BarChartHorizontal:VG,BarChartHorizontalBig:GG,Barcode:XG,Baseline:qG,Bath:ez,Battery:dz,BatteryCharging:nz,BatteryFull:rz,BatteryLow:oz,BatteryMedium:lz,BatteryWarning:cz,Beaker:fz,Bean:vz,BeanOff:Az,Bed:Mz,BedDouble:wz,BedSingle:mz,Beef:yz,Beer:Iz,Bell:Wz,BellDot:_z,BellElectric:Rz,BellMinus:Dz,BellOff:Hz,BellPlus:Nz,BellRing:Uz,BetweenHorizontalEnd:Gz,BetweenHorizontalStart:Vz,BetweenVerticalEnd:Yz,BetweenVerticalStart:Xz,Bike:qz,Binary:eV,Biohazard:nV,Bird:rV,Bitcoin:oV,Blend:lV,Blinds:cV,Blocks:dV,Bluetooth:wV,BluetoothConnected:fV,BluetoothOff:AV,BluetoothSearching:vV,Bold:mV,Bolt:MV,Bomb:yV,Bone:IV,Book:m$,BookA:_V,BookAudio:RV,BookCheck:DV,BookCopy:HV,BookDashed:NV,BookDown:UV,BookHeadphones:WV,BookHeart:GV,BookImage:VV,BookKey:YV,BookLock:XV,BookMarked:qV,BookMinus:e$,BookOpen:o$,BookOpenCheck:n$,BookOpenText:r$,BookPlus:l$,BookText:c$,BookType:d$,BookUp:A$,BookUp2:f$,BookUser:v$,BookX:w$,Bookmark:R$,BookmarkCheck:M$,BookmarkMinus:y$,BookmarkPlus:I$,BookmarkX:_$,BoomBox:D$,Bot:H$,Box:U$,BoxSelect:N$,Boxes:W$,Braces:G$,Brackets:V$,Brain:q$,BrainCircuit:Y$,BrainCog:X$,BrickWall:eY,Briefcase:nY,BringToFront:rY,Brush:oY,Bug:dY,BugOff:lY,BugPlay:cY,Building:AY,Building2:fY,Bus:wY,BusFront:vY,Cable:MY,CableCar:mY,Cake:IY,CakeSlice:yY,Calculator:_Y,Calendar:lJ,CalendarCheck:DY,CalendarCheck2:RY,CalendarClock:HY,CalendarDays:NY,CalendarFold:UY,CalendarHeart:WY,CalendarMinus:VY,CalendarMinus2:GY,CalendarOff:YY,CalendarPlus:qY,CalendarPlus2:XY,CalendarRange:eJ,CalendarSearch:nJ,CalendarX:oJ,CalendarX2:rJ,Camera:dJ,CameraOff:cJ,CandlestickChart:fJ,Candy:wJ,CandyCane:AJ,CandyOff:vJ,Captions:MJ,CaptionsOff:mJ,Car:_J,CarFront:yJ,CarTaxiFront:IJ,Caravan:RJ,Carrot:DJ,CaseLower:HJ,CaseSensitive:NJ,CaseUpper:UJ,CassetteTape:WJ,Cast:GJ,Castle:VJ,Cat:YJ,Cctv:XJ,Check:lX,CheckCheck:qJ,CheckCircle:nX,CheckCircle2:eX,CheckSquare:oX,CheckSquare2:rX,ChefHat:cX,Cherry:dX,ChevronDown:vX,ChevronDownCircle:fX,ChevronDownSquare:AX,ChevronFirst:wX,ChevronLast:mX,ChevronLeft:IX,ChevronLeftCircle:MX,ChevronLeftSquare:yX,ChevronRight:DX,ChevronRightCircle:_X,ChevronRightSquare:RX,ChevronUp:UX,ChevronUpCircle:HX,ChevronUpSquare:NX,ChevronsDown:GX,ChevronsDownUp:WX,ChevronsLeft:YX,ChevronsLeftRight:VX,ChevronsRight:qX,ChevronsRightLeft:XX,ChevronsUp:nK,ChevronsUpDown:eK,Chrome:rK,Church:oK,Cigarette:cK,CigaretteOff:lK,Circle:HK,CircleDashed:dK,CircleDollarSign:fK,CircleDot:vK,CircleDotDashed:AK,CircleEllipsis:wK,CircleEqual:mK,CircleFadingPlus:MK,CircleOff:yK,CircleSlash:_K,CircleSlash2:IK,CircleUser:DK,CircleUserRound:RK,CircuitBoard:NK,Citrus:UK,Clapperboard:WK,Clipboard:cq,ClipboardCheck:GK,ClipboardCopy:VK,ClipboardList:YK,ClipboardMinus:XK,ClipboardPaste:qK,ClipboardPen:nq,ClipboardPenLine:eq,ClipboardPlus:rq,ClipboardType:oq,ClipboardX:lq,Clock:Hq,Clock1:dq,Clock10:fq,Clock11:Aq,Clock12:vq,Clock2:wq,Clock3:mq,Clock4:Mq,Clock5:yq,Clock6:Iq,Clock7:_q,Clock8:Rq,Clock9:Dq,Cloud:cZ,CloudCog:Nq,CloudDrizzle:Uq,CloudFog:Wq,CloudHail:Gq,CloudLightning:Vq,CloudMoon:Xq,CloudMoonRain:Yq,CloudOff:qq,CloudRain:nZ,CloudRainWind:eZ,CloudSnow:rZ,CloudSun:lZ,CloudSunRain:oZ,Cloudy:dZ,Clover:fZ,Club:AZ,Code:mZ,Code2:vZ,CodeSquare:wZ,Codepen:MZ,Codesandbox:yZ,Coffee:IZ,Cog:_Z,Coins:RZ,Columns2:DZ,Columns3:HZ,Columns4:NZ,Combine:UZ,Command:WZ,Compass:GZ,Component:VZ,Computer:YZ,ConciergeBell:XZ,Cone:qZ,Construction:e11,Contact:r11,Contact2:n11,Container:o11,Contrast:l11,Cookie:c11,CookingPot:d11,Copy:M11,CopyCheck:f11,CopyMinus:A11,CopyPlus:v11,CopySlash:w11,CopyX:m11,Copyleft:y11,Copyright:I11,CornerDownLeft:_11,CornerDownRight:R11,CornerLeftDown:D11,CornerLeftUp:H11,CornerRightDown:N11,CornerRightUp:U11,CornerUpLeft:W11,CornerUpRight:G11,Cpu:V11,CreativeCommons:Y11,CreditCard:X11,Croissant:q11,Crop:e01,Cross:n01,Crosshair:r01,Crown:o01,Cuboid:l01,CupSoda:c01,Currency:d01,Cylinder:f01,Database:w01,DatabaseBackup:A01,DatabaseZap:v01,Delete:m01,Dessert:M01,Diameter:y01,Diamond:I01,Dice1:_01,Dice2:R01,Dice3:D01,Dice4:H01,Dice5:N01,Dice6:U01,Dices:W01,Diff:G01,Disc:q01,Disc2:V01,Disc3:Y01,DiscAlbum:X01,Divide:r21,DivideCircle:e21,DivideSquare:n21,Dna:l21,DnaOff:o21,Dog:c21,DollarSign:d21,Donut:f21,DoorClosed:A21,DoorOpen:v21,Dot:m21,DotSquare:w21,Download:y21,DownloadCloud:M21,DraftingCompass:I21,Drama:_21,Dribbble:R21,Drill:D21,Droplet:H21,Droplets:N21,Drum:U21,Drumstick:W21,Dumbbell:G21,Ear:Y21,EarOff:V21,Eclipse:X21,Egg:n91,EggFried:q21,EggOff:e91,Equal:l91,EqualNot:r91,EqualSquare:o91,Eraser:c91,Euro:d91,Expand:f91,ExternalLink:A91,Eye:w91,EyeOff:v91,Facebook:m91,Factory:M91,Fan:y91,FastForward:I91,Feather:_91,Fence:R91,FerrisWheel:D91,Figma:H91,File:G41,FileArchive:N91,FileAudio:W91,FileAudio2:U91,FileAxis3d:G91,FileBadge:Y91,FileBadge2:V91,FileBarChart:q91,FileBarChart2:X91,FileBox:e81,FileCheck:r81,FileCheck2:n81,FileClock:o81,FileCode:c81,FileCode2:l81,FileCog:d81,FileDiff:f81,FileDigit:A81,FileDown:v81,FileHeart:w81,FileImage:m81,FileInput:M81,FileJson:I81,FileJson2:y81,FileKey:R81,FileKey2:_81,FileLineChart:D81,FileLock:N81,FileLock2:H81,FileMinus:W81,FileMinus2:U81,FileMusic:G81,FileOutput:V81,FilePen:X81,FilePenLine:Y81,FilePieChart:q81,FilePlus:n41,FilePlus2:e41,FileQuestion:r41,FileScan:o41,FileSearch:c41,FileSearch2:l41,FileSliders:d41,FileSpreadsheet:f41,FileStack:A41,FileSymlink:v41,FileTerminal:w41,FileText:m41,FileType:y41,FileType2:M41,FileUp:I41,FileVideo:R41,FileVideo2:_41,FileVolume:H41,FileVolume2:D41,FileWarning:N41,FileX:W41,FileX2:U41,Files:V41,Film:Y41,Filter:q41,FilterX:X41,Fingerprint:e61,FireExtinguisher:n61,Fish:l61,FishOff:r61,FishSymbol:o61,Flag:A61,FlagOff:c61,FlagTriangleLeft:d61,FlagTriangleRight:f61,Flame:w61,FlameKindling:v61,Flashlight:M61,FlashlightOff:m61,FlaskConical:I61,FlaskConicalOff:y61,FlaskRound:_61,FlipHorizontal:D61,FlipHorizontal2:R61,FlipVertical:N61,FlipVertical2:H61,Flower:W61,Flower2:U61,Focus:G61,FoldHorizontal:V61,FoldVertical:Y61,Folder:q51,FolderArchive:X61,FolderCheck:q61,FolderClock:e51,FolderClosed:n51,FolderCog:r51,FolderDot:o51,FolderDown:l51,FolderGit:d51,FolderGit2:c51,FolderHeart:f51,FolderInput:A51,FolderKanban:v51,FolderKey:w51,FolderLock:m51,FolderMinus:M51,FolderOpen:I51,FolderOpenDot:y51,FolderOutput:_51,FolderPen:R51,FolderPlus:D51,FolderRoot:H51,FolderSearch:U51,FolderSearch2:N51,FolderSymlink:W51,FolderSync:G51,FolderTree:V51,FolderUp:Y51,FolderX:X51,Folders:e31,Footprints:n31,Forklift:r31,FormInput:o31,Forward:l31,Frame:c31,Framer:d31,Frown:f31,Fuel:A31,Fullscreen:v31,FunctionSquare:w31,GalleryHorizontal:M31,GalleryHorizontalEnd:m31,GalleryThumbnails:y31,GalleryVertical:_31,GalleryVerticalEnd:I31,Gamepad:D31,Gamepad2:R31,GanttChart:N31,GanttChartSquare:H31,Gauge:W31,GaugeCircle:U31,Gavel:G31,Gem:V31,Ghost:Y31,Gift:X31,GitBranch:e71,GitBranchPlus:q31,GitCommitHorizontal:n71,GitCommitVertical:r71,GitCompare:l71,GitCompareArrows:o71,GitFork:c71,GitGraph:d71,GitMerge:f71,GitPullRequest:y71,GitPullRequestArrow:A71,GitPullRequestClosed:v71,GitPullRequestCreate:m71,GitPullRequestCreateArrow:w71,GitPullRequestDraft:M71,Github:I71,Gitlab:_71,GlassWater:R71,Glasses:D71,Globe:N71,Globe2:H71,Goal:U71,Grab:W71,GraduationCap:G71,Grape:V71,Grid2x2:Y71,Grid3x3:X71,Grip:ne1,GripHorizontal:q71,GripVertical:ee1,Group:re1,Guitar:oe1,Hammer:le1,Hand:we1,HandCoins:ce1,HandHeart:de1,HandHelping:fe1,HandMetal:Ae1,HandPlatter:ve1,Handshake:me1,HardDrive:Ie1,HardDriveDownload:Me1,HardDriveUpload:ye1,HardHat:_e1,Hash:Re1,Haze:De1,HdmiPort:He1,Heading:Xe1,Heading1:Ne1,Heading2:Ue1,Heading3:We1,Heading4:Ge1,Heading5:Ve1,Heading6:Ye1,Headphones:qe1,Headset:et1,Heart:ct1,HeartCrack:nt1,HeartHandshake:rt1,HeartOff:ot1,HeartPulse:lt1,Heater:dt1,HelpCircle:ft1,Hexagon:At1,Highlighter:vt1,History:wt1,Home:mt1,Hop:yt1,HopOff:Mt1,Hotel:It1,Hourglass:_t1,IceCream:Dt1,IceCream2:Rt1,Image:Gt1,ImageDown:Ht1,ImageMinus:Nt1,ImageOff:Ut1,ImagePlus:Wt1,Images:Vt1,Import:Yt1,Inbox:Xt1,Indent:qt1,IndianRupee:en1,Infinity:nn1,Info:rn1,InspectionPanel:on1,Instagram:ln1,Italic:cn1,IterationCcw:dn1,IterationCw:fn1,JapaneseYen:An1,Joystick:vn1,Kanban:Mn1,KanbanSquare:mn1,KanbanSquareDashed:wn1,Key:_n1,KeyRound:yn1,KeySquare:In1,Keyboard:Dn1,KeyboardMusic:Rn1,Lamp:Vn1,LampCeiling:Hn1,LampDesk:Nn1,LampFloor:Un1,LampWallDown:Wn1,LampWallUp:Gn1,LandPlot:Yn1,Landmark:Xn1,Languages:qn1,Laptop:nC1,Laptop2:eC1,Lasso:oC1,LassoSelect:rC1,Laugh:lC1,Layers:fC1,Layers2:cC1,Layers3:dC1,LayoutDashboard:AC1,LayoutGrid:vC1,LayoutList:wC1,LayoutPanelLeft:mC1,LayoutPanelTop:MC1,LayoutTemplate:yC1,Leaf:IC1,LeafyGreen:_C1,Library:HC1,LibraryBig:RC1,LibrarySquare:DC1,LifeBuoy:NC1,Ligature:UC1,Lightbulb:GC1,LightbulbOff:WC1,LineChart:VC1,Link:qC1,Link2:XC1,Link2Off:YC1,Linkedin:er1,List:_r1,ListChecks:nr1,ListCollapse:rr1,ListEnd:or1,ListFilter:lr1,ListMinus:cr1,ListMusic:dr1,ListOrdered:fr1,ListPlus:Ar1,ListRestart:vr1,ListStart:wr1,ListTodo:mr1,ListTree:Mr1,ListVideo:yr1,ListX:Ir1,Loader:Dr1,Loader2:Rr1,Locate:Ur1,LocateFixed:Hr1,LocateOff:Nr1,Lock:Gr1,LockKeyhole:Wr1,LogIn:Vr1,LogOut:Yr1,Lollipop:Xr1,Luggage:qr1,MSquare:ei1,Magnet:ni1,Mail:wi1,MailCheck:ri1,MailMinus:oi1,MailOpen:li1,MailPlus:ci1,MailQuestion:di1,MailSearch:fi1,MailWarning:Ai1,MailX:vi1,Mailbox:mi1,Mails:Mi1,Map:Ri1,MapPin:Ii1,MapPinOff:yi1,MapPinned:_i1,Martini:Di1,Maximize:Ni1,Maximize2:Hi1,Medal:Ui1,Megaphone:Gi1,MegaphoneOff:Wi1,Meh:Vi1,MemoryStick:Yi1,Menu:qi1,MenuSquare:Xi1,Merge:eo1,MessageCircle:mo1,MessageCircleCode:no1,MessageCircleDashed:ro1,MessageCircleHeart:oo1,MessageCircleMore:lo1,MessageCircleOff:co1,MessageCirclePlus:do1,MessageCircleQuestion:fo1,MessageCircleReply:Ao1,MessageCircleWarning:vo1,MessageCircleX:wo1,MessageSquare:qo1,MessageSquareCode:Mo1,MessageSquareDashed:yo1,MessageSquareDiff:Io1,MessageSquareDot:_o1,MessageSquareHeart:Ro1,MessageSquareMore:Do1,MessageSquareOff:Ho1,MessageSquarePlus:No1,MessageSquareQuote:Uo1,MessageSquareReply:Wo1,MessageSquareShare:Go1,MessageSquareText:Vo1,MessageSquareWarning:Yo1,MessageSquareX:Xo1,MessagesSquare:es1,Mic:os1,Mic2:ns1,MicOff:rs1,Microscope:ls1,Microwave:cs1,Milestone:ds1,Milk:As1,MilkOff:fs1,Minimize:ws1,Minimize2:vs1,Minus:ys1,MinusCircle:ms1,MinusSquare:Ms1,Monitor:Xs1,MonitorCheck:Is1,MonitorDot:_s1,MonitorDown:Rs1,MonitorOff:Ds1,MonitorPause:Hs1,MonitorPlay:Ns1,MonitorSmartphone:Us1,MonitorSpeaker:Ws1,MonitorStop:Gs1,MonitorUp:Vs1,MonitorX:Ys1,Moon:el1,MoonStar:qs1,MoreHorizontal:nl1,MoreVertical:rl1,Mountain:ll1,MountainSnow:ol1,Mouse:wl1,MousePointer:vl1,MousePointer2:cl1,MousePointerClick:dl1,MousePointerSquare:Al1,MousePointerSquareDashed:fl1,Move:Yl1,Move3d:ml1,MoveDiagonal:yl1,MoveDiagonal2:Ml1,MoveDown:Rl1,MoveDownLeft:Il1,MoveDownRight:_l1,MoveHorizontal:Dl1,MoveLeft:Hl1,MoveRight:Nl1,MoveUp:Gl1,MoveUpLeft:Ul1,MoveUpRight:Wl1,MoveVertical:Vl1,Music:na1,Music2:Xl1,Music3:ql1,Music4:ea1,Navigation:ca1,Navigation2:oa1,Navigation2Off:ra1,NavigationOff:la1,Network:da1,Newspaper:fa1,Nfc:Aa1,Notebook:Ma1,NotebookPen:va1,NotebookTabs:wa1,NotebookText:ma1,NotepadText:Ia1,NotepadTextDashed:ya1,Nut:Ra1,NutOff:_a1,Octagon:Da1,Option:Ha1,Orbit:Na1,Outdent:Ua1,Package:nc1,Package2:Wa1,PackageCheck:Ga1,PackageMinus:Va1,PackageOpen:Ya1,PackagePlus:Xa1,PackageSearch:qa1,PackageX:ec1,PaintBucket:rc1,PaintRoller:oc1,Paintbrush:cc1,Paintbrush2:lc1,Palette:dc1,Palmtree:fc1,PanelBottom:mc1,PanelBottomClose:Ac1,PanelBottomDashed:vc1,PanelBottomOpen:wc1,PanelLeft:_c1,PanelLeftClose:Mc1,PanelLeftDashed:yc1,PanelLeftOpen:Ic1,PanelRight:Nc1,PanelRightClose:Rc1,PanelRightDashed:Dc1,PanelRightOpen:Hc1,PanelTop:Vc1,PanelTopClose:Uc1,PanelTopDashed:Wc1,PanelTopOpen:Gc1,PanelsLeftBottom:Yc1,PanelsRightBottom:Xc1,PanelsTopLeft:qc1,Paperclip:eu1,Parentheses:nu1,ParkingCircle:ou1,ParkingCircleOff:ru1,ParkingMeter:lu1,ParkingSquare:du1,ParkingSquareOff:cu1,PartyPopper:fu1,Pause:wu1,PauseCircle:Au1,PauseOctagon:vu1,PawPrint:mu1,PcCase:Mu1,Pen:_u1,PenLine:yu1,PenTool:Iu1,Pencil:Hu1,PencilLine:Ru1,PencilRuler:Du1,Pentagon:Nu1,Percent:Vu1,PercentCircle:Uu1,PercentDiamond:Wu1,PercentSquare:Gu1,PersonStanding:Yu1,Phone:ld1,PhoneCall:Xu1,PhoneForwarded:qu1,PhoneIncoming:ed1,PhoneMissed:nd1,PhoneOff:rd1,PhoneOutgoing:od1,Pi:dd1,PiSquare:cd1,Piano:fd1,PictureInPicture:vd1,PictureInPicture2:Ad1,PieChart:wd1,PiggyBank:md1,Pilcrow:yd1,PilcrowSquare:Md1,Pill:Id1,Pin:Rd1,PinOff:_d1,Pipette:Dd1,Pizza:Hd1,Plane:Wd1,PlaneLanding:Nd1,PlaneTakeoff:Ud1,Play:Yd1,PlayCircle:Gd1,PlaySquare:Vd1,Plug:nh1,Plug2:Xd1,PlugZap:eh1,PlugZap2:qd1,Plus:lh1,PlusCircle:rh1,PlusSquare:oh1,Pocket:dh1,PocketKnife:ch1,Podcast:fh1,Pointer:vh1,PointerOff:Ah1,Popcorn:wh1,Popsicle:mh1,PoundSterling:Mh1,Power:Rh1,PowerCircle:yh1,PowerOff:Ih1,PowerSquare:_h1,Presentation:Dh1,Printer:Hh1,Projector:Nh1,Puzzle:Uh1,Pyramid:Wh1,QrCode:Gh1,Quote:Vh1,Rabbit:Yh1,Radar:Xh1,Radiation:qh1,Radical:ef1,Radio:of1,RadioReceiver:nf1,RadioTower:rf1,Radius:lf1,RailSymbol:cf1,Rainbow:df1,Rat:ff1,Ratio:Af1,Receipt:Df1,ReceiptCent:vf1,ReceiptEuro:wf1,ReceiptIndianRupee:mf1,ReceiptJapaneseYen:Mf1,ReceiptPoundSterling:yf1,ReceiptRussianRuble:If1,ReceiptSwissFranc:_f1,ReceiptText:Rf1,RectangleHorizontal:Hf1,RectangleVertical:Nf1,Recycle:Uf1,Redo:Vf1,Redo2:Wf1,RedoDot:Gf1,RefreshCcw:Xf1,RefreshCcwDot:Yf1,RefreshCw:eg1,RefreshCwOff:qf1,Refrigerator:ng1,Regex:rg1,RemoveFormatting:og1,Repeat:dg1,Repeat1:lg1,Repeat2:cg1,Replace:Ag1,ReplaceAll:fg1,Reply:wg1,ReplyAll:vg1,Rewind:mg1,Ribbon:Mg1,Rocket:yg1,RockingChair:Ig1,RollerCoaster:_g1,Rotate3d:Rg1,RotateCcw:Dg1,RotateCw:Hg1,Route:Ug1,RouteOff:Ng1,Router:Wg1,Rows2:Gg1,Rows3:Vg1,Rows4:Yg1,Rss:Xg1,Ruler:qg1,RussianRuble:eA1,Sailboat:nA1,Salad:rA1,Sandwich:oA1,Satellite:cA1,SatelliteDish:lA1,Save:fA1,SaveAll:dA1,Scale:vA1,Scale3d:AA1,Scaling:wA1,Scan:DA1,ScanBarcode:mA1,ScanEye:MA1,ScanFace:yA1,ScanLine:IA1,ScanSearch:_A1,ScanText:RA1,ScatterChart:HA1,School:UA1,School2:NA1,Scissors:YA1,ScissorsLineDashed:WA1,ScissorsSquare:VA1,ScissorsSquareDashedBottom:GA1,ScreenShare:qA1,ScreenShareOff:XA1,Scroll:np1,ScrollText:ep1,Search:dp1,SearchCheck:rp1,SearchCode:op1,SearchSlash:lp1,SearchX:cp1,Send:vp1,SendHorizontal:fp1,SendToBack:Ap1,SeparatorHorizontal:wp1,SeparatorVertical:mp1,Server:_p1,ServerCog:Mp1,ServerCrash:yp1,ServerOff:Ip1,Settings:Dp1,Settings2:Rp1,Shapes:Hp1,Share:Up1,Share2:Np1,Sheet:Wp1,Shell:Gp1,Shield:dv1,ShieldAlert:Vp1,ShieldBan:Yp1,ShieldCheck:Xp1,ShieldEllipsis:qp1,ShieldHalf:ev1,ShieldMinus:nv1,ShieldOff:rv1,ShieldPlus:ov1,ShieldQuestion:lv1,ShieldX:cv1,Ship:Av1,ShipWheel:fv1,Shirt:vv1,ShoppingBag:wv1,ShoppingBasket:mv1,ShoppingCart:Mv1,Shovel:yv1,ShowerHead:Iv1,Shrink:_v1,Shrub:Rv1,Shuffle:Dv1,Sigma:Nv1,SigmaSquare:Hv1,Signal:Yv1,SignalHigh:Uv1,SignalLow:Wv1,SignalMedium:Gv1,SignalZero:Vv1,Signpost:qv1,SignpostBig:Xv1,Siren:eL1,SkipBack:nL1,SkipForward:rL1,Skull:oL1,Slack:lL1,Slash:dL1,SlashSquare:cL1,Slice:fL1,Sliders:vL1,SlidersHorizontal:AL1,Smartphone:ML1,SmartphoneCharging:wL1,SmartphoneNfc:mL1,Smile:IL1,SmilePlus:yL1,Snail:_L1,Snowflake:RL1,Sofa:DL1,Soup:HL1,Space:NL1,Spade:UL1,Sparkle:WL1,Sparkles:GL1,Speaker:VL1,Speech:YL1,SpellCheck:qL1,SpellCheck2:XL1,Spline:ew1,Split:ow1,SplitSquareHorizontal:nw1,SplitSquareVertical:rw1,SprayCan:lw1,Sprout:cw1,Square:yw1,SquareDashedBottom:fw1,SquareDashedBottomCode:dw1,SquarePen:Aw1,SquareRadical:vw1,SquareStack:ww1,SquareUser:Mw1,SquareUserRound:mw1,Squircle:Iw1,Squirrel:_w1,Stamp:Rw1,Star:Nw1,StarHalf:Dw1,StarOff:Hw1,StepBack:Uw1,StepForward:Ww1,Stethoscope:Gw1,Sticker:Vw1,StickyNote:Yw1,StopCircle:Xw1,Store:qw1,StretchHorizontal:ex1,StretchVertical:nx1,Strikethrough:rx1,Subscript:ox1,Sun:Ax1,SunDim:lx1,SunMedium:cx1,SunMoon:dx1,SunSnow:fx1,Sunrise:vx1,Sunset:wx1,Superscript:mx1,SwatchBook:Mx1,SwissFranc:yx1,SwitchCamera:Ix1,Sword:_x1,Swords:Rx1,Syringe:Dx1,Table:Ux1,Table2:Hx1,TableProperties:Nx1,Tablet:Gx1,TabletSmartphone:Wx1,Tablets:Vx1,Tag:Yx1,Tags:Xx1,Tally1:qx1,Tally2:em1,Tally3:nm1,Tally4:rm1,Tally5:om1,Tangent:lm1,Target:cm1,Telescope:dm1,Tent:Am1,TentTree:fm1,Terminal:wm1,TerminalSquare:vm1,TestTube:Mm1,TestTube2:mm1,TestTubes:ym1,Text:Nm1,TextCursor:_m1,TextCursorInput:Im1,TextQuote:Rm1,TextSearch:Dm1,TextSelect:Hm1,Theater:Um1,Thermometer:Vm1,ThermometerSnowflake:Wm1,ThermometerSun:Gm1,ThumbsDown:Ym1,ThumbsUp:Xm1,Ticket:ck1,TicketCheck:qm1,TicketMinus:ek1,TicketPercent:nk1,TicketPlus:rk1,TicketSlash:ok1,TicketX:lk1,Timer:Ak1,TimerOff:dk1,TimerReset:fk1,ToggleLeft:vk1,ToggleRight:wk1,Tornado:mk1,Torus:Mk1,Touchpad:Ik1,TouchpadOff:yk1,TowerControl:_k1,ToyBrick:Rk1,Tractor:Dk1,TrafficCone:Hk1,TrainFront:Uk1,TrainFrontTunnel:Nk1,TrainTrack:Wk1,TramFront:Gk1,Trash:Yk1,Trash2:Vk1,TreeDeciduous:Xk1,TreePine:qk1,Trees:eM1,Trello:nM1,TrendingDown:rM1,TrendingUp:oM1,Triangle:cM1,TriangleRight:lM1,Trophy:dM1,Truck:fM1,Turtle:AM1,Tv:wM1,Tv2:vM1,Twitch:mM1,Twitter:MM1,Type:yM1,Umbrella:_M1,UmbrellaOff:IM1,Underline:RM1,Undo:NM1,Undo2:DM1,UndoDot:HM1,UnfoldHorizontal:UM1,UnfoldVertical:WM1,Ungroup:GM1,Unlink:YM1,Unlink2:VM1,Unlock:qM1,UnlockKeyhole:XM1,Unplug:eE1,Upload:rE1,UploadCloud:nE1,Usb:oE1,User:DE1,UserCheck:lE1,UserCog:cE1,UserMinus:dE1,UserPlus:fE1,UserRound:IE1,UserRoundCheck:AE1,UserRoundCog:vE1,UserRoundMinus:wE1,UserRoundPlus:mE1,UserRoundSearch:ME1,UserRoundX:yE1,UserSearch:_E1,UserX:RE1,Users:NE1,UsersRound:HE1,Utensils:WE1,UtensilsCrossed:UE1,UtilityPole:GE1,Variable:VE1,Vault:YE1,Vegan:XE1,VenetianMask:qE1,Vibrate:ny1,VibrateOff:ey1,Video:oy1,VideoOff:ry1,Videotape:ly1,View:cy1,Voicemail:dy1,Volume:wy1,Volume1:fy1,Volume2:Ay1,VolumeX:vy1,Vote:my1,Wallet:Iy1,Wallet2:My1,WalletCards:yy1,Wallpaper:_y1,Wand:Dy1,Wand2:Ry1,Warehouse:Hy1,WashingMachine:Ny1,Watch:Uy1,Waves:Wy1,Waypoints:Gy1,Webcam:Vy1,Webhook:Xy1,WebhookOff:Yy1,Weight:qy1,Wheat:nB1,WheatOff:eB1,WholeWord:rB1,Wifi:lB1,WifiOff:oB1,Wind:cB1,Wine:fB1,WineOff:dB1,Workflow:AB1,WrapText:vB1,Wrench:wB1,X:IB1,XCircle:mB1,XOctagon:MB1,XSquare:yB1,Youtube:_B1,Zap:DB1,ZapOff:RB1,ZoomIn:HB1,ZoomOut:NB1},Symbol.toStringTag,{value:"Module"}));function UB1(){return h.jsxs(dH,{style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:[h.jsx("color",{attach:"background",args:["black"]}),h.jsx("ambientLight",{intensity:.5}),h.jsx("directionalLight",{intensity:0,position:[5,1,10]}),h.jsx(VN,{scrollbarColor:"black",backgroundColor:"white",flexDirection:"row",flexWrap:"wrap",overflow:"scroll",gap:10,padding:10,children:Object.values(jB1).map((t,e)=>h.jsx(t,{},e))})]})}Vw(document.getElementById("root")).render(h.jsx(u.StrictMode,{children:h.jsx(UB1,{})})); diff --git a/examples/lucide/index.html b/examples/lucide/index.html index fef61f44..66a2ef7e 100644 --- a/examples/lucide/index.html +++ b/examples/lucide/index.html @@ -5,7 +5,7 @@ Document - +
diff --git a/examples/market/assets/index-fI6Itf3M.js b/examples/market/assets/index-hZWWMvaG.js similarity index 74% rename from examples/market/assets/index-fI6Itf3M.js rename to examples/market/assets/index-hZWWMvaG.js index ada1d9fe..88a90945 100644 --- a/examples/market/assets/index-fI6Itf3M.js +++ b/examples/market/assets/index-hZWWMvaG.js @@ -1,4 +1,4 @@ -(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 Kw(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var qw={exports:{}},sg={},jw={exports:{}},Ht={};/** +(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 qw(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var jw={exports:{}},sg={},Zw={exports:{}},Ht={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var wh=Symbol.for("react.element"),CT=Symbol.for("react.portal"),IT=Symbol.for("react.fragment"),yT=Symbol.for("react.strict_mode"),vT=Symbol.for("react.profiler"),BT=Symbol.for("react.provider"),xT=Symbol.for("react.context"),ST=Symbol.for("react.forward_ref"),wT=Symbol.for("react.suspense"),_T=Symbol.for("react.memo"),QT=Symbol.for("react.lazy"),fB=Symbol.iterator;function MT(n){return n===null||typeof n!="object"?null:(n=fB&&n[fB]||n["@@iterator"],typeof n=="function"?n:null)}var Zw={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$w=Object.assign,e_={};function fu(n,e,t){this.props=n,this.context=e,this.refs=e_,this.updater=t||Zw}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 t_(){}t_.prototype=fu.prototype;function HI(n,e,t){this.props=n,this.context=e,this.refs=e_,this.updater=t||Zw}var zI=HI.prototype=new t_;zI.constructor=HI;$w(zI,fu.prototype);zI.isPureReactComponent=!0;var dB=Array.isArray,n_=Object.prototype.hasOwnProperty,VI={current:null},i_={key:!0,ref:!0,__self:!0,__source:!0};function r_(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)n_.call(e,i)&&!i_.hasOwnProperty(i)&&(r[i]=e[i]);var a=arguments.length-2;if(a===1)r.children=t;else if(1>>1,_e=k[Ae];if(0>>1;Aer(H,ee))F<_e&&0>r(N,H)?(k[Ae]=N,k[F]=ee,Ae=F):(k[Ae]=H,k[V]=ee,Ae=V);else if(F<_e&&0>r(N,ee))k[Ae]=N,k[F]=ee,Ae=F;else break e}}return j}function r(k,j){var ee=k.sortIndex-j.sortIndex;return ee!==0?ee:k.id-j.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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,v=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(k){for(var j=t(A);j!==null;){if(j.callback===null)i(A);else if(j.startTime<=k)i(A),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(A)}}function S(k){if(v=!1,I(k),!E)if(t(l)!==null)E=!0,ie(R);else{var j=t(A);j!==null&&de(S,j.startTime-k)}}function R(k,j){E=!1,v&&(v=!1,p(U),U=-1),g=!0;var ee=d;try{for(I(j),f=t(l);f!==null&&(!(f.expirationTime>j)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=j);j=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),I(j)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-j),ke=!1}return ke}finally{f=null,d=ee,g=!1}}var M=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ee,e(A,k),t(l)===null&&k===t(A)&&(v?(p(U),U=-1):v=!0,de(S,ee-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,ie(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var j=d;return function(){var ee=d;d=j;try{return k.apply(this,arguments)}finally{d=ee}}}})(l_);a_.exports=l_;var OT=a_.exports;/** + */(function(n){function e(k,j){var ee=k.length;k.push(j);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(H,ee))F<_e&&0>r(N,H)?(k[Ae]=N,k[F]=ee,Ae=F):(k[Ae]=H,k[V]=ee,Ae=V);else if(F<_e&&0>r(N,ee))k[Ae]=N,k[F]=ee,Ae=F;else break e}}return j}function r(k,j){var ee=k.sortIndex-j.sortIndex;return ee!==0?ee:k.id-j.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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,v=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(k){for(var j=t(A);j!==null;){if(j.callback===null)i(A);else if(j.startTime<=k)i(A),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(A)}}function S(k){if(v=!1,I(k),!E)if(t(l)!==null)E=!0,ne(R);else{var j=t(A);j!==null&&de(S,j.startTime-k)}}function R(k,j){E=!1,v&&(v=!1,p(U),U=-1),g=!0;var ee=d;try{for(I(j),f=t(l);f!==null&&(!(f.expirationTime>j)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=j);j=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),I(j)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-j),ke=!1}return ke}finally{f=null,d=ee,g=!1}}var M=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ee,e(A,k),t(l)===null&&k===t(A)&&(v?(p(U),U=-1):v=!0,de(S,ee-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,ne(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var j=d;return function(){var ee=d;d=j;try{return k.apply(this,arguments)}finally{d=ee}}}})(c_);l_.exports=c_;var GT=l_.exports;/** * @license React * react-dom.production.min.js * @@ -30,22 +30,22 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var c_=ue,pr=OT;function Oe(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"),XE=Object.prototype.hasOwnProperty,GT=/^[: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]*$/,gB={},mB={};function HT(n){return XE.call(mB,n)?!0:XE.call(gB,n)?!1:GT.test(n)?mB[n]=!0:(gB[n]=!0,!1)}function zT(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 VT(n,e,t,i){if(e===null||typeof e>"u"||zT(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 zi(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 gi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){gi[n]=new zi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];gi[e]=new zi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){gi[n]=new zi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){gi[n]=new zi(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){gi[n]=new zi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){gi[n]=new zi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){gi[n]=new zi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){gi[n]=new zi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){gi[n]=new zi(n,5,!1,n.toLowerCase(),null,!1,!1)});var YI=/[\-:]([a-z])/g;function JI(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(YI,JI);gi[e]=new zi(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(YI,JI);gi[e]=new zi(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(YI,JI);gi[e]=new zi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){gi[n]=new zi(n,1,!1,n.toLowerCase(),null,!1,!1)});gi.xlinkHref=new zi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){gi[n]=new zi(n,1,!1,n.toLowerCase(),null,!0,!0)});function XI(n,e,t,i){var r=gi.hasOwnProperty(e)?gi[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),XE=Object.prototype.hasOwnProperty,HT=/^[: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]*$/,mB={},EB={};function zT(n){return XE.call(EB,n)?!0:XE.call(mB,n)?!1:HT.test(n)?EB[n]=!0:(mB[n]=!0,!1)}function VT(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 WT(n,e,t,i){if(e===null||typeof e>"u"||VT(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 zi(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 gi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){gi[n]=new zi(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];gi[e]=new zi(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){gi[n]=new zi(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){gi[n]=new zi(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){gi[n]=new zi(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){gi[n]=new zi(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){gi[n]=new zi(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){gi[n]=new zi(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){gi[n]=new zi(n,5,!1,n.toLowerCase(),null,!1,!1)});var YI=/[\-:]([a-z])/g;function JI(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(YI,JI);gi[e]=new zi(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(YI,JI);gi[e]=new zi(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(YI,JI);gi[e]=new zi(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){gi[n]=new zi(n,1,!1,n.toLowerCase(),null,!1,!1)});gi.xlinkHref=new zi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){gi[n]=new zi(n,1,!1,n.toLowerCase(),null,!0,!0)});function XI(n,e,t,i){var r=gi.hasOwnProperty(e)?gi[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{d0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?mA(n):""}function WT(n){switch(n.tag){case 5:return mA(n.type);case 16:return mA("Lazy");case 13:return mA("Suspense");case 19:return mA("SuspenseList");case 0:case 2:case 15:return n=p0(n.type,!1),n;case 11:return n=p0(n.type.render,!1),n;case 1:return n=p0(n.type,!0),n;default:return""}}function ZE(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 bc:return"Fragment";case Lc:return"Portal";case KE:return"Profiler";case KI:return"StrictMode";case qE:return"Suspense";case jE:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case h_:return(n.displayName||"Context")+".Consumer";case A_:return(n._context.displayName||"Context")+".Provider";case qI:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case jI:return e=n.displayName||null,e!==null?e:ZE(n.type)||"Memo";case Wo:e=n._payload,n=n._init;try{return ZE(n(e))}catch{}}return null}function YT(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 ZE(e);case 8:return e===KI?"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 fa(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function d_(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function JT(n){var e=d_(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 kf(n){n._valueTracker||(n._valueTracker=JT(n))}function p_(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=d_(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function wp(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 Mn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function CB(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=fa(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 g_(n,e){e=e.checked,e!=null&&XI(n,"checked",e,!1)}function eC(n,e){g_(n,e);var t=fa(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")?tC(n,e.type,t):e.hasOwnProperty("defaultValue")&&tC(n,e.type,fa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function IB(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 tC(n,e,t){(e!=="number"||wp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var EA=Array.isArray;function qc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Ff.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function FA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}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},XT=["Webkit","ms","Moz","O"];Object.keys(BA).forEach(function(n){XT.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),BA[e]=BA[n]})});function I_(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||BA.hasOwnProperty(n)&&BA[n]?(""+e).trim():e+"px"}function y_(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=I_(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var KT=Mn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rC(n,e){if(e){if(KT[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function sC(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 oC=null;function ZI(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var aC=null,jc=null,Zc=null;function BB(n){if(n=Mh(n)){if(typeof aC!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=ug(e),aC(n.stateNode,n.type,e))}}function v_(n){jc?Zc?Zc.push(n):Zc=[n]:jc=n}function B_(){if(jc){var n=jc,e=Zc;if(Zc=jc=null,BB(n),e)for(n=0;n>>=0,n===0?32:31-(o3(n)/a3|0)|0}var Of=64,Gf=4194304;function CA(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 Rp(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=CA(a):(s&=o,s!==0&&(i=CA(s)))}else o=t&~r,o!==0?i=CA(o):s!==0&&(i=CA(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 _h(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Zr(e),n[e]=t}function A3(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=SA),TB=" ",LB=!1;function z_(n,e){switch(n){case"keyup":return F3.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function V_(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Nc=!1;function G3(n,e){switch(n){case"compositionend":return V_(e);case"keypress":return e.which!==32?null:(LB=!0,TB);case"textInput":return n=e.data,n===TB&&LB?null:n;default:return null}}function H3(n,e){if(Nc)return n==="compositionend"||!oy&&z_(n,e)?(n=G_(),ap=iy=qo=null,Nc=!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=UB(t)}}function X_(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?X_(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function K_(){for(var n=window,e=wp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=wp(n.document)}return e}function ay(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 j3(n){var e=K_(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&X_(t.ownerDocument.documentElement,t)){if(i!==null&&ay(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=kB(t,s);var o=kB(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,Pc=null,fC=null,_A=null,dC=!1;function FB(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;dC||Pc==null||Pc!==wp(i)||(i=Pc,"selectionStart"in i&&ay(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}),_A&&WA(_A,i)||(_A=i,i=Lp(fC,"onSelect"),0Fc||(n.current=IC[Fc],IC[Fc]=null,Fc--)}function dn(n,e){Fc++,IC[Fc]=n.current,n.current=e}var da={},Mi=Ea(da),Zi=Ea(!1),vl=da;function ru(n,e){var t=n.type.contextTypes;if(!t)return da;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 $i(n){return n=n.childContextTypes,n!=null}function Np(){yn(Zi),yn(Mi)}function YB(n,e,t){if(Mi.current!==da)throw Error(Oe(168));dn(Mi,e),dn(Zi,t)}function rQ(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(Oe(108,YT(n)||"Unknown",r));return Mn({},t,i)}function Pp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||da,vl=Mi.current,dn(Mi,n),dn(Zi,Zi.current),!0}function JB(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=rQ(n,e,vl),i.__reactInternalMemoizedMergedChildContext=n,yn(Zi),yn(Mi),dn(Mi,n)):yn(Zi),dn(Zi,t)}var Ks=null,Ag=!1,M0=!1;function sQ(n){Ks===null?Ks=[n]:Ks.push(n)}function cL(n){Ag=!0,sQ(n)}function Ca(){if(!M0&&Ks!==null){M0=!0;var n=0,e=an;try{var t=Ks;for(an=1;n>=o,r-=o,js=1<<32-Zr(e)+r|t<U?(J=D,D=null):J=D.sibling;var _=d(p,D,I[U],S);if(_===null){D===null&&(D=J);break}n&&D&&_.alternate===null&&e(p,D),y=s(_,y,U),M===null?R=_:M.sibling=_,M=_,D=J}if(U===I.length)return t(p,D),Bn&&$a(p,U),R;if(D===null){for(;UU?(J=D,D=null):J=D.sibling;var b=d(p,D,_.value,S);if(b===null){D===null&&(D=J);break}n&&D&&b.alternate===null&&e(p,D),y=s(b,y,U),M===null?R=b:M.sibling=b,M=b,D=J}if(_.done)return t(p,D),Bn&&$a(p,U),R;if(D===null){for(;!_.done;U++,_=I.next())_=f(p,_.value,S),_!==null&&(y=s(_,y,U),M===null?R=_:M.sibling=_,M=_);return Bn&&$a(p,U),R}for(D=i(p,D);!_.done;U++,_=I.next())_=g(D,p,U,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),y=s(_,y,U),M===null?R=_:M.sibling=_,M=_);return n&&D.forEach(function(q){return e(p,q)}),Bn&&$a(p,U),R}function C(p,y,I,S){if(typeof I=="object"&&I!==null&&I.type===bc&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case Uf:e:{for(var R=I.key,M=y;M!==null;){if(M.key===R){if(R=I.type,R===bc){if(M.tag===7){t(p,M.sibling),y=r(M,I.props.children),y.return=p,p=y;break e}}else if(M.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Wo&&ex(R)===M.type){t(p,M.sibling),y=r(M,I.props),y.ref=tA(p,M,I),y.return=p,p=y;break e}t(p,M);break}else e(p,M);M=M.sibling}I.type===bc?(y=dl(I.props.children,p.mode,S,I.key),y.return=p,p=y):(S=pp(I.type,I.key,I.props,null,p.mode,S),S.ref=tA(p,y,I),S.return=p,p=S)}return o(p);case Lc:e:{for(M=I.key;y!==null;){if(y.key===M)if(y.tag===4&&y.stateNode.containerInfo===I.containerInfo&&y.stateNode.implementation===I.implementation){t(p,y.sibling),y=r(y,I.children||[]),y.return=p,p=y;break e}else{t(p,y);break}else e(p,y);y=y.sibling}y=U0(I,p.mode,S),y.return=p,p=y}return o(p);case Wo:return M=I._init,C(p,y,M(I._payload),S)}if(EA(I))return E(p,y,I,S);if(qu(I))return v(p,y,I,S);Xf(p,I)}return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,y!==null&&y.tag===6?(t(p,y.sibling),y=r(y,I),y.return=p,p=y):(t(p,y),y=P0(I,p.mode,S),y.return=p,p=y),o(p)):t(p,y)}return C}var ou=fQ(!0),dQ=fQ(!1),Rh={},Ss=Ea(Rh),KA=Ea(Rh),qA=Ea(Rh);function al(n){if(n===Rh)throw Error(Oe(174));return n}function gy(n,e){switch(dn(qA,e),dn(KA,n),dn(Ss,Rh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:iC(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=iC(e,n)}yn(Ss),dn(Ss,e)}function au(){yn(Ss),yn(KA),yn(qA)}function pQ(n){al(qA.current);var e=al(Ss.current),t=iC(e,n.type);e!==t&&(dn(KA,n),dn(Ss,t))}function my(n){KA.current===n&&(yn(Ss),yn(KA))}var wn=Ea(0);function Hp(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var R0=[];function Ey(){for(var n=0;nt?t:4,n(!0);var i=D0.transition;D0.transition={};try{n(!1),e()}finally{an=t,D0.transition=i}}function DQ(){return Nr().memoizedState}function fL(n,e,t){var i=sa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},TQ(n))LQ(e,t);else if(t=cQ(n,e,t,i),t!==null){var r=Fi();$r(t,n,i,r),bQ(t,e,i)}}function dL(n,e,t){var i=sa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(TQ(n))LQ(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,ts(a,o)){var l=e.interleaved;l===null?(r.next=r,dy(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=cQ(n,e,r,i),t!==null&&(r=Fi(),$r(t,n,i,r),bQ(t,e,i))}}function TQ(n){var e=n.alternate;return n===Qn||e!==null&&e===Qn}function LQ(n,e){QA=zp=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function bQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,ey(n,t)}}var Vp={readContext:br,useCallback:vi,useContext:vi,useEffect:vi,useImperativeHandle:vi,useInsertionEffect:vi,useLayoutEffect:vi,useMemo:vi,useReducer:vi,useRef:vi,useState:vi,useDebugValue:vi,useDeferredValue:vi,useTransition:vi,useMutableSource:vi,useSyncExternalStore:vi,useId:vi,unstable_isNewReconciler:!1},pL={readContext:br,useCallback:function(n,e){return ms().memoizedState=[n,e===void 0?null:e],n},useContext:br,useEffect:nx,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Ap(4194308,4,wQ.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Ap(4194308,4,n,e)},useInsertionEffect:function(n,e){return Ap(4,2,n,e)},useMemo:function(n,e){var t=ms();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ms();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=fL.bind(null,Qn,n),[i.memoizedState,n]},useRef:function(n){var e=ms();return n={current:n},e.memoizedState=n},useState:tx,useDebugValue:By,useDeferredValue:function(n){return ms().memoizedState=n},useTransition:function(){var n=tx(!1),e=n[0];return n=hL.bind(null,n[1]),ms().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Qn,r=ms();if(Bn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),ai===null)throw Error(Oe(349));xl&30||EQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,nx(IQ.bind(null,i,s,n),[n]),i.flags|=2048,$A(9,CQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ms(),e=ai.identifierPrefix;if(Bn){var t=Zs,i=js;t=(i&~(1<<32-Zr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=jA++,0")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{d0=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?mA(n):""}function YT(n){switch(n.tag){case 5:return mA(n.type);case 16:return mA("Lazy");case 13:return mA("Suspense");case 19:return mA("SuspenseList");case 0:case 2:case 15:return n=p0(n.type,!1),n;case 11:return n=p0(n.type.render,!1),n;case 1:return n=p0(n.type,!0),n;default:return""}}function ZE(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 bc:return"Fragment";case Lc:return"Portal";case KE:return"Profiler";case KI:return"StrictMode";case qE:return"Suspense";case jE:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case f_:return(n.displayName||"Context")+".Consumer";case h_:return(n._context.displayName||"Context")+".Provider";case qI:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case jI:return e=n.displayName||null,e!==null?e:ZE(n.type)||"Memo";case Wo:e=n._payload,n=n._init;try{return ZE(n(e))}catch{}}return null}function JT(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 ZE(e);case 8:return e===KI?"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 fa(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function p_(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function XT(n){var e=p_(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 kf(n){n._valueTracker||(n._valueTracker=XT(n))}function g_(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=p_(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function wp(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 Mn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function IB(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=fa(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 m_(n,e){e=e.checked,e!=null&&XI(n,"checked",e,!1)}function eC(n,e){m_(n,e);var t=fa(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")?tC(n,e.type,t):e.hasOwnProperty("defaultValue")&&tC(n,e.type,fa(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function yB(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 tC(n,e,t){(e!=="number"||wp(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var EA=Array.isArray;function qc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Ff.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function FA(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}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},KT=["Webkit","ms","Moz","O"];Object.keys(BA).forEach(function(n){KT.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),BA[e]=BA[n]})});function y_(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||BA.hasOwnProperty(n)&&BA[n]?(""+e).trim():e+"px"}function v_(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=y_(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var qT=Mn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rC(n,e){if(e){if(qT[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Oe(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Oe(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Oe(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Oe(62))}}function sC(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 oC=null;function ZI(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var aC=null,jc=null,Zc=null;function xB(n){if(n=Mh(n)){if(typeof aC!="function")throw Error(Oe(280));var e=n.stateNode;e&&(e=ug(e),aC(n.stateNode,n.type,e))}}function B_(n){jc?Zc?Zc.push(n):Zc=[n]:jc=n}function x_(){if(jc){var n=jc,e=Zc;if(Zc=jc=null,xB(n),e)for(n=0;n>>=0,n===0?32:31-(a3(n)/l3|0)|0}var Of=64,Gf=4194304;function CA(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 Rp(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=CA(a):(s&=o,s!==0&&(i=CA(s)))}else o=t&~r,o!==0?i=CA(o):s!==0&&(i=CA(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 _h(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-Zr(e),n[e]=t}function h3(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=SA),LB=" ",bB=!1;function V_(n,e){switch(n){case"keyup":return O3.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function W_(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Nc=!1;function H3(n,e){switch(n){case"compositionend":return W_(e);case"keypress":return e.which!==32?null:(bB=!0,LB);case"textInput":return n=e.data,n===LB&&bB?null:n;default:return null}}function z3(n,e){if(Nc)return n==="compositionend"||!oy&&V_(n,e)?(n=H_(),ap=iy=qo=null,Nc=!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=kB(t)}}function K_(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?K_(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function q_(){for(var n=window,e=wp();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=wp(n.document)}return e}function ay(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 Z3(n){var e=q_(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&K_(t.ownerDocument.documentElement,t)){if(i!==null&&ay(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=FB(t,s);var o=FB(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,Pc=null,fC=null,_A=null,dC=!1;function OB(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;dC||Pc==null||Pc!==wp(i)||(i=Pc,"selectionStart"in i&&ay(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}),_A&&WA(_A,i)||(_A=i,i=Lp(fC,"onSelect"),0Fc||(n.current=IC[Fc],IC[Fc]=null,Fc--)}function dn(n,e){Fc++,IC[Fc]=n.current,n.current=e}var da={},Mi=Ea(da),Zi=Ea(!1),vl=da;function ru(n,e){var t=n.type.contextTypes;if(!t)return da;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 $i(n){return n=n.childContextTypes,n!=null}function Np(){yn(Zi),yn(Mi)}function JB(n,e,t){if(Mi.current!==da)throw Error(Oe(168));dn(Mi,e),dn(Zi,t)}function sQ(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(Oe(108,JT(n)||"Unknown",r));return Mn({},t,i)}function Pp(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||da,vl=Mi.current,dn(Mi,n),dn(Zi,Zi.current),!0}function XB(n,e,t){var i=n.stateNode;if(!i)throw Error(Oe(169));t?(n=sQ(n,e,vl),i.__reactInternalMemoizedMergedChildContext=n,yn(Zi),yn(Mi),dn(Mi,n)):yn(Zi),dn(Zi,t)}var Ks=null,Ag=!1,M0=!1;function oQ(n){Ks===null?Ks=[n]:Ks.push(n)}function uL(n){Ag=!0,oQ(n)}function Ca(){if(!M0&&Ks!==null){M0=!0;var n=0,e=an;try{var t=Ks;for(an=1;n>=o,r-=o,js=1<<32-Zr(e)+r|t<U?(J=D,D=null):J=D.sibling;var _=d(p,D,I[U],S);if(_===null){D===null&&(D=J);break}n&&D&&_.alternate===null&&e(p,D),y=s(_,y,U),M===null?R=_:M.sibling=_,M=_,D=J}if(U===I.length)return t(p,D),Bn&&$a(p,U),R;if(D===null){for(;UU?(J=D,D=null):J=D.sibling;var b=d(p,D,_.value,S);if(b===null){D===null&&(D=J);break}n&&D&&b.alternate===null&&e(p,D),y=s(b,y,U),M===null?R=b:M.sibling=b,M=b,D=J}if(_.done)return t(p,D),Bn&&$a(p,U),R;if(D===null){for(;!_.done;U++,_=I.next())_=f(p,_.value,S),_!==null&&(y=s(_,y,U),M===null?R=_:M.sibling=_,M=_);return Bn&&$a(p,U),R}for(D=i(p,D);!_.done;U++,_=I.next())_=g(D,p,U,_.value,S),_!==null&&(n&&_.alternate!==null&&D.delete(_.key===null?U:_.key),y=s(_,y,U),M===null?R=_:M.sibling=_,M=_);return n&&D.forEach(function(q){return e(p,q)}),Bn&&$a(p,U),R}function C(p,y,I,S){if(typeof I=="object"&&I!==null&&I.type===bc&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case Uf:e:{for(var R=I.key,M=y;M!==null;){if(M.key===R){if(R=I.type,R===bc){if(M.tag===7){t(p,M.sibling),y=r(M,I.props.children),y.return=p,p=y;break e}}else if(M.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Wo&&tx(R)===M.type){t(p,M.sibling),y=r(M,I.props),y.ref=tA(p,M,I),y.return=p,p=y;break e}t(p,M);break}else e(p,M);M=M.sibling}I.type===bc?(y=dl(I.props.children,p.mode,S,I.key),y.return=p,p=y):(S=pp(I.type,I.key,I.props,null,p.mode,S),S.ref=tA(p,y,I),S.return=p,p=S)}return o(p);case Lc:e:{for(M=I.key;y!==null;){if(y.key===M)if(y.tag===4&&y.stateNode.containerInfo===I.containerInfo&&y.stateNode.implementation===I.implementation){t(p,y.sibling),y=r(y,I.children||[]),y.return=p,p=y;break e}else{t(p,y);break}else e(p,y);y=y.sibling}y=U0(I,p.mode,S),y.return=p,p=y}return o(p);case Wo:return M=I._init,C(p,y,M(I._payload),S)}if(EA(I))return E(p,y,I,S);if(qu(I))return v(p,y,I,S);Xf(p,I)}return typeof I=="string"&&I!==""||typeof I=="number"?(I=""+I,y!==null&&y.tag===6?(t(p,y.sibling),y=r(y,I),y.return=p,p=y):(t(p,y),y=P0(I,p.mode,S),y.return=p,p=y),o(p)):t(p,y)}return C}var ou=dQ(!0),pQ=dQ(!1),Rh={},Ss=Ea(Rh),KA=Ea(Rh),qA=Ea(Rh);function al(n){if(n===Rh)throw Error(Oe(174));return n}function gy(n,e){switch(dn(qA,e),dn(KA,n),dn(Ss,Rh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:iC(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=iC(e,n)}yn(Ss),dn(Ss,e)}function au(){yn(Ss),yn(KA),yn(qA)}function gQ(n){al(qA.current);var e=al(Ss.current),t=iC(e,n.type);e!==t&&(dn(KA,n),dn(Ss,t))}function my(n){KA.current===n&&(yn(Ss),yn(KA))}var wn=Ea(0);function Hp(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var R0=[];function Ey(){for(var n=0;nt?t:4,n(!0);var i=D0.transition;D0.transition={};try{n(!1),e()}finally{an=t,D0.transition=i}}function TQ(){return Nr().memoizedState}function dL(n,e,t){var i=sa(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},LQ(n))bQ(e,t);else if(t=uQ(n,e,t,i),t!==null){var r=Fi();$r(t,n,i,r),NQ(t,e,i)}}function pL(n,e,t){var i=sa(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(LQ(n))bQ(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,ts(a,o)){var l=e.interleaved;l===null?(r.next=r,dy(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=uQ(n,e,r,i),t!==null&&(r=Fi(),$r(t,n,i,r),NQ(t,e,i))}}function LQ(n){var e=n.alternate;return n===Qn||e!==null&&e===Qn}function bQ(n,e){QA=zp=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function NQ(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,ey(n,t)}}var Vp={readContext:br,useCallback:vi,useContext:vi,useEffect:vi,useImperativeHandle:vi,useInsertionEffect:vi,useLayoutEffect:vi,useMemo:vi,useReducer:vi,useRef:vi,useState:vi,useDebugValue:vi,useDeferredValue:vi,useTransition:vi,useMutableSource:vi,useSyncExternalStore:vi,useId:vi,unstable_isNewReconciler:!1},gL={readContext:br,useCallback:function(n,e){return ms().memoizedState=[n,e===void 0?null:e],n},useContext:br,useEffect:ix,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,Ap(4194308,4,_Q.bind(null,e,n),t)},useLayoutEffect:function(n,e){return Ap(4194308,4,n,e)},useInsertionEffect:function(n,e){return Ap(4,2,n,e)},useMemo:function(n,e){var t=ms();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ms();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=dL.bind(null,Qn,n),[i.memoizedState,n]},useRef:function(n){var e=ms();return n={current:n},e.memoizedState=n},useState:nx,useDebugValue:By,useDeferredValue:function(n){return ms().memoizedState=n},useTransition:function(){var n=nx(!1),e=n[0];return n=fL.bind(null,n[1]),ms().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=Qn,r=ms();if(Bn){if(t===void 0)throw Error(Oe(407));t=t()}else{if(t=e(),li===null)throw Error(Oe(349));xl&30||CQ(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,ix(yQ.bind(null,i,s,n),[n]),i.flags|=2048,$A(9,IQ.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ms(),e=li.identifierPrefix;if(Bn){var t=Zs,i=js;t=(i&~(1<<32-Zr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=jA++,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[Is]=e,n[XA]=i,zQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=sC(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;rcu&&(e.flags|=128,i=!0,nA(s,!1),e.lanes=4194304)}else{if(!i)if(n=Hp(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),nA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Bn)return Bi(e),null}else 2*On()-s.renderingStartTime>cu&&t!==1073741824&&(e.flags|=128,i=!0,nA(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=On(),e.sibling=null,t=wn.current,dn(wn,i?t&1|2:t&1),e):(Bi(e),null);case 22:case 23:return My(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?lr&1073741824&&(Bi(e),e.subtreeFlags&6&&(e.flags|=8192)):Bi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function BL(n,e){switch(cy(e),e.tag){case 1:return $i(e.type)&&Np(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return au(),yn(Zi),yn(Mi),Ey(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return my(e),null;case 13:if(yn(wn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));su()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return yn(wn),null;case 4:return au(),null;case 10:return fy(e.type._context),null;case 22:case 23:return My(),null;case 24:return null;default:return null}}var qf=!1,_i=!1,xL=typeof WeakSet=="function"?WeakSet:Set,tt=null;function zc(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 TC(n,e,t){try{t()}catch(i){bn(n,e,i)}}var Ax=!1;function SL(n,e){if(pC=Dp,n=K_(),ay(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,A=0,h=0,f=n,d=null;t:for(;;){for(var g;f!==t||r!==0&&f.nodeType!==3||(a=o+r),f!==s||i!==0&&f.nodeType!==3||(l=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(g=f.firstChild)!==null;)d=f,f=g;for(;;){if(f===n)break t;if(d===t&&++A===r&&(a=o),d===s&&++h===i&&(l=o),(g=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(gC={focusedElem:n,selectionRange:t},Dp=!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 E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var v=E.memoizedProps,C=E.memoizedState,p=e.stateNode,y=p.getSnapshotBeforeUpdate(e.elementType===e.type?v:Jr(e.type,v),C);p.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var I=e.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(S){bn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,tt=n;break}tt=e.return}return E=Ax,Ax=!1,E}function MA(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&&TC(e,t,s)}r=r.next}while(r!==i)}}function dg(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 LC(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 YQ(n){var e=n.alternate;e!==null&&(n.alternate=null,YQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Is],delete e[XA],delete e[CC],delete e[aL],delete e[lL])),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 JQ(n){return n.tag===5||n.tag===3||n.tag===4}function hx(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||JQ(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 bC(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=bp));else if(i!==4&&(n=n.child,n!==null))for(bC(n,e,t),n=n.sibling;n!==null;)bC(n,e,t),n=n.sibling}function NC(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(NC(n,e,t),n=n.sibling;n!==null;)NC(n,e,t),n=n.sibling}var fi=null,Kr=!1;function No(n,e,t){for(t=t.child;t!==null;)XQ(n,e,t),t=t.sibling}function XQ(n,e,t){if(xs&&typeof xs.onCommitFiberUnmount=="function")try{xs.onCommitFiberUnmount(og,t)}catch{}switch(t.tag){case 5:_i||zc(t,e);case 6:var i=fi,r=Kr;fi=null,No(n,e,t),fi=i,Kr=r,fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):fi.removeChild(t.stateNode));break;case 18:fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?Q0(n.parentNode,t):n.nodeType===1&&Q0(n,t),zA(n)):Q0(fi,t.stateNode));break;case 4:i=fi,r=Kr,fi=t.stateNode.containerInfo,Kr=!0,No(n,e,t),fi=i,Kr=r;break;case 0:case 11:case 14:case 15:if(!_i&&(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)&&TC(t,e,o),r=r.next}while(r!==i)}No(n,e,t);break;case 1:if(!_i&&(zc(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)}No(n,e,t);break;case 21:No(n,e,t);break;case 22:t.mode&1?(_i=(i=_i)||t.memoizedState!==null,No(n,e,t),_i=i):No(n,e,t);break;default:No(n,e,t)}}function fx(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new xL),e.forEach(function(i){var r=bL.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Hr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=On()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*_L(i/1960))-i,10n?16:n,jo===null)var i=!1;else{if(n=jo,jo=null,Jp=0,Jt&6)throw Error(Oe(331));var r=Jt;for(Jt|=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;lOn()-_y?fl(n,0):wy|=t),er(n,e)}function nM(n,e){e===0&&(n.mode&1?(e=Gf,Gf<<=1,!(Gf&130023424)&&(Gf=4194304)):e=1);var t=Fi();n=oo(n,e),n!==null&&(_h(n,e,t),er(n,t))}function LL(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),nM(n,t)}function bL(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(Oe(314))}i!==null&&i.delete(e),nM(n,t)}var iM;iM=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Zi.current)ji=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return ji=!1,yL(n,e,t);ji=!!(n.flags&131072)}else ji=!1,Bn&&e.flags&1048576&&oQ(e,kp,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;hp(n,e),n=e.pendingProps;var r=ru(e,Mi.current);eu(e,t),r=Iy(null,e,i,n,r,t);var s=yy();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,$i(i)?(s=!0,Pp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,py(e),r.updater=hg,e.stateNode=r,r._reactInternals=e,SC(e,i,n,t),e=QC(null,e,i,!0,s,t)):(e.tag=0,Bn&&s&&ly(e),Pi(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(hp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=PL(i),n=Jr(i,n),r){case 0:e=_C(null,e,i,n,t);break e;case 1:e=lx(null,e,i,n,t);break e;case 11:e=ox(null,e,i,n,t);break e;case 14:e=ax(null,e,i,Jr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),_C(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),lx(n,e,i,r,t);case 3:e:{if(OQ(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,uQ(n,e),Gp(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=lu(Error(Oe(423)),e),e=cx(n,e,i,t,r);break e}else if(i!==r){r=lu(Error(Oe(424)),e),e=cx(n,e,i,t,r);break e}else for(Ar=na(e.stateNode.containerInfo.firstChild),fr=e,Bn=!0,qr=null,t=dQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(su(),i===r){e=ao(n,e,t);break e}Pi(n,e,i,t)}e=e.child}return e;case 5:return pQ(e),n===null&&vC(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,mC(i,r)?o=null:s!==null&&mC(i,s)&&(e.flags|=32),FQ(n,e),Pi(n,e,o,t),e.child;case 6:return n===null&&vC(e),null;case 13:return GQ(n,e,t);case 4:return gy(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=ou(e,null,i,t):Pi(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),ox(n,e,i,r,t);case 7:return Pi(n,e,e.pendingProps,t),e.child;case 8:return Pi(n,e,e.pendingProps.children,t),e.child;case 12:return Pi(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,dn(Fp,i._currentValue),i._currentValue=o,s!==null)if(ts(s.value,o)){if(s.children===r.children&&!Zi.current){e=ao(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=no(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),BC(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),BC(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}Pi(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,eu(e,t),r=br(r),i=i(r),e.flags|=1,Pi(n,e,i,t),e.child;case 14:return i=e.type,r=Jr(i,e.pendingProps),r=Jr(i.type,r),ax(n,e,i,r,t);case 15:return UQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),hp(n,e),e.tag=1,$i(i)?(n=!0,Pp(e)):n=!1,eu(e,t),hQ(e,i,r),SC(e,i,r,t),QC(null,e,i,!0,n,t);case 19:return HQ(n,e,t);case 22:return kQ(n,e,t)}throw Error(Oe(156,e.tag))};function rM(n,e){return R_(n,e)}function NL(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 Tr(n,e,t,i){return new NL(n,e,t,i)}function Dy(n){return n=n.prototype,!(!n||!n.isReactComponent)}function PL(n){if(typeof n=="function")return Dy(n)?1:0;if(n!=null){if(n=n.$$typeof,n===qI)return 11;if(n===jI)return 14}return 2}function oa(n,e){var t=n.alternate;return t===null?(t=Tr(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 pp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")Dy(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case bc:return dl(t.children,r,s,e);case KI:o=8,r|=8;break;case KE:return n=Tr(12,t,e,r|2),n.elementType=KE,n.lanes=s,n;case qE:return n=Tr(13,t,e,r),n.elementType=qE,n.lanes=s,n;case jE:return n=Tr(19,t,e,r),n.elementType=jE,n.lanes=s,n;case f_:return gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case A_:o=10;break e;case h_:o=9;break e;case qI:o=11;break e;case jI:o=14;break e;case Wo:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Tr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function dl(n,e,t,i){return n=Tr(7,n,i,e),n.lanes=t,n}function gg(n,e,t,i){return n=Tr(22,n,i,e),n.elementType=f_,n.lanes=t,n.stateNode={isHidden:!1},n}function P0(n,e,t){return n=Tr(6,n,null,e),n.lanes=t,n}function U0(n,e,t){return e=Tr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function UL(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=m0(0),this.expirationTimes=m0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=m0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ty(n,e,t,i,r,s,o,a,l){return n=new UL(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Tr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},py(s),n}function kL(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lM)}catch(n){console.error(n)}}lM(),o_.exports=mr;var zL=o_.exports,cM,yx=zL;cM=yx.createRoot,yx.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function b0(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function wC(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var CL=typeof WeakMap=="function"?WeakMap:Map;function PQ(n,e,t){t=no(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){Yp||(Yp=!0,PC=i),wC(n,e)},t}function UQ(n,e,t){t=no(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){wC(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){wC(n,e),typeof i!="function"&&(ra===null?ra=new Set([this]):ra.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function rx(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new CL;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=LL.bind(null,n,e,t),e.then(n,n))}function sx(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function ox(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=no(-1,1),e.tag=2,ia(t,e,1))),t.lanes|=1),n)}var IL=co.ReactCurrentOwner,ji=!1;function Pi(n,e,t,i){e.child=n===null?pQ(e,null,t,i):ou(e,n.child,t,i)}function ax(n,e,t,i,r){t=t.render;var s=e.ref;return eu(e,r),i=Iy(n,e,t,i,s,r),t=yy(),n!==null&&!ji?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,ao(n,e,r)):(Bn&&t&&ly(e),e.flags|=1,Pi(n,e,i,r),e.child)}function lx(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!Dy(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,kQ(n,e,s,i,r)):(n=pp(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:WA,t(o,i)&&n.ref===e.ref)return ao(n,e,r)}return e.flags|=1,n=oa(s,i),n.ref=e.ref,n.return=e,e.child=n}function kQ(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(WA(s,i)&&n.ref===e.ref)if(ji=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&(ji=!0);else return e.lanes=n.lanes,ao(n,e,r)}return _C(n,e,t,i,r)}function FQ(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},dn(Vc,lr),lr|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,dn(Vc,lr),lr|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,dn(Vc,lr),lr|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,dn(Vc,lr),lr|=i;return Pi(n,e,r,t),e.child}function OQ(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function _C(n,e,t,i,r){var s=$i(t)?vl:Mi.current;return s=ru(e,s),eu(e,r),t=Iy(n,e,t,i,s,r),i=yy(),n!==null&&!ji?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,ao(n,e,r)):(Bn&&i&&ly(e),e.flags|=1,Pi(n,e,t,r),e.child)}function cx(n,e,t,i,r){if($i(t)){var s=!0;Pp(e)}else s=!1;if(eu(e,r),e.stateNode===null)hp(n,e),fQ(e,t,i),SC(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,A=t.contextType;typeof A=="object"&&A!==null?A=br(A):(A=$i(t)?vl:Mi.current,A=ru(e,A));var h=t.getDerivedStateFromProps,f=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==A)&&ex(e,o,i,A),Yo=!1;var d=e.memoizedState;o.state=d,Gp(e,i,o,r),l=e.memoizedState,a!==i||d!==l||Zi.current||Yo?(typeof h=="function"&&(xC(e,t,h,i),l=e.memoizedState),(a=Yo||$B(e,t,a,i,d,l,A))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=A,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,AQ(n,e),a=e.memoizedProps,A=e.type===e.elementType?a:Jr(e.type,a),o.props=A,f=e.pendingProps,d=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=br(l):(l=$i(t)?vl:Mi.current,l=ru(e,l));var g=t.getDerivedStateFromProps;(h=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==f||d!==l)&&ex(e,o,i,l),Yo=!1,d=e.memoizedState,o.state=d,Gp(e,i,o,r);var E=e.memoizedState;a!==f||d!==E||Zi.current||Yo?(typeof g=="function"&&(xC(e,t,g,i),E=e.memoizedState),(A=Yo||$B(e,t,A,i,d,E,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,E,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,E,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=E),o.props=i,o.state=E,o.context=l,i=A):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&d===n.memoizedState||(e.flags|=1024),i=!1)}return QC(n,e,t,i,s,r)}function QC(n,e,t,i,r,s){OQ(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&XB(e,t,!1),ao(n,e,s);i=e.stateNode,IL.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=ou(e,n.child,null,s),e.child=ou(e,null,a,s)):Pi(n,e,a,s),e.memoizedState=i.state,r&&XB(e,t,!0),e.child}function GQ(n){var e=n.stateNode;e.pendingContext?JB(n,e.pendingContext,e.pendingContext!==e.context):e.context&&JB(n,e.context,!1),gy(n,e.containerInfo)}function ux(n,e,t,i,r){return su(),uy(r),e.flags|=256,Pi(n,e,t,i),e.child}var MC={dehydrated:null,treeContext:null,retryLane:0};function RC(n){return{baseLanes:n,cachePool:null,transitions:null}}function HQ(n,e,t){var i=e.pendingProps,r=wn.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),dn(wn,r&1),n===null)return vC(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=gg(o,i,0,null),n=dl(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=RC(t),e.memoizedState=MC,n):xy(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return yL(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=oa(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=oa(a,s):(s=dl(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?RC(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=MC,i}return s=n.child,n=s.sibling,i=oa(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function xy(n,e){return e=gg({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function Kf(n,e,t,i){return i!==null&&uy(i),ou(e,n.child,null,t),n=xy(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function yL(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=b0(Error(Oe(422))),Kf(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=gg({mode:"visible",children:i.children},r,0,null),s=dl(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&ou(e,n.child,null,o),e.child.memoizedState=RC(o),e.memoizedState=MC,s);if(!(e.mode&1))return Kf(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Oe(419)),i=b0(s,i,void 0),Kf(n,e,o,i)}if(a=(o&n.childLanes)!==0,ji||a){if(i=li,i!==null){switch(o&-o){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}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,oo(n,r),$r(i,n,r,-1))}return Ry(),i=b0(Error(Oe(421))),Kf(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=bL.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,Ar=na(r.nextSibling),fr=e,Bn=!0,qr=null,n!==null&&(Mr[Rr++]=js,Mr[Rr++]=Zs,Mr[Rr++]=Bl,js=n.id,Zs=n.overflow,Bl=e),e=xy(e,i.children),e.flags|=4096,e)}function Ax(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),BC(n.return,e,t)}function N0(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function zQ(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(Pi(n,e,i.children,t),i=wn.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&Ax(n,t,e);else if(n.tag===19)Ax(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(dn(wn,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&Hp(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),N0(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&Hp(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}N0(e,!0,t,null,s);break;case"together":N0(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function hp(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function ao(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),Sl|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Oe(153));if(e.child!==null){for(n=e.child,t=oa(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=oa(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function vL(n,e,t){switch(e.tag){case 3:GQ(e),su();break;case 5:gQ(e);break;case 1:$i(e.type)&&Pp(e);break;case 4:gy(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;dn(Fp,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(dn(wn,wn.current&1),e.flags|=128,null):t&e.child.childLanes?HQ(n,e,t):(dn(wn,wn.current&1),n=ao(n,e,t),n!==null?n.sibling:null);dn(wn,wn.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return zQ(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),dn(wn,wn.current),i)break;return null;case 22:case 23:return e.lanes=0,FQ(n,e,t)}return ao(n,e,t)}var VQ,DC,WQ,YQ;VQ=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};DC=function(){};WQ=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,al(Ss.current);var s=null;switch(t){case"input":r=$E(n,r),i=$E(n,i),s=[];break;case"select":r=Mn({},r,{value:void 0}),i=Mn({},i,{value:void 0}),s=[];break;case"textarea":r=nC(n,r),i=nC(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=bp)}rC(t,i);var o;t=null;for(A in r)if(!i.hasOwnProperty(A)&&r.hasOwnProperty(A)&&r[A]!=null)if(A==="style"){var a=r[A];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else A!=="dangerouslySetInnerHTML"&&A!=="children"&&A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&A!=="autoFocus"&&(kA.hasOwnProperty(A)?s||(s=[]):(s=s||[]).push(A,null));for(A in i){var l=i[A];if(a=r?.[A],i.hasOwnProperty(A)&&l!==a&&(l!=null||a!=null))if(A==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(A,t)),t=l;else A==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(A,l)):A==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(A,""+l):A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&(kA.hasOwnProperty(A)?(l!=null&&A==="onScroll"&&gn("scroll",n),s||a===l||(s=[])):(s=s||[]).push(A,l))}t&&(s=s||[]).push("style",t);var A=s;(e.updateQueue=A)&&(e.flags|=4)}};YQ=function(n,e,t,i){t!==i&&(e.flags|=4)};function nA(n,e){if(!Bn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function Bi(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function BL(n,e,t){var i=e.pendingProps;switch(cy(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Bi(e),null;case 1:return $i(e.type)&&Np(),Bi(e),null;case 3:return i=e.stateNode,au(),yn(Zi),yn(Mi),Ey(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(Jf(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,qr!==null&&(FC(qr),qr=null))),DC(n,e),Bi(e),null;case 5:my(e);var r=al(qA.current);if(t=e.type,n!==null&&e.stateNode!=null)WQ(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Oe(166));return Bi(e),null}if(n=al(Ss.current),Jf(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[Is]=e,i[XA]=s,n=(e.mode&1)!==0,t){case"dialog":gn("cancel",i),gn("close",i);break;case"iframe":case"object":case"embed":gn("load",i);break;case"video":case"audio":for(r=0;r<\/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[Is]=e,n[XA]=i,VQ(n,e,!1,!1),e.stateNode=n;e:{switch(o=sC(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;rcu&&(e.flags|=128,i=!0,nA(s,!1),e.lanes=4194304)}else{if(!i)if(n=Hp(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),nA(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Bn)return Bi(e),null}else 2*On()-s.renderingStartTime>cu&&t!==1073741824&&(e.flags|=128,i=!0,nA(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=On(),e.sibling=null,t=wn.current,dn(wn,i?t&1|2:t&1),e):(Bi(e),null);case 22:case 23:return My(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?lr&1073741824&&(Bi(e),e.subtreeFlags&6&&(e.flags|=8192)):Bi(e),null;case 24:return null;case 25:return null}throw Error(Oe(156,e.tag))}function xL(n,e){switch(cy(e),e.tag){case 1:return $i(e.type)&&Np(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return au(),yn(Zi),yn(Mi),Ey(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return my(e),null;case 13:if(yn(wn),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Oe(340));su()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return yn(wn),null;case 4:return au(),null;case 10:return fy(e.type._context),null;case 22:case 23:return My(),null;case 24:return null;default:return null}}var qf=!1,_i=!1,SL=typeof WeakSet=="function"?WeakSet:Set,it=null;function zc(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 TC(n,e,t){try{t()}catch(i){bn(n,e,i)}}var hx=!1;function wL(n,e){if(pC=Dp,n=q_(),ay(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,A=0,h=0,f=n,d=null;t:for(;;){for(var g;f!==t||r!==0&&f.nodeType!==3||(a=o+r),f!==s||i!==0&&f.nodeType!==3||(l=o+i),f.nodeType===3&&(o+=f.nodeValue.length),(g=f.firstChild)!==null;)d=f,f=g;for(;;){if(f===n)break t;if(d===t&&++A===r&&(a=o),d===s&&++h===i&&(l=o),(g=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=g}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(gC={focusedElem:n,selectionRange:t},Dp=!1,it=e;it!==null;)if(e=it,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,it=n;else for(;it!==null;){e=it;try{var E=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(E!==null){var v=E.memoizedProps,C=E.memoizedState,p=e.stateNode,y=p.getSnapshotBeforeUpdate(e.elementType===e.type?v:Jr(e.type,v),C);p.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var I=e.stateNode.containerInfo;I.nodeType===1?I.textContent="":I.nodeType===9&&I.documentElement&&I.removeChild(I.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Oe(163))}}catch(S){bn(e,e.return,S)}if(n=e.sibling,n!==null){n.return=e.return,it=n;break}it=e.return}return E=hx,hx=!1,E}function MA(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&&TC(e,t,s)}r=r.next}while(r!==i)}}function dg(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 LC(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 JQ(n){var e=n.alternate;e!==null&&(n.alternate=null,JQ(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[Is],delete e[XA],delete e[CC],delete e[lL],delete e[cL])),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 XQ(n){return n.tag===5||n.tag===3||n.tag===4}function fx(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||XQ(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 bC(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=bp));else if(i!==4&&(n=n.child,n!==null))for(bC(n,e,t),n=n.sibling;n!==null;)bC(n,e,t),n=n.sibling}function NC(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(NC(n,e,t),n=n.sibling;n!==null;)NC(n,e,t),n=n.sibling}var fi=null,Kr=!1;function No(n,e,t){for(t=t.child;t!==null;)KQ(n,e,t),t=t.sibling}function KQ(n,e,t){if(xs&&typeof xs.onCommitFiberUnmount=="function")try{xs.onCommitFiberUnmount(og,t)}catch{}switch(t.tag){case 5:_i||zc(t,e);case 6:var i=fi,r=Kr;fi=null,No(n,e,t),fi=i,Kr=r,fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):fi.removeChild(t.stateNode));break;case 18:fi!==null&&(Kr?(n=fi,t=t.stateNode,n.nodeType===8?Q0(n.parentNode,t):n.nodeType===1&&Q0(n,t),zA(n)):Q0(fi,t.stateNode));break;case 4:i=fi,r=Kr,fi=t.stateNode.containerInfo,Kr=!0,No(n,e,t),fi=i,Kr=r;break;case 0:case 11:case 14:case 15:if(!_i&&(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)&&TC(t,e,o),r=r.next}while(r!==i)}No(n,e,t);break;case 1:if(!_i&&(zc(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)}No(n,e,t);break;case 21:No(n,e,t);break;case 22:t.mode&1?(_i=(i=_i)||t.memoizedState!==null,No(n,e,t),_i=i):No(n,e,t);break;default:No(n,e,t)}}function dx(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new SL),e.forEach(function(i){var r=NL.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Hr(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=On()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*QL(i/1960))-i,10n?16:n,jo===null)var i=!1;else{if(n=jo,jo=null,Jp=0,Jt&6)throw Error(Oe(331));var r=Jt;for(Jt|=4,it=n.current;it!==null;){var s=it,o=s.child;if(it.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lOn()-_y?fl(n,0):wy|=t),er(n,e)}function iM(n,e){e===0&&(n.mode&1?(e=Gf,Gf<<=1,!(Gf&130023424)&&(Gf=4194304)):e=1);var t=Fi();n=oo(n,e),n!==null&&(_h(n,e,t),er(n,t))}function bL(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),iM(n,t)}function NL(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(Oe(314))}i!==null&&i.delete(e),iM(n,t)}var rM;rM=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Zi.current)ji=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return ji=!1,vL(n,e,t);ji=!!(n.flags&131072)}else ji=!1,Bn&&e.flags&1048576&&aQ(e,kp,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;hp(n,e),n=e.pendingProps;var r=ru(e,Mi.current);eu(e,t),r=Iy(null,e,i,n,r,t);var s=yy();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,$i(i)?(s=!0,Pp(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,py(e),r.updater=hg,e.stateNode=r,r._reactInternals=e,SC(e,i,n,t),e=QC(null,e,i,!0,s,t)):(e.tag=0,Bn&&s&&ly(e),Pi(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(hp(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=UL(i),n=Jr(i,n),r){case 0:e=_C(null,e,i,n,t);break e;case 1:e=cx(null,e,i,n,t);break e;case 11:e=ax(null,e,i,n,t);break e;case 14:e=lx(null,e,i,Jr(i.type,n),t);break e}throw Error(Oe(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),_C(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),cx(n,e,i,r,t);case 3:e:{if(GQ(e),n===null)throw Error(Oe(387));i=e.pendingProps,s=e.memoizedState,r=s.element,AQ(n,e),Gp(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=lu(Error(Oe(423)),e),e=ux(n,e,i,t,r);break e}else if(i!==r){r=lu(Error(Oe(424)),e),e=ux(n,e,i,t,r);break e}else for(Ar=na(e.stateNode.containerInfo.firstChild),fr=e,Bn=!0,qr=null,t=pQ(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(su(),i===r){e=ao(n,e,t);break e}Pi(n,e,i,t)}e=e.child}return e;case 5:return gQ(e),n===null&&vC(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,mC(i,r)?o=null:s!==null&&mC(i,s)&&(e.flags|=32),OQ(n,e),Pi(n,e,o,t),e.child;case 6:return n===null&&vC(e),null;case 13:return HQ(n,e,t);case 4:return gy(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=ou(e,null,i,t):Pi(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),ax(n,e,i,r,t);case 7:return Pi(n,e,e.pendingProps,t),e.child;case 8:return Pi(n,e,e.pendingProps.children,t),e.child;case 12:return Pi(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,dn(Fp,i._currentValue),i._currentValue=o,s!==null)if(ts(s.value,o)){if(s.children===r.children&&!Zi.current){e=ao(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=no(-1,t&-t),l.tag=2;var A=s.updateQueue;if(A!==null){A=A.shared;var h=A.pending;h===null?l.next=l:(l.next=h.next,h.next=l),A.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),BC(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(Oe(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),BC(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}Pi(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,eu(e,t),r=br(r),i=i(r),e.flags|=1,Pi(n,e,i,t),e.child;case 14:return i=e.type,r=Jr(i,e.pendingProps),r=Jr(i.type,r),lx(n,e,i,r,t);case 15:return kQ(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Jr(i,r),hp(n,e),e.tag=1,$i(i)?(n=!0,Pp(e)):n=!1,eu(e,t),fQ(e,i,r),SC(e,i,r,t),QC(null,e,i,!0,n,t);case 19:return zQ(n,e,t);case 22:return FQ(n,e,t)}throw Error(Oe(156,e.tag))};function sM(n,e){return D_(n,e)}function PL(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 Tr(n,e,t,i){return new PL(n,e,t,i)}function Dy(n){return n=n.prototype,!(!n||!n.isReactComponent)}function UL(n){if(typeof n=="function")return Dy(n)?1:0;if(n!=null){if(n=n.$$typeof,n===qI)return 11;if(n===jI)return 14}return 2}function oa(n,e){var t=n.alternate;return t===null?(t=Tr(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 pp(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")Dy(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case bc:return dl(t.children,r,s,e);case KI:o=8,r|=8;break;case KE:return n=Tr(12,t,e,r|2),n.elementType=KE,n.lanes=s,n;case qE:return n=Tr(13,t,e,r),n.elementType=qE,n.lanes=s,n;case jE:return n=Tr(19,t,e,r),n.elementType=jE,n.lanes=s,n;case d_:return gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case h_:o=10;break e;case f_:o=9;break e;case qI:o=11;break e;case jI:o=14;break e;case Wo:o=16,i=null;break e}throw Error(Oe(130,n==null?n:typeof n,""))}return e=Tr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function dl(n,e,t,i){return n=Tr(7,n,i,e),n.lanes=t,n}function gg(n,e,t,i){return n=Tr(22,n,i,e),n.elementType=d_,n.lanes=t,n.stateNode={isHidden:!1},n}function P0(n,e,t){return n=Tr(6,n,null,e),n.lanes=t,n}function U0(n,e,t){return e=Tr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function kL(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=m0(0),this.expirationTimes=m0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=m0(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Ty(n,e,t,i,r,s,o,a,l){return n=new kL(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=Tr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},py(s),n}function FL(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cM)}catch(n){console.error(n)}}cM(),a_.exports=mr;var VL=a_.exports,uM,vx=VL;uM=vx.createRoot,vx.hydrateRoot;/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const yg="161",VL={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},WL={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},uM=0,OC=1,AM=2,YL=3,hM=0,vg=1,TA=2,Xr=3,Pr=0,Oi=1,ys=2,io=0,pl=1,GC=2,HC=3,zC=4,fM=5,Ko=100,dM=101,pM=102,VC=103,WC=104,gM=200,mM=201,EM=202,CM=203,qp=204,jp=205,IM=206,yM=207,vM=208,BM=209,xM=210,SM=211,wM=212,_M=213,QM=214,MM=0,RM=1,DM=2,th=3,TM=4,LM=5,bM=6,NM=7,Dh=0,PM=1,UM=2,ws=0,kM=1,FM=2,OM=3,Py=4,GM=5,HM=6,YC="attached",zM="detached",Bg=300,lo=301,pa=302,nh=303,ih=304,gu=306,rh=1e3,Qi=1001,sh=1002,Fn=1003,Zp=1004,JL=1004,il=1005,XL=1005,In=1006,LA=1007,KL=1007,vs=1008,qL=1008,_s=1009,VM=1010,WM=1011,xg=1012,Uy=1013,$s=1014,Dr=1015,_l=1016,ky=1017,Fy=1018,aa=1020,YM=1021,Ui=1023,JM=1024,XM=1025,la=1026,Ql=1027,KM=1028,Oy=1029,qM=1030,Gy=1031,Hy=1033,gp=33776,mp=33777,Ep=33778,Cp=33779,JC=35840,XC=35841,KC=35842,qC=35843,zy=36196,jC=37492,ZC=37496,$C=37808,eI=37809,tI=37810,nI=37811,iI=37812,rI=37813,sI=37814,oI=37815,aI=37816,lI=37817,cI=37818,uI=37819,AI=37820,hI=37821,Ip=36492,fI=36494,dI=36495,jM=36283,pI=36284,gI=36285,mI=36286,ZM=2200,$M=2201,e2=2202,oh=2300,ah=2301,yp=2302,ll=2400,cl=2401,lh=2402,Sg=2500,Vy=2501,jL=0,ZL=1,$L=2,Wy=3e3,ca=3001,t2=3200,Yy=3201,Ia=0,n2=1,cr="",Nn="srgb",Qs="srgb-linear",wg="display-p3",Th="display-p3-linear",ch="linear",fn="srgb",uh="rec709",Ah="p3",eb=0,tl=7680,tb=7681,nb=7682,ib=7683,rb=34055,sb=34056,ob=5386,ab=512,lb=513,cb=514,ub=515,Ab=516,hb=517,fb=518,EI=519,i2=512,r2=513,s2=514,Jy=515,o2=516,a2=517,l2=518,c2=519,hh=35044,Zo=35048,db=35040,pb=35045,gb=35049,mb=35041,Eb=35046,Cb=35050,Ib=35042,yb="100",CI="300 es",$p=1035,Bs=2e3,fh=2001;class uo{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]+xi[n>>16&255]+xi[n>>24&255]+"-"+xi[e&255]+xi[e>>8&255]+"-"+xi[e>>16&15|64]+xi[e>>24&255]+"-"+xi[t&63|128]+xi[t>>8&255]+"-"+xi[t>>16&255]+xi[t>>24&255]+xi[i&255]+xi[i>>8&255]+xi[i>>16&255]+xi[i>>24&255]).toLowerCase()}function Pn(n,e,t){return Math.max(e,Math.min(t,n))}function Xy(n,e){return(n%e+e)%e}function vb(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function Bb(n,e,t){return n!==e?(t-n)/(e-n):0}function bA(n,e,t){return(1-t)*n+t*e}function xb(n,e,t,i){return bA(n,e,1-Math.exp(-t*i))}function Sb(n,e=1){return e-Math.abs(Xy(n,e*2)-e)}function wb(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function _b(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function Qb(n,e){return n+Math.floor(Math.random()*(e-n+1))}function Mb(n,e){return n+Math.random()*(e-n)}function Rb(n){return n*(.5-Math.random())}function Db(n){n!==void 0&&(vx=n);let e=vx+=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 Tb(n){return n*gl}function Lb(n){return n*uu}function II(n){return(n&n-1)===0&&n!==0}function bb(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function eg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function Nb(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),f=s((e-i)/2),d=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*f,l*d,a*A);break;case"YZY":n.set(l*d,a*h,l*f,a*A);break;case"ZXZ":n.set(l*f,l*d,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function ki(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 Rt(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 Pb={DEG2RAD:gl,RAD2DEG:uu,generateUUID:dr,clamp:Pn,euclideanModulo:Xy,mapLinear:vb,inverseLerp:Bb,lerp:bA,damp:xb,pingpong:Sb,smoothstep:wb,smootherstep:_b,randInt:Qb,randFloat:Mb,randFloatSpread:Rb,seededRandom:Db,degToRad:Tb,radToDeg:Lb,isPowerOfTwo:II,ceilPowerOfTwo:bb,floorPowerOfTwo:eg,setQuaternionFromProperEuler:Nb,normalize:Rt,denormalize:ki};class Be{constructor(e=0,t=0){Be.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 wt{constructor(e,t,i,r,s,o,a,l,A){wt.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,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],f=i[7],d=i[2],g=i[5],E=i[8],v=r[0],C=r[3],p=r[6],y=r[1],I=r[4],S=r[7],R=r[2],M=r[5],D=r[8];return s[0]=o*v+a*y+l*R,s[3]=o*C+a*I+l*M,s[6]=o*p+a*S+l*D,s[1]=A*v+h*y+f*R,s[4]=A*C+h*I+f*M,s[7]=A*p+h*S+f*D,s[2]=d*v+g*y+E*R,s[5]=d*C+g*I+E*M,s[8]=d*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],f=h*o-a*A,d=a*l-h*s,g=A*s-o*l,E=t*f+i*d+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const v=1/E;return e[0]=f*v,e[1]=(r*A-h*i)*v,e[2]=(a*i-r*o)*v,e[3]=d*v,e[4]=(h*t-r*l)*v,e[5]=(r*s-a*t)*v,e[6]=g*v,e[7]=(i*l-A*t)*v,e[8]=(o*t-i*s)*v,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(k0.makeScale(e,t)),this}rotate(e){return this.premultiply(k0.makeRotation(-e)),this}translate(e,t){return this.premultiply(k0.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 k0=new wt;function u2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const Ub={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Wc(n,e){return new Ub[n](e)}function dh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function A2(){const n=dh("canvas");return n.style.display="block",n}const Bx={};function ml(n){n in Bx||(Bx[n]=!0,console.warn(n))}const xx=new wt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),Sx=new wt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$f={[Qs]:{transfer:ch,primaries:uh,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:fn,primaries:uh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Th]:{transfer:ch,primaries:Ah,toReference:n=>n.applyMatrix3(Sx),fromReference:n=>n.applyMatrix3(xx)},[wg]:{transfer:fn,primaries:Ah,toReference:n=>n.convertSRGBToLinear().applyMatrix3(Sx),fromReference:n=>n.applyMatrix3(xx).convertLinearToSRGB()}},kb=new Set([Qs,Th]),rn={enabled:!0,_workingColorSpace:Qs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!kb.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=$f[e].toReference,r=$f[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 $f[n].primaries},getTransfer:function(n){return n===cr?ch:$f[n].transfer}};function nu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function F0(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let ic;class Ky{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{ic===void 0&&(ic=dh("canvas")),ic.width=e.width,ic.height=e.height;const i=ic.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=ic}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=dh("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!==Bg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case rh:e.x=e.x-Math.floor(e.x);break;case Qi:e.x=e.x<0?0:1;break;case sh: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 rh:e.y=e.y-Math.floor(e.y);break;case Qi:e.y=e.y<0?0:1;break;case sh: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)}get encoding(){return ml("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?ca:Wy}set encoding(e){ml("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===ca?Nn:cr}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Bg;xn.DEFAULT_ANISOTROPY=1;class sn{constructor(e=0,t=0,i=0,r=1){sn.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,A=l[0],h=l[4],f=l[8],d=l[1],g=l[5],E=l[9],v=l[2],C=l[6],p=l[10];if(Math.abs(h-d)<.01&&Math.abs(f-v)<.01&&Math.abs(E-C)<.01){if(Math.abs(h+d)<.1&&Math.abs(f+v)<.1&&Math.abs(E+C)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const I=(A+1)/2,S=(g+1)/2,R=(p+1)/2,M=(h+d)/4,D=(f+v)/4,U=(E+C)/4;return I>S&&I>R?I<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(I),r=M/i,s=D/i):S>R?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=M/r,s=U/r):R<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(R),i=D/s,r=U/s),this.set(i,r,s,t),this}let y=Math.sqrt((C-E)*(C-E)+(f-v)*(f-v)+(d-h)*(d-h));return Math.abs(y)<.001&&(y=1),this.x=(C-E)/y,this.y=(f-v)/y,this.z=(d-h)/y,this.w=Math.acos((A+g+p-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 h2 extends uo{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new sn(0,0,e,t),this.scissorTest=!1,this.viewport=new sn(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(ml("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===ca?Nn:cr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:In,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ul(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Ur extends h2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class _g extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Gb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new _g(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class qy extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Hb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new qy(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class zb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,I=1-p*p;if(I>Number.EPSILON){const R=Math.sqrt(I),M=Math.atan2(R,p*y);C=Math.sin(C*M)/R,a=Math.sin(a*M)/R}const S=a*y;if(l=l*C+d*S,A=A*C+g*S,h=h*C+E*S,f=f*C+v*S,C===1-a){const R=1/Math.sqrt(l*l+A*A+h*h+f*f);l*=R,A*=R,h*=R,f*=R}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],f=s[o],d=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*f+l*g-A*d,e[t+1]=l*E+h*d+A*f-a*g,e[t+2]=A*E+h*g+a*d-l*f,e[t+3]=h*E-a*f-l*d-A*g,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,A=a(i/2),h=a(r/2),f=a(s/2),d=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"YXZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"ZXY":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"ZYX":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"YZX":this._x=d*h*f+A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f-d*g*E;break;case"XZY":this._x=d*h*f-A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f+d*g*E;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],A=t[2],h=t[6],f=t[10],d=i+a+f;if(d>0){const g=.5/Math.sqrt(d+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>f){const g=2*Math.sqrt(1+i-a-f);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>f){const g=2*Math.sqrt(1+a-i-f);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+f-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),f=Math.sin((1-t)*h)/A,d=Math.sin(t*h)/A;return this._w=o*f+this._w*d,this._x=i*f+this._x*d,this._y=r*f+this._y*d,this._z=s*f+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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 G{constructor(e=0,t=0,i=0){G.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(wx.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(wx.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,A=2*(o*r-a*i),h=2*(a*t-s*r),f=2*(s*i-o*t);return this.x=t+l*A+o*f-a*h,this.y=i+l*h+a*A-s*f,this.z=r+l*f+s*h-o*A,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 G0.copy(this).projectOnVector(e),this.sub(G0)}reflect(e){return this.sub(G0.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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const G0=new G,wx=new Gi;class qn{constructor(e=new G(1/0,1/0,1/0),t=new G(-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(rA),td.subVectors(this.max,rA),rc.subVectors(e.a,rA),sc.subVectors(e.b,rA),oc.subVectors(e.c,rA),Po.subVectors(sc,rc),Uo.subVectors(oc,sc),Fa.subVectors(rc,oc);let t=[0,-Po.z,Po.y,0,-Uo.z,Uo.y,0,-Fa.z,Fa.y,Po.z,0,-Po.x,Uo.z,0,-Uo.x,Fa.z,0,-Fa.x,-Po.y,Po.x,0,-Uo.y,Uo.x,0,-Fa.y,Fa.x,0];return!H0(t,rc,sc,oc,td)||(t=[1,0,0,0,1,0,0,0,1],!H0(t,rc,sc,oc,td))?!1:(nd.crossVectors(Po,Uo),t=[nd.x,nd.y,nd.z],H0(t,rc,sc,oc,td))}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:(Os[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Os[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Os[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Os[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Os[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Os[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Os[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Os[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Os),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 Os=[new G,new G,new G,new G,new G,new G,new G,new G],zr=new G,ed=new qn,rc=new G,sc=new G,oc=new G,Po=new G,Uo=new G,Fa=new G,rA=new G,td=new G,nd=new G,Oa=new G;function H0(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Oa.fromArray(n,s);const a=r.x*Math.abs(Oa.x)+r.y*Math.abs(Oa.y)+r.z*Math.abs(Oa.z),l=e.dot(Oa),A=t.dot(Oa),h=i.dot(Oa);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const Vb=new qn,sA=new G,z0=new G;class li{constructor(e=new G,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):Vb.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;sA.subVectors(e,this.center);const t=sA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(sA,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):(z0.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(sA.copy(e.center).add(z0)),this.expandByPoint(sA.copy(e.center).sub(z0))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Gs=new G,V0=new G,id=new G,ko=new G,W0=new G,rd=new G,Y0=new G;class mu{constructor(e=new G,t=new G(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,Gs)),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=Gs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Gs.copy(this.origin).addScaledVector(this.direction,t),Gs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){V0.copy(e).add(t).multiplyScalar(.5),id.copy(t).sub(e).normalize(),ko.copy(this.origin).sub(V0);const s=e.distanceTo(t)*.5,o=-this.direction.dot(id),a=ko.dot(this.direction),l=-ko.dot(id),A=ko.lengthSq(),h=Math.abs(1-o*o);let f,d,g,E;if(h>0)if(f=o*l-a,d=o*a-l,E=s*h,f>=0)if(d>=-E)if(d<=E){const v=1/h;f*=v,d*=v,g=f*(f+o*d+2*a)+d*(o*f+d+2*l)+A}else d=s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d=-s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d<=-E?(f=Math.max(0,-(-o*s+a)),d=f>0?-s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A):d<=E?(f=0,d=Math.min(Math.max(-s,-l),s),g=d*(d+2*l)+A):(f=Math.max(0,-(o*s+a)),d=f>0?s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A);else d=o>0?-s:s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,f),r&&r.copy(V0).addScaledVector(id,d),g}intersectSphere(e,t){Gs.subVectors(e.center,this.origin);const i=Gs.dot(this.direction),r=Gs.dot(Gs)-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 A=1/this.direction.x,h=1/this.direction.y,f=1/this.direction.z,d=this.origin;return A>=0?(i=(e.min.x-d.x)*A,r=(e.max.x-d.x)*A):(i=(e.max.x-d.x)*A,r=(e.min.x-d.x)*A),h>=0?(s=(e.min.y-d.y)*h,o=(e.max.y-d.y)*h):(s=(e.max.y-d.y)*h,o=(e.min.y-d.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-d.z)*f,l=(e.max.z-d.z)*f):(a=(e.max.z-d.z)*f,l=(e.min.z-d.z)*f),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Gs)!==null}intersectTriangle(e,t,i,r,s){W0.subVectors(t,e),rd.subVectors(i,e),Y0.crossVectors(W0,rd);let o=this.direction.dot(Y0),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ko.subVectors(this.origin,e);const l=a*this.direction.dot(rd.crossVectors(ko,rd));if(l<0)return null;const A=a*this.direction.dot(W0.cross(ko));if(A<0||l+A>o)return null;const h=-a*ko.dot(Y0);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 ft{constructor(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C){ft.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C)}set(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=f,p[14]=d,p[3]=g,p[7]=E,p[11]=v,p[15]=C,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ft().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/ac.setFromMatrixColumn(e,0).length(),s=1/ac.setFromMatrixColumn(e,1).length(),o=1/ac.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),A=Math.sin(r),h=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const d=o*h,g=o*f,E=a*h,v=a*f;t[0]=l*h,t[4]=-l*f,t[8]=A,t[1]=g+E*A,t[5]=d-v*A,t[9]=-a*l,t[2]=v-d*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const d=l*h,g=l*f,E=A*h,v=A*f;t[0]=d+v*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*f,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=v+d*a,t[10]=o*l}else if(e.order==="ZXY"){const d=l*h,g=l*f,E=A*h,v=A*f;t[0]=d-v*a,t[4]=-o*f,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=v-d*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const d=o*h,g=o*f,E=a*h,v=a*f;t[0]=l*h,t[4]=E*A-g,t[8]=d*A+v,t[1]=l*f,t[5]=v*A+d,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const d=o*l,g=o*A,E=a*l,v=a*A;t[0]=l*h,t[4]=v-d*f,t[8]=E*f+g,t[1]=f,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*f+E,t[10]=d-v*f}else if(e.order==="XZY"){const d=o*l,g=o*A,E=a*l,v=a*A;t[0]=l*h,t[4]=-f,t[8]=A*h,t[1]=d*f+v,t[5]=o*h,t[9]=g*f-E,t[2]=E*f-g,t[6]=a*h,t[10]=v*f+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(Wb,e,Yb)}lookAt(e,t,i){const r=this.elements;return or.subVectors(e,t),or.lengthSq()===0&&(or.z=1),or.normalize(),Fo.crossVectors(i,or),Fo.lengthSq()===0&&(Math.abs(i.z)===1?or.x+=1e-4:or.z+=1e-4,or.normalize(),Fo.crossVectors(i,or)),Fo.normalize(),sd.crossVectors(or,Fo),r[0]=Fo.x,r[4]=sd.x,r[8]=or.x,r[1]=Fo.y,r[5]=sd.y,r[9]=or.y,r[2]=Fo.z,r[6]=sd.z,r[10]=or.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],A=i[12],h=i[1],f=i[5],d=i[9],g=i[13],E=i[2],v=i[6],C=i[10],p=i[14],y=i[3],I=i[7],S=i[11],R=i[15],M=r[0],D=r[4],U=r[8],J=r[12],_=r[1],b=r[5],q=r[9],fe=r[13],Y=r[2],oe=r[6],ie=r[10],de=r[14],k=r[3],j=r[7],ee=r[11],Ae=r[15];return s[0]=o*M+a*_+l*Y+A*k,s[4]=o*D+a*b+l*oe+A*j,s[8]=o*U+a*q+l*ie+A*ee,s[12]=o*J+a*fe+l*de+A*Ae,s[1]=h*M+f*_+d*Y+g*k,s[5]=h*D+f*b+d*oe+g*j,s[9]=h*U+f*q+d*ie+g*ee,s[13]=h*J+f*fe+d*de+g*Ae,s[2]=E*M+v*_+C*Y+p*k,s[6]=E*D+v*b+C*oe+p*j,s[10]=E*U+v*q+C*ie+p*ee,s[14]=E*J+v*fe+C*de+p*Ae,s[3]=y*M+I*_+S*Y+R*k,s[7]=y*D+I*b+S*oe+R*j,s[11]=y*U+I*q+S*ie+R*ee,s[15]=y*J+I*fe+S*de+R*Ae,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],A=e[13],h=e[2],f=e[6],d=e[10],g=e[14],E=e[3],v=e[7],C=e[11],p=e[15];return E*(+s*l*f-r*A*f-s*a*d+i*A*d+r*a*g-i*l*g)+v*(+t*l*g-t*A*d+s*o*d-r*o*g+r*A*h-s*l*h)+C*(+t*A*f-t*a*g-s*o*f+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*f+t*a*d+r*o*f-i*o*d+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],A=e[7],h=e[8],f=e[9],d=e[10],g=e[11],E=e[12],v=e[13],C=e[14],p=e[15],y=f*C*A-v*d*A+v*l*g-a*C*g-f*l*p+a*d*p,I=E*d*A-h*C*A-E*l*g+o*C*g+h*l*p-o*d*p,S=h*v*A-E*f*A+E*a*g-o*v*g-h*a*p+o*f*p,R=E*f*l-h*v*l-E*a*d+o*v*d+h*a*C-o*f*C,M=t*y+i*I+r*S+s*R;if(M===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/M;return e[0]=y*D,e[1]=(v*d*s-f*C*s-v*r*g+i*C*g+f*r*p-i*d*p)*D,e[2]=(a*C*s-v*l*s+v*r*A-i*C*A-a*r*p+i*l*p)*D,e[3]=(f*l*s-a*d*s-f*r*A+i*d*A+a*r*g-i*l*g)*D,e[4]=I*D,e[5]=(h*C*s-E*d*s+E*r*g-t*C*g-h*r*p+t*d*p)*D,e[6]=(E*l*s-o*C*s-E*r*A+t*C*A+o*r*p-t*l*p)*D,e[7]=(o*d*s-h*l*s+h*r*A-t*d*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*f*s-h*v*s-E*i*g+t*v*g+h*i*p-t*f*p)*D,e[10]=(o*v*s-E*a*s+E*i*A-t*v*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*f*s-h*i*A+t*f*A+o*i*g-t*a*g)*D,e[12]=R*D,e[13]=(h*v*r-E*f*r+E*i*d-t*v*d-h*i*C+t*f*C)*D,e[14]=(E*a*r-o*v*r-E*i*l+t*v*l+o*i*C-t*a*C)*D,e[15]=(o*f*r-h*a*r+h*i*l-t*f*l-o*i*d+t*a*d)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,f=a+a,d=s*A,g=s*h,E=s*f,v=o*h,C=o*f,p=a*f,y=l*A,I=l*h,S=l*f,R=i.x,M=i.y,D=i.z;return r[0]=(1-(v+p))*R,r[1]=(g+S)*R,r[2]=(E-I)*R,r[3]=0,r[4]=(g-S)*M,r[5]=(1-(d+p))*M,r[6]=(C+y)*M,r[7]=0,r[8]=(E+I)*D,r[9]=(C-y)*D,r[10]=(1-(d+v))*D,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=ac.set(r[0],r[1],r[2]).length();const o=ac.set(r[4],r[5],r[6]).length(),a=ac.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],Vr.copy(this);const A=1/s,h=1/o,f=1/a;return Vr.elements[0]*=A,Vr.elements[1]*=A,Vr.elements[2]*=A,Vr.elements[4]*=h,Vr.elements[5]*=h,Vr.elements[6]*=h,Vr.elements[8]*=f,Vr.elements[9]*=f,Vr.elements[10]*=f,t.setFromRotationMatrix(Vr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Bs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),f=(t+e)/(t-e),d=(i+r)/(i-r);let g,E;if(a===Bs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===fh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=h,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Bs){const l=this.elements,A=1/(t-e),h=1/(i-r),f=1/(o-s),d=(t+e)*A,g=(i+r)*h;let E,v;if(a===Bs)E=(o+s)*f,v=-2*f;else if(a===fh)E=s*f,v=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=v,l[14]=-E,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 ac=new G,Vr=new ft,Wb=new G(0,0,0),Yb=new G(1,1,1),Fo=new G,sd=new G,or=new G,_x=new ft,Qx=new Gi;class Eu{constructor(e=0,t=0,i=0,r=Eu.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],A=r[5],h=r[9],f=r[2],d=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Pn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Pn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Pn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-f,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Pn(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(d,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Pn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Pn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 _x.makeRotationFromQuaternion(e),this.setFromRotationMatrix(_x,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Qx.setFromEuler(this),this.setFromQuaternion(Qx,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}}Eu.DEFAULT_ORDER="XYZ";class El{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),f.length>0&&(i.shapes=f),d.length>0&&(i.skeletons=d),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){Wr.subVectors(r,t),zs.subVectors(i,t),J0.subVectors(e,t);const o=Wr.dot(Wr),a=Wr.dot(zs),l=Wr.dot(J0),A=zs.dot(zs),h=zs.dot(J0),f=o*A-a*a;if(f===0)return s.set(0,0,0),null;const d=1/f,g=(A*l-a*h)*d,E=(o*h-a*l)*d;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Vs)===null?!1:Vs.x>=0&&Vs.y>=0&&Vs.x+Vs.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Vs)===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,Vs.x),l.addScaledVector(o,Vs.y),l.addScaledVector(a,Vs.z),l)}static isFrontFacing(e,t,i,r){return Wr.subVectors(i,t),zs.subVectors(e,t),Wr.cross(zs).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 Wr.subVectors(this.c,this.b),zs.subVectors(this.a,this.b),Wr.cross(zs).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ur.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ur.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return ur.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return ur.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ur.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;cc.subVectors(r,i),uc.subVectors(s,i),X0.subVectors(e,i);const l=cc.dot(X0),A=uc.dot(X0);if(l<=0&&A<=0)return t.copy(i);K0.subVectors(e,r);const h=cc.dot(K0),f=uc.dot(K0);if(h>=0&&f<=h)return t.copy(r);const d=l*f-h*A;if(d<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(cc,o);q0.subVectors(e,s);const g=cc.dot(q0),E=uc.dot(q0);if(E>=0&&g<=E)return t.copy(s);const v=g*A-l*E;if(v<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(uc,a);const C=h*E-g*f;if(C<=0&&f-h>=0&&g-E>=0)return Lx.subVectors(s,r),a=(f-h)/(f-h+(g-E)),t.copy(r).addScaledVector(Lx,a);const p=1/(C+v+d);return o=v*p,a=d*p,t.copy(i).addScaledVector(cc,o).addScaledVector(uc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const f2={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},Oo={h:0,s:0,l:0},ad={h:0,s:0,l:0};function j0(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 qe{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,rn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=rn.workingColorSpace){return this.r=e,this.g=t,this.b=i,rn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=rn.workingColorSpace){if(e=Xy(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=j0(o,s,e+1/3),this.g=j0(o,s,e),this.b=j0(o,s,e-1/3)}return rn.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=f2[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=nu(e.r),this.g=nu(e.g),this.b=nu(e.b),this}copyLinearToSRGB(e){return this.r=F0(e.r),this.g=F0(e.g),this.b=F0(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return rn.fromWorkingColorSpace(Si.copy(this),e),Math.round(Pn(Si.r*255,0,255))*65536+Math.round(Pn(Si.g*255,0,255))*256+Math.round(Pn(Si.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=rn.workingColorSpace){rn.fromWorkingColorSpace(Si.copy(this),t);const i=Si.r,r=Si.g,s=Si.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const f=o-a;switch(A=h<=.5?f/(o+a):f/(2-o-a),o){case i:l=(r-s)/f+(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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==pl&&(i.blending=this.blending),this.side!==Pr&&(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!==qp&&(i.blendSrc=this.blendSrc),this.blendDst!==jp&&(i.blendDst=this.blendDst),this.blendEquation!==Ko&&(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!==th&&(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!==EI&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==tl&&(i.stencilFail=this.stencilFail),this.stencilZFail!==tl&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==tl&&(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 tr extends ci{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new qe(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.combine=Dh,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.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 qs=$b();function $b(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Ki(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Pn(n,-65504,65504),qs.floatView[0]=n;const e=qs.uint32View[0],t=e>>23&511;return qs.baseTable[t]+((e&8388607)>>qs.shiftTable[t])}function yA(n){const e=n>>10;return qs.uint32View[0]=qs.mantissaTable[qs.offsetTable[e]+(n&1023)]+qs.exponentTable[e],qs.floatView[0]}const eN={toHalfFloat:Ki,fromHalfFloat:yA},zn=new G,ld=new Be;class tn{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=hh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Dr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ml("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let f=0,d=A.length;f0&&(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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],f=s[A];for(let d=0,g=f.length;d0){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))&&(bx.copy(s).invert(),Ga.copy(e.ray).applyMatrix4(bx),!(i.boundingBox!==null&&Ga.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ga)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,f=s.attributes.normal,d=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,v=d.length;Et.far?null:{distance:A,point:pd.clone(),object:n}}function gd(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,hc),n.getVertexPosition(l,fc),n.getVertexPosition(A,dc);const h=cN(n,e,t,i,hc,fc,dc,dd);if(h){r&&(Ad.fromBufferAttribute(r,a),hd.fromBufferAttribute(r,l),fd.fromBufferAttribute(r,A),h.uv=ur.getInterpolation(dd,hc,fc,dc,Ad,hd,fd,new Be)),s&&(Ad.fromBufferAttribute(s,a),hd.fromBufferAttribute(s,l),fd.fromBufferAttribute(s,A),h.uv1=ur.getInterpolation(dd,hc,fc,dc,Ad,hd,fd,new Be),h.uv2=h.uv1),o&&(Px.fromBufferAttribute(o,a),Ux.fromBufferAttribute(o,l),kx.fromBufferAttribute(o,A),h.normal=ur.getInterpolation(dd,hc,fc,dc,Px,Ux,kx,new G),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const f={a,b:l,c:A,normal:new G,materialIndex:0};ur.getNormal(hc,fc,dc,f.normal),h.face=f}return h}class Ll extends Dt{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=[],A=[],h=[],f=[];let d=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new st(A,3)),this.setAttribute("normal",new st(h,3)),this.setAttribute("uv",new st(f,2));function E(v,C,p,y,I,S,R,M,D,U,J){const _=S/D,b=R/U,q=S/2,fe=R/2,Y=M/2,oe=D+1,ie=U+1;let de=0,k=0;const j=new G;for(let ee=0;ee0?1:-1,h.push(j.x,j.y,j.z),f.push(_e/D),f.push(1-ee/U),de+=1}}for(let ee=0;ee>8&255]+xi[n>>16&255]+xi[n>>24&255]+"-"+xi[e&255]+xi[e>>8&255]+"-"+xi[e>>16&15|64]+xi[e>>24&255]+"-"+xi[t&63|128]+xi[t>>8&255]+"-"+xi[t>>16&255]+xi[t>>24&255]+xi[i&255]+xi[i>>8&255]+xi[i>>16&255]+xi[i>>24&255]).toLowerCase()}function Pn(n,e,t){return Math.max(e,Math.min(t,n))}function Xy(n,e){return(n%e+e)%e}function Bb(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function xb(n,e,t){return n!==e?(t-n)/(e-n):0}function bA(n,e,t){return(1-t)*n+t*e}function Sb(n,e,t,i){return bA(n,e,1-Math.exp(-t*i))}function wb(n,e=1){return e-Math.abs(Xy(n,e*2)-e)}function _b(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function Qb(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function Mb(n,e){return n+Math.floor(Math.random()*(e-n+1))}function Rb(n,e){return n+Math.random()*(e-n)}function Db(n){return n*(.5-Math.random())}function Tb(n){n!==void 0&&(Bx=n);let e=Bx+=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 Lb(n){return n*gl}function bb(n){return n*uu}function II(n){return(n&n-1)===0&&n!==0}function Nb(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function eg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function Pb(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),A=s((e+i)/2),h=o((e+i)/2),f=s((e-i)/2),d=o((e-i)/2),g=s((i-e)/2),E=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*f,l*d,a*A);break;case"YZY":n.set(l*d,a*h,l*f,a*A);break;case"ZXZ":n.set(l*f,l*d,a*h,a*A);break;case"XZX":n.set(a*h,l*E,l*g,a*A);break;case"YXY":n.set(l*g,a*h,l*E,a*A);break;case"ZYZ":n.set(l*E,l*g,a*h,a*A);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function ki(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 Rt(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 Ub={DEG2RAD:gl,RAD2DEG:uu,generateUUID:dr,clamp:Pn,euclideanModulo:Xy,mapLinear:Bb,inverseLerp:xb,lerp:bA,damp:Sb,pingpong:wb,smoothstep:_b,smootherstep:Qb,randInt:Mb,randFloat:Rb,randFloatSpread:Db,seededRandom:Tb,degToRad:Lb,radToDeg:bb,isPowerOfTwo:II,ceilPowerOfTwo:Nb,floorPowerOfTwo:eg,setQuaternionFromProperEuler:Pb,normalize:Rt,denormalize:ki};class Be{constructor(e=0,t=0){Be.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 wt{constructor(e,t,i,r,s,o,a,l,A){wt.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,A)}set(e,t,i,r,s,o,a,l,A){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]=A,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],A=i[1],h=i[4],f=i[7],d=i[2],g=i[5],E=i[8],v=r[0],C=r[3],p=r[6],y=r[1],I=r[4],S=r[7],R=r[2],M=r[5],D=r[8];return s[0]=o*v+a*y+l*R,s[3]=o*C+a*I+l*M,s[6]=o*p+a*S+l*D,s[1]=A*v+h*y+f*R,s[4]=A*C+h*I+f*M,s[7]=A*p+h*S+f*D,s[2]=d*v+g*y+E*R,s[5]=d*C+g*I+E*M,s[8]=d*p+g*S+E*D,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],A=e[7],h=e[8];return t*o*h-t*a*A-i*s*h+i*a*l+r*s*A-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],A=e[7],h=e[8],f=h*o-a*A,d=a*l-h*s,g=A*s-o*l,E=t*f+i*d+r*g;if(E===0)return this.set(0,0,0,0,0,0,0,0,0);const v=1/E;return e[0]=f*v,e[1]=(r*A-h*i)*v,e[2]=(a*i-r*o)*v,e[3]=d*v,e[4]=(h*t-r*l)*v,e[5]=(r*s-a*t)*v,e[6]=g*v,e[7]=(i*l-A*t)*v,e[8]=(o*t-i*s)*v,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),A=Math.sin(s);return this.set(i*l,i*A,-i*(l*o+A*a)+o+e,-r*A,r*l,-r*(-A*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(k0.makeScale(e,t)),this}rotate(e){return this.premultiply(k0.makeRotation(-e)),this}translate(e,t){return this.premultiply(k0.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 k0=new wt;function A2(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const kb={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Wc(n,e){return new kb[n](e)}function dh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function h2(){const n=dh("canvas");return n.style.display="block",n}const xx={};function ml(n){n in xx||(xx[n]=!0,console.warn(n))}const Sx=new wt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),wx=new wt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),$f={[Qs]:{transfer:ch,primaries:uh,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:fn,primaries:uh,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[Th]:{transfer:ch,primaries:Ah,toReference:n=>n.applyMatrix3(wx),fromReference:n=>n.applyMatrix3(Sx)},[wg]:{transfer:fn,primaries:Ah,toReference:n=>n.convertSRGBToLinear().applyMatrix3(wx),fromReference:n=>n.applyMatrix3(Sx).convertLinearToSRGB()}},Fb=new Set([Qs,Th]),sn={enabled:!0,_workingColorSpace:Qs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!Fb.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=$f[e].toReference,r=$f[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 $f[n].primaries},getTransfer:function(n){return n===cr?ch:$f[n].transfer}};function nu(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function F0(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let ic;class Ky{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{ic===void 0&&(ic=dh("canvas")),ic.width=e.width,ic.height=e.height;const i=ic.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=ic}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=dh("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!==Bg)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case rh:e.x=e.x-Math.floor(e.x);break;case Qi:e.x=e.x<0?0:1;break;case sh: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 rh:e.y=e.y-Math.floor(e.y);break;case Qi:e.y=e.y<0?0:1;break;case sh: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)}get encoding(){return ml("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?ca:Wy}set encoding(e){ml("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===ca?Nn:cr}}xn.DEFAULT_IMAGE=null;xn.DEFAULT_MAPPING=Bg;xn.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,A=l[0],h=l[4],f=l[8],d=l[1],g=l[5],E=l[9],v=l[2],C=l[6],p=l[10];if(Math.abs(h-d)<.01&&Math.abs(f-v)<.01&&Math.abs(E-C)<.01){if(Math.abs(h+d)<.1&&Math.abs(f+v)<.1&&Math.abs(E+C)<.1&&Math.abs(A+g+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const I=(A+1)/2,S=(g+1)/2,R=(p+1)/2,M=(h+d)/4,D=(f+v)/4,U=(E+C)/4;return I>S&&I>R?I<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(I),r=M/i,s=D/i):S>R?S<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(S),i=M/r,s=U/r):R<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(R),i=D/s,r=U/s),this.set(i,r,s,t),this}let y=Math.sqrt((C-E)*(C-E)+(f-v)*(f-v)+(d-h)*(d-h));return Math.abs(y)<.001&&(y=1),this.x=(C-E)/y,this.y=(f-v)/y,this.z=(d-h)/y,this.w=Math.acos((A+g+p-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 f2 extends uo{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.encoding!==void 0&&(ml("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===ca?Nn:cr),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:In,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new xn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new ul(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Ur extends f2{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class _g extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Hb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new _g(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class qy extends xn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=Fn,this.minFilter=Fn,this.wrapR=Qi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class zb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new qy(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class Vb extends Ur{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,I=1-p*p;if(I>Number.EPSILON){const R=Math.sqrt(I),M=Math.atan2(R,p*y);C=Math.sin(C*M)/R,a=Math.sin(a*M)/R}const S=a*y;if(l=l*C+d*S,A=A*C+g*S,h=h*C+E*S,f=f*C+v*S,C===1-a){const R=1/Math.sqrt(l*l+A*A+h*h+f*f);l*=R,A*=R,h*=R,f*=R}}e[t]=l,e[t+1]=A,e[t+2]=h,e[t+3]=f}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],A=i[r+2],h=i[r+3],f=s[o],d=s[o+1],g=s[o+2],E=s[o+3];return e[t]=a*E+h*f+l*g-A*d,e[t+1]=l*E+h*d+A*f-a*g,e[t+2]=A*E+h*g+a*d-l*f,e[t+3]=h*E-a*f-l*d-A*g,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,A=a(i/2),h=a(r/2),f=a(s/2),d=l(i/2),g=l(r/2),E=l(s/2);switch(o){case"XYZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"YXZ":this._x=d*h*f+A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"ZXY":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f-d*g*E;break;case"ZYX":this._x=d*h*f-A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f+d*g*E;break;case"YZX":this._x=d*h*f+A*g*E,this._y=A*g*f+d*h*E,this._z=A*h*E-d*g*f,this._w=A*h*f-d*g*E;break;case"XZY":this._x=d*h*f-A*g*E,this._y=A*g*f-d*h*E,this._z=A*h*E+d*g*f,this._w=A*h*f+d*g*E;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],A=t[2],h=t[6],f=t[10],d=i+a+f;if(d>0){const g=.5/Math.sqrt(d+1);this._w=.25/g,this._x=(h-l)*g,this._y=(s-A)*g,this._z=(o-r)*g}else if(i>a&&i>f){const g=2*Math.sqrt(1+i-a-f);this._w=(h-l)/g,this._x=.25*g,this._y=(r+o)/g,this._z=(s+A)/g}else if(a>f){const g=2*Math.sqrt(1+a-i-f);this._w=(s-A)/g,this._x=(r+o)/g,this._y=.25*g,this._z=(l+h)/g}else{const g=2*Math.sqrt(1+f-i-a);this._w=(o-r)/g,this._x=(s+A)/g,this._y=(l+h)/g,this._z=.25*g}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,A=t._z,h=t._w;return this._x=i*h+o*a+r*A-s*l,this._y=r*h+o*l+s*a-i*A,this._z=s*h+o*A+i*l-r*a,this._w=o*h-i*a-r*l-s*A,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 g=1-t;return this._w=g*o+t*this._w,this._x=g*i+t*this._x,this._y=g*r+t*this._y,this._z=g*s+t*this._z,this.normalize(),this}const A=Math.sqrt(l),h=Math.atan2(A,a),f=Math.sin((1-t)*h)/A,d=Math.sin(t*h)/A;return this._w=o*f+this._w*d,this._x=i*f+this._x*d,this._y=r*f+this._y*d,this._z=s*f+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}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 G{constructor(e=0,t=0,i=0){G.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(_x.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(_x.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,A=2*(o*r-a*i),h=2*(a*t-s*r),f=2*(s*i-o*t);return this.x=t+l*A+o*f-a*h,this.y=i+l*h+a*A-s*f,this.z=r+l*f+s*h-o*A,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 G0.copy(this).projectOnVector(e),this.sub(G0)}reflect(e){return this.sub(G0.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()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const G0=new G,_x=new Gi;class qn{constructor(e=new G(1/0,1/0,1/0),t=new G(-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(rA),td.subVectors(this.max,rA),rc.subVectors(e.a,rA),sc.subVectors(e.b,rA),oc.subVectors(e.c,rA),Po.subVectors(sc,rc),Uo.subVectors(oc,sc),Fa.subVectors(rc,oc);let t=[0,-Po.z,Po.y,0,-Uo.z,Uo.y,0,-Fa.z,Fa.y,Po.z,0,-Po.x,Uo.z,0,-Uo.x,Fa.z,0,-Fa.x,-Po.y,Po.x,0,-Uo.y,Uo.x,0,-Fa.y,Fa.x,0];return!H0(t,rc,sc,oc,td)||(t=[1,0,0,0,1,0,0,0,1],!H0(t,rc,sc,oc,td))?!1:(nd.crossVectors(Po,Uo),t=[nd.x,nd.y,nd.z],H0(t,rc,sc,oc,td))}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:(Os[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Os[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Os[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Os[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Os[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Os[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Os[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Os[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Os),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 Os=[new G,new G,new G,new G,new G,new G,new G,new G],zr=new G,ed=new qn,rc=new G,sc=new G,oc=new G,Po=new G,Uo=new G,Fa=new G,rA=new G,td=new G,nd=new G,Oa=new G;function H0(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){Oa.fromArray(n,s);const a=r.x*Math.abs(Oa.x)+r.y*Math.abs(Oa.y)+r.z*Math.abs(Oa.z),l=e.dot(Oa),A=t.dot(Oa),h=i.dot(Oa);if(Math.max(-Math.max(l,A,h),Math.min(l,A,h))>a)return!1}return!0}const Wb=new qn,sA=new G,z0=new G;class ci{constructor(e=new G,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):Wb.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;sA.subVectors(e,this.center);const t=sA.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(sA,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):(z0.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(sA.copy(e.center).add(z0)),this.expandByPoint(sA.copy(e.center).sub(z0))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Gs=new G,V0=new G,id=new G,ko=new G,W0=new G,rd=new G,Y0=new G;class mu{constructor(e=new G,t=new G(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,Gs)),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=Gs.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Gs.copy(this.origin).addScaledVector(this.direction,t),Gs.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){V0.copy(e).add(t).multiplyScalar(.5),id.copy(t).sub(e).normalize(),ko.copy(this.origin).sub(V0);const s=e.distanceTo(t)*.5,o=-this.direction.dot(id),a=ko.dot(this.direction),l=-ko.dot(id),A=ko.lengthSq(),h=Math.abs(1-o*o);let f,d,g,E;if(h>0)if(f=o*l-a,d=o*a-l,E=s*h,f>=0)if(d>=-E)if(d<=E){const v=1/h;f*=v,d*=v,g=f*(f+o*d+2*a)+d*(o*f+d+2*l)+A}else d=s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d=-s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;else d<=-E?(f=Math.max(0,-(-o*s+a)),d=f>0?-s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A):d<=E?(f=0,d=Math.min(Math.max(-s,-l),s),g=d*(d+2*l)+A):(f=Math.max(0,-(o*s+a)),d=f>0?s:Math.min(Math.max(-s,-l),s),g=-f*f+d*(d+2*l)+A);else d=o>0?-s:s,f=Math.max(0,-(o*d+a)),g=-f*f+d*(d+2*l)+A;return i&&i.copy(this.origin).addScaledVector(this.direction,f),r&&r.copy(V0).addScaledVector(id,d),g}intersectSphere(e,t){Gs.subVectors(e.center,this.origin);const i=Gs.dot(this.direction),r=Gs.dot(Gs)-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 A=1/this.direction.x,h=1/this.direction.y,f=1/this.direction.z,d=this.origin;return A>=0?(i=(e.min.x-d.x)*A,r=(e.max.x-d.x)*A):(i=(e.max.x-d.x)*A,r=(e.min.x-d.x)*A),h>=0?(s=(e.min.y-d.y)*h,o=(e.max.y-d.y)*h):(s=(e.max.y-d.y)*h,o=(e.min.y-d.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-d.z)*f,l=(e.max.z-d.z)*f):(a=(e.max.z-d.z)*f,l=(e.min.z-d.z)*f),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Gs)!==null}intersectTriangle(e,t,i,r,s){W0.subVectors(t,e),rd.subVectors(i,e),Y0.crossVectors(W0,rd);let o=this.direction.dot(Y0),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ko.subVectors(this.origin,e);const l=a*this.direction.dot(rd.crossVectors(ko,rd));if(l<0)return null;const A=a*this.direction.dot(W0.cross(ko));if(A<0||l+A>o)return null;const h=-a*ko.dot(Y0);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 ft{constructor(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C){ft.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C)}set(e,t,i,r,s,o,a,l,A,h,f,d,g,E,v,C){const p=this.elements;return p[0]=e,p[4]=t,p[8]=i,p[12]=r,p[1]=s,p[5]=o,p[9]=a,p[13]=l,p[2]=A,p[6]=h,p[10]=f,p[14]=d,p[3]=g,p[7]=E,p[11]=v,p[15]=C,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ft().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/ac.setFromMatrixColumn(e,0).length(),s=1/ac.setFromMatrixColumn(e,1).length(),o=1/ac.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),A=Math.sin(r),h=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const d=o*h,g=o*f,E=a*h,v=a*f;t[0]=l*h,t[4]=-l*f,t[8]=A,t[1]=g+E*A,t[5]=d-v*A,t[9]=-a*l,t[2]=v-d*A,t[6]=E+g*A,t[10]=o*l}else if(e.order==="YXZ"){const d=l*h,g=l*f,E=A*h,v=A*f;t[0]=d+v*a,t[4]=E*a-g,t[8]=o*A,t[1]=o*f,t[5]=o*h,t[9]=-a,t[2]=g*a-E,t[6]=v+d*a,t[10]=o*l}else if(e.order==="ZXY"){const d=l*h,g=l*f,E=A*h,v=A*f;t[0]=d-v*a,t[4]=-o*f,t[8]=E+g*a,t[1]=g+E*a,t[5]=o*h,t[9]=v-d*a,t[2]=-o*A,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const d=o*h,g=o*f,E=a*h,v=a*f;t[0]=l*h,t[4]=E*A-g,t[8]=d*A+v,t[1]=l*f,t[5]=v*A+d,t[9]=g*A-E,t[2]=-A,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const d=o*l,g=o*A,E=a*l,v=a*A;t[0]=l*h,t[4]=v-d*f,t[8]=E*f+g,t[1]=f,t[5]=o*h,t[9]=-a*h,t[2]=-A*h,t[6]=g*f+E,t[10]=d-v*f}else if(e.order==="XZY"){const d=o*l,g=o*A,E=a*l,v=a*A;t[0]=l*h,t[4]=-f,t[8]=A*h,t[1]=d*f+v,t[5]=o*h,t[9]=g*f-E,t[2]=E*f-g,t[6]=a*h,t[10]=v*f+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(Yb,e,Jb)}lookAt(e,t,i){const r=this.elements;return or.subVectors(e,t),or.lengthSq()===0&&(or.z=1),or.normalize(),Fo.crossVectors(i,or),Fo.lengthSq()===0&&(Math.abs(i.z)===1?or.x+=1e-4:or.z+=1e-4,or.normalize(),Fo.crossVectors(i,or)),Fo.normalize(),sd.crossVectors(or,Fo),r[0]=Fo.x,r[4]=sd.x,r[8]=or.x,r[1]=Fo.y,r[5]=sd.y,r[9]=or.y,r[2]=Fo.z,r[6]=sd.z,r[10]=or.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],A=i[12],h=i[1],f=i[5],d=i[9],g=i[13],E=i[2],v=i[6],C=i[10],p=i[14],y=i[3],I=i[7],S=i[11],R=i[15],M=r[0],D=r[4],U=r[8],J=r[12],_=r[1],b=r[5],q=r[9],fe=r[13],Y=r[2],se=r[6],ne=r[10],de=r[14],k=r[3],j=r[7],ee=r[11],Ae=r[15];return s[0]=o*M+a*_+l*Y+A*k,s[4]=o*D+a*b+l*se+A*j,s[8]=o*U+a*q+l*ne+A*ee,s[12]=o*J+a*fe+l*de+A*Ae,s[1]=h*M+f*_+d*Y+g*k,s[5]=h*D+f*b+d*se+g*j,s[9]=h*U+f*q+d*ne+g*ee,s[13]=h*J+f*fe+d*de+g*Ae,s[2]=E*M+v*_+C*Y+p*k,s[6]=E*D+v*b+C*se+p*j,s[10]=E*U+v*q+C*ne+p*ee,s[14]=E*J+v*fe+C*de+p*Ae,s[3]=y*M+I*_+S*Y+R*k,s[7]=y*D+I*b+S*se+R*j,s[11]=y*U+I*q+S*ne+R*ee,s[15]=y*J+I*fe+S*de+R*Ae,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],A=e[13],h=e[2],f=e[6],d=e[10],g=e[14],E=e[3],v=e[7],C=e[11],p=e[15];return E*(+s*l*f-r*A*f-s*a*d+i*A*d+r*a*g-i*l*g)+v*(+t*l*g-t*A*d+s*o*d-r*o*g+r*A*h-s*l*h)+C*(+t*A*f-t*a*g-s*o*f+i*o*g+s*a*h-i*A*h)+p*(-r*a*h-t*l*f+t*a*d+r*o*f-i*o*d+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],A=e[7],h=e[8],f=e[9],d=e[10],g=e[11],E=e[12],v=e[13],C=e[14],p=e[15],y=f*C*A-v*d*A+v*l*g-a*C*g-f*l*p+a*d*p,I=E*d*A-h*C*A-E*l*g+o*C*g+h*l*p-o*d*p,S=h*v*A-E*f*A+E*a*g-o*v*g-h*a*p+o*f*p,R=E*f*l-h*v*l-E*a*d+o*v*d+h*a*C-o*f*C,M=t*y+i*I+r*S+s*R;if(M===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/M;return e[0]=y*D,e[1]=(v*d*s-f*C*s-v*r*g+i*C*g+f*r*p-i*d*p)*D,e[2]=(a*C*s-v*l*s+v*r*A-i*C*A-a*r*p+i*l*p)*D,e[3]=(f*l*s-a*d*s-f*r*A+i*d*A+a*r*g-i*l*g)*D,e[4]=I*D,e[5]=(h*C*s-E*d*s+E*r*g-t*C*g-h*r*p+t*d*p)*D,e[6]=(E*l*s-o*C*s-E*r*A+t*C*A+o*r*p-t*l*p)*D,e[7]=(o*d*s-h*l*s+h*r*A-t*d*A-o*r*g+t*l*g)*D,e[8]=S*D,e[9]=(E*f*s-h*v*s-E*i*g+t*v*g+h*i*p-t*f*p)*D,e[10]=(o*v*s-E*a*s+E*i*A-t*v*A-o*i*p+t*a*p)*D,e[11]=(h*a*s-o*f*s-h*i*A+t*f*A+o*i*g-t*a*g)*D,e[12]=R*D,e[13]=(h*v*r-E*f*r+E*i*d-t*v*d-h*i*C+t*f*C)*D,e[14]=(E*a*r-o*v*r-E*i*l+t*v*l+o*i*C-t*a*C)*D,e[15]=(o*f*r-h*a*r+h*i*l-t*f*l-o*i*d+t*a*d)*D,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,A=s*o,h=s*a;return this.set(A*o+i,A*a-r*l,A*l+r*a,0,A*a+r*l,h*a+i,h*l-r*o,0,A*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,A=s+s,h=o+o,f=a+a,d=s*A,g=s*h,E=s*f,v=o*h,C=o*f,p=a*f,y=l*A,I=l*h,S=l*f,R=i.x,M=i.y,D=i.z;return r[0]=(1-(v+p))*R,r[1]=(g+S)*R,r[2]=(E-I)*R,r[3]=0,r[4]=(g-S)*M,r[5]=(1-(d+p))*M,r[6]=(C+y)*M,r[7]=0,r[8]=(E+I)*D,r[9]=(C-y)*D,r[10]=(1-(d+v))*D,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=ac.set(r[0],r[1],r[2]).length();const o=ac.set(r[4],r[5],r[6]).length(),a=ac.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],Vr.copy(this);const A=1/s,h=1/o,f=1/a;return Vr.elements[0]*=A,Vr.elements[1]*=A,Vr.elements[2]*=A,Vr.elements[4]*=h,Vr.elements[5]*=h,Vr.elements[6]*=h,Vr.elements[8]*=f,Vr.elements[9]*=f,Vr.elements[10]*=f,t.setFromRotationMatrix(Vr),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Bs){const l=this.elements,A=2*s/(t-e),h=2*s/(i-r),f=(t+e)/(t-e),d=(i+r)/(i-r);let g,E;if(a===Bs)g=-(o+s)/(o-s),E=-2*o*s/(o-s);else if(a===fh)g=-o/(o-s),E=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=A,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=h,l[9]=d,l[13]=0,l[2]=0,l[6]=0,l[10]=g,l[14]=E,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Bs){const l=this.elements,A=1/(t-e),h=1/(i-r),f=1/(o-s),d=(t+e)*A,g=(i+r)*h;let E,v;if(a===Bs)E=(o+s)*f,v=-2*f;else if(a===fh)E=s*f,v=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*A,l[4]=0,l[8]=0,l[12]=-d,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-g,l[2]=0,l[6]=0,l[10]=v,l[14]=-E,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 ac=new G,Vr=new ft,Yb=new G(0,0,0),Jb=new G(1,1,1),Fo=new G,sd=new G,or=new G,Qx=new ft,Mx=new Gi;class Eu{constructor(e=0,t=0,i=0,r=Eu.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],A=r[5],h=r[9],f=r[2],d=r[6],g=r[10];switch(t){case"XYZ":this._y=Math.asin(Pn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(d,A),this._z=0);break;case"YXZ":this._x=Math.asin(-Pn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,g),this._z=Math.atan2(l,A)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Pn(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-f,g),this._z=Math.atan2(-o,A)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Pn(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(d,g),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,A));break;case"YZX":this._z=Math.asin(Pn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,A),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,g));break;case"XZY":this._z=Math.asin(-Pn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(d,A),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,g),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 Qx.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Qx,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Mx.setFromEuler(this),this.setFromQuaternion(Mx,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}}Eu.DEFAULT_ORDER="XYZ";class El{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 A=0,h=l.length;A0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),A.length>0&&(i.textures=A),h.length>0&&(i.images=h),f.length>0&&(i.shapes=f),d.length>0&&(i.skeletons=d),g.length>0&&(i.animations=g),E.length>0&&(i.nodes=E)}return i.object=r,i;function o(a){const l=[];for(const A in a){const h=a[A];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){Wr.subVectors(r,t),zs.subVectors(i,t),J0.subVectors(e,t);const o=Wr.dot(Wr),a=Wr.dot(zs),l=Wr.dot(J0),A=zs.dot(zs),h=zs.dot(J0),f=o*A-a*a;if(f===0)return s.set(0,0,0),null;const d=1/f,g=(A*l-a*h)*d,E=(o*h-a*l)*d;return s.set(1-g-E,E,g)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Vs)===null?!1:Vs.x>=0&&Vs.y>=0&&Vs.x+Vs.y<=1}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Vs)===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,Vs.x),l.addScaledVector(o,Vs.y),l.addScaledVector(a,Vs.z),l)}static isFrontFacing(e,t,i,r){return Wr.subVectors(i,t),zs.subVectors(e,t),Wr.cross(zs).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 Wr.subVectors(this.c,this.b),zs.subVectors(this.a,this.b),Wr.cross(zs).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ur.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ur.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,i,r,s){return ur.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return ur.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ur.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;cc.subVectors(r,i),uc.subVectors(s,i),X0.subVectors(e,i);const l=cc.dot(X0),A=uc.dot(X0);if(l<=0&&A<=0)return t.copy(i);K0.subVectors(e,r);const h=cc.dot(K0),f=uc.dot(K0);if(h>=0&&f<=h)return t.copy(r);const d=l*f-h*A;if(d<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(cc,o);q0.subVectors(e,s);const g=cc.dot(q0),E=uc.dot(q0);if(E>=0&&g<=E)return t.copy(s);const v=g*A-l*E;if(v<=0&&A>=0&&E<=0)return a=A/(A-E),t.copy(i).addScaledVector(uc,a);const C=h*E-g*f;if(C<=0&&f-h>=0&&g-E>=0)return bx.subVectors(s,r),a=(f-h)/(f-h+(g-E)),t.copy(r).addScaledVector(bx,a);const p=1/(C+v+d);return o=v*p,a=d*p,t.copy(i).addScaledVector(cc,o).addScaledVector(uc,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const d2={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},Oo={h:0,s:0,l:0},ad={h:0,s:0,l:0};function j0(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 qe{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=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,sn.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=sn.workingColorSpace){return this.r=e,this.g=t,this.b=i,sn.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=sn.workingColorSpace){if(e=Xy(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=j0(o,s,e+1/3),this.g=j0(o,s,e),this.b=j0(o,s,e-1/3)}return sn.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){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=Nn){const i=d2[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=nu(e.r),this.g=nu(e.g),this.b=nu(e.b),this}copyLinearToSRGB(e){return this.r=F0(e.r),this.g=F0(e.g),this.b=F0(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return sn.fromWorkingColorSpace(Si.copy(this),e),Math.round(Pn(Si.r*255,0,255))*65536+Math.round(Pn(Si.g*255,0,255))*256+Math.round(Pn(Si.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=sn.workingColorSpace){sn.fromWorkingColorSpace(Si.copy(this),t);const i=Si.r,r=Si.g,s=Si.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,A;const h=(a+o)/2;if(a===o)l=0,A=0;else{const f=o-a;switch(A=h<=.5?f/(o+a):f/(2-o-a),o){case i:l=(r-s)/f+(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&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.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!==pl&&(i.blending=this.blending),this.side!==Pr&&(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!==qp&&(i.blendSrc=this.blendSrc),this.blendDst!==jp&&(i.blendDst=this.blendDst),this.blendEquation!==Ko&&(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!==th&&(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!==EI&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==tl&&(i.stencilFail=this.stencilFail),this.stencilZFail!==tl&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==tl&&(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 tr extends ti{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new qe(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.combine=Dh,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.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 qs=eN();function eN(){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 A=l-127;A<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):A<-14?(i[l]=1024>>-A-14,i[l|256]=1024>>-A-14|32768,r[l]=-A-1,r[l|256]=-A-1):A<=15?(i[l]=A+15<<10,i[l|256]=A+15<<10|32768,r[l]=13,r[l|256]=13):A<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 A=l<<13,h=0;for(;!(A&8388608);)A<<=1,h-=8388608;A&=-8388609,h+=947912704,s[l]=A|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 Ki(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=Pn(n,-65504,65504),qs.floatView[0]=n;const e=qs.uint32View[0],t=e>>23&511;return qs.baseTable[t]+((e&8388607)>>qs.shiftTable[t])}function yA(n){const e=n>>10;return qs.uint32View[0]=qs.mantissaTable[qs.offsetTable[e]+(n&1023)]+qs.exponentTable[e],qs.floatView[0]}const tN={toHalfFloat:Ki,fromHalfFloat:yA},zn=new G,ld=new Be;class nn{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=hh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Dr,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ml("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 A in l)l[A]!==void 0&&(e[A]=l[A]);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 A=i[l];e.data.attributes[l]=A.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const A=this.morphAttributes[l],h=[];for(let f=0,d=A.length;f0&&(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 A in r){const h=r[A];this.setAttribute(A,h.clone(t))}const s=e.morphAttributes;for(const A in s){const h=[],f=s[A];for(let d=0,g=f.length;d0){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))&&(Nx.copy(s).invert(),Ga.copy(e.ray).applyMatrix4(Nx),!(i.boundingBox!==null&&Ga.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,Ga)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,A=s.attributes.uv,h=s.attributes.uv1,f=s.attributes.normal,d=s.groups,g=s.drawRange;if(a!==null)if(Array.isArray(o))for(let E=0,v=d.length;Et.far?null:{distance:A,point:pd.clone(),object:n}}function gd(n,e,t,i,r,s,o,a,l,A){n.getVertexPosition(a,hc),n.getVertexPosition(l,fc),n.getVertexPosition(A,dc);const h=uN(n,e,t,i,hc,fc,dc,dd);if(h){r&&(Ad.fromBufferAttribute(r,a),hd.fromBufferAttribute(r,l),fd.fromBufferAttribute(r,A),h.uv=ur.getInterpolation(dd,hc,fc,dc,Ad,hd,fd,new Be)),s&&(Ad.fromBufferAttribute(s,a),hd.fromBufferAttribute(s,l),fd.fromBufferAttribute(s,A),h.uv1=ur.getInterpolation(dd,hc,fc,dc,Ad,hd,fd,new Be),h.uv2=h.uv1),o&&(Ux.fromBufferAttribute(o,a),kx.fromBufferAttribute(o,l),Fx.fromBufferAttribute(o,A),h.normal=ur.getInterpolation(dd,hc,fc,dc,Ux,kx,Fx,new G),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const f={a,b:l,c:A,normal:new G,materialIndex:0};ur.getNormal(hc,fc,dc,f.normal),h.face=f}return h}class Ll extends Dt{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=[],A=[],h=[],f=[];let d=0,g=0;E("z","y","x",-1,-1,i,t,e,o,s,0),E("z","y","x",1,-1,i,t,-e,o,s,1),E("x","z","y",1,1,e,i,t,r,o,2),E("x","z","y",1,-1,e,i,-t,r,o,3),E("x","y","z",1,-1,e,t,i,r,s,4),E("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new ot(A,3)),this.setAttribute("normal",new ot(h,3)),this.setAttribute("uv",new ot(f,2));function E(v,C,p,y,I,S,R,M,D,U,J){const _=S/D,b=R/U,q=S/2,fe=R/2,Y=M/2,se=D+1,ne=U+1;let de=0,k=0;const j=new G;for(let ee=0;ee0?1:-1,h.push(j.x,j.y,j.z),f.push(_e/D),f.push(1-ee/U),de+=1}}for(let ee=0;ee0&&(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 Lh extends Xt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ft,this.projectionMatrix=new ft,this.projectionMatrixInverse=new ft,this.coordinateSystem=Bs}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Go=new G,Fx=new Be,Ox=new Be;class Xn extends Lh{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=uu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(gl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return uu*2*Math.atan(Math.tan(gl*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){Go.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Go.x,Go.y).multiplyScalar(-e/Go.z),Go.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Go.x,Go.y).multiplyScalar(-e/Go.z)}getViewSize(e,t){return this.getViewBounds(e,Fx,Ox),t.subVectors(Ox,Fx)}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(gl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 pc=-90,gc=1;class g2 extends Xt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Xn(pc,gc,e,t);r.layers=this.layers,this.add(r);const s=new Xn(pc,gc,e,t);s.layers=this.layers,this.add(s);const o=new Xn(pc,gc,e,t);o.layers=this.layers,this.add(o);const a=new Xn(pc,gc,e,t);a.layers=this.layers,this.add(a);const l=new Xn(pc,gc,e,t);l.layers=this.layers,this.add(l);const A=new Xn(pc,gc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Bs)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===fh)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 A of t)this.add(A),A.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,A,h]=this.children,f=e.getRenderTarget(),d=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const v=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,A),i.texture.generateMipmaps=v,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(f,d,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class bh extends xn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:lo,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class m2 extends Ur{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];t.encoding!==void 0&&(ml("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===ca?Nn:cr),this.texture=new bh(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: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 i={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class ns extends ti{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=hN,this.fragmentShader=fN,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Au(e.uniforms),this.uniformsGroups=AN(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Lh extends Xt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ft,this.projectionMatrix=new ft,this.projectionMatrixInverse=new ft,this.coordinateSystem=Bs}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Go=new G,Ox=new Be,Gx=new Be;class Xn extends Lh{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=uu*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(gl*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return uu*2*Math.atan(Math.tan(gl*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,i){Go.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Go.x,Go.y).multiplyScalar(-e/Go.z),Go.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(Go.x,Go.y).multiplyScalar(-e/Go.z)}getViewSize(e,t){return this.getViewBounds(e,Ox,Gx),t.subVectors(Gx,Ox)}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(gl*.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,A=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/A,r*=o.width/l,i*=o.height/A}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 pc=-90,gc=1;class m2 extends Xt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new Xn(pc,gc,e,t);r.layers=this.layers,this.add(r);const s=new Xn(pc,gc,e,t);s.layers=this.layers,this.add(s);const o=new Xn(pc,gc,e,t);o.layers=this.layers,this.add(o);const a=new Xn(pc,gc,e,t);a.layers=this.layers,this.add(a);const l=new Xn(pc,gc,e,t);l.layers=this.layers,this.add(l);const A=new Xn(pc,gc,e,t);A.layers=this.layers,this.add(A)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const A of t)this.remove(A);if(e===Bs)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===fh)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 A of t)this.add(A),A.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,A,h]=this.children,f=e.getRenderTarget(),d=e.getActiveCubeFace(),g=e.getActiveMipmapLevel(),E=e.xr.enabled;e.xr.enabled=!1;const v=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,A),i.texture.generateMipmaps=v,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(f,d,g),e.xr.enabled=E,i.texture.needsPMREMUpdate=!0}}class bh extends xn{constructor(e,t,i,r,s,o,a,l,A,h){e=e!==void 0?e:[],t=t!==void 0?t:lo,super(e,t,i,r,s,o,a,l,A,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class E2 extends Ur{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];t.encoding!==void 0&&(ml("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===ca?Nn:cr),this.texture=new bh(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: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 i={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -80,9 +80,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new Ll(5,5,5),s=new ns({name:"CubemapFromEquirect",uniforms:Au(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Oi,blending:io});s.uniforms.tEquirect.value=t;const o=new on(r,s),a=t.minFilter;return t.minFilter===vs&&(t.minFilter=In),new g2(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 eE=new G,fN=new G,dN=new wt;class un{constructor(e=new G(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=eE.subVectors(i,t).cross(fN.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(eE),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||dN.getNormalMatrix(e),r=this.coplanarPoint(eE).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ha=new li,md=new G;class Nh{constructor(e=new un,t=new un,i=new un,r=new un,s=new un,o=new un){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=Bs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],f=r[6],d=r[7],g=r[8],E=r[9],v=r[10],C=r[11],p=r[12],y=r[13],I=r[14],S=r[15];if(i[0].setComponents(l-s,d-A,C-g,S-p).normalize(),i[1].setComponents(l+s,d+A,C+g,S+p).normalize(),i[2].setComponents(l+o,d+h,C+E,S+y).normalize(),i[3].setComponents(l-o,d-h,C-E,S-y).normalize(),i[4].setComponents(l-a,d-f,C-v,S-I).normalize(),t===Bs)i[5].setComponents(l+a,d+f,C+v,S+I).normalize();else if(t===fh)i[5].setComponents(a,f,v,I).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Ha.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ha.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ha)}intersectsSprite(e){return Ha.center.set(0,0,0),Ha.radius=.7071067811865476,Ha.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ha)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,md.y=r.normal.y>0?e.max.y:e.min.y,md.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(md)<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 E2(){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 pN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const f=A.array,d=A.usage,g=f.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,f,d),A.onUploadCallback();let v;if(f instanceof Float32Array)v=n.FLOAT;else if(f instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)v=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else v=n.UNSIGNED_SHORT;else if(f instanceof Int16Array)v=n.SHORT;else if(f instanceof Uint32Array)v=n.UNSIGNED_INT;else if(f instanceof Int32Array)v=n.INT;else if(f instanceof Int8Array)v=n.BYTE;else if(f instanceof Uint8Array)v=n.UNSIGNED_BYTE;else if(f instanceof Uint8ClampedArray)v=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+f);return{buffer:E,type:v,bytesPerElement:f.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,f){const d=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(f,A),g.count===-1&&E.length===0&&n.bufferSubData(f,0,d),E.length!==0){for(let v=0,C=E.length;v1?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||pN.getNormalMatrix(e),r=this.coplanarPoint(eE).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ha=new ci,md=new G;class Nh{constructor(e=new un,t=new un,i=new un,r=new un,s=new un,o=new un){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=Bs){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],A=r[4],h=r[5],f=r[6],d=r[7],g=r[8],E=r[9],v=r[10],C=r[11],p=r[12],y=r[13],I=r[14],S=r[15];if(i[0].setComponents(l-s,d-A,C-g,S-p).normalize(),i[1].setComponents(l+s,d+A,C+g,S+p).normalize(),i[2].setComponents(l+o,d+h,C+E,S+y).normalize(),i[3].setComponents(l-o,d-h,C-E,S-y).normalize(),i[4].setComponents(l-a,d-f,C-v,S-I).normalize(),t===Bs)i[5].setComponents(l+a,d+f,C+v,S+I).normalize();else if(t===fh)i[5].setComponents(a,f,v,I).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Ha.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Ha.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Ha)}intersectsSprite(e){return Ha.center.set(0,0,0),Ha.radius=.7071067811865476,Ha.applyMatrix4(e.matrixWorld),this.intersectsSphere(Ha)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,md.y=r.normal.y>0?e.max.y:e.min.y,md.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(md)<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 C2(){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 gN(n,e){const t=e.isWebGL2,i=new WeakMap;function r(A,h){const f=A.array,d=A.usage,g=f.byteLength,E=n.createBuffer();n.bindBuffer(h,E),n.bufferData(h,f,d),A.onUploadCallback();let v;if(f instanceof Float32Array)v=n.FLOAT;else if(f instanceof Uint16Array)if(A.isFloat16BufferAttribute)if(t)v=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else v=n.UNSIGNED_SHORT;else if(f instanceof Int16Array)v=n.SHORT;else if(f instanceof Uint32Array)v=n.UNSIGNED_INT;else if(f instanceof Int32Array)v=n.INT;else if(f instanceof Int8Array)v=n.BYTE;else if(f instanceof Uint8Array)v=n.UNSIGNED_BYTE;else if(f instanceof Uint8ClampedArray)v=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+f);return{buffer:E,type:v,bytesPerElement:f.BYTES_PER_ELEMENT,version:A.version,size:g}}function s(A,h,f){const d=h.array,g=h._updateRange,E=h.updateRanges;if(n.bindBuffer(f,A),g.count===-1&&E.length===0&&n.bufferSubData(f,0,d),E.length!==0){for(let v=0,C=E.length;v 0 +#endif`,TN=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -312,26 +312,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,TN=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,LN=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; #endif`,bN=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,NN=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,NN=`#if defined( USE_COLOR_ALPHA ) +#endif`,PN=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,PN=`#if defined( USE_COLOR_ALPHA ) +#endif`,UN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,UN=`#if defined( USE_COLOR_ALPHA ) +#endif`,kN=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,kN=`#if defined( USE_COLOR_ALPHA ) +#endif`,FN=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -341,7 +341,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,FN=`#define PI 3.141592653589793 +#endif`,ON=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -419,7 +419,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 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 +} // validated`,GN=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -512,7 +512,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,GN=`vec3 transformedNormal = objectNormal; +#endif`,HN=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -541,18 +541,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,HN=`#ifdef USE_DISPLACEMENTMAP +#endif`,zN=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,zN=`#ifdef USE_DISPLACEMENTMAP +#endif`,VN=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,VN=`#ifdef USE_EMISSIVEMAP +#endif`,WN=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,WN=`#ifdef USE_EMISSIVEMAP +#endif`,YN=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,YN="gl_FragColor = linearToOutputTexel( gl_FragColor );",JN=` +#endif`,JN="gl_FragColor = linearToOutputTexel( gl_FragColor );",XN=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -580,7 +580,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,XN=`#ifdef USE_ENVMAP +}`,KN=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -609,7 +609,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,KN=`#ifdef USE_ENVMAP +#endif`,qN=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -618,7 +618,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,qN=`#ifdef USE_ENVMAP +#endif`,jN=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -629,7 +629,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,jN=`#ifdef USE_ENVMAP +#endif`,ZN=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -640,7 +640,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,ZN=`#ifdef USE_ENVMAP +#endif`,$N=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -657,18 +657,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,$N=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; #endif`,eP=`#ifdef USE_FOG - varying float vFogDepth; + vFogDepth = - mvPosition.z; #endif`,tP=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,nP=`#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`,nP=`#ifdef USE_FOG +#endif`,iP=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -677,7 +677,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,iP=`#ifdef USE_GRADIENTMAP +#endif`,rP=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -689,16 +689,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 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 -}`,rP=`#ifdef USE_LIGHTMAP +}`,sP=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,sP=`#ifdef USE_LIGHTMAP +#endif`,oP=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,oP=`LambertMaterial material; +#endif`,aP=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,aP=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,lP=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -712,7 +712,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,lP=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,cP=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -835,7 +835,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,cP=`#ifdef USE_ENVMAP +#endif`,uP=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -868,8 +868,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,uP=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,AP=`varying vec3 vViewPosition; +#endif`,AP=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,hP=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -881,11 +881,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,hP=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,fP=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,fP=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,dP=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -902,7 +902,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,dP=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,pP=`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 ); @@ -985,7 +985,7 @@ material.roughness = min( material.roughness, 1.0 ); 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`,pP=`struct PhysicalMaterial { +#endif`,gP=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1285,7 +1285,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #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 ); -}`,gP=` +}`,mP=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1400,7 +1400,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,mP=`#if defined( RE_IndirectDiffuse ) +#endif`,EP=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1419,25 +1419,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,EP=`#if defined( RE_IndirectDiffuse ) +#endif`,CP=`#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`,CP=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) - gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; #endif`,IP=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) + gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,yP=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,yP=`#ifdef USE_LOGDEPTHBUF +#endif`,vP=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,vP=`#ifdef USE_LOGDEPTHBUF +#endif`,BP=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1447,16 +1447,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,BP=`#ifdef USE_MAP +#endif`,xP=`#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`,xP=`#ifdef USE_MAP +#endif`,SP=`#ifdef USE_MAP uniform sampler2D map; -#endif`,SP=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,wP=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1468,7 +1468,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,wP=`#if defined( USE_POINTS_UV ) +#endif`,_P=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1480,13 +1480,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,_P=`float metalnessFactor = metalness; +#endif`,QP=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,QP=`#ifdef USE_METALNESSMAP +#endif`,MP=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,MP=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,RP=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1495,7 +1495,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,RP=`#ifdef USE_MORPHNORMALS +#endif`,DP=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1507,7 +1507,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,DP=`#ifdef USE_MORPHTARGETS +#endif`,TP=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1527,7 +1527,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,TP=`#ifdef USE_MORPHTARGETS +#endif`,LP=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1545,7 +1545,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,LP=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,bP=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1586,7 +1586,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,bP=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,NP=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1601,25 +1601,25 @@ vec3 nonPerturbedNormal = normal;`,bP=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,NP=`#ifndef FLAT_SHADED +#endif`,PP=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,PP=`#ifndef FLAT_SHADED +#endif`,UP=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,UP=`#ifndef FLAT_SHADED +#endif`,kP=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,kP=`#ifdef USE_NORMALMAP +#endif`,FP=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1641,13 +1641,13 @@ vec3 nonPerturbedNormal = normal;`,bP=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,FP=`#ifdef USE_CLEARCOAT +#endif`,OP=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,OP=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,GP=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,GP=`#ifdef USE_CLEARCOATMAP +#endif`,HP=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1656,18 +1656,18 @@ vec3 nonPerturbedNormal = normal;`,bP=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,HP=`#ifdef USE_IRIDESCENCEMAP +#endif`,zP=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,zP=`#ifdef OPAQUE +#endif`,VP=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,VP=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,WP=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1708,9 +1708,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,WP=`#ifdef PREMULTIPLIED_ALPHA +}`,YP=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,YP=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,JP=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1718,22 +1718,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,XP=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,XP=`#ifdef DITHERING +#endif`,KP=`#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`,KP=`float roughnessFactor = roughness; +#endif`,qP=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,qP=`#ifdef USE_ROUGHNESSMAP +#endif`,jP=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,jP=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,ZP=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1910,7 +1910,7 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,ZP=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,$P=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1948,7 +1948,7 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,$P=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,e4=`#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 @@ -1980,7 +1980,7 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,e4=`float getShadowMask() { +#endif`,t4=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2012,12 +2012,12 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING #endif #endif return shadow; -}`,t4=`#ifdef USE_SKINNING +}`,n4=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,n4=`#ifdef USE_SKINNING +#endif`,i4=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2032,7 +2032,7 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,i4=`#ifdef USE_SKINNING +#endif`,r4=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2040,7 +2040,7 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,r4=`#ifdef USE_SKINNING +#endif`,s4=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2051,17 +2051,17 @@ gl_Position = projectionMatrix * mvPosition;`,JP=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,s4=`float specularStrength; +#endif`,o4=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,o4=`#ifdef USE_SPECULARMAP +#endif`,a4=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,a4=`#if defined( TONE_MAPPING ) +#endif`,l4=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,l4=`#ifndef saturate +#endif`,c4=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = clamp( color, 0.0, 1.0 ); return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,u4=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,u4=`#ifdef USE_TRANSMISSION +#endif`,A4=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,A4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,h4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,h4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,f4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,f4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,d4=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,d4=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,p4=`#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; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,c4=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const p4=`varying vec2 vUv; +#endif`;const g4=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,g4=`uniform sampler2D t2D; +}`,m4=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,m4=`varying vec3 vWorldDirection; +}`,E4=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,E4=`#ifdef ENVMAP_TYPE_CUBE +}`,C4=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,C4=`varying vec3 vWorldDirection; +}`,I4=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,I4=`uniform samplerCube tCube; +}`,y4=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,y4=`#include +}`,v4=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,v4=`#if DEPTH_PACKING == 3200 +}`,B4=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,B4=`#define DISTANCE +}`,x4=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,x4=`#define DISTANCE +}`,S4=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2683,13 +2683,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,S4=`varying vec3 vWorldDirection; +}`,w4=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,w4=`uniform sampler2D tEquirect; +}`,_4=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,_4=`uniform float scale; +}`,Q4=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,Q4=`uniform vec3 diffuse; +}`,M4=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,M4=`#include +}`,R4=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,R4=`uniform vec3 diffuse; +}`,D4=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,D4=`#define LAMBERT +}`,T4=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,T4=`#define LAMBERT +}`,L4=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,L4=`#define MATCAP +}`,b4=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,b4=`#define MATCAP +}`,N4=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,N4=`#define NORMAL +}`,P4=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,P4=`#define NORMAL +}`,U4=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3054,7 +3054,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,U4=`#define PHONG +}`,k4=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3092,7 +3092,7 @@ void main() { #include #include #include -}`,k4=`#define PHONG +}`,F4=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3151,7 +3151,7 @@ void main() { #include #include #include -}`,F4=`#define STANDARD +}`,O4=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3193,7 +3193,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,O4=`#define STANDARD +}`,G4=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3315,7 +3315,7 @@ void main() { #include #include #include -}`,G4=`#define TOON +}`,H4=`#define TOON varying vec3 vViewPosition; #include #include @@ -3351,7 +3351,7 @@ void main() { #include #include #include -}`,H4=`#define TOON +}`,z4=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3404,7 +3404,7 @@ void main() { #include #include #include -}`,z4=`uniform float size; +}`,V4=`uniform float size; uniform float scale; #include #include @@ -3434,7 +3434,7 @@ void main() { #include #include #include -}`,V4=`uniform vec3 diffuse; +}`,W4=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3459,7 +3459,7 @@ void main() { #include #include #include -}`,W4=`#include +}`,Y4=`#include #include #include #include @@ -3481,7 +3481,7 @@ void main() { #include #include #include -}`,Y4=`uniform vec3 color; +}`,J4=`uniform vec3 color; uniform float opacity; #include #include @@ -3497,7 +3497,7 @@ void main() { #include #include #include -}`,J4=`uniform float rotation; +}`,X4=`uniform float rotation; uniform vec2 center; #include #include @@ -3523,7 +3523,7 @@ void main() { #include #include #include -}`,X4=`uniform vec3 diffuse; +}`,K4=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3548,7 +3548,7 @@ void main() { #include #include #include -}`,Lt={alphahash_fragment:gN,alphahash_pars_fragment:mN,alphamap_fragment:EN,alphamap_pars_fragment:CN,alphatest_fragment:IN,alphatest_pars_fragment:yN,aomap_fragment:vN,aomap_pars_fragment:BN,batching_pars_vertex:xN,batching_vertex:SN,begin_vertex:wN,beginnormal_vertex:_N,bsdfs:QN,iridescence_fragment:MN,bumpmap_pars_fragment:RN,clipping_planes_fragment:DN,clipping_planes_pars_fragment:TN,clipping_planes_pars_vertex:LN,clipping_planes_vertex:bN,color_fragment:NN,color_pars_fragment:PN,color_pars_vertex:UN,color_vertex:kN,common:FN,cube_uv_reflection_fragment:ON,defaultnormal_vertex:GN,displacementmap_pars_vertex:HN,displacementmap_vertex:zN,emissivemap_fragment:VN,emissivemap_pars_fragment:WN,colorspace_fragment:YN,colorspace_pars_fragment:JN,envmap_fragment:XN,envmap_common_pars_fragment:KN,envmap_pars_fragment:qN,envmap_pars_vertex:jN,envmap_physical_pars_fragment:cP,envmap_vertex:ZN,fog_vertex:$N,fog_pars_vertex:eP,fog_fragment:tP,fog_pars_fragment:nP,gradientmap_pars_fragment:iP,lightmap_fragment:rP,lightmap_pars_fragment:sP,lights_lambert_fragment:oP,lights_lambert_pars_fragment:aP,lights_pars_begin:lP,lights_toon_fragment:uP,lights_toon_pars_fragment:AP,lights_phong_fragment:hP,lights_phong_pars_fragment:fP,lights_physical_fragment:dP,lights_physical_pars_fragment:pP,lights_fragment_begin:gP,lights_fragment_maps:mP,lights_fragment_end:EP,logdepthbuf_fragment:CP,logdepthbuf_pars_fragment:IP,logdepthbuf_pars_vertex:yP,logdepthbuf_vertex:vP,map_fragment:BP,map_pars_fragment:xP,map_particle_fragment:SP,map_particle_pars_fragment:wP,metalnessmap_fragment:_P,metalnessmap_pars_fragment:QP,morphcolor_vertex:MP,morphnormal_vertex:RP,morphtarget_pars_vertex:DP,morphtarget_vertex:TP,normal_fragment_begin:LP,normal_fragment_maps:bP,normal_pars_fragment:NP,normal_pars_vertex:PP,normal_vertex:UP,normalmap_pars_fragment:kP,clearcoat_normal_fragment_begin:FP,clearcoat_normal_fragment_maps:OP,clearcoat_pars_fragment:GP,iridescence_pars_fragment:HP,opaque_fragment:zP,packing:VP,premultiplied_alpha_fragment:WP,project_vertex:YP,dithering_fragment:JP,dithering_pars_fragment:XP,roughnessmap_fragment:KP,roughnessmap_pars_fragment:qP,shadowmap_pars_fragment:jP,shadowmap_pars_vertex:ZP,shadowmap_vertex:$P,shadowmask_pars_fragment:e4,skinbase_vertex:t4,skinning_pars_vertex:n4,skinning_vertex:i4,skinnormal_vertex:r4,specularmap_fragment:s4,specularmap_pars_fragment:o4,tonemapping_fragment:a4,tonemapping_pars_fragment:l4,transmission_fragment:c4,transmission_pars_fragment:u4,uv_pars_fragment:A4,uv_pars_vertex:h4,uv_vertex:f4,worldpos_vertex:d4,background_vert:p4,background_frag:g4,backgroundCube_vert:m4,backgroundCube_frag:E4,cube_vert:C4,cube_frag:I4,depth_vert:y4,depth_frag:v4,distanceRGBA_vert:B4,distanceRGBA_frag:x4,equirect_vert:S4,equirect_frag:w4,linedashed_vert:_4,linedashed_frag:Q4,meshbasic_vert:M4,meshbasic_frag:R4,meshlambert_vert:D4,meshlambert_frag:T4,meshmatcap_vert:L4,meshmatcap_frag:b4,meshnormal_vert:N4,meshnormal_frag:P4,meshphong_vert:U4,meshphong_frag:k4,meshphysical_vert:F4,meshphysical_frag:O4,meshtoon_vert:G4,meshtoon_frag:H4,points_vert:z4,points_frag:V4,shadow_vert:W4,shadow_frag:Y4,sprite_vert:J4,sprite_frag:X4},Ye={common:{diffuse:{value:new qe(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new wt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new wt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new wt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new wt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new wt},normalScale:{value:new Be(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new wt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new wt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new wt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new wt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new qe(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 qe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0},uvTransform:{value:new wt}},sprite:{diffuse:{value:new qe(16777215)},opacity:{value:1},center:{value:new Be(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}}},jr={basic:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Lt.meshbasic_vert,fragmentShader:Lt.meshbasic_frag},lambert:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Lt.meshlambert_vert,fragmentShader:Lt.meshlambert_frag},phong:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},specular:{value:new qe(1118481)},shininess:{value:30}}]),vertexShader:Lt.meshphong_vert,fragmentShader:Lt.meshphong_frag},standard:{uniforms:Ni([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Lt.meshphysical_vert,fragmentShader:Lt.meshphysical_frag},toon:{uniforms:Ni([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Lt.meshtoon_vert,fragmentShader:Lt.meshtoon_frag},matcap:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Lt.meshmatcap_vert,fragmentShader:Lt.meshmatcap_frag},points:{uniforms:Ni([Ye.points,Ye.fog]),vertexShader:Lt.points_vert,fragmentShader:Lt.points_frag},dashed:{uniforms:Ni([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Lt.linedashed_vert,fragmentShader:Lt.linedashed_frag},depth:{uniforms:Ni([Ye.common,Ye.displacementmap]),vertexShader:Lt.depth_vert,fragmentShader:Lt.depth_frag},normal:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Lt.meshnormal_vert,fragmentShader:Lt.meshnormal_frag},sprite:{uniforms:Ni([Ye.sprite,Ye.fog]),vertexShader:Lt.sprite_vert,fragmentShader:Lt.sprite_frag},background:{uniforms:{uvTransform:{value:new wt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Lt.background_vert,fragmentShader:Lt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Lt.backgroundCube_vert,fragmentShader:Lt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Lt.cube_vert,fragmentShader:Lt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Lt.equirect_vert,fragmentShader:Lt.equirect_frag},distanceRGBA:{uniforms:Ni([Ye.common,Ye.displacementmap,{referencePosition:{value:new G},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Lt.distanceRGBA_vert,fragmentShader:Lt.distanceRGBA_frag},shadow:{uniforms:Ni([Ye.lights,Ye.fog,{color:{value:new qe(0)},opacity:{value:1}}]),vertexShader:Lt.shadow_vert,fragmentShader:Lt.shadow_frag}};jr.physical={uniforms:Ni([jr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new wt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new wt},clearcoatNormalScale:{value:new Be(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new wt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new wt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new wt},sheen:{value:0},sheenColor:{value:new qe(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new wt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new wt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new wt},transmissionSamplerSize:{value:new Be},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new wt},attenuationDistance:{value:0},attenuationColor:{value:new qe(0)},specularColor:{value:new qe(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new wt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new wt},anisotropyVector:{value:new Be},anisotropyMap:{value:null},anisotropyMapTransform:{value:new wt}}]),vertexShader:Lt.meshphysical_vert,fragmentShader:Lt.meshphysical_frag};const Ed={r:0,b:0,g:0};function K4(n,e,t,i,r,s,o){const a=new qe(0);let l=s===!0?0:1,A,h,f=null,d=0,g=null;function E(C,p){let y=!1,I=p.isScene===!0?p.background:null;I&&I.isTexture&&(I=(p.backgroundBlurriness>0?t:e).get(I)),I===null?v(a,l):I&&I.isColor&&(v(I,1),y=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),I&&(I.isCubeTexture||I.mapping===gu)?(h===void 0&&(h=new on(new Ll(1,1,1),new ns({name:"BackgroundCubeMaterial",uniforms:Au(jr.backgroundCube.uniforms),vertexShader:jr.backgroundCube.vertexShader,fragmentShader:jr.backgroundCube.fragmentShader,side:Oi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(R,M,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=I,h.material.uniforms.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=rn.getTransfer(I.colorSpace)!==fn,(f!==I||d!==I.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,f=I,d=I.version,g=n.toneMapping),h.layers.enableAll(),C.unshift(h,h.geometry,h.material,0,0,null)):I&&I.isTexture&&(A===void 0&&(A=new on(new ya(2,2),new ns({name:"BackgroundMaterial",uniforms:Au(jr.background.uniforms),vertexShader:jr.background.vertexShader,fragmentShader:jr.background.fragmentShader,side:Pr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=I,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=rn.getTransfer(I.colorSpace)!==fn,I.matrixAutoUpdate===!0&&I.updateMatrix(),A.material.uniforms.uvTransform.value.copy(I.matrix),(f!==I||d!==I.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,f=I,d=I.version,g=n.toneMapping),A.layers.enableAll(),C.unshift(A,A.geometry,A.material,0,0,null))}function v(C,p){C.getRGB(Ed,d2(n)),i.buffers.color.setClear(Ed.r,Ed.g,Ed.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(C,p=1){a.set(C),l=p,v(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(C){l=C,v(a,l)},render:E}}function q4(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=C(null);let A=l,h=!1;function f(Y,oe,ie,de,k){let j=!1;if(o){const ee=v(de,ie,oe);A!==ee&&(A=ee,g(A.object)),j=p(Y,de,ie,k),j&&y(Y,de,ie,k)}else{const ee=oe.wireframe===!0;(A.geometry!==de.id||A.program!==ie.id||A.wireframe!==ee)&&(A.geometry=de.id,A.program=ie.id,A.wireframe=ee,j=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(j||h)&&(h=!1,U(Y,oe,ie,de),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function d(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(Y){return i.isWebGL2?n.bindVertexArray(Y):s.bindVertexArrayOES(Y)}function E(Y){return i.isWebGL2?n.deleteVertexArray(Y):s.deleteVertexArrayOES(Y)}function v(Y,oe,ie){const de=ie.wireframe===!0;let k=a[Y.id];k===void 0&&(k={},a[Y.id]=k);let j=k[oe.id];j===void 0&&(j={},k[oe.id]=j);let ee=j[de];return ee===void 0&&(ee=C(d()),j[de]=ee),ee}function C(Y){const oe=[],ie=[],de=[];for(let k=0;k=0){const V=k[_e];let H=j[_e];if(H===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(H=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(H=Y.instanceColor)),V===void 0||V.attribute!==H||H&&V.data!==H.data)return!0;ee++}return A.attributesNum!==ee||A.index!==de}function y(Y,oe,ie,de){const k={},j=oe.attributes;let ee=0;const Ae=ie.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let V=j[_e];V===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(V=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(V=Y.instanceColor));const H={};H.attribute=V,V&&V.data&&(H.data=V.data),k[_e]=H,ee++}A.attributes=k,A.attributesNum=ee,A.index=de}function I(){const Y=A.newAttributes;for(let oe=0,ie=Y.length;oe=0){let ke=k[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&Y.instanceMatrix&&(ke=Y.instanceMatrix),Ae==="instanceColor"&&Y.instanceColor&&(ke=Y.instanceColor)),ke!==void 0){const V=ke.normalized,H=ke.itemSize,F=t.get(ke);if(F===void 0)continue;const N=F.buffer,Ee=F.type,ve=F.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===Uy);if(ke.isInterleavedBufferAttribute){const Se=ke.data,O=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let $=0;$<_e.locationSize;$++)R(_e.location+$,Se.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let $=0;$<_e.locationSize;$++)S(_e.location+$);n.bindBuffer(n.ARRAY_BUFFER,N);for(let $=0;$<_e.locationSize;$++)D(_e.location+$,H/_e.locationSize,Ee,V,O*ve,(me+H/_e.locationSize*$)*ve,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)R(_e.location+Se,ke.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,N);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,H/_e.locationSize,Ee,V,H*ve,H/_e.locationSize*Se*ve,pe)}}else if(ee!==void 0){const V=ee[Ae];if(V!==void 0)switch(V.length){case 2:n.vertexAttrib2fv(_e.location,V);break;case 3:n.vertexAttrib3fv(_e.location,V);break;case 4:n.vertexAttrib4fv(_e.location,V);break;default:n.vertexAttrib1fv(_e.location,V)}}}}M()}function J(){q();for(const Y in a){const oe=a[Y];for(const ie in oe){const de=oe[ie];for(const k in de)E(de[k].object),delete de[k];delete oe[ie]}delete a[Y]}}function _(Y){if(a[Y.id]===void 0)return;const oe=a[Y.id];for(const ie in oe){const de=oe[ie];for(const k in de)E(de[k].object),delete de[k];delete oe[ie]}delete a[Y.id]}function b(Y){for(const oe in a){const ie=a[oe];if(ie[Y.id]===void 0)continue;const de=ie[Y.id];for(const k in de)E(de[k].object),delete de[k];delete ie[Y.id]}}function q(){fe(),h=!0,A!==l&&(A=l,g(A.object))}function fe(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:f,reset:q,resetDefaultState:fe,dispose:J,releaseStatesOfGeometry:_,releaseStatesOfProgram:b,initAttributes:I,enableAttribute:S,disableUnusedAttributes:M}}function j4(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,f){n.drawArrays(s,h,f),t.update(f,s,1)}function l(h,f,d){if(d===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,f,d),t.update(f,s,d)}function A(h,f,d){if(d===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,f=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),d=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),v=n.getParameter(n.MAX_VERTEX_ATTRIBS),C=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),I=d>0,S=o||e.has("OES_texture_float"),R=I&&S,M=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:f,maxVertexTextures:d,maxTextureSize:g,maxCubemapSize:E,maxAttributes:v,maxVertexUniforms:C,maxVaryings:p,maxFragmentUniforms:y,vertexTextures:I,floatFragmentTextures:S,floatVertexTextures:R,maxSamples:M}}function $4(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new un,a=new wt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,d){const g=f.length!==0||d||i!==0||r;return r=d,i=f.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,d){t=h(f,d,0)},this.setState=function(f,d,g){const E=f.clippingPlanes,v=f.clipIntersection,C=f.clipShadows,p=n.get(f);if(!r||E===null||E.length===0||s&&!C)s?h(null):A();else{const y=s?0:i,I=y*4;let S=p.clippingState||null;l.value=S,S=h(E,d,I,g);for(let R=0;R!==I;++R)S[R]=t[R];p.clippingState=S,this.numIntersection=v?this.numPlanes:0,this.numPlanes+=y}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(f,d,g,E){const v=f!==null?f.length:0;let C=null;if(v!==0){if(C=l.value,E!==!0||C===null){const p=g+v*4,y=d.matrixWorldInverse;a.getNormalMatrix(y),(C===null||C.length0){const A=new m2(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Cu extends Lh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 Yc=4,Gx=[.125,.215,.35,.446,.526,.582],rl=20,tE=new Cu,Hx=new qe;let nE=null,iE=0,rE=0;const nl=(1+Math.sqrt(5))/2,mc=1/nl,zx=[new G(1,1,1),new G(-1,1,1),new G(1,1,-1),new G(-1,1,-1),new G(0,nl,mc),new G(0,nl,-mc),new G(mc,0,nl),new G(-mc,0,nl),new G(nl,mc,0),new G(-nl,mc,0)];class yI{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){nE=this._renderer.getRenderTarget(),iE=this._renderer.getActiveCubeFace(),rE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Yx(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Wx(),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?I:0,I,I),h.setRenderTarget(r),v&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=d,h.autoClear=f,e.background=C}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===lo||e.mapping===pa;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Yx()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Wx());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new on(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Cd(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,tE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rrl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${C} samples when the maximum is set to ${rl}`);const p=[];let y=0;for(let D=0;DI-Yc?r-I+Yc:0),M=4*(this._cubeSize-S);Cd(t,R,M,3*S,2*S),l.setRenderTarget(t),l.render(f,tE)}}function tU(n){const e=[],t=[],i=[];let r=n;const s=n-Yc+1+Gx.length;for(let o=0;on-Yc?l=Gx[o-n+Yc-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,f=1+A,d=[h,h,f,h,f,f,h,h,f,f,h,f],g=6,E=6,v=3,C=2,p=1,y=new Float32Array(v*E*g),I=new Float32Array(C*E*g),S=new Float32Array(p*E*g);for(let M=0;M2?0:-1,J=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];y.set(J,v*E*M),I.set(d,C*E*M);const _=[M,M,M,M,M,M];S.set(_,p*E*M)}const R=new Dt;R.setAttribute("position",new tn(y,v)),R.setAttribute("uv",new tn(I,C)),R.setAttribute("faceIndex",new tn(S,p)),e.push(R),r>Yc&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function Vx(n,e,t){const i=new Ur(n,e,t);return i.texture.mapping=gu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Cd(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function nU(n,e,t){const i=new Float32Array(rl),r=new G(0,1,0);return new ns({name:"SphericalGaussianBlur",defines:{n:rl,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:$y(),fragmentShader:` +}`,Lt={alphahash_fragment:mN,alphahash_pars_fragment:EN,alphamap_fragment:CN,alphamap_pars_fragment:IN,alphatest_fragment:yN,alphatest_pars_fragment:vN,aomap_fragment:BN,aomap_pars_fragment:xN,batching_pars_vertex:SN,batching_vertex:wN,begin_vertex:_N,beginnormal_vertex:QN,bsdfs:MN,iridescence_fragment:RN,bumpmap_pars_fragment:DN,clipping_planes_fragment:TN,clipping_planes_pars_fragment:LN,clipping_planes_pars_vertex:bN,clipping_planes_vertex:NN,color_fragment:PN,color_pars_fragment:UN,color_pars_vertex:kN,color_vertex:FN,common:ON,cube_uv_reflection_fragment:GN,defaultnormal_vertex:HN,displacementmap_pars_vertex:zN,displacementmap_vertex:VN,emissivemap_fragment:WN,emissivemap_pars_fragment:YN,colorspace_fragment:JN,colorspace_pars_fragment:XN,envmap_fragment:KN,envmap_common_pars_fragment:qN,envmap_pars_fragment:jN,envmap_pars_vertex:ZN,envmap_physical_pars_fragment:uP,envmap_vertex:$N,fog_vertex:eP,fog_pars_vertex:tP,fog_fragment:nP,fog_pars_fragment:iP,gradientmap_pars_fragment:rP,lightmap_fragment:sP,lightmap_pars_fragment:oP,lights_lambert_fragment:aP,lights_lambert_pars_fragment:lP,lights_pars_begin:cP,lights_toon_fragment:AP,lights_toon_pars_fragment:hP,lights_phong_fragment:fP,lights_phong_pars_fragment:dP,lights_physical_fragment:pP,lights_physical_pars_fragment:gP,lights_fragment_begin:mP,lights_fragment_maps:EP,lights_fragment_end:CP,logdepthbuf_fragment:IP,logdepthbuf_pars_fragment:yP,logdepthbuf_pars_vertex:vP,logdepthbuf_vertex:BP,map_fragment:xP,map_pars_fragment:SP,map_particle_fragment:wP,map_particle_pars_fragment:_P,metalnessmap_fragment:QP,metalnessmap_pars_fragment:MP,morphcolor_vertex:RP,morphnormal_vertex:DP,morphtarget_pars_vertex:TP,morphtarget_vertex:LP,normal_fragment_begin:bP,normal_fragment_maps:NP,normal_pars_fragment:PP,normal_pars_vertex:UP,normal_vertex:kP,normalmap_pars_fragment:FP,clearcoat_normal_fragment_begin:OP,clearcoat_normal_fragment_maps:GP,clearcoat_pars_fragment:HP,iridescence_pars_fragment:zP,opaque_fragment:VP,packing:WP,premultiplied_alpha_fragment:YP,project_vertex:JP,dithering_fragment:XP,dithering_pars_fragment:KP,roughnessmap_fragment:qP,roughnessmap_pars_fragment:jP,shadowmap_pars_fragment:ZP,shadowmap_pars_vertex:$P,shadowmap_vertex:e4,shadowmask_pars_fragment:t4,skinbase_vertex:n4,skinning_pars_vertex:i4,skinning_vertex:r4,skinnormal_vertex:s4,specularmap_fragment:o4,specularmap_pars_fragment:a4,tonemapping_fragment:l4,tonemapping_pars_fragment:c4,transmission_fragment:u4,transmission_pars_fragment:A4,uv_pars_fragment:h4,uv_pars_vertex:f4,uv_vertex:d4,worldpos_vertex:p4,background_vert:g4,background_frag:m4,backgroundCube_vert:E4,backgroundCube_frag:C4,cube_vert:I4,cube_frag:y4,depth_vert:v4,depth_frag:B4,distanceRGBA_vert:x4,distanceRGBA_frag:S4,equirect_vert:w4,equirect_frag:_4,linedashed_vert:Q4,linedashed_frag:M4,meshbasic_vert:R4,meshbasic_frag:D4,meshlambert_vert:T4,meshlambert_frag:L4,meshmatcap_vert:b4,meshmatcap_frag:N4,meshnormal_vert:P4,meshnormal_frag:U4,meshphong_vert:k4,meshphong_frag:F4,meshphysical_vert:O4,meshphysical_frag:G4,meshtoon_vert:H4,meshtoon_frag:z4,points_vert:V4,points_frag:W4,shadow_vert:Y4,shadow_frag:J4,sprite_vert:X4,sprite_frag:K4},Ye={common:{diffuse:{value:new qe(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new wt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new wt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new wt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new wt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new wt},normalScale:{value:new Be(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new wt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new wt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new wt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new wt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new qe(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 qe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0},uvTransform:{value:new wt}},sprite:{diffuse:{value:new qe(16777215)},opacity:{value:1},center:{value:new Be(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}}},jr={basic:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.fog]),vertexShader:Lt.meshbasic_vert,fragmentShader:Lt.meshbasic_frag},lambert:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Lt.meshlambert_vert,fragmentShader:Lt.meshlambert_frag},phong:{uniforms:Ni([Ye.common,Ye.specularmap,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},specular:{value:new qe(1118481)},shininess:{value:30}}]),vertexShader:Lt.meshphong_vert,fragmentShader:Lt.meshphong_frag},standard:{uniforms:Ni([Ye.common,Ye.envmap,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.roughnessmap,Ye.metalnessmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Lt.meshphysical_vert,fragmentShader:Lt.meshphysical_frag},toon:{uniforms:Ni([Ye.common,Ye.aomap,Ye.lightmap,Ye.emissivemap,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.gradientmap,Ye.fog,Ye.lights,{emissive:{value:new qe(0)}}]),vertexShader:Lt.meshtoon_vert,fragmentShader:Lt.meshtoon_frag},matcap:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,Ye.fog,{matcap:{value:null}}]),vertexShader:Lt.meshmatcap_vert,fragmentShader:Lt.meshmatcap_frag},points:{uniforms:Ni([Ye.points,Ye.fog]),vertexShader:Lt.points_vert,fragmentShader:Lt.points_frag},dashed:{uniforms:Ni([Ye.common,Ye.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Lt.linedashed_vert,fragmentShader:Lt.linedashed_frag},depth:{uniforms:Ni([Ye.common,Ye.displacementmap]),vertexShader:Lt.depth_vert,fragmentShader:Lt.depth_frag},normal:{uniforms:Ni([Ye.common,Ye.bumpmap,Ye.normalmap,Ye.displacementmap,{opacity:{value:1}}]),vertexShader:Lt.meshnormal_vert,fragmentShader:Lt.meshnormal_frag},sprite:{uniforms:Ni([Ye.sprite,Ye.fog]),vertexShader:Lt.sprite_vert,fragmentShader:Lt.sprite_frag},background:{uniforms:{uvTransform:{value:new wt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Lt.background_vert,fragmentShader:Lt.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Lt.backgroundCube_vert,fragmentShader:Lt.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Lt.cube_vert,fragmentShader:Lt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Lt.equirect_vert,fragmentShader:Lt.equirect_frag},distanceRGBA:{uniforms:Ni([Ye.common,Ye.displacementmap,{referencePosition:{value:new G},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Lt.distanceRGBA_vert,fragmentShader:Lt.distanceRGBA_frag},shadow:{uniforms:Ni([Ye.lights,Ye.fog,{color:{value:new qe(0)},opacity:{value:1}}]),vertexShader:Lt.shadow_vert,fragmentShader:Lt.shadow_frag}};jr.physical={uniforms:Ni([jr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new wt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new wt},clearcoatNormalScale:{value:new Be(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new wt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new wt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new wt},sheen:{value:0},sheenColor:{value:new qe(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new wt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new wt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new wt},transmissionSamplerSize:{value:new Be},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new wt},attenuationDistance:{value:0},attenuationColor:{value:new qe(0)},specularColor:{value:new qe(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new wt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new wt},anisotropyVector:{value:new Be},anisotropyMap:{value:null},anisotropyMapTransform:{value:new wt}}]),vertexShader:Lt.meshphysical_vert,fragmentShader:Lt.meshphysical_frag};const Ed={r:0,b:0,g:0};function q4(n,e,t,i,r,s,o){const a=new qe(0);let l=s===!0?0:1,A,h,f=null,d=0,g=null;function E(C,p){let y=!1,I=p.isScene===!0?p.background:null;I&&I.isTexture&&(I=(p.backgroundBlurriness>0?t:e).get(I)),I===null?v(a,l):I&&I.isColor&&(v(I,1),y=!0);const S=n.xr.getEnvironmentBlendMode();S==="additive"?i.buffers.color.setClear(0,0,0,1,o):S==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||y)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),I&&(I.isCubeTexture||I.mapping===gu)?(h===void 0&&(h=new tn(new Ll(1,1,1),new ns({name:"BackgroundCubeMaterial",uniforms:Au(jr.backgroundCube.uniforms),vertexShader:jr.backgroundCube.vertexShader,fragmentShader:jr.backgroundCube.fragmentShader,side:Oi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(R,M,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=I,h.material.uniforms.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=p.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,h.material.toneMapped=sn.getTransfer(I.colorSpace)!==fn,(f!==I||d!==I.version||g!==n.toneMapping)&&(h.material.needsUpdate=!0,f=I,d=I.version,g=n.toneMapping),h.layers.enableAll(),C.unshift(h,h.geometry,h.material,0,0,null)):I&&I.isTexture&&(A===void 0&&(A=new tn(new ya(2,2),new ns({name:"BackgroundMaterial",uniforms:Au(jr.background.uniforms),vertexShader:jr.background.vertexShader,fragmentShader:jr.background.fragmentShader,side:Pr,depthTest:!1,depthWrite:!1,fog:!1})),A.geometry.deleteAttribute("normal"),Object.defineProperty(A.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(A)),A.material.uniforms.t2D.value=I,A.material.uniforms.backgroundIntensity.value=p.backgroundIntensity,A.material.toneMapped=sn.getTransfer(I.colorSpace)!==fn,I.matrixAutoUpdate===!0&&I.updateMatrix(),A.material.uniforms.uvTransform.value.copy(I.matrix),(f!==I||d!==I.version||g!==n.toneMapping)&&(A.material.needsUpdate=!0,f=I,d=I.version,g=n.toneMapping),A.layers.enableAll(),C.unshift(A,A.geometry,A.material,0,0,null))}function v(C,p){C.getRGB(Ed,p2(n)),i.buffers.color.setClear(Ed.r,Ed.g,Ed.b,p,o)}return{getClearColor:function(){return a},setClearColor:function(C,p=1){a.set(C),l=p,v(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(C){l=C,v(a,l)},render:E}}function j4(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=C(null);let A=l,h=!1;function f(Y,se,ne,de,k){let j=!1;if(o){const ee=v(de,ne,se);A!==ee&&(A=ee,g(A.object)),j=p(Y,de,ne,k),j&&y(Y,de,ne,k)}else{const ee=se.wireframe===!0;(A.geometry!==de.id||A.program!==ne.id||A.wireframe!==ee)&&(A.geometry=de.id,A.program=ne.id,A.wireframe=ee,j=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(j||h)&&(h=!1,U(Y,se,ne,de),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function d(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function g(Y){return i.isWebGL2?n.bindVertexArray(Y):s.bindVertexArrayOES(Y)}function E(Y){return i.isWebGL2?n.deleteVertexArray(Y):s.deleteVertexArrayOES(Y)}function v(Y,se,ne){const de=ne.wireframe===!0;let k=a[Y.id];k===void 0&&(k={},a[Y.id]=k);let j=k[se.id];j===void 0&&(j={},k[se.id]=j);let ee=j[de];return ee===void 0&&(ee=C(d()),j[de]=ee),ee}function C(Y){const se=[],ne=[],de=[];for(let k=0;k=0){const V=k[_e];let H=j[_e];if(H===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(H=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(H=Y.instanceColor)),V===void 0||V.attribute!==H||H&&V.data!==H.data)return!0;ee++}return A.attributesNum!==ee||A.index!==de}function y(Y,se,ne,de){const k={},j=se.attributes;let ee=0;const Ae=ne.getAttributes();for(const _e in Ae)if(Ae[_e].location>=0){let V=j[_e];V===void 0&&(_e==="instanceMatrix"&&Y.instanceMatrix&&(V=Y.instanceMatrix),_e==="instanceColor"&&Y.instanceColor&&(V=Y.instanceColor));const H={};H.attribute=V,V&&V.data&&(H.data=V.data),k[_e]=H,ee++}A.attributes=k,A.attributesNum=ee,A.index=de}function I(){const Y=A.newAttributes;for(let se=0,ne=Y.length;se=0){let ke=k[Ae];if(ke===void 0&&(Ae==="instanceMatrix"&&Y.instanceMatrix&&(ke=Y.instanceMatrix),Ae==="instanceColor"&&Y.instanceColor&&(ke=Y.instanceColor)),ke!==void 0){const V=ke.normalized,H=ke.itemSize,F=t.get(ke);if(F===void 0)continue;const N=F.buffer,Ee=F.type,ve=F.bytesPerElement,pe=i.isWebGL2===!0&&(Ee===n.INT||Ee===n.UNSIGNED_INT||ke.gpuType===Uy);if(ke.isInterleavedBufferAttribute){const Se=ke.data,O=Se.stride,me=ke.offset;if(Se.isInstancedInterleavedBuffer){for(let $=0;$<_e.locationSize;$++)R(_e.location+$,Se.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=Se.meshPerAttribute*Se.count)}else for(let $=0;$<_e.locationSize;$++)S(_e.location+$);n.bindBuffer(n.ARRAY_BUFFER,N);for(let $=0;$<_e.locationSize;$++)D(_e.location+$,H/_e.locationSize,Ee,V,O*ve,(me+H/_e.locationSize*$)*ve,pe)}else{if(ke.isInstancedBufferAttribute){for(let Se=0;Se<_e.locationSize;Se++)R(_e.location+Se,ke.meshPerAttribute);Y.isInstancedMesh!==!0&&de._maxInstanceCount===void 0&&(de._maxInstanceCount=ke.meshPerAttribute*ke.count)}else for(let Se=0;Se<_e.locationSize;Se++)S(_e.location+Se);n.bindBuffer(n.ARRAY_BUFFER,N);for(let Se=0;Se<_e.locationSize;Se++)D(_e.location+Se,H/_e.locationSize,Ee,V,H*ve,H/_e.locationSize*Se*ve,pe)}}else if(ee!==void 0){const V=ee[Ae];if(V!==void 0)switch(V.length){case 2:n.vertexAttrib2fv(_e.location,V);break;case 3:n.vertexAttrib3fv(_e.location,V);break;case 4:n.vertexAttrib4fv(_e.location,V);break;default:n.vertexAttrib1fv(_e.location,V)}}}}M()}function J(){q();for(const Y in a){const se=a[Y];for(const ne in se){const de=se[ne];for(const k in de)E(de[k].object),delete de[k];delete se[ne]}delete a[Y]}}function _(Y){if(a[Y.id]===void 0)return;const se=a[Y.id];for(const ne in se){const de=se[ne];for(const k in de)E(de[k].object),delete de[k];delete se[ne]}delete a[Y.id]}function b(Y){for(const se in a){const ne=a[se];if(ne[Y.id]===void 0)continue;const de=ne[Y.id];for(const k in de)E(de[k].object),delete de[k];delete ne[Y.id]}}function q(){fe(),h=!0,A!==l&&(A=l,g(A.object))}function fe(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:f,reset:q,resetDefaultState:fe,dispose:J,releaseStatesOfGeometry:_,releaseStatesOfProgram:b,initAttributes:I,enableAttribute:S,disableUnusedAttributes:M}}function Z4(n,e,t,i){const r=i.isWebGL2;let s;function o(h){s=h}function a(h,f){n.drawArrays(s,h,f),t.update(f,s,1)}function l(h,f,d){if(d===0)return;let g,E;if(r)g=n,E="drawArraysInstanced";else if(g=e.get("ANGLE_instanced_arrays"),E="drawArraysInstancedANGLE",g===null){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}g[E](s,h,f,d),t.update(f,s,d)}function A(h,f,d){if(d===0)return;const g=e.get("WEBGL_multi_draw");if(g===null)for(let E=0;E0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const A=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,f=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),d=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=n.getParameter(n.MAX_TEXTURE_SIZE),E=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),v=n.getParameter(n.MAX_VERTEX_ATTRIBS),C=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),p=n.getParameter(n.MAX_VARYING_VECTORS),y=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),I=d>0,S=o||e.has("OES_texture_float"),R=I&&S,M=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:A,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:f,maxVertexTextures:d,maxTextureSize:g,maxCubemapSize:E,maxAttributes:v,maxVertexUniforms:C,maxVaryings:p,maxFragmentUniforms:y,vertexTextures:I,floatFragmentTextures:S,floatVertexTextures:R,maxSamples:M}}function eU(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new un,a=new wt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,d){const g=f.length!==0||d||i!==0||r;return r=d,i=f.length,g},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,d){t=h(f,d,0)},this.setState=function(f,d,g){const E=f.clippingPlanes,v=f.clipIntersection,C=f.clipShadows,p=n.get(f);if(!r||E===null||E.length===0||s&&!C)s?h(null):A();else{const y=s?0:i,I=y*4;let S=p.clippingState||null;l.value=S,S=h(E,d,I,g);for(let R=0;R!==I;++R)S[R]=t[R];p.clippingState=S,this.numIntersection=v?this.numPlanes:0,this.numPlanes+=y}};function A(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(f,d,g,E){const v=f!==null?f.length:0;let C=null;if(v!==0){if(C=l.value,E!==!0||C===null){const p=g+v*4,y=d.matrixWorldInverse;a.getNormalMatrix(y),(C===null||C.length0){const A=new E2(l.height);return A.fromEquirectangularTexture(n,o),e.set(o,A),o.addEventListener("dispose",r),t(A.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 Cu extends Lh{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 A=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=A*this.view.offsetX,o=s+A*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 Yc=4,Hx=[.125,.215,.35,.446,.526,.582],rl=20,tE=new Cu,zx=new qe;let nE=null,iE=0,rE=0;const nl=(1+Math.sqrt(5))/2,mc=1/nl,Vx=[new G(1,1,1),new G(-1,1,1),new G(1,1,-1),new G(-1,1,-1),new G(0,nl,mc),new G(0,nl,-mc),new G(mc,0,nl),new G(-mc,0,nl),new G(nl,mc,0),new G(-nl,mc,0)];class yI{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){nE=this._renderer.getRenderTarget(),iE=this._renderer.getActiveCubeFace(),rE=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Jx(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Yx(),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?I:0,I,I),h.setRenderTarget(r),v&&h.render(E,a),h.render(e,a)}E.geometry.dispose(),E.material.dispose(),h.toneMapping=d,h.autoClear=f,e.background=C}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===lo||e.mapping===pa;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=Jx()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Yx());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new tn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Cd(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,tE)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rrl&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${C} samples when the maximum is set to ${rl}`);const p=[];let y=0;for(let D=0;DI-Yc?r-I+Yc:0),M=4*(this._cubeSize-S);Cd(t,R,M,3*S,2*S),l.setRenderTarget(t),l.render(f,tE)}}function nU(n){const e=[],t=[],i=[];let r=n;const s=n-Yc+1+Hx.length;for(let o=0;on-Yc?l=Hx[o-n+Yc-1]:o===0&&(l=0),i.push(l);const A=1/(a-2),h=-A,f=1+A,d=[h,h,f,h,f,f,h,h,f,f,h,f],g=6,E=6,v=3,C=2,p=1,y=new Float32Array(v*E*g),I=new Float32Array(C*E*g),S=new Float32Array(p*E*g);for(let M=0;M2?0:-1,J=[D,U,0,D+2/3,U,0,D+2/3,U+1,0,D,U,0,D+2/3,U+1,0,D,U+1,0];y.set(J,v*E*M),I.set(d,C*E*M);const _=[M,M,M,M,M,M];S.set(_,p*E*M)}const R=new Dt;R.setAttribute("position",new nn(y,v)),R.setAttribute("uv",new nn(I,C)),R.setAttribute("faceIndex",new nn(S,p)),e.push(R),r>Yc&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function Wx(n,e,t){const i=new Ur(n,e,t);return i.texture.mapping=gu,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Cd(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function iU(n,e,t){const i=new Float32Array(rl),r=new G(0,1,0);return new ns({name:"SphericalGaussianBlur",defines:{n:rl,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:$y(),fragmentShader:` precision mediump float; precision mediump int; @@ -3608,7 +3608,7 @@ void main() { } } - `,blending:io,depthTest:!1,depthWrite:!1})}function Wx(){return new ns({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:$y(),fragmentShader:` + `,blending:io,depthTest:!1,depthWrite:!1})}function Yx(){return new ns({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:$y(),fragmentShader:` precision mediump float; precision mediump int; @@ -3627,7 +3627,7 @@ void main() { gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:io,depthTest:!1,depthWrite:!1})}function Yx(){return new ns({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:$y(),fragmentShader:` + `,blending:io,depthTest:!1,depthWrite:!1})}function Jx(){return new ns({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:$y(),fragmentShader:` precision mediump float; precision mediump int; @@ -3698,16 +3698,16 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function iU(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,A=l===nh||l===ih,h=l===lo||l===pa;if(A||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let f=e.get(a);return t===null&&(t=new yI(n)),f=A?t.fromEquirectangular(a,f):t.fromCubemap(a,f),e.set(a,f),f.texture}else{if(e.has(a))return e.get(a).texture;{const f=a.image;if(A&&f&&f.height>0||h&&f&&r(f)){t===null&&(t=new yI(n));const d=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,d),a.addEventListener("dispose",s),d.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(J/e.maxTextureSize),J=e.maxTextureSize);const b=new Float32Array(J*_*4*E),q=new _g(b,J,_,E);q.type=Dr,q.needsUpdate=!0;const fe=U*4;for(let oe=0;oe0)return n;const r=e*t;let s=Jx[r];if(s===void 0&&(s=new Float32Array(r),Jx[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 jn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||h&&f&&r(f)){t===null&&(t=new yI(n));const d=A?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,d),a.addEventListener("dispose",s),d.texture}else return null}}}return a}function r(a){let l=0;const A=6;for(let h=0;he.maxTextureSize&&(_=Math.ceil(J/e.maxTextureSize),J=e.maxTextureSize);const b=new Float32Array(J*_*4*E),q=new _g(b,J,_,E);q.type=Dr,q.needsUpdate=!0;const fe=U*4;for(let se=0;se0)return n;const r=e*t;let s=Xx[r];if(s===void 0&&(s=new Float32Array(r),Xx[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 jn(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function sk(n){const e=rn.getPrimaries(rn.workingColorSpace),t=rn.getPrimaries(n);let i;switch(e===t?i="":e===Ah&&t===uh?i="LinearDisplayP3ToLinearSRGB":e===uh&&t===Ah&&(i="LinearSRGBToLinearDisplayP3"),n){case Qs:case Th:return[i,"LinearTransferOETF"];case Nn:case wg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function eS(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()+` +`)}function ok(n){const e=sn.getPrimaries(sn.workingColorSpace),t=sn.getPrimaries(n);let i;switch(e===t?i="":e===Ah&&t===uh?i="LinearDisplayP3ToLinearSRGB":e===uh&&t===Ah&&(i="LinearSRGBToLinearDisplayP3"),n){case Qs:case Th:return[i,"LinearTransferOETF"];case Nn:case wg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function tS(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+` -`+rk(n.getShaderSource(e),o)}else return r}function ok(n,e){const t=sk(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function ak(n,e){let t;switch(e){case kM:t="Linear";break;case FM:t="Reinhard";break;case OM:t="OptimizedCineon";break;case Py:t="ACESFilmic";break;case HM:t="AgX";break;case GM:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function lk(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.alphaToCoverage||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Jc).join(` -`)}function ck(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",n.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Jc).join(` -`)}function uk(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function Ak(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function vI(n){return n.replace(hk,dk)}const fk=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function dk(n,e){let t=Lt[e];if(t===void 0){const i=fk.get(e);if(i!==void 0)t=Lt[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 vI(t)}const pk=/#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 iS(n){return n.replace(pk,gk)}function gk(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function vI(n){return n.replace(fk,pk)}const dk=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function pk(n,e){let t=Lt[e];if(t===void 0){const i=dk.get(e);if(i!==void 0)t=Lt[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 vI(t)}const gk=/#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 rS(n){return n.replace(gk,mk)}function mk(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(p+=` `),y=[g,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,v].filter(Jc).join(` `),y.length>0&&(y+=` -`)):(p=[rS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,v,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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",` +`)):(p=[sS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,v,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",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&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","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(Jc).join(` -`),y=[g,rS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,v,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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+f:"",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.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==ws?"#define TONE_MAPPING":"",t.toneMapping!==ws?Lt.tonemapping_pars_fragment:"",t.toneMapping!==ws?ak("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Lt.colorspace_pars_fragment,ok("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),y=[g,sS(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,v,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 "+A:"",t.envMap?"#define "+h:"",t.envMap?"#define "+f:"",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.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==ws?"#define TONE_MAPPING":"",t.toneMapping!==ws?Lt.tonemapping_pars_fragment:"",t.toneMapping!==ws?lk("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Lt.colorspace_pars_fragment,ak("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(Jc).join(` -`)),o=vI(o),o=tS(o,t),o=nS(o,t),a=vI(a),a=tS(a,t),a=nS(a,t),o=iS(o),a=iS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(I=`#version 300 es +`)),o=vI(o),o=nS(o,t),o=iS(o,t),a=vI(a),a=nS(a,t),a=iS(a,t),o=rS(o),a=rS(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(I=`#version 300 es `,p=[E,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+p,y=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===CI?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===CI?"":"#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(` `)+` -`+y);const S=I+p+o,R=I+y+a,M=$x(r,r.VERTEX_SHADER,S),D=$x(r,r.FRAGMENT_SHADER,R);r.attachShader(C,M),r.attachShader(C,D),t.index0AttributeName!==void 0?r.bindAttribLocation(C,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(C,0,"position"),r.linkProgram(C);function U(q){if(n.debug.checkShaderErrors){const fe=r.getProgramInfoLog(C).trim(),Y=r.getShaderInfoLog(M).trim(),oe=r.getShaderInfoLog(D).trim();let ie=!0,de=!0;if(r.getProgramParameter(C,r.LINK_STATUS)===!1)if(ie=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,C,M,D);else{const k=eS(r,M,"vertex"),j=eS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(C,r.VALIDATE_STATUS)+` +`+y);const S=I+p+o,R=I+y+a,M=eS(r,r.VERTEX_SHADER,S),D=eS(r,r.FRAGMENT_SHADER,R);r.attachShader(C,M),r.attachShader(C,D),t.index0AttributeName!==void 0?r.bindAttribLocation(C,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(C,0,"position"),r.linkProgram(C);function U(q){if(n.debug.checkShaderErrors){const fe=r.getProgramInfoLog(C).trim(),Y=r.getShaderInfoLog(M).trim(),se=r.getShaderInfoLog(D).trim();let ne=!0,de=!0;if(r.getProgramParameter(C,r.LINK_STATUS)===!1)if(ne=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,C,M,D);else{const k=tS(r,M,"vertex"),j=tS(r,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(C,r.VALIDATE_STATUS)+` Material Name: `+q.name+` Material Type: `+q.type+` Program Info Log: `+fe+` `+k+` -`+j)}else fe!==""?console.warn("THREE.WebGLProgram: Program Info Log:",fe):(Y===""||oe==="")&&(de=!1);de&&(q.diagnostics={runnable:ie,programLog:fe,vertexShader:{log:Y,prefix:p},fragmentShader:{log:oe,prefix:y}})}r.deleteShader(M),r.deleteShader(D),J=new vp(r,C),_=Ak(r,C)}let J;this.getUniforms=function(){return J===void 0&&U(this),J};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let b=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return b===!1&&(b=r.getProgramParameter(C,nk)),b},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(C),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=ik++,this.cacheKey=e,this.usedTimes=1,this.program=C,this.vertexShader=M,this.fragmentShader=D,this}let Bk=0;class xk{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 Sk(e),t.set(e,i)),i}}class Sk{constructor(e){this.id=Bk++,this.code=e,this.usedTimes=0}}function wk(n,e,t,i,r,s,o){const a=new El,l=new xk,A=new Set,h=[],f=r.isWebGL2,d=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=r.precision;const v={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 C(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,b,q,fe,Y){const oe=fe.fog,ie=Y.geometry,de=_.isMeshStandardMaterial?fe.environment:null,k=(_.isMeshStandardMaterial?t:e).get(_.envMap||de),j=k&&k.mapping===gu?k.image.height:null,ee=v[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=ie.morphAttributes.position||ie.morphAttributes.normal||ie.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;ie.morphAttributes.position!==void 0&&(ke=1),ie.morphAttributes.normal!==void 0&&(ke=2),ie.morphAttributes.color!==void 0&&(ke=3);let V,H,F,N;if(ee){const Zt=jr[ee];V=Zt.vertexShader,H=Zt.fragmentShader}else V=_.vertexShader,H=_.fragmentShader,l.update(_),F=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),ve=Y.isInstancedMesh===!0,pe=Y.isBatchedMesh===!0,Se=!!_.map,O=!!_.matcap,me=!!k,$=!!_.aoMap,ce=!!_.lightMap,se=!!_.bumpMap,De=!!_.normalMap,K=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,te=!!_.roughnessMap,Le=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,je=Le&&!!_.anisotropyMap,at=Te&&!!_.clearcoatMap,mt=Te&&!!_.clearcoatNormalMap,be=Te&&!!_.clearcoatRoughnessMap,Tt=Re&&!!_.iridescenceMap,St=Re&&!!_.iridescenceThicknessMap,gt=Je&&!!_.sheenColorMap,ot=Je&&!!_.sheenRoughnessMap,et=!!_.specularMap,yt=!!_.specularColorMap,Ot=!!_.specularIntensityMap,kt=Ve&&!!_.transmissionMap,Mt=Ve&&!!_.thicknessMap,Pt=!!_.gradientMap,X=!!_.alphaMap,He=_.alphaTest>0,ze=!!_.alphaHash,it=!!_.extensions;let dt=ws;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(dt=n.toneMapping);const Wt={isWebGL2:f,shaderID:ee,shaderType:_.type,shaderName:_.name,vertexShader:V,fragmentShader:H,defines:_.defines,customVertexShaderID:F,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:ve,instancingColor:ve&&Y.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Qs,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:O,envMap:me,envMapMode:me&&k.mapping,envMapCubeUVHeight:j,aoMap:$,lightMap:ce,bumpMap:se,normalMap:De,displacementMap:g&&K,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===n2,normalMapTangentSpace:De&&_.normalMapType===Ia,metalnessMap:T,roughnessMap:te,anisotropy:Le,anisotropyMap:je,clearcoat:Te,clearcoatMap:at,clearcoatNormalMap:mt,clearcoatRoughnessMap:be,iridescence:Re,iridescenceMap:Tt,iridescenceThicknessMap:St,sheen:Je,sheenColorMap:gt,sheenRoughnessMap:ot,specularMap:et,specularColorMap:yt,specularIntensityMap:Ot,transmission:Ve,transmissionMap:kt,thicknessMap:Mt,gradientMap:Pt,opaque:_.transparent===!1&&_.blending===pl&&_.alphaToCoverage===!1,alphaMap:X,alphaTest:He,alphaHash:ze,combine:_.combine,mapUv:Se&&C(_.map.channel),aoMapUv:$&&C(_.aoMap.channel),lightMapUv:ce&&C(_.lightMap.channel),bumpMapUv:se&&C(_.bumpMap.channel),normalMapUv:De&&C(_.normalMap.channel),displacementMapUv:K&&C(_.displacementMap.channel),emissiveMapUv:w&&C(_.emissiveMap.channel),metalnessMapUv:T&&C(_.metalnessMap.channel),roughnessMapUv:te&&C(_.roughnessMap.channel),anisotropyMapUv:je&&C(_.anisotropyMap.channel),clearcoatMapUv:at&&C(_.clearcoatMap.channel),clearcoatNormalMapUv:mt&&C(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:be&&C(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Tt&&C(_.iridescenceMap.channel),iridescenceThicknessMapUv:St&&C(_.iridescenceThicknessMap.channel),sheenColorMapUv:gt&&C(_.sheenColorMap.channel),sheenRoughnessMapUv:ot&&C(_.sheenRoughnessMap.channel),specularMapUv:et&&C(_.specularMap.channel),specularColorMapUv:yt&&C(_.specularColorMap.channel),specularIntensityMapUv:Ot&&C(_.specularIntensityMap.channel),transmissionMapUv:kt&&C(_.transmissionMap.channel),thicknessMapUv:Mt&&C(_.thicknessMap.channel),alphaMapUv:X&&C(_.alphaMap.channel),vertexTangents:!!ie.attributes.tangent&&(De||Le),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!ie.attributes.color&&ie.attributes.color.itemSize===4,pointsUvs:Y.isPoints===!0&&!!ie.attributes.uv&&(Se||X),fog:!!oe,useFog:_.fog===!0,fogExp2:!!oe&&oe.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:Y.isSkinnedMesh===!0,morphTargets:ie.morphAttributes.position!==void 0,morphNormals:ie.morphAttributes.normal!==void 0,morphColors:ie.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:b.directional.length,numPointLights:b.point.length,numSpotLights:b.spot.length,numSpotLightMaps:b.spotLightMap.length,numRectAreaLights:b.rectArea.length,numHemiLights:b.hemi.length,numDirLightShadows:b.directionalShadowMap.length,numPointLightShadows:b.pointShadowMap.length,numSpotLightShadows:b.spotShadowMap.length,numSpotLightShadowsWithMaps:b.numSpotLightShadowsWithMaps,numLightProbes:b.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&q.length>0,shadowMapType:n.shadowMap.type,toneMapping:dt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&rn.getTransfer(_.map.colorSpace)===fn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===ys,flipSided:_.side===Oi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:it&&_.extensions.derivatives===!0,extensionFragDepth:it&&_.extensions.fragDepth===!0,extensionDrawBuffers:it&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:it&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:it&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:it&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:f||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:f||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:f||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Wt.vertexUv1s=A.has(1),Wt.vertexUv2s=A.has(2),Wt.vertexUv3s=A.has(3),A.clear(),Wt}function y(_){const b=[];if(_.shaderID?b.push(_.shaderID):(b.push(_.customVertexShaderID),b.push(_.customFragmentShaderID)),_.defines!==void 0)for(const q in _.defines)b.push(q),b.push(_.defines[q]);return _.isRawShaderMaterial===!1&&(I(b,_),S(b,_),b.push(n.outputColorSpace)),b.push(_.customProgramCacheKey),b.join()}function I(_,b){_.push(b.precision),_.push(b.outputColorSpace),_.push(b.envMapMode),_.push(b.envMapCubeUVHeight),_.push(b.mapUv),_.push(b.alphaMapUv),_.push(b.lightMapUv),_.push(b.aoMapUv),_.push(b.bumpMapUv),_.push(b.normalMapUv),_.push(b.displacementMapUv),_.push(b.emissiveMapUv),_.push(b.metalnessMapUv),_.push(b.roughnessMapUv),_.push(b.anisotropyMapUv),_.push(b.clearcoatMapUv),_.push(b.clearcoatNormalMapUv),_.push(b.clearcoatRoughnessMapUv),_.push(b.iridescenceMapUv),_.push(b.iridescenceThicknessMapUv),_.push(b.sheenColorMapUv),_.push(b.sheenRoughnessMapUv),_.push(b.specularMapUv),_.push(b.specularColorMapUv),_.push(b.specularIntensityMapUv),_.push(b.transmissionMapUv),_.push(b.thicknessMapUv),_.push(b.combine),_.push(b.fogExp2),_.push(b.sizeAttenuation),_.push(b.morphTargetsCount),_.push(b.morphAttributeCount),_.push(b.numDirLights),_.push(b.numPointLights),_.push(b.numSpotLights),_.push(b.numSpotLightMaps),_.push(b.numHemiLights),_.push(b.numRectAreaLights),_.push(b.numDirLightShadows),_.push(b.numPointLightShadows),_.push(b.numSpotLightShadows),_.push(b.numSpotLightShadowsWithMaps),_.push(b.numLightProbes),_.push(b.shadowMapType),_.push(b.toneMapping),_.push(b.numClippingPlanes),_.push(b.numClipIntersection),_.push(b.depthPacking)}function S(_,b){a.disableAll(),b.isWebGL2&&a.enable(0),b.supportsVertexTextures&&a.enable(1),b.instancing&&a.enable(2),b.instancingColor&&a.enable(3),b.matcap&&a.enable(4),b.envMap&&a.enable(5),b.normalMapObjectSpace&&a.enable(6),b.normalMapTangentSpace&&a.enable(7),b.clearcoat&&a.enable(8),b.iridescence&&a.enable(9),b.alphaTest&&a.enable(10),b.vertexColors&&a.enable(11),b.vertexAlphas&&a.enable(12),b.vertexUv1s&&a.enable(13),b.vertexUv2s&&a.enable(14),b.vertexUv3s&&a.enable(15),b.vertexTangents&&a.enable(16),b.anisotropy&&a.enable(17),b.alphaHash&&a.enable(18),b.batching&&a.enable(19),_.push(a.mask),a.disableAll(),b.fog&&a.enable(0),b.useFog&&a.enable(1),b.flatShading&&a.enable(2),b.logarithmicDepthBuffer&&a.enable(3),b.skinning&&a.enable(4),b.morphTargets&&a.enable(5),b.morphNormals&&a.enable(6),b.morphColors&&a.enable(7),b.premultipliedAlpha&&a.enable(8),b.shadowMapEnabled&&a.enable(9),b.useLegacyLights&&a.enable(10),b.doubleSided&&a.enable(11),b.flipSided&&a.enable(12),b.useDepthPacking&&a.enable(13),b.dithering&&a.enable(14),b.transmission&&a.enable(15),b.sheen&&a.enable(16),b.opaque&&a.enable(17),b.pointsUvs&&a.enable(18),b.decodeVideoTexture&&a.enable(19),b.alphaToCoverage&&a.enable(20),_.push(a.mask)}function R(_){const b=v[_.type];let q;if(b){const fe=jr[b];q=p2.clone(fe.uniforms)}else q=_.uniforms;return q}function M(_,b){let q;for(let fe=0,Y=h.length;fe0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(f,d,g,E,v,C){const p=o(f,d,g,E,v,C);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(f,d){t.length>1&&t.sort(f||Qk),i.length>1&&i.sort(d||sS),r.length>1&&r.sort(d||sS)}function h(){for(let f=e,d=n.length;f=s.length?(o=new oS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function Rk(){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 G,color:new qe};break;case"SpotLight":t={position:new G,direction:new G,color:new qe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new G,color:new qe,distance:0,decay:0};break;case"HemisphereLight":t={direction:new G,skyColor:new qe,groundColor:new qe};break;case"RectAreaLight":t={color:new qe,position:new G,halfWidth:new G,halfHeight:new G};break}return n[e.id]=t,t}}}function Dk(){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 Be};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Be};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Be,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Tk=0;function Lk(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function bk(n,e){const t=new Rk,i=Dk(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new G);const s=new G,o=new ft,a=new ft;function l(h,f){let d=0,g=0,E=0;for(let q=0;q<9;q++)r.probe[q].set(0,0,0);let v=0,C=0,p=0,y=0,I=0,S=0,R=0,M=0,D=0,U=0,J=0;h.sort(Lk);const _=f===!0?Math.PI:1;for(let q=0,fe=h.length;q0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=d,r.ambient[1]=g,r.ambient[2]=E;const b=r.hash;(b.directionalLength!==v||b.pointLength!==C||b.spotLength!==p||b.rectAreaLength!==y||b.hemiLength!==I||b.numDirectionalShadows!==S||b.numPointShadows!==R||b.numSpotShadows!==M||b.numSpotMaps!==D||b.numLightProbes!==J)&&(r.directional.length=v,r.spot.length=p,r.rectArea.length=y,r.point.length=C,r.hemi.length=I,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=R,r.pointShadowMap.length=R,r.spotShadow.length=M,r.spotShadowMap.length=M,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=R,r.spotLightMatrix.length=M+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=J,b.directionalLength=v,b.pointLength=C,b.spotLength=p,b.rectAreaLength=y,b.hemiLength=I,b.numDirectionalShadows=S,b.numPointShadows=R,b.numSpotShadows=M,b.numSpotMaps=D,b.numLightProbes=J,r.version=Tk++)}function A(h,f){let d=0,g=0,E=0,v=0,C=0;const p=f.matrixWorldInverse;for(let y=0,I=h.length;y=a.length?(l=new aS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Mg extends ci{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=t2,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 Rg extends ci{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 Pk=`void main() { +`+j)}else fe!==""?console.warn("THREE.WebGLProgram: Program Info Log:",fe):(Y===""||se==="")&&(de=!1);de&&(q.diagnostics={runnable:ne,programLog:fe,vertexShader:{log:Y,prefix:p},fragmentShader:{log:se,prefix:y}})}r.deleteShader(M),r.deleteShader(D),J=new vp(r,C),_=hk(r,C)}let J;this.getUniforms=function(){return J===void 0&&U(this),J};let _;this.getAttributes=function(){return _===void 0&&U(this),_};let b=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return b===!1&&(b=r.getProgramParameter(C,ik)),b},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(C),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=rk++,this.cacheKey=e,this.usedTimes=1,this.program=C,this.vertexShader=M,this.fragmentShader=D,this}let xk=0;class Sk{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 wk(e),t.set(e,i)),i}}class wk{constructor(e){this.id=xk++,this.code=e,this.usedTimes=0}}function _k(n,e,t,i,r,s,o){const a=new El,l=new Sk,A=new Set,h=[],f=r.isWebGL2,d=r.logarithmicDepthBuffer,g=r.vertexTextures;let E=r.precision;const v={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 C(_){return A.add(_),_===0?"uv":`uv${_}`}function p(_,b,q,fe,Y){const se=fe.fog,ne=Y.geometry,de=_.isMeshStandardMaterial?fe.environment:null,k=(_.isMeshStandardMaterial?t:e).get(_.envMap||de),j=k&&k.mapping===gu?k.image.height:null,ee=v[_.type];_.precision!==null&&(E=r.getMaxPrecision(_.precision),E!==_.precision&&console.warn("THREE.WebGLProgram.getParameters:",_.precision,"not supported, using",E,"instead."));const Ae=ne.morphAttributes.position||ne.morphAttributes.normal||ne.morphAttributes.color,_e=Ae!==void 0?Ae.length:0;let ke=0;ne.morphAttributes.position!==void 0&&(ke=1),ne.morphAttributes.normal!==void 0&&(ke=2),ne.morphAttributes.color!==void 0&&(ke=3);let V,H,F,N;if(ee){const Zt=jr[ee];V=Zt.vertexShader,H=Zt.fragmentShader}else V=_.vertexShader,H=_.fragmentShader,l.update(_),F=l.getVertexShaderID(_),N=l.getFragmentShaderID(_);const Ee=n.getRenderTarget(),ve=Y.isInstancedMesh===!0,pe=Y.isBatchedMesh===!0,Se=!!_.map,O=!!_.matcap,me=!!k,$=!!_.aoMap,ue=!!_.lightMap,oe=!!_.bumpMap,De=!!_.normalMap,K=!!_.displacementMap,w=!!_.emissiveMap,T=!!_.metalnessMap,te=!!_.roughnessMap,Le=_.anisotropy>0,Te=_.clearcoat>0,Re=_.iridescence>0,Je=_.sheen>0,Ve=_.transmission>0,je=Le&&!!_.anisotropyMap,lt=Te&&!!_.clearcoatMap,mt=Te&&!!_.clearcoatNormalMap,be=Te&&!!_.clearcoatRoughnessMap,Tt=Re&&!!_.iridescenceMap,St=Re&&!!_.iridescenceThicknessMap,gt=Je&&!!_.sheenColorMap,at=Je&&!!_.sheenRoughnessMap,tt=!!_.specularMap,yt=!!_.specularColorMap,Ot=!!_.specularIntensityMap,Ft=Ve&&!!_.transmissionMap,Mt=Ve&&!!_.thicknessMap,Ut=!!_.gradientMap,X=!!_.alphaMap,He=_.alphaTest>0,ze=!!_.alphaHash,rt=!!_.extensions;let dt=ws;_.toneMapped&&(Ee===null||Ee.isXRRenderTarget===!0)&&(dt=n.toneMapping);const Wt={isWebGL2:f,shaderID:ee,shaderType:_.type,shaderName:_.name,vertexShader:V,fragmentShader:H,defines:_.defines,customVertexShaderID:F,customFragmentShaderID:N,isRawShaderMaterial:_.isRawShaderMaterial===!0,glslVersion:_.glslVersion,precision:E,batching:pe,instancing:ve,instancingColor:ve&&Y.instanceColor!==null,supportsVertexTextures:g,outputColorSpace:Ee===null?n.outputColorSpace:Ee.isXRRenderTarget===!0?Ee.texture.colorSpace:Qs,alphaToCoverage:!!_.alphaToCoverage,map:Se,matcap:O,envMap:me,envMapMode:me&&k.mapping,envMapCubeUVHeight:j,aoMap:$,lightMap:ue,bumpMap:oe,normalMap:De,displacementMap:g&&K,emissiveMap:w,normalMapObjectSpace:De&&_.normalMapType===i2,normalMapTangentSpace:De&&_.normalMapType===Ia,metalnessMap:T,roughnessMap:te,anisotropy:Le,anisotropyMap:je,clearcoat:Te,clearcoatMap:lt,clearcoatNormalMap:mt,clearcoatRoughnessMap:be,iridescence:Re,iridescenceMap:Tt,iridescenceThicknessMap:St,sheen:Je,sheenColorMap:gt,sheenRoughnessMap:at,specularMap:tt,specularColorMap:yt,specularIntensityMap:Ot,transmission:Ve,transmissionMap:Ft,thicknessMap:Mt,gradientMap:Ut,opaque:_.transparent===!1&&_.blending===pl&&_.alphaToCoverage===!1,alphaMap:X,alphaTest:He,alphaHash:ze,combine:_.combine,mapUv:Se&&C(_.map.channel),aoMapUv:$&&C(_.aoMap.channel),lightMapUv:ue&&C(_.lightMap.channel),bumpMapUv:oe&&C(_.bumpMap.channel),normalMapUv:De&&C(_.normalMap.channel),displacementMapUv:K&&C(_.displacementMap.channel),emissiveMapUv:w&&C(_.emissiveMap.channel),metalnessMapUv:T&&C(_.metalnessMap.channel),roughnessMapUv:te&&C(_.roughnessMap.channel),anisotropyMapUv:je&&C(_.anisotropyMap.channel),clearcoatMapUv:lt&&C(_.clearcoatMap.channel),clearcoatNormalMapUv:mt&&C(_.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:be&&C(_.clearcoatRoughnessMap.channel),iridescenceMapUv:Tt&&C(_.iridescenceMap.channel),iridescenceThicknessMapUv:St&&C(_.iridescenceThicknessMap.channel),sheenColorMapUv:gt&&C(_.sheenColorMap.channel),sheenRoughnessMapUv:at&&C(_.sheenRoughnessMap.channel),specularMapUv:tt&&C(_.specularMap.channel),specularColorMapUv:yt&&C(_.specularColorMap.channel),specularIntensityMapUv:Ot&&C(_.specularIntensityMap.channel),transmissionMapUv:Ft&&C(_.transmissionMap.channel),thicknessMapUv:Mt&&C(_.thicknessMap.channel),alphaMapUv:X&&C(_.alphaMap.channel),vertexTangents:!!ne.attributes.tangent&&(De||Le),vertexColors:_.vertexColors,vertexAlphas:_.vertexColors===!0&&!!ne.attributes.color&&ne.attributes.color.itemSize===4,pointsUvs:Y.isPoints===!0&&!!ne.attributes.uv&&(Se||X),fog:!!se,useFog:_.fog===!0,fogExp2:!!se&&se.isFogExp2,flatShading:_.flatShading===!0,sizeAttenuation:_.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:Y.isSkinnedMesh===!0,morphTargets:ne.morphAttributes.position!==void 0,morphNormals:ne.morphAttributes.normal!==void 0,morphColors:ne.morphAttributes.color!==void 0,morphTargetsCount:_e,morphTextureStride:ke,numDirLights:b.directional.length,numPointLights:b.point.length,numSpotLights:b.spot.length,numSpotLightMaps:b.spotLightMap.length,numRectAreaLights:b.rectArea.length,numHemiLights:b.hemi.length,numDirLightShadows:b.directionalShadowMap.length,numPointLightShadows:b.pointShadowMap.length,numSpotLightShadows:b.spotShadowMap.length,numSpotLightShadowsWithMaps:b.numSpotLightShadowsWithMaps,numLightProbes:b.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:_.dithering,shadowMapEnabled:n.shadowMap.enabled&&q.length>0,shadowMapType:n.shadowMap.type,toneMapping:dt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Se&&_.map.isVideoTexture===!0&&sn.getTransfer(_.map.colorSpace)===fn,premultipliedAlpha:_.premultipliedAlpha,doubleSided:_.side===ys,flipSided:_.side===Oi,useDepthPacking:_.depthPacking>=0,depthPacking:_.depthPacking||0,index0AttributeName:_.index0AttributeName,extensionDerivatives:rt&&_.extensions.derivatives===!0,extensionFragDepth:rt&&_.extensions.fragDepth===!0,extensionDrawBuffers:rt&&_.extensions.drawBuffers===!0,extensionShaderTextureLOD:rt&&_.extensions.shaderTextureLOD===!0,extensionClipCullDistance:rt&&_.extensions.clipCullDistance===!0&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:rt&&_.extensions.multiDraw===!0&&i.has("WEBGL_multi_draw"),rendererExtensionFragDepth:f||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:f||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:f||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:_.customProgramCacheKey()};return Wt.vertexUv1s=A.has(1),Wt.vertexUv2s=A.has(2),Wt.vertexUv3s=A.has(3),A.clear(),Wt}function y(_){const b=[];if(_.shaderID?b.push(_.shaderID):(b.push(_.customVertexShaderID),b.push(_.customFragmentShaderID)),_.defines!==void 0)for(const q in _.defines)b.push(q),b.push(_.defines[q]);return _.isRawShaderMaterial===!1&&(I(b,_),S(b,_),b.push(n.outputColorSpace)),b.push(_.customProgramCacheKey),b.join()}function I(_,b){_.push(b.precision),_.push(b.outputColorSpace),_.push(b.envMapMode),_.push(b.envMapCubeUVHeight),_.push(b.mapUv),_.push(b.alphaMapUv),_.push(b.lightMapUv),_.push(b.aoMapUv),_.push(b.bumpMapUv),_.push(b.normalMapUv),_.push(b.displacementMapUv),_.push(b.emissiveMapUv),_.push(b.metalnessMapUv),_.push(b.roughnessMapUv),_.push(b.anisotropyMapUv),_.push(b.clearcoatMapUv),_.push(b.clearcoatNormalMapUv),_.push(b.clearcoatRoughnessMapUv),_.push(b.iridescenceMapUv),_.push(b.iridescenceThicknessMapUv),_.push(b.sheenColorMapUv),_.push(b.sheenRoughnessMapUv),_.push(b.specularMapUv),_.push(b.specularColorMapUv),_.push(b.specularIntensityMapUv),_.push(b.transmissionMapUv),_.push(b.thicknessMapUv),_.push(b.combine),_.push(b.fogExp2),_.push(b.sizeAttenuation),_.push(b.morphTargetsCount),_.push(b.morphAttributeCount),_.push(b.numDirLights),_.push(b.numPointLights),_.push(b.numSpotLights),_.push(b.numSpotLightMaps),_.push(b.numHemiLights),_.push(b.numRectAreaLights),_.push(b.numDirLightShadows),_.push(b.numPointLightShadows),_.push(b.numSpotLightShadows),_.push(b.numSpotLightShadowsWithMaps),_.push(b.numLightProbes),_.push(b.shadowMapType),_.push(b.toneMapping),_.push(b.numClippingPlanes),_.push(b.numClipIntersection),_.push(b.depthPacking)}function S(_,b){a.disableAll(),b.isWebGL2&&a.enable(0),b.supportsVertexTextures&&a.enable(1),b.instancing&&a.enable(2),b.instancingColor&&a.enable(3),b.matcap&&a.enable(4),b.envMap&&a.enable(5),b.normalMapObjectSpace&&a.enable(6),b.normalMapTangentSpace&&a.enable(7),b.clearcoat&&a.enable(8),b.iridescence&&a.enable(9),b.alphaTest&&a.enable(10),b.vertexColors&&a.enable(11),b.vertexAlphas&&a.enable(12),b.vertexUv1s&&a.enable(13),b.vertexUv2s&&a.enable(14),b.vertexUv3s&&a.enable(15),b.vertexTangents&&a.enable(16),b.anisotropy&&a.enable(17),b.alphaHash&&a.enable(18),b.batching&&a.enable(19),_.push(a.mask),a.disableAll(),b.fog&&a.enable(0),b.useFog&&a.enable(1),b.flatShading&&a.enable(2),b.logarithmicDepthBuffer&&a.enable(3),b.skinning&&a.enable(4),b.morphTargets&&a.enable(5),b.morphNormals&&a.enable(6),b.morphColors&&a.enable(7),b.premultipliedAlpha&&a.enable(8),b.shadowMapEnabled&&a.enable(9),b.useLegacyLights&&a.enable(10),b.doubleSided&&a.enable(11),b.flipSided&&a.enable(12),b.useDepthPacking&&a.enable(13),b.dithering&&a.enable(14),b.transmission&&a.enable(15),b.sheen&&a.enable(16),b.opaque&&a.enable(17),b.pointsUvs&&a.enable(18),b.decodeVideoTexture&&a.enable(19),b.alphaToCoverage&&a.enable(20),_.push(a.mask)}function R(_){const b=v[_.type];let q;if(b){const fe=jr[b];q=g2.clone(fe.uniforms)}else q=_.uniforms;return q}function M(_,b){let q;for(let fe=0,Y=h.length;fe0?i.push(p):g.transparent===!0?r.push(p):t.push(p)}function l(f,d,g,E,v,C){const p=o(f,d,g,E,v,C);g.transmission>0?i.unshift(p):g.transparent===!0?r.unshift(p):t.unshift(p)}function A(f,d){t.length>1&&t.sort(f||Mk),i.length>1&&i.sort(d||oS),r.length>1&&r.sort(d||oS)}function h(){for(let f=e,d=n.length;f=s.length?(o=new aS,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function Dk(){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 G,color:new qe};break;case"SpotLight":t={position:new G,direction:new G,color:new qe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new G,color:new qe,distance:0,decay:0};break;case"HemisphereLight":t={direction:new G,skyColor:new qe,groundColor:new qe};break;case"RectAreaLight":t={color:new qe,position:new G,halfWidth:new G,halfHeight:new G};break}return n[e.id]=t,t}}}function Tk(){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 Be};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Be};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Be,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let Lk=0;function bk(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function Nk(n,e){const t=new Dk,i=Tk(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new G);const s=new G,o=new ft,a=new ft;function l(h,f){let d=0,g=0,E=0;for(let q=0;q<9;q++)r.probe[q].set(0,0,0);let v=0,C=0,p=0,y=0,I=0,S=0,R=0,M=0,D=0,U=0,J=0;h.sort(bk);const _=f===!0?Math.PI:1;for(let q=0,fe=h.length;q0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_FLOAT_1,r.rectAreaLTC2=Ye.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=Ye.LTC_HALF_1,r.rectAreaLTC2=Ye.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=d,r.ambient[1]=g,r.ambient[2]=E;const b=r.hash;(b.directionalLength!==v||b.pointLength!==C||b.spotLength!==p||b.rectAreaLength!==y||b.hemiLength!==I||b.numDirectionalShadows!==S||b.numPointShadows!==R||b.numSpotShadows!==M||b.numSpotMaps!==D||b.numLightProbes!==J)&&(r.directional.length=v,r.spot.length=p,r.rectArea.length=y,r.point.length=C,r.hemi.length=I,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=R,r.pointShadowMap.length=R,r.spotShadow.length=M,r.spotShadowMap.length=M,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=R,r.spotLightMatrix.length=M+D-U,r.spotLightMap.length=D,r.numSpotLightShadowsWithMaps=U,r.numLightProbes=J,b.directionalLength=v,b.pointLength=C,b.spotLength=p,b.rectAreaLength=y,b.hemiLength=I,b.numDirectionalShadows=S,b.numPointShadows=R,b.numSpotShadows=M,b.numSpotMaps=D,b.numLightProbes=J,r.version=Lk++)}function A(h,f){let d=0,g=0,E=0,v=0,C=0;const p=f.matrixWorldInverse;for(let y=0,I=h.length;y=a.length?(l=new lS(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class Mg extends ti{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=n2,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 Rg extends ti{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 Uk=`void main() { gl_Position = vec4( position, 1.0 ); -}`,Uk=`uniform sampler2D shadow_pass; +}`,kk=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3776,12 +3776,12 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function kk(n,e,t){let i=new Nh;const r=new Be,s=new Be,o=new sn,a=new Mg({depthPacking:Yy}),l=new Rg,A={},h=t.maxTextureSize,f={[Pr]:Oi,[Oi]:Pr,[ys]:ys},d=new ns({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Be},radius:{value:4}},vertexShader:Pk,fragmentShader:Uk}),g=d.clone();g.defines.HORIZONTAL_PASS=1;const E=new Dt;E.setAttribute("position",new tn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new on(E,d),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=vg;let p=this.type;this.render=function(M,D,U){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||M.length===0)return;const J=n.getRenderTarget(),_=n.getActiveCubeFace(),b=n.getActiveMipmapLevel(),q=n.state;q.setBlending(io),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);const fe=p!==Xr&&this.type===Xr,Y=p===Xr&&this.type!==Xr;for(let oe=0,ie=M.length;oeh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/j.x),r.x=s.x*j.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/j.y),r.y=s.y*j.y,k.mapSize.y=s.y)),k.map===null||fe===!0||Y===!0){const Ae=this.type!==Xr?{minFilter:Fn,magFilter:Fn}:{};k.map!==null&&k.map.dispose(),k.map=new Ur(r.x,r.y,Ae),k.map.texture.name=de.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const ee=k.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const q=_.uuid,fe=D.uuid;let Y=A[q];Y===void 0&&(Y={},A[q]=Y);let oe=Y[fe];oe===void 0&&(oe=_.clone(),Y[fe]=oe,D.addEventListener("dispose",R)),_=oe}if(_.visible=D.visible,_.wireframe=D.wireframe,J===Xr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:f[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const q=n.properties.get(_);q.light=U}return _}function S(M,D,U,J,_){if(M.visible===!1)return;if(M.layers.test(D.layers)&&(M.isMesh||M.isLine||M.isPoints)&&(M.castShadow||M.receiveShadow&&_===Xr)&&(!M.frustumCulled||i.intersectsObject(M))){M.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,M.matrixWorld);const fe=e.update(M),Y=M.material;if(Array.isArray(Y)){const oe=fe.groups;for(let ie=0,de=oe.length;ie=1):ee.indexOf("OpenGL ES")!==-1&&(j=parseFloat(/^OpenGL ES (\d)/.exec(ee)[1]),k=j>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),V=n.getParameter(n.VIEWPORT),H=new sn().fromArray(ke),F=new sn().fromArray(V);function N(X,He,ze,it){const dt=new Uint8Array(4),Wt=n.createTexture();n.bindTexture(X,Wt),n.texParameteri(X,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(X,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Zt=0;Zt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let f;const d=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):dh("canvas")}function v(w,T,te,Le){let Te=1;if((w.width>Le||w.height>Le)&&(Te=Le/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?eg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);f===void 0&&(f=E(Je,Ve));const je=te?E(Je,Ve):f;return je.width=Je,je.height=Ve,je.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),je}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function C(w){return II(w.width)&&II(w.height)}function p(w){return a?!1:w.wrapS!==Qi||w.wrapT!==Qi||w.minFilter!==Fn&&w.minFilter!==In}function y(w,T){return w.generateMipmaps&&T&&w.minFilter!==Fn&&w.minFilter!==In}function I(w){n.generateMipmap(w)}function S(w,T,te,Le,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(te===n.FLOAT&&(Re=n.R32F),te===n.HALF_FLOAT&&(Re=n.R16F),te===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(te===n.UNSIGNED_BYTE&&(Re=n.R8UI),te===n.UNSIGNED_SHORT&&(Re=n.R16UI),te===n.UNSIGNED_INT&&(Re=n.R32UI),te===n.BYTE&&(Re=n.R8I),te===n.SHORT&&(Re=n.R16I),te===n.INT&&(Re=n.R32I)),T===n.RG&&(te===n.FLOAT&&(Re=n.RG32F),te===n.HALF_FLOAT&&(Re=n.RG16F),te===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?ch:rn.getTransfer(Le);te===n.FLOAT&&(Re=n.RGBA32F),te===n.HALF_FLOAT&&(Re=n.RGBA16F),te===n.UNSIGNED_BYTE&&(Re=Je===fn?n.SRGB8_ALPHA8:n.RGBA8),te===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),te===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function R(w,T,te){return y(w,te)===!0||w.isFramebufferTexture&&w.minFilter!==Fn&&w.minFilter!==In?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function M(w){return w===Fn||w===Zp||w===il?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),J(T),T.isVideoTexture&&h.delete(T)}function U(w){const T=w.target;T.removeEventListener("dispose",U),b(T)}function J(w){const T=i.get(w);if(T.__webglInit===void 0)return;const te=w.source,Le=d.get(te);if(Le){const Te=Le[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(Le).length===0&&d.delete(te)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const te=w.source,Le=d.get(te);delete Le[T.__cacheKey],o.memory.textures--}function b(w){const T=w.texture,te=i.get(w),Le=i.get(T);if(Le.__webglTexture!==void 0&&(n.deleteTexture(Le.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(te.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),q+=1,w}function oe(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function ie(w,T){const te=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&te.__version!==w.version){const Le=w.image;if(Le===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Le.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{H(te,w,T);return}}t.bindTexture(n.TEXTURE_2D,te.__webglTexture,n.TEXTURE0+T)}function de(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){H(te,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,te.__webglTexture,n.TEXTURE0+T)}function k(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){H(te,w,T);return}t.bindTexture(n.TEXTURE_3D,te.__webglTexture,n.TEXTURE0+T)}function j(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){F(te,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,te.__webglTexture,n.TEXTURE0+T)}const ee={[rh]:n.REPEAT,[Qi]:n.CLAMP_TO_EDGE,[sh]:n.MIRRORED_REPEAT},Ae={[Fn]:n.NEAREST,[Zp]:n.NEAREST_MIPMAP_NEAREST,[il]:n.NEAREST_MIPMAP_LINEAR,[In]:n.LINEAR,[LA]:n.LINEAR_MIPMAP_NEAREST,[vs]:n.LINEAR_MIPMAP_LINEAR},_e={[i2]:n.NEVER,[c2]:n.ALWAYS,[r2]:n.LESS,[Jy]:n.LEQUAL,[s2]:n.EQUAL,[l2]:n.GEQUAL,[o2]:n.GREATER,[a2]:n.NOTEQUAL};function ke(w,T,te){if(T.type===Dr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===In||T.magFilter===LA||T.magFilter===il||T.magFilter===vs||T.minFilter===In||T.minFilter===LA||T.minFilter===il||T.minFilter===vs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),te?(n.texParameteri(w,n.TEXTURE_WRAP_S,ee[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ee[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ee[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Qi||T.wrapT!==Qi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,M(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,M(T.minFilter)),T.minFilter!==Fn&&T.minFilter!==In&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Le=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===Fn||T.minFilter!==il&&T.minFilter!==vs||T.type===Dr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===_l&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,Le.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function V(w,T){let te=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const Le=T.source;let Te=d.get(Le);Te===void 0&&(Te={},d.set(Le,Te));const Re=oe(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,te=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return te}function H(w,T,te){let Le=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(Le=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(Le=n.TEXTURE_3D);const Te=V(w,T),Re=T.source;t.bindTexture(Le,w.__webglTexture,n.TEXTURE0+te);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+te);const Ve=rn.getPrimaries(rn.workingColorSpace),je=T.colorSpace===cr?null:rn.getPrimaries(T.colorSpace),at=T.colorSpace===cr||Ve===je?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,at);const mt=p(T)&&C(T.image)===!1;let be=v(T.image,mt,!1,r.maxTextureSize);be=K(T,be);const Tt=C(be)||a,St=s.convert(T.format,T.colorSpace);let gt=s.convert(T.type),ot=S(T.internalFormat,St,gt,T.colorSpace,T.isVideoTexture);ke(Le,T,Tt);let et;const yt=T.mipmaps,Ot=a&&T.isVideoTexture!==!0&&ot!==zy,kt=Je.__version===void 0||Te===!0,Mt=Re.dataReady,Pt=R(T,be,Tt);if(T.isDepthTexture)ot=n.DEPTH_COMPONENT,a?T.type===Dr?ot=n.DEPTH_COMPONENT32F:T.type===$s?ot=n.DEPTH_COMPONENT24:T.type===aa?ot=n.DEPTH24_STENCIL8:ot=n.DEPTH_COMPONENT16:T.type===Dr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===la&&ot===n.DEPTH_COMPONENT&&T.type!==xg&&T.type!==$s&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=$s,gt=s.convert(T.type)),T.format===Ql&&ot===n.DEPTH_COMPONENT&&(ot=n.DEPTH_STENCIL,T.type!==aa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=aa,gt=s.convert(T.type))),kt&&(Ot?t.texStorage2D(n.TEXTURE_2D,1,ot,be.width,be.height):t.texImage2D(n.TEXTURE_2D,0,ot,be.width,be.height,0,St,gt,null));else if(T.isDataTexture)if(yt.length>0&&Tt){Ot&&kt&&t.texStorage2D(n.TEXTURE_2D,Pt,ot,yt[0].width,yt[0].height);for(let X=0,He=yt.length;X>=1,He>>=1}}else if(yt.length>0&&Tt){Ot&&kt&&t.texStorage2D(n.TEXTURE_2D,Pt,ot,yt[0].width,yt[0].height);for(let X=0,He=yt.length;X0&&Mt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Mt,et,be[0].width,be[0].height));for(let X=0;X<6;X++)if(mt){yt?kt&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+X,0,0,0,be[X].width,be[X].height,gt,ot,be[X].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+X,0,et,be[X].width,be[X].height,0,gt,ot,be[X].data);for(let He=0;He>Re),be=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,je,mt,be,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,je,mt,be,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),se(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Le,Te,i.get(te).__webglTexture,0,ce(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Le,Te,i.get(te).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,te){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let Le=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(te||se(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Dr?Le=n.DEPTH_COMPONENT32F:Te.type===$s&&(Le=n.DEPTH_COMPONENT24));const Re=ce(T);se(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,Le,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,Le,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,Le,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const Le=ce(T);te&&se(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):se(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const Le=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){te.__webglFramebuffer[Ve]=[];for(let je=0;je0){te.__webglFramebuffer=[];for(let Ve=0;Ve0&&se(w)===!1){const Ve=Re?T:[T];te.__webglMultisampledFramebuffer=n.createFramebuffer(),te.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,te.__webglMultisampledFramebuffer);for(let je=0;je0)for(let je=0;je0)for(let je=0;je0&&se(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],te=w.width,Le=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),je=w.isWebGLMultipleRenderTargets===!0;if(je)for(let at=0;at0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function K(w,T){const te=w.colorSpace,Le=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===$p||te!==Qs&&te!==cr&&(rn.getTransfer(te)===fn?a===!1?e.has("EXT_sRGB")===!0&&Le===Ui?(w.format=$p,w.minFilter=In,w.generateMipmaps=!1):T=Ky.sRGBToLinear(T):(Le!==Ui||Te!==_s)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",te)),T}this.allocateTextureUnit=Y,this.resetTextureUnits=fe,this.setTexture2D=ie,this.setTexture2DArray=de,this.setTexture3D=k,this.setTextureCube=j,this.rebindTextures=Se,this.setupRenderTarget=O,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=$,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=se}function x2(n,e,t){const i=t.isWebGL2;function r(s,o=cr){let a;const l=rn.getTransfer(o);if(s===_s)return n.UNSIGNED_BYTE;if(s===ky)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Fy)return n.UNSIGNED_SHORT_5_5_5_1;if(s===VM)return n.BYTE;if(s===WM)return n.SHORT;if(s===xg)return n.UNSIGNED_SHORT;if(s===Uy)return n.INT;if(s===$s)return n.UNSIGNED_INT;if(s===Dr)return n.FLOAT;if(s===_l)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===YM)return n.ALPHA;if(s===Ui)return n.RGBA;if(s===JM)return n.LUMINANCE;if(s===XM)return n.LUMINANCE_ALPHA;if(s===la)return n.DEPTH_COMPONENT;if(s===Ql)return n.DEPTH_STENCIL;if(s===$p)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===KM)return n.RED;if(s===Oy)return n.RED_INTEGER;if(s===qM)return n.RG;if(s===Gy)return n.RG_INTEGER;if(s===Hy)return n.RGBA_INTEGER;if(s===gp||s===mp||s===Ep||s===Cp)if(l===fn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===gp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===mp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Ep)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Cp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===gp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===mp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Ep)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Cp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===JC||s===XC||s===KC||s===qC)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===JC)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===XC)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===KC)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===qC)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===zy)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===jC||s===ZC)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===jC)return l===fn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===ZC)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===$C||s===eI||s===tI||s===nI||s===iI||s===rI||s===sI||s===oI||s===aI||s===lI||s===cI||s===uI||s===AI||s===hI)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===$C)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===eI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===tI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===nI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===iI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===rI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===sI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===oI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===aI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===lI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===cI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===uI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===AI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===hI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Ip||s===fI||s===dI)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Ip)return l===fn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===fI)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===dI)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===jM||s===pI||s===gI||s===mI)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Ip)return a.COMPRESSED_RED_RGTC1_EXT;if(s===pI)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===gI)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===mI)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===aa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class S2 extends Xn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class eo extends Xt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Gk={type:"move"};class oE{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new eo,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 eo,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new G,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new G),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new eo,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new G,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new G),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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const v of e.hand.values()){const C=t.getJointPose(v,i),p=this._getHandJoint(A,v);C!==null&&(p.matrix.fromArray(C.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=C.radius),p.visible=C!==null}const h=A.joints["index-finger-tip"],f=A.joints["thumb-tip"],d=h.position.distanceTo(f.position),g=.02,E=.005;A.inputState.pinching&&d>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&d<=g-E&&(A.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Gk)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new eo;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const Hk=` +}`;function Fk(n,e,t){let i=new Nh;const r=new Be,s=new Be,o=new on,a=new Mg({depthPacking:Yy}),l=new Rg,A={},h=t.maxTextureSize,f={[Pr]:Oi,[Oi]:Pr,[ys]:ys},d=new ns({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Be},radius:{value:4}},vertexShader:Uk,fragmentShader:kk}),g=d.clone();g.defines.HORIZONTAL_PASS=1;const E=new Dt;E.setAttribute("position",new nn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new tn(E,d),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=vg;let p=this.type;this.render=function(M,D,U){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||M.length===0)return;const J=n.getRenderTarget(),_=n.getActiveCubeFace(),b=n.getActiveMipmapLevel(),q=n.state;q.setBlending(io),q.buffers.color.setClear(1,1,1,1),q.buffers.depth.setTest(!0),q.setScissorTest(!1);const fe=p!==Xr&&this.type===Xr,Y=p===Xr&&this.type!==Xr;for(let se=0,ne=M.length;seh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/j.x),r.x=s.x*j.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/j.y),r.y=s.y*j.y,k.mapSize.y=s.y)),k.map===null||fe===!0||Y===!0){const Ae=this.type!==Xr?{minFilter:Fn,magFilter:Fn}:{};k.map!==null&&k.map.dispose(),k.map=new Ur(r.x,r.y,Ae),k.map.texture.name=de.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const ee=k.getViewportCount();for(let Ae=0;Ae0||D.map&&D.alphaTest>0){const q=_.uuid,fe=D.uuid;let Y=A[q];Y===void 0&&(Y={},A[q]=Y);let se=Y[fe];se===void 0&&(se=_.clone(),Y[fe]=se,D.addEventListener("dispose",R)),_=se}if(_.visible=D.visible,_.wireframe=D.wireframe,J===Xr?_.side=D.shadowSide!==null?D.shadowSide:D.side:_.side=D.shadowSide!==null?D.shadowSide:f[D.side],_.alphaMap=D.alphaMap,_.alphaTest=D.alphaTest,_.map=D.map,_.clipShadows=D.clipShadows,_.clippingPlanes=D.clippingPlanes,_.clipIntersection=D.clipIntersection,_.displacementMap=D.displacementMap,_.displacementScale=D.displacementScale,_.displacementBias=D.displacementBias,_.wireframeLinewidth=D.wireframeLinewidth,_.linewidth=D.linewidth,U.isPointLight===!0&&_.isMeshDistanceMaterial===!0){const q=n.properties.get(_);q.light=U}return _}function S(M,D,U,J,_){if(M.visible===!1)return;if(M.layers.test(D.layers)&&(M.isMesh||M.isLine||M.isPoints)&&(M.castShadow||M.receiveShadow&&_===Xr)&&(!M.frustumCulled||i.intersectsObject(M))){M.modelViewMatrix.multiplyMatrices(U.matrixWorldInverse,M.matrixWorld);const fe=e.update(M),Y=M.material;if(Array.isArray(Y)){const se=fe.groups;for(let ne=0,de=se.length;ne=1):ee.indexOf("OpenGL ES")!==-1&&(j=parseFloat(/^OpenGL ES (\d)/.exec(ee)[1]),k=j>=2);let Ae=null,_e={};const ke=n.getParameter(n.SCISSOR_BOX),V=n.getParameter(n.VIEWPORT),H=new on().fromArray(ke),F=new on().fromArray(V);function N(X,He,ze,rt){const dt=new Uint8Array(4),Wt=n.createTexture();n.bindTexture(X,Wt),n.texParameteri(X,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(X,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Zt=0;Zt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let f;const d=new WeakMap;let g=!1;try{g=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function E(w,T){return g?new OffscreenCanvas(w,T):dh("canvas")}function v(w,T,te,Le){let Te=1;if((w.width>Le||w.height>Le)&&(Te=Le/Math.max(w.width,w.height)),Te<1||T===!0)if(typeof HTMLImageElement<"u"&&w instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&w instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&w instanceof ImageBitmap){const Re=T?eg:Math.floor,Je=Re(Te*w.width),Ve=Re(Te*w.height);f===void 0&&(f=E(Je,Ve));const je=te?E(Je,Ve):f;return je.width=Je,je.height=Ve,je.getContext("2d").drawImage(w,0,0,Je,Ve),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+w.width+"x"+w.height+") to ("+Je+"x"+Ve+")."),je}else return"data"in w&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+w.width+"x"+w.height+")."),w;return w}function C(w){return II(w.width)&&II(w.height)}function p(w){return a?!1:w.wrapS!==Qi||w.wrapT!==Qi||w.minFilter!==Fn&&w.minFilter!==In}function y(w,T){return w.generateMipmaps&&T&&w.minFilter!==Fn&&w.minFilter!==In}function I(w){n.generateMipmap(w)}function S(w,T,te,Le,Te=!1){if(a===!1)return T;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 Re=T;if(T===n.RED&&(te===n.FLOAT&&(Re=n.R32F),te===n.HALF_FLOAT&&(Re=n.R16F),te===n.UNSIGNED_BYTE&&(Re=n.R8)),T===n.RED_INTEGER&&(te===n.UNSIGNED_BYTE&&(Re=n.R8UI),te===n.UNSIGNED_SHORT&&(Re=n.R16UI),te===n.UNSIGNED_INT&&(Re=n.R32UI),te===n.BYTE&&(Re=n.R8I),te===n.SHORT&&(Re=n.R16I),te===n.INT&&(Re=n.R32I)),T===n.RG&&(te===n.FLOAT&&(Re=n.RG32F),te===n.HALF_FLOAT&&(Re=n.RG16F),te===n.UNSIGNED_BYTE&&(Re=n.RG8)),T===n.RGBA){const Je=Te?ch:sn.getTransfer(Le);te===n.FLOAT&&(Re=n.RGBA32F),te===n.HALF_FLOAT&&(Re=n.RGBA16F),te===n.UNSIGNED_BYTE&&(Re=Je===fn?n.SRGB8_ALPHA8:n.RGBA8),te===n.UNSIGNED_SHORT_4_4_4_4&&(Re=n.RGBA4),te===n.UNSIGNED_SHORT_5_5_5_1&&(Re=n.RGB5_A1)}return(Re===n.R16F||Re===n.R32F||Re===n.RG16F||Re===n.RG32F||Re===n.RGBA16F||Re===n.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function R(w,T,te){return y(w,te)===!0||w.isFramebufferTexture&&w.minFilter!==Fn&&w.minFilter!==In?Math.log2(Math.max(T.width,T.height))+1:w.mipmaps!==void 0&&w.mipmaps.length>0?w.mipmaps.length:w.isCompressedTexture&&Array.isArray(w.image)?T.mipmaps.length:1}function M(w){return w===Fn||w===Zp||w===il?n.NEAREST:n.LINEAR}function D(w){const T=w.target;T.removeEventListener("dispose",D),J(T),T.isVideoTexture&&h.delete(T)}function U(w){const T=w.target;T.removeEventListener("dispose",U),b(T)}function J(w){const T=i.get(w);if(T.__webglInit===void 0)return;const te=w.source,Le=d.get(te);if(Le){const Te=Le[T.__cacheKey];Te.usedTimes--,Te.usedTimes===0&&_(w),Object.keys(Le).length===0&&d.delete(te)}i.remove(w)}function _(w){const T=i.get(w);n.deleteTexture(T.__webglTexture);const te=w.source,Le=d.get(te);delete Le[T.__cacheKey],o.memory.textures--}function b(w){const T=w.texture,te=i.get(w),Le=i.get(T);if(Le.__webglTexture!==void 0&&(n.deleteTexture(Le.__webglTexture),o.memory.textures--),w.depthTexture&&w.depthTexture.dispose(),w.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++){if(Array.isArray(te.__webglFramebuffer[Te]))for(let Re=0;Re=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+w+" texture units while this GPU supports only "+r.maxTextures),q+=1,w}function se(w){const T=[];return T.push(w.wrapS),T.push(w.wrapT),T.push(w.wrapR||0),T.push(w.magFilter),T.push(w.minFilter),T.push(w.anisotropy),T.push(w.internalFormat),T.push(w.format),T.push(w.type),T.push(w.generateMipmaps),T.push(w.premultiplyAlpha),T.push(w.flipY),T.push(w.unpackAlignment),T.push(w.colorSpace),T.join()}function ne(w,T){const te=i.get(w);if(w.isVideoTexture&&De(w),w.isRenderTargetTexture===!1&&w.version>0&&te.__version!==w.version){const Le=w.image;if(Le===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Le.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{H(te,w,T);return}}t.bindTexture(n.TEXTURE_2D,te.__webglTexture,n.TEXTURE0+T)}function de(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){H(te,w,T);return}t.bindTexture(n.TEXTURE_2D_ARRAY,te.__webglTexture,n.TEXTURE0+T)}function k(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){H(te,w,T);return}t.bindTexture(n.TEXTURE_3D,te.__webglTexture,n.TEXTURE0+T)}function j(w,T){const te=i.get(w);if(w.version>0&&te.__version!==w.version){F(te,w,T);return}t.bindTexture(n.TEXTURE_CUBE_MAP,te.__webglTexture,n.TEXTURE0+T)}const ee={[rh]:n.REPEAT,[Qi]:n.CLAMP_TO_EDGE,[sh]:n.MIRRORED_REPEAT},Ae={[Fn]:n.NEAREST,[Zp]:n.NEAREST_MIPMAP_NEAREST,[il]:n.NEAREST_MIPMAP_LINEAR,[In]:n.LINEAR,[LA]:n.LINEAR_MIPMAP_NEAREST,[vs]:n.LINEAR_MIPMAP_LINEAR},_e={[r2]:n.NEVER,[u2]:n.ALWAYS,[s2]:n.LESS,[Jy]:n.LEQUAL,[o2]:n.EQUAL,[c2]:n.GEQUAL,[a2]:n.GREATER,[l2]:n.NOTEQUAL};function ke(w,T,te){if(T.type===Dr&&e.has("OES_texture_float_linear")===!1&&(T.magFilter===In||T.magFilter===LA||T.magFilter===il||T.magFilter===vs||T.minFilter===In||T.minFilter===LA||T.minFilter===il||T.minFilter===vs)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),te?(n.texParameteri(w,n.TEXTURE_WRAP_S,ee[T.wrapS]),n.texParameteri(w,n.TEXTURE_WRAP_T,ee[T.wrapT]),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,ee[T.wrapR]),n.texParameteri(w,n.TEXTURE_MAG_FILTER,Ae[T.magFilter]),n.texParameteri(w,n.TEXTURE_MIN_FILTER,Ae[T.minFilter])):(n.texParameteri(w,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(w,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(w===n.TEXTURE_3D||w===n.TEXTURE_2D_ARRAY)&&n.texParameteri(w,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(T.wrapS!==Qi||T.wrapT!==Qi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(w,n.TEXTURE_MAG_FILTER,M(T.magFilter)),n.texParameteri(w,n.TEXTURE_MIN_FILTER,M(T.minFilter)),T.minFilter!==Fn&&T.minFilter!==In&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),T.compareFunction&&(n.texParameteri(w,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(w,n.TEXTURE_COMPARE_FUNC,_e[T.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Le=e.get("EXT_texture_filter_anisotropic");if(T.magFilter===Fn||T.minFilter!==il&&T.minFilter!==vs||T.type===Dr&&e.has("OES_texture_float_linear")===!1||a===!1&&T.type===_l&&e.has("OES_texture_half_float_linear")===!1)return;(T.anisotropy>1||i.get(T).__currentAnisotropy)&&(n.texParameterf(w,Le.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(T.anisotropy,r.getMaxAnisotropy())),i.get(T).__currentAnisotropy=T.anisotropy)}}function V(w,T){let te=!1;w.__webglInit===void 0&&(w.__webglInit=!0,T.addEventListener("dispose",D));const Le=T.source;let Te=d.get(Le);Te===void 0&&(Te={},d.set(Le,Te));const Re=se(T);if(Re!==w.__cacheKey){Te[Re]===void 0&&(Te[Re]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,te=!0),Te[Re].usedTimes++;const Je=Te[w.__cacheKey];Je!==void 0&&(Te[w.__cacheKey].usedTimes--,Je.usedTimes===0&&_(T)),w.__cacheKey=Re,w.__webglTexture=Te[Re].texture}return te}function H(w,T,te){let Le=n.TEXTURE_2D;(T.isDataArrayTexture||T.isCompressedArrayTexture)&&(Le=n.TEXTURE_2D_ARRAY),T.isData3DTexture&&(Le=n.TEXTURE_3D);const Te=V(w,T),Re=T.source;t.bindTexture(Le,w.__webglTexture,n.TEXTURE0+te);const Je=i.get(Re);if(Re.version!==Je.__version||Te===!0){t.activeTexture(n.TEXTURE0+te);const Ve=sn.getPrimaries(sn.workingColorSpace),je=T.colorSpace===cr?null:sn.getPrimaries(T.colorSpace),lt=T.colorSpace===cr||Ve===je?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,T.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,T.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,T.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,lt);const mt=p(T)&&C(T.image)===!1;let be=v(T.image,mt,!1,r.maxTextureSize);be=K(T,be);const Tt=C(be)||a,St=s.convert(T.format,T.colorSpace);let gt=s.convert(T.type),at=S(T.internalFormat,St,gt,T.colorSpace,T.isVideoTexture);ke(Le,T,Tt);let tt;const yt=T.mipmaps,Ot=a&&T.isVideoTexture!==!0&&at!==zy,Ft=Je.__version===void 0||Te===!0,Mt=Re.dataReady,Ut=R(T,be,Tt);if(T.isDepthTexture)at=n.DEPTH_COMPONENT,a?T.type===Dr?at=n.DEPTH_COMPONENT32F:T.type===$s?at=n.DEPTH_COMPONENT24:T.type===aa?at=n.DEPTH24_STENCIL8:at=n.DEPTH_COMPONENT16:T.type===Dr&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),T.format===la&&at===n.DEPTH_COMPONENT&&T.type!==xg&&T.type!==$s&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),T.type=$s,gt=s.convert(T.type)),T.format===Ql&&at===n.DEPTH_COMPONENT&&(at=n.DEPTH_STENCIL,T.type!==aa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),T.type=aa,gt=s.convert(T.type))),Ft&&(Ot?t.texStorage2D(n.TEXTURE_2D,1,at,be.width,be.height):t.texImage2D(n.TEXTURE_2D,0,at,be.width,be.height,0,St,gt,null));else if(T.isDataTexture)if(yt.length>0&&Tt){Ot&&Ft&&t.texStorage2D(n.TEXTURE_2D,Ut,at,yt[0].width,yt[0].height);for(let X=0,He=yt.length;X>=1,He>>=1}}else if(yt.length>0&&Tt){Ot&&Ft&&t.texStorage2D(n.TEXTURE_2D,Ut,at,yt[0].width,yt[0].height);for(let X=0,He=yt.length;X0&&Mt++,t.texStorage2D(n.TEXTURE_CUBE_MAP,Mt,tt,be[0].width,be[0].height));for(let X=0;X<6;X++)if(mt){yt?Ft&&t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+X,0,0,0,be[X].width,be[X].height,gt,at,be[X].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+X,0,tt,be[X].width,be[X].height,0,gt,at,be[X].data);for(let He=0;He>Re),be=Math.max(1,T.height>>Re);Te===n.TEXTURE_3D||Te===n.TEXTURE_2D_ARRAY?t.texImage3D(Te,Re,je,mt,be,T.depth,0,Je,Ve,null):t.texImage2D(Te,Re,je,mt,be,0,Je,Ve,null)}t.bindFramebuffer(n.FRAMEBUFFER,w),oe(T)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Le,Te,i.get(te).__webglTexture,0,ue(T)):(Te===n.TEXTURE_2D||Te>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&Te<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Le,Te,i.get(te).__webglTexture,Re),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Ee(w,T,te){if(n.bindRenderbuffer(n.RENDERBUFFER,w),T.depthBuffer&&!T.stencilBuffer){let Le=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(te||oe(T)){const Te=T.depthTexture;Te&&Te.isDepthTexture&&(Te.type===Dr?Le=n.DEPTH_COMPONENT32F:Te.type===$s&&(Le=n.DEPTH_COMPONENT24));const Re=ue(T);oe(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Re,Le,T.width,T.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,Re,Le,T.width,T.height)}else n.renderbufferStorage(n.RENDERBUFFER,Le,T.width,T.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,w)}else if(T.depthBuffer&&T.stencilBuffer){const Le=ue(T);te&&oe(T)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):oe(T)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Le,n.DEPTH24_STENCIL8,T.width,T.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,T.width,T.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,w)}else{const Le=T.isWebGLMultipleRenderTargets===!0?T.texture:[T.texture];for(let Te=0;Te0){te.__webglFramebuffer[Ve]=[];for(let je=0;je0){te.__webglFramebuffer=[];for(let Ve=0;Ve0&&oe(w)===!1){const Ve=Re?T:[T];te.__webglMultisampledFramebuffer=n.createFramebuffer(),te.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,te.__webglMultisampledFramebuffer);for(let je=0;je0)for(let je=0;je0)for(let je=0;je0&&oe(w)===!1){const T=w.isWebGLMultipleRenderTargets?w.texture:[w.texture],te=w.width,Le=w.height;let Te=n.COLOR_BUFFER_BIT;const Re=[],Je=w.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ve=i.get(w),je=w.isWebGLMultipleRenderTargets===!0;if(je)for(let lt=0;lt0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&T.__useRenderToTexture!==!1}function De(w){const T=o.render.frame;h.get(w)!==T&&(h.set(w,T),w.update())}function K(w,T){const te=w.colorSpace,Le=w.format,Te=w.type;return w.isCompressedTexture===!0||w.isVideoTexture===!0||w.format===$p||te!==Qs&&te!==cr&&(sn.getTransfer(te)===fn?a===!1?e.has("EXT_sRGB")===!0&&Le===Ui?(w.format=$p,w.minFilter=In,w.generateMipmaps=!1):T=Ky.sRGBToLinear(T):(Le!==Ui||Te!==_s)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",te)),T}this.allocateTextureUnit=Y,this.resetTextureUnits=fe,this.setTexture2D=ne,this.setTexture2DArray=de,this.setTexture3D=k,this.setTextureCube=j,this.rebindTextures=Se,this.setupRenderTarget=O,this.updateRenderTargetMipmap=me,this.updateMultisampleRenderTarget=$,this.setupDepthRenderbuffer=pe,this.setupFrameBufferTexture=N,this.useMultisampledRTT=oe}function S2(n,e,t){const i=t.isWebGL2;function r(s,o=cr){let a;const l=sn.getTransfer(o);if(s===_s)return n.UNSIGNED_BYTE;if(s===ky)return n.UNSIGNED_SHORT_4_4_4_4;if(s===Fy)return n.UNSIGNED_SHORT_5_5_5_1;if(s===WM)return n.BYTE;if(s===YM)return n.SHORT;if(s===xg)return n.UNSIGNED_SHORT;if(s===Uy)return n.INT;if(s===$s)return n.UNSIGNED_INT;if(s===Dr)return n.FLOAT;if(s===_l)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===JM)return n.ALPHA;if(s===Ui)return n.RGBA;if(s===XM)return n.LUMINANCE;if(s===KM)return n.LUMINANCE_ALPHA;if(s===la)return n.DEPTH_COMPONENT;if(s===Ql)return n.DEPTH_STENCIL;if(s===$p)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===qM)return n.RED;if(s===Oy)return n.RED_INTEGER;if(s===jM)return n.RG;if(s===Gy)return n.RG_INTEGER;if(s===Hy)return n.RGBA_INTEGER;if(s===gp||s===mp||s===Ep||s===Cp)if(l===fn)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===gp)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===mp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===Ep)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===Cp)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===gp)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===mp)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===Ep)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===Cp)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===JC||s===XC||s===KC||s===qC)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===JC)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===XC)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===KC)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===qC)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===zy)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===jC||s===ZC)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===jC)return l===fn?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===ZC)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===$C||s===eI||s===tI||s===nI||s===iI||s===rI||s===sI||s===oI||s===aI||s===lI||s===cI||s===uI||s===AI||s===hI)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===$C)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===eI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===tI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===nI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===iI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===rI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===sI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===oI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===aI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===lI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===cI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===uI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===AI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===hI)return l===fn?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===Ip||s===fI||s===dI)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===Ip)return l===fn?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===fI)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===dI)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===ZM||s===pI||s===gI||s===mI)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===Ip)return a.COMPRESSED_RED_RGTC1_EXT;if(s===pI)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===gI)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===mI)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===aa?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class w2 extends Xn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class eo extends Xt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Hk={type:"move"};class oE{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new eo,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 eo,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new G,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new G),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new eo,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new G,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new G),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,A=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(A&&e.hand){o=!0;for(const v of e.hand.values()){const C=t.getJointPose(v,i),p=this._getHandJoint(A,v);C!==null&&(p.matrix.fromArray(C.transform.matrix),p.matrix.decompose(p.position,p.rotation,p.scale),p.matrixWorldNeedsUpdate=!0,p.jointRadius=C.radius),p.visible=C!==null}const h=A.joints["index-finger-tip"],f=A.joints["thumb-tip"],d=h.position.distanceTo(f.position),g=.02,E=.005;A.inputState.pinching&&d>g+E?(A.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!A.inputState.pinching&&d<=g-E&&(A.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(Hk)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),A!==null&&(A.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new eo;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}const zk=` void main() { gl_Position = vec4( position, 1.0 ); -}`,zk=` +}`,Vk=` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -3800,7 +3800,7 @@ void main() { } -}`;class Vk{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){const r=new xn,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){const i=t.cameras[0].viewport,r=new ns({extensions:{fragDepth:!0},vertexShader:Hk,fragmentShader:zk,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new on(new ya(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class Wk extends uo{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,A=null,h=null,f=null,d=null,g=null,E=null;const v=new Vk,C=t.getContextAttributes();let p=null,y=null;const I=[],S=[],R=new Be;let M=null;const D=new Xn;D.layers.enable(1),D.viewport=new sn;const U=new Xn;U.layers.enable(2),U.viewport=new sn;const J=[D,U],_=new S2;_.layers.enable(1),_.layers.enable(2);let b=null,q=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(V){let H=I[V];return H===void 0&&(H=new oE,I[V]=H),H.getTargetRaySpace()},this.getControllerGrip=function(V){let H=I[V];return H===void 0&&(H=new oE,I[V]=H),H.getGripSpace()},this.getHand=function(V){let H=I[V];return H===void 0&&(H=new oE,I[V]=H),H.getHandSpace()};function fe(V){const H=S.indexOf(V.inputSource);if(H===-1)return;const F=I[H];F!==void 0&&(F.update(V.inputSource,V.frame,A||o),F.dispatchEvent({type:V.type,data:V.inputSource}))}function Y(){r.removeEventListener("select",fe),r.removeEventListener("selectstart",fe),r.removeEventListener("selectend",fe),r.removeEventListener("squeeze",fe),r.removeEventListener("squeezestart",fe),r.removeEventListener("squeezeend",fe),r.removeEventListener("end",Y),r.removeEventListener("inputsourceschange",oe);for(let V=0;V=0&&(S[N]=null,I[N].disconnect(F))}for(let H=0;H=S.length){S.push(F),N=ve;break}else if(S[ve]===null){S[ve]=F,N=ve;break}if(N===-1)break}const Ee=I[N];Ee&&Ee.connect(F)}}const ie=new G,de=new G;function k(V,H,F){ie.setFromMatrixPosition(H.matrixWorld),de.setFromMatrixPosition(F.matrixWorld);const N=ie.distanceTo(de),Ee=H.projectionMatrix.elements,ve=F.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),O=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],$=(Ee[8]-1)/Ee[0],ce=(ve[8]+1)/ve[0],se=pe*$,De=pe*ce,K=N/(-$+ce),w=K*-$;H.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(w),V.translateZ(K),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const T=pe+K,te=Se+K,Le=se-w,Te=De+(N-w),Re=O*Se/te*T,Je=me*Se/te*T;V.projectionMatrix.makePerspective(Le,Te,Re,Je,T,te),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function j(V,H){H===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(H.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(r===null)return;v.texture!==null&&(V.near=v.depthNear,V.far=v.depthFar),_.near=U.near=D.near=V.near,_.far=U.far=D.far=V.far,(b!==_.near||q!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),b=_.near,q=_.far,D.near=b,D.far=q,U.near=b,U.far=q,D.updateProjectionMatrix(),U.updateProjectionMatrix(),V.updateProjectionMatrix());const H=V.parent,F=_.cameras;j(_,H);for(let N=0;N0&&(C.alphaTest.value=p.alphaTest);const y=e.get(p).envMap;if(y&&(C.envMap.value=y,C.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=p.reflectivity,C.ior.value=p.ior,C.refractionRatio.value=p.refractionRatio),p.lightMap){C.lightMap.value=p.lightMap;const I=n._useLegacyLights===!0?Math.PI:1;C.lightMapIntensity.value=p.lightMapIntensity*I,t(p.lightMap,C.lightMapTransform)}p.aoMap&&(C.aoMap.value=p.aoMap,C.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,C.aoMapTransform))}function o(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform))}function a(C,p){C.dashSize.value=p.dashSize,C.totalSize.value=p.dashSize+p.gapSize,C.scale.value=p.scale}function l(C,p,y,I){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.size.value=p.size*y,C.scale.value=I*.5,p.map&&(C.map.value=p.map,t(p.map,C.uvTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function A(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.rotation.value=p.rotation,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function h(C,p){C.specular.value.copy(p.specular),C.shininess.value=Math.max(p.shininess,1e-4)}function f(C,p){p.gradientMap&&(C.gradientMap.value=p.gradientMap)}function d(C,p){C.metalness.value=p.metalness,p.metalnessMap&&(C.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,C.metalnessMapTransform)),C.roughness.value=p.roughness,p.roughnessMap&&(C.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,C.roughnessMapTransform)),e.get(p).envMap&&(C.envMapIntensity.value=p.envMapIntensity)}function g(C,p,y){C.ior.value=p.ior,p.sheen>0&&(C.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),C.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(C.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,C.sheenColorMapTransform)),p.sheenRoughnessMap&&(C.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,C.sheenRoughnessMapTransform))),p.clearcoat>0&&(C.clearcoat.value=p.clearcoat,C.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(C.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,C.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(C.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Oi&&C.clearcoatNormalScale.value.negate())),p.iridescence>0&&(C.iridescence.value=p.iridescence,C.iridescenceIOR.value=p.iridescenceIOR,C.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(C.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,C.iridescenceMapTransform)),p.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),p.transmission>0&&(C.transmission.value=p.transmission,C.transmissionSamplerMap.value=y.texture,C.transmissionSamplerSize.value.set(y.width,y.height),p.transmissionMap&&(C.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,C.transmissionMapTransform)),C.thickness.value=p.thickness,p.thicknessMap&&(C.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=p.attenuationDistance,C.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(C.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(C.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=p.specularIntensity,C.specularColor.value.copy(p.specularColor),p.specularColorMap&&(C.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,C.specularColorMapTransform)),p.specularIntensityMap&&(C.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,C.specularIntensityMapTransform))}function E(C,p){p.matcap&&(C.matcap.value=p.matcap)}function v(C,p){const y=e.get(p).light;C.referencePosition.value.setFromMatrixPosition(y.matrixWorld),C.nearDistance.value=y.shadow.camera.near,C.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function Jk(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,I){const S=I.program;i.uniformBlockBinding(y,S)}function A(y,I){let S=r[y.id];S===void 0&&(E(y),S=h(y),r[y.id]=S,y.addEventListener("dispose",C));const R=I.program;i.updateUBOMapping(y,R);const M=e.render.frame;s[y.id]!==M&&(d(y),s[y.id]=M)}function h(y){const I=f();y.__bindingPointIndex=I;const S=n.createBuffer(),R=y.__size,M=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,R,M),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,I,S),S}function f(){for(let y=0;y0&&(S+=R-M),y.__size=S,y.__cache={},this}function v(y){const I={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(I.boundary=4,I.storage=4):y.isVector2?(I.boundary=8,I.storage=8):y.isVector3||y.isColor?(I.boundary=16,I.storage=12):y.isVector4?(I.boundary=16,I.storage=16):y.isMatrix3?(I.boundary=48,I.storage=48):y.isMatrix4?(I.boundary=64,I.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),I}function C(y){const I=y.target;I.removeEventListener("dispose",C);const S=o.indexOf(I.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[I.id]),delete r[I.id],delete s[I.id]}function p(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class t1{constructor(e={}){const{canvas:t=A2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:f=!1}=e;this.isWebGLRenderer=!0;let d;i!==null?d=i.getContextAttributes().alpha:d=o;const g=new Uint32Array(4),E=new Int32Array(4);let v=null,C=null;const p=[],y=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=ws,this.toneMappingExposure=1;const I=this;let S=!1,R=0,M=0,D=null,U=-1,J=null;const _=new sn,b=new sn;let q=null;const fe=new qe(0);let Y=0,oe=t.width,ie=t.height,de=1,k=null,j=null;const ee=new sn(0,0,oe,ie),Ae=new sn(0,0,oe,ie);let _e=!1;const ke=new Nh;let V=!1,H=!1,F=null;const N=new ft,Ee=new Be,ve=new G,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?de:1}let O=i;function me(z,ge){for(let ye=0;ye{function Xe(){if(we.forEach(function(lt){K.get(lt).currentProgram.isReady()&&we.delete(lt)}),we.size===0){Ie(z);return}setTimeout(Xe,10)}$.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let Zt=null;function $t(z){Zt&&Zt(z)}function ui(){nn.stop()}function en(){nn.start()}const nn=new E2;nn.setAnimationLoop($t),typeof self<"u"&&nn.setContext(self),this.setAnimationLoop=function(z){Zt=z,Mt.setAnimationLoop(z),z===null?nn.stop():nn.start()},Mt.addEventListener("sessionstart",ui),Mt.addEventListener("sessionend",en),this.render=function(z,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Mt.enabled===!0&&Mt.isPresenting===!0&&(Mt.cameraAutoUpdate===!0&&Mt.updateCamera(ge),ge=Mt.getCamera()),z.isScene===!0&&z.onBeforeRender(I,z,ge,D),C=at.get(z,y.length),C.init(),y.push(C),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(N),H=this.localClippingEnabled,V=mt.init(this.clippingPlanes,H),v=je.get(z,p.length),v.init(),p.push(v),Ri(z,ge,0,I.sortObjects),v.finish(),I.sortObjects===!0&&v.sort(k,j),this.info.render.frame++,V===!0&&mt.beginShadows();const ye=C.state.shadowsArray;if(be.render(ye,z,ge),V===!0&&mt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Mt.enabled===!1||Mt.isPresenting===!1||Mt.hasDepthSensing()===!1)&&Tt.render(v,z),C.setupLights(I._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let Ie=0,Xe=we.length;Ie0?C=y[y.length-1]:C=null,p.pop(),p.length>0?v=p[p.length-1]:v=null};function Ri(z,ge,ye,we){if(z.visible===!1)return;if(z.layers.test(ge.layers)){if(z.isGroup)ye=z.renderOrder;else if(z.isLOD)z.autoUpdate===!0&&z.update(ge);else if(z.isLight)C.pushLight(z),z.castShadow&&C.pushShadow(z);else if(z.isSprite){if(!z.frustumCulled||ke.intersectsSprite(z)){we&&ve.setFromMatrixPosition(z.matrixWorld).applyMatrix4(N);const lt=Re.update(z),Et=z.material;Et.visible&&v.push(z,lt,Et,ye,ve.z,null)}}else if((z.isMesh||z.isLine||z.isPoints)&&(!z.frustumCulled||ke.intersectsObject(z))){const lt=Re.update(z),Et=z.material;if(we&&(z.boundingSphere!==void 0?(z.boundingSphere===null&&z.computeBoundingSphere(),ve.copy(z.boundingSphere.center)):(lt.boundingSphere===null&<.computeBoundingSphere(),ve.copy(lt.boundingSphere.center)),ve.applyMatrix4(z.matrixWorld).applyMatrix4(N)),Array.isArray(Et)){const Ct=lt.groups;for(let xt=0,Bt=Ct.length;xt0&&Ls(Ie,Xe,ge,ye),we&&se.viewport(_.copy(we)),Ie.length>0&&os(Ie,ge,ye),Xe.length>0&&os(Xe,ge,ye),lt.length>0&&os(lt,ge,ye),se.buffers.depth.setTest(!0),se.buffers.depth.setMask(!0),se.buffers.color.setMask(!0),se.setPolygonOffset(!1)}function Ls(z,ge,ye,we){if((ye.isScene===!0?ye.overrideMaterial:null)!==null)return;const Xe=ce.isWebGL2;F===null&&(F=new Ur(1,1,{generateMipmaps:!0,type:$.has("EXT_color_buffer_half_float")?_l:_s,minFilter:vs,samples:Xe?4:0})),I.getDrawingBufferSize(Ee),Xe?F.setSize(Ee.x,Ee.y):F.setSize(eg(Ee.x),eg(Ee.y));const lt=I.getRenderTarget();I.setRenderTarget(F),I.getClearColor(fe),Y=I.getClearAlpha(),Y<1&&I.setClearColor(16777215,.5),I.clear();const Et=I.toneMapping;I.toneMapping=ws,os(z,ye,we),w.updateMultisampleRenderTarget(F),w.updateRenderTargetMipmap(F);let Ct=!1;for(let xt=0,Bt=ge.length;xt0),vt=!!ye.morphAttributes.position,pn=!!ye.morphAttributes.normal,Wn=!!ye.morphAttributes.color;let ln=ws;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(ln=I.toneMapping);const Rn=ye.morphAttributes.position||ye.morphAttributes.normal||ye.morphAttributes.color,ct=Rn!==void 0?Rn.length:0,$e=K.get(we),Di=C.state.lights;if(V===!0&&(H===!0||z!==J)){const Ue=z===J&&we.id===U;mt.setState(we,z,Ue)}let L=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Di.state.version||$e.outputColorSpace!==Et||Ie.isBatchedMesh&&$e.batching===!1||!Ie.isBatchedMesh&&$e.batching===!0||Ie.isInstancedMesh&&$e.instancing===!1||!Ie.isInstancedMesh&&$e.instancing===!0||Ie.isSkinnedMesh&&$e.skinning===!1||!Ie.isSkinnedMesh&&$e.skinning===!0||Ie.isInstancedMesh&&$e.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&$e.instancingColor===!1&&Ie.instanceColor!==null||$e.envMap!==Ct||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==mt.numPlanes||$e.numIntersection!==mt.numIntersection)||$e.vertexAlphas!==xt||$e.vertexTangents!==Bt||$e.morphTargets!==vt||$e.morphNormals!==pn||$e.morphColors!==Wn||$e.toneMapping!==ln||ce.isWebGL2===!0&&$e.morphTargetsCount!==ct)&&(L=!0):(L=!0,$e.__version=we.version);let P=$e.currentProgram;L===!0&&(P=as(we,ge,Ie));let Z=!1,ne=!1,he=!1;const xe=P.getUniforms(),Ne=$e.uniforms;if(se.useProgram(P.program)&&(Z=!0,ne=!0,he=!0),we.id!==U&&(U=we.id,ne=!0),Z||J!==z){xe.setValue(O,"projectionMatrix",z.projectionMatrix),xe.setValue(O,"viewMatrix",z.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(O,ve.setFromMatrixPosition(z.matrixWorld)),ce.logarithmicDepthBuffer&&xe.setValue(O,"logDepthBufFC",2/(Math.log(z.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(O,"isOrthographic",z.isOrthographicCamera===!0),J!==z&&(J=z,ne=!0,he=!0)}if(Ie.isSkinnedMesh){xe.setOptional(O,Ie,"bindMatrix"),xe.setOptional(O,Ie,"bindMatrixInverse");const Ue=Ie.skeleton;Ue&&(ce.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(O,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Ie.isBatchedMesh&&(xe.setOptional(O,Ie,"batchingTexture"),xe.setValue(O,"batchingTexture",Ie._matricesTexture,w));const Pe=ye.morphAttributes;if((Pe.position!==void 0||Pe.normal!==void 0||Pe.color!==void 0&&ce.isWebGL2===!0)&&St.update(Ie,ye,P),(ne||$e.receiveShadow!==Ie.receiveShadow)&&($e.receiveShadow=Ie.receiveShadow,xe.setValue(O,"receiveShadow",Ie.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Ne.envMap.value=Ct,Ne.flipEnvMap.value=Ct.isCubeTexture&&Ct.isRenderTargetTexture===!1?-1:1),ne&&(xe.setValue(O,"toneMappingExposure",I.toneMappingExposure),$e.needsLights&&Ru(Ne,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Ne,Xe),Ve.refreshMaterialUniforms(Ne,we,de,ie,F),vp.upload(O,Gl($e),Ne,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(vp.upload(O,Gl($e),Ne,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(O,"center",Ie.center),xe.setValue(O,"modelViewMatrix",Ie.modelViewMatrix),xe.setValue(O,"normalMatrix",Ie.normalMatrix),xe.setValue(O,"modelMatrix",Ie.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(z)===!1?Ie=K.get(z).__webglMultisampledFramebuffer:Array.isArray(Bt)?Ie=Bt[ye]:Ie=Bt,_.copy(z.viewport),b.copy(z.scissor),q=z.scissorTest}else _.copy(ee).multiplyScalar(de).floor(),b.copy(Ae).multiplyScalar(de).floor(),q=_e;if(se.bindFramebuffer(O.FRAMEBUFFER,Ie)&&ce.drawBuffers&&we&&se.drawBuffers(z,Ie),se.viewport(_),se.scissor(b),se.setScissorTest(q),Xe){const Ct=K.get(z.texture);O.framebufferTexture2D(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,O.TEXTURE_CUBE_MAP_POSITIVE_X+ge,Ct.__webglTexture,ye)}else if(lt){const Ct=K.get(z.texture),xt=ge||0;O.framebufferTextureLayer(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,Ct.__webglTexture,ye||0,xt)}U=-1},this.readRenderTargetPixels=function(z,ge,ye,we,Ie,Xe,lt){if(!(z&&z.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Et=K.get(z).__webglFramebuffer;if(z.isWebGLCubeRenderTarget&<!==void 0&&(Et=Et[lt]),Et){se.bindFramebuffer(O.FRAMEBUFFER,Et);try{const Ct=z.texture,xt=Ct.format,Bt=Ct.type;if(xt!==Ui&&et.convert(xt)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const vt=Bt===_l&&($.has("EXT_color_buffer_half_float")||ce.isWebGL2&&$.has("EXT_color_buffer_float"));if(Bt!==_s&&et.convert(Bt)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Bt===Dr&&(ce.isWebGL2||$.has("OES_texture_float")||$.has("WEBGL_color_buffer_float")))&&!vt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=z.width-we&&ye>=0&&ye<=z.height-Ie&&O.readPixels(ge,ye,we,Ie,et.convert(xt),et.convert(Bt),Xe)}finally{const Ct=D!==null?K.get(D).__webglFramebuffer:null;se.bindFramebuffer(O.FRAMEBUFFER,Ct)}}},this.copyFramebufferToTexture=function(z,ge,ye=0){const we=Math.pow(2,-ye),Ie=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),O.copyTexSubImage2D(O.TEXTURE_2D,ye,0,0,z.x,z.y,Ie,Xe),se.unbindTexture()},this.copyTextureToTexture=function(z,ge,ye,we=0){const Ie=ge.image.width,Xe=ge.image.height,lt=et.convert(ye.format),Et=et.convert(ye.type);w.setTexture2D(ye,0),O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,ye.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ye.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,ye.unpackAlignment),ge.isDataTexture?O.texSubImage2D(O.TEXTURE_2D,we,z.x,z.y,Ie,Xe,lt,Et,ge.image.data):ge.isCompressedTexture?O.compressedTexSubImage2D(O.TEXTURE_2D,we,z.x,z.y,ge.mipmaps[0].width,ge.mipmaps[0].height,lt,ge.mipmaps[0].data):O.texSubImage2D(O.TEXTURE_2D,we,z.x,z.y,lt,Et,ge.image),we===0&&ye.generateMipmaps&&O.generateMipmap(O.TEXTURE_2D),se.unbindTexture()},this.copyTextureToTexture3D=function(z,ge,ye,we,Ie=0){if(I.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=z.max.x-z.min.x+1,lt=z.max.y-z.min.y+1,Et=z.max.z-z.min.z+1,Ct=et.convert(we.format),xt=et.convert(we.type);let Bt;if(we.isData3DTexture)w.setTexture3D(we,0),Bt=O.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),Bt=O.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,we.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,we.unpackAlignment);const vt=O.getParameter(O.UNPACK_ROW_LENGTH),pn=O.getParameter(O.UNPACK_IMAGE_HEIGHT),Wn=O.getParameter(O.UNPACK_SKIP_PIXELS),ln=O.getParameter(O.UNPACK_SKIP_ROWS),Rn=O.getParameter(O.UNPACK_SKIP_IMAGES),ct=ye.isCompressedTexture?ye.mipmaps[Ie]:ye.image;O.pixelStorei(O.UNPACK_ROW_LENGTH,ct.width),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,ct.height),O.pixelStorei(O.UNPACK_SKIP_PIXELS,z.min.x),O.pixelStorei(O.UNPACK_SKIP_ROWS,z.min.y),O.pixelStorei(O.UNPACK_SKIP_IMAGES,z.min.z),ye.isDataTexture||ye.isData3DTexture?O.texSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,lt,Et,Ct,xt,ct.data):ye.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),O.compressedTexSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,lt,Et,Ct,ct.data)):O.texSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,lt,Et,Ct,xt,ct),O.pixelStorei(O.UNPACK_ROW_LENGTH,vt),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,pn),O.pixelStorei(O.UNPACK_SKIP_PIXELS,Wn),O.pixelStorei(O.UNPACK_SKIP_ROWS,ln),O.pixelStorei(O.UNPACK_SKIP_IMAGES,Rn),Ie===0&&we.generateMipmaps&&O.generateMipmap(Bt),se.unbindTexture()},this.initTexture=function(z){z.isCubeTexture?w.setTextureCube(z,0):z.isData3DTexture?w.setTexture3D(z,0):z.isDataArrayTexture||z.isCompressedArrayTexture?w.setTexture2DArray(z,0):w.setTexture2D(z,0),se.unbindTexture()},this.resetState=function(){R=0,M=0,D=null,se.reset(),yt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Bs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===wg?"display-p3":"srgb",t.unpackColorSpace=rn.workingColorSpace===Th?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?ca:Wy}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===ca?Nn:Qs}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 w2 extends t1{}w2.prototype.isWebGL1Renderer=!0;class Dg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new qe(e),this.density=t}clone(){return new Dg(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 qe(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 ph extends Xt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Lg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=hh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=dr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ml("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:lA.clone(),uv:ur.getInterpolation(lA,Id,uA,yd,lS,aE,cS,new Be),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 vd(n,e,t,i,r,s){yc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(cA.x=s*yc.x-r*yc.y,cA.y=r*yc.x+s*yc.y):cA.copy(yc),n.copy(e),n.x+=cA.x,n.y+=cA.y,n.applyMatrix4(_2)}const Bd=new G,uS=new G;class M2 extends Xt{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){Bd.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Bd);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Bd.setFromMatrixPosition(e.matrixWorld),uS.setFromMatrixPosition(this.matrixWorld);const i=Bd.distanceTo(uS)/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 Bc="batchId",Ho=new ft,CS=new ft,eF=new ft,IS=new ft,uE=new Nh,wd=new qn,za=new li,fA=new G,AE=new $k,wi=new on,_d=[];function tF(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 tn(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Bc,new tn(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Bc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Bc}"`);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===Bc)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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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 f=this._visibility,d=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;f.push(!0),d.push(!0);const v=this._geometryCount;this._geometryCount++,eF.toArray(E,v*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new qn,sphereInitialized:!1,sphere:new li});const C=this.geometry.getAttribute(Bc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Bc)continue;const E=t.getAttribute(g),v=i.getAttribute(g);tF(E,v,l);const C=E.itemSize;for(let p=E.count,y=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,f=A.start+A.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;wi.material=this.material,wi.geometry.index=l.index,wi.geometry.attributes=l.attributes,wi.geometry.boundingBox===null&&(wi.geometry.boundingBox=new qn),wi.geometry.boundingSphere===null&&(wi.geometry.boundingSphere=new li);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,f=this._multiDrawCounts,d=this._drawRanges,g=this.perObjectFrustumCulled;g&&(IS.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),uE.setFromProjectionMatrix(IS,e.coordinateSystem));let E=0;if(this.sortObjects){CS.copy(this.matrixWorld).invert(),fA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(CS);for(let p=0,y=A.length;pl)continue;d.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(d);Ue.far||t.push({distance:U,point:f.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),y=Math.min(C.count,o.start+o.count);for(let I=p,S=y-1;Il)continue;d.applyMatrix4(this.matrixWorld);const M=e.ray.origin.distanceTo(d);Me.far||t.push({distance:M,point:f.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class N2 extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:In,this.magFilter=s!==void 0?s:In,this.generateMipmaps=!1;const h=this;function f(){h.needsUpdate=!0,e.requestVideoFrameCallback(f)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(f)}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 nF extends xn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Fn,this.minFilter=Fn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Ng extends xn{constructor(e,t,i,r,s,o,a,l,A,h,f,d){super(null,o,a,l,A,h,r,s,f,d),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class iF extends Ng{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Qi}}class rF extends Ng{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,lo),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class sF extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class is{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],d=i[r+1]-h,g=(o-h)/d;return(r+g)/(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 Be:new G);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 G,r=[],s=[],o=[],a=new G,l=new ft;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new G)}s[0]=new G,o[0]=new G;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),f=Math.abs(r[0].y),d=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),f<=A&&(A=f,i.set(0,1,0)),d<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Pn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Pn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 is{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){const i=t||new Be,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(Dd.subVectors(r[0],r[1]).add(r[0]),A=Dd);const f=r[a%s],d=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],f=r[o>r.length-3?r.length-1:o+2];return i.set(QS(a,l.x,A.x,h.x,f.x),QS(a,l.y,A.y,h.y,f.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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 f=A.getPoint(0);f.equals(this.currentPoint)||this.lineTo(f.x,f.y)}this.curves.push(A);const h=A.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 Ph extends Dt{constructor(e=[new Be(0,-.5),new Be(.5,0),new Be(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=[],A=[],h=1/t,f=new G,d=new Be,g=new G,E=new G,v=new G;let C=0,p=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:C=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-C,g.z=p*0,v.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(v.x,v.y,v.z);break;default:C=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-C,g.z=p*0,E.copy(g),g.x+=v.x,g.y+=v.y,g.z+=v.z,g.normalize(),l.push(g.x,g.y,g.z),v.copy(E)}for(let y=0;y<=t;y++){const I=i+y*h*r,S=Math.sin(I),R=Math.cos(I);for(let M=0;M<=e.length-1;M++){f.x=e[M].x*S,f.y=e[M].y,f.z=e[M].x*R,o.push(f.x,f.y,f.z),d.x=y/t,d.y=M/(e.length-1),a.push(d.x,d.y);const D=l[3*M+0]*S,U=l[3*M+1],J=l[3*M+0]*R;A.push(D,U,J)}}for(let y=0;y0&&I(!0),t>0&&I(!1)),this.setIndex(h),this.setAttribute("position",new st(f,3)),this.setAttribute("normal",new st(d,3)),this.setAttribute("uv",new st(g,2));function y(){const S=new G,R=new G;let M=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const J=[],_=U/s,b=_*(t-e)+e;for(let q=0;q<=r;q++){const fe=q/r,Y=fe*l+a,oe=Math.sin(Y),ie=Math.cos(Y);R.x=b*oe,R.y=-_*i+C,R.z=b*ie,f.push(R.x,R.y,R.z),S.set(oe,D,ie).normalize(),d.push(S.x,S.y,S.z),g.push(fe,1-_),J.push(E++)}v.push(J)}for(let U=0;U.9&&D<.1&&(I<.2&&(o[y+0]+=1),S<.2&&(o[y+2]+=1),R<.2&&(o[y+4]+=1))}}function d(y){s.push(y.x,y.y,y.z)}function g(y,I){const S=y*3;I.x=e[S+0],I.y=e[S+1],I.z=e[S+2]}function E(){const y=new G,I=new G,S=new G,R=new G,M=new Be,D=new Be,U=new Be;for(let J=0,_=0;J80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=f),d>h&&(h=d);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return gh(s,o,t,a,l,g,0),o}};function H2(n,e,t,i,r){let s,o;if(r===MF(n,e,t,i)>0)for(s=e;s=e;s-=i)o=MS(s,n[s],n[s+1],o);return o&&Gg(o,o.next)&&(Eh(o),o=o.next),o}function Rl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Gg(t,t.next)||_n(t.prev,t,t.next)===0)){if(Eh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function gh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&BF(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?pF(n,i,r,s):dF(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Eh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=gF(Rl(n),e,t),gh(n,e,t,i,r,s,2)):o===2&&mF(n,e,t,i,r,s):gh(Rl(n),e,t,i,r,s,1);break}}}function dF(n){const e=n.prev,t=n,i=n.next;if(_n(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=d&&E.y>=f&&E.y<=g&&Xc(r,a,s,l,o,A,E.x,E.y)&&_n(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function pF(n,e,t,i){const r=n.prev,s=n,o=n.next;if(_n(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,f=s.y,d=o.y,g=al?a>A?a:A:l>A?l:A,C=h>f?h>d?h:d:f>d?f:d,p=xI(g,E,e,t,i),y=xI(v,C,e,t,i);let I=n.prevZ,S=n.nextZ;for(;I&&I.z>=p&&S&&S.z<=y;){if(I.x>=g&&I.x<=v&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&Xc(a,h,l,f,A,d,I.x,I.y)&&_n(I.prev,I,I.next)>=0||(I=I.prevZ,S.x>=g&&S.x<=v&&S.y>=E&&S.y<=C&&S!==r&&S!==o&&Xc(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;I&&I.z>=p;){if(I.x>=g&&I.x<=v&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&Xc(a,h,l,f,A,d,I.x,I.y)&&_n(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;S&&S.z<=y;){if(S.x>=g&&S.x<=v&&S.y>=E&&S.y<=C&&S!==r&&S!==o&&Xc(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function gF(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Gg(r,s)&&z2(r,i,i.next,s)&&mh(r,s)&&mh(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Eh(i),Eh(i.next),i=n=s),i=i.next}while(i!==n);return Rl(i)}function mF(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&wF(o,a)){let l=V2(o,a);o=Rl(o,o.next),l=Rl(l,l.next),gh(o,e,t,i,r,s,0),gh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function EF(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const d=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=s&&d>i&&(i=d,r=t.x=t.x&&t.x>=l&&s!==t.x&&Xc(or.x||t.x===r.x&&vF(r,t)))&&(r=t,h=f)),t=t.next;while(t!==a);return r}function vF(n,e){return _n(n.prev,n,e.prev)<0&&_n(e.next,n,n.next)<0}function BF(n,e,t,i){let r=n;do r.z===0&&(r.z=xI(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,xF(r)}function xF(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function xI(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 SF(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 wF(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!_F(n,e)&&(mh(n,e)&&mh(e,n)&&QF(n,e)&&(_n(n.prev,n,e.prev)||_n(n,e.prev,e))||Gg(n,e)&&_n(n.prev,n,n.next)>0&&_n(e.prev,e,e.next)>0)}function _n(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Gg(n,e){return n.x===e.x&&n.y===e.y}function z2(n,e,t,i){const r=Pd(_n(n,e,t)),s=Pd(_n(n,e,i)),o=Pd(_n(t,i,n)),a=Pd(_n(t,i,e));return!!(r!==s&&o!==a||r===0&&Nd(n,t,e)||s===0&&Nd(n,i,e)||o===0&&Nd(t,n,i)||a===0&&Nd(t,e,i))}function Nd(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 Pd(n){return n>0?1:n<0?-1:0}function _F(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&&z2(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function mh(n,e){return _n(n.prev,n,n.next)<0?_n(n,e,n.next)>=0&&_n(n,n.prev,e)>=0:_n(n,e,n.prev)<0||_n(n,n.next,e)<0}function QF(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 V2(n,e){const t=new SI(n.i,n.x,n.y),i=new SI(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 MS(n,e,t,i){const r=new SI(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 Eh(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 SI(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 MF(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function DS(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(Le),Je=Math.sqrt(T*T+te*te),Ve=me.x-w/Re,je=me.y+K/Re,at=$.x-te/Je,mt=$.y+T/Je,be=((at-Ve)*te-(mt-je)*T)/(K*te-w*T);ce=Ve+K*be-O.x,se=je+w*be-O.y;const Tt=ce*ce+se*se;if(Tt<=2)return new Be(ce,se);De=Math.sqrt(Tt/2)}else{let Re=!1;K>Number.EPSILON?T>Number.EPSILON&&(Re=!0):K<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(te)&&(Re=!0),Re?(ce=-w,se=K,De=Math.sqrt(Le)):(ce=K,se=w,De=Math.sqrt(Le/2))}return new Be(ce/De,se/De)}const j=[];for(let O=0,me=Y.length,$=me-1,ce=O+1;O=0;O--){const me=O/C,$=g*Math.cos(me*Math.PI/2),ce=E*Math.sin(me*Math.PI/2)+v;for(let se=0,De=Y.length;se=0;){const ce=$;let se=$-1;se<0&&(se=O.length-1);for(let De=0,K=h+C*2;De0)&&g.push(I,S,M),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class K2 extends ci{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new qe(16777215),this.specular=new qe(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Dh,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.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 q2 extends ci{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new qe(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 j2 extends ci{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 Z2 extends ci{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new qe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Dh,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.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 $2 extends ci{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new qe(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 eR extends Vi{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 Al(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 tR(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function nR(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 wI(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 h1(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 LF(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){f.push(A.times[g]);for(let v=0;vs.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*f+h,y=p+f-h;v=a.values.slice(p,y)}else{const p=a.createInterpolant(),y=h,I=f-h;p.evaluate(s),v=p.resultBuffer.slice(y,I)}l==="quaternion"&&new Gi().fromArray(v).normalize().conjugate().toArray(v);const C=A.times.length;for(let p=0;p=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&&tR(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===yp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}rs.prototype.TimeBufferType=Float32Array;rs.prototype.ValueBufferType=Float32Array;rs.prototype.DefaultInterpolation=ah;class bl extends rs{}bl.prototype.ValueTypeName="bool";bl.prototype.ValueBufferType=Array;bl.prototype.DefaultInterpolation=oh;bl.prototype.InterpolantFactoryMethodLinear=void 0;bl.prototype.InterpolantFactoryMethodSmooth=void 0;class d1 extends rs{}d1.prototype.ValueTypeName="color";class Ch extends rs{}Ch.prototype.ValueTypeName="number";class sR extends Fh{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 A=e*a;for(let h=A+a;A!==h;A+=4)Gi.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Bu extends rs{InterpolantFactoryMethodLinear(e){return new sR(this.times,this.values,this.getValueSize(),e)}}Bu.prototype.ValueTypeName="quaternion";Bu.prototype.DefaultInterpolation=ah;Bu.prototype.InterpolantFactoryMethodSmooth=void 0;class Nl extends rs{}Nl.prototype.ValueTypeName="string";Nl.prototype.ValueBufferType=Array;Nl.prototype.DefaultInterpolation=oh;Nl.prototype.InterpolantFactoryMethodLinear=void 0;Nl.prototype.InterpolantFactoryMethodSmooth=void 0;class Ih extends rs{}Ih.prototype.ValueTypeName="vector";class yh{constructor(e,t=-1,i,r=Sg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=dr(),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(UF(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(rs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const f=h[1];let d=r[f];d||(r[f]=d=[]),d.push(A)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(f,d,g,E,v){if(g.length!==0){const C=[],p=[];h1(g,C,p,E),C.length!==0&&v.push(new f(d,C,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let f=0;f{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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=Ws[e],f=A.body.getReader(),d=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=d?parseInt(d):0,E=g!==0;let v=0;const C=new ReadableStream({start(p){y();function y(){f.read().then(({done:I,value:S})=>{if(I)p.close();else{v+=S.byteLength;const R=new ProgressEvent("progress",{lengthComputable:E,loaded:v,total:g});for(let M=0,D=h.length;M{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),d=f&&f[1]?f[1].toLowerCase():void 0,g=new TextDecoder(d);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{to.add(e,A);const h=Ws[e];delete Ws[e];for(let f=0,d=h.length;f{const h=Ws[e];if(h===void 0)throw this.manager.itemError(e),A;delete Ws[e];for(let f=0,d=h.length;f{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class FF extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ms(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 qe().setHex(o.value);break;case"v2":r.uniforms[s].value=new Be().fromArray(o.value);break;case"v3":r.uniforms[s].value=new G().fromArray(o.value);break;case"v4":r.uniforms[s].value=new sn().fromArray(o.value);break;case"m3":r.uniforms[s].value=new wt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ft().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new Be().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.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 Be().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:Y2,SpriteMaterial:n1,RawShaderMaterial:J2,ShaderMaterial:ns,PointsMaterial:r1,MeshPhysicalMaterial:X2,MeshStandardMaterial:A1,MeshPhongMaterial:K2,MeshToonMaterial:q2,MeshNormalMaterial:j2,MeshLambertMaterial:Z2,MeshDepthMaterial:Mg,MeshDistanceMaterial:Rg,MeshBasicMaterial:tr,MeshMatcapMaterial:$2,LineDashedMaterial:eR,LineBasicMaterial:Vi,Material:ci};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 p1(t);s=new vh(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new vh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const C=new qn;C.min.fromArray(v.boxMin),C.max.fromArray(v.boxMax);const p=new li;return p.radius=v.sphereRadius,p.center.fromArray(v.sphereCenter),{boxInitialized:v.boxInitialized,box:C,sphereInitialized:v.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new M2;break;case"Line":o=new ga(a(e.geometry),l(e.material));break;case"LineLoop":o=new L2(a(e.geometry),l(e.material));break;case"LineSegments":o=new Rs(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new b2(a(e.geometry),l(e.material));break;case"Sprite":o=new Q2(l(e.material));break;case"Group":o=new eo;break;case"Bone":o=new i1;break;default:o=new Xt}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 d=e.children;for(let g=0;g"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=to.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return to.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),to.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});to.add(e,l),s.manager.itemStart(e)}}let Ud;class m1{static getContext(){return Ud===void 0&&(Ud=new(window.AudioContext||window.webkitAudioContext)),Ud}static setContext(e){Ud=e}}class KF extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ms(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);m1.getContext().decodeAudioData(A,function(f){t(f)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const FS=new ft,OS=new ft,Va=new ft;class qF{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Xn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Xn,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,Va.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(gl*t.fov*.5)/t.zoom;let a,l;OS.elements[12]=-r,FS.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Va.elements[0]=2*t.near/(l-a),Va.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Va),a=-o*t.aspect-s,l=o*t.aspect-s,Va.elements[0]=2*t.near/(l-a),Va.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Va)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(OS),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(FS)}}class E1{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=GS(),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=GS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function GS(){return(typeof performance>"u"?Date:performance).now()}const Wa=new G,HS=new Gi,jF=new G,Ya=new G;class ZF extends Xt{constructor(){super(),this.type="AudioListener",this.context=m1.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new E1}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(Wa,HS,jF),Ya.set(0,0,-1).applyQuaternion(HS),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Wa.x,r),t.positionY.linearRampToValueAtTime(Wa.y,r),t.positionZ.linearRampToValueAtTime(Wa.z,r),t.forwardX.linearRampToValueAtTime(Ya.x,r),t.forwardY.linearRampToValueAtTime(Ya.y,r),t.forwardZ.linearRampToValueAtTime(Ya.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Wa.x,Wa.y,Wa.z),t.setOrientation(Ya.x,Ya.y,Ya.z,i.x,i.y,i.z)}}class mR extends Xt{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,A=t+t;l!==A;++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){Gi.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Gi.multiplyQuaternionsFlat(e,o,e,t,e,i),Gi.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 C1="\\[\\]\\.:\\/",nO=new RegExp("["+C1+"]","g"),I1="[^"+C1+"]",iO="[^"+C1.replace("\\.","")+"]",rO=/((?:WC+[\/:])*)/.source.replace("WC",I1),sO=/(WCOD+)?/.source.replace("WCOD",iO),oO=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",I1),aO=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",I1),lO=new RegExp("^"+rO+sO+oO+aO+"$"),cO=["material","materials","bones","map"];class uO{constructor(e,t,i){const r=i||Yt.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 Yt{constructor(e,t,i){this.path=t,this.parsedPath=i||Yt.parseTrackName(t),this.node=Yt.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 Yt.Composite(e,t,i):new Yt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(nO,"")}static parseTrackName(e){const t=lO.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);cO.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 f=s++,d=e[f];t[d.uuid]=h,e[h]=d,t[A]=f,e[f]=l;for(let g=0,E=r;g!==E;++g){const v=i[g],C=v[f],p=v[h];v[h]=C,v[f]=p}}}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 A=arguments[a],h=A.uuid,f=t[h];if(f!==void 0)if(delete t[h],f0&&(t[g.uuid]=f),e[f]=g,e.pop();for(let E=0,v=r;E!==v;++E){const C=i[E];C[f]=C[d],C.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,A=l.length,h=this.nCachedObjects_,f=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(f);for(let d=h,g=l.length;d!==g;++d){const E=l[d];f[d]=new Yt(E,e,t)}return f}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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class CR{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:ll,endingEnd:ll};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=$M,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Vy:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case Sg:default:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[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===e2;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===ZM){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 A=e<0;this._setEndings(A,!A,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=cl,r.endingEnd=cl):(e?r.endingStart=this.zeroSlopeAtStart?cl:ll:r.endingStart=lh,t?r.endingEnd=this.zeroSlopeAtEnd?cl:ll:r.endingEnd=lh)}_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 hO=new Float32Array(1);class fO extends uo{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let f=0;f!==s;++f){const d=r[f],g=d.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[f]=E;else{if(E=o[f],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const v=t&&t._propertyBindings[f].binding.parsedPath;E=new ER(Yt.create(i,g,v),d.ValueTypeName,d.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[f]=E}a[f].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,WS).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 YS=new G,kd=new G;class IO{constructor(e=new G,t=new G){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){YS.subVectors(e,this.start),kd.subVectors(this.end,this.start);const i=kd.dot(kd);let s=kd.dot(YS)/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 JS=new G;class yO extends Xt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Dt,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 f=0;f.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{ZS.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(ZS,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 bO extends Rs{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 Dt;r.setAttribute("position",new st(t,3)),r.setAttribute("color",new st(i,3));const s=new Vi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new qe,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 Vo{constructor(){this.type="ShapePath",this.color=new qe,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ua,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(p){const y=[];for(let I=0,S=p.length;INumber.EPSILON){if(_<0&&(D=y[M],J=-J,U=y[R],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const b=_*(p.x-D.x)-J*(p.y-D.y);if(b===0)return!0;if(b<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return S}const r=es.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Aa,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const f=[],d=[];let g=[],E=0,v;d[E]=void 0,g[E]=[];for(let p=0,y=s.length;p1){let p=!1,y=0;for(let I=0,S=d.length;I0&&p===!1&&(g=f)}let C;for(let p=0,y=d.length;p=0&&(S[N]=null,I[N].disconnect(F))}for(let H=0;H=S.length){S.push(F),N=ve;break}else if(S[ve]===null){S[ve]=F,N=ve;break}if(N===-1)break}const Ee=I[N];Ee&&Ee.connect(F)}}const ne=new G,de=new G;function k(V,H,F){ne.setFromMatrixPosition(H.matrixWorld),de.setFromMatrixPosition(F.matrixWorld);const N=ne.distanceTo(de),Ee=H.projectionMatrix.elements,ve=F.projectionMatrix.elements,pe=Ee[14]/(Ee[10]-1),Se=Ee[14]/(Ee[10]+1),O=(Ee[9]+1)/Ee[5],me=(Ee[9]-1)/Ee[5],$=(Ee[8]-1)/Ee[0],ue=(ve[8]+1)/ve[0],oe=pe*$,De=pe*ue,K=N/(-$+ue),w=K*-$;H.matrixWorld.decompose(V.position,V.quaternion,V.scale),V.translateX(w),V.translateZ(K),V.matrixWorld.compose(V.position,V.quaternion,V.scale),V.matrixWorldInverse.copy(V.matrixWorld).invert();const T=pe+K,te=Se+K,Le=oe-w,Te=De+(N-w),Re=O*Se/te*T,Je=me*Se/te*T;V.projectionMatrix.makePerspective(Le,Te,Re,Je,T,te),V.projectionMatrixInverse.copy(V.projectionMatrix).invert()}function j(V,H){H===null?V.matrixWorld.copy(V.matrix):V.matrixWorld.multiplyMatrices(H.matrixWorld,V.matrix),V.matrixWorldInverse.copy(V.matrixWorld).invert()}this.updateCamera=function(V){if(r===null)return;v.texture!==null&&(V.near=v.depthNear,V.far=v.depthFar),_.near=U.near=D.near=V.near,_.far=U.far=D.far=V.far,(b!==_.near||q!==_.far)&&(r.updateRenderState({depthNear:_.near,depthFar:_.far}),b=_.near,q=_.far,D.near=b,D.far=q,U.near=b,U.far=q,D.updateProjectionMatrix(),U.updateProjectionMatrix(),V.updateProjectionMatrix());const H=V.parent,F=_.cameras;j(_,H);for(let N=0;N0&&(C.alphaTest.value=p.alphaTest);const y=e.get(p).envMap;if(y&&(C.envMap.value=y,C.flipEnvMap.value=y.isCubeTexture&&y.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=p.reflectivity,C.ior.value=p.ior,C.refractionRatio.value=p.refractionRatio),p.lightMap){C.lightMap.value=p.lightMap;const I=n._useLegacyLights===!0?Math.PI:1;C.lightMapIntensity.value=p.lightMapIntensity*I,t(p.lightMap,C.lightMapTransform)}p.aoMap&&(C.aoMap.value=p.aoMap,C.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,C.aoMapTransform))}function o(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform))}function a(C,p){C.dashSize.value=p.dashSize,C.totalSize.value=p.dashSize+p.gapSize,C.scale.value=p.scale}function l(C,p,y,I){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.size.value=p.size*y,C.scale.value=I*.5,p.map&&(C.map.value=p.map,t(p.map,C.uvTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function A(C,p){C.diffuse.value.copy(p.color),C.opacity.value=p.opacity,C.rotation.value=p.rotation,p.map&&(C.map.value=p.map,t(p.map,C.mapTransform)),p.alphaMap&&(C.alphaMap.value=p.alphaMap,t(p.alphaMap,C.alphaMapTransform)),p.alphaTest>0&&(C.alphaTest.value=p.alphaTest)}function h(C,p){C.specular.value.copy(p.specular),C.shininess.value=Math.max(p.shininess,1e-4)}function f(C,p){p.gradientMap&&(C.gradientMap.value=p.gradientMap)}function d(C,p){C.metalness.value=p.metalness,p.metalnessMap&&(C.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,C.metalnessMapTransform)),C.roughness.value=p.roughness,p.roughnessMap&&(C.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,C.roughnessMapTransform)),e.get(p).envMap&&(C.envMapIntensity.value=p.envMapIntensity)}function g(C,p,y){C.ior.value=p.ior,p.sheen>0&&(C.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),C.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(C.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,C.sheenColorMapTransform)),p.sheenRoughnessMap&&(C.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,C.sheenRoughnessMapTransform))),p.clearcoat>0&&(C.clearcoat.value=p.clearcoat,C.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(C.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,C.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(C.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Oi&&C.clearcoatNormalScale.value.negate())),p.iridescence>0&&(C.iridescence.value=p.iridescence,C.iridescenceIOR.value=p.iridescenceIOR,C.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(C.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,C.iridescenceMapTransform)),p.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),p.transmission>0&&(C.transmission.value=p.transmission,C.transmissionSamplerMap.value=y.texture,C.transmissionSamplerSize.value.set(y.width,y.height),p.transmissionMap&&(C.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,C.transmissionMapTransform)),C.thickness.value=p.thickness,p.thicknessMap&&(C.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=p.attenuationDistance,C.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(C.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(C.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=p.specularIntensity,C.specularColor.value.copy(p.specularColor),p.specularColorMap&&(C.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,C.specularColorMapTransform)),p.specularIntensityMap&&(C.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,C.specularIntensityMapTransform))}function E(C,p){p.matcap&&(C.matcap.value=p.matcap)}function v(C,p){const y=e.get(p).light;C.referencePosition.value.setFromMatrixPosition(y.matrixWorld),C.nearDistance.value=y.shadow.camera.near,C.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function Xk(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(y,I){const S=I.program;i.uniformBlockBinding(y,S)}function A(y,I){let S=r[y.id];S===void 0&&(E(y),S=h(y),r[y.id]=S,y.addEventListener("dispose",C));const R=I.program;i.updateUBOMapping(y,R);const M=e.render.frame;s[y.id]!==M&&(d(y),s[y.id]=M)}function h(y){const I=f();y.__bindingPointIndex=I;const S=n.createBuffer(),R=y.__size,M=y.usage;return n.bindBuffer(n.UNIFORM_BUFFER,S),n.bufferData(n.UNIFORM_BUFFER,R,M),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,I,S),S}function f(){for(let y=0;y0&&(S+=R-M),y.__size=S,y.__cache={},this}function v(y){const I={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(I.boundary=4,I.storage=4):y.isVector2?(I.boundary=8,I.storage=8):y.isVector3||y.isColor?(I.boundary=16,I.storage=12):y.isVector4?(I.boundary=16,I.storage=16):y.isMatrix3?(I.boundary=48,I.storage=48):y.isMatrix4?(I.boundary=64,I.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),I}function C(y){const I=y.target;I.removeEventListener("dispose",C);const S=o.indexOf(I.__bindingPointIndex);o.splice(S,1),n.deleteBuffer(r[I.id]),delete r[I.id],delete s[I.id]}function p(){for(const y in r)n.deleteBuffer(r[y]);o=[],r={},s={}}return{bind:l,update:A,dispose:p}}class t1{constructor(e={}){const{canvas:t=h2(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:A=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:f=!1}=e;this.isWebGLRenderer=!0;let d;i!==null?d=i.getContextAttributes().alpha:d=o;const g=new Uint32Array(4),E=new Int32Array(4);let v=null,C=null;const p=[],y=[];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=Nn,this._useLegacyLights=!1,this.toneMapping=ws,this.toneMappingExposure=1;const I=this;let S=!1,R=0,M=0,D=null,U=-1,J=null;const _=new on,b=new on;let q=null;const fe=new qe(0);let Y=0,se=t.width,ne=t.height,de=1,k=null,j=null;const ee=new on(0,0,se,ne),Ae=new on(0,0,se,ne);let _e=!1;const ke=new Nh;let V=!1,H=!1,F=null;const N=new ft,Ee=new Be,ve=new G,pe={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Se(){return D===null?de:1}let O=i;function me(z,ge){for(let ye=0;ye{function Xe(){if(we.forEach(function(ct){K.get(ct).currentProgram.isReady()&&we.delete(ct)}),we.size===0){Ie(z);return}setTimeout(Xe,10)}$.get("KHR_parallel_shader_compile")!==null?Xe():setTimeout(Xe,10)})};let Zt=null;function $t(z){Zt&&Zt(z)}function ui(){rn.stop()}function en(){rn.start()}const rn=new C2;rn.setAnimationLoop($t),typeof self<"u"&&rn.setContext(self),this.setAnimationLoop=function(z){Zt=z,Mt.setAnimationLoop(z),z===null?rn.stop():rn.start()},Mt.addEventListener("sessionstart",ui),Mt.addEventListener("sessionend",en),this.render=function(z,ge){if(ge!==void 0&&ge.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(S===!0)return;z.matrixWorldAutoUpdate===!0&&z.updateMatrixWorld(),ge.parent===null&&ge.matrixWorldAutoUpdate===!0&&ge.updateMatrixWorld(),Mt.enabled===!0&&Mt.isPresenting===!0&&(Mt.cameraAutoUpdate===!0&&Mt.updateCamera(ge),ge=Mt.getCamera()),z.isScene===!0&&z.onBeforeRender(I,z,ge,D),C=lt.get(z,y.length),C.init(),y.push(C),N.multiplyMatrices(ge.projectionMatrix,ge.matrixWorldInverse),ke.setFromProjectionMatrix(N),H=this.localClippingEnabled,V=mt.init(this.clippingPlanes,H),v=je.get(z,p.length),v.init(),p.push(v),Ri(z,ge,0,I.sortObjects),v.finish(),I.sortObjects===!0&&v.sort(k,j),this.info.render.frame++,V===!0&&mt.beginShadows();const ye=C.state.shadowsArray;if(be.render(ye,z,ge),V===!0&&mt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(Mt.enabled===!1||Mt.isPresenting===!1||Mt.hasDepthSensing()===!1)&&Tt.render(v,z),C.setupLights(I._useLegacyLights),ge.isArrayCamera){const we=ge.cameras;for(let Ie=0,Xe=we.length;Ie0?C=y[y.length-1]:C=null,p.pop(),p.length>0?v=p[p.length-1]:v=null};function Ri(z,ge,ye,we){if(z.visible===!1)return;if(z.layers.test(ge.layers)){if(z.isGroup)ye=z.renderOrder;else if(z.isLOD)z.autoUpdate===!0&&z.update(ge);else if(z.isLight)C.pushLight(z),z.castShadow&&C.pushShadow(z);else if(z.isSprite){if(!z.frustumCulled||ke.intersectsSprite(z)){we&&ve.setFromMatrixPosition(z.matrixWorld).applyMatrix4(N);const ct=Re.update(z),Et=z.material;Et.visible&&v.push(z,ct,Et,ye,ve.z,null)}}else if((z.isMesh||z.isLine||z.isPoints)&&(!z.frustumCulled||ke.intersectsObject(z))){const ct=Re.update(z),Et=z.material;if(we&&(z.boundingSphere!==void 0?(z.boundingSphere===null&&z.computeBoundingSphere(),ve.copy(z.boundingSphere.center)):(ct.boundingSphere===null&&ct.computeBoundingSphere(),ve.copy(ct.boundingSphere.center)),ve.applyMatrix4(z.matrixWorld).applyMatrix4(N)),Array.isArray(Et)){const Ct=ct.groups;for(let xt=0,Bt=Ct.length;xt0&&Ls(Ie,Xe,ge,ye),we&&oe.viewport(_.copy(we)),Ie.length>0&&os(Ie,ge,ye),Xe.length>0&&os(Xe,ge,ye),ct.length>0&&os(ct,ge,ye),oe.buffers.depth.setTest(!0),oe.buffers.depth.setMask(!0),oe.buffers.color.setMask(!0),oe.setPolygonOffset(!1)}function Ls(z,ge,ye,we){if((ye.isScene===!0?ye.overrideMaterial:null)!==null)return;const Xe=ue.isWebGL2;F===null&&(F=new Ur(1,1,{generateMipmaps:!0,type:$.has("EXT_color_buffer_half_float")?_l:_s,minFilter:vs,samples:Xe?4:0})),I.getDrawingBufferSize(Ee),Xe?F.setSize(Ee.x,Ee.y):F.setSize(eg(Ee.x),eg(Ee.y));const ct=I.getRenderTarget();I.setRenderTarget(F),I.getClearColor(fe),Y=I.getClearAlpha(),Y<1&&I.setClearColor(16777215,.5),I.clear();const Et=I.toneMapping;I.toneMapping=ws,os(z,ye,we),w.updateMultisampleRenderTarget(F),w.updateRenderTargetMipmap(F);let Ct=!1;for(let xt=0,Bt=ge.length;xt0),vt=!!ye.morphAttributes.position,pn=!!ye.morphAttributes.normal,Wn=!!ye.morphAttributes.color;let ln=ws;we.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(ln=I.toneMapping);const Rn=ye.morphAttributes.position||ye.morphAttributes.normal||ye.morphAttributes.color,ut=Rn!==void 0?Rn.length:0,$e=K.get(we),Di=C.state.lights;if(V===!0&&(H===!0||z!==J)){const Ue=z===J&&we.id===U;mt.setState(we,z,Ue)}let L=!1;we.version===$e.__version?($e.needsLights&&$e.lightsStateVersion!==Di.state.version||$e.outputColorSpace!==Et||Ie.isBatchedMesh&&$e.batching===!1||!Ie.isBatchedMesh&&$e.batching===!0||Ie.isInstancedMesh&&$e.instancing===!1||!Ie.isInstancedMesh&&$e.instancing===!0||Ie.isSkinnedMesh&&$e.skinning===!1||!Ie.isSkinnedMesh&&$e.skinning===!0||Ie.isInstancedMesh&&$e.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&$e.instancingColor===!1&&Ie.instanceColor!==null||$e.envMap!==Ct||we.fog===!0&&$e.fog!==Xe||$e.numClippingPlanes!==void 0&&($e.numClippingPlanes!==mt.numPlanes||$e.numIntersection!==mt.numIntersection)||$e.vertexAlphas!==xt||$e.vertexTangents!==Bt||$e.morphTargets!==vt||$e.morphNormals!==pn||$e.morphColors!==Wn||$e.toneMapping!==ln||ue.isWebGL2===!0&&$e.morphTargetsCount!==ut)&&(L=!0):(L=!0,$e.__version=we.version);let P=$e.currentProgram;L===!0&&(P=as(we,ge,Ie));let Z=!1,ie=!1,he=!1;const xe=P.getUniforms(),Ne=$e.uniforms;if(oe.useProgram(P.program)&&(Z=!0,ie=!0,he=!0),we.id!==U&&(U=we.id,ie=!0),Z||J!==z){xe.setValue(O,"projectionMatrix",z.projectionMatrix),xe.setValue(O,"viewMatrix",z.matrixWorldInverse);const Ue=xe.map.cameraPosition;Ue!==void 0&&Ue.setValue(O,ve.setFromMatrixPosition(z.matrixWorld)),ue.logarithmicDepthBuffer&&xe.setValue(O,"logDepthBufFC",2/(Math.log(z.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&xe.setValue(O,"isOrthographic",z.isOrthographicCamera===!0),J!==z&&(J=z,ie=!0,he=!0)}if(Ie.isSkinnedMesh){xe.setOptional(O,Ie,"bindMatrix"),xe.setOptional(O,Ie,"bindMatrixInverse");const Ue=Ie.skeleton;Ue&&(ue.floatVertexTextures?(Ue.boneTexture===null&&Ue.computeBoneTexture(),xe.setValue(O,"boneTexture",Ue.boneTexture,w)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}Ie.isBatchedMesh&&(xe.setOptional(O,Ie,"batchingTexture"),xe.setValue(O,"batchingTexture",Ie._matricesTexture,w));const Pe=ye.morphAttributes;if((Pe.position!==void 0||Pe.normal!==void 0||Pe.color!==void 0&&ue.isWebGL2===!0)&&St.update(Ie,ye,P),(ie||$e.receiveShadow!==Ie.receiveShadow)&&($e.receiveShadow=Ie.receiveShadow,xe.setValue(O,"receiveShadow",Ie.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(Ne.envMap.value=Ct,Ne.flipEnvMap.value=Ct.isCubeTexture&&Ct.isRenderTargetTexture===!1?-1:1),ie&&(xe.setValue(O,"toneMappingExposure",I.toneMappingExposure),$e.needsLights&&Ru(Ne,he),Xe&&we.fog===!0&&Ve.refreshFogUniforms(Ne,Xe),Ve.refreshMaterialUniforms(Ne,we,de,ne,F),vp.upload(O,Gl($e),Ne,w)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(vp.upload(O,Gl($e),Ne,w),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&xe.setValue(O,"center",Ie.center),xe.setValue(O,"modelViewMatrix",Ie.modelViewMatrix),xe.setValue(O,"normalMatrix",Ie.normalMatrix),xe.setValue(O,"modelMatrix",Ie.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Ue=we.uniformsGroups;for(let Fe=0,We=Ue.length;Fe0&&w.useMultisampledRTT(z)===!1?Ie=K.get(z).__webglMultisampledFramebuffer:Array.isArray(Bt)?Ie=Bt[ye]:Ie=Bt,_.copy(z.viewport),b.copy(z.scissor),q=z.scissorTest}else _.copy(ee).multiplyScalar(de).floor(),b.copy(Ae).multiplyScalar(de).floor(),q=_e;if(oe.bindFramebuffer(O.FRAMEBUFFER,Ie)&&ue.drawBuffers&&we&&oe.drawBuffers(z,Ie),oe.viewport(_),oe.scissor(b),oe.setScissorTest(q),Xe){const Ct=K.get(z.texture);O.framebufferTexture2D(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,O.TEXTURE_CUBE_MAP_POSITIVE_X+ge,Ct.__webglTexture,ye)}else if(ct){const Ct=K.get(z.texture),xt=ge||0;O.framebufferTextureLayer(O.FRAMEBUFFER,O.COLOR_ATTACHMENT0,Ct.__webglTexture,ye||0,xt)}U=-1},this.readRenderTargetPixels=function(z,ge,ye,we,Ie,Xe,ct){if(!(z&&z.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Et=K.get(z).__webglFramebuffer;if(z.isWebGLCubeRenderTarget&&ct!==void 0&&(Et=Et[ct]),Et){oe.bindFramebuffer(O.FRAMEBUFFER,Et);try{const Ct=z.texture,xt=Ct.format,Bt=Ct.type;if(xt!==Ui&&tt.convert(xt)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const vt=Bt===_l&&($.has("EXT_color_buffer_half_float")||ue.isWebGL2&&$.has("EXT_color_buffer_float"));if(Bt!==_s&&tt.convert(Bt)!==O.getParameter(O.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Bt===Dr&&(ue.isWebGL2||$.has("OES_texture_float")||$.has("WEBGL_color_buffer_float")))&&!vt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ge>=0&&ge<=z.width-we&&ye>=0&&ye<=z.height-Ie&&O.readPixels(ge,ye,we,Ie,tt.convert(xt),tt.convert(Bt),Xe)}finally{const Ct=D!==null?K.get(D).__webglFramebuffer:null;oe.bindFramebuffer(O.FRAMEBUFFER,Ct)}}},this.copyFramebufferToTexture=function(z,ge,ye=0){const we=Math.pow(2,-ye),Ie=Math.floor(ge.image.width*we),Xe=Math.floor(ge.image.height*we);w.setTexture2D(ge,0),O.copyTexSubImage2D(O.TEXTURE_2D,ye,0,0,z.x,z.y,Ie,Xe),oe.unbindTexture()},this.copyTextureToTexture=function(z,ge,ye,we=0){const Ie=ge.image.width,Xe=ge.image.height,ct=tt.convert(ye.format),Et=tt.convert(ye.type);w.setTexture2D(ye,0),O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,ye.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ye.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,ye.unpackAlignment),ge.isDataTexture?O.texSubImage2D(O.TEXTURE_2D,we,z.x,z.y,Ie,Xe,ct,Et,ge.image.data):ge.isCompressedTexture?O.compressedTexSubImage2D(O.TEXTURE_2D,we,z.x,z.y,ge.mipmaps[0].width,ge.mipmaps[0].height,ct,ge.mipmaps[0].data):O.texSubImage2D(O.TEXTURE_2D,we,z.x,z.y,ct,Et,ge.image),we===0&&ye.generateMipmaps&&O.generateMipmap(O.TEXTURE_2D),oe.unbindTexture()},this.copyTextureToTexture3D=function(z,ge,ye,we,Ie=0){if(I.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Xe=z.max.x-z.min.x+1,ct=z.max.y-z.min.y+1,Et=z.max.z-z.min.z+1,Ct=tt.convert(we.format),xt=tt.convert(we.type);let Bt;if(we.isData3DTexture)w.setTexture3D(we,0),Bt=O.TEXTURE_3D;else if(we.isDataArrayTexture||we.isCompressedArrayTexture)w.setTexture2DArray(we,0),Bt=O.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}O.pixelStorei(O.UNPACK_FLIP_Y_WEBGL,we.flipY),O.pixelStorei(O.UNPACK_PREMULTIPLY_ALPHA_WEBGL,we.premultiplyAlpha),O.pixelStorei(O.UNPACK_ALIGNMENT,we.unpackAlignment);const vt=O.getParameter(O.UNPACK_ROW_LENGTH),pn=O.getParameter(O.UNPACK_IMAGE_HEIGHT),Wn=O.getParameter(O.UNPACK_SKIP_PIXELS),ln=O.getParameter(O.UNPACK_SKIP_ROWS),Rn=O.getParameter(O.UNPACK_SKIP_IMAGES),ut=ye.isCompressedTexture?ye.mipmaps[Ie]:ye.image;O.pixelStorei(O.UNPACK_ROW_LENGTH,ut.width),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,ut.height),O.pixelStorei(O.UNPACK_SKIP_PIXELS,z.min.x),O.pixelStorei(O.UNPACK_SKIP_ROWS,z.min.y),O.pixelStorei(O.UNPACK_SKIP_IMAGES,z.min.z),ye.isDataTexture||ye.isData3DTexture?O.texSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,ct,Et,Ct,xt,ut.data):ye.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),O.compressedTexSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,ct,Et,Ct,ut.data)):O.texSubImage3D(Bt,Ie,ge.x,ge.y,ge.z,Xe,ct,Et,Ct,xt,ut),O.pixelStorei(O.UNPACK_ROW_LENGTH,vt),O.pixelStorei(O.UNPACK_IMAGE_HEIGHT,pn),O.pixelStorei(O.UNPACK_SKIP_PIXELS,Wn),O.pixelStorei(O.UNPACK_SKIP_ROWS,ln),O.pixelStorei(O.UNPACK_SKIP_IMAGES,Rn),Ie===0&&we.generateMipmaps&&O.generateMipmap(Bt),oe.unbindTexture()},this.initTexture=function(z){z.isCubeTexture?w.setTextureCube(z,0):z.isData3DTexture?w.setTexture3D(z,0):z.isDataArrayTexture||z.isCompressedArrayTexture?w.setTexture2DArray(z,0):w.setTexture2D(z,0),oe.unbindTexture()},this.resetState=function(){R=0,M=0,D=null,oe.reset(),yt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Bs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===wg?"display-p3":"srgb",t.unpackColorSpace=sn.workingColorSpace===Th?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?ca:Wy}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===ca?Nn:Qs}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 _2 extends t1{}_2.prototype.isWebGL1Renderer=!0;class Dg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new qe(e),this.density=t}clone(){return new Dg(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 qe(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 ph extends Xt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,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,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}}class Lg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=hh,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=dr()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return ml("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:lA.clone(),uv:ur.getInterpolation(lA,Id,uA,yd,cS,aE,uS,new Be),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 vd(n,e,t,i,r,s){yc.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(cA.x=s*yc.x-r*yc.y,cA.y=r*yc.x+s*yc.y):cA.copy(yc),n.copy(e),n.x+=cA.x,n.y+=cA.y,n.applyMatrix4(Q2)}const Bd=new G,AS=new G;class R2 extends Xt{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){Bd.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Bd);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Bd.setFromMatrixPosition(e.matrixWorld),AS.setFromMatrixPosition(this.matrixWorld);const i=Bd.distanceTo(AS)/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 Bc="batchId",Ho=new ft,IS=new ft,tF=new ft,yS=new ft,uE=new Nh,wd=new qn,za=new ci,fA=new G,AE=new eF,wi=new tn,_d=[];function nF(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 nn(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute(Bc,new nn(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute(Bc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Bc}"`);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===Bc)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 A=e.getIndex(),h=A!==null;if(h&&(i===-1?r.indexCount=A.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 f=this._visibility,d=this._active,g=this._matricesTexture,E=this._matricesTexture.image.data;f.push(!0),d.push(!0);const v=this._geometryCount;this._geometryCount++,tF.toArray(E,v*16),g.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new qn,sphereInitialized:!1,sphere:new ci});const C=this.geometry.getAttribute(Bc);for(let p=0;p=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,A=a.vertexCount;for(const g in i.attributes){if(g===Bc)continue;const E=t.getAttribute(g),v=i.getAttribute(g);nF(E,v,l);const C=E.itemSize;for(let p=E.count,y=A;p=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return null;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,A=this._drawRanges[e];for(let h=A.start,f=A.start+A.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;wi.material=this.material,wi.geometry.index=l.index,wi.geometry.attributes=l.attributes,wi.geometry.boundingBox===null&&(wi.geometry.boundingBox=new qn),wi.geometry.boundingSphere===null&&(wi.geometry.boundingSphere=new ci);for(let A=0;A({...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,A=this._visibility,h=this._multiDrawStarts,f=this._multiDrawCounts,d=this._drawRanges,g=this.perObjectFrustumCulled;g&&(yS.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),uE.setFromProjectionMatrix(yS,e.coordinateSystem));let E=0;if(this.sortObjects){IS.copy(this.matrixWorld).invert(),fA.setFromMatrixPosition(i.matrixWorld).applyMatrix4(IS);for(let p=0,y=A.length;pl)continue;d.applyMatrix4(this.matrixWorld);const U=e.ray.origin.distanceTo(d);Ue.far||t.push({distance:U,point:f.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}else{const p=Math.max(0,o.start),y=Math.min(C.count,o.start+o.count);for(let I=p,S=y-1;Il)continue;d.applyMatrix4(this.matrixWorld);const M=e.ray.origin.distanceTo(d);Me.far||t.push({distance:M,point:f.clone().applyMatrix4(this.matrixWorld),index:I,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:A,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class P2 extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:In,this.magFilter=s!==void 0?s:In,this.generateMipmaps=!1;const h=this;function f(){h.needsUpdate=!0,e.requestVideoFrameCallback(f)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(f)}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 iF extends xn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Fn,this.minFilter=Fn,this.generateMipmaps=!1,this.needsUpdate=!0}}class Ng extends xn{constructor(e,t,i,r,s,o,a,l,A,h,f,d){super(null,o,a,l,A,h,r,s,f,d),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class rF extends Ng{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Qi}}class sF extends Ng{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,lo),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class oF extends xn{constructor(e,t,i,r,s,o,a,l,A){super(e,t,i,r,s,o,a,l,A),this.isCanvasTexture=!0,this.needsUpdate=!0}}class is{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,A;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),A=i[r]-o,A<0)a=r+1;else if(A>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],d=i[r+1]-h,g=(o-h)/d;return(r+g)/(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 Be:new G);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 G,r=[],s=[],o=[],a=new G,l=new ft;for(let g=0;g<=e;g++){const E=g/e;r[g]=this.getTangentAt(E,new G)}s[0]=new G,o[0]=new G;let A=Number.MAX_VALUE;const h=Math.abs(r[0].x),f=Math.abs(r[0].y),d=Math.abs(r[0].z);h<=A&&(A=h,i.set(1,0,0)),f<=A&&(A=f,i.set(0,1,0)),d<=A&&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 g=1;g<=e;g++){if(s[g]=s[g-1].clone(),o[g]=o[g-1].clone(),a.crossVectors(r[g-1],r[g]),a.length()>Number.EPSILON){a.normalize();const E=Math.acos(Pn(r[g-1].dot(r[g]),-1,1));s[g].applyMatrix4(l.makeRotationAxis(a,E))}o[g].crossVectors(r[g],s[g])}if(t===!0){let g=Math.acos(Pn(s[0].dot(s[e]),-1,1));g/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(g=-g);for(let E=1;E<=e;E++)s[E].applyMatrix4(l.makeRotationAxis(r[E],g*E)),o[E].crossVectors(r[E],s[E])}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 is{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){const i=t||new Be,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 A,h;this.closed||a>0?A=r[(a-1)%s]:(Dd.subVectors(r[0],r[1]).add(r[0]),A=Dd);const f=r[a%s],d=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],f=r[o>r.length-3?r.length-1:o+2];return i.set(MS(a,l.x,A.x,h.x,f.x),MS(a,l.y,A.y,h.y,f.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(),A=l===0?0:1-o/l;return a.getPointAt(A,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 f=A.getPoint(0);f.equals(this.currentPoint)||this.lineTo(f.x,f.y)}this.curves.push(A);const h=A.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 Ph extends Dt{constructor(e=[new Be(0,-.5),new Be(.5,0),new Be(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=[],A=[],h=1/t,f=new G,d=new Be,g=new G,E=new G,v=new G;let C=0,p=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:C=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-C,g.z=p*0,v.copy(g),g.normalize(),l.push(g.x,g.y,g.z);break;case e.length-1:l.push(v.x,v.y,v.z);break;default:C=e[y+1].x-e[y].x,p=e[y+1].y-e[y].y,g.x=p*1,g.y=-C,g.z=p*0,E.copy(g),g.x+=v.x,g.y+=v.y,g.z+=v.z,g.normalize(),l.push(g.x,g.y,g.z),v.copy(E)}for(let y=0;y<=t;y++){const I=i+y*h*r,S=Math.sin(I),R=Math.cos(I);for(let M=0;M<=e.length-1;M++){f.x=e[M].x*S,f.y=e[M].y,f.z=e[M].x*R,o.push(f.x,f.y,f.z),d.x=y/t,d.y=M/(e.length-1),a.push(d.x,d.y);const D=l[3*M+0]*S,U=l[3*M+1],J=l[3*M+0]*R;A.push(D,U,J)}}for(let y=0;y0&&I(!0),t>0&&I(!1)),this.setIndex(h),this.setAttribute("position",new ot(f,3)),this.setAttribute("normal",new ot(d,3)),this.setAttribute("uv",new ot(g,2));function y(){const S=new G,R=new G;let M=0;const D=(t-e)/i;for(let U=0;U<=s;U++){const J=[],_=U/s,b=_*(t-e)+e;for(let q=0;q<=r;q++){const fe=q/r,Y=fe*l+a,se=Math.sin(Y),ne=Math.cos(Y);R.x=b*se,R.y=-_*i+C,R.z=b*ne,f.push(R.x,R.y,R.z),S.set(se,D,ne).normalize(),d.push(S.x,S.y,S.z),g.push(fe,1-_),J.push(E++)}v.push(J)}for(let U=0;U.9&&D<.1&&(I<.2&&(o[y+0]+=1),S<.2&&(o[y+2]+=1),R<.2&&(o[y+4]+=1))}}function d(y){s.push(y.x,y.y,y.z)}function g(y,I){const S=y*3;I.x=e[S+0],I.y=e[S+1],I.z=e[S+2]}function E(){const y=new G,I=new G,S=new G,R=new G,M=new Be,D=new Be,U=new Be;for(let J=0,_=0;J80*t){a=A=n[0],l=h=n[1];for(let E=t;EA&&(A=f),d>h&&(h=d);g=Math.max(A-a,h-l),g=g!==0?32767/g:0}return gh(s,o,t,a,l,g,0),o}};function z2(n,e,t,i,r){let s,o;if(r===RF(n,e,t,i)>0)for(s=e;s=e;s-=i)o=RS(s,n[s],n[s+1],o);return o&&Gg(o,o.next)&&(Eh(o),o=o.next),o}function Rl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Gg(t,t.next)||_n(t.prev,t,t.next)===0)){if(Eh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function gh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&xF(n,i,r,s);let a=n,l,A;for(;n.prev!==n.next;){if(l=n.prev,A=n.next,s?gF(n,i,r,s):pF(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(A.i/t|0),Eh(n),n=A.next,a=A.next;continue}if(n=A,n===a){o?o===1?(n=mF(Rl(n),e,t),gh(n,e,t,i,r,s,2)):o===2&&EF(n,e,t,i,r,s):gh(Rl(n),e,t,i,r,s,1);break}}}function pF(n){const e=n.prev,t=n,i=n.next;if(_n(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,A=i.y,h=rs?r>o?r:o:s>o?s:o,g=a>l?a>A?a:A:l>A?l:A;let E=i.next;for(;E!==e;){if(E.x>=h&&E.x<=d&&E.y>=f&&E.y<=g&&Xc(r,a,s,l,o,A,E.x,E.y)&&_n(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function gF(n,e,t,i){const r=n.prev,s=n,o=n.next;if(_n(r,s,o)>=0)return!1;const a=r.x,l=s.x,A=o.x,h=r.y,f=s.y,d=o.y,g=al?a>A?a:A:l>A?l:A,C=h>f?h>d?h:d:f>d?f:d,p=xI(g,E,e,t,i),y=xI(v,C,e,t,i);let I=n.prevZ,S=n.nextZ;for(;I&&I.z>=p&&S&&S.z<=y;){if(I.x>=g&&I.x<=v&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&Xc(a,h,l,f,A,d,I.x,I.y)&&_n(I.prev,I,I.next)>=0||(I=I.prevZ,S.x>=g&&S.x<=v&&S.y>=E&&S.y<=C&&S!==r&&S!==o&&Xc(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;I&&I.z>=p;){if(I.x>=g&&I.x<=v&&I.y>=E&&I.y<=C&&I!==r&&I!==o&&Xc(a,h,l,f,A,d,I.x,I.y)&&_n(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;S&&S.z<=y;){if(S.x>=g&&S.x<=v&&S.y>=E&&S.y<=C&&S!==r&&S!==o&&Xc(a,h,l,f,A,d,S.x,S.y)&&_n(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function mF(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Gg(r,s)&&V2(r,i,i.next,s)&&mh(r,s)&&mh(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Eh(i),Eh(i.next),i=n=s),i=i.next}while(i!==n);return Rl(i)}function EF(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&_F(o,a)){let l=W2(o,a);o=Rl(o,o.next),l=Rl(l,l.next),gh(o,e,t,i,r,s,0),gh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function CF(n,e,t,i){const r=[];let s,o,a,l,A;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const d=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(d<=s&&d>i&&(i=d,r=t.x=t.x&&t.x>=l&&s!==t.x&&Xc(or.x||t.x===r.x&&BF(r,t)))&&(r=t,h=f)),t=t.next;while(t!==a);return r}function BF(n,e){return _n(n.prev,n,e.prev)<0&&_n(e.next,n,n.next)<0}function xF(n,e,t,i){let r=n;do r.z===0&&(r.z=xI(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,SF(r)}function SF(n){let e,t,i,r,s,o,a,l,A=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,A*=2}while(o>1);return n}function xI(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 wF(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 _F(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!QF(n,e)&&(mh(n,e)&&mh(e,n)&&MF(n,e)&&(_n(n.prev,n,e.prev)||_n(n,e.prev,e))||Gg(n,e)&&_n(n.prev,n,n.next)>0&&_n(e.prev,e,e.next)>0)}function _n(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Gg(n,e){return n.x===e.x&&n.y===e.y}function V2(n,e,t,i){const r=Pd(_n(n,e,t)),s=Pd(_n(n,e,i)),o=Pd(_n(t,i,n)),a=Pd(_n(t,i,e));return!!(r!==s&&o!==a||r===0&&Nd(n,t,e)||s===0&&Nd(n,i,e)||o===0&&Nd(t,n,i)||a===0&&Nd(t,e,i))}function Nd(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 Pd(n){return n>0?1:n<0?-1:0}function QF(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&&V2(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function mh(n,e){return _n(n.prev,n,n.next)<0?_n(n,e,n.next)>=0&&_n(n,n.prev,e)>=0:_n(n,e,n.prev)<0||_n(n,n.next,e)<0}function MF(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 W2(n,e){const t=new SI(n.i,n.x,n.y),i=new SI(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 RS(n,e,t,i){const r=new SI(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 Eh(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 SI(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 RF(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function TS(n,e){for(let t=0;tNumber.EPSILON){const Re=Math.sqrt(Le),Je=Math.sqrt(T*T+te*te),Ve=me.x-w/Re,je=me.y+K/Re,lt=$.x-te/Je,mt=$.y+T/Je,be=((lt-Ve)*te-(mt-je)*T)/(K*te-w*T);ue=Ve+K*be-O.x,oe=je+w*be-O.y;const Tt=ue*ue+oe*oe;if(Tt<=2)return new Be(ue,oe);De=Math.sqrt(Tt/2)}else{let Re=!1;K>Number.EPSILON?T>Number.EPSILON&&(Re=!0):K<-Number.EPSILON?T<-Number.EPSILON&&(Re=!0):Math.sign(w)===Math.sign(te)&&(Re=!0),Re?(ue=-w,oe=K,De=Math.sqrt(Le)):(ue=K,oe=w,De=Math.sqrt(Le/2))}return new Be(ue/De,oe/De)}const j=[];for(let O=0,me=Y.length,$=me-1,ue=O+1;O=0;O--){const me=O/C,$=g*Math.cos(me*Math.PI/2),ue=E*Math.sin(me*Math.PI/2)+v;for(let oe=0,De=Y.length;oe=0;){const ue=$;let oe=$-1;oe<0&&(oe=O.length-1);for(let De=0,K=h+C*2;De0)&&g.push(I,S,M),(p!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class q2 extends ti{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new qe(16777215),this.specular=new qe(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Dh,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.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 j2 extends ti{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new qe(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 Z2 extends ti{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 $2 extends ti{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new qe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Dh,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.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 eR extends ti{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new qe(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ia,this.normalScale=new Be(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 tR extends Vi{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 Al(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 nR(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function iR(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 wI(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 h1(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 bF(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){f.push(A.times[g]);for(let v=0;vs.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[E]){const p=E*f+h,y=p+f-h;v=a.values.slice(p,y)}else{const p=a.createInterpolant(),y=h,I=f-h;p.evaluate(s),v=p.resultBuffer.slice(y,I)}l==="quaternion"&&new Gi().fromArray(v).normalize().conjugate().toArray(v);const C=A.times.length;for(let p=0;p=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&&nR(r))for(let a=0,l=r.length;a!==l;++a){const A=r[a];if(isNaN(A)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,A),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===yp,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,A=0;A!==i;++A)t[l+A]=t[a+A];++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}}rs.prototype.TimeBufferType=Float32Array;rs.prototype.ValueBufferType=Float32Array;rs.prototype.DefaultInterpolation=ah;class bl extends rs{}bl.prototype.ValueTypeName="bool";bl.prototype.ValueBufferType=Array;bl.prototype.DefaultInterpolation=oh;bl.prototype.InterpolantFactoryMethodLinear=void 0;bl.prototype.InterpolantFactoryMethodSmooth=void 0;class d1 extends rs{}d1.prototype.ValueTypeName="color";class Ch extends rs{}Ch.prototype.ValueTypeName="number";class oR extends Fh{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 A=e*a;for(let h=A+a;A!==h;A+=4)Gi.slerpFlat(s,0,o,A-a,o,A,l);return s}}class Bu extends rs{InterpolantFactoryMethodLinear(e){return new oR(this.times,this.values,this.getValueSize(),e)}}Bu.prototype.ValueTypeName="quaternion";Bu.prototype.DefaultInterpolation=ah;Bu.prototype.InterpolantFactoryMethodSmooth=void 0;class Nl extends rs{}Nl.prototype.ValueTypeName="string";Nl.prototype.ValueBufferType=Array;Nl.prototype.DefaultInterpolation=oh;Nl.prototype.InterpolantFactoryMethodLinear=void 0;Nl.prototype.InterpolantFactoryMethodSmooth=void 0;class Ih extends rs{}Ih.prototype.ValueTypeName="vector";class yh{constructor(e,t=-1,i,r=Sg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=dr(),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(kF(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(rs.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const f=h[1];let d=r[f];d||(r[f]=d=[]),d.push(A)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(f,d,g,E,v){if(g.length!==0){const C=[],p=[];h1(g,C,p,E),C.length!==0&&v.push(new f(d,C,p))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const A=e.hierarchy||[];for(let f=0;f{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(A=>{if(A.status===200||A.status===0){if(A.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||A.body===void 0||A.body.getReader===void 0)return A;const h=Ws[e],f=A.body.getReader(),d=A.headers.get("Content-Length")||A.headers.get("X-File-Size"),g=d?parseInt(d):0,E=g!==0;let v=0;const C=new ReadableStream({start(p){y();function y(){f.read().then(({done:I,value:S})=>{if(I)p.close();else{v+=S.byteLength;const R=new ProgressEvent("progress",{lengthComputable:E,loaded:v,total:g});for(let M=0,D=h.length;M{switch(l){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return A.json();default:if(a===void 0)return A.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),d=f&&f[1]?f[1].toLowerCase():void 0,g=new TextDecoder(d);return A.arrayBuffer().then(E=>g.decode(E))}}}).then(A=>{to.add(e,A);const h=Ws[e];delete Ws[e];for(let f=0,d=h.length;f{const h=Ws[e];if(h===void 0)throw this.manager.itemError(e),A;delete Ws[e];for(let f=0,d=h.length;f{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class OF extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ms(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 qe().setHex(o.value);break;case"v2":r.uniforms[s].value=new Be().fromArray(o.value);break;case"v3":r.uniforms[s].value=new G().fromArray(o.value);break;case"v4":r.uniforms[s].value=new on().fromArray(o.value);break;case"m3":r.uniforms[s].value=new wt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ft().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new Be().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.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 Be().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:J2,SpriteMaterial:n1,RawShaderMaterial:X2,ShaderMaterial:ns,PointsMaterial:r1,MeshPhysicalMaterial:K2,MeshStandardMaterial:A1,MeshPhongMaterial:q2,MeshToonMaterial:j2,MeshNormalMaterial:Z2,MeshLambertMaterial:$2,MeshDepthMaterial:Mg,MeshDistanceMaterial:Rg,MeshBasicMaterial:tr,MeshMatcapMaterial:eR,LineDashedMaterial:tR,LineBasicMaterial:Vi,Material:ti};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 p1(t);s=new vh(l),s.setCrossOrigin(this.crossOrigin);for(let A=0,h=e.length;A0){r=new vh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const C=new qn;C.min.fromArray(v.boxMin),C.max.fromArray(v.boxMax);const p=new ci;return p.radius=v.sphereRadius,p.center.fromArray(v.sphereCenter),{boxInitialized:v.boxInitialized,box:C,sphereInitialized:v.sphereInitialized,sphere:p}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=A(e.matricesTexture.uuid);break;case"LOD":o=new R2;break;case"Line":o=new ga(a(e.geometry),l(e.material));break;case"LineLoop":o=new b2(a(e.geometry),l(e.material));break;case"LineSegments":o=new Rs(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new N2(a(e.geometry),l(e.material));break;case"Sprite":o=new M2(l(e.material));break;case"Group":o=new eo;break;case"Bone":o=new i1;break;default:o=new Xt}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 d=e.children;for(let g=0;g"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=to.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(A=>{t&&t(A),s.manager.itemEnd(e)}).catch(A=>{r&&r(A)});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(A){return A.blob()}).then(function(A){return createImageBitmap(A,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(A){return to.add(e,A),t&&t(A),s.manager.itemEnd(e),A}).catch(function(A){r&&r(A),to.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});to.add(e,l),s.manager.itemStart(e)}}let Ud;class m1{static getContext(){return Ud===void 0&&(Ud=new(window.AudioContext||window.webkitAudioContext)),Ud}static setContext(e){Ud=e}}class qF extends Wi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new Ms(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const A=l.slice(0);m1.getContext().decodeAudioData(A,function(f){t(f)}).catch(a)}catch(A){a(A)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const OS=new ft,GS=new ft,Va=new ft;class jF{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Xn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Xn,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,Va.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(gl*t.fov*.5)/t.zoom;let a,l;GS.elements[12]=-r,OS.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,Va.elements[0]=2*t.near/(l-a),Va.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Va),a=-o*t.aspect-s,l=o*t.aspect-s,Va.elements[0]=2*t.near/(l-a),Va.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Va)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(GS),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(OS)}}class E1{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=HS(),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=HS();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function HS(){return(typeof performance>"u"?Date:performance).now()}const Wa=new G,zS=new Gi,ZF=new G,Ya=new G;class $F extends Xt{constructor(){super(),this.type="AudioListener",this.context=m1.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new E1}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(Wa,zS,ZF),Ya.set(0,0,-1).applyQuaternion(zS),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Wa.x,r),t.positionY.linearRampToValueAtTime(Wa.y,r),t.positionZ.linearRampToValueAtTime(Wa.z,r),t.forwardX.linearRampToValueAtTime(Ya.x,r),t.forwardY.linearRampToValueAtTime(Ya.y,r),t.forwardZ.linearRampToValueAtTime(Ya.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(Wa.x,Wa.y,Wa.z),t.setOrientation(Ya.x,Ya.y,Ya.z,i.x,i.y,i.z)}}class ER extends Xt{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,A=t+t;l!==A;++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){Gi.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;Gi.multiplyQuaternionsFlat(e,o,e,t,e,i),Gi.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 C1="\\[\\]\\.:\\/",iO=new RegExp("["+C1+"]","g"),I1="[^"+C1+"]",rO="[^"+C1.replace("\\.","")+"]",sO=/((?:WC+[\/:])*)/.source.replace("WC",I1),oO=/(WCOD+)?/.source.replace("WCOD",rO),aO=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",I1),lO=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",I1),cO=new RegExp("^"+sO+oO+aO+lO+"$"),uO=["material","materials","bones","map"];class AO{constructor(e,t,i){const r=i||Yt.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 Yt{constructor(e,t,i){this.path=t,this.parsedPath=i||Yt.parseTrackName(t),this.node=Yt.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 Yt.Composite(e,t,i):new Yt(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(iO,"")}static parseTrackName(e){const t=cO.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);uO.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 f=s++,d=e[f];t[d.uuid]=h,e[h]=d,t[A]=f,e[f]=l;for(let g=0,E=r;g!==E;++g){const v=i[g],C=v[f],p=v[h];v[h]=C,v[f]=p}}}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 A=arguments[a],h=A.uuid,f=t[h];if(f!==void 0)if(delete t[h],f0&&(t[g.uuid]=f),e[f]=g,e.pop();for(let E=0,v=r;E!==v;++E){const C=i[E];C[f]=C[d],C.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,A=l.length,h=this.nCachedObjects_,f=new Array(A);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(f);for(let d=h,g=l.length;d!==g;++d){const E=l[d];f[d]=new Yt(E,e,t)}return f}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],A=e[a];t[A]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class IR{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:ll,endingEnd:ll};for(let A=0;A!==o;++A){const h=s[A].createInterpolant(null);a[A]=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=e2,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,A=a.sampleValues;return l[0]=s,l[1]=s+i,A[0]=e/o,A[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,A=this._propertyBindings;switch(this.blendMode){case Vy:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[h].accumulateAdditive(a);break;case Sg:default:for(let h=0,f=l.length;h!==f;++h)l[h].evaluate(o),A[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===t2;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===$M){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 A=e<0;this._setEndings(A,!A,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=cl,r.endingEnd=cl):(e?r.endingStart=this.zeroSlopeAtStart?cl:ll:r.endingStart=lh,t?r.endingEnd=this.zeroSlopeAtEnd?cl:ll:r.endingEnd=lh)}_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 fO=new Float32Array(1);class dO extends uo{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,A=this._bindingsByRootAndName;let h=A[l];h===void 0&&(h={},A[l]=h);for(let f=0;f!==s;++f){const d=r[f],g=d.name;let E=h[g];if(E!==void 0)++E.referenceCount,o[f]=E;else{if(E=o[f],E!==void 0){E._cacheIndex===null&&(++E.referenceCount,this._addInactiveBinding(E,l,g));continue}const v=t&&t._propertyBindings[f].binding.parsedPath;E=new CR(Yt.create(i,g,v),d.ValueTypeName,d.getValueSize()),++E.referenceCount,this._addInactiveBinding(E,l,g),o[f]=E}a[f].resultBuffer=E.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 A=0;A!==i;++A)t[A]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let A=0;A!==l;++A)a[A].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,YS).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 JS=new G,kd=new G;class yO{constructor(e=new G,t=new G){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){JS.subVectors(e,this.start),kd.subVectors(this.end,this.start);const i=kd.dot(kd);let s=kd.dot(JS)/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 XS=new G;class vO extends Xt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new Dt,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 f=0;f.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{$S.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle($S,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 NO extends Rs{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 Dt;r.setAttribute("position",new ot(t,3)),r.setAttribute("color",new ot(i,3));const s=new Vi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new qe,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 Vo{constructor(){this.type="ShapePath",this.color=new qe,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ua,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(p){const y=[];for(let I=0,S=p.length;INumber.EPSILON){if(_<0&&(D=y[M],J=-J,U=y[R],_=-_),p.yU.y)continue;if(p.y===D.y){if(p.x===D.x)return!0}else{const b=_*(p.x-D.x)-J*(p.y-D.y);if(b===0)return!0;if(b<0)continue;S=!S}}else{if(p.y!==D.y)continue;if(U.x<=p.x&&p.x<=D.x||D.x<=p.x&&p.x<=U.x)return!0}}return S}const r=es.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const A=[];if(s.length===1)return a=s[0],l=new Aa,l.curves=a.curves,A.push(l),A;let h=!r(s[0].getPoints());h=e?!h:h;const f=[],d=[];let g=[],E=0,v;d[E]=void 0,g[E]=[];for(let p=0,y=s.length;p1){let p=!1,y=0;for(let I=0,S=d.length;I0&&p===!1&&(g=f)}let C;for(let p=0,y=d.length;p{const f=typeof A=="function"?A(e):A;if(f!==e){const d=e;e=h?f:Object.assign({},e,f),t.forEach(g=>g(e,d))}},r=()=>e,s=(A,h=r,f=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=h(e);function g(){const E=h(e);if(!f(d,E)){const v=d;A(d=E,v)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,f)=>h||f?s(A,h,f):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const UO=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),$S=UO?ue.useEffect:ue.useLayoutEffect;function BR(n){const e=typeof n=="function"?PO(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=ue.useReducer(C=>C+1,0),o=e.getState(),a=ue.useRef(o),l=ue.useRef(i),A=ue.useRef(r),h=ue.useRef(!1),f=ue.useRef();f.current===void 0&&(f.current=i(o));let d,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(d=i(o),g=!r(f.current,d)),$S(()=>{g&&(f.current=d),a.current=o,l.current=i,A.current=r,h.current=!1});const E=ue.useRef(o);$S(()=>{const C=()=>{try{const y=e.getState(),I=l.current(y);A.current(f.current,I)||(a.current=y,f.current=I,s())}catch{h.current=!0,s()}},p=e.subscribe(C);return e.getState()!==E.current&&C(),p},[]);const v=g?d:f.current;return ue.useDebugValue(v),v};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 xR={exports:{}},SR={exports:{}},wR={};/** + */Pl.ConcurrentRoot=1;Pl.ContinuousEventPriority=4;Pl.DefaultEventPriority=16;Pl.DiscreteEventPriority=1;Pl.IdleEventPriority=536870912;Pl.LegacyRoot=0;BR.exports=Pl;var Kc=BR.exports;function UO(n){let e;const t=new Set,i=(A,h)=>{const f=typeof A=="function"?A(e):A;if(f!==e){const d=e;e=h?f:Object.assign({},e,f),t.forEach(g=>g(e,d))}},r=()=>e,s=(A,h=r,f=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let d=h(e);function g(){const E=h(e);if(!f(d,E)){const v=d;A(d=E,v)}}return t.add(g),()=>t.delete(g)},l={setState:i,getState:r,subscribe:(A,h,f)=>h||f?s(A,h,f):(t.add(A),()=>t.delete(A)),destroy:()=>t.clear()};return e=n(i,r,l),l}const kO=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),ew=kO?ce.useEffect:ce.useLayoutEffect;function xR(n){const e=typeof n=="function"?UO(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=ce.useReducer(C=>C+1,0),o=e.getState(),a=ce.useRef(o),l=ce.useRef(i),A=ce.useRef(r),h=ce.useRef(!1),f=ce.useRef();f.current===void 0&&(f.current=i(o));let d,g=!1;(a.current!==o||l.current!==i||A.current!==r||h.current)&&(d=i(o),g=!r(f.current,d)),ew(()=>{g&&(f.current=d),a.current=o,l.current=i,A.current=r,h.current=!1});const E=ce.useRef(o);ew(()=>{const C=()=>{try{const y=e.getState(),I=l.current(y);A.current(f.current,I)||(a.current=y,f.current=I,s())}catch{h.current=!0,s()}},p=e.subscribe(C);return e.getState()!==E.current&&C(),p},[]);const v=g?d:f.current;return ce.useDebugValue(v),v};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 SR={exports:{}},wR={exports:{}},_R={};/** * @license React * scheduler.production.min.js * @@ -3816,7 +3816,7 @@ void main() { * * 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,j){var ee=k.length;k.push(j);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(H,ee))F<_e&&0>r(N,H)?(k[Ae]=N,k[F]=ee,Ae=F):(k[Ae]=H,k[V]=ee,Ae=V);else if(F<_e&&0>r(N,ee))k[Ae]=N,k[F]=ee,Ae=F;else break e}}return j}function r(k,j){var ee=k.sortIndex-j.sortIndex;return ee!==0?ee:k.id-j.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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,v=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(k){for(var j=t(A);j!==null;){if(j.callback===null)i(A);else if(j.startTime<=k)i(A),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(A)}}function S(k){if(v=!1,I(k),!E)if(t(l)!==null)E=!0,ie(R);else{var j=t(A);j!==null&&de(S,j.startTime-k)}}function R(k,j){E=!1,v&&(v=!1,p(U),U=-1),g=!0;var ee=d;try{for(I(j),f=t(l);f!==null&&(!(f.expirationTime>j)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=j);j=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),I(j)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-j),ke=!1}return ke}finally{f=null,d=ee,g=!1}}var M=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ee,e(A,k),t(l)===null&&k===t(A)&&(v?(p(U),U=-1):v=!0,de(S,ee-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,ie(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var j=d;return function(){var ee=d;d=j;try{return k.apply(this,arguments)}finally{d=ee}}}})(wR);SR.exports=wR;var MI=SR.exports;/** + */(function(n){function e(k,j){var ee=k.length;k.push(j);e:for(;0>>1,_e=k[Ae];if(0>>1;Aer(H,ee))F<_e&&0>r(N,H)?(k[Ae]=N,k[F]=ee,Ae=F):(k[Ae]=H,k[V]=ee,Ae=V);else if(F<_e&&0>r(N,ee))k[Ae]=N,k[F]=ee,Ae=F;else break e}}return j}function r(k,j){var ee=k.sortIndex-j.sortIndex;return ee!==0?ee:k.id-j.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=[],A=[],h=1,f=null,d=3,g=!1,E=!1,v=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(k){for(var j=t(A);j!==null;){if(j.callback===null)i(A);else if(j.startTime<=k)i(A),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(A)}}function S(k){if(v=!1,I(k),!E)if(t(l)!==null)E=!0,ne(R);else{var j=t(A);j!==null&&de(S,j.startTime-k)}}function R(k,j){E=!1,v&&(v=!1,p(U),U=-1),g=!0;var ee=d;try{for(I(j),f=t(l);f!==null&&(!(f.expirationTime>j)||k&&!b());){var Ae=f.callback;if(typeof Ae=="function"){f.callback=null,d=f.priorityLevel;var _e=Ae(f.expirationTime<=j);j=n.unstable_now(),typeof _e=="function"?f.callback=_e:f===t(l)&&i(l),I(j)}else i(l);f=t(l)}if(f!==null)var ke=!0;else{var V=t(A);V!==null&&de(S,V.startTime-j),ke=!1}return ke}finally{f=null,d=ee,g=!1}}var M=!1,D=null,U=-1,J=5,_=-1;function b(){return!(n.unstable_now()-_k||125Ae?(k.sortIndex=ee,e(A,k),t(l)===null&&k===t(A)&&(v?(p(U),U=-1):v=!0,de(S,ee-Ae))):(k.sortIndex=_e,e(l,k),E||g||(E=!0,ne(R))),k},n.unstable_shouldYield=b,n.unstable_wrapCallback=function(k){var j=d;return function(){var ee=d;d=j;try{return k.apply(this,arguments)}finally{d=ee}}}})(_R);wR.exports=_R;var MI=wR.exports;/** * @license React * react-reconciler.production.min.js * @@ -3824,25 +3824,25 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var kO=function(e){var t={},i=ue,r=MI,s=Object.assign;function o(c){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+c,m=1;mre||x[W]!==Q[re]){var Me=` -`+x[W].replace(" at new "," at ");return c.displayName&&Me.includes("")&&(Me=Me.replace("",c.displayName)),Me}while(1<=W&&0<=re);break}}}finally{Bt=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?xt(c):""}var pn=Object.prototype.hasOwnProperty,Wn=[],ln=-1;function Rn(c){return{current:c}}function ct(c){0>ln||(c.current=Wn[ln],Wn[ln]=null,ln--)}function $e(c,u){ln++,Wn[ln]=c.current,c.current=u}var Di={},L=Rn(Di),P=Rn(!1),Z=Di;function ne(c,u){var m=c.type.contextTypes;if(!m)return Di;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},Q;for(Q in m)x[Q]=u[Q];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){ct(P),ct(L)}function Ne(c,u,m){if(L.current!==Di)throw Error(o(168));$e(L,u),$e(P,m)}function Pe(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Di,Z=L.current,$e(L,c),$e(P,P.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Pe(c,u,Z),B.__reactInternalMemoizedMergedChildContext=c,ct(P),ct(L),$e(L,c)):ct(P),$e(P,m)}var We=Math.clz32?Math.clz32:Dn,pt=Math.log,zt=Math.LN2;function Dn(c){return c>>>=0,c===0?32:31-(pt(c)/zt|0)|0}var Vt=64,ti=4194304;function Ai(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 ls(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,Q=c.pingedLanes,W=m&268435455;if(W!==0){var re=W&~x;re!==0?B=Ai(re):(Q&=W,Q!==0&&(B=Ai(Q)))}else W=m&~x,W!==0?B=Ai(W):Q!==0&&(B=Ai(Q));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,Q=u&-u,x>=Q||x===16&&(Q&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Tu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function LD(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=W,x-=W,Ps=1<<32-We(u)+x|m<qt?(ri=Qt,Qt=null):ri=Qt.sibling;var jt=It(Ce,Qt,Qe[qt],Ze);if(jt===null){Qt===null&&(Qt=ri);break}c&&Qt&&jt.alternate===null&&u(Ce,Qt),le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt,Qt=ri}if(qt===Qe.length)return m(Ce,Qt),vn&&Da(Ce,qt),At;if(Qt===null){for(;qtqt?(ri=Qt,Qt=null):ri=Qt.sibling;var bo=It(Ce,Qt,jt.value,Ze);if(bo===null){Qt===null&&(Qt=ri);break}c&&Qt&&bo.alternate===null&&u(Ce,Qt),le=Q(bo,le,qt),bt===null?At=bo:bt.sibling=bo,bt=bo,Qt=ri}if(jt.done)return m(Ce,Qt),vn&&Da(Ce,qt),At;if(Qt===null){for(;!jt.done;qt++,jt=Qe.next())jt=_t(Ce,jt.value,Ze),jt!==null&&(le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt);return vn&&Da(Ce,qt),At}for(Qt=B(Ce,Qt);!jt.done;qt++,jt=Qe.next())jt=An(Qt,Ce,qt,jt.value,Ze),jt!==null&&(c&&jt.alternate!==null&&Qt.delete(jt.key===null?qt:jt.key),le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt);return c&&Qt.forEach(function(ET){return u(Ce,ET)}),vn&&Da(Ce,qt),At}function _r(Ce,le,Qe,Ze){if(typeof Qe=="object"&&Qe!==null&&Qe.type===h&&Qe.key===null&&(Qe=Qe.props.children),typeof Qe=="object"&&Qe!==null){switch(Qe.$$typeof){case l:e:{for(var At=Qe.key,bt=le;bt!==null;){if(bt.key===At){if(At=Qe.type,At===h){if(bt.tag===7){m(Ce,bt.sibling),le=x(bt,Qe.props.children),le.return=Ce,Ce=le;break e}}else if(bt.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===I&&j1(At)===bt.type){m(Ce,bt.sibling),le=x(bt,Qe.props),le.ref=Nu(Ce,bt,Qe),le.return=Ce,Ce=le;break e}m(Ce,bt);break}else u(Ce,bt);bt=bt.sibling}Qe.type===h?(le=ka(Qe.props.children,Ce.mode,Ze,Qe.key),le.return=Ce,Ce=le):(Ze=bf(Qe.type,Qe.key,Qe.props,null,Ce.mode,Ze),Ze.ref=Nu(Ce,le,Qe),Ze.return=Ce,Ce=Ze)}return W(Ce);case A:e:{for(bt=Qe.key;le!==null;){if(le.key===bt)if(le.tag===4&&le.stateNode.containerInfo===Qe.containerInfo&&le.stateNode.implementation===Qe.implementation){m(Ce,le.sibling),le=x(le,Qe.children||[]),le.return=Ce,Ce=le;break e}else{m(Ce,le);break}else u(Ce,le);le=le.sibling}le=u0(Qe,Ce.mode,Ze),le.return=Ce,Ce=le}return W(Ce);case I:return bt=Qe._init,_r(Ce,le,bt(Qe._payload),Ze)}if(oe(Qe))return ht(Ce,le,Qe,Ze);if(M(Qe))return yi(Ce,le,Qe,Ze);nf(Ce,Qe)}return typeof Qe=="string"&&Qe!==""||typeof Qe=="number"?(Qe=""+Qe,le!==null&&le.tag===6?(m(Ce,le.sibling),le=x(le,Qe),le.return=Ce,Ce=le):(m(Ce,le),le=c0(Qe,Ce.mode,Ze),le.return=Ce,Ce=le),W(Ce)):m(Ce,le)}return _r}var Kl=Z1(!0),$1=Z1(!1),Pu={},Br=Rn(Pu),Uu=Rn(Pu),ql=Rn(Pu);function fs(c){if(c===Pu)throw Error(o(174));return c}function _m(c,u){$e(ql,u),$e(Uu,c),$e(Br,Pu),c=de(u),ct(Br),$e(Br,c)}function jl(){ct(Br),ct(Uu),ct(ql)}function ev(c){var u=fs(ql.current),m=fs(Br.current);u=k(m,c.type,u),m!==u&&($e(Uu,c),$e(Br,u))}function Qm(c){Uu.current===c&&(ct(Br),ct(Uu))}var Sn=Rn(0);function rf(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ss(m)||Ls(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var Mm=[];function Rm(){for(var c=0;cm?m:4,c(!0);var B=xr.transition;xr.transition={};try{c(!1),u()}finally{Kt=m,xr.transition=B}}function dv(){return ds().memoizedState}function WD(c,u,m){var B=Do(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},pv(c)?gv(u,m):(mv(c,u,m),m=Li(),c=Sr(c,B,m),c!==null&&Ev(c,u,B))}function YD(c,u,m){var B=Do(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(pv(c))gv(u,x);else{mv(c,u,x);var Q=c.alternate;if(c.lanes===0&&(Q===null||Q.lanes===0)&&(Q=u.lastRenderedReducer,Q!==null))try{var W=u.lastRenderedState,re=Q(W,m);if(x.hasEagerState=!0,x.eagerState=re,us(re,W))return}catch{}finally{}m=Li(),c=Sr(c,B,m),c!==null&&Ev(c,u,B)}}function pv(c){var u=c.alternate;return c===Tn||u!==null&&u===Tn}function gv(c,u){ku=of=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function mv(c,u,m){Gn!==null&&c.mode&1&&!(Nt&2)?(c=u.interleaved,c===null?(m.next=m,hs===null?hs=[u]:hs.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function Ev(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,um(c,m)}}var Af={readContext:Ir,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},JD={readContext:Ir,useCallback:function(c,u){return ks().memoizedState=[c,u===void 0?null:u],c},useContext:Ir,useEffect:Nm,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,cf(4194308,4,uv.bind(null,u,c),m)},useLayoutEffect:function(c,u){return cf(4194308,4,c,u)},useInsertionEffect:function(c,u){return cf(4,2,c,u)},useMemo:function(c,u){var m=ks();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=ks();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=WD.bind(null,Tn,c),[B.memoizedState,c]},useRef:function(c){var u=ks();return c={current:c},u.memoizedState=c},useState:bm,useDebugValue:Pm,useDeferredValue:function(c){var u=bm(c),m=u[0],B=u[1];return Nm(function(){var x=xr.transition;xr.transition={};try{B(c)}finally{xr.transition=x}},[c]),m},useTransition:function(){var c=bm(!1),u=c[0];return c=VD.bind(null,c[1]),ks().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=Tn,x=ks();if(vn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),Gn===null)throw Error(o(349));Zl&30||iv(B,u,m)}x.memoizedState=m;var Q={value:m,getSnapshot:u};return x.queue=Q,Nm(sv.bind(null,B,Q,c),[c]),B.flags|=2048,Ou(9,rv.bind(null,B,Q,m,u),void 0,null),m},useId:function(){var c=ks(),u=Gn.identifierPrefix;if(vn){var m=Us,B=Ps;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Fu++,0")&&(Me=Me.replace("",c.displayName)),Me}while(1<=W&&0<=re);break}}}finally{Bt=!1,Error.prepareStackTrace=m}return(c=c?c.displayName||c.name:"")?xt(c):""}var pn=Object.prototype.hasOwnProperty,Wn=[],ln=-1;function Rn(c){return{current:c}}function ut(c){0>ln||(c.current=Wn[ln],Wn[ln]=null,ln--)}function $e(c,u){ln++,Wn[ln]=c.current,c.current=u}var Di={},L=Rn(Di),P=Rn(!1),Z=Di;function ie(c,u){var m=c.type.contextTypes;if(!m)return Di;var B=c.stateNode;if(B&&B.__reactInternalMemoizedUnmaskedChildContext===u)return B.__reactInternalMemoizedMaskedChildContext;var x={},Q;for(Q in m)x[Q]=u[Q];return B&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=x),x}function he(c){return c=c.childContextTypes,c!=null}function xe(){ut(P),ut(L)}function Ne(c,u,m){if(L.current!==Di)throw Error(o(168));$e(L,u),$e(P,m)}function Pe(c,u,m){var B=c.stateNode;if(u=u.childContextTypes,typeof B.getChildContext!="function")return m;B=B.getChildContext();for(var x in B)if(!(x in u))throw Error(o(108,U(c)||"Unknown",x));return s({},m,B)}function Ue(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||Di,Z=L.current,$e(L,c),$e(P,P.current),!0}function Fe(c,u,m){var B=c.stateNode;if(!B)throw Error(o(169));m?(c=Pe(c,u,Z),B.__reactInternalMemoizedMergedChildContext=c,ut(P),ut(L),$e(L,c)):ut(P),$e(P,m)}var We=Math.clz32?Math.clz32:Dn,pt=Math.log,zt=Math.LN2;function Dn(c){return c>>>=0,c===0?32:31-(pt(c)/zt|0)|0}var Vt=64,ni=4194304;function Ai(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 ls(c,u){var m=c.pendingLanes;if(m===0)return 0;var B=0,x=c.suspendedLanes,Q=c.pingedLanes,W=m&268435455;if(W!==0){var re=W&~x;re!==0?B=Ai(re):(Q&=W,Q!==0&&(B=Ai(Q)))}else W=m&~x,W!==0?B=Ai(W):Q!==0&&(B=Ai(Q));if(B===0)return 0;if(u!==0&&u!==B&&!(u&x)&&(x=B&-B,Q=u&-u,x>=Q||x===16&&(Q&4194240)!==0))return u;if(B&4&&(B|=m&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=B;0m;m++)u.push(c);return u}function Tu(c,u,m){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-We(u),c[u]=m}function bD(c,u){var m=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var B=c.eventTimes;for(c=c.expirationTimes;0>=W,x-=W,Ps=1<<32-We(u)+x|m<qt?(si=Qt,Qt=null):si=Qt.sibling;var jt=It(Ce,Qt,Qe[qt],Ze);if(jt===null){Qt===null&&(Qt=si);break}c&&Qt&&jt.alternate===null&&u(Ce,Qt),le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt,Qt=si}if(qt===Qe.length)return m(Ce,Qt),vn&&Da(Ce,qt),At;if(Qt===null){for(;qtqt?(si=Qt,Qt=null):si=Qt.sibling;var bo=It(Ce,Qt,jt.value,Ze);if(bo===null){Qt===null&&(Qt=si);break}c&&Qt&&bo.alternate===null&&u(Ce,Qt),le=Q(bo,le,qt),bt===null?At=bo:bt.sibling=bo,bt=bo,Qt=si}if(jt.done)return m(Ce,Qt),vn&&Da(Ce,qt),At;if(Qt===null){for(;!jt.done;qt++,jt=Qe.next())jt=_t(Ce,jt.value,Ze),jt!==null&&(le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt);return vn&&Da(Ce,qt),At}for(Qt=B(Ce,Qt);!jt.done;qt++,jt=Qe.next())jt=An(Qt,Ce,qt,jt.value,Ze),jt!==null&&(c&&jt.alternate!==null&&Qt.delete(jt.key===null?qt:jt.key),le=Q(jt,le,qt),bt===null?At=jt:bt.sibling=jt,bt=jt);return c&&Qt.forEach(function(CT){return u(Ce,CT)}),vn&&Da(Ce,qt),At}function _r(Ce,le,Qe,Ze){if(typeof Qe=="object"&&Qe!==null&&Qe.type===h&&Qe.key===null&&(Qe=Qe.props.children),typeof Qe=="object"&&Qe!==null){switch(Qe.$$typeof){case l:e:{for(var At=Qe.key,bt=le;bt!==null;){if(bt.key===At){if(At=Qe.type,At===h){if(bt.tag===7){m(Ce,bt.sibling),le=x(bt,Qe.props.children),le.return=Ce,Ce=le;break e}}else if(bt.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===I&&Z1(At)===bt.type){m(Ce,bt.sibling),le=x(bt,Qe.props),le.ref=Nu(Ce,bt,Qe),le.return=Ce,Ce=le;break e}m(Ce,bt);break}else u(Ce,bt);bt=bt.sibling}Qe.type===h?(le=ka(Qe.props.children,Ce.mode,Ze,Qe.key),le.return=Ce,Ce=le):(Ze=bf(Qe.type,Qe.key,Qe.props,null,Ce.mode,Ze),Ze.ref=Nu(Ce,le,Qe),Ze.return=Ce,Ce=Ze)}return W(Ce);case A:e:{for(bt=Qe.key;le!==null;){if(le.key===bt)if(le.tag===4&&le.stateNode.containerInfo===Qe.containerInfo&&le.stateNode.implementation===Qe.implementation){m(Ce,le.sibling),le=x(le,Qe.children||[]),le.return=Ce,Ce=le;break e}else{m(Ce,le);break}else u(Ce,le);le=le.sibling}le=u0(Qe,Ce.mode,Ze),le.return=Ce,Ce=le}return W(Ce);case I:return bt=Qe._init,_r(Ce,le,bt(Qe._payload),Ze)}if(se(Qe))return ht(Ce,le,Qe,Ze);if(M(Qe))return yi(Ce,le,Qe,Ze);nf(Ce,Qe)}return typeof Qe=="string"&&Qe!==""||typeof Qe=="number"?(Qe=""+Qe,le!==null&&le.tag===6?(m(Ce,le.sibling),le=x(le,Qe),le.return=Ce,Ce=le):(m(Ce,le),le=c0(Qe,Ce.mode,Ze),le.return=Ce,Ce=le),W(Ce)):m(Ce,le)}return _r}var Kl=$1(!0),ev=$1(!1),Pu={},Br=Rn(Pu),Uu=Rn(Pu),ql=Rn(Pu);function fs(c){if(c===Pu)throw Error(o(174));return c}function _m(c,u){$e(ql,u),$e(Uu,c),$e(Br,Pu),c=de(u),ut(Br),$e(Br,c)}function jl(){ut(Br),ut(Uu),ut(ql)}function tv(c){var u=fs(ql.current),m=fs(Br.current);u=k(m,c.type,u),m!==u&&($e(Uu,c),$e(Br,u))}function Qm(c){Uu.current===c&&(ut(Br),ut(Uu))}var Sn=Rn(0);function rf(c){for(var u=c;u!==null;){if(u.tag===13){var m=u.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||ss(m)||Ls(m)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var Mm=[];function Rm(){for(var c=0;cm?m:4,c(!0);var B=xr.transition;xr.transition={};try{c(!1),u()}finally{Kt=m,xr.transition=B}}function pv(){return ds().memoizedState}function YD(c,u,m){var B=Do(c);m={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null},gv(c)?mv(u,m):(Ev(c,u,m),m=Li(),c=Sr(c,B,m),c!==null&&Cv(c,u,B))}function JD(c,u,m){var B=Do(c),x={lane:B,action:m,hasEagerState:!1,eagerState:null,next:null};if(gv(c))mv(u,x);else{Ev(c,u,x);var Q=c.alternate;if(c.lanes===0&&(Q===null||Q.lanes===0)&&(Q=u.lastRenderedReducer,Q!==null))try{var W=u.lastRenderedState,re=Q(W,m);if(x.hasEagerState=!0,x.eagerState=re,us(re,W))return}catch{}finally{}m=Li(),c=Sr(c,B,m),c!==null&&Cv(c,u,B)}}function gv(c){var u=c.alternate;return c===Tn||u!==null&&u===Tn}function mv(c,u){ku=of=!0;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}function Ev(c,u,m){Gn!==null&&c.mode&1&&!(Nt&2)?(c=u.interleaved,c===null?(m.next=m,hs===null?hs=[u]:hs.push(u)):(m.next=c.next,c.next=m),u.interleaved=m):(c=u.pending,c===null?m.next=m:(m.next=c.next,c.next=m),u.pending=m)}function Cv(c,u,m){if(m&4194240){var B=u.lanes;B&=c.pendingLanes,m|=B,u.lanes=m,um(c,m)}}var Af={readContext:Ir,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},XD={readContext:Ir,useCallback:function(c,u){return ks().memoizedState=[c,u===void 0?null:u],c},useContext:Ir,useEffect:Nm,useImperativeHandle:function(c,u,m){return m=m!=null?m.concat([c]):null,cf(4194308,4,Av.bind(null,u,c),m)},useLayoutEffect:function(c,u){return cf(4194308,4,c,u)},useInsertionEffect:function(c,u){return cf(4,2,c,u)},useMemo:function(c,u){var m=ks();return u=u===void 0?null:u,c=c(),m.memoizedState=[c,u],c},useReducer:function(c,u,m){var B=ks();return u=m!==void 0?m(u):u,B.memoizedState=B.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},B.queue=c,c=c.dispatch=YD.bind(null,Tn,c),[B.memoizedState,c]},useRef:function(c){var u=ks();return c={current:c},u.memoizedState=c},useState:bm,useDebugValue:Pm,useDeferredValue:function(c){var u=bm(c),m=u[0],B=u[1];return Nm(function(){var x=xr.transition;xr.transition={};try{B(c)}finally{xr.transition=x}},[c]),m},useTransition:function(){var c=bm(!1),u=c[0];return c=WD.bind(null,c[1]),ks().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,m){var B=Tn,x=ks();if(vn){if(m===void 0)throw Error(o(407));m=m()}else{if(m=u(),Gn===null)throw Error(o(349));Zl&30||rv(B,u,m)}x.memoizedState=m;var Q={value:m,getSnapshot:u};return x.queue=Q,Nm(ov.bind(null,B,Q,c),[c]),B.flags|=2048,Ou(9,sv.bind(null,B,Q,m,u),void 0,null),m},useId:function(){var c=ks(),u=Gn.identifierPrefix;if(vn){var m=Us,B=Ps;m=(B&~(1<<32-We(B)-1)).toString(32)+m,u=":"+u+"R"+m,m=Fu++,0t0&&(u.flags|=128,B=!0,Vu(x,!1),u.lanes=4194304)}else{if(!B)if(c=rf(Q),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),Vu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!Q.alternate&&!vn)return Ii(u),null}else 2*ni()-x.renderingStartTime>t0&&m!==1073741824&&(u.flags|=128,B=!0,Vu(x,!1),u.lanes=4194304);x.isBackwards?(Q.sibling=u.child,u.child=Q):(c=x.last,c!==null?c.sibling=Q:u.child=Q,x.last=Q)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=ni(),u.sibling=null,c=Sn.current,$e(Sn,B?c&1|2:c&1),u):(Ii(u),null);case 22:case 23:return o0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?sr&1073741824&&(Ii(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):Ii(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var ZD=a.ReactCurrentOwner,rr=!1;function Ti(c,u,m,B){u.child=c===null?$1(u,null,m,B):Kl(u,c.child,m,B)}function wv(c,u,m,B,x){m=m.render;var Q=u.ref;return Wl(u,x),B=Tm(c,u,m,B,Q,x),m=Lm(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Fs(c,u,x)):(vn&&m&&vm(u),u.flags|=1,Ti(c,u,B,x),u.child)}function _v(c,u,m,B,x){if(c===null){var Q=m.type;return typeof Q=="function"&&!l0(Q)&&Q.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=Q,Qv(c,u,Q,B,x)):(c=bf(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(Q=c.child,!(c.lanes&x)){var W=Q.memoizedProps;if(m=m.compare,m=m!==null?m:Xh,m(W,B)&&c.ref===u.ref)return Fs(c,u,x)}return u.flags|=1,c=Lo(Q,B),c.ref=u.ref,c.return=u,u.child=c}function Qv(c,u,m,B,x){if(c!==null&&Xh(c.memoizedProps,B)&&c.ref===u.ref)if(rr=!1,(c.lanes&x)!==0)c.flags&131072&&(rr=!0);else return u.lanes=c.lanes,Fs(c,u,x);return Fm(c,u,m,B,x)}function Mv(c,u,m){var B=u.pendingProps,x=B.children,Q=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e($l,sr),sr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=Q!==null?Q.baseLanes:m,$e($l,sr),sr|=B;else return c=Q!==null?Q.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e($l,sr),sr|=c,null;else Q!==null?(B=Q.baseLanes|m,u.memoizedState=null):B=m,$e($l,sr),sr|=B;return Ti(c,u,x,m),u.child}function Rv(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function Fm(c,u,m,B,x){var Q=he(m)?Z:L.current;return Q=ne(u,Q),Wl(u,x),m=Tm(c,u,m,B,Q,x),B=Lm(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Fs(c,u,x)):(vn&&B&&vm(u),u.flags|=1,Ti(c,u,m,x),u.child)}function Dv(c,u,m,B,x){if(he(m)){var Q=!0;Ue(u)}else Q=!1;if(Wl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),W1(u,m,B),ym(u,m,B,x),B=!0;else if(c===null){var W=u.stateNode,re=u.memoizedProps;W.props=re;var Me=W.context,Ge=m.contextType;typeof Ge=="object"&&Ge!==null?Ge=Ir(Ge):(Ge=he(m)?Z:L.current,Ge=ne(u,Ge));var rt=m.getDerivedStateFromProps,_t=typeof rt=="function"||typeof W.getSnapshotBeforeUpdate=="function";_t||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(re!==B||Me!==Ge)&&Y1(u,W,B,Ge),_o=!1;var It=u.memoizedState;W.state=It,Zh(u,B,W,x),Me=u.memoizedState,re!==B||It!==Me||P.current||_o?(typeof rt=="function"&&(Im(u,m,rt,B),Me=u.memoizedState),(re=_o||V1(u,m,re,B,It,Me,Ge))?(_t||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"&&(u.flags|=4194308)):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Me),W.props=B,W.state=Me,W.context=Ge,B=re):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{W=u.stateNode,O1(c,u),re=u.memoizedProps,Ge=u.type===u.elementType?re:Or(u.type,re),W.props=Ge,_t=u.pendingProps,It=W.context,Me=m.contextType,typeof Me=="object"&&Me!==null?Me=Ir(Me):(Me=he(m)?Z:L.current,Me=ne(u,Me));var An=m.getDerivedStateFromProps;(rt=typeof An=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(re!==_t||It!==Me)&&Y1(u,W,B,Me),_o=!1,It=u.memoizedState,W.state=It,Zh(u,B,W,x);var ht=u.memoizedState;re!==_t||It!==ht||P.current||_o?(typeof An=="function"&&(Im(u,m,An,B),ht=u.memoizedState),(Ge=_o||V1(u,m,Ge,B,It,ht,Me)||!1)?(rt||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(B,ht,Me),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(B,ht,Me)),typeof W.componentDidUpdate=="function"&&(u.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof W.componentDidUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=ht),W.props=B,W.state=ht,W.context=Me,B=Ge):(typeof W.componentDidUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=1024),B=!1)}return Om(c,u,m,B,Q,x)}function Om(c,u,m,B,x,Q){Rv(c,u);var W=(u.flags&128)!==0;if(!B&&!W)return x&&Fe(u,m,!1),Fs(c,u,Q);B=u.stateNode,ZD.current=u;var re=W&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&W?(u.child=Kl(u,c.child,null,Q),u.child=Kl(u,null,re,Q)):Ti(c,u,re,Q),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function Tv(c){var u=c.stateNode;u.pendingContext?Ne(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Ne(c,u.context,!1),_m(c,u.containerInfo)}function Lv(c,u,m,B,x){return Xl(),wm(x),u.flags|=256,Ti(c,u,m,B),u.child}var df={dehydrated:null,treeContext:null,retryLane:0};function pf(c){return{baseLanes:c,cachePool:null}}function bv(c,u,m){var B=u.pendingProps,x=Sn.current,Q=!1,W=(u.flags&128)!==0,re;if((re=W)||(re=c!==null&&c.memoizedState===null?!1:(x&2)!==0),re?(Q=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(Sn,x&1),c===null)return Sm(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Ls(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,Q?(B=u.mode,Q=u.child,x={mode:"hidden",children:x},!(B&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=x):Q=Nf(x,B,0,null),c=ka(c,B,m,null),Q.return=u,c.return=u,Q.sibling=c,u.child=Q,u.child.memoizedState=pf(m),u.memoizedState=df,c):Gm(u,x));if(x=c.memoizedState,x!==null){if(re=x.dehydrated,re!==null){if(W)return u.flags&256?(u.flags&=-257,gf(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(Q=B.fallback,x=u.mode,B=Nf({mode:"visible",children:B.children},x,0,null),Q=ka(Q,x,m,null),Q.flags|=2,B.return=u,Q.return=u,B.sibling=Q,u.child=B,u.mode&1&&Kl(u,c.child,null,m),u.child.memoizedState=pf(m),u.memoizedState=df,Q);if(!(u.mode&1))u=gf(c,u,m,null);else if(Ls(re))u=gf(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,rr||B){if(B=Gn,B!==null){switch(m&-m){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}B=Q&(B.suspendedLanes|m)?0:Q,B!==0&&B!==x.retryLane&&(x.retryLane=B,Sr(c,B,-1))}a0(),u=gf(c,u,m,Error(o(421)))}else ss(re)?(u.flags|=128,u.child=c.child,u=AT.bind(null,c),os(re,u),u=null):(m=x.treeContext,me&&(ir=Hl(re),nr=u,vn=!0,Gr=null,Lu=!1,m!==null&&(yr[vr++]=Ps,yr[vr++]=Us,yr[vr++]=Ra,Ps=m.id,Us=m.overflow,Ra=u)),u=Gm(u,u.pendingProps.children),u.flags|=4096);return u}return Q?(B=Pv(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?pf(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=df,B):(m=Nv(c,u,B.children,m),u.memoizedState=null,m)}return Q?(B=Pv(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?pf(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=df,B):(m=Nv(c,u,B.children,m),u.memoizedState=null,m)}function Gm(c,u){return u=Nf({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function Nv(c,u,m,B){var x=c.child;return c=x.sibling,m=Lo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function Pv(c,u,m,B,x){var Q=u.mode;c=c.child;var W=c.sibling,re={mode:"hidden",children:m};return!(Q&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=re,u.deletions=null):(m=Lo(c,re),m.subtreeFlags=c.subtreeFlags&14680064),W!==null?B=Lo(W,B):(B=ka(B,Q,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function gf(c,u,m,B){return B!==null&&wm(B),Kl(u,c.child,null,m),c=Gm(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function Uv(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Em(c.return,u,m)}function Hm(c,u,m,B,x){var Q=c.memoizedState;Q===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(Q.isBackwards=u,Q.rendering=null,Q.renderingStartTime=0,Q.last=B,Q.tail=m,Q.tailMode=x)}function kv(c,u,m){var B=u.pendingProps,x=B.revealOrder,Q=B.tail;if(Ti(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&Uv(c,m,u);else if(c.tag===19)Uv(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&rf(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),Hm(u,!1,x,m,Q);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&rf(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}Hm(u,!0,m,null,Q);break;case"together":Hm(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Fs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),ec|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Lo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Lo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function $D(c,u,m){switch(u.tag){case 3:Tv(u),Xl();break;case 5:ev(u);break;case 1:he(u.type)&&Ue(u);break;case 4:_m(u,u.stateNode.containerInfo);break;case 10:F1(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?bv(c,u,m):($e(Sn,Sn.current&1),c=Fs(c,u,m),c!==null?c.sibling:null);$e(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return kv(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,Mv(c,u,m)}return Fs(c,u,m)}function eT(c,u){switch(Bm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return jl(),ct(P),ct(L),Rm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Qm(u),null;case 13:if(ct(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));Xl()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ct(Sn),null;case 4:return jl(),null;case 10:return mm(u.type._context),null;case 22:case 23:return o0(),null;case 24:return null;default:return null}}var mf=!1,La=!1,tT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Ef(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){Xi(c,u,B)}else m.current=null}function zm(c,u,m){try{m()}catch(B){Xi(c,u,B)}}var Fv=!1;function nT(c,u){for(j(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,Q=c.stateNode,W=Q.getSnapshotBeforeUpdate(c.elementType===c.type?B:Or(c.type,B),x);Q.__reactInternalSnapshotBeforeUpdate=W}break;case 3:Se&&He(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(re){Xi(c,c.return,re)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=Fv,Fv=!1,m}function ba(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var Q=x.destroy;x.destroy=void 0,Q!==void 0&&zm(u,m,Q)}x=x.next}while(x!==B)}}function Wu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function Vm(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=ie(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function Ov(c,u,m){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(Yh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,Q=x.destroy;x=x.tag,Q!==void 0&&(x&2||x&4)&&zm(u,m,Q),B=B.next}while(B!==c)}break;case 1:if(Ef(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(W){Xi(u,m,W)}break;case 5:Ef(u,m);break;case 4:Se?Yv(c,u,m):O&&O&&(u=u.stateNode.containerInfo,m=it(u),Zt(u,m))}}function Gv(c,u,m){for(var B=u;;)if(Ov(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function Hv(c){var u=c.alternate;u!==null&&(c.alternate=null,Hv(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 zv(c){return c.tag===5||c.tag===3||c.tag===4}function Vv(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||zv(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 Wv(c){if(Se){e:{for(var u=c.return;u!==null;){if(zv(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Ot(u),m.flags&=-33),m=Vv(c),Ym(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=Vv(c),Wm(c,m,u);break;default:throw Error(o(161))}}}function Wm(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?ot(m,c,u):mt(m,c);else if(B!==4&&(c=c.child,c!==null))for(Wm(c,u,m),c=c.sibling;c!==null;)Wm(c,u,m),c=c.sibling}function Ym(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?gt(m,c,u):at(m,c);else if(B!==4&&(c=c.child,c!==null))for(Ym(c,u,m),c=c.sibling;c!==null;)Ym(c,u,m),c=c.sibling}function Yv(c,u,m){for(var B=u,x=!1,Q,W;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(Q=x.stateNode,x.tag){case 5:W=!1;break e;case 3:Q=Q.containerInfo,W=!0;break e;case 4:Q=Q.containerInfo,W=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)Gv(c,B,m),W?yt(Q,B.stateNode):et(Q,B.stateNode);else if(B.tag===18)W?Ie(Q,B.stateNode):we(Q,B.stateNode);else if(B.tag===4){if(B.child!==null){Q=B.stateNode.containerInfo,W=!0,B.child.return=B,B=B.child;continue}}else if(Ov(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function Jm(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:ba(3,u,u.return),Wu(3,u),ba(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,Q=u.updateQueue;u.updateQueue=null,Q!==null&&St(m,Q,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,be(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Cf(u);return;case 19:Cf(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:ba(3,u,u.return),Wu(3,u),ba(5,u,u.return);return;case 12:return;case 13:Cf(u);return;case 19:Cf(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(O){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,Zt(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Cf(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new tT),u.forEach(function(B){var x=hT.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function iT(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case yf:return":has("+(qm(c)||"")+")";case vf:return'[role="'+c.value+'"]';case xf:return'"'+c.value+'"';case Bf:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function jv(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=W),B&=~Q}if(B=x,B=ni()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*sT(B/1960))-B,10c?16:c,Ro===null)var B=!1;else{if(c=Ro,Ro=null,Mf=0,Nt&6)throw Error(o(331));var x=Nt;for(Nt|=4,Ke=c.current;Ke!==null;){var Q=Ke,W=Q.child;if(Ke.flags&16){var re=Q.deletions;if(re!==null){for(var Me=0;Meni()-e0?Na(c,0):$m|=m),Ji(c,u)}function oB(c,u){u===0&&(c.mode&1?(u=ti,ti<<=1,!(ti&130023424)&&(ti=4194304)):u=1);var m=Li();c=Tf(c,u),c!==null&&(Tu(c,u,m),Ji(c,m))}function AT(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),oB(c,m)}function hT(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),oB(c,m)}var aB;aB=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||P.current)rr=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return rr=!1,$D(c,u,m);rr=!!(c.flags&131072)}else rr=!1,vn&&u.flags&1048576&&J1(u,tf,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=ne(u,L.current);Wl(u,m),x=Tm(null,u,B,c,x,m);var Q=Lm();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(Q=!0,Ue(u)):Q=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Cm(u),x.updater=$h,u.stateNode=x,x._reactInternals=u,ym(u,B,c,m),u=Om(null,u,B,!0,Q,m)):(u.tag=0,vn&&Q&&vm(u),Ti(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=dT(B),c=Or(B,c),x){case 0:u=Fm(null,u,B,c,m);break e;case 1:u=Dv(null,u,B,c,m);break e;case 11:u=wv(null,u,B,c,m);break e;case 14:u=_v(null,u,B,Or(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),Fm(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),Dv(c,u,B,x,m);case 3:e:{if(Tv(u),c===null)throw Error(o(387));B=u.pendingProps,Q=u.memoizedState,x=Q.element,O1(c,u),Zh(u,B,null,m);var W=u.memoizedState;if(B=W.element,me&&Q.isDehydrated)if(Q={element:B,isDehydrated:!1,cache:W.cache,transitions:W.transitions},u.updateQueue.baseState=Q,u.memoizedState=Q,u.flags&256){x=Error(o(423)),u=Lv(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=Lv(c,u,B,m,x);break e}else for(me&&(ir=Gl(u.stateNode.containerInfo),nr=u,vn=!0,Gr=null,Lu=!1),m=$1(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(Xl(),B===x){u=Fs(c,u,m);break e}Ti(c,u,B,m)}u=u.child}return u;case 5:return ev(u),c===null&&Sm(u),B=u.type,x=u.pendingProps,Q=c!==null?c.memoizedProps:null,W=x.children,H(B,x)?W=null:Q!==null&&H(B,Q)&&(u.flags|=32),Rv(c,u),Ti(c,u,W,m),u.child;case 6:return c===null&&Sm(u),null;case 13:return bv(c,u,m);case 4:return _m(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=Kl(u,null,B,m):Ti(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),wv(c,u,B,x,m);case 7:return Ti(c,u,u.pendingProps,m),u.child;case 8:return Ti(c,u,u.pendingProps.children,m),u.child;case 12:return Ti(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,Q=u.memoizedProps,W=x.value,F1(u,B,W),Q!==null)if(us(Q.value,W)){if(Q.children===x.children&&!P.current){u=Fs(c,u,m);break e}}else for(Q=u.child,Q!==null&&(Q.return=u);Q!==null;){var re=Q.dependencies;if(re!==null){W=Q.child;for(var Me=re.firstContext;Me!==null;){if(Me.context===B){if(Q.tag===1){Me=Ns(-1,m&-m),Me.tag=2;var Ge=Q.updateQueue;if(Ge!==null){Ge=Ge.shared;var rt=Ge.pending;rt===null?Me.next=Me:(Me.next=rt.next,rt.next=Me),Ge.pending=Me}}Q.lanes|=m,Me=Q.alternate,Me!==null&&(Me.lanes|=m),Em(Q.return,m,u),re.lanes|=m;break}Me=Me.next}}else if(Q.tag===10)W=Q.type===u.type?null:Q.child;else if(Q.tag===18){if(W=Q.return,W===null)throw Error(o(341));W.lanes|=m,re=W.alternate,re!==null&&(re.lanes|=m),Em(W,m,u),W=Q.sibling}else W=Q.child;if(W!==null)W.return=Q;else for(W=Q;W!==null;){if(W===u){W=null;break}if(Q=W.sibling,Q!==null){Q.return=W.return,W=Q;break}W=W.return}Q=W}Ti(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,Wl(u,m),x=Ir(x),B=B(x),u.flags|=1,Ti(c,u,B,m),u.child;case 14:return B=u.type,x=Or(B,u.pendingProps),x=Or(B.type,x),_v(c,u,B,x,m);case 15:return Qv(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,Wl(u,m),W1(u,B,x),ym(u,B,x,m),Om(null,u,B,!0,c,m);case 19:return kv(c,u,m);case 22:return Mv(c,u,m)}throw Error(o(156,u.tag))};function lB(c,u){return Am(c,u)}function fT(c,u,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=u,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 wr(c,u,m,B){return new fT(c,u,m,B)}function l0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function dT(c){if(typeof c=="function")return l0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===v)return 11;if(c===y)return 14}return 2}function Lo(c,u){var m=c.alternate;return m===null?(m=wr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function bf(c,u,m,B,x,Q){var W=2;if(B=c,typeof c=="function")l0(c)&&(W=1);else if(typeof c=="string")W=5;else e:switch(c){case h:return ka(m.children,x,Q,u);case f:W=8,x|=8;break;case d:return c=wr(12,m,u,x|2),c.elementType=d,c.lanes=Q,c;case C:return c=wr(13,m,u,x),c.elementType=C,c.lanes=Q,c;case p:return c=wr(19,m,u,x),c.elementType=p,c.lanes=Q,c;case S:return Nf(m,x,Q,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:W=10;break e;case E:W=9;break e;case v:W=11;break e;case y:W=14;break e;case I:W=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=wr(W,m,u,x),u.elementType=c,u.type=B,u.lanes=Q,u}function ka(c,u,m,B){return c=wr(7,c,B,u),c.lanes=m,c}function Nf(c,u,m,B){return c=wr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function c0(c,u,m){return c=wr(6,c,null,u),c.lanes=m,c}function u0(c,u,m){return u=wr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function pT(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ve,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cm(0),this.expirationTimes=cm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function cB(c,u,m,B,x,Q,W,re,Me){return c=new pT(c,u,m,re,Me),u===1?(u=1,Q===!0&&(u|=8)):u=0,Q=wr(3,null,null,u),c.current=Q,Q.stateNode=c,Q.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Cm(Q),c}function uB(c){if(!c)return Di;c=c._reactInternals;e:{if(J(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Pe(c,m,u)}return u}function AB(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=q(u),c===null?null:c.stateNode}function hB(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=Ge&&Q>=_t&&x<=rt&&W<=It){c.splice(u,1);break}else if(B!==Ge||m.width!==Me.width||ItW){if(!(Q!==_t||m.height!==Me.height||rtx)){Ge>B&&(Me.width+=Ge-B,Me.x=B),rtQ&&(Me.height+=_t-Q,Me.y=Q),Itm&&(m=W)),Wt0&&(u.flags|=128,B=!0,Vu(x,!1),u.lanes=4194304)}else{if(!B)if(c=rf(Q),c!==null){if(u.flags|=128,B=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),Vu(x,!0),x.tail===null&&x.tailMode==="hidden"&&!Q.alternate&&!vn)return Ii(u),null}else 2*ii()-x.renderingStartTime>t0&&m!==1073741824&&(u.flags|=128,B=!0,Vu(x,!1),u.lanes=4194304);x.isBackwards?(Q.sibling=u.child,u.child=Q):(c=x.last,c!==null?c.sibling=Q:u.child=Q,x.last=Q)}return x.tail!==null?(u=x.tail,x.rendering=u,x.tail=u.sibling,x.renderingStartTime=ii(),u.sibling=null,c=Sn.current,$e(Sn,B?c&1|2:c&1),u):(Ii(u),null);case 22:case 23:return o0(),B=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==B&&(u.flags|=8192),B&&u.mode&1?sr&1073741824&&(Ii(u),Se&&u.subtreeFlags&6&&(u.flags|=8192)):Ii(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var $D=a.ReactCurrentOwner,rr=!1;function Ti(c,u,m,B){u.child=c===null?ev(u,null,m,B):Kl(u,c.child,m,B)}function _v(c,u,m,B,x){m=m.render;var Q=u.ref;return Wl(u,x),B=Tm(c,u,m,B,Q,x),m=Lm(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Fs(c,u,x)):(vn&&m&&vm(u),u.flags|=1,Ti(c,u,B,x),u.child)}function Qv(c,u,m,B,x){if(c===null){var Q=m.type;return typeof Q=="function"&&!l0(Q)&&Q.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(u.tag=15,u.type=Q,Mv(c,u,Q,B,x)):(c=bf(m.type,null,B,u,u.mode,x),c.ref=u.ref,c.return=u,u.child=c)}if(Q=c.child,!(c.lanes&x)){var W=Q.memoizedProps;if(m=m.compare,m=m!==null?m:Xh,m(W,B)&&c.ref===u.ref)return Fs(c,u,x)}return u.flags|=1,c=Lo(Q,B),c.ref=u.ref,c.return=u,u.child=c}function Mv(c,u,m,B,x){if(c!==null&&Xh(c.memoizedProps,B)&&c.ref===u.ref)if(rr=!1,(c.lanes&x)!==0)c.flags&131072&&(rr=!0);else return u.lanes=c.lanes,Fs(c,u,x);return Fm(c,u,m,B,x)}function Rv(c,u,m){var B=u.pendingProps,x=B.children,Q=c!==null?c.memoizedState:null;if(B.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},$e($l,sr),sr|=m;else if(m&1073741824)u.memoizedState={baseLanes:0,cachePool:null},B=Q!==null?Q.baseLanes:m,$e($l,sr),sr|=B;else return c=Q!==null?Q.baseLanes|m:m,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,$e($l,sr),sr|=c,null;else Q!==null?(B=Q.baseLanes|m,u.memoizedState=null):B=m,$e($l,sr),sr|=B;return Ti(c,u,x,m),u.child}function Dv(c,u){var m=u.ref;(c===null&&m!==null||c!==null&&c.ref!==m)&&(u.flags|=512,u.flags|=2097152)}function Fm(c,u,m,B,x){var Q=he(m)?Z:L.current;return Q=ie(u,Q),Wl(u,x),m=Tm(c,u,m,B,Q,x),B=Lm(),c!==null&&!rr?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~x,Fs(c,u,x)):(vn&&B&&vm(u),u.flags|=1,Ti(c,u,m,x),u.child)}function Tv(c,u,m,B,x){if(he(m)){var Q=!0;Ue(u)}else Q=!1;if(Wl(u,x),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),Y1(u,m,B),ym(u,m,B,x),B=!0;else if(c===null){var W=u.stateNode,re=u.memoizedProps;W.props=re;var Me=W.context,Ge=m.contextType;typeof Ge=="object"&&Ge!==null?Ge=Ir(Ge):(Ge=he(m)?Z:L.current,Ge=ie(u,Ge));var st=m.getDerivedStateFromProps,_t=typeof st=="function"||typeof W.getSnapshotBeforeUpdate=="function";_t||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(re!==B||Me!==Ge)&&J1(u,W,B,Ge),_o=!1;var It=u.memoizedState;W.state=It,Zh(u,B,W,x),Me=u.memoizedState,re!==B||It!==Me||P.current||_o?(typeof st=="function"&&(Im(u,m,st,B),Me=u.memoizedState),(re=_o||W1(u,m,re,B,It,Me,Ge))?(_t||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"&&(u.flags|=4194308)):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=B,u.memoizedState=Me),W.props=B,W.state=Me,W.context=Ge,B=re):(typeof W.componentDidMount=="function"&&(u.flags|=4194308),B=!1)}else{W=u.stateNode,G1(c,u),re=u.memoizedProps,Ge=u.type===u.elementType?re:Or(u.type,re),W.props=Ge,_t=u.pendingProps,It=W.context,Me=m.contextType,typeof Me=="object"&&Me!==null?Me=Ir(Me):(Me=he(m)?Z:L.current,Me=ie(u,Me));var An=m.getDerivedStateFromProps;(st=typeof An=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(re!==_t||It!==Me)&&J1(u,W,B,Me),_o=!1,It=u.memoizedState,W.state=It,Zh(u,B,W,x);var ht=u.memoizedState;re!==_t||It!==ht||P.current||_o?(typeof An=="function"&&(Im(u,m,An,B),ht=u.memoizedState),(Ge=_o||W1(u,m,Ge,B,It,ht,Me)||!1)?(st||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(B,ht,Me),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(B,ht,Me)),typeof W.componentDidUpdate=="function"&&(u.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof W.componentDidUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=1024),u.memoizedProps=B,u.memoizedState=ht),W.props=B,W.state=ht,W.context=Me,B=Ge):(typeof W.componentDidUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||re===c.memoizedProps&&It===c.memoizedState||(u.flags|=1024),B=!1)}return Om(c,u,m,B,Q,x)}function Om(c,u,m,B,x,Q){Dv(c,u);var W=(u.flags&128)!==0;if(!B&&!W)return x&&Fe(u,m,!1),Fs(c,u,Q);B=u.stateNode,$D.current=u;var re=W&&typeof m.getDerivedStateFromError!="function"?null:B.render();return u.flags|=1,c!==null&&W?(u.child=Kl(u,c.child,null,Q),u.child=Kl(u,null,re,Q)):Ti(c,u,re,Q),u.memoizedState=B.state,x&&Fe(u,m,!0),u.child}function Lv(c){var u=c.stateNode;u.pendingContext?Ne(c,u.pendingContext,u.pendingContext!==u.context):u.context&&Ne(c,u.context,!1),_m(c,u.containerInfo)}function bv(c,u,m,B,x){return Xl(),wm(x),u.flags|=256,Ti(c,u,m,B),u.child}var df={dehydrated:null,treeContext:null,retryLane:0};function pf(c){return{baseLanes:c,cachePool:null}}function Nv(c,u,m){var B=u.pendingProps,x=Sn.current,Q=!1,W=(u.flags&128)!==0,re;if((re=W)||(re=c!==null&&c.memoizedState===null?!1:(x&2)!==0),re?(Q=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(x|=1),$e(Sn,x&1),c===null)return Sm(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?Ls(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(x=B.children,c=B.fallback,Q?(B=u.mode,Q=u.child,x={mode:"hidden",children:x},!(B&1)&&Q!==null?(Q.childLanes=0,Q.pendingProps=x):Q=Nf(x,B,0,null),c=ka(c,B,m,null),Q.return=u,c.return=u,Q.sibling=c,u.child=Q,u.child.memoizedState=pf(m),u.memoizedState=df,c):Gm(u,x));if(x=c.memoizedState,x!==null){if(re=x.dehydrated,re!==null){if(W)return u.flags&256?(u.flags&=-257,gf(c,u,m,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(Q=B.fallback,x=u.mode,B=Nf({mode:"visible",children:B.children},x,0,null),Q=ka(Q,x,m,null),Q.flags|=2,B.return=u,Q.return=u,B.sibling=Q,u.child=B,u.mode&1&&Kl(u,c.child,null,m),u.child.memoizedState=pf(m),u.memoizedState=df,Q);if(!(u.mode&1))u=gf(c,u,m,null);else if(Ls(re))u=gf(c,u,m,Error(o(419)));else if(B=(m&c.childLanes)!==0,rr||B){if(B=Gn,B!==null){switch(m&-m){case 4:Q=2;break;case 16:Q=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:Q=32;break;case 536870912:Q=268435456;break;default:Q=0}B=Q&(B.suspendedLanes|m)?0:Q,B!==0&&B!==x.retryLane&&(x.retryLane=B,Sr(c,B,-1))}a0(),u=gf(c,u,m,Error(o(421)))}else ss(re)?(u.flags|=128,u.child=c.child,u=hT.bind(null,c),os(re,u),u=null):(m=x.treeContext,me&&(ir=Hl(re),nr=u,vn=!0,Gr=null,Lu=!1,m!==null&&(yr[vr++]=Ps,yr[vr++]=Us,yr[vr++]=Ra,Ps=m.id,Us=m.overflow,Ra=u)),u=Gm(u,u.pendingProps.children),u.flags|=4096);return u}return Q?(B=Uv(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?pf(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=df,B):(m=Pv(c,u,B.children,m),u.memoizedState=null,m)}return Q?(B=Uv(c,u,B.children,B.fallback,m),Q=u.child,x=c.child.memoizedState,Q.memoizedState=x===null?pf(m):{baseLanes:x.baseLanes|m,cachePool:null},Q.childLanes=c.childLanes&~m,u.memoizedState=df,B):(m=Pv(c,u,B.children,m),u.memoizedState=null,m)}function Gm(c,u){return u=Nf({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function Pv(c,u,m,B){var x=c.child;return c=x.sibling,m=Lo(x,{mode:"visible",children:m}),!(u.mode&1)&&(m.lanes=B),m.return=u,m.sibling=null,c!==null&&(B=u.deletions,B===null?(u.deletions=[c],u.flags|=16):B.push(c)),u.child=m}function Uv(c,u,m,B,x){var Q=u.mode;c=c.child;var W=c.sibling,re={mode:"hidden",children:m};return!(Q&1)&&u.child!==c?(m=u.child,m.childLanes=0,m.pendingProps=re,u.deletions=null):(m=Lo(c,re),m.subtreeFlags=c.subtreeFlags&14680064),W!==null?B=Lo(W,B):(B=ka(B,Q,x,null),B.flags|=2),B.return=u,m.return=u,m.sibling=B,u.child=m,B}function gf(c,u,m,B){return B!==null&&wm(B),Kl(u,c.child,null,m),c=Gm(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function kv(c,u,m){c.lanes|=u;var B=c.alternate;B!==null&&(B.lanes|=u),Em(c.return,u,m)}function Hm(c,u,m,B,x){var Q=c.memoizedState;Q===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:B,tail:m,tailMode:x}:(Q.isBackwards=u,Q.rendering=null,Q.renderingStartTime=0,Q.last=B,Q.tail=m,Q.tailMode=x)}function Fv(c,u,m){var B=u.pendingProps,x=B.revealOrder,Q=B.tail;if(Ti(c,u,B.children,m),B=Sn.current,B&2)B=B&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&kv(c,m,u);else if(c.tag===19)kv(c,m,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}B&=1}if($e(Sn,B),!(u.mode&1))u.memoizedState=null;else switch(x){case"forwards":for(m=u.child,x=null;m!==null;)c=m.alternate,c!==null&&rf(c)===null&&(x=m),m=m.sibling;m=x,m===null?(x=u.child,u.child=null):(x=m.sibling,m.sibling=null),Hm(u,!1,x,m,Q);break;case"backwards":for(m=null,x=u.child,u.child=null;x!==null;){if(c=x.alternate,c!==null&&rf(c)===null){u.child=x;break}c=x.sibling,x.sibling=m,m=x,x=c}Hm(u,!0,m,null,Q);break;case"together":Hm(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Fs(c,u,m){if(c!==null&&(u.dependencies=c.dependencies),ec|=u.lanes,!(m&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,m=Lo(c,c.pendingProps),u.child=m,m.return=u;c.sibling!==null;)c=c.sibling,m=m.sibling=Lo(c,c.pendingProps),m.return=u;m.sibling=null}return u.child}function eT(c,u,m){switch(u.tag){case 3:Lv(u),Xl();break;case 5:tv(u);break;case 1:he(u.type)&&Ue(u);break;case 4:_m(u,u.stateNode.containerInfo);break;case 10:O1(u,u.type._context,u.memoizedProps.value);break;case 13:var B=u.memoizedState;if(B!==null)return B.dehydrated!==null?($e(Sn,Sn.current&1),u.flags|=128,null):m&u.child.childLanes?Nv(c,u,m):($e(Sn,Sn.current&1),c=Fs(c,u,m),c!==null?c.sibling:null);$e(Sn,Sn.current&1);break;case 19:if(B=(m&u.childLanes)!==0,c.flags&128){if(B)return Fv(c,u,m);u.flags|=128}var x=u.memoizedState;if(x!==null&&(x.rendering=null,x.tail=null,x.lastEffect=null),$e(Sn,Sn.current),B)break;return null;case 22:case 23:return u.lanes=0,Rv(c,u,m)}return Fs(c,u,m)}function tT(c,u){switch(Bm(u),u.tag){case 1:return he(u.type)&&xe(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return jl(),ut(P),ut(L),Rm(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return Qm(u),null;case 13:if(ut(Sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));Xl()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return ut(Sn),null;case 4:return jl(),null;case 10:return mm(u.type._context),null;case 22:case 23:return o0(),null;case 24:return null;default:return null}}var mf=!1,La=!1,nT=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Ef(c,u){var m=c.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(B){Xi(c,u,B)}else m.current=null}function zm(c,u,m){try{m()}catch(B){Xi(c,u,B)}}var Ov=!1;function iT(c,u){for(j(c.containerInfo),Ke=u;Ke!==null;)if(c=Ke,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Ke=u;else for(;Ke!==null;){c=Ke;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,x=m.memoizedState,Q=c.stateNode,W=Q.getSnapshotBeforeUpdate(c.elementType===c.type?B:Or(c.type,B),x);Q.__reactInternalSnapshotBeforeUpdate=W}break;case 3:Se&&He(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(re){Xi(c,c.return,re)}if(u=c.sibling,u!==null){u.return=c.return,Ke=u;break}Ke=c.return}return m=Ov,Ov=!1,m}function ba(c,u,m){var B=u.updateQueue;if(B=B!==null?B.lastEffect:null,B!==null){var x=B=B.next;do{if((x.tag&c)===c){var Q=x.destroy;x.destroy=void 0,Q!==void 0&&zm(u,m,Q)}x=x.next}while(x!==B)}}function Wu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var m=u=u.next;do{if((m.tag&c)===c){var B=m.create;m.destroy=B()}m=m.next}while(m!==u)}}function Vm(c){var u=c.ref;if(u!==null){var m=c.stateNode;switch(c.tag){case 5:c=ne(m);break;default:c=m}typeof u=="function"?u(c):u.current=c}}function Gv(c,u,m){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(Yh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var B=c=c.next;do{var x=B,Q=x.destroy;x=x.tag,Q!==void 0&&(x&2||x&4)&&zm(u,m,Q),B=B.next}while(B!==c)}break;case 1:if(Ef(u,m),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(W){Xi(u,m,W)}break;case 5:Ef(u,m);break;case 4:Se?Jv(c,u,m):O&&O&&(u=u.stateNode.containerInfo,m=rt(u),Zt(u,m))}}function Hv(c,u,m){for(var B=u;;)if(Gv(c,B,m),B.child===null||Se&&B.tag===4){if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return}B.sibling.return=B.return,B=B.sibling}else B.child.return=B,B=B.child}function zv(c){var u=c.alternate;u!==null&&(c.alternate=null,zv(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&De(u)),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 Vv(c){return c.tag===5||c.tag===3||c.tag===4}function Wv(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||Vv(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 Yv(c){if(Se){e:{for(var u=c.return;u!==null;){if(Vv(u))break e;u=u.return}throw Error(o(160))}var m=u;switch(m.tag){case 5:u=m.stateNode,m.flags&32&&(Ot(u),m.flags&=-33),m=Wv(c),Ym(c,m,u);break;case 3:case 4:u=m.stateNode.containerInfo,m=Wv(c),Wm(c,m,u);break;default:throw Error(o(161))}}}function Wm(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?at(m,c,u):mt(m,c);else if(B!==4&&(c=c.child,c!==null))for(Wm(c,u,m),c=c.sibling;c!==null;)Wm(c,u,m),c=c.sibling}function Ym(c,u,m){var B=c.tag;if(B===5||B===6)c=c.stateNode,u?gt(m,c,u):lt(m,c);else if(B!==4&&(c=c.child,c!==null))for(Ym(c,u,m),c=c.sibling;c!==null;)Ym(c,u,m),c=c.sibling}function Jv(c,u,m){for(var B=u,x=!1,Q,W;;){if(!x){x=B.return;e:for(;;){if(x===null)throw Error(o(160));switch(Q=x.stateNode,x.tag){case 5:W=!1;break e;case 3:Q=Q.containerInfo,W=!0;break e;case 4:Q=Q.containerInfo,W=!0;break e}x=x.return}x=!0}if(B.tag===5||B.tag===6)Hv(c,B,m),W?yt(Q,B.stateNode):tt(Q,B.stateNode);else if(B.tag===18)W?Ie(Q,B.stateNode):we(Q,B.stateNode);else if(B.tag===4){if(B.child!==null){Q=B.stateNode.containerInfo,W=!0,B.child.return=B,B=B.child;continue}}else if(Gv(c,B,m),B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return;B=B.return,B.tag===4&&(x=!1)}B.sibling.return=B.return,B=B.sibling}}function Jm(c,u){if(Se){switch(u.tag){case 0:case 11:case 14:case 15:ba(3,u,u.return),Wu(3,u),ba(5,u,u.return);return;case 1:return;case 5:var m=u.stateNode;if(m!=null){var B=u.memoizedProps;c=c!==null?c.memoizedProps:B;var x=u.type,Q=u.updateQueue;u.updateQueue=null,Q!==null&&St(m,Q,x,c,B,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));m=u.memoizedProps,be(u.stateNode,c!==null?c.memoizedProps:m,m);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);return;case 12:return;case 13:Cf(u);return;case 19:Cf(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:ba(3,u,u.return),Wu(3,u),ba(5,u,u.return);return;case 12:return;case 13:Cf(u);return;case 19:Cf(u);return;case 3:me&&c!==null&&c.memoizedState.isDehydrated&&ge(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(O){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,Zt(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function Cf(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var m=c.stateNode;m===null&&(m=c.stateNode=new nT),u.forEach(function(B){var x=fT.bind(null,c,B);m.has(B)||(m.add(B),B.then(x,x))})}}function rT(c,u){for(Ke=u;Ke!==null;){u=Ke;var m=u.deletions;if(m!==null)for(var B=0;B";case yf:return":has("+(qm(c)||"")+")";case vf:return'[role="'+c.value+'"]';case xf:return'"'+c.value+'"';case Bf:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function Zv(c,u){var m=[];c=[c,0];for(var B=0;Bx&&(x=W),B&=~Q}if(B=x,B=ii()-B,B=(120>B?120:480>B?480:1080>B?1080:1920>B?1920:3e3>B?3e3:4320>B?4320:1960*oT(B/1960))-B,10c?16:c,Ro===null)var B=!1;else{if(c=Ro,Ro=null,Mf=0,Nt&6)throw Error(o(331));var x=Nt;for(Nt|=4,Ke=c.current;Ke!==null;){var Q=Ke,W=Q.child;if(Ke.flags&16){var re=Q.deletions;if(re!==null){for(var Me=0;Meii()-e0?Na(c,0):$m|=m),Ji(c,u)}function aB(c,u){u===0&&(c.mode&1?(u=ni,ni<<=1,!(ni&130023424)&&(ni=4194304)):u=1);var m=Li();c=Tf(c,u),c!==null&&(Tu(c,u,m),Ji(c,m))}function hT(c){var u=c.memoizedState,m=0;u!==null&&(m=u.retryLane),aB(c,m)}function fT(c,u){var m=0;switch(c.tag){case 13:var B=c.stateNode,x=c.memoizedState;x!==null&&(m=x.retryLane);break;case 19:B=c.stateNode;break;default:throw Error(o(314))}B!==null&&B.delete(u),aB(c,m)}var lB;lB=function(c,u,m){if(c!==null)if(c.memoizedProps!==u.pendingProps||P.current)rr=!0;else{if(!(c.lanes&m)&&!(u.flags&128))return rr=!1,eT(c,u,m);rr=!!(c.flags&131072)}else rr=!1,vn&&u.flags&1048576&&X1(u,tf,u.index);switch(u.lanes=0,u.tag){case 2:var B=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var x=ie(u,L.current);Wl(u,m),x=Tm(null,u,B,c,x,m);var Q=Lm();return u.flags|=1,typeof x=="object"&&x!==null&&typeof x.render=="function"&&x.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,he(B)?(Q=!0,Ue(u)):Q=!1,u.memoizedState=x.state!==null&&x.state!==void 0?x.state:null,Cm(u),x.updater=$h,u.stateNode=x,x._reactInternals=u,ym(u,B,c,m),u=Om(null,u,B,!0,Q,m)):(u.tag=0,vn&&Q&&vm(u),Ti(null,u,x,m),u=u.child),u;case 16:B=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,x=B._init,B=x(B._payload),u.type=B,x=u.tag=pT(B),c=Or(B,c),x){case 0:u=Fm(null,u,B,c,m);break e;case 1:u=Tv(null,u,B,c,m);break e;case 11:u=_v(null,u,B,c,m);break e;case 14:u=Qv(null,u,B,Or(B.type,c),m);break e}throw Error(o(306,B,""))}return u;case 0:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),Fm(c,u,B,x,m);case 1:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),Tv(c,u,B,x,m);case 3:e:{if(Lv(u),c===null)throw Error(o(387));B=u.pendingProps,Q=u.memoizedState,x=Q.element,G1(c,u),Zh(u,B,null,m);var W=u.memoizedState;if(B=W.element,me&&Q.isDehydrated)if(Q={element:B,isDehydrated:!1,cache:W.cache,transitions:W.transitions},u.updateQueue.baseState=Q,u.memoizedState=Q,u.flags&256){x=Error(o(423)),u=bv(c,u,B,m,x);break e}else if(B!==x){x=Error(o(424)),u=bv(c,u,B,m,x);break e}else for(me&&(ir=Gl(u.stateNode.containerInfo),nr=u,vn=!0,Gr=null,Lu=!1),m=ev(u,null,B,m),u.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(Xl(),B===x){u=Fs(c,u,m);break e}Ti(c,u,B,m)}u=u.child}return u;case 5:return tv(u),c===null&&Sm(u),B=u.type,x=u.pendingProps,Q=c!==null?c.memoizedProps:null,W=x.children,H(B,x)?W=null:Q!==null&&H(B,Q)&&(u.flags|=32),Dv(c,u),Ti(c,u,W,m),u.child;case 6:return c===null&&Sm(u),null;case 13:return Nv(c,u,m);case 4:return _m(u,u.stateNode.containerInfo),B=u.pendingProps,c===null?u.child=Kl(u,null,B,m):Ti(c,u,B,m),u.child;case 11:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),_v(c,u,B,x,m);case 7:return Ti(c,u,u.pendingProps,m),u.child;case 8:return Ti(c,u,u.pendingProps.children,m),u.child;case 12:return Ti(c,u,u.pendingProps.children,m),u.child;case 10:e:{if(B=u.type._context,x=u.pendingProps,Q=u.memoizedProps,W=x.value,O1(u,B,W),Q!==null)if(us(Q.value,W)){if(Q.children===x.children&&!P.current){u=Fs(c,u,m);break e}}else for(Q=u.child,Q!==null&&(Q.return=u);Q!==null;){var re=Q.dependencies;if(re!==null){W=Q.child;for(var Me=re.firstContext;Me!==null;){if(Me.context===B){if(Q.tag===1){Me=Ns(-1,m&-m),Me.tag=2;var Ge=Q.updateQueue;if(Ge!==null){Ge=Ge.shared;var st=Ge.pending;st===null?Me.next=Me:(Me.next=st.next,st.next=Me),Ge.pending=Me}}Q.lanes|=m,Me=Q.alternate,Me!==null&&(Me.lanes|=m),Em(Q.return,m,u),re.lanes|=m;break}Me=Me.next}}else if(Q.tag===10)W=Q.type===u.type?null:Q.child;else if(Q.tag===18){if(W=Q.return,W===null)throw Error(o(341));W.lanes|=m,re=W.alternate,re!==null&&(re.lanes|=m),Em(W,m,u),W=Q.sibling}else W=Q.child;if(W!==null)W.return=Q;else for(W=Q;W!==null;){if(W===u){W=null;break}if(Q=W.sibling,Q!==null){Q.return=W.return,W=Q;break}W=W.return}Q=W}Ti(c,u,x.children,m),u=u.child}return u;case 9:return x=u.type,B=u.pendingProps.children,Wl(u,m),x=Ir(x),B=B(x),u.flags|=1,Ti(c,u,B,m),u.child;case 14:return B=u.type,x=Or(B,u.pendingProps),x=Or(B.type,x),Qv(c,u,B,x,m);case 15:return Mv(c,u,u.type,u.pendingProps,m);case 17:return B=u.type,x=u.pendingProps,x=u.elementType===B?x:Or(B,x),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,he(B)?(c=!0,Ue(u)):c=!1,Wl(u,m),Y1(u,B,x),ym(u,B,x,m),Om(null,u,B,!0,c,m);case 19:return Fv(c,u,m);case 22:return Rv(c,u,m)}throw Error(o(156,u.tag))};function cB(c,u){return Am(c,u)}function dT(c,u,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=u,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 wr(c,u,m,B){return new dT(c,u,m,B)}function l0(c){return c=c.prototype,!(!c||!c.isReactComponent)}function pT(c){if(typeof c=="function")return l0(c)?1:0;if(c!=null){if(c=c.$$typeof,c===v)return 11;if(c===y)return 14}return 2}function Lo(c,u){var m=c.alternate;return m===null?(m=wr(c.tag,u,c.key,c.mode),m.elementType=c.elementType,m.type=c.type,m.stateNode=c.stateNode,m.alternate=c,c.alternate=m):(m.pendingProps=u,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,u=c.dependencies,m.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},m.sibling=c.sibling,m.index=c.index,m.ref=c.ref,m}function bf(c,u,m,B,x,Q){var W=2;if(B=c,typeof c=="function")l0(c)&&(W=1);else if(typeof c=="string")W=5;else e:switch(c){case h:return ka(m.children,x,Q,u);case f:W=8,x|=8;break;case d:return c=wr(12,m,u,x|2),c.elementType=d,c.lanes=Q,c;case C:return c=wr(13,m,u,x),c.elementType=C,c.lanes=Q,c;case p:return c=wr(19,m,u,x),c.elementType=p,c.lanes=Q,c;case S:return Nf(m,x,Q,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case g:W=10;break e;case E:W=9;break e;case v:W=11;break e;case y:W=14;break e;case I:W=16,B=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=wr(W,m,u,x),u.elementType=c,u.type=B,u.lanes=Q,u}function ka(c,u,m,B){return c=wr(7,c,B,u),c.lanes=m,c}function Nf(c,u,m,B){return c=wr(22,c,B,u),c.elementType=S,c.lanes=m,c.stateNode={},c}function c0(c,u,m){return c=wr(6,c,null,u),c.lanes=m,c}function u0(c,u,m){return u=wr(4,c.children!==null?c.children:[],c.key,u),u.lanes=m,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function gT(c,u,m,B,x){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=ve,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cm(0),this.expirationTimes=cm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cm(0),this.identifierPrefix=B,this.onRecoverableError=x,me&&(this.mutableSourceEagerHydrationData=null)}function uB(c,u,m,B,x,Q,W,re,Me){return c=new gT(c,u,m,re,Me),u===1?(u=1,Q===!0&&(u|=8)):u=0,Q=wr(3,null,null,u),c.current=Q,Q.stateNode=c,Q.memoizedState={element:B,isDehydrated:m,cache:null,transitions:null},Cm(Q),c}function AB(c){if(!c)return Di;c=c._reactInternals;e:{if(J(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(he(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var m=c.type;if(he(m))return Pe(c,m,u)}return u}function hB(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=q(u),c===null?null:c.stateNode}function fB(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var m=c.retryLane;c.retryLane=m!==0&&m=Ge&&Q>=_t&&x<=st&&W<=It){c.splice(u,1);break}else if(B!==Ge||m.width!==Me.width||ItW){if(!(Q!==_t||m.height!==Me.height||stx)){Ge>B&&(Me.width+=Ge-B,Me.x=B),stQ&&(Me.height+=_t-Q,Me.y=Q),Itm&&(m=W)),W ")+` 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 ie(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:gT,findFiberByHostInstance:c.findFiberByHostInstance||mT,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Yh=u.inject(c),cs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=jm(c,u);var x=je(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=Kt;try{return Kt=c,u()}finally{Kt=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,Q=Li(),W=Do(x);return m=uB(m),u.context===null?u.context=m:u.pendingContext=m,u=Ns(Q,W),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),Qo(x,u),c=Sr(x,W,Q),c!==null&&jh(c,x,W),W},t};xR.exports=kO;var FO=xR.exports;const OO=Kw(FO),GO=n=>typeof n=="object"&&typeof n.then=="function",hl=[];function _R(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=hl.indexOf(r);s!==-1&&hl.splice(s,1)},promise:(GO(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(hl.push(r),!t)throw r.promise}const HO=(n,e,t)=>QR(n,e,!1,t),zO=(n,e,t)=>void QR(n,e,!0,t),VO=n=>{if(n===void 0||n.length===0)hl.splice(0,hl.length);else{const e=hl.find(t=>_R(n,t.keys,t.equal));e&&e.remove()}},B1={},WO=n=>void Object.assign(B1,n);function YO(n,e){function t(h,{args:f=[],attach:d,...g},E){let v=`${h[0].toUpperCase()}${h.slice(1)}`,C;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;C=Dc(p,{type:h,root:E,attach:d,primitive:!0})}else{const p=B1[v];if(!p)throw new Error(`R3F: ${v} 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(f))throw new Error("R3F: The args prop must be an array!");C=Dc(new p(...f),{type:h,root:E,attach:d,memoizedProps:{args:f}})}return C.__r3f.attach===void 0&&(C instanceof Dt?C.__r3f.attach="geometry":C instanceof ci&&(C.__r3f.attach="material")),v!=="inject"&&BE(C,g),C}function i(h,f){let d=!1;if(f){var g,E;(g=f.__r3f)!=null&&g.attach?vE(h,f,f.__r3f.attach):f.isObject3D&&h.isObject3D&&(h.add(f),d=!0),d||(E=h.__r3f)==null||E.objects.push(f),f.__r3f||Dc(f,{}),f.__r3f.parent=h,DI(f),Tc(f)}}function r(h,f,d){let g=!1;if(f){var E,v;if((E=f.__r3f)!=null&&E.attach)vE(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){f.parent=h,f.dispatchEvent({type:"added"});const C=h.children.filter(y=>y!==f),p=C.indexOf(d);h.children=[...C.slice(0,p),f,...C.slice(p)],g=!0}g||(v=h.__r3f)==null||v.objects.push(f),f.__r3f||Dc(f,{}),f.__r3f.parent=h,DI(f),Tc(f)}}function s(h,f,d=!1){h&&[...h].forEach(g=>o(f,g,d))}function o(h,f,d){if(f){var g,E,v;if(f.__r3f&&(f.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==f)),(E=f.__r3f)!=null&&E.attach)rw(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){var C;h.remove(f),(C=f.__r3f)!=null&&C.root&&e8(f.__r3f.root,f)}const y=(v=f.__r3f)==null?void 0:v.primitive,I=!y&&(d===void 0?f.dispose!==null:d);if(!y){var p;s((p=f.__r3f)==null?void 0:p.objects,f,I),s(f.children,f,I)}if(delete f.__r3f,I&&f.dispose&&f.type!=="Scene"){const S=()=>{try{f.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?MI.unstable_scheduleCallback(MI.unstable_IdlePriority,S):S()}Tc(h)}}function a(h,f,d,g){var E;const v=(E=h.__r3f)==null?void 0:E.parent;if(!v)return;const C=t(f,d,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(C,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(C,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(v,h),C.parent&&(C.__r3f.autoRemovedBeforeAppend=!0),i(v,C),C.raycast&&C.__r3f.eventCount&&C.__r3f.root.getState().internal.interaction.push(C),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=C,p.ref&&(typeof p.ref=="function"?p.ref(C):p.ref.current=C))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:OO({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,f)=>{if(!f)return;const d=h.getState().scene;d.__r3f&&(d.__r3f.root=h,i(d,f))},removeChildFromContainer:(h,f)=>{f&&o(h.getState().scene,f)},insertInContainerBefore:(h,f,d)=>{if(!f||!d)return;const g=h.getState().scene;g.__r3f&&r(g,f,d)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var f;return!!((f=h?.__r3f)!=null?f:{}).handlers},prepareUpdate(h,f,d,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:C=[],children:p,...y}=g,{args:I=[],children:S,...R}=d;if(!Array.isArray(C))throw new Error("R3F: the args prop must be an array!");if(C.some((D,U)=>D!==I[U]))return[!0];const M=NR(h,y,R,!0);return M.changes.length?[!1,M]:null}},commitUpdate(h,[f,d],g,E,v,C){f?a(h,g,v,C):BE(h,d)},commitMount(h,f,d,g){var E;const v=(E=h.__r3f)!=null?E:{};h.raycast&&v.handlers&&v.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>Dc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var f;const{attach:d,parent:g}=(f=h.__r3f)!=null?f:{};d&&g&&rw(g,h,d),h.isObject3D&&(h.visible=!1),Tc(h)},unhideInstance(h,f){var d;const{attach:g,parent:E}=(d=h.__r3f)!=null?d:{};g&&E&&vE(E,h,g),(h.isObject3D&&f.visible==null||f.visible)&&(h.visible=!0),Tc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Kc.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Cn.fun(performance.now)?performance.now:Cn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Cn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Cn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:BE}}var ew,tw;const yE=n=>"colorSpace"in n||"outputColorSpace"in n,MR=()=>{var n;return(n=B1.ColorManagement)!=null?n:null},RR=n=>n&&n.isOrthographicCamera,JO=n=>n&&n.hasOwnProperty("current"),Oh=typeof window<"u"&&((ew=window.document)!=null&&ew.createElement||((tw=window.navigator)==null?void 0:tw.product)==="ReactNative")?ue.useLayoutEffect:ue.useEffect;function DR(n){const e=ue.useRef(n);return Oh(()=>void(e.current=n),[n]),e}function XO({set:n}){return Oh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class TR extends ue.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}TR.getDerivedStateFromError=()=>({error:!0});const LR="__default",nw=new Map,KO=n=>n&&!!n.memoized&&!!n.changes;function bR(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 pA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},Cn={obj:n=>n===Object(n)&&!Cn.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(Cn.str(n)||Cn.num(n))return n===e;const s=Cn.obj(n);if(s&&i==="reference")return n===e;const o=Cn.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(!Cn.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(Cn.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 qO(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 jO(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Dc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function RI(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 iw=/-\d+$/;function vE(n,e,t){if(Cn.str(t)){if(iw.test(t)){const s=t.replace(iw,""),{target:o,key:a}=RI(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=RI(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function rw(n,e,t){var i,r;if(Cn.str(t)){const{target:s,key:o}=RI(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 NR(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const f=(h=n?.__r3f)!=null?h:{},d=Object.entries(r),g=[];if(A){const v=Object.keys(l);for(let C=0;C{var p;if((p=n.__r3f)!=null&&p.primitive&&v==="object"||Cn.equ(C,l[v]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(v))return g.push([v,C,!0,[]]);let y=[];v.includes("-")&&(y=v.split("-")),g.push([v,C,!1,y]);for(const I in r){const S=r[I];I.startsWith(`${v}-`)&&g.push([I,S,!1,I.split("-")])}});const E={...r};return f.memoizedProps&&f.memoizedProps.args&&(E.args=f.memoizedProps.args),f.memoizedProps&&f.memoizedProps.attach&&(E.attach=f.memoizedProps.attach),{memoized:E,changes:g}}const ZO=typeof process<"u"&&!1;function BE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=KO(e)?e:NR(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let d=0;dI[S],n),!(y&&y.set))){const[I,...S]=C.reverse();p=S.reverse().reduce((R,M)=>R[M],n),g=I}if(E===LR+"remove")if(p.constructor){let I=nw.get(p.constructor);I||(I=new p.constructor,nw.set(p.constructor,I)),E=I[g]}else E=0;if(v)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof El)){if(Array.isArray(E))y.fromArray?y.fromArray(E):y.set(...E);else if(y.copy&&E&&E.constructor&&(ZO?y.constructor.name===E.constructor.name:y.constructor===E.constructor))y.copy(E);else if(E!==void 0){const I=y instanceof qe;!I&&y.setScalar?y.setScalar(E):y instanceof El&&E instanceof El?y.mask=E.mask:y.set(E),!MR()&&!a.linear&&I&&y.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof xn&&p[g].format===Ui&&p[g].type===_s){const I=p[g];yE(I)&&yE(a.gl)?I.colorSpace=a.gl.outputColorSpace:I.encoding=a.gl.outputEncoding}Tc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const d=a.internal.interaction.indexOf(n);d>-1&&a.internal.interaction.splice(d,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&DI(n),n}function Tc(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 DI(n){n.onUpdate==null||n.onUpdate(n)}function PR(n,e){n.manual||(RR(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 Vd(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function $O(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Kc.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Kc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Kc.ContinuousEventPriority;default:return Kc.DefaultEventPriority}}function UR(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function e8(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)=>{UR(t.capturedMap,e,i,r)})}function t8(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],f=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+f*f))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var f;return(f=A.__r3f)==null?void 0:f.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),f=new Set,d=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const I=pA(p.object),S=pA(y.object);return!I||!S?p.distance-y.distance:S.events.priority-I.events.priority||p.distance-y.distance}).filter(p=>{const y=Vd(p);return f.has(y)?!1:(f.add(y),!0)});h.events.filter&&(v=h.events.filter(v,h));for(const p of v){let y=p.object;for(;y;){var C;(C=y.__r3f)!=null&&C.eventCount&&d.push({...p,eventObject:y}),y=y.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())f.has(Vd(p.intersection))||d.push(p.intersection);return d}function r(l,A,h,f){const d=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const v=pA(E.object)||d,{raycaster:C,pointer:p,camera:y,internal:I}=v,S=new G(p.x,p.y,0).unproject(y),R=_=>{var b,q;return(b=(q=I.capturedMap.get(_))==null?void 0:q.has(E.eventObject))!=null?b:!1},M=_=>{const b={intersection:E,target:A.target};I.capturedMap.has(_)?I.capturedMap.get(_).set(E.eventObject,b):I.capturedMap.set(_,new Map([[E.eventObject,b]])),A.target.setPointerCapture(_)},D=_=>{const b=I.capturedMap.get(_);b&&UR(I.capturedMap,E.eventObject,b,_)};let U={};for(let _ in A){let b=A[_];typeof b!="function"&&(U[_]=b)}let J={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:C.ray,camera:y,stopPropagation(){const _="pointerId"in A&&I.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(J.stopped=g.stopped=!0,I.hovered.size&&Array.from(I.hovered.values()).find(b=>b.eventObject===E.eventObject))){const b=l.slice(0,l.indexOf(E));s([...b,E])}},target:{hasPointerCapture:R,setPointerCapture:M,releasePointerCapture:D},currentTarget:{hasPointerCapture:R,setPointerCapture:M,releasePointerCapture:D},nativeEvent:A};if(f(J),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(f=>f.object===h.object&&f.index===h.index&&f.instanceId===h.instanceId)){const d=h.eventObject.__r3f,g=d?.handlers;if(A.hovered.delete(Vd(h)),d!=null&&d.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:f,internal:d}=n.getState();d.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",C=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(d.initialClick=[h.offsetX,h.offsetY],d.initialHits=C.map(I=>I.eventObject)),E&&!C.length&&p<=2&&(o(h,d.interaction),f&&f(h)),g&&s(C);function y(I){const S=I.eventObject,R=S.__r3f,M=R?.handlers;if(R!=null&&R.eventCount)if(g){if(M.onPointerOver||M.onPointerEnter||M.onPointerOut||M.onPointerLeave){const D=Vd(I),U=d.hovered.get(D);U?U.stopped&&I.stopPropagation():(d.hovered.set(D,I),M.onPointerOver==null||M.onPointerOver(I),M.onPointerEnter==null||M.onPointerEnter(I))}M.onPointerMove==null||M.onPointerMove(I)}else{const D=M[l];D?(!E||d.initialHits.includes(S))&&(o(h,d.interaction.filter(U=>!d.initialHits.includes(U))),D(I)):E&&d.initialHits.includes(S)&&o(h,d.interaction.filter(U=>!d.initialHits.includes(U)))}}r(C,h,p,y)}}return{handlePointer:a}}const n8=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],kR=n=>!!(n!=null&&n.render),x1=ue.createContext(null),i8=(n,e)=>{const t=BR((a,l)=>{const A=new G,h=new G,f=new G;function d(p=l().camera,y=h,I=l().size){const{width:S,height:R,top:M,left:D}=I,U=S/R;y instanceof G?f.copy(y):f.set(...y);const J=p.getWorldPosition(A).distanceTo(f);if(RR(p))return{width:S/p.zoom,height:R/p.zoom,top:M,left:D,factor:1,distance:J,aspect:U};{const _=p.fov*Math.PI/180,b=2*Math.tan(_/2)*J,q=b*(S/R);return{width:q,height:b,top:M,left:D,factor:S/q,distance:J,aspect:U}}}let g;const E=p=>a(y=>({performance:{...y.performance,current:p}})),v=new Be;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,y)=>e(p,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new E1,pointer:v,mouse:v,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:p=>a(y=>({...y,events:{...y.events,...p}})),setSize:(p,y,I,S,R)=>{const M=l().camera,D={width:p,height:y,top:S||0,left:R||0,updateStyle:I};a(U=>({size:D,viewport:{...U.viewport,...d(M,h,D)}}))},setDpr:p=>a(y=>{const I=bR(p);return{viewport:{...y.viewport,dpr:I,initialDpr:y.viewport.initialDpr||I}}}),setFrameloop:(p="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,p!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:p}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:ue.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(p,y,I)=>{const S=l().internal;return S.priority=S.priority+(y>0?1:0),S.subscribers.push({ref:p,priority:y,store:I}),S.subscribers=S.subscribers.sort((R,M)=>R.priority-M.priority),()=>{const R=l().internal;R!=null&&R.subscribers&&(R.priority=R.priority-(y>0?1:0),R.subscribers=R.subscribers.filter(M=>M.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:f}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var d;r=l,s=A.dpr,PR(a,l),h.setPixelRatio(A.dpr);const g=(d=l.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,f(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let Wd,r8=new Set,s8=new Set,o8=new Set;function xE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function gA(n,e){switch(n){case"before":return xE(r8,e);case"after":return xE(s8,e);case"tail":return xE(o8,e)}}let SE,wE;function _E(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),SE=e.internal.subscribers,Wd=0;Wd0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=_E(l,r))}if(gA("after",l),t===0)return gA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(f=>o(f.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,f){if(A&&gA("before",l),h)_E(l,h,f);else for(const d of n.values())_E(l,d.store.getState());A&&gA("after",l)}return{loop:s,invalidate:o,advance:a}}function xu(){const n=ue.useContext(x1);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function FR(n=t=>t,e){return xu()(n,e)}function OR(n,e=0){const t=xu(),i=t.getState().internal.subscribe,r=DR(n);return Oh(()=>i(r,e,t),[e,i,t]),null}const sw=new WeakMap;function GR(n,e){return function(t,...i){let r=sw.get(t);return r||(r=new t,sw.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,qO(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function S1(n,e,t,i){const r=Array.isArray(e)?e:[e],s=HO(GR(t,i),[n,...r],{equal:Cn.equ});return Array.isArray(e)?s:s[0]}S1.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return zO(GR(t),[n,...i])};S1.clear=function(n,e){const t=Array.isArray(e)?e:[e];return VO([n,...t])};const hu=new Map,{invalidate:ow,advance:aw}=a8(hu),{reconciler:Bh,applyProps:xc}=YO(hu,$O),Sc={objects:"shallow",strict:!1},l8=(n,e)=>{const t=typeof n=="function"?n(e):n;return kR(t)?t:new t1({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function c8(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 u8(n){const e=hu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||i8(ow,aw),o=t||Bh.createContainer(s,Kc.ConcurrentRoot,null,!1,null,"",r,null);e||hu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:f,size:d,scene:g,events:E,onCreated:v,shadows:C=!1,linear:p=!1,flat:y=!1,legacy:I=!1,orthographic:S=!1,frameloop:R="always",dpr:M=[1,2],performance:D,raycaster:U,camera:J,onPointerMissed:_}=h,b=s.getState(),q=b.gl;b.gl||b.set({gl:q=l8(f,n)});let fe=b.raycaster;fe||b.set({raycaster:fe=new v1});const{params:Y,...oe}=U||{};if(Cn.equ(oe,fe,Sc)||xc(fe,{...oe}),Cn.equ(Y,fe.params,Sc)||xc(fe,{params:{...fe.params,...Y}}),!b.camera||b.camera===A&&!Cn.equ(A,J,Sc)){A=J;const _e=J instanceof Lh,ke=_e?J:S?new Cu(0,0,0,0,.1,1e3):new Xn(75,0,.1,1e3);_e||(ke.position.z=5,J&&xc(ke,J),!b.camera&&!(J!=null&&J.rotation)&&ke.lookAt(0,0,0)),b.set({camera:ke}),fe.camera=ke}if(!b.scene){let _e;g instanceof ph?_e=g:(_e=new ph,g&&xc(_e,g)),b.set({scene:Dc(_e)})}if(!b.xr){var ie;const _e=(H,F)=>{const N=s.getState();N.frameloop!=="never"&&aw(H,!0,N,F)},ke=()=>{const H=s.getState();H.gl.xr.enabled=H.gl.xr.isPresenting,H.gl.xr.setAnimationLoop(H.gl.xr.isPresenting?_e:null),H.gl.xr.isPresenting||ow(H)},V={connect(){const H=s.getState().gl;H.xr.addEventListener("sessionstart",ke),H.xr.addEventListener("sessionend",ke)},disconnect(){const H=s.getState().gl;H.xr.removeEventListener("sessionstart",ke),H.xr.removeEventListener("sessionend",ke)}};typeof((ie=q.xr)==null?void 0:ie.addEventListener)=="function"&&V.connect(),b.set({xr:V})}if(q.shadowMap){const _e=q.shadowMap.enabled,ke=q.shadowMap.type;if(q.shadowMap.enabled=!!C,Cn.boo(C))q.shadowMap.type=TA;else if(Cn.str(C)){var de;const V={basic:hM,percentage:vg,soft:TA,variance:Xr};q.shadowMap.type=(de=V[C])!=null?de:TA}else Cn.obj(C)&&Object.assign(q.shadowMap,C);(_e!==q.shadowMap.enabled||ke!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const k=MR();k&&("enabled"in k?k.enabled=!I:"legacyMode"in k&&(k.legacyMode=I)),xc(q,{outputEncoding:p?3e3:3001,toneMapping:y?ws:Py}),b.legacy!==I&&b.set(()=>({legacy:I})),b.linear!==p&&b.set(()=>({linear:p})),b.flat!==y&&b.set(()=>({flat:y})),f&&!Cn.fun(f)&&!kR(f)&&!Cn.equ(f,q,Sc)&&xc(q,f),E&&!b.events.handlers&&b.set({events:E(s)});const Ae=c8(n,d);return Cn.equ(Ae,b.size,Sc)||b.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),M&&b.viewport.dpr!==bR(M)&&b.setDpr(M),b.frameloop!==R&&b.setFrameloop(R),b.onPointerMissed||b.set({onPointerMissed:_}),D&&!Cn.equ(D,b.performance,Sc)&&b.set(_e=>({performance:{..._e.performance,...D}})),a=v,l=!0,this},render(h){return l||this.configure(),Bh.updateContainer(ue.createElement(A8,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){HR(n)}}}function A8({store:n,children:e,onCreated:t,rootElement:i}){return Oh(()=>{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)},[]),ue.createElement(x1.Provider,{value:n},e)}function HR(n,e){const t=hu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),Bh.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(),jO(r),hu.delete(n),e&&e(n)}catch{}},500)})}}function zR(n,e,t){return ue.createElement(h8,{key:e.uuid,children:n,container:e,state:t})}function h8({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=xu(),[a]=ue.useState(()=>new v1),[l]=ue.useState(()=>new Be),A=ue.useCallback((f,d)=>{const g={...f};Object.keys(f).forEach(v=>{(n8.includes(v)||f[v]!==d[v]&&d[v])&&delete g[v]});let E;if(d&&r){const v=d.camera;E=f.viewport.getCurrentViewport(v,new G,r),v!==f.camera&&PR(v,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...d?.events,...i},size:{...f.size,...r},viewport:{...f.viewport,...E},...s}},[n]),[h]=ue.useState(()=>{const f=o.getState();return BR((g,E)=>({...f,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...i},size:{...f.size,...r},...s,set:g,get:E,setEvents:v=>g(C=>({...C,events:{...C.events,...v}}))}))});return ue.useEffect(()=>{const f=o.subscribe(d=>h.setState(g=>A(d,g)));return()=>{f(),h.destroy()}},[]),ue.useEffect(()=>{h.setState(f=>A(o.getState(),f))},[A]),ue.createElement(ue.Fragment,null,Bh.createPortal(ue.createElement(x1.Provider,{value:h},e),h,null))}Bh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:ue.version});function ng(){return ng=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}TI.debounce=TI;var f8=TI;const lw=Kw(f8);function d8(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]=ue.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=ue.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,f=ue.useRef(!1);ue.useEffect(()=>(f.current=!0,()=>void(f.current=!1)));const[d,g,E]=ue.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:I,top:S,width:R,height:M,bottom:D,right:U,x:J,y:_}=l.current.element.getBoundingClientRect(),b={left:I,top:S,width:R,height:M,bottom:D,right:U,x:J,y:_};l.current.element instanceof HTMLElement&&r&&(b.height=l.current.element.offsetHeight,b.width=l.current.element.offsetWidth),Object.freeze(b),f.current&&!E8(l.current.lastBounds,b)&&a(l.current.lastBounds=b)};return[y,h?lw(y,h):y,A?lw(y,A):y]},[a,r,A,h]);function v(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function C(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=y=>{!y||y===l.current.element||(v(),l.current.element=y,l.current.scrollContainers=VR(y),C())};return g8(E,!!t),p8(g),ue.useEffect(()=>{v(),C()},[t,E,g]),ue.useEffect(()=>v,[]),[p,o,d]}function p8(n){ue.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function g8(n,e){ue.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function VR(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,...VR(n.parentElement)]}const m8=["x","y","top","bottom","left","right","width","height"],E8=(n,e)=>m8.every(t=>n[t]===e[t]);var C8=Object.defineProperty,I8=Object.defineProperties,y8=Object.getOwnPropertyDescriptors,cw=Object.getOwnPropertySymbols,v8=Object.prototype.hasOwnProperty,B8=Object.prototype.propertyIsEnumerable,uw=(n,e,t)=>e in n?C8(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Aw=(n,e)=>{for(var t in e||(e={}))v8.call(e,t)&&uw(n,t,e[t]);if(cw)for(var t of cw(e))B8.call(e,t)&&uw(n,t,e[t]);return n},x8=(n,e)=>I8(n,y8(e));function WR(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=WR(i,e,t);if(r)return r;i=e?null:i.sibling}}function YR(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const w1=YR(ue.createContext(null));class JR extends ue.Component{render(){return ue.createElement(w1.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:hw,ReactCurrentDispatcher:fw}=ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function S8(){const n=ue.useContext(w1);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=ue.useId();return ue.useMemo(()=>{for(const i of[hw?.current,n,n?.alternate]){if(!i)continue;const r=WR(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 w8(){var n,e;const t=S8(),[i]=ue.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==w1&&!i.has(s)&&i.set(s,(e=fw?.current)==null?void 0:e.readContext(YR(s))),r=r.return}return i}function _8(){const n=w8();return ue.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>ue.createElement(e,null,ue.createElement(t.Provider,x8(Aw({},i),{value:n.get(t)}))),e=>ue.createElement(JR,Aw({},e))),[n])}const QE={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 Q8(n){const{handlePointer:e}=t8(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(QE).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,A]=QE[o];t.addEventListener(l,a,{passive:A})})},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]=QE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const M8=ue.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=Q8,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:v,performance:C,raycaster:p,camera:y,scene:I,onPointerMissed:S,onCreated:R,...M},D){ue.useMemo(()=>WO(NO),[]);const U=_8(),[J,_]=d8({scroll:!0,debounce:{scroll:50,resize:0},...i}),b=ue.useRef(null),q=ue.useRef(null);ue.useImperativeHandle(D,()=>b.current);const fe=DR(S),[Y,oe]=ue.useState(!1),[ie,de]=ue.useState(!1);if(Y)throw Y;if(ie)throw ie;const k=ue.useRef(null);Oh(()=>{const ee=b.current;_.width>0&&_.height>0&&ee&&(k.current||(k.current=u8(ee)),k.current.configure({gl:s,events:o,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:v,performance:C,raycaster:p,camera:y,scene:I,size:_,onPointerMissed:(...Ae)=>fe.current==null?void 0:fe.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?JO(a)?a.current:a:q.current),l&&Ae.setEvents({compute:(_e,ke)=>{const V=_e[l+"X"],H=_e[l+"Y"];ke.pointer.set(V/ke.size.width*2-1,-(H/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),R?.(Ae)}}),k.current.render(ue.createElement(U,null,ue.createElement(TR,{set:de},ue.createElement(ue.Suspense,{fallback:ue.createElement(XO,{set:oe})},e)))))}),ue.useEffect(()=>{const ee=b.current;if(ee)return()=>HR(ee)},[]);const j=a?"none":"auto";return ue.createElement("div",ng({ref:q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...r}},M),ue.createElement("div",{ref:J,style:{width:"100%",height:"100%"}},ue.createElement("canvas",{ref:b,style:{display:"block"}},t)))}),R8=ue.forwardRef(function(e,t){return ue.createElement(JR,null,ue.createElement(M8,ng({},e,{ref:t})))}),D8=ue.createContext(null);function XR(){return ue.useContext(D8)}const KR=ue.createContext(void 0);function xa(){const n=ue.useContext(KR);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const Su=KR.Provider;function jg(){throw new Error("Cycle detected")}var T8=Symbol.for("preact-signals");function Zg(){if(ha>1)ha--;else{for(var n,e=!1;UA!==void 0;){var t=UA;for(UA=void 0,LI++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&ZR(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(LI=0,ha--,e)throw n}}function qR(n){if(ha>0)return n();ha++;try{return n()}finally{Zg()}}var mn=void 0,ME=0;function L8(n){if(ME>0)return n();var e=mn;mn=void 0,ME++;try{return n()}finally{ME--,mn=e}}var UA=void 0,ha=0,LI=0,ig=0;function jR(n){if(mn!==void 0){var e=n.n;if(e===void 0||e.t!==mn)return e={i:0,S:n,p:mn.s,n:void 0,t:mn,e:void 0,x:void 0,r:e},mn.s!==void 0&&(mn.s.n=e),mn.s=e,n.n=e,32&mn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=mn.s,e.n=void 0,mn.s.n=e,mn.s=e),e}}function $n(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}$n.prototype.brand=T8;$n.prototype.h=function(){return!0};$n.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};$n.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};$n.prototype.subscribe=function(n){var e=this;return ut(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};$n.prototype.valueOf=function(){return this.value};$n.prototype.toString=function(){return this.value+""};$n.prototype.toJSON=function(){return this.value};$n.prototype.peek=function(){return this.v};Object.defineProperty($n.prototype,"value",{get:function(){var n=jR(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(mn instanceof Sa&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){LI>100&&jg(),this.v=n,this.i++,ig++,ha++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Zg()}}}});function nt(n){return new $n(n)}function ZR(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function $R(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function eD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Sa(n){$n.call(this,void 0),this.x=n,this.s=void 0,this.g=ig-1,this.f=4}(Sa.prototype=new $n).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===ig))return!0;if(this.g=ig,this.f|=1,this.i>0&&!ZR(this))return this.f&=-2,!0;var n=mn;try{$R(this),mn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return mn=n,eD(this),this.f&=-2,!0};Sa.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}$n.prototype.S.call(this,n)};Sa.prototype.U=function(n){if(this.t!==void 0&&($n.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Sa.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Sa.prototype.peek=function(){if(this.h()||jg(),16&this.f)throw this.v;return this.v};Object.defineProperty(Sa.prototype,"value",{get:function(){1&this.f&&jg();var n=jR(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Gt(n){return new Sa(n)}function tD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){ha++;var t=mn;mn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,_1(n),i}finally{mn=t,Zg()}}}function _1(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,tD(n)}function b8(n){if(mn!==this)throw new Error("Out-of-order effect");eD(this),mn=n,this.f&=-2,8&this.f&&_1(this),Zg()}function Gh(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Gh.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Gh.prototype.S=function(){1&this.f&&jg(),this.f|=1,this.f&=-9,tD(this),$R(this),ha++;var n=mn;return mn=this,b8.bind(this,n)};Gh.prototype.N=function(){2&this.f||(this.f|=2,this.o=UA,UA=this)};Gh.prototype.d=function(){this.f|=8,1&this.f||_1(this)};function ut(n){var e=new Gh(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var N8=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,P){i=L,r=P});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&Y("no native wasm support detected");var h,f=!1;function d(L,P,Z){Z=P+Z;for(var ne="";!(P>=Z);){var he=L[P++];if(!he)break;if(he&128){var xe=L[P++]&63;if((he&224)==192)ne+=String.fromCharCode((he&31)<<6|xe);else{var Ne=L[P++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Ne:(he&7)<<18|xe<<12|Ne<<6|L[P++]&63,65536>he?ne+=String.fromCharCode(he):(he-=65536,ne+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else ne+=String.fromCharCode(he)}return ne}var g,E,v,C,p,y,I,S,R;function M(){var L=h.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=C=new Int16Array(L),t.HEAP32=y=new Int32Array(L),t.HEAPU8=v=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=I=new Uint32Array(L),t.HEAPF32=S=new Float32Array(L),t.HEAPF64=R=new Float64Array(L)}var D,U=[],J=[],_=[];function b(){var L=t.preRun.shift();U.unshift(L)}var q=0,fe=null;function Y(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),f=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function oe(L){return L.startsWith("data:application/octet-stream;base64,")}var ie;if(ie="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICA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AAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!oe(ie)){var de=ie;ie=t.locateFile?t.locateFile(de,o):o+de}function k(){var L=ie;try{if(L==ie&&A)return new Uint8Array(A);if(oe(L))try{var P=pn(L.slice(37)),Z=new Uint8Array(P.length);for(L=0;L=P?"_"+L:L}function _e(L,P){return L=Ae(L),function(){return P.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],V=[];function H(L){var P=Error,Z=_e(L,function(ne){this.name=L,this.message=ne,ne=Error(ne).stack,ne!==void 0&&(this.stack=this.toString()+` -`+ne.replace(/^Error(:[^\n]*)?\n/,""))});return Z.prototype=Object.create(P.prototype),Z.prototype.constructor=Z,Z.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Z}var F=void 0;function N(L){throw new F(L)}var Ee=L=>(L||N("Cannot use deleted val. handle = "+L),ke[L].value),ve=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var P=V.length?V.pop():ke.length;return ke[P]={ga:1,value:L},P}},pe=void 0,Se=void 0;function O(L){for(var P="";v[L];)P+=Se[v[L++]];return P}var me=[];function $(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ce=void 0,se={};function De(L,P){for(P===void 0&&N("ptr should not be undefined");L.R;)P=L.ba(P),L=L.R;return P}var K={};function w(L){L=ln(L);var P=O(L);return ct(L),P}function T(L,P){var Z=K[L];return Z===void 0&&N(P+" has unknown type "+w(L)),Z}function te(){}var Le=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,P,Z){return P===Z?L:Z.R===void 0?null:(L=Re(L,P,Z.R),L===null?null:Z.na(L))}var Je={};function Ve(L,P){return P=De(L,P),se[P]}var je=void 0;function at(L){throw new je(L)}function mt(L,P){return P.P&&P.O||at("makeClassHandle requires ptr and ptrType"),!!P.U!=!!P.T&&at("Both smartPtrType and smartPtr must be specified"),P.count={value:1},be(Object.create(L,{M:{value:P}}))}function be(L){return typeof FinalizationRegistry>"u"?(be=P=>P,L):(Le=new FinalizationRegistry(P=>{Te(P.M)}),be=P=>{var Z=P.M;return Z.T&&Le.register(P,{M:Z},P),P},te=P=>{Le.unregister(P)},be(L))}var Tt={};function St(L){for(;L.length;){var P=L.pop();L.pop()(P)}}function gt(L){return this.fromWireType(y[L>>2])}var ot={},et={};function yt(L,P,Z){function ne(Pe){Pe=Z(Pe),Pe.length!==L.length&&at("Mismatched type converter count");for(var Ue=0;Ue{K.hasOwnProperty(Pe)?he[Ue]=K[Pe]:(xe.push(Pe),ot.hasOwnProperty(Pe)||(ot[Pe]=[]),ot[Pe].push(()=>{he[Ue]=K[Pe],++Ne,Ne===xe.length&&ne(he)}))}),xe.length===0&&ne(he)}function Ot(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function kt(L,P,Z={}){if(!("argPackAdvance"in P))throw new TypeError("registerType registeredInstance requires argPackAdvance");var ne=P.name;if(L||N('type "'+ne+'" must have a positive integer typeid pointer'),K.hasOwnProperty(L)){if(Z.ua)return;N("Cannot register type '"+ne+"' twice")}K[L]=P,delete et[L],ot.hasOwnProperty(L)&&(P=ot[L],delete ot[L],P.forEach(he=>he()))}function Mt(L){N(L.M.P.N.name+" instance already deleted")}function Pt(){}function X(L,P,Z){if(L[P].S===void 0){var ne=L[P];L[P]=function(){return L[P].S.hasOwnProperty(arguments.length)||N("Function '"+Z+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[P].S+")!"),L[P].S[arguments.length].apply(this,arguments)},L[P].S=[],L[P].S[ne.Z]=ne}}function He(L,P){t.hasOwnProperty(L)?(N("Cannot register public name '"+L+"' twice"),X(t,L,L),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=P):t[L]=P}function ze(L,P,Z,ne,he,xe,Ne,Pe){this.name=L,this.constructor=P,this.X=Z,this.W=ne,this.R=he,this.pa=xe,this.ba=Ne,this.na=Pe,this.ja=[]}function it(L,P,Z){for(;P!==Z;)P.ba||N("Expected null or instance of "+Z.name+", got an instance of "+P.name),L=P.ba(L),P=P.R;return L}function dt(L,P){return P===null?(this.ea&&N("null is not a valid "+this.name),0):(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),it(P.M.O,P.M.P.N,this.N))}function Wt(L,P){if(P===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var Z=this.fa();return L!==null&&L.push(this.W,Z),Z}return 0}if(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&P.M.P.ca&&N("Cannot convert argument of type "+(P.M.U?P.M.U.name:P.M.P.name)+" to parameter type "+this.name),Z=it(P.M.O,P.M.P.N,this.N),this.da)switch(P.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:P.M.U===this?Z=P.M.T:N("Cannot convert argument of type "+(P.M.U?P.M.U.name:P.M.P.name)+" to parameter type "+this.name);break;case 1:Z=P.M.T;break;case 2:if(P.M.U===this)Z=P.M.T;else{var ne=P.clone();Z=this.xa(Z,ve(function(){ne.delete()})),L!==null&&L.push(this.W,Z)}break;default:N("Unsupporting sharing policy")}return Z}function Zt(L,P){return P===null?(this.ea&&N("null is not a valid "+this.name),0):(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),P.M.P.ca&&N("Cannot convert argument of type "+P.M.P.name+" to parameter type "+this.name),it(P.M.O,P.M.P.N,this.N))}function $t(L,P,Z,ne){this.name=L,this.N=P,this.ea=Z,this.ca=ne,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,P.R!==void 0?this.toWireType=Wt:(this.toWireType=ne?dt:Zt,this.V=null)}function ui(L,P){t.hasOwnProperty(L)||at("Replacing nonexistant public symbol"),t[L]=P,t[L].Z=void 0}function en(L,P){var Z=[];return function(){if(Z.length=0,Object.assign(Z,arguments),L.includes("j")){var ne=t["dynCall_"+L];ne=Z&&Z.length?ne.apply(null,[P].concat(Z)):ne.call(null,P)}else ne=D.get(P).apply(null,Z);return ne}}function nn(L,P){L=O(L);var Z=L.includes("j")?en(L,P):D.get(P);return typeof Z!="function"&&N("unknown function pointer with signature "+L+": "+P),Z}var Ri=void 0;function ss(L,P){function Z(xe){he[xe]||K[xe]||(et[xe]?et[xe].forEach(Z):(ne.push(xe),he[xe]=!0))}var ne=[],he={};throw P.forEach(Z),new Ri(L+": "+ne.map(w).join([", "]))}function Ls(L,P,Z,ne,he){var xe=P.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Ne=P[1]!==null&&Z!==null,Pe=!1;for(Z=1;Z>2]);return Z}function Cr(L){4>2])};case 3:return function(Z){return this.fromWireType(R[Z>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Hl(L,P,Z){switch(P){case 0:return Z?function(ne){return E[ne]}:function(ne){return v[ne]};case 1:return Z?function(ne){return C[ne>>1]}:function(ne){return p[ne>>1]};case 2:return Z?function(ne){return y[ne>>2]}:function(ne){return I[ne>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Mu(L,P){for(var Z="",ne=0;!(ne>=P/2);++ne){var he=C[L+2*ne>>1];if(he==0)break;Z+=String.fromCharCode(he)}return Z}function Ru(L,P,Z){if(Z===void 0&&(Z=2147483647),2>Z)return 0;Z-=2;var ne=P;Z=Z<2*L.length?Z/2:L.length;for(var he=0;he>1]=L.charCodeAt(he),P+=2;return C[P>>1]=0,P-ne}function Du(L){return 2*L.length}function z(L,P){for(var Z=0,ne="";!(Z>=P/4);){var he=y[L+4*Z>>2];if(he==0)break;++Z,65536<=he?(he-=65536,ne+=String.fromCharCode(55296|he>>10,56320|he&1023)):ne+=String.fromCharCode(he)}return ne}function ge(L,P,Z){if(Z===void 0&&(Z=2147483647),4>Z)return 0;var ne=P;Z=ne+Z-4;for(var he=0;he=xe){var Ne=L.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Ne&1023}if(y[P>>2]=xe,P+=4,P+4>Z)break}return y[P>>2]=0,P-ne}function ye(L){for(var P=0,Z=0;Z=ne&&++Z,P+=4}return P}var we={};function Ie(L){var P=we[L];return P===void 0?O(L):P}var Xe=[];function lt(L){var P=Xe.length;return Xe.push(L),P}function Et(L,P){for(var Z=Array(L),ne=0;ne>2],"parameter "+ne);return Z}var Ct=[],xt=[null,[],[]];F=t.BindingError=H("BindingError"),t.count_emval_handles=function(){for(var L=0,P=5;Pvt;++vt)Bt[vt]=String.fromCharCode(vt);Se=Bt,t.getInheritedInstanceCount=function(){return Object.keys(se).length},t.getLiveInheritedInstances=function(){var L=[],P;for(P in se)se.hasOwnProperty(P)&&L.push(se[P]);return L},t.flushPendingDeletes=$,t.setDelayFunction=function(L){ce=L,me.length&&ce&&ce($)},je=t.InternalError=H("InternalError"),Pt.prototype.isAliasOf=function(L){if(!(this instanceof Pt&&L instanceof Pt))return!1;var P=this.M.P.N,Z=this.M.O,ne=L.M.P.N;for(L=L.M.O;P.R;)Z=P.ba(Z),P=P.R;for(;ne.R;)L=ne.ba(L),ne=ne.R;return P===ne&&Z===L},Pt.prototype.clone=function(){if(this.M.O||Mt(this),this.M.aa)return this.M.count.value+=1,this;var L=be,P=Object,Z=P.create,ne=Object.getPrototypeOf(this),he=this.M;return L=L(Z.call(P,ne,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),L.M.count.value+=1,L.M.$=!1,L},Pt.prototype.delete=function(){this.M.O||Mt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),te(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Pt.prototype.isDeleted=function(){return!this.M.O},Pt.prototype.deleteLater=function(){return this.M.O||Mt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ce&&ce($),this.M.$=!0,this},$t.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},$t.prototype.ha=function(L){this.W&&this.W(L)},$t.prototype.argPackAdvance=8,$t.prototype.readValueFromPointer=gt,$t.prototype.deleteObject=function(L){L!==null&&L.delete()},$t.prototype.fromWireType=function(L){function P(){return this.da?mt(this.N.X,{P:this.wa,O:Z,U:this,T:L}):mt(this.N.X,{P:this,O:L})}var Z=this.qa(L);if(!Z)return this.ha(L),null;var ne=Ve(this.N,Z);if(ne!==void 0)return ne.M.count.value===0?(ne.M.O=Z,ne.M.T=L,ne.clone()):(ne=ne.clone(),this.ha(L),ne);if(ne=this.N.pa(Z),ne=Je[ne],!ne)return P.call(this);ne=this.ca?ne.la:ne.pointerType;var he=Re(Z,this.N,ne.N);return he===null?P.call(this):this.da?mt(ne.N.X,{P:ne,O:he,U:this,T:L}):mt(ne.N.X,{P:ne,O:he})},Ri=t.UnboundTypeError=H("UnboundTypeError");var pn=typeof atob=="function"?atob:function(L){var P="",Z=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++));ne=ne<<2|he>>4,he=(he&15)<<4|xe>>2;var Pe=(xe&3)<<6|Ne;P+=String.fromCharCode(ne),xe!==64&&(P+=String.fromCharCode(he)),Ne!==64&&(P+=String.fromCharCode(Pe))}while(ZNe.ta).concat(he.map(Ne=>Ne.za));yt([L],xe,Ne=>{var Pe={};return he.forEach((Ue,Fe)=>{var We=Ne[Fe],pt=Ue.ra,zt=Ue.sa,Dn=Ne[Fe+he.length],Vt=Ue.ya,ti=Ue.Aa;Pe[Ue.oa]={read:Ai=>We.fromWireType(pt(zt,Ai)),write:(Ai,ls)=>{var Fr=[];Vt(ti,Ai,Dn.toWireType(Fr,ls)),St(Fr)}}}),[{name:P.name,fromWireType:function(Ue){var Fe={},We;for(We in Pe)Fe[We]=Pe[We].read(Ue);return ne(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Pe)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var pt=Z();for(We in Pe)Pe[We].write(pt,Fe[We]);return Ue!==null&&Ue.push(ne,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:ne}]})},v:function(){},B:function(L,P,Z,ne,he){var xe=Ot(Z);P=O(P),kt(L,{name:P,fromWireType:function(Ne){return!!Ne},toWireType:function(Ne,Pe){return Pe?ne:he},argPackAdvance:8,readValueFromPointer:function(Ne){if(Z===1)var Pe=E;else if(Z===2)Pe=C;else if(Z===4)Pe=y;else throw new TypeError("Unknown boolean type size: "+P);return this.fromWireType(Pe[Ne>>xe])},V:null})},f:function(L,P,Z,ne,he,xe,Ne,Pe,Ue,Fe,We,pt,zt){We=O(We),xe=nn(he,xe),Pe&&(Pe=nn(Ne,Pe)),Fe&&(Fe=nn(Ue,Fe)),zt=nn(pt,zt);var Dn=Ae(We);He(Dn,function(){ss("Cannot construct "+We+" due to unbound types",[ne])}),yt([L,P,Z],ne?[ne]:[],function(Vt){if(Vt=Vt[0],ne)var ti=Vt.N,Ai=ti.X;else Ai=Pt.prototype;Vt=_e(Dn,function(){if(Object.getPrototypeOf(this)!==ls)throw new F("Use 'new' to construct "+We);if(Fr.Y===void 0)throw new F(We+" has no accessible constructor");var zl=Fr.Y[arguments.length];if(zl===void 0)throw new F("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Fr.Y).toString()+") parameters instead!");return zl.apply(this,arguments)});var ls=Object.create(Ai,{constructor:{value:Vt}});Vt.prototype=ls;var Fr=new ze(We,Vt,ls,zt,ti,xe,Pe,Fe);ti=new $t(We,Fr,!0,!1),Ai=new $t(We+"*",Fr,!1,!1);var Wh=new $t(We+" const*",Fr,!1,!0);return Je[L]={pointerType:Ai,la:Wh},ui(Dn,Vt),[ti,Ai,Wh]})},d:function(L,P,Z,ne,he,xe,Ne){var Pe=os(Z,ne);P=O(P),xe=nn(he,xe),yt([],[L],function(Ue){function Fe(){ss("Cannot call "+We+" due to unbound types",Pe)}Ue=Ue[0];var We=Ue.name+"."+P;P.startsWith("@@")&&(P=Symbol[P.substring(2)]);var pt=Ue.N.constructor;return pt[P]===void 0?(Fe.Z=Z-1,pt[P]=Fe):(X(pt,P,We),pt[P].S[Z-1]=Fe),yt([],Pe,function(zt){return zt=Ls(We,[zt[0],null].concat(zt.slice(1)),null,xe,Ne),pt[P].S===void 0?(zt.Z=Z-1,pt[P]=zt):pt[P].S[Z-1]=zt,[]}),[]})},p:function(L,P,Z,ne,he,xe){0{ss("Cannot construct "+Pe.name+" due to unbound types",Ne)},yt([],Ne,function(Fe){return Fe.splice(1,0,null),Pe.N.Y[P-1]=Ls(Ue,Fe,null,he,xe),[]}),[]})},a:function(L,P,Z,ne,he,xe,Ne,Pe){var Ue=os(Z,ne);P=O(P),xe=nn(he,xe),yt([],[L],function(Fe){function We(){ss("Cannot call "+pt+" due to unbound types",Ue)}Fe=Fe[0];var pt=Fe.name+"."+P;P.startsWith("@@")&&(P=Symbol[P.substring(2)]),Pe&&Fe.N.ja.push(P);var zt=Fe.N.X,Dn=zt[P];return Dn===void 0||Dn.S===void 0&&Dn.className!==Fe.name&&Dn.Z===Z-2?(We.Z=Z-2,We.className=Fe.name,zt[P]=We):(X(zt,P,pt),zt[P].S[Z-2]=We),yt([],Ue,function(Vt){return Vt=Ls(pt,Vt,Fe,xe,Ne),zt[P].S===void 0?(Vt.Z=Z-2,zt[P]=Vt):zt[P].S[Z-2]=Vt,[]}),[]})},A:function(L,P){P=O(P),kt(L,{name:P,fromWireType:function(Z){var ne=Ee(Z);return Cr(Z),ne},toWireType:function(Z,ne){return ve(ne)},argPackAdvance:8,readValueFromPointer:gt,V:null})},n:function(L,P,Z){Z=Ot(Z),P=O(P),kt(L,{name:P,fromWireType:function(ne){return ne},toWireType:function(ne,he){return he},argPackAdvance:8,readValueFromPointer:Gl(P,Z),V:null})},e:function(L,P,Z,ne,he){P=O(P),he===-1&&(he=4294967295),he=Ot(Z);var xe=Pe=>Pe;if(ne===0){var Ne=32-8*Z;xe=Pe=>Pe<>>Ne}Z=P.includes("unsigned")?function(Pe,Ue){return Ue>>>0}:function(Pe,Ue){return Ue},kt(L,{name:P,fromWireType:xe,toWireType:Z,argPackAdvance:8,readValueFromPointer:Hl(P,he,ne!==0),V:null})},b:function(L,P,Z){function ne(xe){xe>>=2;var Ne=I;return new he(g,Ne[xe+1],Ne[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][P];Z=O(Z),kt(L,{name:Z,fromWireType:ne,argPackAdvance:8,readValueFromPointer:ne},{ua:!0})},o:function(L,P){P=O(P);var Z=P==="std::string";kt(L,{name:P,fromWireType:function(ne){var he=I[ne>>2],xe=ne+4;if(Z)for(var Ne=xe,Pe=0;Pe<=he;++Pe){var Ue=xe+Pe;if(Pe==he||v[Ue]==0){if(Ne=Ne?d(v,Ne,Ue-Ne):"",Fe===void 0)var Fe=Ne;else Fe+="\0",Fe+=Ne;Ne=Ue+1}}else{for(Fe=Array(he),Pe=0;Pe=Ue?Pe++:2047>=Ue?Pe+=2:55296<=Ue&&57343>=Ue?(Pe+=4,++xe):Pe+=3}xe=Pe}else xe=he.length;if(Pe=Rn(4+xe+1),Ue=Pe+4,I[Pe>>2]=xe,Z&&Ne){if(Ne=Ue,Ue=xe+1,xe=v,0=We){var pt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|pt&1023}if(127>=We){if(Ne>=Ue)break;xe[Ne++]=We}else{if(2047>=We){if(Ne+1>=Ue)break;xe[Ne++]=192|We>>6}else{if(65535>=We){if(Ne+2>=Ue)break;xe[Ne++]=224|We>>12}else{if(Ne+3>=Ue)break;xe[Ne++]=240|We>>18,xe[Ne++]=128|We>>12&63}xe[Ne++]=128|We>>6&63}xe[Ne++]=128|We&63}}xe[Ne]=0}}else if(Ne)for(Ne=0;Nep,Pe=1;else P===4&&(ne=z,he=ge,xe=ye,Ne=()=>I,Pe=2);kt(L,{name:Z,fromWireType:function(Ue){for(var Fe=I[Ue>>2],We=Ne(),pt,zt=Ue+4,Dn=0;Dn<=Fe;++Dn){var Vt=Ue+4+Dn*P;(Dn==Fe||We[Vt>>Pe]==0)&&(zt=ne(zt,Vt-zt),pt===void 0?pt=zt:(pt+="\0",pt+=zt),zt=Vt+P)}return ct(Ue),pt},toWireType:function(Ue,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+Z);var We=xe(Fe),pt=Rn(4+We+P);return I[pt>>2]=We>>Pe,he(Fe,pt+4,We+P),Ue!==null&&Ue.push(ct,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:function(Ue){ct(Ue)}})},k:function(L,P,Z,ne,he,xe){Tt[L]={name:O(P),fa:nn(Z,ne),W:nn(he,xe),ia:[]}},h:function(L,P,Z,ne,he,xe,Ne,Pe,Ue,Fe){Tt[L].ia.push({oa:O(P),ta:Z,ra:nn(ne,he),sa:xe,za:Ne,ya:nn(Pe,Ue),Aa:Fe})},C:function(L,P){P=O(P),kt(L,{va:!0,name:P,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,P,Z,ne,he){L=Xe[L],P=Ee(P),Z=Ie(Z);var xe=[];return I[ne>>2]=ve(xe),L(P,Z,xe,he)},t:function(L,P,Z,ne){L=Xe[L],P=Ee(P),Z=Ie(Z),L(P,Z,null,ne)},g:Cr,m:function(L,P){var Z=Et(L,P),ne=Z[0];P=ne.name+"_$"+Z.slice(1).map(function(Ne){return Ne.name}).join("_")+"$";var he=Ct[P];if(he!==void 0)return he;var xe=Array(L-1);return he=lt((Ne,Pe,Ue,Fe)=>{for(var We=0,pt=0;pt>>=0,2147483648=Z;Z*=2){var ne=P*(1+.2/Z);ne=Math.min(ne,L+100663296);var he=Math;ne=Math.max(L,ne),he=he.min.call(he,2147483648,ne+(65536-ne%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),M();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,P,Z,ne){for(var he=0,xe=0;xe>2],Pe=I[P+4>>2];P+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function L(he){t.asm=he.exports,h=t.asm.E,M(),D=t.asm.J,J.unshift(t.asm.F),q--,t.monitorRunDependencies&&t.monitorRunDependencies(q),q==0&&fe&&(he=fe,fe=null,he())}function P(he){L(he.instance)}function Z(he){return j().then(function(xe){return WebAssembly.instantiate(xe,ne)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),Y(xe)})}var ne={a:Wn};if(q++,t.monitorRunDependencies&&t.monitorRunDependencies(q),t.instantiateWasm)try{return t.instantiateWasm(ne,L)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||oe(ie)||typeof fetch!="function"?Z(P):fetch(ie,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,ne).then(P,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),Z(P)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var ln=t.___getTypeName=function(){return(ln=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Rn=t._malloc=function(){return(Rn=t._malloc=t.asm.I).apply(null,arguments)},ct=t._free=function(){return(ct=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;fe=function L(){$e||Di(),$e||(fe=L)};function Di(){function L(){if(!$e&&($e=!0,t.calledRun=!0,!f)){if(ee(J),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var P=t.postRun.shift();_.unshift(P)}ee(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Bp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...U8}}const nD=k8(await N8());function Js(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const F8={static:0,relative:1,absolute:2},LE={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},O8={column:0,"column-reverse":1,row:2,"row-reverse":3},G8={"no-wrap":0,wrap:1,"wrap-reverse":2},H8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},z8={visible:0,hidden:1,scroll:2},V8={flex:0,none:1},iD={positionType:(n,e)=>n.setPositionType(Js(F8,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Js(LE,e,4)),alignItems:(n,e)=>n.setAlignItems(Js(LE,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Js(LE,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Js(O8,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Js(G8,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Js(H8,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Js(z8,e,0)),display:(n,e)=>n.setDisplay(Js(V8,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function Q1(n,e,t,i,r){let s=!1,o,a={};r.push(ut(()=>{const l=n.value;s&&mw(t,l,o,a,i),o=l}),ut(()=>{if(s=e.value,!!s&&o!=null)return mw(t,o,void 0,a,i),()=>{W8(a),a={}}}))}function mw(n,e,t,i,r){const s=l=>i[l]=ut(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};L8(()=>e.filterCompare(n,t,s,a,o))}function W8(n){for(const e in n)n[e]()}const vA=100,M1=nD.Config.create();M1.setUseWebDefaults(!0);M1.setPointScaleFactor(vA);function Y8(n){return n==="measureFunc"?!0:n in iD}function Ao(n){const e=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(Il.Visible),scrollable:e,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0]),anyAncestorScrollable:Gt(()=>{const[t,i]=n?.value??[!1,!1],[r,s]=e.value;return[t||r,i||s]})}}class rD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=nD.Node.create(M1),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),Q1(t,this.active,Y8,(o,a)=>{iD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*vA+1)/vA,height:Math.ceil(a.height*vA+1)/vA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),qR(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const f=e.indexOf(A);if(f===-1)throw new Error("parent mismatch");return h-f});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&J8(i,Cw(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=Cw(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Mc(this.state.maxScrollPosition,J?D:void 0,_?U:void 0),Mc(this.state.scrollable,J,_)}else Mc(this.state.maxScrollPosition,void 0,void 0),Mc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===Il.Visible;return[s+Math.max(i,S?y:0),o+Math.max(r,S?I:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Mc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function Ew(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function Cw(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function J8(n,e){return n.M.O===e.M.O}function $g(n,e,t,i){t!=null&&(bE(t.classes,i),i(t)),e!=null&&(bE(e.classes,i),i(e)),n!=null&&(bE(n.classes,i),i(n))}function bE(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class n5{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=t5[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof $n?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);Iw(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:Iw(i,r)}addAll(e,t,i,r){$g(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function Iw(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!s5(kr(t),kr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function s5(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Ul(n,e,t){return n[bI]=e,n[NI]=t,n}function ho(n,e,t,i){let r=!0;i.push(()=>ut(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function wa(n,e,t,i){let r=!0;i.push(()=>ut(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const o5=new G,a5=new G,Jd=new G,NE=new ft,l5=new Eu,c5=new Gi,PE=Math.PI/180;function u5([n,e,t]){return c5.setFromEuler(l5.set(n*PE,e*PE,t*PE))}const A5="center",h5="center";function fo(n,{relativeCenter:e,size:t},i){const r=Ft(n,"transformTranslateX",0),s=Ft(n,"transformTranslateY",0),o=Ft(n,"transformTranslateZ",0),a=Ft(n,"transformRotateX",0),l=Ft(n,"transformRotateY",0),A=Ft(n,"transformRotateZ",0),h=Ft(n,"transformScaleX",1),f=Ft(n,"transformScaleY",1),d=Ft(n,"transformScaleZ",1),g=Ft(n,"transformOriginX",A5),E=Ft(n,"transformOriginY",h5);return Gt(()=>{if(e.value==null)return;const[v,C]=e.value,p=i.value,y=new ft().makeTranslation(v*p,C*p,0);let I=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;I=!1,Jd.set(-MD[g.value]*D*p,-RD[E.value]*U*p,0),y.multiply(NE.makeTranslation(Jd)),Jd.negate()}const S=[a.value,l.value,A.value],R=[r.value,-s.value,o.value],M=[h.value,f.value,d.value];return(R.some(D=>D!=0)||S.some(D=>D!=0)||M.some(D=>D!=1))&&y.multiply(NE.compose(o5.fromArray(R).multiplyScalar(p),u5(S),a5.fromArray(M))),I||y.multiply(NE.makeTranslation(Jd)),y})}function po(n,e,t){t.push(()=>ut(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const f5=Math.cos(45/180*Math.PI),UE=[new un,new un,new un,new un],yw=new G;class d5{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new G(t,i,0).applyMatrix4(e),this.facePlane=new un(new G(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,f=-t+o;this.planes=[new un(new G(0,-1,0),h).applyMatrix4(e),new un(new G(-1,0,0),f).applyMatrix4(e),new un(new G(0,1,0),l).applyMatrix4(e),new un(new G(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=UE[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,f=(o.constant-s.constant*a)/A;yw.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,f),l.constant=-yw.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;UE[t].normal.dot(i)>f5;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;UE[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let f=0;f<4;f++){const[d,g]=p5[f];vw[f].set(d*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let f=0;f<4;f++){const d=A[f];h=!0;for(let g=0;g<4;g++){const E=vw[g];d.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function em(n,{overflow:e,borderInset:t,size:i},r,s){return Gt(()=>{const o=n.value;if(o==null||e.value===Il.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,f,d]=t.value,g=r.value,E=new d5(o,(h-d)*g/2,(A-f)*g/2,(a-d-h)*g,(l-A-f)*g);return s?.value!=null&&E.min(s.value),E})}const PI=new un(new G(-1,0,0),Number.MAX_SAFE_INTEGER),rg=new Float32Array(16);for(let n=0;n<4;n++)PI.normal.toArray(rg,n*4),rg[n*4+3]=PI.constant;function Hh(n,e,t){const i=[new un,new un,new un,new un],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(PI);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function sD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function g5(n,e,t){sD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function m5(n,e,t,i){sD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function E5(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,f=l.elements.length-1;if(f!=i){const g=h+f,E=h+i;a(E,g,g+1);const v=l.elements[f];l.elements[i]=v,o(v,i)}if(s(h+f),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=d.missingSpace,d=n[--e]}return n.length=e+1,!1}function C5(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const f=n[h];if(f.missingSpace===0)continue;const d=f.missingSpace<0;if(d&&(l||A)){Bw(n,t,h,o,Math.abs(f.missingSpace));continue}if(!A&&!d)continue;const g=Math.min(Math.abs(f.missingSpace),Math.abs(a.missingSpace));A?I5(n,t,h,o,g):Bw(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),aD=nt(oD?.matches??!1);oD?.addEventListener("change",n=>aD.value=n.matches);const R1=nt("system"),lD=Gt(()=>{switch(R1.value){case"system":return aD.value;case"dark":return!0;case"light":return!1}});function y5(n){R1.value=n}function xw(){return R1.peek()}const go={dark:Vh(()=>lD.value)};function v5({dark:n,light:e}){const t={};for(const i in n)t[i]=Gt(()=>lD.value?n[i]:e[i]);return t}const cD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},uD=Object.keys(cD),B5=uD.length;function mo(n){const e={};for(let t=0;t(n.value?.[0]??0)>cD[i])}return e}function Sw(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function kE(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function xh(n,e,t){return e.xadvance*n+t}function Xd(n,e){return n*e}function UI(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const x5=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},S5=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return ne(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:mT,findFiberByHostInstance:c.findFiberByHostInstance||ET,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 u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Yh=u.inject(c),cs=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,m,B){if(!T)throw Error(o(363));c=jm(c,u);var x=je(c,m,B).disconnect;return{disconnect:function(){x()}}},t.registerMutableSourceForHydration=function(c,u){var m=u._getVersion;m=m(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,m]:c.mutableSourceEagerHydrationData.push(u,m)},t.runWithPriority=function(c,u){var m=Kt;try{return Kt=c,u()}finally{Kt=m}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,m,B){var x=u.current,Q=Li(),W=Do(x);return m=AB(m),u.context===null?u.context=m:u.pendingContext=m,u=Ns(Q,W),u.payload={element:c},B=B===void 0?null:B,B!==null&&(u.callback=B),Qo(x,u),c=Sr(x,W,Q),c!==null&&jh(c,x,W),W},t};SR.exports=FO;var OO=SR.exports;const GO=qw(OO),HO=n=>typeof n=="object"&&typeof n.then=="function",hl=[];function QR(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=hl.indexOf(r);s!==-1&&hl.splice(s,1)},promise:(HO(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(hl.push(r),!t)throw r.promise}const zO=(n,e,t)=>MR(n,e,!1,t),VO=(n,e,t)=>void MR(n,e,!0,t),WO=n=>{if(n===void 0||n.length===0)hl.splice(0,hl.length);else{const e=hl.find(t=>QR(n,t.keys,t.equal));e&&e.remove()}},B1={},YO=n=>void Object.assign(B1,n);function JO(n,e){function t(h,{args:f=[],attach:d,...g},E){let v=`${h[0].toUpperCase()}${h.slice(1)}`,C;if(h==="primitive"){if(g.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const p=g.object;C=Dc(p,{type:h,root:E,attach:d,primitive:!0})}else{const p=B1[v];if(!p)throw new Error(`R3F: ${v} 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(f))throw new Error("R3F: The args prop must be an array!");C=Dc(new p(...f),{type:h,root:E,attach:d,memoizedProps:{args:f}})}return C.__r3f.attach===void 0&&(C instanceof Dt?C.__r3f.attach="geometry":C instanceof ti&&(C.__r3f.attach="material")),v!=="inject"&&BE(C,g),C}function i(h,f){let d=!1;if(f){var g,E;(g=f.__r3f)!=null&&g.attach?vE(h,f,f.__r3f.attach):f.isObject3D&&h.isObject3D&&(h.add(f),d=!0),d||(E=h.__r3f)==null||E.objects.push(f),f.__r3f||Dc(f,{}),f.__r3f.parent=h,DI(f),Tc(f)}}function r(h,f,d){let g=!1;if(f){var E,v;if((E=f.__r3f)!=null&&E.attach)vE(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){f.parent=h,f.dispatchEvent({type:"added"});const C=h.children.filter(y=>y!==f),p=C.indexOf(d);h.children=[...C.slice(0,p),f,...C.slice(p)],g=!0}g||(v=h.__r3f)==null||v.objects.push(f),f.__r3f||Dc(f,{}),f.__r3f.parent=h,DI(f),Tc(f)}}function s(h,f,d=!1){h&&[...h].forEach(g=>o(f,g,d))}function o(h,f,d){if(f){var g,E,v;if(f.__r3f&&(f.__r3f.parent=null),(g=h.__r3f)!=null&&g.objects&&(h.__r3f.objects=h.__r3f.objects.filter(S=>S!==f)),(E=f.__r3f)!=null&&E.attach)sw(h,f,f.__r3f.attach);else if(f.isObject3D&&h.isObject3D){var C;h.remove(f),(C=f.__r3f)!=null&&C.root&&t8(f.__r3f.root,f)}const y=(v=f.__r3f)==null?void 0:v.primitive,I=!y&&(d===void 0?f.dispose!==null:d);if(!y){var p;s((p=f.__r3f)==null?void 0:p.objects,f,I),s(f.children,f,I)}if(delete f.__r3f,I&&f.dispose&&f.type!=="Scene"){const S=()=>{try{f.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?MI.unstable_scheduleCallback(MI.unstable_IdlePriority,S):S()}Tc(h)}}function a(h,f,d,g){var E;const v=(E=h.__r3f)==null?void 0:E.parent;if(!v)return;const C=t(f,d,h.__r3f.root);if(h.children){for(const p of h.children)p.__r3f&&i(C,p);h.children=h.children.filter(p=>!p.__r3f)}h.__r3f.objects.forEach(p=>i(C,p)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(v,h),C.parent&&(C.__r3f.autoRemovedBeforeAppend=!0),i(v,C),C.raycast&&C.__r3f.eventCount&&C.__r3f.root.getState().internal.interaction.push(C),[g,g.alternate].forEach(p=>{p!==null&&(p.stateNode=C,p.ref&&(typeof p.ref=="function"?p.ref(C):p.ref.current=C))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:GO({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,f)=>{if(!f)return;const d=h.getState().scene;d.__r3f&&(d.__r3f.root=h,i(d,f))},removeChildFromContainer:(h,f)=>{f&&o(h.getState().scene,f)},insertInContainerBefore:(h,f,d)=>{if(!f||!d)return;const g=h.getState().scene;g.__r3f&&r(g,f,d)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var f;return!!((f=h?.__r3f)!=null?f:{}).handlers},prepareUpdate(h,f,d,g){var E;if(((E=h?.__r3f)!=null?E:{}).primitive&&g.object&&g.object!==h)return[!0];{const{args:C=[],children:p,...y}=g,{args:I=[],children:S,...R}=d;if(!Array.isArray(C))throw new Error("R3F: the args prop must be an array!");if(C.some((D,U)=>D!==I[U]))return[!0];const M=PR(h,y,R,!0);return M.changes.length?[!1,M]:null}},commitUpdate(h,[f,d],g,E,v,C){f?a(h,g,v,C):BE(h,d)},commitMount(h,f,d,g){var E;const v=(E=h.__r3f)!=null?E:{};h.raycast&&v.handlers&&v.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>Dc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var f;const{attach:d,parent:g}=(f=h.__r3f)!=null?f:{};d&&g&&sw(g,h,d),h.isObject3D&&(h.visible=!1),Tc(h)},unhideInstance(h,f){var d;const{attach:g,parent:E}=(d=h.__r3f)!=null?d:{};g&&E&&vE(E,h,g),(h.isObject3D&&f.visible==null||f.visible)&&(h.visible=!0),Tc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Kc.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Cn.fun(performance.now)?performance.now:Cn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Cn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Cn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:BE}}var tw,nw;const yE=n=>"colorSpace"in n||"outputColorSpace"in n,RR=()=>{var n;return(n=B1.ColorManagement)!=null?n:null},DR=n=>n&&n.isOrthographicCamera,XO=n=>n&&n.hasOwnProperty("current"),Oh=typeof window<"u"&&((tw=window.document)!=null&&tw.createElement||((nw=window.navigator)==null?void 0:nw.product)==="ReactNative")?ce.useLayoutEffect:ce.useEffect;function TR(n){const e=ce.useRef(n);return Oh(()=>void(e.current=n),[n]),e}function KO({set:n}){return Oh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class LR extends ce.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}LR.getDerivedStateFromError=()=>({error:!0});const bR="__default",iw=new Map,qO=n=>n&&!!n.memoized&&!!n.changes;function NR(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 pA=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},Cn={obj:n=>n===Object(n)&&!Cn.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(Cn.str(n)||Cn.num(n))return n===e;const s=Cn.obj(n);if(s&&i==="reference")return n===e;const o=Cn.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(!Cn.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(Cn.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 jO(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 ZO(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function Dc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function RI(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 rw=/-\d+$/;function vE(n,e,t){if(Cn.str(t)){if(rw.test(t)){const s=t.replace(rw,""),{target:o,key:a}=RI(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=RI(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function sw(n,e,t){var i,r;if(Cn.str(t)){const{target:s,key:o}=RI(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 PR(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},A=!1){var h;const f=(h=n?.__r3f)!=null?h:{},d=Object.entries(r),g=[];if(A){const v=Object.keys(l);for(let C=0;C{var p;if((p=n.__r3f)!=null&&p.primitive&&v==="object"||Cn.equ(C,l[v]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(v))return g.push([v,C,!0,[]]);let y=[];v.includes("-")&&(y=v.split("-")),g.push([v,C,!1,y]);for(const I in r){const S=r[I];I.startsWith(`${v}-`)&&g.push([I,S,!1,I.split("-")])}});const E={...r};return f.memoizedProps&&f.memoizedProps.args&&(E.args=f.memoizedProps.args),f.memoizedProps&&f.memoizedProps.attach&&(E.attach=f.memoizedProps.attach),{memoized:E,changes:g}}const $O=typeof process<"u"&&!1;function BE(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:A}=qO(e)?e:PR(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let d=0;dI[S],n),!(y&&y.set))){const[I,...S]=C.reverse();p=S.reverse().reduce((R,M)=>R[M],n),g=I}if(E===bR+"remove")if(p.constructor){let I=iw.get(p.constructor);I||(I=new p.constructor,iw.set(p.constructor,I)),E=I[g]}else E=0;if(v)E?s.handlers[g]=E:delete s.handlers[g],s.eventCount=Object.keys(s.handlers).length;else if(y&&y.set&&(y.copy||y instanceof El)){if(Array.isArray(E))y.fromArray?y.fromArray(E):y.set(...E);else if(y.copy&&E&&E.constructor&&($O?y.constructor.name===E.constructor.name:y.constructor===E.constructor))y.copy(E);else if(E!==void 0){const I=y instanceof qe;!I&&y.setScalar?y.setScalar(E):y instanceof El&&E instanceof El?y.mask=E.mask:y.set(E),!RR()&&!a.linear&&I&&y.convertSRGBToLinear()}}else if(p[g]=E,p[g]instanceof xn&&p[g].format===Ui&&p[g].type===_s){const I=p[g];yE(I)&&yE(a.gl)?I.colorSpace=a.gl.outputColorSpace:I.encoding=a.gl.outputEncoding}Tc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const d=a.internal.interaction.indexOf(n);d>-1&&a.internal.interaction.splice(d,1),s.eventCount&&a.internal.interaction.push(n)}return!(A.length===1&&A[0][0]==="onUpdate")&&A.length&&(r=n.__r3f)!=null&&r.parent&&DI(n),n}function Tc(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 DI(n){n.onUpdate==null||n.onUpdate(n)}function UR(n,e){n.manual||(DR(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 Vd(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function e8(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Kc.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Kc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Kc.ContinuousEventPriority;default:return Kc.DefaultEventPriority}}function kR(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function t8(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)=>{kR(t.capturedMap,e,i,r)})}function n8(n){function e(l){const{internal:A}=n.getState(),h=l.offsetX-A.initialClick[0],f=l.offsetY-A.initialClick[1];return Math.round(Math.sqrt(h*h+f*f))}function t(l){return l.filter(A=>["Move","Over","Enter","Out","Leave"].some(h=>{var f;return(f=A.__r3f)==null?void 0:f.handlers["onPointer"+h]}))}function i(l,A){const h=n.getState(),f=new Set,d=[],g=A?A(h.internal.interaction):h.internal.interaction;for(let p=0;p{const I=pA(p.object),S=pA(y.object);return!I||!S?p.distance-y.distance:S.events.priority-I.events.priority||p.distance-y.distance}).filter(p=>{const y=Vd(p);return f.has(y)?!1:(f.add(y),!0)});h.events.filter&&(v=h.events.filter(v,h));for(const p of v){let y=p.object;for(;y;){var C;(C=y.__r3f)!=null&&C.eventCount&&d.push({...p,eventObject:y}),y=y.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let p of h.internal.capturedMap.get(l.pointerId).values())f.has(Vd(p.intersection))||d.push(p.intersection);return d}function r(l,A,h,f){const d=n.getState();if(l.length){const g={stopped:!1};for(const E of l){const v=pA(E.object)||d,{raycaster:C,pointer:p,camera:y,internal:I}=v,S=new G(p.x,p.y,0).unproject(y),R=_=>{var b,q;return(b=(q=I.capturedMap.get(_))==null?void 0:q.has(E.eventObject))!=null?b:!1},M=_=>{const b={intersection:E,target:A.target};I.capturedMap.has(_)?I.capturedMap.get(_).set(E.eventObject,b):I.capturedMap.set(_,new Map([[E.eventObject,b]])),A.target.setPointerCapture(_)},D=_=>{const b=I.capturedMap.get(_);b&&kR(I.capturedMap,E.eventObject,b,_)};let U={};for(let _ in A){let b=A[_];typeof b!="function"&&(U[_]=b)}let J={...E,...U,pointer:p,intersections:l,stopped:g.stopped,delta:h,unprojectedPoint:S,ray:C.ray,camera:y,stopPropagation(){const _="pointerId"in A&&I.capturedMap.get(A.pointerId);if((!_||_.has(E.eventObject))&&(J.stopped=g.stopped=!0,I.hovered.size&&Array.from(I.hovered.values()).find(b=>b.eventObject===E.eventObject))){const b=l.slice(0,l.indexOf(E));s([...b,E])}},target:{hasPointerCapture:R,setPointerCapture:M,releasePointerCapture:D},currentTarget:{hasPointerCapture:R,setPointerCapture:M,releasePointerCapture:D},nativeEvent:A};if(f(J),g.stopped===!0)break}}return l}function s(l){const{internal:A}=n.getState();for(const h of A.hovered.values())if(!l.length||!l.find(f=>f.object===h.object&&f.index===h.index&&f.instanceId===h.instanceId)){const d=h.eventObject.__r3f,g=d?.handlers;if(A.hovered.delete(Vd(h)),d!=null&&d.eventCount){const E={...h,intersections:l};g.onPointerOut==null||g.onPointerOut(E),g.onPointerLeave==null||g.onPointerLeave(E)}}}function o(l,A){for(let h=0;hs([]);case"onLostPointerCapture":return A=>{const{internal:h}=n.getState();"pointerId"in A&&h.capturedMap.has(A.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(A.pointerId)&&(h.capturedMap.delete(A.pointerId),s([]))})}}return function(h){const{onPointerMissed:f,internal:d}=n.getState();d.lastEvent.current=h;const g=l==="onPointerMove",E=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",C=i(h,g?t:void 0),p=E?e(h):0;l==="onPointerDown"&&(d.initialClick=[h.offsetX,h.offsetY],d.initialHits=C.map(I=>I.eventObject)),E&&!C.length&&p<=2&&(o(h,d.interaction),f&&f(h)),g&&s(C);function y(I){const S=I.eventObject,R=S.__r3f,M=R?.handlers;if(R!=null&&R.eventCount)if(g){if(M.onPointerOver||M.onPointerEnter||M.onPointerOut||M.onPointerLeave){const D=Vd(I),U=d.hovered.get(D);U?U.stopped&&I.stopPropagation():(d.hovered.set(D,I),M.onPointerOver==null||M.onPointerOver(I),M.onPointerEnter==null||M.onPointerEnter(I))}M.onPointerMove==null||M.onPointerMove(I)}else{const D=M[l];D?(!E||d.initialHits.includes(S))&&(o(h,d.interaction.filter(U=>!d.initialHits.includes(U))),D(I)):E&&d.initialHits.includes(S)&&o(h,d.interaction.filter(U=>!d.initialHits.includes(U)))}}r(C,h,p,y)}}return{handlePointer:a}}const i8=["set","get","setSize","setFrameloop","setDpr","events","invalidate","advance","size","viewport"],FR=n=>!!(n!=null&&n.render),x1=ce.createContext(null),r8=(n,e)=>{const t=xR((a,l)=>{const A=new G,h=new G,f=new G;function d(p=l().camera,y=h,I=l().size){const{width:S,height:R,top:M,left:D}=I,U=S/R;y instanceof G?f.copy(y):f.set(...y);const J=p.getWorldPosition(A).distanceTo(f);if(DR(p))return{width:S/p.zoom,height:R/p.zoom,top:M,left:D,factor:1,distance:J,aspect:U};{const _=p.fov*Math.PI/180,b=2*Math.tan(_/2)*J,q=b*(S/R);return{width:q,height:b,top:M,left:D,factor:S/q,distance:J,aspect:U}}}let g;const E=p=>a(y=>({performance:{...y.performance,current:p}})),v=new Be;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(p=1)=>n(l(),p),advance:(p,y)=>e(p,y,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new E1,pointer:v,mouse:v,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const p=l();g&&clearTimeout(g),p.performance.current!==p.performance.min&&E(p.performance.min),g=setTimeout(()=>E(l().performance.max),p.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:p=>a(y=>({...y,events:{...y.events,...p}})),setSize:(p,y,I,S,R)=>{const M=l().camera,D={width:p,height:y,top:S||0,left:R||0,updateStyle:I};a(U=>({size:D,viewport:{...U.viewport,...d(M,h,D)}}))},setDpr:p=>a(y=>{const I=NR(p);return{viewport:{...y.viewport,dpr:I,initialDpr:y.viewport.initialDpr||I}}}),setFrameloop:(p="always")=>{const y=l().clock;y.stop(),y.elapsedTime=0,p!=="never"&&(y.start(),y.elapsedTime=0),a(()=>({frameloop:p}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:ce.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(p,y,I)=>{const S=l().internal;return S.priority=S.priority+(y>0?1:0),S.subscribers.push({ref:p,priority:y,store:I}),S.subscribers=S.subscribers.sort((R,M)=>R.priority-M.priority),()=>{const R=l().internal;R!=null&&R.subscribers&&(R.priority=R.priority-(y>0?1:0),R.subscribers=R.subscribers.filter(M=>M.ref!==p))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:A,gl:h,set:f}=t.getState();if(l.width!==r.width||l.height!==r.height||A.dpr!==s){var d;r=l,s=A.dpr,UR(a,l),h.setPixelRatio(A.dpr);const g=(d=l.updateStyle)!=null?d:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,g)}a!==o&&(o=a,f(g=>({viewport:{...g.viewport,...g.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let Wd,s8=new Set,o8=new Set,a8=new Set;function xE(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function gA(n,e){switch(n){case"before":return xE(s8,e);case"after":return xE(o8,e);case"tail":return xE(a8,e)}}let SE,wE;function _E(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),SE=e.internal.subscribers,Wd=0;Wd0)&&!((A=r.gl.xr)!=null&&A.isPresenting)&&(t+=_E(l,r))}if(gA("after",l),t===0)return gA("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,A=1){var h;if(!l)return n.forEach(f=>o(f.store.getState()),A);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+A),e||(e=!0,requestAnimationFrame(s)))}function a(l,A=!0,h,f){if(A&&gA("before",l),h)_E(l,h,f);else for(const d of n.values())_E(l,d.store.getState());A&&gA("after",l)}return{loop:s,invalidate:o,advance:a}}function xu(){const n=ce.useContext(x1);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function OR(n=t=>t,e){return xu()(n,e)}function GR(n,e=0){const t=xu(),i=t.getState().internal.subscribe,r=TR(n);return Oh(()=>i(r,e,t),[e,i,t]),null}const ow=new WeakMap;function HR(n,e){return function(t,...i){let r=ow.get(t);return r||(r=new t,ow.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,jO(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l?.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function S1(n,e,t,i){const r=Array.isArray(e)?e:[e],s=zO(HR(t,i),[n,...r],{equal:Cn.equ});return Array.isArray(e)?s:s[0]}S1.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return VO(HR(t),[n,...i])};S1.clear=function(n,e){const t=Array.isArray(e)?e:[e];return WO([n,...t])};const hu=new Map,{invalidate:aw,advance:lw}=l8(hu),{reconciler:Bh,applyProps:xc}=JO(hu,e8),Sc={objects:"shallow",strict:!1},c8=(n,e)=>{const t=typeof n=="function"?n(e):n;return FR(t)?t:new t1({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function u8(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 A8(n){const e=hu.get(n),t=e?.fiber,i=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||r8(aw,lw),o=t||Bh.createContainer(s,Kc.ConcurrentRoot,null,!1,null,"",r,null);e||hu.set(n,{fiber:o,store:s});let a,l=!1,A;return{configure(h={}){let{gl:f,size:d,scene:g,events:E,onCreated:v,shadows:C=!1,linear:p=!1,flat:y=!1,legacy:I=!1,orthographic:S=!1,frameloop:R="always",dpr:M=[1,2],performance:D,raycaster:U,camera:J,onPointerMissed:_}=h,b=s.getState(),q=b.gl;b.gl||b.set({gl:q=c8(f,n)});let fe=b.raycaster;fe||b.set({raycaster:fe=new v1});const{params:Y,...se}=U||{};if(Cn.equ(se,fe,Sc)||xc(fe,{...se}),Cn.equ(Y,fe.params,Sc)||xc(fe,{params:{...fe.params,...Y}}),!b.camera||b.camera===A&&!Cn.equ(A,J,Sc)){A=J;const _e=J instanceof Lh,ke=_e?J:S?new Cu(0,0,0,0,.1,1e3):new Xn(75,0,.1,1e3);_e||(ke.position.z=5,J&&xc(ke,J),!b.camera&&!(J!=null&&J.rotation)&&ke.lookAt(0,0,0)),b.set({camera:ke}),fe.camera=ke}if(!b.scene){let _e;g instanceof ph?_e=g:(_e=new ph,g&&xc(_e,g)),b.set({scene:Dc(_e)})}if(!b.xr){var ne;const _e=(H,F)=>{const N=s.getState();N.frameloop!=="never"&&lw(H,!0,N,F)},ke=()=>{const H=s.getState();H.gl.xr.enabled=H.gl.xr.isPresenting,H.gl.xr.setAnimationLoop(H.gl.xr.isPresenting?_e:null),H.gl.xr.isPresenting||aw(H)},V={connect(){const H=s.getState().gl;H.xr.addEventListener("sessionstart",ke),H.xr.addEventListener("sessionend",ke)},disconnect(){const H=s.getState().gl;H.xr.removeEventListener("sessionstart",ke),H.xr.removeEventListener("sessionend",ke)}};typeof((ne=q.xr)==null?void 0:ne.addEventListener)=="function"&&V.connect(),b.set({xr:V})}if(q.shadowMap){const _e=q.shadowMap.enabled,ke=q.shadowMap.type;if(q.shadowMap.enabled=!!C,Cn.boo(C))q.shadowMap.type=TA;else if(Cn.str(C)){var de;const V={basic:fM,percentage:vg,soft:TA,variance:Xr};q.shadowMap.type=(de=V[C])!=null?de:TA}else Cn.obj(C)&&Object.assign(q.shadowMap,C);(_e!==q.shadowMap.enabled||ke!==q.shadowMap.type)&&(q.shadowMap.needsUpdate=!0)}const k=RR();k&&("enabled"in k?k.enabled=!I:"legacyMode"in k&&(k.legacyMode=I)),xc(q,{outputEncoding:p?3e3:3001,toneMapping:y?ws:Py}),b.legacy!==I&&b.set(()=>({legacy:I})),b.linear!==p&&b.set(()=>({linear:p})),b.flat!==y&&b.set(()=>({flat:y})),f&&!Cn.fun(f)&&!FR(f)&&!Cn.equ(f,q,Sc)&&xc(q,f),E&&!b.events.handlers&&b.set({events:E(s)});const Ae=u8(n,d);return Cn.equ(Ae,b.size,Sc)||b.setSize(Ae.width,Ae.height,Ae.updateStyle,Ae.top,Ae.left),M&&b.viewport.dpr!==NR(M)&&b.setDpr(M),b.frameloop!==R&&b.setFrameloop(R),b.onPointerMissed||b.set({onPointerMissed:_}),D&&!Cn.equ(D,b.performance,Sc)&&b.set(_e=>({performance:{..._e.performance,...D}})),a=v,l=!0,this},render(h){return l||this.configure(),Bh.updateContainer(ce.createElement(h8,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){zR(n)}}}function h8({store:n,children:e,onCreated:t,rootElement:i}){return Oh(()=>{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)},[]),ce.createElement(x1.Provider,{value:n},e)}function zR(n,e){const t=hu.get(n),i=t?.fiber;if(i){const r=t?.store.getState();r&&(r.internal.active=!1),Bh.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(),ZO(r),hu.delete(n),e&&e(n)}catch{}},500)})}}function VR(n,e,t){return ce.createElement(f8,{key:e.uuid,children:n,container:e,state:t})}function f8({state:n={},children:e,container:t}){const{events:i,size:r,...s}=n,o=xu(),[a]=ce.useState(()=>new v1),[l]=ce.useState(()=>new Be),A=ce.useCallback((f,d)=>{const g={...f};Object.keys(f).forEach(v=>{(i8.includes(v)||f[v]!==d[v]&&d[v])&&delete g[v]});let E;if(d&&r){const v=d.camera;E=f.viewport.getCurrentViewport(v,new G,r),v!==f.camera&&UR(v,r)}return{...g,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...d?.events,...i},size:{...f.size,...r},viewport:{...f.viewport,...E},...s}},[n]),[h]=ce.useState(()=>{const f=o.getState();return xR((g,E)=>({...f,scene:t,raycaster:a,pointer:l,mouse:l,previousRoot:o,events:{...f.events,...i},size:{...f.size,...r},...s,set:g,get:E,setEvents:v=>g(C=>({...C,events:{...C.events,...v}}))}))});return ce.useEffect(()=>{const f=o.subscribe(d=>h.setState(g=>A(d,g)));return()=>{f(),h.destroy()}},[]),ce.useEffect(()=>{h.setState(f=>A(o.getState(),f))},[A]),ce.createElement(ce.Fragment,null,Bh.createPortal(ce.createElement(x1.Provider,{value:h},e),h,null))}Bh.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:ce.version});function ng(){return ng=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var A=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 A.clear=function(){i&&(clearTimeout(i),i=null)},A.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},A}TI.debounce=TI;var d8=TI;const cw=qw(d8);function p8(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]=ce.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=ce.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),A=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,f=ce.useRef(!1);ce.useEffect(()=>(f.current=!0,()=>void(f.current=!1)));const[d,g,E]=ce.useMemo(()=>{const y=()=>{if(!l.current.element)return;const{left:I,top:S,width:R,height:M,bottom:D,right:U,x:J,y:_}=l.current.element.getBoundingClientRect(),b={left:I,top:S,width:R,height:M,bottom:D,right:U,x:J,y:_};l.current.element instanceof HTMLElement&&r&&(b.height=l.current.element.offsetHeight,b.width=l.current.element.offsetWidth),Object.freeze(b),f.current&&!C8(l.current.lastBounds,b)&&a(l.current.lastBounds=b)};return[y,h?cw(y,h):y,A?cw(y,A):y]},[a,r,A,h]);function v(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(y=>y.removeEventListener("scroll",E,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function C(){l.current.element&&(l.current.resizeObserver=new s(E),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(y=>y.addEventListener("scroll",E,{capture:!0,passive:!0})))}const p=y=>{!y||y===l.current.element||(v(),l.current.element=y,l.current.scrollContainers=WR(y),C())};return m8(E,!!t),g8(g),ce.useEffect(()=>{v(),C()},[t,E,g]),ce.useEffect(()=>v,[]),[p,o,d]}function g8(n){ce.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function m8(n,e){ce.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function WR(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,...WR(n.parentElement)]}const E8=["x","y","top","bottom","left","right","width","height"],C8=(n,e)=>E8.every(t=>n[t]===e[t]);var I8=Object.defineProperty,y8=Object.defineProperties,v8=Object.getOwnPropertyDescriptors,uw=Object.getOwnPropertySymbols,B8=Object.prototype.hasOwnProperty,x8=Object.prototype.propertyIsEnumerable,Aw=(n,e,t)=>e in n?I8(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,hw=(n,e)=>{for(var t in e||(e={}))B8.call(e,t)&&Aw(n,t,e[t]);if(uw)for(var t of uw(e))x8.call(e,t)&&Aw(n,t,e[t]);return n},S8=(n,e)=>y8(n,v8(e));function YR(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=YR(i,e,t);if(r)return r;i=e?null:i.sibling}}function JR(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const w1=JR(ce.createContext(null));class XR extends ce.Component{render(){return ce.createElement(w1.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:fw,ReactCurrentDispatcher:dw}=ce.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w8(){const n=ce.useContext(w1);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=ce.useId();return ce.useMemo(()=>{for(const i of[fw?.current,n,n?.alternate]){if(!i)continue;const r=YR(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 _8(){var n,e;const t=w8(),[i]=ce.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==w1&&!i.has(s)&&i.set(s,(e=dw?.current)==null?void 0:e.readContext(JR(s))),r=r.return}return i}function Q8(){const n=_8();return ce.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>ce.createElement(e,null,ce.createElement(t.Provider,S8(hw({},i),{value:n.get(t)}))),e=>ce.createElement(XR,hw({},e))),[n])}const QE={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 M8(n){const{handlePointer:e}=n8(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(QE).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,A]=QE[o];t.addEventListener(l,a,{passive:A})})},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]=QE[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const R8=ce.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=M8,eventSource:a,eventPrefix:l,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:v,performance:C,raycaster:p,camera:y,scene:I,onPointerMissed:S,onCreated:R,...M},D){ce.useMemo(()=>YO(PO),[]);const U=Q8(),[J,_]=p8({scroll:!0,debounce:{scroll:50,resize:0},...i}),b=ce.useRef(null),q=ce.useRef(null);ce.useImperativeHandle(D,()=>b.current);const fe=TR(S),[Y,se]=ce.useState(!1),[ne,de]=ce.useState(!1);if(Y)throw Y;if(ne)throw ne;const k=ce.useRef(null);Oh(()=>{const ee=b.current;_.width>0&&_.height>0&&ee&&(k.current||(k.current=A8(ee)),k.current.configure({gl:s,events:o,shadows:A,linear:h,flat:f,legacy:d,orthographic:g,frameloop:E,dpr:v,performance:C,raycaster:p,camera:y,scene:I,size:_,onPointerMissed:(...Ae)=>fe.current==null?void 0:fe.current(...Ae),onCreated:Ae=>{Ae.events.connect==null||Ae.events.connect(a?XO(a)?a.current:a:q.current),l&&Ae.setEvents({compute:(_e,ke)=>{const V=_e[l+"X"],H=_e[l+"Y"];ke.pointer.set(V/ke.size.width*2-1,-(H/ke.size.height)*2+1),ke.raycaster.setFromCamera(ke.pointer,ke.camera)}}),R?.(Ae)}}),k.current.render(ce.createElement(U,null,ce.createElement(LR,{set:de},ce.createElement(ce.Suspense,{fallback:ce.createElement(KO,{set:se})},e)))))}),ce.useEffect(()=>{const ee=b.current;if(ee)return()=>zR(ee)},[]);const j=a?"none":"auto";return ce.createElement("div",ng({ref:q,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...r}},M),ce.createElement("div",{ref:J,style:{width:"100%",height:"100%"}},ce.createElement("canvas",{ref:b,style:{display:"block"}},t)))}),D8=ce.forwardRef(function(e,t){return ce.createElement(XR,null,ce.createElement(R8,ng({},e,{ref:t})))}),T8=ce.createContext(null);function KR(){return ce.useContext(T8)}const qR=ce.createContext(void 0);function xa(){const n=ce.useContext(qR);if(n==null)throw new Error("Cannot be used outside of a uikit component.");return n}const Su=qR.Provider;function jg(){throw new Error("Cycle detected")}var L8=Symbol.for("preact-signals");function Zg(){if(ha>1)ha--;else{for(var n,e=!1;UA!==void 0;){var t=UA;for(UA=void 0,LI++;t!==void 0;){var i=t.o;if(t.o=void 0,t.f&=-3,!(8&t.f)&&$R(t))try{t.c()}catch(r){e||(n=r,e=!0)}t=i}}if(LI=0,ha--,e)throw n}}function jR(n){if(ha>0)return n();ha++;try{return n()}finally{Zg()}}var mn=void 0,ME=0;function b8(n){if(ME>0)return n();var e=mn;mn=void 0,ME++;try{return n()}finally{ME--,mn=e}}var UA=void 0,ha=0,LI=0,ig=0;function ZR(n){if(mn!==void 0){var e=n.n;if(e===void 0||e.t!==mn)return e={i:0,S:n,p:mn.s,n:void 0,t:mn,e:void 0,x:void 0,r:e},mn.s!==void 0&&(mn.s.n=e),mn.s=e,n.n=e,32&mn.f&&n.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=mn.s,e.n=void 0,mn.s.n=e,mn.s=e),e}}function $n(n){this.v=n,this.i=0,this.n=void 0,this.t=void 0}$n.prototype.brand=L8;$n.prototype.h=function(){return!0};$n.prototype.S=function(n){this.t!==n&&n.e===void 0&&(n.x=this.t,this.t!==void 0&&(this.t.e=n),this.t=n)};$n.prototype.U=function(n){if(this.t!==void 0){var e=n.e,t=n.x;e!==void 0&&(e.x=t,n.e=void 0),t!==void 0&&(t.e=e,n.x=void 0),n===this.t&&(this.t=t)}};$n.prototype.subscribe=function(n){var e=this;return et(function(){var t=e.value,i=32&this.f;this.f&=-33;try{n(t)}finally{this.f|=i}})};$n.prototype.valueOf=function(){return this.value};$n.prototype.toString=function(){return this.value+""};$n.prototype.toJSON=function(){return this.value};$n.prototype.peek=function(){return this.v};Object.defineProperty($n.prototype,"value",{get:function(){var n=ZR(this);return n!==void 0&&(n.i=this.i),this.v},set:function(n){if(mn instanceof Sa&&function(){throw new Error("Computed cannot have side-effects")}(),n!==this.v){LI>100&&jg(),this.v=n,this.i++,ig++,ha++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Zg()}}}});function nt(n){return new $n(n)}function $R(n){for(var e=n.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function eD(n){for(var e=n.s;e!==void 0;e=e.n){var t=e.S.n;if(t!==void 0&&(e.r=t),e.S.n=e,e.i=-1,e.n===void 0){n.s=e;break}}}function tD(n){for(var e=n.s,t=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):t=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}n.s=t}function Sa(n){$n.call(this,void 0),this.x=n,this.s=void 0,this.g=ig-1,this.f=4}(Sa.prototype=new $n).h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===ig))return!0;if(this.g=ig,this.f|=1,this.i>0&&!$R(this))return this.f&=-2,!0;var n=mn;try{eD(this),mn=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return mn=n,tD(this),this.f&=-2,!0};Sa.prototype.S=function(n){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}$n.prototype.S.call(this,n)};Sa.prototype.U=function(n){if(this.t!==void 0&&($n.prototype.U.call(this,n),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};Sa.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var n=this.t;n!==void 0;n=n.x)n.t.N()}};Sa.prototype.peek=function(){if(this.h()||jg(),16&this.f)throw this.v;return this.v};Object.defineProperty(Sa.prototype,"value",{get:function(){1&this.f&&jg();var n=ZR(this);if(this.h(),n!==void 0&&(n.i=this.i),16&this.f)throw this.v;return this.v}});function Gt(n){return new Sa(n)}function nD(n){var e=n.u;if(n.u=void 0,typeof e=="function"){ha++;var t=mn;mn=void 0;try{e()}catch(i){throw n.f&=-2,n.f|=8,_1(n),i}finally{mn=t,Zg()}}}function _1(n){for(var e=n.s;e!==void 0;e=e.n)e.S.U(e);n.x=void 0,n.s=void 0,nD(n)}function N8(n){if(mn!==this)throw new Error("Out-of-order effect");tD(this),mn=n,this.f&=-2,8&this.f&&_1(this),Zg()}function Gh(n){this.x=n,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}Gh.prototype.c=function(){var n=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e)}finally{n()}};Gh.prototype.S=function(){1&this.f&&jg(),this.f|=1,this.f&=-9,nD(this),eD(this),ha++;var n=mn;return mn=this,N8.bind(this,n)};Gh.prototype.N=function(){2&this.f||(this.f|=2,this.o=UA,UA=this)};Gh.prototype.d=function(){this.f|=8,1&this.f||_1(this)};function et(n){var e=new Gh(n);try{e.c()}catch(t){throw e.d(),t}return e.d.bind(e)}var P8=(()=>{var n=import.meta.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,r;t.ready=new Promise(function(L,P){i=L,r=P});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),n&&(o=n),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var A;t.wasmBinary&&(A=t.wasmBinary),t.noExitRuntime,typeof WebAssembly!="object"&&Y("no native wasm support detected");var h,f=!1;function d(L,P,Z){Z=P+Z;for(var ie="";!(P>=Z);){var he=L[P++];if(!he)break;if(he&128){var xe=L[P++]&63;if((he&224)==192)ie+=String.fromCharCode((he&31)<<6|xe);else{var Ne=L[P++]&63;he=(he&240)==224?(he&15)<<12|xe<<6|Ne:(he&7)<<18|xe<<12|Ne<<6|L[P++]&63,65536>he?ie+=String.fromCharCode(he):(he-=65536,ie+=String.fromCharCode(55296|he>>10,56320|he&1023))}}else ie+=String.fromCharCode(he)}return ie}var g,E,v,C,p,y,I,S,R;function M(){var L=h.buffer;g=L,t.HEAP8=E=new Int8Array(L),t.HEAP16=C=new Int16Array(L),t.HEAP32=y=new Int32Array(L),t.HEAPU8=v=new Uint8Array(L),t.HEAPU16=p=new Uint16Array(L),t.HEAPU32=I=new Uint32Array(L),t.HEAPF32=S=new Float32Array(L),t.HEAPF64=R=new Float64Array(L)}var D,U=[],J=[],_=[];function b(){var L=t.preRun.shift();U.unshift(L)}var q=0,fe=null;function Y(L){throw t.onAbort&&t.onAbort(L),L="Aborted("+L+")",l(L),f=!0,L=new WebAssembly.RuntimeError(L+". Build with -sASSERTIONS for more info."),r(L),L}function se(L){return L.startsWith("data:application/octet-stream;base64,")}var ne;if(ne="data:application/octet-stream;base64,AGFzbQEAAAABrAM2YAF/AGABfwF/YAJ/fwBgA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWAAAGADf398AGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAJ/fwF9YAV/f39/fwBgAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBH9/fX8AYAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gBn9/fX1/fwBgAn5/AX9gA399fQF9YAN/f30BfWABfAF8YAN/fHwAYAV/f319fQBgBX9/fX19AX1gDX99f31/fX99fX19fX8Bf2ALf39/f39/f319fX0AYAh/f39/f399fQBgBH9/fn4AYAd/f39/f39/AX9gAnx/AXxgBX9/fHx/AGADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwK1AR4BYQFhABwBYQFiAAMBYQFjAAgBYQFkABUBYQFlABIBYQFmAB0BYQFnAAABYQFoAB4BYQFpAAMBYQFqAAABYQFrABYBYQFsAAoBYQFtAAUBYQFuAAMBYQFvAAIBYQFwABYBYQFxAAYBYQFyAAABYQFzAB8BYQF0AAoBYQF1AA0BYQF2ABUBYQF3AAEBYQF4AAMBYQF5ABcBYQF6AAEBYQFBAAIBYQFCABIBYQFDAAIBYQFEAAADiwKJAgEDEQ8PBwcHBwgAAwoSBiAKBgIGIQcYDwMTIgUGIxMHBwMkAhcDAwoKGBETCg8KAwMBCAEAAAUmAQEGBwEDAgIJDAAAJwgABQAHBQAoKQAAASoHACsBLAcHLQMuCAUKAS8NMAMBCAEAAQIGCgIBAgEFAgAFCAICAgIAAQ4BAQUCAhoDDg0NBhQBAhkUBgEIARAAAAAFMQ8yDAUGCTMFAQMFDg4ONAEDAQEBAwYBATUBAgwMDAILCwsLCwsbAQAAAAIAEAIFAQECAwERAwwLAgICAgICCwsCAQEDAQEBAQEBAwEJAgkJCQQEBAQEBAQEBAAEBAAEBAQEAAQEBAICAgkJAgICAgICCQkEBwFwAcwB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AkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QaAkaigCACACEC5DAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHuAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALhQECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIABCCoAiBUL2AX4gAHynQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAkEKbiIDQfYBbCACakEwcjoAACACQQlLIQQgAyECIAQNAAsLIAELNwECf0EEEB4iAiABNgIAQQQQHiIDIAE2AgBB/TkgAEGeOkG6J0G3ASACQZ46Qb4nQbgBIAMQBwteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFAAC0cBAX8gAi8ABiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC0cBAX8gAi8AAiIDQQdxBEAgACABQegAaiADEB8PCyABQegAaiEBIAIvAA4iA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfC3sAAkACQAJAAkAgA0EBaw4CAAECCyACLwAKIgNBB3FFDQEMAgsgAi8ACCIDQQdxRQ0ADAELIAIvAAQiA0EHcQRADAELIAFB6ABqIQEgAi8ADCID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BQUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQULIAEtAABBAnENBCACIAEgAhshAgsgBEEBaiIEIAdHDQELCyACDQILIAAqApQDIQgMAgsgASECCyACEEkgAioCnAOSIQgLIANBEGokACAIC1AAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBMGoQRA8LIAAgASABQTBqIAMQRQ8LIAAgASABQTBqEEMPCxAnAAsgACABIAFBMGogAxBGC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEGwJGooAgAgAhBMQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLVAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUHCAGoQRA8LIAAgASABQcIAaiADEEUPCyAAIAEgAUHCAGoQQw8LECcACyAAIAEgAUHCAGogAxBGC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQfYAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQNANAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAtwDIgANAAsLIANBEGokAAvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akHyAGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDQDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALcAyIADQALCyADQRBqJAALCgAgAEEwa0EKSQsFABACAAsEACAACxQAIAAEQCAAIAAoAgAoAgQRAAALCysBAX8gACgCDCIBBEAgARAoCyAAKAIAIgEEQCAAIAE2AgQgARAoCyAAECgL8QMB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OgAAQQELC8QCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAKCwwKCwIDBAUMCwwMCgsHCAkLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LAAsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsACyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxECAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALXQEEfyAAKAIAIQIDQCACLAAAIgMQTwRAQX8hBCAAIAJBAWoiAjYCACABQcyZs+YATQR/QX8gA0EwayIDIAFBCmwiBGogAyAEQf////8Hc0obBSAECyEBDAELCyABC6gUAhJ/AX4jAEHQAGsiCCQAIAggATYCTCAIQTdqIRcgCEE4aiEUAkACQAJAAkADQCABIQ0gByAOQf////8Hc0oNASAHIA5qIQ4CQAJAAkAgDSIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEKIAlBAmoiASEJIApBJUYNAAsLIAcgDWsiByAOQf////8HcyIYSg0HIAAEQCAAIA0gBxApCyAHDQYgCCABNgJMIAFBAWohB0F/IRICQCABLAABIgoQT0UNACABLQACQSRHDQAgAUEDaiEHIApBMGshEkEBIRULIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQT0UNACAKLQACQSRHDQAgAUECdCAEakHAAWtBCjYCACAKQQNqIQlBASEVIAosAAFBA3QgA2pBgANrKAIADAEL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4AMiAwRAIAAgAzYC5AMgAxAoCyAAIAEoAuADNgLgAyAAIAEoAuQDNgLkAyAAIAEoAugDNgLoAyABQQA2AugDIAFCADcC4AMgACABKQL0AzcC9AMgACABKQLsAzcC7AMgACABKAL8AzYC/AMgASgClAEhACABQQA2ApQBIAAEQCAAEFMLIAJBoARqJAAPCyACQYIcNgIQIAAgAkEQahAwECcACyACQcsRNgIAIAAgAhAwECcACwoAQQwQHiAAEGULCgBBDBAeQQAQZQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhALGQAgAUH/AXEEQBACAAsgACgCACgCDEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLDAAgACgCACABNgIQC3oBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGBFBEAgAkHdEzYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQfguQZwkIAIQOhoMAQsgAEEAQQVBnCQgAiAAKAIEEQ0AGgsgA0EQaiQAECcACyAAIAE4AhQgAkEQaiQACyMAIAFB/wFxBEAQAgALIAAoAgAiACAAKAIMQX5xIAJyNgIMCz4BAn9BBBAeIQFBHBAeIgBCgICA/AM3AhQgAEIANwIMIABBADoACCAAQQA2AgAgAEEDNgIEIAEgADYCACABCyMAIAJBBUdBACACG0UEQEH4LiADIAQQOg8LQYgwIAMgBBA6CyIBAX4gASACrSADrUIghoQgBCAAERQAIgVCIIinJAEgBacLqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAsGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAsGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIAhBIGokACAJIAIgBkKAgICAgICAgIB/g4S/OQMAC5kYAxJ/AXwDfiMAQbAEayIMJAAgDEEANgIsAkAgAb0iGUIAUwRAQQEhEUGZCSETIAGaIgG9IRkMAQsgBEGAEHEEQEEBIRFBnAkhEwwBC0GfCUGaCSAEQQFxIhEbIRMgEUUhFQsCQCAZQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEUEDaiIDIARB//97cRArIAAgEyARECkgAEGZFUGgHSAFQSBxIgUbQfMZQaQdIAUbIAEgAWIbQQMQKSAAQSAgAiADIARBgMAAcxArIAMgAiACIANIGyEKDAELIAxBEGohEgJAAn8CQCABIAxBLGoQgAEiASABoCIBRAAAAAAAAAAAYgRAIAwgDCgCLCIGQQFrNgIsIAVBIHIiDkHhAEcNAQwDCyAFQSByIg5B4QBGDQIgDCgCLCEJQQYgAyADQQBIGwwBCyAMIAZBHWsiCTYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCyAMQTBqQaACQQAgCUEAThtqIg0hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsCQCAJQQBMBEAgCSEDIAchBiANIQgMAQsgDSEIIAkhAwNAQR0gAyADQR1OGyEDAkAgB0EEayIGIAhJDQAgA60hGkIAIRkDQCAGIBlC/////w+DIAY1AgAgGoZ8IhtCgJTr3AOAIhlCgOyUowx+IBt8PgIAIAZBBGsiBiAITw0ACyAZpyIGRQ0AIAhBBGsiCCAGNgIACwNAIAggByIGSQRAIAZBBGsiBygCAEUNAQsLIAwgDCgCLCADayIDNgIsIAYhByADQQBKDQALCyADQQBIBEAgC0EZakEJbkEBaiEPIA5B5gBGIRADQEEJQQAgA2siAyADQQlOGyEKAkAgBiAITQRAIAgoAgAhBwwBC0GAlOvcAyAKdiEUQX8gCnRBf3MhFkEAIQMgCCEHA0AgByADIAcoAgAiFyAKdmo2AgAgFiAXcSAUbCEDIAdBBGoiByAGSQ0ACyAIKAIAIQcgA0UNACAGIAM2AgAgBkEEaiEGCyAMIAwoAiwgCmoiAzYCLCANIAggB0VBAnRqIgggEBsiByAPQQJ0aiAGIAYgB2tBAnUgD0obIQYgA0EASA0ACwtBACEDAkAgBiAITQ0AIA0gCGtBAnVBCWwhA0EKIQcgCCgCACIKQQpJDQADQCADQQFqIQMgCiAHQQpsIgdPDQALCyALIANBACAOQeYARxtrIA5B5wBGIAtBAEdxayIHIAYgDWtBAnVBCWxBCWtIBEBBBEGkAiAJQQBIGyAMaiAHQYDIAGoiCkEJbSIPQQJ0akHQH2shCUEKIQcgD0F3bCAKaiIKQQdMBEADQCAHQQpsIQcgCkEBaiIKQQhHDQALCwJAIAkoAgAiECAQIAduIg8gB2wiCkYgCUEEaiIUIAZGcQ0AIBAgCmshEAJAIA9BAXFFBEBEAAAAAAAAQEMhASAHQYCU69wDRyAIIAlPcg0BIAlBBGstAABBAXFFDQELRAEAAAAAAEBDIQELRAAAAAAAAOA/RAAAAAAAAPA/RAAAAAAAAPg/IAYgFEYbRAAAAAAAAPg/IBAgB0EBdiIURhsgECAUSRshGAJAIBUNACATLQAAQS1HDQAgGJohGCABmiEBCyAJIAo2AgAgASAYoCABYQ0AIAkgByAKaiIDNgIAIANBgJTr3ANPBEADQCAJQQA2AgAgCCAJQQRrIglLBEAgCEEEayIIQQA2AgALIAkgCSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyANIAhrQQJ1QQlsIQNBCiEHIAgoAgAiCkEKSQ0AA0AgA0EBaiEDIAogB0EKbCIHTw0ACwsgCUEEaiIHIAYgBiAHSxshBgsDQCAGIgcgCE0iCkUEQCAHQQRrIgYoAgBFDQELCwJAIA5B5wBHBEAgBEEIcSEJDAELIANBf3NBfyALQQEgCxsiBiADSiADQXtKcSIJGyAGaiELQX9BfiAJGyAFaiEFIARBCHEiCQ0AQXchBgJAIAoNACAHQQRrKAIAIg5FDQBBCiEKQQAhBiAOQQpwDQADQCAGIglBAWohBiAOIApBCmwiCnBFDQALIAlBf3MhBgsgByANa0ECdUEJbCEKIAVBX3FBxgBGBEBBACEJIAsgBiAKakEJayIGQQAgBkEAShsiBiAGIAtKGyELDAELQQAhCSALIAMgCmogBmpBCWsiBkEAIAZBAEobIgYgBiALShshCwtBfyEKIAtB/f///wdB/v///wcgCSALciIQG0oNASALIBBBAEdqQQFqIQ4CQCAFQV9xIhVBxgBGBEAgAyAOQf////8Hc0oNAyADQQAgA0EAShshBgwBCyASIAMgA0EfdSIGcyAGa60gEhBAIgZrQQFMBEADQCAGQQFrIgZBMDoAACASIAZrQQJIDQALCyAGQQJrIg8gBToAACAGQQFrQS1BKyADQQBIGzoAACASIA9rIgYgDkH/////B3NKDQILIAYgDmoiAyARQf////8Hc0oNASAAQSAgAiADIBFqIgUgBBArIAAgEyARECkgAEEwIAIgBSAEQYCABHMQKwJAAkACQCAVQcYARgRAIAxBEGoiBkEIciEDIAZBCXIhCSANIAggCCANSxsiCiEIA0AgCDUCACAJEEAhBgJAIAggCkcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAYgCUcNACAMQTA6ABggAyEGCyAAIAYgCSAGaxApIAhBBGoiCCANTQ0ACyAQBEAgAEHQI0EBECkLIAtBAEwgByAITXINAQNAIAg1AgAgCRBAIgYgDEEQaksEQANAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsLIAAgBkEJIAsgC0EJThsQKSALQQlrIQYgCEEEaiIIIAdPDQMgC0EJSiEDIAYhCyADDQALDAILAkAgC0EASA0AIAcgCEEEaiAHIAhLGyEKIAxBEGoiBkEIciEDIAZBCXIhDSAIIQcDQCANIAc1AgAgDRBAIgZGBEAgDEEwOgAYIAMhBgsCQCAHIAhHBEAgBiAMQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAMQRBqSw0ACwwBCyAAIAZBARApIAZBAWohBiAJIAtyRQ0AIABB0CNBARApCyAAIAYgCyANIAZrIgYgBiALShsQKSALIAZrIQsgB0EEaiIHIApPDQEgC0EATg0ACwsgAEEwIAtBEmpBEkEAECsgACAPIBIgD2sQKQwCCyALIQYLIABBMCAGQQlqQQlBABArCyAAQSAgAiAFIARBgMAAcxArIAUgAiACIAVIGyEKDAELIBMgBUEadEEfdUEJcWohCwJAIANBC0sNAEEMIANrIQZEAAAAAAAAMEAhGANAIBhEAAAAAAAAMECiIRggBkEBayIGDQALIAstAABBLUYEQCAYIAGaIBihoJohAQwBCyABIBigIBihIQELIBFBAnIhCSAFQSBxIQggEiAMKAIsIgcgB0EfdSIGcyAGa60gEhBAIgZGBEAgDEEwOgAPIAxBD2ohBgsgBkECayINIAVBD2o6AAAgBkEBa0EtQSsgB0EASBs6AAAgBEEIcSEGIAxBEGohBwNAIAciBQJ/IAGZRAAAAAAAAOBBYwRAIAGqDAELQYCAgIB4CyIHQdAtai0AACAIcjoAACAGIANBAEpyRSABIAe3oUQAAAAAAAAwQKIiAUQAAAAAAAAAAGFxIAVBAWoiByAMQRBqa0EBR3JFBEAgBUEuOgABIAVBAmohBwsgAUQAAAAAAAAAAGINAAtBfyEKQf3///8HIAkgEiANayIFaiIGayADSA0AIABBICACIAYCfwJAIANFDQAgByAMQRBqayIIQQJrIANODQAgA0ECagwBCyAHIAxBEGprIggLIgdqIgMgBBArIAAgCyAJECkgAEEwIAIgAyAEQYCABHMQKyAAIAxBEGogCBApIABBMCAHIAhrQQBBABArIAAgDSAFECkgAEEgIAIgAyAEQYDAAHMQKyADIAIgAiADSBshCgsgDEGwBGokACAKC0YBAX8gACgCPCEDIwBBEGsiACQAIAMgAacgAUIgiKcgAkH/AXEgAEEIahAUEIIBIQIgACkDCCEBIABBEGokAEJ/IAEgAhsLvgIBB38jAEEgayIDJAAgAyAAKAIcIgQ2AhAgACgCFCEFIAMgAjYCHCADIAE2AhggAyAFIARrIgE2AhQgASACaiEFQQIhBiADQRBqIQECfwNAAkACQAJAIAAoAjwgASAGIANBDGoQGBCCAUUEQCAFIAMoAgwiB0YNASAHQQBODQIMAwsgBUF/Rw0CCyAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAwsgASAHIAEoAgQiCEsiCUEDdGoiBCAHIAhBACAJG2siCCAEKAIAajYCACABQQxBBCAJG2oiASABKAIAIAhrNgIAIAUgB2shBSAGIAlrIQYgBCEBDAELCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAZBAkYNABogAiABKAIEawshBCADQSBqJAAgBAsJACAAKAI8EBkLIwEBf0GEOigCACIABEADQCAAKAIAEQgAIAAoAgQiAA0ACwsLvgIBBX8jAEHgAGsiAiQAIAIgADYCACMAQRBrIgMkACADIAI2AgwjAEGQAWsiACQAIABB4C1BkAEQLCIAIAJBEGoiBSIBNgIsIAAgATYCFCAAQf////8HQX4gAWsiBCAEQf////8HTxsiBDYCMCAAIAEgBGoiATYCHCAAIAE2AhAgAEGgEyACQQBBABB/GiAEBEAgACgCFCIBIAEgACgCEEZrQQA6AAALIABBkAFqJAAgA0EQaiQAAkAgBSIAQQNxBEADQCAALQAARQ0CIABBAWoiAEEDcQ0ACwsDQCAAIgFBBGohACABKAIAIgNBf3MgA0GBgoQIa3FBgIGChHhxRQ0ACwNAIAEiAEEBaiEBIAAtAAANAAsLIAAgBWtBAWoiABBWIgEEfyABIAUgABAsBUEACyEAIAJB4ABqJAAgAAvFAQICfwF8IwBBMGsiBiQAIAEoAgghBwJAQfA5LQAAQQFxBEBB7DkoAgAhAQwBC0EFQdAlEAwhAUHwOUEBOgAAQew5IAE2AgALIAYgBTYCKCAGIAQ4AiAgBiADNgIYIAYgAjgCEAJ/IAEgB0GpGiAGQQxqIAZBEGoQEiIIRAAAAAAAAPBBYyAIRAAAAAAAAAAAZnEEQCAIqwwBC0EACyEBIAYoAgwhAyAAIAEpAwA3AwAgACABKQMINwMIIAMQESAGQTBqJAALCQAgABCEARAoCwwAIAAoAghB+hsQXAsJACAAEIYBECgLVQECfyMAQTBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEwEB4gAkEwECwhACACQTBqJAAgAAs7AQF/IAEgACgCBCIFQQF1aiEBIAAoAgAhACABIAIgAyAEIAVBAXEEfyABKAIAIABqKAIABSAACxEbAAs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEREACzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRDAALNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxECAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCQALCQAgASAAEQEACwUAQf85Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAvCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRGgALBQBB+jkL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QRhqIgEgBUcNAAsgAkKAgID8i4CAwL9/NwLkASACQoGAgIAQNwLcASACQoCAgPyLgIDAv383AtQBIAJCgICA/oeAgOD/ADcD+AEgAkKAgID+h4CA4P8ANwPwASACIAItAOwBQfgBcToA7AEgAkGAAmpBAEHAABAvGiADQZgBaiACQcACECwaIANBADYC3AMLA0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC3AMiAA0ACwsgBEHAAmokAAuyBwEIfyMAQdAAayIHJAAgACgCACEAAkACQCABKAIAIggoAtwDRQRAIAAoAggNASAAKALgAyIBIAJBAnRqIQYCQCAAKALkAyIEIABB6ANqIgMoAgAiBUkEQCAEIAZGBEAgBiAINgIAIAAgBkEEajYC5AMMAgsgBCAEIgJBBGsiAUsEQANAIAIgASgCADYCACACQQRqIQIgAUEEaiIBIARJDQALCyAAIAI2AuQDIAZBBGoiASAERwRAIAQgBCABayIBQXxxayAGIAEQMRoLIAYgCDYCAAwBCyAEIAFrQQJ1QQFqIgRBgICAgARPDQMCQCAHQSBqQf////8DIAUgAWsiAUEBdSIFIAQgBCAFSRsgAUH8////B08bIAIgAxBCIgMoAggiAiADKAIMRw0AIAMoAgQiASADKAIAIgRLBEAgAyABIAEgBGtBAnVBAWpBfm1BAnQiBGogASACIAFrIgEQMSABaiICNgIIIAMgAygCBCAEajYCBAwBCyAHQThqQQEgAiAEa0EBdSACIARGGyIBIAFBAnYgAygCEBBCIgUoAgghBAJ/IAMoAggiAiADKAIEIgFGBEAgBCECIAEMAQsgBCACIAFraiECA0AgBCABKAIANgIAIAFBBGohASAEQQRqIgQgAkcNAAsgAygCCCEBIAMoAgQLIQQgAygCACEJIAMgBSgCADYCACAFIAk2AgAgAyAFKAIENgIEIAUgBDYCBCADIAI2AgggBSABNgIIIAMoAgwhCiADIAUoAgw2AgwgBSAKNgIMIAEgBEcEQCAFIAEgBCABa0EDakF8cWo2AggLIAlFDQAgCRAoIAMoAgghAgsgAiAINgIAIAMgAygCCEEEajYCCCADIAMoAgQgBiAAKALgAyIBayICayABIAIQMTYCBCADKAII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CwsLgQECA38BfSMAQRBrIgMkACAAKAIAIQQCfSACtiIGIAZcBEBBACEAQwAAwH8MAQtBAEECIAZDAACAf1sgBkMAAID/W3IiBRshAEMAAMB/IAYgBRsLIQYgAyAAOgAMIAMgBjgCCCADIAMpAwg3AwAgBCABQf8BcSADEIEBIANBEGokAAt5AgF9An8jAEEQayIEJAAgACgCACEFIAQCfyACtiIDIANcBEBDAADAfyEDQQAMAQtDAADAfyADIANDAACAf1sgA0MAAID/W3IiABshAyAARQs6AAwgBCADOAIIIAQgBCkDCDcDACAFIAFB/wFxIAQQgQEgBEEQaiQACwukJSMAQYAIC8UcT25seSBsZWFmIG5vZGVzIHdpdGggY3VzdG9tIG1lYXN1cmUgZnVuY3Rpb25zIHNob3VsZCBtYW51YWxseSBtYXJrIHRoZW1zZWx2ZXMgYXMgZGlydHkAaXNEaXJ0eQBtYXJrRGlydHkAZGVzdHJveQBzZXREaXNwbGF5AGdldERpc3BsYXkAc2V0RmxleAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHNldEZsZXhHcm93AGdldEZsZXhHcm93AHNldE92ZXJmbG93AGdldE92ZXJmbG93AGNhbGN1bGF0ZUxheW91dABnZXRDb21wdXRlZExheW91dAB1bnNpZ25lZCBzaG9ydABnZXRDaGlsZENvdW50AHVuc2lnbmVkIGludABzZXRKdXN0aWZ5Q29udGVudABnZXRKdXN0aWZ5Q29udGVudABhdmFpbGFibGVIZWlnaHQgaXMgaW5kZWZpbml0ZSBzbyBoZWlnaHRTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoU2l6aW5nTW9kZSBtdXN0IGJlIFNpemluZ01vZGU6Ok1heENvbnRlbnQAc2V0QWxpZ25Db250ZW50AGdldEFsaWduQ29udGVudABnZXRQYXJlbnQAaW1wbGVtZW50AHNldE1heEhlaWdodFBlcmNlbnQAc2V0SGVpZ2h0UGVyY2VudABzZXRNaW5IZWlnaHRQZXJjZW50AHNldEZsZXhCYXNpc1BlcmNlbnQAc2V0UG9zaXRpb25QZXJjZW50AHNldE1hcmdpblBlcmNlbnQAc2V0TWF4V2lkdGhQZXJjZW50AHNldFdpZHRoUGVyY2VudABzZXRNaW5XaWR0aFBlcmNlbnQAc2V0UGFkZGluZ1BlcmNlbnQAaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQb2ludCB8fCBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6OlBlcmNlbnQAY3JlYXRlRGVmYXVsdAB1bml0AHJpZ2h0AGhlaWdodABzZXRNYXhIZWlnaHQAZ2V0TWF4SGVpZ2h0AHNldEhlaWdodABnZXRIZWlnaHQAc2V0TWluSGVpZ2h0AGdldE1pbkhlaWdodABnZXRDb21wdXRlZEhlaWdodABnZXRDb21wdXRlZFJpZ2h0AGxlZnQAZ2V0Q29tcHV0ZWRMZWZ0AHJlc2V0AF9fZGVzdHJ1Y3QAZmxvYXQAdWludDY0X3QAdXNlV2ViRGVmYXVsdHMAc2V0VXNlV2ViRGVmYXVsdHMAc2V0QWxpZ25JdGVtcwBnZXRBbGlnbkl0ZW1zAHNldEZsZXhCYXNpcwBnZXRGbGV4QmFzaXMAQ2Fubm90IGdldCBsYXlvdXQgcHJvcGVydGllcyBvZiBtdWx0aS1lZGdlIHNob3J0aGFuZHMAc2V0UG9pbnRTY2FsZUZhY3RvcgBNZWFzdXJlQ2FsbGJhY2tXcmFwcGVyAERpcnRpZWRDYWxsYmFja1dyYXBwZXIAQ2Fubm90IHJlc2V0IGEgbm9kZSBzdGlsbCBhdHRhY2hlZCB0byBhIG93bmVyAHNldEJvcmRlcgBnZXRCb3JkZXIAZ2V0Q29tcHV0ZWRCb3JkZXIAZ2V0TnVtYmVyAGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6TnVtYmVyAHVuc2lnbmVkIGNoYXIAdG9wAGdldENvbXB1dGVkVG9wAHNldEZsZXhXcmFwAGdldEZsZXhXcmFwAHNldEdhcABnZXRHYXAAJXAAc2V0SGVpZ2h0QXV0bwBzZXRGbGV4QmFzaXNBdXRvAHNldE1hcmdpbkF1dG8Ac2V0V2lkdGhBdXRvAFNjYWxlIGZhY3RvciBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiB6ZXJvAHNldEFzcGVjdFJhdGlvAGdldEFzcGVjdFJhdGlvAHNldFBvc2l0aW9uAGdldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24Ac2V0RmxleERpcmVjdGlvbgBnZXRGbGV4RGlyZWN0aW9uAHNldE1hcmdpbgBnZXRNYXJnaW4AZ2V0Q29tcHV0ZWRNYXJnaW4AbmFuAGJvdHRvbQBnZXRDb21wdXRlZEJvdHRvbQBib29sAGVtc2NyaXB0ZW46OnZhbABzZXRGbGV4U2hyaW5rAGdldEZsZXhTaHJpbmsAc2V0QWx3YXlzRm9ybXNDb250YWluaW5nQmxvY2sATWVhc3VyZUNhbGxiYWNrAERpcnRpZWRDYWxsYmFjawBnZXRMZW5ndGgAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aABwdXNoAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU21hbGxWYWx1ZUJ1ZmZlci5oAC9ob21lL3J1bm5lci93b3JrL3lvZ2EveW9nYS9qYXZhc2NyaXB0Ly4uL3lvZ2Evc3R5bGUvU3R5bGVWYWx1ZVBvb2wuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AQ2hpbGQgYWxyZWFkeSBoYXMgYSBvd25lciwgaXQgbXVzdCBiZSByZW1vdmVkIGZpcnN0LgBDYW5ub3Qgc2V0IG1lYXN1cmUgZnVuY3Rpb246IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAENhbm5vdCBhZGQgY2hpbGQ6IE5vZGVzIHdpdGggbWVhc3VyZSBmdW5jdGlvbnMgY2Fubm90IGhhdmUgY2hpbGRyZW4uAChudWxsKQBpbmRleCA8IDQwOTYgJiYgIlNtYWxsVmFsdWVCdWZmZXIgY2FuIG9ubHkgaG9sZCB1cCB0byA0MDk2IGNodW5rcyIAJXMKAAEAAAADAAAAAAAAAAIAAAADAAAAAQAAAAIAAAAAAAAAAQAAAAEAQdAkCwdpaQB2AHZpAEHgJAs33xwAAN0cAAAdHQAAFx0AAB0dAAAXHQAAaWlpZmlmaQAQHQAA4BwAAHZpaQDhHAAAJB0AAGlpaQBBoCULCbwAAAC9AAAAvgBBtCULDrwAAAC/AAAAwAAAABAdAEHQJQs+3xwAAB0dAAAXHQAAHR0AABcdAAAkHQAAHx0AACQdAABpaWlpAAAAABAdAAD1HAAAEB0AAPccAAD4HAAAJB0AQZgmCwnBAAAAwgAAAMMAQawmCxbBAAAAxAAAAMAAAAD7HAAAEB0AAPscAEHQJguiAxAdAAD7HAAAFx0AABEdAAB2aWlpaQAAABAdAAD7HAAAHR0AAHZpaWYAAAAAEB0AAPscAAAXHQAAdmlpaQAAAAAQHQAA+xwAABEdAAARHQAA/BwAABcdAAAXHQAA/BwAABEdAAD8HAAAaQBkaWkAdmlpZAAAAB0AAAAdAAD7HAAAEB0AAAAdAAAQHQAAAB0AAP8cAAAQHQAAAB0AABcdAAAQHQAAAB0AABcdAAAeHQAAdmlpaWQAAAAQHQAAAB0AAB4dAAAXHQAAAR0AAP4cAAABHQAAFx0AAP4cAAABHQAAHh0AAAEdAAAeHQAAAR0AABcdAABkaWlpAAAAAB0dAAAAHQAAFx0AAGZpaWkAAAAAEB0AAAAdAAAAHQAAGB0AABAdAAAAHQAAAB0AABgdAAABHQAAAB0AAAAdAAAAHQAAAB0AABgdAAAQHQAAAB0AABEdAAARHQAAAB0AABAdAAAAHQAA3RwAABAdAAAAHQAA9RwAABEdAAABHQAAAAAAABAdAAAAHQAAHh0AAB4dAAAXHQAAdmlpZGRpAAD9HAAAAR0AQYAqC0EZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBB0SoLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBBiysLAQwAQZcrCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQcUrCwEQAEHRKwsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/KwsBEgBBiywLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBwiwLDhoAAAAaGhoAAAAAAAAJAEHzLAsBFABB/ywLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBrS0LARYAQbktCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQYQuCwHKAEGsLgsI//////////8AQfAuCwlQIQEAAAAAAAUAQYQvCwHFAEGcLwsKxgAAAMcAAAA4HQBBtC8LAQIAQcQvCwj//////////wBBiDALAQUAQZQwCwHIAEGsMAsOxgAAAMkAAABIHQAAAAQAQcQwCwEBAEHUMAsF/////woAQZgxCwHL",!se(ne)){var de=ne;ne=t.locateFile?t.locateFile(de,o):o+de}function k(){var L=ne;try{if(L==ne&&A)return new Uint8Array(A);if(se(L))try{var P=pn(L.slice(37)),Z=new Uint8Array(P.length);for(L=0;L=P?"_"+L:L}function _e(L,P){return L=Ae(L),function(){return P.apply(this,arguments)}}var ke=[{},{value:void 0},{value:null},{value:!0},{value:!1}],V=[];function H(L){var P=Error,Z=_e(L,function(ie){this.name=L,this.message=ie,ie=Error(ie).stack,ie!==void 0&&(this.stack=this.toString()+` +`+ie.replace(/^Error(:[^\n]*)?\n/,""))});return Z.prototype=Object.create(P.prototype),Z.prototype.constructor=Z,Z.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Z}var F=void 0;function N(L){throw new F(L)}var Ee=L=>(L||N("Cannot use deleted val. handle = "+L),ke[L].value),ve=L=>{switch(L){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var P=V.length?V.pop():ke.length;return ke[P]={ga:1,value:L},P}},pe=void 0,Se=void 0;function O(L){for(var P="";v[L];)P+=Se[v[L++]];return P}var me=[];function $(){for(;me.length;){var L=me.pop();L.M.$=!1,L.delete()}}var ue=void 0,oe={};function De(L,P){for(P===void 0&&N("ptr should not be undefined");L.R;)P=L.ba(P),L=L.R;return P}var K={};function w(L){L=ln(L);var P=O(L);return ut(L),P}function T(L,P){var Z=K[L];return Z===void 0&&N(P+" has unknown type "+w(L)),Z}function te(){}var Le=!1;function Te(L){--L.count.value,L.count.value===0&&(L.T?L.U.W(L.T):L.P.N.W(L.O))}function Re(L,P,Z){return P===Z?L:Z.R===void 0?null:(L=Re(L,P,Z.R),L===null?null:Z.na(L))}var Je={};function Ve(L,P){return P=De(L,P),oe[P]}var je=void 0;function lt(L){throw new je(L)}function mt(L,P){return P.P&&P.O||lt("makeClassHandle requires ptr and ptrType"),!!P.U!=!!P.T&<("Both smartPtrType and smartPtr must be specified"),P.count={value:1},be(Object.create(L,{M:{value:P}}))}function be(L){return typeof FinalizationRegistry>"u"?(be=P=>P,L):(Le=new FinalizationRegistry(P=>{Te(P.M)}),be=P=>{var Z=P.M;return Z.T&&Le.register(P,{M:Z},P),P},te=P=>{Le.unregister(P)},be(L))}var Tt={};function St(L){for(;L.length;){var P=L.pop();L.pop()(P)}}function gt(L){return this.fromWireType(y[L>>2])}var at={},tt={};function yt(L,P,Z){function ie(Pe){Pe=Z(Pe),Pe.length!==L.length&<("Mismatched type converter count");for(var Ue=0;Ue{K.hasOwnProperty(Pe)?he[Ue]=K[Pe]:(xe.push(Pe),at.hasOwnProperty(Pe)||(at[Pe]=[]),at[Pe].push(()=>{he[Ue]=K[Pe],++Ne,Ne===xe.length&&ie(he)}))}),xe.length===0&&ie(he)}function Ot(L){switch(L){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+L)}}function Ft(L,P,Z={}){if(!("argPackAdvance"in P))throw new TypeError("registerType registeredInstance requires argPackAdvance");var ie=P.name;if(L||N('type "'+ie+'" must have a positive integer typeid pointer'),K.hasOwnProperty(L)){if(Z.ua)return;N("Cannot register type '"+ie+"' twice")}K[L]=P,delete tt[L],at.hasOwnProperty(L)&&(P=at[L],delete at[L],P.forEach(he=>he()))}function Mt(L){N(L.M.P.N.name+" instance already deleted")}function Ut(){}function X(L,P,Z){if(L[P].S===void 0){var ie=L[P];L[P]=function(){return L[P].S.hasOwnProperty(arguments.length)||N("Function '"+Z+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+L[P].S+")!"),L[P].S[arguments.length].apply(this,arguments)},L[P].S=[],L[P].S[ie.Z]=ie}}function He(L,P){t.hasOwnProperty(L)?(N("Cannot register public name '"+L+"' twice"),X(t,L,L),t.hasOwnProperty(void 0)&&N("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[L].S[void 0]=P):t[L]=P}function ze(L,P,Z,ie,he,xe,Ne,Pe){this.name=L,this.constructor=P,this.X=Z,this.W=ie,this.R=he,this.pa=xe,this.ba=Ne,this.na=Pe,this.ja=[]}function rt(L,P,Z){for(;P!==Z;)P.ba||N("Expected null or instance of "+Z.name+", got an instance of "+P.name),L=P.ba(L),P=P.R;return L}function dt(L,P){return P===null?(this.ea&&N("null is not a valid "+this.name),0):(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),rt(P.M.O,P.M.P.N,this.N))}function Wt(L,P){if(P===null){if(this.ea&&N("null is not a valid "+this.name),this.da){var Z=this.fa();return L!==null&&L.push(this.W,Z),Z}return 0}if(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&P.M.P.ca&&N("Cannot convert argument of type "+(P.M.U?P.M.U.name:P.M.P.name)+" to parameter type "+this.name),Z=rt(P.M.O,P.M.P.N,this.N),this.da)switch(P.M.T===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:P.M.U===this?Z=P.M.T:N("Cannot convert argument of type "+(P.M.U?P.M.U.name:P.M.P.name)+" to parameter type "+this.name);break;case 1:Z=P.M.T;break;case 2:if(P.M.U===this)Z=P.M.T;else{var ie=P.clone();Z=this.xa(Z,ve(function(){ie.delete()})),L!==null&&L.push(this.W,Z)}break;default:N("Unsupporting sharing policy")}return Z}function Zt(L,P){return P===null?(this.ea&&N("null is not a valid "+this.name),0):(P.M||N('Cannot pass "'+as(P)+'" as a '+this.name),P.M.O||N("Cannot pass deleted object as a pointer of type "+this.name),P.M.P.ca&&N("Cannot convert argument of type "+P.M.P.name+" to parameter type "+this.name),rt(P.M.O,P.M.P.N,this.N))}function $t(L,P,Z,ie){this.name=L,this.N=P,this.ea=Z,this.ca=ie,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,P.R!==void 0?this.toWireType=Wt:(this.toWireType=ie?dt:Zt,this.V=null)}function ui(L,P){t.hasOwnProperty(L)||lt("Replacing nonexistant public symbol"),t[L]=P,t[L].Z=void 0}function en(L,P){var Z=[];return function(){if(Z.length=0,Object.assign(Z,arguments),L.includes("j")){var ie=t["dynCall_"+L];ie=Z&&Z.length?ie.apply(null,[P].concat(Z)):ie.call(null,P)}else ie=D.get(P).apply(null,Z);return ie}}function rn(L,P){L=O(L);var Z=L.includes("j")?en(L,P):D.get(P);return typeof Z!="function"&&N("unknown function pointer with signature "+L+": "+P),Z}var Ri=void 0;function ss(L,P){function Z(xe){he[xe]||K[xe]||(tt[xe]?tt[xe].forEach(Z):(ie.push(xe),he[xe]=!0))}var ie=[],he={};throw P.forEach(Z),new Ri(L+": "+ie.map(w).join([", "]))}function Ls(L,P,Z,ie,he){var xe=P.length;2>xe&&N("argTypes array size mismatch! Must at least get return value and 'this' types!");var Ne=P[1]!==null&&Z!==null,Pe=!1;for(Z=1;Z>2]);return Z}function Cr(L){4>2])};case 3:return function(Z){return this.fromWireType(R[Z>>3])};default:throw new TypeError("Unknown float type: "+L)}}function Hl(L,P,Z){switch(P){case 0:return Z?function(ie){return E[ie]}:function(ie){return v[ie]};case 1:return Z?function(ie){return C[ie>>1]}:function(ie){return p[ie>>1]};case 2:return Z?function(ie){return y[ie>>2]}:function(ie){return I[ie>>2]};default:throw new TypeError("Unknown integer type: "+L)}}function Mu(L,P){for(var Z="",ie=0;!(ie>=P/2);++ie){var he=C[L+2*ie>>1];if(he==0)break;Z+=String.fromCharCode(he)}return Z}function Ru(L,P,Z){if(Z===void 0&&(Z=2147483647),2>Z)return 0;Z-=2;var ie=P;Z=Z<2*L.length?Z/2:L.length;for(var he=0;he>1]=L.charCodeAt(he),P+=2;return C[P>>1]=0,P-ie}function Du(L){return 2*L.length}function z(L,P){for(var Z=0,ie="";!(Z>=P/4);){var he=y[L+4*Z>>2];if(he==0)break;++Z,65536<=he?(he-=65536,ie+=String.fromCharCode(55296|he>>10,56320|he&1023)):ie+=String.fromCharCode(he)}return ie}function ge(L,P,Z){if(Z===void 0&&(Z=2147483647),4>Z)return 0;var ie=P;Z=ie+Z-4;for(var he=0;he=xe){var Ne=L.charCodeAt(++he);xe=65536+((xe&1023)<<10)|Ne&1023}if(y[P>>2]=xe,P+=4,P+4>Z)break}return y[P>>2]=0,P-ie}function ye(L){for(var P=0,Z=0;Z=ie&&++Z,P+=4}return P}var we={};function Ie(L){var P=we[L];return P===void 0?O(L):P}var Xe=[];function ct(L){var P=Xe.length;return Xe.push(L),P}function Et(L,P){for(var Z=Array(L),ie=0;ie>2],"parameter "+ie);return Z}var Ct=[],xt=[null,[],[]];F=t.BindingError=H("BindingError"),t.count_emval_handles=function(){for(var L=0,P=5;Pvt;++vt)Bt[vt]=String.fromCharCode(vt);Se=Bt,t.getInheritedInstanceCount=function(){return Object.keys(oe).length},t.getLiveInheritedInstances=function(){var L=[],P;for(P in oe)oe.hasOwnProperty(P)&&L.push(oe[P]);return L},t.flushPendingDeletes=$,t.setDelayFunction=function(L){ue=L,me.length&&ue&&ue($)},je=t.InternalError=H("InternalError"),Ut.prototype.isAliasOf=function(L){if(!(this instanceof Ut&&L instanceof Ut))return!1;var P=this.M.P.N,Z=this.M.O,ie=L.M.P.N;for(L=L.M.O;P.R;)Z=P.ba(Z),P=P.R;for(;ie.R;)L=ie.ba(L),ie=ie.R;return P===ie&&Z===L},Ut.prototype.clone=function(){if(this.M.O||Mt(this),this.M.aa)return this.M.count.value+=1,this;var L=be,P=Object,Z=P.create,ie=Object.getPrototypeOf(this),he=this.M;return L=L(Z.call(P,ie,{M:{value:{count:he.count,$:he.$,aa:he.aa,O:he.O,P:he.P,T:he.T,U:he.U}}})),L.M.count.value+=1,L.M.$=!1,L},Ut.prototype.delete=function(){this.M.O||Mt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),te(this),Te(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ut.prototype.isDeleted=function(){return!this.M.O},Ut.prototype.deleteLater=function(){return this.M.O||Mt(this),this.M.$&&!this.M.aa&&N("Object already scheduled for deletion"),me.push(this),me.length===1&&ue&&ue($),this.M.$=!0,this},$t.prototype.qa=function(L){return this.ka&&(L=this.ka(L)),L},$t.prototype.ha=function(L){this.W&&this.W(L)},$t.prototype.argPackAdvance=8,$t.prototype.readValueFromPointer=gt,$t.prototype.deleteObject=function(L){L!==null&&L.delete()},$t.prototype.fromWireType=function(L){function P(){return this.da?mt(this.N.X,{P:this.wa,O:Z,U:this,T:L}):mt(this.N.X,{P:this,O:L})}var Z=this.qa(L);if(!Z)return this.ha(L),null;var ie=Ve(this.N,Z);if(ie!==void 0)return ie.M.count.value===0?(ie.M.O=Z,ie.M.T=L,ie.clone()):(ie=ie.clone(),this.ha(L),ie);if(ie=this.N.pa(Z),ie=Je[ie],!ie)return P.call(this);ie=this.ca?ie.la:ie.pointerType;var he=Re(Z,this.N,ie.N);return he===null?P.call(this):this.da?mt(ie.N.X,{P:ie,O:he,U:this,T:L}):mt(ie.N.X,{P:ie,O:he})},Ri=t.UnboundTypeError=H("UnboundTypeError");var pn=typeof atob=="function"?atob:function(L){var P="",Z=0;L=L.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++)),Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(L.charAt(Z++));ie=ie<<2|he>>4,he=(he&15)<<4|xe>>2;var Pe=(xe&3)<<6|Ne;P+=String.fromCharCode(ie),xe!==64&&(P+=String.fromCharCode(he)),Ne!==64&&(P+=String.fromCharCode(Pe))}while(ZNe.ta).concat(he.map(Ne=>Ne.za));yt([L],xe,Ne=>{var Pe={};return he.forEach((Ue,Fe)=>{var We=Ne[Fe],pt=Ue.ra,zt=Ue.sa,Dn=Ne[Fe+he.length],Vt=Ue.ya,ni=Ue.Aa;Pe[Ue.oa]={read:Ai=>We.fromWireType(pt(zt,Ai)),write:(Ai,ls)=>{var Fr=[];Vt(ni,Ai,Dn.toWireType(Fr,ls)),St(Fr)}}}),[{name:P.name,fromWireType:function(Ue){var Fe={},We;for(We in Pe)Fe[We]=Pe[We].read(Ue);return ie(Ue),Fe},toWireType:function(Ue,Fe){for(var We in Pe)if(!(We in Fe))throw new TypeError('Missing field: "'+We+'"');var pt=Z();for(We in Pe)Pe[We].write(pt,Fe[We]);return Ue!==null&&Ue.push(ie,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:ie}]})},v:function(){},B:function(L,P,Z,ie,he){var xe=Ot(Z);P=O(P),Ft(L,{name:P,fromWireType:function(Ne){return!!Ne},toWireType:function(Ne,Pe){return Pe?ie:he},argPackAdvance:8,readValueFromPointer:function(Ne){if(Z===1)var Pe=E;else if(Z===2)Pe=C;else if(Z===4)Pe=y;else throw new TypeError("Unknown boolean type size: "+P);return this.fromWireType(Pe[Ne>>xe])},V:null})},f:function(L,P,Z,ie,he,xe,Ne,Pe,Ue,Fe,We,pt,zt){We=O(We),xe=rn(he,xe),Pe&&(Pe=rn(Ne,Pe)),Fe&&(Fe=rn(Ue,Fe)),zt=rn(pt,zt);var Dn=Ae(We);He(Dn,function(){ss("Cannot construct "+We+" due to unbound types",[ie])}),yt([L,P,Z],ie?[ie]:[],function(Vt){if(Vt=Vt[0],ie)var ni=Vt.N,Ai=ni.X;else Ai=Ut.prototype;Vt=_e(Dn,function(){if(Object.getPrototypeOf(this)!==ls)throw new F("Use 'new' to construct "+We);if(Fr.Y===void 0)throw new F(We+" has no accessible constructor");var zl=Fr.Y[arguments.length];if(zl===void 0)throw new F("Tried to invoke ctor of "+We+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Fr.Y).toString()+") parameters instead!");return zl.apply(this,arguments)});var ls=Object.create(Ai,{constructor:{value:Vt}});Vt.prototype=ls;var Fr=new ze(We,Vt,ls,zt,ni,xe,Pe,Fe);ni=new $t(We,Fr,!0,!1),Ai=new $t(We+"*",Fr,!1,!1);var Wh=new $t(We+" const*",Fr,!1,!0);return Je[L]={pointerType:Ai,la:Wh},ui(Dn,Vt),[ni,Ai,Wh]})},d:function(L,P,Z,ie,he,xe,Ne){var Pe=os(Z,ie);P=O(P),xe=rn(he,xe),yt([],[L],function(Ue){function Fe(){ss("Cannot call "+We+" due to unbound types",Pe)}Ue=Ue[0];var We=Ue.name+"."+P;P.startsWith("@@")&&(P=Symbol[P.substring(2)]);var pt=Ue.N.constructor;return pt[P]===void 0?(Fe.Z=Z-1,pt[P]=Fe):(X(pt,P,We),pt[P].S[Z-1]=Fe),yt([],Pe,function(zt){return zt=Ls(We,[zt[0],null].concat(zt.slice(1)),null,xe,Ne),pt[P].S===void 0?(zt.Z=Z-1,pt[P]=zt):pt[P].S[Z-1]=zt,[]}),[]})},p:function(L,P,Z,ie,he,xe){0{ss("Cannot construct "+Pe.name+" due to unbound types",Ne)},yt([],Ne,function(Fe){return Fe.splice(1,0,null),Pe.N.Y[P-1]=Ls(Ue,Fe,null,he,xe),[]}),[]})},a:function(L,P,Z,ie,he,xe,Ne,Pe){var Ue=os(Z,ie);P=O(P),xe=rn(he,xe),yt([],[L],function(Fe){function We(){ss("Cannot call "+pt+" due to unbound types",Ue)}Fe=Fe[0];var pt=Fe.name+"."+P;P.startsWith("@@")&&(P=Symbol[P.substring(2)]),Pe&&Fe.N.ja.push(P);var zt=Fe.N.X,Dn=zt[P];return Dn===void 0||Dn.S===void 0&&Dn.className!==Fe.name&&Dn.Z===Z-2?(We.Z=Z-2,We.className=Fe.name,zt[P]=We):(X(zt,P,pt),zt[P].S[Z-2]=We),yt([],Ue,function(Vt){return Vt=Ls(pt,Vt,Fe,xe,Ne),zt[P].S===void 0?(Vt.Z=Z-2,zt[P]=Vt):zt[P].S[Z-2]=Vt,[]}),[]})},A:function(L,P){P=O(P),Ft(L,{name:P,fromWireType:function(Z){var ie=Ee(Z);return Cr(Z),ie},toWireType:function(Z,ie){return ve(ie)},argPackAdvance:8,readValueFromPointer:gt,V:null})},n:function(L,P,Z){Z=Ot(Z),P=O(P),Ft(L,{name:P,fromWireType:function(ie){return ie},toWireType:function(ie,he){return he},argPackAdvance:8,readValueFromPointer:Gl(P,Z),V:null})},e:function(L,P,Z,ie,he){P=O(P),he===-1&&(he=4294967295),he=Ot(Z);var xe=Pe=>Pe;if(ie===0){var Ne=32-8*Z;xe=Pe=>Pe<>>Ne}Z=P.includes("unsigned")?function(Pe,Ue){return Ue>>>0}:function(Pe,Ue){return Ue},Ft(L,{name:P,fromWireType:xe,toWireType:Z,argPackAdvance:8,readValueFromPointer:Hl(P,he,ie!==0),V:null})},b:function(L,P,Z){function ie(xe){xe>>=2;var Ne=I;return new he(g,Ne[xe+1],Ne[xe])}var he=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][P];Z=O(Z),Ft(L,{name:Z,fromWireType:ie,argPackAdvance:8,readValueFromPointer:ie},{ua:!0})},o:function(L,P){P=O(P);var Z=P==="std::string";Ft(L,{name:P,fromWireType:function(ie){var he=I[ie>>2],xe=ie+4;if(Z)for(var Ne=xe,Pe=0;Pe<=he;++Pe){var Ue=xe+Pe;if(Pe==he||v[Ue]==0){if(Ne=Ne?d(v,Ne,Ue-Ne):"",Fe===void 0)var Fe=Ne;else Fe+="\0",Fe+=Ne;Ne=Ue+1}}else{for(Fe=Array(he),Pe=0;Pe=Ue?Pe++:2047>=Ue?Pe+=2:55296<=Ue&&57343>=Ue?(Pe+=4,++xe):Pe+=3}xe=Pe}else xe=he.length;if(Pe=Rn(4+xe+1),Ue=Pe+4,I[Pe>>2]=xe,Z&&Ne){if(Ne=Ue,Ue=xe+1,xe=v,0=We){var pt=he.charCodeAt(++Fe);We=65536+((We&1023)<<10)|pt&1023}if(127>=We){if(Ne>=Ue)break;xe[Ne++]=We}else{if(2047>=We){if(Ne+1>=Ue)break;xe[Ne++]=192|We>>6}else{if(65535>=We){if(Ne+2>=Ue)break;xe[Ne++]=224|We>>12}else{if(Ne+3>=Ue)break;xe[Ne++]=240|We>>18,xe[Ne++]=128|We>>12&63}xe[Ne++]=128|We>>6&63}xe[Ne++]=128|We&63}}xe[Ne]=0}}else if(Ne)for(Ne=0;Nep,Pe=1;else P===4&&(ie=z,he=ge,xe=ye,Ne=()=>I,Pe=2);Ft(L,{name:Z,fromWireType:function(Ue){for(var Fe=I[Ue>>2],We=Ne(),pt,zt=Ue+4,Dn=0;Dn<=Fe;++Dn){var Vt=Ue+4+Dn*P;(Dn==Fe||We[Vt>>Pe]==0)&&(zt=ie(zt,Vt-zt),pt===void 0?pt=zt:(pt+="\0",pt+=zt),zt=Vt+P)}return ut(Ue),pt},toWireType:function(Ue,Fe){typeof Fe!="string"&&N("Cannot pass non-string to C++ string type "+Z);var We=xe(Fe),pt=Rn(4+We+P);return I[pt>>2]=We>>Pe,he(Fe,pt+4,We+P),Ue!==null&&Ue.push(ut,pt),pt},argPackAdvance:8,readValueFromPointer:gt,V:function(Ue){ut(Ue)}})},k:function(L,P,Z,ie,he,xe){Tt[L]={name:O(P),fa:rn(Z,ie),W:rn(he,xe),ia:[]}},h:function(L,P,Z,ie,he,xe,Ne,Pe,Ue,Fe){Tt[L].ia.push({oa:O(P),ta:Z,ra:rn(ie,he),sa:xe,za:Ne,ya:rn(Pe,Ue),Aa:Fe})},C:function(L,P){P=O(P),Ft(L,{va:!0,name:P,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(L,P,Z,ie,he){L=Xe[L],P=Ee(P),Z=Ie(Z);var xe=[];return I[ie>>2]=ve(xe),L(P,Z,xe,he)},t:function(L,P,Z,ie){L=Xe[L],P=Ee(P),Z=Ie(Z),L(P,Z,null,ie)},g:Cr,m:function(L,P){var Z=Et(L,P),ie=Z[0];P=ie.name+"_$"+Z.slice(1).map(function(Ne){return Ne.name}).join("_")+"$";var he=Ct[P];if(he!==void 0)return he;var xe=Array(L-1);return he=ct((Ne,Pe,Ue,Fe)=>{for(var We=0,pt=0;pt>>=0,2147483648=Z;Z*=2){var ie=P*(1+.2/Z);ie=Math.min(ie,L+100663296);var he=Math;ie=Math.max(L,ie),he=he.min.call(he,2147483648,ie+(65536-ie%65536)%65536);e:{try{h.grow(he-g.byteLength+65535>>>16),M();var xe=1;break e}catch{}xe=void 0}if(xe)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(L,P,Z,ie){for(var he=0,xe=0;xe>2],Pe=I[P+4>>2];P+=8;for(var Ue=0;Ue>2]=he,0}};(function(){function L(he){t.asm=he.exports,h=t.asm.E,M(),D=t.asm.J,J.unshift(t.asm.F),q--,t.monitorRunDependencies&&t.monitorRunDependencies(q),q==0&&fe&&(he=fe,fe=null,he())}function P(he){L(he.instance)}function Z(he){return j().then(function(xe){return WebAssembly.instantiate(xe,ie)}).then(function(xe){return xe}).then(he,function(xe){l("failed to asynchronously prepare wasm: "+xe),Y(xe)})}var ie={a:Wn};if(q++,t.monitorRunDependencies&&t.monitorRunDependencies(q),t.instantiateWasm)try{return t.instantiateWasm(ie,L)}catch(he){l("Module.instantiateWasm callback failed with error: "+he),r(he)}return function(){return A||typeof WebAssembly.instantiateStreaming!="function"||se(ne)||typeof fetch!="function"?Z(P):fetch(ne,{credentials:"same-origin"}).then(function(he){return WebAssembly.instantiateStreaming(he,ie).then(P,function(xe){return l("wasm streaming compile failed: "+xe),l("falling back to ArrayBuffer instantiation"),Z(P)})})}().catch(r),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var ln=t.___getTypeName=function(){return(ln=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Rn=t._malloc=function(){return(Rn=t._malloc=t.asm.I).apply(null,arguments)},ut=t._free=function(){return(ut=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var $e;fe=function L(){$e||Di(),$e||(fe=L)};function Di(){function L(){if(!$e&&($e=!0,t.calledRun=!0,!f)){if(ee(J),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var P=t.postRun.shift();_.unshift(P)}ee(_)}}if(!(01?a-1:0),A=1;As?n.Node.createWithConfig(s):n.Node.createDefault()),e(n.Node.prototype,"free",function(){n.Node.destroy(this)}),e(n.Node.prototype,"freeRecursive",function(){for(let r=0,s=this.getChildCount();r1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Bp.LTR;return r.call(this,s,o,a)}),{Config:n.Config,Node:n.Node,...k8}}const iD=F8(await P8());function Js(n,e,t){if(e==null)return t;const i=n[e];if(i==null)throw new Error(`unexpected value ${e}, expected ${Object.keys(n).join(", ")}`);return i}const O8={static:0,relative:1,absolute:2},LE={auto:0,"flex-start":1,center:2,"flex-end":3,stretch:4,baseline:5,"space-between":6,"space-around":7,"space-evenly":8},G8={column:0,"column-reverse":1,row:2,"row-reverse":3},H8={"no-wrap":0,wrap:1,"wrap-reverse":2},z8={"flex-start":0,center:1,"flex-end":2,"space-between":3,"space-around":4,"space-evenly":5},V8={visible:0,hidden:1,scroll:2},W8={flex:0,none:1},rD={positionType:(n,e)=>n.setPositionType(Js(O8,e,1)),positionTop:(n,e)=>n.setPosition(1,e??NaN),positionLeft:(n,e)=>n.setPosition(0,e??NaN),positionRight:(n,e)=>n.setPosition(2,e??NaN),positionBottom:(n,e)=>n.setPosition(3,e??NaN),alignContent:(n,e)=>n.setAlignContent(Js(LE,e,4)),alignItems:(n,e)=>n.setAlignItems(Js(LE,e,4)),alignSelf:(n,e)=>n.setAlignSelf(Js(LE,e,0)),flexDirection:(n,e)=>n.setFlexDirection(Js(G8,e,2)),flexWrap:(n,e)=>n.setFlexWrap(Js(H8,e,0)),justifyContent:(n,e)=>n.setJustifyContent(Js(z8,e,0)),marginTop:(n,e)=>n.setMargin(1,e??NaN),marginLeft:(n,e)=>n.setMargin(0,e??NaN),marginRight:(n,e)=>n.setMargin(2,e??NaN),marginBottom:(n,e)=>n.setMargin(3,e??NaN),flexBasis:(n,e)=>n.setFlexBasis(e??NaN),flexGrow:(n,e)=>n.setFlexGrow(e??0),flexShrink:(n,e)=>n.setFlexShrink(e??1),width:(n,e)=>n.setWidth(e??NaN),height:(n,e)=>n.setHeight(e??NaN),minWidth:(n,e)=>n.setMinWidth(e??NaN),minHeight:(n,e)=>n.setMinHeight(e??NaN),maxWidth:(n,e)=>n.setMaxWidth(e??NaN),maxHeight:(n,e)=>n.setMaxHeight(e??NaN),aspectRatio:(n,e)=>n.setAspectRatio(e??NaN),borderTop:(n,e)=>n.setBorder(1,e??NaN),borderLeft:(n,e)=>n.setBorder(0,e??NaN),borderRight:(n,e)=>n.setBorder(2,e??NaN),borderBottom:(n,e)=>n.setBorder(3,e??NaN),overflow:(n,e)=>n.setOverflow(Js(V8,e,0)),display:(n,e)=>n.setDisplay(Js(W8,e,0)),paddingTop:(n,e)=>n.setPadding(1,e??NaN),paddingLeft:(n,e)=>n.setPadding(0,e??NaN),paddingRight:(n,e)=>n.setPadding(2,e??NaN),paddingBottom:(n,e)=>n.setPadding(3,e??NaN),gapRow:(n,e)=>n.setGap(1,e??NaN),gapColumn:(n,e)=>n.setGap(0,e??NaN)};function Q1(n,e,t,i,r){let s=!1,o,a={};r.push(et(()=>{const l=n.value;s&&Ew(t,l,o,a,i),o=l}),et(()=>{if(s=e.value,!!s&&o!=null)return Ew(t,o,void 0,a,i),()=>{Y8(a),a={}}}))}function Ew(n,e,t,i,r){const s=l=>i[l]=et(()=>r(l,e.read(l,void 0))),o=l=>{i[l]?.(),delete i[l],t.read(l,void 0)!==void 0&&r(l,void 0)},a=l=>{i[l]?.(),s(l)};b8(()=>e.filterCompare(n,t,s,a,o))}function Y8(n){for(const e in n)n[e]()}const vA=100,M1=iD.Config.create();M1.setUseWebDefaults(!0);M1.setPointScaleFactor(vA);function J8(n){return n==="measureFunc"?!0:n in rD}function Ao(){const n=nt([!1,!1]);return{size:nt(void 0),relativeCenter:nt(void 0),borderInset:nt(void 0),overflow:nt(Il.Visible),scrollable:n,paddingInset:nt(void 0),maxScrollPosition:nt([void 0,void 0])}}class sD{state;requestCalculateLayout;object;children=[];yogaNode;layoutChangeListeners=new Set;active=nt(!1);constructor(e,t,i,r,s){this.state=e,this.requestCalculateLayout=i,this.object=r,this.yogaNode=iD.Node.create(M1),this.active.value=!0,s.push(()=>{this.yogaNode?.getParent()?.removeChild(this.yogaNode),this.yogaNode?.free()}),Q1(t,this.active,J8,(o,a)=>{rD[o](this.yogaNode,a),this.requestCalculateLayout()},s)}setMeasureFunc(e){if(!this.active.value)return;if(e.value==null){this.yogaNode.setMeasureFunc(null);return}const t=e.value;this.yogaNode.setMeasureFunc((i,r,s,o)=>{const a=t(i,r,s,o);return{width:Math.ceil(a.width*vA+1)/vA,height:Math.ceil(a.height*vA+1)/vA}}),this.yogaNode.markDirty(),this.requestCalculateLayout()}calculateLayout(){this.yogaNode!=null&&(this.commit(),this.yogaNode.calculateLayout(void 0,void 0),jR(()=>this.updateMeasurements(void 0,void 0)))}addChild(e){this.children.push(e),this.requestCalculateLayout()}removeChild(e){const t=this.children.indexOf(e);t!==-1&&(this.children.splice(t,1),this.requestCalculateLayout())}commit(){if(this.yogaNode==null)throw new Error("commit cannot be called without a yoga node");let e;this.children.sort((o,a)=>{if(e??=o.object.current?.parent?.children,e==null)return 0;const l=o.object.current,A=a.object.current;if(l==null||A==null)return 0;const h=e.indexOf(l);if(h===-1)throw new Error("parent mismatch");const f=e.indexOf(A);if(f===-1)throw new Error("parent mismatch");return h-f});let t=0,i=this.yogaNode.getChild(t),r=this.children[t];for(;r!=null||i!=null;){if(r!=null&&i!=null&&X8(i,Iw(r.yogaNode))){r=this.children[++t],i=this.yogaNode.getChild(t);continue}if(i!=null&&this.yogaNode.removeChild(i),r!=null){const o=Iw(r.yogaNode);o.getParent()?.removeChild(o),this.yogaNode.insertChild(o,t),r=this.children[++t]}i=this.yogaNode.getChild(t)}const s=this.children.length;for(let o=0;o.5,_=U>.5;Mc(this.state.maxScrollPosition,J?D:void 0,_?U:void 0),Mc(this.state.scrollable,J,_)}else Mc(this.state.maxScrollPosition,void 0,void 0),Mc(this.state.scrollable,!1,!1);const S=this.state.overflow.value===Il.Visible;return[s+Math.max(i,S?y:0),o+Math.max(r,S?I:0)]}addLayoutChangeListener(e){return this.layoutChangeListeners.add(e),()=>void this.layoutChangeListeners.delete(e)}}function Mc(n,e,t){if(n.value!=null){const[i,r]=n.value;if(i===e&&r===t)return}n.value=[e,t]}function Cw(n,e,t,i,r){if(n.value!=null){const[s,o,a,l]=n.value;if(s==e&&o==t&&a==i&&l==r)return}n.value=[e,t,i,r]}function Iw(n){if(n==null)throw new Error("commit cannot be called with a children that miss a yoga node");return n}function X8(n,e){return n.M.O===e.M.O}function $g(n,e,t,i){t!=null&&(bE(t.classes,i),i(t)),e!=null&&(bE(e.classes,i),i(e)),n!=null&&(bE(n.classes,i),i(n))}function bE(n,e){if(n==null)return;if(!Array.isArray(n)){e(n);return}const t=n.length;for(let i=0;in.value.read(e,t))}class i5{preTransformers;propertyMap=new Map;constructor(e){this.preTransformers=e}add(e,t){if(t===void 0)return;const i=this.preTransformers?.[e];if(i!=null){i(t,this);return}const r=n5[e];if(r==null){this.addToMap(e,t);return}const s=r.length;for(let o=0;o=0;s--){const o=i[s],a=o instanceof $n?o.value:o;if(a!==void 0)return a}return t}filterCompare(e,t,i,r,s){for(const o of this.propertyMap.keys()){if(!e(o))continue;if(t==null){i(o);continue}const a=t.propertyMap.get(o);if(a==null){i(o);continue}const l=this.propertyMap.get(o);yw(a,l)||r(o)}if(t!=null)for(const o of t.propertyMap.keys())e(o)&&(this.propertyMap.has(o)||s(o))}isEqual(e,t){const i=this.propertyMap.get(t),r=e.propertyMap.get(t);return i==null||r==null?i===r:yw(i,r)}addAll(e,t,i,r){$g(e,t,i,s=>{for(const o in s)this.add(o,s[o]);for(const o in r){const a=s[o];a!=null&&r[o](a,this)}})}}function yw(n,e){const t=n.length;if(t!=e.length)return!1;for(let i=0;i{let s;if(i==null)s=void 0;else{if(i.value==null)return;s=i.value}const o=r?.value,a=typeof o=="number"?o:o?.major??0,l=typeof o=="number"?0:o?.minor??0;let A,h;return s==null?(A=0,h=0):e>s.elementType?(A=s.majorIndex,h=0):e!=s.elementType||!o5(kr(t),kr(s.instancedGroupDependencies))?(A=s.majorIndex+1,h=0):(A=s.majorIndex,h=s.minorIndex+1),a>0&&(A+=a,h=0),h+=l,{instancedGroupDependencies:t,elementType:e,majorIndex:A,minorIndex:h}})}function o5(n,e){if(n===e)return!0;if(n==null||e==null)return!1;let t=0;for(const i in n){if(n[i]!=e[i])return!1;++t}return t===Object.keys(e).length}function Ul(n,e,t){return n[bI]=e,n[NI]=t,n}function ho(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=t.value;if(s!=null){if(r){r=!1;return}n.peek()?.onSizeChange?.(...s),e.peek()?.onSizeChange?.(...s)}}))}function wa(n,e,t,i){let r=!0;i.push(()=>et(()=>{const s=!t.value;if(r){r=!1;return}n.peek()?.onIsInViewportChange?.(s),e.peek()?.onIsInViewportChange?.(s)}))}const a5=new G,l5=new G,Jd=new G,NE=new ft,c5=new Eu,u5=new Gi,PE=Math.PI/180;function A5([n,e,t]){return u5.setFromEuler(c5.set(n*PE,e*PE,t*PE))}const h5="center",f5="center";function fo(n,{relativeCenter:e,size:t},i){const r=Pt(n,"transformTranslateX",0),s=Pt(n,"transformTranslateY",0),o=Pt(n,"transformTranslateZ",0),a=Pt(n,"transformRotateX",0),l=Pt(n,"transformRotateY",0),A=Pt(n,"transformRotateZ",0),h=Pt(n,"transformScaleX",1),f=Pt(n,"transformScaleY",1),d=Pt(n,"transformScaleZ",1),g=Pt(n,"transformOriginX",h5),E=Pt(n,"transformOriginY",f5);return Gt(()=>{if(e.value==null)return;const[v,C]=e.value,p=i.value,y=new ft().makeTranslation(v*p,C*p,0);let I=!0;if(g.value!="center"||E.value!="center"){if(t.value==null)return;const[D,U]=t.value;I=!1,Jd.set(-RD[g.value]*D*p,-DD[E.value]*U*p,0),y.multiply(NE.makeTranslation(Jd)),Jd.negate()}const S=[a.value,l.value,A.value],R=[r.value,-s.value,o.value],M=[h.value,f.value,d.value];return(R.some(D=>D!=0)||S.some(D=>D!=0)||M.some(D=>D!=1))&&y.multiply(NE.compose(a5.fromArray(R).multiplyScalar(p),A5(S),l5.fromArray(M))),I||y.multiply(NE.makeTranslation(Jd)),y})}function po(n,e,t){t.push(()=>et(()=>{if(e.value==null){n.current?.matrix.elements.fill(0);return}n.current?.matrix.copy(e.value)}))}const d5=Math.cos(45/180*Math.PI),UE=[new un,new un,new un,new un],vw=new G;class p5{planes;facePlane;originalCenter;constructor(e,t,i,r,s){this.originalCenter=new G(t,i,0).applyMatrix4(e),this.facePlane=new un(new G(0,0,1),0).applyMatrix4(e);const o=r/2,a=s/2,l=i+a,A=t+o,h=-i+a,f=-t+o;this.planes=[new un(new G(0,-1,0),h).applyMatrix4(e),new un(new G(-1,0,0),f).applyMatrix4(e),new un(new G(0,1,0),l).applyMatrix4(e),new un(new G(1,0,0),A).applyMatrix4(e)]}min({planes:e}){for(let r=0;r<4;r++){const s=this.facePlane,o=e[r],a=s.normal.dot(o.normal);if(Math.abs(a)>.99)return this;const l=UE[r];if(Math.abs(a)<.01){l.copy(o);continue}l.normal.crossVectors(s.normal,o.normal).normalize().cross(s.normal).negate();const A=1-a*a,h=(s.constant-o.constant*a)/A,f=(o.constant-s.constant*a)/A;vw.copy(s.normal).multiplyScalar(h).addScaledVector(o.normal,f),l.constant=-vw.dot(l.normal)}let t=0;const i=this.planes[0].normal;for(;UE[t].normal.dot(i)>d5;)break;for(let r=0;r<4;r++){const s=this.planes[r],o=(r+t)%4;UE[o].distanceToPoint(this.originalCenter){if(t.value==null)return!0;const r=e.value,s=n?.value;if(s==null||r==null)return!1;const[o,a]=t.value,l=i.value;for(let f=0;f<4;f++){const[d,g]=g5[f];Bw[f].set(d*l*o,g*l*a,0).applyMatrix4(r)}const{planes:A}=s;let h;for(let f=0;f<4;f++){const d=A[f];h=!0;for(let g=0;g<4;g++){const E=Bw[g];d.distanceToPoint(E)>=0&&(h=!1)}if(h)return!0}return!1})}function em(n,{overflow:e,borderInset:t,size:i},r,s){return Gt(()=>{const o=n.value;if(o==null||e.value===Il.Visible)return s?.value;if(i.value==null||t.value==null)return;const[a,l]=i.value,[A,h,f,d]=t.value,g=r.value,E=new p5(o,(h-d)*g/2,(A-f)*g/2,(a-d-h)*g,(l-A-f)*g);return s?.value!=null&&E.min(s.value),E})}const PI=new un(new G(-1,0,0),Number.MAX_SAFE_INTEGER),rg=new Float32Array(16);for(let n=0;n<4;n++)PI.normal.toArray(rg,n*4),rg[n*4+3]=PI.constant;function Hh(n,e,t){const i=[new un,new un,new un,new un],r=()=>{if(n.object.current==null)return;const s=e?.value?.planes;if(s==null){for(let o=0;o<4;o++)i[o].copy(PI);return}for(let o=0;o<4;o++)i[o].copy(s[o]).applyMatrix4(n.object.current.matrixWorld)};return t.push(()=>(n.onFrameSet.add(r),()=>n.onFrameSet.delete(r))),i}function oD(n,e){for(;e>=n.length;){let t=0,i=0;if(n.length>0){const r=n[n.length-1];t+=r.offset+r.elements.length,i=Math.min(0,r.missingSpace),r.missingSpace-=i}n.push({add:[],missingSpace:i,offset:t,elements:[]})}}function m5(n,e,t){oD(n,0);const i=n[n.length-1];i.missingSpace+=e-t}function E5(n,e,t,i){oD(n,e);const r=n[e];return r.missingSpace+=1,r.missingSpace<=0?(i(t,r,r.elements.length),r.elements.push(t),!1):(r.add.push(t),!0)}function C5(n,e,t,i,r,s,o,a){if(e>=n.length)throw new Error(`no bucket at index ${e}`);const l=n[e];l.missingSpace-=1;const A=l.add.indexOf(t);if(A!=-1)return l.add.splice(A,1),!1;if(i==null||i>=l.elements.length)throw new Error(`no element at index ${i}`);if(l.add.length>0){const g=l.add.shift();return l.elements[i]=g,r(g,l,i),!1}const h=l.offset,f=l.elements.length-1;if(f!=i){const g=h+f,E=h+i;a(E,g,g+1);const v=l.elements[f];l.elements[i]=v,o(v,i)}if(s(h+f),l.elements.length-=1,e0;){const g=n[e-1];g.missingSpace+=d.missingSpace,d=n[--e]}return n.length=e+1,!1}function I5(n,e,t){let i=n.length,r=-1;for(let o=0;o0&&(r=o);const l=o===i-1;if(!l&&a.missingSpace===0)continue;const A=a.missingSpace<0;for(let h=o-1;h>=0;h--){const f=n[h];if(f.missingSpace===0)continue;const d=f.missingSpace<0;if(d&&(l||A)){xw(n,t,h,o,Math.abs(f.missingSpace));continue}if(!A&&!d)continue;const g=Math.min(Math.abs(f.missingSpace),Math.abs(a.missingSpace));A?y5(n,t,h,o,g):xw(n,t,h,o,g)}}const s=n[r];for(let o=r+1;o"u"?void 0:matchMedia?.("(prefers-color-scheme: dark)"),lD=nt(aD?.matches??!1);aD?.addEventListener("change",n=>lD.value=n.matches);const R1=nt("system"),cD=Gt(()=>{switch(R1.value){case"system":return lD.value;case"dark":return!0;case"light":return!1}});function v5(n){R1.value=n}function Sw(){return R1.peek()}const go={dark:Vh(()=>cD.value)};function B5({dark:n,light:e}){const t={};for(const i in n)t[i]=Gt(()=>cD.value?n[i]:e[i]);return t}const uD={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},AD=Object.keys(uD),x5=AD.length;function mo(n){const e={};for(let t=0;t(n.value?.[0]??0)>uD[i])}return e}function ww(n,e,t,i){return((i==null?0:n.getKerning(i,t.id))+t.xoffset)*e}function kE(n,e,t){return((t?.yoffset??0)+(e-1)/2)*n}function xh(n,e,t){return e.xadvance*n+t}function Xd(n,e){return n*e}function UI(n,{lineHeight:e,fontSize:t}){return Math.max(n,1)*t*e}const S5=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;sr)break;o.nonWhitespaceCharLength=s-a+1,o.nonWhitespaceWidth=l,o.whitespacesBetween=A}o.charLength=s-a},w5=({text:n,fontSize:e,font:t,letterSpacing:i},r,s,o)=>{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s{s=D1(n,s);const a=s;o.charIndexOffset=a,o.nonWhitespaceCharLength=0,o.charLength=0,o.nonWhitespaceWidth=0,o.whitespacesBetween=0;let l=0,A=0;for(;s0&&r!=null&&l>r)break;const f=n[s+1];(f===" "||f===` -`||f==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function D1(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);FE.set(n,s)}).catch(console.error)}async function M5(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await _5.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new L5(t,i)}const kI={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},R5={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function AD(n,e,t,i){const r=nt(void 0),s=Ft(n,"fontFamily",void 0),o=Ft(n,"fontWeight","normal");return i.push(()=>ut(()=>{const a=e?.value??R5;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=D5(a[l],typeof o.value=="string"?kI[o.value]:o.value);let h=!1;return Q5(A,t,f=>h?void 0:r.value=f),()=>h=!0})),r}function D5(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-T5(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(f=>kr(f)).join(""):kr(A),wordBreak:a.value};return i.current=h,(f,d)=>U5(h,d===xp.Undefined?void 0:f)})}const hD={"keep-all":S5,"break-all":x5,"break-word":w5},Kd={};function U5(n,e){const t=hD[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; +`||f==null)&&(o.charLength=s-a+1,o.nonWhitespaceCharLength=o.charLength,o.nonWhitespaceWidth=l,o.whitespacesBetween=A)}};function D1(n,e){const t=n.length;for(;n[e]===" "&&e{for(const o of r)o(s);FE.set(n,s)}).catch(console.error)}async function R5(n,e){const t=await(await fetch(n)).json();if(t.pages.length!==1)throw new Error("only supporting exactly 1 page");const i=await Q5.loadAsync(new URL(t.pages[0],new URL(n,window.location.href)).href);return i.anisotropy=e.capabilities.getMaxAnisotropy(),i.flipY=!1,new b5(t,i)}const kI={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900,"extra-black":950},D5={inter:{light:"https://pmndrs.github.io/uikit/fonts/inter-light.json",normal:"https://pmndrs.github.io/uikit/fonts/inter-normal.json",medium:"https://pmndrs.github.io/uikit/fonts/inter-medium.json","semi-bold":"https://pmndrs.github.io/uikit/fonts/inter-semi-bold.json",bold:"https://pmndrs.github.io/uikit/fonts/inter-bold.json"}};function hD(n,e,t,i){const r=nt(void 0),s=Pt(n,"fontFamily",void 0),o=Pt(n,"fontWeight","normal");return i.push(()=>et(()=>{const a=e?.value??D5;let l=s.value;l==null&&(l=Object.keys(a)[0]);const A=T5(a[l],typeof o.value=="string"?kI[o.value]:o.value);let h=!1;return M5(A,t,f=>h?void 0:r.value=f),()=>h=!0})),r}function T5(n,e){let t=1/0,i;for(const r in n){const s=Math.abs(e-L5(r));if(s===0)return n[r];s{const l=e.value;if(l==null)return;const A=t.value,h={font:l,fontSize:r.value,letterSpacing:s.value,lineHeight:o.value,text:Array.isArray(A)?A.map(f=>kr(f)).join(""):kr(A),wordBreak:a.value};return i.current=h,(f,d)=>k5(h,d===xp.Undefined?void 0:f)})}const fD={"keep-all":w5,"break-all":S5,"break-word":_5},Kd={};function k5(n,e){const t=fD[n.wordBreak],i=n.text;let r=0,s=0,o=0;for(;o{t.uniforms.fontPage={value:e.page},t.uniforms.pageSize={value:[e.pageWidth,e.pageHeight]},t.uniforms.distanceRange={value:e.distanceRange},t.uniforms.v_weight={value:.3},t.vertexShader=`attribute vec4 instanceUVOffset; varying vec2 fontUv; attribute vec4 instanceRGBA; varying vec4 rgba; @@ -3888,9 +3888,9 @@ No matching component was found for: } diffuseColor.a *= clipOpacity * min((multiplier - 0.5) / 0.5, 1.0); diffuseColor *= rgba; - `)}}}class O5 extends on{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new qn;boundingSphere=new li;constructor(e,t,i,r,s){const o=new ya;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const ww=new ft,G5=new ft;function fD(n){return Gt(()=>({font:n.value}))}class H5{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(rg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Sh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;b5(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),ww.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(G5.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),ww.toArray(t.array,e),t.needsUpdate=!0}}class z5{pixelSize;rootCameraDistance;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.rootCameraDistance=t,this.object=i}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new V5(this.object,t,this.pixelSize,this.rootCameraDistance,{majorIndex:e,elementType:ei.Text,minorIndex:0})),r}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class V5{object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s){this.object=e,this.pixelSize=i,this.rootCameraDistance=r,this.orderInfo=s,this.instanceMaterial=new F5(t)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;of-d);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let f=this.holeIndicies[0];fut(()=>i.value?.addLayoutChangeListener(()=>{const M=v.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:J}}=r;if(M==null||D==null||U==null||J==null)return;const[_,b]=D,[q,fe,Y,oe]=U,[ie,de,k,j]=J,ee=_-fe-oe-de-j,Ae=b-q-Y-ie-k;R.value=k5(M,ee,Ae)})),()=>ut(()=>{const M=l.value;if(M==null||a.value==null)return;const D=new X5(A.getGroup(a.value.majorIndex,M),y,p,I,S,R,t,s,o,h,f,d);return g!=null&&(g.current=D),()=>D.destroy()})),C}const J5=[];class X5{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,f,d){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=f,this.caretPosition=d,this.unsubscribeInitialList=[ut(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),ut(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-jd(i,this.verticalAlign.peek());const r=Math.floor(t/-Xd(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=f.charIndexOffset+f.charLength)continue;const d=this.glyphLines[h][Math.max(i-f.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(d,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:Qw(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(Ka(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(ut(()=>{const e=this.matrix.value;e!=null&&Ka(this.glyphLines,t=>t.updateBaseMatrix(e))}),ut(()=>{const e=this.parentClippingRect?.value;Ka(this.glyphLines,t=>t.updateClippingRect(e))}),ut(()=>{const e=this.color.value;Ka(this.glyphLines,t=>t.updateColor(e))}),ut(()=>{const e=this.opacity.value;Ka(this.glyphLines,t=>t.updateOpacity(e))}),ut(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=jd(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,f=this.group.pixelSize.value;for(let d=0;dC+v){S=b.id;const Y=I+Sw(i,o,b,S);typeof R[J]=="number"?R[J]=I:R.splice(J,0,Y),I+=y+xh(o,b,s);continue}let q=R[J];for(;Jd.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Es.constant=0,Es.normal.set(0,0,1),Es.applyMatrix4(i),Es.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Es,Zd)==null)return;const r=Es.normal.clone();for(let s=0;s<4;s++){const o=j5[s];if(Es.copy(o).applyMatrix4(i),(qa[s]=Es.distanceToPoint(Zd))<0)return}t.push({distance:Zd.distanceTo(e.ray.origin),object:n,point:Zd.clone(),uv:new Be(qa[0]/(qa[0]+qa[1]),qa[3]/(qa[2]+qa[3])),normal:r})}}function wu(n,e,t,i,r){return(s,o)=>{const a=t instanceof Xt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,f=o.length;e.call(n,s,o);const d=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=f;E--){const v=o[E];if(v.distance-=l*.01+h*.001+A*1e-5,d!=null){for(let C=0;C<4;C++)if(Es.copy(d[C]).applyMatrix4(g),Es.distanceToPoint(v.point)<0){o.splice(E,1);continue e}}}}}const mD=new qe(-1,-1,-1),ED={backgroundColor:mD,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let OE;function kl(){if(OE==null){const n={};for(const e in ED)n[e]=e;OE=zh(n)}return OE}function zh(n,e){const t={...ED,...e},i={};for(const s in n){const o=Z5[s],a=t[s];i[n[s]]=(l,A,h,f,d)=>o(l,A,h??a,f,d)}const r=new Float32Array(16);return Sh(r,4,t.backgroundColor,void 0),Sh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Gt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),f=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),d=o.value.some(C=>C>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&f!=mD)&&!d?!1:l==null?!0:!l.value})}}const Z5={backgroundColor:(n,e,t,i,r)=>Sh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Sh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>GE(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>GE(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>GE(n,e+15,t,r)};function $d(n,e,t,i,r,s){q5(n,e,t,i,r),s?.(e,1)}function GE(n,e,t,i){n[e]=t,i?.(e,1)}const $5=new qe;function Sh(n,e,t,i){Array.isArray(t)?n.set(t,e):$5.set(t).toArray(n,e),i?.(e,3)}function CD(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Pr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Pr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),nG(r,e.type==="instanced")},t}class ID extends Rg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),vD(e,this.info.type==="instanced")}}class yD extends Mg{info;constructor(e){super({depthPacking:Yy}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),vD(e,this.info.type==="instanced")}}const eG=new yD({type:"instanced"}),tG=new ID({type:"instanced"});function vD(n,e){BD(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include - ${xD(e,void 0)} - `)}function BD(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include + `)}}}class G5 extends tn{instanceMatrix;instanceRGBA;instanceUV;instanceClipping;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new qn;boundingSphere=new ci;constructor(e,t,i,r,s){const o=new ya;o.translate(.5,-.5,0),super(o,s),this.instanceMatrix=e,this.instanceRGBA=t,this.instanceUV=i,this.instanceClipping=r,o.attributes.instanceUVOffset=i,o.attributes.instanceRGBA=t,o.attributes.instanceClipping=r,this.frustumCulled=!1}copy(){throw new Error("copy not implemented")}dispose(){this.dispatchEvent({type:"dispose"})}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}const _w=new ft,H5=new ft;function dD(n){return Gt(()=>({font:n.value}))}class z5{group;baseMatrix;color;opacity;clippingRect;index;hidden=!0;glyphInfo;x=0;y=0;fontSize=0;pixelSize=0;constructor(e,t,i,r,s){this.group=e,this.baseMatrix=t,this.color=i,this.opacity=r,this.clippingRect=s}getX(e){return this.glyphInfo==null?this.x:this.x+e*this.glyphInfo.width*this.fontSize}show(){this.hidden&&(this.hidden=!1,this.group.requestActivate(this))}hide(){this.hidden||(this.hidden=!0,this.group.delete(this))}activate(e){this.index=e,this.writeUpdatedMatrix(),this.writeUV(),this.updateColor(this.color),this.updateOpacity(this.opacity),this.updateClippingRect(this.clippingRect)}setIndex(e){this.index=e}updateClippingRect(e){if(this.clippingRect=e,this.index==null)return;const t=this.index*16,{instanceClipping:i}=this.group;this.clippingRect==null?i.set(rg,t):this.clippingRect.toArray(i.array,t),i.addUpdateRange(t,16),i.needsUpdate=!0}updateColor(e){if(this.color=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=t.itemSize*this.index;Sh(t.array,i,e,void 0),t.addUpdateRange(i,3),t.needsUpdate=!0}updateOpacity(e){if(this.opacity=e,this.index==null)return;const{instanceRGBA:t}=this.group,i=this.index*4+3;t.array[i]=e,t.addUpdateRange(i,1),t.needsUpdate=!0}updateGlyphAndTransformation(e,t,i,r,s){this.glyphInfo===e&&this.x===t&&this.y===i&&this.fontSize===r&&this.pixelSize===s||(this.glyphInfo!=e&&(this.glyphInfo=e,this.writeUV()),this.x=t,this.y=i,this.fontSize=r,this.pixelSize=s,this.writeUpdatedMatrix())}updateBaseMatrix(e){this.baseMatrix!==e&&(this.baseMatrix=e,this.writeUpdatedMatrix())}writeUV(){if(this.index==null||this.glyphInfo==null)return;const e=this.index*4,{instanceUV:t}=this.group;N5(this.glyphInfo,t.array,e),t.addUpdateRange(e,4),t.needsUpdate=!0}writeUpdatedMatrix(){if(this.index==null||this.glyphInfo==null||this.baseMatrix==null)return;const e=this.index*16,{instanceMatrix:t}=this.group;t.addUpdateRange(e,16),_w.makeTranslation(this.x*this.pixelSize,this.y*this.pixelSize,0).multiply(H5.makeScale(this.fontSize*this.glyphInfo.width*this.pixelSize,this.fontSize*this.glyphInfo.height*this.pixelSize,1)).premultiply(this.baseMatrix),_w.toArray(t.array,e),t.needsUpdate=!0}}class V5{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,t){let i=this.map.get(t);i==null&&this.map.set(t,i=new Map);let r=i?.get(e);return r==null&&i.set(e,r=new W5(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{majorIndex:e,elementType:ei.Text,minorIndex:0})),r}}class W5{renderOrder;object;pixelSize;rootCameraDistance;orderInfo;instanceMatrix;instanceUV;instanceRGBA;instanceClipping;glyphs=[];requestedGlyphs=[];holeIndicies=[];mesh;instanceMaterial;timeTillDecimate;constructor(e,t,i,r,s,o,a){this.renderOrder=e,this.object=i,this.pixelSize=s,this.rootCameraDistance=o,this.orderInfo=a,this.instanceMaterial=new O5(r),this.instanceMaterial.depthTest=t}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}requestActivate(e){const t=this.holeIndicies.shift();if(t!=null){this.glyphs[t]=e,e.activate(t);return}if(this.mesh==null||this.mesh.count>=this.instanceMatrix.count){this.requestedGlyphs.push(e);return}const i=this.mesh.count;this.glyphs[i]=e,e.activate(i),this.mesh.count+=1}delete(e){if(e.index==null){const r=this.requestedGlyphs.indexOf(e);if(r===-1)return;this.requestedGlyphs.splice(r,1);return}const t=this.requestedGlyphs.shift();if(t!=null){t.activate(e.index),this.glyphs[e.index]=t,e.index=void 0;return}if(e.index===this.glyphs.length-1){this.glyphs.length-=1,this.mesh.count-=1,e.index=void 0;return}const i=e.index*16;this.instanceMatrix.array.fill(0,i,i+16),this.instanceMatrix.addUpdateRange(i,16),this.instanceMatrix.needsUpdate=!0,this.holeIndicies.push(e.index),this.glyphs[e.index]=void 0,e.index=void 0}onFrame(e){const t=this.glyphs.length-this.holeIndicies.length+this.requestedGlyphs.length;if(this.mesh!=null&&(this.mesh.visible=t>0),t===0)return;const i=this.instanceMatrix?.count??0;if(t0)&&t<=i)return;this.timeTillDecimate=void 0,this.resize(t);const r=this.mesh.count,s=this.requestedGlyphs.length;for(let o=0;of-d);const l=this.holeIndicies.length;let A=0,h=0;for(;h0)for(let f=this.holeIndicies[0];fet(()=>i.value?.addLayoutChangeListener(()=>{const M=v.current,{size:{value:D},paddingInset:{value:U},borderInset:{value:J}}=r;if(M==null||D==null||U==null||J==null)return;const[_,b]=D,[q,fe,Y,se]=U,[ne,de,k,j]=J,ee=_-fe-se-de-j,Ae=b-q-Y-ne-k;R.value=F5(M,ee,Ae)})),()=>et(()=>{const M=l.value;if(M==null||a.value==null)return;const D=new K5(A.getGroup(a.value.majorIndex,M),y,p,I,S,R,t,s,o,h,f,d);return g!=null&&(g.current=D),()=>D.destroy()})),C}const X5=[];class K5{group;horizontalAlign;verticalAlign;color;opacity;layoutSignal;matrix;parentClippingRect;selectionRange;selectionBoxes;caretPosition;glyphLines=[];lastLayout;unsubscribeInitialList=[];unsubscribeShowList=[];constructor(e,t,i,r,s,o,a,l,A,h,f,d){this.group=e,this.horizontalAlign=t,this.verticalAlign=i,this.color=r,this.opacity=s,this.layoutSignal=o,this.matrix=a,this.parentClippingRect=A,this.selectionRange=h,this.selectionBoxes=f,this.caretPosition=d,this.unsubscribeInitialList=[et(()=>{if(l?.value===!0||s.value<.01){this.hide();return}this.show()}),et(()=>this.updateSelectionBoxes(this.lastLayout,h?.value,i.peek(),t.peek()))]}getCharIndex(e,t){const i=this.lastLayout;if(i==null)return 0;t-=-jd(i,this.verticalAlign.peek());const r=Math.floor(t/-Xd(i.lineHeight,i.fontSize)),s=i.lines;if(r<0||s.length===0)return 0;if(r>=s.length){const h=s[s.length-1];return h.charIndexOffset+h.charLength+1}const o=s[r],a=i.font.getGlyphInfo(" ").xadvance*i.fontSize,l=this.glyphLines[r];let A=l.length;for(let h=0;h=f.charIndexOffset+f.charLength)continue;const d=this.glyphLines[h][Math.max(i-f.charIndexOffset,0)];return{lineIndex:h,x:this.getGlyphX(d,r?0:1,s)}}const l=e[a-1];if(l.charLength===0)return{lineIndex:a-1,x:Mw(t,l.nonWhitespaceWidth,o)-t/2};const A=this.glyphLines[a-1][l.charLength-1];return{lineIndex:a-1,x:this.getGlyphX(A,1,s)}}getGlyphX(e,t,i){return typeof e=="number"?e+t*i:e.getX(t)}show(){this.unsubscribeShowList.length>0||(Ka(this.glyphLines,e=>e.show()),this.unsubscribeShowList.push(et(()=>{const e=this.matrix.value;e!=null&&Ka(this.glyphLines,t=>t.updateBaseMatrix(e))}),et(()=>{const e=this.parentClippingRect?.value;Ka(this.glyphLines,t=>t.updateClippingRect(e))}),et(()=>{const e=this.color.value;Ka(this.glyphLines,t=>t.updateColor(e))}),et(()=>{const e=this.opacity.value;Ka(this.glyphLines,t=>t.updateOpacity(e))}),et(()=>{const e=this.layoutSignal.value;if(e==null)return;const{text:t,font:i,lines:r,letterSpacing:s=0,fontSize:o=16,lineHeight:a=1.2,availableWidth:l}=e;let A=jd(e,this.verticalAlign.value)-e.availableHeight/2;const h=r.length,f=this.group.pixelSize.value;for(let d=0;dC+v){S=b.id;const Y=I+ww(i,o,b,S);typeof R[J]=="number"?R[J]=I:R.splice(J,0,Y),I+=y+xh(o,b,s);continue}let q=R[J];for(;Jd.hide(),h),this.glyphLines.length=h,this.lastLayout=e,this.updateSelectionBoxes(e,this.selectionRange?.peek(),this.verticalAlign.value,this.horizontalAlign.value)})))}hide(){const e=this.unsubscribeShowList.length;if(e!==0){for(let t=0;tt.hide())}}destroy(){this.hide(),this.glyphLines.length=0;const e=this.unsubscribeInitialList.length;for(let t=0;t{const i=n.matrixWorld;if(Es.constant=0,Es.normal.set(0,0,1),Es.applyMatrix4(i),Es.distanceToPoint(e.ray.origin)<=0||e.ray.intersectPlane(Es,Zd)==null)return;const r=Es.normal.clone();for(let s=0;s<4;s++){const o=Z5[s];if(Es.copy(o).applyMatrix4(i),(qa[s]=Es.distanceToPoint(Zd))<0)return}t.push({distance:Zd.distanceTo(e.ray.origin),object:n,point:Zd.clone(),uv:new Be(qa[0]/(qa[0]+qa[1]),qa[3]/(qa[2]+qa[3])),normal:r})}}function wu(n,e,t,i,r){return(s,o)=>{const a=t instanceof Xt?t:t.current;if(a==null||r.value==null)return;const{majorIndex:l,minorIndex:A,elementType:h}=r.value,f=o.length;e.call(n,s,o);const d=i?.value?.planes,g=a.matrixWorld;e:for(let E=o.length-1;E>=f;E--){const v=o[E];if(v.distance-=l*.01+h*.001+A*1e-5,d!=null){for(let C=0;C<4;C++)if(Es.copy(d[C]).applyMatrix4(g),Es.distanceToPoint(v.point)<0){o.splice(E,1);continue e}}}}}const ED=new qe(-1,-1,-1),CD={backgroundColor:ED,backgroundOpacity:-1,borderColor:16777215,borderBottomLeftRadius:0,borderTopLeftRadius:0,borderBottomRightRadius:0,borderTopRightRadius:0,borderBend:0,borderOpacity:1};let OE;function kl(){if(OE==null){const n={};for(const e in CD)n[e]=e;OE=zh(n)}return OE}function zh(n,e){const t={...CD,...e},i={};for(const s in n){const o=$5[s],a=t[s];i[n[s]]=(l,A,h,f,d)=>o(l,A,h??a,f,d)}const r=new Float32Array(16);return Sh(r,4,t.backgroundColor,void 0),Sh(r,8,t.borderColor,void 0),r[11]=t.borderBend,r[12]=t.borderOpacity,r[15]=t.backgroundOpacity,{hasProperty:s=>s in i,defaultData:r,setters:i,computedIsVisibile:(s,o,a,l)=>Gt(()=>{if(o.value==null||a.value==null)return!0;const A=n.borderOpacity==null?t.borderOpacity:s.value.read(n.borderOpacity,t.borderOpacity),h=n.backgroundOpacity==null?t.backgroundOpacity:s.value.read(n.backgroundOpacity,t.backgroundOpacity),f=n.backgroundColor==null?t.backgroundColor:s.value.read(n.backgroundColor,t.backgroundColor),d=o.value.some(C=>C>0)&&A>0,[g,E]=a.value;return!(g>0&&E>0&&(h===-1||h>0)&&f!=ED)&&!d?!1:l==null?!0:!l.value})}}const $5={backgroundColor:(n,e,t,i,r)=>Sh(n,e+4,t,r),borderBottomLeftRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,0,t,i[1],r),borderBottomRightRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,1,t,i[1],r),borderTopRightRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,2,t,i[1],r),borderTopLeftRadius:(n,e,t,{value:i},r)=>i!=null&&$d(n,e+7,3,t,i[1],r),borderColor:(n,e,t,i,r)=>Sh(n,e+8,t,r),borderBend:(n,e,t,i,r)=>GE(n,e+11,t,r),borderOpacity:(n,e,t,i,r)=>GE(n,e+12,t,r),backgroundOpacity:(n,e,t,i,r)=>GE(n,e+15,t,r)};function $d(n,e,t,i,r,s){j5(n,e,t,i,r),s?.(e,1)}function GE(n,e,t,i){n[e]=t,i?.(e,1)}const eG=new qe;function Sh(n,e,t,i){Array.isArray(t)?n.set(t,e):eG.set(t).toArray(n,e),i?.(e,3)}function ID(n,e){const t=new n;t.defines==null&&(t.defines={}),t.side=Pr,t.clipShadows=!0,t.transparent=!0,t.toneMapped=!1,t.depthWrite=!1,t.shadowSide=Pr,t.defines.USE_UV="",t.defines.USE_TANGENT="";const i=t.onBeforeCompile;return t.onBeforeCompile=(r,s)=>{i.call(t,r,s),e.type==="normal"&&(r.uniforms.data={value:e.data}),iG(r,e.type==="instanced")},t}class yD extends Rg{info;constructor(e){super(),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),BD(e,this.info.type==="instanced")}}class vD extends Mg{info;constructor(e){super({depthPacking:Yy}),this.info=e,this.defines==null&&(this.defines={}),this.defines.USE_UV="",this.clipShadows=!0}onBeforeCompile(e,t){super.onBeforeCompile(e,t),this.info.type==="normal"&&(e.uniforms.data={value:this.info.data}),BD(e,this.info.type==="instanced")}}const tG=new vD({type:"instanced"}),nG=new yD({type:"instanced"});function BD(n,e){xD(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",`#include + ${SD(e,void 0)} + `)}function xD(n,e){n.vertexShader=n.vertexShader.replace("#include ",` #include out vec4 borderRadius; ${e?"":"uniform highp mat4 data;"}`),n.vertexShader=n.vertexShader.replace("#include ",` #include highp int packedBorderRadius = int(data[1].w); @@ -4019,7 +4019,7 @@ No matching component was found for: borderWeight = normalize(insideBorder); } - #include `)}function xD(n,e){return`float ddx = fwidth(distance.x); + #include `)}function SD(n,e){return`float ddx = fwidth(distance.x); float outer = smoothstep(-ddx, ddx, distance.x); float ddy = fwidth(distance.y); @@ -4042,8 +4042,8 @@ No matching component was found for: if(outOpacity < 0.01) { discard; - }`}function nG(n,e){BD(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include - ${xD(e,"diffuseColor.a")} + }`}function iG(n,e){xD(n,e),n.fragmentShader=n.fragmentShader.replace("#include ",` #include + ${SD(e,"diffuseColor.a")} diffuseColor.rgb = mix(borderColor, diffuseColor.rgb * backgroundColor, transition); diffuseColor.a = outOpacity; `),n.fragmentShader=n.fragmentShader.replace("#include ",` #include @@ -4054,4 +4054,4 @@ No matching component was found for: float outsideNormalWeight = currentBorderSize < 0.00001 ? 0.0 : max(0.0, -distance.y / currentBorderSize) * borderBend; vec3 outsideNormal = (borderWeight * transpose(directions)).xyz; normal = normalize(outsideNormalWeight * outsideNormal + (1.0 - outsideNormalWeight) * normal); - `)}function Fl(n,e,t,i,r){const s=new on(L1);return s.matrixAutoUpdate=!1,s.raycast=wu(s,gD(s),e.object,t,n),s.visible=!1,r.push(()=>ut(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class iG extends on{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new qn;boundingSphere=new li;constructor(e,t,i){const r=pD();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=eG,this.customDistanceMaterial=tG}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Ol(n){const e=Ft(n,"panelMaterialClass",tr),t=Ft(n,"castShadow",!1),i=Ft(n,"receiveShadow",!1);return Gt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const tm={panelMaterialClass:tr,castShadow:!1,receiveShadow:!1};class rG{pixelSize;root;object;map=new Map;constructor(e,t,i){this.pixelSize=e,this.root=t,this.object=i}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=tm){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);if(a==null){const l=CD(t,{type:"instanced"});s.set(o,a=new sG(this.object,l,this.pixelSize,this.root,{elementType:ei.Panel,majorIndex:e,minorIndex:0},i,r))}return a}onFrame=e=>{for(const t of this.map.values())for(const i of t.values())i.onFrame(e)}}class sG{object;instanceMaterial;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{HE(this.instanceMatrix,e,t,i),HE(this.instanceData,e,t,i),HE(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a){this.object=e,this.instanceMaterial=t,this.pixelSize=i,this.root=r,this.orderInfo=s,this.meshReceiveShadow=o,this.meshCastShadow=a}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}insert(e,t){if(this.elementCount+=1,!m5(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!E5(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),C5(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),g5(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new hr(t,16,!1),this.instanceMatrix.setUsage(Zo);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new hr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Zo);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new hr(r,16,!1),this.instanceClipping.setUsage(Zo),this.mesh=new iG(this.instanceMatrix,this.instanceData,this.instanceClipping),Ul(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}destroy(){}}function HE(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function Ds(n,e,t,i,r,s,o,a,l,A,h,f){return f.push(ut(()=>{if(e.value==null)return;const d=[],g=i.getGroup(e.value.majorIndex,t?.value);return new aG(n,g,e.value.minorIndex,r,s,o,a,l,A,h,d),()=>gr(d)})),f}const ep=new ft,oG=new ft;class aG{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,f){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const d=h.setters;Q1(e,this.active,h.hasProperty,(E,v)=>{const C=this.getIndexInBuffer();if(C==null)return;const{instanceData:p,instanceDataOnUpdate:y}=this.group;d[E](p.array,p.itemSize*C,v,s,y)},f);const g=h.computedIsVisibile(e,a,s,A);f.push(ut(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(ut(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(ep.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;ep.premultiply(oG.makeTranslation(A*a,h*a,0))}ep.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;ep.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),ut(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),ut(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),ut(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(rg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new ft().makeTranslation(-r*o,s*o,0).premultiply(i)})}function rm(n,e,t,i){return i.push(()=>ut(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function sm(n,{scrollable:e,maxScrollPosition:t,anyAncestorScrollable:i},r,s,o,a,l){const A=Gt(()=>e.value?.some(E=>E)??!1),h=new Map,f=new Be,d=(E,v,C,p,y)=>{if(n.value==null)return;const[I,S]=E==null?[!1,!1]:lG(E.nativeEvent);I&&(v=0),S&&(C=0);const[R,M]=n.value,[D,U]=t.value;let[J,_]=n.value;const[b,q]=i?.value??[!1,!1];J=Mw(R,D,v,y&&!b),_=Mw(M,U,C,y&&!q),p!=null&&p>0&&f.set(v,C).divideScalar(p),E!=null&&cG(E.nativeEvent,I||Math.min(R,(D??0)-R)>5,S||Math.min(M,(U??0)-M)>5),!(s.peek()?.onScroll?.(J,_,n,E)===!1||R===J&&M===_)&&(n.value=[J,_])},g=E=>{if(h.size>0||n.value==null)return;let v=0,C=0;const[p,y]=n.value,[I,S]=t.value;v+=FI(p,0,I??0)*-.3,C+=FI(y,0,S??0)*-.3,v+=f.x*E,C+=f.y*E,f.multiplyScalar(.9),Math.abs(f.x)<.01&&(f.x=0),Math.abs(f.y)<.01&&(f.y=0),!(v===0&&C===0)&&d(void 0,v,C,void 0,!0)};return l.push(()=>(a.add(g),()=>a.delete(g))),Gt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:v})=>{let C=h.get(E.pointerId);C==null&&h.set(E.pointerId,C={timestamp:0,point:new G}),C.timestamp=performance.now()/1e3,r.current.worldToLocal(C.point.copy(v))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const v=h.get(E.nativeEvent.pointerId);if(v==null)return;r.current.worldToLocal(VE.copy(E.point)),zE.copy(VE).sub(v.point).divideScalar(o.peek());const C=performance.now()/1e3,p=C-v.timestamp;v.point.copy(VE),v.timestamp=C,!E.defaultPrevented&&d(E,-zE.x,zE.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:v}=E;d(E,v.deltaX,v.deltaY,void 0,!1)}}})}const SD=Symbol("was-scrolled");function lG(n){return n[SD]??[!1,!1]}function cG(n,e,t){n[SD]=[e,t]}function Mw(n,e,t,i){if(t===0)return n;const r=FI(n,0,e??0);Rw(t)===Rw(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:T1(s,0,e??0)}function Rw(n){return n>=0}function FI(n,e,t){return nt?n-t:0}const uG=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function om(n,e,t,i,r,s,o,a,l){const A=mi(void 0,ei.Panel,tm,o),h=Ft(n,"scrollbarWidth",10),f=b1(n,uG);Tw(n,0,e,t,i,r,s,A,a,h,f,l),Tw(n,1,e,t,i,r,s,A,a,h,f,l)}let Dw;function AG(){return Dw??=zh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),Dw}function Tw(n,e,t,i,r,s,o,a,l,A,h,f){const d=Gt(()=>hG(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Gt(()=>d.value?.slice(0,2)??[0,0]),E=Gt(()=>d.value?.slice(2,4)??[0,0]);f.push(v=>Ds(n,a,void 0,l,r,E,g,h,o,s,AG(),v))}function hG(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),f=A-h,d=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-f*T1(d/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function fG(n,e,t,i,r){let s=!1;if($g(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};yl("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),yl("onPointerUp",n,o),yl("onPointerLeave",n,o)}function Eo(n){return{active:Vh(()=>n.value.length>0)}}function Qa(n,e){return Gt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function wD(n,e,t,i,...r){t.push(s=>{if(!(i instanceof $n)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(ut(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function Ma(n,e,t,i,r,s){s.push(o=>{const a=new rD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(ut(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const Lw=new Map,am={keepAspectRatio:(n,e)=>{let t=Lw.get(n);t==null&&Lw.set(n,t=Gt(()=>kr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Co(n,e,t,i,r,s,o){return Gt(()=>{const a={};return dG(a,s?.value),YG(a,n.value,e.value,t.value,i,o),fG(a,n.value,e.value,t.value,r),a})}function dG(n,e){for(const t in e)yl(t,n,e[t])}function yl(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function Io(n,e,t,i,r,s){return Gt(()=>{const o=new n5(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const bw=new qe;function _D(n,e,t){const i=Ft(n,"color",void 0),r=Ft(n,"opacity",1);t.push(()=>ut(()=>{let s;Array.isArray(i.value)?s=bw.setRGB(...i.value):i.value!=null&&(s=bw.set(i.value)),kr(e)?.traverse(o=>{if(!(o instanceof on))return;const a=o.material;a.color.copy(s??o.userData.color),a.opacity=r.value})}))}const pG=.01,Nw=new G,tp=new un,np=nt(new ft);function gG(n,e,t,i,r,s,o,a){const l=nt([0,0]),A=nt([]),h=nt([]),f=[];vo(A,f);const d=Gt(()=>kr(e.value?.pixelSize)??pG),g=Io(n,e,t,{...go,...mo(l),...Bo(A),...Eo(h)},{...Pw(d,"sizeX","width"),...Pw(d,"sizeY","height")}),E=nt(void 0),v=mG(a,E,f),C=Ao(void 0);f.push(fe=>{const Y=new rD(C,g,v,i,fe);return E.value=Y,fe});const p=fo(g,C,d),y=yG(g,p,C.size,d);po(i,y,f);const I=Ol(g),S=mi(void 0,ei.Panel,I,void 0),R={cameraDistance:0},M=new rG(d,R,i);f.push(()=>(a.add(M.onFrame),()=>a.delete(M.onFrame)));const D=()=>{if(i.current==null){R.cameraDistance=0;return}tp.normal.set(0,0,1),tp.constant=0,tp.applyMatrix4(i.current.matrixWorld),Nw.setFromMatrixPosition(s().matrixWorld),R.cameraDistance=tp.distanceToPoint(Nw)};f.push(()=>(a.add(D),()=>a.delete(D))),f.push(fe=>Ds(g,S,I,M,np,C.size,void 0,C.borderInset,void 0,void 0,kl(),fe));const U=nm();rm(r,U,d,f);const J=im(U,np,d);om(g,U,C,np,void 0,void 0,S,M,f);const _=sm(U,C,i,e,d,a,f);ho(n,e,C.size,f);const b=new z5(d,R,i);f.push(()=>(a.add(b.onFrame),()=>a.delete(b.onFrame)));const q=Object.assign(R,{requestCalculateLayout:v,onFrameSet:a,cameraDistance:0,gylphGroupManager:b,object:i,panelGroupManager:M,pixelSize:d,renderer:o,size:C.size});return Object.assign(C,{clippingRect:em(np,C,d,void 0),childrenMatrix:J,node:E,orderInfo:S,initializers:f,interactionPanel:Fl(S,q,void 0,C.size,f),handlers:Co(n,e,t,A,h,_),root:q})}function mG(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function Pw(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Gt(()=>{const a=kr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const EG=new ft,CG="center",IG="center";function yG(n,e,t,i){const r=Ft(n,"anchorX",CG),s=Ft(n,"anchorY",IG);return Gt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(EG.makeTranslation(MD[r.value]*o*i.value,RD[s.value]*a*i.value,0))})}function vG(n,e,t,i,r,s){const o=nt(void 0),a=Ao(n.anyAncestorScrollable),l=nt([]),A=nt([]),h=[];vo(l,h);const f=Io(e,t,i,{...go,...mo(n.root.size),...Bo(l),...Eo(A)});Ma(o,a,n,f,r,h);const d=fo(f,a,n.root.pixelSize);po(r,d,h);const g=Qa(n.childrenMatrix,d),E=_a(n.clippingRect,g,a.size,n.root.pixelSize),v=Ol(f),C=mi(f,ei.Panel,v,n.orderInfo);h.push(S=>Ds(f,C,v,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,kl(),S));const p=nm();rm(s,p,n.root.pixelSize,h);const y=im(p,g,n.root.pixelSize);om(f,p,a,g,E,n.clippingRect,C,n.root.panelGroupManager,h);const I=sm(p,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return ho(e,t,a.size,h),wa(e,t,E,h),Object.assign(a,{clippingRect:em(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:C,root:n.root,scrollPosition:p,interactionPanel:Fl(C,n.root,n.clippingRect,a.size,h),handlers:Co(e,t,i,l,A,I),initializers:h})}const BG="fill";function xG(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);vo(A,a);const f=Gt(()=>kr(e.value));wD(l,QG,a,f);const d=Gt(()=>{const U=l.value;if(U==null)return;const J=U.source.data;return J.width/J.height}),g=Io(t,i,r,{...go,...mo(n.root.size),...Bo(A),...Eo(h)},am,U=>U.add("aspectRatio",d)),E=nt(void 0),v=Ao(n.anyAncestorScrollable);Ma(E,v,n,g,s,a);const C=fo(g,v,n.root.pixelSize);po(s,C,a);const p=Qa(n.childrenMatrix,C),y=_a(n.clippingRect,p,v.size,n.root.pixelSize),I=Gt(()=>y.value||l.value==null),S=mi(g,ei.Image,void 0,n.orderInfo),R=nm();rm(o,R,n.root.pixelSize,a);const M=im(R,p,n.root.pixelSize);om(g,R,v,p,y,n.clippingRect,S,n.root.panelGroupManager,a);const D=sm(R,v,s,i,n.root.pixelSize,n.root.onFrameSet,a);return ho(t,i,v.size,a),wa(t,i,y,a),Object.assign(v,{initializers:a,handlers:Co(t,i,r,A,h,D),interactionPanel:SG(g,l,n,v,S,n.root,I,a),clippingRect:em(p,v,n.root.pixelSize,n.clippingRect),childrenMatrix:M,node:E,orderInfo:S,root:n.root})}let Uw;function QD(){return Uw??=zh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),Uw}function SG(n,e,t,i,r,s,o,a){const l=new on(L1);l.matrixAutoUpdate=!1;const A=Hh(s,t.clippingRect,a),h=QD().computedIsVisibile(n,i.borderInset,i.size,o);return MG(n,l,i.size,i.borderInset,h,A,a),l.raycast=wu(l,gD(l),s.object,t.clippingRect,r),Ul(l,s,r),wG(n,e,i.borderInset,i.size,a),a.push(()=>ut(()=>l.visible=h.value)),a.push(()=>ut(()=>{const f=e.value??null;l.material.map!==f&&(l.material.map=f,l.material.needsUpdate=!0)}),()=>ut(()=>{if(i.size.value==null)return;const[f,d]=i.size.value,g=t.root.pixelSize.value;l.scale.set(f*g,d*g,1),l.updateMatrix()})),l}function wG(n,e,t,i,r){const s=Ft(n,"fit",BG);r.push(()=>ut(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){kw(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,f]=i.value,[d,g,E,v]=t.value,C=(h-v-g)/(f-d-E);A>C?o.matrix.translate(-(.5*(C-A))/C,0).scale(C/A,1):o.matrix.translate(0,-(.5*(A-C))/A).scale(1,A/C),kw(t,i,o)}))}function kw(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const _G=new Kg;async function QG(n){if(n==null)return Promise.resolve(void 0);if(n instanceof xn)return Promise.resolve(n);try{const e=await _G.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function MG(n,e,t,i,r,s,o){const a=new Float32Array(16),l={data:a,type:"normal"};e.customDepthMaterial=new yD(l),e.customDistanceMaterial=new ID(l),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const A=Ft(n,"panelMaterialClass",tr);o.push(()=>ut(()=>{e.material=CD(A.value,l),e.material.clippingPlanes=s}),()=>ut(()=>e.castShadow=n.value.read("castShadow",!1)),()=>ut(()=>e.receiveShadow=n.value.read("receiveShadow",!1)));const h=QD(),f=[];o.push(()=>ut(()=>{if(r.value)return a.set(h.defaultData),f.push(ut(()=>t.value!=null&&a.set(t.value,13)),ut(()=>i.value!=null&&a.set(i.value,0))),()=>gr(f)}));const d=h.setters;o.push(g=>(Q1(n,r,h.hasProperty,(E,v)=>d[E](a,0,v,t,void 0),g),g))}function RG(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];vo(a,A);const h=Io(i,r,s,{...go,...mo(n.root.size),...Bo(a),...Eo(l)}),f=nt(void 0),d=Ao(n.anyAncestorScrollable);Ma(f,d,n,h,o,A);const g=fo(h,d,n.root.pixelSize);po(o,g,A);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,d.size,n.root.pixelSize),C=Ol(h),p=mi(h,ei.Panel,C,n.orderInfo);A.push(R=>Ds(h,p,C,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,v,kl(),R));const y=AD(h,t,n.root.renderer,A),I=mi(void 0,ei.Text,fD(y),p),S=dD(h,e,E,f,d,v,n.clippingRect,I,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>ut(()=>f.value?.setMeasureFunc(S))),ho(i,r,d.size,A),wa(i,r,v,A),Object.assign(d,{interactionPanel:Fl(p,n.root,n.clippingRect,d.size,A),handlers:Co(i,r,s,a,l),initializers:A})}const DG=Nn;class _u extends Wi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Ms(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(V,H){if(V.nodeType!==1)return;const F=S(V);let N=!1,Ee=null;switch(V.nodeName){case"svg":H=E(V,H);break;case"style":s(V);break;case"g":H=E(V,H);break;case"path":H=E(V,H),V.hasAttribute("d")&&(Ee=r(V));break;case"rect":H=E(V,H),Ee=l(V);break;case"polygon":H=E(V,H),Ee=A(V);break;case"polyline":H=E(V,H),Ee=h(V);break;case"circle":H=E(V,H),Ee=f(V);break;case"ellipse":H=E(V,H),Ee=d(V);break;case"line":H=E(V,H),Ee=g(V);break;case"defs":N=!0;break;case"use":H=E(V,H);const Se=(V.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),O=V.viewportElement.getElementById(Se);O?i(O,H):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(H.fill!==void 0&&H.fill!=="none"&&Ee.color.setStyle(H.fill,DG),M(Ee,Ae),q.push(Ee),Ee.userData={node:V,style:H});const ve=V.childNodes;for(let pe=0;pe0?Ae.copy(Y[Y.length-1]):Ae.identity())}function r(V){const H=new Vo,F=new Be,N=new Be,Ee=new Be;let ve=!0,pe=!1;const Se=V.getAttribute("d");if(Se===""||Se==="none")return null;const O=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,$=O.length;me<$;me++){const ce=O[me],se=ce.charAt(0),De=ce.slice(1).trim();ve===!0&&(pe=!0,ve=!1);let K;switch(se){case"M":K=C(De);for(let w=0,T=K.length;w0&&(F.copy(Ee),H.currentPath.currentPoint.copy(F),ve=!0);break;default:console.warn(ce)}pe=!1}return H}function s(V){if(!(!V.sheet||!V.sheet.cssRules||!V.sheet.cssRules.length))for(let H=0;HEe.trim());for(let Ee=0;Eepe!==""));fe[N[Ee]]=Object.assign(fe[N[Ee]]||{},ve)}}}function o(V,H,F,N,Ee,ve,pe,Se){if(H==0||F==0){V.lineTo(Se.x,Se.y);return}N=N*Math.PI/180,H=Math.abs(H),F=Math.abs(F);const O=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,$=Math.cos(N)*O+Math.sin(N)*me,ce=-Math.sin(N)*O+Math.cos(N)*me;let se=H*H,De=F*F;const K=$*$,w=ce*ce,T=K/se+w/De;if(T>1){const be=Math.sqrt(T);H=be*H,F=be*F,se=H*H,De=F*F}const te=se*w+De*K,Le=(se*De-te)/te;let Te=Math.sqrt(Math.max(0,Le));Ee===ve&&(Te=-Te);const Re=Te*H*ce/F,Je=-Te*F*$/H,Ve=Math.cos(N)*Re-Math.sin(N)*Je+(pe.x+Se.x)/2,je=Math.sin(N)*Re+Math.cos(N)*Je+(pe.y+Se.y)/2,at=a(1,0,($-Re)/H,(ce-Je)/F),mt=a(($-Re)/H,(ce-Je)/F,(-$-Re)/H,(-ce-Je)/F)%(Math.PI*2);V.currentPath.absellipse(Ve,je,H,F,at,at+mt,ve===0,N)}function a(V,H,F,N){const Ee=V*F+H*N,ve=Math.sqrt(V*V+H*H)*Math.sqrt(F*F+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/ve)));return V*N-H*F<0&&(pe=-pe),pe}function l(V){const H=I(V.getAttribute("x")||0),F=I(V.getAttribute("y")||0),N=I(V.getAttribute("rx")||V.getAttribute("ry")||0),Ee=I(V.getAttribute("ry")||V.getAttribute("rx")||0),ve=I(V.getAttribute("width")),pe=I(V.getAttribute("height")),Se=1-.551915024494,O=new Vo;return O.moveTo(H+N,F),O.lineTo(H+ve-N,F),(N!==0||Ee!==0)&&O.bezierCurveTo(H+ve-N*Se,F,H+ve,F+Ee*Se,H+ve,F+Ee),O.lineTo(H+ve,F+pe-Ee),(N!==0||Ee!==0)&&O.bezierCurveTo(H+ve,F+pe-Ee*Se,H+ve-N*Se,F+pe,H+ve-N,F+pe),O.lineTo(H+N,F+pe),(N!==0||Ee!==0)&&O.bezierCurveTo(H+N*Se,F+pe,H,F+pe-Ee*Se,H,F+pe-Ee),O.lineTo(H,F+Ee),(N!==0||Ee!==0)&&O.bezierCurveTo(H,F+Ee*Se,H+N*Se,F,H+N,F),O}function A(V){function H(ve,pe,Se){const O=I(pe),me=I(Se);Ee===0?N.moveTo(O,me):N.lineTo(O,me),Ee++}const F=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new Vo;let Ee=0;return V.getAttribute("points").replace(F,H),N.currentPath.autoClose=!0,N}function h(V){function H(ve,pe,Se){const O=I(pe),me=I(Se);Ee===0?N.moveTo(O,me):N.lineTo(O,me),Ee++}const F=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new Vo;let Ee=0;return V.getAttribute("points").replace(F,H),N.currentPath.autoClose=!1,N}function f(V){const H=I(V.getAttribute("cx")||0),F=I(V.getAttribute("cy")||0),N=I(V.getAttribute("r")||0),Ee=new ua;Ee.absarc(H,F,N,0,Math.PI*2);const ve=new Vo;return ve.subPaths.push(Ee),ve}function d(V){const H=I(V.getAttribute("cx")||0),F=I(V.getAttribute("cy")||0),N=I(V.getAttribute("rx")||0),Ee=I(V.getAttribute("ry")||0),ve=new ua;ve.absellipse(H,F,N,Ee,0,Math.PI*2);const pe=new Vo;return pe.subPaths.push(ve),pe}function g(V){const H=I(V.getAttribute("x1")||0),F=I(V.getAttribute("y1")||0),N=I(V.getAttribute("x2")||0),Ee=I(V.getAttribute("y2")||0),ve=new Vo;return ve.moveTo(H,F),ve.lineTo(N,Ee),ve.currentPath.autoClose=!1,ve}function E(V,H){H=Object.assign({},H);let F={};if(V.hasAttribute("class")){const pe=V.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&H.premultiply(Y[Y.length-1]),Ae.copy(H),Y.push(H),H}function R(V){const H=new wt,F=oe;if(V.nodeName==="use"&&(V.hasAttribute("x")||V.hasAttribute("y"))){const N=I(V.getAttribute("x")),Ee=I(V.getAttribute("y"));H.translate(N,Ee)}if(V.hasAttribute("transform")){const N=V.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const ve=N[Ee].trim();if(ve==="")continue;const pe=ve.indexOf("("),Se=ve.length;if(pe>0&&pe=1){const $=me[0];let ce=0;me.length>=2&&(ce=me[1]),F.translate($,ce)}break;case"rotate":if(me.length>=1){let $=0,ce=0,se=0;$=me[0]*Math.PI/180,me.length>=3&&(ce=me[1],se=me[2]),ie.makeTranslation(-ce,-se),de.makeRotation($),k.multiplyMatrices(de,ie),ie.makeTranslation(ce,se),F.multiplyMatrices(ie,k)}break;case"scale":if(me.length>=1){const $=me[0];let ce=$;me.length>=2&&(ce=me[1]),F.scale($,ce)}break;case"skewX":me.length===1&&F.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&F.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&F.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}H.premultiply(F)}}return H}function M(V,H){function F(pe){ee.set(pe.x,pe.y,1).applyMatrix3(H),pe.set(ee.x,ee.y)}function N(pe){const Se=pe.xRadius,O=pe.yRadius,me=Math.cos(pe.aRotation),$=Math.sin(pe.aRotation),ce=new G(Se*me,Se*$,0),se=new G(-O*$,O*me,0),De=ce.applyMatrix3(H),K=se.applyMatrix3(H),w=oe.set(De.x,K.x,0,De.y,K.y,0,0,0,1),T=ie.copy(w).invert(),Te=de.copy(T).transpose().multiply(T).elements,Re=b(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:gt,y:ot}=new G(Math.cos(St),Math.sin(St),0).applyMatrix3(be);return Math.atan2(ot,gt)};pe.aStartAngle=Tt(pe.aStartAngle),pe.aEndAngle=Tt(pe.aEndAngle),D(H)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=J(H),O=_(H);pe.xRadius*=Se,pe.yRadius*=O;const me=Se>Number.EPSILON?Math.atan2(H.elements[1],H.elements[0]):Math.atan2(-H.elements[3],H.elements[4]);pe.aRotation+=me,D(H)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const ve=V.subPaths;for(let pe=0,Se=ve.length;peNumber.EPSILON}function J(V){const H=V.elements;return Math.sqrt(H[0]*H[0]+H[1]*H[1])}function _(V){const H=V.elements;return Math.sqrt(H[3]*H[3]+H[4]*H[4])}function b(V,H,F){let N,Ee,ve,pe,Se;const O=V+F,me=V-F,$=Math.sqrt(me*me+4*H*H);return O>0?(N=.5*(O+$),Se=1/N,Ee=V*Se*F-H*Se*H):O<0?Ee=.5*(O-$):(N=.5*$,Ee=-.5*$),me>0?ve=me+$:ve=me-$,Math.abs(ve)>2*Math.abs(H)?(Se=-2*H/ve,pe=1/Math.sqrt(1+Se*Se),ve=Se*pe):Math.abs(H)===0?(ve=1,pe=0):(Se=-.5*ve/H,ve=1/Math.sqrt(1+Se*Se),pe=Se*ve),me>0&&(Se=ve,ve=-pe,pe=Se),{rt1:N,rt2:Ee,cs:ve,sn:pe}}const q=[],fe={},Y=[],oe=new wt,ie=new wt,de=new wt,k=new wt,j=new Be,ee=new G,Ae=new wt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:q,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(v,C,p,y){const I=v.x,S=C.x,R=p.x,M=y.x,D=v.y,U=C.y,J=p.y,_=y.y,b=(M-R)*(D-J)-(_-J)*(I-R),q=(S-I)*(D-J)-(U-D)*(I-R),fe=(_-J)*(S-I)-(M-R)*(U-D),Y=b/fe,oe=q/fe;if(fe===0&&b!==0||Y<=0||Y>=1||oe<0||oe>1)return null;if(b===0&&fe===0){for(let ie=0;ie<2;ie++)if(o(ie===0?p:y,v,C),r.loc==i.ORIGIN){const de=ie===0?p:y;return{x:de.x,y:de.y,t:r.t}}else if(r.loc==i.BETWEEN){const de=+(I+r.t*(S-I)).toPrecision(10),k=+(D+r.t*(U-D)).toPrecision(10);return{x:de,y:k,t:r.t}}return null}else{for(let k=0;k<2;k++)if(o(k===0?p:y,v,C),r.loc==i.ORIGIN){const j=k===0?p:y;return{x:j.x,y:j.y,t:r.t}}const ie=+(I+Y*(S-I)).toPrecision(10),de=+(D+Y*(U-D)).toPrecision(10);return{x:ie,y:de,t:Y}}}function o(v,C,p){const y=p.x-C.x,I=p.y-C.y,S=v.x-C.x,R=v.y-C.y,M=y*R-S*I;if(v.x===C.x&&v.y===C.y){r.loc=i.ORIGIN,r.t=0;return}if(v.x===p.x&&v.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(M<-Number.EPSILON){r.loc=i.LEFT;return}if(M>Number.EPSILON){r.loc=i.RIGHT;return}if(y*S<0||I*R<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+I*I)_.t<=J.t+Number.EPSILON&&_.t>=J.t-Number.EPSILON)===void 0&&(p.push(J),y.push(new Be(J.x,J.y)))}}return y}function l(v,C,p){const y=new Be;C.getCenter(y);const I=[];return p.forEach(S=>{S.boundingBox.containsPoint(y)&&a(v,S.points).forEach(M=>{I.push({identifier:S.identifier,isCW:S.isCW,point:M})})}),I.sort((S,R)=>S.point.x-R.point.x),I}function A(v,C,p,y,I){(I==null||I==="")&&(I="nonzero");const S=new Be;v.boundingBox.getCenter(S);const R=[new Be(p,S.y),new Be(y,S.y)],M=l(R,v.boundingBox,C);M.sort((q,fe)=>q.point.x-fe.point.x);const D=[],U=[];M.forEach(q=>{q.identifier===v.identifier?D.push(q):U.push(q)});const J=D[0].point.x,_=[];let b=0;for(;b0&&_[_.length-1]===U[b].identifier?_.pop():_.push(U[b].identifier),b++;if(_.push(v.identifier),I==="evenodd"){const q=_.length%2===0,fe=_[_.length-2];return{identifier:v.identifier,isHole:q,for:fe}}else if(I==="nonzero"){let q=!0,fe=null,Y=null;for(let oe=0;oe<_.length;oe++){const ie=_[oe];q?(Y=C[ie].isCW,q=!1,fe=ie):Y!==C[ie].isCW&&(Y=C[ie].isCW,q=!0)}return{identifier:v.identifier,isHole:q,for:fe}}else console.warn('fill-rule: "'+I+'" is currently not implemented.')}let h=999999999,f=-999999999,d=e.subPaths.map(v=>{const C=v.getPoints();let p=-999999999,y=999999999,I=-999999999,S=999999999;for(let R=0;Rp&&(p=M.y),M.yI&&(I=M.x),M.x=S&&(h=S-1),{curves:v.curves,points:C,isCW:es.isClockWise(C),identifier:-1,boundingBox:new IR(new Be(S,y),new Be(I,p))}});d=d.filter(v=>v.points.length>1);for(let v=0;vA(v,d,h,f,e.userData?e.userData.style.fillRule:void 0)),E=[];return d.forEach(v=>{if(!g[v.identifier].isHole){const p=new Aa;p.curves=v.curves,g.filter(I=>I.isHole&&I.for===v.identifier).forEach(I=>{const S=d[I.identifier],R=new ua;R.curves=S.curves,p.holes.push(R)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(_u.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Dt;return l.setAttribute("position",new st(s,3)),l.setAttribute("normal",new st(o,3)),l.setAttribute("uv",new st(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new Be,h=new Be,f=new Be,d=new Be,g=new Be,E=new Be,v=new Be,C=new Be,p=new Be,y=new Be,I=new Be,S=new Be,R=new Be,M=new Be,D=new Be,U=new Be,J=new Be;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const b=e[0].equals(e[_-1]);let q,fe=e[0],Y;const oe=t.strokeWidth/2,ie=1/(_-1);let de=0,k,j,ee,Ae,_e=!1,ke=0,V=l*3,H=l*2;F(e[0],e[1],A).multiplyScalar(oe),C.copy(e[0]).sub(A),p.copy(e[0]).add(A),y.copy(C),I.copy(p);for(let $=1;$<_;$++){q=e[$],$===_-1?b?Y=e[1]:Y=void 0:Y=e[$+1];const ce=A;if(F(fe,q,ce),f.copy(ce).multiplyScalar(oe),S.copy(q).sub(f),R.copy(q).add(f),k=de+ie,j=!1,Y!==void 0){F(q,Y,h),f.copy(h).multiplyScalar(oe),M.copy(q).sub(f),D.copy(q).add(f),ee=!0,f.subVectors(Y,fe),ce.dot(f)<0&&(ee=!1),$===1&&(_e=ee),f.subVectors(Y,q),f.normalize();const se=Math.abs(ce.dot(f));if(se>Number.EPSILON){const De=oe/se;f.multiplyScalar(-De),d.subVectors(q,fe),g.copy(d).setLength(De).add(f),U.copy(g).negate();const K=g.length(),w=d.length();d.divideScalar(w),E.subVectors(Y,q);const T=E.length();switch(E.divideScalar(T),d.dot(U)=r&&se.push($[De]);return se.push($[$.length-1]),se}}}function TG(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);vo(l,a);const h=nt(void 0),f=Io(t,i,r,{...go,...mo(n.root.size),...Bo(l),...Eo(A)},am,b=>b.add("aspectRatio",h)),d=nt(void 0),g=Ao(n.anyAncestorScrollable);Ma(d,g,n,f,s,a);const E=fo(f,g,n.root.pixelSize);po(s,E,a);const v=Qa(n.childrenMatrix,E),C=_a(n.clippingRect,v,g.size,n.root.pixelSize),p=Ol(f),y=mi(f,ei.Panel,p,n.orderInfo);a.push(b=>Ds(f,y,p,n.root.panelGroupManager,v,g.size,void 0,g.borderInset,n.clippingRect,C,kl(),b));const I=mi(void 0,ei.Svg,void 0,y),S=Gt(()=>kr(e.value)),R=nt(void 0),M=Hh(n.root,n.clippingRect,a);wD(R,NG,a,S,n.root,M,n.clippingRect,I,h),_D(f,R,a);const D=LG(g,n.root.pixelSize,R,h,C,a),U=nm();rm(o,U,n.root.pixelSize,a);const J=im(U,v,n.root.pixelSize);om(f,U,g,v,C,n.clippingRect,I,n.root.panelGroupManager,a);const _=sm(U,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return ho(t,i,g.size,a),wa(t,i,C,a),Object.assign(g,{clippingRect:em(v,g,n.root.pixelSize,n.clippingRect),childrenMatrix:J,node:d,orderInfo:I,root:n.root,initializers:a,centerGroup:D,handlers:Co(t,i,r,l,A,_),interactionPanel:Fl(I,n.root,n.clippingRect,g.size,a)})}function LG(n,e,t,i,r,s){const o=new eo;return o.matrixAutoUpdate=!1,s.push(()=>ut(()=>{DD(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>ut(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>ut(()=>void(o.visible=t.value!=null&&!r.value))),o}const bG=new _u,ip=new qn,ja=new G;async function NG(n,e,t,i,r,s){const o=new eo;o.matrixAutoUpdate=!1;const a=await bG.loadAsync(n);ip.makeEmpty();for(const A of a.paths){const h=_u.createShapes(A),f=new tr;f.transparent=!0,f.depthWrite=!1,f.toneMapped=!1,f.clippingPlanes=t;for(const d of h){const g=new vu(d);g.computeBoundingBox(),ip.union(g.boundingBox);const E=new on(g,f);E.matrixAutoUpdate=!1,E.raycast=wu(E,E.raycast,e.object,i,r),Ul(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}ip.getSize(ja),s.value=ja.x/ja.y;const l=1/ja.y;return o.scale.set(1,1,1).multiplyScalar(l),ip.getCenter(ja),ja.y*=-1,o.position.copy(ja).negate().multiplyScalar(l),o.updateMatrix(),o}function PG(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);vo(A,l);const f=Io(r,s,o,{...go,...mo(n.root.size),...Bo(A),...Eo(h)},am,R=>{R.add("aspectRatio",t/i),R.add("width",t),R.add("height",i)}),d=Ao(n.anyAncestorScrollable);Ma(void 0,d,n,f,a,l);const g=fo(f,d,n.root.pixelSize);po(a,g,l);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,d.size,n.root.pixelSize),C=Ol(f),p=mi(f,ei.Panel,C,n.orderInfo);l.push(R=>Ds(f,p,C,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,v,kl(),R));const y=mi(void 0,ei.Svg,void 0,p),I=Hh(n.root,n.clippingRect,l),S=kG(f,e,t,i,n,y,d,v,I,l);return ho(r,s,d.size,l),wa(r,s,v,l),Object.assign(d,{initializers:l,iconGroup:S,handlers:Co(r,s,o,A,h),interactionPanel:Fl(y,n.root,n.clippingRect,d.size,l)})}const UG=new _u;function kG(n,e,t,i,r,s,o,a,l,A){const h=new eo;h.matrixAutoUpdate=!1;const f=UG.parse(e);for(const g of f.paths){const E=_u.createShapes(g),v=new tr;v.transparent=!0,v.depthWrite=!1,v.toneMapped=!1,v.clippingPlanes=l;for(const C of E){const p=new vu(C);p.computeBoundingBox();const y=new on(p,v);y.matrixAutoUpdate=!1,y.raycast=wu(y,y.raycast,r.root.object,r.clippingRect,s),Ul(y,r.root,s),y.userData.color=g.color,y.scale.y=-1,y.updateMatrix(),h.add(y)}}const d=t/i;return A.push(()=>ut(()=>{DD(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,d),h.position.x-=h.scale.x*d/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>ut(()=>void(h.visible=!a.value))),_D(n,h,A),h}function FG(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];vo(o,l);const A=Io(e,t,i,{...go,...mo(n.root.size),...Bo(o),...Eo(a)}),h=Ao(n.anyAncestorScrollable);Ma(void 0,h,n,A,r,l);const f=fo(A,h,n.root.pixelSize);po(r,f,l);const d=Qa(n.childrenMatrix,f),g=_a(n.clippingRect,d,h.size,n.root.pixelSize),E=mi(A,ei.Custom,void 0,n.orderInfo),v=Hh(n.root,n.clippingRect,l);return l.push(C=>{const p=s.current;return p==null||(p.matrixAutoUpdate=!1,p.material instanceof ci&&(p.material.clippingPlanes=v,p.material.needsUpdate=!0,p.material.shadowSide=Pr),p.raycast=wu(p,p.raycast,n.root.object,n.clippingRect,E),Ul(p,n.root,E),C.push(ut(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),ut(()=>p.castShadow=A.value.read("castShadow",!1)),ut(()=>{if(h.size.value==null)return;const[y,I]=h.size.value,S=n.root.pixelSize.value;p.scale.set(y*S,I*S,1),p.updateMatrix()}),ut(()=>void(p.visible=!g.value)))),C}),ho(e,t,h.size,l),wa(e,t,g,l),Object.assign(h,{root:n.root,handlers:Co(e,t,i,o,a),initializers:l})}function OG(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=Ao(n.anyAncestorScrollable);vo(o,l);const h=nt(new G(1,1,1)),f=Gt(()=>h.value.x/h.value.y),d=Io(e,t,i,{...go,...mo(n.root.size),...Bo(o),...Eo(a)},am,I=>I.add("aspectRatio",f));Ma(void 0,A,n,d,r,l);const g=fo(d,A,n.root.pixelSize);po(r,g,l);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,A.size,n.root.pixelSize),C=Ol(d),p=mi(d,ei.Panel,C,n.orderInfo);l.push(I=>Ds(d,p,C,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,v,kl(),I));const y=mi(void 0,ei.Object,void 0,p);return ho(e,t,A.size,l),wa(e,t,v,l),Object.assign(A,{remeasureContent:zG(d,n.root,A,n.clippingRect,y,h,s,l),interactionPanel:Fl(p,n.root,n.clippingRect,A.size,l),handlers:Co(e,t,i,o,a),initializers:l})}const WE=new qn,Fw=new G().setScalar(.001),GG=new G,HG="back";function zG(n,e,t,i,r,s,o,a){const l=Hh(e,i,a),A=Ft(n,"depthAlign",HG),h=Ft(n,"keepAspectRatio",!0),f=new G,d=new G,g=()=>{const E=o.current;if(E==null){f.copy(Fw),d.set(0,0,0);return}E.traverse(C=>{C instanceof on&&(Ul(C,e,r),C.material.clippingPlanes=l,C.material.needsUpdate=!0,C.raycast=wu(C,C.raycast,e.object,i,r))});const v=E.parent;E.parent=null,WE.setFromObject(E),WE.getSize(f).max(Fw),s.value=f,v!=null&&(E.parent=v),WE.getCenter(d)};return a.push(E=>{const v=o.current;return v==null||(g(),E.push(ut(()=>{const{size:{value:C},paddingInset:{value:p},borderInset:{value:y}}=t;if(C==null||p==null||y==null)return;const[I,S]=C,[R,M,D,U]=p,[J,_,b,q]=y,fe=R+J,Y=M+_,oe=D+b,ie=U+q,de=I-ie-Y,k=S-fe-oe,j=e.pixelSize.value;v.scale.set(de*j,k*j,h.value?k*j*f.z/f.y:f.z).divide(f),v.position.copy(d).negate(),v.position.z-=WG[A.value]*f.z,v.position.multiply(v.scale),v.position.add(GG.set((ie-Y)*.5*j,(oe-fe)*.5*j,0)),v.updateMatrix()}))),E}),g}function VG(n,e,t,i,r,s){if(r instanceof Xn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Cu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function gr(n){const e=n.length;for(let t=0;to){e.setScalar(M*s);return}e.setScalar(R*s/o)}function kr(n){return n instanceof $n?n.value:n}function Vh(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Gt(()=>n()?kr(s):void 0)),i.add(r,o)}}}function b1(n,e){const t=e.map(i=>Ft(n,i,0));return Gt(()=>t.map(i=>i.value))}function vo(n,e){e.push(()=>()=>TD(n))}function YG(n,e,t,i,r,s){let o=!1;$g(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}yl("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&JG(r,a)}),yl("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),TD(r)})}function Bo(n){return{hover:Vh(()=>n.value.length>0)}}const OI=[],Sp=[];function JG(n,e){OI.push(n),Sp.push(e),document.body.style.cursor=e}function TD(n){const e=OI.indexOf(n);e!=-1&&(OI.splice(e,1),Sp.splice(e,1),document.body.style.cursor=Sp[Sp.length-1]??"default")}const XG=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let Ow;function KG(){return Ow??=zh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),Ow}function qG(n,e,t,i,r,s,o,a){const l=mi(void 0,ei.Panel,tm,r),A=nt(void 0);a.push(()=>ut(()=>{const d=t.value;d==null&&(A.value=void 0),A.value=d;const g=setInterval(()=>A.value=A.peek()==null?d:void 0,500);return()=>clearInterval(g)}));const h=b1(n,XG),f=Ft(n,"caretWidth",1.5);a.push(d=>Ds(n,l,void 0,o,e,Gt(()=>{const g=A.value;return g==null?[0,0]:[f.value,g[2]]}),Gt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-f.value/2,g[1]]}),h,s,i,KG(),d))}const jG=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let Gw;function ZG(){return Gw??=zh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),Gw}function $G(n,e,t,i,r,s,o,a){const l=[],A=mi(void 0,ei.Panel,tm,r),h=b1(n,jG);return a.push(()=>ut(()=>{const f=t.value,d=f.length;for(let E=0;E()=>{const f=l.length;for(let d=0;dn.value)}}const tH=new Set;function nH(n){tH.add(n)}function iH(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),f=nt(!1),d=[];vo(A,d);const g=Io(s,o,a,{...go,...mo(n.root.size),...Bo(A),...Eo(h),...eH(f)},void 0,de=>{$g(s.value,o.value,a.value,k=>{de.add("caretOpacity",k.opacity),de.add("caretColor",k.color)})}),E=Ao(n.anyAncestorScrollable),v=nt(void 0);Ma(v,E,n,g,l,d);const C=fo(g,E,n.root.pixelSize);po(l,C,d);const p=Qa(n.childrenMatrix,C),y=_a(n.clippingRect,p,E.size,n.root.pixelSize),I=Ol(g),S=mi(g,ei.Panel,I,n.orderInfo);d.push(de=>Ds(g,S,I,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,y,kl(),de));const R={},M=nt([]),D=nt(void 0),U=nt(void 0);qG(g,p,D,y,S,n.clippingRect,n.root.panelGroupManager,d);const J=$G(g,p,M,y,S,n.clippingRect,n.root.panelGroupManager,d),_=AD(g,r,n.root.renderer,d),b=mi(void 0,ei.Text,fD(_),J),q=dD(g,e,p,v,E,y,n.clippingRect,b,_,n.root.gylphGroupManager,U,M,D,R,d);d.push(()=>ut(()=>v.value?.setMeasureFunc(q))),ho(s,o,E.size,d),wa(s,o,y,d);const fe=Ft(g,"disabled",!1),Y=sH(e,U,t,i,fe,d),oe=()=>{f.peek()||Y.peek()?.focus()};oH(Y,f,d);const ie=rH(E,Y,R,U,oe,fe);return Object.assign(E,{focus:oe,root:n.root,element:Y,node:v,interactionPanel:Fl(S,n.root,n.clippingRect,E.size,d),handlers:Co(s,o,a,A,h,ie,"text"),initializers:d})}function rH(n,e,t,i,r,s){return Gt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;nH(a.nativeEvent),a.stopPropagation?.();const l=Hw(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=Hw(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),f=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,f)})}}})}function sH(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:f,selectionEnd:d}=l;if(f==null||d==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===f&&g[1]===d||(e.value=[f,d])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},ut(()=>l.value=n.value),ut(()=>l.disabled=r.value)),a}),o}function oH(n,e,t){t.push(()=>ut(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function Hw({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,f]=o,[d,,,g]=a,E=i.x*l-f-g,v=-i.y*A+h+d;return r.getCharIndex(E,v)}new Be;const GI=ue.createContext(void 0);function aH(){return ue.useContext(GI)}function Qu(n){const t={...ue.useContext(GI)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return ae.jsx(GI.Provider,{value:t,children:n.children})}const zw=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],xo=ue.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=ue.useState(()=>n.value);ue.useEffect(()=>ut(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=ue.useMemo(()=>{const a={...r},l=zw.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=aH(),e}function wo(n,e,t,i,r,s){ue.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:f}=i;return{setStyle:d=>t.value=d,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:f,size:h,interactionPanel:r instanceof on?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const cn=ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=ue.useRef(null),s=So(n),o=ue.useMemo(()=>vG(t,s.style,s.properties,s.default,i,r),[t,s]);return ue.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[t,s,o]),wo(e,t.root.pixelSize,s.style,o,o.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:[ae.jsx("primitive",{object:o.interactionPanel}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:o,children:n.children})})]})}),lH=ue.forwardRef((n,e)=>{const t=FR(A=>A.gl);t.setTransparentSort(i5);const i=xu(),r=ue.useRef(null),s=ue.useRef(null),o=So(n),a=ue.useMemo(()=>new Set,[]),l=ue.useMemo(()=>gG(o.style,o.properties,o.default,r,s,()=>i.getState().camera,t,a),[]);return ue.useEffect(()=>{const A=[];return yo(l.initializers,A),()=>gr(A)},[l]),OR((A,h)=>{for(const f of a)f(h)}),wo(e,l.root.pixelSize,o.style,l,l.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:l.handlers,ref:r,children:[ae.jsx("primitive",{object:l.interactionPanel}),ae.jsx("object3D",{ref:s,children:ae.jsx(Su,{value:l,children:n.children})})]})}),lm=ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=ue.useRef(null),s=So(n),o=ue.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=ue.useMemo(()=>xG(t,o,s.style,s.properties,s.default,i,r),[]);return ue.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,s.style,a,a.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:a.handlers,children:[ae.jsx("primitive",{object:a.interactionPanel}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:a,children:n.children})})]})}),hn=ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=So(n),s=ue.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=ue.useMemo(()=>nt(void 0),[]);o.value=XR();const a=ue.useMemo(()=>RG(t,s,o,r.style,r.properties,r.default,i),[]);return ue.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,r.style,a,a.interactionPanel),ae.jsx(xo,{userHandlers:n,handlers:a.handlers,ref:i,children:ae.jsx("primitive",{object:a.interactionPanel})})});ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=ue.useRef(null),s=So(n),o=ue.useMemo(()=>nt(""),[]);o.value=n.src;const a=ue.useMemo(()=>TG(t,o,s.style,s.properties,s.default,i,r),[]);return ue.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,s.style,a,a.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:a.handlers,children:[ae.jsx("primitive",{object:a.interactionPanel}),ae.jsx("primitive",{object:a.centerGroup}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:a,children:n.children})})]})});const Ts=ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=So(n),s=ue.useMemo(()=>PG(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return ue.useEffect(()=>{const o=[];return yo(s.initializers,o),()=>gr(o)},[s]),wo(e,t.root.pixelSize,r.style,s,s.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:s.handlers,children:[ae.jsx("primitive",{object:s.interactionPanel}),ae.jsx("primitive",{object:s.iconGroup})]})});ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=So(n),s=ue.useMemo(()=>nt(""),[]),o=ue.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=ue.useMemo(()=>Gt(()=>kr(s.value)),[s]),l=ue.useMemo(()=>nt(void 0),[]);l.value=XR();const A=ue.useMemo(()=>iH(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return ue.useEffect(()=>{const h=[];return yo(A.initializers,h),()=>gr(h)},[A]),ue.useEffect(()=>ut(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),wo(e,t.root.pixelSize,r.style,A,A.interactionPanel,ue.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),ae.jsx(xo,{userHandlers:n,handlers:A.handlers,ref:i,children:ae.jsx("primitive",{object:A.interactionPanel})})});ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=ue.useRef(null),s=So(n),o=ue.useMemo(()=>FG(t,s.style,s.properties,s.default,i,r),[]);return ue.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[o]),wo(e,t.root.pixelSize,s.style,o,r),ae.jsx(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:ae.jsx(Su,{value:void 0,children:ae.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:L1,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});ue.forwardRef((n,e)=>{const t=xa(),i=ue.useRef(null),r=ue.useRef(null),s=So(n),o=ue.useMemo(()=>OG(t,s.style,s.properties,s.default,i,r),[]);return ue.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[o]),wo(e,t.root.pixelSize,s.style,o,o.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:[ae.jsx("primitive",{object:o.interactionPanel}),ae.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:ae.jsx(Su,{value:void 0,children:n.children})})]})});const cH=ue.forwardRef((n,e)=>{const t=xu(),[i,r,s]=ue.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=FR(A=>A.camera),a=n.distanceToCamera??o.near+.01;ue.useEffect(()=>{const A=({camera:h,size:{height:f}})=>qR(()=>VG(i,r,s,a,h,f));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return ae.jsxs(ae.Fragment,{children:[l&&ae.jsx("primitive",{object:o}),zR(ae.jsx("group",{"position-z":-a,children:ae.jsx(lH,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});ue.forwardRef(({src:n,...e},t)=>{const i=S1(Kg,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,ae.jsx(lm,{ref:t,src:i,...e})});ue.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=ue.useMemo(()=>new Ur(1,1,{minFilter:In,magFilter:In,type:_l}),[]),l=ue.useRef(null),A=ue.useMemo(()=>({events:{compute:uH.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);ue.useEffect(()=>{if(l.current==null)return;const{size:f}=l.current,d=ut(()=>{if(f.value==null)return;const[g,E]=f.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{d(),a.dispose()}},[a,A]),ue.useImperativeHandle(o,()=>l.current,[]);const h=ue.useMemo(()=>new ph,[]);return ae.jsxs(ae.Fragment,{children:[zR(ae.jsxs(AH,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,ae.jsx("group",{onPointerOver:()=>null})]}),h,A),ae.jsx(lm,{...s,src:a.texture,fit:"fill",keepAspectRatio:!1,ref:l})]})});function uH({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function AH({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=xu();ue.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return ut(()=>{if(A.value==null)return;const[h,f]=A.value;s.setState({size:{width:h,height:f,top:0,left:0}})})});let o=0,a,l;return OR(A=>{(n===1/0||o{const t=ue.useMemo(()=>nt(void 0),[]),i=ue.useMemo(()=>nt(1),[]),r=ue.useMemo(()=>document.createElement("video"),[]);return ue.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,ue.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),ue.useEffect(()=>{const s=new N2(r);return t.value=s,()=>s.dispose()},[t,r]),ue.useImperativeHandle(e,()=>r,[r]),ae.jsx(lm,{aspectRatio:i,...n,src:t})}),fH='',Vw=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:fH,svgWidth:24,svgHeight:24})),dH='',Ww=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:dH,svgWidth:24,svgHeight:24})),pH='',gH=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:pH,svgWidth:24,svgHeight:24})),mH='',Yw=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:mH,svgWidth:24,svgHeight:24})),EH='',CH=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:EH,svgWidth:24,svgHeight:24})),IH='',Jw=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:IH,svgWidth:24,svgHeight:24})),yH='',vH=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:yH,svgWidth:24,svgHeight:24})),BH='',xH=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:BH,svgWidth:24,svgHeight:24})),SH='',wH=ue.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:SH,svgWidth:24,svgHeight:24}));function Ut(n,e,t){return new qe().setHSL(n/360,e/100,t/100,"srgb")}const En=v5({light:{background:Ut(0,0,100),foreground:Ut(222.2,84,4.9),card:Ut(0,0,100),cardForeground:Ut(222.2,84,4.9),popover:Ut(0,0,100),popoverForeground:Ut(222.2,84,4.9),primary:Ut(222.2,47.4,11.2),primaryForeground:Ut(210,40,98),secondary:Ut(210,40,96.1),secondaryForeground:Ut(222.2,47.4,11.2),muted:Ut(210,40,96.1),mutedForeground:Ut(215.4,16.3,46.9),accent:Ut(210,40,96.1),accentForeground:Ut(222.2,47.4,11.2),destructive:Ut(0,72.22,50.59),destructiveForeground:Ut(210,40,98),border:Ut(214.3,31.8,91.4),input:Ut(214.3,31.8,91.4),ring:Ut(222.2,84,4.9)},dark:{background:Ut(222.2,84,4.9),foreground:Ut(210,40,98),card:Ut(222.2,84,4.9),cardForeground:Ut(210,40,98),popover:Ut(222.2,84,4.9),popoverForeground:Ut(210,40,98),primary:Ut(210,40,98),primaryForeground:Ut(222.2,47.4,11.2),secondary:Ut(217.2,32.6,17.5),secondaryForeground:Ut(210,40,98),muted:Ut(217.2,32.6,17.5),mutedForeground:Ut(215,20.2,65.1),accent:Ut(217.2,32.6,17.5),accentForeground:Ut(210,40,98),destructive:Ut(0,62.8,30.6),destructiveForeground:Ut(210,40,98),border:Ut(217.2,32.6,17.5),input:Ut(217.2,32.6,17.5),ring:Ut(212.7,26.8,83.9)}});function _H(n){return ae.jsx(Qu,{scrollbarColor:En.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:En.border,color:En.foreground,...n})}const N1=ue.createContext({});function QH({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=ue.useState(t),a=ue.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return ae.jsx(cn,{flexDirection:"column",...r,children:ae.jsx(N1.Provider,{value:a,children:i})})}function MH({children:n,...e}){return ae.jsx(cn,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:En.muted,padding:4,flexShrink:0,...e,children:ae.jsx(Qu,{color:En.mutedForeground,children:n})})}function YE({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=ue.useContext(N1),o=e===s;return ae.jsx(cn,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?En.background:void 0,paddingY:6,justifyContent:"center",...i,children:ae.jsx(Qu,{opacity:t?.5:void 0,color:o?En.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function RH({value:n,...e}){const{value:t}=ue.useContext(N1);return n!=t?null:ae.jsx(cn,{marginTop:8,...e})}function JE({orientation:n="horizontal",...e}){return ae.jsx(cn,{flexShrink:0,backgroundColor:En.border,width:n==="horizontal"?"100%":1,height:n==="horizontal"?1:"100%",...e})}const DH={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:En.primary},defaultProps:{color:En.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:En.destructive},defaultProps:{color:En.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:En.accent},containerProps:{border:1,borderColor:En.input,backgroundColor:En.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:En.secondary},defaultProps:{color:En.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:En.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:En.primary}}},TH={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Yr({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=DH[e],A=TH[t];return ae.jsx(cn,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:ae.jsx(Qu,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Xw({album:n,aspectRatio:e="portrait",width:t,height:i,...r}){return ae.jsxs(cn,{flexShrink:0,flexDirection:"column",gap:12,...r,children:[ae.jsx(lm,{borderRadius:6,src:n.cover,width:t,height:i,fit:"cover",aspectRatio:e==="portrait"?3/4:1}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsx(hn,{fontWeight:"medium",fontSize:14,lineHeight:1,children:n.name}),ae.jsx(hn,{fontSize:12,lineHeight:1.3333,color:En.mutedForeground,children:n.artist})]})]})}const LH=[{name:"React Rendezvous",artist:"Ethan Byte",cover:"https://images.unsplash.com/photo-1611348586804-61bf6c080437?w=300&dpr=2&q=80"},{name:"Async Awakenings",artist:"Nina Netcode",cover:"https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80"},{name:"The Art of Reusability",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1528143358888-6d3c7f67bd5d?w=300&dpr=2&q=80"},{name:"Stateful Symphony",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80"}],bH=[{name:"Thinking Components",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1615247001958-f4bc92fa6a4a?w=300&dpr=2&q=80"},{name:"Functional Fury",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1513745405825-efaf9a49315f?w=300&dpr=2&q=80"},{name:"React Rendezvous",artist:"Ethan Byte",cover:"https://images.unsplash.com/photo-1614113489855-66422ad300a4?w=300&dpr=2&q=80"},{name:"Stateful Symphony",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1446185250204-f94591f7d702?w=300&dpr=2&q=80"},{name:"Async Awakenings",artist:"Nina Netcode",cover:"https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80"},{name:"The Art of Reusability",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80"}];function NH({playlists:n,...e}){return ae.jsx(cn,{flexDirection:"column",overflow:"scroll",paddingRight:20,paddingBottom:48,...e,children:ae.jsxs(cn,{flexShrink:0,flexDirection:"column",paddingBottom:16,gap:16,children:[ae.jsxs(cn,{flexDirection:"column",paddingX:12,paddingY:8,children:[ae.jsx(hn,{marginBottom:8,paddingX:16,fontWeight:"semi-bold",fontSize:18,lineHeight:1.5555,letterSpacing:-.4,children:"Discover"}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsxs(Yr,{variant:"secondary",justifyContent:"flex-start",children:[ae.jsx(Yw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Models"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Vw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Materials"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Ww,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"HDRIS"})]})]})]}),ae.jsxs(cn,{flexDirection:"column",paddingX:12,paddingY:8,children:[ae.jsx(hn,{marginBottom:8,paddingX:16,fontWeight:"semi-bold",fontSize:18,lineHeight:1.5555,letterSpacing:-.4,children:"Collections"}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Jw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Favorits"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Yw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Models"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Vw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Materials"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Ww,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"HDRIs"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(wH,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Creators"})]})]})]}),ae.jsxs(cn,{flexDirection:"column",paddingY:8,children:[ae.jsx(hn,{paddingX:28,fontSize:18,lineHeight:1.5555,fontWeight:"semi-bold",letterSpacing:-.4,children:"Favorits"}),ae.jsx(cn,{paddingX:4,flexDirection:"column",gap:4,padding:8,children:n?.map((t,i)=>ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Jw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{fontWeight:"normal",children:t})]},`${t}-${i}`))})]})]})})}const PH=["Recently Added","Recently Played","Top Songs","Top Albums","Top Artists","Logic Discography","Bedtime Beats","Feeling Happy","I miss Y2K Pop","Runtober","Mellow Days","Eminem Essentials"];function Za({children:n}){return ae.jsx(ae.Fragment,{children:n})}function UH(n){return ae.jsx(cn,{flexDirection:"row",height:40,alignItems:"center",gap:4,borderRadius:4,border:1,backgroundColor:En.background,padding:4,...n})}function Rc({children:n,...e}){return ae.jsx(cn,{hover:{backgroundColor:En.accent},flexDirection:"row",alignItems:"center",cursor:"pointer",borderRadius:6,paddingY:6,paddingX:12,...e,children:ae.jsx(Qu,{fontSize:14,lineHeight:1.4333,fontWeight:"medium",children:n})})}function kH(){const[n,e]=ue.useState(()=>xw());return ae.jsxs(UH,{borderRadius:0,paddingX:8,lg:{paddingX:16},children:[ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(Ts,{text:'',svgWidth:194,svgHeight:50,width:70})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"File"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"Edit"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"View"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"Account"})})}),ae.jsx(cn,{flexGrow:1}),ae.jsx(Za,{children:ae.jsx(Yr,{variant:"ghost",size:"sm",onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/market","_blank"),children:ae.jsx(hn,{children:"Source Code"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{onClick:()=>{y5(n==="light"?"dark":n==="dark"?"system":"light"),e(xw())},children:n==="dark"?ae.jsx(gH,{}):n==="system"?ae.jsx(vH,{}):ae.jsx(xH,{})})})]})}function FH(){return ae.jsx(R8,{flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:ae.jsx(cH,{flexDirection:"column",children:ae.jsx(_H,{children:ae.jsx(Qu,{scrollbarWidth:8,scrollbarOpacity:.1,scrollbarBorderRadius:4,children:ae.jsx(OH,{})})})})})}function OH(){return ae.jsxs(cn,{height:"100%",flexDirection:"column",children:[ae.jsx(kH,{}),ae.jsxs(cn,{flexBasis:0,flexGrow:1,borderTop:1,backgroundColor:En.background,flexDirection:"row",children:[ae.jsx(NH,{marginTop:16,playlists:PH}),ae.jsx(JE,{orientation:"vertical"}),ae.jsx(cn,{marginTop:16,overflow:"scroll",flexGrow:1,flexBasis:0,paddingX:16,paddingBottom:24,paddingTop:8,lg:{paddingX:32},flexDirection:"column",children:ae.jsxs(QH,{defaultValue:"music",height:"100%",gap:24,children:[ae.jsxs(cn,{flexShrink:0,flexDirection:"row",justifyContent:"space-between",alignItems:"center",children:[ae.jsxs(MH,{children:[ae.jsx(YE,{value:"music",children:ae.jsx(hn,{children:"Models"})}),ae.jsx(YE,{value:"podcasts",disabled:!0,children:ae.jsx(hn,{children:"HDRIS"})}),ae.jsx(YE,{value:"live",disabled:!0,children:ae.jsx(hn,{children:"Materials"})})]}),ae.jsxs(Yr,{marginRight:16,children:[ae.jsx(CH,{marginRight:8,height:16,width:16}),ae.jsx(hn,{children:"Request Model"})]})]}),ae.jsxs(RH,{flexShrink:0,flexDirection:"column",value:"music",border:0,padding:0,children:[ae.jsx(cn,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",children:ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsx(hn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:18,lineHeight:1.55555,children:"Trending"}),ae.jsx(hn,{color:En.mutedForeground,fontSize:14,lineHeight:1.43333,children:"Top picks for you. Updated daily."})]})}),ae.jsx(JE,{marginY:16}),ae.jsx(cn,{flexDirection:"row",overflow:"scroll",gap:16,paddingBottom:16,children:LH.map(n=>ae.jsx(Xw,{album:n,width:250,height:330,aspectRatio:"portrait"},n.name))}),ae.jsxs(cn,{flexDirection:"column",marginTop:24,gap:4,children:[ae.jsx(hn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:18,lineHeight:1.55555,children:"Made By You"}),ae.jsx(hn,{color:En.mutedForeground,fontSize:14,lineHeight:1.43333,children:"Your personal models."})]}),ae.jsx(JE,{marginY:16}),ae.jsxs(cn,{flexShrink:1,flexDirection:"row",overflow:"scroll",gap:16,paddingBottom:16,children:[ae.jsx(hH,{autoplay:!0,muted:!0,borderRadius:6,flexShrink:0,src:"example.mp4"}),bH.map(n=>ae.jsx(Xw,{album:n,aspectRatio:"square",width:150,height:150},n.name))]})]})]})})]})]})}cM(document.getElementById("root")).render(ae.jsx(ue.StrictMode,{children:ae.jsx(FH,{})})); + `)}function Fl(n,e,t,i,r){const s=new tn(L1);return s.matrixAutoUpdate=!1,s.raycast=wu(s,mD(s),e.object,t,n),s.visible=!1,r.push(()=>et(()=>{if(i.value==null)return;const[o,a]=i.value,l=e.pixelSize.value;s.scale.set(o*l,a*l,1),s.updateMatrix()})),s}class rG extends tn{instanceMatrix;count=0;isInstancedMesh=!0;instanceColor=null;morphTexture=null;boundingBox=new qn;boundingSphere=new ci;constructor(e,t,i){const r=gD();super(r),this.instanceMatrix=e,this.frustumCulled=!1,r.attributes.aData=t,r.attributes.aClipping=i,this.customDepthMaterial=tG,this.customDistanceMaterial=nG}dispose(){this.dispatchEvent({type:"dispose"})}copy(){throw new Error("copy not implemented")}computeBoundingBox(){}computeBoundingSphere(){}updateMorphTargets(){}raycast(){}spherecast(){}}function Ol(n){const e=Pt(n,"panelMaterialClass",tr),t=Pt(n,"castShadow",!1),i=Pt(n,"receiveShadow",!1);return Gt(()=>({panelMaterialClass:e.value,castShadow:t.value,receiveShadow:i.value}))}const tm={panelMaterialClass:tr,castShadow:!1,receiveShadow:!1};class sG{renderOrder;depthTest;pixelSize;root;object;map=new Map;constructor(e,t,i,r,s,o){this.renderOrder=e,this.depthTest=t,this.pixelSize=i,this.root=r,this.object=s,o.push(()=>{const a=l=>this.traverse(A=>A.onFrame(l));return r.onFrameSet.add(a),()=>r.onFrameSet.delete(a)},()=>et(()=>{const a=e.value;this.traverse(l=>l.setRenderOrder(a))}),()=>et(()=>{const a=t.value;this.traverse(l=>l.setDepthTest(a))}))}traverse(e){for(const t of this.map.values())for(const i of t.values())e(i)}getGroup(e,{panelMaterialClass:t,receiveShadow:i,castShadow:r}=tm){let s=this.map.get(t);s==null&&this.map.set(t,s=new Map);const o=(e<<2)+((i?1:0)<<1)+(r?1:0);let a=s.get(o);return a==null&&s.set(o,a=new oG(this.renderOrder.peek(),this.depthTest.peek(),this.object,t,this.pixelSize,this.root,{elementType:ei.Panel,majorIndex:e,minorIndex:0},i,r)),a}}class oG{renderOrder;object;pixelSize;root;orderInfo;meshReceiveShadow;meshCastShadow;mesh;instanceMatrix;instanceData;instanceClipping;instanceMaterial;buckets=[];elementCount=0;bufferElementSize=0;timeToNextUpdate;instanceDataOnUpdate;activateElement=(e,t,i)=>{const r=t.offset+i;this.instanceData.set(e.materialConfig.defaultData,16*r),this.instanceData.addUpdateRange(16*r,16),this.instanceData.needsUpdate=!0,e.activate(t,i)};setElementIndex=(e,t)=>{e.setIndexInBucket(t)};bufferCopyWithin=(e,t,i)=>{HE(this.instanceMatrix,e,t,i),HE(this.instanceData,e,t,i),HE(this.instanceClipping,e,t,i)};clearBufferAt=e=>{const t=e*16;this.instanceMatrix.array.fill(0,t,t+16),this.instanceMatrix.addUpdateRange(t,16),this.instanceMatrix.needsUpdate=!0};constructor(e,t,i,r,s,o,a,l,A){this.renderOrder=e,this.object=i,this.pixelSize=s,this.root=o,this.orderInfo=a,this.meshReceiveShadow=l,this.meshCastShadow=A,this.instanceMaterial=ID(r,{type:"instanced"}),this.instanceMaterial.depthTest=t}updateCount(){const e=this.buckets[this.buckets.length-1],t=e.offset+e.elements.length;this.mesh!=null&&(this.mesh.count=t,this.mesh.visible=t>0)}setDepthTest(e){this.instanceMaterial.depthTest=e}setRenderOrder(e){this.renderOrder=e,this.mesh!=null&&(this.mesh.renderOrder=e)}insert(e,t){if(this.elementCount+=1,!E5(this.buckets,e,t,this.activateElement)){this.updateCount();return}this.requestUpdate(0)}delete(e,t,i){if(this.elementCount-=1,!C5(this.buckets,e,i,t,this.activateElement,this.clearBufferAt,this.setElementIndex,this.bufferCopyWithin)){this.updateCount();return}this.requestUpdate(1e3)}onFrame(e){this.timeToNextUpdate!=null&&(this.timeToNextUpdate-=e,!(this.timeToNextUpdate>0)&&(this.update(),this.timeToNextUpdate=void 0))}requestUpdate(e){this.timeToNextUpdate=Math.min(this.timeToNextUpdate??1/0,e)}update(){if(this.elementCount===0){this.mesh!=null&&(this.mesh.visible=!1);return}this.elementCount>this.bufferElementSize?this.resize():this.elementCount<=this.bufferElementSize/3&&this.resize(),I5(this.buckets,this.activateElement,this.bufferCopyWithin),this.mesh.count=this.elementCount,this.mesh.visible=!0}resize(){const e=this.bufferElementSize;this.bufferElementSize=Math.ceil(this.elementCount*1.5),this.mesh!=null&&(this.mesh.dispose(),this.object.current?.remove(this.mesh)),m5(this.buckets,e,this.bufferElementSize);const t=new Float32Array(this.bufferElementSize*16);this.instanceMatrix!=null&&t.set(this.instanceMatrix.array.subarray(0,t.length)),this.instanceMatrix=new hr(t,16,!1),this.instanceMatrix.setUsage(Zo);const i=new Float32Array(this.bufferElementSize*16);this.instanceData!=null&&i.set(this.instanceData.array.subarray(0,i.length)),this.instanceData=new hr(i,16,!1),this.instanceDataOnUpdate=(s,o)=>{this.instanceData.addUpdateRange(s,o),this.instanceData.needsUpdate=!0},this.instanceData.setUsage(Zo);const r=new Float32Array(this.bufferElementSize*16);this.instanceClipping!=null&&r.set(this.instanceClipping.array.subarray(0,r.length)),this.instanceClipping=new hr(r,16,!1),this.instanceClipping.setUsage(Zo),this.mesh=new rG(this.instanceMatrix,this.instanceData,this.instanceClipping),this.mesh.renderOrder=this.renderOrder,Ul(this.mesh,this.root,{value:this.orderInfo}),this.mesh.material=this.instanceMaterial,this.mesh.receiveShadow=this.meshReceiveShadow,this.mesh.castShadow=this.meshCastShadow,this.object.current?.add(this.mesh)}}function HE(n,e,t,i){const r=n.itemSize,s=t*r,o=i*r,a=e*r;n.array.copyWithin(a,s,o);const l=o-s;n.addUpdateRange(s,l),n.addUpdateRange(a,l),n.needsUpdate=!0}function Ds(n,e,t,i,r,s,o,a,l,A,h,f){return f.push(et(()=>{if(e.value==null)return;const d=[],g=i.getGroup(e.value.majorIndex,t?.value);return new lG(n,g,e.value.minorIndex,r,s,o,a,l,A,h,d),()=>gr(d)})),f}const ep=new ft,aG=new ft;class lG{group;minorIndex;matrix;size;offset;borderInset;clippingRect;materialConfig;indexInBucket;bucket;unsubscribeList=[];insertedIntoGroup=!1;active=nt(!1);constructor(e,t,i,r,s,o,a,l,A,h,f){this.group=t,this.minorIndex=i,this.matrix=r,this.size=s,this.offset=o,this.borderInset=a,this.clippingRect=l,this.materialConfig=h;const d=h.setters;Q1(e,this.active,h.hasProperty,(E,v)=>{const C=this.getIndexInBuffer();if(C==null)return;const{instanceData:p,instanceDataOnUpdate:y}=this.group;d[E](p.array,p.itemSize*C,v,s,y)},f);const g=h.computedIsVisibile(e,a,s,A);f.push(et(()=>{if(g.value){this.requestShow();return}this.hide()}),()=>this.hide())}setIndexInBucket(e){this.indexInBucket=e}getIndexInBuffer(){if(!(this.bucket==null||this.indexInBucket==null))return this.bucket.offset+this.indexInBucket}activate(e,t){this.bucket=e,this.indexInBucket=t,this.active.value=!0,this.unsubscribeList.push(et(()=>{if(this.matrix.value==null||this.size.value==null)return;const i=this.getIndexInBuffer();if(i==null)return;const r=i*16,[s,o]=this.size.value,a=this.group.pixelSize.value;if(ep.makeScale(s*a,o*a,1),this.offset!=null){const[A,h]=this.offset.value;ep.premultiply(aG.makeTranslation(A*a,h*a,0))}ep.premultiply(this.matrix.value);const{instanceMatrix:l}=this.group;ep.toArray(l.array,r),l.addUpdateRange(r,16),l.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.size.value==null)return;const[r,s]=this.size.value,{instanceData:o}=this.group,{array:a}=o,l=i*16+13;a[l]=r,a[l+1]=s,o.addUpdateRange(l,2),o.needsUpdate=!0}),et(()=>{const i=this.getIndexInBuffer();if(i==null||this.borderInset.value==null)return;const{instanceData:r}=this.group,s=i*16+0;r.array.set(this.borderInset.value,s),r.addUpdateRange(s,4),r.needsUpdate=!0}),et(()=>{const{instanceClipping:i}=this.group,r=this.getIndexInBuffer();if(r==null)return;const s=r*16,o=this.clippingRect?.value;o!=null?o.toArray(i.array,s):i.array.set(rg,s),i.addUpdateRange(s,16),i.needsUpdate=!0}))}requestShow(){this.insertedIntoGroup||(this.insertedIntoGroup=!0,this.group.insert(this.minorIndex,this))}hide(){if(!this.insertedIntoGroup)return;this.active.value=!1,this.group.delete(this.minorIndex,this.indexInBucket,this),this.insertedIntoGroup=!1,this.bucket=void 0,this.indexInBucket=void 0;const e=this.unsubscribeList.length;for(let t=0;t{const i=e.value;if(i==null)return;const[r,s]=n.value,o=t.value;return new ft().makeTranslation(-r*o,s*o,0).premultiply(i)})}function rm(n,e,t,i){return i.push(()=>et(()=>{const[r,s]=e.value,o=t.value;n.current?.position.set(-r*o,s*o,0),n.current?.updateMatrix()}))}function b1(n,e){return Gt(()=>{const[t,i]=e?.value??[!1,!1],[r,s]=n.value;return[t||r,i||s]})}function sm(n,e,{scrollable:t,maxScrollPosition:i},r,s,o,a,l){const A=Gt(()=>t.value?.some(E=>E)??!1),h=new Map,f=new Be,d=(E,v,C,p,y)=>{if(n.value==null)return;const[I,S]=E==null?[!1,!1]:cG(E.nativeEvent);I&&(v=0),S&&(C=0);const[R,M]=n.value,[D,U]=i.value;let[J,_]=n.value;const[b,q]=e?.value??[!1,!1];J=Rw(R,D,v,y&&!b),_=Rw(M,U,C,y&&!q),p!=null&&p>0&&f.set(v,C).divideScalar(p),E!=null&&uG(E.nativeEvent,I||Math.min(R,(D??0)-R)>5,S||Math.min(M,(U??0)-M)>5),!(s.peek()?.onScroll?.(J,_,n,E)===!1||R===J&&M===_)&&(n.value=[J,_])},g=E=>{if(h.size>0||n.value==null)return;let v=0,C=0;const[p,y]=n.value,[I,S]=i.value;v+=FI(p,0,I??0)*-.3,C+=FI(y,0,S??0)*-.3,v+=f.x*E,C+=f.y*E,f.multiplyScalar(.9),Math.abs(f.x)<.01&&(f.x=0),Math.abs(f.y)<.01&&(f.y=0),!(v===0&&C===0)&&d(void 0,v,C,void 0,!0)};return l.push(()=>et(()=>{if(A.value)return a.add(g),()=>a.delete(g)})),Gt(()=>{if(A.value)return{onPointerDown:({nativeEvent:E,point:v})=>{let C=h.get(E.pointerId);C==null&&h.set(E.pointerId,C={timestamp:0,point:new G}),C.timestamp=performance.now()/1e3,r.current.worldToLocal(C.point.copy(v))},onPointerUp:({nativeEvent:E})=>h.delete(E.pointerId),onPointerLeave:({nativeEvent:E})=>h.delete(E.pointerId),onPointerCancel:({nativeEvent:E})=>h.delete(E.pointerId),onPointerMove:E=>{const v=h.get(E.nativeEvent.pointerId);if(v==null)return;r.current.worldToLocal(VE.copy(E.point)),zE.copy(VE).sub(v.point).divideScalar(o.peek());const C=performance.now()/1e3,p=C-v.timestamp;v.point.copy(VE),v.timestamp=C,!E.defaultPrevented&&d(E,-zE.x,zE.y,p,!0)},onWheel:E=>{if(E.defaultPrevented)return;const{nativeEvent:v}=E;d(E,v.deltaX,v.deltaY,void 0,!1)}}})}const wD=Symbol("was-scrolled");function cG(n){return n[wD]??[!1,!1]}function uG(n,e,t){n[wD]=[e,t]}function Rw(n,e,t,i){if(t===0)return n;const r=FI(n,0,e??0);Dw(t)===Dw(r)&&(t*=Math.max(0,1-Math.abs(r)/100));let s=n+t;return i&&e!=null?s:T1(s,0,e??0)}function Dw(n){return n>=0}function FI(n,e,t){return nt?n-t:0}const AG=["scrollbarBorderLeft","scrollbarBorderRight","scrollbarBorderTop","scrollbarBorderBottom"];function om(n,e,t,i,r,s,o,a,l){const A=mi(void 0,ei.Panel,tm,o),h=Pt(n,"scrollbarWidth",10),f=N1(n,AG);Lw(n,0,e,t,i,r,s,A,a,h,f,l),Lw(n,1,e,t,i,r,s,A,a,h,f,l)}let Tw;function hG(){return Tw??=zh({backgroundColor:"scrollbarColor",borderBottomLeftRadius:"scrollbarBorderBottomLeftRadius",borderBottomRightRadius:"scrollbarBorderBottomRightRadius",borderTopRightRadius:"scrollbarBorderTopRightRadius",borderTopLeftRadius:"scrollbarBorderTopLeftRadius",borderColor:"scrollbarBorderColor",borderBend:"scrollbarBorderBend",borderOpacity:"scrollbarBorderOpacity",backgroundOpacity:"scrollbarOpacity"},{backgroundColor:16777215,backgroundOpacity:1}),Tw}function Lw(n,e,t,i,r,s,o,a,l,A,h,f){const d=Gt(()=>fG(e,A.value,i.size.value,i.maxScrollPosition.value,i.borderInset.value,t.value)),g=Gt(()=>d.value?.slice(0,2)??[0,0]),E=Gt(()=>d.value?.slice(2,4)??[0,0]);f.push(v=>Ds(n,a,void 0,l,r,E,g,h,o,s,hG(),v))}function fG(n,e,t,i,r,s){if(t==null||r==null||s==null)return;const o=i[n];if(o==null)return;const a=[0,0,0,0],l=1-n,A=t[n]-r[l]-r[l+2],h=Math.max(e,A*A/(o+A)),f=A-h,d=s[n];return a[n]=t[n]*.5-h*.5-r[(n+3)%4]-f*T1(d/o,0,1),a[l]=t[l]*.5-e*.5-r[l+1],n===0&&(a[0]*=-1,a[1]*=-1),a[n+2]=h,a[l+2]=e,a}function dG(n,e,t,i,r){let s=!1;if($g(e,i,t,a=>{"active"in a&&(s=!0)}),!s&&e?.onActiveChange==null&&t?.onActiveChange==null){r.value.length=0;return}const o=({nativeEvent:a})=>{r.value=r.value.filter(l=>l!=a.pointerId),!(r.value.length>0)&&(t?.onActiveChange?.(!1),e?.onActiveChange?.(!1))};yl("onPointerDown",n,({nativeEvent:a})=>{r.value=[a.pointerId,...r.value],r.value.length==1&&(t?.onActiveChange?.(!0),e?.onActiveChange?.(!0))}),yl("onPointerUp",n,o),yl("onPointerLeave",n,o)}function Eo(n){return{active:Vh(()=>n.value.length>0)}}function Qa(n,e){return Gt(()=>{const t=e.value,i=n.value;if(!(t==null||i==null))return i.clone().multiply(t)})}function _D(n,e,t,i,...r){t.push(s=>{if(!(i instanceof $n)){let o=!1;return e(i,...r).then(a=>o?void 0:n.value=a),s.push(()=>o=!0),s}return s.push(et(()=>{let o=!1;return e(i.value,...r).then(a=>o?void 0:n.value=a).catch(console.error),()=>o=!0})),s})}function Ma(n,e,t,i,r,s){s.push(o=>{const a=new sD(e,i,t.root.requestCalculateLayout,r,o);return n!=null&&(n.value=a),o.push(et(()=>{const l=t.node.value;if(l!=null)return l.addChild(a),()=>l.removeChild(a)})),o})}const bw=new Map,am={keepAspectRatio:(n,e)=>{let t=bw.get(n);t==null&&bw.set(n,t=Gt(()=>kr(n)===!1?null:void 0)),e.add("aspectRatio",t)}};function Co(n,e,t,i,r,s,o){return Gt(()=>{const a={};return pG(a,s?.value),JG(a,n.value,e.value,t.value,i,o),dG(a,n.value,e.value,t.value,r),a})}function pG(n,e){for(const t in e)yl(t,n,e[t])}function yl(n,e,t){if(t==null)return;const i=e[n];if(i==null){e[n]=t;return}e[n]=r=>{i(r),!("stopped"in r&&r.stopped)&&t(r)}}function Io(n,e,t,i,r,s){return Gt(()=>{const o=new i5(r);return s?.(o),o.addAll(n.value,e.value,t.value,i),o})}const Nw=new qe;function QD(n,e,t,i){const r=Pt(n,"color",void 0),s=Pt(n,"opacity",1);t.push(()=>et(()=>{let o;Array.isArray(r.value)?o=Nw.setRGB(...r.value):r.value!=null&&(o=Nw.set(r.value)),kr(e)?.traverse(a=>{if(!(a instanceof tn))return;a.renderOrder=i.renderOrder.value;const l=a.material;l.color.copy(o??a.userData.color),l.opacity=s.value,l.depthTest=i.depthTest.value})}))}const gG=.01,Pw=new G,tp=new un,np=nt(new ft);function mG(n,e,t,i,r,s,o,a,l){const A=nt([0,0]),h=nt([]),f=nt([]),d=[];vo(h,d);const g=Io(e,t,i,{...go,...mo(A),...Bo(h),...Eo(f)},{...Uw(n,"sizeX","width"),...Uw(n,"sizeY","height")}),E=Pt(g,"renderOrder",0),v=Pt(g,"depthTest",!0),C=nt(void 0),p=EG(l,C,d),y=Ao();d.push(se=>{const ne=new sD(y,g,p,r,se);return C.value=ne,se});const I=fo(g,y,n),S=vG(g,I,y.size,n);po(r,S,d);const R=Ol(g),M=mi(void 0,ei.Panel,R,void 0),D={cameraDistance:0,onFrameSet:l},U=new sG(E,v,n,D,r,d),J=()=>{if(r.current==null){D.cameraDistance=0;return}tp.normal.set(0,0,1),tp.constant=0,tp.applyMatrix4(r.current.matrixWorld),Pw.setFromMatrixPosition(o().matrixWorld),D.cameraDistance=tp.distanceToPoint(Pw)};d.push(()=>(l.add(J),()=>l.delete(J))),d.push(se=>Ds(g,M,R,U,np,y.size,void 0,y.borderInset,void 0,void 0,kl(),se));const _=nm();rm(s,_,n,d);const b=im(_,np,n);om(g,_,y,np,void 0,void 0,M,U,d);const q=sm(_,void 0,y,r,t,n,l,d);ho(e,t,y.size,d);const fe=new V5(E,v,n,D,r,d),Y=Object.assign(D,{requestCalculateLayout:p,cameraDistance:0,gylphGroupManager:fe,object:r,panelGroupManager:U,pixelSize:n,renderOrder:E,depthTest:v,renderer:a,size:y.size});return Object.assign(y,{anyAncestorScrollable:y.scrollable,clippingRect:em(np,y,n,void 0),childrenMatrix:b,node:C,orderInfo:M,initializers:d,interactionPanel:Fl(M,Y,void 0,y.size,d),handlers:Co(e,t,i,h,f,q),root:Y})}function EG(n,e,t){let i=!1;const r=()=>{const s=e.peek();!i||s==null||(i=!1,s.calculateLayout())};return t.push(()=>(n.add(r),()=>n.delete(r))),()=>i=!0}function Uw(n,e,t){const i=new Map;return{[e]:(r,s)=>{let o=i.get(r);o==null&&i.set(r,o=Gt(()=>{const a=kr(r);if(a!=null)return a/n.value})),s.add(t,o)}}}const CG=new ft,IG="center",yG="center";function vG(n,e,t,i){const r=Pt(n,"anchorX",IG),s=Pt(n,"anchorY",yG);return Gt(()=>{if(t.value==null)return;const[o,a]=t.value;return e.value?.clone().premultiply(CG.makeTranslation(RD[r.value]*o*i.value,DD[s.value]*a*i.value,0))})}function BG(n,e,t,i,r,s){const o=nt(void 0),a=Ao(),l=nt([]),A=nt([]),h=[];vo(l,h);const f=Io(e,t,i,{...go,...mo(n.root.size),...Bo(l),...Eo(A)});Ma(o,a,n,f,r,h);const d=fo(f,a,n.root.pixelSize);po(r,d,h);const g=Qa(n.childrenMatrix,d),E=_a(n.clippingRect,g,a.size,n.root.pixelSize),v=Ol(f),C=mi(f,ei.Panel,v,n.orderInfo);h.push(S=>Ds(f,C,v,n.root.panelGroupManager,g,a.size,void 0,a.borderInset,n.clippingRect,E,kl(),S));const p=nm();rm(s,p,n.root.pixelSize,h);const y=im(p,g,n.root.pixelSize);om(f,p,a,g,E,n.clippingRect,C,n.root.panelGroupManager,h);const I=sm(p,n.anyAncestorScrollable,a,r,t,n.root.pixelSize,n.root.onFrameSet,h);return ho(e,t,a.size,h),wa(e,t,E,h),Object.assign(a,{anyAncestorScrollable:b1(a.scrollable,n.anyAncestorScrollable),clippingRect:em(g,a,n.root.pixelSize,n.clippingRect),childrenMatrix:y,node:o,orderInfo:C,root:n.root,scrollPosition:p,interactionPanel:Fl(C,n.root,n.clippingRect,a.size,h),handlers:Co(e,t,i,l,A,I),initializers:h})}const xG="fill";function SG(n,e,t,i,r,s,o){const a=[],l=nt(void 0),A=nt([]),h=nt([]);vo(A,a);const f=Gt(()=>kr(e.value));_D(l,MG,a,f);const d=Gt(()=>{const U=l.value;if(U==null)return;const J=U.source.data;return J.width/J.height}),g=Io(t,i,r,{...go,...mo(n.root.size),...Bo(A),...Eo(h)},am,U=>U.add("aspectRatio",d)),E=nt(void 0),v=Ao();Ma(E,v,n,g,s,a);const C=fo(g,v,n.root.pixelSize);po(s,C,a);const p=Qa(n.childrenMatrix,C),y=_a(n.clippingRect,p,v.size,n.root.pixelSize),I=Gt(()=>y.value||l.value==null),S=mi(g,ei.Image,void 0,n.orderInfo),R=nm();rm(o,R,n.root.pixelSize,a);const M=im(R,p,n.root.pixelSize);om(g,R,v,p,y,n.clippingRect,S,n.root.panelGroupManager,a);const D=sm(R,n.anyAncestorScrollable,v,s,i,n.root.pixelSize,n.root.onFrameSet,a);return ho(t,i,v.size,a),wa(t,i,y,a),Object.assign(v,{anyAncestorScrollable:b1(v.scrollable,n.anyAncestorScrollable),initializers:a,handlers:Co(t,i,r,A,h,D),interactionPanel:wG(g,l,n,v,S,n.root,I,a),clippingRect:em(p,v,n.root.pixelSize,n.clippingRect),childrenMatrix:M,node:E,orderInfo:S,root:n.root})}let kw;function MD(){return kw??=zh({borderBend:"borderBend",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius",borderColor:"borderColor",borderOpacity:"borderOpacity",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius",backgroundOpacity:"opacity"},{backgroundColor:16777215}),kw}function wG(n,e,t,i,r,s,o,a){const l=new tn(L1);l.matrixAutoUpdate=!1;const A=Hh(s,t.clippingRect,a),h=MD().computedIsVisibile(n,i.borderInset,i.size,o);return RG(n,l,i.size,i.borderInset,h,A,s,a),l.raycast=wu(l,mD(l),s.object,t.clippingRect,r),Ul(l,s,r),_G(n,e,i.borderInset,i.size,a),a.push(()=>et(()=>l.visible=h.value)),a.push(()=>et(()=>{const f=e.value??null;l.material.map!==f&&(l.material.map=f,l.material.needsUpdate=!0)}),()=>et(()=>{if(i.size.value==null)return;const[f,d]=i.size.value,g=t.root.pixelSize.value;l.scale.set(f*g,d*g,1),l.updateMatrix()})),l}function _G(n,e,t,i,r){const s=Pt(n,"fit",xG);r.push(()=>et(()=>{const o=e.value;if(o==null||i.value==null||t.value==null)return;if(o.matrix.identity(),s.value==="fill"||o==null){Fw(t,i,o);return}const{width:a,height:l}=o.source.data,A=a/l,[h,f]=i.value,[d,g,E,v]=t.value,C=(h-v-g)/(f-d-E);A>C?o.matrix.translate(-(.5*(C-A))/C,0).scale(C/A,1):o.matrix.translate(0,-(.5*(A-C))/A).scale(1,A/C),Fw(t,i,o)}))}function Fw(n,e,t){if(e.value==null||n.value==null)return;const[i,r]=e.value,[s,o,a,l]=n.value,A=i-l-o,h=r-s-a;t.matrix.translate(-1+(l+A)/i,-1+(s+h)/r).scale(i/A,r/h)}const QG=new Kg;async function MG(n){if(n==null)return Promise.resolve(void 0);if(n instanceof xn)return Promise.resolve(n);try{const e=await QG.loadAsync(n);return e.colorSpace=Nn,e.matrixAutoUpdate=!1,e}catch(e){console.error(e);return}}function RG(n,e,t,i,r,s,o,a){const l=new Float32Array(16),A={data:l,type:"normal"};e.customDepthMaterial=new vD(A),e.customDistanceMaterial=new yD(A),e.customDepthMaterial.clippingPlanes=s,e.customDistanceMaterial.clippingPlanes=s;const h=Pt(n,"panelMaterialClass",tr);a.push(E=>(E.push(et(()=>{const v=ID(h.value,A);return v.clippingPlanes=s,e.material=v,et(()=>v.depthTest=o.depthTest.value)}),et(()=>e.renderOrder=o.renderOrder.value),et(()=>e.castShadow=n.value.read("castShadow",!1)),et(()=>e.receiveShadow=n.value.read("receiveShadow",!1))),E));const f=MD(),d=[];a.push(()=>et(()=>{if(r.value)return l.set(f.defaultData),d.push(et(()=>t.value!=null&&l.set(t.value,13)),et(()=>i.value!=null&&l.set(i.value,0))),()=>gr(d)}));const g=f.setters;a.push(E=>(Q1(n,r,f.hasProperty,(v,C)=>g[v](l,0,C,t,void 0),E),E))}function DG(n,e,t,i,r,s,o){const a=nt([]),l=nt([]),A=[];vo(a,A);const h=Io(i,r,s,{...go,...mo(n.root.size),...Bo(a),...Eo(l)}),f=nt(void 0),d=Ao();Ma(f,d,n,h,o,A);const g=fo(h,d,n.root.pixelSize);po(o,g,A);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,d.size,n.root.pixelSize),C=Ol(h),p=mi(h,ei.Panel,C,n.orderInfo);A.push(R=>Ds(h,p,C,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,v,kl(),R));const y=hD(h,t,n.root.renderer,A),I=mi(void 0,ei.Text,dD(y),p),S=pD(h,e,E,f,d,v,n.clippingRect,I,y,n.root.gylphGroupManager,void 0,void 0,void 0,void 0,A);return A.push(()=>et(()=>f.value?.setMeasureFunc(S))),ho(i,r,d.size,A),wa(i,r,v,A),Object.assign(d,{interactionPanel:Fl(p,n.root,n.clippingRect,d.size,A),handlers:Co(i,r,s,a,l),initializers:A})}const TG=Nn;class _u extends Wi{constructor(e){super(e),this.defaultDPI=90,this.defaultUnit="px"}load(e,t,i,r){const s=this,o=new Ms(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(a){try{t(s.parse(a))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=this;function i(V,H){if(V.nodeType!==1)return;const F=S(V);let N=!1,Ee=null;switch(V.nodeName){case"svg":H=E(V,H);break;case"style":s(V);break;case"g":H=E(V,H);break;case"path":H=E(V,H),V.hasAttribute("d")&&(Ee=r(V));break;case"rect":H=E(V,H),Ee=l(V);break;case"polygon":H=E(V,H),Ee=A(V);break;case"polyline":H=E(V,H),Ee=h(V);break;case"circle":H=E(V,H),Ee=f(V);break;case"ellipse":H=E(V,H),Ee=d(V);break;case"line":H=E(V,H),Ee=g(V);break;case"defs":N=!0;break;case"use":H=E(V,H);const Se=(V.getAttributeNS("http://www.w3.org/1999/xlink","href")||"").substring(1),O=V.viewportElement.getElementById(Se);O?i(O,H):console.warn("SVGLoader: 'use node' references non-existent node id: "+Se);break}Ee&&(H.fill!==void 0&&H.fill!=="none"&&Ee.color.setStyle(H.fill,TG),M(Ee,Ae),q.push(Ee),Ee.userData={node:V,style:H});const ve=V.childNodes;for(let pe=0;pe0?Ae.copy(Y[Y.length-1]):Ae.identity())}function r(V){const H=new Vo,F=new Be,N=new Be,Ee=new Be;let ve=!0,pe=!1;const Se=V.getAttribute("d");if(Se===""||Se==="none")return null;const O=Se.match(/[a-df-z][^a-df-z]*/ig);for(let me=0,$=O.length;me<$;me++){const ue=O[me],oe=ue.charAt(0),De=ue.slice(1).trim();ve===!0&&(pe=!0,ve=!1);let K;switch(oe){case"M":K=C(De);for(let w=0,T=K.length;w0&&(F.copy(Ee),H.currentPath.currentPoint.copy(F),ve=!0);break;default:console.warn(ue)}pe=!1}return H}function s(V){if(!(!V.sheet||!V.sheet.cssRules||!V.sheet.cssRules.length))for(let H=0;HEe.trim());for(let Ee=0;Eepe!==""));fe[N[Ee]]=Object.assign(fe[N[Ee]]||{},ve)}}}function o(V,H,F,N,Ee,ve,pe,Se){if(H==0||F==0){V.lineTo(Se.x,Se.y);return}N=N*Math.PI/180,H=Math.abs(H),F=Math.abs(F);const O=(pe.x-Se.x)/2,me=(pe.y-Se.y)/2,$=Math.cos(N)*O+Math.sin(N)*me,ue=-Math.sin(N)*O+Math.cos(N)*me;let oe=H*H,De=F*F;const K=$*$,w=ue*ue,T=K/oe+w/De;if(T>1){const be=Math.sqrt(T);H=be*H,F=be*F,oe=H*H,De=F*F}const te=oe*w+De*K,Le=(oe*De-te)/te;let Te=Math.sqrt(Math.max(0,Le));Ee===ve&&(Te=-Te);const Re=Te*H*ue/F,Je=-Te*F*$/H,Ve=Math.cos(N)*Re-Math.sin(N)*Je+(pe.x+Se.x)/2,je=Math.sin(N)*Re+Math.cos(N)*Je+(pe.y+Se.y)/2,lt=a(1,0,($-Re)/H,(ue-Je)/F),mt=a(($-Re)/H,(ue-Je)/F,(-$-Re)/H,(-ue-Je)/F)%(Math.PI*2);V.currentPath.absellipse(Ve,je,H,F,lt,lt+mt,ve===0,N)}function a(V,H,F,N){const Ee=V*F+H*N,ve=Math.sqrt(V*V+H*H)*Math.sqrt(F*F+N*N);let pe=Math.acos(Math.max(-1,Math.min(1,Ee/ve)));return V*N-H*F<0&&(pe=-pe),pe}function l(V){const H=I(V.getAttribute("x")||0),F=I(V.getAttribute("y")||0),N=I(V.getAttribute("rx")||V.getAttribute("ry")||0),Ee=I(V.getAttribute("ry")||V.getAttribute("rx")||0),ve=I(V.getAttribute("width")),pe=I(V.getAttribute("height")),Se=1-.551915024494,O=new Vo;return O.moveTo(H+N,F),O.lineTo(H+ve-N,F),(N!==0||Ee!==0)&&O.bezierCurveTo(H+ve-N*Se,F,H+ve,F+Ee*Se,H+ve,F+Ee),O.lineTo(H+ve,F+pe-Ee),(N!==0||Ee!==0)&&O.bezierCurveTo(H+ve,F+pe-Ee*Se,H+ve-N*Se,F+pe,H+ve-N,F+pe),O.lineTo(H+N,F+pe),(N!==0||Ee!==0)&&O.bezierCurveTo(H+N*Se,F+pe,H,F+pe-Ee*Se,H,F+pe-Ee),O.lineTo(H,F+Ee),(N!==0||Ee!==0)&&O.bezierCurveTo(H,F+Ee*Se,H+N*Se,F,H+N,F),O}function A(V){function H(ve,pe,Se){const O=I(pe),me=I(Se);Ee===0?N.moveTo(O,me):N.lineTo(O,me),Ee++}const F=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new Vo;let Ee=0;return V.getAttribute("points").replace(F,H),N.currentPath.autoClose=!0,N}function h(V){function H(ve,pe,Se){const O=I(pe),me=I(Se);Ee===0?N.moveTo(O,me):N.lineTo(O,me),Ee++}const F=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,N=new Vo;let Ee=0;return V.getAttribute("points").replace(F,H),N.currentPath.autoClose=!1,N}function f(V){const H=I(V.getAttribute("cx")||0),F=I(V.getAttribute("cy")||0),N=I(V.getAttribute("r")||0),Ee=new ua;Ee.absarc(H,F,N,0,Math.PI*2);const ve=new Vo;return ve.subPaths.push(Ee),ve}function d(V){const H=I(V.getAttribute("cx")||0),F=I(V.getAttribute("cy")||0),N=I(V.getAttribute("rx")||0),Ee=I(V.getAttribute("ry")||0),ve=new ua;ve.absellipse(H,F,N,Ee,0,Math.PI*2);const pe=new Vo;return pe.subPaths.push(ve),pe}function g(V){const H=I(V.getAttribute("x1")||0),F=I(V.getAttribute("y1")||0),N=I(V.getAttribute("x2")||0),Ee=I(V.getAttribute("y2")||0),ve=new Vo;return ve.moveTo(H,F),ve.lineTo(N,Ee),ve.currentPath.autoClose=!1,ve}function E(V,H){H=Object.assign({},H);let F={};if(V.hasAttribute("class")){const pe=V.getAttribute("class").split(/\s/).filter(Boolean).map(Se=>Se.trim());for(let Se=0;Se0&&H.premultiply(Y[Y.length-1]),Ae.copy(H),Y.push(H),H}function R(V){const H=new wt,F=se;if(V.nodeName==="use"&&(V.hasAttribute("x")||V.hasAttribute("y"))){const N=I(V.getAttribute("x")),Ee=I(V.getAttribute("y"));H.translate(N,Ee)}if(V.hasAttribute("transform")){const N=V.getAttribute("transform").split(")");for(let Ee=N.length-1;Ee>=0;Ee--){const ve=N[Ee].trim();if(ve==="")continue;const pe=ve.indexOf("("),Se=ve.length;if(pe>0&&pe=1){const $=me[0];let ue=0;me.length>=2&&(ue=me[1]),F.translate($,ue)}break;case"rotate":if(me.length>=1){let $=0,ue=0,oe=0;$=me[0]*Math.PI/180,me.length>=3&&(ue=me[1],oe=me[2]),ne.makeTranslation(-ue,-oe),de.makeRotation($),k.multiplyMatrices(de,ne),ne.makeTranslation(ue,oe),F.multiplyMatrices(ne,k)}break;case"scale":if(me.length>=1){const $=me[0];let ue=$;me.length>=2&&(ue=me[1]),F.scale($,ue)}break;case"skewX":me.length===1&&F.set(1,Math.tan(me[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":me.length===1&&F.set(1,0,0,Math.tan(me[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":me.length===6&&F.set(me[0],me[2],me[4],me[1],me[3],me[5],0,0,1);break}}H.premultiply(F)}}return H}function M(V,H){function F(pe){ee.set(pe.x,pe.y,1).applyMatrix3(H),pe.set(ee.x,ee.y)}function N(pe){const Se=pe.xRadius,O=pe.yRadius,me=Math.cos(pe.aRotation),$=Math.sin(pe.aRotation),ue=new G(Se*me,Se*$,0),oe=new G(-O*$,O*me,0),De=ue.applyMatrix3(H),K=oe.applyMatrix3(H),w=se.set(De.x,K.x,0,De.y,K.y,0,0,0,1),T=ne.copy(w).invert(),Te=de.copy(T).transpose().multiply(T).elements,Re=b(Te[0],Te[1],Te[4]),Je=Math.sqrt(Re.rt1),Ve=Math.sqrt(Re.rt2);if(pe.xRadius=1/Je,pe.yRadius=1/Ve,pe.aRotation=Math.atan2(Re.sn,Re.cs),!((pe.aEndAngle-pe.aStartAngle)%(2*Math.PI){const{x:gt,y:at}=new G(Math.cos(St),Math.sin(St),0).applyMatrix3(be);return Math.atan2(at,gt)};pe.aStartAngle=Tt(pe.aStartAngle),pe.aEndAngle=Tt(pe.aEndAngle),D(H)&&(pe.aClockwise=!pe.aClockwise)}}function Ee(pe){const Se=J(H),O=_(H);pe.xRadius*=Se,pe.yRadius*=O;const me=Se>Number.EPSILON?Math.atan2(H.elements[1],H.elements[0]):Math.atan2(-H.elements[3],H.elements[4]);pe.aRotation+=me,D(H)&&(pe.aStartAngle*=-1,pe.aEndAngle*=-1,pe.aClockwise=!pe.aClockwise)}const ve=V.subPaths;for(let pe=0,Se=ve.length;peNumber.EPSILON}function J(V){const H=V.elements;return Math.sqrt(H[0]*H[0]+H[1]*H[1])}function _(V){const H=V.elements;return Math.sqrt(H[3]*H[3]+H[4]*H[4])}function b(V,H,F){let N,Ee,ve,pe,Se;const O=V+F,me=V-F,$=Math.sqrt(me*me+4*H*H);return O>0?(N=.5*(O+$),Se=1/N,Ee=V*Se*F-H*Se*H):O<0?Ee=.5*(O-$):(N=.5*$,Ee=-.5*$),me>0?ve=me+$:ve=me-$,Math.abs(ve)>2*Math.abs(H)?(Se=-2*H/ve,pe=1/Math.sqrt(1+Se*Se),ve=Se*pe):Math.abs(H)===0?(ve=1,pe=0):(Se=-.5*ve/H,ve=1/Math.sqrt(1+Se*Se),pe=Se*ve),me>0&&(Se=ve,ve=-pe,pe=Se),{rt1:N,rt2:Ee,cs:ve,sn:pe}}const q=[],fe={},Y=[],se=new wt,ne=new wt,de=new wt,k=new wt,j=new Be,ee=new G,Ae=new wt,_e=new DOMParser().parseFromString(e,"image/svg+xml");return i(_e.documentElement,{fill:"#000",fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeLineJoin:"miter",strokeLineCap:"butt",strokeMiterLimit:4}),{paths:q,xml:_e.documentElement}}static createShapes(e){const i={ORIGIN:0,DESTINATION:1,BETWEEN:2,LEFT:3,RIGHT:4,BEHIND:5,BEYOND:6},r={loc:i.ORIGIN,t:0};function s(v,C,p,y){const I=v.x,S=C.x,R=p.x,M=y.x,D=v.y,U=C.y,J=p.y,_=y.y,b=(M-R)*(D-J)-(_-J)*(I-R),q=(S-I)*(D-J)-(U-D)*(I-R),fe=(_-J)*(S-I)-(M-R)*(U-D),Y=b/fe,se=q/fe;if(fe===0&&b!==0||Y<=0||Y>=1||se<0||se>1)return null;if(b===0&&fe===0){for(let ne=0;ne<2;ne++)if(o(ne===0?p:y,v,C),r.loc==i.ORIGIN){const de=ne===0?p:y;return{x:de.x,y:de.y,t:r.t}}else if(r.loc==i.BETWEEN){const de=+(I+r.t*(S-I)).toPrecision(10),k=+(D+r.t*(U-D)).toPrecision(10);return{x:de,y:k,t:r.t}}return null}else{for(let k=0;k<2;k++)if(o(k===0?p:y,v,C),r.loc==i.ORIGIN){const j=k===0?p:y;return{x:j.x,y:j.y,t:r.t}}const ne=+(I+Y*(S-I)).toPrecision(10),de=+(D+Y*(U-D)).toPrecision(10);return{x:ne,y:de,t:Y}}}function o(v,C,p){const y=p.x-C.x,I=p.y-C.y,S=v.x-C.x,R=v.y-C.y,M=y*R-S*I;if(v.x===C.x&&v.y===C.y){r.loc=i.ORIGIN,r.t=0;return}if(v.x===p.x&&v.y===p.y){r.loc=i.DESTINATION,r.t=1;return}if(M<-Number.EPSILON){r.loc=i.LEFT;return}if(M>Number.EPSILON){r.loc=i.RIGHT;return}if(y*S<0||I*R<0){r.loc=i.BEHIND;return}if(Math.sqrt(y*y+I*I)_.t<=J.t+Number.EPSILON&&_.t>=J.t-Number.EPSILON)===void 0&&(p.push(J),y.push(new Be(J.x,J.y)))}}return y}function l(v,C,p){const y=new Be;C.getCenter(y);const I=[];return p.forEach(S=>{S.boundingBox.containsPoint(y)&&a(v,S.points).forEach(M=>{I.push({identifier:S.identifier,isCW:S.isCW,point:M})})}),I.sort((S,R)=>S.point.x-R.point.x),I}function A(v,C,p,y,I){(I==null||I==="")&&(I="nonzero");const S=new Be;v.boundingBox.getCenter(S);const R=[new Be(p,S.y),new Be(y,S.y)],M=l(R,v.boundingBox,C);M.sort((q,fe)=>q.point.x-fe.point.x);const D=[],U=[];M.forEach(q=>{q.identifier===v.identifier?D.push(q):U.push(q)});const J=D[0].point.x,_=[];let b=0;for(;b0&&_[_.length-1]===U[b].identifier?_.pop():_.push(U[b].identifier),b++;if(_.push(v.identifier),I==="evenodd"){const q=_.length%2===0,fe=_[_.length-2];return{identifier:v.identifier,isHole:q,for:fe}}else if(I==="nonzero"){let q=!0,fe=null,Y=null;for(let se=0;se<_.length;se++){const ne=_[se];q?(Y=C[ne].isCW,q=!1,fe=ne):Y!==C[ne].isCW&&(Y=C[ne].isCW,q=!0)}return{identifier:v.identifier,isHole:q,for:fe}}else console.warn('fill-rule: "'+I+'" is currently not implemented.')}let h=999999999,f=-999999999,d=e.subPaths.map(v=>{const C=v.getPoints();let p=-999999999,y=999999999,I=-999999999,S=999999999;for(let R=0;Rp&&(p=M.y),M.yI&&(I=M.x),M.x=S&&(h=S-1),{curves:v.curves,points:C,isCW:es.isClockWise(C),identifier:-1,boundingBox:new yR(new Be(S,y),new Be(I,p))}});d=d.filter(v=>v.points.length>1);for(let v=0;vA(v,d,h,f,e.userData?e.userData.style.fillRule:void 0)),E=[];return d.forEach(v=>{if(!g[v.identifier].isHole){const p=new Aa;p.curves=v.curves,g.filter(I=>I.isHole&&I.for===v.identifier).forEach(I=>{const S=d[I.identifier],R=new ua;R.curves=S.curves,p.holes.push(R)}),E.push(p)}}),E}static getStrokeStyle(e,t,i,r,s){return e=e!==void 0?e:1,t=t!==void 0?t:"#000",i=i!==void 0?i:"miter",r=r!==void 0?r:"butt",s=s!==void 0?s:4,{strokeColor:t,strokeWidth:e,strokeLineJoin:i,strokeLineCap:r,strokeMiterLimit:s}}static pointsToStroke(e,t,i,r){const s=[],o=[],a=[];if(_u.pointsToStrokeWithBuffers(e,t,i,r,s,o,a)===0)return null;const l=new Dt;return l.setAttribute("position",new ot(s,3)),l.setAttribute("normal",new ot(o,3)),l.setAttribute("uv",new ot(a,2)),l}static pointsToStrokeWithBuffers(e,t,i,r,s,o,a,l){const A=new Be,h=new Be,f=new Be,d=new Be,g=new Be,E=new Be,v=new Be,C=new Be,p=new Be,y=new Be,I=new Be,S=new Be,R=new Be,M=new Be,D=new Be,U=new Be,J=new Be;i=i!==void 0?i:12,r=r!==void 0?r:.001,l=l!==void 0?l:0,e=me(e);const _=e.length;if(_<2)return 0;const b=e[0].equals(e[_-1]);let q,fe=e[0],Y;const se=t.strokeWidth/2,ne=1/(_-1);let de=0,k,j,ee,Ae,_e=!1,ke=0,V=l*3,H=l*2;F(e[0],e[1],A).multiplyScalar(se),C.copy(e[0]).sub(A),p.copy(e[0]).add(A),y.copy(C),I.copy(p);for(let $=1;$<_;$++){q=e[$],$===_-1?b?Y=e[1]:Y=void 0:Y=e[$+1];const ue=A;if(F(fe,q,ue),f.copy(ue).multiplyScalar(se),S.copy(q).sub(f),R.copy(q).add(f),k=de+ne,j=!1,Y!==void 0){F(q,Y,h),f.copy(h).multiplyScalar(se),M.copy(q).sub(f),D.copy(q).add(f),ee=!0,f.subVectors(Y,fe),ue.dot(f)<0&&(ee=!1),$===1&&(_e=ee),f.subVectors(Y,q),f.normalize();const oe=Math.abs(ue.dot(f));if(oe>Number.EPSILON){const De=se/oe;f.multiplyScalar(-De),d.subVectors(q,fe),g.copy(d).setLength(De).add(f),U.copy(g).negate();const K=g.length(),w=d.length();d.divideScalar(w),E.subVectors(Y,q);const T=E.length();switch(E.divideScalar(T),d.dot(U)=r&&oe.push($[De]);return oe.push($[$.length-1]),oe}}}function LG(n,e,t,i,r,s,o){const a=[],l=nt([]),A=nt([]);vo(l,a);const h=nt(void 0),f=Io(t,i,r,{...go,...mo(n.root.size),...Bo(l),...Eo(A)},am,b=>b.add("aspectRatio",h)),d=nt(void 0),g=Ao();Ma(d,g,n,f,s,a);const E=fo(f,g,n.root.pixelSize);po(s,E,a);const v=Qa(n.childrenMatrix,E),C=_a(n.clippingRect,v,g.size,n.root.pixelSize),p=Ol(f),y=mi(f,ei.Panel,p,n.orderInfo);a.push(b=>Ds(f,y,p,n.root.panelGroupManager,v,g.size,void 0,g.borderInset,n.clippingRect,C,kl(),b));const I=mi(void 0,ei.Svg,void 0,y),S=Gt(()=>kr(e.value)),R=nt(void 0),M=Hh(n.root,n.clippingRect,a);_D(R,PG,a,S,n.root,M,n.clippingRect,I,h),QD(f,R,a,n.root);const D=bG(g,n.root.pixelSize,R,h,C,a),U=nm();rm(o,U,n.root.pixelSize,a);const J=im(U,v,n.root.pixelSize);om(f,U,g,v,C,n.clippingRect,I,n.root.panelGroupManager,a);const _=sm(U,n.anyAncestorScrollable,g,s,i,n.root.pixelSize,n.root.onFrameSet,a);return ho(t,i,g.size,a),wa(t,i,C,a),Object.assign(g,{anyAncestorScrollable:b1(g.scrollable,n.anyAncestorScrollable),clippingRect:em(v,g,n.root.pixelSize,n.clippingRect),childrenMatrix:J,node:d,orderInfo:I,root:n.root,initializers:a,centerGroup:D,handlers:Co(t,i,r,l,A,_),interactionPanel:Fl(I,n.root,n.clippingRect,g.size,a)})}function bG(n,e,t,i,r,s){const o=new eo;return o.matrixAutoUpdate=!1,s.push(()=>et(()=>{TD(o.position,o.scale,n.size,n.paddingInset,n.borderInset,e.value,i.value??1),o.updateMatrix()}),()=>et(()=>{const a=t.value;if(a!=null)return o.add(a),()=>o.remove(a)}),()=>et(()=>void(o.visible=t.value!=null&&!r.value))),o}const NG=new _u,ip=new qn,ja=new G;async function PG(n,e,t,i,r,s){const o=new eo;o.matrixAutoUpdate=!1;const a=await NG.loadAsync(n);ip.makeEmpty();for(const A of a.paths){const h=_u.createShapes(A),f=new tr;f.transparent=!0,f.depthWrite=!1,f.toneMapped=!1,f.clippingPlanes=t;for(const d of h){const g=new vu(d);g.computeBoundingBox(),ip.union(g.boundingBox);const E=new tn(g,f);E.matrixAutoUpdate=!1,E.raycast=wu(E,E.raycast,e.object,i,r),Ul(E,e,r),E.userData.color=A.color,E.scale.y=-1,E.updateMatrix(),o.add(E)}}ip.getSize(ja),s.value=ja.x/ja.y;const l=1/ja.y;return o.scale.set(1,1,1).multiplyScalar(l),ip.getCenter(ja),ja.y*=-1,o.position.copy(ja).negate().multiplyScalar(l),o.updateMatrix(),o}function UG(n,e,t,i,r,s,o,a){const l=[],A=nt([]),h=nt([]);vo(A,l);const f=Io(r,s,o,{...go,...mo(n.root.size),...Bo(A),...Eo(h)},am,R=>{R.add("aspectRatio",t/i),R.add("width",t),R.add("height",i)}),d=Ao();Ma(void 0,d,n,f,a,l);const g=fo(f,d,n.root.pixelSize);po(a,g,l);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,d.size,n.root.pixelSize),C=Ol(f),p=mi(f,ei.Panel,C,n.orderInfo);l.push(R=>Ds(f,p,C,n.root.panelGroupManager,E,d.size,void 0,d.borderInset,n.clippingRect,v,kl(),R));const y=mi(void 0,ei.Svg,void 0,p),I=Hh(n.root,n.clippingRect,l),S=FG(f,e,t,i,n,y,d,v,I,l);return ho(r,s,d.size,l),wa(r,s,v,l),Object.assign(d,{initializers:l,iconGroup:S,handlers:Co(r,s,o,A,h),interactionPanel:Fl(y,n.root,n.clippingRect,d.size,l)})}const kG=new _u;function FG(n,e,t,i,r,s,o,a,l,A){const h=new eo;h.matrixAutoUpdate=!1;const f=kG.parse(e);for(const g of f.paths){const E=_u.createShapes(g),v=new tr;v.transparent=!0,v.depthWrite=!1,v.toneMapped=!1,v.clippingPlanes=l;for(const C of E){const p=new vu(C);p.computeBoundingBox();const y=new tn(p,v);y.matrixAutoUpdate=!1,y.raycast=wu(y,y.raycast,r.root.object,r.clippingRect,s),Ul(y,r.root,s),y.userData.color=g.color,y.scale.y=-1,y.updateMatrix(),h.add(y)}}const d=t/i;return A.push(()=>et(()=>{TD(h.position,h.scale,o.size,o.paddingInset,o.borderInset,r.root.pixelSize.value,d),h.position.x-=h.scale.x*d/2,h.position.y+=h.scale.x/2,h.scale.divideScalar(i),h.updateMatrix()}),()=>et(()=>void(h.visible=!a.value))),QD(n,h,A,r.root),h}function OG(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[];vo(o,l);const A=Io(e,t,i,{...go,...mo(n.root.size),...Bo(o),...Eo(a)}),h=Ao();Ma(void 0,h,n,A,r,l);const f=fo(A,h,n.root.pixelSize);po(r,f,l);const d=Qa(n.childrenMatrix,f),g=_a(n.clippingRect,d,h.size,n.root.pixelSize),E=mi(A,ei.Custom,void 0,n.orderInfo),v=Hh(n.root,n.clippingRect,l);return l.push(C=>{const p=s.current;if(p==null)return C;if(p.matrixAutoUpdate=!1,p.material instanceof ti){const y=p.material;y.clippingPlanes=v,y.needsUpdate=!0,y.shadowSide=Pr,C.push(()=>et(()=>y.depthTest=n.root.depthTest.value))}return p.raycast=wu(p,p.raycast,n.root.object,n.clippingRect,E),Ul(p,n.root,E),C.push(et(()=>p.renderOrder=n.root.renderOrder.value),et(()=>p.receiveShadow=A.value.read("receiveShadow",!1)),et(()=>p.castShadow=A.value.read("castShadow",!1)),et(()=>{if(h.size.value==null)return;const[y,I]=h.size.value,S=n.root.pixelSize.value;p.scale.set(y*S,I*S,1),p.updateMatrix()}),et(()=>void(p.visible=!g.value))),C}),ho(e,t,h.size,l),wa(e,t,g,l),Object.assign(h,{root:n.root,handlers:Co(e,t,i,o,a),initializers:l})}function GG(n,e,t,i,r,s){const o=nt([]),a=nt([]),l=[],A=Ao();vo(o,l);const h=nt(new G(1,1,1)),f=Gt(()=>h.value.x/h.value.y),d=Io(e,t,i,{...go,...mo(n.root.size),...Bo(o),...Eo(a)},am,I=>I.add("aspectRatio",f));Ma(void 0,A,n,d,r,l);const g=fo(d,A,n.root.pixelSize);po(r,g,l);const E=Qa(n.childrenMatrix,g),v=_a(n.clippingRect,E,A.size,n.root.pixelSize),C=Ol(d),p=mi(d,ei.Panel,C,n.orderInfo);l.push(I=>Ds(d,p,C,n.root.panelGroupManager,E,A.size,void 0,A.borderInset,n.clippingRect,v,kl(),I));const y=mi(void 0,ei.Object,void 0,p);return ho(e,t,A.size,l),wa(e,t,v,l),Object.assign(A,{remeasureContent:VG(d,n.root,A,n.clippingRect,y,h,s,l),interactionPanel:Fl(p,n.root,n.clippingRect,A.size,l),handlers:Co(e,t,i,o,a),initializers:l})}const WE=new qn,Ow=new G().setScalar(.001),HG=new G,zG="back";function VG(n,e,t,i,r,s,o,a){const l=Hh(e,i,a),A=Pt(n,"depthAlign",zG),h=Pt(n,"keepAspectRatio",!0),f=new G,d=new G,g=(v,C,p)=>v?.traverse(y=>{y instanceof tn&&(y.renderOrder=C,y.material instanceof ti&&(y.material.depthTest=p))}),E=()=>{const v=o.current;if(v==null){f.copy(Ow),d.set(0,0,0);return}v.traverse(p=>{p instanceof tn&&(Ul(p,e,r),p.material.clippingPlanes=l,p.material.needsUpdate=!0,p.raycast=wu(p,p.raycast,e.object,i,r))});const C=v.parent;v.parent=null,WE.setFromObject(v),WE.getSize(f).max(Ow),s.value=f,C!=null&&(v.parent=C),WE.getCenter(d)};return a.push(()=>et(()=>g(o.current,e.renderOrder.value,e.depthTest.value)),v=>{const C=o.current;return C==null||(E(),v.push(et(()=>{const{size:{value:p},paddingInset:{value:y},borderInset:{value:I}}=t;if(p==null||y==null||I==null)return;const[S,R]=p,[M,D,U,J]=y,[_,b,q,fe]=I,Y=M+_,se=D+b,ne=U+q,de=J+fe,k=S-de-se,j=R-Y-ne,ee=e.pixelSize.value;C.scale.set(k*ee,j*ee,h.value?j*ee*f.z/f.y:f.z).divide(f),C.position.copy(d).negate(),C.position.z-=YG[A.value]*f.z,C.position.multiply(C.scale),C.position.add(HG.set((de-se)*.5*ee,(ne-Y)*.5*ee,0)),C.updateMatrix()}))),v}),()=>{g(o.current,e.renderOrder.peek(),e.depthTest.peek()),E()}}function WG(n,e,t,i,r,s){if(r instanceof Xn){const o=2*Math.tan(Math.PI*r.fov/360)*i;t.value=o/s,e.value=o,n.value=o*r.aspect}if(r instanceof Cu){const o=r.top-r.bottom,a=r.right-r.left;t.value=o/s,e.value=o,n.value=a}}function gr(n){const e=n.length;for(let t=0;to){e.setScalar(M*s);return}e.setScalar(R*s/o)}function kr(n){return n instanceof $n?n.value:n}function Vh(n){const e=new Map;return(t,i)=>{if(typeof t!="object")throw new Error(`Invalid properties "${t}"`);for(const r in t){const s=t[r];if(s===void 0)return;let o=e.get(s);o==null&&e.set(s,o=Gt(()=>n()?kr(s):void 0)),i.add(r,o)}}}function N1(n,e){const t=e.map(i=>Pt(n,i,0));return Gt(()=>t.map(i=>i.value))}function vo(n,e){e.push(()=>()=>LD(n))}function JG(n,e,t,i,r,s){let o=!1;$g(e,t,i,l=>{"hover"in l&&(o=!0)});const a=e?.cursor??t?.cursor??s;if(!o&&e?.onHoverChange==null&&t?.onHoverChange==null&&a==null){r.value.length=0;return}yl("onPointerOver",n,({nativeEvent:l})=>{r.value=[l.pointerId,...r.value],r.value.length===1&&(t?.onHoverChange?.(!0),e?.onHoverChange?.(!0)),a!=null&&XG(r,a)}),yl("onPointerOut",n,({nativeEvent:l})=>{r.value=r.value.filter(A=>A!=l.pointerId),r.value.length===0&&(t?.onHoverChange?.(!1),e?.onHoverChange?.(!1)),LD(r)})}function Bo(n){return{hover:Vh(()=>n.value.length>0)}}const OI=[],Sp=[];function XG(n,e){OI.push(n),Sp.push(e),document.body.style.cursor=e}function LD(n){const e=OI.indexOf(n);e!=-1&&(OI.splice(e,1),Sp.splice(e,1),document.body.style.cursor=Sp[Sp.length-1]??"default")}const KG=["caretBorderRight","caretBorderTop","caretBorderLeft","caretBorderBottom"];let Gw;function qG(){return Gw??=zh({backgroundColor:"caretColor",backgroundOpacity:"caretOpacity",borderBend:"caretBorderBend",borderBottomLeftRadius:"caretBorderBottomLeftRadius",borderBottomRightRadius:"caretBorderBottomRightRadius",borderColor:"caretBorderColor",borderOpacity:"caretBorderOpacity",borderTopLeftRadius:"caretBorderTopLeftRadius",borderTopRightRadius:"caretBorderTopRightRadius"},{backgroundColor:0,backgroundOpacity:1}),Gw}function jG(n,e,t,i,r,s,o,a){const l=mi(void 0,ei.Panel,tm,r),A=nt(void 0);a.push(()=>et(()=>{const d=t.value;d==null&&(A.value=void 0),A.value=d;const g=setInterval(()=>A.value=A.peek()==null?d:void 0,500);return()=>clearInterval(g)}));const h=N1(n,KG),f=Pt(n,"caretWidth",1.5);a.push(d=>Ds(n,l,void 0,o,e,Gt(()=>{const g=A.value;return g==null?[0,0]:[f.value,g[2]]}),Gt(()=>{const g=A.value;return g==null?[0,0]:[g[0]-f.value/2,g[1]]}),h,s,i,qG(),d))}const ZG=["selectionBorderRight","selectionBorderTop","selectionBorderLeft","selectionBorderBottom"];let Hw;function $G(){return Hw??=zh({backgroundColor:"selectionColor",backgroundOpacity:"selectionOpacity",borderBend:"selectionBorderBend",borderBottomLeftRadius:"selectionBorderBottomLeftRadius",borderBottomRightRadius:"selectionBorderBottomRightRadius",borderColor:"selectionBorderColor",borderOpacity:"selectionBorderOpacity",borderTopLeftRadius:"selectionBorderTopLeftRadius",borderTopRightRadius:"selectionBorderTopRightRadius"},{backgroundColor:11851775,backgroundOpacity:1}),Hw}function eH(n,e,t,i,r,s,o,a){const l=[],A=mi(void 0,ei.Panel,tm,r),h=N1(n,ZG);return a.push(()=>et(()=>{const f=t.value,d=f.length;for(let E=0;E()=>{const f=l.length;for(let d=0;dn.value)}}const nH=new Set;function iH(n){nH.add(n)}function rH(n,e,t,i,r,s,o,a,l){const A=nt([]),h=nt([]),f=nt(!1),d=[];vo(A,d);const g=Io(s,o,a,{...go,...mo(n.root.size),...Bo(A),...Eo(h),...tH(f)},void 0,de=>{$g(s.value,o.value,a.value,k=>{de.add("caretOpacity",k.opacity),de.add("caretColor",k.color)})}),E=Ao(),v=nt(void 0);Ma(v,E,n,g,l,d);const C=fo(g,E,n.root.pixelSize);po(l,C,d);const p=Qa(n.childrenMatrix,C),y=_a(n.clippingRect,p,E.size,n.root.pixelSize),I=Ol(g),S=mi(g,ei.Panel,I,n.orderInfo);d.push(de=>Ds(g,S,I,n.root.panelGroupManager,p,E.size,void 0,E.borderInset,n.clippingRect,y,kl(),de));const R={},M=nt([]),D=nt(void 0),U=nt(void 0);jG(g,p,D,y,S,n.clippingRect,n.root.panelGroupManager,d);const J=eH(g,p,M,y,S,n.clippingRect,n.root.panelGroupManager,d),_=hD(g,r,n.root.renderer,d),b=mi(void 0,ei.Text,dD(_),J),q=pD(g,e,p,v,E,y,n.clippingRect,b,_,n.root.gylphGroupManager,U,M,D,R,d);d.push(()=>et(()=>v.value?.setMeasureFunc(q))),ho(s,o,E.size,d),wa(s,o,y,d);const fe=Pt(g,"disabled",!1),Y=oH(e,U,t,i,fe,d),se=()=>{f.peek()||Y.peek()?.focus()};aH(Y,f,d);const ne=sH(E,Y,R,U,se,fe);return Object.assign(E,{focus:se,root:n.root,element:Y,node:v,interactionPanel:Fl(S,n.root,n.clippingRect,E.size,d),handlers:Co(s,o,a,A,h,ne,"text"),initializers:d})}function sH(n,e,t,i,r,s){return Gt(()=>{if(s.value)return;let o;return{onPointerDown:a=>{if(a.defaultPrevented||a.uv==null||t.current==null)return;iH(a.nativeEvent),a.stopPropagation?.();const l=zw(n,a.uv,t.current);o=l,setTimeout(()=>{r(),i.value=[l,l],e.peek()?.setSelectionRange(l,l)})},onPointerUp:a=>{o=void 0},onPointerLeave:a=>{o=void 0},onPointerMove:a=>{if(o==null||a.uv==null||t.current==null)return;a.stopPropagation?.();const l=zw(n,a.uv,t.current),A=Math.min(o,l),h=Math.max(o,l),f=o{r(),i.value=[A,h],e.peek()?.setSelectionRange(A,h,f)})}}})}function oH(n,e,t,i,r,s){const o=nt(void 0);return s.push(a=>{const l=document.createElement(i?"textarea":"input"),A=l.style;A.setProperty("position","absolute"),A.setProperty("left","-1000vw"),A.setProperty("pointerEvents","none"),A.setProperty("opacity","0"),l.addEventListener("input",()=>{t?.(l.value),h()});const h=()=>{const{selectionStart:f,selectionEnd:d}=l;if(f==null||d==null){e.value=void 0;return}const g=e.peek();g!=null&&g[0]===f&&g[1]===d||(e.value=[f,d])};return l.addEventListener("keydown",h),l.addEventListener("keyup",h),l.addEventListener("blur",()=>e.value=void 0),document.body.appendChild(l),o.value=l,a.push(()=>{o.value=void 0,l.remove()},et(()=>l.value=n.value),et(()=>l.disabled=r.value)),a}),o}function aH(n,e,t){t.push(()=>et(()=>{const i=n.value;if(i==null)return;const r=()=>e.value=document.activeElement===i;return r(),i.addEventListener("focus",r),i.addEventListener("blur",r),()=>{i.removeEventListener("focus",r),i.removeEventListener("blur",r)}}))}function zw({size:n,borderInset:e,paddingInset:t},i,r){const s=n.peek(),o=e.peek(),a=t.peek();if(s==null||o==null||a==null)return 0;const[l,A]=s,[h,,,f]=o,[d,,,g]=a,E=i.x*l-f-g,v=-i.y*A+h+d;return r.getCharIndex(E,v)}new Be;const GI=ce.createContext(void 0);function lH(){return ce.useContext(GI)}function Qu(n){const t={...ce.useContext(GI)};for(const i in n){if(i==="children")continue;const r=n[i];r!=null&&(t[i]=r)}return ae.jsx(GI.Provider,{value:t,children:n.children})}const Vw=["onClick","onContextMenu","onDoubleClick","onPointerCancel","onPointerDown","onPointerEnter","onPointerLeave","onPointerMissed","onPointerMove","onPointerOut","onPointerOver","onPointerUp","onWheel"],xo=ce.forwardRef(({handlers:n,userHandlers:e,children:t},i)=>{const[r,s]=ce.useState(()=>n.value);ce.useEffect(()=>et(()=>{const a=n.value,l=void setTimeout(()=>s(a),0);return()=>clearTimeout(l)}),[n]);const o=ce.useMemo(()=>{const a={...r},l=Vw.length;for(let A=0;A({style:nt(void 0),properties:nt(void 0),default:nt(void 0)}),[]);return e.properties.value=n,e.default.value=lH(),e}function wo(n,e,t,i,r,s){ce.useImperativeHandle(n,()=>{const{scrollPosition:o,paddingInset:a,borderInset:l,relativeCenter:A,size:h,maxScrollPosition:f}=i;return{setStyle:d=>t.value=d,pixelSize:e,borderInset:l,paddingInset:a,center:A,maxScrollPosition:f,size:h,interactionPanel:r instanceof tn?r:r.current,scrollPosition:o,...s}},[i,e,r,s,t])}const cn=ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=ce.useRef(null),s=So(n),o=ce.useMemo(()=>BG(t,s.style,s.properties,s.default,i,r),[t,s]);return ce.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[t,s,o]),wo(e,t.root.pixelSize,s.style,o,o.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:[ae.jsx("primitive",{object:o.interactionPanel}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:o,children:n.children})})]})}),cH=ce.forwardRef((n,e)=>{const t=OR(h=>h.gl);t.setTransparentSort(r5);const i=xu(),r=ce.useRef(null),s=ce.useRef(null),o=ce.useMemo(()=>nt(void 0),[]);o.value=n.pixelSize;const a=So(n),l=ce.useMemo(()=>new Set,[]),A=ce.useMemo(()=>mG(Gt(()=>kr(o.value)??gG),a.style,a.properties,a.default,r,s,()=>i.getState().camera,t,l),[]);return ce.useEffect(()=>{const h=[];return yo(A.initializers,h),()=>gr(h)},[A]),GR((h,f)=>{for(const d of l)d(f)}),wo(e,A.root.pixelSize,a.style,A,A.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:A.handlers,ref:r,children:[ae.jsx("primitive",{object:A.interactionPanel}),ae.jsx("object3D",{ref:s,children:ae.jsx(Su,{value:A,children:n.children})})]})}),lm=ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=ce.useRef(null),s=So(n),o=ce.useMemo(()=>nt(void 0),[]);o.value=n.src;const a=ce.useMemo(()=>SG(t,o,s.style,s.properties,s.default,i,r),[]);return ce.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,s.style,a,a.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:a.handlers,children:[ae.jsx("primitive",{object:a.interactionPanel}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:a,children:n.children})})]})}),hn=ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=So(n),s=ce.useMemo(()=>nt(void 0),[]);s.value=n.children;const o=ce.useMemo(()=>nt(void 0),[]);o.value=KR();const a=ce.useMemo(()=>DG(t,s,o,r.style,r.properties,r.default,i),[]);return ce.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,r.style,a,a.interactionPanel),ae.jsx(xo,{userHandlers:n,handlers:a.handlers,ref:i,children:ae.jsx("primitive",{object:a.interactionPanel})})});ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=ce.useRef(null),s=So(n),o=ce.useMemo(()=>nt(""),[]);o.value=n.src;const a=ce.useMemo(()=>LG(t,o,s.style,s.properties,s.default,i,r),[]);return ce.useEffect(()=>{const l=[];return yo(a.initializers,l),()=>gr(l)},[a]),wo(e,t.root.pixelSize,s.style,a,a.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:a.handlers,children:[ae.jsx("primitive",{object:a.interactionPanel}),ae.jsx("primitive",{object:a.centerGroup}),ae.jsx("object3D",{ref:r,children:ae.jsx(Su,{value:a,children:n.children})})]})});const Ts=ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=So(n),s=ce.useMemo(()=>UG(t,n.text,n.svgWidth,n.svgHeight,r.style,r.properties,r.default,i),[]);return ce.useEffect(()=>{const o=[];return yo(s.initializers,o),()=>gr(o)},[s]),wo(e,t.root.pixelSize,r.style,s,s.interactionPanel),ae.jsxs(xo,{userHandlers:n,ref:i,handlers:s.handlers,children:[ae.jsx("primitive",{object:s.interactionPanel}),ae.jsx("primitive",{object:s.iconGroup})]})});ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=So(n),s=ce.useMemo(()=>nt(""),[]),o=ce.useRef(n.value!=null);s.value=(o.current?n.value:n.defaultValue)??"";const a=ce.useMemo(()=>Gt(()=>kr(s.value)),[s]),l=ce.useMemo(()=>nt(void 0),[]);l.value=KR();const A=ce.useMemo(()=>rH(t,a,h=>{o.current||(s.value=h),r.style.peek()?.onValueChange?.(h),r.properties.peek()?.onValueChange?.(h)},n.multiline??!1,l,r.style,r.properties,r.default,i),[]);return ce.useEffect(()=>{const h=[];return yo(A.initializers,h),()=>gr(h)},[A]),ce.useEffect(()=>et(()=>{A.element.value!=null&&(A.element.value.tabIndex=n.tabIndex??0)}),[A,n.tabIndex]),wo(e,t.root.pixelSize,r.style,A,A.interactionPanel,ce.useMemo(()=>({focus:A.focus,current:a}),[A.focus,a])),ae.jsx(xo,{userHandlers:n,handlers:A.handlers,ref:i,children:ae.jsx("primitive",{object:A.interactionPanel})})});ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=ce.useRef(null),s=So(n),o=ce.useMemo(()=>OG(t,s.style,s.properties,s.default,i,r),[]);return ce.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[o]),wo(e,t.root.pixelSize,s.style,o,r),ae.jsx(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:ae.jsx(Su,{value:void 0,children:ae.jsx("mesh",{ref:r,matrixAutoUpdate:!1,geometry:L1,customDepthMaterial:n.customDepthMaterial,customDistanceMaterial:n.customDistanceMaterial,children:n.children})})})});ce.forwardRef((n,e)=>{const t=xa(),i=ce.useRef(null),r=ce.useRef(null),s=So(n),o=ce.useMemo(()=>GG(t,s.style,s.properties,s.default,i,r),[]);return ce.useEffect(()=>{const a=[];return yo(o.initializers,a),()=>gr(a)},[o]),wo(e,t.root.pixelSize,s.style,o,o.interactionPanel),ae.jsxs(xo,{userHandlers:n,handlers:o.handlers,ref:i,children:[ae.jsx("primitive",{object:o.interactionPanel}),ae.jsx("object3D",{matrixAutoUpdate:!1,ref:r,children:ae.jsx(Su,{value:void 0,children:n.children})})]})});const uH=ce.forwardRef((n,e)=>{const t=xu(),[i,r,s]=ce.useMemo(()=>[nt(1),nt(1),nt(1)],[]),o=OR(A=>A.camera),a=n.distanceToCamera??o.near+.01;ce.useEffect(()=>{const A=({camera:h,size:{height:f}})=>jR(()=>WG(i,r,s,a,h,f));return A(t.getState()),t.subscribe(A)},[s,i,r,t,a]);const l=n.attachCamera??!0;return ae.jsxs(ae.Fragment,{children:[l&&ae.jsx("primitive",{object:o}),VR(ae.jsx("group",{"position-z":-a,children:ae.jsx(cH,{ref:e,...n,sizeX:i,sizeY:r,pixelSize:s,children:n.children})}),o)]})});ce.forwardRef(({src:n,...e},t)=>{const i=S1(Kg,n);return i.colorSpace=Nn,i.matrixAutoUpdate=!1,ae.jsx(lm,{ref:t,src:i,...e})});ce.forwardRef(({children:n,resolution:e=1,frames:t=1/0,renderPriority:i=0,eventPriority:r=0,...s},o)=>{const a=ce.useMemo(()=>new Ur(1,1,{minFilter:In,magFilter:In,type:_l}),[]),l=ce.useRef(null),A=ce.useMemo(()=>({events:{compute:AH.bind(null,l),priority:r},size:{width:1,height:1,left:0,top:0}}),[r]);ce.useEffect(()=>{if(l.current==null)return;const{size:f}=l.current,d=et(()=>{if(f.value==null)return;const[g,E]=f.value;a.setSize(g,E),A.size.width=g,A.size.height=E});return()=>{d(),a.dispose()}},[a,A]),ce.useImperativeHandle(o,()=>l.current,[]);const h=ce.useMemo(()=>new ph,[]);return ae.jsxs(ae.Fragment,{children:[VR(ae.jsxs(hH,{imageRef:l,renderPriority:i,frames:t,fbo:a,children:[n,ae.jsx("group",{onPointerOver:()=>null})]}),h,A),ae.jsx(lm,{src:a.texture,fit:"fill",keepAspectRatio:!1,...s,ref:l})]})});function AH({current:n},e,t,i){if(n==null||i==null)return!1;i.raycaster.camera||i.events.compute?.(e,i,i.previousRoot?.getState());const[r]=i.raycaster.intersectObject(n.interactionPanel);if(!r)return!1;const s=r.uv;if(!s)return!1;t.raycaster.setFromCamera(t.pointer.set(s.x*2-1,s.y*2-1),t.camera)}function hH({frames:n,renderPriority:e,children:t,fbo:i,imageRef:r}){const s=xu();ce.useEffect(()=>{if(r.current==null)return;const{size:A}=r.current;return et(()=>{if(A.value==null)return;const[h,f]=A.value;s.setState({size:{width:h,height:f,top:0,left:0}})})});let o=0,a,l;return GR(A=>{(n===1/0||o{const t=ce.useMemo(()=>nt(void 0),[]),i=ce.useMemo(()=>nt(1),[]),r=ce.useMemo(()=>document.createElement("video"),[]);return ce.useEffect(()=>{if(n.autoplay)return r.style.position="absolute",r.style.width="1px",r.style.zIndex="-1000",r.style.top="0px",r.style.left="0px",document.body.append(r),()=>r.remove()},[n.autoplay,r]),r.playsInline=!0,r.volume=n.volume??1,r.preservesPitch=n.preservesPitch??!0,r.playbackRate=n.playbackRate??1,r.muted=n.muted??!1,r.loop=n.loop??!1,r.autoplay=n.autoplay??!1,ce.useEffect(()=>{typeof n.src=="string"?r.src=n.src:r.srcObject=n.src;const s=()=>i.value=r.videoWidth/r.videoHeight;return s(),r.addEventListener("resize",s),()=>r.removeEventListener("resize",s)},[i,n.src,r]),ce.useEffect(()=>{const s=new P2(r);return t.value=s,()=>s.dispose()},[t,r]),ce.useImperativeHandle(e,()=>r,[r]),ae.jsx(lm,{aspectRatio:i,...n,src:t})}),dH='',Ww=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:dH,svgWidth:24,svgHeight:24})),pH='',Yw=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:pH,svgWidth:24,svgHeight:24})),gH='',mH=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:gH,svgWidth:24,svgHeight:24})),EH='',Jw=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:EH,svgWidth:24,svgHeight:24})),CH='',IH=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:CH,svgWidth:24,svgHeight:24})),yH='',Xw=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:yH,svgWidth:24,svgHeight:24})),vH='',BH=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:vH,svgWidth:24,svgHeight:24})),xH='',SH=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:xH,svgWidth:24,svgHeight:24})),wH='',_H=ce.forwardRef((n,e)=>ae.jsx(Ts,{...n,ref:e,text:wH,svgWidth:24,svgHeight:24}));function kt(n,e,t){return new qe().setHSL(n/360,e/100,t/100,"srgb")}const En=B5({light:{background:kt(0,0,100),foreground:kt(222.2,84,4.9),card:kt(0,0,100),cardForeground:kt(222.2,84,4.9),popover:kt(0,0,100),popoverForeground:kt(222.2,84,4.9),primary:kt(222.2,47.4,11.2),primaryForeground:kt(210,40,98),secondary:kt(210,40,96.1),secondaryForeground:kt(222.2,47.4,11.2),muted:kt(210,40,96.1),mutedForeground:kt(215.4,16.3,46.9),accent:kt(210,40,96.1),accentForeground:kt(222.2,47.4,11.2),destructive:kt(0,72.22,50.59),destructiveForeground:kt(210,40,98),border:kt(214.3,31.8,91.4),input:kt(214.3,31.8,91.4),ring:kt(222.2,84,4.9)},dark:{background:kt(222.2,84,4.9),foreground:kt(210,40,98),card:kt(222.2,84,4.9),cardForeground:kt(210,40,98),popover:kt(222.2,84,4.9),popoverForeground:kt(210,40,98),primary:kt(210,40,98),primaryForeground:kt(222.2,47.4,11.2),secondary:kt(217.2,32.6,17.5),secondaryForeground:kt(210,40,98),muted:kt(217.2,32.6,17.5),mutedForeground:kt(215,20.2,65.1),accent:kt(217.2,32.6,17.5),accentForeground:kt(210,40,98),destructive:kt(0,62.8,30.6),destructiveForeground:kt(210,40,98),border:kt(217.2,32.6,17.5),input:kt(217.2,32.6,17.5),ring:kt(212.7,26.8,83.9)}});function QH(n){return ae.jsx(Qu,{scrollbarColor:En.foreground,scrollbarBorderRadius:4,scrollbarOpacity:.3,borderColor:En.border,color:En.foreground,...n})}const P1=ce.createContext({});function MH({value:n,onValueChange:e,defaultValue:t,children:i,...r}){const[s,o]=ce.useState(t),a=ce.useMemo(()=>n==null?{value:s,setValue:l=>{o(l),e?.(l)}}:{value:n,setValue:e},[s,e,n]);return ae.jsx(cn,{flexDirection:"column",...r,children:ae.jsx(P1.Provider,{value:a,children:i})})}function RH({children:n,...e}){return ae.jsx(cn,{height:40,flexDirection:"row",alignItems:"center",borderRadius:6,backgroundColor:En.muted,padding:4,flexShrink:0,...e,children:ae.jsx(Qu,{color:En.mutedForeground,children:n})})}function YE({children:n,value:e,disabled:t=!1,...i}){const{setValue:r,value:s}=ce.useContext(P1),o=e===s;return ae.jsx(cn,{onClick:t?void 0:a=>r?.(e),cursor:t?void 0:"pointer",flexDirection:"row",alignItems:"center",borderRadius:2,paddingX:12,backgroundOpacity:t?.5:void 0,backgroundColor:o?En.background:void 0,paddingY:6,justifyContent:"center",...i,children:ae.jsx(Qu,{opacity:t?.5:void 0,color:o?En.foreground:void 0,fontSize:14,fontWeight:"medium",lineHeight:1.43,wordBreak:"keep-all",children:n})})}function DH({value:n,...e}){const{value:t}=ce.useContext(P1);return n!=t?null:ae.jsx(cn,{marginTop:8,...e})}function JE({orientation:n="horizontal",...e}){return ae.jsx(cn,{flexShrink:0,backgroundColor:En.border,width:n==="horizontal"?"100%":1,height:n==="horizontal"?1:"100%",...e})}const TH={default:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:En.primary},defaultProps:{color:En.primaryForeground}},destructive:{containerHoverProps:{backgroundOpacity:.9},containerProps:{backgroundColor:En.destructive},defaultProps:{color:En.destructiveForeground}},outline:{containerHoverProps:{backgroundColor:En.accent},containerProps:{border:1,borderColor:En.input,backgroundColor:En.background}},secondary:{containerHoverProps:{backgroundOpacity:.8},containerProps:{backgroundColor:En.secondary},defaultProps:{color:En.secondaryForeground}},ghost:{containerHoverProps:{backgroundColor:En.accent},defaultProps:{}},link:{containerProps:{},defaultProps:{color:En.primary}}},LH={default:{height:40,paddingX:16,paddingY:8},sm:{height:36,paddingX:12},lg:{height:42,paddingX:32},icon:{height:40,width:40}};function Yr({children:n,variant:e="default",size:t="default",disabled:i=!1,hover:r,...s}){const{containerProps:o,defaultProps:a,containerHoverProps:l}=TH[e],A=LH[t];return ae.jsx(cn,{borderRadius:6,alignItems:"center",justifyContent:"center",...o,...A,borderOpacity:i?.5:void 0,backgroundOpacity:i?.5:void 0,cursor:i?void 0:"pointer",flexDirection:"row",hover:{...l,...r},...s,children:ae.jsx(Qu,{fontSize:14,lineHeight:1.43,fontWeight:"medium",wordBreak:"keep-all",...a,opacity:i?.5:void 0,children:n})})}function Kw({album:n,aspectRatio:e="portrait",width:t,height:i,...r}){return ae.jsxs(cn,{flexShrink:0,flexDirection:"column",gap:12,...r,children:[ae.jsx(lm,{borderRadius:6,src:n.cover,width:t,height:i,fit:"cover",aspectRatio:e==="portrait"?3/4:1}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsx(hn,{fontWeight:"medium",fontSize:14,lineHeight:1,children:n.name}),ae.jsx(hn,{fontSize:12,lineHeight:1.3333,color:En.mutedForeground,children:n.artist})]})]})}const bH=[{name:"React Rendezvous",artist:"Ethan Byte",cover:"https://images.unsplash.com/photo-1611348586804-61bf6c080437?w=300&dpr=2&q=80"},{name:"Async Awakenings",artist:"Nina Netcode",cover:"https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80"},{name:"The Art of Reusability",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1528143358888-6d3c7f67bd5d?w=300&dpr=2&q=80"},{name:"Stateful Symphony",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80"}],NH=[{name:"Thinking Components",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1615247001958-f4bc92fa6a4a?w=300&dpr=2&q=80"},{name:"Functional Fury",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1513745405825-efaf9a49315f?w=300&dpr=2&q=80"},{name:"React Rendezvous",artist:"Ethan Byte",cover:"https://images.unsplash.com/photo-1614113489855-66422ad300a4?w=300&dpr=2&q=80"},{name:"Stateful Symphony",artist:"Beth Binary",cover:"https://images.unsplash.com/photo-1446185250204-f94591f7d702?w=300&dpr=2&q=80"},{name:"Async Awakenings",artist:"Nina Netcode",cover:"https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80"},{name:"The Art of Reusability",artist:"Lena Logic",cover:"https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80"}];function PH({playlists:n,...e}){return ae.jsx(cn,{flexDirection:"column",overflow:"scroll",paddingRight:20,paddingBottom:48,...e,children:ae.jsxs(cn,{flexShrink:0,flexDirection:"column",paddingBottom:16,gap:16,children:[ae.jsxs(cn,{flexDirection:"column",paddingX:12,paddingY:8,children:[ae.jsx(hn,{marginBottom:8,paddingX:16,fontWeight:"semi-bold",fontSize:18,lineHeight:1.5555,letterSpacing:-.4,children:"Discover"}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsxs(Yr,{variant:"secondary",justifyContent:"flex-start",children:[ae.jsx(Jw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Models"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Ww,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Materials"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Yw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"HDRIS"})]})]})]}),ae.jsxs(cn,{flexDirection:"column",paddingX:12,paddingY:8,children:[ae.jsx(hn,{marginBottom:8,paddingX:16,fontWeight:"semi-bold",fontSize:18,lineHeight:1.5555,letterSpacing:-.4,children:"Collections"}),ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Xw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Favorits"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Jw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Models"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Ww,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Materials"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Yw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"HDRIs"})]}),ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(_H,{marginRight:8,width:16,height:16}),ae.jsx(hn,{children:"Creators"})]})]})]}),ae.jsxs(cn,{flexDirection:"column",paddingY:8,children:[ae.jsx(hn,{paddingX:28,fontSize:18,lineHeight:1.5555,fontWeight:"semi-bold",letterSpacing:-.4,children:"Favorits"}),ae.jsx(cn,{paddingX:4,flexDirection:"column",gap:4,padding:8,children:n?.map((t,i)=>ae.jsxs(Yr,{variant:"ghost",justifyContent:"flex-start",children:[ae.jsx(Xw,{marginRight:8,width:16,height:16}),ae.jsx(hn,{fontWeight:"normal",children:t})]},`${t}-${i}`))})]})]})})}const UH=["Recently Added","Recently Played","Top Songs","Top Albums","Top Artists","Logic Discography","Bedtime Beats","Feeling Happy","I miss Y2K Pop","Runtober","Mellow Days","Eminem Essentials"];function Za({children:n}){return ae.jsx(ae.Fragment,{children:n})}function kH(n){return ae.jsx(cn,{flexDirection:"row",height:40,alignItems:"center",gap:4,borderRadius:4,border:1,backgroundColor:En.background,padding:4,...n})}function Rc({children:n,...e}){return ae.jsx(cn,{hover:{backgroundColor:En.accent},flexDirection:"row",alignItems:"center",cursor:"pointer",borderRadius:6,paddingY:6,paddingX:12,...e,children:ae.jsx(Qu,{fontSize:14,lineHeight:1.4333,fontWeight:"medium",children:n})})}function FH(){const[n,e]=ce.useState(()=>Sw());return ae.jsxs(kH,{borderRadius:0,paddingX:8,lg:{paddingX:16},children:[ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(Ts,{text:'',svgWidth:194,svgHeight:50,width:70})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"File"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"Edit"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"View"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{children:ae.jsx(hn,{children:"Account"})})}),ae.jsx(cn,{flexGrow:1}),ae.jsx(Za,{children:ae.jsx(Yr,{variant:"ghost",size:"sm",onClick:()=>window.open("https://github.com/pmndrs/uikit/tree/main/examples/market","_blank"),children:ae.jsx(hn,{children:"Source Code"})})}),ae.jsx(Za,{children:ae.jsx(Rc,{onClick:()=>{v5(n==="light"?"dark":n==="dark"?"system":"light"),e(Sw())},children:n==="dark"?ae.jsx(mH,{}):n==="system"?ae.jsx(BH,{}):ae.jsx(SH,{})})})]})}function OH(){return ae.jsx(D8,{flat:!0,camera:{position:[0,0,18],fov:35},style:{height:"100dvh",touchAction:"none"},gl:{localClippingEnabled:!0},children:ae.jsx(uH,{flexDirection:"column",children:ae.jsx(QH,{children:ae.jsx(Qu,{scrollbarWidth:8,scrollbarOpacity:.1,scrollbarBorderRadius:4,children:ae.jsx(GH,{})})})})})}function GH(){return ae.jsxs(cn,{height:"100%",flexDirection:"column",children:[ae.jsx(FH,{}),ae.jsxs(cn,{flexBasis:0,flexGrow:1,borderTop:1,backgroundColor:En.background,flexDirection:"row",children:[ae.jsx(PH,{marginTop:16,playlists:UH}),ae.jsx(JE,{orientation:"vertical"}),ae.jsx(cn,{marginTop:16,overflow:"scroll",flexGrow:1,flexBasis:0,paddingX:16,paddingBottom:24,paddingTop:8,lg:{paddingX:32},flexDirection:"column",children:ae.jsxs(MH,{defaultValue:"music",height:"100%",gap:24,children:[ae.jsxs(cn,{flexShrink:0,flexDirection:"row",justifyContent:"space-between",alignItems:"center",children:[ae.jsxs(RH,{children:[ae.jsx(YE,{value:"music",children:ae.jsx(hn,{children:"Models"})}),ae.jsx(YE,{value:"podcasts",disabled:!0,children:ae.jsx(hn,{children:"HDRIS"})}),ae.jsx(YE,{value:"live",disabled:!0,children:ae.jsx(hn,{children:"Materials"})})]}),ae.jsxs(Yr,{marginRight:16,children:[ae.jsx(IH,{marginRight:8,height:16,width:16}),ae.jsx(hn,{children:"Request Model"})]})]}),ae.jsxs(DH,{flexShrink:0,flexDirection:"column",value:"music",border:0,padding:0,children:[ae.jsx(cn,{flexDirection:"row",alignItems:"center",justifyContent:"space-between",children:ae.jsxs(cn,{flexDirection:"column",gap:4,children:[ae.jsx(hn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:18,lineHeight:1.55555,children:"Trending"}),ae.jsx(hn,{color:En.mutedForeground,fontSize:14,lineHeight:1.43333,children:"Top picks for you. Updated daily."})]})}),ae.jsx(JE,{marginY:16}),ae.jsx(cn,{flexDirection:"row",overflow:"scroll",gap:16,paddingBottom:16,children:bH.map(n=>ae.jsx(Kw,{album:n,width:250,height:330,aspectRatio:"portrait"},n.name))}),ae.jsxs(cn,{flexDirection:"column",marginTop:24,gap:4,children:[ae.jsx(hn,{fontWeight:"semi-bold",letterSpacing:-.4,fontSize:18,lineHeight:1.55555,children:"Made By You"}),ae.jsx(hn,{color:En.mutedForeground,fontSize:14,lineHeight:1.43333,children:"Your personal models."})]}),ae.jsx(JE,{marginY:16}),ae.jsxs(cn,{flexShrink:1,flexDirection:"row",overflow:"scroll",gap:16,paddingBottom:16,children:[ae.jsx(fH,{autoplay:!0,muted:!0,borderRadius:6,flexShrink:0,src:"example.mp4"}),NH.map(n=>ae.jsx(Kw,{album:n,aspectRatio:"square",width:150,height:150},n.name))]})]})]})})]})]})}uM(document.getElementById("root")).render(ae.jsx(ce.StrictMode,{children:ae.jsx(OH,{})})); diff --git a/examples/market/index.html b/examples/market/index.html index 5790defa..f1631471 100644 --- a/examples/market/index.html +++ b/examples/market/index.html @@ -5,7 +5,7 @@ Document - +